} } elseif ($arrActions['moderate']) { // инициируем "Наименование страницы" отображаемое в форме $arrNamePage[] = array('name' => MENU_ACTION_MODERATE, 'link' => false); /** * Массовая активация, отправка на редактирование, удаление статей */ if (isset($_POST['action'])) { if ('active' === $_POST['action'] && !empty($_POST['articles'])) { !$articles->updateArticles(array('token' => 'active'), array_keys($_POST['articles'])) ? $arrErrors[] = db::$message_error : messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?' . $qString); } elseif ('correction' === $_POST['action'] && !empty($_POST['articles'])) { //date(terms::dateFormatFromSmarty(CONF_DATE_FORMAT, CONF_TIME_FORMAT), strtotime(terms::calcDateTimeOfTerm(CONF_ARTICLES_CORRECTION_THERM))), $updData = array('token' => 'correction', 'token_datetime' => terms::calcDateTimeOfTerm(CONF_ARTICLES_CORRECTION_THERM)); !$articles->updateArticles($updData, array_keys($_POST['articles'])) ? $arrErrors[] = db::$message_error : messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?' . $qString); } elseif ('delete' === $_POST['action'] && !empty($_POST['articles'])) { !$articles->deleteArticles(array_keys($_POST['articles'])) ? $arrErrors[] = db::$message_error : messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?' . $qString); } } elseif (!empty($_POST['arrData']['action']) && !empty($_POST['arrData']['id'])) { if ('active' === $_POST['arrData']['action'] && !empty($_POST['arrData']['title']) && !empty($_POST['arrData']['datetime']) && !empty($_POST['arrData']['id_user'])) { if ($articles->updateArticle(array('token' => 'active', 'token_datetime' => ''), $_POST['arrData']['id'])) { $articles->sendUserActiveArticle($_POST['arrData']); messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?' . $qString); } else { $arrErrors[] = db::$message_error; } } elseif ('correction' === $_POST['arrData']['action'] && !empty($_POST['arrData']['comments']) && !empty($_POST['arrData']['title']) && !empty($_POST['arrData']['datetime']) && !empty($_POST['arrData']['id_user'])) { // данные для обновления в таблице $updData = array('comments' => $_POST['arrData']['comments'], 'token' => 'correction', 'token_datetime' => terms::calcDateTimeOfTerm(CONF_ARTICLES_CORRECTION_THERM)); if ($articles->updateArticle($updData, $_POST['arrData']['id'])) { $articles->sendUserCorrectionArticle($_POST['arrData']); messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?' . $qString);
header("Location: index.php?pages=listArticles"); exit; } } else { //Poster une modification d'articles $_POST['title'] = trim(htmlentities($_POST['title'])); $_POST['author'] = trim(htmlentities($_POST['author'])); $_POST['content'] = trim(htmlentities($_POST['content'])); $articles->updateArticles($pdo, $date); header("Location: index.php?pages=listArticles"); exit; } } if (isset($_GET['deleteArticles'])) { //Supprimer un article $articles->deleteArticles($pdo, $date); if (isset($_SESSION['userId'])) { header("Location: index.php?pages=articles"); exit; } else { header("Location: index.php?pages=listArticles"); exit; } } if (isset($_GET['updateArticles'])) { $result = $articles->getArticles($pdo, $date); } else { $result['title'] = ''; $result['author'] = ''; $result['content'] = ''; $result['idCat'] = 1;
} else { $arrErrors[] = ERROR_SELECTED_ARTICLE; } } elseif ($arrActions['moderate']) { // инициируем "Наименование страницы" отображаемое в заголовке формы $arrNamePage[] = array('name' => constant('MENU_ACTION_MODERATE'), 'link' => false); $strWhere = "id_user IN (" . secure::escQuoteData($arrUser['id']) . ") AND token IN ('moderate')"; $arrArticles = $articles->getArticles($strWhere, false, false, array('id', 'title', 'datetime', 'id_section')); $smarty->assignByRef('arrArticles', $arrArticles); } elseif ($arrActions['correction']) { /** ДЕЙСТВИЯ **/ if (!empty($_POST['action'])) { // удаление if ('delete' === $_POST['action'] && !empty($_SESSION['sd_' . DB_PREFIX . 'codex']['rights']['del_articles']) && !empty($_POST['articles'])) { $strWhere = "id_user IN (" . secure::escQuoteData($arrUser['id']) . ")"; !$articles->deleteArticles(array_keys($_POST['articles']), $strWhere) ? $arrErrors[] = db::$message_error : messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=user.articles&action=archived')); } } // инициируем "Наименование страницы" отображаемое в заголовке формы $arrNamePage[] = array('name' => constant('MENU_ACTION_CORRECTION'), 'link' => false); $strWhere = "id_user IN (" . secure::escQuoteData($arrUser['id']) . ") AND token IN ('correction')"; $arrArticles = $articles->getArticles($strWhere, false, false, false); $smarty->assignByRef('arrArticles', $arrArticles); } elseif ($arrActions['archived'] && !empty($_SESSION['sd_' . DB_PREFIX . 'codex']['rights']['arc_articles'])) { /** ДЕЙСТВИЯ **/ if (!empty($_POST['action'])) { // удаление if ('delete' === $_POST['action'] && !empty($_SESSION['sd_' . DB_PREFIX . 'codex']['rights']['del_articles']) && !empty($_POST['articles'])) { $strWhere = "id_user IN (" . secure::escQuoteData($arrUser['id']) . ")"; !$articles->deleteArticles(array_keys($_POST['articles']), $strWhere) ? $arrErrors[] = db::$message_error : messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=user.articles&action=archived')); }
/** * protected Функция удаления контента пользователей * Ф-я удаляет все объявления, подписки, статьи и новости пользователей * * @param (array) $arrId - массив, содержащий ID пользователей, контент которых нужно удалить * @param (bool) $vacancy, $resume, $subscription, $articles, $news - параметры, определяющие удаление соответствующих данных пользователя (TRUE || FALSE) * * @return void */ protected function deleteUsersContent($arrId, $vacancy, $resume, $subscription, $articles, $news) { // формируем запрос, для выбора всех необходимых пользователей $strWhere = "id_user IN (" . implode(',', secure::escQuoteData($arrId)) . ")"; // удаление вакансий if ($vacancy) { $vacancy = new vacancy(); $vacancy->delAnnounces($strWhere); } // удаление резюме if ($resume) { $resume = new resume(); $resume->delAnnounces($strWhere); } // удаление подписок if ($subscription) { $subscription = new subscription(); $subscription->delSubscriptions($strWhere); } // удаление статей if ($articles) { $articles = new articles(); $articles->deleteArticles(false, $strWhere); } // удаление новостей if ($news) { $news = new news(); $news->deleteNews(false, $strWhere); } }