namespace wcf\system\package;
use wcf\data\package\installation\queue\PackageInstallationQueue;
use wcf\data\package\installation\queue\PackageInstallationQueueEditor;
+use wcf\data\package\installation\queue\PackageInstallationQueueList;
use wcf\system\Callback;
use wcf\system\WCF;
use wcf\util\FileUtil;
// optional packages
$this->buildOptionalNodes();
+
+ // child queues
+ $this->buildChildQueues();
}
/**
}
}
+ /**
+ * Recursively build nodes for child queues.
+ */
+ protected function buildChildQueues() {
+ $queueList = new PackageInstallationQueueList();
+ $queueList->getConditionBuilder->add("package_installation_queue.parentQueueID = ?", array($this->installation->queue->queueID));
+ $queueList->sqlLimit = 0;
+ $queueList->readObjects();
+
+ foreach ($queueList as $queue) {
+ $installation = new PackageInstallationDispatcher($queue);
+ $installation->nodeBuilder->setParentNode($this->node);
+ $installation->nodeBuilder->buildNodes();
+ $this->node = $installation->nodeBuilder->getCurrentNode();
+ }
+ }
+
/**
* Returns a short SHA1-hash.
*