public function executeActsForType()
 {
     $this->type_id = $this->type->getId();
     $this->type_denominazione = $this->type->getDescrizione();
     // filtri per ramo e stato avanzamento
     $act_filtering_criteria = null;
     if ($this->filters['act_ramo'] != '0') {
         if (is_null($act_filtering_criteria)) {
             $act_filtering_criteria = new Criteria();
         }
         $act_filtering_criteria->add(OppAttoPeer::RAMO, $this->filters['act_ramo']);
     }
     if ($this->filters['act_stato'] != '0') {
         if (is_null($act_filtering_criteria)) {
             $act_filtering_criteria = new Criteria();
         }
         $act_filtering_criteria->add(OppAttoPeer::STATO_COD, $this->filters['act_stato']);
     }
     $blocked_items_pks = sfBookmarkingPeer::getAllNegativelyBookmarkedIds($this->user_id);
     if (array_key_exists('OppAtto', $blocked_items_pks)) {
         if (is_null($act_filtering_criteria)) {
             $act_filtering_criteria = new Criteria();
         }
         $blocked_acts_pks = $blocked_items_pks['OppAtto'];
         $act_filtering_criteria->add(OppAttoPeer::ID, $blocked_acts_pks, Criteria::NOT_IN);
     }
     $indirectly_monitored_acts = OppAttoPeer::doSelectIndirectlyMonitoredByUser($this->user, $this->type, $this->tag_filtering_criteria, $this->my_monitored_tags_pks, $act_filtering_criteria);
     if ($this->filters['tag_id'] == '0') {
         $directly_monitored_acts = OppAttoPeer::doSelectDirectlyMonitoredByUser($this->user, $this->type, $act_filtering_criteria);
     } else {
         $directly_monitored_acts = array();
     }
     $monitored_acts = OppAttoPeer::merge($indirectly_monitored_acts, $directly_monitored_acts);
     $this->n_total_acts = count($monitored_acts);
     if ($this->filters['act_type_id'] == 0) {
         $monitored_acts = array_slice($monitored_acts, 0, sfConfig::get('app_monitored_acts_per_type_limit'));
     }
     $this->monitored_acts = $monitored_acts;
 }