Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- * @package Joomla 1.5
- * @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
- * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
- *
- * @component Phoca Component
- * @copyright Copyright (C) Jan Pavelka www.phoca.cz
- * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
- */
- defined('_JEXEC') or die();
- jimport( 'joomla.application.component.view');
- phocagalleryimport('phocagallery.access.access');
- phocagalleryimport('phocagallery.path.path');
- phocagalleryimport('phocagallery.file.file');
- phocagalleryimport('phocagallery.render.renderinfo');
- phocagalleryimport('phocagallery.picasa.picasa');
- class PhocaGalleryViewCategories extends JView
- {
- function display($tpl = null) {
- global $mainframe;
- $user = &JFactory::getUser();
- $uri = &JFactory::getURI();
- $path = &PhocaGalleryPath::getPath();
- $params = &$mainframe->getParams();
- $tmpl = array();
- $tmplGeo = array();
- $this->_setLibraries();
- // PARAMS - - - - - - - - - -
- $image_categories_size = $params->get( 'image_categories_size', 4 );
- $medium_image_width = (int)$params->get( 'medium_image_width', 100 ) + 18;
- $medium_image_height = (int)$params->get( 'medium_image_height', 100 ) + 18;
- $small_image_width = (int)$params->get( 'small_image_width', 50 ) + 18;
- $small_image_height = (int)$params->get( 'small_image_height', 50 ) + 18;
- $tmpl['phocagallerywidth'] = $params->get( 'phocagallery_width', '' );
- $tmpl['categoriescolumns'] = $params->get( 'categories_columns', 1 );
- $tmpl['displayrating'] = $params->get( 'display_rating', 0 );
- $tmpl['phocagallerycenter'] = $params->get( 'phocagallery_center', '');
- $tmpl['categoriesimageordering']= $params->get( 'categories_image_ordering', 9 );
- $tmpl['displayimagecategories'] = $params->get( 'display_image_categories', 1 );// Display or hide image beside the category name
- $display_categories_geotagging = $params->get( 'display_categories_geotagging', 0 );// Display Geo CATEGORIES VIEW
- // Access Category - display category in CATEGORIES VIEW, which user cannot access
- $display_access_category = $params->get( 'display_access_category', 1 );
- $display_empty_categories = $params->get( 'display_empty_categories', 0 );
- $hideCatArray = explode( ';', trim( $params->get( 'hide_categories', '' ) ) );
- $tmpl['equalpercentagewidth'] = $params->get( 'equal_percentage_width');
- $tmpl['categoriesdisplayavatar']= $params->get( 'categories_display_avatar');
- $tmpl['categoriesboxwidth'] = $params->get( 'categories_box_width');
- $tmpl['gallerymetakey'] = $params->get( 'gallery_metakey', '' );
- $tmpl['gallerymetadesc'] = $params->get( 'gallery_metadesc', '' );
- // Correct Picasa Images - get Info
- switch($image_categories_size) {
- // medium
- case 1:
- case 5:
- $tmpl['picasa_correct_width'] = (int)$params->get( 'medium_image_width', 100 );
- $tmpl['picasa_correct_height'] = (int)$params->get( 'medium_image_height', 100 );
- break;
- case 0:
- case 4:
- default:
- $tmpl['picasa_correct_width'] = (int)$params->get( 'small_image_width', 50 );
- $tmpl['picasa_correct_height'] = (int)$params->get( 'small_image_height', 50 );
- break;
- }
- // - - - - - - - - - - - - - - -
- // Get background for the image
- phocagalleryimport('phocagallery.image.imagefront');
- $catImg = PhocaGalleryImageFront::getCategoriesImageBackground($image_categories_size, $small_image_width, $small_image_height, $medium_image_height, $medium_image_width);
- $tmpl['imagebg'] = $catImg->image;
- $tmpl['imagewidth'] = $catImg->width;
- //$total = $this->get('total');
- //$tmpl['pagination'] = &$this->get('pagination');
- // Image next to Category in Categories View is ordered by Random as default
- phocagalleryimport('phocagallery.ordering.ordering');
- $categoriesImageOrdering = PhocaGalleryOrdering::getOrderingString($tmpl['categoriesimageordering']);
- // MODEL
- $model = &$this->getModel();
- $items = $this->get('data');
- // Add link and unset the categories which user cannot see (if it is enabled in params)
- // If it will be unset while access view, we must sort the keys from category array - ACCESS
- $unSet = 0;
- foreach ($items as $key => $item) {
- // Unset empty categories if it is set
- if ($display_empty_categories == 0) {
- if($items[$key]->numlinks < 1) {
- unset($items[$key]);
- $unSet = 1;
- continue;
- }
- }
- // Unset hidden category
- if (!empty($hideCatArray) && is_array($hideCatArray)) {
- $unSetHCA = 0;
- foreach ($hideCatArray as $valueHCA) {
- if((int)trim($valueHCA) == $items[$key]->id) {
- unset($items[$key]);
- $unSet = 1;
- $unSetHCA = 1;
- break;
- }
- }
- if ($unSetHCA == 1) {
- continue;
- }
- }
- // Link
- $items[$key]->link = JRoute::_('index.php?option=com_phocagallery&view=category&id='. $item->slug.'&Itemid='. JRequest::getVar('Itemid', 0, '', 'int') );
- // USER RIGHT - ACCESS - - - - -
- // First Check - check if we can display category
- $rightDisplay = 1;
- if (!empty($items[$key])) {
- $rightDisplay = PhocaGalleryAccess::getUserRight('accessuserid', $items[$key]->accessuserid, $items[$key]->access, $user->get('aid', 0), $user->get('id', 0), $display_access_category);
- }
- // Second Check - if we can display hidden category, set Key icon for them
- // if we don't have access right to see them
- // 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 if we get rightDisplayKey = 0 then the key will be displayed
- if (!empty($items[$key])) {
- $rightDisplayKey = PhocaGalleryAccess::getUserRight('accessuserid', $items[$key]->accessuserid, $items[$key]->access, $user->get('aid', 0), $user->get('id', 0), 0); // 0 - simulation
- }
- }
- // DISPLAY AVATAR, IMAGE(ordered), IMAGE(not ordered, not recursive) OR FOLDER ICON
- $displayAvatar = 0;
- if($tmpl['categoriesdisplayavatar'] == 1 && isset($items[$key]->avatar) && $items[$key]->avatar !='' && $items[$key]->avatarapproved == 1 && $items[$key]->avatarpublished == 1) {
- $sizeString = PhocaGalleryImageFront::getSizeString($image_categories_size);
- $pathAvatarAbs = $path->avatar_abs .'thumbs'.DS.'phoca_thumb_'.$sizeString.'_'. $items[$key]->avatar;
- $pathAvatarRel = $path->avatar_rel . 'thumbs/phoca_thumb_'.$sizeString.'_'. $items[$key]->avatar;
- if (JFile::exists($pathAvatarAbs)){
- $items[$key]->linkthumbnailpath = $pathAvatarRel;
- $displayAvatar = 1;
- }
- }
- if ($displayAvatar == 0) {
- if (isset($items[$key]->extid) && $items[$key]->extid != '') {
- if ($tmpl['categoriesimageordering'] != 10) {
- $imagePic = PhocaGalleryImageFront::getRandomImageRecursive($items[$key]->id, $categoriesImageOrdering, 1);
- $fileThumbnail = PhocaGalleryImageFront::displayCategoriesExtImgOrFolder($imagePic->exts,$imagePic->extm, $imagePic->extw,$imagePic->exth, $image_categories_size, $rightDisplayKey);
- } else {
- $fileThumbnail = PhocaGalleryImageFront::displayCategoriesExtImgOrFolder($items[$key]->exts,$items[$key]->extm, $items[$key]->extw, $items[$key]->exth, $image_categories_size, $rightDisplayKey);
- }
- $items[$key]->linkthumbnailpath = $fileThumbnail->rel;
- $items[$key]->extw = $fileThumbnail->extw;
- $items[$key]->exth = $fileThumbnail->exth;
- $items[$key]->extpic = $fileThumbnail->extpic;
- } else {
- if ($tmpl['categoriesimageordering'] != 10) {
- $items[$key]->filename = PhocaGalleryImageFront::getRandomImageRecursive($items[$key]->id, $categoriesImageOrdering);
- }
- $fileThumbnail = PhocaGalleryImageFront::displayCategoriesImageOrFolder($items[$key]->filename, $image_categories_size, $rightDisplayKey);
- $items[$key]->linkthumbnailpath = $fileThumbnail->rel;
- }
- }
- if ($rightDisplay == 0) {
- unset($items[$key]);
- $unSet = 1;
- }
- // - - - - - - - - - - - - - - -
- }
- $tmpl['mtb'] = PhocaGalleryRenderInfo::getPhocaIc((int)$params->get( 'display_phoca_info', 1 ));
- // ACCESS - - - - - -
- // In case we unset some category from the list, we must sort the array new
- if ($unSet == 1) {
- $items = array_values($items);
- }
- // - - - - - - - - - - - - - - - -
- // Do Pagination - we can do it after reducing all unneeded items, not before
- $totalCount = count($items);
- $model->setTotal($totalCount);
- $tmpl['pagination'] = &$this->get('pagination');
- $items = array_slice($items,(int)$tmpl['pagination']->limitstart, (int)$tmpl['pagination']->limit);
- // - - - - - - - - - - - - - - - -
- // Display Image of Categories Description
- if ($params->get('image') != -1) {
- $attribs['align'] = $params->get('image_align');
- $attribs['hspace'] = 6;
- // Use the static HTML library to build the image tag
- $tmpl['image'] = JHTML::_('image', 'images/stories/'.$params->get('image'), JText::_('Phoca Gallery'), $attribs);
- }
- $tmpl['ab'] = base64_decode('PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogcmdiKDIxMSwgMjExLCAyMTEpOyI+UG93ZXJlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LnBob2NhLmN6IiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lOyIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJQaG9jYS5jeiI+UGhvY2E8L2E+IDxhIGhyZWY9Imh0dHA6Ly93d3cucGhvY2EuY3ovcGhvY2FnYWxsZXJ5IiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lOyIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJQaG9jYSBHYWxsZXJ5Ij5HYWxsZXJ5PC9hPjwvZGl2Pg0K');
- // ACTION
- $tmpl['action'] = $uri->toString();
- // ASSIGN
- $this->assignRef('tmpl', $tmpl);
- $this->assignRef('params', $params);
- $this->assignRef('categories', $items);
- // Meta data
- if ($tmpl['gallerymetakey'] != '') {
- $mainframe->addMetaTag('keywords', $tmpl['gallerymetakey']);
- }
- if ($tmpl['gallerymetadesc'] != '') {
- $mainframe->addMetaTag('description', $tmpl['gallerymetadesc']);
- }
- if ($display_categories_geotagging == 1) {
- // PARAMS - - - - - - - - - -
- $tmplGeo['categorieslng'] = $params->get( 'categories_lng', '' );
- $tmplGeo['categorieslat'] = $params->get( 'categories_lat', '' );
- $tmplGeo['categorieszoom'] = $params->get( 'categories_zoom', 2 );
- $tmplGeo['googlemapsapikey'] = $params->get( 'google_maps_api_key', '' );
- $tmplGeo['categoriesmapwidth'] = $params->get( 'categories_map_width', '' );
- $tmplGeo['categoriesmapheight'] = $params->get( 'categorires_map_height', 500 );
- // - - - - - - - - - - - - - - -
- // if no lng and lat will be added, Phoca Gallery will try to find it in categories
- if ($tmplGeo['categorieslat'] == '' || $tmplGeo['categorieslng'] == '') {
- phocagalleryimport('phocagallery.geo.geo');
- $latLng = PhocaGalleryGeo::findLatLngFromCategory($items);
- $tmplGeo['categorieslng'] = $latLng['lng'];
- $tmplGeo['categorieslat'] = $latLng['lat'];
- }
- $this->assignRef('tmplGeo', $tmplGeo);
- parent::display('map');
- } else {
- parent::display($tpl);
- }
- }
- function _setLibraries() {
- $document = &JFactory::getDocument();
- // Libraries
- $library = &PhocaGalleryLibrary::getLibrary();
- $libraries['pg-css-ie'] = $library->getLibrary('pg-css-ie');
- // CSS for IE 8
- if ( $libraries['pg-css-ie']->value == 0 ) {
- $document->addCustomTag("<!--[if lt IE 8]>\n<link rel=\"stylesheet\" href=\""
- .JURI::base(true)
- ."/components/com_phocagallery/assets/phocagalleryieall.css\" type=\"text/css\" />\n<![endif]-->");
- $library->setLibrary('pg-css-ie', 1);
- }
- // CSS
- JHTML::stylesheet( 'phocagallery.css', 'components/com_phocagallery/assets/' );
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement