Exemple #1
0
 protected static function _xenMediaPhotoIndexParams($team)
 {
     $categoryModel = self::$controller->getModelFromCache('XenGallery_Model_Category');
     $category = $categoryModel->getCategoryById(self::$setup->getOption('XenMediaCategoryId'));
     $noPermission = false;
     if (!$category) {
         $noPermission = true;
     } else {
         if (!$categoryModel->canAddMediaToCategory($category)) {
             $noPermission = true;
         }
     }
     if ($noPermission) {
         return array('templateName' => 'Team_photo', 'viewName' => '', 'provider' => 'XenGallery', 'noPermission' => true);
     }
     $mediaModel = self::$controller->getModelFromCache('XenGallery_Model_Media');
     $albumModel = self::$controller->getModelFromCache('XenGallery_Model_Album');
     $order = self::$input->filterSingle('order', XenForo_Input::STRING);
     $type = self::$input->filterSingle('type', XenForo_Input::STRING);
     $page = self::$input->filterSingle('page', XenForo_Input::UINT);
     $perPage = XenForo_Application::getOptions()->xengalleryMediaMaxPerPage;
     $visitor = XenForo_Visitor::getInstance();
     $conditions = array('deleted' => $mediaModel->canViewDeletedMedia(), 'type' => $type ? $type : 'all', 'privacyUserId' => $visitor->user_id, 'viewAlbums' => $albumModel->canViewAlbums(), 'viewCategoryIds' => $mediaModel->getViewableCategoriesForVisitor($visitor->toArray()), 'newerThan' => $mediaModel->getMediaHomeCutOff(), 'social_group_id' => $team['team_id']);
     $fetchOptions = self::_getMediaFetchOptions() + array('order' => $order ? $order : 'media_date', 'orderDirection' => 'desc', 'page' => $page, 'perPage' => $perPage);
     $fetchOptions['join'] |= XenGallery_Model_Media::FETCH_PRIVACY;
     $media = $mediaModel->getMedia($conditions, $fetchOptions);
     $media = $mediaModel->prepareMediaItems($media);
     $inlineModOptions = $mediaModel->prepareInlineModOptions($media);
     $ignoredNames = array();
     foreach ($media as $item) {
         if (!empty($item['isIgnored'])) {
             $ignoredNames[] = $item['username'];
         }
     }
     $mediaCount = $mediaModel->countMedia($conditions, $fetchOptions);
     self::$controller->canonicalizePageNumber($page, $perPage, $mediaCount, TEAM_ROUTE_PREFIX . '/photos', $team);
     self::$controller->canonicalizeRequestUrl(XenForo_Link::buildPublicLink(TEAM_ROUTE_PREFIX . '/photos', $team, array('page' => $page)));
     $pageNavParams = array('order' => $order, 'type' => $type);
     return array('templateName' => 'Team_photo', 'viewName' => '', 'provider' => 'XenGallery', 'canViewRatings' => $mediaModel->canViewRatings(), 'mediaHome' => true, 'media' => $media, 'ignoredNames' => array_unique($ignoredNames), 'mediaCount' => $mediaCount, 'page' => $page <= 1 ? '' : $page, 'perPage' => $perPage, 'pageNavParams' => $pageNavParams, 'order' => $order, 'type' => $type, 'time' => XenForo_Application::$time, 'showTypeTabs' => $albumModel->canViewAlbums(), 'inlineModOptions' => $inlineModOptions, 'userPage' => false);
 }