Пример #1
0
function parse_form_file($log_file_name)
{
    $sqlite_db_name = preg_replace("/.log\$/", ".sqlite", $log_file_name);
    $db = new DBx(DB_DIR . $sqlite_db_name, "sqlite");
    $sql = "DROP TABLE IF EXISTS actions";
    $db->q($sql);
    $sql = "\nCREATE TABLE actions (\n  unixtime INT NOT NULL,\n  remote_addr CHAR(30),\n  user_agent TEXT,\n  id INT,\n  url TEXT NOT NULL,\n  referer TEXT,\n  input_type TEXT,\n  form_id TEXT,\n  input_name TEXT,\n  time_elapsed TEXT,\n  key_ups INT\n)";
    $db->q($sql);
    $sql = "\nCREATE INDEX IF NOT EXISTS \n  actions_id\n    ON actions(id)\n";
    $db->q($sql);
    global $form_actions;
    $contents = file_get_contents(DB_DIR . $log_file_name);
    $lines = explode("\n", $contents);
    // begin a transaction
    $db->bt();
    foreach ($lines as $line) {
        if (strlen($line) == 0) {
            continue;
        }
        $tic = parse_form_action($line);
        $db->set('actions', $tic);
        // todo add cleanup string
        /** /
            echo "<pre>";
            print_r($tic);
            echo "</pre>";
            /**/
    }
    $db->c();
}
Пример #2
0
  This file is great.
*/
require "./login_is.php";
require "../includes/db.inc.php";
$_SESSION['url'] = $_GET['url'];
$_SESSION['db'] = $_GET['db'];
$_SESSION['replay_motion'] = 0;
$_SESSION['replay_summary'] = 1;
if (!preg_match("/[0-9]{6}-site-freetale.sqlite/", $_GET['db'])) {
    echo "BAD DATABSE";
    exit;
}
$db_dir = DB_DIR;
$db = new DBx(DB_DIR . $_GET['db']);
$sql = "\nSELECT\n  id,\n  scroll,\n  time_elapsed\nFROM  tics\n";
$db->q($sql);
function last_scroll($scroll)
{
    if ($scroll == "") {
        return False;
    }
    $bits = explode("|", $scroll);
    return $bits[count($bits) - 1];
}
$motions = array();
$this_id = False;
while ($row = $db->f()) {
    if ($this_id != $row['id']) {
        $this_id = $row['id'];
        $last_time = 0;
        $last_scroll = 0;