/** * 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->getConditionBuilder()->add("package_installation_queue.queueID NOT IN (SELECT queueID FROM wcf" . WCF_N . "_package_installation_node)"); $queueList->readObjects(); foreach ($queueList as $queue) { $installation = new PackageInstallationDispatcher($queue); // work-around for iterative package updates if ($this->installation->queue->action == 'update' && $queue->package == $this->installation->queue->package) { $installation->setPreviousPackage(array('package' => $this->installation->getArchive()->getPackageInfo('name'), 'packageVersion' => $this->installation->getArchive()->getPackageInfo('version'))); } $installation->nodeBuilder->setParentNode($this->node); $installation->nodeBuilder->buildNodes(); $this->node = $installation->nodeBuilder->getCurrentNode(); } }
/** * 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->getConditionBuilder()->add("package_installation_queue.queueID NOT IN (SELECT queueID FROM wcf" . WCF_N . "_package_installation_node)"); $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(); } }