START $qb->andWhere($qb->expr()->gte('p.updated_at', '?3')) ->setParameter(3, date('Y-m-d H:i:s', strtotime($params['updated_at_from']))); } // $params['updated_at_to'] if (isset($params['updated_at_to']) && $params['updated_at_to'] != '') { $qb->andWhere($qb->expr()->lte('p.updated_at', '?4')) ->setParameter(4, date('Y-m-d H:i:s', strtotime($params['updated_at_to']))); } // orderby order limit $qb->orderBy('p.'.$orderBy, $order); $paginator = $this->get('knp_paginator'); $pager = $paginator->paginate($qb->getQuery(), $page, $limit); return array( 'pager' => $pager, 'form' => $form->createView(), 'display_items' => $display_items, 'orderBy' => $orderBy, 'order' => $order, 'reverseOrder' => $reverseOrder, 'limit' => $limit, 'show_select_box' => ($session->has('media_search_show_select_box')?$session->get('media_search_show_select_box'):false), ); } /** * @Route("/display", name="media_display") * */ public function displayAction() { // request $request = $this->get('request'); // POSTのデータを取得 $display_items = $request->request->get('display_items'); // セッション設定 $this->get('session')->set('media_display_items', $display_items); // return return new Response(json_encode(array()), 200, array('Content-Type'=>'application/json')); } /** * @Route("/search/clear", name="media_search_clear") * */ public function clearAction() { $request = $this->get('request'); $session = $this->get('session'); if ($session->has('media_search_params')) { $session->remove('media_search_params'); } if ($session->has('media_search_orderby')) { $session->remove('media_search_orderby'); } if ($session->has('media_search_order')) { $session->remove('media_search_order'); } if ($session->has('media_search_limit')) { $session->remove('media_search_limit'); } if ($session->has('media_search_show_select_box')) { $session->remove('media_search_show_select_box'); } $showMsg = $request->query->get('show_msg'); if ($showMsg == '') { $this->get('ec.message.flash')->setMessage('system_success', $this->container->get('translator')->trans('notice.common.result.reset.search')); } return $this->redirect($this->generateUrl('media')); } /** * @Route("/search/media/clear", name="media_popup_search_clear") */ public function clearMediaSearchAction() { $session = $this->get('session'); if ($session->has('popup_media_display_items')) { $session->remove('popup_media_display_items'); } if ($session->has('popup_media_search_params')) { $session->remove('popup_media_search_params'); } if ($session->has('popup_media_search_orderby')) { $session->remove('popup_media_search_orderby'); } if ($session->has('popup_media_search_order')) { $session->remove('popup_media_search_order'); } if ($session->has('popup_media_search_limit')) { $session->remove('popup_media_search_limit'); } if ($session->has('popup_media_search_show_select_box')) { $session->remove('popup_media_search_show_select_box'); } return $this->redirect($this->generateUrl('media_list_popup')); } /** * @Route("/edit/{id}", name="media_edit") * @Template() * */ public function editAction($id) { $em = $this->get('doctrine')->getManager(); $media = $em->getRepository('MediaCoreBundle:Media')->find($id); $form = $this->createForm(new MediaType(true), $media); $request = $this->get('request'); if ($request->getMethod() === 'POST') { $form->bind($request); if ($form->isValid()) { $entityManager = $this->get('doctrine')->getManager(); // TODO: とりあえず現状では、値を変更しないとUpdateに引っかからないので無理矢理更新してあげる $media->setUpdatedAt(new \DateTime()); $entityManager->persist($media); $entityManager->flush(); $this->get('ec.message.flash')->setMessage('system_success', '', $this->generateUrl('media')); } else { $this->get('ec.message.flash')->setMessage('system_error'); } } return array('form' => $form->createView(), 'media' => $media); } /** * @Route("/delete/{id}", name="media_delete") * @Template() * */ public function deleteAction($id) { $em = $this->getDoctrine()->getManager(END