Example #1
0
 /**
  * Deletes old events from the container.
  *
  * <p>This method is called before calling {@link filterEvents}
  * or {@link filterMultipleEvents} to delete all expired events
  * from the container.</p>
  *
  * @access	public
  *
  * @return	bool	true on success, false otherwise.
  *
  */
 public function cleanEvents()
 {
     $fileName = $this->getFileName();
     $containerData = @file($fileName);
     if (empty($containerData)) {
         return true;
     }
     $handle = @fopen($fileName, 'a+');
     if (!$handle) {
         return false;
     }
     $time = parent::cleanEvents();
     @ignore_user_abort(true);
     flock($handle, LOCK_EX);
     ftruncate($handle, 0);
     foreach ($containerData as $row) {
         list($dummy, $dummy, $dummy, $endTime, $dummy) = explode($this->separator, $row, 5);
         $endTime = (double) $endTime;
         if ($endTime >= $time) {
             fwrite($handle, $row);
         }
     }
     flock($handle, LOCK_UN);
     fclose($handle);
     @ignore_user_abort(false);
     return true;
 }
Example #2
0
    /**
     * Deletes old events from the database.
     *
     * <p>This method is called before calling {@link filterEvents}
     * or {@link filterMultipleEvents} to delete all expired events
     * from the database.</p>
     *
     * @access	public
     *
     * @return	bool	true on success, false otherwise.
     *
     */
    public function cleanEvents()
    {
        $connection =& $this->getConnection();
        $time = parent::cleanEvents();
        $sqlQuery = '
			DELETE FROM
				`' . XOAD_EVENTS_TABLE_NAME . '`
			WHERE
				`endTime` < ' . $this->escapeString($time, $connection) . '
		';
        $connection->query($sqlQuery);
        $this->closeConnection($connection);
        return true;
    }