679 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			679 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /*
 | |
|  * @package		Joomla.Framework
 | |
|  * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.
 | |
|  * @license		GNU General Public License version 2 or later; see LICENSE.txt
 | |
|  * @component Phoca Component
 | |
|  * @copyright Copyright (C) Jan Pavelka www.phoca.cz
 | |
|  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later;
 | |
|  */
 | |
| 
 | |
| use Joomla\CMS\Factory;
 | |
| 
 | |
| defined('_JEXEC') or die();
 | |
| use Joomla\CMS\MVC\View\HtmlView;
 | |
| use Joomla\CMS\HTML\HTMLHelper;
 | |
| use Joomla\CMS\Filesystem\File;
 | |
| use Joomla\CMS\Uri\Uri;
 | |
| use Joomla\CMS\Language\Text;
 | |
| use Joomla\CMS\Router\Route;
 | |
| use Joomla\CMS\Plugin\PluginHelper;
 | |
| jimport( 'joomla.application.component.view');
 | |
| phocagalleryimport( 'phocagallery.image.image');
 | |
| phocagalleryimport( 'phocagallery.image.imagefront');
 | |
| phocagalleryimport( 'phocagallery.file.filethumbnail');
 | |
| phocagalleryimport( 'phocagallery.rate.rateimage');
 | |
| phocagalleryimport( 'phocagallery.picasa.picasa');
 | |
| phocagalleryimport( 'phocagallery.facebook.fbsystem');
 | |
| phocagalleryimport( 'phocagallery.youtube.youtube');
 | |
| phocagalleryimport( 'phocagallery.user.user');
 | |
| phocagalleryimport('phocagallery.comment.comment');
 | |
| phocagalleryimport('phocagallery.comment.commentimage');
 | |
| 
 | |
| class PhocaGalleryViewDetail extends HtmlView
 | |
