* @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
);
?>