$strPages = strings::generatePage($allRecords, $offset, $retFields['records'], $path, true); // формируем странциы $smarty->assignByRef('arrNewses', $arrNewses); //передаем в шаблон общее количество записей $smarty->assignByRef('allRecords', $allRecords); //передаем в шаблон строку сформированных страниц $smarty->assignByRef('strPages', $strPages); } elseif ($arrActions['comments']) { // инициируем "Наименование страницы" отображаемое в форме $arrNamePage[] = array('name' => MENU_COMMENTS, 'link' => false); $newsComments = new newsComments(); /** Массовое удаление **/ if (!empty($_POST['action']) && !empty($_POST['comments'])) { if ('deleted' === $_POST['action']) { $strWhere = 'id IN (' . implode(',', secure::escQuoteData(array_keys($_POST['comments']))) . ')'; if (!$newsComments->deleteRecords($strWhere)) { $arrErrors[] = db::$message_error; } else { messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?' . $qString); } } } // Проверяем фильтр $arrFilter = array('name', 'ip', 'id_news'); if (isset($_GET['filter']) && in_array($_GET['filter'], $arrFilter) && !empty($_GET['in'])) { $strWhere = $_GET['filter'] . " IN (" . secure::escQuoteData($_GET['in']) . ")"; } else { $strWhere = false; } // Проверяем сортировку $arrOrderBy = array();
} else { echo ajax::sdgJSONencode(array('error' => MESSAGE_COMMENTS_COMPLAINT_NOT_SEND)); } } else { echo ajax::sdgJSONencode(array('error' => MESSAGE_COMMENTS_COMPLAINT_NOT_SEND)); } } else { echo ajax::sdgJSONencode(array('error' => MESSAGE_COMMENTS_COMPLAINT_NOT_SEND)); } } elseif (isset($_POST['deleteComment']) && isset($_POST['newsId'])) { if (!empty($_POST['deleteComment']) && !empty($_POST['newsId'])) { $news = new news(); $newsComments = new newsComments(); if ($arrNews = $news->getNews("id=" . secure::escQuoteData($_POST['newsId'] . " AND token='active'"))) { if (!empty($_SESSION['sd_user']['data']['id']) && $_SESSION['sd_user']['data']['id'] == $arrNews['id_user']) { if ($newsComments->deleteRecords("id=" . secure::escQuoteData($_POST['deleteComment']))) { echo ajax::sdgJSONencode(array('success' => true)); } else { echo ajax::sdgJSONencode(array('error' => MESSAGE_COMMENTS_NOT_DELETE)); } } else { echo ajax::sdgJSONencode(array('error' => MESSAGE_COMMENTS_NOT_DELETE)); } } else { echo ajax::sdgJSONencode(array('error' => MESSAGE_COMMENTS_NOT_DELETE)); } } else { echo ajax::sdgJSONencode(array('error' => MESSAGE_COMMENTS_NOT_DELETE)); } } elseif (isset($_POST['addCommentA']) && !empty($_POST['articleId'])) { if (!empty($_POST['addCommentA'])) {
/** * protected функция помечает новости как удаленные * * @param (array || false) $arrNews - массив, содержащий id новостей для удаления * @param (string || false) $strWhere - условие запроса. Если этот параметр не FALSE, то параметр $arrNews не обрабатывается. * * @return bool */ protected function deleteNews($arrNews, $strWhere) { if (empty($arrNews) && empty($strWhere)) { return false; } $strWhere = empty($strWhere) ? 'id IN (' . implode(',', secure::escQuoteData($arrNews)) . ')' : (!empty($arrNews) ? $strWhere . ' AND id IN (' . implode(',', secure::escQuoteData($arrNews)) . ')' : $strWhere); // удаляем комментарии к новостям if (!empty($arrNews)) { // при удалении пользователей, если выбрано удаление новостей пользователя // комментарии к новостям удалены не будут, т.к. удаление новостей идет по id_user // и id новостей, которые необходимо удалить неизвестны $newsComments = new newsComments(); if (!$newsComments->deleteRecords('id_news IN (' . implode(',', secure::escQuoteData($arrNews)) . ')')) { return false; } } return $this->delEntrys($strWhere); }