/** * @param string $action * @param int $uploadId * @param int $uploadTreeId * @param int $groupId * @return string */ protected function doNextPrev($action, $uploadId, $uploadTreeId, $groupId) { switch ($action) { case "setNextPrev": $modName = "view-license"; $opt = self::OPTION_SKIP_FILE; break; case "setNextPrevCopyRight": $modName = "copyright-view"; $opt = self::OPTION_SKIP_FILE_COPYRIGHT; break; case "setNextPrevIp": $modName = "ip-view"; $opt = self::OPTION_SKIP_FILE_IP; break; case "setNextPrevEcc": $modName = "ecc-view"; $opt = self::OPTION_SKIP_FILE_ECC; break; } $options = array('skipThese' => GetParm($opt, PARM_STRING), 'groupId' => $groupId); $prevItem = $this->uploadDao->getPreviousItem($uploadId, $uploadTreeId, $options); $prevItemId = $prevItem ? $prevItem->getId() : null; $nextItem = $this->uploadDao->getNextItem($uploadId, $uploadTreeId, $options); $nextItemId = $nextItem ? $nextItem->getId() : null; return array('prev' => $prevItemId, 'next' => $nextItemId, 'uri' => Traceback_uri() . "?mod=" . $modName . Traceback_parm_keep(array('upload', 'folder'))); }
public function testGetNextFull() { $this->prepareUploadTree($this->getTestFileStructure()); $previousId = 3650; foreach ($this->entries as $entry) { $nextItem = $this->uploadDao->getNextItem(32, $previousId); assertThat($nextItem->getId(), is($entry)); $previousId = $entry; } $nextItem = $this->uploadDao->getNextItem(32, $previousId); assertThat($nextItem, is(nullValue())); }
function OutputOpen() { if ($this->State != PLUGIN_STATE_READY) { return 0; } $uploadId = GetParm("upload", PARM_INTEGER); if (empty($uploadId)) { return; } $uploadTreeId = GetParm("item", PARM_INTEGER); if (empty($uploadTreeId)) { $parent = $this->uploadDao->getUploadParent($uploadId); if (!isset($parent)) { $this->invalidParm = true; return; } $item = $this->uploadDao->getNextItem($uploadId, $parent); if ($item === UploadDao::NOT_FOUND) { $this->invalidParm = true; return; } $uploadTreeId = $item->getId(); return new RedirectResponse(Traceback_uri() . '?mod=' . $this->Name . Traceback_parm_keep(array("upload", "show")) . "&item={$uploadTreeId}"); } $uploadTreeTableName = $this->uploadDao->getUploadtreeTableName($uploadId); $uploadEntry = $this->uploadDao->getUploadEntry($uploadTreeId, $uploadTreeTableName); if (Isdir($uploadEntry['ufile_mode']) || Iscontainer($uploadEntry['ufile_mode'])) { $parent = $this->uploadDao->getUploadParent($uploadId); if (!isset($parent)) { $this->invalidParm = true; return; } $item = $this->uploadDao->getNextItem($uploadId, $parent); if ($item === UploadDao::NOT_FOUND) { $this->invalidParm = true; return; } $uploadTreeId = $item->getId(); return new RedirectResponse(Traceback_uri() . '?mod=' . $this->Name . Traceback_parm_keep(array("upload", "show")) . "&item={$uploadTreeId}"); } return parent::OutputOpen(); }
protected function handle(Request $request) { $vars = array(); $uploadId = intval($request->get('upload')); $uploadTreeId = intval($request->get('item')); if (empty($uploadTreeId) || empty($uploadId)) { $text = _("Empty Input"); $vars['message'] = "<h2>{$text}</h2>"; return $this->responseBad($vars); } if (!$this->uploadDao->isAccessible($uploadId, Auth::getGroupId())) { $text = _("Permission Denied"); $vars['message'] = "<h2>{$text}</h2>"; return $this->responseBad(); } $uploadTreeTableName = $this->uploadDao->getUploadtreeTableName($uploadId); $uploadEntry = $this->uploadDao->getUploadEntry($uploadTreeId, $uploadTreeTableName); if (Isdir($uploadEntry['ufile_mode']) || Iscontainer($uploadEntry['ufile_mode'])) { $parent = $this->uploadDao->getUploadParent($uploadEntry['upload_fk']); if (!isset($parent)) { return $this->responseBad(); } $uploadTree = $this->uploadDao->getNextItem($uploadEntry['upload_fk'], $parent); if ($uploadTree === UploadDao::NOT_FOUND) { return $this->responseBad(); } $uploadTreeId = $uploadTree->getId(); return new RedirectResponse(Traceback_uri() . '?mod=' . $this->getName() . Traceback_parm_keep(array('show', 'upload')) . "&item={$uploadTreeId}"); } if (empty($uploadTreeId)) { return $this->responseBad('No item selected.'); } $copyrightDecisionMap = $this->decisionTypes->getMap(); $vars['micromenu'] = Dir2Browse($this->modBack, $uploadTreeId, NULL, $showBox = 0, "View", -1, '', '', $uploadTreeTableName); $lastItem = GetParm("lastItem", PARM_INTEGER); $changed = GetParm("changedSomething", PARM_STRING); $userId = Auth::getUserId(); if (!empty($lastItem) && $changed == "true") { $lastUploadEntry = $this->uploadDao->getUploadEntry($lastItem, $uploadTreeTableName); $clearingType = $_POST['clearingTypes']; $description = $_POST['description']; $textFinding = $_POST['textFinding']; $comment = $_POST['comment']; $this->copyrightDao->saveDecision($this->decisionTableName, $lastUploadEntry['pfile_fk'], $userId, $clearingType, $description, $textFinding, $comment); } $scanJobProxy = new ScanJobProxy($this->agentDao, $uploadId); $scanJobProxy->createAgentStatus(array($this->agentName)); $selectedScanners = $scanJobProxy->getLatestSuccessfulAgentIds(); $highlights = array(); if (array_key_exists($this->agentName, $selectedScanners)) { $latestXpAgentId = $selectedScanners[$this->agentName]; $highlights = $this->copyrightDao->getHighlights($uploadTreeId, $this->tableName, $latestXpAgentId, $this->typeToHighlightTypeMap); } if (count($highlights) < 1) { $vars['message'] = _("No ") . $this->tableName . _(" data is available for this file."); } /* @var $view ui_view */ $view = plugin_find("view"); $theView = $view->getView(null, null, $showHeader = 0, "", $highlights, false, true); list($pageMenu, $textView) = $theView; list($description, $textFinding, $comment, $decisionType) = $this->copyrightDao->getDecision($this->decisionTableName, $uploadEntry['pfile_fk']); $vars['description'] = $description; $vars['textFinding'] = $textFinding; $vars['comment'] = $comment; $vars['itemId'] = $uploadTreeId; $vars['uploadId'] = $uploadId; $vars['pageMenu'] = $pageMenu; $vars['textView'] = $textView; $vars['legendBox'] = $this->legendBox(); $vars['uri'] = Traceback_uri() . "?mod=" . $this->Name; $vars['optionName'] = $this->optionName; $vars['formName'] = "CopyRightForm"; $vars['ajaxAction'] = $this->ajaxAction; $vars['skipOption'] = $this->skipOption; $vars['selectedClearingType'] = $decisionType; $vars['clearingTypes'] = $copyrightDecisionMap; $vars['xptext'] = $this->xptext; $agentId = intval($request->get("agent")); $vars = array_merge($vars, $this->additionalVars($uploadId, $uploadTreeId, $agentId)); return $this->render('ui-cp-view.html.twig', $this->mergeWithDefault($vars)); }