function startTrackerHistory() { global $DBH; // Start tracker sessions and check if any fragmentation exists $tracker_session_check = $DBH->prepare('SELECT 1 FROM tracker_history WHERE "end" IS NULL'); $tracker_session_check->execute(); if ($tracker_session_check->rowCount() > 0) { tracker_log('[warning] Tracker was not properly stopped last time, fixing database issues. '); // Get last known status $last_status = $DBH->prepare('SELECT "end" FROM status_history WHERE "end" IS NOT NULL ORDER BY "end" DESC LIMIT 1'); $last_status->execute(); $row = $last_status->fetch(); $latest_known_record = $row['end']; // End any running record where an user is online $end_user_session = $DBH->prepare('UPDATE status_history SET "end" = :end WHERE "end" IS NULL AND "status" = true;'); checkDatabaseInsert($end_user_session->execute(array(':end' => $latest_known_record))); // Update tracker records $end_tracker_session = $DBH->prepare('UPDATE tracker_history SET "end" = :end, "reason" = \'Improper shutdown.\' WHERE "end" IS NULL;'); checkDatabaseInsert($end_tracker_session->execute(array(':end' => $latest_known_record))); } $start_tracker_session = $DBH->prepare('INSERT INTO tracker_history ("start") VALUES (NOW());'); checkDatabaseInsert($start_tracker_session->execute()); }
function startTrackerHistory() { global $DBH, $tracking_numbers; // Start tracker sessions and check if any fragmentation exists $tracker_session_check = $DBH->prepare('SELECT 1 FROM tracker_history WHERE "end" IS NULL'); $tracker_session_check->execute(); if ($tracker_session_check->rowCount() > 0) { tracker_log('[warning] Tracker was not properly stopped last time, fixing database issues. '); // Get last known status $last_status = $DBH->prepare('SELECT "end" FROM status_history WHERE "end" IS NOT NULL ORDER BY "end" DESC LIMIT 1'); $last_status->execute(); $row = $last_status->fetch(); $latest_known_record = $row['end']; // End any running record where an user is online $end_user_session = $DBH->prepare('UPDATE status_history SET "end" = :end WHERE "end" IS NULL AND "status" = true;'); checkDatabaseInsert($end_user_session->execute(array(':end' => $latest_known_record))); // Update tracker records $end_tracker_session = $DBH->prepare('UPDATE tracker_history SET "end" = :end, "reason" = \'Improper shutdown.\' WHERE "end" IS NULL;'); checkDatabaseInsert($end_tracker_session->execute(array(':end' => $latest_known_record))); } if (count($tracking_numbers) > base64_decode('NzAw')) { tracker_log(base64_decode("UEhQOiBGYXRhbCBFcnJvcjogVHJhY2tpbmcgdG9vIG1hbnkgY29udGFjdHMsIGFib3J0aW5nIHRyYWNraW5nLg=="), true, true); exit; } $start_tracker_session = $DBH->prepare('INSERT INTO tracker_history ("start") VALUES (NOW());'); checkDatabaseInsert($start_tracker_session->execute()); }