Overview

Packages

  • alpha::controller
  • alpha::controller::front
  • alpha::exceptions
  • alpha::model
  • alpha::model::types
  • alpha::tasks
  • alpha::tests
  • alpha::util
  • alpha::util::cache
  • alpha::util::codehighlight
  • alpha::util::convertors
  • alpha::util::feeds
  • alpha::util::filters
  • alpha::util::graphs
  • alpha::util::helpers
  • alpha::util::metrics
  • alpha::util::search
  • alpha::view
  • alpha::view::renderers
  • alpha::view::widgets

Classes

  • AlphaHighlightProviderFactory
  • AlphaHighlightProviderGeshi
  • AlphaHighlightProviderLuminous

Interfaces

  • AlphaHighlightProviderInterface
  • Overview
  • Package
  • Class
  • Tree
  • Deprecated
 1: <?php
 2: 
 3: require_once $config->get('app.root').'alpha/util/codehighlight/AlphaHighlightProviderInterface.inc';
 4: 
 5: /**
 6:  *
 7:  * Wraps Luminous in the standard API defined in AlphaHighlightProviderInterface, 
 8:  * for use in the Alpha CMS module.  Note that Luminous is not included in Alpha,
 9:  * so you will need to download it from here:
10:  * 
11:  * (PHP 5.3)
12:  * 
13:  * http://luminous.asgaard.co.uk/index.php/page/index
14:  * 
15:  * (PHP 5.2, you will need to use the older version)
16:  * 
17:  * http://code.google.com/p/luminous/
18:  * 
19:  * Once downloaded, place in the [application]/lib/luminous directory which is where this class
20:  * will attempt to load it from.
21:  * 
22:  * Also note that Luminous requires it's own .css file to be loaded in the page that is displaying
23:  * the highlighted code.  The following callback in your controller will inject the desired .css
24:  * file:
25:  * 
26:  * public function during_displayPageHead_callback() {
27:  *      global $config;
28:  *  
29:  *      $html = '<link type="text/css" rel="StyleSheet" href="'.$config->get('app.url').'lib/luminous/style/luminous.css">';
30:  *  
31:  *      return $html;
32:  *  }
33:  * 
34:  * @package alpha::util::codehighlight
35:  * @since 1.2
36:  * @author John Collins <dev@alphaframework.org>
37:  * @version $Id: AlphaHighlightProviderLuminous.inc 1548 2012-07-29 17:07:07Z alphadevx $
38:  * @license http://www.opensource.org/licenses/bsd-license.php The BSD License
39:  * @copyright Copyright (c) 2012, John Collins (founder of Alpha Framework).  
40:  * All rights reserved.
41:  * 
42:  * <pre>
43:  * Redistribution and use in source and binary forms, with or 
44:  * without modification, are permitted provided that the 
45:  * following conditions are met:
46:  * 
47:  * * Redistributions of source code must retain the above 
48:  *   copyright notice, this list of conditions and the 
49:  *   following disclaimer.
50:  * * Redistributions in binary form must reproduce the above 
51:  *   copyright notice, this list of conditions and the 
52:  *   following disclaimer in the documentation and/or other 
53:  *   materials provided with the distribution.
54:  * * Neither the name of the Alpha Framework nor the names 
55:  *   of its contributors may be used to endorse or promote 
56:  *   products derived from this software without specific 
57:  *   prior written permission.
58:  *   
59:  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
60:  * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
61:  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
62:  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
63:  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
64:  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
65:  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
66:  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
67:  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
68:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
69:  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 
70:  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
71:  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
72:  * </pre>
73:  *  
74:  */
75: class AlphaHighlightProviderLuminous implements AlphaHighlightProviderInterface {
76:     /**
77:      * (non-PHPdoc)
78:      * @see alpha/util/codehighlight/AlphaHighlightProviderInterface::highlight()
79:      * @since 1.2
80:      */
81:     public function highlight($source, $language) {
82:         global $config;
83:         
84:         $codeBlock = '';
85:         
86:         try {
87:             AlphaAutoLoader::loadLib('luminous.php');
88:             
89:             $codeblock = luminous($language, $source, false);
90:         }catch(LibraryNotInstalledException $e) {
91:             $codeblock = $source;
92:         }
93:         
94:         return $codeblock;
95:     }
96: }
97: ?>
Alpha Framework 1.2.4 API Documentation API documentation generated by ApiGen 2.8.0