public function getChoices() { $filters = sfPlopSlotPeer::retrieveAllByTemplate('GoogleMapsFilter', $this->getOption('page_id'), $this->getOption('page_culture')); $options_for_filter = array('' => ''); foreach ($filters as $filter_object) { $options_for_filter[$filter_object->getValue()] = $filter_object->getValue(); } $this->setOption('choices', $options_for_filter); return parent::getChoices(); }
/** * Sort the slots of a template page. * @param sfWebRequest $request */ public function executeSortSlots(sfWebRequest $request) { $this->page = $this->getRoute()->getObject(); $this->forward404Unless($request->getMethod() == sfRequest::POST && ($this->page->isTemplate() || !$this->page->isTemplate() && $this->page->getTemplate() && $this->page->getTemplate()->hasSlotArea())); $order = $request->getParameter('order', array()); $is_valid = true; $objects = sfPlopSlotPeer::retrieveByPKs(array_keys($order)); foreach ($objects as $object) { if ($object->getPageId() != $this->page->getId()) { $is_valid = false; break; } } if ($is_valid) { $reorder = sfPlopSlotPeer::reorder($order); } else { $reorder = false; } if ($request->isXmlHttpRequest()) { return $reorder ? sfView::SUCCESS : sfView::ERROR; } else { $this->redirect($request->getReferer()); } }