/** * Executes list action */ public function executeList() { parent::executeList(); $nb_results = $this->nb_results; if ($nb_results == 0) { return; } $timer = new sfTimer(); $products = $this->query->execute(array(), Doctrine::FETCH_ARRAY); c2cActions::statsdTiming('pager.getResults', $timer->getElapsedTime()); $timer = new sfTimer(); Parking::addAssociatedParkings($products, 'pf'); // add associated parkings infos to $products c2cActions::statsdTiming('parking.addAssociatedParkings', $timer->getElapsedTime()); Area::sortAssociatedAreas($products); $this->items = Language::parseListItems($products, 'Product'); }
/** * Executes list action, adding parkings linked to routes */ public function executeList() { parent::executeList(); $nb_results = $this->nb_results; if ($nb_results == 0) { return; } $timer = new sfTimer(); $routes = $this->query->execute(array(), Doctrine::FETCH_ARRAY); c2cActions::statsdTiming('pager.getResults', $timer->getElapsedTime()); // if they are criterias on the summit (snam, srnam, salt, styp) // we might have only some of the associated summits and not the 'best one' (ticket #337) // so we must add a new request to get the summits, display the best one and add a note to explain that the // other summit is associated // FIXME would be nice to put all in a single request (before), but I didn't manage to do it // TODO not working right now //if ($this->hasRequestParameter('snam') || $this->hasRequestParameter('srnam') || // $this->hasRequestParameter('salt') || $this->hasRequestParameter('styp')) //{ // $routes = Route::addBestSummitName($routes, ''); //} $timer = new sfTimer(); Parking::addAssociatedParkings($routes, 'pr'); // add associated parkings infos to $routes c2cActions::statsdTiming('parking.addAssociatedParkings', $timer->getElapsedTime()); $timer = new sfTimer(); Document::countAssociatedDocuments($routes, 'ro', true); // number of associated outings c2cActions::statsdTiming('document.countAssociatedDocuments', $timer->getElapsedTime()); Area::sortAssociatedAreas($routes); $this->items = Language::parseListItems($routes, 'Route'); }
/** * Executes list action, adding ratings from routes linked to outings */ public function executeList() { // redirect to user outings list if connected and if myoutings criteria is set if ($this->getUser()->isConnected() && $this->getRequestParameter('myoutings')) { sfLoader::loadHelpers(array('Pagination')); $user_id = $this->getUser()->getId(); $this->redirect(_addUrlParameters(_getBaseUri(), array('myoutings'), array('users' => $user_id))); } // TODO something to do if outings where filtered on route ratings? parent::executeList(); $format = $this->format; if (in_array('cond', $format) && !in_array('json', $format)) { $this->setTemplate('conditions'); if (in_array('full', $format)) { $this->setPageTitle($this->__('conditions and comments')); } else { $this->setPageTitle($this->__('recent conditions')); } } $nb_results = $this->nb_results; if ($nb_results == 0) { return; } $show_images = $this->show_images; $timer = new sfTimer(); $outings = $this->query->execute(array(), Doctrine::FETCH_ARRAY); c2cActions::statsdTiming('pager.getResults', $timer->getElapsedTime()); $timer = new sfTimer(); $outings = Outing::getAssociatedCreatorData($outings); // retrieve outing creator names c2cActions::statsdTiming('outing.getAssociatedCreatorData', $timer->getElapsedTime()); $timer = new sfTimer(); $outings = Outing::getAssociatedRoutesData($outings); // retrieve associated route ratings c2cActions::statsdTiming('outing.getAssociatedRoutesData', $timer->getElapsedTime()); if (!in_array('list', $format)) { $timer = new sfTimer(); $outings = Language::getTheBestForAssociatedAreas($outings); c2cActions::statsdTiming('language.getTheBestForAssociatedAreas', $timer->getElapsedTime()); } // add images infos if ($show_images) { $timer = new sfTimer(); Image::addAssociatedImages($outings, 'oi'); c2cActions::statsdTiming('image.addAssociatedImages', $timer->getElapsedTime()); } Area::sortAssociatedAreas($outings); $this->items = Language::parseListItems($outings, 'Outing', !$show_images); }
/** * Executes list action */ public function executeList() { parent::executeList(); $nb_results = $this->nb_results; if ($nb_results == 0) { return; } $timer = new sfTimer(); $summits = $this->query->execute(array(), Doctrine::FETCH_ARRAY); c2cActions::statsdTiming('pager.getResults', $timer->getElapsedTime()); $timer = new sfTimer(); Document::countAssociatedDocuments($summits, 'sr', true); c2cActions::statsdTiming('document.countAssociatedDocuments', $timer->getElapsedTime()); Area::sortAssociatedAreas($summits); $this->items = Language::parseListItems($summits, 'Summit'); }
/** * Executes list action. * Overrides documentsActions::executeList() */ public function executeList() { // params in order to add images of linked summits, parkings, etc... $request_array = array(); if ($this->hasRequestParameter('rsummits') && ($summit_ids = $this->getRequestParameter('rsummits'))) { if (!in_array($summit_ids, array('-', ' '))) { $request_array = array(explode('-', $summit_ids), 'sr', 'ri', 'si'); } } elseif ($this->hasRequestParameter('rparkings') && ($parking_ids = $this->getRequestParameter('rparkings'))) { if (!in_array($parking_ids, array('-', ' '))) { $request_array = array(explode('-', $parking_ids), 'pr', 'ri', 'pi'); } } elseif ($this->hasRequestParameter('rhuts') && ($hut_ids = $this->getRequestParameter('rhuts'))) { if (!in_array($hut_ids, array('-', ' '))) { $request_array = array(explode('-', $hut_ids), 'hr', 'ri', 'hi'); } } elseif ($this->hasRequestParameter('oroutes') && ($route_ids = $this->getRequestParameter('oroutes'))) { if (!in_array($route_ids, array('-', ' '))) { $request_array = array(explode('-', $route_ids), 'ro', 'oi', 'ri'); } } elseif ($this->hasRequestParameter('osites') && ($site_ids = $this->getRequestParameter('osites'))) { if (!in_array($site_ids, array('-', ' '))) { $request_array = array(explode('-', $site_ids), 'to', 'oi', 'ti'); } } if (!empty($request_array)) { $ids = array_shift($request_array); $pager = new c2cDoctrinePager('Image', c2cTools::mobileVersion() ? sfConfig::get('app_list_mobile_maxline_number') : sfConfig::get('app_list_maxline_number')); $this->pager = $pager; $q = $pager->getQuery(); $q->select('DISTINCT i.id, i.image_type, i.geom_wkt, i.filename, ii.name, ii.culture, ii.search_name')->from('Image i')->leftJoin('i.associations a ON i.id = a.linked_id')->leftJoin('i.ImageI18n ii')->where('(a.main_id IN (SELECT a2.linked_id FROM Association a2 WHERE a2.main_id IN (' . implode(',', $ids) . ') AND a2.type = ?) AND a.type = ?)' . ' OR (a.main_id IN (' . implode(',', $ids) . ') AND a.type = ?)', $request_array); $pager->setPage($this->getRequestParameter('page', 1)); $pager->init(); $nb_results = $pager->getNbResults(); $this->nb_results = $nb_results; // deal with format if (isset($this->format)) { $format = $this->format; } else { $format = $this->getRequestParameter('format', 'list'); $format = explode('-', $format); $this->format = $format; } if ($nb_results == 0 && !in_array('json', $format)) { $params_list = array_keys(c2cTools::getCriteriaRequestParameters()); if (count($params_list) == 1) { $param = reset($params_list); if (strpos($param, 'nam') !== false) { $this->query_string = $this->getRequestParameter($param); $this->setTemplate('../../documents/templates/simplenoresult'); } } } else { $this->items = $pager->getResults('array'); } $this->setPageTitle($this->__($this->getModuleName() . ' list')); $this->setTemplate('list'); } else { parent::executeList(); $nb_results = $this->nb_results; if ($nb_results == 0) { return; } $items = $this->query->execute(array(), Doctrine::FETCH_ARRAY); $this->items = Language::parseListItems($items, 'Image'); $this->setTemplate('list'); } if (in_array('json', $this->format)) { $this->setJsonResponse(); $this->setTemplate('../../documents/templates/jsonlist'); } }