示例#1
0
 public function loadSubscribers($rows)
 {
     $this->subscribers_by_stamp = false;
     $params = array();
     $subscriber_extra_data = array_keys($this->subscriber->getCustomerExtraData());
     foreach ($rows as $row) {
         if ($this->isLineLegitimate($row)) {
             $line_params = $this->getIdentityParams($row);
             if (count($line_params) == 0) {
                 Billrun_Factory::log('Couldn\'t identify caller for line of stamp ' . $row['stamp'], Zend_Log::ALERT);
             } else {
                 $line_params['time'] = date(Billrun_Base::base_dateformat, $row['urt']->sec);
                 $line_params['stamp'] = $row['stamp'];
                 $line_params['EXTRAS'] = 0;
                 foreach ($subscriber_extra_data as $key) {
                     if ($this->isExtraDataRelevant($row, $key)) {
                         $line_params['EXTRAS'] = 1;
                         break;
                     }
                 }
                 $params[] = $line_params;
             }
         }
     }
     $this->subscribers = $this->subscriber->getSubscribersByParams($params, $this->subscriber->getAvailableFields());
 }