synchronize() public method

Synchronize any changes with the History driver.
public synchronize ( array $params = [] )
$params array Additional parameters: - changes: (array) An array of arrays keyed by backend id containing information about each change. If not present, triggers a full history sync. - is_reset: (boolean) If true, indicates that UIDVALIDITY changed.
コード例 #1
0
ファイル: Cache.php プロジェクト: jubinpatel/horde
 /**
  * Synchronize the preferences information with the information from the
  * backend.
  *
  * @param array $params Additional parameters.
  *
  * @return NULL
  */
 public function synchronize($params = array())
 {
     if (isset($params['last_sync']) && ($params['last_sync'] === false || $params['last_sync'] !== $this->history->getActionTimestamp(__CLASS__, 'sync'))) {
         /**
          * Ignore current changeset and do a full synchronization as we are
          * out of sync
          */
         unset($params['changes']);
     }
     parent::synchronize($params);
     if (isset($params['current_sync'])) {
         $this->history->log(__CLASS__, array('action' => 'sync', 'ts' => $params['current_sync']));
     }
 }
コード例 #2
0
ファイル: Cache.php プロジェクト: raz0rsdge/horde
 /**
  * Synchronize the preferences information with the information from the
  * backend.
  *
  * @param array $params Additional parameters:
  *   - current_sync: (integer) Timestamp of the current sync.
  *   - last_sync:    (integer) Timestamp containing the time of last sync.
  *   - changes:      (array)   An array of arrays keyed by backend id
  *                             containing information about each change.
  */
 public function synchronize($params = array())
 {
     $timestamp_key = 'Kolab_History_Sync:' . $this->_data->getId();
     /**
      * Check if we need to do a full synchronization. If our stored 'last_sync'
      * timestamp is newer than the logged 'sync' action in the history database,
      * the last history update aborted for some reason.
      *
      * If the 'sync' action from the history database is newer, it means
      * our in-memory version of the data_cache was outdated
      * and already updated by another process.
      */
     if (isset($params['last_sync']) && ($params['last_sync'] === false || $params['last_sync'] > $this->_history->getActionTimestamp($timestamp_key, 'sync'))) {
         $folder_id = $this->_data->getIdParameters();
         unset($folder_id['type']);
         $this->_logger->debug(sprintf('[KOLAB_STORAGE] Resyncing Horde_History for Kolab: last_sync: %d, logged sync: %d, folder. %s', $params['last_sync'], $this->_history->getActionTimestamp($timestamp_key, 'sync'), print_r($folder_id, true)));
         unset($params['changes']);
     }
     // Sync. Base class takes care of UIDVALIDITY changes.
     parent::synchronize($params);
     if (isset($params['current_sync'])) {
         $this->_history->log($timestamp_key, array('action' => 'sync', 'ts' => $params['current_sync']), true);
     }
 }