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