diff --git a/admin/lang/ru/settings.txt b/admin/lang/ru/settings.txt index 277738e..e4aa8b8 100644 --- a/admin/lang/ru/settings.txt +++ b/admin/lang/ru/settings.txt @@ -210,4 +210,5 @@ SETTINGS_JS_SERVER_ERR = "Ошибка сервера при сохран SETTINGS_JS_WIN_CLOSE = "Закрыть окно" # v3.31 -_const_utc = "Часовой пояс сайта" \ No newline at end of file +_const_utc = "Часовой пояс сайта" +_const_editor = "HTML-редактор CKEditor" \ No newline at end of file diff --git a/fields/multi_line_large/field.php b/fields/multi_line_large/field.php index bc09670..cb66979 100644 --- a/fields/multi_line_large/field.php +++ b/fields/multi_line_large/field.php @@ -1,76 +1,71 @@ config_load($lang_file, 'lang'); + $AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); + $AVE_Template->config_load($lang_file, 'admin'); - $lang_file = $fld_dir . 'lang/' . (defined('ACP') - ? $_SESSION['admin_language'] - : $_SESSION['user_language']) . '.txt'; + $res = null; - $AVE_Template->config_load($lang_file, 'lang'); - $AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); - $AVE_Template->config_load($lang_file, 'admin'); + switch ($action) + { + case 'edit': + $is_multi = (isset($_REQUEST['multiedit']) && $_REQUEST['multiedit'] === true); + $field_name = $is_multi ? 'data['.$_REQUEST['Id'].'][feld]['.$field_id.']' : 'feld['.$field_id.']'; + $field_height = $is_multi ? 250 : 400; + $doc_id = isset($_REQUEST['Id']) ? (int)$_REQUEST['Id'] : '0'; - $res = null; + $AVE_Template->assign([ + 'field_id' => $field_id, + 'field_value' => $field_value, + 'field_name' => $field_name, + 'field_height' => $field_height, + 'f_id' => $field_id . '_' . $doc_id + ]); - switch ($action) - { - case 'edit': - if (isset($_REQUEST['multiedit']) && ($_REQUEST['multiedit'] === true)) - { - $oCKeditor = new CKeditor(); - $oCKeditor->returnOutput = true; - $oCKeditor->config['toolbar'] = 'Verysmall'; - $oCKeditor->config['height'] = 250; - $config = array(); - $field = $oCKeditor->editor('data['.$_REQUEST['Id'].'][feld][' . $field_id . ']', $field_value, $config); - } - else - { - $oCKeditor = new CKeditor(); - $oCKeditor->returnOutput = true; - $oCKeditor->config['toolbar'] = 'Big'; - $oCKeditor->config['height'] = 400; - $config = array(); - $field = $oCKeditor->editor('feld[' . $field_id . ']', $field_value, $config); - } + if (defined('USE_EDITOR') && USE_EDITOR === true) + { + $oCKeditor = new CKeditor(); + $oCKeditor->returnOutput = true; + $oCKeditor->config['toolbar'] = $is_multi ? 'Verysmall' : 'Big'; + $oCKeditor->config['height'] = $field_height; + $res = $oCKeditor->editor($field_name, $field_value); + } + else + { + $tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); + $res = $AVE_Template->fetch($tpl_file); + } + break; - $res = $field; - break; + case 'doc': + $res = get_field_default($field_value, $action, $field_id, $tpl, $tpl_empty, $maxlength, $document_fields, $rubric_id); + $res = document_pagination($res); + break; - case 'doc': - $res = get_field_default($field_value, $action, $field_id, $tpl, $tpl_empty, $maxlength, $document_fields, $rubric_id); - $res = document_pagination($res); - break; + case 'req': + $res = get_field_default($field_value, $action, $field_id, $tpl, $tpl_empty, $maxlength, $document_fields, $rubric_id); + break; - case 'req': - $res = get_field_default($field_value, $action, $field_id, $tpl, $tpl_empty, $maxlength, $document_fields, $rubric_id); - break; + case 'api': + $res = get_field_default($field_value, $action, $field_id, $tpl, $tpl_empty, $maxlength, $document_fields, $rubric_id); + break; - case 'api': - $res = get_field_default($field_value, $action, $field_id, $tpl, $tpl_empty, $maxlength, $document_fields, $rubric_id); - break; + case 'name' : + return $AVE_Template->get_config_vars('name'); + } - case 'name' : - return $AVE_Template->get_config_vars('name'); - break; - } - - return ($res ? $res : $field_value); - } -?> \ No newline at end of file + return ($res ? $res : $field_value); +} \ No newline at end of file diff --git a/fields/multi_line_large/tpl/field-doc.tpl b/fields/multi_line_large/tpl/field-doc.tpl new file mode 100644 index 0000000..20c861d --- /dev/null +++ b/fields/multi_line_large/tpl/field-doc.tpl @@ -0,0 +1 @@ +{$field_value} \ No newline at end of file diff --git a/fields/multi_line_large/tpl/field-req.tpl b/fields/multi_line_large/tpl/field-req.tpl new file mode 100644 index 0000000..20c861d --- /dev/null +++ b/fields/multi_line_large/tpl/field-req.tpl @@ -0,0 +1 @@ +{$field_value} \ No newline at end of file diff --git a/fields/multi_line_large/tpl/field.tpl b/fields/multi_line_large/tpl/field.tpl new file mode 100644 index 0000000..3fc6a0c --- /dev/null +++ b/fields/multi_line_large/tpl/field.tpl @@ -0,0 +1,17 @@ +{if $smarty.const.USE_EDITOR} + +{else} + {if $codemirror != 'load'} + {assign var="codemirror" value="" scope="global"} + {include file="$codemirror_connect"} + {assign var="codemirror" value="load" scope="global"} + {/if} + + + + {include file="$codemirror_editor" + conn_id=$f_id + textarea_id="field_code_$f_id" + ctrls='AveDocs.documentSaveFunction();' + height=$field_height} +{/if} \ No newline at end of file diff --git a/fields/multi_line_medium/field.php b/fields/multi_line_medium/field.php index 5be400d..a1bda7d 100644 --- a/fields/multi_line_medium/field.php +++ b/fields/multi_line_medium/field.php @@ -1,76 +1,69 @@ config_load($lang_file, 'lang'); + $AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); + $AVE_Template->config_load($lang_file, 'admin'); - $fld_dir = dirname(__FILE__) . '/'; + $res = null; - $lang_file = $fld_dir . 'lang/' . (defined('ACP') - ? $_SESSION['admin_language'] - : $_SESSION['user_language']) . '.txt'; + switch ($action) + { + case 'edit': + $is_multi = (isset($_REQUEST['multiedit']) && $_REQUEST['multiedit'] === true); + $field_name = $is_multi ? 'data['.$_REQUEST['Id'].'][feld]['.$field_id.']' : 'feld['.$field_id.']'; + $field_height = $is_multi ? 250 : 300; + $doc_id = isset($_REQUEST['Id']) ? (int)$_REQUEST['Id'] : '0'; - $AVE_Template->config_load($lang_file, 'lang'); - $AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); - $AVE_Template->config_load($lang_file, 'admin'); + $AVE_Template->assign([ + 'field_id' => $field_id, + 'field_value' => $field_value, + 'field_name' => $field_name, + 'field_height' => $field_height, + 'f_id' => $field_id . '_' . $doc_id + ]); - $res = null; + if (defined('USE_EDITOR') && USE_EDITOR === true) + { + $oCKeditor = new CKeditor(); + $oCKeditor->returnOutput = true; + $oCKeditor->config['toolbar'] = $is_multi ? 'Verysmall' : 'Small'; + $oCKeditor->config['height'] = $field_height; + $res = $oCKeditor->editor($field_name, $field_value); + } + else + { + $tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); + $res = $AVE_Template->fetch($tpl_file); + } + break; - switch ($action) - { - case 'edit': - if (isset($_REQUEST['multiedit']) && ($_REQUEST['multiedit'] === true)) - { - $oCKeditor = new CKeditor(); - $oCKeditor->returnOutput = true; - $oCKeditor->config['toolbar'] = 'Verysmall'; - $oCKeditor->config['height'] = 250; - $config = array(); - $field = $oCKeditor->editor('data['.$_REQUEST['Id'].'][feld][' . $field_id . ']', $field_value, $config); - } - else - { - $oCKeditor = new CKeditor(); - $oCKeditor->returnOutput = true; - $oCKeditor->config['toolbar'] = 'Small'; - $oCKeditor->config['height'] = 300; - $config = array(); - $field = $oCKeditor->editor('feld[' . $field_id . ']', $field_value, $config); - } + case 'doc': + $res = get_field_default($field_value, $action, $field_id, $tpl, $tpl_empty, $maxlength, $document_fields, $rubric_id); + $res = document_pagination($res); + break; - $res = $field; - break; + case 'req': + $res = get_field_default($field_value, $action, $field_id, $tpl, $tpl_empty, $maxlength, $document_fields, $rubric_id); + break; - case 'doc': - $res = get_field_default($field_value,$action,$field_id,$tpl,$tpl_empty,$maxlength,$document_fields,$rubric_id); - $res = document_pagination($res); - break; + case 'api': + $res = get_field_default($field_value, $action, $field_id, $tpl, $tpl_empty, $maxlength, $document_fields, $rubric_id); + break; - case 'req': - $res = get_field_default($field_value,$action,$field_id,$tpl,$tpl_empty,$maxlength,$document_fields,$rubric_id); - break; + case 'name' : + return $AVE_Template->get_config_vars('name'); + } - case 'api': - $res = get_field_default($field_value, $action, $field_id, $tpl, $tpl_empty, $maxlength, $document_fields, $rubric_id); - break; - - case 'name' : - return $AVE_Template->get_config_vars('name'); - break; - } - - return ($res ? $res : $field_value); - } -?> \ No newline at end of file + return ($res ? $res : $field_value); +} \ No newline at end of file diff --git a/fields/multi_line_medium/tpl/field-doc.tpl b/fields/multi_line_medium/tpl/field-doc.tpl new file mode 100644 index 0000000..20c861d --- /dev/null +++ b/fields/multi_line_medium/tpl/field-doc.tpl @@ -0,0 +1 @@ +{$field_value} \ No newline at end of file diff --git a/fields/multi_line_medium/tpl/field-req.tpl b/fields/multi_line_medium/tpl/field-req.tpl new file mode 100644 index 0000000..20c861d --- /dev/null +++ b/fields/multi_line_medium/tpl/field-req.tpl @@ -0,0 +1 @@ +{$field_value} \ No newline at end of file diff --git a/fields/multi_line_medium/tpl/field.tpl b/fields/multi_line_medium/tpl/field.tpl new file mode 100644 index 0000000..3fc6a0c --- /dev/null +++ b/fields/multi_line_medium/tpl/field.tpl @@ -0,0 +1,17 @@ +{if $smarty.const.USE_EDITOR} + +{else} + {if $codemirror != 'load'} + {assign var="codemirror" value="" scope="global"} + {include file="$codemirror_connect"} + {assign var="codemirror" value="load" scope="global"} + {/if} + + + + {include file="$codemirror_editor" + conn_id=$f_id + textarea_id="field_code_$f_id" + ctrls='AveDocs.documentSaveFunction();' + height=$field_height} +{/if} \ No newline at end of file diff --git a/fields/multi_line_small/field.php b/fields/multi_line_small/field.php index be509ea..1a786e0 100644 --- a/fields/multi_line_small/field.php +++ b/fields/multi_line_small/field.php @@ -1,76 +1,69 @@ config_load($lang_file, 'lang'); + $AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); + $AVE_Template->config_load($lang_file, 'admin'); - $fld_dir = dirname(__FILE__) . '/'; + $res = null; - $lang_file = $fld_dir . 'lang/' . (defined('ACP') - ? $_SESSION['admin_language'] - : $_SESSION['user_language']) . '.txt'; + switch ($action) + { + case 'edit': + $is_multi = (isset($_REQUEST['multiedit']) && $_REQUEST['multiedit'] === true); + $field_name = $is_multi ? 'data['.$_REQUEST['Id'].'][feld]['.$field_id.']' : 'feld['.$field_id.']'; + $field_height = $is_multi ? 250 : 200; + $doc_id = isset($_REQUEST['Id']) ? (int)$_REQUEST['Id'] : '0'; - $AVE_Template->config_load($lang_file, 'lang'); - $AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); - $AVE_Template->config_load($lang_file, 'admin'); + $AVE_Template->assign([ + 'field_id' => $field_id, + 'field_value' => $field_value, + 'field_name' => $field_name, + 'field_height' => $field_height, + 'f_id' => $field_id . '_' . $doc_id + ]); - $res = null; + if (defined('USE_EDITOR') && USE_EDITOR === true) + { + $oCKeditor = new CKeditor(); + $oCKeditor->returnOutput = true; + $oCKeditor->config['toolbar'] = 'Verysmall'; + $oCKeditor->config['height'] = $field_height; + $res = $oCKeditor->editor($field_name, $field_value); + } + else + { + $tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); + $res = $AVE_Template->fetch($tpl_file); + } + break; - switch ($action) - { - case 'edit': - if (isset($_REQUEST['multiedit']) && ($_REQUEST['multiedit'] === true)) - { - $oCKeditor = new CKeditor(); - $oCKeditor->returnOutput = true; - $oCKeditor->config['toolbar'] = 'Verysmall'; - $oCKeditor->config['height'] = 250; - $config = array(); - $field = $oCKeditor->editor('data['.$_REQUEST['Id'].'][feld][' . $field_id . ']', $field_value, $config); - } - else - { - $oCKeditor = new CKeditor(); - $oCKeditor->returnOutput = true; - $oCKeditor->config['toolbar'] = 'Verysmall'; - $oCKeditor->config['height'] = 200; - $config = array(); - $field = $oCKeditor->editor('feld[' . $field_id . ']', $field_value, $config); - } + case 'doc': + $res = get_field_default($field_value, $action, $field_id, $tpl, $tpl_empty, $maxlength, $document_fields, $rubric_id); + $res = document_pagination($res); + break; - $res = $field; - break; + case 'req': + $res = get_field_default($field_value, $action, $field_id, $tpl, $tpl_empty, $maxlength, $document_fields, $rubric_id); + break; - case 'doc': - $res = get_field_default($field_value,$action,$field_id,$tpl,$tpl_empty,$maxlength,$document_fields,$rubric_id); - $res = document_pagination($res); - break; + case 'api': + $res = get_field_default($field_value, $action, $field_id, $tpl, $tpl_empty, $maxlength, $document_fields, $rubric_id); + break; - case 'req': - $res = get_field_default($field_value,$action,$field_id,$tpl,$tpl_empty,$maxlength,$document_fields,$rubric_id); - break; + case 'name' : + return $AVE_Template->get_config_vars('name'); + } - case 'api': - $res = get_field_default($field_value, $action, $field_id, $tpl, $tpl_empty, $maxlength, $document_fields, $rubric_id); - break; - - case 'name' : - return $AVE_Template->get_config_vars('name'); - break; - } - - return ($res ? $res : $field_value); - } -?> \ No newline at end of file + return ($res ? $res : $field_value); +} \ No newline at end of file diff --git a/fields/multi_line_small/tpl/field-doc.tpl b/fields/multi_line_small/tpl/field-doc.tpl new file mode 100644 index 0000000..20c861d --- /dev/null +++ b/fields/multi_line_small/tpl/field-doc.tpl @@ -0,0 +1 @@ +{$field_value} \ No newline at end of file diff --git a/fields/multi_line_small/tpl/field-req.tpl b/fields/multi_line_small/tpl/field-req.tpl new file mode 100644 index 0000000..20c861d --- /dev/null +++ b/fields/multi_line_small/tpl/field-req.tpl @@ -0,0 +1 @@ +{$field_value} \ No newline at end of file diff --git a/fields/multi_line_small/tpl/field.tpl b/fields/multi_line_small/tpl/field.tpl new file mode 100644 index 0000000..3fc6a0c --- /dev/null +++ b/fields/multi_line_small/tpl/field.tpl @@ -0,0 +1,17 @@ +{if $smarty.const.USE_EDITOR} + +{else} + {if $codemirror != 'load'} + {assign var="codemirror" value="" scope="global"} + {include file="$codemirror_connect"} + {assign var="codemirror" value="load" scope="global"} + {/if} + + + + {include file="$codemirror_editor" + conn_id=$f_id + textarea_id="field_code_$f_id" + ctrls='AveDocs.documentSaveFunction();' + height=$field_height} +{/if} \ No newline at end of file diff --git a/inc/config.php b/inc/config.php index c23bfc9..47c9dc6 100644 --- a/inc/config.php +++ b/inc/config.php @@ -125,6 +125,16 @@ /* ======================================================================================================== */ + //-- Редактор CKeditor + $GLOBALS['CMS_CONFIG']['_CONST_EDITOR']['USE_EDITOR'] = [ + 'DESCR' => 'Использовать HTML-редактор CKEditor', + 'DEFAULT' => true, + 'TYPE' => 'bool', + 'VARIANT' => '' +]; + + /* ======================================================================================================== */ + //-- Использовать IP для автологина на сайте $GLOBALS['CMS_CONFIG']['_CONST_AUTH']['USER_IP'] = [ 'DESCR' => 'Следить за IP при автологине на сайте',