Overview

Namespaces

  • Alpha
    • Controller
      • Front
    • Exception
    • Model
      • Type
    • Task
    • Util
      • Backup
      • Cache
      • Code
        • Highlight
        • Metric
      • Config
      • Convertor
      • Email
      • Extension
      • Feed
      • File
      • Graph
      • Helper
      • Http
        • Filter
        • Session
      • Image
      • Logging
      • Search
      • Security
    • View
      • Renderer
        • Html
        • Json
      • Widget

Classes

  • HighlightProviderFactory
  • HighlightProviderGeshi
  • HighlightProviderLuminous

Interfaces

  • HighlightProviderInterface
  • Overview
  • Namespace
  • Class
  • Tree
 1: <?php
 2: 
 3: namespace Alpha\Util\Code\Highlight;
 4: 
 5: use GeSHi;
 6: 
 7: /**
 8:  * Wraps Geshi in the standard API defined in HighlightProviderInterface,
 9:  * for use in the Alpha CMS module.
10:  *
11:  * @since 1.2
12:  *
13:  * @author John Collins <dev@alphaframework.org>
14:  * @license http://www.opensource.org/licenses/bsd-license.php The BSD License
15:  * @copyright Copyright (c) 2015, John Collins (founder of Alpha Framework).
16:  * All rights reserved.
17:  *
18:  * <pre>
19:  * Redistribution and use in source and binary forms, with or
20:  * without modification, are permitted provided that the
21:  * following conditions are met:
22:  *
23:  * * Redistributions of source code must retain the above
24:  *   copyright notice, this list of conditions and the
25:  *   following disclaimer.
26:  * * Redistributions in binary form must reproduce the above
27:  *   copyright notice, this list of conditions and the
28:  *   following disclaimer in the documentation and/or other
29:  *   materials provided with the distribution.
30:  * * Neither the name of the Alpha Framework nor the names
31:  *   of its contributors may be used to endorse or promote
32:  *   products derived from this software without specific
33:  *   prior written permission.
34:  *
35:  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
36:  * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
37:  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
38:  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39:  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
40:  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41:  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
42:  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
43:  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
44:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
45:  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
46:  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
47:  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
48:  * </pre>
49:  */
50: class HighlightProviderGeshi implements HighlightProviderInterface
51: {
52:     /**
53:      * {@inheritdoc}
54:      */
55:     public function highlight($source, $language)
56:     {
57:         $geshi = new GeSHi($source, $language);
58:         $codeblock = $geshi->parse_code();
59: 
60:         return $codeblock;
61:     }
62: }
63: 
Alpha Framework 2.0.4 API Documentation API documentation generated by ApiGen 2.8.0