break; case 'autocomplete_file': $db = AJAXLogger::getConnection(); $f = $_GET['q']; $SQL = 'SELECT * FROM ' . AJAXLogger_DB_PREFIX . 'messages WHERE '; $SQL .= 'LEFT(file,' . strlen($f) . ') = ' . $db->quote($f); $SQL .= ' GROUP BY file'; $SQL .= ' LIMIT ' . $_GET['limit']; $res = $db->query($SQL); $rows = array(); while ($row = $res->fetch(PDO::FETCH_ASSOC)) { echo $row['file'] . '|' . $row['file'] . "\n"; } break; case 'autocomplete_function': $db = AJAXLogger::getConnection(); $f = $_GET['q']; $SQL = 'SELECT * FROM ' . AJAXLogger_DB_PREFIX . 'messages WHERE '; $SQL .= 'LEFT(function,' . strlen($f) . ') = ' . $db->quote($f); $SQL .= ' GROUP BY function'; $SQL .= ' LIMIT ' . $_GET['limit']; $res = $db->query($SQL); $rows = array(); while ($row = $res->fetch(PDO::FETCH_ASSOC)) { echo $row['function'] . '|' . $row['function'] . "\n"; } break; default: $r = new AJAXLoggerResponse(false, 'Unknown command: ' . $task); echo $r->getJSON(); break;
static function checkActivity() { if (self::$active !== null) { return; } self::cleanSessions(); $db = self::getConnection(); $SQL = 'SELECT COUNT(*) as mcnt FROM ' . AJAXLogger_DB_PREFIX . 'sessions WHERE last_hit >= '; $SQL .= time() - AJAXLogger_DB_ACTIVITY_TIMEOUT; $r = $db->query($SQL); if ($r) { $row = $r->fetch(PDO::FETCH_ASSOC); $r->closeCursor(); if ($row['mcnt'] > 0) { self::$active = true; return; } } self::$active = false; }