Horde_Registry::isInactive PHP Method

isInactive() public method

Is the given application inactive?
public isInactive ( string $app ) : boolean
$app string The application to check.
return boolean True if inactive.
    public function isInactive($app)
    {
        return !isset($this->applications[$app]) || $this->applications[$app]['status'] == 'inactive' || $this->applications[$app]['status'] == 'admin' && !$this->isAdmin() || $this->applications[$app]['status'] == 'noadmin' && $this->currentProcessAuth() && $this->isAdmin();
    }

Usage Example

コード例 #1
0
ファイル: Connector.php プロジェクト: horde/horde
 /**
  * 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());
     }
 }