diff --git a/class/class.database.php b/class/class.database.php index 837c010..f4f1c1d 100755 --- a/class/class.database.php +++ b/class/class.database.php @@ -1545,6 +1545,25 @@ } + /** + * Метод, предназначенный для очищения кеша запросов + * + * @param $doc_id + * @param $hash + */ + public function clearDocument($doc_id, $hash = null) + { + $this->clearCache('doc_' . $doc_id); // Прочее + $this->clearCache('fld_' . $doc_id); // Поля + $this->clearCache('cmd_' . $doc_id); // Компиляция + $this->clearCache('brd_' . $doc_id); // Хлебные крошки + $this->clearCache('rqe_' . $doc_id); // Элемент запроса + + if ($hash) + $this->clearCacheUrl('url_' . $hash); // ЮРЛ + } + + /* |-------------------------------------------------------------------------------------- | Перефоратирует текст запроса diff --git a/class/class.docs.php b/class/class.docs.php index 0723acc..404559e 100755 --- a/class/class.docs.php +++ b/class/class.docs.php @@ -1234,6 +1234,7 @@ * * @return int|bool Возвращает номер документа если все удачно или false если все плохо */ + function documentSave ($rubric_id, $document_id, $data, $update_non_exists_fields = false, $rubric_code = true, $revisions = true, $logs = true, $generate = true) { global $AVE_DB, $AVE_Template; @@ -1834,14 +1835,9 @@ $hash_url = md5($data['document_alias']); // Чистим кеш - $AVE_DB->clearCache('doc_' . $document_id); // Прочее - $AVE_DB->clearCache('fld_' . $document_id); // Поля - $AVE_DB->clearCache('cmd_' . $document_id); // Компиляция - $AVE_DB->clearCache('brd_' . $document_id); // Хлебные крошки - $AVE_DB->clearCache('rqe_' . $document_id); // Элемент запроса - $AVE_DB->clearCacheUrl('url_' . $hash_url); // ЮРЛ + $AVE_DB->clearDocument($document_id, $hash_url); - unset ($_rubric, $fields, $data); + unset ($_rubric, $fields); // Дополнительные обработки if ($generate) @@ -1850,7 +1846,6 @@ return $document_id; } - /** * Метод, предназначенный для добавления нового документа в БД * @@ -2826,10 +2821,7 @@ $hash_url = md5($row->document_alias); // Чистим кеш - $AVE_DB->clearCache('doc_' . $document_id); // Прочее - $AVE_DB->clearCache('cmd_' . $document_id); // Компиляция - $AVE_DB->clearCache('rqe_' . $document_id); // Элемент запроса - $AVE_DB->clearCacheUrl('url_' . $hash_url); // ЮРЛ + $AVE_DB->clearDocument($document_id, $hash_url); // Сохраняем системное сообщение в журнал reportLog('Положил документ в корзину (' . $document_id . ')'); @@ -2873,10 +2865,7 @@ $hash_url = md5($row->document_alias); // Чистим кеш - $AVE_DB->clearCache('doc_' . $document_id); // Прочее - $AVE_DB->clearCache('cmd_' . $document_id); // Компиляция - $AVE_DB->clearCache('rqe_' . $document_id); // Элемент запроса - $AVE_DB->clearCacheUrl('url_' . $hash_url); // ЮРЛ + $AVE_DB->clearDocument($document_id, $hash_url); // Выполняем обновление страницы header('Location:index.php?do=docs'.(empty($_REQUEST['rubric_id']) ? '' : '&rubric_id='.$_REQUEST['rubric_id']).'&cp=' . SESSION); @@ -2928,12 +2917,7 @@ $hash_url = md5($row->document_alias); // Чистим кеш - $AVE_DB->clearCache('doc_' . $document_id); // Прочее - $AVE_DB->clearCache('fld_' . $document_id); // Поля - $AVE_DB->clearCache('cmd_' . $document_id); // Компиляция - $AVE_DB->clearCache('brd_' . $document_id); // Хлебные крошки - $AVE_DB->clearCache('rqe_' . $document_id); // Элемент запроса - $AVE_DB->clearCacheUrl('url_' . $hash_url); // ЮРЛ + $AVE_DB->clearDocument($document_id, $hash_url); // Сохраняем системное сообщение в журнал reportLog('Удалил документ '. $row->document_title . ' (ID: ' . $document_id . ')'); @@ -3048,10 +3032,7 @@ $hash_url = md5($document->document_alias); // Чистим кеш - $AVE_DB->clearCache('doc_' . $document_id); // Прочее - $AVE_DB->clearCache('cmd_' . $document_id); // Компиляция - $AVE_DB->clearCache('rqe_' . $document_id); // Элемент запроса - $AVE_DB->clearCacheUrl('url_' . $hash_url); // ЮРЛ + $AVE_DB->clearDocument($document_id, $hash_url); // Сохраняем системное сообщение в журнал reportLog($_SESSION['user_name'] . ' - ' . (($openclose==1) ? $AVE_Template->get_config_vars('DOC_DOCUMENT_ACT') : $AVE_Template->get_config_vars('DOC_DOCUMENT_DISACT')) . ' ' . $AVE_Template->get_config_vars('DOC_DOCUMENT_DOC') . ' (' . $document_id . ')', 2, 2); @@ -3085,10 +3066,7 @@ $hash_url = md5($document->document_alias); // Чистим кеш - $AVE_DB->clearCache('doc_' . $document_id); // Прочее - $AVE_DB->clearCache('cmd_' . $document_id); // Компиляция - $AVE_DB->clearCache('rqe_' . $document_id); // Элемент запроса - $AVE_DB->clearCacheUrl('url_' . $hash_url); // ЮРЛ + $AVE_DB->clearDocument($document_id, $hash_url); exit; @@ -3098,10 +3076,7 @@ $hash_url = md5($document->document_alias); // Чистим кеш - $AVE_DB->clearCache('doc_' . $document_id); // Прочее - $AVE_DB->clearCache('cmd_' . $document_id); // Компиляция - $AVE_DB->clearCache('rqe_' . $document_id); // Элемент запроса - $AVE_DB->clearCacheUrl('url_' . $hash_url); // ЮРЛ + $AVE_DB->clearDocument($document_id, $hash_url); // Выполняем обновление страницы header('Location:index.php?do=docs'.(empty($_REQUEST['rubric_id']) ? '' : '&rubric_id='.$_REQUEST['rubric_id']).'&cp=' . SESSION); @@ -3349,11 +3324,7 @@ "); // Чистим кеш - $AVE_DB->clearCache('doc_' . $document_id); // Прочее - $AVE_DB->clearCache('fld_' . $document_id); // Поля - $AVE_DB->clearCache('cmd_' . $document_id); // Компиляция - $AVE_DB->clearCache('brd_' . $document_id); // Хлебные крошки - $AVE_DB->clearCache('rqe_' . $document_id); // Элемент запроса + $AVE_DB->clearDocument($document_id); echo ''; } @@ -3426,11 +3397,7 @@ } // Чистим кеш - $AVE_DB->clearCache('doc_' . $document_id); // Прочее - $AVE_DB->clearCache('fld_' . $document_id); // Поля - $AVE_DB->clearCache('cmd_' . $document_id); // Компиляция - $AVE_DB->clearCache('brd_' . $document_id); // Хлебные крошки - $AVE_DB->clearCache('rqe_' . $document_id); // Элемент запроса + $AVE_DB->clearDocument($document_id); // Формируем ряд переменых и отображаем страницу с выбором рубрики $AVE_Template->assign('fields', $fields);