예제 #1
0
 public function indexAction()
 {
     // Handle an action if submitted.
     if ($this->request->hasPost('action')) {
         $this->dispatcher->forward(array('action' => $this->request->getPost('action')));
         return false;
     }
     // Fetch a list of folders to assign submissions to.
     $this->view->folders = \Entity\Folder::fetchSelectWithGroups($this->user->id, TRUE);
     // Generate query and paginate.
     $query = $this->em->createQuery('SELECT s FROM Entity\\Upload s WHERE s.user_id = :user_id ORDER BY s.id DESC')->setParameter('user_id', $this->user->id);
     $per_page = 64;
     $pager = new \FA\Paginator\Doctrine($query, $this->getParam('page', 1), $per_page);
     // Determine if any content is adult.
     foreach ($pager as $row) {
         if ($row->adultsubmission != 0) {
             $this->fa->setPageHasMatureContent(true);
         }
     }
     $this->view->pager = $pager;
 }
예제 #2
0
 public function indexAction()
 {
     $this->view->scraps_mode = $this->scraps_mode;
     $rating_query = '(true = true)';
     $rating_cache = '';
     if ($this->fa->canSeeArt('adult')) {
         $rating_cache = 'gma';
     } elseif ($this->fa->canSeeArt('mature')) {
         $rating_query = '(up.rating = ' . Upload::RATING_GENERAL . ' OR up.rating = ' . Upload::RATING_MATURE . ')';
         $rating_cache = 'gm-';
     } else {
         $rating_query = '(up.rating = ' . Upload::RATING_GENERAL . ')';
         $rating_cache = 'g--';
     }
     $folder_id = (int) $this->getParam('folder');
     if ($folder_id) {
         $folder = Folder::getRepository()->findOneBy(array('user_id' => $this->owner->id, 'id' => $folder_id));
         if (!$folder instanceof Folder) {
             throw new \FA\Exception('Folder not found!');
         }
         $this->view->folder = $folder;
         $query = $this->em->createQuery('SELECT up FROM Entity\\Upload up WHERE up.user_id = :user_id AND ' . $rating_query . ' AND up.id IN (SELECT uf.upload_id FROM Entity\\UploadFolder uf WHERE uf.folder_id = :folder_id) ORDER BY up.id DESC')->setParameter('user_id', $this->owner->id)->setParameter('folder_id', $folder_id);
     } else {
         $query = $this->em->createQuery('SELECT up FROM Entity\\Upload up WHERE up.user_id = :user_id AND ' . $rating_query . ' AND up.is_scrap = :is_scrap ORDER BY up.id DESC')->setParameter('user_id', $this->owner->id)->setParameter('is_scrap', $this->scraps_mode);
     }
     $perpage = $this->user->getVariable('perpage');
     $pager = new \FA\Paginator\Doctrine($query, $this->getParam('page', 1), $perpage);
     if (count($pager) > 0) {
         foreach ($pager as $row) {
             if ($row->rating == Upload::RATING_ADULT) {
                 $this->fa->setPageHasMatureContent();
             }
         }
     }
     $this->view->pager = $pager;
     // Folder List
     $this->view->folder_list = Folder::fetchSelectWithGroups($this->owner->id, FALSE);
 }