Exemplo n.º 1
0
 private function handleHeadCsv($row)
 {
     $headrow = array();
     foreach (array('shortname', 'fullname', 'text') as $needle) {
         $col = ArrayOperation::multiSearch($this->alias[$needle], $row);
         if (false === $col) {
             throw new \Exception("Undetermined position of {$needle}");
         }
         $headrow[$needle] = $col;
     }
     foreach (array('parent_shortname', 'report_shortname', 'url', 'notes', 'source', 'risk') as $optNeedle) {
         $headrow[$optNeedle] = ArrayOperation::multiSearch($this->alias[$optNeedle], $row);
     }
     return $headrow;
 }
Exemplo n.º 2
0
 protected function processUploadReuse($itemTreeBounds, $itemTreeBoundsReused, $reusedGroupId)
 {
     $groupId = $this->groupId;
     $userId = $this->userId;
     $clearingDecisions = $this->clearingDao->getFileClearingsFolder($itemTreeBoundsReused, $reusedGroupId);
     $currenlyVisibleClearingDecisions = $this->clearingDao->getFileClearingsFolder($itemTreeBounds, $groupId);
     $currenlyVisibleClearingDecisionsById = $this->mapByClearingId($currenlyVisibleClearingDecisions);
     $clearingDecisionsById = $this->mapByClearingId($clearingDecisions);
     $clearingDecisionsToImport = array_diff_key($clearingDecisionsById, $currenlyVisibleClearingDecisionsById);
     $clearingDecisionToImportByFileId = $this->mapByFileId($clearingDecisionsToImport);
     $uploadDao = $this->uploadDao;
     /** @var Item[] $containedItems */
     $containedItems = ArrayOperation::callChunked(function ($fileIds) use($itemTreeBounds, $uploadDao) {
         return $uploadDao->getContainedItems($itemTreeBounds, "pfile_fk = ANY(\$1)", array('{' . implode(', ', $fileIds) . '}'));
     }, array_keys($clearingDecisionToImportByFileId), 100);
     foreach ($containedItems as $item) {
         $fileId = $item->getFileId();
         if (array_key_exists($fileId, $clearingDecisionToImportByFileId)) {
             $this->createCopyOfClearingDecision($item->getId(), $userId, $groupId, $clearingDecisionToImportByFileId[$fileId]);
         } else {
             throw new \Exception("bad internal state");
         }
         $this->heartbeat(1);
     }
     return true;
 }