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;
}
}