| {
 | |
| 
 | |
| 	public $t;
 | |
| 	protected $params;
 | |
| 	protected $itemnext;
 | |
| 	protected $itemprev;
 | |
|     protected $category;
 | |
| 
 | |
| 	function display($tpl = null) {
 | |
| 
 | |
| 
 | |
| 		$app		= Factory::getApplication();
 | |
| 		$uri        = Uri::getInstance();
 | |
|         $id			= $app->input->get('id', 0, 'int');
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 		$document				= Factory::getDocument();
 | |
| 		$this->params			= $app->getParams();
 | |
| 		$user					= Factory::getUser();
 | |
| 		$var['slideshow']		= $app->input->get('phocaslideshow', 0, 'int');
 | |
| 		$var['download'] 		= $app->input->get('phocadownload', 0, 'int');
 | |
| 		$this->t['action']	    = $uri->toString();
 | |
| 		$path					= PhocaGalleryPath::getPath();
 | |
| 		$this->itemId			= $app->input->get('Itemid', 0, 'int');
 | |
| 
 | |
| 		$this->t['tmpl']			= $app->input->get('tmpl', '', 'string');
 | |
| 
 | |
| 		$neededAccessLevels		= PhocaGalleryAccess::getNeededAccessLevels();
 | |
| 		$access					= PhocaGalleryAccess::isAccess($user->getAuthorisedViewLevels(), $neededAccessLevels);
 | |
| 
 | |
| 		PhocaGalleryRenderFront::renderAllCSS();
 | |
| 		PhocaGalleryRenderFront::renderMainJs();
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 		// Information from the plugin - window is displayed after plugin action
 | |
| 		$get				= array();
 | |
| 		$get['detail']		= $app->input->get( 'detail', '',  'string');
 | |
| 		$get['buttons']		= $app->input->get( 'buttons', '',  'string' );
 | |
| 		$get['ratingimg']	= $app->input->get( 'ratingimg', '', 'string' );
 | |
| 
 | |
| 		$this->t['tmpl']		= $app->input->get( 'tmpl', '',  'string');
 | |
| 
 | |
| 		$this->t['picasa_correct_width_l']		= (int)$this->params->get( 'large_image_width', 640 );
 | |
| 		$this->t['picasa_correct_height_l']		= (int)$this->params->get( 'large_image_height', 480 );
 | |
| 		$this->t['enablecustomcss']				= $this->params->get( 'enable_custom_css', 0);
 | |
| 		$this->t['customcss']					= $this->params->get( 'custom_css', '');
 | |
| 		$this->t['enable_multibox']				= $this->params->get( 'enable_multibox', 0);
 | |
| 		$this->t['multibox_height']				= (int)$this->params->get( 'multibox_height', 560 );
 | |
| 		$this->t['multibox_width']				= (int)$this->params->get( 'multibox_width', 980 );
 | |
| 		$this->t['multibox_map_height']			= (int)$this->params->get( 'multibox_map_height', 300 );
 | |
| 		$this->t['multibox_map_width']			= (int)$this->params->get( 'multibox_map_width', 280 );
 | |
| 		$this->t['multibox_height_overflow']		= (int)$this->t['multibox_height'] - 10;//padding
 | |
| 		$this->t['multibox_comments_width']		= $this->params->get( 'multibox_comments_width', 300 );
 | |
| 		$this->t['multibox_comments_height']		= $this->params->get( 'multibox_comments_height', 600 );
 | |
| 		$this->t['multibox_thubms_box_width']	= $this->params->get( 'multibox_thubms_box_width', 300 );
 | |
| 		$this->t['multibox_thubms_count']		= $this->params->get( 'multibox_thubms_count', 4 );
 | |
| 		$this->t['large_image_width']			= $this->params->get( 'large_image_width', 640 );
 | |
| 		$this->t['large_image_height']			= $this->params->get( 'large_image_height', 640 );
 | |
| 		$this->t['multibox_fixed_cols']			= $this->params->get( 'multibox_fixed_cols', 1 );
 | |
| 		$this->t['display_multibox']				= $this->params->get( 'display_multibox', array(1,2));
 | |
| 		$this->t['display_title_description']	= $this->params->get( 'display_title_description', 0);
 | |
| 		$this->t['responsive']					= $this->params->get( 'responsive', 0 );
 | |
| 		$this->t['bootstrap_icons']				= $this->params->get( 'bootstrap_icons', 0 );
 | |
| 
 | |
| 		$this->t['display_comment_img']				= $this->params->get( 'display_comment_img', 0 );
 | |
| 
 | |
|         $this->t['display_cat_name_breadcrumbs ']			= $this->params->get( 'display_cat_name_breadcrumbs', 1 );
 | |
| 		// CSS
 | |
| 		PhocaGalleryRenderFront::renderAllCSS(1);
 | |
| 
 | |
| 		// Plugin information
 | |
| 		$this->t['detailwindow']	= $this->params->get( 'detail_window', 0 );
 | |
| 		if (isset($get['detail']) && $get['detail'] != '') {
 | |
| 			$this->t['detailwindow'] 		= $get['detail'];
 | |
| 		}
 | |
| 
 | |
| 		// Plugin information
 | |
| 		$this->t['detailbuttons']	= $this->params->get( 'detail_buttons', 1 );
 | |
| 		if (isset($get['buttons']) && $get['buttons'] != '') {
 | |
| 			$this->t['detailbuttons'] = $get['buttons'];
 | |
| 		}
 | |
| 
 | |
| 		// Close and Reload links (for different window types)
 | |
| 		$close = PhocaGalleryRenderFront::renderCloseReloadDetail($this->t['detailwindow']);
 | |
| 		$this->t['detailwindowclose']	= $close['detailwindowclose'];
 | |
| 		$this->t['detailwindowreload']	= $close['detailwindowreload'];
 | |
| 
 | |
| 
 | |
| 		$this->t['displaydescriptiondetail']		= $this->params->get( 'display_description_detail', 0 );
 | |
| 
 | |
| 		$this->t['display_rating_img']				= $this->params->get( 'display_rating_img', 0 );
 | |
| 		$this->t['display_icon_download'] 			= $this->params->get( 'display_icon_download', 0 );
 | |
| 		$this->t['externalcommentsystem'] 			= $this->params->get( 'external_comment_system', 0 );
 | |
| 		$this->t['largewidth'] 					= $this->params->get( 'large_image_width', 640 );
 | |
| 		$this->t['largeheight'] 					= $this->params->get( 'large_image_height', 480 );
 | |
| 		$this->t['boxlargewidth'] 					= $this->params->get( 'front_modal_box_width', 680 );
 | |
| 		$this->t['boxlargeheight'] 				= $this->params->get( 'front_modal_box_height', 560 );
 | |
| 		$this->t['slideshow_delay'] 				= $this->params->get( 'slideshow_delay', 3000 );
 | |
| 		$this->t['slideshow_pause'] 				= $this->params->get( 'slideshow_pause', 2500 );
 | |
| 		$this->t['slideshowrandom'] 				= $this->params->get( 'slideshow_random', 0 );
 | |
| 		$this->t['slideshow_description'] 			= $this->params->get( 'slideshow_description', 'peekaboo' );
 | |
| 		$this->t['gallerymetakey'] 				= $this->params->get( 'gallery_metakey', '' );
 | |
| 		$this->t['gallerymetadesc'] 				= $this->params->get( 'gallery_metadesc', '' );
 | |
| 		$this->t['altvalue']		 				= $this->params->get( 'alt_value', 1 );
 | |
| 		$this->t['enablecustomcss']				= $this->params->get( 'enable_custom_css', 0);
 | |
| 		$this->t['customcss']					= $this->params->get( 'custom_css', '');
 | |
| 		$this->t['display_tags_links'] 			= $this->params->get( 'display_tags_links', 0 );
 | |
| 		$this->t['ytb_display'] 					= $this->params->get( 'ytb_display', 0 );
 | |
| 
 | |
| 		/*$paramsFb = PhocaGalleryFbSystem::getCommentsParams($this->params->get( 'fb_comment_user_id', ''));// Facebook
 | |
| 		$this->t['fb_comment_app_id']		= isset($paramsFb['fb_comment_app_id']) ? $paramsFb['fb_comment_app_id'] : '';
 | |
| 		$this->t['fb_comment_width']			= isset($paramsFb['fb_comment_width']) ? $paramsFb['fb_comment_width'] : 550;
 | |
| 		$this->t['fb_comment_lang'] 			= isset($paramsFb['fb_comment_lang']) ? $paramsFb['fb_comment_lang'] : 'en_US';
 | |
| 		$this->t['fb_comment_count'] 		= isset($paramsFb['fb_comment_count']) ? $paramsFb['fb_comment_count'] : '';*/
 | |
| 
 | |
|         $this->t['max_upload_char']			= $this->params->get( 'max_upload_char', 1000 );
 | |
| 		$this->t['max_comment_char']			= $this->params->get( 'max_comment_char', 1000 );
 | |
| 		$this->t['max_create_cat_char']			= $this->params->get( 'max_create_cat_char', 1000 );
 | |
| 
 | |
| 		$oH = '';
 | |
| 		if ($this->t['enable_multibox'] == 1) {
 | |
| 			$this->t['fb_comment_width'] = $this->t['multibox_comments_width'];
 | |
| 			$oH = 'overflow:hidden;';
 | |
| 		}
 | |
| 
 | |
| 
 | |
| 		// CSS
 | |
| 		/*JHtml::stylesheet('media/com_phocagallery/css/phocagallery.css' );
 | |
| 		if ($this->t['enablecustomcss'] == 1) {
 | |
| 			HTMLHelper::stylesheet('media/com_phocagallery/css/phocagallerycustom.css' );
 | |
| 			if ($this->t['customcss'] != ''){
 | |
| 				$document->addCustomTag( "\n <style type=\"text/css\"> \n"
 | |
| 				.$this->escape(strip_tags($this->t['customcss']))
 | |
| 				."\n </style> \n");
 | |
| 
 | |
| 			}
 | |
| 		}*/
 | |
| 
 | |
| 		//Multibox displaying
 | |
| 		/*$this->t['mb_title'] 		= PhocaGalleryUtils::isEnabledMultiboxFeature(1);
 | |
| 		$this->t['mb_desc'] 			= PhocaGalleryUtils::isEnabledMultiboxFeature(2);
 | |
| 		$this->t['mb_uploaded_by'] 	= PhocaGalleryUtils::isEnabledMultiboxFeature(3);
 | |
| 		$this->t['mb_rating'] 		= PhocaGalleryUtils::isEnabledMultiboxFeature(4);
 | |
| 		$this->t['mb_maps'] 			= PhocaGalleryUtils::isEnabledMultiboxFeature(5);
 | |
| 		$this->t['mb_tags'] 			= PhocaGalleryUtils::isEnabledMultiboxFeature(6);
 | |
| 		$this->t['mb_comments'] 		= PhocaGalleryUtils::isEnabledMultiboxFeature(7);
 | |
| 		$this->t['mb_thumbs'] 		= PhocaGalleryUtils::isEnabledMultiboxFeature(8);
 | |
| 
 | |
| 
 | |
| 		// No bar in Detail View
 | |
| 		if ($this->t['detailwindow'] == 7) {
 | |
| 
 | |
| 		} else {
 | |
| 
 | |
| 			$oS = " html, body, .contentpane, #all, #main {".$oH."padding:0px !important;margin:0px !important; width: 100% !important; max-width: 100% !important;} \n"
 | |
| 				// gantry-fix-begin
 | |
| 				."body {min-width:100%} \n"
 | |
| 				.".rt-container {width:100%} \n";
 | |
| 				// gantry-fix-end
 | |
| 			if ($this->t['responsive'] == 1) {
 | |
| 				$oS .= "html, body {height:100%;} \n"
 | |
| 				. ".pg-detail-view {
 | |
| 					position: relative;
 | |
| 					top: 50%;
 | |
| 					transform: perspective(1px) translateY(-50%);
 | |
| 				} \n";
 | |
| 
 | |
| 			}
 | |
| 
 | |
| 
 | |
| 				$document->addCustomTag( "<style type=\"text/css\"> \n" . $oS . " </style> \n");
 | |
| 		}
 | |
| */
 | |
| 		// Download from the detail view which is not in the popupbox
 | |
| 		if ($var['download'] == 2 ){
 | |
| 			$this->t['display_icon_download'] = 2;
 | |
| 		}
 | |
| 
 | |
| 		// Plugin Information
 | |
| 		if (isset($get['ratingimg']) && $get['ratingimg'] != '') {
 | |
| 			$this->t['display_rating_img'] = $get['ratingimg'];
 | |
| 		}
 | |
| 
 | |
| 
 | |
| 
 | |
| 		// Model
 | |
| 		$model	= $this->getModel();
 | |
| 		$item	= $model->getData();
 | |
| 
 | |
|         $this->category			= $model->getCategory($item->id);
 | |
| 
 | |
| 		//Multibox Thumbnails
 | |
| 		/*$this->t['mb_thumbs_data'] = '';
 | |
| 		if ($this->t['mb_thumbs'] == 1) {
 | |
| 			// if we get item variable, we have rights to load the thumbnails, this is why we checking it
 | |
| 			if (isset($item->id) && isset($item->catid) && (int)$item->id > 0 && (int)$item->catid > 0) {
 | |
| 				$this->t['mb_thumbs_data'] = $model->getThumbnails((int)$item->id, (int)$item->catid, (int)$item->ordering);
 | |
| 			}
 | |
| 		}*/
 | |
| 
 | |
| 		// User Avatar
 | |
| 		$this->t['useravatarimg'] 		= '';
 | |
| 		$this->t['useravatarmiddle'] 	= '';
 | |
| 		$userAvatar = false;
 | |
| 		if (isset($item->userid)) {
 | |
| 			$userAvatar						= PhocaGalleryUser::getUserAvatar($item->userid);
 | |
| 		}
 | |
| 		if ($userAvatar) {
 | |
| 			$pathAvatarAbs	= $path->avatar_abs  .'thumbs/phoca_thumb_s_'. $userAvatar->avatar;
 | |
| 			$pathAvatarRel	= $path->avatar_rel . 'thumbs/phoca_thumb_s_'. $userAvatar->avatar;
 | |
| 			if (File::exists($pathAvatarAbs)){
 | |
| 				$sIH	= $this->params->get( 'small_image_height', 96 );
 | |
| 				$sIHR	= @getImageSize($pathAvatarAbs);
 | |
| 				if (isset($sIHR[1])) {
 | |
| 					$sIH = $sIHR[1];
 | |
| 				}
 | |
| 				if ((int)$sIH > 0) {
 | |
| 					$this->t['useravatarmiddle'] = ((int)$sIH / 2) - 10;
 | |
| 				}
 | |
| 				$this->t['useravatarimg']	= '<img src="'.Uri::base(true) . '/' . $pathAvatarRel.'?imagesid='.md5(uniqid(time())).'" alt="" />';
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 
 | |
| 
 | |
| 		// Access check - don't display the image if you have no access to this image (if user add own url)
 | |
| 		// USER RIGHT - ACCESS - - - - - - - - - -
 | |
| 		$rightDisplay	= 0;
 | |
| 		if (!empty($item)) {
 | |
| 			$rightDisplay = PhocaGalleryAccess::getUserRight('accessuserid', $item->cataccessuserid, $item->cataccess, $user->getAuthorisedViewLevels(), $user->get('id', 0), 0);
 | |
| 		}
 | |
| 
 | |
| 		if ((int)$rightDisplay == 0) {
 | |
| 
 | |
| 			echo $close['html'];
 | |
| 			//Some problem with cache - Joomla! return this message if there is no reason for do it.
 | |
| 			//$this->t['pl']		= 'index.php?option=com_users&view=login&return='.base64_encode($uri->toString());
 | |
| 			//$app->redirect(JRoute::_($this->t['pl'], false));
 | |
| 			exit;
 | |
| 
 | |
| 		}
 | |
| 
 | |
| 		// - - - - - - - - - - - - - - - - - - - -
 | |
| 
 | |
| 		phocagalleryimport('phocagallery.image.image');
 | |
| 		phocagalleryimport('phocagallery.render.renderdetailbutton'); // Javascript Slideshow buttons
 | |
| 		$detailButton 			= new PhocaGalleryRenderDetailButton();
 | |
| 		if ($this->t['enable_multibox'] == 1) {
 | |
| 			$detailButton->setType('multibox');
 | |
| 		}
 | |
| 		$item->reloadbutton		= $detailButton->getReload($item->catslug, $item->slug);
 | |
| 		$item->closebutton		= $detailButton->getClose($item->catslug, $item->slug);
 | |
| 		$item->closetext		= $detailButton->getCloseText($item->catslug, $item->slug);
 | |
| 		$item->nextbutton		= $detailButton->getNext((int)$item->catid, (int)$item->id, (int)$item->ordering);
 | |
| 		$item->nextbuttonhref	= $detailButton->getNext((int)$item->catid, (int)$item->id, (int)$item->ordering, 1);
 | |
| 		$item->prevbutton		= $detailButton->getPrevious((int)$item->catid, (int)$item->id, (int)$item->ordering);
 | |
| 		$slideshowData			= $detailButton->getJsSlideshow((int)$item->catid, (int)$item->id, (int)$var['slideshow'], $item->catslug, $item->slug);
 | |
| 		$item->slideshowbutton	= $slideshowData['icons'];
 | |
| 		$item->slideshowfiles	= $slideshowData['files'];
 | |
| 		$item->slideshow		= $var['slideshow'];
 | |
| 		$item->download			= $var['download'];
 | |
| 
 | |
| 		// ALT VALUE
 | |
| 		$altValue	= PhocaGalleryRenderFront::getAltValue($this->t['altvalue'], $item->title, $item->description, $item->metadesc);
 | |
| 		$item->altvalue			= $altValue;
 | |
| 
 | |
| 		// Get file thumbnail or No Image
 | |
| 		$item->filenameno		= $item->filename;
 | |
| 		$item->filename			= PhocaGalleryFile::getTitleFromFile($item->filename, 1);
 | |
| 		$item->filesize			= PhocaGalleryFile::getFileSize($item->filenameno);
 | |
| 		$realImageSize	= '';
 | |
| 		$extImage = PhocaGalleryImage::isExtImage($item->extid);
 | |
| 		if ($extImage) {
 | |
| 			$item->extl			=	$item->extl;
 | |
| 			$item->exto			=	$item->exto;
 | |
| 			$realImageSize 		= PhocaGalleryImage::getRealImageSize($item->extl, '', 1);
 | |
| 			$item->imagesize 	= PhocaGalleryImage::getImageSize($item->exto, 1, 1);
 | |
| 			if ($item->extw != '') {
 | |
| 				$extw 		= explode(',',$item->extw);
 | |
| 				$item->extw	= $extw[0];
 | |
| 			}
 | |
| 			if ($item->exth != '') {
 | |
| 				$exth 		= explode(',',$item->exth);
 | |
| 				$item->exth	= $exth[0];
 | |
| 			}
 | |
| 			$correctImageRes 		= PhocaGalleryPicasa::correctSizeWithRate($item->extw, $item->exth, $this->t['picasa_correct_width_l'], $this->t['picasa_correct_height_l']);
 | |
| 			$item->linkimage		= HTMLHelper::_( 'image', $item->extl, $item->altvalue, array('width' => $correctImageRes['width'], 'height' => $correctImageRes['height'], 'class' => 'pg-detail-image img img-responsive'));
 | |
| 			$item->realimagewidth 	= $correctImageRes['width'];
 | |
| 			$item->realimageheight	= $correctImageRes['height'];
 | |
| 
 | |
| 
 | |
| 		} else {
 | |
| 			$item->linkthumbnailpath	= PhocaGalleryImageFront::displayCategoryImageOrNoImage($item->filenameno, 'large');
 | |
| 			$item->linkimage			= HTMLHelper::_( 'image', $item->linkthumbnailpath, $item->altvalue, array( 'class' => 'pg-detail-image img img-responsive'));
 | |
| 			$realImageSize 				= PhocaGalleryImage::getRealImageSize ($item->filenameno);
 | |
| 			$item->imagesize			= PhocaGalleryImage::getImageSize($item->filenameno, 1);
 | |
| 			if (isset($realImageSize['w']) && isset($realImageSize['h'])) {
 | |
| 				$item->realimagewidth		= $realImageSize['w'];
 | |
| 				$item->realimageheight		= $realImageSize['h'];
 | |
| 			} else {
 | |
| 				$item->realimagewidth	 	= $this->t['largewidth'];
 | |
| 				$item->realimageheight		= $this->t['largeheight'];
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		// Add Statistics
 | |
| 		$model->hit($app->input->get( 'id', '', 'int' ));
 | |
| 
 | |
| 		// R A T I N G
 | |
| 		// Only registered (VOTES + COMMENTS)
 | |
| 		$this->t['not_registered_img'] 	= true;
 | |
| 		$this->t['usernameimg']		= '';
 | |
| 		if ($access > 0) {
 | |
| 			$this->t['not_registered_img'] 	= false;
 | |
| 			$this->t['usernameimg']		= $user->name;
 | |
| 		}
 | |
| 
 | |
| 		// VOTES Statistics Img
 | |
| 		//if ((int)$this->t['display_rating_img'] == 1 || $this->t['mb_rating']) {
 | |
|         if ((int)$this->t['display_rating_img'] == 1) {
 | |
| 
 | |
| 			$this->t['votescountimg']		= 0;
 | |
| 			$this->t['votesaverageimg'] 	= 0;
 | |
| 			$this->t['voteswidthimg']		= 0;
 | |
| 			$votesStatistics	= PhocaGalleryRateImage::getVotesStatistics((int)$item->id);
 | |
| 			if (!empty($votesStatistics->count)) {
 | |
| 				$this->t['votescountimg'] = $votesStatistics->count;
 | |
| 			}
 | |
| 			if (!empty($votesStatistics->average)) {
 | |
| 				$this->t['votesaverageimg'] = $votesStatistics->average;
 | |
| 				if ($this->t['votesaverageimg'] > 0) {
 | |
| 					$this->t['votesaverageimg'] 	= round(((float)$this->t['votesaverageimg'] / 0.5)) * 0.5;
 | |
| 					$this->t['voteswidthimg']		= 22 * $this->t['votesaverageimg'];
 | |
| 				} else {
 | |
| 					$this->t['votesaverageimg'] = (int)0;// not float displaying
 | |
| 				}
 | |
| 			}
 | |
| 			if ((int)$this->t['votescountimg'] > 1) {
 | |
| 				$this->t['votestextimg'] = 'COM_PHOCAGALLERY_VOTES';
 | |
| 			} else {
 | |
| 				$this->t['votestextimg'] = 'COM_PHOCAGALLERY_VOTE';
 | |
| 			}
 | |
| 
 | |
| 			// Already rated?
 | |
| 			$this->t['alreay_ratedimg']	= PhocaGalleryRateImage::checkUserVote( (int)$item->id, (int)$user->id );
 | |
| 		}
 | |
| 
 | |
| 		// Tags
 | |
| 		$this->t['displaying_tags_output'] = '';
 | |
| 		//if ($this->t['display_tags_links'] == 1 || $this->t['display_tags_links'] == 3 || $this->t['mb_tags'])  {
 | |
|         if ($this->t['display_tags_links'] == 1 || $this->t['display_tags_links'] == 3)  {
 | |
| 
 | |
| 			if ($this->t['detailwindow'] == 7) {
 | |
| 				$this->t['displaying_tags_output'] = PhocaGalleryTag::displayTags($item->id);
 | |
| 			} else {
 | |
| 				$this->t['displaying_tags_output'] = PhocaGalleryTag::displayTags($item->id, 1);
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 
 | |
|         // Only registered (VOTES + COMMENTS)
 | |
| 		$this->t['not_registered'] 	= true;
 | |
| 		$this->t['name']		= '';
 | |
| 		if ($access) {
 | |
| 			$this->t['not_registered'] 	= false;
 | |
| 			$this->t['name']		= $user->name;
 | |
| 		}
 | |
| 
 | |
| 
 | |
|         $this->t['already_commented'] = PhocaGalleryCommentImage::checkUserComment( (int)$item->id, (int)$user->id );
 | |
| 		$this->t['commentitem']					= PhocaGalleryCommentImage::displayComment( (int)$item->id);
 | |
| 
 | |
| 
 | |
| 
 | |
| 		$this->itemnext[0]			= false;
 | |
| 		$this->itemprev[0]			= false;
 | |
| 		//if ($this->t['enable_image_navigation'] == 1) {
 | |
| 			if (isset($item->ordering) && isset($item->catid) && isset($item->id) && $item->catid > 0 && $item->id > 0) {
 | |
| 				$this->itemnext			= $model->getItemNext($item->ordering, $item->catid);
 | |
| 				$this->itemprev			= $model->getItemPrev($item->ordering, $item->catid);
 | |
| 			}
 | |
| 		//}
 | |
| 
 | |
| 		// ASIGN
 | |
| 
 | |
| 		$this->item = $item;
 | |
| 		$this->_prepareDocument($item);
 | |
| 
 | |
|         // Breadcrumb display:
 | |
| 		// 0 - only menu link
 | |
| 		// 1 - menu link - category name
 | |
| 		// 2 - only category name
 | |
| 		$this->_addBreadCrumbs( isset($menu->query['id']) ? $menu->query['id'] : 0, $this->t['display_cat_name_breadcrumbs '], $item);
 | |
| 
 | |
| 
 | |
| 
 | |
| 		if ($this->t['enable_multibox'] == 1) {
 | |
| 
 | |
| 			if ($item->download > 0) {
 | |
| 
 | |
| 				if ($this->t['display_icon_download'] == 2) {
 | |
| 					$backLink = 'index.php?option=com_phocagallery&view=category&id='. $item->catslug.'&Itemid='. $this->itemId;
 | |
| 					phocagalleryimport('phocagallery.file.filedownload');
 | |
| 					if (isset($item->exto) && $item->exto != '') {
 | |
| 
 | |
| 						PhocaGalleryFileDownload::download($item, $backLink, 1);
 | |
| 					} else {
 | |
| 						PhocaGalleryFileDownload::download($item, $backLink);
 | |
| 					}
 | |
| 					exit;
 | |
| 				} else {
 | |
| 					parent::display('multibox');
 | |
| 					//parent::display('download');
 | |
| 				}
 | |
| 			} else {
 | |
| 
 | |
| 
 | |
| 				if (isset($item->videocode) && $item->videocode != '' && $item->videocode != '0') {
 | |
| 					$item->videocode = PhocaGalleryYoutube::displayVideo($item->videocode);
 | |
| 				}
 | |
| 				parent::display('multibox');
 | |
| 			}
 | |
| 		} else if (isset($item->videocode) && $item->videocode != ''  && $item->videocode != '0') {
 | |
| 			$item->videocode = PhocaGalleryYoutube::displayVideo($item->videocode);
 | |
| 
 | |
| 			if ($this->t['detailwindow'] != 7 && $this->t['ytb_display'] == 1) {
 | |
| 				$document->addCustomTag( "<style type=\"text/css\"> \n"
 | |
| 					." html, body, .contentpane, div#all, div#main, div#system-message-container {padding: 0px !important;margin: 0px !important;} \n"
 | |
| 					." div#sbox-window {background-color:#fff;padding: 0px;margin: 0px;} \n"
 | |
| 					." </style> \n");
 | |
| 			}
 | |
| 
 | |
| 			parent::display('video');
 | |
| 		} else {
 | |
| 			//parent::display('slideshowjs');
 | |
| 			/*if ($item->slideshow == 1) {
 | |
| 				parent::display('slideshow');
 | |
| 			} else*/
 | |
|             if ($item->download > 0) {
 | |
| 
 | |
| 				if ($this->t['display_icon_download'] == 2) {
 | |
| 					$backLink = 'index.php?option=com_phocagallery&view=category&id='. $item->catslug.'&Itemid='. $this->itemId;
 | |
| 					phocagalleryimport('phocagallery.file.filedownload');
 | |
| 					if (isset($item->exto) && $item->exto != '') {
 | |
| 
 | |
| 						PhocaGalleryFileDownload::download($item, $backLink, 1);
 | |
| 					} else {
 | |
| 						PhocaGalleryFileDownload::download($item, $backLink);
 | |
| 					}
 | |
| 					exit;
 | |
| 				} else {
 | |
| 					parent::display('download');
 | |
| 				}
 | |
| 			} else {
 | |
| 				parent::display($tpl);
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	protected function _prepareDocument($item) {
 | |
| 
 | |
| 		$app		= Factory::getApplication();
 | |
| 		$menus		= $app->getMenu();
 | |
| 		$pathway 	= $app->getPathway();
 | |
| 		//$this->params		= $app->getParams();
 | |
| 		$title 		= null;
 | |
| 
 | |
| 		$this->t['gallerymetakey'] 		= $this->params->get( 'gallery_metakey', '' );
 | |
| 		$this->t['gallerymetadesc'] 		= $this->params->get( 'gallery_metadesc', '' );
 | |
| 
 | |
| 		$menu = $menus->getActive();
 | |
| 
 | |
| 		if ($menu) {
 | |
| 			$this->params->def('page_heading', $this->params->get('page_title', $menu->title));
 | |
| 		} else {
 | |
| 			$this->params->def('page_heading', Text::_('JGLOBAL_ARTICLES'));
 | |
| 		}
 | |
| 
 | |
| 		$title = $this->params->get('page_title', '');
 | |
| 		if (empty($title)) {
 | |
| 			$title = htmlspecialchars_decode($app->get('sitename'));
 | |
| 		} else if ($app->get('sitename_pagetitles', 0) == 1) {
 | |
| 			$title = Text::sprintf('JPAGETITLE', htmlspecialchars_decode($app->get('sitename')), $title);
 | |
| 
 | |
| 			if (isset($item->title) && $item->title != '') {
 | |
| 				$title = $title .' - ' .  $item->title;
 | |
| 			}
 | |
| 
 | |
| 		} else if ($app->get('sitename_pagetitles', 0) == 2) {
 | |
| 
 | |
| 			if (isset($item->title) && $item->title != '') {
 | |
| 				$title = $title .' - ' .  $item->title;
 | |
| 			}
 | |
| 
 | |
| 			$title = Text::sprintf('JPAGETITLE', $title, htmlspecialchars_decode($app->get('sitename')));
 | |
| 		}
 | |
| 		$this->document->setTitle($title);
 | |
| 
 | |
| 		if ($item->metadesc != '') {
 | |
| 			$this->document->setDescription($item->metadesc);
 | |
| 		} else if ($this->t['gallerymetadesc'] != '') {
 | |
| 			$this->document->setDescription($this->t['gallerymetadesc']);
 | |
| 		} else if ($this->params->get('menu-meta_description', '')) {
 | |
| 			$this->document->setDescription($this->params->get('menu-meta_description', ''));
 | |
| 		}
 | |
| 
 | |
| 		if ($item->metakey != '') {
 | |
| 			$this->document->setMetadata('keywords', $item->metakey);
 | |
| 		} else if ($this->t['gallerymetakey'] != '') {
 | |
| 			$this->document->setMetadata('keywords', $this->t['gallerymetakey']);
 | |
| 		} else if ($this->params->get('menu-meta_keywords', '')) {
 | |
| 			$this->document->setMetadata('keywords', $this->params->get('menu-meta_keywords', ''));
 | |
| 		}
 | |
| 
 | |
| 		if ($app->get('MetaTitle') == '1' && $this->params->get('menupage_title', '')) {
 | |
| 			$this->document->setMetaData('title', $this->params->get('page_title', ''));
 | |
| 		}
 | |
| 
 | |
| 		/*if ($app->get('MetaAuthor') == '1') {
 | |
| 			$this->document->setMetaData('author', $this->item->author);
 | |
| 		}
 | |
| 
 | |
| 		/*$mdata = $this->item->metadata->toArray();
 | |
| 		foreach ($mdata as $k => $v) {
 | |
| 			if ($v) {
 | |
| 				$this->document->setMetadata($k, $v);
 | |
| 			}
 | |
| 		}*/
 | |
| 
 | |
| 		// Breadcrumbs TO DO (Add the whole tree)
 | |
| 		/*if (isset($this->category[0]->parentid)) {
 | |
| 			if ($this->category[0]->parentid == 1) {
 | |
| 			} else if ($this->category[0]->parentid > 0) {
 | |
| 				$pathway->addItem($this->category[0]->parenttitle, Route::_(PhocaDocumentationHelperRoute::getCategoryRoute($this->category[0]->parentid, $this->category[0]->parentalias)));
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		if (!empty($this->category[0]->title)) {
 | |
| 			$pathway->addItem($this->category[0]->title);
 | |
| 		}*/
 | |
| 
 | |
| 
 | |
| 		// Features added by Bernard Gilly - alphaplug.com
 | |
| 		// load external plugins
 | |
| 		/*$user       = Factory::getUser();
 | |
| 		$imgid      = $item->id;
 | |
| 		$catid		= $item->catid;
 | |
| 		$db	   		= Factory::getDBO();
 | |
| 		$query 		= "SELECT owner_id FROM #__phocagallery_categories WHERE `id`='$catid'";
 | |
| 		$db->setQuery( $query );
 | |
| 		$ownerid 	= $db->loadResult();
 | |
| 		$dispatcher = JDispatcher::getInstance();
 | |
| 		PluginHelper::importPlugin('phocagallery');
 | |
| 		$results 	= Factory::getApplication()->triggerEvent('onViewImage', array($imgid, $catid, $ownerid, $user->id ) );*/
 | |
| 
 | |
| 		$user       = Factory::getUser();
 | |
| 		//$dispatcher = J Dispatcher::getInstance();
 | |
| 		PluginHelper::importPlugin('phocagallery');
 | |
| 		$results 	= Factory::getApplication()->triggerEvent('onViewImage', array((int)$item->id, (int)$item->catid, (int)$item->owner_id, (int)$user->id ) );
 | |
| 
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 
 | |
|     /**
 | |
| 	 * Method to add Breadcrubms in Phoca Gallery
 | |
| 	 * @param array $this->category Object array of Category
 | |
| 	 * @param int $rootId Id of Root Category
 | |
| 	 * @param int $displayStyle Displaying of Breadcrubm - Nothing, Category Name, Menu link with Name
 | |
| 	 * @return string Breadcrumbs
 | |
| 	 */
 | |
| 	function _addBreadCrumbs($rootId, $displayStyle, $image)
 | |
| 	{
 | |
| 	    $app = Factory::getApplication();
 | |
| 		$i = 0;
 | |
| 		$category = $this->category[0];
 | |
| 
 | |
| 	    while (isset($category->id))
 | |
| 	    {
 | |
| 
 | |
| 			$crumbList[$i++] = $category;
 | |
| 			if ($category->id == $rootId)
 | |
| 			{
 | |
| 				break;
 | |
| 			}
 | |
| 
 | |
| 	        $db = Factory::getDBO();
 | |
| 	        $query = 'SELECT *' .
 | |
| 	            ' FROM #__phocagallery_categories AS c' .
 | |
| 	            ' WHERE c.id = '.(int) $category->parent_id.
 | |
| 	            ' AND c.published = 1';
 | |
| 	        $db->setQuery($query);
 | |
| 	        $rows = $db->loadObjectList('id');
 | |
| 
 | |
| 			if (!empty($rows))
 | |
| 			{
 | |
| 				$category = $rows[$category->parent_id];
 | |
| 			}
 | |
| 			else
 | |
| 			{
 | |
| 				$category = '';
 | |
| 			}
 | |
| 		//	$category = $rows[$category->parent_id];
 | |
| 	    }
 | |
| 
 | |
| 	    $pathway 		= $app->getPathway();
 | |
| 		$pathWayItems 	= $pathway->getPathWay();
 | |
| 		$lastItemIndex 	= count($pathWayItems) - 1;
 | |
| 
 | |
| 	    for ($i--; $i >= 0; $i--)
 | |
| 	    {
 | |
| 			// special handling of the root category
 | |
| 			if ($crumbList[$i]->id == $rootId)
 | |
| 			{
 | |
| 				switch ($displayStyle)
 | |
| 				{
 | |
| 					case 0:	// 0 - only menu link
 | |
| 						// do nothing
 | |
| 						break;
 | |
| 					case 1:	// 1 - menu link with category name
 | |
| 						// replace the last item in the breadcrumb (menu link title) with the current value plus the category title
 | |
| 						$pathway->setItemName($lastItemIndex, $pathWayItems[$lastItemIndex]->name . ' - ' . $crumbList[$i]->title);
 | |
| 						break;
 | |
| 					case 2:	// 2 - only category name
 | |
| 						// replace the last item in the breadcrumb (menu link title) with the category title
 | |
| 						$pathway->setItemName($lastItemIndex, $crumbList[$i]->title);
 | |
| 						break;
 | |
| 				}
 | |
| 			}
 | |
| 			else
 | |
| 			{
 | |
| 
 | |
| 				$pathway->addItem($crumbList[$i]->title, Route::_('index.php?option=com_phocagallery&view=category&id='. $crumbList[$i]->id.':'.$crumbList[$i]->alias.'&Itemid='. $this->itemId ));
 | |
| 			}
 | |
| 	    }
 | |
| 
 | |
|         // Add the image title
 | |
| 		$pathway->addItem($image->title);
 | |
| 	}
 | |
| }
 |