IS objednávky
  • Namespace
  • Class

Namespaces

  • Grido
    • Components
      • Columns
  • Objednavky
  • PLus
    • Orders
      • Factory
      • Repositories
        • Config
        • Documents
        • Entities
        • Lists
        • Messages
        • Order
        • Security
      • Routers

Classes

  • Grido\Components\Columns\Boolean
  • Grido\Components\Columns\BooleanExtension
  • Objednavky\AreaPresenter
  • Objednavky\BasePresenter
  • Objednavky\BranchPresenter
  • Objednavky\ConsultantPresenter
  • Objednavky\ConsultationPresenter
  • Objednavky\DepartmentPresenter
  • Objednavky\DimenzionPresenter
  • Objednavky\DirectorPresenter
  • Objednavky\DocumenttypePresenter
  • Objednavky\DownloadPresenter
  • Objednavky\EconomistPresenter
  • Objednavky\ErrorPresenter
  • Objednavky\ExpertPresenter
  • Objednavky\HomepagePresenter
  • Objednavky\InvestmentPresenter
  • Objednavky\ItemorderPresenter
  • Objednavky\JustifyPresenter
  • Objednavky\MailerPresenter
  • Objednavky\ManagerPresenter
  • Objednavky\NewsPresenter
  • Objednavky\OrderPresenter
  • Objednavky\RolePresenter
  • Objednavky\SignPresenter
  • Objednavky\TraderPresenter
  • Objednavky\UnitPresenter
  • Objednavky\UserPresenter
  • PLus\Orders\Factory\ConsultationFactory
  • PLus\Orders\Factory\DocumentFactory
  • PLus\Orders\Repositories\Config\CfgRepository
  • PLus\Orders\Repositories\Config\Mailer
  • PLus\Orders\Repositories\Config\Parameters
  • PLus\Orders\Repositories\Documents\DocumentRepository
  • PLus\Orders\Repositories\Entities\BranchRepository
  • PLus\Orders\Repositories\Entities\ChiefRepository
  • PLus\Orders\Repositories\Entities\DepartmentRepository
  • PLus\Orders\Repositories\Entities\ExpertRepository
  • PLus\Orders\Repositories\Entities\ManagerRepository
  • PLus\Orders\Repositories\Entities\TraderRepository
  • PLus\Orders\Repositories\Entities\UnitRepository
  • PLus\Orders\Repositories\Entities\UnituserRepository
  • PLus\Orders\Repositories\Entities\UserRepository
  • PLus\Orders\Repositories\Lists\AreaRepository
  • PLus\Orders\Repositories\Lists\DimenzionRepository
  • PLus\Orders\Repositories\Lists\DocumenttypeRepository
  • PLus\Orders\Repositories\Lists\EventRepository
  • PLus\Orders\Repositories\Lists\JustifyRepository
  • PLus\Orders\Repositories\Lists\OrdertypeRepository
  • PLus\Orders\Repositories\Messages\CommentRepository
  • PLus\Orders\Repositories\Messages\ConsultationRepository
  • PLus\Orders\Repositories\Messages\NewsRepository
  • PLus\Orders\Repositories\Messages\PostRepository
  • PLus\Orders\Repositories\Order\InvestmentchatRepository
  • PLus\Orders\Repositories\Order\InvestmentRepository
  • PLus\Orders\Repositories\Order\ItemareastateRepository
  • PLus\Orders\Repositories\Order\ItemorderRealizationRepository
  • PLus\Orders\Repositories\Order\ItemorderRepository
  • PLus\Orders\Repositories\Order\OrderRepository
  • PLus\Orders\Repositories\Order\RealizationRepository
  • PLus\Orders\Repositories\Order\TimelineRepository
  • PLus\Orders\Repositories\Repository
  • PLus\Orders\Repositories\Security\RoleRepository
  • PLus\Orders\Repositories\Security\UserManager
  • PLus\Orders\Routers\RouterFactory
  1 <?php
  2 
  3 namespace PLus\Orders\Repositories\Messages;
  4 
  5 /**
  6  * Description of NewsRepository
  7  *
  8  * @author Petr
  9  */
 10 class NewsRepository extends \PLus\Orders\Repositories\Repository {
 11     
 12     /**
 13      * vrací platné zprávy
 14      * @return type
 15      */
 16     public function getAllValidNews() {
 17     return $this->getTable()->select('news.*, CONCAT_WS(\' \', user.firstname, user.lastname) AS uname')
 18         ->where('valid', 1)
 19         ->order('id DESC');
 20     }
 21     
 22     /**
 23      * vrací platné zprávy do počtu uvedené v limutu
 24      * @param type $limit
 25      * @return type
 26      */
 27     public function getLimitValidNews($limit) {
 28     return $this->getTable()->select('news.*, CONCAT_WS(\' \', user.firstname, user.lastname) AS uname')
 29         ->where('valid', 1)
 30         ->limit($limit)
 31         ->order('id DESC');
 32     }
 33     
 34     /**
 35      * vrací všechny záznamy zpráv pro datagrid s označením viditelnosti pro určeného uživatele
 36      * @param type $user_id
 37      * @return type
 38      */
 39     public function getGridSelectionNews($user_id) {
 40     return $this->connection->query("SELECT DISTINCT `news`.`id`,`news`.`name`, `news`.`created`, `news`.`valid`, CONCAT_WS(' ', `user`.`firstname`,
 41                     `user`.`lastname`) AS `uname`, (SELECT COUNT(`id`) FROM `visit` WHERE `visit`.`news_id` = `news`.`id` 
 42                     AND `visit`.`user_id` = $user_id) AS cnt
 43                     FROM `news` 
 44                     LEFT JOIN `visit` ON `news`.`id` = `visit`.`news_id` 
 45                     LEFT JOIN `user` ON `news`.`user_id` = `user`.`id`");
 46     }
 47     
 48     
 49     
 50     
 51     /**
 52      * počet platných zpráv
 53      * @return type
 54      */
 55     public function getCountValidNews() {
 56     return $this->getTable()->select('COUNT(*) AS cntvalid')
 57         ->where('valid', 1)
 58         ->fetch();
 59     }
 60     
 61     /**
 62      * vrací id platných zpráv
 63      */
 64     public function getValidNews() {
 65     return $this->getTable()->select('id')
 66         ->where('valid', 1);
 67     }
 68     
 69     /**
 70      * vrací počet uživatelem prohlédnutých platných zpráv 
 71      * @param type $ids
 72      * @param type $user_id
 73      * @return type
 74      */
 75     public function getCountVisitValidNews($ids, $user_id) {
 76     return $this->connection->table('visit')->select('COUNT(*) AS cntvisit')
 77         ->where('news_id', $ids)
 78         ->where('user_id', $user_id)
 79         ->fetch();
 80     }
 81     
 82     
 83     /**
 84      * označí zprávu za přečtenou uživatelem
 85      * @param type $news_id
 86      * @param type $user_id
 87      * @throws \PDOException
 88      */
 89     public function stampVisit($news_id, $user_id) {
 90     try {
 91         $this->connection->table('visit')->insert(array('news_id' => $news_id, 'user_id' => $user_id));
 92     }
 93     catch ( \PDOException $e) {
 94         if ($e->getCode() == '23000')
 95         $this->connection->table('visit')->where(array('news_id' => $news_id, 'user_id' => $user_id))
 96             ->update(array('news_id' => $news_id, 'user_id' => $user_id));
 97         else
 98         throw $e;
 99     }
100     }
101 }
102 
IS objednávky API documentation generated by ApiGen