Beispiel #1
0
 /**
  * Method to get data from database
  * @param int $display_subcat_page
  * @param int $display_back_button
  * @return array Data
  */
 function getData($display_subcat_page = 0, $display_back_button = 1, $display_categories_back_button = 1, $display_access_category = 1, $display_unpublished = 0)
 {
     $menu =& JSite::getMenu();
     $user =& JFactory::getUser();
     // SET BACK BUTTON TO CATEGORIES VIEW
     $items = $menu->getItems('link', 'index.php?option=com_phocagallery&view=categories');
     $itemId = 0;
     if (isset($items[0])) {
         $itemId = $items[0]->id;
     }
     $backLink = 'index.php?option=com_phocagallery&view=categories&Itemid=' . $itemId;
     // Lets load the content if it doesn't already exist
     if (empty($this->_data)) {
         $count = 0;
         // ----------------------------------------
         // Super folders
         // ----------------------------------------
         $parentcategory = $this->_getParentCategory();
         if ($display_back_button == 1) {
             if ($parentcategory) {
                 $this->_data[$count] = $parentcategory;
                 $item =& $this->_data[$count];
                 // USER RIGHT - ACCESS =======================================
                 // Should be the link to parentcategory displayed
                 $rightDisplay = PhocaGalleryHelper::getUserRight($parentcategory->params, 'accessuserid', $item->access, $user->get('aid', 0), $user->get('id', 0), $display_access_category);
                 // Display Key Icon (in case we want to display unaccessable categories in list view)
                 $rightDisplayKey = 1;
                 if ($display_access_category == 1) {
                     // we simulate that we want not to display unaccessable categories
                     // so we get rightDisplayKey = 0 then the key will be displayed
                     if (isset($parentcategory->params)) {
                         $rightDisplayKey = PhocaGalleryHelper::getUserRight($parentcategory->params, 'accessuserid', $item->access, $user->get('aid', 0), $user->get('id', 0), 0);
                     }
                 }
                 // ===========================================================
                 if ($rightDisplay > 0) {
                     $item->slug = $item->id . ':' . $item->alias;
                     $item->item_type = "parentfolder";
                     $file_thumbnail = PhocaGalleryHelperFront::displayBackFolder('medium', $rightDisplayKey);
                     $item->linkthumbnailpath = $file_thumbnail['rel'];
                     $count++;
                 }
             } else {
                 // Back button to categories list if it exists
                 if ($itemId > 0 && $display_categories_back_button == 1) {
                     $this->_data[$count] = new JObject();
                     $item =& $this->_data[$count];
                     $item->link = $backLink;
                     $item->title = JTEXT::_('Category List');
                     $item->item_type = "categorieslist";
                     $file_thumbnail = PhocaGalleryHelperFront::displayBackFolder('medium', 1);
                     $item->linkthumbnailpath = $file_thumbnail['rel'];
                     $count++;
                 }
             }
         }
         // ----------------------------------------
         // Sub folders
         // ----------------------------------------
         if ($display_subcat_page == 1) {
             $query = $this->_buildSubCategoriesQuery();
             $this->_subcategories = $this->_getList($query);
             $total = count($this->_subcategories);
             for ($i = 0; $i < $total; $i++) {
                 $this->_data[$count] = $this->_subcategories[$i];
                 $item =& $this->_data[$count];
                 // USER RIGHT - ACCESS =======================================
                 $rightDisplay = PhocaGalleryHelper::getUserRight($this->_subcategories[$i]->params, 'accessuserid', $item->access, $user->get('aid', 0), $user->get('id', 0), $display_access_category);
                 // Display Key Icon (in case we want to display unaccessable categories in list view)
                 $rightDisplayKey = 1;
                 if ($display_access_category == 1) {
                     // we simulate that we want not to display unaccessable categories
                     // so we get rightDisplayKey = 0 then the key will be displayed
                     if (isset($this->_subcategories[$i]->params)) {
                         $rightDisplayKey = PhocaGalleryHelper::getUserRight($this->_subcategories[$i]->params, 'accessuserid', $item->access, $user->get('aid', 0), $user->get('id', 0), 0);
                     }
                 }
                 // ===========================================================
                 if ($rightDisplay > 0) {
                     $item->slug = $item->id . ':' . $item->alias;
                     $item->item_type = "subfolder";
                     $random = $this->_getRandomImageRecursive($item->id);
                     $file_thumbnail = PhocaGalleryHelperFront::displayThumbOrFolder($random->filename, 'medium', $rightDisplayKey);
                     $item->linkthumbnailpath = $file_thumbnail['rel'];
                     $count++;
                 }
             }
         }
         // ----------------------------------------
         // Images
         // ----------------------------------------
         $query = $this->_buildQuery($display_unpublished);
         $images = $this->_getList($query, $this->getState('limitstart'), $this->getState('limit'));
         $parentcategory = $this->_getParentCategory();
         $total = count($images);
         for ($i = 0; $i < $total; $i++) {
             $this->_data[$count] = $images[$i];
             $item =& $this->_data[$count];
             $item->slug = $item->id . ':' . $item->alias;
             $item->item_type = "image";
             // Get file thumbnail or No Image
             $file_thumbnail = PhocaGalleryHelperFront::displayFileOrNoImage($item->filename, 'medium');
             $item->linkthumbnailpath = $file_thumbnail['rel'];
             if (isset($parentcategory->params)) {
                 $item->parentcategoryparams = $parentcategory->params;
             }
             $count++;
         }
     }
     return $this->_data;
 }