public function executeGetIndexChartsPoliticiansInConstituency()
 {
     $regioni = array("piemonte", "valle d\\'aosta", "lombardia", "trentino-alto adige", "veneto", "friuli-venezia giulia", "liguria", "emilia-romagna", "toscana", "umbria", "marche", "lazio", "abruzzo", "molise", "campania", "puglia", "basilicata", "calabria", "sicilia", "sardegna");
     # check query string parameters and validate to avoid SQL injection
     $this->forward404Unless($this->hasRequestParameter('ramo'));
     $ramo = $this->getRequestParameter('ramo', '');
     $this->forward404Unless(in_array($ramo, array('C', 'S')));
     $this->forward404Unless($this->hasRequestParameter('data'));
     $data = $this->getRequestParameter('data', '');
     if ($data != '') {
         $this->forward404Unless(strtotime($data));
     }
     $this->forward404Unless($this->hasRequestParameter('circoscrizione'));
     $circoscrizione = $this->getRequestParameter('circoscrizione', '');
     $circoscrizione_is_valid = false;
     foreach ($regioni as $regione) {
         if (strpos($circoscrizione, $regione) !== false) {
             $circoscrizione_is_valid = true;
             break;
         }
     }
     $this->forward404Unless($circoscrizione_is_valid);
     if ($data != '') {
         $politicians = OppPoliticianHistoryCachePeer::getIndexChartsPoliticiansInConstituency($ramo, $data, $circoscrizione);
     } else {
         $politicians = OppCaricaPeer::getIndexChartsPoliticiansInConstituencyRealTime($ramo, $data, $circoscrizione);
     }
     $items = $this->_add_data_inizio_incarico($politicians, $ramo, $data);
     $this->_send_json_output(json_encode($items));
     return sfView::NONE;
 }