/** * Get a list of the valid session identifiers. * * @return array A list of valid session identifiers. */ function getSessionIDs() { /* Make sure we have a valid database connection. */ $this->_connect(); /* Session timeout, don't rely on garbage collection */ $timeout = time() - ini_get('session.gc_maxlifetime'); $query = sprintf('(SELECT session_id FROM horde_sessionhandler_0) UNION ' . '(SELECT session_id FROM horde_sessionhandler_1) UNION ' . '(SELECT session_id FROM horde_sessionhandler_2) UNION ' . '(SELECT session_id FROM horde_sessionhandler_3) UNION ' . '(SELECT session_id FROM horde_sessionhandler_4) UNION ' . '(SELECT session_id FROM horde_sessionhandler_5) UNION ' . '(SELECT session_id FROM horde_sessionhandler_6) UNION ' . '(SELECT session_id FROM horde_sessionhandler_7) UNION ' . '(SELECT session_id FROM horde_sessionhandler_8) UNION ' . '(SELECT session_id FROM horde_sessionhandler_9) UNION ' . '(SELECT session_id FROM horde_sessionhandler_a) UNION ' . '(SELECT session_id FROM horde_sessionhandler_b) UNION ' . '(SELECT session_id FROM horde_sessionhandler_c) UNION ' . '(SELECT session_id FROM horde_sessionhandler_d) UNION ' . '(SELECT session_id FROM horde_sessionhandler_e) UNION ' . '(SELECT session_id FROM horde_sessionhandler_f)'); /* Log the query at a DEBUG log level. */ Horde::logMessage(sprintf('SQL Query by SessionHandler_mysql::getSessionIDs(): query = "%s"', $query), __FILE__, __LINE__, PEAR_LOG_DEBUG); $result = @mysql_query($query, $this->_db); if (!$result) { Horde::logMessage('Error getting session IDs: ' . mysql_error($this->_db), __FILE__, __LINE__, PEAR_LOG_ERR); return false; } $sessions = array(); while ($row = mysql_fetch_row($result)) $sessions[] = $row[0]; return $sessions; }