Орла
Области
Компаний
Пользователи
Галерея
Фиксированные новости
Орла
Отзывы о фирмах
Тарифы
Пользователи
Области
Банкоматы
Торговые точки
Доска объявлений
Курсы валют
Скидки
организации Орла
организации области
товары
сайты
сайты Орел
Данные
Разделы
Поиск
Поиск запросы
Статистика
Показы каталога организаций
Статистика клиенты
Пользователи
Сайты
Управление сайтом
Анкета
Аптеки
Афиша
Афиша новая
Баннеры
Бизнес >
Викторина
Голосование
Гость на сайте
Истории
Календарь событий
Каталоги >
Конкурс красоты
Конкурс аудио
Консультации
Меню
Новое на сайте
Новости >
Организации >
Программа ТВ
Публикации
Разделы сайта
Рассылка
Рестораны
Секрет фирмы >
Сервисы >
Ссылки
Тесты
Файловый менеджер
Форум
Фотогалерея
Обратная связь
Недвижимость
Новый год
Тексты
Пользователи
Юридический рейтинг
Отзывы на товары
Бан пользователей
Жалобы
Новые тесты
Коронавирус
Файловый менеджер
Имя файла
ExistsVkCommentRepository.php
Содержимое
<?php namespace app\core\social\vk\comments; use App; use app\core\social\vk\comments\entity\VkCommentRelation; use app\core\social\vk\observer\VkPostRelation; use dimsog\arrayhelper\ArrayHelper; use samdark\hydrator\Hydrator; /** * Класс-репозиторий для работы с комментариями, которые связаны с форумом. * * В этом классе можно проверить, связан ли комментарий с сообщением на форуме, * а также можно создать такую связь. * * Class ExistVkCommentRepository * @package app\core\social\vk */ class ExistsVkCommentRepository implements ExistsVkCommentRepositoryInterface { /** * @inheritdoc */ public function exist(VkPostRelation $postRelation, $vkCommentId) { return App::$command ->createCommand(' SELECT COUNT(*) as total FROM vk_comment WHERE entity = :entity AND entity_id = :entity_id AND vk_group_id = :vk_group_id AND vk_comment_id = :vk_comment_id ') ->bindValue(':entity', $postRelation->getEntityName()) ->bindValue(':entity_id', (int) $postRelation->getEntityId()) ->bindValue(':vk_group_id', (int) $postRelation->getVkGroupId()) ->bindValue(':vk_comment_id', (int) $vkCommentId) ->queryOne('total', 0) > 0; } /** * @inheritdoc */ public function save(VkPostRelation $postRelation, $siteCommentId, $vkCommentId) { $command = App::$command ->createCommand(' INSERT INTO `vk_comment` (entity, entity_id, entity_comment_id, vk_group_id, vk_post_id, vk_comment_id) VALUES(:entity, :entity_id, :entity_comment_id, :vk_group_id, :vk_post_id, :vk_comment_id) ') ->bindValue(':entity', $postRelation->getEntityName()) ->bindValue(':entity_id', $postRelation->getEntityId()) ->bindValue(':entity_comment_id', $siteCommentId) ->bindValue(':vk_group_id', $postRelation->getVkGroupId()) ->bindValue(':vk_post_id', $postRelation->getVkPostId()) ->bindValue(':vk_comment_id', $vkCommentId); if ($command->query()) { return $command->lastInsertId(); } return false; } /** * @param $entityCommentId * @return null|VkCommentRelation */ public function findOneByEntityComment($entityCommentId) { $data = App::$command ->createCommand(' SELECT * FROM vk_comment WHERE entity_comment_id = :id ') ->bindValue(':id', $entityCommentId) ->queryOne(); if (empty($data)) { return null; } $data = ArrayHelper::toInt($data, [ 'id', 'entity_id', 'entity_comment_id', 'vk_group_id', 'vk_post_id', 'vk_comment_id' ]); $hydrator = new Hydrator([ 'id' => 'id', 'entity' => 'entity', 'entity_id' => 'entityId', 'entity_comment_id' => 'entityCommentId', 'vk_group_id' => 'vkGroupId', 'vk_post_id' => 'vkPostId', 'vk_comment_id' => 'vkCommentId' ]); /** @var VkCommentRelation $comment */ $comment = $hydrator->hydrateInto($data, new VkCommentRelation()); $comment->setVkLink(App::$config['posting']['group_mapping'][$comment->getVkGroupId()]); return $comment; } }
/app/core/social/vk/comments/
Имя
Дата
Размер
..
2019-02-06
entity
2019-02-08
CommentSaverInterface.php
2019-02-01
807 байт
CommentTextNormalizer.php
2019-02-01
197 байт
ExistsVkCommentRepository.php
2019-02-08
4 кб.
ExistsVkCommentRepositoryInterface.php
2019-02-01
2 кб.
/app/core/social/vk/comments
Загрузить файлы
Файл 1
Файл 2
Файл 3