function loadData() { if (empty($this->data)) { $query = 'SELECT a.*' . ' FROM #__phocagallery AS a' . ' WHERE a.id = ' . (int) $this->id; $this->_db->setQuery($query); $fileObject = $this->_db->loadObject(); $file = new JObject(); $refresh_url = 'index.php?option=com_phocagallery&view=phocagalleryd&tmpl=component&id=' . (int) $this->id; //Creata thumbnails if not exist PhocaGalleryFileThumbnail::getOrCreateThumbnail($fileObject->filename, $refresh_url, 1, 1, 1); jimport('joomla.filesystem.file'); if (!isset($fileObject->filename)) { $file->set('linkthumbnailpath', ''); } else { $thumbFile = PhocaGalleryFileThumbnail::getThumbnailName($fileObject->filename, 'large'); $file->set('linkthumbnailpath', $thumbFile->rel); $file->set('extid', $fileObject->extid); $file->set('extl', $fileObject->extl); $file->set('extw', $fileObject->extw); $file->set('exth', $fileObject->exth); } $this->data = $file; return (bool) $this->data; } return true; }
function getRealImageSize($filename, $size = 'large', $extLink = 0) { phocagalleryimport('phocagallery.file.thumbnail'); if ($extLink == 1) { list($w, $h, $type) = @getimagesize($filename); } else { $thumbName = PhocaGalleryFileThumbnail::getThumbnailName($filename, $size); list($w, $h, $type) = @getimagesize($thumbName->abs); } $size = ''; if (isset($w) && isset($h)) { $size['w'] = $w; $size['h'] = $h; } else { $size['w'] = 0; $size['h'] = 0; } return $size; }
function getData() { if (empty($this->_data)) { $query = $this->_buildQuery(); $this->_data = $this->_getList($query, $this->getState('limitstart'), $this->getState('limit')); } if (!empty($this->_data)) { foreach ($this->_data as $key => $value) { $fileOriginal = PhocaGalleryFile::getFileOriginal($value->filename); //Let the user know that the file doesn't exists if (!JFile::exists($fileOriginal)) { $this->_data[$key]->filename = JText::_('COM_PHOCAGALLERY_IMG_FILE_NOT_EXISTS'); $this->_data[$key]->fileoriginalexist = 0; } else { //Create thumbnails small, medium, large $refresh_url = 'index.php?option=com_phocagallery&view=phocagalleryimgs'; $fileThumb = PhocaGalleryFileThumbnail::getOrCreateThumbnail($value->filename, $refresh_url, 1, 1, 1); $this->_data[$key]->linkthumbnailpath = $fileThumb['thumb_name_s_no_rel']; $this->_data[$key]->fileoriginalexist = 1; } } } return $this->_data; }
function createFileThumbnail($fileOriginal, $fileThumbnail, $size, $frontUpload = 0, &$errorMsg) { $paramsC = JComponentHelper::getParams('com_phocagallery'); $enable_thumb_creation = $paramsC->get('enable_thumb_creation', 1); $watermarkParams['create'] = $paramsC->get('create_watermark', 0); // Watermark $watermarkParams['x'] = $paramsC->get('watermark_position_x', 'center'); $watermarkParams['y'] = $paramsC->get('watermark_position_y', 'middle'); $crop_thumbnail = $paramsC->get('crop_thumbnail', 5); // Crop or not $crop = null; switch ($size) { case 'small1': case 'small2': case 'small3': case 'medium1': case 'medium2': case 'medium3': $crop = 1; break; case 'small': if ($crop_thumbnail == 3 || $crop_thumbnail == 5 || $crop_thumbnail == 6 || $crop_thumbnail == 7) { $crop = 1; } break; case 'medium': if ($crop_thumbnail == 2 || $crop_thumbnail == 4 || $crop_thumbnail == 5 || $crop_thumbnail == 7) { $crop = 1; } break; case 'large': default: if ($crop_thumbnail == 1 || $crop_thumbnail == 4 || $crop_thumbnail == 6 || $crop_thumbnail == 7) { $crop = 1; } break; } // disable or enable the thumbnail creation if ($enable_thumb_creation == 1) { $fileResize = PhocaGalleryFileThumbnail::getThumbnailResize($size); if (JFile::exists($fileOriginal)) { //file doesn't exist, create thumbnail if (!JFile::exists($fileThumbnail)) { $errorMsg = 'Error4'; //Don't do thumbnail if the file is smaller (width, height) than the possible thumbnail list($width, $height) = GetImageSize($fileOriginal); //larger phocagalleryimport('phocagallery.image.imagemagic'); if ($width > $fileResize['width'] || $height > $fileResize['height']) { $imageMagic = PhocaGalleryImageMagic::imageMagic($fileOriginal, $fileThumbnail, $fileResize['width'], $fileResize['height'], $crop, null, $watermarkParams, $frontUpload, $errorMsg); } else { $imageMagic = PhocaGalleryImageMagic::imageMagic($fileOriginal, $fileThumbnail, $width, $height, $crop, null, $watermarkParams, $frontUpload, $errorMsg); } if ($imageMagic) { return true; } else { return false; // error Msg will be taken from imageMagic } } else { $errorMsg = 'ThumbnailExists'; //thumbnail exists return false; } } else { $errorMsg = 'ErrorFileOriginalNotExists'; return false; } $errorMsg = 'Error3'; return false; } else { $errorMsg = 'DisabledThumbCreation'; // User have disabled the thumbanil creation e.g. because of error return false; } }
} else { $fileThumb = PhocaGalleryFileThumbnail::getOrCreateThumbnail($this->item->filename, '', 0, 0, 0); $this->item->linkthumbnailpath = $fileThumb['thumb_name_m_no_rel']; $this->item->fileoriginalexist = 1; } echo '<div style="float:right;margin:5px;">'; // PICASA if (isset($this->item->extid) && $this->item->extid != '') { $resW = explode(',', $this->item->extw); $resH = explode(',', $this->item->exth); $correctImageRes = PhocaGalleryImage::correctSizeWithRate($resW[2], $resH[2], 100, 100); $imgLink = $this->item->extl; echo '<img class="img-polaroid" src="' . $this->item->exts . '" width="' . $correctImageRes['width'] . '" height="' . $correctImageRes['height'] . '" alt="" />'; } else { if (isset($this->item->fileoriginalexist) && $this->item->fileoriginalexist == 1) { $imageRes = PhocaGalleryImage::getRealImageSize($this->item->filename, 'medium'); //$correctImageRes = PhocaGalleryImage::correctSizeWithRate($imageRes['w'], $imageRes['h'], 100, 100); $imgLink = PhocaGalleryFileThumbnail::getThumbnailName($this->item->filename, 'large'); // TODO check the image echo '<img class="img-polaroid" style="max-width:100px;" src="' . JURI::root() . $this->item->linkthumbnailpath . '?imagesid=' . md5(uniqid(time())) . '" alt="" />' . '</a>'; } else { } } echo '</div>'; echo '</div>'; //end span2 echo $r->formInputs(); echo $r->endForm(); ?>
function _singleFileUploadAvatar(&$errUploadMsg, $file, &$redirectUrl) { $app = JFactory::getApplication(); JRequest::checkToken('request') or jexit('Invalid Token'); jimport('joomla.client.helper'); $ftp =& JClientHelper::setCredentialsFromRequest('ftp'); $path = PhocaGalleryPath::getPath(); $format = JRequest::getVar('format', 'html', '', 'cmd'); $return = JRequest::getVar('return-url', null, 'post', 'base64'); $viewBack = JRequest::getVar('viewback', '', '', ''); $view = JRequest::getVar('view', '', 'get', '', JREQUEST_NOTRIM); $paramsC = JComponentHelper::getParams('com_phocagallery'); $limitStartUrl = $this->getLimitStartUrl(0, 'subcat'); $return = JRoute::_($this->_url . $limitStartUrl->subcat . $limitStartUrl->image, false); $enableUploadAvatar = (int) $paramsC->get('enable_upload_avatar', 1); if ($enableUploadAvatar != 1) { $errUploadMsg = JText::_('COM_PHOCAGALLERY_NOT_ABLE_UPLOAD_AVATAR'); $redirectUrl = $return; return false; } if (isset($file['name'])) { $fileAvatar = md5(uniqid(time())) . '.' . JFile::getExt($file['name']); $filepath = JPath::clean($path->avatar_abs . DS . $fileAvatar); if (!PhocaGalleryFileUpload::canUpload($file, $errUploadMsg)) { if ($errUploadMsg == 'COM_PHOCAGALLERY_WARNING_FILE_TOOLARGE') { $errUploadMsg = JText::_($errUploadMsg) . ' (' . PhocaGalleryFile::getFileSizeReadable($file['size']) . ')'; } else { if ($errUploadMsg == 'COM_PHOCAGALLERY_WARNING_FILE_TOOLARGERESOLUTION') { $imgSize = PhocaGalleryImage::getImageSize($file['tmp_name']); $errUploadMsg = JText::_($errUploadMsg) . ' (' . (int) $imgSize[0] . ' x ' . (int) $imgSize[1] . ' px)'; } else { $errUploadMsg = JText::_($errUploadMsg); } } $redirectUrl = $return; return false; } if (!JFile::upload($file['tmp_name'], $filepath)) { $errUploadMsg = JText::_('COM_PHOCAGALLERY_FILE_UNABLE_UPLOAD'); $redirectUrl = $return; return false; } else { $redirectUrl = $return; //Create thumbnail small, medium, large (Delete previous before) PhocaGalleryFileThumbnail::deleteFileThumbnail('avatars/' . $fileAvatar, 1, 1, 1); $returnFrontMessage = PhocaGalleryFileThumbnail::getOrCreateThumbnail('avatars/' . $fileAvatar, $return, 1, 1, 1, 1); if ($returnFrontMessage != 'Success') { $errUploadMsg = JText::_('COM_PHOCAGALLERY_THUMBNAIL_AVATAR_NOT_CREATED'); return false; } // Saving file name into database with relative path $succeeded = false; PhocaGalleryControllerUser::saveUser($fileAvatar, $succeeded, $errUploadMsg); $redirectUrl = $return; return $succeeded; } } else { $errUploadMsg = JText::_('COM_PHOCAGALLERY_WARNING_FILETYPE'); $redirectUrl = $return; return false; } return false; }
public static function getList($small = 0, $medium = 0, $large = 0, $refreshUrl) { static $list; $params = JComponentHelper::getParams('com_phocagallery'); $clean_thumbnails = $params->get('clean_thumbnails', 0); // Only process the list once per request if (is_array($list)) { return $list; } // Get current path from request $current = JRequest::getVar('folder'); // If undefined, set to empty if ($current == 'undefined') { $current = ''; } //Get folder variables from Helper $path = PhocaGalleryPath::getPath(); // Initialize variables if (strlen($current) > 0) { $origPath = JPath::clean($path->image_abs . $current); } else { $origPath = $path->image_abs; } $origPathServer = str_replace(DS, '/', $path->image_abs); $images = array(); $folders = array(); // Get the list of files and folders from the given folder $fileList = JFolder::files($origPath); $folderList = JFolder::folders($origPath, '', false, false, array(0 => 'thumbs')); if (is_array($fileList) && !empty($fileList)) { natcasesort($fileList); } $field = JRequest::getVar('field'); $refreshUrl = $refreshUrl . '&folder=' . $current . '&field=' . $field; // Iterate over the files if they exist //file - abc.img, file_no - folder/abc.img if ($fileList !== false) { foreach ($fileList as $file) { $ext = strtolower(JFile::getExt($file)); // Don't display thumbnails from defined files (don't save them into a database)... $dontCreateThumb = PhocaGalleryFileThumbnail::dontCreateThumb($file); if ($dontCreateThumb == 1) { $ext = ''; // WE USE $ext FOR NOT CREATE A THUMBNAIL CLAUSE } if ($ext == 'jpg' || $ext == 'png' || $ext == 'gif' || $ext == 'jpeg') { if (JFile::exists($origPath . DS . $file) && substr($file, 0, 1) != '.' && strtolower($file) !== 'index.html') { //Create thumbnails small, medium, large $fileNo = $current . "/" . $file; $fileThumb = PhocaGalleryFileThumbnail::getOrCreateThumbnail($fileNo, $refreshUrl, $small, $medium, $large); $tmp = new JObject(); $tmp->name = $fileThumb['name']; $tmp->nameno = $fileThumb['name_no']; $tmp->linkthumbnailpath = $fileThumb['thumb_name_m_no_rel']; $tmp->linkthumbnailpathabs = $fileThumb['thumb_name_m_no_abs']; $images[] = $tmp; } } } } //Clean Thumbs Folder if there are thumbnail files but not original file if ($clean_thumbnails == 1) { PhocaGalleryFileFolder::cleanThumbsFolder(); } // - - - - - - - - - - - - // Iterate over the folders if they exist if ($folderList !== false) { foreach ($folderList as $folder) { $tmp = new JObject(); $tmp->name = basename($folder); $tmp->path_with_name = str_replace(DS, '/', JPath::clean($origPath . DS . $folder)); $tmp->path_without_name_relative = $path->image_abs . str_replace($origPathServer, '', $tmp->path_with_name); $tmp->path_with_name_relative_no = str_replace($origPathServer, '', $tmp->path_with_name); $folders[] = $tmp; } } $list = array('folders' => $folders, 'Images' => $images); return $list; }
public function onContentPrepare($context, &$article, &$params, $page = 0) { $user = JFactory::getUser(); $gid = $user->get('aid', 0); $db = JFactory::getDBO(); //$menu = &JSite::getMenu(); $document = JFactory::getDocument(); $path = PhocaGalleryPath::getPath(); // PARAMS - direct from Phoca Gallery Global configuration $component = 'com_phocagallery'; $paramsC = JComponentHelper::getParams($component); // LIBRARY $library = PhocaGalleryLibrary::getLibrary(); $libraries['pg-css-sbox-plugin'] = $library->getLibrary('pg-css-sbox-plugin'); $libraries['pg-css-pg-plugin'] = $library->getLibrary('pg-css-pg-plugin'); $libraries['pg-css-ie'] = $library->getLibrary('pg-css-ie'); $libraries['pg-group-shadowbox'] = $library->getLibrary('pg-group-shadowbox'); $libraries['pg-group-highslide'] = $library->getLibrary('pg-group-highslide'); $libraries['pg-group-highslide-slideshow'] = $library->getLibrary('pg-group-highslide-slideshow'); $libraries['pg-overlib-group'] = $library->getLibrary('pg-overlib-group'); $libraries['pg-group-jak-pl'] = $library->getLibrary('pg-group-jak-pl'); // PicLens CSS and JS will be loaded only one time in the site (pg-pl-piclens) // BUT PicLens Category will be loaded everytime new category should be displayed on the site $libraries['pg-pl-piclens'] = $library->getLibrary('pg-pl-piclens'); // Start Plugin $regex_one = '/({phocagallery\\s*)(.*?)(})/si'; $regex_all = '/{phocagallery\\s*.*?}/si'; $matches = array(); $count_matches = preg_match_all($regex_all, $article->text, $matches, PREG_OFFSET_CAPTURE | PREG_PATTERN_ORDER); $cssPgPlugin = ''; $cssSbox = ''; // Start if count_matches if ($count_matches != 0) { PhocaGalleryRenderFront::renderAllCSS(); for ($i = 0; $i < $count_matches; $i++) { $this->_setPluginNumber(); // Plugin variables $view = ''; $catid = 0; $imageid = 0; $imagerandom = 0; $image_background_shadow = $paramsC->get('image_background_shadow', 'shadow1'); $limitstart = 0; $limitcount = 0; $switch_width = $paramsC->get('switch_width', 640); $switch_height = $paramsC->get('switch_height', 480); $basic_image_id = $paramsC->get('switch_image', 0); $switch_fixed_size = $paramsC->get('switch_fixed_size', 0); $enable_switch = 0; $tmpl['display_name'] = $paramsC->get('display_name', 1); $tmpl['display_icon_detail'] = $paramsC->get('display_icon_detail', 1); $tmpl['display_icon_download'] = $paramsC->get('display_icon_download', 1); $tmpl['detail_window'] = $paramsC->get('detail_window', 0); // No boxplus in plugin: /* if ($tmpl['detail_window'] == 9 || $tmpl['detail_window'] == 10) { $tmpl['detail_window'] = 2; }*/ $detail_buttons = $paramsC->get('detail_buttons', 1); $hide_categories = $paramsC->get('hide_categories', ''); $namefontsize = $paramsC->get('font_size_name', 12); $namenumchar = $paramsC->get('char_length_name', 11); $display_description = $paramsC->get('display_description_detail', 0); $description_height = $paramsC->get('description_detail_height', 16); $category_box_space = $paramsC->get('category_box_space', 0); $margin_box = $paramsC->get('margin_box', 5); $padding_box = $paramsC->get('padding_box', 5); // CSS $font_color = $paramsC->get('font_color', '#b36b00'); $background_color = $paramsC->get('background_color', '#fcfcfc'); $background_color_hover = $paramsC->get('background_color_hover', '#f5f5f5'); $image_background_color = $paramsC->get('image_background_color', '#f5f5f5'); $border_color = $paramsC->get('border_color', '#e8e8e8'); $border_color_hover = $paramsC->get('border_color_hover', '#b36b00'); $highslide_class = $paramsC->get('highslide_class', 'rounded-white'); $highslide_opacity = $paramsC->get('highslide_opacity', 0); $highslide_outline_type = $paramsC->get('highslide_outline_type', 'rounded-white'); $highslide_fullimg = $paramsC->get('highslide_fullimg', 0); $highslide_slideshow = $paramsC->get('highslide_slideshow', 1); $highslide_close_button = $paramsC->get('highslide_close_button', 0); $tmpl['enablecustomcss'] = $paramsC->get('enable_custom_css', 0); $tmpl['customcss'] = $paramsC->get('custom_css', ''); $tmpl['displayratingimg'] = $paramsC->get('display_img_rating', 0); $tmpl['jakslideshowdelay'] = $paramsC->get('jak_slideshow_delay', 5); $tmpl['jakorientation'] = $paramsC->get('jak_orientation', 'none'); $tmpl['jakdescription'] = $paramsC->get('jak_description', 1); $tmpl['jakdescriptionheight'] = $paramsC->get('jak_description_height', 0); $tmpl['imageordering'] = $paramsC->get('image_ordering', 9); $tmpl['highslidedescription'] = $paramsC->get('highslide_description', 0); $tmpl['pluginlink'] = 0; $tmpl['jakdatajs'] = array(); $minimum_box_width = ''; $tmpl['boxplus_theme'] = $paramsC->get('boxplus_theme', 'lightsquare'); $tmpl['boxplus_bautocenter'] = (int) $paramsC->get('boxplus_bautocenter', 1); $tmpl['boxplus_autofit'] = (int) $paramsC->get('boxplus_autofit', 1); $tmpl['boxplus_slideshow'] = (int) $paramsC->get('boxplus_slideshow', 0); $tmpl['boxplus_loop'] = (int) $paramsC->get('boxplus_loop', 0); $tmpl['boxplus_captions'] = $paramsC->get('boxplus_captions', 'bottom'); $tmpl['boxplus_thumbs'] = $paramsC->get('boxplus_thumbs', 'inside'); $tmpl['boxplus_duration'] = (int) $paramsC->get('boxplus_duration', 250); $tmpl['boxplus_transition'] = $paramsC->get('boxplus_transition', 'linear'); $tmpl['boxplus_contextmenu'] = (int) $paramsC->get('boxplus_contextmenu', 1); // Component settings - some behaviour is set in component and cannot be set in plugin // but plugin needs to accept it $tmplCom['displayicondownload'] = $paramsC->get('display_icon_download', 0); $plugin_type = 0; $padding_mosaic = 3; $float = ''; $enable_piclens = $paramsC->get('enable_piclens', 0); $enable_overlib = $paramsC->get('enable_oberlib', 0); // Image categories $img_cat = 1; $img_cat_size = 'small'; // Get plugin parameters $phocagallery = $matches[0][$i][0]; preg_match($regex_one, $phocagallery, $phocagallery_parts); $parts = explode("|", $phocagallery_parts[2]); $values_replace = array("/^'/", "/'\$/", "/^'/", "/'\$/", "/<br \\/>/"); foreach ($parts as $key => $value) { $values = explode("=", $value, 2); foreach ($values_replace as $key2 => $values2) { $values = preg_replace($values2, '', $values); } // Get plugin parameters from article if ($values[0] == 'view') { $view = $values[1]; } else { if ($values[0] == 'categoryid') { $catid = $values[1]; } else { if ($values[0] == 'imageid') { $imageid = $values[1]; } else { if ($values[0] == 'imagerandom') { $imagerandom = $values[1]; } else { if ($values[0] == 'imageshadow') { $image_background_shadow = $values[1]; } else { if ($values[0] == 'limitstart') { $limitstart = $values[1]; } else { if ($values[0] == 'limitcount') { $limitcount = $values[1]; } else { if ($values[0] == 'detail') { $tmpl['detail_window'] = $values[1]; } else { if ($values[0] == 'displayname') { $tmpl['display_name'] = $values[1]; } else { if ($values[0] == 'displaydetail') { $tmpl['display_icon_detail'] = $values[1]; } else { if ($values[0] == 'displaydownload') { $tmpl['display_icon_download'] = $values[1]; } else { if ($values[0] == 'displaybuttons') { $detail_buttons = $values[1]; } else { if ($values[0] == 'namefontsize') { $namefontsize = $values[1]; } else { if ($values[0] == 'namenumchar') { $namenumchar = $values[1]; } else { if ($values[0] == 'displaydescription') { $display_description = $values[1]; } else { if ($values[0] == 'descriptionheight') { $description_height = $values[1]; } else { if ($values[0] == 'hidecategories') { $hide_categories = $values[1]; } else { if ($values[0] == 'boxspace') { $category_box_space = $values[1]; } else { if ($values[0] == 'fontcolor') { $font_color = $values[1]; } else { if ($values[0] == 'bgcolor') { $background_color = $values[1]; } else { if ($values[0] == 'bgcolorhover') { $background_color_hover = $values[1]; } else { if ($values[0] == 'imagebgcolor') { $image_background_color = $values[1]; } else { if ($values[0] == 'bordercolor') { $border_color = $values[1]; } else { if ($values[0] == 'bordercolorhover') { $border_color_hover = $values[1]; } else { if ($values[0] == 'hsclass') { $highslide_class = $values[1]; } else { if ($values[0] == 'hsopacity') { $highslide_opacity = $values[1]; } else { if ($values[0] == 'hsoutlinetype') { $highslide_outline_type = $values[1]; } else { if ($values[0] == 'hsfullimg') { $highslide_fullimg = $values[1]; } else { if ($values[0] == 'hsslideshow') { $highslide_slideshow = $values[1]; } else { if ($values[0] == 'hsclosebutton') { $highslide_close_button = $values[1]; } else { if ($values[0] == 'float') { $float = $values[1]; } else { if ($values[0] == 'jakslideshowdelay') { $tmpl['jakslideshowdelay'] = $values[1]; } else { if ($values[0] == 'jakorientation') { $tmpl['jakorientation'] = $values[1]; } else { if ($values[0] == 'jakdescription') { $tmpl['jakdescription'] = $values[1]; } else { if ($values[0] == 'jakdescriptionheight') { $tmpl['jakdescriptionheight'] = $values[1]; } else { if ($values[0] == 'imageordering') { $tmpl['imageordering'] = $values[1]; } else { if ($values[0] == 'pluginlink') { $tmpl['pluginlink'] = $values[1]; } else { if ($values[0] == 'highslidedescription') { $tmpl['highslidedescription'] = $values[1]; } else { if ($values[0] == 'type') { $plugin_type = $values[1]; } else { if ($values[0] == 'paddingmosaic') { $padding_mosaic = $values[1]; } else { if ($values[0] == 'minboxwidth') { $minimum_box_width = $values[1]; } else { if ($values[0] == 'imagecategories') { $img_cat = $values[1]; } else { if ($values[0] == 'imagecategoriessize') { $img_cat_size = $values[1]; } else { if ($values[0] == 'switchwidth') { $switch_width = $values[1]; } else { if ($values[0] == 'switchheight') { $switch_height = $values[1]; } else { if ($values[0] == 'basicimageid') { $basic_image_id = $values[1]; } else { if ($values[0] == 'enableswitch') { $enable_switch = $values[1]; } else { if ($values[0] == 'switchfixedsize') { $switch_fixed_size = $values[1]; } else { if ($values[0] == 'piclens') { $enable_piclens = $values[1]; } else { if ($values[0] == 'overlib') { $enable_overlib = $values[1]; } else { if ($values[0] == 'enablecustomcss') { $tmpl['enablecustomcss'] = $values[1]; } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } // If Module link is to category or categories, the detail window method needs to be set to no popup if ((int) $tmpl['pluginlink'] > 0) { $tmpl['detail_window'] = 7; } // Every loop of plugin has own number // Add custom CSS for every image (every image can have other CSS, Hover doesn't work in IE6) $iCss = $this->_plugin_number; if ($tmpl['enablecustomcss'] == 1) { } else { $cssPgPlugin .= " .pgplugin" . $iCss . " {border:1px solid {$border_color} ; background: {$background_color} ;}\n" . " .pgplugin" . $iCss . ":hover, .pgplugin" . $i . ".hover {border:1px solid {$border_color_hover} ; background: {$background_color_hover} ;}\n"; } $tmpl['formaticon'] = $paramsC->get('icon_format', 'gif'); $tmpl['imagewidth'] = $medium_image_width = $paramsC->get('medium_image_width', 100); $tmpl['imageheight'] = $medium_image_height = $paramsC->get('medium_image_height', 100); $popup_width = $paramsC->get('front_modal_box_width', 680); $popup_height = $paramsC->get('front_modal_box_height', 560); $small_image_width = $paramsC->get('small_image_width', 50); $small_image_height = $paramsC->get('small_image_height', 50); $large_image_width = $paramsC->get('large_image_width', 640); $large_image_height = $paramsC->get('large_image_height', 480); $tmpl['enable_multibox'] = $paramsC->get('enable_multibox', 0); $tmpl['multibox_height'] = (int) $paramsC->get('multibox_height', 560); $tmpl['multibox_width'] = (int) $paramsC->get('multibox_width', 980); // Multibox if ($tmpl['enable_multibox'] == 1) { $popup_width = $tmpl['multibox_width']; $popup_height = $tmpl['multibox_height']; } // Correct Picasa Images - get Info switch ($img_cat_size) { // medium case 1: case 5: $tmpl['picasa_correct_width'] = (int) $paramsC->get('medium_image_width', 100); $tmpl['picasa_correct_height'] = (int) $paramsC->get('medium_image_height', 100); break; case 0: case 4: default: $tmpl['picasa_correct_width'] = (int) $paramsC->get('small_image_width', 50); $tmpl['picasa_correct_height'] = (int) $paramsC->get('small_image_height', 50); break; } if ($plugin_type == 1) { $imgSize = 'small'; } else { if ($plugin_type == 2) { $imgSize = 'large'; } else { $imgSize = 'medium'; } } if ($display_description == 1) { $popup_height = $popup_height + $description_height; } // Detail buttons in detail view if ($detail_buttons != 1) { $popup_height = $popup_height - 45; } $popup_height_rating = $popup_height; if ($tmpl['displayratingimg'] == 1) { $popup_height_rating = $popup_height + 35; } $modal_box_overlay_color = $paramsC->get('modal_box_overlay_color', '#000000'); $modal_box_overlay_opacity = $paramsC->get('modal_box_overlay_opacity', 0.3); $modal_box_border_color = $paramsC->get('modal_box_border_color', '#6b6b6b'); $modal_box_border_width = $paramsC->get('modal_box_border_width', 2); $tmpl['olbgcolor'] = $paramsC->get('ol_bg_color', '#666666'); $tmpl['olfgcolor'] = $paramsC->get('ol_fg_color', '#f6f6f6'); $tmpl['oltfcolor'] = $paramsC->get('ol_tf_color', '#000000'); $tmpl['olcfcolor'] = $paramsC->get('ol_cf_color', '#ffffff'); $tmpl['overliboverlayopacity'] = $paramsC->get('overlib_overlay_opacity', 0.7); // ======================================================= // DIFFERENT METHODS OF DISPLAYING THE DETAIL VIEW // ======================================================= // MODAL - will be displayed in case e.g. highslide or shadowbox too, because in there are more links JHtml::_('behavior.modal', 'a.pg-modal-button'); $btn = new PhocaGalleryRenderDetailWindow(); $btn->popupWidth = $popup_width; $btn->popupHeight = $popup_height; $btn->mbOverlayOpacity = $modal_box_overlay_opacity; $btn->sbSlideshowDelay = $paramsC->get('sb_slideshow_delay', 5); $btn->sbSettings = $paramsC->get('sb_settings', "overlayColor: '#000',overlayOpacity:0.5,resizeDuration:0.35,displayCounter:true,displayNav:true"); $btn->hsSlideshow = $highslide_slideshow; $btn->hsClass = $highslide_class; $btn->hsOutlineType = $highslide_outline_type; $btn->hsOpacity = $highslide_opacity; $btn->hsCloseButton = $highslide_close_button; $btn->hsFullImg = $highslide_fullimg; $btn->jakDescHeight = $tmpl['jakdescriptionheight']; $btn->jakDescWidth = ''; $btn->jakOrientation = $tmpl['jakorientation']; $btn->jakSlideshowDelay = $tmpl['jakslideshowdelay']; $btn->bpTheme = $paramsC->get('boxplus_theme', 'lightsquare'); $btn->bpBautocenter = (int) $paramsC->get('boxplus_bautocenter', 1); $btn->bpAutofit = (int) $paramsC->get('boxplus_autofit', 1); $btn->bpSlideshow = (int) $paramsC->get('boxplus_slideshow', 0); $btn->bpLoop = (int) $paramsC->get('boxplus_loop', 0); $btn->bpCaptions = $paramsC->get('boxplus_captions', 'bottom'); $btn->bpThumbs = $paramsC->get('boxplus_thumbs', 'inside'); $btn->bpDuration = (int) $paramsC->get('boxplus_duration', 250); $btn->bpTransition = $paramsC->get('boxplus_transition', 'linear'); $btn->bpContextmenu = (int) $paramsC->get('boxplus_contextmenu', 1); $btn->extension = 'Pl'; /* // Window // ======================================================= // DIFFERENT METHODS OF DISPLAYING THE DETAIL VIEW // ======================================================= // MODAL - will be displayed in case e.g. highslide or shadowbox too, because in there are more links JHTML::_('behavior.modal', 'a.modal-button'); if ($cssSbox == '') { $cssSbox .= " #sbox-window {background-color:".$modal_box_border_color.";padding:".$modal_box_border_width."px} \n" ." #sbox-overlay {background-color:".$modal_box_overlay_color.";} \n"; } // BUTTON (IMAGE - standard, modal, shadowbox) $button = new JObject(); $button->set('name', 'image'); // BUTTON (ICON - standard, modal, shadowbox) $button2 = new JObject(); $button2->set('name', 'icon'); // BUTTON OTHER (geotagging, downloadlink, ...) $buttonOther = new JObject(); $buttonOther->set('name', 'other'); $tmpl ['highslideonclick'] = '';// for using with highslide // Random Number - because of more plugins on the site $randName = 'PhocaGalleryPl' . $iCss; $randName2 = 'PhocaGalleryPl2' . $iCss; // ------------------------------------------------------- // STANDARD POPUP // ------------------------------------------------------- if ($tmpl['detail_window'] == 1) { $button->set('methodname', 'js-button'); $button->set('options', "window.open(this.href,'win2','width=".$popup_width.",height=".$popup_height.",scrollbars=yes,menubar=no,resizable=yes'); return false;"); $button->set('optionsrating', "window.open(this.href,'win2','width=".$popup_width.",height=".$popup_height_rating.",scrollbars=yes,menubar=no,resizable=yes'); return false;"); $button2->methodname = &$button->methodname; $button2->options = &$button->options; $buttonOther->methodname = &$button->methodname; $buttonOther->options = &$button->options; $buttonOther->optionsrating = &$button->optionsrating; } // ------------------------------------------------------- // MODAL BOX // ------------------------------------------------------- else if ($tmpl['detail_window'] == 0 || $tmpl['detail_window'] == 2) { // Button $button->set('modal', true); $button->set('methodname', 'modal-button'); $button2->modal = &$button->modal; $button2->methodname = &$button->methodname; $buttonOther->modal = &$button->modal; $buttonOther->methodname = &$button->methodname; // Modal - Image only if ($tmpl['detail_window'] == 2) { $button->set('options', "{handler: 'image', size: {x: 200, y: 150}, overlayOpacity: ".$modal_box_overlay_opacity."}"); $button2->options = &$button->options; $buttonOther->set('options', "{handler: 'iframe', size: {x: ".$popup_width.", y: ".$popup_height."}, overlayOpacity: ".$modal_box_overlay_opacity."}"); $buttonOther->set('optionsrating', "{handler: 'iframe', size: {x: ".$popup_width.", y: ".$popup_height_rating."}, overlayOpacity: ".$modal_box_overlay_opacity."}"); // Modal - Iframe } else { $button->set('options', "{handler: 'iframe', size: {x: ".$popup_width.", y: ".$popup_height."}, overlayOpacity: ".$modal_box_overlay_opacity."}"); $buttonOther->set('optionsrating', "{handler: 'iframe', size: {x: ".$popup_width.", y: ".$popup_height_rating."}, overlayOpacity: ".$modal_box_overlay_opacity."}"); $button2->options = &$button->options; $buttonOther->options = &$button->options; } } // ------------------------------------------------------- // SHADOW BOX // ------------------------------------------------------- else if ($tmpl['detail_window'] == 3) { $sb_slideshow_delay = $paramsC->get( 'sb_slideshow_delay', 5 ); $sb_lang = $paramsC->get( 'sb_lang', 'en' ); $button->set('methodname', 'shadowbox-button-rim'); $button->set('options', "shadowbox[".$randName."];options={slideshowDelay:".$sb_slideshow_delay."}"); $button2->methodname = &$button->methodname; $button2->set('options', "shadowbox[".$randName2."];options={slideshowDelay:".$sb_slideshow_delay."}"); $buttonOther->set('modal', true); $buttonOther->set('methodname', 'modal-button'); $buttonOther->set('options', "{handler: 'iframe', size: {x: ".$popup_width.", y: ".$popup_height."}, overlayOpacity: ".$modal_box_overlay_opacity."}"); $buttonOther->set('optionsrating', "{handler: 'iframe', size: {x: ".$popup_width.", y: ".$popup_height_rating."}, overlayOpacity: ".$modal_box_overlay_opacity."}"); $document->addScript(JURI::base(true).'/components/com_phocagallery/assets/js/shadowbox/shadowbox.js'); if ( $libraries['pg-group-shadowbox']->value == 0 ) { $document->addCustomTag('<script type="text/javascript"> Shadowbox.loadSkin("classic", "'.JURI::base(true).'/components/com_phocagallery/assets/js/shadowbox/src/skin"); Shadowbox.loadLanguage("'.$sb_lang.'", "'.JURI::base(true).'/components/com_phocagallery/assets/js/shadowbox/src/lang"); Shadowbox.loadPlayer(["img"], "'.JURI::base(true).'/components/com_phocagallery/assets/js/shadowbox/src/player"); window.addEvent(\'domready\', function(){ Shadowbox.init() }); </script>'); $library->setLibrary('pg-group-shadowbox', 1); } } // ------------------------------------------------------- // HIGHSLIDE JS // ------------------------------------------------------- else if ($tmpl['detail_window'] == 4) { $button->set('methodname', 'highslide'); $button2->methodname = &$button->methodname; $buttonOther->methodname = &$button->methodname; $document->addScript(JURI::base(true).'/components/com_phocagallery/assets/js/highslide/highslide-full.js'); $document->addStyleSheet(JURI::base(true).'/components/com_phocagallery/assets/js/highslide/highslide.css'); if ( $libraries['pg-group-highslide']->value == 0 ) { $document->addCustomTag( PhocaGalleryRenderFront::renderHighslideJSAll()); $document->addCustomTag('<!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="'.JURI::base(true).'/components/com_phocagallery/assets/js/highslide/highslide-ie6.css" /><![endif]-->'); $library->setLibrary('pg-group-highslide', 1); } $document->addCustomTag( PhocaGalleryRenderFront::renderHighslideJS('pl', $popup_width, $popup_height, $highslide_outline_type, $highslide_opacity)); $tmpl['highslideonclick'] = 'return hs.htmlExpand(this, phocaZoomPl )'; } // ------------------------------------------------------- // HIGHSLIDE JS IMAGE ONLY // ------------------------------------------------------- else if ($tmpl['detail_window'] == 5) { $button->set('methodname', 'highslide'); $button2->methodname = &$button->methodname; $buttonOther->methodname = &$button->methodname; $document->addScript(JURI::base(true).'/components/com_phocagallery/assets/js/highslide/highslide-full.js'); $document->addStyleSheet(JURI::base(true).'/components/com_phocagallery/assets/js/highslide/highslide.css'); if ( $libraries['pg-group-highslide']->value == 0 ) { $document->addCustomTag( PhocaGalleryRenderFront::renderHighslideJSAll()); $document->addCustomTag('<!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="'.JURI::base(true).'/components/com_phocagallery/assets/js/highslide/highslide-ie6.css" /><![endif]-->'); $library->setLibrary('pg-group-highslide', 1); } /* @deprecated for each new plugin (with a new _plugin_number ) there has to be inserted another hs.addslideShow script with another slideshowGroup */ /* if ($libraries['pg-group-highslide-slideshow']->value == 0) { if((int)$highslide_slideshow > 0) { $library->setLibrary('pg-group-highslide-slideshow', 1); } } else { // if we have added the slideshow to plugin code // we cannot add it again $highslide_slideshow = 0; }*/ /* $document->addCustomTag( PhocaGalleryRenderFront::renderHighslideJS('pl', $popup_width, $popup_height, $highslide_slideshow, $highslide_class, $highslide_outline_type, $highslide_opacity, $highslide_close_button)); $tmpl['highslideonclick2'] = 'return hs.htmlExpand(this, phocaZoomPl )'; //$tmpl['highslideonclick'] = 'return hs.expand(this, phocaImageRI )'; $tmpl['highslideonclick'] = PhocaGalleryRenderFront::renderHighslideJSImage('pl', $highslide_class, $highslide_outline_type, $highslide_opacity, $highslide_fullimg); */ /* this would better use addScriptDeclaration, but this would need further changes (-> removing the <script> tags from the return value of renderHighslideJS) */ /* $document->addCustomTag( PhocaGalleryRenderFront::renderHighslideJS('pl', $popup_width, $popup_height, $highslide_slideshow, $highslide_class, $highslide_outline_type, $highslide_opacity, $highslide_close_button, $this->_plugin_number)); $tmpl['highslideonclick2'] = 'return hs.htmlExpand(this, phocaZoomPl )'; //$tmpl['highslideonclick'] = 'return hs.expand(this, phocaImageRI )'; $tmpl['highslideonclick'] = PhocaGalleryRenderFront::renderHighslideJSImage('pl', $highslide_class, $highslide_outline_type, $highslide_opacity, $highslide_fullimg, $this->_plugin_number); } // ------------------------------------------------------- // JAK LIGHTBOX // ------------------------------------------------------- else if ($tmpl['detail_window'] == 6) { $button->set('methodname', 'jaklightbox'); $button2->methodname = &$button->methodname; $buttonOther->set('modal', true); $buttonOther->set('methodname', 'modal-button'); $buttonOther->set('options', "{handler: 'iframe', size: {x: ".$popup_width.", y: ".$popup_height."}, overlayOpacity: ".$modal_box_overlay_opacity."}"); $buttonOther->set('optionsrating', "{handler: 'iframe', size: {x: ".$popup_width.", y: ".$popup_height_rating."}, overlayOpacity: ".$modal_box_overlay_opacity."}"); $document->addScript(JURI::base(true).'/components/com_phocagallery/assets/js/jak/jak_compressed.js'); $document->addScript(JURI::base(true).'/components/com_phocagallery/assets/js/jak/lightbox_compressed.js'); $document->addScript(JURI::base(true).'/components/com_phocagallery/assets/js/jak/jak_slideshow.js'); $document->addScript(JURI::base(true).'/components/com_phocagallery/assets/js/jak/window_compressed.js'); $document->addScript(JURI::base(true).'/components/com_phocagallery/assets/js/jak/interpolator_compressed.js'); $document->addStyleSheet(JURI::base(true).'/components/com_phocagallery/assets/js/jak/lightbox-slideshow.css'); $lHeight = 472 + (int)$tmpl['jakdescriptionheight']; $lcHeight = 10 + (int)$tmpl['jakdescriptionheight']; $customJakTag = ''; if ($tmpl['jakorientation'] == 'horizontal') { $document->addStyleSheet(JURI::base(true).'/components/com_phocagallery/assets/js/jak/lightbox-horizontal.css'); } else if ($tmpl['jakorientation'] == 'vertical'){ $document->addStyleSheet(JURI::base(true).'/components/com_phocagallery/assets/js/jak/lightbox-vertical.css'); $customJakTag .= '.lightBox {height: '.$lHeight.'px;}' .'.lightBox .image-browser-caption { height: '.$lcHeight.'px;}'; } else { $document->addStyleSheet(JURI::base(true).'/components/com_phocagallery/assets/js/jak/lightbox-vertical.css'); $customJakTag .= '.lightBox {height: '.$lHeight.'px;width:800px;}' .'.lightBox .image-browser-caption { height: '.$lcHeight.'px;}' .'.lightBox .image-browser-thumbs { display:none;}' .'.lightBox .image-browser-thumbs div.image-browser-thumb-box { display:none;}'; } if ($customJakTag != '') { $document->addCustomTag("<style type=\"text/css\">\n". $customJakTag. "\n"."</style>"); } //if ( $libraries['pg-group-jak-pl']->value == 0 ) { $document->addCustomTag( PhocaGalleryRenderFront::renderJakJs($tmpl['jakslideshowdelay'], $tmpl['jakorientation'], 'optgjaksPl'.$randName)); // $library->setLibrary('pg-group-jak-pl', 1); //} } // ------------------------------------------------------- // NO POPUP // ------------------------------------------------------- else if ($tmpl['detail_window'] == 7) { $button->set('methodname', 'no-popup'); $button2->methodname = &$button->methodname; $buttonOther->set('modal', true); $buttonOther->set('methodname', 'no-popup'); $buttonOther->set('options', ""); $buttonOther->set('optionsrating', ""); } // ------------------------------------------------------- // SLIMBOX // ------------------------------------------------------- else if ($tmpl['detail_window'] == 8) { $button->set('methodname', 'slimbox'); $button2->methodname = &$button->methodname; $button2->methodname = &$button->methodname; $button2->set('options', "lightbox-images"); $buttonOther->set('modal', true); $buttonOther->set('methodname', 'modal-button'); $buttonOther->set('options', "{handler: 'iframe', size: {x: ".$popup_width.", y: ".$popup_height."}, overlayOpacity: ".$modal_box_overlay_opacity."}"); $buttonOther->set('optionsrating', "{handler: 'iframe', size: {x: ".$popup_width.", y: ".$popup_height_rating."}, overlayOpacity: ".$modal_box_overlay_opacity."}"); $document->addScript(JURI::base(true).'/components/com_phocagallery/assets/js/slimbox/slimbox.js'); $document->addStyleSheet(JURI::base(true).'/components/com_phocagallery/assets/js/slimbox/css/slimbox.css'); } // ------------------------------------------------------- // BOXPLUS (BOXPLUS + BOXPLUS (IMAGE ONLY)) // ------------------------------------------------------- else if ($tmpl['detail_window'] == 9 || $tmpl['detail_window'] == 10) { $language = JFactory::getLanguage(); $button->set('options', 'phocagallerycboxplus'); $button->set('methodname', 'phocagallerycboxplus'); $button2->set('options', "phocagallerycboxplusi"); $button2->set('methodname', 'phocagallerycboxplusi'); $buttonOther->set('methodname', 'phocagallerycboxpluso'); $buttonOther->set('options', "phocagallerycboxpluso"); $buttonOther->set('optionsrating', "phocagallerycboxpluso"); //if ($crossdomain) { // $document->addScript(JURI::base(true).'/components/com_phocagallery/assets/js/boxplus/jsonp.mootools.js'); //} $document->addScript(JURI::base(true).'/components/com_phocagallery/assets/js/boxplus/boxplus.js'); $document->addScript(JURI::base(true).'/components/com_phocagallery/assets/js/boxplus/boxplus.lang.js?lang='.$language->getTag()); $document->addStyleSheet(JURI::base(true).'/components/com_phocagallery/assets/js/boxplus/css/boxplus.css'); if ($language->isRTL()) { $document->addStyleSheet(JURI::base(true).'/components/com_phocagallery/assets/js/boxplus/css/boxplus.rtl.css'); } $document->addCustomTag('<!--[if lt IE 9]><link rel="stylesheet" href="'.JURI::base(true).'/components/com_phocagallery/assets/js/boxplus/css/boxplus.ie8.css" type="text/css" /><![endif]-->'); $document->addCustomTag('<!--[if lt IE 8]><link rel="stylesheet" href="'.JURI::base(true).'/components/com_phocagallery/assets/js/boxplus/css/boxplus.ie7.css" type="text/css" /><![endif]-->'); $document->addStyleSheet(JURI::base(true).'/components/com_phocagallery/assets/js/boxplus/css/boxplus.'.$tmpl['boxplus_theme'].'.css', 'text/css', null, array('title'=>'boxplus-'.$tmpl['boxplus_theme'])); if (file_exists(JPATH_BASE.DS.'components'.DS.'com_phocagallery'.DS.'assets'.DS.'js'.DS.'boxplus'.DS.'css'.DS.'boxplus.'.$tmpl['boxplus_theme'])) { // use IE-specific stylesheet only if it exists $this->addCustomTag('<!--[if lt IE 9]><link rel="stylesheet" href="'.JURI::base(true).'/components/com_phocagallery/assets/js/boxplus/css/boxplus.'.$tmpl['boxplus_theme'].'.ie8.css" type="text/css" title="boxplus-'.$tmpl['boxplus_theme'].'" /><![endif]-->'); } $document->addScriptDeclaration('window.addEvent("domready", function () {'); if ($tmpl['detail_window'] == 10) { // Image $document->addScriptDeclaration('new boxplus($$("a.phocagallerycboxplus"),{"theme":"'.$tmpl['boxplus_theme'].'","autocenter":'.(int)$tmpl['boxplus_bautocenter'].',"autofit":'.(int)$tmpl['boxplus_autofit'].',"slideshow":'.(int)$tmpl['boxplus_slideshow'].',"loop":'.(int)$tmpl['boxplus_loop'].',"captions":"'.$tmpl['boxplus_captions'].'","thumbs":"'.$tmpl['boxplus_thumbs'].'","width":'.(int)$popup_width.',"height":'.(int)$popup_height.',"duration":'.(int)$tmpl['boxplus_duration'].',"transition":"'.$tmpl['boxplus_transition'].'","contextmenu":'.(int)$tmpl['boxplus_contextmenu'].', phocamethod:1});'); // Icon $document->addScriptDeclaration('new boxplus($$("a.phocagallerycboxplusi"),{"theme":"'.$tmpl['boxplus_theme'].'","autocenter":'.(int)$tmpl['boxplus_bautocenter'].',"autofit":'.(int)$tmpl['boxplus_autofit'].',"slideshow":'.(int)$tmpl['boxplus_slideshow'].',"loop":'.(int)$tmpl['boxplus_loop'].',"captions":"'.$tmpl['boxplus_captions'].'","thumbs":"hide","width":'.(int)$popup_width.',"height":'.(int)$popup_height.',"duration":'.(int)$tmpl['boxplus_duration'].',"transition":"'.$tmpl['boxplus_transition'].'","contextmenu":'.(int)$tmpl['boxplus_contextmenu'].', phocamethod:1});'); } else { // Image $document->addScriptDeclaration('new boxplus($$("a.phocagallerycboxplus"),{"theme":"'.$tmpl['boxplus_theme'].'","autocenter":'.(int)$tmpl['boxplus_bautocenter'].',"autofit": false,"slideshow": false,"loop":false,"captions":"none","thumbs":"hide","width":'.(int)$popup_width.',"height":'.(int)$popup_height.',"duration":0,"transition":"linear","contextmenu":false, phocamethod:2});'); // Icon $document->addScriptDeclaration('new boxplus($$("a.phocagallerycboxplusi"),{"theme":"'.$tmpl['boxplus_theme'].'","autocenter":'.(int)$tmpl['boxplus_bautocenter'].',"autofit": false,"slideshow": false,"loop":false,"captions":"none","thumbs":"hide","width":'.(int)$popup_width.',"height":'.(int)$popup_height.',"duration":0,"transition":"linear","contextmenu":false, phocamethod:2});'); } // Other (Map, Info, Download) $document->addScriptDeclaration('new boxplus($$("a.phocagallerycboxpluso"),{"theme":"'.$tmpl['boxplus_theme'].'","autocenter":'.(int)$tmpl['boxplus_bautocenter'].',"autofit": false,"slideshow": false,"loop":false,"captions":"none","thumbs":"hide","width":'.(int)$popup_width.',"height":'.(int)$popup_height.',"duration":0,"transition":"linear","contextmenu":false, phocamethod:2});'); $document->addScriptDeclaration('});'); } */ // Random Number - because of more modules on the site $randName = 'PhocaGalleryPl' . substr(md5(uniqid(time())), 0, 8); //$randName2 = 'PhocaGalleryRIM2' . substr(md5(uniqid(time())), 0, 8); $btn->jakRandName = 'optgjaksPl' . $randName; $btn->setButtons($tmpl['detail_window'], $libraries, $library); $button = $btn->getB1(); $button2 = $btn->getB2(); $buttonOther = $btn->getB3(); //krumo($tmpl['detail_window']); $tmpl['highslideonclick'] = ''; // for using with highslide if (isset($button->highslideonclick)) { $tmpl['highslideonclick'] = $button->highslideonclick; // TODO } $tmpl['highslideonclick2'] = ''; if (isset($button->highslideonclick2)) { $tmpl['highslideonclick2'] = $button->highslideonclick2; // TODO } $folderButton = new JObject(); $folderButton->set('name', 'image'); $folderButton->set('options', ""); // End open window parameters // =============================== // OUTPUT // =============================== $output = ''; $output .= '<div class="phocagallery">' . "\n"; //-------------------------- // DISPLAYING OF CATEGORIES (link doesn't work if there is no menu link) //-------------------------- $hideCat = trim($hide_categories); $hideCatArray = explode(',', $hide_categories); $hideCatSql = ''; if (is_array($hideCatArray)) { foreach ($hideCatArray as $value) { $hideCatSql .= ' AND cc.id != ' . (int) trim($value) . ' '; } } // by vogo $uniqueCatSql = ''; if ($catid > 0) { $uniqueCatSql = ' AND cc.id = ' . $catid . ''; } if ($view == 'categories') { //CATEGORIES $queryc = 'SELECT cc.*, a.catid, COUNT(a.id) AS numlinks,' . ' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(\':\', cc.id, cc.alias) ELSE cc.id END as slug' . ' FROM #__phocagallery_categories AS cc' . ' LEFT JOIN #__phocagallery AS a ON a.catid = cc.id' . ' WHERE a.published = 1' . ' AND cc.published = 1' . ' AND cc.approved = 1' . ' AND a.approved = 1' . $hideCatSql . $uniqueCatSql . ' GROUP BY cc.id' . ' ORDER BY cc.ordering'; //SUBCATEGORIES $querysc = 'SELECT cc.title AS text, cc.id AS value, cc.parent_id as parentid' . ' FROM #__phocagallery_categories AS cc' . ' WHERE cc.published = 1' . ' AND cc.approved = 1' . ' ORDER BY cc.ordering'; $data_outcome = ''; $data_outcome_array = ''; $db->setQuery($queryc); $outcome_data = $db->loadObjectList(); $db->setQuery($querysc); $outcome_subcategories = $db->loadObjectList(); $tree = array(); $text = ''; $tree = PhocaGalleryCategory::CategoryTreeOption($outcome_subcategories, $tree, 0, $text, -1); foreach ($tree as $key => $value) { foreach ($outcome_data as $key2 => $value2) { if ($value->value == $value2->id) { $data_outcome = new JObject(); $data_outcome->id = $value2->id; $data_outcome->parent_id = $value2->parent_id; $data_outcome->title = $value->text; $data_outcome->name = $value2->name; $data_outcome->alias = $value2->alias; $data_outcome->image = $value2->image; $data_outcome->section = $value2->section; $data_outcome->image_position = $value2->image_position; $data_outcome->description = $value2->description; $data_outcome->published = $value2->published; $data_outcome->editor = $value2->editor; $data_outcome->ordering = $value2->ordering; $data_outcome->access = $value2->access; $data_outcome->accessuserid = $value2->accessuserid; $data_outcome->uploaduserid = $value2->uploaduserid; $data_outcome->deleteuserid = $value2->deleteuserid; $data_outcome->count = $value2->count; $data_outcome->params = $value2->params; $data_outcome->catid = $value2->catid; $data_outcome->numlinks = $value2->numlinks; $data_outcome->slug = $value2->slug; $data_outcome->link = ''; $data_outcome->filename = ''; $data_outcome->linkthumbnailpath = ''; $data_outcome->extm = ''; $data_outcome->exts = ''; $data_outcome->extw = ''; $data_outcome->exth = ''; $data_outcome->extid = ''; //FILENAME $queryfn = 'SELECT filename, extm, exts, extw, exth, extid' . ' FROM #__phocagallery' . ' WHERE catid=' . $value2->id . ' AND published = 1' . ' AND approved = 1' . ' ORDER BY ordering LIMIT 1'; $db->setQuery($queryfn); $outcome_filename = $db->loadObjectList(); $data_outcome->filename = $outcome_filename[0]->filename; $data_outcome->extm = $outcome_filename[0]->extm; $data_outcome->exts = $outcome_filename[0]->exts; $data_outcome->extw = $outcome_filename[0]->extw; $data_outcome->exth = $outcome_filename[0]->exth; $data_outcome->extid = $outcome_filename[0]->extid; $data_outcome_array[] = $data_outcome; } } } if ($img_cat == 1) { $medium_image_height = $medium_image_height + 18; $medium_image_width = $medium_image_width + 18; $small_image_width = $small_image_width + 18; $small_image_height = $small_image_height + 18; $output .= '<table border="0">'; foreach ($data_outcome_array as $category) { // ROUTE $category->link = JRoute::_(PhocaGalleryRoute::getCategoryRoute($category->id, $category->alias)); $imgCatSizeHelper = 'small'; $mediumCSS = ''; //'background: url(\''.JURI::base(true).'/media/com_phocagallery/images/shadow1.png\') 50% 50% no-repeat;height:'.$medium_image_height .'px;width:'.$medium_image_width.'px;'; $smallCSS = ''; //'background: url(\''.JURI::base(true).'/media/com_phocagallery/images/shadow3.png\') 50% 50% no-repeat;height:'.$small_image_height .'px;width:'.$small_image_width.'px;'; switch ($img_cat_size) { case 7: case 5: $imageBg = $mediumCSS; break; case 6: case 4: $imageBg = $smallCSS; break; default: $imageBg = ''; break; } // Display Key Icon (in case we want to display unaccessable categories in list view) $rightDisplayKey = 1; // we simulate that we want not to display unaccessable categories // so we get rightDisplayKey = 0 then the key will be displayed if (isset($category)) { //$rightDisplayKey = PhocaGalleryAccess::getUserRight ('accessuserid', $category->accessuserid ,$category->access, $user->get('aid', 0), $user->get('id', 0), 0); $rightDisplayKey = PhocaGalleryAccess::getUserRight('accessuserid', $category->accessuserid, $category->access, $user->getAuthorisedViewLevels(), $user->get('id', 0), 0); } if (isset($category->extid) && $category->extid != '') { $file_thumbnail = PhocaGalleryImageFront::displayCategoriesExtImgOrFolder($category->exts, $category->extm, $category->extw, $category->exth, (int) $img_cat_size, $rightDisplayKey); $category->linkthumbnailpath = $file_thumbnail->rel; $category->extw = $file_thumbnail->extw; $category->exth = $file_thumbnail->exth; $category->extpic = $file_thumbnail->extpic; } else { $file_thumbnail = PhocaGalleryImageFront::displayCategoriesImageOrFolder($category->filename, (int) $img_cat_size, $rightDisplayKey); $category->linkthumbnailpath = $file_thumbnail->rel; } //Output $output .= '<tr>' . '<td align="center" valign="middle" style="' . $imageBg . '"><a href="' . $category->link . '">'; if (isset($category->extpic) && $category->extpic != '') { $correctImageRes = PhocaGalleryPicasa::correctSizeWithRate($category->extw, $category->exth, $tmpl['picasa_correct_width'], $tmpl['picasa_correct_height']); $output .= '<img class="pg-image" src="' . $category->linkthumbnailpath . '" alt="' . $category->title . '" style="border:0" width="' . $correctImageRes['width'] . '" height="' . $correctImageRes['height'] . '" />'; } else { $output .= '<img class="pg-image" src="' . JURI::base(true) . '/' . $category->linkthumbnailpath . '" alt="' . $category->title . '" style="border:0" />'; } $output .= '</a></td>' . '<td><a href="' . $category->link . '" class="category' . $this->params->get('pageclass_sfx') . '">' . $category->title . '</a> ' . '<span class="small">(' . $category->numlinks . ')</span></td>' . '</tr>'; } $output .= '</table>'; } else { $output .= '<ul>'; foreach ($data_outcome_array as $category) { // ROUTE $category->link = JRoute::_(PhocaGalleryRoute::getCategoryRoute($category->id, $category->alias)); $output .= '<li>' . '<a href="' . $category->link . '" class="category' . $this->params->get('pageclass_sfx') . '">' . $category->title . '</a> <span class="small">(' . $category->numlinks . ')</span>' . '</li>'; } $output .= '</ul>'; } } //----------------------- // DISPLAYING OF IMAGES //----------------------- if ($view == 'category') { $where = ''; // Only one image if ($imageid > 0) { $where = ' AND a.id = ' . $imageid; } // Random image if ($imagerandom == 1 && $catid > 0) { $query = 'SELECT id' . ' FROM #__phocagallery' . ' WHERE catid = ' . (int) $catid . ' AND published = 1' . ' AND approved = 1' . ' ORDER BY RAND()'; $db->setQuery($query); $idQuery =& $db->loadObject(); if (!empty($idQuery)) { $where = ' AND a.id = ' . $idQuery->id; } } $limit = ''; // Count of images (LIMIT 0, 20) if ($limitcount > 0) { $limit = ' LIMIT ' . $limitstart . ', ' . $limitcount; } /* $query = 'SELECT *' . ' FROM #__phocagallery' . ' WHERE catid = '.(int) $catid . ' AND published = 1' . $where . ' ORDER BY ordering' . $limit;*/ if ($tmpl['imageordering'] == 9) { $imageOrdering = ' ORDER BY RAND()'; } else { $iOA = PhocaGalleryOrdering::getOrderingString($tmpl['imageordering']); $imageOrdering = $iOA['output']; } $query = 'SELECT cc.id, cc.alias as catalias, a.id, a.catid, a.title, a.alias, a.filename, a.description, a.extm, a.exts, a.extw, a.exth, a.extid, a.extl, a.exto,' . ' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(\':\', cc.id, cc.alias) ELSE cc.id END as catslug, ' . ' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug' . ' FROM #__phocagallery_categories AS cc' . ' LEFT JOIN #__phocagallery AS a ON a.catid = cc.id' . ' WHERE a.catid = ' . (int) $catid . ' AND a.published = 1' . ' AND a.approved = 1' . ' AND cc.published = 1' . ' AND cc.approved = 1' . $where . $imageOrdering . $limit; $db->setQuery($query); $category = $db->loadObjectList(); /* // current category info $query = 'SELECT c.*,' . ' CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(\':\', c.id, c.alias) ELSE c.id END as catslug '. ' FROM #__phocagallery_categories AS c' . ' WHERE c.id = '. (int) $catid; // ' AND c.section = "com_phocagallery"'; $db->setQuery($query, 0, 1); $category_info = $db->loadObject();*/ // Output $iI = 0; foreach ($category as $image) { // PicLens CATEGORY - loaded every time new category will be displayed on the site--------- if ((int) $enable_piclens > 0) { $libName = 'pg-piclens-' . $image->catid; $libraries[$libName] = $library->getLibrary($libName); if ($libraries[$libName]->value == 0) { $document->addCustomTag("<link id=\"phocagallerypiclens\" rel=\"alternate\" href=\"" . JURI::base(true) . "/images/phocagallery/" . $image->catid . ".rss\" type=\"application/rss+xml\" title=\"\" />"); $library->setLibrary($libName, 1); } // PicLens CSS - will be loaded only one time per site $libraries[$libName] = $library->getLibrary('pg-pl-piclens'); if ($libraries['pg-pl-piclens']->value == 0) { $document->addScript('http://lite.piclens.com/current/piclens.js'); $document->addCustomTag("<style type=\"text/css\">\n" . " .mbf-item { display: none; }\n" . " #phocagallery .mbf-item { display: none; }\n" . " </style>\n"); $library->setLibrary('pg-pl-piclens', 1); } } // END PICLENS ----------------------------------------------------------------------------- // PICASA - - - - - if ($image->extw != '') { $extw = explode(',', $image->extw); if ($plugin_type == 1) { $image->extw = $extw[2]; //small } else { if ($plugin_type == 2) { $image->extw = $extw[0]; //large } else { $image->extw = $extw[1]; //medium } } $image->extwswitch = $extw[0]; //used for correcting switch } if ($image->exth != '') { $exth = explode(',', $image->exth); if ($plugin_type == 1) { $image->exth = $exth[2]; //small } else { if ($plugin_type == 2) { $image->exth = $exth[0]; //large } else { $image->exth = $exth[1]; //medium } } $image->exthswitch = $exth[0]; //used for correcting switch } // - - - - - - - - - $image->slug = $image->id . '-' . $image->alias; // Get file thumbnail or No Image $image->linkthumbnailpath = PhocaGalleryImageFront::displayCategoryImageOrNoImage($image->filename, $imgSize); $file_thumbnail = PhocaGalleryFileThumbnail::getThumbnailName($image->filename, $imgSize); $image->linkthumbnailpathabs = $file_thumbnail->abs; // ROUTE //$siteLink = JRoute::_(PhocaGalleryRoute::getImageRoute($image->id, $image->catid, $image->alias, $image->catalias, 'detail', 'tmpl=component&detail='.$tmpl['detail_window'].'&buttons='.$detail_buttons ); // Different links for different actions: image, zoom icon, download icon $thumbLink = PhocaGalleryFileThumbnail::getThumbnailName($image->filename, 'large'); $thumbLinkM = PhocaGalleryFileThumbnail::getThumbnailName($image->filename, 'medium'); // ROUTE if ($tmpl['detail_window'] == 7) { $suffix = 'detail=' . $tmpl['detail_window'] . '&buttons=' . $detail_buttons; } else { $suffix = 'tmpl=component&detail=' . $tmpl['detail_window'] . '&buttons=' . $detail_buttons; } $siteLink = JRoute::_(PhocaGalleryRoute::getImageRoute($image->id, $image->catid, $image->alias, $image->catalias, 'detail', $suffix)); $imgLinkOrig = JURI::base(true) . '/' . PhocaGalleryFile::getFileOriginal($image->filename, 1); $imgLink = $thumbLink->rel; if (isset($image->extid) && $image->extid != '') { $imgLink = $image->extl; $imgLinkOrig = $image->exto; } // Different Link - to all categories if ((int) $tmpl['pluginlink'] == 2) { $siteLink = $imgLinkOrig = $imgLink = PhocaGalleryRoute::getCategoriesRoute(); } else { if ((int) $tmpl['pluginlink'] == 1) { $siteLink = $imgLinkOrig = $imgLink = PhocaGalleryRoute::getCategoryRoute($image->catid, $image->catalias); } } if ($tmpl['detail_window'] == 2) { $image->link = $imgLink; $image->link2 = $imgLink; $image->linkother = $siteLink; $image->linkorig = $imgLinkOrig; } else { if ($tmpl['detail_window'] == 3) { $image->link = $imgLink; $image->link2 = $imgLink; $image->linkother = $siteLink; $image->linkorig = $imgLinkOrig; } else { if ($tmpl['detail_window'] == 5) { $image->link = $imgLink; $image->link2 = $siteLink; $image->linkother = $siteLink; $image->linkorig = $imgLinkOrig; } else { if ($tmpl['detail_window'] == 6) { $image->link = $imgLink; $image->link2 = $imgLink; $image->linkother = $siteLink; $image->linkorig = $imgLinkOrig; // jak data js switch ($tmpl['jakdescription']) { case 0: $descriptionJakJs = ''; break; case 2: $descriptionJakJs = PhocaGalleryText::strTrimAll(addslashes($image->description)); break; case 3: $descriptionJakJs = PhocaGalleryText::strTrimAll(addslashes($image->title)); if ($image->description != '') { $descriptionJakJs .= '<br />' . PhocaGalleryText::strTrimAll(addslashes($image->description)); } break; case 1: default: $descriptionJakJs = PhocaGalleryText::strTrimAll(addslashes($image->title)); break; } $image->linknr = $iI; $tmpl['jakdatajs'][$iI] = "{alt: '" . PhocaGalleryText::strTrimAll(addslashes($image->title)) . "',"; if ($descriptionJakJs != '') { $tmpl['jakdatajs'][$iI] .= "description: '" . $descriptionJakJs . "',"; } else { $tmpl['jakdatajs'][$iI] .= "description: ' ',"; } if (isset($image->extid) && $image->extid != '') { $tmpl['jakdatajs'][$iI] .= "small: {url: '" . $image->extm . "'}," . "big: {url: '" . $image->extl . "'} }"; } else { $tmpl['jakdatajs'][$iI] .= "small: {url: '" . htmlentities(JURI::base(true) . '/' . PhocaGalleryText::strTrimAll(addslashes($thumbLinkM->rel))) . "'}," . "big: {url: '" . htmlentities(JURI::base(true) . '/' . PhocaGalleryText::strTrimAll(addslashes($imgLink))) . "'} }"; } } else { if ($tmpl['detail_window'] == 8) { $image->link = $imgLink; $image->link2 = $imgLink; $image->linkother = $imgLink; $image->linkorig = $imgLinkOrig; } else { if ($tmpl['detail_window'] == 9) { $image->link = $siteLink; $image->link2 = $siteLink; $image->linkother = $siteLink; $image->linkorig = $imgLinkOrig; } else { if ($tmpl['detail_window'] == 10) { $image->link = $imgLink; $image->link2 = $imgLink; $image->linkother = $siteLink; $image->linkorig = $imgLinkOrig; } else { $image->link = $siteLink; $image->link2 = $siteLink; $image->linkother = $siteLink; $image->linkorig = $imgLinkOrig; } } } } } } } // Different types switch ($plugin_type) { case 1: case 2: if (JFile::exists($image->linkthumbnailpathabs)) { list($width, $height) = GetImageSize($image->linkthumbnailpathabs); $imageOrigHeight = $height; $imageOrigWidth = $width; } if ($float == '') { $float = 'left'; } $output .= '<div style="float:' . $float . ';padding:' . (int) $padding_mosaic . 'px;">' . "\n"; $output .= '<a class="' . $button->methodname . '" title="' . $image->title . '" href="' . JRoute::_($image->link) . '"'; if ($tmpl['detail_window'] == 1) { $output .= ' onclick="' . $button->options . '"'; } else { if ($tmpl['detail_window'] == 4 || $tmpl['detail_window'] == 5) { $highSlideOnClick = str_replace('[phocahsfullimg]', $image->linkorig, $tmpl['highslideonclick']); $output .= ' onclick="' . $highSlideOnClick . '"'; } else { if ($tmpl['detail_window'] == 6) { $output .= ' onclick="gjaksMod' . $randName . '.show(' . $image->linknr . '); return false;"'; } else { if ($tmpl['detail_window'] == 7) { $output .= ''; } else { if ($tmpl['detail_window'] == 8) { $output .= ' rel="lightbox-' . $randName . '" '; } else { $output .= ' rel="' . $button->options . '"'; } } } } } $output .= ' >' . "\n"; if (isset($image->extid) && $image->extid != '') { if ($plugin_type == 1) { $correctImageRes = PhocaGalleryPicasa::correctSizeWithRate($image->extw, $image->exth, $small_image_width, $small_image_height); $imgLink = $image->exts; } else { $correctImageRes = PhocaGalleryPicasa::correctSizeWithRate($image->extw, $image->exth, $large_image_width, $large_image_height); $imgLink = $image->extl; } $output .= '<img class="pg-image" src="' . $imgLink . '" alt="' . $image->title . '" width="' . $correctImageRes['width'] . '" height="' . $correctImageRes['height'] . '" />'; } else { $output .= '<img class="pg-image" src="' . JURI::base(true) . '/' . $image->linkthumbnailpath . '" alt="' . $image->title . '" width="' . $imageOrigWidth . '" height="' . $imageOrigHeight . '" />'; } $output .= '</a>'; if ($tmpl['detail_window'] == 5) { if ($tmpl['highslidedescription'] == 1 || $tmpl['highslidedescription'] == 3) { $output .= '<div class="highslide-heading">'; $output .= $image->title; $output .= '</div>'; } if ($tmpl['highslidedescription'] == 2 || $tmpl['highslidedescription'] == 3) { $output .= '<div class="highslide-caption">'; $output .= $image->description; $output .= '</div>'; } } //$output .= '</div>'; break; case 0: default: // Float $float_code = ''; if ($float != '') { $float_code = 'position:relative;float:' . $float . ';'; } // Maximum size of module image is 100 x 100 jimport('joomla.filesystem.file'); $imageWidth['size'] = (int) $medium_image_width; //100; $imageHeight['size'] = (int) $medium_image_height; $imageHeight['boxsize'] = (int) $medium_image_height; $imageWidth['boxsize'] = (int) $medium_image_width + 20; //120; $imageOrigHeight = (int) $medium_image_height; $imageOrigWidth = (int) $medium_image_width; //100; if (isset($image->extid) && $image->extid != '') { list($width, $height) = @getimagesize($image->extm); $correctImageRes = PhocaGalleryPicasa::correctSizeWithRate($image->extw, $image->exth, $medium_image_width, $medium_image_height); $imageOrigWidth = $correctImageRes['width']; $imageOrigHeight = $correctImageRes['height']; } else { if (JFile::exists($image->linkthumbnailpathabs)) { list($width, $height) = GetImageSize($image->linkthumbnailpathabs); $imageHeight = PhocaGalleryImage::correctSize($height, $imageHeight['size'], $imageHeight['boxsize'], 0); $imageWidth = PhocaGalleryImage::correctSize($width, $imageWidth['size'], $imageWidth['boxsize'], 20); $imageOrigHeight = $height; $imageOrigWidth = $width; } } if ((int) $minimum_box_width > 0) { $imageWidth['boxsize'] = $minimum_box_width; } $tmpl['boxsize'] = PhocaGalleryImage::setBoxSize($tmpl, 2); // PARAMS - Background shadow /*if ( $image_background_shadow != 'none' ) { // IE hack $shadowPath = $path->image_abs_front . $image_background_shadow.'.'.$tmpl['formaticon']; $shadowSize = @getimagesize($shadowPath); if (isset($shadowSize[0]) && isset($shadowSize[0])) { $w = (int)$medium_image_width + 18 - (int)$shadowSize[0]; $h = (int)$medium_image_height + 18 - (int)$shadowSize[1]; if ($w != 0) {$w = $w/2;} // plus or minus should be divided, not null if ($h != 0) {$h = $h/2;} } else { $w = $h = 0; } $imageBgCSS = '';//'background: url(\''.JURI::base(true).'/media/com_phocagallery/images/'.$image_background_shadow.'.png\') 50% 50% no-repeat;'; $imageBgCSSIE = '';//'background: url(\''.JURI::base(true).'/media/com_phocagallery/images/'.$image_background_shadow.'.png\') '.$w.'px '.$h.'px no-repeat;'; $imageHeight['size'] = $tmpl['boxsize']['height'] + 18; $imageWidth['size'] = $imageWidth['size'] + 18; } else { $imageBgCSS = '';//'background: '.$image_background_color .';'; $imageBgCSSIE = '';//'background: '.$image_background_color .';'; }*/ $tmpl['boxsize']['height'] = $tmpl['boxsize']['height'] + 18; $tmpl['boxsize']['width'] = $tmpl['boxsize']['width'] + 18; // TODO // After IE will be standard browser (no IE7 will be used) // change $imageBgCSSIE to $imageBgCSS $output .= '<div class="phocagallery-box-file pgplugin' . $iCss . '" style="height:' . $tmpl['boxsize']['height'] . 'px; width:' . $tmpl['boxsize']['width'] . 'px;' . $float_code . 'margin: ' . $margin_box . 'px;padding: ' . $padding_box . 'px;">' . "\n" . '<center>' . "\n" . '<div class="phocagallery-box-file-first" style="height: ' . $imageHeight['size'] . 'px; width: ' . $imageWidth['size'] . 'px;">' . "\n" . '<div class="phocagallery-box-file-second" >' . "\n" . '<div class="phocagallery-box-file-third" >' . "\n" . '<center style="margin-top: 10px;">' . "\n" . '<a class="' . $button->methodname . '"'; if ($enable_overlib == 0) { $output .= ' title="' . $image->title . '"'; } $output .= ' href="' . JRoute::_($image->link) . '"'; // DETAIL WINDOW if ($tmpl['detail_window'] == 1) { $output .= ' onclick="' . $button->options . '"'; } else { if ($tmpl['detail_window'] == 4 || $tmpl['detail_window'] == 5) { $highSlideOnClick = str_replace('[phocahsfullimg]', $image->linkorig, $tmpl['highslideonclick']); $output .= ' onclick="' . $highSlideOnClick . '"'; } else { if ($tmpl['detail_window'] == 6) { $output .= ' onclick="gjaksPl' . $randName . '.show(' . $image->linknr . '); return false;"'; } else { if ($tmpl['detail_window'] == 7) { $output .= ''; } else { if ($tmpl['detail_window'] == 8) { $output .= ' rel="lightbox-' . $randName . '" '; } else { $output .= ' rel="' . $button->options . '"'; } } } } } // Enable the switch image if ($enable_switch == 1) { // Picasa if ($image->extl != '') { if ((int) $switch_width > 0 && (int) $switch_height > 0 && $switch_fixed_size == 1) { // Custom Size $output .= ' onmouseover="PhocaGallerySwitchImage(\'PhocaGalleryobjectPicture\', \'' . $image->extl . '\', ' . $switch_width . ', ' . $switch_height . ');" '; } else { // Picasa Size $correctImageResL = PhocaGalleryPicasa::correctSizeWithRate($image->extwswitch, $image->exthswitch, $switch_width, $switch_height); $output .= ' onmouseover="PhocaGallerySwitchImage(\'PhocaGalleryobjectPicture\', \'' . $image->extl . '\', ' . $correctImageResL['width'] . ', ' . $correctImageResL['height'] . ');" '; // onmouseout="PhocaGallerySwitchImage(\'PhocaGalleryobjectPicture\', \''.$image->extl.'\');" } } else { $switchImg = str_replace('phoca_thumb_m_', 'phoca_thumb_l_', JURI::base(true) . '/' . $image->linkthumbnailpath); if ((int) $switch_width > 0 && (int) $switch_height > 0 && $switch_fixed_size == 1) { $output .= ' onmouseover="PhocaGallerySwitchImage(\'PhocaGalleryobjectPicture\', \'' . $switchImg . '\', ' . $switch_width . ', ' . $switch_height . ');" '; } else { $output .= ' onmouseover="PhocaGallerySwitchImage(\'PhocaGalleryobjectPicture\', \'' . $switchImg . '\');" '; // onmouseout="PhocaGallerySwitchImage(\'PhocaGalleryobjectPicture\', \''.$switchImg.'\');" } } } else { // Overlib if (!empty($image->description)) { $divPadding = 'padding:5px;'; } else { $divPadding = 'padding:0px;margin:0px;'; } $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/overlib/overlib_mini.js'); $opacityPer = $opacityPer = (double) $tmpl['overliboverlayopacity'] * 100; if ($libraries['pg-overlib-group']->value == 0) { $document->addCustomTag("<style type=\"text/css\">\n" . ".bgPhocaClass{\r\n\t\t\t\t\t\t\t\t\t\tbackground:" . $tmpl['olbgcolor'] . ";\r\n\t\t\t\t\t\t\t\t\t\tfilter:alpha(opacity=" . $opacityPer . ");\r\n\t\t\t\t\t\t\t\t\t\topacity: " . $tmpl['overliboverlayopacity'] . ";\r\n\t\t\t\t\t\t\t\t\t\t-moz-opacity:" . $tmpl['overliboverlayopacity'] . ";\r\n\t\t\t\t\t\t\t\t\t\tz-index:1000;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t.fgPhocaClass{\r\n\t\t\t\t\t\t\t\t\t\tbackground:" . $tmpl['olfgcolor'] . ";\r\n\t\t\t\t\t\t\t\t\t\tfilter:alpha(opacity=100);\r\n\t\t\t\t\t\t\t\t\t\topacity: 1;\r\n\t\t\t\t\t\t\t\t\t\t-moz-opacity:1;\r\n\t\t\t\t\t\t\t\t\t\tz-index:1000;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t.fontPhocaClass{\r\n\t\t\t\t\t\t\t\t\t\tcolor:" . $tmpl['oltfcolor'] . ";\r\n\t\t\t\t\t\t\t\t\t\tz-index:1001;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t.capfontPhocaClass, .capfontclosePhocaClass{\r\n\t\t\t\t\t\t\t\t\t\tcolor:" . $tmpl['olcfcolor'] . ";\r\n\t\t\t\t\t\t\t\t\t\tfont-weight:bold;\r\n\t\t\t\t\t\t\t\t\t\tz-index:1001;\r\n\t\t\t\t\t\t\t\t\t\t}" . " </style>\n"); $library->setLibrary('pg-overlib-group', 1); } if (isset($image->extid) && $image->extid != '') { // SIZE WILL BE NOT CORRECTED $oImg = JHTML::_('image', $image->extl, $image->title); } else { $oImg = JHTML::_('image', str_replace('phoca_thumb_m_', 'phoca_thumb_l_', $image->linkthumbnailpath), $image->title); } /* if ($enable_overlib == 1) { $output .= " onmouseover=\"return overlib('".htmlspecialchars( addslashes('<center>' . $oImg . "</center>"))."', CAPTION, '". $image->title."', BELOW, RIGHT, BGCLASS,'bgPhocaClass', FGCOLOR, '".$tmpl['olfgcolor']."', BGCOLOR, '".$tmpl['olbgcolor']."', TEXTCOLOR, '".$tmpl['oltfcolor']."', CAPCOLOR, '".$tmpl['olcfcolor']."');\"" . " onmouseout=\"return nd();\" "; } else if ($enable_overlib == 2){ $image->description = str_replace("\n", '<br />', $image->description); $output .= " onmouseover=\"return overlib('".htmlspecialchars( addslashes('<div style="'.$divPadding.'">'.$image->description.'</div>'))."', CAPTION, '". $image->title."', BELOW, RIGHT, CSSCLASS, TEXTFONTCLASS, 'fontPhocaClass', FGCLASS, 'fgPhocaClass', BGCLASS, 'bgPhocaClass', CAPTIONFONTCLASS,'capfontPhocaClass', CLOSEFONTCLASS, 'capfontclosePhocaClass');\"" . " onmouseout=\"return nd();\" "; } else if ($enable_overlib == 3){ $image->description = str_replace("\n", '<br />', $image->description); $output .= " onmouseover=\"return overlib('".PhocaGalleryText::strTrimAll(htmlspecialchars( addslashes( '<div style="text-align:center"><center>' . $oImg . '</center></div><div style="'.$divPadding.'">' . $image->description . '</div>')))."', CAPTION, '". $image->title."', BELOW, RIGHT, BGCLASS,'bgPhocaClass', FGCLASS,'fgPhocaClass', FGCOLOR, '".$tmpl['olfgcolor']."', BGCOLOR, '".$tmpl['olbgcolor']."', TEXTCOLOR, '".$tmpl['oltfcolor']."', CAPCOLOR, '".$tmpl['olcfcolor']."');\"" . " onmouseout=\"return nd();\" "; }*/ switch ($enable_overlib) { case 1: case 4: $uBy = ''; //Uploaded by ... // TODO /* if ($enable_overlib == 4 && isset($items[$iS]->usernameno) && $items[$iS]->usernameno != '') { $uBy = '<div>' . JText::_('COM_PHOCAGALLERY_UPLOADED_BY') . ' <strong>'.$items[$iS]->usernameno.'</strong></div>'; } */ $output .= " onmouseover=\"return overlib('" . htmlspecialchars(addslashes('<div class="pg-overlib"><center>' . $oImg . "</center></div>" . $uBy)) . "', CAPTION, '" . htmlspecialchars(addslashes($image->title)) . "', BELOW, RIGHT, BGCLASS,'bgPhocaClass', FGCOLOR, '" . $tmpl['olfgcolor'] . "', BGCOLOR, '" . $tmpl['olbgcolor'] . "', TEXTCOLOR, '" . $tmpl['oltfcolor'] . "', CAPCOLOR, '" . $tmpl['olcfcolor'] . "');\"" . " onmouseout=\"return nd();\" "; break; case 2: case 5: $uBy = ''; //Uploaded by ... // TODO /* if ($enable_overlib == 5 && isset($items[$iS]->usernameno) && $items[$iS]->usernameno != '') { $uBy = '<div>' . JText::_('COM_PHOCAGALLERY_UPLOADED_BY') . ' <strong>'.$items[$iS]->usernameno.'</strong></div>'; }*/ $image->description = str_replace("\n", '<br />', $image->description); $output .= " onmouseover=\"return overlib('" . htmlspecialchars(addslashes('<div class="pg-overlib"><div style="' . $divPadding . '">' . $image->description . '</div></div>' . $uBy)) . "', CAPTION, '" . htmlspecialchars(addslashes($image->title)) . "', BELOW, RIGHT, CSSCLASS, TEXTFONTCLASS, 'fontPhocaClass', FGCLASS, 'fgPhocaClass', BGCLASS, 'bgPhocaClass', CAPTIONFONTCLASS,'capfontPhocaClass', CLOSEFONTCLASS, 'capfontclosePhocaClass');\"" . " onmouseout=\"return nd();\" "; break; case 3: case 6: $uBy = ''; //Uploaded by ... // TODO /* if ($enable_overlib == 6 && isset($items[$iS]->usernameno) && $items[$iS]->usernameno != '') { $uBy = '<div>' . JText::_('COM_PHOCAGALLERY_UPLOADED_BY') . ' <strong>'.$items[$iS]->usernameno.'</strong></div>'; }*/ $image->description = str_replace("\n", '<br />', $image->description); $output .= " onmouseover=\"return overlib('" . PhocaGalleryText::strTrimAll(htmlspecialchars(addslashes('<div class="pg-overlib"><div style="text-align:center"><center>' . $oImg . '</center></div><div style="' . $divPadding . '">' . $image->description . '</div></div>' . $uBy))) . "', CAPTION, '" . htmlspecialchars(addslashes($image->title)) . "', BELOW, RIGHT, BGCLASS,'bgPhocaClass', FGCLASS,'fgPhocaClass', FGCOLOR, '" . $tmpl['olfgcolor'] . "', BGCOLOR, '" . $tmpl['olbgcolor'] . "', TEXTCOLOR, '" . $tmpl['oltfcolor'] . "', CAPCOLOR, '" . $tmpl['olcfcolor'] . "');\"" . " onmouseout=\"return nd();\" "; break; default: break; } } // End Overlib $output .= ' >' . "\n"; if (isset($image->extid) && $image->extid != '') { $correctImageRes = PhocaGalleryPicasa::correctSizeWithRate($image->extw, $image->exth, $medium_image_width, $medium_image_height); $output .= '<img class="pg-image" src="' . $image->extm . '" alt="' . $image->title . '" width="' . $correctImageRes['width'] . '" height="' . $correctImageRes['height'] . '" />'; } else { $output .= '<img class="pg-image" src="' . JURI::base(true) . '/' . $image->linkthumbnailpath . '" alt="' . $image->title . '" />'; } if ((int) $enable_piclens > 0) { $output .= '<span class="mbf-item">#phocagallerypiclens ' . $image->catid . '-phocagallerypiclenscode-' . $image->filename . '</span>'; } $output .= '</a>'; if ($tmpl['detail_window'] == 5) { if ($tmpl['highslidedescription'] == 1 || $tmpl['highslidedescription'] == 3) { $output .= '<div class="highslide-heading">'; $output .= $image->title; $output .= '</div>'; } if ($tmpl['highslidedescription'] == 2 || $tmpl['highslidedescription'] == 3) { $output .= '<div class="highslide-caption">'; $output .= $image->description; $output .= '</div>'; } } $output .= '</center>' . "\n" . '</div>' . "\n" . '</div>' . "\n" . '</div>' . "\n" . '</center>' . "\n"; if ($tmpl['display_name'] == 1) { $output .= '<div class="name" style="color: ' . $font_color . ' ;font-size:' . $namefontsize . 'px;margin-top:5px;text-align:center;">' . PhocaGalleryText::wordDelete($image->title, $namenumchar, '...') . '</div>'; } if ($tmpl['display_icon_detail'] == 1 || $tmpl['display_icon_download'] > 0 || $enable_piclens == 2) { $output .= '<div class="detail" style="text-align:right">'; if ($enable_piclens == 2) { $output .= ' <a href="javascript:PicLensLite.start();" title="PicLens" ><img src="http://lite.piclens.com/images/PicLensButton.png" alt="PicLens" width="16" height="12" border="0" style="margin-bottom:2px" /></a>'; } if ($tmpl['display_icon_detail'] == 1) { $output .= ' <a class="' . $button2->methodname . '" title="' . JText::_('PLG_CONTENT_PHOCAGALLERY_IMAGE_DETAIL') . '" href="' . JRoute::_($image->link2) . '"'; // Detail Window if ($tmpl['detail_window'] == 1) { $output .= ' onclick="' . $button2->options . '"'; } else { if ($tmpl['detail_window'] == 2) { $output .= ' rel="' . $button2->options . '"'; } else { if ($tmpl['detail_window'] == 4) { $output .= ' onclick="' . $tmpl['highslideonclick'] . '"'; } else { if ($tmpl['detail_window'] == 5) { $output .= ' onclick="' . $tmpl['highslideonclick2'] . '"'; } else { if ($tmpl['detail_window'] == 6) { $output .= ' onclick="gjaksPl' . $randName . '.show(' . $image->linknr . '); return false;"'; } else { if ($tmpl['detail_window'] == 7) { $output .= ''; } else { if ($tmpl['detail_window'] == 8) { $output .= ' rel="lightbox-' . $randName . '2" '; } else { $output .= ' rel="' . $button2->options . '"'; } } } } } } } $output .= ' >'; $output .= '<img src="' . JURI::base(true) . '/media/com_phocagallery/images/icon-view.png" alt="' . $image->title . '" />'; $output .= '</a>'; } if ($tmpl['display_icon_download'] > 0) { // Direct download set in component if ((int) $tmpl['display_icon_download'] == 2) { //$output .= ' <a title="'. JText::_('PLG_CONTENT_PHOCAGALLERY_IMAGE_DOWNLOAD').'" href="'. JRoute::_($image->linkother . '&phocadownload='.(int)$tmpl['display_icon_download']).'"'; $linkD = PhocaGalleryRoute::getImageRoute($image->id, $image->catid, $image->alias, $image->catalias); $output .= ' <a title="' . JText::_('PLG_CONTENT_PHOCAGALLERY_IMAGE_DOWNLOAD') . '"' . ' href="' . JRoute::_($linkD . '&phocadownload=' . (int) $tmpl['display_icon_download']) . '"'; } else { $linkD = PhocaGalleryRoute::getImageRoute($image->id, $image->catid, $image->alias, $image->catalias); $output .= ' <a class="' . $buttonOther->methodname . '" title="' . JText::_('PLG_CONTENT_PHOCAGALLERY_IMAGE_DOWNLOAD') . '"' . ' href="' . JRoute::_($linkD . '&phocadownload=' . (int) $tmpl['display_icon_download'] . '&tmpl=component') . '"'; /*if ($tmpl['detail_window'] == 1) { $output .= ' onclick="'. $buttonOther->options.'"'; } else if ($tmpl['detail_window'] == 4 ) { $output .= ' onclick="'. $tmpl['highslideonclick'].'"'; } else if ($tmpl['detail_window'] == 5 ) { $output .= ' onclick="'. $tmpl['highslideonclick2'].'"'; } else if ($tmpl['detail_window'] == 7 ) { $output .= ''; } else { $output .= ' rel="'. $buttonOther->options.'"'; }*/ $output .= PhocaGalleryRenderFront::renderAAttributeOther($tmpl['detail_window'], $buttonOther->options, $tmpl['highslideonclick'], $tmpl['highslideonclick2']); } $output .= ' >'; $output .= '<img src="' . JURI::base(true) . '/media/com_phocagallery/images/icon-download.png" alt="' . $image->title . '" />'; $output .= '</a>'; } $output .= '</div>'; if ($float == '') { $output .= '<div style="clear:both"> </div>'; } } break; } $output .= '</div>'; $iI++; } } //-------------------------- // DISPLAYING OF SWITCHIMAGE //-------------------------- if ($view == 'switchimage') { $path = PhocaGalleryPath::getPath(); $waitImage = $path->image_rel . 'icon-switch.gif'; $basicImage = $path->image_rel . 'phoca_thumb_l_no_image.' . $tmpl['formaticon']; if ($basic_image_id > 0) { $query = 'SELECT *' . ' FROM #__phocagallery' . ' WHERE id = ' . (int) $basic_image_id; $db->setQuery($query); $basicImageArray = $db->loadObject(); $switchImage = PhocaGalleryImage::correctSwitchSize($switch_height, $switch_width); if ((int) $switch_width > 0 && (int) $switch_height > 0 && $switch_fixed_size == 1) { $wHArray = array('id' => 'PhocaGalleryobjectPicture', 'border' => '0', 'width' => $switch_width, 'height' => $switch_height); $wHString = ' id="PhocaGalleryobjectPicture" border="0" width="' . $switch_width . '" height="' . $switch_height . '"'; } else { $wHArray = array('id' => 'PhocaGalleryobjectPicture', 'border' => '0'); $wHString = ' id="PhocaGalleryobjectPicture" border="0"'; } if (isset($basicImageArray->extl) && isset($basicImageArray->extid) && $basicImageArray->extid != '') { $basicImage = JHTML::_('image', $basicImageArray->extl, '', $wHArray); } else { if (isset($basicImageArray->filename)) { $fileBasicThumb = PhocaGalleryFileThumbnail::getThumbnailName($basicImageArray->filename, 'large'); $basicImage = JHTML::_('image', $fileBasicThumb->rel, '', $wHString); } else { $basicImage = ''; } } } $document->addCustomTag(PhocaGalleryRenderFront::switchImage($waitImage)); //$switchImage['height'] = $switchImage['height'] + 5; $output .= '<div><center class="main-switch-image" style="margin:0px;padding:7px 5px 7px 5px;margin-bottom:15px;"><table border="0" cellspacing="5" cellpadding="5" style=""><tr><td align="center" valign="middle" style="text-align:center;width:' . $switchImage['width'] . 'px;height:' . $switchImage['height'] . 'px; background: url(\'' . JURI::root() . '/media/com_phocagallery/images/images/icon-switch.gif\') ' . $switchImage['centerw'] . 'px ' . $switchImage['centerh'] . 'px no-repeat;margin:0px;padding:0px;">'; $output .= $basicImage . '</td></tr></table></center></div>'; } else { // Overlib } //-------------------------- // DISPLAYING OF Clear Both //-------------------------- if ($view == 'clearboth') { $output .= '<div style="clear:both"> </div>'; } if ($view == 'clearright') { $output .= '<div style="clear:right"> </div>'; } if ($view == 'clearleft') { $output .= '<div style="clear:left"> </div>'; } $output .= '</div>'; if ($float == '') { $output .= '<div style="clear:both"> </div>'; } if ($tmpl['detail_window'] == 6) { $output .= '<script type="text/javascript">' . 'var gjaksPl' . $randName . ' = new SZN.LightBox(dataJakJsPl' . $randName . ', optgjaksPl' . $randName . ');' . '</script>'; } $article->text = preg_replace($regex_all, $output, $article->text, 1); // ADD JAK DATA CSS style if ($tmpl['detail_window'] == 6) { $scriptJAK = '<script type="text/javascript">' . 'var dataJakJsPl' . $randName . ' = ['; if (!empty($tmpl['jakdatajs'])) { $scriptJAK .= implode($tmpl['jakdatajs'], ','); } $scriptJAK .= ']' . '</script>'; $document->addCustomTag($scriptJAK); } } // CUSTOM CSS - For all items it will be the same if ($libraries['pg-css-sbox-plugin']->value == 0) { $document->addCustomTag("<style type=\"text/css\">\n" . $cssSbox . "\n" . " </style>\n"); $library->setLibrary('pg-css-sbox-plugin', 1); } // All custom CSS tags will be added into one CSS area // if ( $libraries['pg-css-pg-plugin']->value == 0 ) { $document->addCustomTag("<style type=\"text/css\">\n" . $cssPgPlugin . "\n" . " </style>\n"); $library->setLibrary('pg-css-pg-plugin', 1); // } /*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); }*/ } // end if count_matches return true; }
function store($data, $return) { //If this file doesn't exists don't save it if (!PhocaGalleryFile::existsFileOriginal($data['filename'])) { $this->setError('File not exists'); return false; } $data['imgorigsize'] = PhocaGalleryFile::getFileSize($data['filename'], 0); //If there is no title and no alias, use filename as title and alias if (!isset($data['title']) || isset($data['title']) && $data['title'] == '') { $data['title'] = PhocaGalleryFile::getTitleFromFile($data['filename']); } if (!isset($data['alias']) || isset($data['alias']) && $data['alias'] == '') { $data['alias'] = PhocaGalleryFile::getTitleFromFile($data['filename']); } //clean alias name (no bad characters) //$data['alias'] = PhocaGalleryText::getAliasName($data['alias']); if (!isset($data['longitude']) || isset($data['longitude']) && $data['longitude'] == '' || (!isset($data['latitude']) || isset($data['latitude']) && $data['latitude'] == '')) { phocagalleryimport('phocagallery.geo.geo'); $coords = PhocaGalleryGeo::getGeoCoords($data['filename']); if (!isset($data['longitude']) || isset($data['longitude']) && $data['longitude'] == '') { $data['longitude'] = $coords['longitude']; } if (!isset($data['latitude']) || isset($data['latitude']) && $data['latitude'] == '') { $data['latitude'] = $coords['latitude']; } if ((!isset($data['zoom']) || isset($data['zoom']) && $data['zoom'] == '') && $data['longitude'] != '' && $data['latitude'] != '') { $data['zoom'] = PhocaGallerySettings::getAdvancedSettings('geozoom'); } } $row =& $this->getTable('phocagallery', 'Table'); // Bind the form fields to the Phoca gallery table if (!$row->bind($data)) { $this->setError($this->_db->getErrorMsg()); return false; } // Create the timestamp for the date $row->date = gmdate('Y-m-d H:i:s'); // if new item, order last in appropriate group if (!$row->id) { $where = 'catid = ' . (int) $row->catid; $row->ordering = $row->getNextOrder($where); } // Make sure the Phoca gallery table is valid if (!$row->check()) { $this->setError($this->_db->getErrorMsg()); return false; } // Store the Phoca gallery table to the database if (!$row->store()) { $this->setError($this->_db->getErrorMsg()); return false; } //Create thumbnail small, medium, large $returnFrontMessage = PhocaGalleryFileThumbnail::getOrCreateThumbnail($row->filename, $return, 1, 1, 1, 1); if ($returnFrontMessage == 'Success') { return true; } else { return false; } }
public function getMosaicFields($a, $images, $size = 0, $extImg = 0, $w = 100, $h = 100) { if ($size == 1) { $i0 = 'medium'; // | $i1 = 'medium1'; // || $i2 = 'medium2'; // -- $i3 = 'medium3'; // ||-- } else { $i0 = 'small'; // | $i1 = 'small1'; // || $i2 = 'small2'; // -- $i3 = 'small3'; // ||-- } $o = array(); switch ($a) { case 1: if ($extImg == 1) { $o['w'] = (int) $w * 3; $o['h'] = (int) $h; $o['w1'] = (int) $w * 2; $o['w2'] = (int) $w; $wi = $w * 2; $hi = $h * 2; $attr = 'style="width:' . $wi . 'px;height:' . $hi . 'px"'; $wi = $w; $hi = $h; $attr1 = 'style="width:' . $wi . 'px;height:' . $hi . 'px"'; $o['b1'] = '<span class="pg-multi-img"><img src="' . $images[0]->extm . '" ' . $attr . ' alt="" /></span>'; $o['b2'] = '<span class="pg-multi-img"><img src="' . $images[0]->extm . '" ' . $attr1 . ' alt="" /></span>'; } else { $t = PhocaGalleryFileThumbnail::getThumbnailName($images[0]->filename, $i3); $i[0][0] = $t->rel; $t = PhocaGalleryFileThumbnail::getThumbnailName($images[0]->filename, $i0); $iS = getimagesize($t->abs); $i[1][0] = $t->rel; $i[1][1] = $iS[0]; $i[1][2] = $iS[1]; $o['w'] = (int) $i[1][1] * 3; $o['h'] = (int) $i[1][2]; $o['w1'] = (int) $i[1][1] * 2; $o['w2'] = (int) $i[1][1]; $o['b1'] = '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[0][0] . '" alt="" /></span>'; $o['b2'] = '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[1][0] . '" alt="" /></span>'; } return $o; break; case 2: if ($extImg == 1) { $o['w'] = (int) $w * 3; $o['h'] = (int) $h; $o['w1'] = (int) $w * 2; $o['w2'] = (int) $w; $wi = $w * 2; $hi = $h * 2; $attr = 'style="width:' . $wi . 'px;height:' . $hi . 'px"'; $wi = $w; $hi = $h * 2; $attr1 = 'style="width:' . $wi . 'px;height:' . $hi . 'px"'; $o['b1'] = '<span class="pg-multi-img"><img src="' . $images[0]->extm . '" ' . $attr . ' alt="" /></span>'; $o['b2'] = '<span class="pg-multi-img"><img src="' . $images[1]->extm . '" ' . $attr1 . ' alt="" /></span>'; } else { $t = PhocaGalleryFileThumbnail::getThumbnailName($images[0]->filename, $i3); $i[0][0] = $t->rel; $t = PhocaGalleryFileThumbnail::getThumbnailName($images[1]->filename, $i1); $iS = getimagesize($t->abs); $i[1][0] = $t->rel; $i[1][1] = $iS[0]; $i[1][2] = $iS[1]; $o['w'] = (int) $i[1][1] * 3; $o['h'] = (int) $i[1][2]; $o['w1'] = (int) $i[1][1] * 2; $o['w2'] = (int) $i[1][1]; $o['b1'] = '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[0][0] . '" alt="" /></span>'; $o['b2'] = '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[1][0] . '" alt="" /></span>'; } return $o; break; case 3: if ($extImg == 1) { $o['w'] = (int) $w * 3; $o['h'] = (int) $h * 2; $o['w1'] = (int) $w * 2; $o['w2'] = (int) $w; $wi = $w * 2; $hi = $h * 2; $attr = 'style="width:' . $wi . 'px;height:' . $hi . 'px"'; $wi = $w; $hi = $h; $attr1 = 'style="width:' . $wi . 'px;height:' . $hi . 'px"'; $attr2 = 'style="width:' . $wi . 'px;height:' . $hi . 'px"'; $o['b1'] = '<span class="pg-multi-img"><img src="' . $images[0]->extm . '" ' . $attr . ' alt="" /></span>'; $o['b2'] = '<span class="pg-multi-img"><img src="' . $images[1]->extm . '" ' . $attr1 . ' alt="" /></span>' . '<span class="pg-multi-img"><img src="' . $images[2]->extm . '" ' . $attr2 . ' alt="" /></span>'; } else { $t = PhocaGalleryFileThumbnail::getThumbnailName($images[0]->filename, $i3); $i[0][0] = $t->rel; $t = PhocaGalleryFileThumbnail::getThumbnailName($images[1]->filename, $i0); $i[1][0] = $t->rel; $t = PhocaGalleryFileThumbnail::getThumbnailName($images[2]->filename, $i0); $iS = getimagesize($t->abs); $i[2][0] = $t->rel; $i[2][1] = $iS[0]; $i[2][2] = $iS[1]; $o['w'] = (int) $i[2][1] * 3; $o['h'] = (int) $i[2][2] * 2; $o['w1'] = (int) $i[2][1] * 2; $o['w2'] = (int) $i[2][1]; $o['b1'] = '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[0][0] . '" alt="" /></span>'; $o['b2'] = '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[1][0] . '" alt="" /></span>' . '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[2][0] . '" alt="" /></span>'; } return $o; break; case 4: if ($extImg == 1) { $o['w'] = (int) $w * 3; $o['h'] = (int) $h; $o['w1'] = (int) $w; $o['w2'] = (int) $w * 2; $wi = $w; $hi = $h * 2; $attr = 'style="width:' . $wi . 'px;height:' . $hi . 'px"'; $wi = $w * 2; $hi = $h; $attr1 = 'style="width:' . $wi . 'px;height:' . $hi . 'px"'; $attr2 = 'style="width:' . $wi . 'px;height:' . $hi . 'px"'; $o['b1'] = '<span class="pg-multi-img"><img src="' . $images[0]->extm . '" ' . $attr . ' alt="" /></span>'; $o['b2'] = '<span class="pg-multi-img"><img src="' . $images[1]->extm . '" ' . $attr1 . ' alt="" /></span>' . '<span class="pg-multi-img"><img src="' . $images[2]->extm . '" ' . $attr2 . ' alt="" /></span>'; } else { $t = PhocaGalleryFileThumbnail::getThumbnailName($images[0]->filename, $i1); $iS = getimagesize($t->abs); $i[0][0] = $t->rel; $i[0][1] = $iS[0]; $i[0][2] = $iS[1]; $t = PhocaGalleryFileThumbnail::getThumbnailName($images[1]->filename, $i2); $i[1][0] = $t->rel; $t = PhocaGalleryFileThumbnail::getThumbnailName($images[2]->filename, $i2); $i[2][0] = $t->rel; $o['w'] = (int) $i[0][1] * 3; $o['h'] = (int) $i[0][2]; $o['w1'] = (int) $i[0][1]; $o['w2'] = (int) $i[0][1] * 2; $o['b1'] = '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[0][0] . '" alt="" /></span>'; $o['b2'] = '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[1][0] . '" alt="" /></span>' . '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[2][0] . '" alt="" /></span>'; } return $o; break; case 5: if ($extImg == 1) { $o['w'] = (int) $w * 3; $o['h'] = (int) $h * 2; $o['w1'] = (int) $w; $o['w2'] = (int) $w * 2; $wi = $w; $hi = $h * 2; $attr = 'style="width:' . $wi . 'px; height:' . $hi . 'px"'; $wi = $w; $hi = $h; $attr1 = 'style="width:' . $wi . 'px; height:' . $hi . 'px"'; $attr2 = 'style="width:' . $wi . 'px; height:' . $hi . 'px"'; $wi = $w * 2; $hi = $h; $attr3 = 'style="width:' . $wi . 'px; height:' . $hi . 'px"'; $o['b1'] = '<span class="pg-multi-img"><img src="' . $images[0]->extm . '" ' . $attr . ' alt="" /></span>'; $o['b2'] = '<span class="pg-multi-img"><img src="' . $images[1]->extm . '" ' . $attr1 . ' alt="" /></span>' . '<span class="pg-multi-img"><img src="' . $images[2]->extm . '" ' . $attr2 . ' alt="" /></span>' . '<span class="pg-multi-img"><img src="' . $images[3]->extm . '" ' . $attr3 . ' alt="" /></span>'; } else { $t = PhocaGalleryFileThumbnail::getThumbnailName($images[0]->filename, $i1); $iS = getimagesize($t->abs); $i[0][0] = $t->rel; $i[0][1] = $iS[0]; $i[0][2] = $iS[1]; $t = PhocaGalleryFileThumbnail::getThumbnailName($images[1]->filename, $i0); $i[1][0] = $t->rel; $t = PhocaGalleryFileThumbnail::getThumbnailName($images[2]->filename, $i0); $i[2][0] = $t->rel; $t = PhocaGalleryFileThumbnail::getThumbnailName($images[3]->filename, $i2); $i[3][0] = $t->rel; $o['w'] = (int) $i[0][1] * 3; $o['h'] = (int) $i[0][2]; $o['w1'] = (int) $i[0][1]; $o['w2'] = (int) $i[0][1] * 2; $o['b1'] = '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[0][0] . '" alt="" /></span>'; $o['b2'] = '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[1][0] . '" alt="" /></span>' . '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[2][0] . '" alt="" /></span>' . '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[3][0] . '" alt="" /></span>'; } return $o; break; case 6: if ($extImg == 1) { $o['w'] = (int) $w * 3; $o['h'] = (int) $h; $o['w1'] = (int) $w; $o['w2'] = (int) $w * 2; $wi = $w; $hi = $h * 2; $attr = 'width="' . $wi . 'px;height="' . $hi . '"'; $wi = $w; $hi = $h; $attr1 = 'style="width:' . $wi . 'px;height:' . $hi . 'px"'; $attr2 = 'style="width:' . $wi . 'px;height:' . $hi . 'px"'; $attr3 = 'style="width:' . $wi . 'px;height:' . $hi . 'px"'; $attr4 = 'style="width:' . $wi . 'px;height:' . $hi . 'px"'; $o['b1'] = '<span class="pg-multi-img"><img src="' . $images[0]->extm . '" ' . $attr . ' alt="" /></span>'; $o['b2'] = '<span class="pg-multi-img"><img src="' . $images[1]->extm . '" ' . $attr1 . ' alt="" /></span>' . '<span class="pg-multi-img"><img src="' . $images[2]->extm . '" ' . $attr2 . ' alt="" /></span>' . '<span class="pg-multi-img"><img src="' . $images[3]->extm . '" ' . $attr3 . ' alt="" /></span>' . '<span class="pg-multi-img"><img src="' . $images[4]->extm . '" ' . $attr4 . ' alt="" /></span>'; } else { $t = PhocaGalleryFileThumbnail::getThumbnailName($images[0]->filename, $i1); $iS = getimagesize($t->abs); $i[0][0] = $t->rel; $i[0][1] = $iS[0]; $i[0][2] = $iS[1]; $t = PhocaGalleryFileThumbnail::getThumbnailName($images[1]->filename, $i0); $i[1][0] = $t->rel; $t = PhocaGalleryFileThumbnail::getThumbnailName($images[2]->filename, $i0); $i[2][0] = $t->rel; $t = PhocaGalleryFileThumbnail::getThumbnailName($images[3]->filename, $i0); $i[3][0] = $t->rel; $t = PhocaGalleryFileThumbnail::getThumbnailName($images[4]->filename, $i0); $i[4][0] = $t->rel; $o['w'] = (int) $i[0][1] * 3; $o['h'] = (int) $i[0][2]; $o['w1'] = (int) $i[0][1]; $o['w2'] = (int) $i[0][1] * 2; $o['b1'] = '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[0][0] . '" alt="" /></span>'; $o['b2'] = '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[1][0] . '" alt="" /></span>' . '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[2][0] . '" alt="" /></span>' . '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[3][0] . '" alt="" /></span>' . '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[4][0] . '" alt="" /></span>'; } return $o; break; case 7: if ($extImg == 1) { $o['w'] = (int) $w * 3; $o['h'] = (int) $h; $o['w1'] = (int) $w; $o['w2'] = (int) $w * 2; $wi = $w; $hi = $h * 2; $attr = 'style="width:' . $wi . 'px;height:' . $hi . 'px"'; $attr1 = 'style="width:' . $wi . 'px;height:' . $hi . 'px"'; $wi = $w; $hi = $h; $attr2 = 'style="width:' . $wi . 'px;height:' . $hi . 'px"'; $attr3 = 'style="width:' . $wi . 'px;height:' . $hi . 'px"'; $o['b1'] = '<span class="pg-multi-img"><img src="' . $images[0]->extm . '" ' . $attr . ' alt="" /></span>'; $o['b2'] = '<span class="pg-multi-img"><img src="' . $images[1]->extm . '" ' . $attr1 . ' alt="" /></span>' . '<span class="pg-multi-img"><img src="' . $images[2]->extm . '" ' . $attr2 . ' alt="" /></span>' . '<span class="pg-multi-img"><img src="' . $images[3]->extm . '" ' . $attr3 . ' alt="" /></span>'; } else { $t = PhocaGalleryFileThumbnail::getThumbnailName($images[0]->filename, $i1); $iS = getimagesize($t->abs); $i[0][0] = $t->rel; $i[0][1] = $iS[0]; $i[0][2] = $iS[1]; $t = PhocaGalleryFileThumbnail::getThumbnailName($images[1]->filename, $i1); $i[1][0] = $t->rel; $t = PhocaGalleryFileThumbnail::getThumbnailName($images[2]->filename, $i0); $i[2][0] = $t->rel; $t = PhocaGalleryFileThumbnail::getThumbnailName($images[3]->filename, $i0); $i[3][0] = $t->rel; $o['w'] = (int) $i[0][1] * 3; $o['h'] = (int) $i[0][2]; $o['w1'] = (int) $i[0][1]; $o['w2'] = (int) $i[0][1] * 2; $o['b1'] = '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[0][0] . '" alt="" /></span>'; $o['b2'] = '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[1][0] . '" alt="" /></span>' . '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[2][0] . '" alt="" /></span>' . '<span class="pg-multi-img"><img src="' . JURI::base(true) . '/' . $i[3][0] . '" alt="" /></span>'; } return $o; break; } }
function deletethumbs($id) { if ($id > 0) { $query = 'SELECT a.filename as filename' . ' FROM #__phocagallery AS a' . ' WHERE a.id = ' . (int) $id; $this->_db->setQuery($query); $file = $this->_db->loadObject(); if (isset($file->filename) && $file->filename != '') { $deleteThubms = PhocaGalleryFileThumbnail::deleteFileThumbnail($file->filename, 1, 1, 1); if ($deleteThubms) { return true; } else { return false; } } return false; } return false; }
function onPrepareContent(&$article, &$params, $limitstart) { $user =& JFactory::getUser(); $gid = $user->get('aid', 0); $db =& JFactory::getDBO(); $menu =& JSite::getMenu(); $document =& JFactory::getDocument(); // PARAMS - direct from Phoca Gallery Global configuration $component = 'com_phocagallery'; $table =& JTable::getInstance('component'); $table->loadByOption($component); $paramsC = new JParameter($table->params); // LIBRARY $library =& PhocaGalleryLibrary::getLibrary(); $libraries['pg-css-sbox-plugin'] = $library->getLibrary('pg-css-sbox-plugin'); $libraries['pg-css-pg-plugin'] = $library->getLibrary('pg-css-pg-plugin'); $libraries['pg-css-ie'] = $library->getLibrary('pg-css-ie'); $libraries['pg-group-shadowbox'] = $library->getLibrary('pg-group-shadowbox'); $libraries['pg-group-highslide'] = $library->getLibrary('pg-group-highslide'); $libraries['pg-overlib-group'] = $library->getLibrary('pg-overlib-group'); // PicLens CSS and JS will be loaded only one time in the site (pg-pl-piclens) // BUT PicLens Category will be loaded everytime new category should be displayed on the site $libraries['pg-pl-piclens'] = $library->getLibrary('pg-pl-piclens'); // Start Plugin $regex_one = '/({phocagallery\\s*)(.*?)(})/si'; $regex_all = '/{phocagallery\\s*.*?}/si'; $matches = array(); $count_matches = preg_match_all($regex_all, $article->text, $matches, PREG_OFFSET_CAPTURE | PREG_PATTERN_ORDER); $cssPgPlugin = ''; $cssSbox = ''; // Start if count_matches if ($count_matches != 0) { // Start CSS $document->addStyleSheet(JURI::base(true) . '/components/com_phocagallery/assets/phocagallery.css'); for ($i = 0; $i < $count_matches; $i++) { $this->_setPluginNumber(); // Plugin variables $view = ''; $catid = 0; $imageid = 0; $imagerandom = 0; $image_background_shadow = $paramsC->get('image_background_shadow', 'none'); $limitstart = 0; $limitcount = 0; $switch_width = $paramsC->get('switch_width', 640); $switch_height = $paramsC->get('switch_height', 480); $basic_image_id = $paramsC->get('switch_image', 0); $enable_switch = 0; $display_name = $paramsC->get('display_name', 1); $display_icon_detail = $paramsC->get('display_icon_detail', 1); $display_icon_download = $paramsC->get('display_icon_download', 1); $detail_window = $paramsC->get('detail_window', 0); $detail_buttons = $paramsC->get('detail_buttons', 1); $hide_categories = $paramsC->get('hide_categories', ''); $namefontsize = $paramsC->get('font_size_name', 12); $namenumchar = $paramsC->get('char_length_name', 11); $display_description = $paramsC->get('display_description_detail', 0); $description_height = $paramsC->get('description_detail_height', 16); $category_box_space = $paramsC->get('category_box_space', 0); // CSS $font_color = $paramsC->get('font_color', '#b36b00'); $background_color = $paramsC->get('background_color', '#fcfcfc'); $background_color_hover = $paramsC->get('background_color_hover', '#f5f5f5'); $image_background_color = $paramsC->get('image_background_color', '#f5f5f5'); $border_color = $paramsC->get('border_color', '#e8e8e8'); $border_color_hover = $paramsC->get('border_color_hover', '#b36b00'); $highslide_class = $paramsC->get('highslide_class', 'rounded-white'); $highslide_opacity = $paramsC->get('highslide_opacity', 0); $highslide_outline_type = $paramsC->get('highslide_outline_type', 'rounded-white'); $highslide_fullimg = $paramsC->get('highslide_fullimg', 0); $highslide_slideshow = $paramsC->get('highslide_slideshow', 1); $highslide_close_button = $paramsC->get('highslide_close_button', 0); $display_rating_img = $paramsC->get('display_rating_img', 0); $float = ''; $enable_piclens = $paramsC->get('enable_piclens', 0); $enable_overlib = $paramsC->get('enable_oberlib', 0); // Image categories $img_cat = 1; $img_cat_size = 'small'; // Get plugin parameters $phocagallery = $matches[0][$i][0]; preg_match($regex_one, $phocagallery, $phocagallery_parts); $parts = explode("|", $phocagallery_parts[2]); $values_replace = array("/^'/", "/'\$/", "/^'/", "/'\$/", "/<br \\/>/"); foreach ($parts as $key => $value) { $values = explode("=", $value, 2); foreach ($values_replace as $key2 => $values2) { $values = preg_replace($values2, '', $values); } // Get plugin parameters from article if ($values[0] == 'view') { $view = $values[1]; } else { if ($values[0] == 'categoryid') { $catid = $values[1]; } else { if ($values[0] == 'imageid') { $imageid = $values[1]; } else { if ($values[0] == 'imagerandom') { $imagerandom = $values[1]; } else { if ($values[0] == 'imageshadow') { $image_background_shadow = $values[1]; } else { if ($values[0] == 'limitstart') { $limitstart = $values[1]; } else { if ($values[0] == 'limitcount') { $limitcount = $values[1]; } else { if ($values[0] == 'detail') { $detail_window = $values[1]; } else { if ($values[0] == 'displayname') { $display_name = $values[1]; } else { if ($values[0] == 'displaydetail') { $display_icon_detail = $values[1]; } else { if ($values[0] == 'displaydownload') { $display_icon_download = $values[1]; } else { if ($values[0] == 'displaybuttons') { $detail_buttons = $values[1]; } else { if ($values[0] == 'displayratingimg') { $display_rating_img = $values[1]; } else { if ($values[0] == 'namefontsize') { $namefontsize = $values[1]; } else { if ($values[0] == 'namenumchar') { $namenumchar = $values[1]; } else { if ($values[0] == 'displaydescription') { $display_description = $values[1]; } else { if ($values[0] == 'descriptionheight') { $description_height = $values[1]; } else { if ($values[0] == 'hidecategories') { $hide_categories = $values[1]; } else { if ($values[0] == 'boxspace') { $category_box_space = $values[1]; } else { if ($values[0] == 'fontcolor') { $font_color = $values[1]; } else { if ($values[0] == 'bgcolor') { $background_color = $values[1]; } else { if ($values[0] == 'bgcolorhover') { $background_color_hover = $values[1]; } else { if ($values[0] == 'imagebgcolor') { $image_background_color = $values[1]; } else { if ($values[0] == 'bordercolor') { $border_color = $values[1]; } else { if ($values[0] == 'bordercolorhover') { $border_color_hover = $values[1]; } else { if ($values[0] == 'hsclass') { $highslide_class = $values[1]; } else { if ($values[0] == 'hsopacity') { $highslide_opacity = $values[1]; } else { if ($values[0] == 'hsoutlinetype') { $highslide_outline_type = $values[1]; } else { if ($values[0] == 'hsfullimg') { $highslide_fullimg = $values[1]; } else { if ($values[0] == 'hsslideshow') { $highslide_slideshow = $values[1]; } else { if ($values[0] == 'hsclosebutton') { $highslide_close_button = $values[1]; } else { if ($values[0] == 'float') { $float = $values[1]; } else { if ($values[0] == 'imagecategories') { $img_cat = $values[1]; } else { if ($values[0] == 'imagecategoriessize') { $img_cat_size = $values[1]; } else { if ($values[0] == 'switchwidth') { $switch_width = $values[1]; } else { if ($values[0] == 'switchheight') { $switch_height = $values[1]; } else { if ($values[0] == 'basicimageid') { $basic_image_id = $values[1]; } else { if ($values[0] == 'enableswitch') { $enable_switch = $values[1]; } else { if ($values[0] == 'piclens') { $enable_piclens = $values[1]; } else { if ($values[0] == 'overlib') { $enable_overlib = $values[1]; } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } // Every loop of plugin has own number // Add custom CSS for every image (every image can have other CSS, Hover doesn't work in IE6) $iCss = $this->_plugin_number; $cssPgPlugin .= " .pgplugin" . $iCss . " {border:1px solid {$border_color} ; background: {$background_color} ;}\n" . " .pgplugin" . $iCss . ":hover, .pgplugin" . $i . ".hover {border:1px solid {$border_color_hover} ; background: {$background_color_hover} ;}\n"; // PARAMS - direct from Phoca Gallery Global configuration $component = 'com_phocagallery'; $table =& JTable::getInstance('component'); $table->loadByOption($component); $paramsC = new JParameter($table->params); $tmpl['formaticon'] = $paramsC->get('icon_format', 'gif'); $medium_image_width = $paramsC->get('medium_image_width', 100); $medium_image_height = $paramsC->get('medium_image_height', 100); $popup_window_width = $paramsC->get('front_modal_box_width', 680); $popup_window_height = $paramsC->get('front_modal_box_height', 560); $small_image_width = $paramsC->get('small_image_width', 50); $small_image_height = $paramsC->get('small_image_height', 50); if ($display_description == 1) { $popup_window_height = $popup_window_height + $description_height; } // Detail buttons in detail view if ($detail_buttons != 1) { $popup_window_height = $popup_window_height - 45; } if ($display_rating_img == 1) { $popup_window_height = $popup_window_height + 35; } $modal_box_overlay_color = $paramsC->get('modal_box_overlay_color', '#000000'); $modal_box_overlay_opacity = $paramsC->get('modal_box_overlay_opacity', 0.3); $modal_box_border_color = $paramsC->get('modal_box_border_color', '#6b6b6b'); $modal_box_border_width = $paramsC->get('modal_box_border_width', 2); $tmpl['olbgcolor'] = $paramsC->get('ol_bg_color', '#666666'); $tmpl['olfgcolor'] = $paramsC->get('ol_fg_color', '#f6f6f6'); $tmpl['oltfcolor'] = $paramsC->get('ol_tf_color', '#000000'); $tmpl['olcfcolor'] = $paramsC->get('ol_cf_color', '#ffffff'); $tmpl['overliboverlayopacity'] = $paramsC->get('overlib_overlay_opacity', 0.7); // Window // ======================================================= // DIFFERENT METHODS OF DISPLAYING THE DETAIL VIEW // ======================================================= // MODAL - will be displayed in case e.g. highslide or shadowbox too, because in there are more links JHTML::_('behavior.modal', 'a.modal-button'); if ($cssSbox == '') { $cssSbox .= " #sbox-window {background-color:" . $modal_box_border_color . ";padding:" . $modal_box_border_width . "px} \n" . " #sbox-overlay {background-color:" . $modal_box_overlay_color . ";} \n"; } // BUTTON (IMAGE - standard, modal, shadowbox) $button = new JObject(); $button->set('name', 'image'); // BUTTON (ICON - standard, modal, shadowbox) $button2 = new JObject(); $button2->set('name', 'icon'); // BUTTON OTHER (geotagging, downloadlink, ...) $buttonOther = new JObject(); $buttonOther->set('name', 'other'); $tmpl['highslideonclick'] = ''; // for using with highslide // ------------------------------------------------------- // STANDARD POPUP // ------------------------------------------------------- if ($detail_window == 1) { $button->set('methodname', 'js-button'); $button->set('options', "window.open(this.href,'win2','width=" . $popup_window_width . ",height=" . $popup_window_height . ",menubar=no,resizable=yes'); return false;"); $button2->methodname =& $button->methodname; $button2->options =& $button->options; $buttonOther->methodname =& $button->methodname; $buttonOther->options =& $button->options; } else { if ($detail_window == 0 || $detail_window == 2) { // Button $button->set('modal', true); $button->set('methodname', 'modal-button'); $button2->modal =& $button->modal; $button2->methodname =& $button->methodname; $buttonOther->modal =& $button->modal; $buttonOther->methodname =& $button->methodname; // Modal - Image only if ($detail_window == 2) { $button->set('options', "{handler: 'image', size: {x: 200, y: 150}, overlayOpacity: " . $modal_box_overlay_opacity . ", classWindow: 'phocagallery-random-window', classOverlay: 'phocagallery-random-overlay'}"); $button2->options =& $button->options; $buttonOther->set('options', "{handler: 'iframe', size: {x: " . $popup_window_width . ", y: " . $popup_window_height . "}, overlayOpacity: " . $modal_box_overlay_opacity . ", classWindow: 'phocagallery-random-window', classOverlay: 'phocagallery-random-overlay'}"); // Modal - Iframe } else { $button->set('options', "{handler: 'iframe', size: {x: " . $popup_window_width . ", y: " . $popup_window_height . "}, overlayOpacity: " . $modal_box_overlay_opacity . ", classWindow: 'phocagallery-random-window', classOverlay: 'phocagallery-random-overlay'}"); $button2->options =& $button->options; $buttonOther->options =& $button->options; } } else { if ($detail_window == 3) { // Random Number - because of more plugins on the site $randName = 'PhocaGalleryPl' . $iCss; $randName2 = 'PhocaGalleryPl2' . $iCss; $sb_slideshow_delay = $paramsC->get('sb_slideshow_delay', 5); $sb_lang = $paramsC->get('sb_lang', 'en'); $button->set('methodname', 'shadowbox-button-rim'); $button->set('options', "shadowbox[" . $randName . "];options={slideshowDelay:" . $sb_slideshow_delay . "}"); $button2->methodname =& $button->methodname; $button2->set('options', "shadowbox[" . $randName2 . "];options={slideshowDelay:" . $sb_slideshow_delay . "}"); $buttonOther->set('modal', true); $buttonOther->set('methodname', 'modal-button'); $buttonOther->set('options', "{handler: 'iframe', size: {x: " . $popup_window_width . ", y: " . $popup_window_height . "}, overlayOpacity: " . $modal_box_overlay_opacity . ", classWindow: 'phocagallery-random-window', classOverlay: 'phocagallery-random-overlay'}"); $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/js/shadowbox/adapter/shadowbox-mootools.js'); $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/js/shadowbox/shadowbox.js'); if ($libraries['pg-group-shadowbox']->value == 0) { $document->addCustomTag('<script type="text/javascript"> Shadowbox.loadSkin("classic", "' . JURI::base(true) . '/components/com_phocagallery/assets/js/shadowbox/src/skin"); Shadowbox.loadLanguage("' . $sb_lang . '", "' . JURI::base(true) . '/components/com_phocagallery/assets/js/shadowbox/src/lang"); Shadowbox.loadPlayer(["img"], "' . JURI::base(true) . '/components/com_phocagallery/assets/js/shadowbox/src/player"); window.onload = function(){ Shadowbox.init(); } </script>'); $library->setLibrary('pg-group-shadowbox', 1); } } else { if ($detail_window == 4) { $button->set('methodname', 'highslide'); $button2->methodname =& $button->methodname; $buttonOther->methodname =& $button->methodname; $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/js/highslide/highslide-full.js'); $document->addStyleSheet(JURI::base(true) . '/components/com_phocagallery/assets/js/highslide/highslide.css'); if ($libraries['pg-group-highslide']->value == 0) { $document->addCustomTag(PhocaGalleryRenderFront::renderHighslideJSAll()); $document->addCustomTag('<!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="' . JURI::base(true) . '/components/com_phocagallery/assets/js/highslide/highslide-ie6.css" /><![endif]-->'); $library->setLibrary('pg-group-highslide', 1); } $document->addCustomTag(PhocaGalleryRenderFront::renderHighslideJS('pl', $popup_window_width, $popup_window_height, $highslide_outline_type, $highslide_opacity)); $tmpl['highslideonclick'] = 'return hs.htmlExpand(this, phocaZoomPl )'; } else { if ($detail_window == 5) { $button->set('methodname', 'highslide'); $button2->methodname =& $button->methodname; $buttonOther->methodname =& $button->methodname; $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/js/highslide/highslide-full.js'); $document->addStyleSheet(JURI::base(true) . '/components/com_phocagallery/assets/js/highslide/highslide.css'); if ($libraries['pg-group-highslide']->value == 0) { $document->addCustomTag(PhocaGalleryRenderFront::renderHighslideJSAll()); $document->addCustomTag('<!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="' . JURI::base(true) . '/components/com_phocagallery/assets/js/highslide/highslide-ie6.css" /><![endif]-->'); $library->setLibrary('pg-group-highslide', 1); } $document->addCustomTag(PhocaGalleryRenderFront::renderHighslideJS('pl', $popup_window_width, $popup_window_height, $highslide_slideshow, $highslide_class, $highslide_outline_type, $highslide_opacity, $highslide_close_button)); $tmpl['highslideonclick2'] = 'return hs.htmlExpand(this, phocaZoomPl )'; $tmpl['highslideonclick'] = 'return hs.expand(this, phocaImageRI )'; $tmpl['highslideonclick'] = PhocaGalleryRenderFront::renderHighslideJSImage('pl', $highslide_class, $highslide_outline_type, $highslide_opacity, $highslide_fullimg); } } } } } $folderButton = new JObject(); $folderButton->set('name', 'image'); $folderButton->set('options', ""); // End open window parameters // =============================== // OUTPUT // =============================== $output = ''; $output .= '<div class="phocagallery">' . "\n"; //-------------------------- // DISPLAYING OF CATEGORIES (link doesn't work if there is no menu link) //-------------------------- $hideCat = trim($hide_categories); $hideCatArray = explode(';', $hide_categories); $hideCatSql = ''; if (is_array($hideCatArray)) { foreach ($hideCatArray as $value) { $hideCatSql .= ' AND cc.id != ' . (int) trim($value) . ' '; } } // by vogo $uniqueCatSql = ''; if ($catid > 0) { $uniqueCatSql = ' AND cc.id = ' . $catid . ''; } if ($view == 'categories') { //CATEGORIES $queryc = 'SELECT cc.*, a.catid, COUNT(a.id) AS numlinks,' . ' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(\':\', cc.id, cc.alias) ELSE cc.id END as slug' . ' FROM #__phocagallery_categories AS cc' . ' LEFT JOIN #__phocagallery AS a ON a.catid = cc.id' . ' WHERE a.published = 1' . ' AND cc.published = 1' . $hideCatSql . $uniqueCatSql . ' GROUP BY cc.id' . ' ORDER BY cc.ordering'; //SUBCATEGORIES $querysc = 'SELECT cc.title AS text, cc.id AS value, cc.parent_id as parentid' . ' FROM #__phocagallery_categories AS cc' . ' WHERE cc.published = 1' . ' ORDER BY cc.ordering'; $data_outcome = ''; $data_outcome_array = ''; $db->setQuery($queryc); $outcome_data = $db->loadObjectList(); $db->setQuery($querysc); $outcome_subcategories = $db->loadObjectList(); $tree = array(); $text = ''; $tree = PhocaGalleryRenderAdmin::CategoryTreeOption($outcome_subcategories, $tree, 0, $text, -1); foreach ($tree as $key => $value) { foreach ($outcome_data as $key2 => $value2) { if ($value->value == $value2->id) { $data_outcome = new JObject(); $data_outcome->id = $value2->id; $data_outcome->parent_id = $value2->parent_id; $data_outcome->title = $value->text; $data_outcome->name = $value2->name; $data_outcome->alias = $value2->alias; $data_outcome->image = $value2->image; $data_outcome->section = $value2->section; $data_outcome->image_position = $value2->image_position; $data_outcome->description = $value2->description; $data_outcome->published = $value2->published; $data_outcome->editor = $value2->editor; $data_outcome->ordering = $value2->ordering; $data_outcome->access = $value2->access; $data_outcome->accessuserid = $value2->accessuserid; $data_outcome->uploaduserid = $value2->uploaduserid; $data_outcome->deleteuserid = $value2->deleteuserid; $data_outcome->count = $value2->count; $data_outcome->params = $value2->params; $data_outcome->catid = $value2->catid; $data_outcome->numlinks = $value2->numlinks; $data_outcome->slug = $value2->slug; $data_outcome->link = ""; $data_outcome->filename = ""; $data_outcome->linkthumbnailpath = ""; //FILENAME $queryfn = 'SELECT filename AS filename FROM #__phocagallery WHERE catid=' . $value2->id . ' AND published=1 ORDER BY ordering LIMIT 1'; $db->setQuery($queryfn); $outcome_filename = $db->loadObjectList(); $data_outcome->filename = $outcome_filename[0]->filename; $data_outcome_array[] = $data_outcome; } } } if ($img_cat == 1) { $medium_image_height = $medium_image_height + 18; $medium_image_width = $medium_image_width + 18; $small_image_width = $small_image_width + 18; $small_image_height = $small_image_height + 18; $output .= '<table border="0">'; foreach ($data_outcome_array as $category) { // -------------------------------------------------------------- SEF PROBLEM // Is there a Itemid for category $items = $menu->getItems('link', 'index.php?option=com_phocagallery&view=category&id=' . $category->id); $itemscat = $menu->getItems('link', 'index.php?option=com_phocagallery&view=categories'); if (isset($itemscat[0])) { $itemid = $itemscat[0]->id; $category->link = JRoute::_('index.php?option=com_phocagallery&view=category&id=' . $category->slug . '&Itemid=' . $itemid); } else { if (isset($items[0])) { $itemid = $items[0]->id; $category->link = JRoute::_('index.php?option=com_phocagallery&view=category&id=' . $category->slug . '&Itemid=' . $itemid); } else { $itemid = 0; //$category->link = JRoute::_('index.php?option=com_phocagallery&view=category&id='. $category->slug.'&Itemid='.$itemid ); $category->link = JRoute::_('index.php?option=com_phocagallery&view=category&id=' . $category->slug); } } // --------------------------------------------------------------------------------- $imgCatSizeHelper = 'small'; $mediumCSS = 'background: url(\'' . JURI::base(true) . '/components/com_phocagallery/assets/images/shadow1.' . $tmpl['formaticon'] . '\') 50% 50% no-repeat;height:' . $medium_image_height . 'px;width:' . $medium_image_width . 'px;'; $smallCSS = 'background: url(\'' . JURI::base(true) . '/components/com_phocagallery/assets/images/shadow3.' . $tmpl['formaticon'] . '\') 50% 50% no-repeat;height:' . $small_image_height . 'px;width:' . $small_image_width . 'px;'; switch ($img_cat_size) { case 'mediumfoldershadow': $imageBg = $mediumCSS; $imgCatSizeHelper = 7; break; case 'smallfoldershadow': $imageBg = $smallCSS; $imgCatSizeHelper = 6; break; case 'mediumshadow': $imageBg = $mediumCSS; $imgCatSizeHelper = 5; break; case 'smallshadow': $imageBg = $smallCSS; $imgCatSizeHelper = 4; break; case 'mediumfolder': $imageBg = ''; $imgCatSizeHelper = 3; break; case 'smallfolder': default: $imageBg = ''; $imgCatSizeHelper = 2; break; case 'medium': $imageBg = ''; $imgCatSizeHelper = 1; break; case 'small': default: $imageBg = ''; $imgCatSizeHelper = 0; break; } // Display Key Icon (in case we want to display unaccessable categories in list view) $rightDisplayKey = 1; // we simulate that we want not to display unaccessable categories // so we get rightDisplayKey = 0 then the key will be displayed if (isset($category)) { $rightDisplayKey = PhocaGalleryAccess::getUserRight('accessuserid', $category->accessuserid, $category->access, $user->get('aid', 0), $user->get('id', 0), 0); } $file_thumbnail = PhocaGalleryImageFront::displayCategoriesImageOrFolder($category->filename, $imgCatSizeHelper, $rightDisplayKey); $category->linkthumbnailpath = $file_thumbnail->rel; //Output $output .= '<tr>' . '<td align="center" valign="middle" style="' . $imageBg . '"><a href="' . $category->link . '">' . '<img src="' . $category->linkthumbnailpath . '" alt="' . $category->title . '" style="border:0" />' . '</a></td>' . '<td><a href="' . $category->link . '" class="category' . $params->get('pageclass_sfx') . '">' . $category->title . '</a> ' . '<span class="small">(' . $category->numlinks . ')</span></td>' . '</tr>'; } $output .= '</table>'; } else { $output .= '<ul>'; foreach ($data_outcome_array as $category) { // -------------------------------------------------------------- SEF PROBLEM // Is there a Itemid for category $items = $menu->getItems('link', 'index.php?option=com_phocagallery&view=category&id=' . $category->id); $itemscat = $menu->getItems('link', 'index.php?option=com_phocagallery&view=categories'); if (isset($itemscat[0])) { $itemid = $itemscat[0]->id; $category->link = JRoute::_('index.php?option=com_phocagallery&view=category&id=' . $category->slug . '&Itemid=' . $itemid); } else { if (isset($items[0])) { $itemid = $items[0]->id; $category->link = JRoute::_('index.php?option=com_phocagallery&view=category&id=' . $category->slug . '&Itemid=' . $itemid); } else { $itemid = 0; $category->link = JRoute::_('index.php?option=com_phocagallery&view=category&id=' . $category->slug); } } // --------------------------------------------------------------------------------- $output .= '<li>' . '<a href="' . $category->link . '" class="category' . $params->get('pageclass_sfx') . '">' . $category->title . '</a> <span class="small">(' . $category->numlinks . ')</span>' . '</li>'; } $output .= '</ul>'; } } //----------------------- // DISPLAYING OF IMAGES //----------------------- if ($view == 'category') { $where = ''; // Only one image if ($imageid > 0) { $where = ' AND id = ' . $imageid; } // Random image if ($imagerandom == 1 && $catid > 0) { $query = 'SELECT id' . ' FROM #__phocagallery' . ' WHERE catid = ' . (int) $catid . ' AND published = 1' . ' ORDER BY RAND()'; $db->setQuery($query); $idQuery =& $db->loadObject(); if (!empty($idQuery)) { $where = ' AND id = ' . $idQuery->id; } } $limit = ''; // Count of images (LIMIT 0, 20) if ($limitcount > 0) { $limit = ' LIMIT ' . $limitstart . ', ' . $limitcount; } $query = 'SELECT *' . ' FROM #__phocagallery' . ' WHERE catid = ' . (int) $catid . ' AND published = 1' . $where . ' ORDER BY ordering' . $limit; $db->setQuery($query); $category =& $db->loadObjectList(); // current category info $query = 'SELECT c.*,' . ' CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(\':\', c.id, c.alias) ELSE c.id END as slug ' . ' FROM #__phocagallery_categories AS c' . ' WHERE c.id = ' . (int) $catid; // ' AND c.section = "com_phocagallery"'; $db->setQuery($query, 0, 1); $category_info = $db->loadObject(); // Output foreach ($category as $image) { // PicLens CATEGORY - loaded every time new category will be displayed on the site--------- if ((int) $enable_piclens > 0) { $libName = 'pg-piclens-' . $image->catid; $libraries[$libName] = $library->getLibrary($libName); if ($libraries[$libName]->value == 0) { $document->addCustomTag("<link id=\"phocagallerypiclens\" rel=\"alternate\" href=\"" . JURI::base(true) . "/images/phocagallery/" . $image->catid . ".rss\" type=\"application/rss+xml\" title=\"\" />"); $library->setLibrary($libName, 1); } // PicLens CSS - will be loaded only one time per site $libraries[$libName] = $library->getLibrary('pg-pl-piclens'); if ($libraries['pg-pl-piclens']->value == 0) { $document->addScript('http://lite.piclens.com/current/piclens.js'); $document->addCustomTag("<style type=\"text/css\">\n" . " .mbf-item { display: none; }\n" . " #phocagallery .mbf-item { display: none; }\n" . " </style>\n"); $library->setLibrary('pg-pl-piclens', 1); } } // END PICLENS ----------------------------------------------------------------------------- $image->slug = $image->id . '-' . $image->alias; // Get file thumbnail or No Image $image->linkthumbnailpath = PhocaGalleryImageFront::displayImageOrNoImage($image->filename, 'medium'); $file_thumbnail = PhocaGalleryFileThumbnail::getThumbnailName($image->filename, 'medium'); $image->linkthumbnailpathabs = $file_thumbnail->abs; // -------------------------------------------------------------- SEF PROBLEM // Is there a Itemid for category $items = $menu->getItems('link', 'index.php?option=com_phocagallery&view=category&id=' . $category_info->id); $itemscat = $menu->getItems('link', 'index.php?option=com_phocagallery&view=categories'); if (isset($itemscat[0])) { $itemid = $itemscat[0]->id; $siteLink = JRoute::_('index.php?option=com_phocagallery&view=detail&catid=' . $category_info->slug . '&id=' . $image->slug . '&Itemid=' . $itemid . '&tmpl=component&detail=' . $detail_window . '&buttons=' . $detail_buttons); } else { if (isset($items[0])) { $itemid = $items[0]->id; $siteLink = JRoute::_('index.php?option=com_phocagallery&view=detail&catid=' . $category_info->slug . '&id=' . $image->slug . '&Itemid=' . $itemid . '&tmpl=component&detail=' . $detail_window . '&buttons=' . $detail_buttons); } else { $itemid = 0; $siteLink = JRoute::_('index.php?option=com_phocagallery&view=detail&catid=' . $category_info->slug . '&id=' . $image->slug . '&tmpl=component&detail=' . $detail_window . '&buttons=' . $detail_buttons); } } // --------------------------------------------------------------------------------- // Different links for different actions: image, zoom icon, download icon $thumbLink = PhocaGalleryFileThumbnail::getThumbnailName($image->filename, 'large'); $imgLinkOrig = JURI::base(true) . '/' . PhocaGalleryFile::getFileOriginal($image->filename, 1); $imgLink = $thumbLink->rel; if ($detail_window == 2) { $image->link = $imgLink; $image->link2 = $imgLink; $image->linkother = $siteLink; $image->linkorig = $imgLinkOrig; } else { if ($detail_window == 3) { $image->link = $imgLink; $image->link2 = $imgLink; $image->linkother = $siteLink; $image->linkorig = $imgLinkOrig; } else { if ($detail_window == 5) { $image->link = $imgLink; $image->link2 = $siteLink; $image->linkother = $siteLink; $image->linkorig = $imgLinkOrig; } else { $image->link = $siteLink; $image->link2 = $siteLink; $image->linkother = $siteLink; $image->linkorig = $imgLinkOrig; } } } // Float $float_code = ''; if ($float != '') { $float_code = 'position:relative;float:' . $float . ';'; } // Maximum size of module image is 100 x 100 jimport('joomla.filesystem.file'); $imageWidth['size'] = 100; $imageHeight['size'] = 100; $imageHeight['boxsize'] = 100; $imageWidth['boxsize'] = 120; $imageOrigHeight = 100; $imageOrigWidth = 100; if (JFile::exists($image->linkthumbnailpathabs)) { list($width, $height) = GetImageSize($image->linkthumbnailpathabs); $imageHeight = PhocaGalleryImage::correctSize($height, 100, 100, 0); $imageWidth = PhocaGalleryImage::correctSize($width, 100, 120, 20); $imageOrigHeight = $height; $imageOrigWidth = $width; } $imageHeight['boxsize'] = PhocaGalleryImage::setBoxSize($imageHeight, $imageWidth, $display_name, $display_icon_detail, $display_icon_download, 0, 0, 0, 0, 0, 0, 0, 0, $category_box_space, $image_background_shadow, 0); if ($image_background_shadow != 'none') { $imageHeight['size'] = $imageHeight['size'] + 18; $imageWidth['size'] = $imageWidth['size'] + 18; $image_background_color = 'url(\'' . JURI::base(true) . '/components/com_phocagallery/assets/images/' . $image_background_shadow . '.' . $tmpl['formaticon'] . '\') 0 0 no-repeat;'; } $output .= '<div class="phocagallery-box-file pgplugin' . $iCss . '" style="height:' . $imageHeight['boxsize'] . 'px; width:' . $imageWidth['boxsize'] . 'px;' . $float_code . '">' . "\n" . '<center>' . "\n" . '<div class="phocagallery-box-file-first" style="background: ' . $image_background_color . ';height:' . $imageHeight['size'] . 'px;width:' . $imageWidth['size'] . 'px;">' . "\n" . '<div class="phocagallery-box-file-second">' . "\n" . '<div class="phocagallery-box-file-third">' . "\n" . '<center>' . "\n" . '<a class="' . $button->methodname . '" title="' . $image->title . '" href="' . JRoute::_($image->link) . '"'; // DETAIL WINDOW if ($detail_window == 1) { $output .= ' onclick="' . $button->options . '"'; } else { if ($detail_window == 4 || $detail_window == 5) { $highSlideOnClick = str_replace('[phocahsfullimg]', $image->linkorig, $tmpl['highslideonclick']); $output .= ' onclick="' . $highSlideOnClick . '"'; } else { $output .= ' rel="' . $button->options . '"'; } } // Enable the switch image if ($enable_switch == 1) { $output .= ' onmouseover="PhocaGallerySwitchImage(\'PhocaGalleryobjectPicture\', \'' . str_replace('phoca_thumb_m_', 'phoca_thumb_l_', JURI::root() . $image->linkthumbnailpath) . '\');" onmouseout="PhocaGallerySwitchImage(\'PhocaGalleryobjectPicture\', \'' . str_replace('phoca_thumb_m_', 'phoca_thumb_l_', JURI::root() . $image->linkthumbnailpath) . '\');"'; } else { // Overlib if (!empty($image->description)) { $divPadding = 'padding:5px;'; } else { $divPadding = 'padding:0px;margin:0px;'; } $document->addScript(JURI::base(true) . '/includes/js/overlib_mini.js'); $opacityPer = $opacityPer = (double) $tmpl['overliboverlayopacity'] * 100; if ($libraries['pg-overlib-group']->value == 0) { $document->addCustomTag("<style type=\"text/css\">\n" . ".bgPhocaClass{\r\n\t\t\t\t\t\t\t\tbackground:" . $tmpl['olbgcolor'] . ";\r\n\t\t\t\t\t\t\t\tfilter:alpha(opacity=" . $opacityPer . ");\r\n\t\t\t\t\t\t\t\topacity: " . $tmpl['overliboverlayopacity'] . ";\r\n\t\t\t\t\t\t\t\t-moz-opacity:" . $tmpl['overliboverlayopacity'] . ";\r\n\t\t\t\t\t\t\t\tz-index:1000;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t.fgPhocaClass{\r\n\t\t\t\t\t\t\t\tbackground:" . $tmpl['olfgcolor'] . ";\r\n\t\t\t\t\t\t\t\tfilter:alpha(opacity=100);\r\n\t\t\t\t\t\t\t\topacity: 1;\r\n\t\t\t\t\t\t\t\t-moz-opacity:1;\r\n\t\t\t\t\t\t\t\tz-index:1000;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t.fontPhocaClass{\r\n\t\t\t\t\t\t\t\tcolor:" . $tmpl['oltfcolor'] . ";\r\n\t\t\t\t\t\t\t\tz-index:1001;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t.capfontPhocaClass, .capfontclosePhocaClass{\r\n\t\t\t\t\t\t\t\tcolor:" . $tmpl['olcfcolor'] . ";\r\n\t\t\t\t\t\t\t\tfont-weight:bold;\r\n\t\t\t\t\t\t\t\tz-index:1001;\r\n\t\t\t\t\t\t\t\t}" . " </style>\n"); $library->setLibrary('pg-overlib-group', 1); } if ($enable_overlib == 1) { $output .= " onmouseover=\"return overlib('" . htmlspecialchars(addslashes('<center>' . JHTML::_('image.site', str_replace('phoca_thumb_m_', 'phoca_thumb_l_', $image->linkthumbnailpath), '', '', '', $image->title) . "</center>")) . "', CAPTION, '" . $image->title . "', BELOW, RIGHT, BGCLASS,'bgPhocaClass', FGCOLOR, '" . $tmpl['olfgcolor'] . "', BGCOLOR, '" . $tmpl['olbgcolor'] . "', TEXTCOLOR, '" . $tmpl['oltfcolor'] . "', CAPCOLOR, '" . $tmpl['olcfcolor'] . "');\"" . " onmouseout=\"return nd();\" "; } else { if ($enable_overlib == 2) { $image->description = str_replace("\n", '<br />', $image->description); $output .= " onmouseover=\"return overlib('" . htmlspecialchars(addslashes('<div style="' . $divPadding . '">' . $image->description . '</div>')) . "', CAPTION, '" . $image->title . "', BELOW, RIGHT, CSSCLASS, TEXTFONTCLASS, 'fontPhocaClass', FGCLASS, 'fgPhocaClass', BGCLASS, 'bgPhocaClass', CAPTIONFONTCLASS,'capfontPhocaClass', CLOSEFONTCLASS, 'capfontclosePhocaClass');\"" . " onmouseout=\"return nd();\" "; } else { if ($enable_overlib == 3) { $image->description = str_replace("\n", '<br />', $image->description); $output .= " onmouseover=\"return overlib('" . PhocaGalleryText::strTrimAll(htmlspecialchars(addslashes('<div style="text-align:center"><center>' . JHTML::_('image.site', str_replace('phoca_thumb_m_', 'phoca_thumb_l_', $image->linkthumbnailpath), '', '', '', $image->title) . '</center></div><div style="' . $divPadding . '">' . $image->description . '</div>'))) . "', CAPTION, '" . $image->title . "', BELOW, RIGHT, BGCLASS,'bgPhocaClass', FGCLASS,'fgPhocaClass', FGCOLOR, '" . $tmpl['olfgcolor'] . "', BGCOLOR, '" . $tmpl['olbgcolor'] . "', TEXTCOLOR, '" . $tmpl['oltfcolor'] . "', CAPCOLOR, '" . $tmpl['olcfcolor'] . "');\"" . " onmouseout=\"return nd();\" "; } } } } // End Overlib $output .= ' >' . "\n"; $output .= '<img src="' . $image->linkthumbnailpath . '" alt="' . $image->title . '" />'; if ((int) $enable_piclens > 0) { $output .= '<span class="mbf-item">#phocagallerypiclens ' . $image->catid . '-phocagallerypiclenscode-' . $image->filename . '</span>'; } $output .= '</a>' . '</center>' . "\n" . '</div>' . "\n" . '</div>' . "\n" . '</div>' . "\n" . '</center>' . "\n"; if ($display_name == 1) { $output .= '<div class="name" style="color: ' . $font_color . ' ;font-size:' . $namefontsize . 'px;margin-top:5px;text-align:center;">' . PhocaGalleryText::wordDelete($image->title, $namenumchar, '...') . '</div>'; } if ($display_icon_detail == 1 || $display_icon_download == 1 || $enable_piclens == 2) { $output .= '<div class="detail" style="text-align:right">'; if ($enable_piclens == 2) { $output .= ' <a href="javascript:PicLensLite.start();" title="PicLens" ><img src="http://lite.piclens.com/images/PicLensButton.png" alt="PicLens" width="16" height="12" border="0" style="margin-bottom:2px" /></a>'; } if ($display_icon_detail == 1) { $output .= ' <a class="' . $button->methodname . '" title="' . JText::_('Image Detail') . '" href="' . JRoute::_($image->link2) . '"'; // Detail Window if ($detail_window == 1) { $output .= ' onclick="' . $button->options . '"'; } else { if ($detail_window == 2) { $output .= ' rel="' . $button->options . '"'; } else { if ($detail_window == 4) { $output .= ' onclick="' . $tmpl['highslideonclick'] . '"'; } else { if ($detail_window == 5) { $output .= ' onclick="' . $tmpl['highslideonclick2'] . '"'; } else { $output .= ' rel="' . $button2->options . '"'; } } } } $output .= ' >'; $output .= '<img src="components/com_phocagallery/assets/images/icon-view.' . $tmpl['formaticon'] . '" alt="' . $image->title . '" />'; $output .= '</a>'; } if ($display_icon_download == 1) { $output .= ' <a class="' . $button->methodname . '" title="' . JText::_('Image Download') . '" href="' . JRoute::_($image->linkother . '&phocadownload=1') . '"'; // Detail Window if ($detail_window == 1) { $output .= ' onclick="' . $buttonOther->options . '"'; } else { if ($detail_window == 4) { $output .= ' onclick="' . $tmpl['highslideonclick'] . '"'; } else { if ($detail_window == 5) { $output .= ' onclick="' . $tmpl['highslideonclick2'] . '"'; } else { $output .= ' rel="' . $buttonOther->options . '"'; } } } $output .= ' >'; $output .= '<img src="components/com_phocagallery/assets/images/icon-download.' . $tmpl['formaticon'] . '" alt="' . $image->title . '" />'; $output .= '</a>'; } $output .= '</div>'; if ($float == '') { $output .= '<div style="clear:both"> </div>'; } } $output .= '</div>'; } } //-------------------------- // DISPLAYING OF SWITCHIMAGE //-------------------------- if ($view == 'switchimage') { $path = PhocaGalleryPath::getPath(); $waitImage = $path->image_rel . 'icon-switch.gif'; $basicImage = $path->image_rel . 'phoca_thumb_l_no_image.' . $tmpl['formaticon']; if ($basic_image_id > 0) { $query = 'SELECT *' . ' FROM #__phocagallery' . ' WHERE id = ' . (int) $basic_image_id; $db->setQuery($query); $basicImageArray =& $db->loadObject(); if (isset($basicImageArray->filename)) { $fileBasicThumb = PhocaGalleryFileThumbnail::getThumbnailName($basicImageArray->filename, 'large'); $basicImage = $fileBasicThumb->rel; } else { $basicImage = ''; } } $switchHeight = $switch_height; //$this->switchheight; $switchCenterH = $switchHeight / 2 - 18; $switchWidth = $switch_width; //$this->switchwidth; $switchCenterW = $switchWidth / 2 - 18; $document->addCustomTag(PhocaGalleryRenderFront::switchImage($waitImage)); $switchHeight = $switchHeight + 5; $output .= '<div><center class="main-switch-image" style="margin:0px;padding:7px 5px 7px 5px;margin-bottom:15px;"><table border="0" cellspacing="5" cellpadding="5" style="border:1px solid #c2c2c2;"><tr><td align="center" valign="middle" style="text-align:center;width:' . $switchWidth . 'px;height:' . $switchHeight . 'px; background: url(\'' . JURI::root() . 'components/com_phocagallery/assets/images/icon-switch.gif\') ' . $switchCenterW . 'px ' . $switchCenterH . 'px no-repeat;margin:0px;padding:0px;"> ' . JHTML::_('image.site', $basicImage, '', '', '', '', ' id="PhocaGalleryobjectPicture" border="0"') . ' </td></tr></table></center></div>'; } else { // Overlib } //-------------------------- // DISPLAYING OF Clear Both //-------------------------- if ($view == 'clearboth') { $output .= '<div style="clear:both"> </div>'; } if ($view == 'clearright') { $output .= '<div style="clear:right"> </div>'; } if ($view == 'clearleft') { $output .= '<div style="clear:left"> </div>'; } $output .= '</div>'; if ($float == '') { $output .= '<div style="clear:both"> </div>'; } $article->text = preg_replace($regex_all, $output, $article->text, 1); } // CUSTOM CSS - For all items it will be the same if ($libraries['pg-css-sbox-plugin']->value == 0) { $document->addCustomTag("<style type=\"text/css\">\n" . $cssSbox . "\n" . " </style>\n"); $library->setLibrary('pg-css-sbox-plugin', 1); } // All custom CSS tags will be added into one CSS area if ($libraries['pg-css-pg-plugin']->value == 0) { $document->addCustomTag("<style type=\"text/css\">\n" . $cssPgPlugin . "\n" . " </style>\n"); $library->setLibrary('pg-css-pg-plugin', 1); } 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); } } // end if count_matches return true; }
function cooliris($cids, &$message) { $db = JFactory::getDBO(); $path = PhocaGalleryPath::getPath(); $piclensImg = $path->image_rel_front . 'icon-phocagallery.png'; $paramsC = JComponentHelper::getParams('com_phocagallery'); jimport('joomla.filesystem.file'); jimport('joomla.filesystem.folder'); // PARAMS // original 0, thumbnail 1 $cooliris_image = $paramsC->get('piclens_image', 1); if (JFolder::exists($path->image_abs)) { foreach ($cids as $kcid => $vcid) { $xml = '<?xml version="1.0" encoding="utf-8" standalone="yes"?>' . "\n"; $xml .= '<rss xmlns:media="http://search.yahoo.com/mrss" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">' . "\n"; $xml .= ' <channel>' . "\n"; $xml .= ' <atom:icon>' . JURI::root() . $piclensImg . '</atom:icon>' . "\n\n"; $xml .= ' <title>Phoca Gallery</title>' . "\n"; $xml .= ' <link>http://www.phoca.cz/</link>' . "\n"; $xml .= ' <description>Phoca Gallery</description>' . "\n"; $query = 'SELECT a.id, a.title, a.filename, a.description, a.extid, a.extl, a.exto' . ' FROM #__phocagallery AS a' . ' WHERE a.catid = ' . (int) $vcid . ' AND a.published = 1' . ' ORDER BY a.catid, a.ordering'; $db->setQuery($query); $rows = $db->loadObjectList(); foreach ($rows as $krow => $vrow) { $file = PhocaGalleryFileThumbnail::getOrCreateThumbnail($vrow->filename, ''); $thumbFile = str_replace("administrator", "", $file['thumb_name_l_no_rel']); $origFile = str_replace("administrator", "", $file['name_original_rel']); $xml .= ' <item>' . "\n"; $xml .= ' <title>' . $vrow->title . '</title>' . "\n"; if ($vrow->extid != '') { $xml .= '<link>' . $vrow->extl . '</link>' . "\n"; } else { $xml .= ' <link>' . JURI::root() . $thumbFile . '</link>' . "\n"; } $xml .= ' <description>' . JFilterOutput::cleanText(strip_tags($vrow->description)) . '</description>' . "\n"; if ($vrow->extid != '') { $xml .= ' <media:thumbnail url="' . $vrow->extl . '" />' . "\n"; if ($cooliris_image == 1) { $xml .= ' <media:content url="' . $vrow->extl . '" />' . "\n"; } else { $xml .= ' <media:content url="' . $vrow->exto . '" />' . "\n"; } } else { $xml .= ' <media:thumbnail url="' . JURI::root() . $thumbFile . '" />' . "\n"; if ($cooliris_image == 1) { $xml .= ' <media:content url="' . JURI::root() . $thumbFile . '" />' . "\n"; } else { $xml .= ' <media:content url="' . JURI::root() . $origFile . '" />' . "\n"; } } if ($vrow->extid != '') { $xml .= ' <guid isPermaLink="false">' . $vcid . '-phocagallerypiclenscode-' . $vrow->extid . '</guid>' . "\n"; } else { $xml .= ' <guid isPermaLink="false">' . $vcid . '-phocagallerypiclenscode-' . $vrow->filename . '</guid>' . "\n"; } $xml .= ' </item>' . "\n\n"; } $xml .= ' </channel>' . "\n"; $xml .= '</rss>' . "\n"; ob_start(); echo $xml; $xmlToWrite = ob_get_contents(); ob_end_clean(); if (!JFile::write($path->image_abs . DS . $vcid . '.rss', $xmlToWrite)) { $message = 'COM_PHOCAGALLERY_ERROR_SAVING_RSS'; return false; } } return true; } else { $message = 'COM_PHOCAGALLERY_ERROR_IMAGE_FOLDER_NOT_EXIST'; return false; } }
function display($tpl = null) { $app = JFactory::getApplication(); $document = JFactory::getDocument(); $uri = JFactory::getURI(); //$menus = JSite::getMenu(); $menus = JFactory::getApplication()->getMenu(); $menu = $menus->getActive(); $this->params = $app->getParams(); $this->tmpl['user'] = JFactory::getUser(); $this->tmpl['action'] = $uri->toString(); $path = PhocaGalleryPath::getPath(); $limitStart = JRequest::getVar('limitstart', 0, '', 'int'); $id = JRequest::getVar('id', 0, '', 'int'); $this->tagId = JRequest::getVar('tagid', 0, '', 'int'); $this->tmpl['tab'] = JRequest::getVar('tab', 0, '', 'int'); $this->tmpl['formaticon'] = PhocaGalleryImage::getFormatIcon(); $this->tmpl['pl'] = 'index.php?option=com_users&view=login&return=' . base64_encode($uri->toString()); $neededAccessLevels = PhocaGalleryAccess::getNeededAccessLevels(); $access = PhocaGalleryAccess::isAccess($this->tmpl['user']->authorisedLevels(), $neededAccessLevels); // LIBRARY $library =& PhocaGalleryLibrary::getLibrary(); $libraries['pg-group-shadowbox'] = $library->getLibrary('pg-group-shadowbox'); $libraries['pg-group-highslide'] = $library->getLibrary('pg-group-highslide'); $libraries['pg-group-jak'] = $library->getLibrary('pg-group-jak'); // PARAMS $this->tmpl['displaycatnametitle'] = $this->params->get('display_cat_name_title', 1); $display_cat_name_breadcrumbs = $this->params->get('display_cat_name_breadcrumbs', 1); $image_background_color = $this->params->get('image_background_color', '#f5f5f5'); $this->tmpl['displayimageshadow'] = $this->params->get('image_background_shadow', 'shadow1'); $this->tmpl['imagewidth'] = $this->params->get('medium_image_width', 100); $this->tmpl['imageheight'] = $this->params->get('medium_image_height', 100); $popup_width = $this->params->get('front_modal_box_width', 680); $popup_height = $this->params->get('front_modal_box_height', 560); $this->tmpl['olbgcolor'] = $this->params->get('ol_bg_color', '#666666'); $this->tmpl['olfgcolor'] = $this->params->get('ol_fg_color', '#f6f6f6'); $this->tmpl['oltfcolor'] = $this->params->get('ol_tf_color', '#000000'); $this->tmpl['olcfcolor'] = $this->params->get('ol_cf_color', '#ffffff'); $this->tmpl['maxuploadchar'] = $this->params->get('max_upload_char', 1000); $this->tmpl['maxcommentchar'] = $this->params->get('max_comment_char', 1000); $this->tmpl['maxcreatecatchar'] = $this->params->get('max_create_cat_char', 1000); $this->tmpl['commentwidth'] = $this->params->get('comment_width', 500); $this->tmpl['displayrating'] = $this->params->get('display_rating', 0); $this->tmpl['displayratingimg'] = $this->params->get('display_rating_img', 0); $this->tmpl['displaycomment'] = $this->params->get('display_comment', 0); $this->tmpl['displaycommentimg'] = $this->params->get('display_comment_img', 0); $this->tmpl['displaysubcategory'] = $this->params->get('display_subcategory', 1); $this->tmpl['displaycategorygeotagging'] = $this->params->get('display_category_geotagging', 0); $this->tmpl['displaycategorystatistics'] = $this->params->get('display_category_statistics', 0); // Used for Highslide JS (only image) $this->tmpl['displaydescriptiondetail'] = $this->params->get('display_description_detail', 0); $this->tmpl['displaytitleindescription'] = $this->params->get('display_title_description', 0); $this->tmpl['displayname'] = $this->params->get('display_name', 1); $this->tmpl['displayicondetail'] = $this->params->get('display_icon_detail', 1); $this->tmpl['displayicondownload'] = $this->params->get('display_icon_download', 2); $this->tmpl['displayiconfolder'] = $this->params->get('display_icon_folder', 0); $this->tmpl['displayiconvm'] = $this->params->get('display_icon_vm', 0); $this->tmpl['fontsizename'] = $this->params->get('font_size_name', 12); $this->tmpl['fontsizeimgdesc'] = $this->params->get('font_size_img_desc', 10); $this->tmpl['imgdescboxheight'] = $this->params->get('img_desc_box_height', 30); $this->tmpl['displayimgdescbox'] = $this->params->get('display_img_desc_box', 0); $this->tmpl['charlengthimgdesc'] = $this->params->get('char_length_img_desc', 300); $this->tmpl['charlengthname'] = $this->params->get('char_length_name', 15); $this->tmpl['displayicongeo'] = $this->params->get('display_icon_geotagging', 0); // Check the category $this->tmpl['displayicongeoimage'] = $this->params->get('display_icon_geotagging', 0); // Check the image $this->tmpl['displaycamerainfo'] = $this->params->get('display_camera_info', 0); $this->tmpl['displaypage'] = PhocaGalleryRenderInfo::getPhocaIc((int) $this->params->get('display_phoca_info', 1)); $this->tmpl['switchimage'] = $this->params->get('switch_image', 0); $this->tmpl['switchheight'] = $this->params->get('switch_height', 480); $this->tmpl['switchwidth'] = $this->params->get('switch_width', 640); $this->tmpl['switchfixedsize'] = $this->params->get('switch_fixed_size', 0); // PARAMS - Upload $this->tmpl['multipleuploadchunk'] = $this->params->get('multiple_upload_chunk', 0); $this->tmpl['displaytitleupload'] = $this->params->get('display_title_upload', 0); $this->tmpl['displaydescupload'] = $this->params->get('display_description_upload', 0); $this->tmpl['enablejava'] = $this->params->get('enable_java', 0); $this->tmpl['enablemultiple'] = $this->params->get('enable_multiple', 0); $this->tmpl['multipleuploadmethod'] = $this->params->get('multiple_upload_method', 1); $this->tmpl['multipleresizewidth'] = $this->params->get('multiple_resize_width', -1); $this->tmpl['multipleresizeheight'] = $this->params->get('multiple_resize_height', -1); $this->tmpl['javaboxwidth'] = $this->params->get('java_box_width', 480); $this->tmpl['javaboxheight'] = $this->params->get('java_box_height', 480); $this->tmpl['large_image_width'] = $this->params->get('large_image_width', 640); $this->tmpl['large_image_height'] = $this->params->get('large_image_height', 640); $this->tmpl['uploadmaxsize'] = $this->params->get('upload_maxsize', 3145728); $this->tmpl['uploadmaxsizeread'] = PhocaGalleryFile::getFileSizeReadable($this->tmpl['uploadmaxsize']); $this->tmpl['uploadmaxreswidth'] = $this->params->get('upload_maxres_width', 3072); $this->tmpl['uploadmaxresheight'] = $this->params->get('upload_maxres_height', 2304); $this->tmpl['phocagallerywidth'] = $this->params->get('phocagallery_width', ''); $this->tmpl['phocagallerycenter'] = $this->params->get('phocagallery_center', ''); $display_description_detail = $this->params->get('display_description_detail', 0); $description_detail_height = $this->params->get('description_detail_height', 16); $this->tmpl['categoryboxspace'] = $this->params->get('category_box_space', 0); $this->tmpl['detailwindow'] = $this->params->get('detail_window', 0); $detail_buttons = $this->params->get('detail_buttons', 1); $modal_box_overlay_color = $this->params->get('modal_box_overlay_color', '#000000'); $modal_box_overlay_opacity = $this->params->get('modal_box_overlay_opacity', 0.3); $modal_box_border_color = $this->params->get('modal_box_border_color', '#6b6b6b'); $modal_box_border_width = $this->params->get('modal_box_border_width', '2'); $this->tmpl['enablecooliris'] = $this->params->get('enable_cooliris', 0); $highslide_class = $this->params->get('highslide_class', 'rounded-white'); $highslide_opacity = $this->params->get('highslide_opacity', 0); $highslide_outline_type = $this->params->get('highslide_outline_type', 'rounded-white'); $highslide_fullimg = $this->params->get('highslide_fullimg', 0); $highslide_slideshow = $this->params->get('highslide_slideshow', 1); $highslide_close_button = $this->params->get('highslide_close_button', 0); $this->tmpl['jakslideshowdelay'] = $this->params->get('jak_slideshow_delay', 5); $this->tmpl['jakorientation'] = $this->params->get('jak_orientation', 'none'); $this->tmpl['jakdescription'] = $this->params->get('jak_description', 1); $this->tmpl['jakdescriptionheight'] = $this->params->get('jak_description_height', 0); $this->tmpl['categoryimageordering'] = $this->params->get('category_image_ordering', 10); $this->tmpl['externalcommentsystem'] = $this->params->get('external_comment_system', 0); // Possible Categories View in Category View $this->tmpl['categoryimageorderingcv'] = $this->params->get('category_image_ordering_cv', 10); $this->tmpl['displaycategoriescv'] = $this->params->get('display_categories_cv', 0); $display_subcat_page_cv = $this->params->get('display_subcat_page_cv', 0); $display_back_button_cv = $this->params->get('display_back_button_cv', 1); $display_categories_back_button_cv = $this->params->get('display_categories_back_button_cv', 1); $this->tmpl['displayimagecategoriescv'] = $this->params->get('display_image_categories_cv', 1); $this->tmpl['categoriescolumnscv'] = $this->params->get('categories_columns_cv', 1); $image_categories_size_cv = $this->params->get('image_categories_size_cv', 4); $medium_image_width_cv = (int) $this->params->get('medium_image_width', 100) + 18; $medium_image_height_cv = (int) $this->params->get('medium_image_height', 100) + 18; $small_image_width_cv = (int) $this->params->get('small_image_width', 50) + 18; $small_image_height_cv = (int) $this->params->get('small_image_height', 50) + 18; $this->tmpl['imagetypecv'] = $image_categories_size_cv; $this->tmpl['overlibimagerate'] = (int) $this->params->get('overlib_image_rate', ''); $this->tmpl['picasa_correct_width_m'] = (int) $this->params->get('medium_image_width', 100); $this->tmpl['picasa_correct_height_m'] = (int) $this->params->get('medium_image_height', 100); $this->tmpl['picasa_correct_width_s'] = (int) $this->params->get('small_image_width', 50); $this->tmpl['picasa_correct_height_s'] = (int) $this->params->get('small_image_height', 50); $this->tmpl['picasa_correct_width_l'] = (int) $this->params->get('large_image_width', 640); $this->tmpl['picasa_correct_height_l'] = (int) $this->params->get('large_image_height', 480); $this->tmpl['gallerymetakey'] = $this->params->get('gallery_metakey', ''); $this->tmpl['gallerymetadesc'] = $this->params->get('gallery_metadesc', ''); $this->tmpl['altvalue'] = $this->params->get('alt_value', 1); $paramsFb = PhocaGalleryFbSystem::getCommentsParams($this->params->get('fb_comment_user_id', '')); // Facebook $this->tmpl['fb_comment_app_id'] = isset($paramsFb['fb_comment_app_id']) ? $paramsFb['fb_comment_app_id'] : ''; $this->tmpl['fb_comment_width'] = isset($paramsFb['fb_comment_width']) ? $paramsFb['fb_comment_width'] : 550; $this->tmpl['fb_comment_lang'] = isset($paramsFb['fb_comment_lang']) ? $paramsFb['fb_comment_lang'] : 'en_US'; $this->tmpl['fb_comment_count'] = isset($paramsFb['fb_comment_count']) ? $paramsFb['fb_comment_count'] : ''; $this->tmpl['enable_direct_subcat'] = $this->params->get('enable_direct_subcat', 0); $this->tmpl['display_comment_nopup'] = $this->params->get('display_comment_nopup', 0); $this->tmpl['boxplus_theme'] = $this->params->get('boxplus_theme', 'lightsquare'); $this->tmpl['boxplus_bautocenter'] = (int) $this->params->get('boxplus_bautocenter', 1); $this->tmpl['boxplus_autofit'] = (int) $this->params->get('boxplus_autofit', 1); $this->tmpl['boxplus_slideshow'] = (int) $this->params->get('boxplus_slideshow', 0); $this->tmpl['boxplus_loop'] = (int) $this->params->get('boxplus_loop', 0); $this->tmpl['boxplus_captions'] = $this->params->get('boxplus_captions', 'bottom'); $this->tmpl['boxplus_thumbs'] = $this->params->get('boxplus_thumbs', 'inside'); $this->tmpl['boxplus_duration'] = (int) $this->params->get('boxplus_duration', 250); $this->tmpl['boxplus_transition'] = $this->params->get('boxplus_transition', 'linear'); $this->tmpl['boxplus_contextmenu'] = (int) $this->params->get('boxplus_contextmenu', 1); $this->tmpl['enablecustomcss'] = $this->params->get('enable_custom_css', 0); $this->tmpl['customcss'] = $this->params->get('custom_css', ''); $this->tmpl['display_tags_links'] = $this->params->get('display_tags_links', 0); $this->tmpl['displaying_tags_true'] = 0; //No tag found, if yes, the box will be resized $this->tmpl['ytbupload'] = $this->params->get('youtube_upload', 0); $this->tmpl['ytb_display'] = $this->params->get('ytb_display', 0); $this->tmpl['enable_multibox'] = $this->params->get('enable_multibox', 0); $this->tmpl['multibox_height'] = (int) $this->params->get('multibox_height', 560); $this->tmpl['multibox_width'] = (int) $this->params->get('multibox_width', 980); // = = = = = = = = = = // CSS // = = = = = = = = = = JHtml::stylesheet('components/com_phocagallery/assets/phocagallery.css'); if ($this->tmpl['enablecustomcss'] == 1) { JHtml::stylesheet('components/com_phocagallery/assets/phocagallerycustom.css'); PhocaGalleryRenderFront::displayCustomCSS($this->tmpl['customcss']); } else { $libraries['pg-css-ie'] = $library->getLibrary('pg-css-ie'); $libraries['pg-css-ie-hover'] = $library->getLibrary('pg-css-ie-hover'); // PARAMS - Background shadow if ($this->tmpl['displayimageshadow'] != 'none') { // IE hack $shadowPath = $path->image_abs_front . $this->tmpl['displayimageshadow'] . '.' . $this->tmpl['formaticon']; $shadowSize = getimagesize($shadowPath); if (isset($shadowSize[0]) && isset($shadowSize[0])) { $w = (int) $this->tmpl['imagewidth'] + 18 - (int) $shadowSize[0]; $h = (int) $this->tmpl['imageheight'] + 18 - (int) $shadowSize[1]; if ($w != 0) { $w = $w / 2; } // plus or minus should be divided, not null if ($h != 0) { $h = $h / 2; } } else { $w = $h = 0; } $imageBgCSS = 'background: url(\'' . JURI::base(true) . '/components/com_phocagallery/assets/images/' . $this->tmpl['displayimageshadow'] . '.' . $this->tmpl['formaticon'] . '\') 50% 50% no-repeat;'; $imageBgCSSIE = 'background: url(\'' . JURI::base(true) . '/components/com_phocagallery/assets/images/' . $this->tmpl['displayimageshadow'] . '.' . $this->tmpl['formaticon'] . '\') ' . $w . 'px ' . $h . 'px no-repeat;'; } else { $imageBgCSS = 'background: ' . $image_background_color . ';'; $imageBgCSSIE = 'background: ' . $image_background_color . ';'; } 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); } $document->addCustomTag(PhocaGalleryRenderFront::renderCategoryCSS($this->params->get('font_color', '#b36b00'), $this->params->get('background_color', '#fcfcfc'), $this->params->get('border_color', '#e8e8e8'), $imageBgCSS, $imageBgCSSIE, $this->params->get('border_color_hover', '#b36b00'), $this->params->get('background_color_hover', '#f5f5f5'), $this->tmpl['olfgcolor'], $this->tmpl['olbgcolor'], $this->tmpl['oltfcolor'], $this->tmpl['olcfcolor'], $this->params->get('margin_box', 5), $this->params->get('padding_box', 5), $this->params->get('overlib_overlay_opacity', 0.7))); if ($libraries['pg-css-ie-hover']->value == 0) { $document->addCustomTag(PhocaGalleryRenderFront::renderIeHover()); $library->setLibrary('pg-css-ie-hover', 1); } } // = = = = = = = = = = // Default_Categories $catImg = PhocaGalleryImageFront::getCategoriesImageBackground($image_categories_size_cv, $small_image_width_cv, $small_image_height_cv, $medium_image_height_cv, $medium_image_width_cv); $this->tmpl['imagebgcv'] = $catImg->image; $this->tmpl['imagewidthcv'] = $catImg->width; switch ($image_categories_size_cv) { // medium case 1: case 5: $this->tmpl['class_suffix'] = 'medium'; break; case 0: case 4: default: $this->tmpl['class_suffix'] = 'small'; break; } // Correct Height // Description detail height if ($display_description_detail == 1) { $popup_height = $popup_height + $description_detail_height; } // Detail buttons in detail view if ($detail_buttons != 1) { $popup_height = $popup_height - 45; } if ($this->tmpl['displayratingimg'] == 1) { $popup_height = $popup_height + 35; } // Correct height of description in image box (set null if this will be hidden) if ($this->tmpl['displayimgdescbox'] == 0) { $this->tmpl['imgdescboxheight'] = 0; } // Youtube video without padding, margin if ($this->tmpl['detailwindow'] != 7 && $this->tmpl['ytb_display'] == 1) { $document->addCustomTag("<style type=\"text/css\"> \n" . " #boxplus .boxplus-dialog .boxplus-controlsclose {\r\n\t\t\t\ttop: -15px !important;\r\n\t\t\t\tright: -15px !important;\r\n\t\t\t\tmargin:0px 0 0 0 !important;\r\n\t\t\t} \n" . " </style> \n"); $popup_width = PhocaGallerySettings::getAdvancedSettings('youtubewidth'); $popup_height = PhocaGallerySettings::getAdvancedSettings('youtubeheight'); } // Multibox if ($this->tmpl['enable_multibox'] == 1) { $popup_width = $this->tmpl['multibox_width']; $popup_height = $this->tmpl['multibox_height']; } $this->tmpl['bna'] = '<div style="text-align: center; color: rgb(211, 211, 211);">Powe' . 'red by <a href="http://www.phoca.cz/phocaga' . 'llery" style="text-decoration: none;" target="_blank" title="Phoca Gal' . 'lery">Pho' . 'ca Gall' . 'ery</a></div>'; // ======================================================= // DIFFERENT METHODS OF DISPLAYING THE DETAIL VIEW // ======================================================= // MODAL - will be displayed in case e.g. highslide or shadowbox too, because in there are more links JHtml::_('behavior.modal', 'a.pg-modal-button'); // CSS Specific $document->addCustomTag("<style type=\"text/css\"> \n" . " #sbox-window {background-color:" . $modal_box_border_color . ";padding:" . $modal_box_border_width . "px} \n" . " #sbox-overlay {background-color:" . $modal_box_overlay_color . ";} \n" . " </style> \n"); // BUTTON (IMAGE - standard, modal, shadowbox) $button = new JObject(); $button->set('name', 'image'); $button->set('options', ''); //initialize // BUTTON (ICON - standard, modal, shadowbox) $button2 = new JObject(); $button2->set('name', 'icon'); $button2->set('options', ''); //initialize // BUTTON OTHER (geotagging, downloadlink, ...) $buttonOther = new JObject(); $buttonOther->set('name', 'other'); $buttonOther->set('options', ''); //initialize $buttonOther->set('optionsrating', ''); //initialize $this->tmpl['highslideonclick'] = ''; // for using with highslide $this->tmpl['highslideonclick2'] = ''; // ------------------------------------------------------- // STANDARD POPUP // ------------------------------------------------------- if ($this->tmpl['detailwindow'] == 1) { $button->set('methodname', 'js-button'); $button->set('options', "window.open(this.href,'win2','width=" . $popup_width . ",height=" . $popup_height . ",scrollbars=yes,menubar=no,resizable=yes'); return false;"); $button->set('optionsrating', "window.open(this.href,'win2','width=" . $popup_width . ",height=" . $popup_height . ",scrollbars=yes,menubar=no,resizable=yes'); return false;"); $button2->methodname =& $button->methodname; $button2->options =& $button->options; $buttonOther->methodname =& $button->methodname; $buttonOther->options =& $button->options; $buttonOther->optionsrating =& $button->optionsrating; } else { if ($this->tmpl['detailwindow'] == 0 || $this->tmpl['detailwindow'] == 2) { // Button $button->set('modal', true); $button->set('methodname', 'pg-modal-button'); $button2->modal =& $button->modal; $button2->methodname =& $button->methodname; $buttonOther->modal =& $button->modal; $buttonOther->methodname =& $button->methodname; // Modal - Image only if ($this->tmpl['detailwindow'] == 2) { $button->set('options', "{handler: 'image', size: {x: 200, y: 150}, overlayOpacity: " . $modal_box_overlay_opacity . "}"); $button2->options =& $button->options; $buttonOther->set('options', "{handler: 'iframe', size: {x: " . $popup_width . ", y: " . $popup_height . "}, overlayOpacity: " . $modal_box_overlay_opacity . "}"); $buttonOther->set('optionsrating', "{handler: 'iframe', size: {x: " . $popup_width . ", y: " . $popup_height . "}, overlayOpacity: " . $modal_box_overlay_opacity . "}"); // Modal - Iframe } else { $button->set('options', "{handler: 'iframe', size: {x: " . $popup_width . ", y: " . $popup_height . "}, overlayOpacity: " . $modal_box_overlay_opacity . "}"); $buttonOther->set('optionsrating', "{handler: 'iframe', size: {x: " . $popup_width . ", y: " . $popup_height . "}, overlayOpacity: " . $modal_box_overlay_opacity . "}"); $button2->options =& $button->options; $buttonOther->options =& $button->options; } } else { if ($this->tmpl['detailwindow'] == 3) { $sb_slideshow_delay = $this->params->get('sb_slideshow_delay', 5); $sb_lang = $this->params->get('sb_lang', 'en'); $button->set('methodname', 'shadowbox-button'); $button->set('options', "shadowbox[PhocaGallery];options={slideshowDelay:" . $sb_slideshow_delay . "}"); $button2->methodname =& $button->methodname; $button2->set('options', "shadowbox[PhocaGallery2];options={slideshowDelay:" . $sb_slideshow_delay . "}"); $buttonOther->set('modal', true); $buttonOther->set('methodname', 'pg-modal-button'); $buttonOther->set('options', "{handler: 'iframe', size: {x: " . $popup_width . ", y: " . $popup_height . "}, overlayOpacity: " . $modal_box_overlay_opacity . "}"); $buttonOther->set('optionsrating', "{handler: 'iframe', size: {x: " . $popup_width . ", y: " . $popup_height . "}, overlayOpacity: " . $modal_box_overlay_opacity . "}"); // $document->addScript(JURI::base(true).'/components/com_phocagallery/assets/js/shadowbox/adapter/shadowbox-mootools.js'); $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/js/shadowbox/shadowbox.js'); //$document->addScript(JURI::base(true).'/components/com_phocagallery/assets/js/shadowbox/src/lang/shadowbox-cs.js'); //$document->addStyleSheet(JURI::base(true).'/components/com_phocagallery/assets/js/shadowbox/shadowbox.css'); if ($libraries['pg-group-shadowbox']->value == 0) { $document->addCustomTag('<script type="text/javascript"> Shadowbox.loadSkin("classic", "' . JURI::base(true) . '/components/com_phocagallery/assets/js/shadowbox/src/skin"); Shadowbox.loadLanguage("' . $sb_lang . '", "' . JURI::base(true) . '/components/com_phocagallery/assets/js/shadowbox/src/lang"); Shadowbox.loadPlayer(["img"], "' . JURI::base(true) . '/components/com_phocagallery/assets/js/shadowbox/src/player"); window.addEvent(\'domready\', function(){ Shadowbox.init() }); </script>'); /*$document->addCustomTag('<script type="text/javascript"> Shadowbox.init({ handleOversize: "drag", modal: true, overlayOpacity: 0.8, language: "cs" }); </script>');*/ // window.onload = function(){ // Shadowbox.init(); $library->setLibrary('pg-group-shadowbox', 1); } } else { if ($this->tmpl['detailwindow'] == 4) { $button->set('methodname', 'highslide'); $button2->methodname =& $button->methodname; $buttonOther->methodname =& $button->methodname; $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/js/highslide/highslide-full.js'); $document->addStyleSheet(JURI::base(true) . '/components/com_phocagallery/assets/js/highslide/highslide.css'); if ($libraries['pg-group-highslide']->value == 0) { $document->addCustomTag(PhocaGalleryRenderFront::renderHighslideJSAll()); $document->addCustomTag('<!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="' . JURI::base(true) . '/components/com_phocagallery/assets/js/highslide/highslide-ie6.css" /><![endif]-->'); $library->setLibrary('pg-group-highslide', 1); } //$document->addCustomTag( PhocaGalleryRenderFront::renderHighslideJS ('',$popup_width, $popup_height, $highslide_outline_type, $highslide_opacity)); $document->addCustomTag(PhocaGalleryRenderFront::renderHighslideJS('', $popup_width, $popup_height, $highslide_slideshow, $highslide_class, $highslide_outline_type, $highslide_opacity, $highslide_close_button)); $this->tmpl['highslideonclick'] = 'return hs.htmlExpand(this, phocaZoom )'; } else { if ($this->tmpl['detailwindow'] == 5) { $button->set('methodname', 'highslide'); $button2->methodname =& $button->methodname; $buttonOther->methodname =& $button->methodname; $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/js/highslide/highslide-full.js'); $document->addStyleSheet(JURI::base(true) . '/components/com_phocagallery/assets/js/highslide/highslide.css'); if ($libraries['pg-group-highslide']->value == 0) { $document->addCustomTag(PhocaGalleryRenderFront::renderHighslideJSAll()); $document->addCustomTag('<!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="' . JURI::base(true) . '/components/com_phocagallery/assets/js/highslide/highslide-ie6.css" /><![endif]-->'); $library->setLibrary('pg-group-highslide', 1); } $document->addCustomTag(PhocaGalleryRenderFront::renderHighslideJS('', $popup_width, $popup_height, $highslide_slideshow, $highslide_class, $highslide_outline_type, $highslide_opacity, $highslide_close_button)); $this->tmpl['highslideonclick2'] = 'return hs.htmlExpand(this, phocaZoom )'; $this->tmpl['highslideonclick'] = PhocaGalleryRenderFront::renderHighslideJSImage('', $highslide_class, $highslide_outline_type, $highslide_opacity, $highslide_fullimg); } else { if ($this->tmpl['detailwindow'] == 6) { $button->set('methodname', 'jaklightbox'); $button2->methodname =& $button->methodname; $buttonOther->set('modal', true); $buttonOther->set('methodname', 'pg-modal-button'); $buttonOther->set('options', "{handler: 'iframe', size: {x: " . $popup_width . ", y: " . $popup_height . "}, overlayOpacity: " . $modal_box_overlay_opacity . "}"); $buttonOther->set('optionsrating', "{handler: 'iframe', size: {x: " . $popup_width . ", y: " . $popup_height . "}, overlayOpacity: " . $modal_box_overlay_opacity . "}"); $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/js/jak/jak_compressed.js'); $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/js/jak/lightbox_compressed.js'); $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/js/jak/jak_slideshow.js'); $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/js/jak/window_compressed.js'); $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/js/jak/interpolator_compressed.js'); $document->addStyleSheet(JURI::base(true) . '/components/com_phocagallery/assets/js/jak/lightbox-slideshow.css'); $lHeight = 472 + (int) $this->tmpl['jakdescriptionheight']; $lcHeight = 10 + (int) $this->tmpl['jakdescriptionheight']; $customJakTag = ''; if ($this->tmpl['jakorientation'] == 'horizontal') { $document->addStyleSheet(JURI::base(true) . '/components/com_phocagallery/assets/js/jak/lightbox-horizontal.css'); } else { if ($this->tmpl['jakorientation'] == 'vertical') { $document->addStyleSheet(JURI::base(true) . '/components/com_phocagallery/assets/js/jak/lightbox-vertical.css'); $customJakTag .= '.lightBox {height: ' . $lHeight . 'px;}' . '.lightBox .image-browser-caption { height: ' . $lcHeight . 'px;}'; } else { $document->addStyleSheet(JURI::base(true) . '/components/com_phocagallery/assets/js/jak/lightbox-vertical.css'); $customJakTag .= '.lightBox {height: ' . $lHeight . 'px;width:800px;}' . '.lightBox .image-browser-caption { height: ' . $lcHeight . 'px;}' . '.lightBox .image-browser-thumbs { display:none;}' . '.lightBox .image-browser-thumbs div.image-browser-thumb-box { display:none;}'; } } if ($customJakTag != '') { $document->addCustomTag("<style type=\"text/css\">\n" . $customJakTag . "\n" . "</style>"); } if ($libraries['pg-group-jak']->value == 0) { $document->addCustomTag(PhocaGalleryRenderFront::renderJakJs($this->tmpl['jakslideshowdelay'], $this->tmpl['jakorientation'])); $library->setLibrary('pg-group-jak', 1); } } else { if ($this->tmpl['detailwindow'] == 7) { $button->set('methodname', 'no-popup'); $button2->methodname =& $button->methodname; $buttonOther->set('modal', true); $buttonOther->set('methodname', 'no-popup'); $buttonOther->set('options', ""); $buttonOther->set('optionsrating', ""); } else { if ($this->tmpl['detailwindow'] == 8) { $button->set('methodname', 'slimbox'); $button2->methodname =& $button->methodname; $button2->methodname =& $button->methodname; $button2->set('options', "lightbox-images"); $buttonOther->set('modal', true); $buttonOther->set('methodname', 'pg-modal-button'); $buttonOther->set('options', "{handler: 'iframe', size: {x: " . $popup_width . ", y: " . $popup_height . "}, overlayOpacity: " . $modal_box_overlay_opacity . "}"); $buttonOther->set('optionsrating', "{handler: 'iframe', size: {x: " . $popup_width . ", y: " . $popup_height . "}, overlayOpacity: " . $modal_box_overlay_opacity . "}"); $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/js/slimbox/slimbox.js'); $document->addStyleSheet(JURI::base(true) . '/components/com_phocagallery/assets/js/slimbox/css/slimbox.css'); } else { if ($this->tmpl['detailwindow'] == 9 || $this->tmpl['detailwindow'] == 10) { $language = JFactory::getLanguage(); $button->set('options', 'phocagallerycboxplus'); $button->set('methodname', 'phocagallerycboxplus'); $button2->set('options', "phocagallerycboxplusi"); $button2->set('methodname', 'phocagallerycboxplusi'); $buttonOther->set('methodname', 'phocagallerycboxpluso'); $buttonOther->set('options', "phocagallerycboxpluso"); $buttonOther->set('optionsrating', "phocagallerycboxpluso"); //if ($crossdomain) { // $document->addScript(JURI::base(true).'/components/com_phocagallery/assets/js/boxplus/jsonp.mootools.js'); //} $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/js/boxplus/boxplus.js'); $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/js/boxplus/boxplus.lang.js?lang=' . $language->getTag()); $document->addStyleSheet(JURI::base(true) . '/components/com_phocagallery/assets/js/boxplus/css/boxplus.css'); if ($language->isRTL()) { $document->addStyleSheet(JURI::base(true) . '/components/com_phocagallery/assets/js/boxplus/css/boxplus.rtl.css'); } $document->addCustomTag('<!--[if lt IE 9]><link rel="stylesheet" href="' . JURI::base(true) . '/components/com_phocagallery/assets/js/boxplus/css/boxplus.ie8.css" type="text/css" /><![endif]-->'); $document->addCustomTag('<!--[if lt IE 8]><link rel="stylesheet" href="' . JURI::base(true) . '/components/com_phocagallery/assets/js/boxplus/css/boxplus.ie7.css" type="text/css" /><![endif]-->'); $document->addStyleSheet(JURI::base(true) . '/components/com_phocagallery/assets/js/boxplus/css/boxplus.' . $this->tmpl['boxplus_theme'] . '.css', 'text/css', null, array('title' => 'boxplus-' . $this->tmpl['boxplus_theme'])); if (file_exists(JPATH_BASE . DS . 'components' . DS . 'com_phocagallery' . DS . 'assets' . DS . 'js' . DS . 'boxplus' . DS . 'css' . DS . 'boxplus.' . $this->tmpl['boxplus_theme'])) { // use IE-specific stylesheet only if it exists $this->addCustomTag('<!--[if lt IE 9]><link rel="stylesheet" href="' . JURI::base(true) . '/components/com_phocagallery/assets/js/boxplus/css/boxplus.' . $this->tmpl['boxplus_theme'] . '.ie8.css" type="text/css" title="boxplus-' . $this->tmpl['boxplus_theme'] . '" /><![endif]-->'); } $document->addScriptDeclaration('window.addEvent("domready", function () {'); if ($this->tmpl['detailwindow'] == 10) { // Image $document->addScriptDeclaration('new boxplus($$("a.phocagallerycboxplus"),{"theme":"' . $this->tmpl['boxplus_theme'] . '","autocenter":' . (int) $this->tmpl['boxplus_bautocenter'] . ',"autofit":' . (int) $this->tmpl['boxplus_autofit'] . ',"slideshow":' . (int) $this->tmpl['boxplus_slideshow'] . ',"loop":' . (int) $this->tmpl['boxplus_loop'] . ',"captions":"' . $this->tmpl['boxplus_captions'] . '","thumbs":"' . $this->tmpl['boxplus_thumbs'] . '","width":' . (int) $popup_width . ',"height":' . (int) $popup_height . ',"duration":' . (int) $this->tmpl['boxplus_duration'] . ',"transition":"' . $this->tmpl['boxplus_transition'] . '","contextmenu":' . (int) $this->tmpl['boxplus_contextmenu'] . ', phocamethod:1});'); // Icon $document->addScriptDeclaration('new boxplus($$("a.phocagallerycboxplusi"),{"theme":"' . $this->tmpl['boxplus_theme'] . '","autocenter":' . (int) $this->tmpl['boxplus_bautocenter'] . ',"autofit":' . (int) $this->tmpl['boxplus_autofit'] . ',"slideshow":' . (int) $this->tmpl['boxplus_slideshow'] . ',"loop":' . (int) $this->tmpl['boxplus_loop'] . ',"captions":"' . $this->tmpl['boxplus_captions'] . '","thumbs":"hide","width":' . (int) $popup_width . ',"height":' . (int) $popup_height . ',"duration":' . (int) $this->tmpl['boxplus_duration'] . ',"transition":"' . $this->tmpl['boxplus_transition'] . '","contextmenu":' . (int) $this->tmpl['boxplus_contextmenu'] . ', phocamethod:1});'); } else { // Image $document->addScriptDeclaration('new boxplus($$("a.phocagallerycboxplus"),{"theme":"' . $this->tmpl['boxplus_theme'] . '","autocenter":' . (int) $this->tmpl['boxplus_bautocenter'] . ',"autofit": false,"slideshow": false,"loop":false,"captions":"none","thumbs":"hide","width":' . (int) $popup_width . ',"height":' . (int) $popup_height . ',"duration":0,"transition":"linear","contextmenu":false, phocamethod:2});'); // Icon $document->addScriptDeclaration('new boxplus($$("a.phocagallerycboxplusi"),{"theme":"' . $this->tmpl['boxplus_theme'] . '","autocenter":' . (int) $this->tmpl['boxplus_bautocenter'] . ',"autofit": false,"slideshow": false,"loop":false,"captions":"none","thumbs":"hide","width":' . (int) $popup_width . ',"height":' . (int) $popup_height . ',"duration":0,"transition":"linear","contextmenu":false, phocamethod:2});'); } // Other (Map, Info, Download) $document->addScriptDeclaration('new boxplus($$("a.phocagallerycboxpluso"),{"theme":"' . $this->tmpl['boxplus_theme'] . '","autocenter":' . (int) $this->tmpl['boxplus_bautocenter'] . ',"autofit": false,"slideshow": false,"loop":false,"captions":"none","thumbs":"hide","width":' . (int) $popup_width . ',"height":' . (int) $popup_height . ',"duration":0,"transition":"linear","contextmenu":false, phocamethod:2});'); $document->addScriptDeclaration('});'); } } } } } } } } } $folderButton = new JObject(); $folderButton->set('name', 'image'); $folderButton->set('options', ""); // End open window parameters // ================================================================== // Information about current category $category = $this->get('category'); //$total = $this->get('total'); // Cooliris (Piclens) $this->tmpl['startpiclens'] = 0; if ($this->tmpl['enablecooliris'] == 1) { $this->tmpl['startpiclens'] = $this->params->get('start_cooliris', 0); // CSS - PicLens START $document->addCustomTag(PhocaGalleryRenderFront::renderPicLens($category->id)); } // PARAMS - Pagination and subcategories on other sites // Subcategories will be displayed only on first page if pagination will be used $display_subcat_page = $this->params->get('display_subcat_page', 0); // On the first site subcategories will be displayed always $get['start'] = JRequest::getVar('limitstart', '', 'get', 'string'); if ($display_subcat_page == 2) { $display_subcat_page = 0; // Nowhere } else { if ($display_subcat_page == 0 && $get['start'] > 0) { $display_subcat_page = 0; //in case: second page and param=0 } else { $display_subcat_page = 1; //in case:first page or param==1 } } // Categories View in Category View if ($display_subcat_page_cv == 2) { $display_subcat_page_cv = 0; // Nowhere } else { if ($display_subcat_page_cv == 0 && $get['start'] > 0) { $display_subcat_page_cv = 0; //in case: second page and param=0 } else { $display_subcat_page_cv = 1; //in case:first page or param==1 } } // PARAMS - Display Back Buttons $display_back_button = $this->params->get('display_back_button', 1); $display_categories_back_button = $this->params->get('display_categories_back_button', 1); // PARAMS - Access Category - display category (subcategory folder or backbutton to not accessible cat $display_access_category = $this->params->get('display_access_category', 1); // Set page title per category if ($this->tmpl['displaycatnametitle'] == 1 && isset($category->title)) { $document->setTitle($this->params->get('page_title') . ' - ' . $category->title); } else { $document->setTitle($this->params->get('page_title')); } // Breadcrumb display: // 0 - only menu link // 1 - menu link - category name // 2 - only category name $this->_addBreadCrumbs($category, isset($menu->query['id']) ? $menu->query['id'] : 0, $display_cat_name_breadcrumbs); // PARAMS - the whole page title with category or without category $this->tmpl['showpageheading'] = $this->params->get('show_page_heading', 1); // Define image tag attributes /* if (!empty ($category->image)) { $attribs['align'] = '"'.$category->image_position.'"'; $attribs['hspace'] = '"6"'; $this->tmpl['image'] = JHtml::_('image', 'images/stories/'.$category->image,'', $attribs); }*/ // Switch image JS $this->tmpl['basicimage'] = ''; if ($this->tmpl['switchimage'] == 1) { $imagePathFront = PhocaGalleryPath::getPath(); $this->tmpl['waitimage'] = $imagePathFront->image_rel_front_full . 'icon-switch.gif'; $this->tmpl['basicimage'] = $imagePathFront->image_rel_front_full . 'phoca_thumb_l_no_image.' . $this->tmpl['formaticon']; $document->addCustomTag(PhocaGalleryRenderFront::switchImage($this->tmpl['waitimage'])); $basicImageSelected = 0; // we have not selected the basic image yet } // Overlib $enable_overlib = $this->params->get('enable_overlib', 0); if ((int) $enable_overlib > 0) { $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/overlib/overlib_mini.js'); } // MODEL $model =& $this->getModel(); // Trash $this->tmpl['trash'] = 0; $this->tmpl['publishunpublish'] = 0; $this->tmpl['approvednotapproved'] = 0; // only to see the info // USER RIGHT - DELETE - - - - - - - - - - - // 2, 2 means that user access will be ignored in function getUserRight for display Delete button $rightDisplayDelete = 0; // default is to null (all users cannot upload) if (!empty($category)) { $rightDisplayDelete = PhocaGalleryAccess::getUserRight('deleteuserid', $category->deleteuserid, 2, $this->tmpl['user']->authorisedLevels(), $this->tmpl['user']->get('id', 0), 0); } if ($rightDisplayDelete == 1) { $this->tmpl['trash'] = 1; $this->tmpl['publishunpublish'] = 1; $this->tmpl['approvednotapproved'] = 1; // only to see the info } // - - - - - - - - - - - - - - - - - - - - - // Upload $this->tmpl['displayupload'] = 0; // USER RIGHT - UPLOAD - - - - - - - - - - - // 2, 2 means that user access will be ignored in function getUserRight for display Delete button $rightDisplayUpload = 0; // default is to null (all users cannot upload) if (!empty($category)) { $rightDisplayUpload = PhocaGalleryAccess::getUserRight('uploaduserid', $category->uploaduserid, 2, $this->tmpl['user']->authorisedLevels(), $this->tmpl['user']->get('id', 0), 0); } if ($rightDisplayUpload == 1) { $this->tmpl['displayupload'] = 1; $document->addCustomTag(PhocaGalleryRenderFront::renderOnUploadCategoryJS()); $document->addCustomTag(PhocaGalleryRenderFront::renderDescriptionUploadJS((int) $this->tmpl['maxuploadchar'])); } $this->tmpl['displaycreatecat'] = 0; if ($rightDisplayUpload == 1 && $this->tmpl['enable_direct_subcat'] == 1) { $this->tmpl['displaycreatecat'] = 1; $document->addCustomTag(PhocaGalleryRenderFront::renderOnUploadCategoryJS()); $document->addCustomTag(PhocaGalleryRenderFront::renderDescriptionCreateSubCatJS((int) $this->tmpl['maxcreatecatchar'])); } // - - - - - - - - - - - - - - - - - - - - - // USER RIGHT - ACCESS - - - - - - - - - - - $rightDisplay = 1; //default is set to 1 (all users can see the category) if (!empty($category)) { $rightDisplay = PhocaGalleryAccess::getUserRight('accessuserid', $category->accessuserid, 0, $this->tmpl['user']->authorisedLevels(), $this->tmpl['user']->get('id', 0), $display_access_category); } if ($rightDisplay == 0) { $app->redirect(JRoute::_($this->tmpl['pl'], false), JText::_('COM_PHOCAGALLERY_NOT_AUTHORISED_ACTION')); exit; } // - - - - - - - - - - - - - - - - - - - - - // 1. GEOTAGGING CATEGORY $map['longitude'] = ''; // will be used for 1. default_geotagging to not display pane and 2. to remove pane (line cca 1554) $map['latitude'] = ''; if (isset($category->latitude) && $category->latitude != '' && $category->latitude != 0 && isset($category->longitude) && $category->longitude != '' && $category->longitude != 0) { $map['longitude'] = $category->longitude; $map['latitude'] = $category->latitude; $map['zoom'] = $category->zoom; $map['geotitle'] = $category->geotitle; $map['description'] = $category->description; if ($map['geotitle'] == '') { $map['geotitle'] = $category->title; } } else { $this->tmpl['displayicongeo'] = 0; } // Image next to Category in Categories View in Category View is ordered by Random as default phocagalleryimport('phocagallery.ordering.ordering'); $categoryImageOrdering = PhocaGalleryOrdering::getOrderingString($this->tmpl['categoryimageordering']); $categoryImageOrderingCV = PhocaGalleryOrdering::getOrderingString($this->tmpl['categoryimageorderingcv']); // = = = = = = = = = = = = = = = = = = = = // BOXES // = = = = = = = = = = = = = = = = = = = = // Information because of height of box (if they are used not by all images) $this->tmpl['displayiconextlink1box'] = 0; $this->tmpl['displayiconextlink2box'] = 0; $this->tmpl['displayiconvmbox'] = 0; $this->tmpl['displayicongeobox'] = 0; $iS = 0; $iCV = 0; $items = array(); // Category View $itemsCV = array(); // Category List (Categories View) in Category View // ---------------------------------------- // PARENT FOLDERS(I) or Back Button STANDARD // ---------------------------------------- /*$menu = &JSite::getMenu(); // Set Back Button to CATEGORIES VIEW $itemsLink = $menu->getItems('link', 'index.php?option=com_phocagallery&view=categories'); $itemId = 0; if(isset($itemsLink[0])) { $itemId = $itemsLink[0]->id; } $backLink = 'index.php?option=com_phocagallery&view=categories&Itemid='.$itemId;*/ $posItemid = $posItemidNull = $backLinkItemId = false; $backLink = PhocaGalleryRoute::getCategoriesRoute(); $posItemidNull = strpos($backLink, "Itemid=0"); $posItemid = strpos($backLink, "Itemid="); if ($posItemidNull === false && $posItemid) { $backLinkItemId = 1; } $parentCategory = $this->get('parentcategory'); if ($display_back_button == 1) { if (!empty($parentCategory)) { $items[$iS] = $parentCategory; // USER RIGHT - ACCESS - - - - - - - - - - - // Should be the link to parentcategory displayed $rightDisplay = PhocaGalleryAccess::getUserRight('accessuserid', $items[$iS]->accessuserid, $items[$iS]->access, $this->tmpl['user']->authorisedLevels(), $this->tmpl['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 (!empty($parentCategory)) { $rightDisplayKey = PhocaGalleryAccess::getUserRight('accessuserid', $items[$iS]->accessuserid, $items[$iS]->access, $this->tmpl['user']->authorisedLevels(), $this->tmpl['user']->get('id', 0), 0); } } // - - - - - - - - - - - - - - - - - - - - - if ($rightDisplay > 0) { $items[$iS]->cls = 'pg-box-parentfolder'; $items[$iS]->slug = $items[$iS]->id . ':' . $items[$iS]->alias; $items[$iS]->item_type = "parentfolder"; $items[$iS]->linkthumbnailpath = PhocaGalleryImageFront::displayBackFolder('medium', $rightDisplayKey); $items[$iS]->extm = $items[$iS]->linkthumbnailpath; $items[$iS]->exts = $items[$iS]->linkthumbnailpath; $items[$iS]->numlinks = 0; // We are in category view $items[$iS]->link = JRoute::_('index.php?option=com_phocagallery&view=category&id=' . $items[$iS]->slug . '&Itemid=' . JRequest::getVar('Itemid', 0, '', 'int')); $items[$iS]->button =& $folderButton; $items[$iS]->button->methodname = ''; $items[$iS]->displayicondetail = 0; $items[$iS]->displayicondownload = 0; $items[$iS]->displayiconfolder = 0; $items[$iS]->displayname = 0; $items[$iS]->displayiconvm = ''; $items[$iS]->startpiclens = 0; $items[$iS]->trash = 0; $items[$iS]->publishunpublish = 0; $items[$iS]->approvednotapproved = 0; $items[$iS]->enable_cooliris = 0; $items[$iS]->overlib = 0; $items[$iS]->displayicongeo = 0; $items[$iS]->type = 0; $items[$iS]->camerainfo = 0; $items[$iS]->displayiconextlink1 = 0; $items[$iS]->displayiconextlink2 = 0; $items[$iS]->description = ''; $items[$iS]->altvalue = ''; $iS++; } else { // There is no right to see the data but the object exists (because it was loaded from database // Destroy it unset($items[$iS]); } } else { // Back button to categories list if it exists if ($backLinkItemId != 0 && $display_categories_back_button == 1) { $items[$iS] = new JObject(); $items[$iS]->cls = 'pg-box-backbtn'; $items[$iS]->link = JRoute::_($backLink); $items[$iS]->title = JTEXT::_('COM_PHOCAGALLERY_CATEGORY_LIST'); $items[$iS]->item_type = "categorieslist"; $items[$iS]->linkthumbnailpath = PhocaGalleryImageFront::displayBackFolder('medium', 1); $items[$iS]->extm = $items[$iS]->linkthumbnailpath; $items[$iS]->exts = $items[$iS]->linkthumbnailpath; $items[$iS]->numlinks = 0; // We are in category view $items[$iS]->button =& $folderButton; $items[$iS]->button->methodname = ''; $items[$iS]->displayicondetail = 0; $items[$iS]->displayicondownload = 0; $items[$iS]->displayiconfolder = 0; $items[$iS]->displayname = 0; $items[$iS]->displayiconvm = ''; $items[$iS]->startpiclens = 0; $items[$iS]->trash = 0; $items[$iS]->publishunpublish = 0; $items[$iS]->approvednotapproved = 0; $items[$iS]->enable_cooliris = 0; $items[$iS]->overlib = 0; $items[$iS]->displayicongeo = 0; $items[$iS]->type = 0; $items[$iS]->camerainfo = 0; $items[$iS]->displayiconextlink1 = 0; $items[$iS]->displayiconextlink2 = 0; $items[$iS]->description = ''; $items[$iS]->altvalue = ''; $iS++; } } } // ---------------------------------------- // PARENT FOLDERS(II) or Back Button CATEGORIES VIEW IN CATEGORY VIEW // ---------------------------------------- if ($display_back_button_cv == 1 && $this->tmpl['displaycategoriescv'] == 1) { if (!empty($parentCategory)) { $itemsCV[$iCV] = clone $parentCategory; // USER RIGHT - ACCESS - - - - - - - - - - - // Should be the link to parentcategory displayed $rightDisplay = PhocaGalleryAccess::getUserRight('accessuserid', $itemsCV[$iCV]->accessuserid, $itemsCV[$iCV]->access, $this->tmpl['user']->authorisedLevels(), $this->tmpl['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 (!empty($parentCategory)) { $rightDisplayKey = PhocaGalleryAccess::getUserRight('accessuserid', $itemsCV[$iCV]->accessuserid, $itemsCV[$iCV]->access, $this->tmpl['user']->authorisedLevels(), $this->tmpl['user']->get('id', 0), 0); } } // - - - - - - - - - - - - - - - - - - - - - if ($rightDisplay > 0) { $itemsCV[$iCV]->cls = 'pg-box-parentfolder-cv'; $itemsCV[$iCV]->slug = $itemsCV[$iCV]->id . ':' . $itemsCV[$iCV]->alias; $itemsCV[$iCV]->item_type = "parentfoldercv"; $itemsCV[$iCV]->linkthumbnailpath = PhocaGalleryImageFront::displayBackFolder('medium', $rightDisplayKey); $itemsCV[$iCV]->extm = $itemsCV[$iCV]->linkthumbnailpath; $itemsCV[$iCV]->exts = $itemsCV[$iCV]->linkthumbnailpath; $itemsCV[$iCV]->numlinks = 0; // We are in category view $itemsCV[$iCV]->link = JRoute::_('index.php?option=com_phocagallery&view=category&id=' . $itemsCV[$iCV]->slug . '&Itemid=' . JRequest::getVar('Itemid', 0, '', 'int')); $itemsCV[$iCV]->type = 3; $itemsCV[$iCV]->altvalue = ''; $iCV++; } else { // There is no right to see the data but the object exists (because it was loaded from database // Destroy it unset($itemsCV[$iCV]); } } else { // Back button to categories list if it exists if ($backLinkItemId != 0 && $display_categories_back_button_cv == 1) { $itemsCV[$iCV] = new JObject(); $itemsCV[$iCV]->cls = 'pg-box-backbtn-cv'; $itemsCV[$iCV]->link = $backLink; $itemsCV[$iCV]->title = JTEXT::_('COM_PHOCAGALLERY_CATEGORY_LIST'); $itemsCV[$iCV]->item_type = "categorieslistcv"; $itemsCV[$iCV]->linkthumbnailpath = PhocaGalleryImageFront::displayBackFolder('medium', 1); $itemsCV[$iCV]->extm = $itemsCV[$iCV]->linkthumbnailpath; $itemsCV[$iCV]->exts = $itemsCV[$iCV]->linkthumbnailpath; $itemsCV[$iCV]->numlinks = 0; // We are in category view $itemsCV[$iCV]->link = JRoute::_($itemsCV[$iCV]->link); $itemsCV[$iCV]->type = 3; $itemsCV[$iCV]->altvalue = ''; $iCV++; } } } // ---------------------------------------- // SUB FOLDERS(1) STANDARD // ---------------------------------------- // Display subcategories on every page if ($display_subcat_page == 1) { $subCategory = $this->get('subcategory'); $totalSubCat = count($subCategory); if ((int) $this->tagId > 0) { $subCategory = array(); } // No subcategories for tag searching if (!empty($subCategory)) { $items[$iS] =& $subCategory; for ($iSub = 0; $iSub < $totalSubCat; $iSub++) { $items[$iS] =& $subCategory[$iSub]; // USER RIGHT - ACCESS - - - - - - - - - - $rightDisplay = PhocaGalleryAccess::getUserRight('accessuserid', $items[$iS]->accessuserid, $items[$iS]->access, $this->tmpl['user']->authorisedLevels(), $this->tmpl['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 (!empty($items[$iS])) { $rightDisplayKey = PhocaGalleryAccess::getUserRight('accessuserid', $items[$iS]->accessuserid, $items[$iS]->access, $this->tmpl['user']->authorisedLevels(), $this->tmpl['user']->get('id', 0), 0); } } // - - - - - - - - - - - - - - - - - - - - if ($rightDisplay > 0) { $items[$iS]->cls = 'pg-box-subfolder'; $items[$iS]->slug = $items[$iS]->id . ':' . $items[$iS]->alias; $items[$iS]->item_type = "subfolder"; $numlinks = $model->getCountItem($items[$iS]->id); //Should be get from main subcategories query if (isset($numlinks[0]) && $numlinks[0] > 0) { $items[$iS]->numlinks = (int) $numlinks[0]; } else { $items[$iS]->numlinks = 0; } $extImage = PhocaGalleryImage::isExtImage($items[$iS]->extid); if ($extImage) { if ($this->tmpl['categoryimageordering'] != 10) { $imagePic = PhocaGalleryImageFront::getRandomImageRecursive($items[$iS]->id, $categoryImageOrdering, 1); $fileThumbnail = PhocaGalleryImageFront::displayCategoryExtImgOrFolder($imagePic->exts, $imagePic->extm, 'medium', $rightDisplayKey, 'display_category_icon_image'); } else { $fileThumbnail = PhocaGalleryImageFront::displayCategoryExtImgOrFolder($items[$iS]->exts, $items[$iS]->extm, 'medium', $rightDisplayKey, 'display_category_icon_image'); $imagePic = new stdClass(); $imagePic->extw = $items[$iS]->extw; $imagePic->exth = $items[$iS]->exth; } // in case category is locked or no extm exists $items[$iS]->linkthumbnailpath = $fileThumbnail->linkthumbnailpath; $items[$iS]->extm = $fileThumbnail->extm; $items[$iS]->exts = $fileThumbnail->exts; $items[$iS]->exthswitch = $items[$iS]->extwswitch = 0; if ($imagePic->extw != '') { $extw = explode(',', $imagePic->extw); $items[$iS]->extw = $extw[1]; $items[$iS]->extwswitch = $extw[0]; } if ($imagePic->exth != '') { $exth = explode(',', $imagePic->exth); $items[$iS]->exth = $exth[1]; $items[$iS]->exthswitch = $exth[0]; } $items[$iS]->extpic = $fileThumbnail->extpic; } else { if ($this->tmpl['categoryimageordering'] != 10) { $randomImage = PhocaGalleryImageFront::getRandomImageRecursive($items[$iS]->id, $categoryImageOrdering); $fileThumbnail = PhocaGalleryImageFront::displayCategoryImageOrFolder($randomImage, 'medium', $rightDisplayKey, 'display_category_icon_image'); } else { $fileThumbnail = PhocaGalleryImageFront::displayCategoryImageOrFolder($items[$iS]->filename, 'medium', $rightDisplayKey, 'display_category_icon_image'); } $items[$iS]->linkthumbnailpath = $fileThumbnail->rel; } $items[$iS]->link = JRoute::_('index.php?option=com_phocagallery&view=category&id=' . $items[$iS]->slug . '&Itemid=' . JRequest::getVar('Itemid', 0, '', 'int')); $items[$iS]->button =& $folderButton; $items[$iS]->button->methodname = ''; $items[$iS]->displayicondetail = 0; $items[$iS]->displayicondownload = 0; $items[$iS]->displayiconfolder = $this->tmpl['displayiconfolder']; $items[$iS]->displayname = $this->tmpl['displayname']; $items[$iS]->displayiconvm = ''; $items[$iS]->startpiclens = 0; $items[$iS]->trash = 0; $items[$iS]->publishunpublish = 0; $items[$iS]->approvednotapproved = 0; $items[$iS]->enable_cooliris = 0; $items[$iS]->overlib = 0; $items[$iS]->displayicongeo = 0; $items[$iS]->type = 1; $items[$iS]->camerainfo = 0; $items[$iS]->displayiconextlink1 = 0; $items[$iS]->displayiconextlink2 = 0; $items[$iS]->description = ''; $items[$iS]->displayiconcommentimg = ''; $items[$iS]->altvalue = ''; $iS++; } else { // There is no right to see the data but the object exists (because it was loaded from database // Destroy it unset($items[$iS]); } } } } // ---------------------------------------- // SUB FOLDERS(II) or Back Button CATEGORIES VIEW IN CATEGORY VIEW // ---------------------------------------- //display subcategories on every page if ($display_subcat_page_cv == 1 && $this->tmpl['displaycategoriescv'] == 1) { $subCategory = $this->get('subcategory'); $totalSubCat = count($subCategory); if ((int) $this->tagId > 0) { $subCategory = array(); } // No subcategories for tag searching if (!empty($subCategory)) { $itemsCV[$iCV] =& $subCategory; for ($iSub = 0; $iSub < $totalSubCat; $iSub++) { $itemsCV[$iCV] =& $subCategory[$iSub]; // USER RIGHT - ACCESS - - - - - - - - - - $rightDisplay = PhocaGalleryAccess::getUserRight('accessuserid', $itemsCV[$iCV]->accessuserid, $itemsCV[$iCV]->access, $this->tmpl['user']->authorisedLevels(), $this->tmpl['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 (!empty($itemsCV[$iCV])) { $rightDisplayKey = PhocaGalleryAccess::getUserRight('accessuserid', $itemsCV[$iCV]->accessuserid, $itemsCV[$iCV]->access, $this->tmpl['user']->authorisedLevels(), $this->tmpl['user']->get('id', 0), 0); } } // - - - - - - - - - - - - - - - - - - - - if ($rightDisplay > 0) { $itemsCV[$iCV]->cls = 'pg-box-subfolder-cv'; $itemsCV[$iCV]->slug = $itemsCV[$iCV]->id . ':' . $itemsCV[$iCV]->alias; $itemsCV[$iCV]->item_type = "subfoldercv"; $itemsCV[$iCV]->link = JRoute::_('index.php?option=com_phocagallery&view=category&id=' . $itemsCV[$iCV]->slug . '&Itemid=' . JRequest::getVar('Itemid', 0, '', 'int')); $itemsCV[$iCV]->type = 4; $numlinks = $model->getCountItem($itemsCV[$iCV]->id); //Should be get from main subcategories query if (isset($numlinks[0]) && $numlinks[0] > 0) { $itemsCV[$iCV]->numlinks = (int) $numlinks[0]; } else { $itemsCV[$iCV]->numlinks = 0; } $extImage = PhocaGalleryImage::isExtImage($itemsCV[$iCV]->extid); if ($extImage) { if ($this->tmpl['categoryimageordering'] != 10) { $imagePic = PhocaGalleryImageFront::getRandomImageRecursive($itemsCV[$iCV]->id, $categoryImageOrderingCV, 1); $fileThumbnail = PhocaGalleryImageFront::displayCategoryExtImgOrFolder($imagePic->exts, $imagePic->extm, 'medium', $rightDisplayKey, 'display_category_icon_image'); } else { $fileThumbnail = PhocaGalleryImageFront::displayCategoryExtImgOrFolder($itemsCV[$iCV]->exts, $itemsCV[$iCV]->extm, 'medium', $rightDisplayKey, 'display_category_icon_image'); $imagePic = new stdClass(); $imagePic->extw = $itemsCV[$iCV]->extw; $imagePic->exth = $itemsCV[$iCV]->exth; } // in case category is locked or no extm exists $itemsCV[$iCV]->linkthumbnailpath = $fileThumbnail->linkthumbnailpath; $itemsCV[$iCV]->extm = $fileThumbnail->extm; $itemsCV[$iCV]->exts = $fileThumbnail->exts; $itemsCV[$iCV]->exthswitch = $itemsCV[$iCV]->extwswitch = 0; if ($imagePic->extw != '') { $extw = explode(',', $imagePic->extw); $itemsCV[$iCV]->extw = $extw[1]; $itemsCV[$iCV]->extwswitch = $extw[0]; } if ($imagePic->exth != '') { $exth = explode(',', $imagePic->exth); $itemsCV[$iCV]->exth = $exth[1]; $itemsCV[$iCV]->exthswitch = $exth[0]; } $itemsCV[$iCV]->extpic = $fileThumbnail->extpic; } else { if ($this->tmpl['categoryimageordering'] != 10) { $randomImage = PhocaGalleryImageFront::getRandomImageRecursive($itemsCV[$iCV]->id, $categoryImageOrderingCV); $fileThumbnail = PhocaGalleryImageFront::displayCategoryImageOrFolder($randomImage, 'medium', $rightDisplayKey, 'display_category_icon_image_cv'); } else { $fileThumbnail = PhocaGalleryImageFront::displayCategoryImageOrFolder($itemsCV[$iCV]->filename, 'medium', $rightDisplayKey, 'display_category_icon_image_cv'); } $itemsCV[$iCV]->linkthumbnailpath = $fileThumbnail->rel; $itemsCV[$iCV]->altvalue = ''; } $iCV++; } else { // There is no right to see the data but the object exists (because it was loaded from database // Destroy it unset($itemsCV[$iCV]); } } } } // ---------------------------------------- // IMAGES // ---------------------------------------- // If user has rights to delete or publish or unpublish, unbublished items should be displayed if ($rightDisplayDelete == 1) { $images = $model->getData(1, $this->tagId); $this->tmpl['pagination'] =& $model->getPagination(1, $this->tagId); } else { $images = $model->getData(0, $this->tagId); $this->tmpl['pagination'] =& $model->getPagination(0, $this->tagId); } $this->tmpl['ordering'] =& $model->getOrdering(); $totalImg = count($images); if ($limitStart > 0) { $this->tmpl['limitstarturl'] = '&limitstart=' . $limitStart; } else { $this->tmpl['limitstarturl'] = ''; } $this->tmpl['jakdatajs'] = array(); $this->tmpl['displayiconcommentimgbox'] = 0; for ($iM = 0; $iM < $totalImg; $iM++) { $items[$iS] = $images[$iM]; $items[$iS]->cls = 'pg-box-image'; $items[$iS]->slug = $items[$iS]->id . ':' . $items[$iS]->alias; $items[$iS]->item_type = "image"; $items[$iS]->linknr = ''; //Def $extImage = PhocaGalleryImage::isExtImage($items[$iS]->extid); // Get file thumbnail or No Image $items[$iS]->exthswitch = $items[$iS]->extwswitch = 0; if ($items[$iS]->extm != '') { if ($items[$iS]->extw != '') { $extw = explode(',', $items[$iS]->extw); $items[$iS]->extw = $extw[1]; $items[$iS]->extwswitch = $extw[0]; } if ($items[$iS]->exth != '') { $exth = explode(',', $items[$iS]->exth); $items[$iS]->exth = $exth[1]; $items[$iS]->exthswitch = $exth[0]; } $items[$iS]->extpic = 1; $items[$iS]->linkthumbnailpath = ''; } else { $items[$iS]->linkthumbnailpath = PhocaGalleryImageFront::displayCategoryImageOrNoImage($items[$iS]->filename, 'medium'); } if (isset($parentCategory->params)) { $items[$iS]->parentcategoryparams = $parentCategory->params; } // Add the first Image as basic image if ($this->tmpl['switchimage'] == 1) { if ($basicImageSelected == 0) { if ((int) $this->tmpl['switchwidth'] > 0 && (int) $this->tmpl['switchheight'] > 0 && $this->tmpl['switchfixedsize'] == 1) { $wHArray = array('id' => 'PhocaGalleryobjectPicture', 'border' => '0', 'width' => $this->tmpl['switchwidth'], 'height' => $this->tmpl['switchheight']); $wHString = ' id="PhocaGalleryobjectPicture" border="0" width="' . $this->tmpl['switchwidth'] . '" height="' . $this->tmpl['switchheight'] . '"'; } else { $wHArray = array('id' => 'PhocaGalleryobjectPicture', 'border' => '0'); $wHString = ' id="PhocaGalleryobjectPicture" border="0"'; } if (isset($items[$iS]->extpic) && $items[$iS]->extpic != '') { $this->tmpl['basicimage'] = JHtml::_('image', $items[$iS]->extl, '', $wHArray); } else { $this->tmpl['basicimage'] = JHtml::_('image', str_replace('phoca_thumb_m_', 'phoca_thumb_l_', $items[$iS]->linkthumbnailpath), '', $wHString); } $basicImageSelected = 1; } } $thumbLink = PhocaGalleryFileThumbnail::getThumbnailName($items[$iS]->filename, 'large'); $thumbLinkM = PhocaGalleryFileThumbnail::getThumbnailName($items[$iS]->filename, 'medium'); $imgLinkOrig = JURI::base(true) . '/' . PhocaGalleryFile::getFileOriginal($items[$iS]->filename, 1); if ($this->tmpl['detailwindow'] == 7) { $siteLink = JRoute::_('index.php?option=com_phocagallery&view=detail&catid=' . $items[$iS]->catslug . '&id=' . $items[$iS]->slug . '&Itemid=' . JRequest::getVar('Itemid', 0, '', 'int')); } else { $siteLink = JRoute::_('index.php?option=com_phocagallery&view=detail&catid=' . $items[$iS]->catslug . '&id=' . $items[$iS]->slug . '&tmpl=component' . '&Itemid=' . JRequest::getVar('Itemid', 0, '', 'int')); } $imgLink = $thumbLink->rel; if ($extImage) { $imgLink = $items[$iS]->extl; $imgLinkOrig = $items[$iS]->exto; } // Detail Window if ($this->tmpl['detailwindow'] == 2) { $items[$iS]->link = $imgLink; $items[$iS]->link2 = $imgLink; $items[$iS]->linkother = $imgLink; $items[$iS]->linkorig = $imgLinkOrig; } else { if ($this->tmpl['detailwindow'] == 3) { $items[$iS]->link = $imgLink; $items[$iS]->link2 = $imgLink; $items[$iS]->linkother = $siteLink; $items[$iS]->linkorig = $imgLinkOrig; } else { if ($this->tmpl['detailwindow'] == 5) { $items[$iS]->link = $imgLink; $items[$iS]->link2 = $siteLink; $items[$iS]->linkother = $siteLink; $items[$iS]->linkorig = $imgLinkOrig; } else { if ($this->tmpl['detailwindow'] == 6) { $items[$iS]->link = $imgLink; $items[$iS]->link2 = $imgLink; $items[$iS]->linkother = $siteLink; $items[$iS]->linkorig = $imgLinkOrig; // jak data js switch ($this->tmpl['jakdescription']) { case 0: $descriptionJakJs = ''; break; case 2: $descriptionJakJs = PhocaGalleryText::strTrimAll(addslashes($items[$iS]->description)); break; case 3: $descriptionJakJs = PhocaGalleryText::strTrimAll(addslashes($items[$iS]->title)); if ($items[$iS]->description != '') { $descriptionJakJs .= '<br />' . PhocaGalleryText::strTrimAll(addslashes($items[$iS]->description)); } break; case 1: default: $descriptionJakJs = PhocaGalleryText::strTrimAll(addslashes($items[$iS]->title)); break; } $items[$iS]->linknr = $iM; $this->tmpl['jakdatajs'][$iS] = "{alt: '" . PhocaGalleryText::strTrimAll(addslashes($items[$iS]->title)) . "',"; if ($descriptionJakJs != '') { $this->tmpl['jakdatajs'][$iS] .= "description: '" . $descriptionJakJs . "',"; } else { $this->tmpl['jakdatajs'][$iS] .= "description: ' ',"; } if ($extImage) { $this->tmpl['jakdatajs'][$iS] .= "small: {url: '" . $items[$iS]->extm . "'}," . "big: {url: '" . $items[$iS]->extl . "'} }"; } else { $this->tmpl['jakdatajs'][$iS] .= "small: {url: '" . htmlentities(JURI::base(true) . '/' . PhocaGalleryText::strTrimAll(addslashes($thumbLinkM->rel))) . "'}," . "big: {url: '" . htmlentities(JURI::base(true) . '/' . PhocaGalleryText::strTrimAll(addslashes($imgLink))) . "'} }"; } } else { if ($this->tmpl['detailwindow'] == 8) { $items[$iS]->link = $imgLink; $items[$iS]->link2 = $imgLink; $items[$iS]->linkother = $imgLink; $items[$iS]->linkorig = $imgLinkOrig; } else { if ($this->tmpl['detailwindow'] == 9) { $items[$iS]->link = $siteLink; $items[$iS]->link2 = $siteLink; $items[$iS]->linkother = $siteLink; $items[$iS]->linkorig = $imgLinkOrig; } else { if ($this->tmpl['detailwindow'] == 10) { $items[$iS]->link = $imgLink; $items[$iS]->link2 = $imgLink; $items[$iS]->linkother = $siteLink; $items[$iS]->linkorig = $imgLinkOrig; } else { $items[$iS]->link = $siteLink; $items[$iS]->link2 = $siteLink; $items[$iS]->linkother = $siteLink; $items[$iS]->linkorig = $imgLinkOrig; } } } } } } } // Buttons, e.g. shadowbox: // button - click on image // button2 - click on zoom icon (cannot be the same as click on image because of duplicity of images) // buttonOther - other detail window like download, geotagging $items[$iS]->button =& $button; $items[$iS]->button2 =& $button2; $items[$iS]->buttonother =& $buttonOther; $items[$iS]->displayicondetail = $this->tmpl['displayicondetail']; $items[$iS]->displayicondownload = $this->tmpl['displayicondownload']; $items[$iS]->displayiconfolder = 0; $items[$iS]->displayname = $this->tmpl['displayname']; $items[$iS]->displayiconvm = ''; $items[$iS]->startpiclens = $this->tmpl['startpiclens']; $items[$iS]->type = 2; // Trash icon if ($this->tmpl['trash'] == 1) { $items[$iS]->trash = 1; } else { $items[$iS]->trash = 0; } // Publish Unpublish icon if ($this->tmpl['publishunpublish'] == 1) { $items[$iS]->publishunpublish = 1; } else { $items[$iS]->publishunpublish = 0; } // Publish Unpublish icon if ($this->tmpl['approvednotapproved'] == 1) { $items[$iS]->approvednotapproved = 1; } else { $items[$iS]->approvednotapproved = 0; } // PICLENS if ($this->tmpl['enablecooliris']) { $items[$iS]->enable_cooliris = 1; } else { $items[$iS]->enable_cooliris = 0; } // 2. GEOTAGGING IMAGE // We have checked the category so if geotagging is enabled // and there is no geotagging data for category, then $this->tmpl['displayicongeo'] = 0; // so we need to check it for the image too, we need to set the $this->tmpl['displayicongeoimage'] for image only // we are in loop now $this->tmpl['displayicongeoimagetmp'] = 0; if ($this->tmpl['displayicongeoimage'] == 1) { $this->tmpl['displayicongeoimagetmp'] = 1; if (isset($items[$iS]->latitude) && $items[$iS]->latitude != '' && $items[$iS]->latitude != 0 && isset($items[$iS]->longitude) && $items[$iS]->longitude != '' && $items[$iS]->longitude != 0) { } else { $this->tmpl['displayicongeoimagetmp'] = 0; } } // GEOTAGGING if ($this->tmpl['displayicongeo'] == 1 || $this->tmpl['displayicongeoimagetmp'] == 1) { $items[$iS]->displayicongeo = 1; $this->tmpl['displayicongeobox'] = 1; // because of height of box } else { $items[$iS]->displayicongeo = 0; } // Set it back because of loop $this->tmpl['displayicongeoimagetmp'] = 0; // CAMERA INFO if ($this->tmpl['displaycamerainfo'] == 1) { $items[$iS]->camerainfo = 1; } else { $items[$iS]->camerainfo = 0; } // EXT LINK $items[$iS]->displayiconextlink1 = 0; if (isset($items[$iS]->extlink1)) { $items[$iS]->extlink1 = explode("|", $items[$iS]->extlink1, 4); if (isset($items[$iS]->extlink1[0]) && $items[$iS]->extlink1[0] != '' && isset($items[$iS]->extlink1[1])) { $items[$iS]->displayiconextlink1 = 1; $this->tmpl['displayiconextlink1box'] = 1; // because of height of box if (!isset($items[$iS]->extlink1[2])) { $items[$iS]->extlink1[2] = '_self'; } if (!isset($items[$iS]->extlink1[3]) || $items[$iS]->extlink1[3] == 1) { $items[$iS]->extlink1[4] = JHtml::_('image', 'components/com_phocagallery/assets/images/icon-extlink1.' . $this->tmpl['formaticon'], JText::_($items[$iS]->extlink1[1])); $items[$iS]->extlink1[5] = ''; } else { $items[$iS]->extlink1[4] = $items[$iS]->extlink1[1]; $items[$iS]->extlink1[5] = 'style="text-decoration:underline"'; } } else { $items[$iS]->displayiconextlink1 = 0; } } $items[$iS]->displayiconextlink2 = 0; if (isset($items[$iS]->extlink2)) { $items[$iS]->extlink2 = explode("|", $items[$iS]->extlink2, 4); if (isset($items[$iS]->extlink2[0]) && $items[$iS]->extlink2[0] != '' && isset($items[$iS]->extlink2[1])) { $items[$iS]->displayiconextlink2 = 1; $this->tmpl['displayiconextlink2box'] = 1; // because of height of box if (!isset($items[$iS]->extlink2[2])) { $items[$iS]->extlink2[2] = '_self'; } if (!isset($items[$iS]->extlink2[3]) || $items[$iS]->extlink2[3] == 1) { $items[$iS]->extlink2[4] = JHtml::_('image', 'components/com_phocagallery/assets/images/icon-extlink2.' . $this->tmpl['formaticon'], JText::_($items[$iS]->extlink2[1])); $items[$iS]->extlink2[5] = ''; } else { $items[$iS]->extlink2[4] = $items[$iS]->extlink2[1]; $items[$iS]->extlink2[5] = 'style="text-decoration:underline"'; } } else { $items[$iS]->displayiconextlink2 = 0; } } // OVERLIB if (!empty($items[$iS]->description)) { $divPadding = 'padding:5px;'; } else { $divPadding = 'padding:0px;margin:0px;'; } // Resize image in overlib by rate $wHOutput = array(); if (isset($items[$iS]->extpic) && $items[$iS]->extpic != '') { if ((int) $this->tmpl['overlibimagerate'] > 0) { $imgSize = @getimagesize($items[$iS]->extl); $wHOutput = PhocaGalleryImage::getTransformImageArray($imgSize, $this->tmpl['overlibimagerate']); } $oImg = JHtml::_('image', $items[$iS]->extl, '', $wHOutput); } else { if ((int) $this->tmpl['overlibimagerate'] > 0) { $thumbL = str_replace('phoca_thumb_m_', 'phoca_thumb_l_', $items[$iS]->linkthumbnailpath); $imgSize = @getimagesize($thumbL); $wHOutput = PhocaGalleryImage::getTransformImageArray($imgSize, $this->tmpl['overlibimagerate']); } $oImg = JHtml::_('image', str_replace('phoca_thumb_m_', 'phoca_thumb_l_', $items[$iS]->linkthumbnailpath), '', $wHOutput); } switch ($enable_overlib) { case 1: case 4: $uBy = ''; //Uploaded by ... if ($enable_overlib == 4 && isset($items[$iS]->usernameno) && $items[$iS]->usernameno != '') { $uBy = '<div>' . JText::_('COM_PHOCAGALLERY_UPLOADED_BY') . ' <strong>' . $items[$iS]->usernameno . '</strong></div>'; } $items[$iS]->overlib = 1; $items[$iS]->overlib_value = " onmouseover=\"return overlib('" . htmlspecialchars(addslashes('<div class="pg-overlib"><center>' . $oImg . "</center></div>" . $uBy)) . "', CAPTION, '" . htmlspecialchars(addslashes($items[$iS]->title)) . "', BELOW, RIGHT, BGCLASS,'bgPhocaClass', FGCOLOR, '" . $this->tmpl['olfgcolor'] . "', BGCOLOR, '" . $this->tmpl['olbgcolor'] . "', TEXTCOLOR, '" . $this->tmpl['oltfcolor'] . "', CAPCOLOR, '" . $this->tmpl['olcfcolor'] . "');\"" . " onmouseout=\"return nd();\" "; break; case 2: case 5: $uBy = ''; //Uploaded by ... if ($enable_overlib == 5 && isset($items[$iS]->usernameno) && $items[$iS]->usernameno != '') { $uBy = '<div>' . JText::_('COM_PHOCAGALLERY_UPLOADED_BY') . ' <strong>' . $items[$iS]->usernameno . '</strong></div>'; } $items[$iS]->overlib = 2; $items[$iS]->description = str_replace("\n", '<br />', $items[$iS]->description); $items[$iS]->description = str_replace("\r", ' ', $items[$iS]->description); $items[$iS]->overlib_value = " onmouseover=\"return overlib('" . htmlspecialchars(addslashes('<div class="pg-overlib"><div style="' . $divPadding . '">' . $items[$iS]->description . '</div></div>' . $uBy)) . "', CAPTION, '" . htmlspecialchars(addslashes($items[$iS]->title)) . "', BELOW, RIGHT, CSSCLASS, TEXTFONTCLASS, 'fontPhocaClass', FGCLASS, 'fgPhocaClass', BGCLASS, 'bgPhocaClass', CAPTIONFONTCLASS,'capfontPhocaClass', CLOSEFONTCLASS, 'capfontclosePhocaClass');\"" . " onmouseout=\"return nd();\" "; break; case 3: case 6: $uBy = ''; //Uploaded by ... if ($enable_overlib == 6 && isset($items[$iS]->usernameno) && $items[$iS]->usernameno != '') { $uBy = '<div>' . JText::_('COM_PHOCAGALLERY_UPLOADED_BY') . ' <strong>' . $items[$iS]->usernameno . '</strong></div>'; } $items[$iS]->overlib = 3; $items[$iS]->description = str_replace("\n", '<br />', $items[$iS]->description); $items[$iS]->description = str_replace("\r", ' ', $items[$iS]->description); $items[$iS]->overlib_value = " onmouseover=\"return overlib('" . PhocaGalleryText::strTrimAll(htmlspecialchars(addslashes('<div class="pg-overlib"><div style="text-align:center"><center>' . $oImg . '</center></div><div style="' . $divPadding . '">' . $items[$iS]->description . '</div></div>' . $uBy))) . "', CAPTION, '" . htmlspecialchars(addslashes($items[$iS]->title)) . "', BELOW, RIGHT, BGCLASS,'bgPhocaClass', FGCLASS,'fgPhocaClass', FGCOLOR, '" . $this->tmpl['olfgcolor'] . "', BGCOLOR, '" . $this->tmpl['olbgcolor'] . "', TEXTCOLOR, '" . $this->tmpl['oltfcolor'] . "', CAPCOLOR, '" . $this->tmpl['olcfcolor'] . "');\"" . " onmouseout=\"return nd();\" "; break; default: $items[$iS]->overlib = 0; $items[$iS]->overlib_value = ''; break; } // VirtueMart link if ($this->tmpl['displayiconvm'] == 1) { phocagalleryimport('phocagallery.virtuemart.virtuemart'); $vmLink = PhocaGalleryVirtueMart::getVmLink($items[$iS]->vmproductid, $errorMsg); if (!$vmLink) { $items[$iS]->displayiconvm = ''; } else { $items[$iS]->displayiconvm = 1; $items[$iS]->vmlink = $vmLink; $this->tmpl['displayiconvmbox'] = 1; // because of height of box } } else { $items[$iS]->displayiconvm = ''; } // End VM Link // V O T E S - IMAGES if ((int) $this->tmpl['displayratingimg'] == 1) { $items[$iS]->votescountimg = 0; $items[$iS]->votesaverageimg = 0; $items[$iS]->voteswidthimg = 0; $votesStatistics = PhocaGalleryRateImage::getVotesStatistics((int) $items[$iS]->id); if (!empty($votesStatistics->count)) { $items[$iS]->votescountimg = $votesStatistics->count; } if (!empty($votesStatistics->average)) { $items[$iS]->votesaverageimg = $votesStatistics->average; if ($items[$iS]->votesaverageimg > 0) { $items[$iS]->votesaverageimg = round((double) $items[$iS]->votesaverageimg / 0.5) * 0.5; $items[$iS]->voteswidthimg = 16 * $items[$iS]->votesaverageimg; } else { $items[$iS]->votesaverageimg = (int) 0; // not float displaying } } } $items[$iS]->displayiconcommentimg = 0; // C O M M E N T S - IMAGES if ((int) $this->tmpl['displaycommentimg'] == 1) { $items[$iS]->displayiconcommentimg = 1; $this->tmpl['displayiconcommentimgbox'] = 1; // because of height of box } // ALT VALUE $altValue = PhocaGalleryRenderFront::getAltValue($this->tmpl['altvalue'], $items[$iS]->title, $items[$iS]->description, $items[$iS]->metadesc); $items[$iS]->altvalue = $altValue; // TITLE TAG - Description Output in Title Tag $imgAlt = $imgTitle = ''; // Some methods cannot use Alt because of conflicting with Title and popup methods if ($this->tmpl['detailwindow'] == 3 || $this->tmpl['detailwindow'] == 9 || $this->tmpl['detailwindow'] == 10) { $imgAlt = $items[$iS]->altvalue; $imgTitle = $items[$iS]->title; if ($imgAlt == $imgTitle) { $imgAlt = ''; } $items[$iS]->oimgalt = $imgAlt; } else { $items[$iS]->oimgalt = $altValue; } // TITLE TAG - Detail if ($this->tmpl['detailwindow'] == 9 || $this->tmpl['detailwindow'] == 10) { $detailAlt = $items[$iS]->altvalue; $detailTitle = $items[$iS]->title; if ($detailAlt == $detailTitle) { $detailAlt = ''; } } else { $detailAlt = JText::_('COM_PHOCAGALLERY_IMAGE_DETAIL'); $detailTitle = JText::_('COM_PHOCAGALLERY_IMAGE_DETAIL'); } $items[$iS]->oimgaltdetail = $detailAlt; $items[$iS]->oimgtitledetail = $detailTitle; $titleDesc = ''; if ($this->tmpl['displaytitleindescription'] == 1) { $titleDesc .= $items[$iS]->title; if ($items[$iS]->description != '' && $titleDesc != '') { $titleDesc .= ' - '; } } if ($this->tmpl['detailwindow'] == 8 && $this->tmpl['displaydescriptiondetail'] == 1) { $items[$iS]->odesctitletag = strip_tags($titleDesc) . strip_tags($items[$iS]->description); } else { $items[$iS]->odesctitletag = strip_tags($imgTitle); } // Overlib class if ($items[$iS]->overlib == 0) { $items[$iS]->ooverlibclass = array('class' => 'pg-image'); } else { $items[$iS]->ooverlibclass = array('class' => 'pimo pg-image'); } // Tags $items[$iS]->otags = ''; if ($this->tmpl['display_tags_links'] == 1 || $this->tmpl['display_tags_links'] == 3) { $items[$iS]->otags = PhocaGalleryTag::displayTags($items[$iS]->id); if ($items[$iS]->otags != '') { $this->tmpl['displaying_tags_true'] = 1; } } $iS++; } // END IMAGES // Upload Form - - - - - - - - - - - - - // Set FTP form $ftp = !JClientHelper::hasCredentials('ftp'); // PARAMS - Upload size $this->tmpl['uploadmaxsize'] = $this->params->get('upload_maxsize', 3000000); $this->assignRef('session', JFactory::getSession()); //$this->assignRef('uploadmaxsize', $upload_maxsize); // END Upload Form - - - - - - - - - - - - // V O T E S - CATEGORY // Only registered (VOTES + COMMENTS) $this->tmpl['notregistered'] = true; $this->tmpl['name'] = ''; if ($access > 0) { $this->tmpl['notregistered'] = false; $this->tmpl['name'] = $this->tmpl['user']->name; } // VOTES Statistics if ((int) $this->tmpl['displayrating'] == 1 && (int) $id > 0) { $this->tmpl['votescount'] = 0; $this->tmpl['votesaverage'] = 0; $this->tmpl['voteswidth'] = 0; $votesStatistics = PhocaGalleryRateCategory::getVotesStatistics((int) $id); if (!empty($votesStatistics->count)) { $this->tmpl['votescount'] = $votesStatistics->count; } if (!empty($votesStatistics->average)) { $this->tmpl['votesaverage'] = $votesStatistics->average; if ($this->tmpl['votesaverage'] > 0) { $this->tmpl['votesaverage'] = round((double) $this->tmpl['votesaverage'] / 0.5) * 0.5; $this->tmpl['voteswidth'] = 22 * $this->tmpl['votesaverage']; } else { $this->tmpl['votesaverage'] = (int) 0; // not float displaying } } if ((int) $this->tmpl['votescount'] > 1) { $this->tmpl['votestext'] = 'COM_PHOCAGALLERY_VOTES'; } else { $this->tmpl['votestext'] = 'COM_PHOCAGALLERY_VOTE'; } // Already rated? $this->tmpl['alreadyrated'] = PhocaGalleryRateCategory::checkUserVote((int) $id, (int) $this->tmpl['user']->id); } // COMMENTS if ((int) $this->tmpl['displaycomment'] == 1 && (int) $id > 0) { $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/js/comments.js'); $document->addCustomTag(PhocaGalleryRenderFront::renderCommentJS((int) $this->tmpl['maxcommentchar'])); $this->tmpl['alreadycommented'] = PhocaGalleryCommentCategory::checkUserComment((int) $id, (int) $this->tmpl['user']->id); $commentItem = PhocaGalleryCommentCategory::displayComment((int) $id); $this->assignRef('commentitem', $commentItem); } // - - - - - - - - - - - - - - - - // TABS // - - - - - - - - - - - - - - - - $this->tmpl['displaytabs'] = 0; $this->tmpl['currenttab'] = 0; if ((int) $id > 0) { $displayTabs = 0; // R A T I N G if ((int) $this->tmpl['displayrating'] == 0) { $currentTab['rating'] = -1; } else { $currentTab['rating'] = $displayTabs; $displayTabs++; } // C O M M E N T S if ((int) $this->tmpl['displaycomment'] == 0) { $currentTab['comment'] = -1; } else { $currentTab['comment'] = $displayTabs; $displayTabs++; } // S T A T I S T I C S if ((int) $this->tmpl['displaycategorystatistics'] == 0) { $currentTab['statistics'] = -1; } else { $currentTab['statistics'] = $displayTabs; $displayTabs++; $this->tmpl['displaymaincatstat'] = $this->params->get('display_main_cat_stat', 1); $this->tmpl['displaylastaddedcatstat'] = $this->params->get('display_lastadded_cat_stat', 1); $this->tmpl['displaymostviewedcatstat'] = $this->params->get('display_mostviewed_cat_stat', 1); $this->tmpl['countlastaddedcatstat'] = $this->params->get('count_lastadded_cat_stat', 3); $this->tmpl['countmostviewedcatstat'] = $this->params->get('count_mostviewed_cat_stat', 3); if ($this->tmpl['displaymaincatstat'] == 1) { $numberImgP = $model->getCountImages($id, 1); $this->tmpl['numberimgpub'] = $numberImgP->countimg; $numberImgU = $model->getCountImages($id, 0); $this->tmpl['numberimgunpub'] = $numberImgU->countimg; $categoryViewed = $model->getHits($id); $this->tmpl['categoryviewed'] = $categoryViewed->catviewed; } // M O S T V I E W E D I M A G E S //$this->tmpl['mostviewedimg'] = array(); if ($this->tmpl['displaymostviewedcatstat'] == 1) { $mostViewedImages = $model->getStatisticsImages($id, 'hits', 'DESC', $this->tmpl['countmostviewedcatstat']); for ($i = 0; $i < count($mostViewedImages); $i++) { $itemMVI =& $mostViewedImages[$i]; $itemMVI->button =& $button; $itemMVI->button2 =& $button2; $itemMVI->buttonother =& $buttonOther; $itemMVI->displayicondetail = $this->tmpl['displayicondetail']; $itemMVI->displayname = $this->tmpl['displayname']; $itemMVI->type = 2; $altValue = PhocaGalleryRenderFront::getAltValue($this->tmpl['altvalue'], $itemMVI->title, $itemMVI->description, $itemMVI->metadesc); $itemMVI->altvalue = $altValue; $thumbLink = PhocaGalleryFileThumbnail::getThumbnailName($itemMVI->filename, 'large'); $siteLink = JRoute::_('index.php?option=com_phocagallery&view=detail&catid=' . $category->slug . '&id=' . $itemMVI->slug . '&tmpl=component' . '&Itemid=' . JRequest::getVar('Itemid', 0, '', 'int')); $imgLink = JURI::base(true) . '/' . $thumbLink->rel; if ($this->tmpl['detailwindow'] == 2 || $this->tmpl['detailwindow'] == 8) { $itemMVI->link = $imgLink; } else { $itemMVI->link = $siteLink; } //$this->tmpl['mostviewedimg'][] = $itemMVI; if ($itemMVI->extw != '') { $extw = explode(',', $itemMVI->extw); $itemMVI->extw = $extw[1]; } if ($itemMVI->exth != '') { $exth = explode(',', $itemMVI->exth); $itemMVI->exth = $exth[1]; } } $this->tmpl['mostviewedimg'] = $mostViewedImages; } // L A S T A D D E D I M A G E S //$this->tmpl['lastaddedimg'] = array(); if ($this->tmpl['displaylastaddedcatstat'] == 1) { $lastAddedImages = $model->getStatisticsImages($id, 'date', 'DESC', $this->tmpl['countlastaddedcatstat']); for ($i = 0; $i < count($lastAddedImages); $i++) { $itemLAI =& $lastAddedImages[$i]; $itemLAI->link = JRoute::_('index.php?option=com_phocagallery&view=detail&catid=' . $category->slug . '&id=' . $itemLAI->slug . '&tmpl=component' . '&Itemid=' . JRequest::getVar('Itemid', 0, '', 'int')); $itemLAI->button =& $button; $itemLAI->button2 =& $button2; $itemLAI->buttonother =& $buttonOther; $itemLAI->displayicondetail = $this->tmpl['displayicondetail']; $itemLAI->displayname = $this->tmpl['displayname']; $itemLAI->type = 2; $altValue = PhocaGalleryRenderFront::getAltValue($this->tmpl['altvalue'], $itemLAI->title, $itemLAI->description, $itemLAI->metadesc); $itemLAI->altvalue = $altValue; $thumbLink = PhocaGalleryFileThumbnail::getThumbnailName($itemLAI->filename, 'large'); $siteLink = JRoute::_('index.php?option=com_phocagallery&view=detail&catid=' . $category->slug . '&id=' . $itemLAI->slug . '&tmpl=component' . '&Itemid=' . JRequest::getVar('Itemid', 0, '', 'int')); $imgLink = JURI::base(true) . '/' . $thumbLink->rel; if ($this->tmpl['detailwindow'] == 2 || $this->tmpl['detailwindow'] == 8) { $itemLAI->link = $imgLink; } else { $itemLAI->link = $siteLink; } //$this->tmpl['lastaddedimg'][] = $itemLAI; if ($itemLAI->extw != '') { $extw = explode(',', $itemLAI->extw); $itemLAI->extw = $extw[1]; } if ($itemLAI->exth != '') { $exth = explode(',', $itemLAI->exth); $itemLAI->exth = $exth[1]; } } $this->tmpl['lastaddedimg'] = $lastAddedImages; } } // G E O T A G G I N G if ((int) $this->tmpl['displaycategorygeotagging'] == 0) { $currentTab['geotagging'] = -1; } else { if ($map['longitude'] == '') { $currentTab['geotagging'] = -1; } else { if ($map['latitude'] == '') { $currentTab['geotagging'] = -1; } else { $currentTab['geotagging'] = $displayTabs; $displayTabs++; $this->tmpl['googlemapsapikey'] = $this->params->get('google_maps_api_key', ''); $this->tmpl['categorymapwidth'] = $this->params->get('category_map_width', ''); $this->tmpl['categorymapheight'] = $this->params->get('category_map_height', 400); } } } if ((int) $this->tmpl['displaycreatecat'] == 0) { $currentTab['createsubcategory'] = -1; } else { $currentTab['createsubcategory'] = $displayTabs; $displayTabs++; } // = = = = = = = = = = // U P L O A D // = = = = = = = = = = $this->tmpl['ftp'] = !JClientHelper::hasCredentials('ftp'); // SEF problem $isThereQM = false; $isThereQM = preg_match("/\\?/i", $this->tmpl['action']); if ($isThereQM) { $amp = '&'; } else { $amp = '?'; } $isThereTab = false; $isThereTab = preg_match("/tab=/i", $this->tmpl['action']); if ((int) $this->tmpl['displayupload'] == 0) { $currentTab['upload'] = -1; } else { $currentTab['upload'] = $displayTabs; $displayTabs++; } if ((int) $this->tmpl['ytbupload'] == 0 || (int) $this->tmpl['displayupload'] == 0) { $currentTab['ytbupload'] = -1; } else { $currentTab['ytbupload'] = $displayTabs; $displayTabs++; } if ((int) $this->tmpl['enablemultiple'] < 1 || (int) $this->tmpl['displayupload'] == 0) { $currentTab['multipleupload'] = -1; } else { $currentTab['multipleupload'] = $displayTabs; $displayTabs++; } if ((int) $this->tmpl['enablejava'] < 1 || (int) $this->tmpl['displayupload'] == 0) { $currentTab['javaupload'] = -1; } else { $currentTab['javaupload'] = $displayTabs; $displayTabs++; } $this->tmpl['displaytabs'] = $displayTabs; $this->tmpl['currenttab'] = $currentTab; $this->tmpl['action'] = htmlspecialchars($this->tmpl['action']); // - - - - - - - - - - - // Upload // - - - - - - - - - - - if ((int) $this->tmpl['displayupload'] == 1) { $sU = new PhocaGalleryFileUploadSingle(); $sU->returnUrl = $this->tmpl['action'] . $amp . 'task=upload&' . $this->session->getName() . '=' . $this->session->getId() . '&' . JUtility::getToken() . '=1&viewback=category&tab=' . $this->tmpl['currenttab']['upload']; $sU->tab = $this->tmpl['currenttab']['upload']; $this->tmpl['su_output'] = $sU->getSingleUploadHTML(1); $this->tmpl['su_url'] = $this->tmpl['action'] . $amp . 'task=upload&' . $this->session->getName() . '=' . $this->session->getId() . '&' . JUtility::getToken() . '=1&viewback=category&tab=' . $this->tmpl['currenttab']['upload']; } // - - - - - - - - - - - // Youtube Upload (single upload form can be used) // - - - - - - - - - - - if ((int) $this->tmpl['ytbupload'] == 1 && $this->tmpl['displayupload'] == 1) { $sYU = new PhocaGalleryFileUploadSingle(); $sYU->returnUrl = $this->tmpl['action'] . $amp . 'task=ytbupload&' . $this->session->getName() . '=' . $this->session->getId() . '&' . JUtility::getToken() . '=1&viewback=category&tab=' . $this->tmpl['currenttab']['ytbupload']; $sYU->tab = $this->tmpl['currenttab']['ytbupload']; $this->tmpl['syu_output'] = $sYU->getSingleUploadHTML(1); $this->tmpl['syu_url'] = $this->tmpl['action'] . $amp . 'task=ytbupload&' . $this->session->getName() . '=' . $this->session->getId() . '&' . JUtility::getToken() . '=1&viewback=category&tab=' . $this->tmpl['currenttab']['ytbupload']; } // - - - - - - - - - - - // Multiple Upload // - - - - - - - - - - - // Get infos from multiple upload $muFailed = JRequest::getVar('mufailed', '0', '', 'int'); $muUploaded = JRequest::getVar('muuploaded', '0', '', 'int'); $this->tmpl['mu_response_msg'] = $muUploadedMsg = ''; if ($muUploaded > 0) { $muUploadedMsg = JText::_('COM_PHOCAGALLERY_COUNT_UPLOADED_IMG') . ': ' . $muUploaded; } if ($muFailed > 0) { $muFailedMsg = JText::_('COM_PHOCAGALLERY_COUNT_NOT_UPLOADED_IMG') . ': ' . $muFailed; } if ($muFailed > 0 && $muUploaded > 0) { $this->tmpl['mu_response_msg'] = '<div class="pgunsetmsg">' . JText::_('COM_PHOCAGALLERY_COUNT_UPLOADED_IMG') . ': ' . $muUploaded . '<br />' . JText::_('COM_PHOCAGALLERY_COUNT_NOT_UPLOADED_IMG') . ': ' . $muFailed . '</div>'; } else { if ($muFailed > 0 && $muUploaded == 0) { $this->tmpl['mu_response_msg'] = '<div class="pgerrormsg">' . JText::_('COM_PHOCAGALLERY_COUNT_NOT_UPLOADED_IMG') . ': ' . $muFailed . '</div>'; } else { if ($muFailed == 0 && $muUploaded > 0) { $this->tmpl['mu_response_msg'] = '<div class="pgsuccessmsg">' . JText::_('COM_PHOCAGALLERY_COUNT_UPLOADED_IMG') . ': ' . $muUploaded . '</div>'; } else { $this->tmpl['mu_response_msg'] = ''; } } } if ((int) $this->tmpl['enablemultiple'] == 1 && (int) $this->tmpl['displayupload'] == 1) { PhocaGalleryFileUploadMultiple::renderMultipleUploadLibraries(); $mU = new PhocaGalleryFileUploadMultiple(); $mU->frontEnd = 1; $mU->method = $this->tmpl['multipleuploadmethod']; $mU->url = $this->tmpl['action'] . $amp . 'controller=category&task=multipleupload&' . $this->session->getName() . '=' . $this->session->getId() . '&' . JUtility::getToken() . '=1&tab=' . $this->tmpl['currenttab']['multipleupload']; $mU->reload = $this->tmpl['action'] . $amp . $this->session->getName() . '=' . $this->session->getId() . '&' . JUtility::getToken() . '=1&tab=' . $this->tmpl['currenttab']['multipleupload']; $mU->maxFileSize = PhocaGalleryFileUploadMultiple::getMultipleUploadSizeFormat($this->tmpl['uploadmaxsize']); $mU->chunkSize = '1mb'; $mU->imageHeight = $this->tmpl['multipleresizeheight']; $mU->imageWidth = $this->tmpl['multipleresizewidth']; $mU->imageQuality = 100; $mU->renderMultipleUploadJS(0, $this->tmpl['multipleuploadchunk']); $this->tmpl['mu_output'] = $mU->getMultipleUploadHTML(); } // - - - - - - - - - - - // Java Upload // - - - - - - - - - - - if ((int) $this->tmpl['enablejava'] == 1 && (int) $this->tmpl['displayupload'] == 1) { $jU = new PhocaGalleryFileUploadJava(); $jU->width = $this->tmpl['javaboxwidth']; $jU->height = $this->tmpl['javaboxheight']; $jU->resizewidth = $this->tmpl['multipleresizewidth']; $jU->resizeheight = $this->tmpl['multipleresizeheight']; $jU->uploadmaxsize = $this->tmpl['uploadmaxsize']; $jU->returnUrl = $this->tmpl['action'] . $amp . $this->session->getName() . '=' . $this->session->getId() . '&' . JUtility::getToken() . '=1&tab=' . $this->tmpl['currenttab']['javaupload']; $jU->url = $this->tmpl['action'] . $amp . 'controller=category&task=javaupload&' . $this->session->getName() . '=' . $this->session->getId() . '&' . JUtility::getToken() . '=1&tab=' . $this->tmpl['currenttab']['javaupload']; $jU->source = JURI::root(true) . '/components/com_phocagallery/assets/java/jupload/wjhk.jupload.jar'; $this->tmpl['ju_output'] = $jU->getJavaUploadHTML(); } } // ADD STATISTICS if ((int) $id > 0) { $model->hit($id); } // ADD JAK DATA CSS style if ($this->tmpl['detailwindow'] == 6) { $document->addCustomTag('<script type="text/javascript">' . 'var dataJakJs = [' . implode($this->tmpl['jakdatajs'], ',') . ']' . '</script>'); } // Detail Window - will be popup or not if ($this->tmpl['detailwindow'] == 7) { $this->tmpl['tmplcom'] = ''; $this->tmpl['tmplcomcomments'] = ''; } else { $this->tmpl['tmplcom'] = '&tmpl=component'; $this->tmpl['tmplcomcomments'] = '&tmpl=component'; } if ($this->tmpl['display_comment_nopup'] == 1) { $this->tmpl['tmplcomcomments'] = ''; } // Height of all boxes $this->tmpl['imageheight'] = PhocaGalleryImage::correctSize($this->tmpl['imageheight'], 100, 100, 0); $this->tmpl['imagewidth'] = PhocaGalleryImage::correctSize($this->tmpl['imagewidth'], 100, 120, 20); $this->tmpl['imageheight']['boxsize'] = PhocaGalleryImage::setBoxSize($this->tmpl['imageheight'], $this->tmpl['imagewidth'], $this->tmpl['displayname'], $this->tmpl['displayicondetail'], $this->tmpl['displayicondownload'], $this->tmpl['displayiconvmbox'], $this->tmpl['startpiclens'], $this->tmpl['trash'], $this->tmpl['publishunpublish'], $this->tmpl['displayicongeobox'], $this->tmpl['displaycamerainfo'], $this->tmpl['displayiconextlink1box'], $this->tmpl['displayiconextlink2box'], $this->tmpl['categoryboxspace'], $this->tmpl['displayimageshadow'], $this->tmpl['displayratingimg'], $this->tmpl['displayiconfolder'], $this->tmpl['imgdescboxheight'], $this->tmpl['approvednotapproved'], $this->tmpl['displayiconcommentimgbox'], $this->tmpl['displaying_tags_true']); if ($this->tmpl['displayimageshadow'] != 'none') { $this->tmpl['imageheight']['size'] = $this->tmpl['imageheight']['size'] + 18; $this->tmpl['imagewidth']['size'] = $this->tmpl['imagewidth']['size'] + 18; } //$this->assignRef( 'params' , $this->params); $this->assignRef('map', $map); $this->assignRef('items', $items); // Category View $this->assignRef('itemscv', $itemsCV); // Categories View in Category View $this->assignRef('category', $category); $this->assignRef('button', $button); $this->assignRef('button2', $button2); $this->assignRef('buttonother', $buttonOther); $this->_prepareDocument($category); parent::display($tpl); }
public function getJsSlideshow($catid, $id, $slideshow = 0, $catidSlug, $idSlug) { jimport('joomla.filesystem.file'); phocagalleryimport('phocagallery.file.filethumbnail'); $app = JFactory::getApplication(); $db = JFactory::getDBO(); $params = $app->getParams(); //$image_ordering = $params->get( 'image_ordering', 1 ); //$imageOrdering = PhocaGalleryOrdering::getOrderingString($image_ordering); $detailWindow = $params->get('detail_window', 0); if ($detailWindow == 7) { $tmplCom = ''; } else { $tmplCom = '&tmpl=component'; } // 1. GET DATA FOR JAVASCRIPT $jsSlideshowData['files'] = ''; //Get filename of all photos $query = 'SELECT a.id, a.filename, a.extl, a.description' . ' FROM #__phocagallery AS a' . ' LEFT JOIN #__phocagallery_img_votes_statistics AS r ON r.imgid = a.id' . ' WHERE a.catid=' . (int) $catid . ' AND a.published = 1 AND a.approved = 1' . $this->_imgordering['output']; $db->setQuery($query); $filenameAll = $db->loadObjectList(); $countImg = 0; $endComma = ','; if (!empty($filenameAll)) { $countFilename = count($filenameAll); foreach ($filenameAll as $key => $value) { $countImg++; if ($countImg == $countFilename) { $endComma = ''; } $filterTags = ''; $filterAttrs = ''; $filter = new JFilterInput($filterTags, $filterAttrs, 1, 1, 1); $description = $filter->clean(PhocaGalleryText::strTrimAll($value->description), 'html'); $description = addslashes($value->description); $description = trim($description); $description = str_replace("\n", '', $description); $description = str_replace("\r", '', $description); if (isset($value->extl) && $value->extl != '') { $jsSlideshowData['files'] .= '["' . $value->extl . '", "", "", "' . $description . '"]' . $endComma . "\n"; } else { $fileThumbnail = PhocaGalleryFileThumbnail::getThumbnailName($value->filename, 'large'); $imgLink = JURI::base(true) . '/' . $fileThumbnail->rel; if (JFile::exists($fileThumbnail->abs)) { $jsSlideshowData['files'] .= '["' . $imgLink . '", "", "", "' . $description . '"]' . $endComma . "\n"; } else { $fileThumbnail = JURI::base(true) . '/' . "media/com_phocagallery/images/phoca_thumb_l_no_image.png"; $jsSlideshowData['files'] .= '["' . $fileThumbnail . '", "", "", ""]' . $endComma . "\n"; } } } } // 2. GET DATA FOR DISPLAYING SLIDESHOW BUTTONS //We can display slideshow option if there is more than one foto //But in database there can be more photos - more rows but if file is in db but it doesn't exist, we don't count it //$countImg = SQLQuery::selectOne($mdb2, "SELECT COUNT(*) FROM $db_gallery WHERE siteid=$id"); if ($countImg > 1) { //Data from GET['COM_PHOCAGALLERY_SLIDESHOW'] if ($slideshow == 1) { $jsSlideshowData['icons'] = '<div class="pg-imgbgd">' . '<a href="' . JRoute::_('index.php?option=com_phocagallery&view=detail&catid=' . $catidSlug . '&id=' . $idSlug . $tmplCom . '&phocaslideshow=0' . '&Itemid=' . JRequest::getVar('Itemid', 1, 'get', 'int')) . '" title="' . JText::_('COM_PHOCAGALLERY_STOP_SLIDESHOW') . '" >' . JHTML::_('image', 'media/com_phocagallery/images/icon-stop.png', JText::_('COM_PHOCAGALLERY_STOP_SLIDESHOW')) . '</a></div>' . '</td><td align="center">' . JHTML::_('image', 'media/com_phocagallery/images/icon-play-grey.png', JText::_('COM_PHOCAGALLERY_START_SLIDESHOW')); } else { $jsSlideshowData['icons'] = JHTML::_('image', 'media/com_phocagallery/images/icon-stop-grey.png', JText::_('COM_PHOCAGALLERY_STOP_SLIDESHOW')) . '</td><td align="center">' . '<div class="pg-imgbgd">' . '<a href="' . JRoute::_('index.php?option=com_phocagallery&view=detail&catid=' . $catidSlug . '&id=' . $idSlug . '&phocaslideshow=1' . $tmplCom . '&Itemid=' . JRequest::getVar('Itemid', 1, 'get', 'int')) . '" title="' . JText::_('COM_PHOCAGALLERY_START_SLIDESHOW') . '">' . JHTML::_('image', 'media/com_phocagallery/images/icon-play.png', JText::_('COM_PHOCAGALLERY_START_SLIDESHOW')) . '</a></div>'; } } else { $jsSlideshowData['icons'] = ''; } return $jsSlideshowData; //files (javascript) and icons (buttons) }
function displayCategoryImageOrNoImage($filename, $size) { phocagalleryimport('phocagallery.image.image'); phocagalleryimport('phocagallery.path.path'); phocagalleryimport('phocagallery.file.filethumbnail'); $path =& PhocaGalleryPath::getPath(); $fileThumbnail = PhocaGalleryFileThumbnail::getThumbnailName($filename, $size); $formatIcon =& PhocaGalleryImage::getFormatIcon(); //Thumbnail_file doesn't exists if (!JFile::exists($fileThumbnail->abs)) { switch ($size) { case 'large': $fileThumbnail->rel = $path->image_rel_front . 'phoca_thumb_l_no_image.' . $formatIcon; break; case 'medium': $fileThumbnail->rel = $path->image_rel_front . 'phoca_thumb_m_no_image.' . $formatIcon; break; default: case 'small': $fileThumbnail->rel = $path->image_rel_front . 'phoca_thumb_s_no_image.' . $formatIcon; break; } } return $fileThumbnail->rel; }
public static function rotateImage($thumbName, $size, $angle = 90, &$errorMsg) { $params = JComponentHelper::getParams('com_phocagallery'); $jfile_thumbs = $params->get('jfile_thumbs', 1); $jpeg_quality = $params->get('jpeg_quality', 85); $jpeg_quality = PhocaGalleryImage::getJpegQuality($jpeg_quality); // Try to change the size $memory = 8; $memoryLimitChanged = 0; $memory = (int) ini_get('memory_limit'); if ($memory == 0) { $memory = 8; } $fileIn = $thumbName->abs; $fileOut = $thumbName->abs; if ($fileIn !== '' && file_exists($fileIn)) { //array of width, height, IMAGETYPE, "height=x width=x" (string) list($w, $h, $type) = GetImageSize($fileIn); // we got the info from GetImageSize if ($w > 0 && $h > 0 && $type != '') { // Change the $w against $h because of rotating $src = array(0, 0, $w, $h); $dst = array(0, 0, $h, $w); } else { $errorMsg = 'ErrorWorHorType'; return false; } // Try to increase memory if ($memory < 50) { ini_set('memory_limit', '50M'); $memoryLimitChanged = 1; } switch ($type) { case IMAGETYPE_JPEG: if (!function_exists('ImageCreateFromJPEG')) { $errorMsg = 'ErrorNoJPGFunction'; return false; } //$image1 = ImageCreateFromJPEG($fileIn); try { $image1 = ImageCreateFromJPEG($fileIn); } catch (\Exception $exception) { $errorMsg = 'ErrorJPGFunction'; return false; } break; case IMAGETYPE_PNG: if (!function_exists('ImageCreateFromPNG')) { $errorMsg = 'ErrorNoPNGFunction'; return false; } //$image1 = ImageCreateFromPNG($fileIn); try { $image1 = ImageCreateFromPNG($fileIn); } catch (\Exception $exception) { $errorMsg = 'ErrorPNGFunction'; return false; } break; case IMAGETYPE_GIF: if (!function_exists('ImageCreateFromGIF')) { $errorMsg = 'ErrorNoGIFFunction'; return false; } //$image1 = ImageCreateFromGIF($fileIn); try { $image1 = ImageCreateFromGIF($fileIn); } catch (\Exception $exception) { $errorMsg = 'ErrorGIFFunction'; return false; } break; case IMAGETYPE_WBMP: if (!function_exists('ImageCreateFromWBMP')) { $errorMsg = 'ErrorNoWBMPFunction'; return false; } //$image1 = ImageCreateFromWBMP($fileIn); try { $image1 = ImageCreateFromWBMP($fileIn); } catch (\Exception $exception) { $errorMsg = 'ErrorWBMPFunction'; return false; } break; default: $errorMsg = 'ErrorNotSupportedImage'; return false; break; } if ($image1) { // Building image for ROTATING /* $image2 = @ImageCreateTruecolor($dst[2], $dst[3]); if (!$image2) { return 'ErrorNoImageCreateTruecolor'; }*/ /* if(!function_exists("imagerotate")) { $errorMsg = 'ErrorNoImageRotate'; return false; }*/ switch ($type) { case IMAGETYPE_PNG: // imagealphablending($image1, false); // imagesavealpha($image1, true); if (!function_exists("imagecolorallocate")) { $errorMsg = 'ErrorNoImageColorAllocate'; return false; } if (!function_exists("imagefill")) { $errorMsg = 'ErrorNoImageFill'; return false; } if (!function_exists("imagecolortransparent")) { $errorMsg = 'ErrorNoImageColorTransparent'; return false; } $colBlack = imagecolorallocate($image1, 0, 0, 0); if (!function_exists("imagerotate")) { $image2 = PhocaGalleryImageRotate::imageRotate($image1, $angle, $colBlack); } else { $image2 = imagerotate($image1, $angle, $colBlack); } imagefill($image2, 0, 0, $colBlack); imagecolortransparent($image2, $colBlack); break; default: if (!function_exists("imagerotate")) { $image2 = PhocaGalleryImageRotate::imageRotate($image1, $angle, 0); } else { $image2 = imageRotate($image1, $angle, 0); } break; } // Get the image size and resize the rotated image if necessary $rotateWidth = imagesx($image2); // Get the size from rotated image $rotateHeight = imagesy($image2); // Get the size from rotated image $parameterSize = PhocaGalleryFileThumbnail::getThumbnailResize($size); $newWidth = $parameterSize['width']; // Get maximum sizes, they can be displayed $newHeight = $parameterSize['height']; // Get maximum sizes, they can be displayed $scale = $newWidth / $rotateWidth < $newHeight / $rotateHeight ? $newWidth / $rotateWidth : $newHeight / $rotateHeight; // smaller rate $src = array(0, 0, $rotateWidth, $rotateHeight); $dst = array(0, 0, floor($rotateWidth * $scale), floor($rotateHeight * $scale)); // If original is smaller than thumbnail size, don't resize it if ($src[2] > $dst[2] || $src[3] > $dst[3]) { // Building image for RESIZING THE ROTATED IMAGE $image3 = @ImageCreateTruecolor($dst[2], $dst[3]); if (!$image3) { $errorMsg = 'ErrorNoImageCreateTruecolor'; return false; } ImageCopyResampled($image3, $image2, $dst[0], $dst[1], $src[0], $src[1], $dst[2], $dst[3], $src[2], $src[3]); switch ($type) { case IMAGETYPE_PNG: // imagealphablending($image2, true); // imagesavealpha($image2, true); if (!function_exists("imagecolorallocate")) { $errorMsg = 'ErrorNoImageColorAllocate'; return false; } if (!function_exists("imagefill")) { $errorMsg = 'ErrorNoImageFill'; return false; } if (!function_exists("imagecolortransparent")) { $errorMsg = 'ErrorNoImageColorTransparent'; return false; } $colBlack = imagecolorallocate($image3, 0, 0, 0); imagefill($image3, 0, 0, $colBlack); imagecolortransparent($image3, $colBlack); break; } } else { $image3 = $image2; } switch ($type) { case IMAGETYPE_JPEG: if (!function_exists('ImageJPEG')) { $errorMsg = 'ErrorNoJPGFunction'; return false; } if ($jfile_thumbs == 1) { ob_start(); if (!@ImageJPEG($image3, NULL, $jpeg_quality)) { ob_end_clean(); $errorMsg = 'ErrorWriteFile'; return false; } $imgJPEGToWrite = ob_get_contents(); ob_end_clean(); if (!JFile::write($fileOut, $imgJPEGToWrite)) { $errorMsg = 'ErrorWriteFile'; return false; } } else { if (!@ImageJPEG($image3, $fileOut, $jpeg_quality)) { $errorMsg = 'ErrorWriteFile'; return false; } } break; case IMAGETYPE_PNG: if (!function_exists('ImagePNG')) { $errorMsg = 'ErrorNoPNGFunction'; return false; } if ($jfile_thumbs == 1) { ob_start(); if (!@ImagePNG($image3, NULL)) { ob_end_clean(); $errorMsg = 'ErrorWriteFile'; return false; } $imgPNGToWrite = ob_get_contents(); ob_end_clean(); if (!JFile::write($fileOut, $imgPNGToWrite)) { $errorMsg = 'ErrorWriteFile'; return false; } } else { if (!@ImagePNG($image3, $fileOut)) { $errorMsg = 'ErrorWriteFile'; return false; } } break; case IMAGETYPE_GIF: if (!function_exists('ImageGIF')) { $errorMsg = 'ErrorNoGIFFunction'; return false; } if ($jfile_thumbs == 1) { ob_start(); if (!@ImageGIF($image3, NULL)) { ob_end_clean(); $errorMsg = 'ErrorWriteFile'; return false; } $imgGIFToWrite = ob_get_contents(); ob_end_clean(); if (!JFile::write($fileOut, $imgGIFToWrite)) { $errorMsg = 'ErrorWriteFile'; return false; } } else { if (!@ImageGIF($image3, $fileOut)) { $errorMsg = 'ErrorWriteFile'; return false; } } break; default: $errorMsg = 'ErrorNotSupportedImage'; return false; break; } // free memory ImageDestroy($image1); // Original ImageDestroy($image2); // Rotated ImageDestroy($image3); // Resized if ($memoryLimitChanged == 1) { $memoryString = $memory . 'M'; ini_set('memory_limit', $memoryString); } return true; // Success } else { $errorMsg = PhocaGalleryUtils::setMessage($errorMsg, JText::_('COM_PHOCAGALLERY_ERROR_IMAGE_NOT_PROCESS')); return false; } if ($memoryLimitChanged == 1) { $memoryString = $memory . 'M'; ini_set('memory_limit', $memoryString); } } $errorMsg = JText::_('COM_PHOCAGALLERY_FILEORIGINAL_NOT_EXISTS'); return false; }
function display($tpl = null) { $app = JFactory::getApplication(); // Don't load all the framework if nonsense $id = $app->input->get('id', 0, 'int'); $this->tagId = $app->input->get('tagid', 0, 'int'); if ($id < 1 && $this->tagId < 1) { JError::raiseError(404, JText::_("COM_PHOCAGALLERY_CATEGORY_IS_UNPUBLISHED")); exit; } $document = JFactory::getDocument(); $uri = JFactory::getURI(); $menus = $app->getMenu(); $menu = $menus->getActive(); $this->params = $app->getParams(); $this->tmpl['user'] = JFactory::getUser(); $this->tmpl['action'] = $uri->toString(); $this->tmpl['path'] = PhocaGalleryPath::getPath(); $limitStart = $app->input->get('limitstart', 0, 'int'); $this->tmpl['tab'] = $app->input->get('tab', 0, 'int'); $this->tmpl['pl'] = 'index.php?option=com_users&view=login&return=' . base64_encode($uri->toString()); $this->tmpl['icon_path'] = 'media/com_phocagallery/images/'; $this->tmpl['plcat'] = 'index.php?option=com_phocagallery&view=category'; $this->itemId = $app->input->get('Itemid', 0, 'int'); $neededAccessLevels = PhocaGalleryAccess::getNeededAccessLevels(); $access = PhocaGalleryAccess::isAccess($this->tmpl['user']->getAuthorisedViewLevels(), $neededAccessLevels); // CSS PhocaGalleryRenderFront::renderAllCSS(); // LIBRARY $library = PhocaGalleryLibrary::getLibrary(); $libraries['pg-group-shadowbox'] = $library->getLibrary('pg-group-shadowbox'); $libraries['pg-group-highslide'] = $library->getLibrary('pg-group-highslide'); $libraries['pg-group-jak'] = $library->getLibrary('pg-group-jak'); // PARAMS $this->tmpl['image_categories_size_cv'] = $this->params->get('image_categories_size_cv', 1); $this->tmpl['display_cat_name_title'] = $this->params->get('display_cat_name_title', 1); $this->tmpl['display_categories_cv'] = $this->params->get('display_categories_cv', 0); $this->tmpl['switch_image'] = $this->params->get('switch_image', 0); $this->tmpl['switch_height'] = $this->params->get('switch_height', 480); $this->tmpl['switch_width'] = $this->params->get('switch_width', 640); $this->tmpl['switch_fixed_size'] = $this->params->get('switch_fixed_size', 0); $this->tmpl['show_page_heading'] = $this->params->get('show_page_heading', 1); $this->tmpl['phocagallery_width'] = $this->params->get('phocagallery_width', ''); $this->tmpl['phocagallery_center'] = $this->params->get('phocagallery_center', ''); $this->tmpl['imagewidth'] = $this->params->get('medium_image_width', 100); $this->tmpl['imageheight'] = $this->params->get('medium_image_height', 100); $this->tmpl['picasa_correct_width_m'] = (int) $this->params->get('medium_image_width', 100); $this->tmpl['picasa_correct_height_m'] = (int) $this->params->get('medium_image_height', 100); $this->tmpl['picasa_correct_width_s'] = (int) $this->params->get('small_image_width', 50); $this->tmpl['picasa_correct_height_s'] = (int) $this->params->get('small_image_height', 50); $this->tmpl['picasa_correct_width_l'] = (int) $this->params->get('large_image_width', 640); $this->tmpl['picasa_correct_height_l'] = (int) $this->params->get('large_image_height', 480); $this->tmpl['category_box_space'] = $this->params->get('category_box_space', 0); $this->tmpl['detail_window'] = $this->params->get('detail_window', 0); $this->tmpl['display_name'] = $this->params->get('display_name', 1); $this->tmpl['display_rating'] = $this->params->get('display_rating', 0); $this->tmpl['display_rating_img'] = $this->params->get('display_rating_img', 0); $this->tmpl['display_comment'] = $this->params->get('display_comment', 0); $this->tmpl['display_comment_img'] = $this->params->get('display_comment_img', 0); $this->tmpl['display_subcategory'] = $this->params->get('display_subcategory', 1); $this->tmpl['display_icon_detail'] = $this->params->get('display_icon_detail', 1); $this->tmpl['display_icon_download'] = $this->params->get('display_icon_download', 2); $this->tmpl['display_icon_vm'] = $this->params->get('display_icon_vm', 0); $this->tmpl['display_img_desc_box'] = $this->params->get('display_img_desc_box', 0); $this->tmpl['diff_thumb_height'] = $this->params->get('diff_thumb_height', 0); $this->tmpl['overlib_attributes'] = $this->params->get('overlib_attributes', "BELOW, RIGHT, CSSCLASS, TEXTFONTCLASS, 'fontPhocaClass', FGCLASS, 'fgPhocaClass', BGCLASS, 'bgPhocaClass', CAPTIONFONTCLASS,'capfontPhocaClass', CLOSEFONTCLASS, 'capfontclosePhocaClass'"); // Switch image JS $this->tmpl['basic_image'] = ''; if ($this->tmpl['switch_image'] == 1) { $this->tmpl['wait_image'] = $this->tmpl['path']->image_rel_front_full . 'icon-switch.gif'; $this->tmpl['basic_image'] = $this->tmpl['path']->image_rel_front_full . 'phoca_thumb_l_no_image.png'; $document->addCustomTag(PhocaGalleryRenderFront::switchImage($this->tmpl['wait_image'])); $basic_imageSelected = 0; // we have not selected the basic image yet } $display_cat_name_breadcrumbs = $this->params->get('display_cat_name_breadcrumbs', 1); $popup_width = $this->params->get('front_modal_box_width', 680); $popup_height = $this->params->get('front_modal_box_height', 560); $this->tmpl['maxuploadchar'] = $this->params->get('max_upload_char', 1000); $this->tmpl['maxcommentchar'] = $this->params->get('max_comment_char', 1000); $this->tmpl['maxcreatecatchar'] = $this->params->get('max_create_cat_char', 1000); $this->tmpl['commentwidth'] = $this->params->get('comment_width', 500); $this->tmpl['displaycategorygeotagging'] = $this->params->get('display_category_geotagging', 0); $this->tmpl['displaycategorystatistics'] = $this->params->get('display_category_statistics', 0); // Used for Highslide JS (only image) $this->tmpl['displaydescriptiondetail'] = $this->params->get('display_description_detail', 0); $this->tmpl['display_title_description'] = $this->params->get('display_title_description', 0); $this->tmpl['charlengthname'] = $this->params->get('char_length_name', 15); $this->tmpl['char_cat_length_name'] = $this->params->get('char_cat_length_name', 9); $this->tmpl['display_icon_geo'] = $this->params->get('display_icon_geotagging', 0); // Check the category $this->tmpl['display_icon_geoimage'] = $this->params->get('display_icon_geotagging', 0); // Check the image $this->tmpl['display_camera_info'] = $this->params->get('display_camera_info', 0); // PARAMS - Upload $this->tmpl['multipleuploadchunk'] = $this->params->get('multiple_upload_chunk', 0); $this->tmpl['displaytitleupload'] = $this->params->get('display_title_upload', 0); $this->tmpl['displaydescupload'] = $this->params->get('display_description_upload', 0); $this->tmpl['enablejava'] = $this->params->get('enable_java', -1); $this->tmpl['enablemultiple'] = $this->params->get('enable_multiple', 0); $this->tmpl['multipleuploadmethod'] = $this->params->get('multiple_upload_method', 1); $this->tmpl['multipleresizewidth'] = $this->params->get('multiple_resize_width', -1); $this->tmpl['multipleresizeheight'] = $this->params->get('multiple_resize_height', -1); $this->tmpl['javaboxwidth'] = $this->params->get('java_box_width', 480); $this->tmpl['javaboxheight'] = $this->params->get('java_box_height', 480); $this->tmpl['large_image_width'] = $this->params->get('large_image_width', 640); $this->tmpl['large_image_height'] = $this->params->get('large_image_height', 640); $this->tmpl['uploadmaxsize'] = $this->params->get('upload_maxsize', 3145728); $this->tmpl['uploadmaxsizeread'] = PhocaGalleryFile::getFileSizeReadable($this->tmpl['uploadmaxsize']); $this->tmpl['uploadmaxreswidth'] = $this->params->get('upload_maxres_width', 3072); $this->tmpl['uploadmaxresheight'] = $this->params->get('upload_maxres_height', 2304); $display_description_detail = $this->params->get('display_description_detail', 0); $description_detail_height = $this->params->get('description_detail_height', 16); $detail_buttons = $this->params->get('detail_buttons', 1); //$modal_box_overlay_color = $this->params->get( 'modal_box_overlay_color', '#000000' ); $modal_box_overlay_opacity = $this->params->get('modal_box_overlay_opacity', 0.3); //$modal_box_border_color = $this->params->get( 'modal_box_border_color', '#6b6b6b' ); //$modal_box_border_width = $this->params->get( 'modal_box_border_width', '2' ); $this->tmpl['enablecooliris'] = $this->params->get('enable_cooliris', 0); $highslide_class = $this->params->get('highslide_class', 'rounded-white'); $highslide_opacity = $this->params->get('highslide_opacity', 0); $highslide_outline_type = $this->params->get('highslide_outline_type', 'rounded-white'); $highslide_fullimg = $this->params->get('highslide_fullimg', 0); $highslide_slideshow = $this->params->get('highslide_slideshow', 1); $highslide_close_button = $this->params->get('highslide_close_button', 0); $this->tmpl['jakslideshowdelay'] = $this->params->get('jak_slideshow_delay', 5); $this->tmpl['jakorientation'] = $this->params->get('jak_orientation', 'none'); $this->tmpl['jakdescription'] = $this->params->get('jak_description', 1); $this->tmpl['jakdescriptionheight'] = $this->params->get('jak_description_height', 0); $this->tmpl['categoryimageordering'] = $this->params->get('category_image_ordering', 10); $this->tmpl['externalcommentsystem'] = $this->params->get('external_comment_system', 0); $display_subcat_page_cv = $this->params->get('display_subcat_page_cv', 0); $this->tmpl['display_back_button_cv'] = $this->params->get('display_back_button_cv', 1); $this->tmpl['display_categories_back_button_cv'] = $this->params->get('display_categories_back_button_cv', 1); $medium_image_width_cv = (int) $this->params->get('medium_image_width', 100) + 18; $medium_image_height_cv = (int) $this->params->get('medium_image_height', 100) + 18; $small_image_width_cv = (int) $this->params->get('small_image_width', 50) + 18; $small_image_height_cv = (int) $this->params->get('small_image_height', 50) + 18; $this->tmpl['imagetypecv'] = $this->tmpl['image_categories_size_cv']; $this->tmpl['overlibimagerate'] = (int) $this->params->get('overlib_image_rate', ''); $this->tmpl['gallerymetakey'] = $this->params->get('gallery_metakey', ''); $this->tmpl['gallerymetadesc'] = $this->params->get('gallery_metadesc', ''); $this->tmpl['altvalue'] = $this->params->get('alt_value', 1); $paramsFb = PhocaGalleryFbSystem::getCommentsParams($this->params->get('fb_comment_user_id', '')); // Facebook $this->tmpl['fb_comment_app_id'] = isset($paramsFb['fb_comment_app_id']) ? $paramsFb['fb_comment_app_id'] : ''; $this->tmpl['fb_comment_width'] = isset($paramsFb['fb_comment_width']) ? $paramsFb['fb_comment_width'] : 550; $this->tmpl['fb_comment_lang'] = isset($paramsFb['fb_comment_lang']) ? $paramsFb['fb_comment_lang'] : 'en_US'; $this->tmpl['fb_comment_count'] = isset($paramsFb['fb_comment_count']) ? $paramsFb['fb_comment_count'] : ''; $this->tmpl['enable_direct_subcat'] = $this->params->get('enable_direct_subcat', 0); $this->tmpl['display_comment_nopup'] = $this->params->get('display_comment_nopup', 0); $this->tmpl['boxplus_theme'] = $this->params->get('boxplus_theme', 'lightsquare'); $this->tmpl['boxplus_bautocenter'] = (int) $this->params->get('boxplus_bautocenter', 1); $this->tmpl['boxplus_autofit'] = (int) $this->params->get('boxplus_autofit', 1); $this->tmpl['boxplus_slideshow'] = (int) $this->params->get('boxplus_slideshow', 0); $this->tmpl['boxplus_loop'] = (int) $this->params->get('boxplus_loop', 0); $this->tmpl['boxplus_captions'] = $this->params->get('boxplus_captions', 'bottom'); $this->tmpl['boxplus_thumbs'] = $this->params->get('boxplus_thumbs', 'inside'); $this->tmpl['boxplus_duration'] = (int) $this->params->get('boxplus_duration', 250); $this->tmpl['boxplus_transition'] = $this->params->get('boxplus_transition', 'linear'); $this->tmpl['boxplus_contextmenu'] = (int) $this->params->get('boxplus_contextmenu', 1); $this->tmpl['enablecustomcss'] = $this->params->get('enable_custom_css', 0); $this->tmpl['customcss'] = $this->params->get('custom_css', ''); $this->tmpl['display_tags_links'] = $this->params->get('display_tags_links', 0); $this->tmpl['displaying_tags_true'] = 0; //No tag found, if yes, the box will be resized $this->tmpl['ytbupload'] = $this->params->get('youtube_upload', 0); $this->tmpl['ytb_display'] = $this->params->get('ytb_display', 0); $this->tmpl['enable_multibox'] = $this->params->get('enable_multibox', 0); $this->tmpl['multibox_height'] = (int) $this->params->get('multibox_height', 560); $this->tmpl['multibox_width'] = (int) $this->params->get('multibox_width', 980); // CSS /*switch($this->tmpl['image_categories_size']) { // medium case 1: $this->tmpl['picasa_correct_width'] = (int)$this->params->get( 'medium_image_width', 100 ); $this->tmpl['picasa_correct_height'] = (int)$this->params->get( 'medium_image_height', 100 ); $this->tmpl['imagewidth'] = (int)$this->params->get( 'medium_image_width', 100 ); $this->tmpl['imageheight'] = (int)$this->params->get( 'medium_image_height', 100 ); $this->tmpl['class_suffix'] = 'medium'; break; // small case 0: default: $this->tmpl['picasa_correct_width'] = (int)$this->params->get( 'small_image_width', 50 ); $this->tmpl['picasa_correct_height'] = (int)$this->params->get( 'small_image_height', 50 ); $this->tmpl['imagewidth'] = (int)$this->params->get( 'small_image_width', 50 ); $this->tmpl['imageheight'] = (int)$this->params->get( 'small_image_height', 50 ); $this->tmpl['class_suffix'] = 'small'; break; }*/ // CSS Specific /*$s = '.pg-cv {'."\n"; if ($this->tmpl['phocagallerywidth'] != '') { $s .= ' margin: auto;'."\n"; $s .= ' width: '.$this->tmpl['phocagallerywidth'].'px;'."\n"; } $s .= '}'."\n"; $s .= '.pg-cv-box {'."\n"; $s .= ' height: '.$this->tmpl['boxsize']['height'].'px;'."\n"; $s .= ' width: '.$this->tmpl['boxsize']['width'].'px;"'."\n"; $s .= '}'."\n"; $s .= '.pg-cv-box-img {'."\n"; $s .= ' height: '.$this->tmpl['imageheight'].'px;'."\n"; $s .= ' width: '.$this->tmpl['imagewidth'].'px;"'."\n"; $s .= '}'."\n"; $document->addCustomTag('<style type="text/css">'.$s.'</style>');*/ // Correct Height // Description detail height if ($display_description_detail == 1) { $popup_height = $popup_height + $description_detail_height; } // Detail buttons in detail view if ($detail_buttons != 1) { $popup_height = $popup_height - 45; } if ($this->tmpl['display_rating_img'] == 1) { $popup_height = $popup_height + 35; } // Youtube video without padding, margin if ($this->tmpl['detail_window'] != 7 && $this->tmpl['ytb_display'] == 1) { $document->addCustomTag("<style type=\"text/css\"> \n" . " #boxplus .boxplus-dialog .boxplus-controlsclose {\n\t\t\t\ttop: -15px !important;\n\t\t\t\tright: -15px !important;\n\t\t\t\tmargin:0px 0 0 0 !important;\n\t\t\t} \n" . " </style> \n"); $popup_width = PhocaGallerySettings::getAdvancedSettings('youtubewidth'); $popup_height = PhocaGallerySettings::getAdvancedSettings('youtubeheight'); } // Multibox if ($this->tmpl['enable_multibox'] == 1) { $popup_width = $this->tmpl['multibox_width']; $popup_height = $this->tmpl['multibox_height']; } if ($this->tmpl['detail_window'] == 4) { $popup_height = $popup_height + 12; } // Comment Image JS if ((int) $this->tmpl['display_comment_img'] == 2 || (int) $this->tmpl['display_comment_img'] == 3) { PhocaGalleryCommentImage::renderCommentImageJS(); } // Rate Image JS if ((int) $this->tmpl['display_rating_img'] == 2) { PhocaGalleryRateImage::renderRateImgJS(); } // ======================================================= // DIFFERENT METHODS OF DISPLAYING THE DETAIL VIEW // ======================================================= // MODAL - will be displayed in case e.g. highslide or shadowbox too, because in there are more links JHtml::_('behavior.modal', 'a.pg-modal-button'); $btn = new PhocaGalleryRenderDetailWindow(); $btn->popupWidth = $popup_width; $btn->popupHeight = $popup_height; $btn->mbOverlayOpacity = $modal_box_overlay_opacity; $btn->sbSlideshowDelay = $this->params->get('sb_slideshow_delay', 5); $btn->sbSettings = $this->params->get('sb_settings', "overlayColor: '#000',overlayOpacity:0.5,resizeDuration:0.35,displayCounter:true,displayNav:true"); $btn->hsSlideshow = $highslide_slideshow; $btn->hsClass = $highslide_class; $btn->hsOutlineType = $highslide_outline_type; $btn->hsOpacity = $highslide_opacity; $btn->hsCloseButton = $highslide_close_button; $btn->hsFullImg = $highslide_fullimg; $btn->jakDescHeight = $this->tmpl['jakdescriptionheight']; $btn->jakDescWidth = ''; $btn->jakOrientation = $this->tmpl['jakorientation']; $btn->jakSlideshowDelay = $this->tmpl['jakslideshowdelay']; $btn->bpTheme = $this->tmpl['boxplus_theme']; $btn->bpBautocenter = (int) $this->tmpl['boxplus_bautocenter']; $btn->bpAutofit = (int) $this->tmpl['boxplus_autofit']; $btn->bpSlideshow = (int) $this->tmpl['boxplus_slideshow']; $btn->bpLoop = (int) $this->tmpl['boxplus_loop']; $btn->bpCaptions = $this->tmpl['boxplus_captions']; $btn->bpThumbs = $this->tmpl['boxplus_thumbs']; $btn->bpDuration = (int) $this->tmpl['boxplus_duration']; $btn->bpTransition = $this->tmpl['boxplus_transition']; $btn->bpContextmenu = (int) $this->tmpl['boxplus_contextmenu']; $btn->setButtons($this->tmpl['detail_window'], $libraries, $library); $this->button = $btn->getB1(); $this->button2 = $btn->getB2(); $this->buttonother = $btn->getB3(); $this->tmpl['highslideonclick'] = ''; // for using with highslide if (isset($this->button->highslideonclick)) { $this->tmpl['highslideonclick'] = $this->button->highslideonclick; // TODO } $this->tmpl['highslideonclick2'] = ''; if (isset($this->button->highslideonclick2)) { $this->tmpl['highslideonclick2'] = $this->button->highslideonclick2; // TODO } $folderButton = new JObject(); $folderButton->set('name', 'image'); $folderButton->set('options', ""); // End open window parameters // ================================================================== // Information about current category $this->category = $this->get('category'); // Cooliris (Piclens) $this->tmpl['start_cooliris'] = 0; if ($this->tmpl['enablecooliris'] == 1) { $this->tmpl['start_cooliris'] = $this->params->get('start_cooliris', 0); // CSS - PicLens START $document->addCustomTag(PhocaGalleryRenderFront::renderPicLens($this->category->id)); } // PARAMS - Pagination and subcategories on other sites // Subcategories will be displayed only on first page if pagination will be used $display_subcat_page = $this->params->get('display_subcat_page', 0); // On the first site subcategories will be displayed always $get['start'] = $app->input->get('limitstart', '', 'string'); if ($display_subcat_page == 2) { $display_subcat_page = 0; // Nowhere } else { if ($display_subcat_page == 0 && $get['start'] > 0) { $display_subcat_page = 0; //in case: second page and param=0 } else { $display_subcat_page = 1; //in case:first page or param==1 } } // Categories View in Category View if ($display_subcat_page_cv == 2) { $display_subcat_page_cv = 0; // Nowhere } else { if ($display_subcat_page_cv == 0 && $get['start'] > 0) { $display_subcat_page_cv = 0; //in case: second page and param=0 } else { $display_subcat_page_cv = 1; //in case:first page or param==1 } } // PARAMS - Display Back Buttons $display_back_button = $this->params->get('display_back_button', 1); $display_categories_back_button = $this->params->get('display_categories_back_button', 1); // PARAMS - Access Category - display category (subcategory folder or backbutton to not accessible cat $display_access_category = $this->params->get('display_access_category', 1); // Set page title per category if ($this->tmpl['display_cat_name_title'] == 1 && isset($this->category->title)) { $document->setTitle($this->params->get('page_title') . ' - ' . $this->category->title); } else { $document->setTitle($this->params->get('page_title')); } // 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, $display_cat_name_breadcrumbs); // Define image tag attributes /* if (!empty ($this->category->image)) { $attribs['align'] = '"'.$this->category->image_position.'"'; $attribs['hspace'] = '"6"'; $this->tmpl['image'] = JHtml::_('image', 'images/stories/'.$this->category->image,'', $attribs); }*/ // Overlib $enable_overlib = $this->params->get('enable_overlib', 0); if ((int) $enable_overlib > 0) { $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/overlib/overlib_mini.js'); } // MODEL $model = $this->getModel(); // Trash $this->tmpl['trash'] = 0; $this->tmpl['publish_unpublish'] = 0; $this->tmpl['approved_not_approved'] = 0; // only to see the info // USER RIGHT - DELETE - - - - - - - - - - - // 2, 2 means that user access will be ignored in function getUserRight for display Delete button $rightDisplayDelete = 0; // default is to null (all users cannot upload) if (!empty($this->category)) { $rightDisplayDelete = PhocaGalleryAccess::getUserRight('deleteuserid', $this->category->deleteuserid, 2, $this->tmpl['user']->getAuthorisedViewLevels(), $this->tmpl['user']->get('id', 0), 0); } if ($rightDisplayDelete == 1) { $this->tmpl['trash'] = 1; $this->tmpl['publish_unpublish'] = 1; $this->tmpl['approved_not_approved'] = 1; // only to see the info } // - - - - - - - - - - - - - - - - - - - - - // Upload $this->tmpl['displayupload'] = 0; // USER RIGHT - UPLOAD - - - - - - - - - - - // 2, 2 means that user access will be ignored in function getUserRight for display Delete button $rightDisplayUpload = 0; // default is to null (all users cannot upload) if (!empty($this->category)) { $rightDisplayUpload = PhocaGalleryAccess::getUserRight('uploaduserid', $this->category->uploaduserid, 2, $this->tmpl['user']->getAuthorisedViewLevels(), $this->tmpl['user']->get('id', 0), 0); } if ($rightDisplayUpload == 1) { $this->tmpl['displayupload'] = 1; $document->addCustomTag(PhocaGalleryRenderFront::renderOnUploadCategoryJS()); $document->addCustomTag(PhocaGalleryRenderFront::renderDescriptionUploadJS((int) $this->tmpl['maxuploadchar'])); } $this->tmpl['displaycreatecat'] = 0; if ($rightDisplayUpload == 1 && $this->tmpl['enable_direct_subcat'] == 1) { $this->tmpl['displaycreatecat'] = 1; $document->addCustomTag(PhocaGalleryRenderFront::renderOnUploadCategoryJS()); $document->addCustomTag(PhocaGalleryRenderFront::renderDescriptionCreateSubCatJS((int) $this->tmpl['maxcreatecatchar'])); } // - - - - - - - - - - - - - - - - - - - - - // USER RIGHT - ACCESS - - - - - - - - - - - $rightDisplay = 1; //default is set to 1 (all users can see the category) if (!empty($this->category)) { $rightDisplay = PhocaGalleryAccess::getUserRight('accessuserid', $this->category->accessuserid, 0, $this->tmpl['user']->getAuthorisedViewLevels(), $this->tmpl['user']->get('id', 0), $display_access_category); } if ($rightDisplay == 0) { $app->redirect(JRoute::_($this->tmpl['pl'], false), JText::_('COM_PHOCAGALLERY_NOT_AUTHORISED_ACTION')); exit; } // - - - - - - - - - - - - - - - - - - - - - // 1. GEOTAGGING CATEGORY $this->map['longitude'] = ''; // will be used for 1. default_geotagging to not display pane and 2. to remove pane (line cca 1554) $this->map['latitude'] = ''; if (isset($this->category->latitude) && $this->category->latitude != '' && $this->category->latitude != 0 && isset($this->category->longitude) && $this->category->longitude != '' && $this->category->longitude != 0) { $this->map['longitude'] = $this->category->longitude; $this->map['latitude'] = $this->category->latitude; $this->map['zoom'] = $this->category->zoom; $this->map['geotitle'] = $this->category->geotitle; $this->map['description'] = $this->category->description; if ($this->map['geotitle'] == '') { $this->map['geotitle'] = $this->category->title; } } else { $this->tmpl['display_icon_geo'] = 0; } $this->tmpl['categoryimageordering'] = $this->params->get('category_image_ordering', 10); //$this->tmpl['categoryimageorderingcv'] = 10;//$this->params->get( 'category_image_ordering_cv', 10 ); // Image next to Category in Categories View in Category View is ordered by Random as default phocagalleryimport('phocagallery.ordering.ordering'); $this->categoryImageOrdering = PhocaGalleryOrdering::getOrderingString($this->tmpl['categoryimageordering']); //$this->categoryImageOrderingCV = PhocaGalleryOrdering::getOrderingString($this->tmpl['categoryimageorderingcv']); // = = = = = = = = = = = = = = = = = = = = // BOXES // = = = = = = = = = = = = = = = = = = = = // Information because of height of box (if they are used not by all images) $this->tmpl['display_icon_extlink1_box'] = 0; $this->tmpl['display_icon_extlink2_box'] = 0; $this->tmpl['display_icon_vmbox'] = 0; $this->tmpl['display_icon_geo_box'] = 0; $iS = 0; $iCV = 0; $this->items = array(); // Category View $this->itemscv = array(); // Category List (Categories View) in Category View // ---------------------------------------- // PARENT FOLDERS(I) or Back Button STANDARD // ---------------------------------------- /* // Set Back Button to CATEGORIES VIEW $this->itemsLink = $menu->getItems('link', 'index.php?option=com_phocagallery&view=categories'); $itemId = 0; if(isset($this->itemsLink[0])) { $itemId = $this->itemsLink[0]->id; } $backLink = 'index.php?option=com_phocagallery&view=categories&Itemid='.$itemId;*/ $posItemid = $posItemidNull = $backLinkItemId = false; $backLink = PhocaGalleryRoute::getCategoriesRoute(); $posItemidNull = strpos($backLink, "Itemid=0"); $posItemid = strpos($backLink, "Itemid="); if ($posItemidNull === false && $posItemid) { $backLinkItemId = 1; } $parentCategory = $this->get('parentcategory'); if ($display_back_button == 1) { if (!empty($parentCategory)) { $this->items[$iS] = $parentCategory; // USER RIGHT - ACCESS - - - - - - - - - - - // Should be the link to parentcategory displayed $rightDisplay = PhocaGalleryAccess::getUserRight('accessuserid', $this->items[$iS]->accessuserid, $this->items[$iS]->access, $this->tmpl['user']->getAuthorisedViewLevels(), $this->tmpl['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 (!empty($parentCategory)) { $rightDisplayKey = PhocaGalleryAccess::getUserRight('accessuserid', $this->items[$iS]->accessuserid, $this->items[$iS]->access, $this->tmpl['user']->getAuthorisedViewLevels(), $this->tmpl['user']->get('id', 0), 0); } } // - - - - - - - - - - - - - - - - - - - - - if ($rightDisplay > 0) { $this->items[$iS]->cls = 'pg-box-parentfolder'; $this->items[$iS]->slug = $this->items[$iS]->id . ':' . $this->items[$iS]->alias; $this->items[$iS]->item_type = "parentfolder"; $this->items[$iS]->linkthumbnailpath = PhocaGalleryImageFront::displayBackFolder('medium', $rightDisplayKey); $this->items[$iS]->extm = $this->items[$iS]->linkthumbnailpath; $this->items[$iS]->exts = $this->items[$iS]->linkthumbnailpath; $this->items[$iS]->numlinks = 0; // We are in category view $this->items[$iS]->link = JRoute::_('index.php?option=com_phocagallery&view=category&id=' . $this->items[$iS]->slug . '&Itemid=' . $this->itemId); $this->items[$iS]->button =& $folderButton; $this->items[$iS]->button->methodname = ''; $this->items[$iS]->display_icon_detail = 0; $this->items[$iS]->display_icon_download = 0; $this->items[$iS]->display_name = 0; $this->items[$iS]->display_icon_vm = ''; $this->items[$iS]->start_cooliris = 0; $this->items[$iS]->trash = 0; $this->items[$iS]->publish_unpublish = 0; $this->items[$iS]->approved_not_approved = 0; $this->items[$iS]->enable_cooliris = 0; $this->items[$iS]->overlib = 0; $this->items[$iS]->display_icon_geo = 0; $this->items[$iS]->display_icon_commentimg = 0; $this->items[$iS]->type = 0; $this->items[$iS]->camera_info = 0; $this->items[$iS]->display_icon_extlink1 = 0; $this->items[$iS]->display_icon_extlink2 = 0; $this->items[$iS]->description = ''; $this->items[$iS]->altvalue = ''; $iS++; } else { // There is no right to see the data but the object exists (because it was loaded from database // Destroy it unset($this->items[$iS]); } } else { // Back button to categories list if it exists if ($backLinkItemId != 0 && $display_categories_back_button == 1) { $this->items[$iS] = new JObject(); $this->items[$iS]->cls = 'pg-box-backbtn'; $this->items[$iS]->link = JRoute::_($backLink); $this->items[$iS]->title = JTEXT::_('COM_PHOCAGALLERY_CATEGORY_LIST'); $this->items[$iS]->item_type = "categorieslist"; $this->items[$iS]->linkthumbnailpath = PhocaGalleryImageFront::displayBackFolder('medium', 1); $this->items[$iS]->extm = $this->items[$iS]->linkthumbnailpath; $this->items[$iS]->exts = $this->items[$iS]->linkthumbnailpath; $this->items[$iS]->numlinks = 0; // We are in category view $this->items[$iS]->button =& $folderButton; $this->items[$iS]->button->methodname = ''; $this->items[$iS]->display_icon_detail = 0; $this->items[$iS]->display_icon_download = 0; $this->items[$iS]->display_name = 0; $this->items[$iS]->display_icon_vm = ''; $this->items[$iS]->start_cooliris = 0; $this->items[$iS]->trash = 0; $this->items[$iS]->publish_unpublish = 0; $this->items[$iS]->approved_not_approved = 0; $this->items[$iS]->enable_cooliris = 0; $this->items[$iS]->overlib = 0; $this->items[$iS]->display_icon_geo = 0; $this->items[$iS]->display_icon_commentimg = 0; $this->items[$iS]->type = 0; $this->items[$iS]->camera_info = 0; $this->items[$iS]->display_icon_extlink1 = 0; $this->items[$iS]->display_icon_extlink2 = 0; $this->items[$iS]->description = ''; $this->items[$iS]->altvalue = ''; $iS++; } } } // ---------------------------------------- // PARENT FOLDERS(II) or Back Button CATEGORIES VIEW IN CATEGORY VIEW // ---------------------------------------- if ($this->tmpl['display_back_button_cv'] == 1 && $this->tmpl['display_categories_cv'] == 1) { if (!empty($parentCategory)) { $this->itemscv[$iCV] = clone $parentCategory; // USER RIGHT - ACCESS - - - - - - - - - - - // Should be the link to parentcategory displayed $rightDisplay = PhocaGalleryAccess::getUserRight('accessuserid', $this->itemscv[$iCV]->accessuserid, $this->itemscv[$iCV]->access, $this->tmpl['user']->getAuthorisedViewLevels(), $this->tmpl['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 (!empty($parentCategory)) { $rightDisplayKey = PhocaGalleryAccess::getUserRight('accessuserid', $this->itemscv[$iCV]->accessuserid, $this->itemscv[$iCV]->access, $this->tmpl['user']->getAuthorisedViewLevels(), $this->tmpl['user']->get('id', 0), 0); } } // - - - - - - - - - - - - - - - - - - - - - if ($rightDisplay > 0) { $this->itemscv[$iCV]->cls = 'pg-box-parentfolder-cv'; $this->itemscv[$iCV]->slug = $this->itemscv[$iCV]->id . ':' . $this->itemscv[$iCV]->alias; $this->itemscv[$iCV]->item_type = "parentfoldercv"; $this->itemscv[$iCV]->linkthumbnailpath = PhocaGalleryImageFront::displayBackFolder('medium', $rightDisplayKey); $this->itemscv[$iCV]->extm = $this->itemscv[$iCV]->linkthumbnailpath; $this->itemscv[$iCV]->exts = $this->itemscv[$iCV]->linkthumbnailpath; $this->itemscv[$iCV]->numlinks = 0; // We are in category view $this->itemscv[$iCV]->link = JRoute::_('index.php?option=com_phocagallery&view=category&id=' . $this->itemscv[$iCV]->slug . '&Itemid=' . $this->itemId); $this->itemscv[$iCV]->type = 3; $this->itemscv[$iCV]->altvalue = ''; $iCV++; } else { // There is no right to see the data but the object exists (because it was loaded from database // Destroy it unset($this->itemscv[$iCV]); } } else { // Back button to categories list if it exists if ($backLinkItemId != 0 && $this->tmpl['display_categories_back_button_cv'] == 1) { $this->itemscv[$iCV] = new JObject(); $this->itemscv[$iCV]->cls = 'pg-cvcsv-back'; $this->itemscv[$iCV]->link = $backLink; $this->itemscv[$iCV]->title = JTEXT::_('COM_PHOCAGALLERY_CATEGORY_LIST'); $this->itemscv[$iCV]->item_type = "categorieslistcv"; $this->itemscv[$iCV]->linkthumbnailpath = PhocaGalleryImageFront::displayBackFolder('medium', 1); $this->itemscv[$iCV]->extm = $this->itemscv[$iCV]->linkthumbnailpath; $this->itemscv[$iCV]->exts = $this->itemscv[$iCV]->linkthumbnailpath; $this->itemscv[$iCV]->numlinks = 0; // We are in category view $this->itemscv[$iCV]->link = JRoute::_($this->itemscv[$iCV]->link); $this->itemscv[$iCV]->type = 3; $this->itemscv[$iCV]->altvalue = ''; $iCV++; } } } // ---------------------------------------- // SUB FOLDERS(1) STANDARD // ---------------------------------------- // Display subcategories on every page if ($display_subcat_page == 1) { $subCategory = $this->get('subcategory'); $totalSubCat = count($subCategory); if ((int) $this->tagId > 0) { $subCategory = array(); } // No subcategories for tag searching if (!empty($subCategory)) { $this->items[$iS] =& $subCategory; for ($iSub = 0; $iSub < $totalSubCat; $iSub++) { $this->items[$iS] =& $subCategory[$iSub]; // USER RIGHT - ACCESS - - - - - - - - - - $rightDisplay = PhocaGalleryAccess::getUserRight('accessuserid', $this->items[$iS]->accessuserid, $this->items[$iS]->access, $this->tmpl['user']->getAuthorisedViewLevels(), $this->tmpl['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 (!empty($this->items[$iS])) { $rightDisplayKey = PhocaGalleryAccess::getUserRight('accessuserid', $this->items[$iS]->accessuserid, $this->items[$iS]->access, $this->tmpl['user']->getAuthorisedViewLevels(), $this->tmpl['user']->get('id', 0), 0); } } // - - - - - - - - - - - - - - - - - - - - if ($rightDisplay > 0) { $this->items[$iS]->cls = 'pg-box-subfolder'; $this->items[$iS]->slug = $this->items[$iS]->id . ':' . $this->items[$iS]->alias; $this->items[$iS]->item_type = "subfolder"; $numlinks = $model->getCountItem($this->items[$iS]->id); //Should be get from main subcategories query if (isset($numlinks[0]) && $numlinks[0] > 0) { $this->items[$iS]->numlinks = (int) $numlinks[0]; } else { $this->items[$iS]->numlinks = 0; } $extImage = PhocaGalleryImage::isExtImage($this->items[$iS]->extid); if ($extImage) { $imagePic = new stdClass(); if ($this->tmpl['categoryimageordering'] != 10) { $imagePic = PhocaGalleryImageFront::getRandomImageRecursive($this->items[$iS]->id, $this->categoryImageOrdering, 1); $fileThumbnail = PhocaGalleryImageFront::displayCategoryExtImgOrFolder($imagePic->exts, $imagePic->extm, 'medium', $rightDisplayKey, 'display_category_icon_image'); } else { $fileThumbnail = PhocaGalleryImageFront::displayCategoryExtImgOrFolder($this->items[$iS]->exts, $this->items[$iS]->extm, 'medium', $rightDisplayKey, 'display_category_icon_image'); $imagePic->extw = $this->items[$iS]->extw; $imagePic->exth = $this->items[$iS]->exth; } // in case category is locked or no extm exists $this->items[$iS]->linkthumbnailpath = $fileThumbnail->linkthumbnailpath; $this->items[$iS]->extm = $fileThumbnail->extm; $this->items[$iS]->exts = $fileThumbnail->exts; $this->items[$iS]->exthswitch = $this->items[$iS]->extwswitch = 0; if ($imagePic->extw != '') { $extw = explode(',', $imagePic->extw); $this->items[$iS]->extw = $extw[1]; $this->items[$iS]->extwswitch = $extw[0]; } if ($imagePic->exth != '') { $exth = explode(',', $imagePic->exth); $this->items[$iS]->exth = $exth[1]; $this->items[$iS]->exthswitch = $exth[0]; } $this->items[$iS]->extpic = $fileThumbnail->extpic; } else { if ($this->tmpl['categoryimageordering'] != 10) { $randomImage = PhocaGalleryImageFront::getRandomImageRecursive($this->items[$iS]->id, $this->categoryImageOrdering); $fileThumbnail = PhocaGalleryImageFront::displayCategoryImageOrFolder($randomImage, 'medium', $rightDisplayKey, 'display_category_icon_image'); } else { $fileThumbnail = PhocaGalleryImageFront::displayCategoryImageOrFolder($this->items[$iS]->filename, 'medium', $rightDisplayKey, 'display_category_icon_image'); } $this->items[$iS]->linkthumbnailpath = $fileThumbnail->rel; } $this->items[$iS]->link = JRoute::_('index.php?option=com_phocagallery&view=category&id=' . $this->items[$iS]->slug . '&Itemid=' . $this->itemId); $this->items[$iS]->button =& $folderButton; $this->items[$iS]->button->methodname = ''; $this->items[$iS]->display_icon_detail = 0; $this->items[$iS]->display_icon_download = 0; $this->items[$iS]->display_name = $this->tmpl['display_name']; $this->items[$iS]->display_icon_vm = ''; $this->items[$iS]->start_cooliris = 0; $this->items[$iS]->trash = 0; $this->items[$iS]->publish_unpublish = 0; $this->items[$iS]->approved_not_approved = 0; $this->items[$iS]->enable_cooliris = 0; $this->items[$iS]->overlib = 0; $this->items[$iS]->display_icon_geo = 0; $this->items[$iS]->type = 1; $this->items[$iS]->camera_info = 0; $this->items[$iS]->display_icon_extlink1 = 0; $this->items[$iS]->display_icon_extlink2 = 0; $this->items[$iS]->description = ''; $this->items[$iS]->display_icon_commentimg = 0; $this->items[$iS]->altvalue = ''; $iS++; } else { // There is no right to see the data but the object exists (because it was loaded from database // Destroy it unset($this->items[$iS]); } } } } // ---------------------------------------- // SUB FOLDERS(II) or Back Button CATEGORIES VIEW IN CATEGORY VIEW // ---------------------------------------- //display subcategories on every page if ($display_subcat_page_cv == 1 && $this->tmpl['display_categories_cv'] == 1) { $subCategory = $this->get('subcategory'); $totalSubCat = count($subCategory); if ((int) $this->tagId > 0) { $subCategory = array(); } // No subcategories for tag searching if (!empty($subCategory)) { $this->itemscv[$iCV] =& $subCategory; for ($iSub = 0; $iSub < $totalSubCat; $iSub++) { $this->itemscv[$iCV] =& $subCategory[$iSub]; // USER RIGHT - ACCESS - - - - - - - - - - $rightDisplay = PhocaGalleryAccess::getUserRight('accessuserid', $this->itemscv[$iCV]->accessuserid, $this->itemscv[$iCV]->access, $this->tmpl['user']->getAuthorisedViewLevels(), $this->tmpl['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 (!empty($this->itemscv[$iCV])) { $rightDisplayKey = PhocaGalleryAccess::getUserRight('accessuserid', $this->itemscv[$iCV]->accessuserid, $this->itemscv[$iCV]->access, $this->tmpl['user']->getAuthorisedViewLevels(), $this->tmpl['user']->get('id', 0), 0); } } // - - - - - - - - - - - - - - - - - - - - if ($rightDisplay > 0) { $this->itemscv[$iCV]->cls = 'pg-cvcsv-name'; $this->itemscv[$iCV]->slug = $this->itemscv[$iCV]->id . ':' . $this->itemscv[$iCV]->alias; $this->itemscv[$iCV]->item_type = "subfoldercv"; $this->itemscv[$iCV]->link = JRoute::_('index.php?option=com_phocagallery&view=category&id=' . $this->itemscv[$iCV]->slug . '&Itemid=' . $this->itemId); $this->itemscv[$iCV]->type = 4; $numlinks = $model->getCountItem($this->itemscv[$iCV]->id); //Should be get from main subcategories query if (isset($numlinks[0]) && $numlinks[0] > 0) { $this->itemscv[$iCV]->numlinks = (int) $numlinks[0]; } else { $this->itemscv[$iCV]->numlinks = 0; } $extImage = PhocaGalleryImage::isExtImage($this->itemscv[$iCV]->extid); if ($extImage) { /*$imagePic = new stdClass(); if ($this->tmpl['categoryimageordering'] != 10) { $imagePic= PhocaGalleryImageFront::getRandomImageRecursive($this->itemscv[$iCV]->id, $this->categoryImageOrderingCV, 1); $fileThumbnail = PhocaGalleryImageFront::displayCategoryExtImgOrFolder($imagePic->exts, $imagePic->extm, 'medium', $rightDisplayKey, 'display_category_icon_image'); } else { $fileThumbnail = PhocaGalleryImageFront::displayCategoryExtImgOrFolder($this->itemscv[$iCV]->exts,$this->itemscv[$iCV]->extm, 'medium', $rightDisplayKey, 'display_category_icon_image'); $imagePic->extw = $this->itemscv[$iCV]->extw; $imagePic->exth = $this->itemscv[$iCV]->exth; } // in case category is locked or no extm exists $this->itemscv[$iCV]->linkthumbnailpath = $fileThumbnail->linkthumbnailpath; $this->itemscv[$iCV]->extm = $fileThumbnail->extm; $this->itemscv[$iCV]->exts = $fileThumbnail->exts; $this->itemscv[$iCV]->exthswitch = $this->items[$iCV]->extwswitch = 0; if ($imagePic->extw != '') { $extw = explode(',',$imagePic->extw); $this->itemscv[$iCV]->extw = $extw[1]; $this->itemscv[$iCV]->extwswitch = $extw[0]; } if ($imagePic->exth != '') { $exth = explode(',',$imagePic->exth); $this->itemscv[$iCV]->exth = $exth[1]; $this->itemscv[$iCV]->exthswitch = $exth[0]; }*/ $this->itemscv[$iCV]->extpic = ''; } else { /*if ($this->tmpl['categoryimageordering'] != 10) { $randomImage = PhocaGalleryImageFront::getRandomImageRecursive($this->itemscv[$iCV]->id, $this->categoryImageOrderingCV); $fileThumbnail = PhocaGalleryImageFront::displayCategoryImageOrFolder($randomImage, 'medium', $rightDisplayKey, 'display_category_icon_image_cv'); } else { $fileThumbnail = PhocaGalleryImageFront::displayCategoryImageOrFolder($this->itemscv[$iCV]->filename, 'medium', $rightDisplayKey, 'display_category_icon_image_cv'); }*/ $this->itemscv[$iCV]->linkthumbnailpath = ''; $this->itemscv[$iCV]->altvalue = ''; } $iCV++; } else { // There is no right to see the data but the object exists (because it was loaded from database // Destroy it unset($this->itemscv[$iCV]); } } } } // ---------------------------------------- // IMAGES // ---------------------------------------- // If user has rights to delete or publish or unpublish, unbublished items should be displayed if ($rightDisplayDelete == 1) { $images = $model->getData(1, $this->tagId); $this->tmpl['pagination'] = $model->getPagination(1, $this->tagId); } else { $images = $model->getData(0, $this->tagId); $this->tmpl['pagination'] = $model->getPagination(0, $this->tagId); } $this->tmpl['ordering'] = $model->getOrdering(); $totalImg = count($images); if ($limitStart > 0) { $this->tmpl['limitstarturl'] = '&limitstart=' . $limitStart; } else { $this->tmpl['limitstarturl'] = ''; } $this->tmpl['jakdatajs'] = array(); $this->tmpl['display_icon_commentimg_box'] = 0; for ($iM = 0; $iM < $totalImg; $iM++) { $this->items[$iS] = $images[$iM]; $this->items[$iS]->cls = 'pg-box-image'; $this->items[$iS]->slug = $this->items[$iS]->id . ':' . $this->items[$iS]->alias; $this->items[$iS]->item_type = "image"; $this->items[$iS]->linknr = ''; //Def $extImage = PhocaGalleryImage::isExtImage($this->items[$iS]->extid); // Get file thumbnail or No Image $this->items[$iS]->exthswitch = $this->items[$iS]->extwswitch = 0; if ($this->items[$iS]->extm != '') { if ($this->items[$iS]->extw != '') { $extw = explode(',', $this->items[$iS]->extw); $this->items[$iS]->extw = $extw[1]; $this->items[$iS]->extwswitch = $extw[0]; } if ($this->items[$iS]->exth != '') { $exth = explode(',', $this->items[$iS]->exth); $this->items[$iS]->exth = $exth[1]; $this->items[$iS]->exthswitch = $exth[0]; } $this->items[$iS]->extpic = 1; $this->items[$iS]->linkthumbnailpath = ''; } else { // Mansory $iFormat = 'medium'; if ($this->tmpl['diff_thumb_height'] > 0) { if ($this->items[$iS]->format == 2) { $iFormat = 'medium1'; // by portraits in everycase (medium1 = medium * x2(height)) } else { $m2 = mt_rand(0, 1); if ($m2 == 1) { $iFormat = 'medium1'; } } } $this->items[$iS]->linkthumbnailpath = PhocaGalleryImageFront::displayCategoryImageOrNoImage($this->items[$iS]->filename, $iFormat); } if (isset($parentCategory->params)) { $this->items[$iS]->parentcategoryparams = $parentCategory->params; } // SWITCH IMAGE - Add the first Image as basic image if ($this->tmpl['switch_image'] == 1) { if ($basic_imageSelected == 0) { if ((int) $this->tmpl['switch_width'] > 0 && (int) $this->tmpl['switch_height'] > 0 && $this->tmpl['switch_fixed_size'] == 1) { $wHArray = array('id' => 'PhocaGalleryobjectPicture', 'border' => '0', 'width' => $this->tmpl['switch_width'], 'height' => $this->tmpl['switch_height']); $wHString = ' id="PhocaGalleryobjectPicture" border="0" width="' . $this->tmpl['switch_width'] . '" height="' . $this->tmpl['switch_height'] . '"'; } else { $wHArray = array('id' => 'PhocaGalleryobjectPicture', 'border' => '0'); $wHString = ' id="PhocaGalleryobjectPicture" border="0"'; } if (isset($this->items[$iS]->extpic) && $this->items[$iS]->extpic != '') { $this->tmpl['basic_image'] = JHtml::_('image', $this->items[$iS]->extl, '', $wHArray); } else { $this->tmpl['basic_image'] = JHtml::_('image', str_replace('phoca_thumb_m_', 'phoca_thumb_l_', $this->items[$iS]->linkthumbnailpath), '', $wHString); } $basic_imageSelected = 1; } } $thumbLink = PhocaGalleryFileThumbnail::getThumbnailName($this->items[$iS]->filename, 'large'); $thumbLinkM = PhocaGalleryFileThumbnail::getThumbnailName($this->items[$iS]->filename, 'medium'); $imgLinkOrig = JURI::base(true) . '/' . PhocaGalleryFile::getFileOriginal($this->items[$iS]->filename, 1); if ($this->tmpl['detail_window'] == 7) { $siteLink = JRoute::_('index.php?option=com_phocagallery&view=detail&catid=' . $this->items[$iS]->catslug . '&id=' . $this->items[$iS]->slug . '&Itemid=' . $this->itemId); } else { $siteLink = JRoute::_('index.php?option=com_phocagallery&view=detail&catid=' . $this->items[$iS]->catslug . '&id=' . $this->items[$iS]->slug . '&tmpl=component' . '&Itemid=' . $this->itemId); } $imgLink = $thumbLink->rel; if ($extImage) { $imgLink = $this->items[$iS]->extl; $imgLinkOrig = $this->items[$iS]->exto; } // Detail Window if ($this->tmpl['detail_window'] == 2) { $this->items[$iS]->link = $imgLink; $this->items[$iS]->link2 = $imgLink; $this->items[$iS]->linkother = $imgLink; $this->items[$iS]->linkorig = $imgLinkOrig; } else { if ($this->tmpl['detail_window'] == 3) { $this->items[$iS]->link = $imgLink; $this->items[$iS]->link2 = $imgLink; $this->items[$iS]->linkother = $siteLink; $this->items[$iS]->linkorig = $imgLinkOrig; } else { if ($this->tmpl['detail_window'] == 5) { $this->items[$iS]->link = $imgLink; $this->items[$iS]->link2 = $siteLink; $this->items[$iS]->linkother = $siteLink; $this->items[$iS]->linkorig = $imgLinkOrig; } else { if ($this->tmpl['detail_window'] == 6) { $this->items[$iS]->link = $imgLink; $this->items[$iS]->link2 = $imgLink; $this->items[$iS]->linkother = $siteLink; $this->items[$iS]->linkorig = $imgLinkOrig; // jak data js switch ($this->tmpl['jakdescription']) { case 0: $descriptionJakJs = ''; break; case 2: $descriptionJakJs = PhocaGalleryText::strTrimAll(addslashes($this->items[$iS]->description)); break; case 3: $descriptionJakJs = PhocaGalleryText::strTrimAll(addslashes($this->items[$iS]->title)); if ($this->items[$iS]->description != '') { $descriptionJakJs .= '<br />' . PhocaGalleryText::strTrimAll(addslashes($this->items[$iS]->description)); } break; case 1: default: $descriptionJakJs = PhocaGalleryText::strTrimAll(addslashes($this->items[$iS]->title)); break; } $this->items[$iS]->linknr = $iM; $this->tmpl['jakdatajs'][$iS] = "{alt: '" . PhocaGalleryText::strTrimAll(addslashes($this->items[$iS]->title)) . "',"; if ($descriptionJakJs != '') { $this->tmpl['jakdatajs'][$iS] .= "description: '" . $descriptionJakJs . "',"; } else { $this->tmpl['jakdatajs'][$iS] .= "description: ' ',"; } if ($extImage) { $this->tmpl['jakdatajs'][$iS] .= "small: {url: '" . $this->items[$iS]->extm . "'}," . "big: {url: '" . $this->items[$iS]->extl . "'} }"; } else { $this->tmpl['jakdatajs'][$iS] .= "small: {url: '" . htmlentities(JURI::base(true) . '/' . PhocaGalleryText::strTrimAll(addslashes($thumbLinkM->rel))) . "'}," . "big: {url: '" . htmlentities(JURI::base(true) . '/' . PhocaGalleryText::strTrimAll(addslashes($imgLink))) . "'} }"; } } else { if ($this->tmpl['detail_window'] == 8) { $this->items[$iS]->link = $imgLink; $this->items[$iS]->link2 = $imgLink; $this->items[$iS]->linkother = $imgLink; $this->items[$iS]->linkorig = $imgLinkOrig; } else { if ($this->tmpl['detail_window'] == 9) { $this->items[$iS]->link = $siteLink; $this->items[$iS]->link2 = $siteLink; $this->items[$iS]->linkother = $siteLink; $this->items[$iS]->linkorig = $imgLinkOrig; } else { if ($this->tmpl['detail_window'] == 10) { $this->items[$iS]->link = $imgLink; $this->items[$iS]->link2 = $imgLink; $this->items[$iS]->linkother = $siteLink; $this->items[$iS]->linkorig = $imgLinkOrig; } else { $this->items[$iS]->link = $siteLink; $this->items[$iS]->link2 = $siteLink; $this->items[$iS]->linkother = $siteLink; $this->items[$iS]->linkorig = $imgLinkOrig; } } } } } } } // Buttons, e.g. shadowbox: // button - click on image // button2 - click on zoom icon (cannot be the same as click on image because of duplicity of images) // buttonOther - other detail window like download, geotagging $this->items[$iS]->button =& $this->button; $this->items[$iS]->button2 =& $this->button2; $this->items[$iS]->buttonother =& $this->buttonother; $this->items[$iS]->display_icon_detail = $this->tmpl['display_icon_detail']; $this->items[$iS]->display_icon_download = $this->tmpl['display_icon_download']; $this->items[$iS]->display_name = $this->tmpl['display_name']; $this->items[$iS]->display_icon_vm = ''; $this->items[$iS]->start_cooliris = $this->tmpl['start_cooliris']; $this->items[$iS]->type = 2; // Trash icon if ($this->tmpl['trash'] == 1) { $this->items[$iS]->trash = 1; } else { $this->items[$iS]->trash = 0; } // Publish Unpublish icon if ($this->tmpl['publish_unpublish'] == 1) { $this->items[$iS]->publish_unpublish = 1; } else { $this->items[$iS]->publish_unpublish = 0; } // Publish Unpublish icon if ($this->tmpl['approved_not_approved'] == 1) { $this->items[$iS]->approved_not_approved = 1; } else { $this->items[$iS]->approved_not_approved = 0; } // PICLENS if ($this->tmpl['enablecooliris']) { $this->items[$iS]->enable_cooliris = 1; } else { $this->items[$iS]->enable_cooliris = 0; } // 2. GEOTAGGING IMAGE // We have checked the category so if geotagging is enabled // and there is no geotagging data for category, then $this->tmpl['display_icon_geo'] = 0; // so we need to check it for the image too, we need to set the $this->tmpl['display_icon_geoimage'] for image only // we are in loop now $this->tmpl['display_icon_geoimagetmp'] = 0; if ($this->tmpl['display_icon_geoimage'] == 1) { $this->tmpl['display_icon_geoimagetmp'] = 1; if (isset($this->items[$iS]->latitude) && $this->items[$iS]->latitude != '' && $this->items[$iS]->latitude != 0 && isset($this->items[$iS]->longitude) && $this->items[$iS]->longitude != '' && $this->items[$iS]->longitude != 0) { } else { $this->tmpl['display_icon_geoimagetmp'] = 0; } } // GEOTAGGING if ($this->tmpl['display_icon_geo'] == 1 || $this->tmpl['display_icon_geoimagetmp'] == 1) { $this->items[$iS]->display_icon_geo = 1; $this->tmpl['display_icon_geo_box'] = 1; // because of height of box } else { $this->items[$iS]->display_icon_geo = 0; } // Set it back because of loop $this->tmpl['display_icon_geoimagetmp'] = 0; // CAMERA INFO if ($this->tmpl['display_camera_info'] == 1) { $this->items[$iS]->camera_info = 1; } else { $this->items[$iS]->camera_info = 0; } // EXT LINK $this->items[$iS]->display_icon_extlink1 = 0; if (isset($this->items[$iS]->extlink1)) { $this->items[$iS]->extlink1 = explode("|", $this->items[$iS]->extlink1, 4); if (isset($this->items[$iS]->extlink1[0]) && $this->items[$iS]->extlink1[0] != '' && isset($this->items[$iS]->extlink1[1])) { $this->items[$iS]->display_icon_extlink1 = 1; $this->tmpl['display_icon_extlink1_box'] = 1; // because of height of box if (!isset($this->items[$iS]->extlink1[2])) { $this->items[$iS]->extlink1[2] = '_self'; } if (!isset($this->items[$iS]->extlink1[3]) || $this->items[$iS]->extlink1[3] == 1) { $this->items[$iS]->extlink1[4] = JHtml::_('image', 'media/com_phocagallery/images/icon-extlink1.png', JText::_($this->items[$iS]->extlink1[1])); $this->items[$iS]->extlink1[5] = ''; } else { $this->items[$iS]->extlink1[4] = $this->items[$iS]->extlink1[1]; $this->items[$iS]->extlink1[5] = 'style="text-decoration:underline"'; } } else { $this->items[$iS]->display_icon_extlink1 = 0; } } $this->items[$iS]->display_icon_extlink2 = 0; if (isset($this->items[$iS]->extlink2)) { $this->items[$iS]->extlink2 = explode("|", $this->items[$iS]->extlink2, 4); if (isset($this->items[$iS]->extlink2[0]) && $this->items[$iS]->extlink2[0] != '' && isset($this->items[$iS]->extlink2[1])) { $this->items[$iS]->display_icon_extlink2 = 1; $this->tmpl['display_icon_extlink2_box'] = 1; // because of height of box if (!isset($this->items[$iS]->extlink2[2])) { $this->items[$iS]->extlink2[2] = '_self'; } if (!isset($this->items[$iS]->extlink2[3]) || $this->items[$iS]->extlink2[3] == 1) { $this->items[$iS]->extlink2[4] = JHtml::_('image', 'media/com_phocagallery/images/icon-extlink2.png', JText::_($this->items[$iS]->extlink2[1])); $this->items[$iS]->extlink2[5] = ''; } else { $this->items[$iS]->extlink2[4] = $this->items[$iS]->extlink2[1]; $this->items[$iS]->extlink2[5] = 'style="text-decoration:underline"'; } } else { $this->items[$iS]->display_icon_extlink2 = 0; } } // OVERLIB if (!empty($this->items[$iS]->description)) { $divPadding = 'ph-ovrl1'; } else { $divPadding = 'ph-ovrl2'; } // Resize image in overlib by rate $wHOutput = array(); if (isset($this->items[$iS]->extpic) && $this->items[$iS]->extpic != '') { if ((int) $this->tmpl['overlibimagerate'] > 0) { $imgSize = @getimagesize($this->items[$iS]->extl); $wHOutput = PhocaGalleryImage::getTransformImageArray($imgSize, $this->tmpl['overlibimagerate']); } $oImg = JHtml::_('image', $this->items[$iS]->extl, '', $wHOutput); } else { $thumbL = str_replace('phoca_thumb_m1_', 'phoca_thumb_m_', $this->items[$iS]->linkthumbnailpath); $thumbL = str_replace('phoca_thumb_m2_', 'phoca_thumb_m_', $thumbL); $thumbL = str_replace('phoca_thumb_m3_', 'phoca_thumb_m_', $thumbL); $thumbL = str_replace('phoca_thumb_m_', 'phoca_thumb_l_', $thumbL); if ((int) $this->tmpl['overlibimagerate'] > 0) { $imgSize = @getimagesize($thumbL); $wHOutput = PhocaGalleryImage::getTransformImageArray($imgSize, $this->tmpl['overlibimagerate']); } $thumbLI = str_replace('phoca_thumb_m1_', 'phoca_thumb_m_', $this->items[$iS]->linkthumbnailpath); $thumbLI = str_replace('phoca_thumb_m2_', 'phoca_thumb_m_', $thumbLI); $thumbLI = str_replace('phoca_thumb_m3_', 'phoca_thumb_m_', $thumbLI); $oImg = JHtml::_('image', $thumbL, '', $wHOutput); } switch ($enable_overlib) { case 1: case 4: $uBy = ''; //Uploaded by ... if ($enable_overlib == 4 && isset($this->items[$iS]->usernameno) && $this->items[$iS]->usernameno != '') { $uBy = '<div>' . JText::_('COM_PHOCAGALLERY_UPLOADED_BY') . ' <strong>' . $this->items[$iS]->usernameno . '</strong></div>'; } $this->items[$iS]->overlib = 1; $this->items[$iS]->overlib_value = "\n\n" . "onmouseover=\"return overlib('" . htmlspecialchars(addslashes('<div class="pg-overlib"><center>' . $oImg . "</center></div>" . $uBy)) . "', CAPTION, '" . htmlspecialchars(addslashes($this->items[$iS]->title)) . "' ," . htmlspecialchars($this->tmpl['overlib_attributes']) . ");\"" . " onmouseout=\"return nd();\"" . "\n"; break; case 2: case 5: $uBy = ''; //Uploaded by ... if ($enable_overlib == 5 && isset($this->items[$iS]->usernameno) && $this->items[$iS]->usernameno != '') { $uBy = '<div>' . JText::_('COM_PHOCAGALLERY_UPLOADED_BY') . ' <strong>' . $this->items[$iS]->usernameno . '</strong></div>'; } $this->items[$iS]->overlib = 2; $this->items[$iS]->description = str_replace('"', '\'', $this->items[$iS]->description); $this->items[$iS]->description = str_replace("\n", '<br />', $this->items[$iS]->description); $sA = array(utf8_encode(chr(11)), utf8_encode(chr(160))); $eA = array("\t", "\n", "\r", ""); $this->items[$iS]->description = str_replace($sA, ' ', $this->items[$iS]->description); $this->items[$iS]->description = str_replace($eA, '', $this->items[$iS]->description); $this->items[$iS]->overlib_value = " onmouseover=\"return overlib('" . htmlspecialchars(addslashes('<div class="pg-overlib"><div class="' . $divPadding . '">' . $this->items[$iS]->description . '</div></div>' . $uBy)) . "', CAPTION, '" . htmlspecialchars(addslashes($this->items[$iS]->title)) . "', " . htmlspecialchars($this->tmpl['overlib_attributes']) . ");\"" . " onmouseout=\"return nd();\" "; break; case 3: case 6: $uBy = ''; //Uploaded by ... if ($enable_overlib == 6 && isset($this->items[$iS]->usernameno) && $this->items[$iS]->usernameno != '') { $uBy = '<div>' . JText::_('COM_PHOCAGALLERY_UPLOADED_BY') . ' <strong>' . $this->items[$iS]->usernameno . '</strong></div>'; } $this->items[$iS]->overlib = 3; $this->items[$iS]->description = str_replace('"', '\'', $this->items[$iS]->description); $this->items[$iS]->description = str_replace("\n", '<br />', $this->items[$iS]->description); $sA = array(utf8_encode(chr(11)), utf8_encode(chr(160))); $eA = array("\t", "\n", "\r", ""); $this->items[$iS]->description = str_replace($sA, ' ', $this->items[$iS]->description); $this->items[$iS]->description = str_replace($eA, '', $this->items[$iS]->description); $this->items[$iS]->overlib_value = " onmouseover=\"return overlib('" . PhocaGalleryText::strTrimAll(htmlspecialchars(addslashes('<div class="pg-overlib"><div style="text-align:center"><center>' . $oImg . '</center></div><div class="' . $divPadding . '">' . $this->items[$iS]->description . '</div></div>' . $uBy))) . "', CAPTION, '" . htmlspecialchars(addslashes($this->items[$iS]->title)) . "', " . htmlspecialchars($this->tmpl['overlib_attributes']) . ");\"" . " onmouseout=\"return nd();\" "; break; default: $this->items[$iS]->overlib = 0; $this->items[$iS]->overlib_value = ''; break; } // VirtueMart link if ($this->tmpl['display_icon_vm'] == 1) { phocagalleryimport('phocagallery.virtuemart.virtuemart'); $vmLink = PhocaGalleryVirtueMart::getVmLink($this->items[$iS]->vmproductid, $errorMsg); if (!$vmLink) { $this->items[$iS]->display_icon_vm = ''; } else { $this->items[$iS]->display_icon_vm = 1; $this->items[$iS]->vmlink = $vmLink; $this->tmpl['display_icon_vmbox'] = 1; // because of height of box } } else { $this->items[$iS]->display_icon_vm = ''; } // End VM Link // V O T E S - IMAGES if ((int) $this->tmpl['display_rating_img'] == 1) { $this->items[$iS]->votescountimg = 0; $this->items[$iS]->votesaverageimg = 0; $this->items[$iS]->voteswidthimg = 0; $votesStatistics = PhocaGalleryRateImage::getVotesStatistics((int) $this->items[$iS]->id); if (!empty($votesStatistics->count)) { $this->items[$iS]->votescountimg = $votesStatistics->count; } if (!empty($votesStatistics->average)) { $this->items[$iS]->votesaverageimg = $votesStatistics->average; if ($this->items[$iS]->votesaverageimg > 0) { $this->items[$iS]->votesaverageimg = round((double) $this->items[$iS]->votesaverageimg / 0.5) * 0.5; $this->items[$iS]->voteswidthimg = 16 * $this->items[$iS]->votesaverageimg; } else { $this->items[$iS]->votesaverageimg = (int) 0; // not float displaying } } } $this->items[$iS]->display_icon_commentimg = 0; // C O M M E N T S - IMAGES if ((int) $this->tmpl['display_comment_img'] == 1 || (int) $this->tmpl['display_comment_img'] == 3) { $this->items[$iS]->display_icon_commentimg = 1; $this->tmpl['display_icon_commentimg_box'] = 1; // because of height of box } // COMMENTS IMAGES, masonry if ((int) $this->tmpl['display_comment_img'] == 2 || (int) $this->tmpl['display_comment_img'] == 3) { //PhocaGalleryCommentImage::renderCommentImageJS(); $this->items[$iS]->allready_commented = 0; $this->items[$iS]->allready_commented = PhocaGalleryCommentImage::checkUserComment((int) $this->items[$iS]->id, (int) $this->tmpl['user']->id); $this->items[$iS]->comment_items = PhocaGalleryCommentImage::displayComment($this->items[$iS]->id); } // ALT VALUE $altValue = PhocaGalleryRenderFront::getAltValue($this->tmpl['altvalue'], $this->items[$iS]->title, $this->items[$iS]->description, $this->items[$iS]->metadesc); $this->items[$iS]->altvalue = $altValue; // TITLE TAG - Description Output in Title Tag $imgAlt = $imgTitle = ''; // Some methods cannot use Alt because of conflicting with Title and popup methods if ($this->tmpl['detail_window'] == 3 || $this->tmpl['detail_window'] == 9 || $this->tmpl['detail_window'] == 10) { $imgAlt = $this->items[$iS]->altvalue; $imgTitle = $this->items[$iS]->title; if ($imgAlt == $imgTitle) { $imgAlt = ''; } $this->items[$iS]->oimgalt = $imgAlt; } else { $this->items[$iS]->oimgalt = $altValue; } // TITLE TAG - Detail if ($this->tmpl['detail_window'] == 9 || $this->tmpl['detail_window'] == 10) { $detailAlt = $this->items[$iS]->altvalue; $detailTitle = $this->items[$iS]->title; if ($detailAlt == $detailTitle) { $detailAlt = ''; } } else { $detailAlt = JText::_('COM_PHOCAGALLERY_IMAGE_DETAIL'); $detailTitle = JText::_('COM_PHOCAGALLERY_IMAGE_DETAIL'); } $this->items[$iS]->oimgaltdetail = $detailAlt; $this->items[$iS]->oimgtitledetail = $detailTitle; $titleDesc = ''; if ($this->tmpl['display_title_description'] == 1) { $titleDesc .= $this->items[$iS]->title; if ($this->items[$iS]->description != '' && $titleDesc != '') { $titleDesc .= ' - '; } } if ($this->tmpl['detail_window'] == 8 && $this->tmpl['displaydescriptiondetail'] == 1) { $this->items[$iS]->odesctitletag = strip_tags($titleDesc) . strip_tags($this->items[$iS]->description); } else { $this->items[$iS]->odesctitletag = strip_tags($imgTitle); } // Overlib class if ($this->items[$iS]->overlib == 0) { $this->items[$iS]->ooverlibclass = array('class' => 'pg-image'); } else { $this->items[$iS]->ooverlibclass = array('class' => 'pimo pg-image'); } // Tags $this->items[$iS]->otags = ''; if ($this->tmpl['display_tags_links'] == 1 || $this->tmpl['display_tags_links'] == 3) { $this->items[$iS]->otags = PhocaGalleryTag::displayTags($this->items[$iS]->id); if ($this->items[$iS]->otags != '') { $this->tmpl['displaying_tags_true'] = 1; } } $iS++; } // END IMAGES // Upload Form - - - - - - - - - - - - - // Set FTP form $ftp = !JClientHelper::hasCredentials('ftp'); // PARAMS - Upload size $this->tmpl['uploadmaxsize'] = $this->params->get('upload_maxsize', 3000000); $sess = JFactory::getSession(); $this->assignRef('session', $sess); //$this->assignRef('uploadmaxsize', $upload_maxsize); // END Upload Form - - - - - - - - - - - - // V O T E S - CATEGORY // Only registered (VOTES + COMMENTS) $this->tmpl['not_registered'] = true; $this->tmpl['name'] = ''; if ($access > 0) { $this->tmpl['not_registered'] = false; $this->tmpl['name'] = $this->tmpl['user']->name; } // VOTES Statistics if ((int) $this->tmpl['display_rating'] == 1 && (int) $id > 0) { $this->tmpl['votescount'] = 0; $this->tmpl['votesaverage'] = 0; $this->tmpl['voteswidth'] = 0; $votesStatistics = PhocaGalleryRateCategory::getVotesStatistics((int) $id); if (!empty($votesStatistics->count)) { $this->tmpl['votescount'] = $votesStatistics->count; } if (!empty($votesStatistics->average)) { $this->tmpl['votesaverage'] = $votesStatistics->average; if ($this->tmpl['votesaverage'] > 0) { $this->tmpl['votesaverage'] = round((double) $this->tmpl['votesaverage'] / 0.5) * 0.5; $this->tmpl['voteswidth'] = 22 * $this->tmpl['votesaverage']; } else { $this->tmpl['votesaverage'] = (int) 0; // not float displaying } } if ((int) $this->tmpl['votescount'] > 1) { $this->tmpl['votestext'] = 'COM_PHOCAGALLERY_VOTES'; } else { $this->tmpl['votestext'] = 'COM_PHOCAGALLERY_VOTE'; } // Already rated? $this->tmpl['alreay_rated'] = PhocaGalleryRateCategory::checkUserVote((int) $id, (int) $this->tmpl['user']->id); } // COMMENTS if ((int) $this->tmpl['display_comment'] == 1 && (int) $id > 0) { $document->addScript(JURI::base(true) . '/media/com_phocagallery/js/comments.js'); $document->addCustomTag(PhocaGalleryRenderFront::renderCommentJS((int) $this->tmpl['maxcommentchar'])); $this->tmpl['already_commented'] = PhocaGalleryCommentCategory::checkUserComment((int) $id, (int) $this->tmpl['user']->id); $commentItem = PhocaGalleryCommentCategory::displaycomment((int) $id); $this->assignRef('commentitem', $commentItem); } // - - - - - - - - - - - - - - - - // TABS // - - - - - - - - - - - - - - - - $this->tmpl['displaytabs'] = 0; $this->tmpl['currenttab'] = 0; if ((int) $id > 0) { $displayTabs = 0; // R A T I N G if ((int) $this->tmpl['display_rating'] == 0) { $currentTab['rating'] = -1; } else { $currentTab['rating'] = $displayTabs; $displayTabs++; } // C O M M E N T S if ((int) $this->tmpl['display_comment'] == 0) { $currentTab['comment'] = -1; } else { $currentTab['comment'] = $displayTabs; $displayTabs++; } // S T A T I S T I C S if ((int) $this->tmpl['displaycategorystatistics'] == 0) { $currentTab['statistics'] = -1; } else { $currentTab['statistics'] = $displayTabs; $displayTabs++; $this->tmpl['displaymaincatstat'] = $this->params->get('display_main_cat_stat', 1); $this->tmpl['displaylastaddedcatstat'] = $this->params->get('display_lastadded_cat_stat', 1); $this->tmpl['displaymostviewedcatstat'] = $this->params->get('display_mostviewed_cat_stat', 1); $this->tmpl['countlastaddedcatstat'] = $this->params->get('count_lastadded_cat_stat', 3); $this->tmpl['countmostviewedcatstat'] = $this->params->get('count_mostviewed_cat_stat', 3); if ($this->tmpl['displaymaincatstat'] == 1) { $numberImgP = $model->getCountImages($id, 1); $this->tmpl['numberimgpub'] = $numberImgP->countimg; $numberImgU = $model->getCountImages($id, 0); $this->tmpl['numberimgunpub'] = $numberImgU->countimg; $this->categoryViewed = $model->getHits($id); $this->tmpl['categoryviewed'] = $this->categoryViewed->catviewed; } // M O S T V I E W E D I M A G E S //$this->tmpl['mostviewedimg'] = array(); if ($this->tmpl['displaymostviewedcatstat'] == 1) { $mostViewedImages = $model->getStatisticsImages($id, 'hits', 'DESC', $this->tmpl['countmostviewedcatstat']); for ($i = 0; $i < count($mostViewedImages); $i++) { $itemMVI =& $mostViewedImages[$i]; $itemMVI->button =& $this->button; $itemMVI->button2 =& $this->button2; $itemMVI->buttonother =& $this->buttonother; $itemMVI->display_icon_detail = $this->tmpl['display_icon_detail']; $itemMVI->display_name = $this->tmpl['display_name']; $itemMVI->type = 2; $altValue = PhocaGalleryRenderFront::getAltValue($this->tmpl['altvalue'], $itemMVI->title, $itemMVI->description, $itemMVI->metadesc); $itemMVI->altvalue = $altValue; $thumbLink = PhocaGalleryFileThumbnail::getThumbnailName($itemMVI->filename, 'large'); $siteLink = JRoute::_('index.php?option=com_phocagallery&view=detail&catid=' . $this->category->slug . '&id=' . $itemMVI->slug . '&tmpl=component' . '&Itemid=' . $this->itemId); $imgLink = JURI::base(true) . '/' . $thumbLink->rel; switch ($this->tmpl['detail_window']) { case 2: case 3: case 8: $itemMVI->link = $imgLink; break; default: $itemMVI->link = $siteLink; break; } //$this->tmpl['mostviewedimg'][] = $itemMVI; if ($itemMVI->extw != '') { $extw = explode(',', $itemMVI->extw); $itemMVI->extw = $extw[1]; } if ($itemMVI->exth != '') { $exth = explode(',', $itemMVI->exth); $itemMVI->exth = $exth[1]; } } $this->tmpl['mostviewedimg'] = $mostViewedImages; } // L A S T A D D E D I M A G E S //$this->tmpl['lastaddedimg'] = array(); if ($this->tmpl['displaylastaddedcatstat'] == 1) { $lastAddedImages = $model->getStatisticsImages($id, 'date', 'DESC', $this->tmpl['countlastaddedcatstat']); for ($i = 0; $i < count($lastAddedImages); $i++) { $itemLAI =& $lastAddedImages[$i]; $itemLAI->link = JRoute::_('index.php?option=com_phocagallery&view=detail&catid=' . $this->category->slug . '&id=' . $itemLAI->slug . '&tmpl=component' . '&Itemid=' . $this->itemId); $itemLAI->button =& $this->button; $itemLAI->button2 =& $this->button2; $itemLAI->buttonother =& $this->buttonother; $itemLAI->display_icon_detail = $this->tmpl['display_icon_detail']; $itemLAI->display_name = $this->tmpl['display_name']; $itemLAI->type = 2; $altValue = PhocaGalleryRenderFront::getAltValue($this->tmpl['altvalue'], $itemLAI->title, $itemLAI->description, $itemLAI->metadesc); $itemLAI->altvalue = $altValue; $thumbLink = PhocaGalleryFileThumbnail::getThumbnailName($itemLAI->filename, 'large'); $siteLink = JRoute::_('index.php?option=com_phocagallery&view=detail&catid=' . $this->category->slug . '&id=' . $itemLAI->slug . '&tmpl=component' . '&Itemid=' . $this->itemId); $imgLink = JURI::base(true) . '/' . $thumbLink->rel; switch ($this->tmpl['detail_window']) { case 2: case 3: case 8: $itemLAI->link = $imgLink; break; default: $itemLAI->link = $siteLink; break; } //$this->tmpl['lastaddedimg'][] = $itemLAI; if ($itemLAI->extw != '') { $extw = explode(',', $itemLAI->extw); $itemLAI->extw = $extw[1]; } if ($itemLAI->exth != '') { $exth = explode(',', $itemLAI->exth); $itemLAI->exth = $exth[1]; } } $this->tmpl['lastaddedimg'] = $lastAddedImages; } } // G E O T A G G I N G if ((int) $this->tmpl['displaycategorygeotagging'] == 0) { $currentTab['geotagging'] = -1; } else { if ($this->map['longitude'] == '') { $currentTab['geotagging'] = -1; } else { if ($this->map['latitude'] == '') { $currentTab['geotagging'] = -1; } else { $currentTab['geotagging'] = $displayTabs; $displayTabs++; $this->tmpl['googlemapsapikey'] = $this->params->get('google_maps_api_key', ''); $this->tmpl['categorymapwidth'] = $this->params->get('category_map_width', ''); $this->tmpl['categorymapheight'] = $this->params->get('category_map_height', 400); } } } if ((int) $this->tmpl['displaycreatecat'] == 0) { $currentTab['createsubcategory'] = -1; } else { $currentTab['createsubcategory'] = $displayTabs; $displayTabs++; } // = = = = = = = = = = // U P L O A D // = = = = = = = = = = $this->tmpl['ftp'] = !JClientHelper::hasCredentials('ftp'); // SEF problem $isThereQM = false; $isThereQM = preg_match("/\\?/i", $this->tmpl['action']); if ($isThereQM) { $amp = '&'; // will be protected by htmlspecialchars } else { $amp = '?'; } $isThereTab = false; $isThereTab = preg_match("/tab=/i", $this->tmpl['action']); if ((int) $this->tmpl['displayupload'] == 0) { $currentTab['upload'] = -1; } else { $currentTab['upload'] = $displayTabs; $displayTabs++; } if ((int) $this->tmpl['ytbupload'] == 0 || (int) $this->tmpl['displayupload'] == 0) { $currentTab['ytbupload'] = -1; } else { $currentTab['ytbupload'] = $displayTabs; $displayTabs++; } if ((int) $this->tmpl['enablemultiple'] < 1 || (int) $this->tmpl['displayupload'] == 0) { $currentTab['multipleupload'] = -1; } else { $currentTab['multipleupload'] = $displayTabs; $displayTabs++; } if ((int) $this->tmpl['enablejava'] < 1 || (int) $this->tmpl['displayupload'] == 0) { $currentTab['javaupload'] = -1; } else { $currentTab['javaupload'] = $displayTabs; $displayTabs++; } $this->tmpl['displaytabs'] = $displayTabs; $this->tmpl['currenttab'] = $currentTab; // - - - - - - - - - - - // Upload // - - - - - - - - - - - if ((int) $this->tmpl['displayupload'] == 1) { $sU = new PhocaGalleryFileUploadSingle(); $sU->returnUrl = htmlspecialchars($this->tmpl['action'] . $amp . 'task=upload&' . $this->session->getName() . '=' . $this->session->getId() . '&' . JSession::getFormToken() . '=1&viewback=category&tab=' . $this->tmpl['currenttab']['upload']); $sU->tab = $this->tmpl['currenttab']['upload']; $this->tmpl['su_output'] = $sU->getSingleUploadHTML(1); $this->tmpl['su_url'] = htmlspecialchars($this->tmpl['action'] . $amp . 'task=upload&' . $this->session->getName() . '=' . $this->session->getId() . '&' . JSession::getFormToken() . '=1&viewback=category&tab=' . $this->tmpl['currenttab']['upload']); } // - - - - - - - - - - - // Youtube Upload (single upload form can be used) // - - - - - - - - - - - if ((int) $this->tmpl['ytbupload'] == 1 && $this->tmpl['displayupload'] == 1) { $sYU = new PhocaGalleryFileUploadSingle(); $sYU->returnUrl = htmlspecialchars($this->tmpl['action'] . $amp . 'task=ytbupload&' . $this->session->getName() . '=' . $this->session->getId() . '&' . JSession::getFormToken() . '=1&viewback=category&tab=' . $this->tmpl['currenttab']['ytbupload']); $sYU->tab = $this->tmpl['currenttab']['ytbupload']; $this->tmpl['syu_output'] = $sYU->getSingleUploadHTML(1); $this->tmpl['syu_url'] = htmlspecialchars($this->tmpl['action'] . $amp . 'task=ytbupload&' . $this->session->getName() . '=' . $this->session->getId() . '&' . JSession::getFormToken() . '=1&viewback=category&tab=' . $this->tmpl['currenttab']['ytbupload']); } // - - - - - - - - - - - // Multiple Upload // - - - - - - - - - - - // Get infos from multiple upload $muFailed = $app->input->get('mufailed', '0', 'int'); $muUploaded = $app->input->get('muuploaded', '0', 'int'); $this->tmpl['mu_response_msg'] = $muUploadedMsg = ''; if ($muUploaded > 0) { $muUploadedMsg = JText::_('COM_PHOCAGALLERY_COUNT_UPLOADED_IMG') . ': ' . $muUploaded; } if ($muFailed > 0) { $muFailedMsg = JText::_('COM_PHOCAGALLERY_COUNT_NOT_UPLOADED_IMG') . ': ' . $muFailed; } if ($muFailed > 0 && $muUploaded > 0) { $this->tmpl['mu_response_msg'] = '<div class="alert alert-info">' . JText::_('COM_PHOCAGALLERY_COUNT_UPLOADED_IMG') . ': ' . $muUploaded . '<br />' . JText::_('COM_PHOCAGALLERY_COUNT_NOT_UPLOADED_IMG') . ': ' . $muFailed . '</div>'; } else { if ($muFailed > 0 && $muUploaded == 0) { $this->tmpl['mu_response_msg'] = '<div class="alert alert-error">' . JText::_('COM_PHOCAGALLERY_COUNT_NOT_UPLOADED_IMG') . ': ' . $muFailed . '</div>'; } else { if ($muFailed == 0 && $muUploaded > 0) { $this->tmpl['mu_response_msg'] = '<div class="alert alert-success">' . JText::_('COM_PHOCAGALLERY_COUNT_UPLOADED_IMG') . ': ' . $muUploaded . '</div>'; } else { $this->tmpl['mu_response_msg'] = ''; } } } if ((int) $this->tmpl['enablemultiple'] == 1 && (int) $this->tmpl['displayupload'] == 1) { PhocaGalleryFileUploadMultiple::renderMultipleUploadLibraries(); $mU = new PhocaGalleryFileUploadMultiple(); $mU->frontEnd = 1; $mU->method = $this->tmpl['multipleuploadmethod']; $mU->url = htmlspecialchars($this->tmpl['action'] . $amp . 'controller=category&task=multipleupload&' . $this->session->getName() . '=' . $this->session->getId() . '&' . JSession::getFormToken() . '=1&tab=' . $this->tmpl['currenttab']['multipleupload']); $mU->reload = htmlspecialchars($this->tmpl['action'] . $amp . $this->session->getName() . '=' . $this->session->getId() . '&' . JSession::getFormToken() . '=1&tab=' . $this->tmpl['currenttab']['multipleupload']); $mU->maxFileSize = PhocaGalleryFileUploadMultiple::getMultipleUploadSizeFormat($this->tmpl['uploadmaxsize']); $mU->chunkSize = '1mb'; $mU->imageHeight = $this->tmpl['multipleresizeheight']; $mU->imageWidth = $this->tmpl['multipleresizewidth']; $mU->imageQuality = 100; $mU->renderMultipleUploadJS(0, $this->tmpl['multipleuploadchunk']); $this->tmpl['mu_output'] = $mU->getMultipleUploadHTML(); } // - - - - - - - - - - - // Java Upload // - - - - - - - - - - - if ((int) $this->tmpl['enablejava'] == 1 && (int) $this->tmpl['displayupload'] == 1) { $jU = new PhocaGalleryFileUploadJava(); $jU->width = $this->tmpl['javaboxwidth']; $jU->height = $this->tmpl['javaboxheight']; $jU->resizewidth = $this->tmpl['multipleresizewidth']; $jU->resizeheight = $this->tmpl['multipleresizeheight']; $jU->uploadmaxsize = $this->tmpl['uploadmaxsize']; $jU->returnUrl = $this->tmpl['action'] . $amp . $this->session->getName() . '=' . $this->session->getId() . '&' . JSession::getFormToken() . '=1&tab=' . $this->tmpl['currenttab']['javaupload']; $jU->url = $this->tmpl['action'] . $amp . 'controller=category&task=javaupload&' . $this->session->getName() . '=' . $this->session->getId() . '&' . JSession::getFormToken() . '=1&tab=' . $this->tmpl['currenttab']['javaupload']; $jU->source = JURI::root(true) . '/components/com_phocagallery/assets/jupload/wjhk.jupload.jar'; $this->tmpl['ju_output'] = $jU->getJavaUploadHTML(); } } $this->tmpl['dem'] = '<div style="text-align:right;color:#ccc;display:block">Powered by <a href="http://www.phoca.cz/phocagallery">Phoca Gallery</a></div>'; // ADD STATISTICS if ((int) $id > 0) { $model->hit($id); } // ADD JAK DATA CSS style if ($this->tmpl['detail_window'] == 6) { $document->addCustomTag('<script type="text/javascript">' . 'var dataJakJs = [' . implode($this->tmpl['jakdatajs'], ',') . ']' . '</script>'); } // Detail Window - will be popup or not if ($this->tmpl['detail_window'] == 7) { $this->tmpl['tmplcom'] = ''; $this->tmpl['tmplcomcomments'] = ''; } else { $this->tmpl['tmplcom'] = '&tmpl=component'; $this->tmpl['tmplcomcomments'] = '&tmpl=component'; } if ($this->tmpl['display_comment_nopup'] == 1) { $this->tmpl['tmplcomcomments'] = ''; } $this->tmpl['boxsize'] = PhocaGalleryImage::setBoxSize($this->tmpl, 2); $this->tmpl['boxsizestat'] = PhocaGalleryImage::setBoxSize($this->tmpl, 3); $masBoxWidth = $this->tmpl['boxsize']['width'] + 20; // Masonry effect if ($this->tmpl['diff_thumb_height'] == 2) { $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/masonry/masonry.min.js'); $document->addCustomTag('<script type="text/javascript"> window.onload = function() { var wall = new Masonry( document.getElementById(\'pg-msnr-container\'), { isFitWidth: true }); }; </script>'); } // CSS Specific $s = "\n" . '#phocagallery {' . "\n"; if ($this->tmpl['phocagallery_center'] != '') { $s .= ' margin: 0 auto; text-align: center;' . "\n"; } if ($this->tmpl['phocagallery_width'] != '') { $s .= ' width: ' . $this->tmpl['phocagallery_width'] . 'px;' . "\n"; } $s .= '}' . "\n"; if ($this->tmpl['phocagallery_center'] != '') { $s = "\n" . '#pg-msnr-container {' . "\n"; $s .= ' margin: 0 auto;' . "\n"; $s .= '}' . "\n"; } $s .= '.pg-cv-box {' . "\n"; if ($this->tmpl['diff_thumb_height'] > 0) { } else { $s .= ' height: ' . $this->tmpl['boxsize']['height'] . 'px;' . "\n"; } $s .= ' width: ' . $this->tmpl['boxsize']['width'] . 'px;"' . "\n"; $s .= '}' . "\n"; $s .= '.pg-cv-box-stat {' . "\n"; $s .= ' height: ' . $this->tmpl['boxsizestat']['height'] . 'px;' . "\n"; $s .= ' width: ' . $this->tmpl['boxsizestat']['width'] . 'px;"' . "\n"; $s .= '}' . "\n"; $s .= '.pg-cv-box-img {' . "\n"; $s .= ' height: ' . $this->tmpl['imageheight'] . 'px;' . "\n"; $s .= ' width: ' . $this->tmpl['imagewidth'] . 'px;"' . "\n"; $s .= '}' . "\n"; $document->addCustomTag('<style type="text/css">' . $s . '</style>'); $this->_prepareDocument(); parent::display($tpl); }
public function tdImage($item, $button, $txtE, $class = '', $avatarAbs = '', $avatarRel = '') { $o = '<td class="' . $class . '">' . "\n"; $o .= '<div class="phocagallery-box-file">' . "\n" . ' <center>' . "\n" . ' <div class="phocagallery-box-file-first">' . "\n" . ' <div class="phocagallery-box-file-second">' . "\n" . ' <div class="phocagallery-box-file-third">' . "\n" . ' <center>' . "\n"; if ($avatarAbs != '' && $avatarRel != '') { // AVATAR if (JFile::exists($avatarAbs . $item->avatar)) { $o .= '<a class="' . $button->modalname . '"' . ' title="' . $button->text . '"' . ' href="' . JURI::root() . $avatarRel . $item->avatar . '" ' . ' rel="' . $button->options . '" >' . '<img src="' . JURI::root() . $avatarRel . $item->avatar . '?imagesid=' . md5(uniqid(time())) . '" alt="' . JText::_($txtE) . '" />' . '</a>'; } else { $o .= JHTML::_('image', '/media/com_phocagallery/images/administrator/phoca_thumb_s_no_image.gif', ''); } } else { // PICASA if (isset($item->extid) && $item->extid != '') { $resW = explode(',', $item->extw); $resH = explode(',', $item->exth); $correctImageRes = PhocaGalleryImage::correctSizeWithRate($resW[2], $resH[2], 50, 50); $imgLink = $item->extl; $o .= '<a class="' . $button->modalname . '" title="' . $button->text . '" href="' . $imgLink . '" rel="' . $button->options . '" >' . '<img src="' . $item->exts . '?imagesid=' . md5(uniqid(time())) . '" width="' . $correctImageRes['width'] . '" height="' . $correctImageRes['height'] . '" alt="' . JText::_($txtE) . '" />' . '</a>' . "\n"; } else { if (isset($item->fileoriginalexist) && $item->fileoriginalexist == 1) { $imageRes = PhocaGalleryImage::getRealImageSize($item->filename, 'small'); $correctImageRes = PhocaGalleryImage::correctSizeWithRate($imageRes['w'], $imageRes['h'], 50, 50); $imgLink = PhocaGalleryFileThumbnail::getThumbnailName($item->filename, 'large'); $o .= '<a class="' . $button->modalname . '" title="' . $button->text . '" href="' . JURI::root() . $imgLink->rel . '" rel="' . $button->options . '" >' . '<img src="' . JURI::root() . $item->linkthumbnailpath . '?imagesid=' . md5(uniqid(time())) . '" width="' . $correctImageRes['width'] . '" height="' . $correctImageRes['height'] . '" alt="' . JText::_($txtE) . '" />' . '</a>' . "\n"; } else { $o .= JHTML::_('image', 'media/com_phocagallery/images/administrator/phoca_thumb_s_no_image.gif', ''); } } } $o .= ' </center>' . "\n" . ' </div>' . "\n" . ' </div>' . "\n" . ' </div>' . "\n" . ' </center>' . "\n" . '</div>' . "\n"; $o .= '</td>' . "\n"; return $o; }
protected function _addAllImagesFromFolder(&$existingImages, $category_id, $fullPath, $rel_path, $data = array()) { $count = 0; $fileList = JFolder::files($fullPath); natcasesort($fileList); // Iterate over the files if they exist //file - abc.img, file_no - folder/abc.img if ($fileList !== false) { foreach ($fileList as $filename) { $storedfilename = ltrim(str_replace(DS, '/', JPath::clean($rel_path . DS . $filename)), '/'); $ext = strtolower(JFile::getExt($filename)); // Don't create thumbnails from defined files (don't save them into a database)... $dontCreateThumb = PhocaGalleryFileThumbnail::dontCreateThumb($filename); if ($dontCreateThumb == 1) { $ext = ''; // WE USE $ext FOR NOT CREATE A THUMBNAIL CLAUSE } if ($ext == 'jpg' || $ext == 'png' || $ext == 'gif' || $ext == 'jpeg') { if (JFile::exists($fullPath . DS . $filename) && substr($filename, 0, 1) != '.' && strtolower($filename) !== 'index.html' && !$this->_ImageExist($existingImages, $storedfilename, $category_id)) { $row = $this->getTable('phocagallery'); $datam = array(); $datam['published'] = $data['published']; $datam['catid'] = $category_id; $datam['filename'] = $storedfilename; $datam['approved'] = $data['approved']; $datam['language'] = $data['language']; if ($data['title'] != '') { $datam['title'] = $data['title']; } else { $datam['title'] = PhocaGalleryFile::getTitleFromFile($filename); } if ($data['alias'] != '') { $datam['alias'] = $data['alias']; } else { $datam['alias'] = $datam['title']; //PhocaGalleryText::getAliasName($datam['title']); } $datam['imgorigsize'] = PhocaGalleryFile::getFileSize($datam['filename'], 0); $datam['format'] = PhocaGalleryFile::getFileFormat($datam['filename']); // Geo phocagalleryimport('phocagallery.geo.geo'); $coords = PhocaGalleryGeo::getGeoCoords($datam['filename']); $datam['longitude'] = $coords['longitude']; $datam['latitude'] = $coords['latitude']; if ($datam['latitude'] != '' && $datam['longitude'] != '') { $datam['zoom'] = PhocaGallerySettings::getAdvancedSettings('geozoom'); } // Save // Bind the form fields to the Phoca gallery table if (!$row->bind($datam)) { $this->setError($this->_db->getErrorMsg()); return false; } // Create the timestamp for the date $row->date = gmdate('Y-m-d H:i:s'); // if new item, order last in appropriate group if (!$row->id) { $where = 'catid = ' . (int) $row->catid; $row->ordering = $row->getNextOrder($where); } // Make sure the Phoca gallery table is valid if (!$row->check()) { $this->setError($this->_db->getErrorMsg()); return false; } // Store the Phoca gallery table to the database if (!$row->store()) { $this->setError($this->_db->getErrorMsg()); return false; } if ($this->firstImageFolder == '') { $this->setFirstImageFolder($row->filename); } $image = new JObject(); $image->filename = $storedfilename; $image->catid = $category_id; $existingImages[] =& $image; $count++; } } } } // $this->setImageCount($count); return $count; }
protected function processImages() { if (!empty($this->items)) { $params = JComponentHelper::getParams('com_phocagallery'); $pagination_thumbnail_creation = $params->get('pagination_thumbnail_creation', 0); $clean_thumbnails = $params->get('clean_thumbnails', 0); //Server doesn't have CPU power //we do thumbnail for all images - there is no pagination... //or we do thumbanil for only listed images if (empty($this->items_thumbnail)) { if ($pagination_thumbnail_creation == 1) { $this->items_thumbnail = $this->items; } else { $this->items_thumbnail = $this->get('ItemsThumbnail'); } } // - - - - - - - - - - - - - - - - - - - - // Check if the file stored in database is on the server. If not please refer to user // Get filename from every object there is stored in database // file - abc.img, file_no - folder/abc.img // Get folder variables from Helper $path = PhocaGalleryPath::getPath(); $origPath = $path->image_abs; $origPathServer = str_replace(DS, '/', $path->image_abs); //----------------------------------------- //Do all thumbnails no limit no pagination if (!empty($this->items_thumbnail)) { foreach ($this->items_thumbnail as $key => $value) { $fileOriginalThumb = PhocaGalleryFile::getFileOriginal($value->filename); //Let the user know that the file doesn't exists and delete all thumbnails if (JFile::exists($fileOriginalThumb)) { $refreshUrlThumb = 'index.php?option=com_phocagallery&view=phocagalleryimgs'; $fileThumb = PhocaGalleryFileThumbnail::getOrCreateThumbnail($value->filename, $refreshUrlThumb, 1, 1, 1); } } } $this->items_thumbnail = null; // delete data to reduce memory //Only the the site with limitation or pagination... if (!empty($this->items)) { foreach ($this->items as $key => $value) { $fileOriginal = PhocaGalleryFile::getFileOriginal($value->filename); //Let the user know that the file doesn't exists and delete all thumbnails if (!JFile::exists($fileOriginal)) { $this->items[$key]->filename = JText::_('COM_PHOCAGALLERY_IMG_FILE_NOT_EXISTS'); $this->items[$key]->fileoriginalexist = 0; } else { //Create thumbnails small, medium, large $refresh_url = 'index.php?option=com_phocagallery&view=phocagalleryimgs'; $fileThumb = PhocaGalleryFileThumbnail::getOrCreateThumbnail($value->filename, $refresh_url, 1, 1, 1); $this->items[$key]->linkthumbnailpath = $fileThumb['thumb_name_s_no_rel']; $this->items[$key]->fileoriginalexist = 1; } } } //Clean Thumbs Folder if there are thumbnail files but not original file if ($clean_thumbnails == 1) { PhocaGalleryFileFolder::cleanThumbsFolder(); } } }
public function onContentPrepare($context, &$article, &$params, $page = 0) { if ($context == 'com_finder.indexer') { return true; } $db = JFactory::getDBO(); $document = JFactory::getDocument(); $path = PhocaGalleryPath::getPath(); //$menu = &JSite::getMenu(); $app = JFactory::getApplication('site'); $view = JRequest::getCmd('view'); $layout = JRequest::getCmd('layout'); $component = 'com_phocagallery'; $paramsC = JComponentHelper::getParams($component); // Start Plugin $regex_one = '/({pgslideshow\\s*)(.*?)(})/si'; $regex_all = '/{pgslideshow\\s*.*?}/si'; $matches = array(); $count_matches = preg_match_all($regex_all, $article->text, $matches, PREG_OFFSET_CAPTURE | PREG_PATTERN_ORDER); $customCSS = ''; $customCSS2 = ''; for ($j = 0; $j < $count_matches; $j++) { // Plugin variables $id = 0; $width = 640; $height = 480; $delay = 3000; $image = 'L'; $tmpl['pgslink'] = 0; $tmpl['imageordering'] = $paramsC->get('image_ordering', 9); $desc = 'peekaboo'; $random = 0; $pause = 2500; // Get plugin parameters $phocagallery = $matches[0][$j][0]; preg_match($regex_one, $phocagallery, $phocagallery_parts); $parts = explode("|", $phocagallery_parts[2]); $values_replace = array("/^'/", "/'\$/", "/^'/", "/'\$/", "/<br \\/>/"); foreach ($parts as $key => $value) { $values = explode("=", $value, 2); foreach ($values_replace as $key2 => $values2) { $values = preg_replace($values2, '', $values); } // Get plugin parameters from article if ($values[0] == 'id') { $id = $values[1]; } else { if ($values[0] == 'height') { $height = $values[1]; } else { if ($values[0] == 'width') { $width = $values[1]; } else { if ($values[0] == 'delay') { $delay = $values[1]; } else { if ($values[0] == 'image') { $image = $values[1]; } else { if ($values[0] == 'desc') { $desc = $values[1]; } else { if ($values[0] == 'random') { $random = $values[1]; } else { if ($values[0] == 'pause') { $pause = $values[1]; } else { if ($values[0] == 'pgslink') { $tmpl['pgslink'] = $values[1]; } else { if ($values[0] == 'imageordering') { $tmpl['imageordering'] = $values[1]; } } } } } } } } } } } if ($id > 0) { $orderingString = PhocaGalleryOrdering::getOrderingString($tmpl['imageordering']); $imageOrdering = $orderingString['output']; //$c = time() * rand(1,10); //$c = time() * mt_rand(1,1000); $c = time() . mt_rand(); $query = ' SELECT a.filename, cc.id as catid, cc.alias as catalias, a.extid, a.exts, a.extm, a.extl, a.exto, a.description,' . ' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(\':\', cc.id, cc.alias) ELSE cc.id END as catslug' . ' FROM #__phocagallery_categories AS cc' . ' LEFT JOIN #__phocagallery AS a ON a.catid = cc.id' . ' WHERE cc.published = 1' . ' AND a.published = 1' . ' AND cc.approved = 1' . ' AND a.approved = 1' . ' AND a.catid = ' . (int) $id . $imageOrdering; $db->setQuery($query); $images = $db->loadObjectList(); // START OUTPUT $jsSlideshowData['files'] = ''; $countImg = 0; $endComma = ','; $output = ''; if (!empty($images)) { $countFilename = count($images); foreach ($images as $key => $value) { $countImg++; if ($countImg == $countFilename) { $endComma = ''; } if ($desc != 'none') { $description = PhocaGalleryText::strTrimAll(addslashes($value->description)); } else { $description = ""; } switch ($image) { case 'S': $imageName = PhocaGalleryFileThumbnail::getThumbnailName($value->filename, 'small'); $imageName->ext = $value->exts; $sizeString = 's'; break; case 'M': $imageName = PhocaGalleryFileThumbnail::getThumbnailName($value->filename, 'medium'); $imageName->ext = $value->extm; $sizeString = 'm'; break; case 'O': $imageName = new stdClass(); $imageName->rel = PhocaGalleryFile::getFileOriginal($value->filename, 1); $imageName->abs = PhocaGalleryFile::getFileOriginal($value->filename, 0); $imageName->ext = $value->exto; $sizeString = 'l'; break; case 'L': default: $imageName = PhocaGalleryFileThumbnail::getThumbnailName($value->filename, 'large'); $imageName->ext = $value->extl; $sizeString = 'l'; break; } if (isset($value->extl) && $value->extl != '') { $jsSlideshowData['files'] .= '["' . $imageName->ext . '", "", "", "' . $description . '"]' . $endComma . "\n"; } else { $imgLink = JURI::base(true) . '/' . $imageName->rel; if (JFile::exists($imageName->abs)) { $jsSlideshowData['files'] .= '["' . $imgLink . '", "", "", "' . $description . '"]' . $endComma . "\n"; } else { $fileThumbnail = JURI::base(true) . '/' . "components/com_phocagallery/assets/images/phoca_thumb_" . $sizeString . "_no_image.png"; $jsSlideshowData['files'] .= '["' . $fileThumbnail . '", "", "", ""]' . $endComma . "\n"; } } } //$script = '<script type="text/javascript">' . "\n"; $script = '/***********************************************' . "\n"; $script .= '* Ultimate Fade In Slideshow v2.0- (c) Dynamic Drive DHTML code library (www.dynamicdrive.com)' . "\n"; $script .= '* This notice MUST stay intact for legal use' . "\n"; $script .= '* Visit Dynamic Drive at http://www.dynamicdrive.com/ for this script and 100s more' . "\n"; $script .= '***********************************************/' . "\n"; $script .= 'var phocagalleryplugin' . $c . ' = new fadeSlideShow({' . "\n"; $script .= ' wrapperid: "phocaGallerySlideshowP' . $c . '",' . "\n"; $script .= ' dimensions: [' . $width . ', ' . $height . '],' . "\n"; $script .= ' imagearray: [' . $jsSlideshowData['files'] . '],' . "\n"; $script .= ' displaymode: {type:\'auto\', pause: ' . $pause . ', cycles:0,' . "\n"; $script .= ' wraparound:false, randomize: ' . $random . '},' . "\n"; $script .= ' persist: false,' . "\n"; $script .= ' fadeduration: ' . $delay . ',' . "\n"; $script .= ' descreveal: "' . $desc . '",' . "\n"; $script .= ' togglerid: ""' . "\n"; $script .= '})' . "\n"; // $script .= '</script>' . "\n"; $siteLink = ''; if (isset($value->catid)) { if ((int) $tmpl['pgslink'] == 2) { // Different Link - to all categories $siteLink = JRoute::_(PhocaGalleryRoute::getCategoriesRoute()); } else { if ((int) $tmpl['pgslink'] == 1) { // Different Link - to all category $siteLink = JRoute::_(PhocaGalleryRoute::getCategoryRoute($value->catid, $value->catalias)); } } } // Don't add js in category view //if ($view == 'article' || $view == 'featured' || ($view == 'category' && $layout == 'blog')) { if ($view == 'article' || $view == 'featured' || $view == 'item' || $view == 'category' && $layout == 'blog') { //$document->addScript(JURI::base(true).'/components/com_phocagallery/assets/jquery/jquery-1.6.4.min.js'); JHtml::_('jquery.framework', false); $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/fadeslideshow/fadeslideshow.js'); $document->addScriptDeclaration($script); } $output = ''; $output .= '<div class="phocagalleryslideshow">' . "\n"; if ($siteLink != '') { $output .= '<a href="' . $siteLink . '" ><div id="phocaGallerySlideshowP' . $c . '"></div></a>' . "\n"; } else { $output .= '<div id="phocaGallerySlideshowP' . $c . '"></div>'; } $output .= '</div>'; $c++; } else { $output .= JText::_('PLG_CONTENT_PHOCAGALLERYSLIDESHOW_THERE_IS_NO_IMAGE_OR_CATEGORY_IS_UNPUBLISHED_OR_NOT_AUTHORIZED'); } // END OUTPUT $article->text = preg_replace($regex_all, $output, $article->text, 1); } } return true; }