Îðëà
Îáëàñòè
Êîìïàíèé
Ïîëüçîâàòåëè
Ãàëåðåÿ
Ôèêñèðîâàííûå íîâîñòè
Îðëà
Îòçûâû î ôèðìàõ
Òàðèôû
Ïîëüçîâàòåëè
Îáëàñòè
Áàíêîìàòû
Òîðãîâûå òî÷êè
Äîñêà îáúÿâëåíèé
Êóðñû âàëþò
Ñêèäêè
îðãàíèçàöèè Îðëà
îðãàíèçàöèè îáëàñòè
òîâàðû
ñàéòû
ñàéòû Îðåë
Äàííûå
Ðàçäåëû
Ïîèñê
Ïîèñê çàïðîñû
Ñòàòèñòèêà
Ïîêàçû êàòàëîãà îðãàíèçàöèé
Ñòàòèñòèêà êëèåíòû
Ïîëüçîâàòåëè
Ñàéòû
Óïðàâëåíèå ñàéòîì
Àíêåòà
Àïòåêè
Àôèøà
Àôèøà íîâàÿ
Áàííåðû
Áèçíåñ >
Âèêòîðèíà
Ãîëîñîâàíèå
Ãîñòü íà ñàéòå
Èñòîðèè
Êàëåíäàðü ñîáûòèé
Êàòàëîãè >
Êîíêóðñ êðàñîòû
Êîíêóðñ àóäèî
Êîíñóëüòàöèè
Ìåíþ
Íîâîå íà ñàéòå
Íîâîñòè >
Îðãàíèçàöèè >
Ïðîãðàììà ÒÂ
Ïóáëèêàöèè
Ðàçäåëû ñàéòà
Ðàññûëêà
Ðåñòîðàíû
Ñåêðåò ôèðìû >
Ñåðâèñû >
Ññûëêè
Òåñòû
Ôàéëîâûé ìåíåäæåð
Ôîðóì
Ôîòîãàëåðåÿ
Îáðàòíàÿ ñâÿçü
Íåäâèæèìîñòü
Íîâûé ãîä
Òåêñòû
Ïîëüçîâàòåëè
Þðèäè÷åñêèé ðåéòèíã
Îòçûâû íà òîâàðû
Áàí ïîëüçîâàòåëåé
Æàëîáû
Íîâûå òåñòû
Êîðîíàâèðóñ
Ôàéëîâûé ìåíåäæåð
Èìÿ ôàéëà
OrganizationCommentsReader.php
Ñîäåðæèìîå
<?php namespace app\organizations; use App; use app\helpers\views\EntityRatingCssClass; /** * Кла�� дл� работы � комментари�ми организации * * Class OrganizationComments * @package app\organizations */ class OrganizationCommentsReader { /** * ID организации * @var int */ private $_organizationId; /** * Количе�тво запи�ей на �траницу * @var int */ private $_limit; /** * Сколько запи�ей пропу�тить. * Е�ли зде�ь что-то указано, то в �том �лучае * мы игнорируем по�траничную навигацию * @var int */ private $_offset = false; /** * С какой �траницы начинать выборку. (маги� через setOffset) * @var int */ private $_pageId = 1; /** * Сколько запи�ей в�его мы нашли. Заполн�ет�� по�ле вывода запи�ей * @var int */ private $_total = 0; /** * �айденные комментарии * @var array */ private $_items = []; /** * @var bool - показывать только �крытые комментарии или нет. И�правл�ет�� функцией withHidden() */ private $_onlyHidden = true; public function __construct() { } /** * Функци� у�танавливает ID организации, по которой делаем выборку * @param $organizationId * @return $this */ public function setOrganizationId($organizationId) { $this->_organizationId = (int)$organizationId; return $this; } /** * Сколько запи�ей на �траницу выводить * @param $limit * @return $this */ public function setLimit($limit) { $this->_limit = (int)$limit; return $this; } /** * Сколько запи�ей пропу�тить. * @param $offset * @return $this */ public function setOffset($offset) { $this->_offset = (int)$offset; return $this; } /** * Функци� у�танавливает ID �траницы * @param $pageId * @return $this */ public function setPageId($pageId) { $this->_pageId = $pageId; return $this; } public function withHidden() { $this->_onlyHidden = false; return $this; } private function buildWhere() { $sqlHiddenFragment = ''; if ($this->_onlyHidden == true) { $sqlHiddenFragment = ' AND com.hidden=0'; } $organizationIdWhereFragment = ''; if ($this->_organizationId > 0) { $organizationIdWhereFragment = ' AND com.id_firm = ' . (int) $this->_organizationId; } $status = 'com.status = 3'; return 'WHERE ' . $status . $sqlHiddenFragment . $organizationIdWhereFragment; } public function query() { if ($this->_limit == null) { $this->_limit = 15; } // е�ли пользователь не указал �колько запи�ей пропу�тить, // то пробуем их вычи�лить через указанную �траницу if ($this->_offset === false) { if ($this->_pageId == null) { $this->_pageId = 1; } $this->setOffset(($this->_pageId - 1) * $this->_limit); } $this->_items = App::$command ->createCommand(' SELECT com.id, com.id_user, com.name_user, com.note, com.ip, com.hidden, com.image, com.data, com.karma, com.yes, com.no, u.avatar, u.name as login, firma.id as firma_id, firma.firma_url, firma.name as firma_name FROM firma_otzyv com LEFT JOIN `user` u ON u.id = com.id_user INNER JOIN firma ON firma.id = com.id_firm '.$this->buildWhere().' ORDER BY data DESC LIMIT '.$this->_offset.','.$this->_limit.' ') ->queryAll(); foreach ($this->_items as $key => $item) { $this->_items[$key]['full_image'] = str_replace('_sm', '', $item['image']); $this->_items[$key]['vote_plus'] = ($item['yes'] == 0) ? 0 : '+' . $item['yes']; $this->_items[$key]['vote_minus'] = ($item['no'] == 0) ? 0 : '-' . $item['no']; $this->_items[$key]['class_name'] = EntityRatingCssClass::getName($item['karma']); } $this->_total = App::$command ->createCommand(' SELECT COUNT(*) as total FROM `firma_otzyv` '.$this->buildWhere().' ') ->bindValue(':id', $this->_organizationId) ->bindValue(':status', 3) ->queryOne('total', 0); return $this; } public function getComments() { return $this->_items; } public function getTotal() { return $this->_total; } }
/app/organizations/
Èìÿ
Äàòà
Ðàçìåð
..
2026-10-01
activerecord
2017-03-23
banners
2017-03-20
entity
2019-02-11
form
2020-04-06
helpers
2019-02-08
interfaces
2017-01-26
regions
2017-02-02
search
2019-02-12
shop
2020-04-06
statistic
2019-01-29
utils
2018-01-12
validators
2020-02-11
views
2018-01-16
Categories.php
2019-02-13
6 êá.
CommentVote.php
2024-08-23
5 êá.
CommentVote.php~
2017-01-26
5 êá.
Comments.php
2019-02-26
6 êá.
CommentsKarma.php
2017-01-26
308 áàéò
OrganizationCategory.php
2019-02-11
896 áàéò
OrganizationCategoryFactory.php
2018-01-12
1 êá.
OrganizationCategoryRepository.php
2019-02-12
2 êá.
OrganizationCommentsReader.php
2019-02-18
5 êá.
OrganizationEmails.php
2017-03-09
1 êá.
OrganizationFactory.php
2016-12-13
277 áàéò
OrganizationFiles.php
2017-02-15
645 áàéò
OrganizationIndexator.php
2017-08-18
349 áàéò
OrganizationNews.php
2019-08-23
2 êá.
OrganizationPhones.php
2019-02-11
7 êá.
OrganizationPhotos.php
2017-08-15
2 êá.
OrganizationRepository.php
2019-02-12
433 áàéò
OrganizationRubriks.php
2017-03-09
2 êá.
OrganizationSchedule.php
2018-01-12
2 êá.
OrganizationScheduleFactory.php
2018-01-12
844 áàéò
OrganizationSites.php
2020-04-09
1 êá.
OrganizationSlider.php
2019-08-12
1 êá.
OrganizationStatistics.php
2019-04-01
2 êá.
OrganizationVideos.php
2017-01-25
1 êá.
Organizations.php
2020-04-17
34 êá.
OrganizationsReader.php
2019-02-11
4 êá.
PhoneRepository.php
2019-02-11
1 êá.
Rating.php
2024-08-23
2 êá.
Rating.php~
2019-02-15
1 êá.
/app/organizations
Çàãðóçèòü ôàéëû
Ôàéë 1
Ôàéë 2
Ôàéë 3