Example #1
0
 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;
 }
Example #2
0
 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.";
 }