/** * Call the expiration code to clean up old saved searches in the database. * * @return void * @access public */ public function deleteExpiredSearches() { global $interface; include_once 'services/MyResearch/lib/Search.php'; // Use passed-in value as expiration age, or default to 2. $daysOld = isset($_REQUEST['daysOld']) ? intval($_REQUEST['daysOld']) : 2; // Fail if we have an invalid expiration age. if ($daysOld < 2) { $interface->assign('status', "Expiration age must be at least two days."); } else { // Delete the expired searches -- this cleans up any junk left in the // database from old search histories that were not caught by the // session garbage collector. $search = new SearchEntry(); $expired = $search->getExpiredSearches($daysOld); if (empty($expired)) { $interface->assign('status', "No expired searches to delete."); } else { $count = 0; while (!empty($expired)) { $count += count($expired); foreach ($expired as $oldSearch) { $oldSearch->delete(); } $expired = $search->getExpiredSearches($daysOld); } $interface->assign('status', "{$count} expired searches deleted."); } } $interface->setTemplate('maintenance.tpl'); $interface->setPageTitle('System Maintenance'); $interface->display('layout-admin.tpl'); }
*/ require_once 'util.inc.php'; require_once 'services/MyResearch/lib/Search.php'; require_once 'sys/ConnectionManager.php'; // Use command line value as expiration age, or default to 2. $daysOld = isset($argv[1]) ? intval($argv[1]) : 2; // Die if we have an invalid expiration age. if ($daysOld < 2) { die("Expiration age must be at least two days.\n"); } // Retrieve values from configuration file $configArray = readConfig(); // Setup time zone date_default_timezone_set($configArray['Site']['timezone']); // Setup Local Database Connection ConnectionManager::connectToDatabase(); // Delete the expired searches -- this cleans up any junk left in the database // from old search histories that were not caught by the session garbage collector. $search = new SearchEntry(); $expired = $search->getExpiredSearches($daysOld); if (empty($expired)) { die(date('Y-m-d H:i:s') . " No expired searches to delete.\n"); } while (!empty($expired)) { $count = count($expired); foreach ($expired as $oldSearch) { $oldSearch->delete(); } echo date('Y-m-d H:i:s') . " {$count} expired searches deleted.\n"; $expired = $search->getExpiredSearches($daysOld); }