Ejemplo n.º 1
0
 public function GeSHi($source, $language, $lineNumbers = false)
 {
     // little singleton pattern for GeSHi Class
     if (!isset(self::$_geshiInstance)) {
         require_once 'geshi.php';
         $geshi = self::$_geshiInstance = new GeSHi();
         $geshi->enable_classes();
     } else {
         $geshi = self::$_geshiInstance;
     }
     // set data for geshi
     $geshi->set_source($source);
     $geshi->set_language($language);
     if ($lineNumbers) {
         $geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS);
     } else {
         $geshi->enable_line_numbers(GESHI_NO_LINE_NUMBERS);
     }
     $xhtml = array();
     $value = $geshi->parse_code();
     if ($value !== false && in_array($language, self::$_geshiStylesheet) === false) {
         self::$_geshiStylesheet[] = $language;
         $this->view->headStyle()->appendStyle($geshi->get_stylesheet());
     }
     $xhtml[] = $value;
     return implode("\n", $xhtml);
 }
Ejemplo n.º 2
0
 public function GeSHi($source = '', $language = '', $lineNumbers = false)
 {
     // little singleton pattern for GeSHi Class
     if (self::$_GESHi_INSTANCE === null) {
         require_once PATH_TO_LIBRARY . '/geshi.php';
         $geshi = self::$_GESHi_INSTANCE = new GeSHi();
         $geshi->set_language_path(PATH_TO_LIBRARY . '/geshi');
         $geshi->enable_classes();
     } else {
         $geshi = self::$_GESHi_INSTANCE;
     }
     if (!empty($source)) {
         $geshi->set_source($source);
     }
     if (!empty($language)) {
         $geshi->set_language($language);
     }
     if ($lineNumbers) {
         $geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS);
     } else {
         $geshi->enable_line_numbers(GESHI_NO_LINE_NUMBERS);
     }
     $xhtml = array();
     $value = $geshi->parse_code();
     if ($value !== false && in_array($language, self::$_GESHI_STYLESHEET) === false) {
         self::$_GESHI_STYLESHEET[] = $language;
         $xhtml[] = '<style>';
         $xhtml[] = $geshi->get_stylesheet();
         $xhtml[] = '</style>';
     }
     $xhtml[] = $value;
     return implode("\n", $xhtml);
 }