Is the given application inactive?
public isInactive ( string $app ) : boolean | ||
$app | string | The application to check. |
return | boolean | True if inactive. |
/** * Get all server changes for the specified collection * * @param string $collection The collection type (a Horde interface name - * calendar, contacts, tasks) * @param integer $from_ts Starting timestamp or modification sequence. * @param integer $to_ts Ending timestamp or modification sequence. * @param string $server_id The server id of the collection. If null, uses * multiplexed. * * @return array A hash of add, modify, and delete uids * @throws InvalidArgumentException, Horde_Exception */ public function getChanges($collection, $from_ts, $to_ts, $server_id) { if (!in_array($collection, array('calendar', 'contacts', 'tasks', 'notes'))) { throw new InvalidArgumentException('collection must be one of calendar, contacts, tasks or notes'); } $app = $this->_registry->hasInterface($collection); if (!$app || $this->_registry->isInactive($app)) { throw new Horde_Exception(sprintf('The %s interface is not active in Horde.', $collection)); } // We can use modification sequences. if ($this->hasFeature('modseq', $collection)) { $this->_logger->info(sprintf('[%s] Fetching changes for %s using MODSEQ.', getmypid(), $collection)); try { return $this->_registry->{$collection}->getChangesByModSeq($from_ts, $to_ts, $server_id); } catch (Exception $e) { return array('add' => array(), 'modify' => array(), 'delete' => array()); } } // Older API, use timestamps. $this->_logger->info(sprintf('[%s] Fetching changes for %s using TIMESTAMPS.', getmypid(), $collection)); try { return $this->_registry->{$collection}->getChanges($from_ts, $to_ts, false, $server_id); } catch (Exception $e) { return array('add' => array(), 'modify' => array(), 'delete' => array()); } }