mirror of https://github.com/avecms/AVE.cms.git
M@d D3n
7 years ago
131 changed files with 6918 additions and 6545 deletions
@ -1,192 +1,201 @@ |
|||||||
<?php |
<?php |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
if (!defined('ACP') || !check_permission('mediapool_int')) |
if (! defined('ACP') || !check_permission('mediapool_int')) |
||||||
{ |
{ |
||||||
header('Location:index.php'); |
header('Location:index.php'); |
||||||
exit; |
exit; |
||||||
} |
} |
||||||
|
|
||||||
global $AVE_DB, $AVE_Template; |
global $AVE_DB, $AVE_Template; |
||||||
|
|
||||||
ob_start(); |
ob_start(); |
||||||
ob_implicit_flush(0); |
ob_implicit_flush(0); |
||||||
|
|
||||||
$_REQUEST['onlycontent'] = 1; |
$_REQUEST['onlycontent'] = 1; |
||||||
|
|
||||||
$max_size = 128; // максимальный размер миниатюры |
$max_size = 128; // максимальный размер миниатюры |
||||||
$thumb_size = '-t' . $max_size . 'x' . $max_size; // формат миниатюр |
$thumb_size = '-t' . $max_size . 'x' . $max_size; // формат миниатюр |
||||||
$images_ext = array('jpg', 'jpeg', 'png', 'gif', 'JPG', 'JPEG', 'PNG', 'GIF'); |
$images_ext = array('jpg', 'jpeg', 'png', 'gif', 'JPG', 'JPEG', 'PNG', 'GIF'); |
||||||
|
|
||||||
$upload_path = BASE_DIR . '/' . UPLOAD_DIR; |
$upload_path = BASE_DIR . '/' . UPLOAD_DIR; |
||||||
|
|
||||||
$lang = empty($_SESSION['admin_language']) ? 'ru' : $_SESSION['admin_language']; |
$lang = empty($_SESSION['admin_language']) |
||||||
|
? 'ru' |
||||||
|
: $_SESSION['admin_language']; |
||||||
|
|
||||||
$AVE_Template = new AVE_Template(BASE_DIR . '/admin/templates/browser'); |
$AVE_Template = new AVE_Template(BASE_DIR . '/admin/templates/browser'); |
||||||
$AVE_Template->config_load(BASE_DIR . '/admin/lang/' . $lang . '/main.txt'); |
$AVE_Template->config_load(BASE_DIR . '/admin/lang/' . $lang . '/main.txt'); |
||||||
$AVE_Template->assign('tpl_dir', 'templates/'); |
$AVE_Template->assign('tpl_dir', 'templates/'); |
||||||
$AVE_Template->assign('ABS_PATH', '../'); |
$AVE_Template->assign('ABS_PATH', '../'); |
||||||
|
|
||||||
if (!isset($_REQUEST['action'])) $_REQUEST['action'] = ''; |
if (! isset($_REQUEST['action'])) |
||||||
|
$_REQUEST['action'] = ''; |
||||||
|
|
||||||
switch ($_REQUEST['action']) |
switch ($_REQUEST['action']) |
||||||
{ |
{ |
||||||
case 'list': |
case 'list': |
||||||
$dir = (empty($_REQUEST['dir']) |
$dir = (empty($_REQUEST['dir']) |
||||||
|| strpos($_REQUEST['dir'], '..') !== false |
|| strpos($_REQUEST['dir'], '..') !== false |
||||||
|| strpos($_REQUEST['dir'], '//') !== false) ? '/' : $_REQUEST['dir']; |
|| strpos($_REQUEST['dir'], '//') !== false) ? '/' : $_REQUEST['dir']; |
||||||
|
|
||||||
$path = $upload_path . (is_dir($upload_path . $dir) ? $dir : '/'); |
$path = $upload_path . (is_dir($upload_path . $dir) ? $dir : '/'); |
||||||
|
|
||||||
$new_dir = $path . (isset($_REQUEST['newdir']) ? $_REQUEST['newdir'] : ''); |
$new_dir = $path . (isset($_REQUEST['newdir']) ? $_REQUEST['newdir'] : ''); |
||||||
$new_dir_rezult = (!is_dir($new_dir) && !mkdir($new_dir, 0777)); |
$new_dir_rezult = (!is_dir($new_dir) && !mkdir($new_dir, 0777)); |
||||||
|
|
||||||
$skip_entry = array(THUMBNAIL_DIR, 'recycled', 'index.php'); |
$skip_entry = array(THUMBNAIL_DIR, 'recycled', 'index.php'); |
||||||
|
|
||||||
$dirs = array(); |
$dirs = array(); |
||||||
$files = array(); |
$files = array(); |
||||||
|
|
||||||
$d = @dir($path); |
$d = @dir($path); |
||||||
while (false !== ($entry = @$d->read())) |
|
||||||
{ |
|
||||||
if (in_array($entry, $skip_entry) || $entry{0} === '.') continue; |
|
||||||
|
|
||||||
if (is_dir($path . $entry)) |
while (false !== ($entry = @$d->read())) |
||||||
{ |
{ |
||||||
$dirs[$entry] = 'index.php?do=browser&type=' . $_REQUEST['type'] |
if (in_array($entry, $skip_entry) || $entry{0} === '.') |
||||||
. '&action=list&dir=' . $dir . $entry . '/'; |
continue; |
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
$nameParts = explode('.', $entry); |
|
||||||
$ext = strtolower(end($nameParts)); |
|
||||||
|
|
||||||
$file['icon'] = file_exists("templates/images/mediapool/{$ext}.gif") ? $ext : 'attach'; |
|
||||||
$file['filesize'] = @round(@filesize($path . $entry)/1024, 2); |
|
||||||
$file['moddate'] = date("d.m.y, H:i", @filemtime($path . $entry)); |
|
||||||
|
|
||||||
if (in_array($ext, $images_ext)) |
if (is_dir($path . $entry)) |
||||||
{ |
{ |
||||||
$nameParts[count($nameParts)-2] .= $thumb_size; |
$dirs[$entry] = 'index.php?do=browser&type=' . $_REQUEST['type'] |
||||||
$file['bild'] = '/' . UPLOAD_DIR . $dir . THUMBNAIL_DIR . '/' . implode('.', $nameParts); |
. '&action=list&dir=' . $dir . $entry . '/'; |
||||||
} |
} |
||||||
else |
else |
||||||
{ |
{ |
||||||
$file['bild'] = 'templates/images/file.gif'; |
$nameParts = explode('.', $entry); |
||||||
|
$ext = strtolower(end($nameParts)); |
||||||
|
|
||||||
|
$file['icon'] = file_exists("templates/images/mediapool/{$ext}.gif") ? $ext : 'attach'; |
||||||
|
$file['filesize'] = @round(@filesize($path . $entry)/1024, 2); |
||||||
|
$file['moddate'] = date("d.m.y, H:i", @filemtime($path . $entry)); |
||||||
|
|
||||||
|
if (in_array($ext, $images_ext)) |
||||||
|
{ |
||||||
|
$nameParts[count($nameParts)-2] .= $thumb_size; |
||||||
|
$file['bild'] = '/' . UPLOAD_DIR . $dir . THUMBNAIL_DIR . '/' . implode('.', $nameParts); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$file['bild'] = 'templates/images/file.gif'; |
||||||
|
} |
||||||
|
|
||||||
|
$files[$entry] = $file; |
||||||
} |
} |
||||||
|
} |
||||||
|
|
||||||
|
$d->close(); |
||||||
|
|
||||||
|
ksort($dirs); |
||||||
|
ksort($files); |
||||||
|
|
||||||
$files[$entry] = $file; |
$AVE_Template->assign('new_dir_rezult', $new_dir_rezult); |
||||||
|
$AVE_Template->assign('recycled', strpos($dir, '/recycled/') === 0); |
||||||
|
$AVE_Template->assign('dirs', $dirs); |
||||||
|
$AVE_Template->assign('files', $files); |
||||||
|
$AVE_Template->assign('max_size', $max_size); |
||||||
|
$AVE_Template->assign('dir', $dir); |
||||||
|
$AVE_Template->assign('dirup', rtrim(dirname($dir), '\\/') . '/'); |
||||||
|
$AVE_Template->assign('mediapath', UPLOAD_DIR); |
||||||
|
|
||||||
|
$AVE_Template->display('browser.tpl'); |
||||||
|
break; |
||||||
|
|
||||||
|
case 'upload': |
||||||
|
if (check_permission('mediapool_add')) |
||||||
|
{ |
||||||
|
$AVE_Template->display('browser_upload.tpl'); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
echo '<script type="text/javascript">window.close();</script>'; |
||||||
} |
} |
||||||
} |
break; |
||||||
$d->close(); |
|
||||||
|
case 'upload2': |
||||||
ksort($dirs); |
header('Location:index.php?do=browser&type=image&target=' . $_REQUEST['target'] . '&tval=/' . UPLOAD_DIR . $_REQUEST['tval']); |
||||||
ksort($files); |
break; |
||||||
|
|
||||||
$AVE_Template->assign('new_dir_rezult', $new_dir_rezult); |
case 'delfile': |
||||||
$AVE_Template->assign('recycled', strpos($dir, '/recycled/') === 0); |
if (check_permission('mediapool_del')) |
||||||
$AVE_Template->assign('dirs', $dirs); |
|
||||||
$AVE_Template->assign('files', $files); |
|
||||||
$AVE_Template->assign('max_size', $max_size); |
|
||||||
$AVE_Template->assign('dir', $dir); |
|
||||||
$AVE_Template->assign('dirup', rtrim(dirname($dir), '\\/') . '/'); |
|
||||||
$AVE_Template->assign('mediapath', UPLOAD_DIR); |
|
||||||
|
|
||||||
$AVE_Template->display('browser.tpl'); |
|
||||||
break; |
|
||||||
|
|
||||||
case 'upload': |
|
||||||
if (check_permission('mediapool_add')) |
|
||||||
{ |
|
||||||
$AVE_Template->display('browser_upload.tpl'); |
|
||||||
}else{ |
|
||||||
echo '<script type="text/javascript">window.close();</script>'; |
|
||||||
} |
|
||||||
break; |
|
||||||
|
|
||||||
case 'upload2': |
|
||||||
header('Location:index.php?do=browser&type=image&target=' . $_REQUEST['target'] . '&tval=/' . UPLOAD_DIR . $_REQUEST['tval']); |
|
||||||
break; |
|
||||||
|
|
||||||
case 'delfile': |
|
||||||
if (check_permission('mediapool_del')) |
|
||||||
{ |
|
||||||
if (empty($_REQUEST['file']) || empty($_REQUEST['dir'])) exit(0); |
|
||||||
|
|
||||||
$file_name = basename($_REQUEST['file']); |
|
||||||
|
|
||||||
$del_file = $upload_path . $_REQUEST['dir'] . $file_name; |
|
||||||
if (strpos($del_file, '..') !== false || !is_file($del_file)) exit(0); |
|
||||||
|
|
||||||
$recycled_path = $upload_path . '/recycled/'; |
|
||||||
if (!is_dir($recycled_path) && !mkdir($recycled_path)) exit(0); |
|
||||||
|
|
||||||
do {$nameParts = explode('.', $file_name); |
|
||||||
$nameParts[count($nameParts)-2] .= '-' . uniqid(rand()); |
|
||||||
$recycled_file_name = implode('.', $nameParts); |
|
||||||
} while (file_exists($recycled_path . $recycled_file_name)); |
|
||||||
|
|
||||||
@copy($del_file, $recycled_path . $recycled_file_name); |
|
||||||
|
|
||||||
if (@unlink($del_file)) |
|
||||||
{ |
{ |
||||||
$nameParts = explode('.', $file_name); |
if (empty($_REQUEST['file']) || empty($_REQUEST['dir'])) |
||||||
$ext = strtolower(end($nameParts)); |
exit(0); |
||||||
if (in_array($ext, $images_ext)) |
|
||||||
|
$file_name = basename($_REQUEST['file']); |
||||||
|
|
||||||
|
$del_file = $upload_path . $_REQUEST['dir'] . $file_name; |
||||||
|
if (strpos($del_file, '..') !== false || !is_file($del_file)) exit(0); |
||||||
|
|
||||||
|
$recycled_path = $upload_path . '/recycled/'; |
||||||
|
if (!is_dir($recycled_path) && !mkdir($recycled_path)) exit(0); |
||||||
|
|
||||||
|
do {$nameParts = explode('.', $file_name); |
||||||
|
$nameParts[count($nameParts)-2] .= '-' . uniqid(rand()); |
||||||
|
$recycled_file_name = implode('.', $nameParts); |
||||||
|
} while (file_exists($recycled_path . $recycled_file_name)); |
||||||
|
|
||||||
|
@copy($del_file, $recycled_path . $recycled_file_name); |
||||||
|
|
||||||
|
if (@unlink($del_file)) |
||||||
{ |
{ |
||||||
$nameParts[count($nameParts)-2] .= $thumb_size; |
$nameParts = explode('.', $file_name); |
||||||
@unlink($upload_path . $_REQUEST['dir'] . THUMBNAIL_DIR . '/' . implode('.', $nameParts)); |
$ext = strtolower(end($nameParts)); |
||||||
|
if (in_array($ext, $images_ext)) |
||||||
|
{ |
||||||
|
$nameParts[count($nameParts)-2] .= $thumb_size; |
||||||
|
@unlink($upload_path . $_REQUEST['dir'] . THUMBNAIL_DIR . '/' . implode('.', $nameParts)); |
||||||
|
} |
||||||
|
|
||||||
|
reportLog($_SESSION['user_name'] . ' - удалил файл (' |
||||||
|
. UPLOAD_DIR . $_REQUEST['dir'] . $file_name . ')'); |
||||||
} |
} |
||||||
|
|
||||||
reportLog($_SESSION['user_name'] . ' - удалил файл (' |
|
||||||
. UPLOAD_DIR . $_REQUEST['dir'] . $file_name . ')'); |
|
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
echo '<script type="text/javascript"> |
echo '<script type="text/javascript"> |
||||||
parent.frames[\'zf\'].location.href="index.php?do=browser&type=', $_REQUEST['type'], '&action=list&dir=', $_REQUEST['dir'], '"; |
parent.frames[\'zf\'].location.href="index.php?do=browser&type=', $_REQUEST['type'], '&action=list&dir=', $_REQUEST['dir'], '"; |
||||||
</script>'; |
</script>'; |
||||||
break; |
break; |
||||||
|
|
||||||
default: |
default: |
||||||
|
|
||||||
@list($target, $target_id) = explode('__', $_REQUEST['target']); |
@list($target, $target_id) = explode('__', $_REQUEST['target']); |
||||||
|
|
||||||
$tval = '/'; |
$tval = '/'; |
||||||
|
|
||||||
if (!empty($_REQUEST['tval']) && 0 === strpos($_REQUEST['tval'], '/' . UPLOAD_DIR . '/')) |
if (!empty($_REQUEST['tval']) && 0 === strpos($_REQUEST['tval'], '/' . UPLOAD_DIR . '/')) |
||||||
{ |
{ |
||||||
if (is_dir(BASE_DIR . '/' . $_REQUEST['tval'])) { |
if (is_dir(BASE_DIR . '/' . $_REQUEST['tval'])) { |
||||||
$tval = rtrim(substr($_REQUEST['tval'], strlen('/' . UPLOAD_DIR)), '\\/') . '/'; |
$tval = rtrim(substr($_REQUEST['tval'], strlen('/' . UPLOAD_DIR)), '\\/') . '/'; |
||||||
} |
} |
||||||
|
|
||||||
if (is_file(BASE_DIR . '/' . $_REQUEST['tval'])) { |
if (is_file(BASE_DIR . '/' . $_REQUEST['tval'])) { |
||||||
$tval = rtrim(dirname(substr($_REQUEST['tval'], strlen('/' . UPLOAD_DIR))), '\\/') . '/'; |
$tval = rtrim(dirname(substr($_REQUEST['tval'], strlen('/' . UPLOAD_DIR))), '\\/') . '/'; |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
$AVE_Template->assign('dir', $tval); |
$AVE_Template->assign('dir', $tval); |
||||||
$AVE_Template->assign('target', $target); |
$AVE_Template->assign('target', $target); |
||||||
$AVE_Template->assign('target_id', $target_id); |
$AVE_Template->assign('target_id', $target_id); |
||||||
$AVE_Template->assign('cppath', substr($_SERVER['PHP_SELF'], 0, -18)); |
$AVE_Template->assign('cppath', substr($_SERVER['PHP_SELF'], 0, -18)); |
||||||
$AVE_Template->assign('mediapath', UPLOAD_DIR); |
$AVE_Template->assign('mediapath', UPLOAD_DIR); |
||||||
|
|
||||||
$AVE_Template->display('browser_2frames.tpl'); |
$AVE_Template->display('browser_2frames.tpl'); |
||||||
break; |
break; |
||||||
} |
} |
||||||
|
|
||||||
$out = ob_get_clean(); |
$out = ob_get_clean(); |
||||||
|
|
||||||
echo $out; |
echo $out; |
||||||
|
|
||||||
?> |
?> |
@ -1,70 +1,70 @@ |
|||||||
<?php |
<?php |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
if (!defined('ACP')) |
if (! defined('ACP')) |
||||||
{ |
{ |
||||||
header('Location:index.php'); |
header('Location:index.php'); |
||||||
exit; |
exit; |
||||||
} |
} |
||||||
|
|
||||||
check_permission_acp('db_actions'); |
check_permission_acp('db_actions'); |
||||||
|
|
||||||
$AVE_Template->config_load(BASE_DIR . '/admin/lang/' . $_SESSION['admin_language'] . '/dbactions.txt', 'db'); |
$AVE_Template->config_load(BASE_DIR . '/admin/lang/' . $_SESSION['admin_language'] . '/dbactions.txt', 'db'); |
||||||
|
|
||||||
require(BASE_DIR . '/class/class.dbdump.php'); |
require (BASE_DIR . '/class/class.dbdump.php'); |
||||||
$AVE_DB_Service = new AVE_DB_Service; |
|
||||||
|
|
||||||
if (!empty($_REQUEST['action'])) |
$AVE_DB_Service = new AVE_DB_Service; |
||||||
{ |
|
||||||
switch ($_REQUEST['action']) |
if (!empty($_REQUEST['action'])) |
||||||
{ |
{ |
||||||
case 'optimize': |
switch ($_REQUEST['action']) |
||||||
$AVE_DB_Service->databaseTableOptimize(); |
{ |
||||||
break; |
case 'optimize': |
||||||
|
$AVE_DB_Service->databaseTableOptimize(); |
||||||
|
break; |
||||||
|
|
||||||
case 'repair': |
case 'repair': |
||||||
$AVE_DB_Service->databaseTableRepair(); |
$AVE_DB_Service->databaseTableRepair(); |
||||||
break; |
break; |
||||||
|
|
||||||
case 'dump_top': |
case 'dump_top': |
||||||
$AVE_DB_Service->databaseDumpExport(1); |
$AVE_DB_Service->databaseDumpExport(1); |
||||||
exit; |
exit; |
||||||
|
|
||||||
case 'dump': |
case 'dump': |
||||||
$AVE_DB_Service->databaseDumpExport(); |
$AVE_DB_Service->databaseDumpExport(); |
||||||
exit; |
exit; |
||||||
|
|
||||||
case 'restore': |
case 'restore': |
||||||
$AVE_DB_Service->databaseDumpImport(BASE_DIR . "/" . ATTACH_DIR . "/"); |
$AVE_DB_Service->databaseDumpImport(BASE_DIR . "/" . ATTACH_DIR . "/"); |
||||||
break; |
break; |
||||||
|
|
||||||
case 'download': |
case 'download': |
||||||
$AVE_DB_Service->databaseDumpFileSave($_REQUEST['file']); |
$AVE_DB_Service->databaseDumpFileSave($_REQUEST['file']); |
||||||
break; |
break; |
||||||
|
|
||||||
case 'restorefile': |
case 'restorefile': |
||||||
$AVE_DB_Service->databaseDumpFileImport($_REQUEST['file']); |
$AVE_DB_Service->databaseDumpFileImport($_REQUEST['file']); |
||||||
break; |
break; |
||||||
|
|
||||||
case 'deletefile': |
case 'deletefile': |
||||||
$AVE_DB_Service->databaseDumpFileDelete($_REQUEST['file']); |
$AVE_DB_Service->databaseDumpFileDelete($_REQUEST['file']); |
||||||
break; |
break; |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
$AVE_Template->assign('db_size', get_mysql_size()); |
|
||||||
$AVE_Template->assign('files', $AVE_DB_Service->databaseFilesGet()); |
|
||||||
$AVE_Template->assign('tables', $AVE_DB_Service->databaseTableGet()); |
|
||||||
$AVE_Template->assign('content', $AVE_Template->fetch('dbactions/actions.tpl')); |
|
||||||
|
|
||||||
|
$AVE_Template->assign('db_size', get_mysql_size()); |
||||||
|
$AVE_Template->assign('files', $AVE_DB_Service->databaseFilesGet()); |
||||||
|
$AVE_Template->assign('tables', $AVE_DB_Service->databaseTableGet()); |
||||||
|
$AVE_Template->assign('content', $AVE_Template->fetch('dbactions/actions.tpl')); |
||||||
?> |
?> |
@ -1,97 +1,100 @@ |
|||||||
<? |
<? |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
|
// Чекбокс (Checkbox) |
||||||
|
function get_field_checkbox($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; |
||||||
|
|
||||||
// Чекбокс (Checkbox) |
$fld_dir = dirname(__FILE__) . '/'; |
||||||
function get_field_checkbox($field_value, $action, $field_id = 0, $tpl = '', $tpl_empty = 0, &$maxlength = null, $document_fields = array(), $rubric_id = 0, $default = null) |
$tpl_dir = $fld_dir . 'tpl/'; |
||||||
{ |
|
||||||
|
|
||||||
global $AVE_Template; |
$lang_file = $fld_dir . 'lang/' . (defined('ACP') |
||||||
|
? $_SESSION['admin_language'] |
||||||
|
: $_SESSION['user_language']) . '.txt'; |
||||||
|
|
||||||
$fld_dir = dirname(__FILE__) . '/'; |
$AVE_Template->config_load($lang_file, 'lang'); |
||||||
$tpl_dir = $fld_dir . 'tpl/'; |
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
||||||
|
$AVE_Template->config_load($lang_file, 'admin'); |
||||||
|
|
||||||
$lang_file = $fld_dir . 'lang/' . (defined('ACP') |
$res = ''; |
||||||
? $_SESSION['admin_language'] |
|
||||||
: $_SESSION['user_language']) . '.txt'; |
|
||||||
|
|
||||||
$AVE_Template->config_load($lang_file, 'lang'); |
switch ($action) |
||||||
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
{ |
||||||
$AVE_Template->config_load($lang_file, 'admin'); |
case 'edit': |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_value', (int)$field_value); |
||||||
|
$AVE_Template->assign('doc_id', (isset($_REQUEST['Id']) ? (int)$_REQUEST['Id'] : 0)); |
||||||
|
|
||||||
$res = ''; |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); |
||||||
|
|
||||||
switch ($action) |
return $AVE_Template->fetch($tpl_file); |
||||||
{ |
break; |
||||||
case 'edit': |
|
||||||
$AVE_Template->assign('field_id', $field_id); |
|
||||||
$AVE_Template->assign('field_value', (int)$field_value); |
|
||||||
$AVE_Template->assign('doc_id', (isset($_REQUEST['Id']) ? (int)$_REQUEST['Id'] : 0)); |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
case 'doc': |
||||||
|
$field_value = clean_php($field_value); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
$res = ((int)$field_value === 1) |
||||||
break; |
? (int)$field_value |
||||||
|
: null; |
||||||
|
|
||||||
case 'doc': |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc', $_tpl); |
||||||
$field_value = clean_php($field_value); |
|
||||||
|
|
||||||
$res = ((int)$field_value === 1) |
if ($tpl_empty && $tpl_file) |
||||||
? (int)$field_value |
{ |
||||||
: 0; |
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_default', $default); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc'); |
return $AVE_Template->fetch($tpl_file); |
||||||
|
} |
||||||
|
|
||||||
if ($tpl_empty && $tpl_file) |
return $res; |
||||||
{ |
break; |
||||||
$AVE_Template->assign('field_id', $field_id); |
|
||||||
$AVE_Template->assign('field_value', $field_value); |
|
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
} |
|
||||||
|
|
||||||
return $res; |
case 'req': |
||||||
break; |
$field_value = clean_php($field_value); |
||||||
|
|
||||||
case 'req': |
$res = ((int)$field_value === 1) |
||||||
$field_value = clean_php($field_value); |
? (int)$field_value |
||||||
|
: null; |
||||||
|
|
||||||
$res = ((int)$field_value === 1) |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req', $_tpl); |
||||||
? (int)$field_value |
|
||||||
: 0; |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req'); |
if ($tpl_empty && $tpl_file) |
||||||
|
{ |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_default', $default); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
|
||||||
if ($tpl_empty && $tpl_file) |
return $AVE_Template->fetch($tpl_file); |
||||||
{ |
} |
||||||
$AVE_Template->assign('field_id', $field_id); |
|
||||||
$AVE_Template->assign('field_value', $field_value); |
|
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
} |
|
||||||
|
|
||||||
return $res; |
return $res; |
||||||
break; |
break; |
||||||
|
|
||||||
case 'save': |
case 'save': |
||||||
$field_value = clean_php($field_value); |
$field_value = clean_php($field_value); |
||||||
$res = ((int)$field_value === 1) |
$res = ((int)$field_value === 1) |
||||||
? $field_value |
? $field_value |
||||||
: '0'; |
: null; |
||||||
break; |
break; |
||||||
|
|
||||||
case 'name': |
case 'name': |
||||||
return $AVE_Template->get_config_vars('name'); |
return $AVE_Template->get_config_vars('name'); |
||||||
break; |
break; |
||||||
} |
} |
||||||
|
|
||||||
return ($res ? $res : $field_value); |
return ($res ? $res : $field_value); |
||||||
} |
} |
||||||
?> |
?> |
@ -1 +1,6 @@ |
|||||||
|
{* |
||||||
|
$field_id |
||||||
|
$field_default |
||||||
|
$field_value |
||||||
|
*} |
||||||
{$field_value} |
{$field_value} |
@ -1 +1,6 @@ |
|||||||
|
{* |
||||||
|
$field_id |
||||||
|
$field_default |
||||||
|
$field_value |
||||||
|
*} |
||||||
{$field_value} |
{$field_value} |
@ -1,2 +1,2 @@ |
|||||||
<input type="hidden" name="feld[{$field_id}]" value=""> |
<input type="hidden" name="feld[{$field_id}]" value="0"> |
||||||
<input type="checkbox" name="feld[{$field_id}]" value="1" {if $field_value == 1}checked{/if} /> |
<input type="checkbox" name="feld[{$field_id}]" value="1" {if $field_value == 1}checked{/if} /> |
@ -0,0 +1,163 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
/** |
||||||
|
* AVE.cms |
||||||
|
* |
||||||
|
* @package AVE.cms |
||||||
|
* @version 3.x |
||||||
|
* @filesource |
||||||
|
* @copyright © 2007-2015 AVE.cms, http://www.ave-cms.ru |
||||||
|
* |
||||||
|
* @license GPL v.2 |
||||||
|
*/ |
||||||
|
|
||||||
|
// Мульти чекбокс |
||||||
|
function get_field_checkbox_multi($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/'; |
||||||
|
|
||||||
|
$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'); |
||||||
|
|
||||||
|
$res = array(); |
||||||
|
|
||||||
|
switch ($action) |
||||||
|
{ |
||||||
|
case 'edit': |
||||||
|
$default_items = explode(',', $default); |
||||||
|
$default_items = array_diff($default_items, array('')); |
||||||
|
|
||||||
|
$field_value_array = explode('|', $field_value); |
||||||
|
$field_value_array = array_values(array_diff($field_value_array, array(''))); |
||||||
|
|
||||||
|
$AVE_Template->assign('items', $default_items); |
||||||
|
$AVE_Template->assign('used', $field_value_array); |
||||||
|
$AVE_Template->assign('doc_id', (isset($_REQUEST['Id']) ? (int)$_REQUEST['Id'] : 0)); |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); |
||||||
|
|
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
break; |
||||||
|
|
||||||
|
case 'doc': |
||||||
|
$default_items = explode(',', $default); |
||||||
|
|
||||||
|
$items = explode('|', $field_value); |
||||||
|
$items = array_diff($items, array('')); |
||||||
|
|
||||||
|
if (! empty($items)) |
||||||
|
{ |
||||||
|
foreach($items as $item) |
||||||
|
{ |
||||||
|
if ($item) |
||||||
|
{ |
||||||
|
if ($tpl_empty) |
||||||
|
{ |
||||||
|
$item = $default_items[(int)$item-1]; |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$field_param = explode('|', $item); |
||||||
|
|
||||||
|
$item = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param, $default_items) |
||||||
|
{ |
||||||
|
return $default_items[$field_param[(int)$data[1]]-1]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
$res[] = $item; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc', $_tpl); |
||||||
|
|
||||||
|
if ($tpl_empty && $tpl_file) |
||||||
|
{ |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_value', $res); |
||||||
|
$AVE_Template->assign('rubric_id', $rubric_id); |
||||||
|
$AVE_Template->assign('default', $default_items); |
||||||
|
|
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
} |
||||||
|
|
||||||
|
return (! empty($res)) |
||||||
|
? implode(PHP_EOL, $res) |
||||||
|
: $tpl; |
||||||
|
|
||||||
|
break; |
||||||
|
|
||||||
|
case 'req': |
||||||
|
$default_items = explode(',', $default); |
||||||
|
|
||||||
|
$items = explode('|', $field_value); |
||||||
|
$items = array_diff($items, array('')); |
||||||
|
|
||||||
|
if (! empty($items)) |
||||||
|
{ |
||||||
|
foreach($items as $item) |
||||||
|
{ |
||||||
|
if ($item) |
||||||
|
{ |
||||||
|
if ($tpl_empty) |
||||||
|
{ |
||||||
|
$item = $default_items[(int)$item-1]; |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$field_param = explode('|', $item); |
||||||
|
|
||||||
|
$item = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param, $default_items) |
||||||
|
{ |
||||||
|
return $default_items[$field_param[(int)$data[1]]-1]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
$res[] = $item; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req', $_tpl); |
||||||
|
|
||||||
|
if ($tpl_empty && $tpl_file) |
||||||
|
{ |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_value', $res); |
||||||
|
$AVE_Template->assign('rubric_id', $rubric_id); |
||||||
|
$AVE_Template->assign('default', $default_items); |
||||||
|
|
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
} |
||||||
|
|
||||||
|
return (! empty($res)) |
||||||
|
? implode(PHP_EOL, $res) |
||||||
|
: $tpl; |
||||||
|
|
||||||
|
break; |
||||||
|
|
||||||
|
case 'name': |
||||||
|
return $AVE_Template->get_config_vars('name'); |
||||||
|
break; |
||||||
|
|
||||||
|
} |
||||||
|
return ($res ? $res : $field_value); |
||||||
|
} |
||||||
|
?> |
@ -1,54 +1,112 @@ |
|||||||
<?php |
<?php |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
// Код (Codemirror) |
// Код (Codemirror) |
||||||
function get_field_code ($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength='', $document_fields=array(), $rubric_id=0, $default='') |
function get_field_code ($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength='', $document_fields=array(), $rubric_id=0, $default='', $_tpl=null) |
||||||
{ |
|
||||||
global $AVE_Template; |
|
||||||
|
|
||||||
$fld_dir = dirname(__FILE__) . '/'; |
|
||||||
$tpl_dir = $fld_dir . 'tpl/'; |
|
||||||
|
|
||||||
$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'); |
|
||||||
|
|
||||||
switch ($action) |
|
||||||
{ |
{ |
||||||
case 'edit': |
global $AVE_Template; |
||||||
$AVE_Template->assign('field_id', $field_id); |
|
||||||
$AVE_Template->assign('field_value', $field_value); |
$fld_dir = dirname(__FILE__) . '/'; |
||||||
$AVE_Template->assign('doc_id', (int)$_REQUEST['Id']); |
$tpl_dir = $fld_dir . 'tpl/'; |
||||||
$AVE_Template->assign('rubric_id', $rubric_id); |
|
||||||
$AVE_Template->assign('f_id', $field_id.'_'.$_REQUEST['Id']); |
$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'); |
||||||
|
|
||||||
|
switch ($action) |
||||||
|
{ |
||||||
|
case 'edit': |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
$AVE_Template->assign('doc_id', (int)$_REQUEST['Id']); |
||||||
|
$AVE_Template->assign('rubric_id', $rubric_id); |
||||||
|
$AVE_Template->assign('f_id', $field_id.'_'.(int)$_REQUEST['Id']); |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); |
||||||
|
|
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
break; |
||||||
|
|
||||||
|
case 'doc': |
||||||
|
$AVE_Template->config_load($lang_file, 'public'); |
||||||
|
|
||||||
|
if (! $tpl_empty) |
||||||
|
{ |
||||||
|
$field_param = explode('|', $field_value); |
||||||
|
$field_value = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function ($data) use ($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc', $_tpl); |
||||||
|
|
||||||
|
if ($tpl_empty && $tpl_file) |
||||||
|
{ |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_default', $default); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
$AVE_Template->assign('rubric_id', $rubric_id); |
||||||
|
|
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
} |
||||||
|
|
||||||
|
return $field_value; |
||||||
|
break; |
||||||
|
|
||||||
|
case 'req': |
||||||
|
|
||||||
|
$AVE_Template->config_load($lang_file, 'public'); |
||||||
|
|
||||||
|
if (! $tpl_empty) |
||||||
|
{ |
||||||
|
$field_param = explode('|', $field_value); |
||||||
|
$field_value = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req', $_tpl); |
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
if ($tpl_empty && $tpl_file) |
||||||
|
{ |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_default', $default); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
$AVE_Template->assign('rubric_id', $rubric_id); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
break; |
} |
||||||
|
|
||||||
case 'doc': |
return $field_value; |
||||||
case 'req': |
break; |
||||||
return get_field_default($field_value, $action, $field_id, $tpl, $tpl_empty); |
|
||||||
break; |
|
||||||
|
|
||||||
case 'name': |
case 'name': |
||||||
return $AVE_Template->get_config_vars('name'); |
return $AVE_Template->get_config_vars('name'); |
||||||
break; |
break; |
||||||
|
|
||||||
default: return $field_value; |
default: return $field_value; |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
?> |
?> |
@ -0,0 +1,6 @@ |
|||||||
|
{* |
||||||
|
$field_id |
||||||
|
$field_default |
||||||
|
$field_value |
||||||
|
*} |
||||||
|
{$field_value} |
@ -0,0 +1,6 @@ |
|||||||
|
{* |
||||||
|
$field_id |
||||||
|
$field_default |
||||||
|
$field_value |
||||||
|
*} |
||||||
|
{$field_value} |
@ -1,117 +1,126 @@ |
|||||||
<? |
<? |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
// Дата (TimeStamp) |
// Дата (TimeStamp) |
||||||
function get_field_date($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null){ |
function get_field_date($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; |
||||||
|
|
||||||
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'; |
||||||
$tpl_dir = $fld_dir . 'tpl/'; |
|
||||||
|
|
||||||
$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'); |
||||||
|
|
||||||
$AVE_Template->config_load($lang_file, 'lang'); |
$res=0; |
||||||
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
|
||||||
$AVE_Template->config_load($lang_file, 'admin'); |
|
||||||
|
|
||||||
$res=0; |
switch ($action) |
||||||
|
{ |
||||||
|
case 'edit': |
||||||
|
$field_value = ($field_value != 0) ? $field_value : ''; |
||||||
|
|
||||||
switch ($action) |
$AVE_Template->assign('field_id', $field_id); |
||||||
{ |
|
||||||
case 'edit': |
|
||||||
$field_value = ($field_value != 0) ? $field_value : ''; |
|
||||||
|
|
||||||
$AVE_Template->assign('field_id', $field_id); |
|
||||||
$AVE_Template->assign('field_value', $field_value); |
|
||||||
$AVE_Template->assign('doc_id', (int)$_REQUEST['Id']); |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
|
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
break; |
|
||||||
|
|
||||||
case 'doc': |
|
||||||
$field_value = clean_php($field_value); |
|
||||||
if ($tpl_empty) |
|
||||||
{ |
|
||||||
$value = pretty_date(strftime(TIME_FORMAT, $field_value)); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
$value = preg_replace_callback( |
|
||||||
'/\[tag:parametr:(\d+)\]/i', |
|
||||||
function($data) use($field_value) |
|
||||||
{ |
|
||||||
return $field_value; |
|
||||||
}, |
|
||||||
$tpl |
|
||||||
); |
|
||||||
|
|
||||||
return $res = $value; |
|
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc'); |
|
||||||
|
|
||||||
if($tpl_empty && $tpl_file){ |
|
||||||
$AVE_Template->assign('field_value', $field_value); |
|
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
} |
|
||||||
|
|
||||||
$res = $field_value; |
|
||||||
break; |
|
||||||
|
|
||||||
case 'req': |
|
||||||
|
|
||||||
$field_value = clean_php($field_value); |
|
||||||
if ($tpl_empty) |
|
||||||
{ |
|
||||||
$value = pretty_date(strftime(TIME_FORMAT, $field_value)); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
$value = preg_replace_callback( |
|
||||||
'/\[tag:parametr:(\d+)\]/i', |
|
||||||
function($data) use($field_value) |
|
||||||
{ |
|
||||||
return $field_value; |
|
||||||
}, |
|
||||||
$tpl |
|
||||||
); |
|
||||||
|
|
||||||
return $res = $value; |
|
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req'); |
|
||||||
|
|
||||||
if($tpl_empty && $tpl_file){ |
|
||||||
$AVE_Template->assign('field_value', $field_value); |
$AVE_Template->assign('field_value', $field_value); |
||||||
return $AVE_Template->fetch($tpl_file); |
$AVE_Template->assign('doc_id', (int)$_REQUEST['Id']); |
||||||
} |
|
||||||
|
|
||||||
$res = $field_value; |
|
||||||
break; |
|
||||||
|
|
||||||
case 'save': |
|
||||||
$res = $field_value; |
|
||||||
break; |
|
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); |
||||||
|
|
||||||
case 'name': |
return $AVE_Template->fetch($tpl_file); |
||||||
return $AVE_Template->get_config_vars('name'); |
break; |
||||||
break; |
|
||||||
|
case 'doc': |
||||||
|
$field_value = clean_php($field_value); |
||||||
|
|
||||||
|
if ($tpl_empty) |
||||||
|
{ |
||||||
|
$value = pretty_date(strftime(TIME_FORMAT, $field_value)); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$value = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_value) |
||||||
|
{ |
||||||
|
return $field_value; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
|
||||||
|
return $res = $value; |
||||||
|
} |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc', $_tpl); |
||||||
|
|
||||||
|
if ($tpl_empty && $tpl_file) |
||||||
|
{ |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
$AVE_Template->assign('field_default', $default); |
||||||
|
|
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
} |
||||||
|
|
||||||
|
$res = $field_value; |
||||||
|
break; |
||||||
|
|
||||||
|
case 'req': |
||||||
|
$field_value = clean_php($field_value); |
||||||
|
|
||||||
|
if ($tpl_empty) |
||||||
|
{ |
||||||
|
$value = pretty_date(strftime(TIME_FORMAT, $field_value)); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$value = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_value) |
||||||
|
{ |
||||||
|
return $field_value; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
|
||||||
|
return $res = $value; |
||||||
|
} |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req', $_tpl); |
||||||
|
|
||||||
|
if ($tpl_empty && $tpl_file) |
||||||
|
{ |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
$AVE_Template->assign('field_default', $default); |
||||||
|
|
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
} |
||||||
|
|
||||||
|
$res = $field_value; |
||||||
|
break; |
||||||
|
|
||||||
|
case 'save': |
||||||
|
$res = $field_value; |
||||||
|
break; |
||||||
|
|
||||||
|
|
||||||
|
case 'name': |
||||||
|
return $AVE_Template->get_config_vars('name'); |
||||||
|
break; |
||||||
|
|
||||||
|
} |
||||||
|
return ($res ? $res : $field_value); |
||||||
} |
} |
||||||
return ($res ? $res : $field_value); |
?> |
||||||
} |
|
||||||
?> |
|
@ -1,170 +1,180 @@ |
|||||||
<? |
<? |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2015 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2015 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
// Документ из рубрики |
// Документ из рубрики |
||||||
function get_field_doc_from_rub($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null){ |
function get_field_doc_from_rub($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null, $_tpl=null) |
||||||
|
{ |
||||||
global $AVE_DB, $AVE_Template; |
global $AVE_DB, $AVE_Template; |
||||||
|
|
||||||
$fld_dir = dirname(__FILE__) . '/'; |
$fld_dir = dirname(__FILE__) . '/'; |
||||||
$tpl_dir = $fld_dir . 'tpl/'; |
$tpl_dir = $fld_dir . 'tpl/'; |
||||||
|
|
||||||
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
||||||
|
|
||||||
$AVE_Template->config_load($lang_file, 'lang'); |
$AVE_Template->config_load($lang_file, 'lang'); |
||||||
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
||||||
$AVE_Template->config_load($lang_file, 'admin'); |
$AVE_Template->config_load($lang_file, 'admin'); |
||||||
|
|
||||||
$res = 0; |
$res = 0; |
||||||
|
|
||||||
switch ($action) |
switch ($action) |
||||||
{ |
{ |
||||||
case 'edit': |
case 'edit': |
||||||
if (isset($default)) |
if (isset($default)) |
||||||
{ |
|
||||||
$parent = $AVE_DB->Query(" |
|
||||||
SELECT |
|
||||||
MIN(document_parent) AS min |
|
||||||
FROM |
|
||||||
". PREFIX ."_documents |
|
||||||
WHERE |
|
||||||
rubric_id IN (" . $default . ") |
|
||||||
")->GetCell(); |
|
||||||
|
|
||||||
$sql = $AVE_DB->Query(" |
|
||||||
SELECT |
|
||||||
Id, document_parent, document_title |
|
||||||
FROM |
|
||||||
". PREFIX ."_documents |
|
||||||
WHERE |
|
||||||
rubric_id IN (" . $default . ") |
|
||||||
"); |
|
||||||
|
|
||||||
$cats = array(); |
|
||||||
|
|
||||||
while($cat = $sql->FetchAssocArray()) |
|
||||||
{ |
{ |
||||||
$cats_ID[$cat['Id']][] = $cat; |
$parent = $AVE_DB->Query(" |
||||||
$cats[$cat['document_parent']][$cat['Id']] = $cat; |
SELECT |
||||||
|
MIN(document_parent) AS min |
||||||
|
FROM |
||||||
|
". PREFIX ."_documents |
||||||
|
WHERE |
||||||
|
rubric_id IN (" . $default . ") |
||||||
|
")->GetCell(); |
||||||
|
|
||||||
|
$sql = $AVE_DB->Query(" |
||||||
|
SELECT |
||||||
|
Id, document_parent, document_title |
||||||
|
FROM |
||||||
|
". PREFIX ."_documents |
||||||
|
WHERE |
||||||
|
rubric_id IN (" . $default . ") |
||||||
|
"); |
||||||
|
|
||||||
|
$cats = array(); |
||||||
|
|
||||||
|
while ($cat = $sql->FetchAssocArray()) |
||||||
|
{ |
||||||
|
$cats_ID[$cat['Id']][] = $cat; |
||||||
|
$cats[$cat['document_parent']][$cat['Id']] = $cat; |
||||||
|
} |
||||||
|
|
||||||
|
$AVE_Template->assign('subtpl', $tpl_dir . "list.tpl"); |
||||||
|
$AVE_Template->assign('fields', doc_from_rub_tree($cats, $parent)); |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('doc_id', (isset($_REQUEST['Id']) ? (int)$_REQUEST['Id'] : 0)); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$AVE_Template->assign('error', $AVE_Template->get_config_vars('error')); |
||||||
} |
} |
||||||
|
|
||||||
$AVE_Template->assign('subtpl', $tpl_dir . "list.tpl"); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); |
||||||
$AVE_Template->assign('fields', doc_from_rub_tree($cats, $parent)); |
|
||||||
$AVE_Template->assign('field_id', $field_id); |
|
||||||
$AVE_Template->assign('doc_id', (isset($_REQUEST['Id']) ? (int)$_REQUEST['Id'] : 0)); |
|
||||||
$AVE_Template->assign('field_value', $field_value); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
$AVE_Template->assign('error', $AVE_Template->get_config_vars('error')); |
|
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
|
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
break; |
break; |
||||||
|
|
||||||
case 'doc': |
case 'doc': |
||||||
$document = get_document($field_value); |
$document = get_document($field_value); |
||||||
|
|
||||||
if ($tpl_empty) |
if ($tpl_empty) |
||||||
{ |
|
||||||
$field_value = $document['document_title']; |
|
||||||
$field_value = clean_php($field_value); |
|
||||||
$field_value = stripcslashes($field_value); |
|
||||||
$field_value = htmlspecialchars_decode($field_value); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
{ |
||||||
$field_param = explode('|', $field_value); |
$field_value = $document['document_title']; |
||||||
$field_value = preg_replace_callback( |
$field_value = clean_php($field_value); |
||||||
'/\[tag:parametr:(\d+)\]/i', |
$field_value = stripcslashes($field_value); |
||||||
function($data) use($field_param) |
$field_value = htmlspecialchars_decode($field_value); |
||||||
{ |
|
||||||
return $field_param[(int)$data[1]]; |
|
||||||
}, |
|
||||||
$tpl |
|
||||||
); |
|
||||||
} |
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$field_param = explode('|', $field_value); |
||||||
|
$field_value = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc', $_tpl); |
||||||
|
|
||||||
|
if ($tpl_empty && $tpl_file) |
||||||
|
{ |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
$AVE_Template->assign('document', $document); |
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc'); |
return $AVE_Template->fetch($tpl_file); |
||||||
|
} |
||||||
if ($tpl_empty && $tpl_file) |
|
||||||
{ |
|
||||||
$AVE_Template->assign('document', $document); |
|
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
} |
|
||||||
|
|
||||||
$res = $field_value; |
$res = $field_value; |
||||||
break; |
break; |
||||||
|
|
||||||
case 'req': |
case 'req': |
||||||
$document = get_document($field_value); |
$document = get_document($field_value); |
||||||
|
|
||||||
if ($tpl_empty) |
if ($tpl_empty) |
||||||
{ |
|
||||||
$field_value = $document['document_title']; |
|
||||||
$field_value = clean_php($field_value); |
|
||||||
$field_value = stripcslashes($field_value); |
|
||||||
$field_value = htmlspecialchars_decode($field_value); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
{ |
||||||
$field_param = explode('|', $field_value); |
$field_value = $document['document_title']; |
||||||
$field_value = preg_replace_callback( |
$field_value = clean_php($field_value); |
||||||
'/\[tag:parametr:(\d+)\]/i', |
$field_value = stripcslashes($field_value); |
||||||
function($data) use($field_param) |
$field_value = htmlspecialchars_decode($field_value); |
||||||
{ |
|
||||||
return $field_param[(int)$data[1]]; |
|
||||||
}, |
|
||||||
$tpl |
|
||||||
); |
|
||||||
} |
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$field_param = explode('|', $field_value); |
||||||
|
$field_value = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req', $_tpl); |
||||||
|
|
||||||
|
if ($tpl_empty && $tpl_file) |
||||||
|
{ |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
$AVE_Template->assign('document', $document); |
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req'); |
return $AVE_Template->fetch($tpl_file); |
||||||
|
} |
||||||
if ($tpl_empty && $tpl_file) |
|
||||||
{ |
|
||||||
$AVE_Template->assign('document', $document); |
|
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
} |
|
||||||
|
|
||||||
$res = $field_value; |
$res = $field_value; |
||||||
break; |
break; |
||||||
|
|
||||||
case 'name': |
case 'name': |
||||||
return $AVE_Template->get_config_vars('name'); |
return $AVE_Template->get_config_vars('name'); |
||||||
break; |
break; |
||||||
|
} |
||||||
|
return ($res ? $res : $field_value); |
||||||
} |
} |
||||||
return ($res ? $res : $field_value); |
|
||||||
} |
|
||||||
|
|
||||||
function doc_from_rub_tree($cats, $parent) |
|
||||||
{ |
if (! function_exists('doc_from_rub_tree')) |
||||||
if (is_array($cats) and isset($cats[$parent])) |
|
||||||
{ |
{ |
||||||
foreach($cats[$parent] as $cat) |
function doc_from_rub_tree($cats, $parent) |
||||||
{ |
{ |
||||||
$array[$cat['Id']]['Id'] = $cat['Id']; |
if (is_array($cats) and isset($cats[$parent])) |
||||||
$array[$cat['Id']]['document_title'] = $cat['document_title']; |
{ |
||||||
$array[$cat['Id']]['child'] = doc_from_rub_tree($cats, $cat['Id']); |
foreach($cats[$parent] as $cat) |
||||||
|
{ |
||||||
|
$array[$cat['Id']]['Id'] = $cat['Id']; |
||||||
|
$array[$cat['Id']]['document_title'] = $cat['document_title']; |
||||||
|
$array[$cat['Id']]['child'] = doc_from_rub_tree($cats, $cat['Id']); |
||||||
|
} |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
return null; |
||||||
|
} |
||||||
|
|
||||||
|
return $array; |
||||||
} |
} |
||||||
} |
} |
||||||
else |
|
||||||
{ |
|
||||||
return null; |
|
||||||
} |
|
||||||
|
|
||||||
return $array; |
|
||||||
} |
|
||||||
?> |
?> |
@ -1,201 +1,204 @@ |
|||||||
<? |
<? |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2015 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2015 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
// Документ из рубрики (Checkbox) |
// Документ из рубрики (Checkbox) |
||||||
function get_field_doc_from_rub_check($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null){ |
function get_field_doc_from_rub_check($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null, $_tpl=null) |
||||||
|
{ |
||||||
global $AVE_DB, $AVE_Template; |
global $AVE_DB, $AVE_Template; |
||||||
|
|
||||||
$fld_dir = dirname(__FILE__) . '/'; |
$fld_dir = dirname(__FILE__) . '/'; |
||||||
$tpl_dir = $fld_dir . 'tpl/'; |
$tpl_dir = $fld_dir . 'tpl/'; |
||||||
$fld_name = basename($fld_dir); |
$fld_name = basename($fld_dir); |
||||||
|
|
||||||
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
||||||
|
|
||||||
$AVE_Template->config_load($lang_file, 'lang'); |
$AVE_Template->config_load($lang_file, 'lang'); |
||||||
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
||||||
$AVE_Template->config_load($lang_file, 'admin'); |
$AVE_Template->config_load($lang_file, 'admin'); |
||||||
|
|
||||||
$res = array(); |
$res = array(); |
||||||
|
|
||||||
switch ($action) |
switch ($action) |
||||||
{ |
{ |
||||||
case 'edit': |
case 'edit': |
||||||
if (isset($default)) |
if (isset($default)) |
||||||
{ |
{ |
||||||
$parent = $AVE_DB->Query(" |
$parent = $AVE_DB->Query(" |
||||||
|
SELECT |
||||||
|
MIN(document_parent) AS min |
||||||
|
FROM |
||||||
|
". PREFIX ."_documents |
||||||
|
WHERE |
||||||
|
rubric_id IN (" . $default . ") |
||||||
|
")->GetCell(); |
||||||
|
|
||||||
|
$sql = $AVE_DB->Query(" |
||||||
SELECT |
SELECT |
||||||
MIN(document_parent) AS min |
Id, document_parent, document_title |
||||||
FROM |
FROM |
||||||
". PREFIX ."_documents |
". PREFIX ."_documents |
||||||
WHERE |
WHERE |
||||||
rubric_id IN (" . $default . ") |
rubric_id IN (" . $default . ") |
||||||
")->GetCell(); |
"); |
||||||
|
|
||||||
$sql = $AVE_DB->Query(" |
$field_value_array = explode('|', $field_value); |
||||||
SELECT |
$field_value_array = array_values(array_diff($field_value_array, array(''))); |
||||||
Id, document_parent, document_title |
|
||||||
FROM |
|
||||||
". PREFIX ."_documents |
|
||||||
WHERE |
|
||||||
rubric_id IN (" . $default . ") |
|
||||||
"); |
|
||||||
|
|
||||||
$field_value_array = explode('|', $field_value); |
$cats = array(); |
||||||
$field_value_array = array_values(array_diff($field_value_array, array(''))); |
|
||||||
|
|
||||||
$cats = array(); |
while($cat = $sql->FetchAssocArray()) |
||||||
|
{ |
||||||
|
$cat['checked'] = ((in_array($cat['Id'], $field_value_array) == false) ? "0" : "1"); |
||||||
|
$cats_ID[$cat['Id']][] = $cat; |
||||||
|
$cats[$cat['document_parent']][$cat['Id']] = $cat; |
||||||
|
} |
||||||
|
|
||||||
while($cat = $sql->FetchAssocArray()) |
$AVE_Template->assign('subtpl', $tpl_dir."list.tpl"); |
||||||
|
$AVE_Template->assign('fields', doc_from_rub_check_tree($cats, $parent)); |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('doc_id', (isset($_REQUEST['Id']) ? (int)$_REQUEST['Id'] : 0)); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
} |
||||||
|
else |
||||||
{ |
{ |
||||||
$cat['checked'] = ((in_array($cat['Id'], $field_value_array) == false) ? "0" : "1"); |
$AVE_Template->assign('error', $AVE_Template->get_config_vars('error')); |
||||||
$cats_ID[$cat['Id']][] = $cat; |
|
||||||
$cats[$cat['document_parent']][$cat['Id']] = $cat; |
|
||||||
} |
} |
||||||
|
|
||||||
$AVE_Template->assign('subtpl', $tpl_dir."list.tpl"); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); |
||||||
$AVE_Template->assign('fields', doc_from_rub_check_tree($cats, $parent)); |
|
||||||
$AVE_Template->assign('field_id', $field_id); |
|
||||||
$AVE_Template->assign('doc_id', (isset($_REQUEST['Id']) ? (int)$_REQUEST['Id'] : 0)); |
|
||||||
$AVE_Template->assign('field_value', $field_value); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
$AVE_Template->assign('error', $AVE_Template->get_config_vars('error')); |
|
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
|
||||||
|
|
||||||
$AVE_Template->assign('subtpl', $tpl_dir."list.tpl"); |
$AVE_Template->assign('subtpl', $tpl_dir."list.tpl"); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
break; |
break; |
||||||
|
|
||||||
case 'doc': |
case 'doc': |
||||||
$field_value_array = explode('|', $field_value); |
$field_value_array = explode('|', $field_value); |
||||||
$field_value_array = array_values(array_diff($field_value_array, array(''))); |
$field_value_array = array_values(array_diff($field_value_array, array(''))); |
||||||
|
|
||||||
if ($field_value_array != false) |
if ($field_value_array != false) |
||||||
{ |
|
||||||
foreach ($field_value_array as $list_item) |
|
||||||
{ |
{ |
||||||
if ($list_item) |
foreach ($field_value_array as $list_item) |
||||||
{ |
{ |
||||||
if ($tpl_empty) |
if ($list_item) |
||||||
{ |
{ |
||||||
$list_item = $AVE_DB->Query(" |
if ($tpl_empty) |
||||||
SELECT |
{ |
||||||
Id, |
$list_item = $AVE_DB->Query(" |
||||||
document_title, |
SELECT |
||||||
document_alias, |
Id, |
||||||
document_breadcrum_title |
document_title, |
||||||
FROM |
document_alias, |
||||||
".PREFIX."_documents |
document_breadcrum_title |
||||||
WHERE |
FROM |
||||||
Id = '" . $list_item . "' |
".PREFIX."_documents |
||||||
")->FetchAssocArray(); |
WHERE |
||||||
|
Id = '" . $list_item . "' |
||||||
|
")->FetchAssocArray(); |
||||||
|
} |
||||||
} |
} |
||||||
|
$res[] = $list_item; |
||||||
} |
} |
||||||
$res[] = $list_item; |
|
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc', $_tpl); |
||||||
|
|
||||||
if ($tpl_empty && $tpl_file) |
if ($tpl_empty && $tpl_file) |
||||||
{ |
{ |
||||||
|
|
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
$AVE_Template->assign('field_value', $res); |
$AVE_Template->assign('field_value', $res); |
||||||
$AVE_Template->assign('field_count', count($res)); |
$AVE_Template->assign('field_count', count($res)); |
||||||
$AVE_Template->assign('default', $default); |
$AVE_Template->assign('default', $default); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
} |
} |
||||||
|
|
||||||
return (!empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
return (!empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
||||||
break; |
break; |
||||||
|
|
||||||
case 'req': |
case 'req': |
||||||
$field_value_array = explode('|', $field_value); |
$field_value_array = explode('|', $field_value); |
||||||
$field_value_array = array_values(array_diff($field_value_array, array(''))); |
$field_value_array = array_values(array_diff($field_value_array, array(''))); |
||||||
|
|
||||||
if ($field_value_array != false) |
if ($field_value_array != false) |
||||||
{ |
|
||||||
foreach ($field_value_array as $list_item) |
|
||||||
{ |
{ |
||||||
if ($list_item) |
foreach ($field_value_array as $list_item) |
||||||
{ |
{ |
||||||
if ($tpl_empty) |
if ($list_item) |
||||||
{ |
{ |
||||||
$list_item = $AVE_DB->Query(" |
if ($tpl_empty) |
||||||
SELECT |
{ |
||||||
Id, |
$list_item = $AVE_DB->Query(" |
||||||
document_title, |
SELECT |
||||||
document_alias, |
Id, |
||||||
document_breadcrum_title |
document_title, |
||||||
FROM |
document_alias, |
||||||
".PREFIX."_documents |
document_breadcrum_title |
||||||
WHERE |
FROM |
||||||
Id = '" . $list_item . "' |
".PREFIX."_documents |
||||||
")->FetchAssocArray(); |
WHERE |
||||||
|
Id = '" . $list_item . "' |
||||||
|
")->FetchAssocArray(); |
||||||
|
} |
||||||
} |
} |
||||||
|
$res[] = $list_item; |
||||||
} |
} |
||||||
$res[] = $list_item; |
|
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req', $_tpl); |
||||||
|
|
||||||
if ($tpl_empty && $tpl_file) |
if ($tpl_empty && $tpl_file) |
||||||
{ |
{ |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
$AVE_Template->assign('field_value', $res); |
$AVE_Template->assign('field_value', $res); |
||||||
$AVE_Template->assign('field_count', count($res)); |
$AVE_Template->assign('field_count', count($res)); |
||||||
$AVE_Template->assign('default', $default); |
$AVE_Template->assign('default', $default); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
} |
} |
||||||
|
|
||||||
return (!empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
return (!empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
||||||
break; |
break; |
||||||
|
|
||||||
case 'name' : |
case 'name' : |
||||||
return $AVE_Template->get_config_vars('name'); |
return $AVE_Template->get_config_vars('name'); |
||||||
break; |
break; |
||||||
|
|
||||||
} |
} |
||||||
|
|
||||||
return ($res ? $res : $field_value); |
return ($res ? $res : $field_value); |
||||||
} |
} |
||||||
|
|
||||||
function doc_from_rub_check_tree($cats, $parent) |
if (! function_exists('doc_from_rub_check_tree')) |
||||||
{ |
|
||||||
if (is_array($cats) and isset($cats[$parent])) |
|
||||||
{ |
{ |
||||||
foreach ($cats[$parent] as $cat) |
function doc_from_rub_check_tree($cats, $parent) |
||||||
{ |
{ |
||||||
$array[$cat['Id']]['Id'] = $cat['Id']; |
if (is_array($cats) and isset($cats[$parent])) |
||||||
$array[$cat['Id']]['checked'] = $cat['checked']; |
{ |
||||||
$array[$cat['Id']]['document_title'] = $cat['document_title']; |
foreach ($cats[$parent] as $cat) |
||||||
$array[$cat['Id']]['child'] = doc_from_rub_check_tree($cats, $cat['Id']); |
{ |
||||||
|
$array[$cat['Id']]['Id'] = $cat['Id']; |
||||||
|
$array[$cat['Id']]['checked'] = $cat['checked']; |
||||||
|
$array[$cat['Id']]['document_title'] = $cat['document_title']; |
||||||
|
$array[$cat['Id']]['child'] = doc_from_rub_check_tree($cats, $cat['Id']); |
||||||
|
} |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
return null; |
||||||
|
} |
||||||
|
|
||||||
|
return $array; |
||||||
} |
} |
||||||
} |
} |
||||||
else |
|
||||||
{ |
|
||||||
return null; |
|
||||||
} |
|
||||||
|
|
||||||
return $array; |
|
||||||
} |
|
||||||
?> |
?> |
@ -1,224 +1,224 @@ |
|||||||
<?php |
<?php |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2015 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2015 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
// Документы из рубрик (Поиск) |
// Документы из рубрик (Поиск) |
||||||
function get_field_doc_from_rub_search($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength = '', $doc_fields=array(), $rubric_id=0, $default='') |
function get_field_doc_from_rub_search($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength = '', $doc_fields=array(), $rubric_id=0, $default=null, $_tpl=null) |
||||||
{ |
|
||||||
global $AVE_DB, $AVE_Template; |
|
||||||
|
|
||||||
$fld_dir = dirname(__FILE__) . '/'; |
|
||||||
$tpl_dir = $fld_dir . 'tpl/'; |
|
||||||
$fld_name = basename($fld_dir); |
|
||||||
|
|
||||||
$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'); |
|
||||||
|
|
||||||
$res = array(); |
|
||||||
|
|
||||||
switch ($action) |
|
||||||
{ |
{ |
||||||
case 'edit': |
global $AVE_DB, $AVE_Template; |
||||||
|
|
||||||
$items = array(); |
$fld_dir = dirname(__FILE__) . '/'; |
||||||
|
$tpl_dir = $fld_dir . 'tpl/'; |
||||||
|
$fld_name = basename($fld_dir); |
||||||
|
|
||||||
if ($field_value != '' && $field_value != $default) |
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
||||||
{ |
|
||||||
$items = explode('|', $field_value); |
|
||||||
$items = array_values(array_diff($items, array(''))); |
|
||||||
} |
|
||||||
|
|
||||||
if(! empty($items)) |
$AVE_Template->config_load($lang_file, 'lang'); |
||||||
{ |
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
||||||
foreach($items as $k => $v) |
$AVE_Template->config_load($lang_file, 'admin'); |
||||||
|
|
||||||
|
$res = array(); |
||||||
|
|
||||||
|
switch ($action) |
||||||
|
{ |
||||||
|
case 'edit': |
||||||
|
|
||||||
|
$items = array(); |
||||||
|
|
||||||
|
if ($field_value != '' && $field_value != $default) |
||||||
{ |
{ |
||||||
$list[$k]['param'] = htmlspecialchars(get_document($v, 'document_title'), ENT_QUOTES); |
$items = explode('|', $field_value); |
||||||
$list[$k]['value'] = $v; |
$items = array_values(array_diff($items, array(''))); |
||||||
} |
} |
||||||
|
|
||||||
$items = $list; |
if(! empty($items)) |
||||||
} |
|
||||||
else |
|
||||||
{ |
{ |
||||||
$items[0]['param'] = ''; |
foreach($items as $k => $v) |
||||||
$items[0]['value'] = ''; |
{ |
||||||
|
$list[$k]['param'] = htmlspecialchars(get_document($v, 'document_title'), ENT_QUOTES); |
||||||
|
$list[$k]['value'] = $v; |
||||||
|
} |
||||||
|
|
||||||
|
$items = $list; |
||||||
} |
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$items[0]['param'] = ''; |
||||||
|
$items[0]['value'] = ''; |
||||||
|
} |
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); |
||||||
|
|
||||||
$AVE_Template->assign('doc_id', $_REQUEST['Id']); |
$AVE_Template->assign('doc_id', $_REQUEST['Id']); |
||||||
$AVE_Template->assign('items', $items); |
$AVE_Template->assign('items', $items); |
||||||
$AVE_Template->assign('field_dir', $fld_name); |
$AVE_Template->assign('field_dir', $fld_name); |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
|
|
||||||
case 'save': |
case 'save': |
||||||
foreach ($field_value as $v) |
foreach ($field_value as $v) |
||||||
{ |
|
||||||
if (! empty($v['value'])) |
|
||||||
{ |
{ |
||||||
$field_value_new[] = $v['value']; |
if (! empty($v['value'])) |
||||||
|
{ |
||||||
|
$field_value_new[] = $v['value']; |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
if (isset($field_value_new)) |
if (isset($field_value_new)) |
||||||
{ |
|
||||||
return '|' . implode('|', $field_value_new) . '|'; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
{ |
||||||
return $field_value_new = ''; |
return '|' . implode('|', $field_value_new) . '|'; |
||||||
} |
} |
||||||
break; |
else |
||||||
|
{ |
||||||
|
return $field_value_new = ''; |
||||||
|
} |
||||||
|
break; |
||||||
|
|
||||||
case 'doc': |
case 'doc': |
||||||
$field_value_array = explode('|', $field_value); |
$field_value_array = explode('|', $field_value); |
||||||
$field_value_array = array_values(array_diff($field_value_array, array(''))); |
$field_value_array = array_values(array_diff($field_value_array, array(''))); |
||||||
|
|
||||||
if ($field_value_array != false) |
if ($field_value_array != false) |
||||||
{ |
|
||||||
foreach ($field_value_array as $list_item) |
|
||||||
{ |
{ |
||||||
if ($list_item) |
foreach ($field_value_array as $list_item) |
||||||
{ |
{ |
||||||
if ($tpl_empty) |
if ($list_item) |
||||||
{ |
{ |
||||||
$list_item = $AVE_DB->Query(" |
if ($tpl_empty) |
||||||
SELECT |
{ |
||||||
Id, |
$list_item = $AVE_DB->Query(" |
||||||
document_title, |
SELECT |
||||||
document_alias, |
Id, |
||||||
document_breadcrum_title |
document_title, |
||||||
FROM |
document_alias, |
||||||
".PREFIX."_documents |
document_breadcrum_title |
||||||
WHERE |
FROM |
||||||
Id = '" . $list_item . "' |
".PREFIX."_documents |
||||||
")->FetchAssocArray(); |
WHERE |
||||||
|
Id = '" . $list_item . "' |
||||||
|
")->FetchAssocArray(); |
||||||
|
} |
||||||
} |
} |
||||||
|
$res[] = $list_item; |
||||||
} |
} |
||||||
$res[] = $list_item; |
|
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc', $_tpl); |
||||||
|
|
||||||
if ($tpl_empty && $tpl_file) |
if ($tpl_empty && $tpl_file) |
||||||
{ |
{ |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
$AVE_Template->assign('field_value', $res); |
$AVE_Template->assign('field_value', $res); |
||||||
$AVE_Template->assign('field_count', count($res)); |
$AVE_Template->assign('field_count', count($res)); |
||||||
$AVE_Template->assign('default', $default); |
$AVE_Template->assign('default', $default); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
} |
} |
||||||
|
|
||||||
return (! empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
return (! empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
||||||
break; |
break; |
||||||
|
|
||||||
case 'req': |
case 'req': |
||||||
$field_value_array = explode('|', $field_value); |
$field_value_array = explode('|', $field_value); |
||||||
$field_value_array = array_values(array_diff($field_value_array, array(''))); |
$field_value_array = array_values(array_diff($field_value_array, array(''))); |
||||||
|
|
||||||
if ($field_value_array != false) |
if ($field_value_array != false) |
||||||
{ |
|
||||||
foreach ($field_value_array as $list_item) |
|
||||||
{ |
{ |
||||||
if ($list_item) |
foreach ($field_value_array as $list_item) |
||||||
{ |
{ |
||||||
if ($tpl_empty) |
if ($list_item) |
||||||
{ |
{ |
||||||
$list_item = $AVE_DB->Query(" |
if ($tpl_empty) |
||||||
SELECT |
{ |
||||||
Id, |
$list_item = $AVE_DB->Query(" |
||||||
document_title, |
SELECT |
||||||
document_alias, |
Id, |
||||||
document_breadcrum_title |
document_title, |
||||||
FROM |
document_alias, |
||||||
".PREFIX."_documents |
document_breadcrum_title |
||||||
WHERE |
FROM |
||||||
Id = '" . $list_item . "' |
".PREFIX."_documents |
||||||
")->FetchAssocArray(); |
WHERE |
||||||
|
Id = '" . $list_item . "' |
||||||
|
")->FetchAssocArray(); |
||||||
|
} |
||||||
} |
} |
||||||
|
$res[] = $list_item; |
||||||
} |
} |
||||||
$res[] = $list_item; |
|
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req', $_tpl); |
||||||
|
|
||||||
if ($tpl_empty && $tpl_file) |
if ($tpl_empty && $tpl_file) |
||||||
{ |
{ |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
$AVE_Template->assign('field_value', $res); |
$AVE_Template->assign('field_value', $res); |
||||||
$AVE_Template->assign('field_count', count($res)); |
$AVE_Template->assign('field_count', count($res)); |
||||||
$AVE_Template->assign('default', $default); |
$AVE_Template->assign('default', $default); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
} |
} |
||||||
|
|
||||||
return (! empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
return (! empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
||||||
break; |
break; |
||||||
|
|
||||||
case 'name' : |
case 'name' : |
||||||
return $AVE_Template->get_config_vars('name'); |
return $AVE_Template->get_config_vars('name'); |
||||||
break; |
break; |
||||||
|
|
||||||
case 'search': |
case 'search': |
||||||
$default = get_field_default_value($_REQUEST['field_id']); |
$default = get_field_default_value($_REQUEST['field_id']); |
||||||
|
|
||||||
$sql = $AVE_DB->Query(" |
$sql = $AVE_DB->Query(" |
||||||
SELECT |
SELECT |
||||||
doc.Id, |
doc.Id, |
||||||
doc.document_title, |
doc.document_title, |
||||||
rub.rubric_title |
rub.rubric_title |
||||||
FROM |
FROM |
||||||
" . PREFIX . "_documents AS doc |
" . PREFIX . "_documents AS doc |
||||||
JOIN |
JOIN |
||||||
" . PREFIX . "_rubrics AS rub |
" . PREFIX . "_rubrics AS rub |
||||||
ON doc.rubric_id = rub.Id |
ON doc.rubric_id = rub.Id |
||||||
WHERE |
WHERE |
||||||
doc.rubric_id IN (" . $default . ") |
doc.rubric_id IN (" . $default . ") |
||||||
AND |
AND |
||||||
doc.document_status = 1 |
doc.document_status = 1 |
||||||
AND |
AND |
||||||
UPPER (doc.document_title) LIKE UPPER('%" . $_REQUEST['q'] . "%') |
UPPER (doc.document_title) LIKE UPPER('%" . $_REQUEST['q'] . "%') |
||||||
GROUP BY |
GROUP BY |
||||||
doc.Id |
doc.Id |
||||||
LIMIT |
LIMIT |
||||||
0,5 |
0,5 |
||||||
"); |
"); |
||||||
|
|
||||||
$doc_finded = array(); |
$doc_finded = array(); |
||||||
|
|
||||||
while ($row = $sql->FetchRow()) |
while ($row = $sql->FetchRow()) |
||||||
{ |
{ |
||||||
$doc_finded[] = array( |
$doc_finded[] = array( |
||||||
'doc_id' => $row->Id, |
'doc_id' => $row->Id, |
||||||
'doc_title' => $row->document_title, |
'doc_title' => $row->document_title, |
||||||
'doc_rubric' => $row->rubric_title |
'doc_rubric' => $row->rubric_title |
||||||
); |
); |
||||||
} |
} |
||||||
|
|
||||||
echo json_encode($doc_finded); |
|
||||||
exit; |
|
||||||
|
|
||||||
default: |
|
||||||
return $field_value; |
|
||||||
} |
|
||||||
|
|
||||||
return ($res ? $res : $field_value); |
echo json_encode($doc_finded); |
||||||
} |
exit; |
||||||
|
|
||||||
|
default: |
||||||
|
return $field_value; |
||||||
|
} |
||||||
|
|
||||||
|
return ($res ? $res : $field_value); |
||||||
|
} |
||||||
?> |
?> |
@ -1,127 +0,0 @@ |
|||||||
var DocSearch = { |
|
||||||
|
|
||||||
init: false, |
|
||||||
|
|
||||||
init: function() { |
|
||||||
if (this.initialized) return; |
|
||||||
this.initialized = true; |
|
||||||
|
|
||||||
this.DocSearch_items(); |
|
||||||
}, |
|
||||||
|
|
||||||
DocSearch_items: function() { |
|
||||||
this.DocSearch_sortable(); |
|
||||||
this.DocSearch_del_item(); |
|
||||||
this.DocSearch_add(); |
|
||||||
this.DocSearch_search(); |
|
||||||
}, |
|
||||||
|
|
||||||
DocSearch_update: function() { |
|
||||||
this.DocSearch_maxid(); |
|
||||||
this.DocSearch_del_item(); |
|
||||||
this.DocSearch_search(); |
|
||||||
AveAdmin.tooltip(); |
|
||||||
}, |
|
||||||
|
|
||||||
DocSearch_maxid: function(id) { |
|
||||||
var maxid = 1; |
|
||||||
$('#docsearch_lists_' + id).children('.docsearch_list').each(function() { |
|
||||||
maxid = Math.max(maxid, parseInt($(this).attr("data-id")) + 1); |
|
||||||
}); |
|
||||||
return maxid; |
|
||||||
}, |
|
||||||
|
|
||||||
DocSearch_del_item: function() { |
|
||||||
$('.docsearch_list .DelButton').on('click', function(event) { |
|
||||||
event.preventDefault(); |
|
||||||
var id = $(this).attr('data-id'); |
|
||||||
jConfirm( |
|
||||||
docsearch_del_conf, |
|
||||||
docsearch_del_head, |
|
||||||
function(b) { |
|
||||||
if (b) { |
|
||||||
$('#docsearch_list_' + id).remove(); |
|
||||||
} |
|
||||||
} |
|
||||||
); |
|
||||||
}); |
|
||||||
}, |
|
||||||
|
|
||||||
DocSearch_add: function() { |
|
||||||
$('.AddButton').on('click', function() { |
|
||||||
c_id = $(this).parent().parent('.docsearch_lists').attr("data-id"); |
|
||||||
d_id = $(this).parent().parent('.docsearch_lists').attr("data-docid"); |
|
||||||
i_id = DocSearch.DocSearch_maxid(d_id + '_' + c_id); |
|
||||||
$('#docsearch_lists_' + d_id + '_' + c_id + ':last').append( |
|
||||||
'<div class="docsearch_list fix mb10" id="docsearch_list_' + d_id + '_' + c_id + '_' + i_id + '" data-id="' + i_id + '">' + |
|
||||||
'<input class="mousetrap search_docsearch" name="data[' + d_id + '][feld][' + c_id + '][' + i_id + '][param]" type="text" value="" placeholder="' + docsearch_param + '" data-docid="' + d_id + '" data-fieldid="' + c_id + '" data-id="' + i_id + '" style="width: 450px;"/> Id: <input type="text" class="mousetrap field_' + d_id + '_' + c_id + '_' + i_id + '" value="" name="data[' + d_id + '][feld][' + c_id + '][' + i_id + '][value]" placeholder="' + docsearch_value + '" style="width: 50px;" readonly /> <a href="javascript:void(0);" data-id="' + d_id + '_' + c_id + '_' + i_id + '" class="button redBtn topDir DelButton" title="' + docsearch_del + '">×</a>' + |
|
||||||
'<div class="handle" style="float: left; display: inline-block; margin: 4px 7px; cursor: move;"><span class="icon_sprite ico_move"></span></div>' + |
|
||||||
'</div>' |
|
||||||
); |
|
||||||
|
|
||||||
DocSearch.DocSearch_update(); |
|
||||||
}); |
|
||||||
}, |
|
||||||
|
|
||||||
DocSearch_sortable: function() { |
|
||||||
$('.docsearch_lists').sortable({ |
|
||||||
handle: ".handle", |
|
||||||
placeholder: "ui-state-highlight grey_bg" |
|
||||||
}); |
|
||||||
}, |
|
||||||
|
|
||||||
/** |
|
||||||
* @return {boolean} |
|
||||||
*/ |
|
||||||
DocSearch_search: function() { |
|
||||||
|
|
||||||
$(document).on('input', '.search_docsearch', function(event) |
|
||||||
{ |
|
||||||
event.preventDefault(); |
|
||||||
|
|
||||||
var query = $(this); |
|
||||||
|
|
||||||
var did = query.attr('data-docid'); |
|
||||||
var fid = query.attr('data-fieldid'); |
|
||||||
var kid = query.attr('data-id'); |
|
||||||
var field_id_input = $('.field_' + did + '_' + fid + '_' + kid); |
|
||||||
|
|
||||||
query.autocomplete("index.php?do=fields&field=doc_from_rub_search&type=search&doc_id=" + did + "&field_id=" + fid, { |
|
||||||
width: query.outerWidth(), |
|
||||||
max: 5, |
|
||||||
dataType: "json", |
|
||||||
matchContains: "word", |
|
||||||
scroll: true, |
|
||||||
scrollHeight: 200, |
|
||||||
parse: function(data) { |
|
||||||
return $.map(data, function(row) { |
|
||||||
return { |
|
||||||
data: row, |
|
||||||
value: row.doc_title, |
|
||||||
result: query.val() |
|
||||||
} |
|
||||||
}); |
|
||||||
}, |
|
||||||
formatItem: function(item) { |
|
||||||
return '<div style="padding: 3px 0;"><span style="font-weight: 700;">(' + item.doc_rubric + ')</span> ' + item.doc_title + '</div>'; |
|
||||||
} |
|
||||||
}).result(function(event, item) { |
|
||||||
|
|
||||||
query.val(item.doc_title); |
|
||||||
|
|
||||||
field_id_input.val(item.doc_id); |
|
||||||
|
|
||||||
query.unautocomplete(); |
|
||||||
}); |
|
||||||
|
|
||||||
return false; |
|
||||||
}); |
|
||||||
|
|
||||||
return false; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
$(document).ready(function() |
|
||||||
{ |
|
||||||
DocSearch.init(); |
|
||||||
}); |
|
@ -1,76 +0,0 @@ |
|||||||
<? |
|
||||||
|
|
||||||
/** |
|
||||||
* 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_download($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null){ |
|
||||||
|
|
||||||
global $AVE_Template; |
|
||||||
|
|
||||||
$fld_dir = dirname(__FILE__) . '/'; |
|
||||||
$tpl_dir = $fld_dir . 'tpl/'; |
|
||||||
|
|
||||||
$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'); |
|
||||||
|
|
||||||
$res=0; |
|
||||||
|
|
||||||
switch ($action) |
|
||||||
{ |
|
||||||
case 'edit': |
|
||||||
$field_value = !empty($field_value) ? htmlspecialchars($field_value, ENT_QUOTES) : ''; |
|
||||||
|
|
||||||
$AVE_Template->assign('field_id', $field_id); |
|
||||||
$AVE_Template->assign('field_value', $field_value); |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
|
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
break; |
|
||||||
|
|
||||||
case 'doc': |
|
||||||
$field_value = clean_php($field_value); |
|
||||||
$field_param = explode('|', $field_value); |
|
||||||
if ($tpl_empty) |
|
||||||
{ |
|
||||||
$field_value = (!empty($field_param[1]) ? $field_param[1] . '<br />' : '') |
|
||||||
. '<form method="get" target="_blank" action="' . $field_param[0] |
|
||||||
. '"><input class="basicBtn" type="submit" value="Скачать" /></form>'; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
$field_value = preg_replace_callback( |
|
||||||
'/\[tag:parametr:(\d+)\]/i', |
|
||||||
function($data) use($field_param) |
|
||||||
{ |
|
||||||
return $field_param[(int)$data[1]]; |
|
||||||
}, |
|
||||||
$tpl |
|
||||||
); |
|
||||||
} |
|
||||||
$res = $field_value; |
|
||||||
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'); |
|
||||||
break; |
|
||||||
} |
|
||||||
return ($res ? $res : $field_value); |
|
||||||
} |
|
||||||
?> |
|
@ -1,7 +0,0 @@ |
|||||||
<div style="" id="feld_{$field_id}"><a name="{$field_id}"></a> |
|
||||||
<div style="display:none" id="feld_{$field_id}"> |
|
||||||
<img style="display:none" id="_img_feld__{$field_id}" src="{$field_value}" alt="" border="0" /></div> |
|
||||||
<div style="display:none" id="span_feld__{$field_id}"></div> |
|
||||||
<input class="mousetrap" type="text" style="width: 400px;" name="feld[{$field_id}]" value="{$field_value|escape}" id="img_feld__{$field_id}" /> |
|
||||||
<input value="{#MAIN_OPEN_MEDIAPATH#}"" class="basicBtn" type="button" onclick="browse_uploads('img_feld__{$field_id}', '', '', '0');" /> |
|
||||||
<a class="button blackBtn topDir" title="{#DOC_FILE_TYPE_HELP#}" href="#">?</a> |
|
@ -1,87 +1,91 @@ |
|||||||
<? |
<? |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
// Выпадающий список |
// Выпадающий список |
||||||
function get_field_drop_down($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null) |
function get_field_drop_down($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/'; |
|
||||||
|
|
||||||
$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'); |
|
||||||
|
|
||||||
$res = 0; |
|
||||||
|
|
||||||
switch ($action) |
|
||||||
{ |
{ |
||||||
case 'edit': |
global $AVE_Template; |
||||||
$items = array(); |
|
||||||
$items = explode(',', $default); |
$fld_dir = dirname(__FILE__) . '/'; |
||||||
$items = array_diff($items, array('')); |
$tpl_dir = $fld_dir . 'tpl/'; |
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
||||||
|
|
||||||
$AVE_Template->assign('items', $items); |
$AVE_Template->config_load($lang_file, 'lang'); |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
||||||
$AVE_Template->assign('field_value', trim($field_value)); |
$AVE_Template->config_load($lang_file, 'admin'); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
$res = 0; |
||||||
break; |
|
||||||
|
switch ($action) |
||||||
case 'doc': |
{ |
||||||
@$field_value = clean_php($field_value); |
case 'edit': |
||||||
if (!$tpl_empty) |
$items = array(); |
||||||
{ |
$items = explode(',', $default); |
||||||
$field_param = explode('|', $field_value); |
$items = array_diff($items, array('')); |
||||||
$field_value = preg_replace_callback( |
|
||||||
'/\[tag:parametr:(\d+)\]/i', |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); |
||||||
function($data) use($field_param) |
|
||||||
{ |
$AVE_Template->assign('items', $items); |
||||||
return $field_param[(int)$data[1]]; |
$AVE_Template->assign('field_id', $field_id); |
||||||
}, |
$AVE_Template->assign('field_value', trim($field_value)); |
||||||
$tpl |
|
||||||
); |
return $AVE_Template->fetch($tpl_file); |
||||||
} |
break; |
||||||
$res = $field_value; |
|
||||||
break; |
case 'doc': |
||||||
|
@$field_value = clean_php($field_value); |
||||||
case 'req': |
|
||||||
@$field_value = clean_php($field_value); |
if (! $tpl_empty) |
||||||
if (!$tpl_empty) |
{ |
||||||
{ |
$field_param = explode('|', $field_value); |
||||||
$field_param = explode('|', $field_value); |
$field_value = preg_replace_callback( |
||||||
$field_value = preg_replace_callback( |
'/\[tag:parametr:(\d+)\]/i', |
||||||
'/\[tag:parametr:(\d+)\]/i', |
function($data) use($field_param) |
||||||
function($data) use($field_param) |
{ |
||||||
{ |
return $field_param[(int)$data[1]]; |
||||||
return $field_param[(int)$data[1]]; |
}, |
||||||
}, |
$tpl |
||||||
$tpl |
); |
||||||
); |
} |
||||||
} |
|
||||||
$res = $field_value; |
$res = $field_value; |
||||||
break; |
break; |
||||||
|
|
||||||
case 'name': |
case 'req': |
||||||
return $AVE_Template->get_config_vars('name'); |
@$field_value = clean_php($field_value); |
||||||
break; |
|
||||||
|
if (! $tpl_empty) |
||||||
|
{ |
||||||
|
$field_param = explode('|', $field_value); |
||||||
|
$field_value = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
$res = $field_value; |
||||||
|
break; |
||||||
|
|
||||||
|
case 'name': |
||||||
|
return $AVE_Template->get_config_vars('name'); |
||||||
|
break; |
||||||
|
|
||||||
|
} |
||||||
|
return ($res ? $res : $field_value); |
||||||
} |
} |
||||||
return ($res ? $res : $field_value); |
?> |
||||||
} |
|
||||||
?> |
|
@ -1,78 +1,78 @@ |
|||||||
<? |
<? |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
// Выпадающий список (Ключ) |
// Выпадающий список (Ключ) |
||||||
function get_field_drop_down_key($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null) |
function get_field_drop_down_key($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; |
global $AVE_Template; |
||||||
|
|
||||||
$fld_dir = dirname(__FILE__) . '/'; |
$fld_dir = dirname(__FILE__) . '/'; |
||||||
$tpl_dir = $fld_dir . 'tpl/'; |
$tpl_dir = $fld_dir . 'tpl/'; |
||||||
|
|
||||||
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
||||||
|
|
||||||
$AVE_Template->config_load($lang_file, 'lang'); |
$AVE_Template->config_load($lang_file, 'lang'); |
||||||
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
||||||
$AVE_Template->config_load($lang_file, 'admin'); |
$AVE_Template->config_load($lang_file, 'admin'); |
||||||
|
|
||||||
$res = 0; |
$res = 0; |
||||||
|
|
||||||
switch ($action) |
switch ($action) |
||||||
{ |
{ |
||||||
case 'edit': |
case 'edit': |
||||||
$items = explode(',', $default); |
$items = explode(',', $default); |
||||||
$items = array_diff($items, array('')); |
$items = array_diff($items, array('')); |
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); |
||||||
|
|
||||||
$AVE_Template->assign('items', $items); |
$AVE_Template->assign('items', $items); |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
$AVE_Template->assign('field_value', trim($field_value)); |
$AVE_Template->assign('field_value', trim($field_value)); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
break; |
break; |
||||||
|
|
||||||
case 'doc': |
case 'doc': |
||||||
case 'req': |
case 'req': |
||||||
@$field_value = clean_php($field_value); |
@$field_value = clean_php($field_value); |
||||||
|
|
||||||
if (!$tpl_empty) |
if (!$tpl_empty) |
||||||
{ |
{ |
||||||
$field_param = explode('|', $field_value); |
$field_param = explode('|', $field_value); |
||||||
$field_value = preg_replace_callback( |
$field_value = preg_replace_callback( |
||||||
'/\[tag:parametr:(\d+)\]/i', |
'/\[tag:parametr:(\d+)\]/i', |
||||||
function($data) use($field_param) |
function($data) use($field_param) |
||||||
{ |
{ |
||||||
return $field_param[(int)$data[1]]; |
return $field_param[(int)$data[1]]; |
||||||
}, |
}, |
||||||
$tpl |
$tpl |
||||||
); |
); |
||||||
} |
} |
||||||
else |
else |
||||||
{ |
{ |
||||||
$items = explode(',', $default); |
$items = explode(',', $default); |
||||||
$items = array_diff($items, array('')); |
$items = array_diff($items, array('')); |
||||||
$field_value = $items[$field_value]; |
$field_value = $items[$field_value]; |
||||||
} |
} |
||||||
|
|
||||||
return $field_value = ($field_value != '') ? $field_value : ''; |
return $field_value = ($field_value != '') ? $field_value : ''; |
||||||
break; |
break; |
||||||
|
|
||||||
case 'name': |
case 'name': |
||||||
return $AVE_Template->get_config_vars('name'); |
return $AVE_Template->get_config_vars('name'); |
||||||
break; |
break; |
||||||
|
|
||||||
|
} |
||||||
|
return ($res ? $res : $field_value); |
||||||
} |
} |
||||||
return ($res ? $res : $field_value); |
?> |
||||||
} |
|
||||||
?> |
|
@ -1,79 +0,0 @@ |
|||||||
<? |
|
||||||
|
|
||||||
/** |
|
||||||
* AVE.cms |
|
||||||
* |
|
||||||
* @package AVE.cms |
|
||||||
* @version 3.x |
|
||||||
* @filesource |
|
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
|
||||||
* |
|
||||||
* @license GPL v.2 |
|
||||||
*/ |
|
||||||
|
|
||||||
//Flash-ролик |
|
||||||
function get_field_flash($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null){ |
|
||||||
global $AVE_Template; |
|
||||||
|
|
||||||
|
|
||||||
$fld_dir = dirname(__FILE__) . '/'; |
|
||||||
$tpl_dir = $fld_dir . 'tpl/'; |
|
||||||
|
|
||||||
$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'); |
|
||||||
|
|
||||||
$res = 0; |
|
||||||
|
|
||||||
switch ($action) |
|
||||||
{ |
|
||||||
case 'edit': |
|
||||||
$field_value = !empty($field_value) ? htmlspecialchars($field_value, ENT_QUOTES) : ''; |
|
||||||
|
|
||||||
$AVE_Template->assign('field_id', $field_id); |
|
||||||
$AVE_Template->assign('field_value', $field_value); |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
|
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
break; |
|
||||||
|
|
||||||
case 'doc': |
|
||||||
$field_value = clean_php($field_value); |
|
||||||
$field_param = explode('|', $field_value); |
|
||||||
$field_param[1] = (!empty($field_param[1]) && is_numeric($field_param[1])) ? $field_param[1] : 470; |
|
||||||
$field_param[2] = (!empty($field_param[2]) && is_numeric($field_param[2])) ? $field_param[2] : 320; |
|
||||||
if ($tpl_empty) |
|
||||||
{ |
|
||||||
$field_value = '<embed scale="exactfit" width="' . $field_param[1] . '" height="' . $field_param[2] |
|
||||||
. '" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" src="' |
|
||||||
. ABS_PATH . $field_param[0] . '" play="true" loop="true" menu="true"></embed>'; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
$field_value = preg_replace_callback( |
|
||||||
'/\[tag:parametr:(\d+)\]/i', |
|
||||||
function($data) use($field_param) |
|
||||||
{ |
|
||||||
return $field_param[(int)$data[1]]; |
|
||||||
}, |
|
||||||
$tpl |
|
||||||
); |
|
||||||
} |
|
||||||
$res=$field_value; |
|
||||||
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'); |
|
||||||
break; |
|
||||||
|
|
||||||
} |
|
||||||
return ($res ? $res : $field_value); |
|
||||||
} |
|
||||||
?> |
|
@ -1,2 +0,0 @@ |
|||||||
[admin] |
|
||||||
name = "Wideo w formacie Flash" |
|
@ -1,6 +0,0 @@ |
|||||||
<a name="{$field_id}"></a> |
|
||||||
<div style="display:none" id="feld_{$field_id}"><img style="display:none" id="_img_feld__{$field_id}" src="{$field_value|escape}" alt="" border="0" /></div> |
|
||||||
<div style="display:none" id="span_feld__{$field_id}"></div> |
|
||||||
<input type="text" style="width: 400px;" name="feld[{$field_id}]" value="{$field_value|escape}" id="img_feld__{$field_id}" /> |
|
||||||
<input value="{#MAIN_OPEN_MEDIAPATH#}" class="basicBtn" type="button" onclick="browse_uploads('img_feld__{$field_id}', '', '', '0');" /> |
|
||||||
<a class="button blackBtn topDir" title="{#DOC_FLASH_TYPE_HELP#}" href="#"> ? </a> |
|
@ -1,395 +1,396 @@ |
|||||||
<?php |
<?php |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
// Изображение (Каскад) |
// Изображение (Каскад) |
||||||
function get_field_image_multi($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null) |
function get_field_image_multi($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, $img_pixel; |
|
||||||
|
|
||||||
$fld_dir = dirname(__FILE__) . '/'; |
global $AVE_Template, $img_pixel; |
||||||
$tpl_dir = $fld_dir . 'tpl/'; |
|
||||||
$fld_name = basename($fld_dir); |
|
||||||
|
|
||||||
$lang_file = $fld_dir . 'lang/' . (defined('ACP') |
$fld_dir = dirname(__FILE__) . '/'; |
||||||
? $_SESSION['admin_language'] |
$tpl_dir = $fld_dir . 'tpl/'; |
||||||
: $_SESSION['user_language']) . '.txt'; |
$fld_name = basename($fld_dir); |
||||||
|
|
||||||
$AVE_Template->config_load($lang_file, 'lang'); |
$lang_file = $fld_dir . 'lang/' . (defined('ACP') |
||||||
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
? $_SESSION['admin_language'] |
||||||
$AVE_Template->config_load($lang_file, 'admin'); |
: $_SESSION['user_language']) . '.txt'; |
||||||
|
|
||||||
$res = 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'); |
||||||
|
|
||||||
$iniset_count = ini_get('max_file_uploads'); |
$res = 0; |
||||||
|
|
||||||
switch ($action) |
$iniset_count = ini_get('max_file_uploads'); |
||||||
{ |
|
||||||
case 'edit': |
|
||||||
|
|
||||||
$items = array(); |
switch ($action) |
||||||
$image_items = array(); |
{ |
||||||
|
case 'edit': |
||||||
|
|
||||||
if ($_REQUEST['action'] != 'new') |
$items = array(); |
||||||
{ |
$image_items = array(); |
||||||
$items = unserialize($field_value); |
|
||||||
|
|
||||||
if($items != false) |
if ($_REQUEST['action'] != 'new') |
||||||
{ |
{ |
||||||
foreach($items as $k => $v) |
$items = unserialize($field_value); |
||||||
|
|
||||||
|
if($items != false) |
||||||
{ |
{ |
||||||
$image_item = explode('|', $v); |
foreach($items as $k => $v) |
||||||
|
{ |
||||||
|
$image_item = explode('|', $v); |
||||||
|
|
||||||
$img = $image_item[0]; |
$img = $image_item[0]; |
||||||
unset($image_item[0]); |
unset($image_item[0]); |
||||||
$image_item = array($img, implode('|', $image_item)); |
$image_item = array($img, implode('|', $image_item)); |
||||||
|
|
||||||
$image[$k]['url'] = $image_item[0]; |
$image[$k]['url'] = $image_item[0]; |
||||||
$image[$k]['thumb'] = ($image_item[0] != '') |
$image[$k]['thumb'] = ($image_item[0] != '') |
||||||
? make_thumbnail(array('size' => 'f100x100', 'link' => $image_item[0])) |
? make_thumbnail(array('size' => 'f100x100', 'link' => $image_item[0])) |
||||||
: $img_pixel; |
: $img_pixel; |
||||||
|
|
||||||
$image[$k]['desc'] = (isset($image_item[1])) |
$image[$k]['desc'] = (isset($image_item[1])) |
||||||
? htmlspecialchars($image_item[1], ENT_QUOTES) |
? htmlspecialchars($image_item[1], ENT_QUOTES) |
||||||
: ''; |
: ''; |
||||||
} |
} |
||||||
|
|
||||||
if (! empty($image)) |
if (! empty($image)) |
||||||
{ |
{ |
||||||
$image_items = $image; |
$image_items = $image; |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
$show_upload = true; |
$show_upload = true; |
||||||
|
|
||||||
$default = explode('|', $default); |
$default = explode('|', $default); |
||||||
|
|
||||||
list($path, $watermark, $position, $transparency) = $default; |
list($path, $watermark, $position, $transparency) = $default; |
||||||
|
|
||||||
if(preg_match("/%id/i", $path)) |
if(preg_match("/%id/i", $path)) |
||||||
{ |
|
||||||
if ($_REQUEST['action'] != 'new') |
|
||||||
{ |
{ |
||||||
$path_upload = trim(@str_replace('%id', $_REQUEST['Id'], $path), '/'); |
if ($_REQUEST['action'] != 'new') |
||||||
$show_upload = true; |
{ |
||||||
|
$path_upload = trim(@str_replace('%id', $_REQUEST['Id'], $path), '/'); |
||||||
|
$show_upload = true; |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$path_upload = (! empty($path)) |
||||||
|
? trim($path, '/') |
||||||
|
: ''; |
||||||
|
|
||||||
|
$show_upload = false; |
||||||
|
} |
||||||
} |
} |
||||||
else |
else |
||||||
{ |
{ |
||||||
$path_upload = (! empty($path)) |
$path_upload = (! empty($path)) |
||||||
? trim($path, '/') |
? $path |
||||||
: ''; |
: ''; |
||||||
|
|
||||||
$show_upload = false; |
$show_upload = true; |
||||||
} |
} |
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
$path_upload = (! empty($path)) |
|
||||||
? $path |
|
||||||
: ''; |
|
||||||
|
|
||||||
$show_upload = true; |
|
||||||
} |
|
||||||
|
|
||||||
$dir_upload = '/' . UPLOAD_DIR . '/' . ((!empty($path_upload)) |
$dir_upload = '/' . UPLOAD_DIR . '/' . ((!empty($path_upload)) |
||||||
? $path_upload . '/' |
? $path_upload . '/' |
||||||
: ''); |
: ''); |
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); |
||||||
|
|
||||||
$AVE_Template->assign('max_files', $AVE_Template->get_config_vars('max_f_f') . $iniset_count); |
$AVE_Template->assign('max_files', $AVE_Template->get_config_vars('max_f_f') . $iniset_count); |
||||||
$AVE_Template->assign('dir_upload', $AVE_Template->get_config_vars('upl_dir') . $dir_upload); |
$AVE_Template->assign('dir_upload', $AVE_Template->get_config_vars('upl_dir') . $dir_upload); |
||||||
$AVE_Template->assign('show_upload', $show_upload); |
$AVE_Template->assign('show_upload', $show_upload); |
||||||
|
|
||||||
$AVE_Template->assign('field_dir', $fld_name); |
$AVE_Template->assign('field_dir', $fld_name); |
||||||
$AVE_Template->assign('images', $image_items); |
$AVE_Template->assign('images', $image_items); |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
$AVE_Template->assign('doc_id', (isset($_REQUEST['Id']) ? (int)$_REQUEST['Id'] : 0)); |
$AVE_Template->assign('doc_id', (isset($_REQUEST['Id']) ? (int)$_REQUEST['Id'] : 0)); |
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
break; |
break; |
||||||
|
|
||||||
case 'doc': |
case 'doc': |
||||||
|
|
||||||
$items = (isset($field_value)) |
$items = (isset($field_value)) |
||||||
? unserialize($field_value) |
? unserialize($field_value) |
||||||
: array(); |
: array(); |
||||||
|
|
||||||
$res = array(); |
$res = array(); |
||||||
|
|
||||||
if ($items != false) |
if ($items != false) |
||||||
{ |
|
||||||
foreach ($items as $image_item) |
|
||||||
{ |
{ |
||||||
$image_item = clean_php($image_item); |
foreach ($items as $image_item) |
||||||
$field_param = explode('|', $image_item); |
|
||||||
|
|
||||||
if ($image_item) |
|
||||||
{ |
{ |
||||||
if ($tpl_empty) |
$image_item = clean_php($image_item); |
||||||
|
$field_param = explode('|', $image_item); |
||||||
|
|
||||||
|
if ($image_item) |
||||||
{ |
{ |
||||||
$image_item = $field_param; |
if ($tpl_empty) |
||||||
} |
|
||||||
else |
|
||||||
{ |
{ |
||||||
$image_item = preg_replace_callback( |
$image_item = $field_param; |
||||||
'/\[tag:parametr:(\d+)\]/i', |
|
||||||
function($data) use($field_param) |
|
||||||
{ |
|
||||||
return $field_param[(int)$data[1]]; |
|
||||||
}, |
|
||||||
$tpl |
|
||||||
); |
|
||||||
|
|
||||||
$image_item = preg_replace_callback( |
|
||||||
'/\[tag:watermark:(.+?):([a-zA-Z]+):([0-9]+)\]/', |
|
||||||
create_function( |
|
||||||
'$m', |
|
||||||
'return watermarks(\'$m[1]\', \'$m[2]\', $m[3]);' |
|
||||||
), |
|
||||||
$image_item |
|
||||||
); |
|
||||||
|
|
||||||
$image_item = preg_replace_callback('/\[tag:([r|c|f|t|s]\d+x\d+r*):(.+?)]/', 'callback_make_thumbnail', $image_item); |
|
||||||
} |
} |
||||||
} |
else |
||||||
|
{ |
||||||
|
$image_item = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
|
||||||
|
$image_item = preg_replace_callback( |
||||||
|
'/\[tag:watermark:(.+?):([a-zA-Z]+):([0-9]+)\]/', |
||||||
|
create_function( |
||||||
|
'$m', |
||||||
|
'return watermarks(\'$m[1]\', \'$m[2]\', $m[3]);' |
||||||
|
), |
||||||
|
$image_item |
||||||
|
); |
||||||
|
|
||||||
|
$image_item = preg_replace_callback('/\[tag:([r|c|f|t|s]\d+x\d+r*):(.+?)]/', 'callback_make_thumbnail', $image_item); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
$res[] = $image_item; |
$res[] = $image_item; |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc', $_tpl); |
||||||
|
|
||||||
if ($tpl_empty && $tpl_file) |
if ($tpl_empty && $tpl_file) |
||||||
{ |
{ |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
$AVE_Template->assign('field_value', $res); |
$AVE_Template->assign('field_value', $res); |
||||||
$AVE_Template->assign('field_count', count($res)); |
$AVE_Template->assign('field_count', count($res)); |
||||||
$AVE_Template->assign('rubric_id', $rubric_id); |
$AVE_Template->assign('rubric_id', $rubric_id); |
||||||
$AVE_Template->assign('default', $default); |
$AVE_Template->assign('default', $default); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
} |
} |
||||||
|
|
||||||
return (! empty($res)) |
return (! empty($res)) |
||||||
? implode(PHP_EOL, $res) |
? implode(PHP_EOL, $res) |
||||||
: $tpl; |
: $tpl; |
||||||
|
|
||||||
break; |
break; |
||||||
|
|
||||||
case 'req': |
case 'req': |
||||||
$items = unserialize($field_value); |
$items = unserialize($field_value); |
||||||
|
|
||||||
$res = array(); |
$res = array(); |
||||||
|
|
||||||
if ($items != false) |
if ($items != false) |
||||||
{ |
|
||||||
foreach ($items as $image_item) |
|
||||||
{ |
{ |
||||||
$image_item = clean_php($image_item); |
foreach ($items as $image_item) |
||||||
$field_param = explode('|', $image_item); |
|
||||||
|
|
||||||
if ($image_item) |
|
||||||
{ |
{ |
||||||
if ($tpl_empty) |
$image_item = clean_php($image_item); |
||||||
|
$field_param = explode('|', $image_item); |
||||||
|
|
||||||
|
if ($image_item) |
||||||
{ |
{ |
||||||
$image_item = $field_param; |
if ($tpl_empty) |
||||||
} |
|
||||||
else |
|
||||||
{ |
{ |
||||||
$image_item = preg_replace_callback( |
$image_item = $field_param; |
||||||
'/\[tag:parametr:(\d+)\]/i', |
|
||||||
function($data) use($field_param) |
|
||||||
{ |
|
||||||
return $field_param[(int)$data[1]]; |
|
||||||
}, |
|
||||||
$tpl |
|
||||||
); |
|
||||||
|
|
||||||
$image_item = preg_replace_callback( |
|
||||||
'/\[tag:watermark:(.+?):([a-zA-Z]+):([0-9]+)\]/', |
|
||||||
create_function( |
|
||||||
'$m', |
|
||||||
'return watermarks(\'$m[1]\', \'$m[2]\', $m[3]);' |
|
||||||
), |
|
||||||
$image_item |
|
||||||
); |
|
||||||
|
|
||||||
$image_item = preg_replace_callback('/\[tag:([r|c|f]\d+x\d+r*):(.+?)]/', 'callback_make_thumbnail', $image_item); |
|
||||||
} |
} |
||||||
} |
else |
||||||
|
{ |
||||||
|
$image_item = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
|
||||||
|
$image_item = preg_replace_callback( |
||||||
|
'/\[tag:watermark:(.+?):([a-zA-Z]+):([0-9]+)\]/', |
||||||
|
create_function( |
||||||
|
'$m', |
||||||
|
'return watermarks(\'$m[1]\', \'$m[2]\', $m[3]);' |
||||||
|
), |
||||||
|
$image_item |
||||||
|
); |
||||||
|
|
||||||
|
$image_item = preg_replace_callback('/\[tag:([r|c|f]\d+x\d+r*):(.+?)]/', 'callback_make_thumbnail', $image_item); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
$res[] = $image_item; |
$res[] = $image_item; |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req', $_tpl); |
||||||
|
|
||||||
if ($tpl_empty && $tpl_file) |
if ($tpl_empty && $tpl_file) |
||||||
{ |
{ |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
$AVE_Template->assign('field_value', $res); |
$AVE_Template->assign('field_value', $res); |
||||||
$AVE_Template->assign('field_count', count($res)); |
$AVE_Template->assign('field_count', count($res)); |
||||||
$AVE_Template->assign('rubric_id', $rubric_id); |
$AVE_Template->assign('rubric_id', $rubric_id); |
||||||
$AVE_Template->assign('default', $default); |
$AVE_Template->assign('default', $default); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
} |
} |
||||||
|
|
||||||
return (! empty($res)) |
return (! empty($res)) |
||||||
? implode(PHP_EOL, $res) |
? implode(PHP_EOL, $res) |
||||||
: $tpl; |
: $tpl; |
||||||
|
|
||||||
break; |
break; |
||||||
|
|
||||||
case 'save': |
case 'save': |
||||||
foreach ($field_value as $v) |
foreach ($field_value as $v) |
||||||
{ |
|
||||||
if (! empty($v['url'])) |
|
||||||
{ |
{ |
||||||
$field_value_new[] = $v['url'] . ($v['descr'] ? '|' . $v['descr'] : ''); |
if (! empty($v['url'])) |
||||||
|
{ |
||||||
|
$field_value_new[] = $v['url'] . ($v['descr'] ? '|' . $v['descr'] : ''); |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
if (isset($field_value_new)) |
if (isset($field_value_new)) |
||||||
{ |
|
||||||
return @serialize($field_value_new); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
{ |
||||||
return $field_value_new = ''; |
return @serialize($field_value_new); |
||||||
} |
} |
||||||
|
else |
||||||
|
{ |
||||||
|
return $field_value_new = ''; |
||||||
|
} |
||||||
|
|
||||||
break; |
break; |
||||||
|
|
||||||
case 'name' : |
case 'name' : |
||||||
return $AVE_Template->get_config_vars('name'); |
return $AVE_Template->get_config_vars('name'); |
||||||
break; |
break; |
||||||
|
|
||||||
case 'upload': |
case 'upload': |
||||||
$error = false; |
$error = false; |
||||||
|
|
||||||
$search = array(); |
$search = array(); |
||||||
$replace = array(); |
$replace = array(); |
||||||
|
|
||||||
$files_unput = 'cascade_files'.'_'.$_REQUEST['field_id'].'_'.$_REQUEST['doc_id']; |
$files_unput = 'cascade_files'.'_'.$_REQUEST['field_id'].'_'.$_REQUEST['doc_id']; |
||||||
|
|
||||||
$search[] = '%d'; |
$search[] = '%d'; |
||||||
$replace[] = date('d'); |
$replace[] = date('d'); |
||||||
$search[] = '%m'; |
$search[] = '%m'; |
||||||
$replace[] = date('m'); |
$replace[] = date('m'); |
||||||
$search[] = '%Y'; |
$search[] = '%Y'; |
||||||
$replace[] = date('Y'); |
$replace[] = date('Y'); |
||||||
|
|
||||||
$default = explode('|', $default); |
$default = explode('|', $default); |
||||||
|
|
||||||
list($path_upload, $watermark, $position, $transparency) = $default; |
list($path_upload, $watermark, $position, $transparency) = $default; |
||||||
|
|
||||||
if (! empty($path_upload)) |
if (! empty($path_upload)) |
||||||
$path_upload = str_replace($search, $replace, $path_upload); |
$path_upload = str_replace($search, $replace, $path_upload); |
||||||
|
|
||||||
if(preg_match("/%id/i", $path_upload)) |
if(preg_match("/%id/i", $path_upload)) |
||||||
{ |
|
||||||
$path = trim(@str_replace('%id', $_REQUEST['doc_id'], $path_upload), '/'); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
{ |
||||||
$path = (! empty($path_upload)) |
$path = trim(@str_replace('%id', $_REQUEST['doc_id'], $path_upload), '/'); |
||||||
? $path_upload |
|
||||||
: ''; |
|
||||||
} |
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$path = (! empty($path_upload)) |
||||||
|
? $path_upload |
||||||
|
: ''; |
||||||
|
} |
||||||
|
|
||||||
function getExtension($file) |
function getExtension($file) |
||||||
{ |
{ |
||||||
$file = pathinfo($file); |
$file = pathinfo($file); |
||||||
return $file['extension']; |
return $file['extension']; |
||||||
} |
} |
||||||
|
|
||||||
$valid_formats = array("jpg", "png", "gif", "bmp","jpeg"); |
|
||||||
|
|
||||||
$dir = '/' . UPLOAD_DIR . '/' . ((! empty($path)) |
|
||||||
? trim($path, '/') . '/' |
|
||||||
: ''); |
|
||||||
|
|
||||||
$dir_abs = BASE_DIR . $dir; |
$valid_formats = array("jpg", "png", "gif", "bmp","jpeg"); |
||||||
|
|
||||||
if (! is_dir($dir_abs)) |
$dir = '/' . UPLOAD_DIR . '/' . ((! empty($path)) |
||||||
@mkdir($dir_abs, 0777, true); |
? trim($path, '/') . '/' |
||||||
|
: ''); |
||||||
|
|
||||||
foreach ($_FILES[$files_unput]['name'] as $name => $value) |
$dir_abs = BASE_DIR . $dir; |
||||||
{ |
|
||||||
$filename = strtolower(stripslashes(prepare_url($_FILES[$files_unput]['name'][$name]))); |
|
||||||
|
|
||||||
$ext = getExtension($filename); |
if (! is_dir($dir_abs)) |
||||||
$ext = strtolower($ext); |
@mkdir($dir_abs, 0777, true); |
||||||
|
|
||||||
if(in_array($ext, $valid_formats)) |
foreach ($_FILES[$files_unput]['name'] as $name => $value) |
||||||
{ |
{ |
||||||
if (file_exists($dir_abs . $filename)) |
$filename = strtolower(stripslashes(prepare_url($_FILES[$files_unput]['name'][$name]))); |
||||||
{ |
|
||||||
$filename = rand(1000, 9999) . '_' . $filename; |
$ext = getExtension($filename); |
||||||
} |
$ext = strtolower($ext); |
||||||
|
|
||||||
if (@move_uploaded_file($_FILES[$files_unput]['tmp_name'][$name], $dir_abs . $filename)) |
if(in_array($ext, $valid_formats)) |
||||||
{ |
{ |
||||||
$new_files[] = $filename; |
if (file_exists($dir_abs . $filename)) |
||||||
$error = false; |
{ |
||||||
|
$filename = rand(1000, 9999) . '_' . $filename; |
||||||
|
} |
||||||
|
|
||||||
if ((bool)$watermark) |
if (@move_uploaded_file($_FILES[$files_unput]['tmp_name'][$name], $dir_abs . $filename)) |
||||||
{ |
{ |
||||||
$position = ($position != '') ? $position : 'center'; |
$new_files[] = $filename; |
||||||
$transparency = ($transparency != '') ? $transparency : '100'; |
$error = false; |
||||||
|
|
||||||
watermarks($dir . $filename, $position, $transparency); |
if ((bool)$watermark) |
||||||
|
{ |
||||||
|
$position = ($position != '') ? $position : 'center'; |
||||||
|
$transparency = ($transparency != '') ? $transparency : '100'; |
||||||
|
|
||||||
|
watermarks($dir . $filename, $position, $transparency); |
||||||
|
} |
||||||
} |
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$error = true; |
||||||
|
} |
||||||
} |
} |
||||||
else |
else |
||||||
{ |
{ |
||||||
$error = true; |
$error = true; |
||||||
|
@unlink($_FILES[$files_unput]['tmp_name'][$name]); |
||||||
} |
} |
||||||
} |
} |
||||||
else |
|
||||||
{ |
if ($error !== true) |
||||||
$error = true; |
|
||||||
@unlink($_FILES[$files_unput]['tmp_name'][$name]); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
if ($error !== true) |
|
||||||
{ |
|
||||||
echo json_encode(array( |
|
||||||
'files' => $new_files, |
|
||||||
'dir' => $dir, |
|
||||||
'respons' => 'succes', |
|
||||||
'message' => $AVE_Template->get_config_vars('resp_s_m'), |
|
||||||
'header' => $AVE_Template->get_config_vars('resp_s_h'), |
|
||||||
'theme' => 'accept' |
|
||||||
) |
|
||||||
); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
{ |
||||||
echo json_encode(array( |
echo json_encode(array( |
||||||
'respons' => 'error', |
'files' => $new_files, |
||||||
'message' => $AVE_Template->get_config_vars('resp_e_m'), |
'dir' => $dir, |
||||||
'header' => $AVE_Template->get_config_vars('resp_e_h'), |
'respons' => 'succes', |
||||||
'theme' => 'error' |
'message' => $AVE_Template->get_config_vars('resp_s_m'), |
||||||
|
'header' => $AVE_Template->get_config_vars('resp_s_h'), |
||||||
|
'theme' => 'accept' |
||||||
) |
) |
||||||
); |
); |
||||||
} |
} |
||||||
|
else |
||||||
|
{ |
||||||
|
echo json_encode(array( |
||||||
|
'respons' => 'error', |
||||||
|
'message' => $AVE_Template->get_config_vars('resp_e_m'), |
||||||
|
'header' => $AVE_Template->get_config_vars('resp_e_h'), |
||||||
|
'theme' => 'error' |
||||||
|
) |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
exit; |
exit; |
||||||
} |
} |
||||||
|
|
||||||
return ($res ? $res : $field_value); |
return ($res ? $res : $field_value); |
||||||
} |
} |
||||||
|
?> |
@ -1,231 +0,0 @@ |
|||||||
var Cascad = { |
|
||||||
|
|
||||||
init: false, |
|
||||||
|
|
||||||
init: function() { |
|
||||||
if (this.initialized) return; |
|
||||||
this.initialized = true; |
|
||||||
|
|
||||||
this.cascad(); |
|
||||||
}, |
|
||||||
|
|
||||||
cascad: function() { |
|
||||||
this.cascad_sortable(); |
|
||||||
this.cascad_del_item(); |
|
||||||
this.cascad_del_all_item(); |
|
||||||
this.cascad_add_single(); |
|
||||||
this.cascad_add_folder(); |
|
||||||
this.cascade_upload_files(); |
|
||||||
this.cascad_click_upload(); |
|
||||||
}, |
|
||||||
|
|
||||||
cascad_update: function() { |
|
||||||
this.cascad_maxid(); |
|
||||||
this.cascad_del_item(); |
|
||||||
AveAdmin.fancy_box(); |
|
||||||
AveAdmin.tooltip(); |
|
||||||
}, |
|
||||||
|
|
||||||
cascad_maxid: function(id, doc) { |
|
||||||
var maxid = 1; |
|
||||||
$('#cascad_' + doc + '_' + id).children('.cascad_sortable').children('.cascad_item').each(function() { |
|
||||||
maxid = Math.max(maxid, parseInt($(this).attr("data-id")) + 1); |
|
||||||
}); |
|
||||||
return maxid; |
|
||||||
}, |
|
||||||
|
|
||||||
cascad_del_item: function() { |
|
||||||
$('.cascad_item .delete').on('click', function(event) { |
|
||||||
event.preventDefault(); |
|
||||||
var id = $(this).attr('data-id'); |
|
||||||
jConfirm( |
|
||||||
del_conf, |
|
||||||
del_head, |
|
||||||
function(b) { |
|
||||||
if (b) { |
|
||||||
$('#cascad_image_' + id).remove(); |
|
||||||
} |
|
||||||
} |
|
||||||
); |
|
||||||
}); |
|
||||||
}, |
|
||||||
|
|
||||||
cascad_del_all_item: function() { |
|
||||||
$('.del_all').on('click', function(event) { |
|
||||||
event.preventDefault(); |
|
||||||
var c_id = $(this).parent().parent().parent('.cascad').attr("data-id"); |
|
||||||
var d_id = $(this).parent().parent().parent('.cascad').attr("data-doc"); |
|
||||||
jConfirm( |
|
||||||
del_all_c, |
|
||||||
del_all_h, |
|
||||||
function(b) { |
|
||||||
if (b) { |
|
||||||
$('#cascad_' + d_id + '_' + c_id).children('.cascad_sortable').children('.cascad_item').each(function() { |
|
||||||
$(this).remove(); |
|
||||||
}); |
|
||||||
} |
|
||||||
} |
|
||||||
); |
|
||||||
}); |
|
||||||
}, |
|
||||||
|
|
||||||
cascade_upload_files: function() { |
|
||||||
$('.cascade_upload').on('change', function(event) { |
|
||||||
|
|
||||||
event.preventDefault(); |
|
||||||
|
|
||||||
var cascade_input = $(this); |
|
||||||
|
|
||||||
event.preventDefault(); |
|
||||||
|
|
||||||
if (cascade_input.val() == '') { |
|
||||||
return false; |
|
||||||
} |
|
||||||
|
|
||||||
var files_input = this.files.length; |
|
||||||
var max_files = cascade_input.attr("data-max-files"); |
|
||||||
|
|
||||||
if (files_input > max_files) { |
|
||||||
$.jGrowl(max_f_t, { |
|
||||||
header: max_f_h, |
|
||||||
theme: 'error' |
|
||||||
}); |
|
||||||
|
|
||||||
cascade_input.replaceWith(cascade_input.val('').clone(true)); |
|
||||||
|
|
||||||
return false; |
|
||||||
} |
|
||||||
|
|
||||||
var cid = $(this).parent('.cascad').attr("data-id"); |
|
||||||
var did = $(this).parent('.cascad').attr("data-doc"); |
|
||||||
var rid = $(this).parent('.cascad').attr("data-rubric"); |
|
||||||
|
|
||||||
$('#docmanager_edit').ajaxSubmit({ |
|
||||||
url: 'index.php?do=fields', |
|
||||||
data: { |
|
||||||
"field_id": cid, |
|
||||||
"rubric_id": rid, |
|
||||||
"doc_id": did, |
|
||||||
"field": 'image_multi', |
|
||||||
"type": 'upload' |
|
||||||
}, |
|
||||||
beforeSend: function() { |
|
||||||
$.alerts._overlay('show'); |
|
||||||
}, |
|
||||||
dataType: "json", |
|
||||||
success: function(data) { |
|
||||||
if (data['respons'] == 'succes') { |
|
||||||
for (var p = 0, max = data.files.length; p < max; p++) { |
|
||||||
iid = Cascad.cascad_maxid(cid, did); |
|
||||||
var field_value = data['dir'] + data.files[p]; |
|
||||||
var img_path = '../index.php?thumb=' + field_value + '&mode=f&width=128&height=128'; |
|
||||||
$('#cascad_' + did + '_' + cid + ' > .cascad_sortable:last').prepend( |
|
||||||
'<div class="cascad_item ui-state-default" id="cascad_image_' + cid + '_' + did + '_' + iid + '" data-id="' + iid + '" doc=id="' + did + '">' + |
|
||||||
'<div class="header grey_bg"></div>' + |
|
||||||
'<a class="topDir icon_sprite ico_photo view fancy preview__' + cid + '_' + did + '_' + iid + '" href="' + field_value + '" title="' + look + '"></a>' + |
|
||||||
'<a class="topDir icon_sprite ico_delete delete" href="javascript:void(0);" title="' + del + '" data-id="' + cid + '_' + did + '_' + iid + '"></a>' + |
|
||||||
'<span class="topDir icon_sprite ico_info info" title="' + field_value + '"></span>' + |
|
||||||
'<input type="hidden" value="' + field_value + '" name="data[' + did + '][feld][' + cid + '][' + iid + '][url]" id="image__' + cid + '_' + did + '_' + iid + '">' + |
|
||||||
'<img id="preview__' + cid + '_' + did + '_' + iid + '" src="' + img_path + '" onclick="browse_uploads(\'image__' + cid + '_' + did + '_' + iid + '\');" class="image" alt="" width="100" height="100" />' + |
|
||||||
'<textarea class="mousetrap" name="data[' + did + '][feld][' + cid + '][' + iid + '][descr]" placeholder="' + place + '"></textarea>' + |
|
||||||
'</div>' |
|
||||||
); |
|
||||||
$.alerts._overlay('hide'); |
|
||||||
Cascad.cascad_update(); |
|
||||||
} |
|
||||||
} |
|
||||||
$.jGrowl(data['message'], { |
|
||||||
header: data['header'], |
|
||||||
theme: data['theme'] |
|
||||||
}); |
|
||||||
cascade_input.replaceWith(cascade_input = cascade_input.clone(true)); |
|
||||||
cascade_input.val(); |
|
||||||
} |
|
||||||
}); |
|
||||||
return false; |
|
||||||
}); |
|
||||||
}, |
|
||||||
|
|
||||||
cascad_click_upload: function() { |
|
||||||
$('.upload_local').on('click', function(event) { |
|
||||||
event.preventDefault(); |
|
||||||
var c_id = $(this).parent().parent().parent('.cascad').attr("data-id"); |
|
||||||
var d_id = $(this).parent().parent().parent('.cascad').attr("data-doc"); |
|
||||||
$('.cascade_upload_field_' + c_id + '_' + d_id).trigger('click'); |
|
||||||
}); |
|
||||||
}, |
|
||||||
|
|
||||||
cascad_add_single: function() { |
|
||||||
$('.add_single').on('click', function(event) { |
|
||||||
event.preventDefault(); |
|
||||||
var c_id = $(this).parent().parent().parent('.cascad').attr("data-id"); |
|
||||||
var d_id = $(this).parent().parent().parent('.cascad').attr("data-doc"); |
|
||||||
var iid = Cascad.cascad_maxid(c_id, d_id); |
|
||||||
$('#cascad_' + d_id + '_' + c_id + ' > .cascad_sortable:last').prepend( |
|
||||||
'<div class="cascad_item ui-state-default" id="cascad_image_' + c_id + '_' + d_id + '_' + iid + '" data-id="' + iid + '" data-doc="' + d_id + '">' + |
|
||||||
'<div class="header grey_bg"></div>' + |
|
||||||
'<a class="topDir icon_sprite ico_photo view fancy preview__' + c_id + '_' + d_id + '_' + iid + '" href="" title="' + look + '"></a>' + |
|
||||||
'<a class="topDir icon_sprite ico_delete delete" href="javascript:void(0);" title="' + del + '" data-id="' + c_id + '_' + d_id + '_' + iid + '"></a>' + |
|
||||||
'<input type="hidden" value="" name="data[' + d_id + '][feld][' + c_id + '][' + iid + '][url]" id="image__' + c_id + '_' + d_id + '_' + iid + '">' + |
|
||||||
'<img id="preview__' + c_id + '_' + d_id + '_' + iid + '" src="' + blank + '" onclick="browse_uploads(\'image__' + c_id + '_' + d_id + '_' + iid + '\');" class="image" alt="" width="100" height="100" />' + |
|
||||||
'<textarea class="mousetrap" name="data[' + d_id + '][feld][' + c_id + '][' + iid + '][descr]" placeholder="' + place + '"></textarea>' + |
|
||||||
'</div>' |
|
||||||
); |
|
||||||
browse_uploads('image__' + c_id + '_' + d_id + '_' + iid + ''); |
|
||||||
Cascad.cascad_update(); |
|
||||||
}); |
|
||||||
}, |
|
||||||
|
|
||||||
cascad_sortable: function() { |
|
||||||
$('.cascad_sortable').sortable({ |
|
||||||
handle: ".header", |
|
||||||
placeholder: "ui-state-highlight grey_bg" |
|
||||||
}); |
|
||||||
//$(".cascad").disableSelection();
|
|
||||||
}, |
|
||||||
|
|
||||||
cascad_add_folder: function() { |
|
||||||
$('.add_folder').on('click', function(event) { |
|
||||||
event.preventDefault(); |
|
||||||
var c_id = $(this).parent().parent().parent('.cascad').attr("data-id"); |
|
||||||
var d_id = $(this).parent().parent().parent('.cascad').attr("data-doc"); |
|
||||||
browse_dirs("cascad__" + c_id + '_' + d_id); |
|
||||||
}); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
$(document).ready(function() { |
|
||||||
Cascad.init(); |
|
||||||
|
|
||||||
$.fn.myPlugin = function cascad_add_items(dir, cid, did) { |
|
||||||
|
|
||||||
$.ajax({ |
|
||||||
url: ave_path + 'admin/index.php?do=docs&action=image_import&ajax=run', |
|
||||||
data: { |
|
||||||
"path": dir |
|
||||||
}, |
|
||||||
dataType: "json", |
|
||||||
success: function(data) { |
|
||||||
$.alerts._overlay('hide'); |
|
||||||
for (var p = 0, max = data.respons.length; p < max; p++) { |
|
||||||
var iid = Cascad.cascad_maxid(cid, did); |
|
||||||
var field_value = dir + data.respons[p]; |
|
||||||
var img_path = '../index.php?thumb=' + field_value + '&mode=f&width=128&height=128'; |
|
||||||
$('#cascad_' + did + '_' + cid + ' > .cascad_sortable:last').prepend( |
|
||||||
'<div class="cascad_item ui-state-default" id="cascad_image_' + cid + '_' + did + '_' + iid + '" data-id="' + iid + '" doc=id="' + did + '">' + |
|
||||||
'<div class="header grey_bg"></div>' + |
|
||||||
'<a class="topDir icon_sprite ico_photo view fancy preview__' + cid + '_' + did + '_' + iid + '" href="' + field_value + '" title="' + look + '"></a>' + |
|
||||||
'<a class="topDir icon_sprite ico_delete delete" href="javascript:void(0);" title="' + del + '" data-id="' + cid + '_' + did + '_' + iid + '"></a>' + |
|
||||||
'<span class="topDir icon_sprite ico_info info" title="' + field_value + '"></span>' + |
|
||||||
'<input type="hidden" value="' + field_value + '" name="data[' + did + '][feld][' + cid + '][' + iid + '][url]" id="image__' + cid + '_' + did + '_' + iid + '">' + |
|
||||||
'<img id="preview__' + cid + '_' + did + '_' + iid + '" src="' + img_path + '" onclick="browse_uploads(\'image__' + cid + '_' + did + '_' + iid + '\');" class="image" alt="" width="100" height="100" />' + |
|
||||||
'<textarea class="mousetrap" name="data[' + did + '][feld][' + cid + '][' + iid + '][descr]" placeholder="' + place + '"></textarea>' + |
|
||||||
'</div>' |
|
||||||
); |
|
||||||
Cascad.cascad_update(); |
|
||||||
} |
|
||||||
} |
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
@ -1,161 +1,161 @@ |
|||||||
<? |
<? |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
|
// Изображение |
||||||
|
function get_field_image_single($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__) . '/'; |
||||||
function get_field_image_single($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null){ |
$tpl_dir = $fld_dir . 'tpl/'; |
||||||
|
$fld_name = basename($fld_dir); |
||||||
|
|
||||||
global $AVE_Template; |
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
||||||
|
|
||||||
$fld_dir = dirname(__FILE__) . '/'; |
$AVE_Template->config_load($lang_file, 'lang'); |
||||||
$tpl_dir = $fld_dir . 'tpl/'; |
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
||||||
$fld_name = basename($fld_dir); |
$AVE_Template->config_load($lang_file, 'admin'); |
||||||
|
|
||||||
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
$res = 0; |
||||||
|
|
||||||
$AVE_Template->config_load($lang_file, 'lang'); |
switch ($action) |
||||||
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
{ |
||||||
$AVE_Template->config_load($lang_file, 'admin'); |
case 'edit': |
||||||
|
$blanc = '/uploads/images/noimage.gif'; |
||||||
|
$image = explode('|', $field_value); |
||||||
|
$img = $image[0]; |
||||||
|
unset($image[0]); |
||||||
|
$image = array($img, implode('|', $image)); |
||||||
|
$field = (!empty($image[0]) ? '../' . make_thumbnail(array('link' => $image[0], 'size' => 'f128x128')) : make_thumbnail(array('link' => $blanc, 'size' => 'f128x128'))); |
||||||
|
|
||||||
$res = 0; |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); |
||||||
|
|
||||||
|
$AVE_Template->assign('field_dir', $fld_name); |
||||||
|
$AVE_Template->assign('image', $image); |
||||||
|
$AVE_Template->assign('doc_id', (int)$_REQUEST['Id']); |
||||||
|
$AVE_Template->assign('field', $field); |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
|
||||||
switch ($action) |
|
||||||
{ |
|
||||||
case 'edit': |
|
||||||
$blanc = '/uploads/images/noimage.gif'; |
|
||||||
$image = explode('|', $field_value); |
|
||||||
$img = $image[0]; |
|
||||||
unset($image[0]); |
|
||||||
$image = array($img, implode('|', $image)); |
|
||||||
$field = (!empty($image[0]) ? '../' . make_thumbnail(array('link' => $image[0], 'size' => 'f128x128')) : make_thumbnail(array('link' => $blanc, 'size' => 'f128x128'))); |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
|
||||||
|
|
||||||
$AVE_Template->assign('field_dir', $fld_name); |
|
||||||
$AVE_Template->assign('image', $image); |
|
||||||
$AVE_Template->assign('doc_id', (int)$_REQUEST['Id']); |
|
||||||
$AVE_Template->assign('field', $field); |
|
||||||
$AVE_Template->assign('field_id', $field_id); |
|
||||||
$AVE_Template->assign('field_value', $field_value); |
|
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
break; |
|
||||||
|
|
||||||
case 'doc': |
|
||||||
$field_value = clean_php($field_value); |
|
||||||
|
|
||||||
$field_param = explode('|', $field_value); |
|
||||||
|
|
||||||
if ($tpl_empty) |
|
||||||
{ |
|
||||||
$field_value = '<img alt="' . (isset($field_param[1]) ? $field_param[1] : '') |
|
||||||
. '" src="' . $field_param[0] . '" border="0" />'; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
$field_value = preg_replace_callback( |
|
||||||
'/\[tag:parametr:(\d+)\]/i', |
|
||||||
function($data) use($field_param) |
|
||||||
{ |
|
||||||
return $field_param[(int)$data[1]]; |
|
||||||
}, |
|
||||||
$tpl |
|
||||||
); |
|
||||||
|
|
||||||
$field_value = preg_replace_callback( |
|
||||||
'/\[tag:watermark:(.+?):([a-zA-Z]+):([0-9]+)\]/', |
|
||||||
create_function( |
|
||||||
'$m', |
|
||||||
'return watermarks(\'$m[1]\', \'$m[2]\', $m[3]);' |
|
||||||
), |
|
||||||
$field_value |
|
||||||
); |
|
||||||
|
|
||||||
$field_value = preg_replace_callback('/\[tag:([r|c|f|t|s]\d+x\d+r*):(.+?)]/', 'callback_make_thumbnail', $field_value); |
|
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc'); |
|
||||||
|
|
||||||
if($tpl_empty && $tpl_file) |
|
||||||
{ |
|
||||||
$AVE_Template->assign('image', $field_param); |
|
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
} |
|
||||||
|
|
||||||
return $field_value; |
|
||||||
break; |
|
||||||
|
|
||||||
case 'req': |
|
||||||
$field_value = clean_php($field_value); |
|
||||||
|
|
||||||
$field_param = explode('|', $field_value); |
|
||||||
|
|
||||||
if ($tpl_empty) |
|
||||||
{ |
|
||||||
$field_param[1] = isset($field_param[1]) ? $field_param[1] : ''; |
|
||||||
$field_value = '<img src="' . $field_param[0] . '" alt="' . $field_param[1] . '" border="0" />'; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
$field_value = preg_replace_callback( |
|
||||||
'/\[tag:parametr:(\d+)\]/i', |
|
||||||
function($data) use($field_param) |
|
||||||
{ |
|
||||||
return $field_param[(int)$data[1]]; |
|
||||||
}, |
|
||||||
$tpl |
|
||||||
); |
|
||||||
|
|
||||||
$field_value = preg_replace_callback( |
|
||||||
'/\[tag:watermark:(.+?):([a-zA-Z]+):([0-9]+)\]/', |
|
||||||
create_function( |
|
||||||
'$m', |
|
||||||
'return watermarks(\'$m[1]\', \'$m[2]\', $m[3]);' |
|
||||||
), |
|
||||||
$field_value |
|
||||||
); |
|
||||||
|
|
||||||
$field_value = preg_replace_callback('/\[tag:([r|c|f|t|s]\d+x\d+r*):(.+?)]/', 'callback_make_thumbnail', $field_value); |
|
||||||
} |
|
||||||
|
|
||||||
$maxlength = null; |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req'); |
|
||||||
|
|
||||||
if($tpl_empty && $tpl_file) |
|
||||||
{ |
|
||||||
$AVE_Template->assign('image', $field_param); |
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
} |
break; |
||||||
|
|
||||||
return $field_value; |
case 'doc': |
||||||
break; |
$field_value = clean_php($field_value); |
||||||
|
|
||||||
case 'save': |
$field_param = explode('|', $field_value); |
||||||
if (isset($field_value) && $field_value['img'] != '' ) |
|
||||||
{ |
if ($tpl_empty) |
||||||
$field_value = htmlspecialchars(implode("|", $field_value), ENT_QUOTES); |
{ |
||||||
} |
$field_value = '<img alt="' . (isset($field_param[1]) ? $field_param[1] : '') |
||||||
else |
. '" src="' . $field_param[0] . '" border="0" />'; |
||||||
{ |
} |
||||||
$field_value = ''; |
else |
||||||
} |
{ |
||||||
break; |
$field_value = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
case 'name' : |
function($data) use($field_param) |
||||||
return $AVE_Template->get_config_vars('name'); |
{ |
||||||
break; |
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
|
||||||
|
$field_value = preg_replace_callback( |
||||||
|
'/\[tag:watermark:(.+?):([a-zA-Z]+):([0-9]+)\]/', |
||||||
|
create_function( |
||||||
|
'$m', |
||||||
|
'return watermarks(\'$m[1]\', \'$m[2]\', $m[3]);' |
||||||
|
), |
||||||
|
$field_value |
||||||
|
); |
||||||
|
|
||||||
|
$field_value = preg_replace_callback('/\[tag:([r|c|f|t|s]\d+x\d+r*):(.+?)]/', 'callback_make_thumbnail', $field_value); |
||||||
|
} |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc', $_tpl); |
||||||
|
|
||||||
|
if($tpl_empty && $tpl_file) |
||||||
|
{ |
||||||
|
$AVE_Template->assign('image', $field_param); |
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
} |
||||||
|
|
||||||
|
return $field_value; |
||||||
|
break; |
||||||
|
|
||||||
|
case 'req': |
||||||
|
$field_value = clean_php($field_value); |
||||||
|
|
||||||
|
$field_param = explode('|', $field_value); |
||||||
|
|
||||||
|
if ($tpl_empty) |
||||||
|
{ |
||||||
|
$field_param[1] = isset($field_param[1]) ? $field_param[1] : ''; |
||||||
|
$field_value = '<img src="' . $field_param[0] . '" alt="' . $field_param[1] . '" border="0" />'; |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$field_value = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
|
||||||
|
$field_value = preg_replace_callback( |
||||||
|
'/\[tag:watermark:(.+?):([a-zA-Z]+):([0-9]+)\]/', |
||||||
|
create_function( |
||||||
|
'$m', |
||||||
|
'return watermarks(\'$m[1]\', \'$m[2]\', $m[3]);' |
||||||
|
), |
||||||
|
$field_value |
||||||
|
); |
||||||
|
|
||||||
|
$field_value = preg_replace_callback('/\[tag:([r|c|f|t|s]\d+x\d+r*):(.+?)]/', 'callback_make_thumbnail', $field_value); |
||||||
|
} |
||||||
|
|
||||||
|
$maxlength = null; |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req', $_tpl); |
||||||
|
|
||||||
|
if($tpl_empty && $tpl_file) |
||||||
|
{ |
||||||
|
$AVE_Template->assign('image', $field_param); |
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
} |
||||||
|
|
||||||
|
return $field_value; |
||||||
|
break; |
||||||
|
|
||||||
|
case 'save': |
||||||
|
if (isset($field_value) && $field_value['img'] != '' ) |
||||||
|
{ |
||||||
|
$field_value = htmlspecialchars(implode("|", $field_value), ENT_QUOTES); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$field_value = ''; |
||||||
|
} |
||||||
|
break; |
||||||
|
|
||||||
|
case 'name' : |
||||||
|
return $AVE_Template->get_config_vars('name'); |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
return ($res ? $res : $field_value); |
||||||
} |
} |
||||||
|
?> |
||||||
return ($res ? $res : $field_value); |
|
||||||
} |
|
||||||
?> |
|
@ -1,100 +1,100 @@ |
|||||||
<? |
<?php |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
// Ссылка |
// Ссылка |
||||||
function get_field_link($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null){ |
function get_field_link($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/'; |
|
||||||
|
|
||||||
$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'); |
|
||||||
|
|
||||||
$res = ''; |
|
||||||
|
|
||||||
switch ($action) |
|
||||||
{ |
{ |
||||||
case 'edit': |
global $AVE_Template; |
||||||
$AVE_Template->assign('field_id', $field_id); |
|
||||||
$AVE_Template->assign('field_value', $field_value); |
$fld_dir = dirname(__FILE__) . '/'; |
||||||
|
$tpl_dir = $fld_dir . 'tpl/'; |
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
|
||||||
|
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
break; |
$AVE_Template->config_load($lang_file, 'lang'); |
||||||
|
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
||||||
case 'doc': |
$AVE_Template->config_load($lang_file, 'admin'); |
||||||
$field_value = clean_php($field_value); |
|
||||||
$field_param = explode('|', $field_value); |
$res = ''; |
||||||
$field_param[1] = empty($field_param[1]) ? $field_param[0] : $field_param[1]; |
|
||||||
|
switch ($action) |
||||||
if ($tpl_empty) |
{ |
||||||
{ |
case 'edit': |
||||||
$field_value = ' <a target="_self" href="' . ABS_PATH . $field_param[0] . '">' . $field_param[1] . '</a>'; |
$AVE_Template->assign('field_id', $field_id); |
||||||
} |
$AVE_Template->assign('field_value', $field_value); |
||||||
else |
|
||||||
{ |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); |
||||||
$field_value = preg_replace_callback( |
|
||||||
'/\[tag:parametr:(\d+)\]/i', |
return $AVE_Template->fetch($tpl_file); |
||||||
function($data) use($field_param) |
break; |
||||||
{ |
|
||||||
return $field_param[(int)$data[1]]; |
case 'doc': |
||||||
}, |
$field_value = clean_php($field_value); |
||||||
$tpl |
$field_param = explode('|', $field_value); |
||||||
); |
$field_param[1] = empty($field_param[1]) ? $field_param[0] : $field_param[1]; |
||||||
} |
|
||||||
|
if ($tpl_empty) |
||||||
$res = $field_value; |
{ |
||||||
break; |
$field_value = ' <a target="_self" href="' . ABS_PATH . $field_param[0] . '">' . $field_param[1] . '</a>'; |
||||||
|
} |
||||||
case 'req': |
else |
||||||
$field_value = clean_php($field_value); |
{ |
||||||
$field_param = explode('|', $field_value); |
$field_value = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
if (empty($field_param[1])) |
function($data) use($field_param) |
||||||
$field_param[1] = $field_param[0]; |
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
if (isset($document_fields[$rubric_id]['tpl_req_empty'])) |
}, |
||||||
{ |
$tpl |
||||||
$field_value = " <a target=\"_self\" href=\"" . ABS_PATH . $field_param[0] . "\">" . $field_param[1] . "</a>"; |
); |
||||||
} |
} |
||||||
else |
|
||||||
{ |
$res = $field_value; |
||||||
$field_value = preg_replace_callback( |
break; |
||||||
'/\[tag:parametr:(\d+)\]/i', |
|
||||||
function($data) use($field_param) |
case 'req': |
||||||
{ |
$field_value = clean_php($field_value); |
||||||
return $field_param[(int)$data[1]]; |
$field_param = explode('|', $field_value); |
||||||
}, |
|
||||||
$tpl |
if (empty($field_param[1])) |
||||||
); |
$field_param[1] = $field_param[0]; |
||||||
} |
|
||||||
|
if (isset($document_fields[$rubric_id]['tpl_req_empty'])) |
||||||
$maxlength = null; |
{ |
||||||
|
$field_value = " <a target=\"_self\" href=\"" . ABS_PATH . $field_param[0] . "\">" . $field_param[1] . "</a>"; |
||||||
$res = $field_value; |
} |
||||||
break; |
else |
||||||
|
{ |
||||||
case 'name' : |
$field_value = preg_replace_callback( |
||||||
return $AVE_Template->get_config_vars('name'); |
'/\[tag:parametr:(\d+)\]/i', |
||||||
break; |
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
$maxlength = null; |
||||||
|
|
||||||
|
$res = $field_value; |
||||||
|
break; |
||||||
|
|
||||||
|
case 'name' : |
||||||
|
return $AVE_Template->get_config_vars('name'); |
||||||
|
break; |
||||||
|
|
||||||
|
} |
||||||
|
return ($res ? $res : $field_value); |
||||||
} |
} |
||||||
return ($res ? $res : $field_value); |
|
||||||
} |
|
||||||
?> |
?> |
@ -0,0 +1,18 @@ |
|||||||
|
.multi_lists { |
||||||
|
position: relative; |
||||||
|
} |
||||||
|
|
||||||
|
.multi_lists > .ui-state-highlight { |
||||||
|
display: inline-block; |
||||||
|
margin: 3px; |
||||||
|
width: 450px; |
||||||
|
height: 26px; |
||||||
|
background-color: rgba(255,255,255,0.5); !important; |
||||||
|
border: solid 1px #eaeaea; |
||||||
|
border-radius: 5px; |
||||||
|
-moz-border-radius: 5px; |
||||||
|
-webkit-border-radius: 5px; |
||||||
|
position: relative; |
||||||
|
text-align: center; |
||||||
|
padding: 0 !important; |
||||||
|
} |
@ -0,0 +1,194 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
/** |
||||||
|
* 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_link_multi($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_name = basename($fld_dir); |
||||||
|
|
||||||
|
$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'); |
||||||
|
|
||||||
|
$res = array(); |
||||||
|
|
||||||
|
switch ($action) |
||||||
|
{ |
||||||
|
case 'edit': |
||||||
|
|
||||||
|
$items = array(); |
||||||
|
|
||||||
|
$items = unserialize($field_value); |
||||||
|
|
||||||
|
if ($items != false) |
||||||
|
{ |
||||||
|
|
||||||
|
foreach($items as $k => $v){ |
||||||
|
$list_item = explode('|', $v); |
||||||
|
|
||||||
|
$list[$k]['param'] = (isset($list_item[0])) ? htmlspecialchars($list_item[0], ENT_QUOTES) : ''; |
||||||
|
$list[$k]['value'] = (isset($list_item[1])) ? htmlspecialchars($list_item[1], ENT_QUOTES) : ''; |
||||||
|
} |
||||||
|
|
||||||
|
$items = $list; |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$items = explode(',', $default); |
||||||
|
|
||||||
|
foreach($items as $k => $v){ |
||||||
|
$list_item = explode('|', $v); |
||||||
|
|
||||||
|
$list[$k]['param'] = (isset($list_item[0])) ? htmlspecialchars($list_item[0], ENT_QUOTES) : ''; |
||||||
|
$list[$k]['value'] = (isset($list_item[1])) ? htmlspecialchars($list_item[1], ENT_QUOTES) : ''; |
||||||
|
} |
||||||
|
$items = $list; |
||||||
|
} |
||||||
|
|
||||||
|
$AVE_Template->assign('doc_id', $_REQUEST['Id']); |
||||||
|
$AVE_Template->assign('field_dir', $fld_name); |
||||||
|
$AVE_Template->assign('items', $items); |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); |
||||||
|
|
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
break; |
||||||
|
|
||||||
|
case 'doc': |
||||||
|
$items = unserialize($field_value); |
||||||
|
|
||||||
|
if ($items != false) |
||||||
|
{ |
||||||
|
foreach($items as $list_item) |
||||||
|
{ |
||||||
|
$list_item = clean_php($list_item); |
||||||
|
$field_param = explode('|', $list_item); |
||||||
|
|
||||||
|
if ($list_item) |
||||||
|
{ |
||||||
|
if ($tpl_empty) |
||||||
|
{ |
||||||
|
$list_item = $field_param; |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$list_item = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
|
} |
||||||
|
$res[] = $list_item; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc', $_tpl); |
||||||
|
|
||||||
|
if ($tpl_empty && $tpl_file) |
||||||
|
{ |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_value', $res); |
||||||
|
$AVE_Template->assign('field_count', count($res)); |
||||||
|
$AVE_Template->assign('default', $default); |
||||||
|
|
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
} |
||||||
|
|
||||||
|
return (! empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
||||||
|
break; |
||||||
|
|
||||||
|
case 'req': |
||||||
|
$items = unserialize($field_value); |
||||||
|
|
||||||
|
if ($items != false) |
||||||
|
{ |
||||||
|
foreach($items as $list_item) |
||||||
|
{ |
||||||
|
$list_item = clean_php($list_item); |
||||||
|
$field_param = explode('|', $list_item); |
||||||
|
|
||||||
|
if ($list_item) |
||||||
|
{ |
||||||
|
if ($tpl_empty) |
||||||
|
{ |
||||||
|
$list_item = $field_param; |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$list_item = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
|
} |
||||||
|
$res[] = $list_item; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req', $_tpl); |
||||||
|
|
||||||
|
if ($tpl_empty && $tpl_file) |
||||||
|
{ |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_value', $res); |
||||||
|
$AVE_Template->assign('field_count', count($res)); |
||||||
|
$AVE_Template->assign('default', $default); |
||||||
|
|
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
} |
||||||
|
|
||||||
|
return (!empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
||||||
|
break; |
||||||
|
|
||||||
|
case 'save': |
||||||
|
foreach ($field_value as $v) |
||||||
|
{ |
||||||
|
if (! empty($v['param'])) |
||||||
|
{ |
||||||
|
$field_value_new[] = $v['param'] . ($v['value'] ? '|' . $v['value'] : ''); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
if (isset($field_value_new)) |
||||||
|
{ |
||||||
|
return @serialize($field_value_new); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
return $field_value_new = ''; |
||||||
|
} |
||||||
|
break; |
||||||
|
|
||||||
|
case 'name': |
||||||
|
return $AVE_Template->get_config_vars('name'); |
||||||
|
break; |
||||||
|
|
||||||
|
} |
||||||
|
return ($res ? $res : $field_value); |
||||||
|
} |
||||||
|
?> |
@ -0,0 +1,8 @@ |
|||||||
|
[admin] |
||||||
|
name = "Мульти ссылки" |
||||||
|
delete = "Удалить элемент" |
||||||
|
param = "Наименование" |
||||||
|
value = "Ссылка" |
||||||
|
del_conf = "Вы уверены, что хотите удалить данный элемент?" |
||||||
|
del_head = "Удаление элемента..." |
||||||
|
add = "Добавить" |
@ -0,0 +1,33 @@ |
|||||||
|
{if ! empty($field_value)} |
||||||
|
<table class="table table-params table-no-border"> |
||||||
|
<tr> |
||||||
|
<td class="table-header"> |
||||||
|
Документация |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
|
||||||
|
{foreach from=$field_value item=list} |
||||||
|
<tr> |
||||||
|
<td> |
||||||
|
<a href="{$list[1]}" target="_blank"><i class="fa fa-file-pdf-o"></i> {$list[0]}</a> |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
{/foreach} |
||||||
|
|
||||||
|
</table> |
||||||
|
{else} |
||||||
|
<table class="table table-params table-no-border"> |
||||||
|
<tr> |
||||||
|
<td class="table-header"> |
||||||
|
Документация |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
<tr> |
||||||
|
<td> |
||||||
|
<div class="alert alert-warning"> |
||||||
|
Нет файлов для скачивания |
||||||
|
</div> |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
</table> |
||||||
|
{/if} |
@ -0,0 +1,5 @@ |
|||||||
|
<ul> |
||||||
|
{foreach from=$field_value item=list} |
||||||
|
<li>{$list[0]}: {$list[1]}</li> |
||||||
|
{/foreach} |
||||||
|
</ul> |
@ -0,0 +1,5 @@ |
|||||||
|
<ul> |
||||||
|
{foreach from=$field_value item=list} |
||||||
|
<li>{$list[0]}: {$list[1]}</li> |
||||||
|
{/foreach} |
||||||
|
</ul> |
@ -0,0 +1,29 @@ |
|||||||
|
{if $multi_list != load} |
||||||
|
{assign var=multi_list value='' scope="global"} |
||||||
|
{if $smarty.request.outside} |
||||||
|
<script src="{$ABS_PATH}fields/{$field_dir}/js/outside.js" type="text/javascript"></script> |
||||||
|
{else} |
||||||
|
<script src="{$ABS_PATH}fields/{$field_dir}/js/field.js" type="text/javascript"></script> |
||||||
|
{/if} |
||||||
|
<link href="{$ABS_PATH}fields/{$field_dir}/css/field.css" rel="stylesheet" type="text/css" media="screen" /> |
||||||
|
<script type="text/javascript"> |
||||||
|
var links_name = '{#param#}'; |
||||||
|
var links_url = '{#value#}'; |
||||||
|
var links_add = '{#add#}'; |
||||||
|
var links_del = '{#delete#}'; |
||||||
|
var links_del_conf = '{#del_conf#}'; |
||||||
|
var links_del_head = '{#del_head#}'; |
||||||
|
</script> |
||||||
|
{assign var=multi_list value="load" scope="global"} |
||||||
|
{/if} |
||||||
|
|
||||||
|
<div class="multi_links mt10" id="multi_links_{$field_id}" data-id="{$field_id}"> |
||||||
|
{foreach from=$items key=key item=item} |
||||||
|
|
||||||
|
<div class="multi_link fix mb10" id="link_{$field_id}_{$key}" data-id="{$key}"> |
||||||
|
<input type="text" class="mousetrap" value="{$item.param|escape}" name="feld[{$field_id}][{$key}][param]" placeholder="{#param#}" style="width: 200px;"/> <input type="text" class="mousetrap" value="{$item.value|escape}" name="feld[{$field_id}][{$key}][value]" id="links_{$field_id}_{$key}" placeholder="{#value#}" style="width: 300px;" /> <a class="btn greyishBtn" onclick="openFileWindow('links_{$field_id}_{$key}','links_{$field_id}_{$key}','links_{$field_id}_{$key}');">PDF</a> {if $key == 0}<a href="javascript:void(0);" class="button basicBtn topDir AddButton" title="{#add#}">+</a>{else}<a href="javascript:void(0);" data-id="{$field_id}_{$key}" class="button redBtn topDir DelButton" title="{#delete#}">×</a>{/if} |
||||||
|
<div class="handle" style="float: left; display: inline-block; margin: 4px 7px; cursor: move;"><span class="icon_sprite ico_move"></span></div> |
||||||
|
</div> |
||||||
|
|
||||||
|
{/foreach} |
||||||
|
</div> |
@ -1,163 +0,0 @@ |
|||||||
<? |
|
||||||
|
|
||||||
/** |
|
||||||
* AVE.cms |
|
||||||
* |
|
||||||
* @package AVE.cms |
|
||||||
* @version 3.x |
|
||||||
* @filesource |
|
||||||
* @copyright © 2007-2015 AVE.cms, http://www.ave-cms.ru |
|
||||||
* |
|
||||||
* @license GPL v.2 |
|
||||||
*/ |
|
||||||
|
|
||||||
// Мульти чекбокс |
|
||||||
function get_field_multi_checkbox($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null) |
|
||||||
{ |
|
||||||
global $AVE_Template; |
|
||||||
|
|
||||||
$fld_dir = dirname(__FILE__) . '/'; |
|
||||||
$tpl_dir = $fld_dir . 'tpl/'; |
|
||||||
|
|
||||||
$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'); |
|
||||||
|
|
||||||
$res = array(); |
|
||||||
|
|
||||||
switch ($action) |
|
||||||
{ |
|
||||||
case 'edit': |
|
||||||
$default_items = explode(',', $default); |
|
||||||
$default_items = array_diff($default_items, array('')); |
|
||||||
|
|
||||||
$field_value_array = explode('|', $field_value); |
|
||||||
$field_value_array = array_values(array_diff($field_value_array, array(''))); |
|
||||||
|
|
||||||
$AVE_Template->assign('items', $default_items); |
|
||||||
$AVE_Template->assign('used', $field_value_array); |
|
||||||
$AVE_Template->assign('doc_id', (isset($_REQUEST['Id']) ? (int)$_REQUEST['Id'] : 0)); |
|
||||||
$AVE_Template->assign('field_id', $field_id); |
|
||||||
$AVE_Template->assign('field_value', $field_value); |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
|
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
break; |
|
||||||
|
|
||||||
case 'doc': |
|
||||||
$default_items = explode(',', $default); |
|
||||||
|
|
||||||
$items = explode('|', $field_value); |
|
||||||
$items = array_diff($items, array('')); |
|
||||||
|
|
||||||
if (! empty($items)) |
|
||||||
{ |
|
||||||
foreach($items as $item) |
|
||||||
{ |
|
||||||
if ($item) |
|
||||||
{ |
|
||||||
if ($tpl_empty) |
|
||||||
{ |
|
||||||
$item = $default_items[(int)$item-1]; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
$field_param = explode('|', $item); |
|
||||||
|
|
||||||
$item = preg_replace_callback( |
|
||||||
'/\[tag:parametr:(\d+)\]/i', |
|
||||||
function($data) use($field_param, $default_items) |
|
||||||
{ |
|
||||||
return $default_items[$field_param[(int)$data[1]]-1]; |
|
||||||
}, |
|
||||||
$tpl |
|
||||||
); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
$res[] = $item; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc'); |
|
||||||
|
|
||||||
if ($tpl_empty && $tpl_file) |
|
||||||
{ |
|
||||||
$AVE_Template->assign('field_id', $field_id); |
|
||||||
$AVE_Template->assign('field_value', $res); |
|
||||||
$AVE_Template->assign('rubric_id', $rubric_id); |
|
||||||
$AVE_Template->assign('default', $default_items); |
|
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
} |
|
||||||
|
|
||||||
return (! empty($res)) |
|
||||||
? implode(PHP_EOL, $res) |
|
||||||
: $tpl; |
|
||||||
|
|
||||||
break; |
|
||||||
|
|
||||||
case 'req': |
|
||||||
$default_items = explode(',', $default); |
|
||||||
|
|
||||||
$items = explode('|', $field_value); |
|
||||||
$items = array_diff($items, array('')); |
|
||||||
|
|
||||||
if (! empty($items)) |
|
||||||
{ |
|
||||||
foreach($items as $item) |
|
||||||
{ |
|
||||||
if ($item) |
|
||||||
{ |
|
||||||
if ($tpl_empty) |
|
||||||
{ |
|
||||||
$item = $default_items[(int)$item-1]; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
$field_param = explode('|', $item); |
|
||||||
|
|
||||||
$item = preg_replace_callback( |
|
||||||
'/\[tag:parametr:(\d+)\]/i', |
|
||||||
function($data) use($field_param, $default_items) |
|
||||||
{ |
|
||||||
return $default_items[$field_param[(int)$data[1]]-1]; |
|
||||||
}, |
|
||||||
$tpl |
|
||||||
); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
$res[] = $item; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req'); |
|
||||||
|
|
||||||
if ($tpl_empty && $tpl_file) |
|
||||||
{ |
|
||||||
$AVE_Template->assign('field_id', $field_id); |
|
||||||
$AVE_Template->assign('field_value', $res); |
|
||||||
$AVE_Template->assign('rubric_id', $rubric_id); |
|
||||||
$AVE_Template->assign('default', $default_items); |
|
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
} |
|
||||||
|
|
||||||
return (! empty($res)) |
|
||||||
? implode(PHP_EOL, $res) |
|
||||||
: $tpl; |
|
||||||
|
|
||||||
break; |
|
||||||
|
|
||||||
case 'name': |
|
||||||
return $AVE_Template->get_config_vars('name'); |
|
||||||
break; |
|
||||||
|
|
||||||
} |
|
||||||
return ($res ? $res : $field_value); |
|
||||||
} |
|
||||||
?> |
|
@ -1,89 +1,77 @@ |
|||||||
<? |
<?php |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
// Многострочное |
// Многострочное |
||||||
function get_field_multi_line($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null){ |
function get_field_multi_line($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, $AVE_Document; |
global $AVE_Template, $AVE_Document; |
||||||
|
|
||||||
$fld_dir = dirname(__FILE__) . '/'; |
|
||||||
|
|
||||||
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
$fld_dir = dirname(__FILE__) . '/'; |
||||||
|
|
||||||
$AVE_Template->config_load($lang_file, 'lang'); |
$lang_file = $fld_dir . 'lang/' . (defined('ACP') |
||||||
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
? $_SESSION['admin_language'] |
||||||
$AVE_Template->config_load($lang_file, 'admin'); |
: $_SESSION['user_language']) . '.txt'; |
||||||
|
|
||||||
$res=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'); |
||||||
|
|
||||||
switch ($action) |
$res = null; |
||||||
{ |
|
||||||
case 'edit': |
|
||||||
if (isset($_COOKIE['no_wysiwyg']) && $_COOKIE['no_wysiwyg'] == 1) |
|
||||||
{ |
|
||||||
$field = '<a name="' . $field_id . '"></a>'; |
|
||||||
$field .= '<textarea style="width: 98%" name="feld[' . $field_id . ']">' . $field_value . '</textarea>'; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
if (isset($_REQUEST['outside']) && ($_REQUEST['outside'] === (bool)true)) { |
|
||||||
switch ($_SESSION['use_editor']) { |
|
||||||
case '0': |
|
||||||
case '1': |
|
||||||
case '2': |
|
||||||
$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); |
|
||||||
break; |
|
||||||
|
|
||||||
default: |
switch ($action) |
||||||
$field = $field_value; |
{ |
||||||
break; |
case 'edit': |
||||||
|
if (isset($_COOKIE['no_wysiwyg']) && $_COOKIE['no_wysiwyg'] == 1) |
||||||
|
{ |
||||||
|
$field = '<a name="' . $field_id . '"></a>'; |
||||||
|
$field .= '<textarea style="width: 98%" name="feld[' . $field_id . ']">' . $field_value . '</textarea>'; |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
if (isset($_REQUEST['outside']) && ($_REQUEST['outside'] === 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 { |
else |
||||||
switch ($_SESSION['use_editor']) { |
{ |
||||||
case '0': // CKEditor |
$oCKeditor = new CKeditor(); |
||||||
case '1': |
$oCKeditor->returnOutput = true; |
||||||
$oCKeditor = new CKeditor(); |
$oCKeditor->config['toolbar'] = 'Big'; |
||||||
$oCKeditor->returnOutput = true; |
$oCKeditor->config['height'] = 400; |
||||||
$oCKeditor->config['toolbar'] = 'Big'; |
$config = array(); |
||||||
$oCKeditor->config['height'] = 400; |
$field = $oCKeditor->editor('feld[' . $field_id . ']', $field_value, $config); |
||||||
$config = array(); |
|
||||||
$field = $oCKeditor->editor('feld[' . $field_id . ']', $field_value, $config); |
|
||||||
break; |
|
||||||
|
|
||||||
default: |
|
||||||
$field = $field_value; |
|
||||||
break; |
|
||||||
} |
} |
||||||
} |
} |
||||||
} |
|
||||||
$res = $field; |
|
||||||
break; |
|
||||||
|
|
||||||
case 'doc': |
$res = $field; |
||||||
case 'req': |
break; |
||||||
$res = get_field_default($field_value, $action, $field_id, $tpl, $tpl_empty, $maxlength, $document_fields, $rubric_id); |
|
||||||
$res = document_pagination($res); |
case 'doc': |
||||||
break; |
case 'req': |
||||||
|
$res = get_field_default($field_value, $action, $field_id, $tpl, $tpl_empty, $maxlength, $document_fields, $rubric_id); |
||||||
|
$res = document_pagination($res); |
||||||
|
break; |
||||||
|
|
||||||
|
case 'name' : |
||||||
|
return $AVE_Template->get_config_vars('name'); |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
case 'name' : |
return ($res ? $res : $field_value); |
||||||
return $AVE_Template->get_config_vars('name'); |
|
||||||
break; |
|
||||||
} |
} |
||||||
return ($res ? $res : $field_value); |
?> |
||||||
} |
|
||||||
?> |
|
@ -1,91 +1,74 @@ |
|||||||
<? |
<?php |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
// Многострочное (Упрощенное) |
// Многострочное (Упрощенное) |
||||||
function get_field_multi_line_simple($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null){ |
function get_field_multi_line_simple($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; |
global $AVE_Template; |
||||||
|
|
||||||
$fld_dir = dirname(__FILE__) . '/'; |
$fld_dir = dirname(__FILE__) . '/'; |
||||||
|
|
||||||
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
||||||
|
|
||||||
$AVE_Template->config_load($lang_file, 'lang'); |
$AVE_Template->config_load($lang_file, 'lang'); |
||||||
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
||||||
$AVE_Template->config_load($lang_file, 'admin'); |
$AVE_Template->config_load($lang_file, 'admin'); |
||||||
|
|
||||||
$res=0; |
$res=0; |
||||||
|
|
||||||
switch ($action) |
switch ($action) |
||||||
{ |
{ |
||||||
case 'edit': |
case 'edit': |
||||||
if (isset($_COOKIE['no_wysiwyg']) && $_COOKIE['no_wysiwyg'] == 1) |
if (isset($_COOKIE['no_wysiwyg']) && $_COOKIE['no_wysiwyg'] == 1) |
||||||
{ |
{ |
||||||
$field = "<a name=\"" . $field_id . "\"></a>"; |
$field = '<a name="' . $field_id . '"></a>'; |
||||||
$field .= "<textarea style=\"98%\" name=\"feld[" . $field_id . "]\">" . $field_value . "</textarea>"; |
$field .= '<textarea style="width: 98%" name="feld[' . $field_id . ']">' . $field_value . '</textarea>'; |
||||||
} |
} |
||||||
else |
else |
||||||
{ |
{ |
||||||
if (isset($_REQUEST['outside']) && ($_REQUEST['outside'] === (bool)true)) { |
if (isset($_REQUEST['outside']) && ($_REQUEST['outside'] === true)) |
||||||
switch ($_SESSION['use_editor']) |
|
||||||
{ |
{ |
||||||
case '0': |
$oCKeditor = new CKeditor(); |
||||||
case '1': |
$oCKeditor->returnOutput = true; |
||||||
case '2': |
$oCKeditor->config['toolbar'] = 'Verysmall'; |
||||||
$oCKeditor = new CKeditor(); |
$oCKeditor->config['height'] = 250; |
||||||
$oCKeditor->returnOutput = true; |
$config = array(); |
||||||
$oCKeditor->config['toolbar'] = 'Verysmall'; |
$field = $oCKeditor->editor('data['.$_REQUEST['Id'].'][feld][' . $field_id . ']', $field_value, $config); |
||||||
$oCKeditor->config['height'] = 200; |
|
||||||
$config = array(); |
|
||||||
$field = $oCKeditor->editor('data['.$_REQUEST['Id'].'][feld][' . $field_id . ']', $field_value, $config); |
|
||||||
break; |
|
||||||
|
|
||||||
default: |
|
||||||
$field = $field_value; |
|
||||||
break; |
|
||||||
} |
} |
||||||
} else { |
else |
||||||
switch ($_SESSION['use_editor']) { |
{ |
||||||
case '0': // CKEditor |
$oCKeditor = new CKeditor(); |
||||||
case '1': |
$oCKeditor->returnOutput = true; |
||||||
$oCKeditor = new CKeditor(); |
$oCKeditor->config['toolbar'] = 'Small'; |
||||||
$oCKeditor->returnOutput = true; |
$oCKeditor->config['height'] = 300; |
||||||
$oCKeditor->config['toolbar'] = 'Small'; |
$config = array(); |
||||||
$oCKeditor->config['height'] = 300; |
$field = $oCKeditor->editor('feld[' . $field_id . ']', $field_value, $config); |
||||||
$config = array(); |
|
||||||
$field = $oCKeditor->editor('feld[' . $field_id . ']', $field_value, $config); |
|
||||||
break; |
|
||||||
|
|
||||||
default: |
|
||||||
$field = $field_value; |
|
||||||
break; |
|
||||||
} |
} |
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
$res = $field; |
$res = $field; |
||||||
break; |
break; |
||||||
|
|
||||||
case 'doc': |
case 'doc': |
||||||
case 'req': |
case 'req': |
||||||
$res = get_field_default($field_value,$action,$field_id,$tpl,$tpl_empty,$maxlength,$document_fields,$rubric_id); |
$res = get_field_default($field_value,$action,$field_id,$tpl,$tpl_empty,$maxlength,$document_fields,$rubric_id); |
||||||
$res = document_pagination($res); |
$res = document_pagination($res); |
||||||
break; |
break; |
||||||
|
|
||||||
case 'name' : |
case 'name' : |
||||||
return $AVE_Template->get_config_vars('name'); |
return $AVE_Template->get_config_vars('name'); |
||||||
break; |
break; |
||||||
|
} |
||||||
|
return ($res ? $res : $field_value); |
||||||
} |
} |
||||||
return ($res ? $res : $field_value); |
?> |
||||||
} |
|
||||||
?> |
|
@ -1,91 +1,75 @@ |
|||||||
<? |
<?php |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
// Многострочное (Слим) |
// Многострочное (Слим) |
||||||
function get_field_multi_line_slim($field_value,$action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null){ |
function get_field_multi_line_slim($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, $AVE_Document; |
global $AVE_Template, $AVE_Document; |
||||||
|
|
||||||
$fld_dir = dirname(__FILE__) . '/'; |
|
||||||
|
|
||||||
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
$fld_dir = dirname(__FILE__) . '/'; |
||||||
|
|
||||||
$AVE_Template->config_load($lang_file, 'lang'); |
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
||||||
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
|
||||||
$AVE_Template->config_load($lang_file, 'admin'); |
|
||||||
|
|
||||||
$res=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'); |
||||||
|
|
||||||
switch ($action) |
$res = 0; |
||||||
{ |
|
||||||
case 'edit': |
|
||||||
if (isset($_COOKIE['no_wysiwyg']) && $_COOKIE['no_wysiwyg'] == 1) |
|
||||||
{ |
|
||||||
$field = "<a name=\"" . $field_id . "\"></a>"; |
|
||||||
$field .= "<textarea style=\"width:" . $AVE_Document->_textarea_width_small . "; height:" . $AVE_Document->_textarea_height_small . "\" name=\"feld[" . $field_id . "]\">" . $field_value . "</textarea>"; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
if (isset($_REQUEST['outside']) && ($_REQUEST['outside'] === (bool)true)) { |
|
||||||
switch ($_SESSION['use_editor']) { |
|
||||||
case '0': |
|
||||||
case '1': |
|
||||||
case '2': |
|
||||||
$oCKeditor = new CKeditor(); |
|
||||||
$oCKeditor->returnOutput = true; |
|
||||||
$oCKeditor->config['toolbar'] = 'Verysmall'; |
|
||||||
$oCKeditor->config['height'] = 200; |
|
||||||
$config = array(); |
|
||||||
$field = $oCKeditor->editor('data['.$_REQUEST['Id'].'][feld][' . $field_id . ']', $field_value, $config); |
|
||||||
break; |
|
||||||
|
|
||||||
default: |
switch ($action) |
||||||
$field = $field_value; |
{ |
||||||
break; |
case 'edit': |
||||||
|
if (isset($_COOKIE['no_wysiwyg']) && $_COOKIE['no_wysiwyg'] == 1) |
||||||
|
{ |
||||||
|
$field = '<a name="' . $field_id . '"></a>'; |
||||||
|
$field .= '<textarea style="width: 98%" name="feld[' . $field_id . ']">' . $field_value . '</textarea>'; |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
if (isset($_REQUEST['outside']) && ($_REQUEST['outside'] === 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 { |
else |
||||||
switch ($_SESSION['use_editor']) { |
{ |
||||||
case '0': // CKEditor |
$oCKeditor = new CKeditor(); |
||||||
case '1': |
$oCKeditor->returnOutput = true; |
||||||
$oCKeditor = new CKeditor(); |
$oCKeditor->config['toolbar'] = 'Verysmall'; |
||||||
$oCKeditor->returnOutput = true; |
$oCKeditor->config['height'] = 200; |
||||||
$oCKeditor->config['toolbar'] = 'Verysmall'; |
$config = array(); |
||||||
$oCKeditor->config['height'] = 200; |
$field = $oCKeditor->editor('feld[' . $field_id . ']', $field_value, $config); |
||||||
$config = array(); |
|
||||||
$field = $oCKeditor->editor('feld[' . $field_id . ']', $field_value, $config); |
|
||||||
break; |
|
||||||
|
|
||||||
default: |
|
||||||
$field = $field_value; |
|
||||||
break; |
|
||||||
} |
} |
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
$res = $field; |
$res = $field; |
||||||
break; |
break; |
||||||
|
|
||||||
case 'doc': |
case 'doc': |
||||||
case 'req': |
case 'req': |
||||||
$res = get_field_default($field_value,$action,$field_id,$tpl,$tpl_empty,$maxlength,$document_fields,$rubric_id); |
$res = get_field_default($field_value,$action,$field_id,$tpl,$tpl_empty,$maxlength,$document_fields,$rubric_id); |
||||||
$res = document_pagination($res); |
$res = document_pagination($res); |
||||||
break; |
break; |
||||||
|
|
||||||
case 'name' : |
case 'name' : |
||||||
return $AVE_Template->get_config_vars('name'); |
return $AVE_Template->get_config_vars('name'); |
||||||
break; |
break; |
||||||
} |
} |
||||||
return ($res ? $res : $field_value); |
return ($res ? $res : $field_value); |
||||||
|
|
||||||
} |
} |
||||||
?> |
?> |
@ -1,194 +1,194 @@ |
|||||||
<? |
<?php |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
// Мульти лист |
// Мульти лист |
||||||
function get_field_multi_list($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null){ |
function get_field_multi_list($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; |
||||||
|
|
||||||
global $AVE_Template; |
$fld_dir = dirname(__FILE__) . '/'; |
||||||
|
$tpl_dir = $fld_dir . 'tpl/'; |
||||||
|
$fld_name = basename($fld_dir); |
||||||
|
|
||||||
$fld_dir = dirname(__FILE__) . '/'; |
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
||||||
$tpl_dir = $fld_dir . 'tpl/'; |
|
||||||
$fld_name = basename($fld_dir); |
|
||||||
|
|
||||||
$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'); |
||||||
|
|
||||||
$AVE_Template->config_load($lang_file, 'lang'); |
$res = array(); |
||||||
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
|
||||||
$AVE_Template->config_load($lang_file, 'admin'); |
|
||||||
|
|
||||||
$res = array(); |
switch ($action) |
||||||
|
{ |
||||||
|
case 'edit': |
||||||
|
|
||||||
switch ($action) |
$items = array(); |
||||||
{ |
|
||||||
case 'edit': |
|
||||||
|
|
||||||
$items = array(); |
$items = unserialize($field_value); |
||||||
|
|
||||||
$items = unserialize($field_value); |
if ($items != false) |
||||||
|
{ |
||||||
|
|
||||||
if ($items != false) |
foreach($items as $k => $v){ |
||||||
{ |
$list_item = explode('|', $v); |
||||||
|
|
||||||
foreach($items as $k => $v){ |
$list[$k]['param'] = (isset($list_item[0])) ? htmlspecialchars($list_item[0], ENT_QUOTES) : ''; |
||||||
$list_item = explode('|', $v); |
$list[$k]['value'] = (isset($list_item[1])) ? htmlspecialchars($list_item[1], ENT_QUOTES) : ''; |
||||||
|
} |
||||||
|
|
||||||
$list[$k]['param'] = (isset($list_item[0])) ? htmlspecialchars($list_item[0], ENT_QUOTES) : ''; |
$items = $list; |
||||||
$list[$k]['value'] = (isset($list_item[1])) ? htmlspecialchars($list_item[1], ENT_QUOTES) : ''; |
|
||||||
} |
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$items = explode(',', $default); |
||||||
|
|
||||||
$items = $list; |
foreach($items as $k => $v){ |
||||||
} |
$list_item = explode('|', $v); |
||||||
else |
|
||||||
{ |
|
||||||
$items = explode(',', $default); |
|
||||||
|
|
||||||
foreach($items as $k => $v){ |
|
||||||
$list_item = explode('|', $v); |
|
||||||
|
|
||||||
$list[$k]['param'] = (isset($list_item[0])) ? htmlspecialchars($list_item[0], ENT_QUOTES) : ''; |
$list[$k]['param'] = (isset($list_item[0])) ? htmlspecialchars($list_item[0], ENT_QUOTES) : ''; |
||||||
$list[$k]['value'] = (isset($list_item[1])) ? htmlspecialchars($list_item[1], ENT_QUOTES) : ''; |
$list[$k]['value'] = (isset($list_item[1])) ? htmlspecialchars($list_item[1], ENT_QUOTES) : ''; |
||||||
|
} |
||||||
|
$items = $list; |
||||||
} |
} |
||||||
$items = $list; |
|
||||||
} |
|
||||||
|
|
||||||
$AVE_Template->assign('doc_id', $_REQUEST['Id']); |
$AVE_Template->assign('doc_id', $_REQUEST['Id']); |
||||||
$AVE_Template->assign('field_dir', $fld_name); |
$AVE_Template->assign('field_dir', $fld_name); |
||||||
$AVE_Template->assign('items', $items); |
$AVE_Template->assign('items', $items); |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
break; |
break; |
||||||
|
|
||||||
case 'doc': |
case 'doc': |
||||||
$items = unserialize($field_value); |
$items = unserialize($field_value); |
||||||
|
|
||||||
if ($items != false) |
if ($items != false) |
||||||
{ |
|
||||||
foreach($items as $list_item) |
|
||||||
{ |
{ |
||||||
$list_item = clean_php($list_item); |
foreach($items as $list_item) |
||||||
$field_param = explode('|', $list_item); |
|
||||||
|
|
||||||
if ($list_item) |
|
||||||
{ |
{ |
||||||
if ($tpl_empty) |
$list_item = clean_php($list_item); |
||||||
{ |
$field_param = explode('|', $list_item); |
||||||
$list_item = $field_param; |
|
||||||
} |
if ($list_item) |
||||||
else |
|
||||||
{ |
{ |
||||||
$list_item = preg_replace_callback( |
if ($tpl_empty) |
||||||
'/\[tag:parametr:(\d+)\]/i', |
{ |
||||||
function($data) use($field_param) |
$list_item = $field_param; |
||||||
{ |
} |
||||||
return $field_param[(int)$data[1]]; |
else |
||||||
}, |
{ |
||||||
$tpl |
$list_item = preg_replace_callback( |
||||||
); |
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
} |
} |
||||||
|
$res[] = $list_item; |
||||||
} |
} |
||||||
$res[] = $list_item; |
|
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc', $_tpl); |
||||||
|
|
||||||
if ($tpl_empty && $tpl_file) |
if ($tpl_empty && $tpl_file) |
||||||
{ |
{ |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
$AVE_Template->assign('field_value', $res); |
$AVE_Template->assign('field_value', $res); |
||||||
$AVE_Template->assign('field_count', count($res)); |
$AVE_Template->assign('field_count', count($res)); |
||||||
$AVE_Template->assign('default', $default); |
$AVE_Template->assign('default', $default); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
} |
} |
||||||
|
|
||||||
return (! empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
return (! empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
||||||
break; |
break; |
||||||
|
|
||||||
case 'req': |
case 'req': |
||||||
$items = unserialize($field_value); |
$items = unserialize($field_value); |
||||||
|
|
||||||
if ($items != false) |
if ($items != false) |
||||||
{ |
|
||||||
foreach($items as $list_item) |
|
||||||
{ |
{ |
||||||
$list_item = clean_php($list_item); |
foreach($items as $list_item) |
||||||
$field_param = explode('|', $list_item); |
|
||||||
|
|
||||||
if ($list_item) |
|
||||||
{ |
{ |
||||||
if ($tpl_empty) |
$list_item = clean_php($list_item); |
||||||
{ |
$field_param = explode('|', $list_item); |
||||||
$list_item = $field_param; |
|
||||||
} |
if ($list_item) |
||||||
else |
|
||||||
{ |
{ |
||||||
$list_item = preg_replace_callback( |
if ($tpl_empty) |
||||||
'/\[tag:parametr:(\d+)\]/i', |
{ |
||||||
function($data) use($field_param) |
$list_item = $field_param; |
||||||
{ |
} |
||||||
return $field_param[(int)$data[1]]; |
else |
||||||
}, |
{ |
||||||
$tpl |
$list_item = preg_replace_callback( |
||||||
); |
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
} |
} |
||||||
|
$res[] = $list_item; |
||||||
} |
} |
||||||
$res[] = $list_item; |
|
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req', $_tpl); |
||||||
|
|
||||||
if ($tpl_empty && $tpl_file) |
if ($tpl_empty && $tpl_file) |
||||||
{ |
{ |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
$AVE_Template->assign('field_value', $res); |
$AVE_Template->assign('field_value', $res); |
||||||
$AVE_Template->assign('field_count', count($res)); |
$AVE_Template->assign('field_count', count($res)); |
||||||
$AVE_Template->assign('default', $default); |
$AVE_Template->assign('default', $default); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
} |
} |
||||||
|
|
||||||
return (!empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
return (!empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
||||||
break; |
break; |
||||||
|
|
||||||
case 'save': |
case 'save': |
||||||
foreach ($field_value as $v) |
foreach ($field_value as $v) |
||||||
{ |
|
||||||
if(! empty($v['param'])) |
|
||||||
{ |
{ |
||||||
$field_value_new[] = $v['param'] . ($v['value'] ? '|' . $v['value'] : ''); |
if(! empty($v['param'])) |
||||||
|
{ |
||||||
|
$field_value_new[] = $v['param'] . ($v['value'] ? '|' . $v['value'] : ''); |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
if (isset($field_value_new)) |
if (isset($field_value_new)) |
||||||
{ |
|
||||||
return @serialize($field_value_new); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
{ |
||||||
return $field_value_new = ''; |
return @serialize($field_value_new); |
||||||
} |
} |
||||||
break; |
else |
||||||
|
{ |
||||||
|
return $field_value_new = ''; |
||||||
|
} |
||||||
|
break; |
||||||
|
|
||||||
case 'name': |
case 'name': |
||||||
return $AVE_Template->get_config_vars('name'); |
return $AVE_Template->get_config_vars('name'); |
||||||
break; |
break; |
||||||
|
|
||||||
|
} |
||||||
|
return ($res ? $res : $field_value); |
||||||
} |
} |
||||||
return ($res ? $res : $field_value); |
|
||||||
} |
|
||||||
?> |
?> |
@ -1,177 +1,177 @@ |
|||||||
<? |
<?php |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
*/ |
*/ |
||||||
|
|
||||||
// Мульти лист |
// Мульти лист |
||||||
function get_field_multi_list_single($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null){ |
function get_field_multi_list_single($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; |
global $AVE_Template; |
||||||
|
|
||||||
$fld_dir = dirname(__FILE__) . '/'; |
$fld_dir = dirname(__FILE__) . '/'; |
||||||
$tpl_dir = $fld_dir . 'tpl/'; |
$tpl_dir = $fld_dir . 'tpl/'; |
||||||
$fld_name = basename($fld_dir); |
$fld_name = basename($fld_dir); |
||||||
|
|
||||||
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
||||||
|
|
||||||
$AVE_Template->config_load($lang_file, 'lang'); |
$AVE_Template->config_load($lang_file, 'lang'); |
||||||
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
||||||
$AVE_Template->config_load($lang_file, 'admin'); |
$AVE_Template->config_load($lang_file, 'admin'); |
||||||
|
|
||||||
$res = array(); |
$res = array(); |
||||||
|
|
||||||
switch ($action) |
switch ($action) |
||||||
{ |
{ |
||||||
case 'edit': |
case 'edit': |
||||||
|
|
||||||
$items = array(); |
$items = array(); |
||||||
|
|
||||||
$items = unserialize($field_value); |
$items = unserialize($field_value); |
||||||
|
|
||||||
if ($items != false) |
if ($items != false) |
||||||
{ |
|
||||||
$items = $items; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
{ |
||||||
$items = explode(',', $default); |
$items = $items; |
||||||
} |
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$items = explode(',', $default); |
||||||
|
} |
||||||
|
|
||||||
$AVE_Template->assign('doc_id', $_REQUEST['Id']); |
$AVE_Template->assign('doc_id', $_REQUEST['Id']); |
||||||
$AVE_Template->assign('field_dir', $fld_name); |
$AVE_Template->assign('field_dir', $fld_name); |
||||||
$AVE_Template->assign('items', $items); |
$AVE_Template->assign('items', $items); |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
break; |
break; |
||||||
|
|
||||||
case 'doc': |
case 'doc': |
||||||
$items = unserialize($field_value); |
$items = unserialize($field_value); |
||||||
|
|
||||||
if ($items != false) |
if ($items != false) |
||||||
{ |
|
||||||
foreach($items as $list_item) |
|
||||||
{ |
{ |
||||||
$list_item = clean_php($list_item); |
foreach($items as $list_item) |
||||||
$field_param = explode('|', $list_item); |
|
||||||
|
|
||||||
if ($list_item) |
|
||||||
{ |
{ |
||||||
if ($tpl_empty) |
$list_item = clean_php($list_item); |
||||||
{ |
$field_param = explode('|', $list_item); |
||||||
$list_item = $field_param; |
|
||||||
} |
if ($list_item) |
||||||
else |
|
||||||
{ |
{ |
||||||
$list_item = preg_replace_callback( |
if ($tpl_empty) |
||||||
'/\[tag:parametr:(\d+)\]/i', |
{ |
||||||
function($data) use($field_param) |
$list_item = $field_param; |
||||||
{ |
} |
||||||
return $field_param[(int)$data[1]]; |
else |
||||||
}, |
{ |
||||||
$tpl |
$list_item = preg_replace_callback( |
||||||
); |
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
} |
} |
||||||
|
$res[] = $list_item; |
||||||
} |
} |
||||||
$res[] = $list_item; |
|
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc', $_tpl); |
||||||
|
|
||||||
if ($tpl_empty && $tpl_file) |
if ($tpl_empty && $tpl_file) |
||||||
{ |
{ |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
$AVE_Template->assign('field_value', $res); |
$AVE_Template->assign('field_value', $res); |
||||||
$AVE_Template->assign('field_count', count($res)); |
$AVE_Template->assign('field_count', count($res)); |
||||||
$AVE_Template->assign('default', $default); |
$AVE_Template->assign('default', $default); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
} |
} |
||||||
|
|
||||||
return (! empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
return (! empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
||||||
break; |
break; |
||||||
|
|
||||||
case 'req': |
case 'req': |
||||||
$items = unserialize($field_value); |
$items = unserialize($field_value); |
||||||
|
|
||||||
if ($items != false) |
if ($items != false) |
||||||
{ |
|
||||||
foreach($items as $list_item) |
|
||||||
{ |
{ |
||||||
$list_item = clean_php($list_item); |
foreach($items as $list_item) |
||||||
$field_param = explode('|', $list_item); |
|
||||||
|
|
||||||
if ($list_item) |
|
||||||
{ |
{ |
||||||
if ($tpl_empty) |
$list_item = clean_php($list_item); |
||||||
{ |
$field_param = explode('|', $list_item); |
||||||
$list_item = $field_param; |
|
||||||
} |
if ($list_item) |
||||||
else |
|
||||||
{ |
{ |
||||||
$list_item = preg_replace_callback( |
if ($tpl_empty) |
||||||
'/\[tag:parametr:(\d+)\]/i', |
{ |
||||||
function($data) use($field_param) |
$list_item = $field_param; |
||||||
{ |
} |
||||||
return $field_param[(int)$data[1]]; |
else |
||||||
}, |
{ |
||||||
$tpl |
$list_item = preg_replace_callback( |
||||||
); |
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
} |
} |
||||||
|
$res[] = $list_item; |
||||||
} |
} |
||||||
$res[] = $list_item; |
|
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req', $_tpl); |
||||||
|
|
||||||
if ($tpl_empty && $tpl_file) |
if ($tpl_empty && $tpl_file) |
||||||
{ |
{ |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
$AVE_Template->assign('field_value', $res); |
$AVE_Template->assign('field_value', $res); |
||||||
$AVE_Template->assign('field_count', count($res)); |
$AVE_Template->assign('field_count', count($res)); |
||||||
$AVE_Template->assign('default', $default); |
$AVE_Template->assign('default', $default); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
} |
} |
||||||
|
|
||||||
return (! empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
return (! empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
||||||
break; |
break; |
||||||
|
|
||||||
case 'save': |
case 'save': |
||||||
foreach ($field_value as $v) |
foreach ($field_value as $v) |
||||||
{ |
|
||||||
if (! empty($v)) |
|
||||||
{ |
{ |
||||||
$field_value_new[] = $v; |
if (! empty($v)) |
||||||
|
{ |
||||||
|
$field_value_new[] = $v; |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
if (isset($field_value_new)) |
if (isset($field_value_new)) |
||||||
{ |
|
||||||
return @serialize($field_value_new); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
{ |
||||||
return $field_value_new = ''; |
return @serialize($field_value_new); |
||||||
} |
} |
||||||
break; |
else |
||||||
|
{ |
||||||
|
return $field_value_new = ''; |
||||||
|
} |
||||||
|
break; |
||||||
|
|
||||||
case 'name': |
case 'name': |
||||||
return $AVE_Template->get_config_vars('name'); |
return $AVE_Template->get_config_vars('name'); |
||||||
break; |
break; |
||||||
|
|
||||||
|
} |
||||||
|
return ($res ? $res : $field_value); |
||||||
} |
} |
||||||
return ($res ? $res : $field_value); |
|
||||||
} |
|
||||||
?> |
?> |
@ -1,75 +0,0 @@ |
|||||||
var MultiListSingle = { |
|
||||||
|
|
||||||
init: false, |
|
||||||
|
|
||||||
init: function() { |
|
||||||
if (this.initialized) return; |
|
||||||
this.initialized = true; |
|
||||||
|
|
||||||
this.s_lists(); |
|
||||||
}, |
|
||||||
|
|
||||||
s_lists: function() { |
|
||||||
this.s_lists_sortable(); |
|
||||||
this.s_lists_del_item(); |
|
||||||
this.s_lists_add(); |
|
||||||
}, |
|
||||||
|
|
||||||
s_lists_update: function() { |
|
||||||
this.s_lists_maxid(); |
|
||||||
this.s_lists_del_item(); |
|
||||||
AveAdmin.tooltip(); |
|
||||||
}, |
|
||||||
|
|
||||||
s_lists_maxid: function(id) { |
|
||||||
var maxid = 1; |
|
||||||
$('#multi_lists_single_' + id).children('.multi_list_single').each(function() { |
|
||||||
maxid = Math.max(maxid, parseInt($(this).attr("data-id")) + 1); |
|
||||||
}); |
|
||||||
return maxid; |
|
||||||
}, |
|
||||||
|
|
||||||
s_lists_del_item: function() { |
|
||||||
$('.multi_list_single .DelSingleButton').on('click', function(event) { |
|
||||||
event.preventDefault(); |
|
||||||
var id = $(this).attr('data-id'); |
|
||||||
jConfirm( |
|
||||||
s_list_del_conf, |
|
||||||
s_list_del_head, |
|
||||||
function(b) { |
|
||||||
if (b) { |
|
||||||
$('#list_' + id).remove(); |
|
||||||
} |
|
||||||
} |
|
||||||
); |
|
||||||
}); |
|
||||||
}, |
|
||||||
|
|
||||||
s_lists_add: function() { |
|
||||||
$('.AddSingleButton').on('click', function(event) { |
|
||||||
event.preventDefault(); |
|
||||||
c_id = $(this).parent().parent('.multi_lists_single').attr("data-id"); |
|
||||||
iid = MultiListSingle.s_lists_maxid(c_id); |
|
||||||
$('#multi_lists_single_' + c_id + ':last').append( |
|
||||||
'<div class="multi_list_single fix mb10" id="list_' + c_id + '_' + iid + '" data-id="' + iid + '">' + |
|
||||||
'<input type="text" class="mousetrap" value="" name="feld[' + c_id + '][' + iid + ']" placeholder="' + s_list_value + '" style="width: 400px;"/> <a href="javascript:void(0);" data-id="' + c_id + '_' + iid + '" class="button redBtn topDir DelSingleButton" title="' + s_list_del + '">×</a>' + |
|
||||||
'<div class="handle" style="float: left; display: inline-block; margin: 4px 7px; cursor: move;"><span class="icon_sprite ico_move"></span></div>' + |
|
||||||
'</div>' |
|
||||||
); |
|
||||||
|
|
||||||
MultiListSingle.s_lists_update(); |
|
||||||
}); |
|
||||||
}, |
|
||||||
|
|
||||||
s_lists_sortable: function() { |
|
||||||
$('.multi_lists_single').sortable({ |
|
||||||
handle: ".handle", |
|
||||||
placeholder: "ui-state-highlight grey_bg" |
|
||||||
}); |
|
||||||
//$(".multi_lists_single").disableSelection();
|
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
$(document).ready(function() { |
|
||||||
MultiListSingle.init(); |
|
||||||
}); |
|
@ -1,200 +1,199 @@ |
|||||||
<? |
<?php |
||||||
|
/** |
||||||
/** |
* AVE.cms |
||||||
* AVE.cms |
* |
||||||
* |
* @package AVE.cms |
||||||
* @package AVE.cms |
* @version 3.x |
||||||
* @version 3.x |
* @filesource |
||||||
* @filesource |
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
* |
||||||
* |
* @license GPL v.2 |
||||||
* @license GPL v.2 |
*/ |
||||||
*/ |
|
||||||
|
// Мульти лист |
||||||
|
function get_field_multi_list_triple($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__) . '/'; |
||||||
function get_field_multi_list_triple($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null){ |
$tpl_dir = $fld_dir . 'tpl/'; |
||||||
|
$fld_name = basename($fld_dir); |
||||||
|
|
||||||
global $AVE_Template; |
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
||||||
|
|
||||||
$fld_dir = dirname(__FILE__) . '/'; |
$AVE_Template->config_load($lang_file, 'lang'); |
||||||
$tpl_dir = $fld_dir . 'tpl/'; |
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
||||||
$fld_name = basename($fld_dir); |
$AVE_Template->config_load($lang_file, 'admin'); |
||||||
|
|
||||||
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
$res = array(); |
||||||
|
|
||||||
$AVE_Template->config_load($lang_file, 'lang'); |
switch ($action) |
||||||
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
{ |
||||||
$AVE_Template->config_load($lang_file, 'admin'); |
case 'edit': |
||||||
|
|
||||||
$res = array(); |
$items = array(); |
||||||
|
|
||||||
switch ($action) |
$items = unserialize($field_value); |
||||||
{ |
|
||||||
case 'edit': |
|
||||||
|
|
||||||
$items = array(); |
if ($items != false) |
||||||
|
{ |
||||||
$items = unserialize($field_value); |
|
||||||
|
|
||||||
if ($items != false) |
foreach($items as $k => $v) |
||||||
{ |
{ |
||||||
|
$list_item = explode('|', $v); |
||||||
|
|
||||||
foreach($items as $k => $v) |
$list[$k]['param'] = (isset($list_item[0])) ? htmlspecialchars($list_item[0], ENT_QUOTES) : ''; |
||||||
{ |
$list[$k]['value'] = (isset($list_item[1])) ? htmlspecialchars($list_item[1], ENT_QUOTES) : ''; |
||||||
$list_item = explode('|', $v); |
$list[$k]['value2'] = (isset($list_item[2])) ? htmlspecialchars($list_item[2], ENT_QUOTES) : ''; |
||||||
|
} |
||||||
|
|
||||||
$list[$k]['param'] = (isset($list_item[0])) ? htmlspecialchars($list_item[0], ENT_QUOTES) : ''; |
$items = $list; |
||||||
$list[$k]['value'] = (isset($list_item[1])) ? htmlspecialchars($list_item[1], ENT_QUOTES) : ''; |
|
||||||
$list[$k]['value2'] = (isset($list_item[2])) ? htmlspecialchars($list_item[2], ENT_QUOTES) : ''; |
|
||||||
} |
} |
||||||
|
else |
||||||
|
{ |
||||||
|
|
||||||
$items = $list; |
$items = explode(',', $default); |
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
|
|
||||||
$items = explode(',', $default); |
foreach ($items as $k => $v) |
||||||
|
{ |
||||||
|
$list_item = explode('|', $v); |
||||||
|
|
||||||
foreach ($items as $k => $v) |
$list[$k]['param'] = (isset($list_item[0])) ? htmlspecialchars($list_item[0], ENT_QUOTES) : ''; |
||||||
{ |
$list[$k]['value'] = (isset($list_item[1])) ? htmlspecialchars($list_item[1], ENT_QUOTES) : ''; |
||||||
$list_item = explode('|', $v); |
$list[$k]['value2'] = (isset($list_item[2])) ? htmlspecialchars($list_item[2], ENT_QUOTES) : ''; |
||||||
|
} |
||||||
|
|
||||||
$list[$k]['param'] = (isset($list_item[0])) ? htmlspecialchars($list_item[0], ENT_QUOTES) : ''; |
$items = $list; |
||||||
$list[$k]['value'] = (isset($list_item[1])) ? htmlspecialchars($list_item[1], ENT_QUOTES) : ''; |
|
||||||
$list[$k]['value2'] = (isset($list_item[2])) ? htmlspecialchars($list_item[2], ENT_QUOTES) : ''; |
|
||||||
} |
} |
||||||
|
|
||||||
$items = $list; |
$AVE_Template->assign('doc_id', $_REQUEST['Id']); |
||||||
} |
$AVE_Template->assign('field_dir', $fld_name); |
||||||
|
$AVE_Template->assign('items', $items); |
||||||
$AVE_Template->assign('doc_id', $_REQUEST['Id']); |
$AVE_Template->assign('field_id', $field_id); |
||||||
$AVE_Template->assign('field_dir', $fld_name); |
|
||||||
$AVE_Template->assign('items', $items); |
|
||||||
$AVE_Template->assign('field_id', $field_id); |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
break; |
break; |
||||||
|
|
||||||
case 'doc': |
case 'doc': |
||||||
$items = unserialize($field_value); |
$items = unserialize($field_value); |
||||||
|
|
||||||
if ($items != false) |
if ($items != false) |
||||||
{ |
|
||||||
foreach ($items as $list_item) |
|
||||||
{ |
{ |
||||||
$list_item = clean_php($list_item); |
foreach ($items as $list_item) |
||||||
$field_param = explode('|', $list_item); |
|
||||||
|
|
||||||
if ($list_item) |
|
||||||
{ |
{ |
||||||
if ($tpl_empty) |
$list_item = clean_php($list_item); |
||||||
{ |
$field_param = explode('|', $list_item); |
||||||
$list_item = $field_param; |
|
||||||
} |
if ($list_item) |
||||||
else |
|
||||||
{ |
{ |
||||||
$list_item = preg_replace_callback( |
if ($tpl_empty) |
||||||
'/\[tag:parametr:(\d+)\]/i', |
{ |
||||||
function($data) use($field_param) |
$list_item = $field_param; |
||||||
{ |
} |
||||||
return $field_param[(int)$data[1]]; |
else |
||||||
}, |
{ |
||||||
$tpl |
$list_item = preg_replace_callback( |
||||||
); |
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
} |
} |
||||||
|
$res[] = $list_item; |
||||||
} |
} |
||||||
$res[] = $list_item; |
|
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc', $_tpl); |
||||||
|
|
||||||
if($tpl_empty && $tpl_file) |
if($tpl_empty && $tpl_file) |
||||||
{ |
{ |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
$AVE_Template->assign('field_value', $res); |
$AVE_Template->assign('field_value', $res); |
||||||
$AVE_Template->assign('field_count', count($res)); |
$AVE_Template->assign('field_count', count($res)); |
||||||
$AVE_Template->assign('default', $default); |
$AVE_Template->assign('default', $default); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
} |
} |
||||||
|
|
||||||
return (!empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
return (!empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
||||||
break; |
break; |
||||||
|
|
||||||
case 'req': |
case 'req': |
||||||
$items = unserialize($field_value); |
$items = unserialize($field_value); |
||||||
|
|
||||||
if ($items != false) |
if ($items != false) |
||||||
{ |
|
||||||
foreach ($items as $list_item) |
|
||||||
{ |
{ |
||||||
$list_item = clean_php($list_item); |
foreach ($items as $list_item) |
||||||
$field_param = explode('|', $list_item); |
|
||||||
|
|
||||||
if ($list_item) |
|
||||||
{ |
{ |
||||||
if ($tpl_empty) |
$list_item = clean_php($list_item); |
||||||
{ |
$field_param = explode('|', $list_item); |
||||||
$list_item = $field_param; |
|
||||||
} |
if ($list_item) |
||||||
else |
|
||||||
{ |
{ |
||||||
$list_item = preg_replace_callback( |
if ($tpl_empty) |
||||||
'/\[tag:parametr:(\d+)\]/i', |
{ |
||||||
function($data) use($field_param) |
$list_item = $field_param; |
||||||
{ |
} |
||||||
return $field_param[(int)$data[1]]; |
else |
||||||
}, |
{ |
||||||
$tpl |
$list_item = preg_replace_callback( |
||||||
); |
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
} |
} |
||||||
|
$res[] = $list_item; |
||||||
} |
} |
||||||
$res[] = $list_item; |
|
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req', $_tpl); |
||||||
|
|
||||||
if ($tpl_empty && $tpl_file) |
if ($tpl_empty && $tpl_file) |
||||||
{ |
{ |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
$AVE_Template->assign('field_value', $res); |
$AVE_Template->assign('field_value', $res); |
||||||
$AVE_Template->assign('field_count', count($res)); |
$AVE_Template->assign('field_count', count($res)); |
||||||
$AVE_Template->assign('default', $default); |
$AVE_Template->assign('default', $default); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
} |
} |
||||||
|
|
||||||
return (!empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
return (!empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
||||||
break; |
break; |
||||||
|
|
||||||
case 'save': |
case 'save': |
||||||
foreach ($field_value as $v) |
foreach ($field_value as $v) |
||||||
{ |
|
||||||
if(!empty($v['param'])) |
|
||||||
{ |
{ |
||||||
$field_value_new[] = $v['param'] . '|' . $v['value'] . '|' . $v['value2']; |
if(!empty($v['param'])) |
||||||
|
{ |
||||||
|
$field_value_new[] = $v['param'] . '|' . $v['value'] . '|' . $v['value2']; |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
if (isset($field_value_new)) |
if (isset($field_value_new)) |
||||||
{ |
|
||||||
return @serialize($field_value_new); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
{ |
||||||
return $field_value_new = ''; |
return @serialize($field_value_new); |
||||||
} |
} |
||||||
break; |
else |
||||||
|
{ |
||||||
|
return $field_value_new = ''; |
||||||
|
} |
||||||
|
break; |
||||||
|
|
||||||
case 'name': |
case 'name': |
||||||
return $AVE_Template->get_config_vars('name'); |
return $AVE_Template->get_config_vars('name'); |
||||||
break; |
break; |
||||||
|
|
||||||
|
} |
||||||
|
return ($res ? $res : $field_value); |
||||||
} |
} |
||||||
return ($res ? $res : $field_value); |
|
||||||
} |
|
||||||
?> |
?> |
@ -1,75 +0,0 @@ |
|||||||
var MultiListTriple = { |
|
||||||
|
|
||||||
init: false, |
|
||||||
|
|
||||||
init: function() { |
|
||||||
if (this.initialized) return; |
|
||||||
this.initialized = true; |
|
||||||
|
|
||||||
this.lists(); |
|
||||||
}, |
|
||||||
|
|
||||||
lists: function() { |
|
||||||
this.lists_sortable(); |
|
||||||
this.lists_del_item(); |
|
||||||
this.lists_add(); |
|
||||||
}, |
|
||||||
|
|
||||||
lists_update: function() { |
|
||||||
this.lists_maxid(); |
|
||||||
this.lists_del_item(); |
|
||||||
AveAdmin.tooltip(); |
|
||||||
}, |
|
||||||
|
|
||||||
lists_maxid: function(id) { |
|
||||||
var maxid = 1; |
|
||||||
$('#multi_lists_triple_' + id).children('.multi_list_triple').each(function() { |
|
||||||
maxid = Math.max(maxid, parseInt($(this).attr("data-id")) + 1); |
|
||||||
}); |
|
||||||
return maxid; |
|
||||||
}, |
|
||||||
|
|
||||||
lists_del_item: function() { |
|
||||||
$('.multi_list_triple .DelButton').on('click', function(event) { |
|
||||||
event.preventDefault(); |
|
||||||
var id = $(this).attr('data-id'); |
|
||||||
jConfirm( |
|
||||||
list_del_conf, |
|
||||||
list_del_head, |
|
||||||
function(b) { |
|
||||||
if (b) { |
|
||||||
$('#list_' + id).remove(); |
|
||||||
} |
|
||||||
} |
|
||||||
); |
|
||||||
}); |
|
||||||
}, |
|
||||||
|
|
||||||
lists_add: function() { |
|
||||||
$('.AddButton').on('click', function(event) { |
|
||||||
event.preventDefault(); |
|
||||||
c_id = $(this).parent().parent('.multi_lists_triple').attr("data-id"); |
|
||||||
iid = MultiListTriple.lists_maxid(c_id); |
|
||||||
$('#multi_lists_triple_' + c_id + ':last').append( |
|
||||||
'<div class="multi_list_triple fix mb10" id="list_' + c_id + '_' + iid + '" data-id="' + iid + '">' + |
|
||||||
'<input class="mousetrap" type="text" value="" name="feld[' + c_id + '][' + iid + '][param]" placeholder="' + list_param + '" style="width: 200px;"/> <input type="text" class="mousetrap" value="" name="feld[' + c_id + '][' + iid + '][value]" placeholder="' + list_value + '" style="width: 200px;" /> <input type="text" class="mousetrap" value="" name="feld[' + c_id + '][' + iid + '][value2]" placeholder="' + list_value2 + '" style="width: 200px;" /> <a href="javascript:void(0);" data-id="' + c_id + '_' + iid + '" class="button redBtn topDir DelButton" title="' + list_del + '">×</a>' + |
|
||||||
'<div class="handle" style="float: left; display: inline-block; margin: 4px 7px; cursor: move;"><span class="icon_sprite ico_move"></span></div>' + |
|
||||||
'</div>' |
|
||||||
); |
|
||||||
|
|
||||||
MultiListTriple.lists_update(); |
|
||||||
}); |
|
||||||
}, |
|
||||||
|
|
||||||
lists_sortable: function() { |
|
||||||
$('.multi_lists_triple').sortable({ |
|
||||||
handle: ".handle", |
|
||||||
placeholder: "ui-state-highlight grey_bg" |
|
||||||
}); |
|
||||||
//$(".multi_lists_triple").disableSelection();
|
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
$(document).ready(function() { |
|
||||||
MultiListTriple.init(); |
|
||||||
}); |
|
@ -1,159 +1,159 @@ |
|||||||
<? |
<?php |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
// Мульти список |
// Мульти список |
||||||
function get_field_multi_select($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null) |
function get_field_multi_select($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; |
global $AVE_Template; |
||||||
|
|
||||||
$fld_dir = dirname(__FILE__) . '/'; |
$fld_dir = dirname(__FILE__) . '/'; |
||||||
$tpl_dir = $fld_dir . 'tpl/'; |
$tpl_dir = $fld_dir . 'tpl/'; |
||||||
$fld_name = basename($fld_dir); |
$fld_name = basename($fld_dir); |
||||||
|
|
||||||
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
||||||
|
|
||||||
$AVE_Template->config_load($lang_file, 'lang'); |
$AVE_Template->config_load($lang_file, 'lang'); |
||||||
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
||||||
$AVE_Template->config_load($lang_file, 'admin'); |
$AVE_Template->config_load($lang_file, 'admin'); |
||||||
|
|
||||||
$res = array(); |
$res = array(); |
||||||
|
|
||||||
switch ($action) |
switch ($action) |
||||||
{ |
{ |
||||||
case 'edit': |
case 'edit': |
||||||
$items = array(); |
$items = array(); |
||||||
|
|
||||||
$items = explode(',', $default); |
$items = explode(',', $default); |
||||||
|
|
||||||
$items = array_diff($items, array('')); |
$items = array_diff($items, array('')); |
||||||
|
|
||||||
@$field_value = unserialize($field_value); |
@$field_value = unserialize($field_value); |
||||||
|
|
||||||
$AVE_Template->assign('items', $items); |
$AVE_Template->assign('items', $items); |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
$AVE_Template->assign('field_value', $field_value); |
$AVE_Template->assign('field_value', $field_value); |
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
break; |
break; |
||||||
|
|
||||||
case 'doc': |
case 'doc': |
||||||
$items = (isset($field_value)) |
$items = (isset($field_value)) |
||||||
? unserialize($field_value) |
? unserialize($field_value) |
||||||
: array(); |
: array(); |
||||||
|
|
||||||
if ($items != false) |
if ($items != false) |
||||||
{ |
|
||||||
foreach($items as $item) |
|
||||||
{ |
{ |
||||||
$item = clean_php($item); |
foreach($items as $item) |
||||||
|
{ |
||||||
|
$item = clean_php($item); |
||||||
|
|
||||||
$field_param = explode('|', $item); |
$field_param = explode('|', $item); |
||||||
|
|
||||||
if ($item) |
if ($item) |
||||||
{ |
|
||||||
if ($tpl_empty) |
|
||||||
{ |
|
||||||
$item = $field_param[0]; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
{ |
||||||
$item = preg_replace_callback( |
if ($tpl_empty) |
||||||
'/\[tag:parametr:(\d+)\]/i', |
{ |
||||||
function($data) use($field_param) |
$item = $field_param[0]; |
||||||
{ |
} |
||||||
return $field_param[(int)$data[1]]; |
else |
||||||
}, |
{ |
||||||
$tpl |
$item = preg_replace_callback( |
||||||
); |
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
} |
} |
||||||
|
$res[] = $item; |
||||||
} |
} |
||||||
$res[] = $item; |
|
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc', $_tpl); |
||||||
|
|
||||||
if ($tpl_empty && $tpl_file) |
if ($tpl_empty && $tpl_file) |
||||||
{ |
{ |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
$AVE_Template->assign('field_value', $res); |
$AVE_Template->assign('field_value', $res); |
||||||
$AVE_Template->assign('rubric_id', $rubric_id); |
$AVE_Template->assign('rubric_id', $rubric_id); |
||||||
$AVE_Template->assign('default', $default); |
$AVE_Template->assign('default', $default); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
} |
} |
||||||
|
|
||||||
return (! empty($res)) |
return (! empty($res)) |
||||||
? implode(PHP_EOL, $res) |
? implode(PHP_EOL, $res) |
||||||
: $tpl; |
: $tpl; |
||||||
|
|
||||||
break; |
break; |
||||||
|
|
||||||
case 'req': |
case 'req': |
||||||
$items = (isset($field_value)) ? unserialize($field_value) : array(); |
$items = (isset($field_value)) ? unserialize($field_value) : array(); |
||||||
|
|
||||||
if ($items != false) |
if ($items != false) |
||||||
{ |
|
||||||
foreach($items as $item) |
|
||||||
{ |
{ |
||||||
$item = clean_php($item); |
foreach($items as $item) |
||||||
|
{ |
||||||
|
$item = clean_php($item); |
||||||
|
|
||||||
$field_param = explode('|', $item); |
$field_param = explode('|', $item); |
||||||
|
|
||||||
if ($item) |
if ($item) |
||||||
{ |
|
||||||
if ($tpl_empty) |
|
||||||
{ |
|
||||||
$item = $field_param[0]; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
{ |
||||||
$item = preg_replace_callback( |
if ($tpl_empty) |
||||||
'/\[tag:parametr:(\d+)\]/i', |
{ |
||||||
function($data) use($field_param) |
$item = $field_param[0]; |
||||||
{ |
} |
||||||
return $field_param[(int)$data[1]]; |
else |
||||||
}, |
{ |
||||||
$tpl |
$item = preg_replace_callback( |
||||||
); |
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
} |
} |
||||||
|
$res[] = $item; |
||||||
} |
} |
||||||
$res[] = $item; |
|
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req'); |
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req', $_tpl); |
||||||
|
|
||||||
if($tpl_empty && $tpl_file) |
if($tpl_empty && $tpl_file) |
||||||
{ |
{ |
||||||
$AVE_Template->assign('field_id', $field_id); |
$AVE_Template->assign('field_id', $field_id); |
||||||
$AVE_Template->assign('field_value', $res); |
$AVE_Template->assign('field_value', $res); |
||||||
$AVE_Template->assign('rubric_id', $rubric_id); |
$AVE_Template->assign('rubric_id', $rubric_id); |
||||||
$AVE_Template->assign('default', $default); |
$AVE_Template->assign('default', $default); |
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
return $AVE_Template->fetch($tpl_file); |
||||||
} |
} |
||||||
|
|
||||||
return (!empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
return (!empty($res)) ? implode(PHP_EOL, $res) : $tpl; |
||||||
break; |
break; |
||||||
|
|
||||||
case 'name': |
case 'name': |
||||||
return $AVE_Template->get_config_vars('name'); |
return $AVE_Template->get_config_vars('name'); |
||||||
break; |
break; |
||||||
|
|
||||||
} |
} |
||||||
|
|
||||||
return ($res ? $res : $field_value); |
return ($res ? $res : $field_value); |
||||||
} |
} |
||||||
?> |
?> |
@ -1,115 +1,123 @@ |
|||||||
<? |
<? |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
// Однострочное |
// Однострочное |
||||||
function get_field_single_line ($field_value, $action, $field_id = 0, $tpl = '', $tpl_empty = 0, &$maxlength = null, $document_fields = array(), $rubric_id = 0, $default = null) |
function get_field_single_line ($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_name = basename($fld_dir); |
|
||||||
|
|
||||||
$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'); |
|
||||||
|
|
||||||
switch ($action) |
|
||||||
{ |
{ |
||||||
case 'edit': |
global $AVE_Template; |
||||||
$AVE_Template->assign('field_dir', $fld_name); |
|
||||||
$AVE_Template->assign('field_id', $field_id); |
|
||||||
$AVE_Template->assign('field_value', $field_value); |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
|
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
break; |
|
||||||
|
|
||||||
case 'doc': |
|
||||||
|
|
||||||
$AVE_Template->config_load($lang_file, 'public'); |
|
||||||
|
|
||||||
if ($tpl_empty) |
|
||||||
{ |
|
||||||
$field_value = clean_php($field_value); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
$field_param = explode('|', $field_value); |
|
||||||
$field_value = preg_replace_callback( |
|
||||||
'/\[tag:parametr:(\d+)\]/i', |
|
||||||
function($data) use($field_param) |
|
||||||
{ |
|
||||||
return $field_param[(int)$data[1]]; |
|
||||||
}, |
|
||||||
$tpl |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc'); |
|
||||||
|
|
||||||
if($tpl_empty && $tpl_file) |
|
||||||
{ |
|
||||||
$AVE_Template->assign('field_value', $field_value); |
|
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
} |
|
||||||
|
|
||||||
return $field_value; |
|
||||||
break; |
|
||||||
|
|
||||||
case 'req': |
|
||||||
|
|
||||||
$AVE_Template->config_load($lang_file, 'public'); |
|
||||||
|
|
||||||
if ($tpl_empty) |
|
||||||
{ |
|
||||||
$field_value = clean_php($field_value); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
$field_param = explode('|', $field_value); |
|
||||||
$field_value = preg_replace_callback( |
|
||||||
'/\[tag:parametr:(\d+)\]/i', |
|
||||||
function($data) use($field_param) |
|
||||||
{ |
|
||||||
return $field_param[(int)$data[1]]; |
|
||||||
}, |
|
||||||
$tpl |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req'); |
|
||||||
|
|
||||||
if($tpl_empty && $tpl_file) |
|
||||||
{ |
|
||||||
$AVE_Template->assign('field_value', $field_value); |
|
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
} |
|
||||||
|
|
||||||
return $field_value; |
$fld_dir = dirname(__FILE__) . '/'; |
||||||
break; |
$tpl_dir = $fld_dir . 'tpl/'; |
||||||
|
$fld_name = basename($fld_dir); |
||||||
|
|
||||||
case 'save': |
$lang_file = $fld_dir . 'lang/' . (defined('ACP') |
||||||
return $field_value; |
? $_SESSION['admin_language'] |
||||||
|
: $_SESSION['user_language']) . '.txt'; |
||||||
|
|
||||||
case 'name': |
$AVE_Template->config_load($lang_file, 'lang'); |
||||||
return $AVE_Template->get_config_vars('name'); |
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); |
||||||
|
$AVE_Template->config_load($lang_file, 'admin'); |
||||||
|
|
||||||
default: return $field_value; |
switch ($action) |
||||||
} |
{ |
||||||
} |
case 'edit': |
||||||
|
$AVE_Template->assign('field_dir', $fld_name); |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); |
||||||
|
|
||||||
?> |
return $AVE_Template->fetch($tpl_file); |
||||||
|
break; |
||||||
|
|
||||||
|
case 'doc': |
||||||
|
|
||||||
|
$AVE_Template->config_load($lang_file, 'public'); |
||||||
|
|
||||||
|
if ($tpl_empty) |
||||||
|
{ |
||||||
|
$field_value = clean_php($field_value); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$field_param = explode('|', $field_value); |
||||||
|
$field_value = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function ($data) use ($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc', $_tpl); |
||||||
|
|
||||||
|
if ($tpl_empty && $tpl_file) |
||||||
|
{ |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_default', $default); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
|
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
} |
||||||
|
|
||||||
|
return $field_value; |
||||||
|
break; |
||||||
|
|
||||||
|
case 'req': |
||||||
|
|
||||||
|
$AVE_Template->config_load($lang_file, 'public'); |
||||||
|
|
||||||
|
if ($tpl_empty) |
||||||
|
{ |
||||||
|
$field_value = clean_php($field_value); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$field_param = explode('|', $field_value); |
||||||
|
$field_value = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req', $_tpl); |
||||||
|
|
||||||
|
if ($tpl_empty && $tpl_file) |
||||||
|
{ |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_default', $default); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
|
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
} |
||||||
|
|
||||||
|
return $field_value; |
||||||
|
break; |
||||||
|
|
||||||
|
case 'save': |
||||||
|
return $field_value; |
||||||
|
|
||||||
|
case 'name': |
||||||
|
return $AVE_Template->get_config_vars('name'); |
||||||
|
|
||||||
|
default: |
||||||
|
return $field_value; |
||||||
|
} |
||||||
|
} |
||||||
|
?> |
@ -1 +1,5 @@ |
|||||||
|
{* |
||||||
|
$field_id |
||||||
|
$field_value |
||||||
|
*} |
||||||
{$field_value} |
{$field_value} |
@ -1 +1,5 @@ |
|||||||
|
{* |
||||||
|
$field_id |
||||||
|
$field_value |
||||||
|
*} |
||||||
{$field_value} |
{$field_value} |
@ -1,106 +1,115 @@ |
|||||||
<? |
<?php |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms |
* AVE.cms |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @version 3.x |
* @version 3.x |
||||||
* @filesource |
* @filesource |
||||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru |
||||||
* |
* |
||||||
* @license GPL v.2 |
* @license GPL v.2 |
||||||
*/ |
*/ |
||||||
|
|
||||||
// Однострочное числовое |
// Однострочное числовое |
||||||
function get_field_single_line_numeric ($field_value, $action, $field_id = 0, $tpl = '', $tpl_empty = 0, &$maxlength = null, $document_fields = array(), $rubric_id = 0, $default = null) |
function get_field_single_line_numeric ($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_name = basename($fld_dir); |
|
||||||
|
|
||||||
$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'); |
|
||||||
|
|
||||||
switch ($action) |
|
||||||
{ |
{ |
||||||
case 'edit': |
global $AVE_Template; |
||||||
$AVE_Template->assign('field_dir', $fld_name); |
|
||||||
$AVE_Template->assign('field_id', $field_id); |
|
||||||
$AVE_Template->assign('field_value', $field_value); |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
|
||||||
|
|
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
break; |
|
||||||
|
|
||||||
case 'doc': |
|
||||||
if ($tpl_empty) |
|
||||||
{ |
|
||||||
$field_value = clean_php($field_value); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
$field_param = explode('|', $field_value); |
|
||||||
$field_value = preg_replace_callback( |
|
||||||
'/\[tag:parametr:(\d+)\]/i', |
|
||||||
function($data) use($field_param) |
|
||||||
{ |
|
||||||
return $field_param[(int)$data[1]]; |
|
||||||
}, |
|
||||||
$tpl |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc'); |
|
||||||
|
|
||||||
if($tpl_empty && $tpl_file){ |
|
||||||
$AVE_Template->assign('field_value', $field_value); |
|
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
} |
|
||||||
return $field_value; |
|
||||||
break; |
|
||||||
|
|
||||||
case 'req': |
|
||||||
if ($tpl_empty) |
|
||||||
{ |
|
||||||
$field_value = clean_php($field_value); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
$field_param = explode('|', $field_value); |
|
||||||
$field_value = preg_replace_callback( |
|
||||||
'/\[tag:parametr:(\d+)\]/i', |
|
||||||
function($data) use($field_param) |
|
||||||
{ |
|
||||||
return $field_param[(int)$data[1]]; |
|
||||||
}, |
|
||||||
$tpl |
|
||||||
); |
|
||||||
} |
|
||||||
|
|
||||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req'); |
|
||||||
|
|
||||||
if($tpl_empty && $tpl_file){ |
|
||||||
$AVE_Template->assign('field_value', $field_value); |
|
||||||
return $AVE_Template->fetch($tpl_file); |
|
||||||
} |
|
||||||
return $field_value; |
|
||||||
break; |
|
||||||
|
|
||||||
case 'save': |
$fld_dir = dirname(__FILE__) . '/'; |
||||||
$field_value = preg_replace('/[^\d.]/','',$field_value); |
$tpl_dir = $fld_dir . 'tpl/'; |
||||||
return $field_value; |
$fld_name = basename($fld_dir); |
||||||
|
|
||||||
case 'name': |
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt'; |
||||||
return $AVE_Template->get_config_vars('name'); |
|
||||||
|
|
||||||
default: return $field_value; |
$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': |
||||||
|
$AVE_Template->assign('field_dir', $fld_name); |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin'); |
||||||
|
|
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
break; |
||||||
|
|
||||||
|
case 'doc': |
||||||
|
if ($tpl_empty) |
||||||
|
{ |
||||||
|
$field_value = clean_php($field_value); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$field_param = explode('|', $field_value); |
||||||
|
$field_value = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc', $_tpl); |
||||||
|
|
||||||
|
if ($tpl_empty && $tpl_file) |
||||||
|
{ |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_default', $default); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
|
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
} |
||||||
|
|
||||||
|
return $field_value; |
||||||
|
break; |
||||||
|
|
||||||
|
case 'req': |
||||||
|
if ($tpl_empty) |
||||||
|
{ |
||||||
|
$field_value = clean_php($field_value); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$field_param = explode('|', $field_value); |
||||||
|
$field_value = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req', $_tpl); |
||||||
|
|
||||||
|
if ($tpl_empty && $tpl_file) |
||||||
|
{ |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
$AVE_Template->assign('field_default', $default); |
||||||
|
|
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
} |
||||||
|
|
||||||
|
return $field_value; |
||||||
|
break; |
||||||
|
|
||||||
|
case 'save': |
||||||
|
$field_value = preg_replace('/[^\d.]/','',$field_value); |
||||||
|
return $field_value; |
||||||
|
|
||||||
|
case 'name': |
||||||
|
return $AVE_Template->get_config_vars('name'); |
||||||
|
|
||||||
|
default: return $field_value; |
||||||
|
} |
||||||
|
} |
||||||
|
?> |
@ -0,0 +1,134 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
/** |
||||||
|
* 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_single_line_numeric_three ($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_name = basename($fld_dir); |
||||||
|
|
||||||
|
$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'); |
||||||
|
|
||||||
|
switch ($action) |
||||||
|
{ |
||||||
|
case 'edit': |
||||||
|
if (! empty($field_value)) |
||||||
|
$field_value = explode('|', $field_value); |
||||||
|
|
||||||
|
$AVE_Template->assign('field_dir', $fld_name); |
||||||
|
$AVE_Template->assign('field_id', $field_id); |
||||||
|
$AVE_Template->assign('field_value', $field_value); |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); |
||||||
|
|
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
break; |
||||||
|
|
||||||
|
case 'doc': |
||||||
|
|
||||||
|
if ($tpl_empty) |
||||||
|
{ |
||||||
|
$value = array(); |
||||||
|
|
||||||
|
if (! empty($field_value)) |
||||||
|
{ |
||||||
|
$value = array_diff(explode('|', $field_value), array('')); |
||||||
|
$value = array_map('clean_php', $value); |
||||||
|
} |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$field_param = explode('|', $field_value); |
||||||
|
$field_value = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc', $_tpl); |
||||||
|
|
||||||
|
if ($tpl_empty && $tpl_file) |
||||||
|
{ |
||||||
|
$AVE_Template->assign('field_value', $value); |
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
} |
||||||
|
|
||||||
|
return $field_value; |
||||||
|
break; |
||||||
|
|
||||||
|
case 'req': |
||||||
|
if ($tpl_empty) |
||||||
|
{ |
||||||
|
$value = array(); |
||||||
|
|
||||||
|
if (! empty($field_value)) |
||||||
|
{ |
||||||
|
$value = explode('|', $field_value); |
||||||
|
$value = array_map('clean_php', $value); |
||||||
|
} |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$field_param = explode('|', $field_value); |
||||||
|
$field_value = preg_replace_callback( |
||||||
|
'/\[tag:parametr:(\d+)\]/i', |
||||||
|
function($data) use($field_param) |
||||||
|
{ |
||||||
|
return $field_param[(int)$data[1]]; |
||||||
|
}, |
||||||
|
$tpl |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req', $_tpl); |
||||||
|
|
||||||
|
if ($tpl_empty && $tpl_file) |
||||||
|
{ |
||||||
|
$AVE_Template->assign('field_value', $value); |
||||||
|
return $AVE_Template->fetch($tpl_file); |
||||||
|
} |
||||||
|
|
||||||
|
return $field_value; |
||||||
|
break; |
||||||
|
|
||||||
|
case 'save': |
||||||
|
$save = array(); |
||||||
|
|
||||||
|
if (is_array($field_value)) |
||||||
|
{ |
||||||
|
foreach ($field_value AS $k => $v) |
||||||
|
{ |
||||||
|
$save[] = preg_replace('/[^\d.]/', '', $v); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
return empty($save) ? '' : implode('|', $save); |
||||||
|
|
||||||
|
case 'name': |
||||||
|
return $AVE_Template->get_config_vars('name'); |
||||||
|
|
||||||
|
default: return $field_value; |
||||||
|
} |
||||||
|
} |
||||||
|
?> |
@ -0,0 +1,26 @@ |
|||||||
|
$(document).ready(function() { |
||||||
|
$(".field_numeric").on('keydown', function(event) { |
||||||
|
var num_dot = $(this).attr('data-num-dot'); |
||||||
|
var keyCode = window.event ? event.keyCode : event.which; |
||||||
|
var foo = 0; |
||||||
|
// prevent if already dot
|
||||||
|
if (keyCode != 8 && keyCode != 46) { |
||||||
|
if ((foo == 0) && (keyCode != 190) && (keyCode < 96 || keyCode > 105) && (keyCode < 46 || keyCode > 59)) { |
||||||
|
event.preventDefault(); |
||||||
|
} // prevent if not number/dot
|
||||||
|
} |
||||||
|
if ($(this).val().indexOf('.') > -1) { |
||||||
|
if (keyCode == 190) event.preventDefault(); |
||||||
|
} |
||||||
|
$(this).keyup(function() { |
||||||
|
this.value = this.value.replace(/[^0-9.]/i, ""); |
||||||
|
if($(this).val().indexOf('.')!=-1){ |
||||||
|
if($(this).val().split(".")[1].length >= num_dot){ |
||||||
|
if( isNaN( parseFloat( this.value ) ) ) return; |
||||||
|
this.value = parseFloat(this.value).toFixed(num_dot); |
||||||
|
} |
||||||
|
} |
||||||
|
return this; |
||||||
|
}); |
||||||
|
}); |
||||||
|
}); |
@ -0,0 +1,3 @@ |
|||||||
|
[admin] |
||||||
|
|
||||||
|
name = "Едноредово (Числово)" |
@ -0,0 +1,2 @@ |
|||||||
|
[admin] |
||||||
|
name = "Jednořádkový (Číselný)" |
@ -0,0 +1,2 @@ |
|||||||
|
[admin] |
||||||
|
name = "Single line (Numbers)" |
@ -0,0 +1,2 @@ |
|||||||
|
[admin] |
||||||
|
name = "Linia pojedyncza (Numeryczne)" |
@ -0,0 +1,2 @@ |
|||||||
|
[admin] |
||||||
|
name = "Однострочное (Числовое тройное)" |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue