Merge branch '2.0'
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / lib / data / session / virtual / SessionVirtualEditor.class.php
1 <?php
2 namespace wcf\data\session\virtual;
3 use wcf\data\DatabaseObjectEditor;
4 use wcf\system\WCF;
5
6 /**
7 * Provides functions to edit virtual sessions.
8 *
9 * @author Alexander Ebert
10 * @copyright 2001-2014 WoltLab GmbH
11 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
12 * @package com.woltlab.wcf
13 * @subpackage data.session.virtual
14 * @category Community Framework
15 */
16 class SessionVirtualEditor extends DatabaseObjectEditor {
17 /**
18 * @see \wcf\data\DatabaseObjectDecorator::$baseClass
19 */
20 protected static $baseClass = 'wcf\data\session\virtual\SessionVirtual';
21
22 /**
23 * Updates last activity time of this virtual session.
24 */
25 public function updateLastActivityTime() {
26 $this->update(array(
27 'lastActivityTime' => TIME_NOW
28 ));
29 }
30
31 /**
32 * Deletes the expired virtual sessions.
33 *
34 * @param integer $timestamp
35 */
36 public static function deleteExpiredSessions($timestamp) {
37 $sql = "DELETE FROM ".call_user_func(array(static::$baseClass, 'getDatabaseTableName'))."
38 WHERE lastActivityTime < ?";
39 $statement = WCF::getDB()->prepareStatement($sql);
40 $statement->execute(array($timestamp));
41 }
42 }