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());
     }
 }