START<?php namespace Media\AdminBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; use Media\CoreBundle\Entity\Media; use Media\AdminBundle\Form\MediaType; use Media\AdminBundle\Model\Resource; use JMS\SecurityExtraBundle\Annotation\PreAuthorize; use MakerLabs\Bundle\PagerBundle\Adapter\ArrayAdapter; use MakerLabs\Bundle\PagerBundle\Pager; use Knp\Component\Pager\Paginator; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Media\AdminBundle\Form\Search\MediaType as SearchType; use Media\AdminBundle\Form\Search\MediaType as MediaSearchType; use Symfony\Component\HttpFoundation\File\UploadedFile; use Ec\CoreBundle\Model\Utils; /** * @Route("/media") * @PreAuthorize("hasRole('ROLE_MEDIA') or (hasRole('ROLE_SUPER_ADMIN'))") */ class MediaController extends Controller { /** * @Route("/{page}", defaults={"page"=1}, requirements={"page" = "\d+"}, name="media") * @Template() * */ public function indexAction($page) { $request = $this->get('request'); $session = $this->get('session'); $em = $this->get('doctrine')->getManager(); $securityContext = $this->get('security.context'); // 現状で表示している項目のセッション $display_items = array( 'name', 'size', 'type', 'update_at' /* "{{ 'admin.order_group.set_order.consumer_name'|trans }}", 'サイズ', 'タイプ', "{{ 'admin.product.updated_at'|trans }}",*/ ); if ($session->has('media_display_items')) { $display_items = $session->get('media_display_items'); } else { $session->set('media_display_items', $display_items); } // 検索用フォーム $sql = 'SELECT m.type from MediaCoreBundle:Media m GROUP BY m.type'; $query = $em->createQuery($sql); $media_type_result = $query->getResult(); $media_type_list = array(); if (count($media_type_result) > 0) { foreach ($media_type_result as $mediaType) { $media_type_list[$mediaType['type']] = $mediaType['type']; } } $form = $this->createForm(new SearchType($media_type_list)); // 検索 // session // media_search_params $params = array();// 検索パラメーター $showSelectBox = false; if ($session->has('media_search_params')) { // postであれば、sessionを上書き if ($request->getMethod() === 'POST') { $form->bind($request); $params = $form->getData(); // 更新日時のfromとtoの位置交換 if ((isset($params['updated_at_from']) && $params['updated_at_from'] != '') && (isset($params['updated_at_to']) && $params['updated_at_to'] != '')) { if (END