* @copyright: Copyright (c) 2010, Bunzia Alexander * @version: 1.0 * @license: http://www.gnu.org/copyleft/gpl.html GNU/GPL * @package HiLo */ /** * редактор подсветки кода * */ class codemirror{ private $name = false; private $value=''; private $vars = array(); private $attr = array(); static function load(){ global $MAIN_PAGE; $MAIN_PAGE -> set_js(MAIN_SOURCE_URL.'/ext/codeMirror2/lib/codemirror.js'); $MAIN_PAGE -> set_css(MAIN_SOURCE_URL.'/ext/codeMirror2/theme/default.css'); $MAIN_PAGE -> set_js(MAIN_SOURCE_URL.'/ext/codeMirror2/mode/xml/xml.js'); $MAIN_PAGE -> set_js(MAIN_SOURCE_URL.'/ext/codeMirror2/mode/htmlmixed/htmlmixed.js'); $MAIN_PAGE -> set_js(MAIN_SOURCE_URL.'/ext/codeMirror2/mode/javascript/javascript.js'); $MAIN_PAGE -> set_js(MAIN_SOURCE_URL.'/ext/codeMirror2/mode/css/css.js'); $MAIN_PAGE -> set_js(MAIN_URL.'/source/tmpl/default/js/editor/codemirror.js'); $MAIN_PAGE -> set_css(MAIN_SOURCE_URL.'/ext/codeMirror2/lib/codemirror.css'); } /* * забиваем стандартный набор панелей, теоретически нужны панели для админа и пользователя и * это актуально для любого редактора. Потом можно будет менять всё это с помощью универсальной * функции set_toolbar */ function __construct(){ global $MAIN_USER; //include(MAIN_SOURCE_PATH."/ext/ckeditor/ckeditor.php") ; } // устанавливаем name редактора public function set_name($v){ if ( empty($v) ){ sys_error(ERROR_500,"1024: bad name '$v' for editor"); } $this -> name = $v; return true; } // устанавлиаем первончальное содержимое редактора public function set_value($v){ $this -> value = $v; return true; } // устанавливаем атрибуты public function set_attr($k,$v){ } // возвращаем код редактора public function show(){ if ( empty($this -> name) ){ sys_error(ERROR_500,"1024: empty name for editor"); } $text = str_replace('{MAIN_SOURCE_URL}',MAIN_SOURCE_URL,SCRIPT_TMPL); //$text = str_replace('{name}','{'.$this -> name.'}',$text); return $text; } } define('SCRIPT_TMPL', << SCRIPT_TMPL ); ?>