public function archiveAll() { global $mtlda, $mbus; try { $queue = new \Mtlda\Models\QueueModel(); } catch (\Exception $e) { static::raiseError("Failed to load QueueModel"); return false; } $total = $queue->getItemsCount(); $counter = 1; $start = 20; $steps = floor((100 - $start) / $total); foreach ($queue->getItemsKeys() as $key) { if (!$queue->hasItem($key)) { static::raiseError(get_class($queue) . '::hasItem() returned false!'); return false; } if (($queueitem = $queue->getItem($key)) === false) { static::raiseError(get_clasS($queue) . '::getItem() returned false!'); return false; } if (!is_a($queueitem, 'Mtlda\\Models\\QueueItemModel!')) { static::raiseError(get_class($queue) . '::getItem() has not returned a QueueItemModel!'); return false; } if (($idx = $queueitem->getIdx()) === false) { static::raiseError(get_class($queueitem) . '::getIdx() returned false!'); return false; } if (($guid = $queueitem->getGuid()) === false) { static::raiseError(get_class($queueitem) . '::getGuid() returned false!'); return false; } if ($queueitem->isProcessing()) { continue; } if (empty($idx) || !$mtlda->isValidGuidSyntax($guid)) { continue; } if (!$mbus->sendMessageToClient('archive-reply', "Archiving item {$counter} of {$total}.", $start + $steps * $counter . '%')) { static::raiseError(get_class($mbus) . '::sendMessageToClient() returned false!'); return false; } $state = $mbus->suppressOutboundMessaging(true); if (!$this->archive($idx, $guid)) { $mtlda->raiseArchive(__CLASS__ . "::archive() returned false for QueueItem {$idx}, {$guid}!"); return false; } $mbus->suppressOutboundMessaging($state); $counter++; } return true; }
private function truncate() { global $db, $config; if (!$config->isResetDataPermitted()) { static::raiseError(get_class($config) . '::isResetDataPermitted() returned false!'); return false; } if (!$db->truncateDatabaseTables()) { static::raiseError(get_class($db) . '::truncateDatabaseTables() returned false!'); return false; } try { $storage = new \Mtlda\Controllers\StorageController(); } catch (\Exception $e) { static::raiseError(__METHOD__ . '(), failed to load StorageController!'); return false; } if (!$storage->flushArchive()) { static::raiseError(get_class($storage) . '::flushArchive() returned false!'); return false; } if (!$storage->flushQueue()) { static::raiseError(get_class($storage) . '::flushQueue() returned false!'); return false; } try { $queue = new \Mtlda\Models\QueueModel(); } catch (\Exception $e) { static::raiseError(__METHOD__ . '(), failed to load QueueModel!'); return false; } if (!$queue->flush()) { static::raiseError(get_class($queue) . '::flush() returned false!'); return false; } return "Reset successful."; }