idparm) { $container = $this->createContainer (); if (!$this->repository->See_Containers_no_download AND !$container->isDownloadable($this->remUser)) { echo ""._DOWN_RESTRICTED_WARN.''; return; } } else $container = new remositoryContainer(); $page = remositoryRepository::getParam($_REQUEST, 'page', 1); $this->selectWork ($interface, $func, $container, $this->remUser, $this->idparm, $this->orderby, $page, $directlink); } private function selectWork ($interface, $func, $container, $user, $id, $orderby, $page, $directlink) { $abovetop = new remositoryContainer(); $categories = $abovetop->getVisibleChildren($this->remUser); if (1 == count($categories) AND 0 == $categories[0]->getFileCount(false)) { $subcategories = $categories[0]->getVisibleChildren($this->remUser); if (!empty($subcategories)) $categories = $subcategories; } if (_REMOSITORY_TOP_SEARCH) { $view = new remositorySearchBoxHTML($this); $view->searchBoxHTML($categories, array(), '', true); } $manager = remositoryContainerManager::getInstance(); if (0 == $manager->count()) { $view = new remositoryFileListHTML($this); $view->emptyHTML(); return; } if ('select' == $func) $subfolders = $container->getVisibleChildren($user); else $subfolders = array(); if ('select' == $func AND 0 == $id AND 0 == $user->id AND count($subfolders) == 0) { echo ""._DOWN_NO_VISITOR_CATS.''; return; } if (!$id AND 1 == count($subfolders)) { $container = $subfolders[0]; $interface->setSingleCategory(); $this->idparm = $container->id; $subfolders = $container->getVisibleChildren($user); } if ($container->windowtitle) $interface->SetPageTitle($container->windowtitle); elseif ($container->name) $interface->SetPageTitle($container->name); $this->container = $container; $querystring = "&func=$func&id=$container->id&orderby=$orderby"; $pagecontrol = new remositoryPage ( $this->getFileCount($func), $user, _ITEMS_PER_PAGE, $page, $querystring ); if (1 == $page AND 0 < $this->repository->Featured_Number) { $featured = $container->getFeaturedFiles(true); $fcount = count($featured); } else $fcount = 0; if ('select' == $func AND $container->id AND $container->areFilesVisible($user)) $files = $container->getFiles(!$user->isAdmin(), $orderby, null, $pagecontrol->startItem(), $pagecontrol->itemsperpage - $fcount); elseif ('filelist' == $func) { if ($id) { $sql = remositoryFile::getFilesSQL(!$user->isAdmin(), false, 0, true, 5, '', $pagecontrol->startItem(), $pagecontrol->itemsperpage - $fcount, $this->idparm); $files = remositoryRepository::doSQLget($sql, 'remositoryFile'); } else $files = array(); } else $files = array(); if ($fcount) $files = array_merge($featured, $files); $view = new remositoryFileListHTML($this); $view->fileListHTML($id, $container, $subfolders, $files, $pagecontrol, $func, $directlink); } private function getFileCount ($func) { if ('select' == $func) { $container = $this->container; return $container->getFilesCount('', $this->remUser); } if ('filelist' == $func AND $this->idparm) { $interface = remositoryInterface::getInstance(); $database = $interface->getDB(); $sql = remositoryFile::getFilesSQL(!$this->remUser->isAdmin(), true, 0, true, 5, '', 0, 0, $this->idparm); $database->setQuery($sql); return $database->loadResult(); } return 0; } public function getContainerID () { return is_object($this->container) ? $this->container->id : 0; } }