Орла
Области
Компаний
Пользователи
Галерея
Фиксированные новости
Орла
Отзывы о фирмах
Тарифы
Пользователи
Области
Банкоматы
Торговые точки
Доска объявлений
Курсы валют
Скидки
организации Орла
организации области
товары
сайты
сайты Орел
Данные
Разделы
Поиск
Поиск запросы
Статистика
Показы каталога организаций
Статистика клиенты
Пользователи
Сайты
Управление сайтом
Анкета
Аптеки
Афиша
Афиша новая
Баннеры
Бизнес >
Викторина
Голосование
Гость на сайте
Истории
Календарь событий
Каталоги >
Конкурс красоты
Конкурс аудио
Консультации
Меню
Новое на сайте
Новости >
Организации >
Программа ТВ
Публикации
Разделы сайта
Рассылка
Рестораны
Секрет фирмы >
Сервисы >
Ссылки
Тесты
Файловый менеджер
Форум
Фотогалерея
Обратная связь
Недвижимость
Новый год
Тексты
Пользователи
Юридический рейтинг
Отзывы на товары
Бан пользователей
Жалобы
Новые тесты
Коронавирус
Файловый менеджер
Имя файла
Moderator.php
Содержимое
<?php namespace app\consult; use app\core\models\Command; use App; class Moderator { /** * @var Command */ private $_command; /** * @var Question */ private $_question; public function __construct(Command $command, Question $question) { $this->_command = $command; $this->_question = $question; } /** * Функция возвращает email модератора. * @param $questionId - ID вопроса. * @return mixed|null */ public function getEmail($questionId) { return $this->_command ->createCommand(' SELECT u.mail FROM faq LEFT JOIN faq_razdel ON faq_razdel.id = faq.id_razdel LEFT JOIN user u ON u.id = faq_razdel.id_moder WHERE faq.id = :id ') ->bindValue(':id', $questionId) ->queryOne('mail', null); } /* * Функция возвращает ID модератора * @param $questionId - ID вопроса * @return int|null */ public function getUserId($questionId) { return $this->_command ->createCommand(' SELECT u.id FROM faq LEFT JOIN faq_razdel ON faq_razdel.id = faq.id_razdel LEFT JOIN user u ON u.id = faq_razdel.id_moder WHERE faq.id = :id ') ->bindValue(':id', $questionId) ->queryOne('id', null); } /** * Функция проверяет, является ли пользователь модератором или нет. Если ID * пользователя не передано, берется текущий авторизованный пользователь * * @param int $razdelId - ID раздела, например прокуратура орловской области. * @param int|null $userId * @return bool */ public function isModerator($razdelId, $userId = null) { if ($userId == null) { if (App::$user->isGuest() == true) { return false; } $userId = App::$user->getId(); } $razdelModeratorId = $this->_command ->createCommand(' SELECT id, id_moder FROM faq_razdel WHERE id = :id ') ->bindValue(':id', $razdelId) ->queryOne('id_moder', 0); if ($razdelModeratorId == $userId) { return true; } if (App::$adminList->getLocalLevel(App::$user->getUserLogin($userId)) >= 500) { return true; } return false; } public function isHaveConsultations($userId = null) { if ($userId == null) { if (App::$user->isGuest() == true) { return false; } $userId = App::$user->getId(); } return $this->_command ->createCommand(' SELECT COUNT(*) as total FROM faq_razdel WHERE id_user = :user_id ') ->bindValue(':user_id', $userId) ->queryOne('id_moder', 0) > 0; } /** * Функция уведомляет модератора раздела о поступившем вопросе. * @param $questionId * @return bool */ public function notification($questionId) { $email = $this->getEmail($questionId); $fromEmail = App::$config['email']; if ($email == null || filter_var($email, FILTER_VALIDATE_EMAIL) == false) { if ($fromEmail != null && filter_var($fromEmail, FILTER_VALIDATE_EMAIL)) { $email = $fromEmail; } else { return false; } } $title="Консультации " . $_SERVER['HTTP_HOST']; $subject = "Консультации специалистов"; $questionText = $this->_question->getText($questionId); $questionCategoryId = $this->_question->getCategoryId($questionId); $body = "<html> <head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /> <title>{$title}</title> </head> <body> <b>Вопрос: </b>{$questionText}<br><br> Пройдите по ссылке для того чтобы ответить на вопрос <a href=\"http://{$_SERVER['HTTP_HOST']}/konsult/kons_echo.php?id_razdel={$questionCategoryId}&v=4\">Ответить на вопрос</a> </body> </html>"; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=utf-8\r\n"; $headers .= "From: ".$fromEmail."\r\n"; return mail($email, $subject, $body, $headers); } }
/app/consult/
Имя
Дата
Размер
..
2026-10-01
Categories.php
2017-01-27
3 кб.
Items.php
2017-02-16
2 кб.
Moderator.php
2017-08-11
5 кб.
Question.php
2017-04-06
8 кб.
QuestionForm.php
2026-05-25
2 кб.
QuestionForm.php~
2017-04-06
2 кб.
/app/consult
Загрузить файлы
Файл 1
Файл 2
Файл 3