public function indexAction() { $limit = 25; $page = $this->params('page', 1); $cond = "1 = 1"; $query_count = $this->em()->createQuery("select count(u) from \\Application\\Entity\\User u where {$cond} order by u.createdAt DESC"); $query = $this->em()->createQuery("select u from \\Application\\Entity\\User u where {$cond} order by u.createdAt DESC")->setFirstResult($limit * ($page - 1))->setMaxResults($limit); // create paginator control (null adapter) $count = $query_count->getSingleScalarResult(); $paginator = new \Zend\Paginator\Paginator(new \Zend\Paginator\Adapter\Null($count)); $paginator->setItemCountPerPage($limit); $paginator->setCurrentPageNumber($page); return new ViewModel(["active_tab" => "user", "paginator" => $paginator, "items" => $query->getResult()]); }
/** * Get Paginator * * @author Marco Rieger * * @param QueryBuilder $qb * @param bool $fetchJoinCollection * * @return \Zend\Paginator\Paginator */ public function getPaginator(AbstractQuery $qb, $seite = 1, $fetchJoinCollection = false) { $adapter = new \DoctrineORMModule\Paginator\Adapter\DoctrinePaginator(new \Doctrine\ORM\Tools\Pagination\Paginator($qb, $fetchJoinCollection)); $paginator = new \Zend\Paginator\Paginator($adapter); $paginator->setDefaultItemCountPerPage(1); $seite = (int) $seite; if ($seite <= 1) { $paginator->setCurrentPageNumber(1); } else { $paginator->setCurrentPageNumber($seite); } return $paginator; }
/** * @param int $limit * @param int $page * @param boolean $isArray * @param mixed $target */ public function __construct($target, $page = 0, $limit = 0, $isArray = false) { $this->limit = $limit; $this->page = $page; // different adapters : Array results or Doctrine query $adapter = null; if ($isArray) { $this->arrayResults = $target; $arrayCollection = new \Doctrine\Common\Collections\ArrayCollection($target); $adapter = new \DoctrineModule\Paginator\Adapter\Collection($arrayCollection); } else { $this->doctrineQuery = $target; $adapter = new \DoctrineORMModule\Paginator\Adapter\DoctrinePaginator(new \Doctrine\ORM\Tools\Pagination\Paginator($target)); } $paginator = new \Zend\Paginator\Paginator($adapter); if (!$limit) { $limit = \TmCommon\Config\Config::DEFAULT_PAGE_ITEMS_LIMIT; } $paginator->setItemCountPerPage($limit); if (!$page) { $page = 1; } $paginator->setCurrentPageNumber($page); $this->paginator = $paginator; }
function viewAction() { if ($this->params()->fromQuery('page') > 100) { throw new \Exception('You cant go past 100 pages for performance reasons'); } if ($this->params('id')) { $category = $this->categoryMapper()->load($this->params('id')); } $page = $this->params()->fromQuery('page', 1); $perpage = 6; $offset = $page * $perpage - $perpage; $attributes = array(); $allowed_attributes = $this->attributeMapper()->listAttributes(); foreach ($allowed_attributes as $attribute) { if ($this->params()->fromQuery($attribute)) { $attributes[$attribute] = $this->params()->fromQuery($attribute); } } $criteria = array('attributes' => $attributes, 'active' => 1); if ($this->params('id')) { $criteria['category'] = $this->params('id'); } $products = $this->productMapper()->find($criteria, $offset, $perpage); $productCount = $this->productMapper()->count($criteria); $pageAdapter = new \Zend\Paginator\Adapter\Null($productCount); $paginator = new \Zend\Paginator\Paginator($pageAdapter); $paginator->setItemCountPerPage($perpage); $paginator->setCurrentPageNumber($page); if ($offset + $perpage > $productCount) { $end = $productCount; } else { $end = $offset + $perpage; } return array('category' => $this->params('id') ? $category['name'] : '', 'start' => $offset + 1, 'end' => $end, 'total' => $productCount, 'paginator' => $paginator, 'products' => $products); }
/** * @extra:Route("/", name="_alf") * @extra:Template() */ public function leftMenuAction() { // $catalog = new Catalogs(); // $catalog->setCategory('1'); // $catalog->setName('skarpety wpisane'); // $em = $this->get('doctrine.orm.entity_manager'); // $em->persist($catalog); // $em->flush(); // $menu = $this->get('doctrine.orm.entity_manager') // ->createQuery('SELECT c FROM AlfShopBundle:Catalogs c ORDER BY c.id DESC') // ->getResult() // ; // $menu = array( array('name' => 'A'), array('name' => 'B'),array('name' => 'C')); $em = $this->get('doctrine.orm.entity_manager'); $qb = new QueryBuilder($em); $dql = $qb->select('c.name')->from('AlfShopBundle:Catalogs', 'c')->getQuery(); $menu = $dql->getResult(); $em = $this->get('doctrine.orm.entity_manager'); $qb = new QueryBuilder($em); $dql = $qb->select('c')->from('AlfShopBundle:Catalogs', 'c'); $query = $em->createQuery($dql); $adapter = $this->get('knplabs_paginator.adapter'); $adapter->setQuery($query); $adapter->setDistinct(true); $paginator = new \Zend\Paginator\Paginator($adapter); $paginator->setCurrentPageNumber($this->get('request')->query->get('page', 1)); $paginator->setItemCountPerPage(2); $paginator->setPageRange(5); // $menu = $m ->getResult(); // $menu = $em->find('AlfShopBundle:Catalogs'); // $em->persist($menu); // $em->flush(); // $menu = array('A', 'B'); return $this->render('AlfShopBundle:Shop:leftMenu.html.twig', array('menuList' => $paginator, 'paginator' => $paginator)); }
public static function createPaginator($totalItem, $paginatorParams) { $adapter = new \Zend\Paginator\Adapter\Null($totalItem); $paginator = new \Zend\Paginator\Paginator($adapter); $paginator->setCurrentPageNumber($paginatorParams['currentPageNumber']); $paginator->setPageRange($paginatorParams['pageRange']); $paginator->setItemCountPerPage($paginatorParams['itemCountPerPage']); return $paginator; }
/** * 显示所有已收集的Email地址 */ public function indexAction() { $hydrator = new \Zend\Stdlib\Hydrator\ObjectProperty(); $objectPrototype = new \Console\Model\Address(); $resultSet = new \Zend\Db\ResultSet\HydratingResultSet($hydrator, $objectPrototype); $query = new \Zend\Db\Sql\Select(); $query->from('address'); $adapter = new \Zend\Paginator\Adapter\DbSelect($query, $this->dbAdapter, $resultSet); $paginator = new \Zend\Paginator\Paginator($adapter); $paginator->setCurrentPageNumber($this->params()->fromRoute('page')); return new ViewModel(array('paginator' => $paginator)); }
public function getDocumentPaginator($page_num) { $hydrator = new ObjectPropertyHydrator(); $objectPrototype = new Document(); $resultSet = new \Zend\Db\ResultSet\HydratingResultSet($hydrator, $objectPrototype); $query = new \Zend\Db\Sql\Select(); $query->from('document'); $adapter = new \Zend\Paginator\Adapter\DbSelect($query, $this->adapter, $resultSet); $paginator = new \Zend\Paginator\Paginator($adapter); $paginator->setCurrentPageNumber($page_num); return $paginator; }
public function indexAction() { $dm = $this->getDocumentManager(); $query = $dm->createQueryBuilder('RJCDiakoniaBundle:Song')->getQuery(); $adapter = $this->get('knplabs_paginator.adapter'); $adapter->setQuery($query); $paginator = new \Zend\Paginator\Paginator($adapter); $paginator->setCurrentPageNumber($this->getRequest()->query->get('page', 1)); $paginator->setItemCountPerPage(20); $paginator->setPageRange(5); return $this->render('RJCDiakoniaBundle:Song:index.html.twig', array('paginator' => $paginator)); }
public function indexAction() { $request = $this->getRequest(); $users = $this->getEntityManager()->getRepository('Admin\\Entity\\ShopncCustomer')->findAll(); $paginator = new \Zend\Paginator\Paginator(new \Zend\Paginator\Adapter\ArrayAdapter($users)); //设置当前页数 $paginator->setCurrentPageNumber($request->getQuery('page')); //设置一页要返回的结果条数 $paginator->setItemCountPerPage(5); $view = new ViewModel(); $view->setVariable('paginator', $paginator); return $view; }
public function dados(\Zend\Db\Sql\Select $select) { if (isset($_POST) && @$_POST["busca"] == "Busca simples" && @$_POST["valor"]) { $valor = $_POST["valor"]; $valor = str_replace(array("*"), "%", $valor); $select->where->addPredicate(new \bhcosta90\zend\src\Sql\Where\ILike($_POST["campo"], $valor)); } $adapter = new \Zend\Paginator\Adapter\DbSelect($select, $this->getTableGateway()->getAdapter(), null); $paginator = new \Zend\Paginator\Paginator($adapter); $paginator->setItemCountPerPage($this->quantidade); $paginator->setCurrentPageNumber(isset($_REQUEST["pagina"]) ? $_REQUEST["pagina"] : null); return $paginator; }
public function getQueue($task_id, $page_num) { $hydrator = new ObjectPropertyHydrator(); $objectPrototype = new Queue(); $resultSet = new \Zend\Db\ResultSet\HydratingResultSet($hydrator, $objectPrototype); $query = new \Zend\Db\Sql\Select(); $query->from('queue')->where(array('task_id' => $task_id)); $adapter = new \Zend\Paginator\Adapter\DbSelect($query, $this->adapter, $resultSet); $paginator = new \Zend\Paginator\Paginator($adapter); $paginator->setCurrentPageNumber($page_num); $paginator->setDefaultItemCountPerPage(100); return $paginator; }
public function indexAction() { $npcFilter = $this->params()->fromQuery("npcfilter"); $limit = $this->params()->fromQuery("limit", 50); $page = $this->params()->fromQuery("page", 1); $killLogMapper = $this->getServiceLocator()->get('DB\\Mapper\\KillLog'); $result = $killLogMapper->getLog(['limit' => $limit, 'page' => $page, 'npcFilter' => $npcFilter]); $npcMapper = $this->getServiceLocator()->get('DB\\Mapper\\NPC'); $adapter = new \Zend\Paginator\Adapter\NullFill($result['count']); $paginator = new \Zend\Paginator\Paginator($adapter); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage($limit); return ['result' => $result['result'], 'paginator' => $paginator, 'parameter' => $this->params()->fromQuery(), 'npcs' => $npcMapper->getEntityRepository()->findAll()]; }
public function listAction() { $auth = new AuthenticationService(); if (!$auth->hasIdentity()) { return $this->redirect()->toRoute('home'); } $search = @$_REQUEST['search']; $rowset = $this->UsersTable()->select(); $select = array('rowset' => $rowset, 'action' => $this->params()->fromRoute('action')); $select = new \Zend\Paginator\Paginator(new \Zend\Paginator\Adapter\ArrayAdapter($select)); $select->setCurrentPageNumber($this->params()->fromRoute('page')); $select->setItemCountPerPage(2); $view = new ViewModel($select); return $view; }
public function clientesAction() { $consulta = $this->params()->fromPost('texto'); $clientes = $this->getTableClientes()->getCliente(); $paginator = new \Zend\Paginator\Paginator(new \Zend\Paginator\Adapter\Iterator($clientes)); $paginator->setCurrentPageNumber((int) $this->params()->fromQuery('page', 1)); $paginator->setItemCountPerPage(10); if ($this->getRequest()->isPost()) { $clientes = $this->getTableClientes()->getCliente($consulta); $paginator = new \Zend\Paginator\Paginator(new \Zend\Paginator\Adapter\Iterator($clientes)); $paginator->setCurrentPageNumber((int) $this->params()->fromQuery('page', 1)); $paginator->setItemCountPerPage(10); } return new ViewModel(array('clientes' => $paginator)); }
public function fetch($page) { $sql = new \Zend\Db\Sql\Sql($this->adapter); $select = $sql->select(); $select->columns(array('id', 'title', 'slug', 'content', 'created'))->from(array('p' => 'news'))->join(array('c' => 'category'), 'c.id = p.category_id', array('category_id' => 'id', 'name', 'category_slug' => 'slug'), $select::JOIN_INNER)->order('p.id DESC'); $hydrator = new AggregateHydrator(); $hydrator->add(new PostHydrator()); $hydrator->add(new CategoryHydrator()); $resultSet = new HydratingResultSet($hydrator, new Post()); $paginatorAdapter = new \Zend\Paginator\Adapter\DbSelect($select, $this->adapter, $resultSet); $paginator = new \Zend\Paginator\Paginator($paginatorAdapter); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage(5); return $paginator; }
public function indexAction() { //$result=$this->forward()->dispatch('CategoryController',array('action'=>'index')); //echo '<pre>'; print_r($result); echo '<pre>'; die; $auth = new AuthenticationService(); if (!$auth->hasIdentity()) { return $this->redirect()->toRoute('home'); } $productService = $this->getServiceLocator()->get('Application\\Service\\ProductService'); $search = @$_REQUEST['search']; $products = $productService->findAll($search); $paginator = new \Zend\Paginator\Paginator(new \Zend\Paginator\Adapter\ArrayAdapter($products)); $paginator->setCurrentPageNumber($this->params()->fromRoute('page')); $paginator->setItemCountPerPage(2); return new ViewModel(array('products' => $paginator)); }
public function pagination($page, $limit, $query = null, $orderBy = null, $sort = 'ASC') { $select = $this->getSelect(); if ($orderBy) { $select->order($orderBy . ' ' . $sort); } if (null !== $query) { $spec = function ($where) use($query) { $where->like('name', '%' . $query . '%')->or->like('description', '%' . $query . '%'); }; $select->where($spec); } $adapter = new \Zend\Paginator\Adapter\DbSelect($select, $this->getSql(), new HydratingResultSet($this->getHydrator(), $this->getEntityPrototype())); $paginator = new \Zend\Paginator\Paginator($adapter); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage($limit); return $paginator; }
function manageAction() { $page = $this->params()->fromQuery('page', 1); $perpage = 6; $offset = $page * $perpage - $perpage; $products = $this->productMapper()->find(array(), $offset, $perpage); $productCount = $this->productMapper()->count(); $pageAdapter = new \Zend\Paginator\Adapter\Null($productCount); $paginator = new \Zend\Paginator\Paginator($pageAdapter); $paginator->setItemCountPerPage($perpage); $paginator->setCurrentPageNumber($page); if ($offset + $perpage > $productCount) { $end = $productCount; } else { $end = $offset + $perpage; } return array('start' => $offset + 1, 'end' => $end, 'total' => $productCount, 'paginator' => $paginator, 'products' => $products); }
public function indexAction() { // I) Without pagination // return new ViewModel(array('rowset' => $this->getUsersTable()->select())); // II) Pagination // 1) ArrayAdapter. You first retireve all result turn them to array and after paginate. Not a very good solution. // $resulySet = $this->getUsersTable()->select(); // $paginator = new \Zend\Paginator\Paginator(new \Zend\Paginator\Adapter\ArrayAdapter($resulySet->toArray())); // 2) Zend\Paginator\Adapter\DbTableGateway. The best. $paginator = new \Zend\Paginator\Paginator(new \Zend\Paginator\Adapter\DbTableGateway($this->getUsersTable())); $page = 1; if ($this->params()->fromRoute('page')) { $page = $this->params()->fromRoute('page'); } $paginator->setCurrentPageNumber((int) $page); $paginator->setItemCountPerPage(5); return new ViewModel(array('paginator' => $paginator)); }
public function indexAction() { $filter = $this->filter(); $page = $this->params()->fromQuery('page', 1); $perpage = 10; $offset = $page * $perpage - $perpage; $vehicles = $this->finder()->findByLevels($filter, false, $perpage, $offset); $vehicleCount = count($this->finder()->findByLevels($filter)); $pageAdapter = new \Zend\Paginator\Adapter\Null($vehicleCount); $paginator = new \Zend\Paginator\Paginator($pageAdapter); $paginator->setItemCountPerPage($perpage); $paginator->setCurrentPageNumber($page); if ($offset + $perpage > $vehicleCount) { $end = $vehicleCount; } else { $end = $offset + $perpage; } return array('vehicles' => $vehicles, 'schema' => $this->schema(), 'start' => $offset + 1, 'end' => $end, 'total' => $vehicleCount, 'paginator' => $paginator); }
/** * Get the list of the active and visible pages * * (non-PHPdoc) * @see Zend\Mvc\Controller.AbstractActionController::indexAction() */ public function indexAction() { $page = $this->params()->fromRoute('page'); $ItemCountPerPage = $this->cmsSettings->getValueByParameter('Cms', 'postperpage'); $paginator = null; $records = $this->pageService->getActivePages(); if (!empty($records) && $records->count()) { foreach ($records as $record) { $data[] = $record; } $paginator = new \Zend\Paginator\Paginator(new \Zend\Paginator\Adapter\ArrayAdapter($data)); $paginator->setItemCountPerPage($ItemCountPerPage); $paginator->setCurrentPageNumber($page); } else { $this->flashMessenger()->setNamespace('danger')->addMessage($this->translator->translate('Sorry, there are no news!')); } $viewModel = new ViewModel(array('paginator' => $paginator)); return $viewModel; }
public function indexAction() { $filtrar = $this->params()->fromPost('submit'); $datos = $this->params()->fromPost('texto'); $estado = $this->params()->fromPost('estado'); $puntaje = $this->params()->fromPost('puntaje'); // var_dump($datos); // var_dump($estado); // var_dump($puntaje); // exit; $request = $this->getRequest(); if ($request->isPost()) { $comentarios = $this->getComentariosTable()->buscarComentario($datos, $estado, $puntaje); } else { $comentarios = $this->getComentariosTable()->fetchAll(); } $paginator = new \Zend\Paginator\Paginator(new \Zend\Paginator\Adapter\Iterator($comentarios)); $paginator->setCurrentPageNumber((int) $this->params()->fromQuery('page', 1)); $paginator->setItemCountPerPage(10); return array('comentarios' => $paginator, 'puntaje' => $this->puntaje(), 'texto' => $datos); }
public function indexAction() { $auth = new \Zend\Authentication\AuthenticationService(); if (!$auth->hasIdentity()) { return $this->redirect()->toUrl($this->getRequest()->getBaseUrl() . '/usuario/index/login'); } // $this->layout('layout/layout22'); //$this->dbAdapter=$this->getServiceLocator()->get('Zend\Db\Adapter'); //$u=new Ubigeo($this->dbAdapter); // var_dump($u->getUbigeo());exit; $filtrar = $this->params()->fromPost('submit'); $id = (int) $this->params()->fromRoute('in_id', 0); // if(!empty($id)){ // if(isset($filtrar)){ // $consulta=$this->params()->fromPost('texto'); // $lista = $this->getLocalTable()->listar($consulta); // }else{ // $lista = $this->getLocalTable()->listar($id);//$id // } // }else{ // if(isset($filtrar)){ // $consulta=$this->params()->fromPost('texto'); // $lista = $this->getLocalTable()->listar($consulta); // }else{ // $lista = $this->getLocalTable()->listar();//$id // } // // } $lista = $this->getLocalTable()->listar($id); $request = $this->getRequest(); if ($request->isPost()) { $consulta = $this->params()->fromPost('texto'); $lista = $this->getLocalTable()->listar($id, $consulta); } $paginator = new \Zend\Paginator\Paginator(new \Zend\Paginator\Adapter\Iterator($lista)); $page = (int) $this->params()->fromQuery('page', 1); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage(10); return new ViewModel(array('locales' => $paginator, 'in_id' => $id)); }
/** * 分页方法 * $dql 查询dql语句 * $maxlist 每页显示条数 * $pageNumberOld 当前页数 * */ public function fenye($dql, $maxlist, $pageNumberOld) { $firstResult = 0; if ($pageNumberOld == null) { $pageNumberOld = 1; } if ($pageNumberOld == 1) { $firstResult = 0; } else { $pageNumberNew = $pageNumberOld * $maxlist; $firstResult = $pageNumberNew - $maxlist; } $entityManager = $this->getEntityManager(); $query = $entityManager->createQuery($dql)->setFirstResult($firstResult)->setMaxResults($maxlist); $paginator = new Paginator($query, $fetchJoinCollection = true); $countNumber = count($paginator); $bugs = $query->getArrayResult(); $paginator = new \Zend\Paginator\Paginator(new \Zend\Paginator\Adapter\null($countNumber)); $paginator->setCurrentPageNumber($pageNumberOld)->setItemCountPerPage($maxlist); $vm = new \Zend\View\Model\ViewModel(); $vm->setVariables(array('paginator' => $paginator, 'bugs' => $bugs)); return $vm; }
/** * * @param unknown $select * @return \Zend\Paginator\Paginator */ public function getPaginator($select) { $Paginator = new \Zend\Paginator\Paginator(new \Zend\Paginator\Adapter\Iterator($select)); $Paginator->setCurrentPageNumber($this->_current_page); $Paginator->setItemCountPerPage($this->_items_per_page); return $Paginator; }
/** * @param $count * @param $page * @param $itemsPerPage * @return \Zend\Paginator\Paginator */ private function getPaginator($count, $page, $itemsPerPage) { $adapter = new \Zend\Paginator\Adapter\NullFill($count); $paginator = new \Zend\Paginator\Paginator($adapter); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage($itemsPerPage); $paginator->setPageRange(10); return $paginator; }
/** * Send list of checked out books to view * * @return mixed */ public function checkedoutAction() { // Stop now if the user does not have valid catalog credentials available: if (!is_array($patron = $this->catalogLogin())) { return $patron; } // Connect to the ILS: $catalog = $this->getILS(); // Get the current renewal status and process renewal form, if necessary: $renewStatus = $catalog->checkFunction('Renewals', compact('patron')); $renewResult = $renewStatus ? $this->renewals()->processRenewals($this->getRequest()->getPost(), $catalog, $patron) : []; // By default, assume we will not need to display a renewal form: $renewForm = false; // Get checked out item details: $result = $catalog->getMyTransactions($patron); // Get page size: $config = $this->getConfig(); $limit = isset($config->Catalog->checked_out_page_size) ? $config->Catalog->checked_out_page_size : 50; // Build paginator if needed: if ($limit > 0 && $limit < count($result)) { $adapter = new \Zend\Paginator\Adapter\ArrayAdapter($result); $paginator = new \Zend\Paginator\Paginator($adapter); $paginator->setItemCountPerPage($limit); $paginator->setCurrentPageNumber($this->params()->fromQuery('page', 1)); $pageStart = $paginator->getAbsoluteItemNumber(1) - 1; $pageEnd = $paginator->getAbsoluteItemNumber($limit) - 1; } else { $paginator = false; $pageStart = 0; $pageEnd = count($result); } $transactions = $hiddenTransactions = []; foreach ($result as $i => $current) { // Add renewal details if appropriate: $current = $this->renewals()->addRenewDetails($catalog, $current, $renewStatus); if ($renewStatus && !isset($current['renew_link']) && $current['renewable']) { // Enable renewal form if necessary: $renewForm = true; } // Build record driver (only for the current visible page): if ($i >= $pageStart && $i <= $pageEnd) { $transactions[] = $this->getDriverForILSRecord($current); } else { $hiddenTransactions[] = $current; } } return $this->createViewModel(compact('transactions', 'renewForm', 'renewResult', 'paginator', 'hiddenTransactions')); }
/** * FUNCAO QUE EXECUTA UM COMANDO QUALQUER NO BANCO DE DADOS * ESTA FUNCAO MASCARA O USO DO ZEND_DB NO SISTEMA * @param string $sqlQuery * @param boolean $activationPaginator * @param integer $pageNumber * @param integer $limitPerPage * @return boolean * @throws \Exception */ public function executeSqlQuery($sqlQuery, $activationPaginator = false, $pageNumber = 1, $limitPerPage = 10) { $sql = new Sql($this->getAdapter($this->varConfigAdapter)); /* * RETIRA CARACTERES INVALIDOS DA QUERY */ $varSqlQuery = trim(str_replace(array("\n", "\r", "\t", " ", " ", " ", " "), array(" ", " ", " ", " ", " ", " ", " "), $sqlQuery)); /* * VERIFICA SE O TIPO DE COMANDO E UM SELECT */ $typeSelect = (bool) (substr(strtoupper($varSqlQuery), 0, 6) == "SELECT") ? true : false; /* * VERIFICA SE O COMANDO FOI DEFINIDO */ if (!empty($varSqlQuery)) { try { $query = $this->getAdapter($this->varConfigAdapter)->query($varSqlQuery); /* * CASO O DEBUG ESTEJA ATIVO IMPRIME A QUERY (COMANDO) NA TELA */ if (self::$varDebug) { $this->debugQuery($varSqlQuery); } elseif (self::$varExplan) { $this->explainQuery($varSqlQuery); } /* * CASO O COMANDO EXECUTADO SEJA DO TIPO SELECT RETORNA UM ARRAY COM O RESULTADO DA CONSULTA */ if ($typeSelect === true) { /** * VERIFICA SE HÁ CACHE GRAVADO E NAO EXPIRADO */ $rowSet = $query->execute(); if ($activationPaginator) { $retorno = array(); $adapter = new \Zend\Paginator\Adapter\Iterator($rowSet, $sql); $paginator = new \Zend\Paginator\Paginator($adapter); $paginator->setItemCountPerPage($limitPerPage); $paginator->setPageRange(5); $paginator->setCurrentPageNumber($pageNumber); $retorno['db'] = \Cityware\Format\Arrays::getObjectToArray($paginator->getCurrentItems()); $retorno['page'] = $paginator; } else { $retorno = self::$resultSetPrototype->initialize($rowSet)->toArray(); } if (!is_array($retorno) || count($retorno) <= 0) { $retorno = false; } } else { $query->execute(); $retorno = true; } } catch (\Zend\Db\Exception $exc) { $this->closeConnection(); $retorno = false; throw new \Exception('Nao foi possivel executar o comando SQL no banco de dados!<br /><br />' . $exc->getMessage(), 500); } } else { $this->closeConnection(); $retorno = false; throw new \Exception('O comando SQL nao foi definido corretamente!'); } $this->closeConnection(); self::freeMemory(); return $retorno; }
public function unoAction() { $view = new viewModel(); $view->setTerminal(true); $filtered = $this->params()->fromQuery('q'); $valor = explode(" ", $filtered); if ($valor[0] == 'restaurante:') { $buscar = $valor[1] . ' ' . $valor[2] . ' ' . $valor[3] . ' ' . $valor[4]; $texto = $valor[0] . '"' . $buscar . '"'; } elseif ($valor[0] == 'tag:') { $buscar = $valor[1] . ' ' . $valor[2] . ' ' . $valor[3]; $texto = $valor[0] . '"' . $buscar . '"'; } elseif ($valor[0] == 'name:') { $buscar = $valor[1] . ' ' . $valor[2] . ' ' . $valor[3]; $texto = $valor[0] . '"' . $buscar . '"'; } else { setcookie('q', $texto); $filtered = strtoupper($filtered); $filter = new \Zend\I18n\Filter\Alnum(true); $text = trim($filter->filter($filtered)); $text = preg_replace('/\\s\\s+/', ' ', $text); $busqueda = explode(" EN ", $text); if ($this->getRestauranteTable()->ubigeototal2($busqueda[1]) > 0) { $distrito = $busqueda[1]; } $texto = $busqueda[0]; } if ($distrito == 'LIMA' or $distrito == 'lima') { $limite = 10; $resultados = false; $palabraBuscar = isset($texto) ? $texto : false; // $distrito = ($distrito) ? ' AND distrito:' . $distrito : ''; $fd = array('fq' => 'en_estado:activo AND restaurant_estado:activo AND departamento:' . $distrito); if ($palabraBuscar == '') { $this->redirect()->toUrl('/'); } if ($palabraBuscar) { $solar = \Classes\Solr::getInstance()->getSolr(); if (get_magic_quotes_gpc() == 1) { $palabraBuscar = stripslashes($palabraBuscar); } try { $resultados = $solar->search($palabraBuscar, 0, $limite, $fd); } catch (Exception $e) { $this->redirect()->toUrl('/'); } } $limit = 3; $palabraBuscar = isset($texto) ? $texto : false; $query = "({$palabraBuscar})"; $fq = array('sort' => 'random_' . uniqid() . ' asc', 'fq' => 'en_estado:activo AND restaurant_estado:activo AND en_destaque:si AND departamento:' . $distrito); $results = false; if ($query) { $solr = \Classes\Solr::getInstance()->getSolr(); if (get_magic_quotes_gpc() == 1) { $query = stripslashes($query); } try { $results = $solr->search($query, 0, $limit, $fq); } catch (Exception $e) { $this->redirect()->toUrl('/'); } } } else { $limite = 10; $resultados = false; $palabraBuscar = isset($texto) ? $texto : false; $distrito = $distrito ? ' AND distrito:' . $distrito : ''; $fd = array('fq' => 'en_estado:activo AND restaurant_estado:activo' . $distrito); if ($palabraBuscar == '') { $this->redirect()->toUrl('/'); } if ($palabraBuscar) { $solar = \Classes\Solr::getInstance()->getSolr(); if (get_magic_quotes_gpc() == 1) { $palabraBuscar = stripslashes($palabraBuscar); } try { $resultados = $solar->search($palabraBuscar, 0, $limite, $fd); } catch (Exception $e) { $this->redirect()->toUrl('/'); } } $limit = 3; $palabraBuscar = isset($texto) ? $texto : false; $query = "({$palabraBuscar})"; $fq = array('sort' => 'random_' . uniqid() . ' asc', 'fq' => 'en_estado:activo AND restaurant_estado:activo AND en_destaque:si' . $distrito); $results = false; if ($query) { $solr = \Classes\Solr::getInstance()->getSolr(); if (get_magic_quotes_gpc() == 1) { $query = stripslashes($query); } try { $results = $solr->search($query, 0, $limit, $fq); } catch (Exception $e) { $this->redirect()->toUrl('/'); } } } $form = new Formularios(); $listades = $this->getConfigTable()->cantComentxPlato(1, '0,3', 1); $form->get('q')->setValue($texto); $form->get('submit')->setValue('Buscar'); $paginator = new \Zend\Paginator\Paginator(new \Zend\Paginator\Adapter\ArrayAdapter($resultados->response->docs)); $paginator->setCurrentPageNumber((int) $this->params()->fromQuery('page', 1)); $paginator->setItemCountPerPage(10); if ($resultados) { $total = (int) $resultados->response->numFound; $end = count($resultados->response->docs) + $start; $inicio = $start + 1; } if ($total <= 10) { $mostrar = 'Mostrando ' . $inicio . ' - ' . $end . ' de ' . $total . ' resultados'; } else { $mostrar = 'Mostrando ' . $inicio . ' - ' . $end . ' de ' . $total . ' resultados'; } $datos = $resultados->getRawResponse(); // echo Json::encode($datos); echo $datos; exit; }