app/Plugin/PiaBlog/Controller/IndexController.php line 188

Open in your IDE?
  1. <?php
  2. namespace Plugin\PiaBlog\Controller;
  3. use Eccube\Controller\AbstractController;
  4. use Eccube\Repository\NewsRepository;
  5. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Symfony\Component\Routing\Annotation\Route;
  8. class IndexController extends AbstractController {
  9.   /**
  10.    * @var NewsRepository
  11.    */
  12.   protected $newsRepository;
  13.   /**
  14.    * NewsController constructor.
  15.    *
  16.    * @param NewsRepository $newsRepository
  17.    */
  18.   public function __construct(NewsRepository $newsRepository) {
  19.     $this->newsRepository $newsRepository;
  20.   }
  21.     /**
  22.      * @Route("/blog_tweet/", name="plugin_pia_blog_tweet")
  23.      * @Template("@PiaBlog/default/tweet.twig")
  24.      */
  25.     public function tweet(Request $request) {
  26.         $builder $this->createFormBuilder();
  27.         $form $builder->getForm();
  28.         $category_id "3";
  29.         return [
  30.             'form' => $form->createView(),
  31.             'category_id' => $category_id,
  32.         ];
  33.     }
  34.   /**
  35.    * @Route("/blog_detail/", name="plugin_pia_blog_detail")
  36.    * @Template("@PiaBlog/default/detail.twig")
  37.    */
  38.   public function detail(Request $request) {
  39.      $id $request->query->get("id");
  40.     $row $this->newsRepository->find($id);
  41.     $disp_flg $row->getDispFlg();
  42.     $disp_datetime $row->getPublishDate();
  43.     $now_date date("Y-m-d H:i:s");
  44.     if(empty($row) or $disp_flg != "1" or (strtotime($disp_datetime->format("Y-m-d H:i:s")) > strtotime($now_date))){
  45.       throw new NotFoundHttpException();
  46.     }
  47.     $rows $this->newsRepository->findBy(array(), array('rank' => 'DESC'));
  48.     $htPage = array();
  49.     $htTitle = array();
  50.     foreach($rows as $page){
  51.       $htPage[] = $page->getId();
  52.       $htTitle[] = $page->getTitle();
  53.     }
  54.     $page_data = array(
  55.       "next" => "",
  56.       "prev" => "",
  57.       "next_title" => "",
  58.       "prev_title" => "",
  59.     );
  60.     $page_id $row->getId();
  61.     foreach($htPage as $k => $v){
  62.       if($v == $page_id){
  63.         $prev $k 1;
  64.         $page_data["prev"] = empty($htPage[$prev]) ? "" $htPage[$prev];
  65.         $page_data["prev_title"]  = empty($htTitle[$prev]) ? "" $htTitle[$prev];
  66.         $next $k 1;
  67.         $page_data["next"] = empty($htPage[$next]) ? "" $htPage[$next];
  68.         $page_data["next_title"]  = empty($htTitle[$next]) ? "" $htTitle[$next];
  69.       }
  70.     }
  71.     $category_id $row->getNewsCategoryId();
  72.     $builder $this->createFormBuilder();
  73.     $form $builder->getForm();
  74.     return [
  75.       "row" => $row,
  76.       "page_data" => $page_data,
  77.       "form" => $form,
  78.         "category_id" => $category_id,
  79.     ];
  80.   }
  81.   
  82.   
  83.   /**
  84.    * @Route("/blog_news/", name="plugin_pia_blog_news")
  85.    * @Template("@PiaBlog/default/news.twig")
  86.    */
  87.   public function news(Request $request) {
  88.     $builder $this->createFormBuilder();
  89.     $form $builder->getForm();
  90.     $category_id "1";
  91.     $rows $this->newsRepository->getList($category_id);
  92.     return [
  93.       'form' => $form->createView(),
  94.       'category_id' => $category_id,
  95.       'rows' => $rows,
  96.       'htImg' => $this->_getHashImg($rows),
  97.     ];
  98.   }
  99.   /**
  100.    * @Route("/blog_products/", name="plugin_pia_blog_products")
  101.    * @Template("@PiaBlog/default/news.twig")
  102.    */
  103.   public function products(Request $request) {
  104.     $builder $this->createFormBuilder();
  105.     $form $builder->getForm();
  106.     $category_id "2";
  107.     $rows $this->newsRepository->getList($category_id);
  108.     return [
  109.       'form' => $form->createView(),
  110.       'category_id' => $category_id,
  111.       'rows' => $rows,
  112.       'htImg' => $this->_getHashImg($rows),
  113.     ];
  114.   }
  115.   /**
  116.    * @Route("/blog_kingsbirthday/", name="plugin_pia_blog_kingsbirthday")
  117.    * @Template("@PiaBlog/default/news.twig")
  118.    */
  119.   public function kingsbirthday(Request $request) {
  120.     $builder $this->createFormBuilder();
  121.     $form $builder->getForm();
  122.     $category_id "4";
  123.     $rows $this->newsRepository->getList($category_id);
  124.     return [
  125.       'form' => $form->createView(),
  126.       'category_id' => $category_id,
  127.       'rows' => $rows,
  128.       'htImg' => $this->_getHashImg($rows),
  129.     ];
  130.   }
  131.   /**
  132.    * @Route("/blog_staff/", name="plugin_pia_blog_staff")
  133.    * @Template("@PiaBlog/default/news.twig")
  134.    */
  135.   public function staff(Request $request) {
  136.     $builder $this->createFormBuilder();
  137.     $form $builder->getForm();
  138.     $category_id "5";
  139.     $rows $this->newsRepository->getList($category_id);
  140.     return [
  141.       'form' => $form->createView(),
  142.       'category_id' => $category_id,
  143.       'rows' => $rows,
  144.       'htImg' => $this->_getHashImg($rows),
  145.     ];
  146.   }
  147.   /**
  148.    * @Route("/blog_event/", name="plugin_pia_blog_event")
  149.    * @Template("@PiaBlog/default/news.twig")
  150.    */
  151.   public function event(Request $request) {
  152.     $builder $this->createFormBuilder();
  153.     $form $builder->getForm();
  154.     $category_id "6";
  155.     $rows $this->newsRepository->getList($category_id);
  156.     return [
  157.       'form' => $form->createView(),
  158.       'category_id' => $category_id,
  159.       'rows' => $rows,
  160.       'htImg' => $this->_getHashImg($rows),
  161.     ];
  162.   }
  163.   
  164.   /**
  165.    * 画像ハッシュ一覧
  166.    * @param array $rows
  167.    * @return hash
  168.    */
  169.   private function _getHashImg($rows){
  170.     $htImg = array();
  171.     if(!empty($rows)){
  172.       foreach($rows as $row){
  173.         $id $row->getId();
  174.         $pattern '/<img.*?src\s*=\s*[\"|\'](.*?)[\"|\'].*?>/i';
  175.         $images = array();
  176.         preg_match$pattern$row->getDescription(), $images );
  177.         $htImg[$id] = empty($images[1]) ? "" $images[1];
  178.       }
  179.     }
  180.     return $htImg;
  181.   }
  182. }