public function delete($id) { if (vacancy::destroy($id)) { return redirect()->back()->with('msg', 'Запись удалена'); } return redirect()->back()->with('warning', 'Не удалось удалить'); }
$ceamf = isset($_POST['ceamf']) && (int) $_POST['ceamf'] ? (int) abs($_POST['ceamf']) : 1; $ceafms = isset($_POST['ceafms']) && (int) $_POST['ceafms'] ? (int) abs($_POST['ceafms']) : 1024; $data = "<?php\n\n" . "(!defined('SDG')) ? die ('Triple protection!') : null;\n\n" . 'define("CONF_ANNOUNCE_USER_AGREEMENT_NOMEMBERS_REQUIRED", ' . $cauanmr . ');' . "\n\n" . 'define("CONF_ANNOUNCE_ADD_SUCCESS_ADMIN_INFORM", ' . $caasai . ');' . "\n\n" . 'define("CONF_ANNOUNCE_ADD_SUCCESS_USER_INFORM", ' . $caasui . ');' . "\n\n" . 'define("CONF_ANNOUNCE_USE_VISUAL_EDITOR", ' . $cauve . ');' . "\n\n" . 'define("CONF_ANNOUNCE_PREVIEW", ' . $cap . ');' . "\n\n" . 'define("CONF_ANNOUNCE_PERPAGE_SITE", ' . $caps . ');' . "\n\n" . 'define("CONF_ANNOUNCE_PERPAGE_ADMIN_PANEL", ' . $capap . ');' . "\n\n" . 'define("CONF_CATEGORY_PERLINE", ' . $ccp . ');' . "\n\n" . 'define("CONF_EMAIL_ATTACHMENT_FILES_ALLOW", ' . $ceafa . ');' . "\n\n" . 'define("CONF_EMAIL_ATTACHMENT_MAX_FILES", ' . $ceamf . ');' . "\n\n" . 'define("CONF_EMAIL_ATTACHMENT_FILE_MAX_SIZE", ' . $ceafms . ');' . "\n\n" . 'define("CONF_VACANCY_ACTIVATE_THERM", ' . CONF_VACANCY_ACTIVATE_THERM . ');' . "\n\n" . 'define("CONF_VACANCY_CORRECTION_THERM", ' . CONF_VACANCY_CORRECTION_THERM . ');' . "\n\n" . 'define("CONF_VACANCY_PAYMENT_THERM", ' . CONF_VACANCY_PAYMENT_THERM . ');' . "\n\n" . 'define("CONF_VACANCY_VIP_THERM", ' . CONF_VACANCY_VIP_THERM . ');' . "\n\n" . 'define("CONF_VACANCY_VIP_SHOW", ' . CONF_VACANCY_VIP_SHOW . ');' . "\n\n" . 'define("CONF_VACANCY_VIP_SHOW_PERPAGE", ' . CONF_VACANCY_VIP_SHOW_PERPAGE . ');' . "\n\n" . 'define("CONF_VACANCY_HOT_THERM", ' . CONF_VACANCY_HOT_THERM . ');' . "\n\n" . 'define("CONF_VACANCY_HOT_SHOW_PERPAGE", ' . CONF_VACANCY_HOT_SHOW_PERPAGE . ');' . "\n\n" . 'define("CONF_VACANCY_LAST_SHOW", ' . CONF_VACANCY_LAST_SHOW . ');' . "\n\n" . 'define("CONF_VACANCY_LAST_SHOW_PERPAGE", ' . CONF_VACANCY_LAST_SHOW_PERPAGE . ');' . "\n\n" . 'define("CONF_RESUME_ACTIVATE_THERM", ' . CONF_RESUME_ACTIVATE_THERM . ');' . "\n\n" . 'define("CONF_RESUME_CORRECTION_THERM", ' . CONF_RESUME_CORRECTION_THERM . ');' . "\n\n" . 'define("CONF_RESUME_PAYMENT_THERM", ' . CONF_RESUME_PAYMENT_THERM . ');' . "\n\n" . 'define("CONF_RESUME_VIP_THERM", ' . CONF_RESUME_VIP_THERM . ');' . "\n\n" . 'define("CONF_RESUME_VIP_SHOW", ' . CONF_RESUME_VIP_SHOW . ');' . "\n\n" . 'define("CONF_RESUME_VIP_SHOW_PERPAGE", ' . CONF_RESUME_VIP_SHOW_PERPAGE . ');' . "\n\n" . 'define("CONF_RESUME_HOT_THERM", ' . CONF_RESUME_HOT_THERM . ');' . "\n\n" . 'define("CONF_RESUME_HOT_SHOW_PERPAGE", ' . CONF_RESUME_HOT_SHOW_PERPAGE . ');' . "\n\n" . 'define("CONF_RESUME_LAST_SHOW", ' . CONF_RESUME_LAST_SHOW . ');' . "\n\n" . 'define("CONF_RESUME_LAST_SHOW_PERPAGE", ' . CONF_RESUME_LAST_SHOW_PERPAGE . ');' . "\n\n" . 'define("CONF_RESUME_ADD_PHOTO", ' . CONF_RESUME_ADD_PHOTO . ');' . "\n\n" . 'define("CONF_RESUME_ADD_PHOTO_MAXWIDTH", ' . CONF_RESUME_ADD_PHOTO_MAXWIDTH . ');' . "\n\n" . 'define("CONF_RESUME_ADD_PHOTO_MAXHEIGHT", ' . CONF_RESUME_ADD_PHOTO_MAXHEIGHT . ');' . "\n\n" . 'define("CONF_RESUME_ADD_PHOTO_FILE_MAXSIZE", ' . CONF_RESUME_ADD_PHOTO_FILE_MAXSIZE . ');' . "\n"; if (!tools::saveConfig('core/conf/const.config.announces.php', $data, CONF_ADMIN_FILE . '?m=announces&s=common&action=confCommon')) { $arrErrors[] = ERROR_FILES_MISSING_FILE; } } } /** * Настройки объявлений - Вакансии */ if ($arrActions['confVacancy']) { // инициируем "Наименование страницы" отображаемое в форме $arrNamePage[] = array('name' => MENU_ANNOUNCES_VACANCYS, 'link' => false); $arrNamePage[] = array('name' => MENU_CONFIG, 'link' => false); $vacancy = new vacancy(); if (isset($_POST['save'])) { // сохраняем данные настроек, переданные из формы $cvat = isset($_POST['cvat']) && (int) $_POST['cvat'] ? (int) abs($_POST['cvat']) : 72; $cvpt = isset($_POST['cvpt']) && (int) $_POST['cvpt'] ? (int) abs($_POST['cvpt']) : 72; $cvct = isset($_POST['cvct']) && (int) $_POST['cvct'] ? (int) abs($_POST['cvct']) : 72; $cvvipt = isset($_POST['cvvipt']) && (int) $_POST['cvvipt'] ? (int) abs($_POST['cvvipt']) : 0; $cvvips = isset($_POST['cvvips']) ? 1 : 0; $cvvipsp = isset($_POST['cvvipsp']) && (int) $_POST['cvvipsp'] ? (int) abs($_POST['cvvipsp']) : 5; $cvhott = isset($_POST['cvhott']) && (int) $_POST['cvhott'] ? (int) abs($_POST['cvhott']) : 0; $cvhotsp = isset($_POST['cvhotsp']) && (int) $_POST['cvhotsp'] ? (int) abs($_POST['cvhotsp']) : 5; $cvls = isset($_POST['cvls']) ? 1 : 0; $cvlsp = isset($_POST['cvlsp']) && (int) $_POST['cvlsp'] ? (int) abs($_POST['cvlsp']) : 5; $data = "<?php\n\n" . "(!defined('SDG')) ? die ('Triple protection!') : null;\n\n" . 'define("CONF_ANNOUNCE_USER_AGREEMENT_NOMEMBERS_REQUIRED", ' . CONF_ANNOUNCE_USER_AGREEMENT_NOMEMBERS_REQUIRED . ');' . "\n\n" . 'define("CONF_ANNOUNCE_ADD_SUCCESS_ADMIN_INFORM", ' . CONF_ANNOUNCE_ADD_SUCCESS_ADMIN_INFORM . ');' . "\n\n" . 'define("CONF_ANNOUNCE_ADD_SUCCESS_USER_INFORM", ' . CONF_ANNOUNCE_ADD_SUCCESS_USER_INFORM . ');' . "\n\n" . 'define("CONF_ANNOUNCE_USE_VISUAL_EDITOR", ' . CONF_ANNOUNCE_USE_VISUAL_EDITOR . ');' . "\n\n" . 'define("CONF_ANNOUNCE_PREVIEW", ' . CONF_ANNOUNCE_PREVIEW . ');' . "\n\n" . 'define("CONF_ANNOUNCE_PERPAGE_SITE", ' . CONF_ANNOUNCE_PERPAGE_SITE . ');' . "\n\n" . 'define("CONF_ANNOUNCE_PERPAGE_ADMIN_PANEL", ' . CONF_ANNOUNCE_PERPAGE_ADMIN_PANEL . ');' . "\n\n" . 'define("CONF_CATEGORY_PERLINE", ' . CONF_CATEGORY_PERLINE . ');' . "\n\n" . 'define("CONF_EMAIL_ATTACHMENT_FILES_ALLOW", ' . CONF_EMAIL_ATTACHMENT_FILES_ALLOW . ');' . "\n\n" . 'define("CONF_EMAIL_ATTACHMENT_MAX_FILES", ' . CONF_EMAIL_ATTACHMENT_MAX_FILES . ');' . "\n\n" . 'define("CONF_EMAIL_ATTACHMENT_FILE_MAX_SIZE", ' . CONF_EMAIL_ATTACHMENT_FILE_MAX_SIZE . ');' . "\n\n" . 'define("CONF_VACANCY_ACTIVATE_THERM", ' . $cvat . ');' . "\n\n" . 'define("CONF_VACANCY_CORRECTION_THERM", ' . $cvct . ');' . "\n\n" . 'define("CONF_VACANCY_PAYMENT_THERM", ' . $cvpt . ');' . "\n\n" . 'define("CONF_VACANCY_VIP_THERM", ' . $cvvipt . ');' . "\n\n" . 'define("CONF_VACANCY_VIP_SHOW", ' . $cvvips . ');' . "\n\n" . 'define("CONF_VACANCY_VIP_SHOW_PERPAGE", ' . $cvvipsp . ');' . "\n\n" . 'define("CONF_VACANCY_HOT_THERM", ' . $cvhott . ');' . "\n\n" . 'define("CONF_VACANCY_HOT_SHOW_PERPAGE", ' . $cvhotsp . ');' . "\n\n" . 'define("CONF_VACANCY_LAST_SHOW", ' . $cvls . ');' . "\n\n" . 'define("CONF_VACANCY_LAST_SHOW_PERPAGE", ' . $cvlsp . ');' . "\n\n" . 'define("CONF_RESUME_ACTIVATE_THERM", ' . CONF_RESUME_ACTIVATE_THERM . ');' . "\n\n" . 'define("CONF_RESUME_CORRECTION_THERM", ' . CONF_RESUME_CORRECTION_THERM . ');' . "\n\n" . 'define("CONF_RESUME_PAYMENT_THERM", ' . CONF_RESUME_PAYMENT_THERM . ');' . "\n\n" . 'define("CONF_RESUME_VIP_THERM", ' . CONF_RESUME_VIP_THERM . ');' . "\n\n" . 'define("CONF_RESUME_VIP_SHOW", ' . CONF_RESUME_VIP_SHOW . ');' . "\n\n" . 'define("CONF_RESUME_VIP_SHOW_PERPAGE", ' . CONF_RESUME_VIP_SHOW_PERPAGE . ');' . "\n\n" . 'define("CONF_RESUME_HOT_THERM", ' . CONF_RESUME_HOT_THERM . ');' . "\n\n" . 'define("CONF_RESUME_HOT_SHOW_PERPAGE", ' . CONF_RESUME_HOT_SHOW_PERPAGE . ');' . "\n\n" . 'define("CONF_RESUME_LAST_SHOW", ' . CONF_RESUME_LAST_SHOW . ');' . "\n\n" . 'define("CONF_RESUME_LAST_SHOW_PERPAGE", ' . CONF_RESUME_LAST_SHOW_PERPAGE . ');' . "\n\n" . 'define("CONF_RESUME_ADD_PHOTO", ' . CONF_RESUME_ADD_PHOTO . ');' . "\n\n" . 'define("CONF_RESUME_ADD_PHOTO_MAXWIDTH", ' . CONF_RESUME_ADD_PHOTO_MAXWIDTH . ');' . "\n\n" . 'define("CONF_RESUME_ADD_PHOTO_MAXHEIGHT", ' . CONF_RESUME_ADD_PHOTO_MAXHEIGHT . ');' . "\n\n" . 'define("CONF_RESUME_ADD_PHOTO_FILE_MAXSIZE", ' . CONF_RESUME_ADD_PHOTO_FILE_MAXSIZE . ');' . "\n"; // чистим кеш caching::clearCache('vacancy.last');
function getVacancyByUserID() { $this->load->model('vacancy'); $vacancy = new vacancy(); $vacancy->getVacancyByUser(1); }
* @package * @todo */ !defined('SDG') ? die('Triple protection!') : null; /** * иницализация массива подключаемых шаблонов: по умолчанию все значения - false * для подключения шаблона, необходимо установить значение - true * шаблоны подключаются в порядке установленном в файле головного шаблона */ $arrActions = array('moderate' => false, 'payment' => false, 'new' => false, 'correction' => false, 'template' => false, 'archived' => false); // инициируем "Наименование страницы" отображаемое в форме $arrNamePage = array(array('name' => MENU_ADMIN_MAIN, 'link' => CONF_ADMIN_FILE), array('name' => MENU_ANNOUNCES, 'link' => false)); /** * создаем необходимые объекты */ $vacancy = new vacancy(); // вакансии $sections = new sections(); // разделы $smarty->assign('sections', $sections->retCategorys()); $professions = new professions(); // профессии $regions = new regions(); // регионы $smarty->assign('regions', $regions->retCategorys()); $citys = new citys(); // города $selects = new selects(); // словарь - "Списки" $dictGender = $selects->retDictByAlias('SysDict', 'Gender'); // список - "Половая принадлежность"
/** * protected функция выполняет действия над группой строк в таблице БД * * @param string $action * @param array $arrFields * * @return bool */ protected function actionCategorys($action, $arrFields, $silentMode = false) { switch ($action) { case 'edit': foreach ($arrFields as $key => $value) { $arrData = isset($value['arrNoBindFields']) ? $value['arrBindFields'] + $value['arrNoBindFields'] : $value['arrBindFields']; $result = $this->editEntrys(secure::escQuoteData($arrData), "id IN (" . secure::escQuoteData($key) . ")"); } break; case 'sort': foreach ($arrFields as $key => $value) { $arrSort[$value][] = $key; } foreach ($arrSort as $key => $value) { $result = $this->editEntrys(array('sort' => "'{$key}'"), "id IN (" . implode(',', secure::escQuoteData($value)) . ")"); } break; case 'del': $table = $this->retTableName(); $strFields = implode(',', secure::escQuoteData($arrFields)); $vacancy = new vacancy(); $result = $vacancy->delAnnounces('id_' . $table . ' IN (' . $strFields . ')'); $resume = new resume(); $result = $resume->delAnnounces('id_' . $table . ' IN (' . $strFields . ')'); $subscription = new subscription(); $strWhere = 'profession' !== $table ? 'id_' . $table . ' IN (' . $strFields . ')' : 'id_' . $table . ' IN (' . $strFields . ') OR id_' . $table . '_1 IN (' . $strFields . ') OR id_' . $table . '_2 IN (' . $strFields . ')'; $result = $subscription->delSubscriptions($strWhere); $result = $this->delCategorys('id IN (' . $strFields . ')'); break; case 'setcapital': $result = $this->editEntrys(array('capital' => "'on'"), "id IN (" . implode(',', secure::escQuoteData($arrFields)) . ") AND capital IN ('0')"); break; case 'resetcapital': $result = $this->editEntrys(array('capital' => "'0'"), "parent_id IN (" . implode(',', secure::escQuoteData($arrFields)) . ") AND capital IN ('on')"); break; case 'setRegionMajor': $result = $this->editEntrys(array('major' => "'on'"), "id IN (" . implode(',', secure::escQuoteData($arrFields)) . ") AND major IN ('0')"); break; case 'resetRegionMajor': $result = $this->editEntrys(array('major' => "'0'"), "id IN (" . implode(',', secure::escQuoteData($arrFields)) . ") AND major IN ('on')"); break; case 'setAddCityAllowed': $result = $this->editEntrys(array('add_city_allowed' => "'on'"), "id IN (" . implode(',', secure::escQuoteData($arrFields)) . ") AND add_city_allowed IN ('0')"); break; case 'resetAddCityAllowed': $result = $this->editEntrys(array('add_city_allowed' => "'0'"), "id IN (" . implode(',', secure::escQuoteData($arrFields)) . ") AND add_city_allowed IN ('on')"); break; default: if ($silentMode) { $result = false; } else { messages::messageChangeSaved(MESSAGE_WARNING_UNKNOWN_ACTION, false, CONF_ADMIN_FILE); } } return $result; }
static function actionsControl(&$arrActions) { $user = new user(); $subscription = new subscription(); $vacancy = new vacancy(); $resume = new resume(); foreach ($arrActions as $action => $type) { switch ($action) { case 'updateCounters': $result = caching::dropCache(); break; case 'delNonverifyUsers': $uData = $user->getCombinedUsersData(array(array('users', 'id')), "users.token IN ('new') AND users.token_datetime < NOW()", false, false); if (!empty($uData) && is_array($uData)) { foreach ($uData as $data) { $arrId[] = $data['id']; } } $result = !empty($arrId) ? $user->deleteUsers($arrId, false, false, false, false, false) : true; break; case 'delNontypeUsers': $uData = $user->getCombinedUsersData(array(array('users', 'id')), "conf_users.token IN ('new') AND users.token IN ('active') AND users.token_datetime < NOW()", false, false); if (!empty($uData) && is_array($uData)) { foreach ($uData as $data) { $arrId[] = $data['id']; } } $result = !empty($arrId) ? $user->deleteUsers($arrId, false, false, false, false, false) : true; break; case 'delUnpaidUsers': $uData = $user->getCombinedUsersData(array(array('users', 'id')), "conf_users.token IN ('payment') AND users.token_datetime < NOW()", false, false); if (!empty($uData) && is_array($uData)) { foreach ($uData as $data) { $arrId[] = $data['id']; } } $result = !empty($arrId) ? $user->deleteUsers($arrId, false, false, false, false, false) : true; break; case 'delUnpaidSubscr': $result = $subscription->delSubscriptions("token IN ('payment') AND token_datetime < NOW()"); break; case 'vacDelNonverify': $result = $vacancy->delAnnounces("token IN ('new') AND token_datetime < NOW()"); break; case 'resDelNonverify': $result = $resume->delAnnounces("token IN ('new') AND token_datetime < NOW()"); break; case 'vacDelUnpaid': $result = $vacancy->delAnnounces("token IN ('payment') AND token_datetime < NOW()"); break; case 'resDelUnpaid': $result = $resume->delAnnounces("token IN ('payment') AND token_datetime < NOW()"); break; case 'vacVipResetSlo': $result = $vacancy->controlAnnounces("vip AND token IN ('active') AND vip_unset_datetime NOT IN ('0000-00-00 00:00:00') AND vip_unset_datetime < NOW()", 'vip'); break; case 'resVipResetSlo': $result = $resume->controlAnnounces("vip AND token IN ('active') AND vip_unset_datetime NOT IN ('0000-00-00 00:00:00') AND vip_unset_datetime < NOW()", 'vip'); break; case 'vacHotResetSlo': $result = $vacancy->controlAnnounces("hot AND token IN ('active') AND hot_unset_datetime NOT IN ('0000-00-00 00:00:00') AND hot_unset_datetime < NOW()", 'hot'); break; case 'resHotResetSlo': $result = $resume->controlAnnounces("hot AND token IN ('active') AND hot_unset_datetime NOT IN ('0000-00-00 00:00:00') AND hot_unset_datetime < NOW()", 'hot'); break; case 'vacActionSlo': $result = $vacancy->controlAnnounces("token IN ('active') AND token_datetime < NOW()", $type); break; case 'resActionSlo': $result = $resume->controlAnnounces("token IN ('active') AND token_datetime < NOW()", $type); break; default: $result = true; break; } if (!$result) { return false; } else { continue; } } return true; }
} /** * Рабочая часть * Инициализация объектов */ $pages = new pages(); // дополнительные страницы $news = new news(); // новости $user = new user(); // пользователь $group = new group(); // группа $payments = new payments(); // платные услуги $vacancy = new vacancy(); // вакансии $resume = new resume(); // резюме $smarty->assignByRef('currLang', $currLang); /** * инициализация списка разделов */ $sections = new sections(); $arrDataSections = $sections->retCategorys(); $smarty->assignByRef('sections', $arrDataSections); /** * инициализация списка профессий */ $professions = new professions(); $arrDataProfessions = $professions->retCategorys();
/** * private функция формирования данных для рассылки * * @param array $arrData - массив данных, необходимых для рассылки * * @return */ private function createSubscriptionData($arrData) { /** * ФОРМИРУЕМ ЗАПРОС */ // формируем основной запрос для выборки объявлений $strWhere = "id_section IN (" . secure::escQuoteData($arrData['id_section']) . ") AND id_region IN (" . secure::escQuoteData($arrData['id_region']) . ") AND (TO_DAYS(NOW())-TO_DAYS(act_datetime))<=" . $arrData['period']; // добавляем в запрос город $arrData['id_city'] ? $strWhere .= " AND id_city IN (" . secure::escQuoteData($arrData['id_city']) . ")" : null; // добавляем в запрос профессию if ($arrData['id_profession']) { switch ($arrData['type_subscription']) { case 'vacancy': $strWhere .= " AND id_profession IN (" . secure::escQuoteData($arrData['id_profession']) . ")"; break; case 'resume': $strWhere .= " AND (id_profession IN (" . secure::escQuoteData($arrData['id_profession']) . ") OR id_profession_1 IN (" . secure::escQuoteData($arrData['id_profession']) . ") OR id_profession_2 IN (" . secure::escQuoteData($arrData['id_profession']) . "))"; break; } } /** * ВЫПОЛНЯЕМ ЗАПРОС */ // меняем рабочую таблицу, на таблицу объявлений $this->changeTable($arrData['type_subscription']); // формируем список полей, которые необходимо получить //$arrFields = array('id', 'title', 'id_section', 'id_region', 'id_city', 'pay_from', 'currency'); //('vacancy' === $arrData['type_subscription']) ? array_push($arrFields, 'pay_post') : null; // получаем список объявлений, соответствующих параметрам подписки if ('vacancy' === $arrData['type_subscription']) { $vacancy = new vacancy(); $arrAnnounces = $vacancy->getActiveAnnounces(false, $strWhere); } else { $resume = new resume(); $arrAnnounces = $resume->getActiveAnnounces(false, $strWhere); } // меняем рабочую таблицу, на таблицу подписок $this->changeTable('subscription'); return $this->prepareSubscriptionData($arrData, $arrAnnounces); }
/** * 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); } }