From e408e21ae797b83916047e75fc4e84d22bd4b0e2 Mon Sep 17 00:00:00 2001 From: "M@dD3n" Date: Thu, 29 Aug 2019 09:08:19 +0300 Subject: [PATCH] Fixes --- class/class.docs.php | 28 ++++++---------------------- fields/tags/field.php | 2 +- functions/func.documents.php | 2 +- install/index.php | 26 ++++++++++++++++++++------ 4 files changed, 28 insertions(+), 30 deletions(-) diff --git a/class/class.docs.php b/class/class.docs.php index e7ef1aa..0723acc 100755 --- a/class/class.docs.php +++ b/class/class.docs.php @@ -1261,19 +1261,11 @@ // Забираем параметры рубрики $_rubric = $this->_get_rubric($rubric_id); - $_data = [ - 'rubric_id' => $rubric_id, - 'document_id' => $document_id, - 'data' => $data, - 'requests' => $_REQUEST - ]; - + // Регистрируем триггер перед сохранением Hooks::register('DocumentBeforeSave', 'DocumentBeforeSave', 100); // Запускаем триггер перед сохранением, возвращаем $data для дальнейшего сохранения - $data = Hooks::trigger('DocumentBeforeSave', $_data); - - unset ($_data); + $data = Hooks::trigger('DocumentBeforeSave', $data); // Выполняем стартовый код рубрики if ($rubric_code) @@ -1559,7 +1551,7 @@ // Если пришел вызов поля, который связан с модулем if (isset($data['field_module'])) { - while(list($mod_key, $mod_val) = each($data['field_module'])) + foreach ($data['field_module'] AS $mod_key => $mod_val) { require_once(BASE_DIR . '/modules/' . $mod_val . '/document.php'); @@ -1826,19 +1818,11 @@ ? $data['field_module'] : ''; + // Регистрируем триггер после сохранением Hooks::register('DocumentAfterSave', 'DocumentAfterSave', 100); - $_data = [ - 'rubric_id' => $rubric_id, - 'document_id' => $document_id, - 'data' => $data, - 'field_module' => $field_module - ]; - // Запускаем триггер после сохранения - Hooks::trigger('DocumentAfterSave', $_data); - - unset ($_data); + Hooks::trigger('DocumentAfterSave', $data); // Выполняем код рубрики, после сохранения if ($rubric_code) @@ -1857,7 +1841,7 @@ $AVE_DB->clearCache('rqe_' . $document_id); // Элемент запроса $AVE_DB->clearCacheUrl('url_' . $hash_url); // ЮРЛ - unset ($_rubric, $fields); + unset ($_rubric, $fields, $data); // Дополнительные обработки if ($generate) diff --git a/fields/tags/field.php b/fields/tags/field.php index 89ec4a1..6d05fec 100644 --- a/fields/tags/field.php +++ b/fields/tags/field.php @@ -213,7 +213,7 @@ $AVE_Document = new AVE_Document(); } - foreach ($data['data']['feld'] AS $_k => $_v) + foreach ($data['feld'] AS $_k => $_v) { if (array_key_exists('tags', $_v)) { diff --git a/functions/func.documents.php b/functions/func.documents.php index 2d5bde6..ec5e35d 100644 --- a/functions/func.documents.php +++ b/functions/func.documents.php @@ -147,7 +147,7 @@ function DocumentBeforeSave ($data) { - return $data['data']; + return $data; } diff --git a/install/index.php b/install/index.php index 47c58da..efda572 100644 --- a/install/index.php +++ b/install/index.php @@ -41,7 +41,7 @@ */ function check_mysql_query ($mysql_connect, $sql = '') { - if ($sql != '' && $link != '') + if ($sql != '' && $mysql_connect != '') if (@mysqli_query($mysql_connect, $sql)) return true; @@ -449,6 +449,16 @@ $connect = check_db_connect($_POST['dbhost'], $_POST['dbuser'], $_POST['dbpass'], $_POST['dbname']); + $config = [ + 'dbhost' => $_POST['dbhost'], + 'dbuser' => $_POST['dbuser'], + 'dbpass' => $_POST['dbpass'], + 'dbname' => $_POST['dbname'], + 'dbpref' => $_POST['dbpref'], + 'dbport' => null, + 'dbsock' => null + ]; + if (true === $connect && false === $check_installed) { if (! @is_writeable(BASE_DIR . '/config/db.config.php')) @@ -476,18 +486,22 @@ @fclose($fp); + //-- Если параметры не указаны, прерываем работу + if (! file_exists(BASE_DIR . '/config/db.config.php') || ! filesize(BASE_DIR . '/config/db.config.php')) + die('Not writing config file'); + // Класс для работы с БД require_once (BASE_DIR . '/class/class.database.php'); + //-- Подключаем конфигурационный файл с параметрами подключения + require_once (BASE_DIR . '/config/db.config.php'); + //-- Если не существует объекта по работе с БД if (! isset($AVE_DB)) { - //-- Подключаем конфигурационный файл с параметрами подключения - require_once (BASE_DIR . '/config/db.config.php'); - //-- Если параметры не указаны, прерываем работу - if (! isset($config)) - exit; + if (! isset($config) || empty($config)) + die('No config data'); //-- Если константа префикса таблиц не задана, принудительно определяем ее на основании параметров в файле db.config.php if (! defined('PREFIX'))