atomoc / modx-geshi

0 stars 1 forks source link

Если документ берестя не из кеша то видно код плагина прям на странице ( #1

Open Dmi3yy opened 12 years ago

Dmi3yy commented 12 years ago

/* * GeSHi Plugin 0.4 for MODx * by Luca Allulli, April 2006 * * Event: OnLoadWebDocument * * Based on the GeSHi highlighter at http://qbnz.com/highlighter/ * * License: GNU GPL \ _/ //Begin configuration global $defaultGeshiLang; $defaultGeshiLang="bash"; //End configuration function replaceCodeBase($lang, $code) { global $modx; $path = $modx->config["base_path"].'assets/plugins/geshi/geshi/'; $geshi = new GeSHi($code, $lang, $path); $geshi->set_header_type(GESHI_HEADER_PRE); $geshi->set_tab_width(4); return ' '.$geshi->parse_code().' '; } function replaceCode($matches) { global $defaultGeshiLang; return replaceCodeBase($defaultGeshiLang, $matches[1]); } function replaceCodeLang($matches) { return replaceCodeBase($matches[1], $matches[2]); } $e = &$modx->Event; switch ($e->name) { case "OnLoadWebDocument": include_once($modx->config["base_path"].'assets/plugins/geshi/geshi.php'); $modx->documentObject['content']=preg_replacecallback("# (.?)

s", "replaceCode", $modx->documentObject['content']); $modx->documentObject['content']=preg_replace_callback("

(.*?)

s", "replaceCodeLang", $modx->documentObject['content']); $modx->documentObject['content']=preg_replace_callback("

(.*?)

s", "replaceCodeLang", $modx->documentObject['content']); $modx->documentObject['content']= preg_replace('!(.*?)!ise', " '' . stripslashes( str_replace(array('

','[[','<','>','&',' '),array('\n','[[','<','>','&',' '),'$2') ) . '' ", $modx->documentObject['content']); $modx->documentObject['content']= preg_replace('!(.*?)!ise', " '' . stripslashes( str_replace(array(' ','[[','<','>','&',' '),array('\n','[[','<','>','&',' '),'$2') ) . '' ", $modx->documentObject['content']); break; default: // stop here return; break; }

вот такое на фронте выводит (

atomoc commented 12 years ago

Только что посмотрел у себя, по умолчанию документы некешируются, даже и забыл про то, что как-то давно экспериментировал и забыл включить его обратно. Подобной проблемы нет.

Dmi3yy commented 12 years ago

только что специально скачал с modx.com EVO-1.0.6 выводит так же как и на моей сборке потому таки не работает ( просто выводит код плагина на сайт и все

atomoc commented 12 years ago

Хорошо, я постараюсь разобраться :)

Dmi3yy commented 12 years ago

Все нашел где баг у вас не верный код в geshi.php

Dmi3yy commented 12 years ago

он дублирует код плагина хотя судя по истории там совсем другое должно быть

atomoc commented 12 years ago

Отлично! Странно что у меня работает с ним. Можно ли посмотреть на строку с ошибкой?

Dmi3yy commented 12 years ago

https://github.com/atomoc/Geshi/blob/b518dbfc65dcb413f9e89047cc52f790705648f1/geshi.php вот если так то пашет )

atomoc commented 12 years ago

Изменил На самом деле не совсем хорошо пашет. Надо работать с ним ещё.

atomoc commented 12 years ago

Очень рекомендую обновить код плагина: https://github.com/atomoc/Geshi/blob/master/plugin.GeSHi.tpl