Cистемные настройки-->Дополнительные Настройки добавлено "Использовать HTML-редактор CKEditor" - да / нет. Обновлены поля Многострочные - Большое, Маленькое, Среднее - для них в админке можно включать / выключать CKEditor

This commit is contained in:
2026-04-11 23:33:15 +05:00
parent 4ff4a6dd49
commit 46aee3cc6c
14 changed files with 241 additions and 192 deletions

View File

@@ -210,4 +210,5 @@ SETTINGS_JS_SERVER_ERR = "Ошибка сервера при сохран
SETTINGS_JS_WIN_CLOSE = "Закрыть окно"
# v3.31
_const_utc = "Часовой пояс сайта"
_const_utc = "Часовой пояс сайта"
_const_editor = "HTML-редактор CKEditor"

View File

@@ -1,76 +1,71 @@
<?php
/**
* AVE.cms
* @package AVE.cms
* @version 4.x
*/
/**
* AVE.cms
*
* @package AVE.cms
* @version 3.x
* @filesource
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru
*
* @license GPL v.2
*/
function get_field_multi_line_large($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null, $_tpl = null)
{
global $AVE_Template;
// Многострочное
function get_field_multi_line_large($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null, $_tpl = null)
{
global $AVE_Template;
$fld_dir = dirname(__FILE__) . '/';
$tpl_dir = $fld_dir . 'tpl/';
$fld_dir = dirname(__FILE__) . '/';
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt';
$AVE_Template->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);
}
?>
return ($res ? $res : $field_value);
}

View File

@@ -0,0 +1 @@
{$field_value}

View File

@@ -0,0 +1 @@
{$field_value}

View File

@@ -0,0 +1,17 @@
{if $smarty.const.USE_EDITOR}
<textarea name="{$field_name}" id="field_multi_{$f_id}" style="width:100%; height:{$field_height}px;">{$field_value|escape}</textarea>
{else}
{if $codemirror != 'load'}
{assign var="codemirror" value="" scope="global"}
{include file="$codemirror_connect"}
{assign var="codemirror" value="load" scope="global"}
{/if}
<textarea id="field_code_{$f_id}" name="{$field_name}">{$field_value|escape}</textarea>
{include file="$codemirror_editor"
conn_id=$f_id
textarea_id="field_code_$f_id"
ctrls='AveDocs.documentSaveFunction();'
height=$field_height}
{/if}

View File

@@ -1,76 +1,69 @@
<?php
/**
* AVE.cms
* @package AVE.cms
*/
/**
* AVE.cms
*
* @package AVE.cms
* @version 3.x
* @filesource
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru
*
* @license GPL v.2
*/
function get_field_multi_line_medium($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null, $_tpl=null)
{
global $AVE_Template;
$fld_dir = dirname(__FILE__) . '/';
$tpl_dir = $fld_dir . 'tpl/';
// Многострочное (Упрощенное)
function get_field_multi_line_medium($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null, $_tpl=null)
{
global $AVE_Template;
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt';
$AVE_Template->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);
}
?>
return ($res ? $res : $field_value);
}

View File

@@ -0,0 +1 @@
{$field_value}

View File

@@ -0,0 +1 @@
{$field_value}

View File

@@ -0,0 +1,17 @@
{if $smarty.const.USE_EDITOR}
<textarea name="{$field_name}" id="field_multi_{$f_id}" style="width:100%; height:{$field_height}px;">{$field_value|escape}</textarea>
{else}
{if $codemirror != 'load'}
{assign var="codemirror" value="" scope="global"}
{include file="$codemirror_connect"}
{assign var="codemirror" value="load" scope="global"}
{/if}
<textarea id="field_code_{$f_id}" name="{$field_name}">{$field_value|escape}</textarea>
{include file="$codemirror_editor"
conn_id=$f_id
textarea_id="field_code_$f_id"
ctrls='AveDocs.documentSaveFunction();'
height=$field_height}
{/if}

View File

@@ -1,76 +1,69 @@
<?php
/**
* AVE.cms
* @package AVE.cms
*/
/**
* AVE.cms
*
* @package AVE.cms
* @version 3.x
* @filesource
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru
*
* @license GPL v.2
*/
function get_field_multi_line_small($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null, $_tpl=null)
{
global $AVE_Template;
$fld_dir = dirname(__FILE__) . '/';
$tpl_dir = $fld_dir . 'tpl/';
// Многострочное (Слим)
function get_field_multi_line_small($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null, $_tpl=null)
{
global $AVE_Template;
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt';
$AVE_Template->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);
}
?>
return ($res ? $res : $field_value);
}

View File

@@ -0,0 +1 @@
{$field_value}

View File

@@ -0,0 +1 @@
{$field_value}

View File

@@ -0,0 +1,17 @@
{if $smarty.const.USE_EDITOR}
<textarea name="{$field_name}" id="field_multi_{$f_id}" style="width:100%; height:{$field_height}px;">{$field_value|escape}</textarea>
{else}
{if $codemirror != 'load'}
{assign var="codemirror" value="" scope="global"}
{include file="$codemirror_connect"}
{assign var="codemirror" value="load" scope="global"}
{/if}
<textarea id="field_code_{$f_id}" name="{$field_name}">{$field_value|escape}</textarea>
{include file="$codemirror_editor"
conn_id=$f_id
textarea_id="field_code_$f_id"
ctrls='AveDocs.documentSaveFunction();'
height=$field_height}
{/if}

View File

@@ -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 при автологине на сайте',