} elseif ('activate' === $_POST['action'] && !empty($_POST['subscr'])) { $subscription->updateSubscriptions(array('token' => 'active', 'token_datetime' => ''), array_keys($_POST['subscr'])); messages::messageChangeSaved(MESSAGE_CHANGE_SAVED, false, CONF_ADMIN_FILE . '?m=manager&s=subscriptions&action=payment'); } } // инициируем "Наименование страницы" отображаемое в форме $arrNamePage[] = array('name' => MENU_MANAGER_SUBSCRIPTIONS, 'link' => CONF_ADMIN_FILE . '?m=manager&s=subscriptions'); $arrNamePage[] = array('name' => MENU_ACTION_PAYMENT, 'link' => false); $offset = isset($_GET['offset']) ? (int) abs($_GET['offset']) : 0; //смещение, всегда 0 (затем берется из $_GET) //текущий обработанный URL $path = CONF_ADMIN_FILE . '?m=manager&s=subscriptions&action=payment&'; $arrLimit = array('strLimit' => $offset . ',' . CONF_SUBSCRIPTIONS_STRINGS_PERPAGE_ADMIN_PANEL, 'calcRows' => true); $arrSubscr = $subscription->getSubscriptions("token IN ('payment')", false, $arrLimit, false); // формируем страницы $allRecords = $subscription->cntSubscriptions(); // получаем общее количество $strPages = strings::generatePage($allRecords, $offset, CONF_SUBSCRIPTIONS_STRINGS_PERPAGE_ADMIN_PANEL, $path, true); // формируем странциы $smarty->assignByRef('arrSubscr', $arrSubscr); $smarty->assignByRef('allRecords', $allRecords); //передаем в шаблон общее количество записей $smarty->assignByRef('strPages', $strPages); //передаем в шаблон строку сформированных страниц /** * РАБОТА СО СЛОВАРЯМИ */ // инициализация списка разделов $sections = new sections(); // инициализация списка регионов $regions = new regions();
if (empty($arrBindFields['id_region'])) { $arrErrors[] = ERROR_REGION_NOT_SELECT; } if (empty($arrBindFields['period'])) { $arrErrors[] = ERROR_PERIOD_NOT_SELECT; } if ('agent' === $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type']) { if (!isset($arrBindFields['type_subscription']) || 'vacancy' !== $arrBindFields['type_subscription'] && 'resume' !== $arrBindFields['type_subscription']) { $arrErrors[] = ERROR_TYPE_SUBSCRIPTION_NOT_SELECT; } } /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// // Если ошибок нет и тип подписки бесплатный, проверяем, сколько их можно добавить if (!$arrErrors && !$arrPayments['subscr_' . $arrBindFields['type_subscription']]) { $subscription->cntSubscriptions("id_announce IN ('0') AND id_user IN (" . secure::escQuoteData($_SESSION['sd_user']['data']['id']) . ") AND type_subscription IN (" . secure::escQuoteData($arrBindFields['type_subscription']) . ") AND token IN ('active')") >= @constant('CONF_SUBSCRIPTIONS_FREE_' . strtoupper($arrBindFields['type_subscription'])) ? $arrErrors[] = ERROR_HAVE_MAXIMUM_SUBSCRIPTIONS : null; } if (!$arrErrors) { $arrBindFields['email'] = $_SESSION['sd_user']['data']['email']; $arrNoBindFields['id_user'] = $_SESSION['sd_user']['data']['id']; // присваеваем полученные данные объекту $subscription->arrBindFields = $arrBindFields; $subscription->arrNoBindFields = $arrNoBindFields; // производим запись в таблицу БД if ($subscription->recSubscr()) { // проверяем, включена ли тестовая рассылка и если включена, выполняем ее if (isset($_POST['test_send']) && $subscription->runSubscription($subscription->arrBindFields + $subscription->arrNoBindFields)) { // выдаем сообщение об успешности messages::messageChangeSaved(MESSAGE_SUBSCRIPTION_ADDED, MESSAGE_TEST_SUBSCRIPTION_WAS_SEND, chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?ut=' . $_SESSION['sd_user'][DB_PREFIX . 'conf']['user_type'] . '&do=subscription')); } else { // выдаем сообщение о том, что нет данных для рассылки