From 6e81d5b8976eb20a4b7aeddb456b98b7c09b12e2 Mon Sep 17 00:00:00 2001 From: "M@d D3n" Date: Wed, 8 Aug 2018 15:18:20 +0300 Subject: [PATCH] Fixes --- class/class.core.php | 2 +- class/class.request.php | 6 +- fields/doc_from_rub_search/field.php | 2 +- fields/tags/field.php | 456 ++++++++++++++------------- functions/func.watermarks.php | 4 +- inc/thumb.php | 3 +- 6 files changed, 241 insertions(+), 232 deletions(-) diff --git a/class/class.core.php b/class/class.core.php index 9523278..79bcdc5 100755 --- a/class/class.core.php +++ b/class/class.core.php @@ -1817,7 +1817,7 @@ //-- Если есть ложный URL указываем его if ($fake_url) { - $check_url = preg_replace('/\/(a|art)?page-\d/i', '', $check_url); + $check_url = preg_replace('/\/(a|art)?page-\d+/i', '', $check_url); $_GET['doc'] = $_REQUEST['doc'] = $check_url; $this->curentdoc->document_alias = $check_url; diff --git a/class/class.request.php b/class/class.request.php index 7d8fc41..d1434ac 100644 --- a/class/class.request.php +++ b/class/class.request.php @@ -789,7 +789,7 @@ $AVE_DB->Query(" UPDATE - " . PREFIX . "_requests + " . PREFIX . "_request SET request_changed = '" . time() . "' WHERE @@ -855,7 +855,7 @@ $AVE_DB->Query(" UPDATE - " . PREFIX . "_requests + " . PREFIX . "_request SET request_changed = '" . time() . "' WHERE @@ -923,7 +923,7 @@ $AVE_DB->Query(" UPDATE - " . PREFIX . "_requests + " . PREFIX . "_request SET request_changed = '" . time() . "' WHERE diff --git a/fields/doc_from_rub_search/field.php b/fields/doc_from_rub_search/field.php index 362c298..9232794 100644 --- a/fields/doc_from_rub_search/field.php +++ b/fields/doc_from_rub_search/field.php @@ -40,7 +40,7 @@ $items = array_values(array_diff($items, array(''))); } - if(! empty($items)) + if (! empty($items)) { foreach($items as $k => $v) { diff --git a/fields/tags/field.php b/fields/tags/field.php index 94da345..36ebab7 100644 --- a/fields/tags/field.php +++ b/fields/tags/field.php @@ -1,224 +1,234 @@ - 0 - ? $rubric_id - : $_REQUEST['rubric_id'] - ? (int)$_REQUEST['rubric_id'] - : $AVE_DB->Query("SELECT rubric_id FROM ".PREFIX."_documents WHERE Id = '".$_REQUEST['Id']."'")->GetCell(); - - $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': - $sql = " - SELECT DISTINCT - tag - FROM - ".PREFIX."_document_tags - WHERE - rubric_id = '".$rubric_id."' - ORDER BY tag ASC - "; - - $query = $AVE_DB->Query($sql); - - $field_tags = array(); - - while ($row = $query->GetCell()) - array_push($field_tags, $row); - - $field_value = explode('|', $field_value); - $field_value = array_diff($field_value, array('')); - - $total = count($field_tags); - - $field_points = array(ceil($total/4), 2*ceil($total/4), 3*ceil($total/4)); - - $AVE_Template->assign('field_points', $field_points); - $AVE_Template->assign('field_tags', $field_tags); - $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 = explode('|', $field_value); - $field_value = array_diff($field_value, array('')); - $field_value = array_values($field_value); - } - else - { - $field_param = explode('|', $field_value); - $field_param = array_diff($field_param, array('')); - $field_param = array_values($field_param); - $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 = explode('|', $field_value); - $field_value = array_diff($field_value, array('')); - $field_value = array_values($field_value); - } - else - { - $field_param = explode('|', $field_value); - $field_param = array_diff($field_param, array('')); - $field_param = array_values($field_param); - $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': - // Регистрируем хук - Hooks::register('DocumentAfterSave', 'afterTagsSave', 10); - - $field_value = tagsValue($field_value); - - if (! empty($field_value)) - $field_value = '|' . implode('|', $field_value) . '|'; - - return $field_value; - - case 'name': - return $AVE_Template->get_config_vars('name'); - - default: - return $field_value; - } - } - - if (! function_exists('tagsValue')) - { - function tagsValue ($field_value) - { - // Если есть выделенные теги - if (! empty($field_value['tags'])) - $tags = $field_value['tags']; - else - $tags = array(); - - unset ($tags['other']); - - // Если есть теги через зяпятую - if (! empty($field_value['tags']['other'])) - { - $tags_new = explode(',', $field_value['tags']['other']); - $tags_new = array_map('trim', $tags_new); - } - else - $tags_new = array(); - - // Совмещаем массивы - $tags = array_merge($tags, $tags_new); - - // Делаем уникальные значения - $field_value = array_unique($tags); - - return $field_value; - } - } - - if (! function_exists('afterTagsSave')) - { - function afterTagsSave ($data) - { - global $AVE_Document; - - foreach ($data['data']['feld'] AS $_k => $_v) - { - if (array_key_exists('tags', $_v)) - { - $tags = tagsValue($_v); - - if (! empty($tags)) - { - $tags = implode(',', $tags); - $AVE_Document->saveTags($data['document_id'], $data['rubric_id'], $tags); - } - } - } - } - } + 0 + ? $rubric_id + : $_REQUEST['rubric_id'] + ? (int)$_REQUEST['rubric_id'] + : $AVE_DB->Query("SELECT rubric_id FROM ".PREFIX."_documents WHERE Id = '".$_REQUEST['Id']."'")->GetCell(); + + $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': + $sql = " + SELECT DISTINCT + tag + FROM + ".PREFIX."_document_tags + WHERE + rubric_id = '".$rubric_id."' + ORDER BY tag ASC + "; + + $query = $AVE_DB->Query($sql); + + $field_tags = array(); + + while ($row = $query->GetCell()) + array_push($field_tags, $row); + + $field_value = explode('|', $field_value); + $field_value = array_diff($field_value, array('')); + + $total = count($field_tags); + + $field_points = array(ceil($total/4), 2*ceil($total/4), 3*ceil($total/4)); + + $AVE_Template->assign('field_points', $field_points); + $AVE_Template->assign('field_tags', $field_tags); + $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 = explode('|', $field_value); + $field_value = array_diff($field_value, array('')); + $field_value = array_values($field_value); + } + else + { + $field_param = explode('|', $field_value); + $field_param = array_diff($field_param, array('')); + $field_param = array_values($field_param); + $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 = explode('|', $field_value); + $field_value = array_diff($field_value, array('')); + $field_value = array_values($field_value); + } + else + { + $field_param = explode('|', $field_value); + $field_param = array_diff($field_param, array('')); + $field_param = array_values($field_param); + $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': + // Регистрируем хук + Hooks::register('DocumentAfterSave', 'afterTagsSave', 10); + + $field_value = tagsValue($field_value); + + if (! empty($field_value)) + $field_value = '|' . implode('|', $field_value) . '|'; + + return $field_value; + + case 'name': + return $AVE_Template->get_config_vars('name'); + + default: + return $field_value; + } + } + + if (! function_exists('tagsValue')) + { + function tagsValue ($field_value) + { + // Если есть выделенные теги + if (! empty($field_value['tags'])) + $tags = $field_value['tags']; + else + $tags = array(); + + unset ($tags['other']); + + // Если есть теги через зяпятую + if (! empty($field_value['tags']['other'])) + { + $tags_new = explode(',', $field_value['tags']['other']); + $tags_new = array_map('trim', $tags_new); + } + else + $tags_new = array(); + + // Совмещаем массивы + $tags = array_merge($tags, $tags_new); + + // Делаем уникальные значения + $field_value = array_unique($tags); + + if (empty($field_value)) + $field_value = ''; + + return $field_value; + } + } + + if (! function_exists('afterTagsSave')) + { + function afterTagsSave ($data) + { + global $AVE_Document; + + if (! $AVE_Document) + { + require_once BASE_DIR . '/class/class.docs.php'; + + $AVE_Document = new AVE_Document(); + } + + foreach ($data['data']['feld'] AS $_k => $_v) + { + if (array_key_exists('tags', $_v)) + { + $tags = tagsValue($_v); + + if (! empty($tags)) + { + $tags = implode(',', $tags); + $AVE_Document->saveTags($data['document_id'], $data['rubric_id'], $tags); + } + } + } + } + } ?> \ No newline at end of file diff --git a/functions/func.watermarks.php b/functions/func.watermarks.php index 8cd6901..a41db52 100644 --- a/functions/func.watermarks.php +++ b/functions/func.watermarks.php @@ -54,7 +54,7 @@ * @param int $transparency Прозарчность * @return string link */ - function watermarks($file, $position='center', $transparency=100) + function watermarks ($file, $position='center', $transparency=100) { global $AVE_DB; @@ -76,7 +76,7 @@ $copyPath = $watermarkDir . '/' . trim($file_info['dirname'], '/'); $copyName = $imageName; - if (! file_exists($watermarkDir . $file)) + if (file_exists($watermarkDir . $file)) return $file; if (! is_dir($watermarkDir)) diff --git a/inc/thumb.php b/inc/thumb.php index be7cd16..41f398d 100644 --- a/inc/thumb.php +++ b/inc/thumb.php @@ -14,7 +14,6 @@ if(! defined('BASE_DIR')) define('BASE_DIR', str_replace("\\", "/", dirname(dirname(__FILE__)))); - if (! function_exists('iptc_make_tag')) { function iptc_make_tag($rec, $data, $value) @@ -78,7 +77,7 @@ $allowedExt = array('jpg', 'jpeg', 'png', 'gif', 'JPG', 'JPEG', 'PNG', 'GIF'); //-- Разрешенные размеры миниатюр - $allowedSize = (defined(THUMBNAIL_SIZES) && THUMBNAIL_SIZES != '') + $allowedSize = (defined('THUMBNAIL_SIZES') && THUMBNAIL_SIZES != '') ? explode(',', trim(THUMBNAIL_SIZES)) : array();