public function display($tpl = null) { $this->t = PhocaGalleryUtils::setVars('cp'); $this->views = array('imgs' => $this->t['l'] . '_IMAGES', 'cs' => $this->t['l'] . '_CATEGORIES', 't' => $this->t['l'] . '_THEMES', 'ra' => $this->t['l'] . '_CATEGORY_RATING', 'raimg' => $this->t['l'] . '_IMAGE_RATING', 'cos' => $this->t['l'] . '_CATEGORY_COMMENTS', 'coimgs' => $this->t['l'] . '_IMAGE_COMMENTS', 'users' => $this->t['l'] . '_USERS', 'fbs' => $this->t['l'] . '_FB', 'tags' => $this->t['l'] . '_TAGS', 'efs' => $this->t['l'] . '_STYLES', 'in' => $this->t['l'] . '_INFO'); JHTML::stylesheet($this->t['s']); //JHTML::_('behavior.tooltip'); $this->t['version'] = PhocaGalleryRenderInfo::getPhocaVersion(); $this->addToolbar(); parent::display($tpl); }
function cooliris() { $cids = JRequest::getVar('cid', array(0), 'post', 'array'); $model = $this->getModel('phocagalleryc'); $message = ''; if (!$model->cooliris($cids, $message)) { $message = PhocaGalleryUtils::setMessage(JText::_($message), JText::_('COM_PHOCAGALLERY_ERROR_CREATING_COOLIRS_FILE')); } else { $message = PhocaGalleryUtils::setMessage(JText::_($message), JText::_('COM_PHOCAGALLERY_COOLIRIS_FILE_CREATED')); } $link = 'index.php?option=com_phocagallery&view=phocagallerycs'; $this->setRedirect($link, $message); }
public static function getCode($url) { $o = ''; if ($url != '' && PhocaGalleryUtils::isURLAddress($url)) { $shortvideoCode = 'http://youtu.be/'; $pos = strpos($url, $shortvideoCode); if ($pos !== false) { $code = str_replace($shortvideoCode, '', $url); } else { $codeArray = explode('=', $url); $code = str_replace($codeArray[0] . '=', '', $url); } return $code; } return $o; }
echo '<div id="phocagallery" class="pg-detail-view' . $this->params->get('pageclass_sfx') . '">'; if ($this->tmpl['backbutton'] != '') { echo $this->tmpl['backbutton']; } echo '<table border="0" style="width:' . $this->tmpl['boxlargewidth'] . 'px;height:' . $this->tmpl['boxlargeheight'] . 'px;">' . '<tr>' . '<td colspan="5" class="pg-center" align="center" valign="middle">' . $this->item->videocode . '</td>' . '</tr>'; $titleDesc = ''; if ($this->tmpl['displaytitleindescription'] == 1) { $titleDesc .= $this->item->title; if ($this->item->description != '' && $titleDesc != '') { $titleDesc .= ' - '; } } // Standard Description if ($this->tmpl['displaydescriptiondetail'] == 1) { echo '<tr>' . '<td colspan="6" align="left" valign="top" height="' . $this->tmpl['descriptiondetailheight'] . '">' . '<div style="font-size:' . $this->tmpl['fontsizedesc'] . 'px;' . 'height:' . $this->tmpl['descriptiondetailheight'] . 'px;padding:0 20px 0 20px;' . 'color:' . $this->tmpl['fontcolordesc'] . '">' . $titleDesc . $this->item->description . '</div>' . '</td>' . '</tr>'; } if ($this->tmpl['detailbuttons'] == 1) { echo '<tr>' . '<td align="left" width="30%" style="padding-left:48px">' . $this->item->prevbutton . '</td>' . '<td align="center"></td>' . '<td align="center">' . str_replace("%onclickreload%", $this->tmpl['detailwindowreload'], $this->item->reloadbutton) . '</td>'; if ($this->tmpl['detailwindow'] == 4 || $this->tmpl['detailwindow'] == 5 || $this->tmpl['detailwindow'] == 7) { } else { echo '<td align="center">' . str_replace("%onclickclose%", $this->tmpl['detailwindowclose'], $this->item->closebutton) . '</td>'; } echo '<td align="right" width="30%" style="padding-right:48px">' . $this->item->nextbutton . '</td>' . '</tr>'; } echo '</table>'; echo $this->loadTemplate('rating'); if ($this->tmpl['detailwindow'] == 7) { PhocaGalleryUtils::footer(); } echo '</div>'; }
function recreate() { $cid = JRequest::getVar('cid', array(), '', 'array'); JArrayHelper::toInteger($cid); if (count($cid) < 1) { JError::raiseError(500, JText::_('COM_PHOCAGALLERY_SELECT_ITEM_RECREATE')); } $message = ''; $model = $this->getModel('phocagalleryimg'); if (!$model->recreate($cid, $message)) { $message = PhocaGalleryUtils::setMessage($message, JText::_('COM_PHOCAGALLERY_ERROR_THUMBS_REGENERATING')); } else { $message = JText::_('COM_PHOCAGALLERY_SUCCESS_THUMBS_REGENERATING'); } $this->setRedirect('index.php?option=com_phocagallery&view=phocagalleryimgs', $message); }
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; }
public function display($tpl = null) { $tmpl = array(); $params = JComponentHelper::getParams('com_phocagallery'); $this->sidebar = JHtmlSidebar::render(); JHTML::stylesheet('media/com_phocagallery/css/administrator/phocagallery.css'); $tmpl['version'] = PhocaGalleryRenderInfo::getPhocaVersion(); $tmpl['enablethumbcreation'] = $params->get('enable_thumb_creation', 1); $tmpl['paginationthumbnailcreation'] = $params->get('pagination_thumbnail_creation', 0); $tmpl['cleanthumbnails'] = $params->get('clean_thumbnails', 0); $tmpl['enablethumbcreationstatus'] = PhocaGalleryRenderAdmin::renderThumbnailCreationStatus((int) $tmpl['enablethumbcreation'], 1); //Main Function support // echo '<table border="1" cellpadding="5" cellspacing="5" style="border:1px solid #ccc;border-collapse:collapse">'; $function = array('getImageSize', 'imageCreateFromJPEG', 'imageCreateFromPNG', 'imageCreateFromGIF', 'imageRotate', 'imageCreateTruecolor', 'imageCopyResampled', 'imageFill', 'imageColorTransparent', 'imageColorAllocate', 'exif_read_data'); $fOutput = ''; foreach ($function as $key => $value) { if (function_exists($value)) { $bgStyle = 'class="alert alert-success"'; $icon = 'true'; $iconText = JText::_('COM_PHOCAGALLERY_ENABLED'); } else { $bgStyle = 'class="alert alert-error"'; $icon = 'false'; $iconText = JText::_('COM_PHOCAGALLERY_DISABLED'); } $fOutput .= '<tr ' . $bgStyle . '><td>' . JText::_('COM_PHOCAGALLERY_FUNCTION') . ' ' . $value . '</td>'; $fOutput .= '<td align="center">' . JHTML::_('image', 'media/com_phocagallery/images/administrator/icon-16-true.png', JText::_('COM_PHOCAGALLERY_ENABLED')) . '</td>'; $fOutput .= '<td align="center">' . JHTML::_('image', 'media/com_phocagallery/images/administrator/icon-16-' . $icon . '.png', JText::_($iconText)) . '</td></tr>'; } // PICASA $fOutput .= '<tr><td align="left"><b>' . JText::_('COM_PHOCAGALLERY_PICASA_SUPPORT') . '</b></td></tr>'; if (!PhocaGalleryUtils::iniGetBool('allow_url_fopen')) { $bgStyle = 'class="alert alert-error"'; $icon = 'false'; $iconText = JText::_('COM_PHOCAGALLERY_DISABLED'); } else { $bgStyle = 'class="alert alert-success"'; $icon = 'true'; $iconText = JText::_('COM_PHOCAGALLERY_ENABLED'); } $fOutput .= '<tr ' . $bgStyle . '><td>' . JText::_('COM_PHOCAGALLERY_PHP_SETTINGS_PARAM') . ' allow_url_fopen (' . JText::_('COM_PHOCAGALLERY_ENABLED_IF_CURL_DISABLED') . ')</td>'; $fOutput .= '<td align="center">' . JHTML::_('image', 'media/com_phocagallery/images/administrator/icon-16-true.png', JText::_('COM_PHOCAGALLERY_ENABLED')) . '</td>'; $fOutput .= '<td align="center">' . JHTML::_('image', 'media/com_phocagallery/images/administrator/icon-16-' . $icon . '.png', JText::_($iconText)) . '</td></tr>'; if (function_exists("curl_init")) { $bgStyle = 'class="alert alert-success"'; $icon = 'true'; $iconText = JText::_('COM_PHOCAGALLERY_ENABLED'); } else { $bgStyle = 'class="alert alert-error"'; $icon = 'false'; $iconText = JText::_('COM_PHOCAGALLERY_DISABLED'); } if (function_exists("json_decode")) { $bgStylej = 'class="alert alert-success"'; $iconj = 'true'; $iconTextj = JText::_('COM_PHOCAGALLERY_ENABLED'); } else { $bgStylej = 'class="alert alert-error"'; $iconj = 'false'; $iconTextj = JText::_('COM_PHOCAGALLERY_DISABLED'); } $fOutput .= '<tr ' . $bgStyle . '><td>' . JText::_('COM_PHOCAGALLERY_FUNCTION') . ' cURL (' . JText::_('COM_PHOCAGALLERY_ENABLED_IF_FOPEN_DISABLED') . ')</td>'; $fOutput .= '<td align="center">' . JHTML::_('image', 'media/com_phocagallery/images/administrator/icon-16-true.png', JText::_('COM_PHOCAGALLERY_ENABLED')) . '</td>'; $fOutput .= '<td align="center">' . JHTML::_('image', 'media/com_phocagallery/images/administrator/icon-16-' . $icon . '.png', JText::_($iconText)) . '</td></tr>'; $fOutput .= '<tr ' . $bgStylej . '><td>' . JText::_('COM_PHOCAGALLERY_FUNCTION') . ' json_decode</td>'; $fOutput .= '<td align="center">' . JHTML::_('image', 'media/com_phocagallery/images/administrator/icon-16-true.png', JText::_('COM_PHOCAGALLERY_ENABLED')) . '</td>'; $fOutput .= '<td align="center">' . JHTML::_('image', 'media/com_phocagallery/images/administrator/icon-16-' . $iconj . '.png', JText::_($iconTextj)) . '</td></tr>'; $this->assignRef('tmpl', $tmpl); $this->assignRef('foutput', $fOutput); $this->addToolbar(); parent::display($tpl); }
public static function createBgImage($data, &$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); $formatIcon = 'png'; $path = PhocaGalleryPath::getPath(); $fileIn = $fileOut = $path->image_abs_front . $data['image'] . '.' . $formatIcon; if ($fileIn !== '' && JFile::exists($fileIn)) { $memory = 8; $memoryLimitChanged = 0; $memory = (int) ini_get('memory_limit'); if ($memory == 0) { $memory = 8; } // Try to increase memory if ($memory < 50) { ini_set('memory_limit', '50M'); $memoryLimitChanged = 1; } $imageWidth = $data['iw']; $imageHeight = $data['ih']; $completeImageWidth = $imageWidth + 18; $completeImageHeight = $imageHeight + 18; $completeImageBackground = $data['sbgc']; $retangleColor = $data['ibgc']; $borderColor = $data['ibrdc']; $shadowColor = $data['iec']; $effect = $data['ie']; // shadow or glow $imgX = 6; $imgWX = $imageWidth + 5 + $imgX; // Image Width + space (padding) + Start Position $imgY = 6; $imgHY = $imageHeight + 5 + $imgY; $brdX = $imgX - 1; $brdWX = $imgWX + 1; $brdY = $imgY - 1; $brdHY = $imgHY + 1; // Crate an image $img = @imagecreatetruecolor($completeImageWidth, $completeImageHeight); if (!$img) { $errorMsg = 'ErrorNoImageCreateTruecolor'; return false; } if ($completeImageBackground == '') { switch ($formatIcon) { case 'jpg': case 'jpeg': case 'gif': $completeImageBackground = '#ffffff'; break; case 'png': @imagealphablending($img, false); imagefilledrectangle($img, 0, 0, $completeImageWidth, $completeImageHeight, imagecolorallocatealpha($img, 255, 255, 255, 127)); @imagealphablending($img, true); break; } } else { $bGClr = PhocaGalleryUtils::htmlToRgb($completeImageBackground); imagefilledrectangle($img, 0, 0, $completeImageWidth, $completeImageHeight, imagecolorallocate($img, $bGClr[0], $bGClr[1], $bGClr[2])); } // Create Retangle if ($retangleColor != '') { $rtgClr = PhocaGalleryUtils::htmlToRgb($retangleColor); $retangle = imagecolorallocate($img, $rtgClr[0], $rtgClr[1], $rtgClr[2]); } // Create Border if ($borderColor != '') { $brdClr = PhocaGalleryUtils::htmlToRgb($borderColor); $border = imagecolorallocate($img, $brdClr[0], $brdClr[1], $brdClr[2]); } // Effect (shadow,glow) if ((int) $effect > 0) { if ($shadowColor != '') { $shdClr = PhocaGalleryUtils::htmlToRgb($shadowColor); if ((int) $effect == 3) { $shdX = $brdX - 1; $shdY = $brdY - 1; $effectArray = array(55, 70, 85, 100, 115); } else { if ((int) $effect == 2) { $shdX = $brdX + 3; $shdY = $brdY + 3; $effectArray = array(50, 70, 90, 110); } else { $shdX = $brdX + 3; $shdY = $brdY + 3; $effectArray = array(0, 0, 0, 0); } } $shdWX = $brdWX + 1; $shdHY = $brdHY + 1; foreach ($effectArray as $key => $value) { $effectImg = @imagecolorallocatealpha($img, $shdClr[0], $shdClr[1], $shdClr[2], $value); if (!$effectImg) { $errorMsg = 'ErrorNoImageColorAllocateAlpha'; return false; } imagerectangle($img, $shdX, $shdY, $shdWX, $shdHY, $effectImg); if ((int) $effect == 3) { $shdX--; $shdY--; } else { if ((int) $effect == 2) { $shdX++; $shdY++; } else { //$shdX++; //$shdY++; } } $shdWX++; $shdHY++; } } } // Write Rectangle over the shadow if ($retangleColor != '') { imagefilledrectangle($img, $imgX, $imgY, $imgWX, $imgHY, $retangle); } if ($borderColor != '') { imagerectangle($img, $brdX, $brdY, $brdWX, $brdHY, $border); } switch ($formatIcon) { case 'jpg': case 'jpeg': if (!function_exists('ImageJPEG')) { $errorMsg = 'ErrorNoJPGFunction'; return false; } if ($jfile_thumbs == 1) { ob_start(); if (!@ImageJPEG($img, 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($img, $fileOut, $jpeg_quality)) { $errorMsg = 'ErrorWriteFile'; return false; } } break; case 'png': if (!function_exists('ImagePNG')) { $errorMsg = 'ErrorNoPNGFunction'; return false; } @imagesavealpha($img, true); if ($jfile_thumbs == 1) { ob_start(); if (!@ImagePNG($img, 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($img, $fileOut)) { $errorMsg = 'ErrorWriteFile'; return false; } } break; case 'gif': if (!function_exists('ImageGIF')) { $errorMsg = 'ErrorNoGIFFunction'; return false; } if ($jfile_thumbs == 1) { ob_start(); if (!@ImageGIF($img, 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($img, $fileOut)) { $errorMsg = 'ErrorWriteFile'; return false; } } break; default: $errorMsg = 'ErrorNotSupportedImage'; return false; break; } // free memory ImageDestroy($img); // Original if ($memoryLimitChanged == 1) { $memoryString = $memory . 'M'; ini_set('memory_limit', $memoryString); } return true; // Success } $errorMsg = 'Error2'; return false; }
echo $map->setDisableDoubleClickZoomOpt(0) . ',' . "\n"; echo $map->setMapTypeOpt() . "\n"; echo $map->endOptions(); echo $map->setMap(); foreach ($this->categories as $category) { if (isset($category->longitude) && $category->longitude != '' && $category->longitude != 0 && (isset($category->latitude) && $category->latitude != '' && $category->latitude != 0)) { if ($category->geotitle == '') { $category->geotitle = $category->title; } $extCategory = PhocaGalleryImage::isExtImage($category->extid); if ($extCategory) { $correctImageRes = PhocaGalleryPicasa::correctSizeWithRate($category->extw, $category->exth, $this->tmpl['picasa_correct_width'], $this->tmpl['picasa_correct_height']); $imgLink = JHtml::_('image', $category->linkthumbnailpath, str_replace('»', '-', $category->title), array('width' => $correctImageRes['width'], 'height' => $correctImageRes['height'])); } else { $imgLink = JHtml::_('image', $category->linkthumbnailpath, $category->geotitle); } $text = '<div style="text-align:left">' . '<table border="0" cellspacing="5" cellpadding="5">' . '<tr>' . '<td align="left" colspan="2"><b><a href="' . $category->link . '">' . $category->geotitle . '</a></b></td>' . '</tr>' . '<tr>' . '<td valign="top" align="left"><a href="' . $category->link . '">' . $imgLink . '</a></td>' . '<td valign="top" align="left">' . PhocaGalleryText::strTrimAll(addslashes($category->description)) . '</td>' . '</tr></table></div>'; // Markers $iconOutput = $map->setMarkerIcon(0); echo $iconOutput['js']; echo $map->setMarker($category->id, $category->geotitle, $category->description, $category->latitude, $category->longitude, $iconOutput['icon'], $text); echo $map->setListener(); } } echo $map->endMapF(); echo $map->setInitializeF(); ?> //]]></script><?php } echo '<div> </div><div>' . PhocaGalleryUtils::displayFooter() . '</div></div>';
<?php defined('_JEXEC') or die('Restricted access'); $app = JFactory::getApplication(); $amp = PhocaGalleryUtils::setQuestionmarkOrAmp($this->tmpl['action']); if ((int) $this->tmpl['display_rating_img'] == 1 || $this->tmpl['mb_rating']) { // Leave message for already voted images $vote = $app->input->get('vote', 0, 'int'); if ($vote == 1) { $voteMsg = JText::_('COM_PHOCAGALLERY_ALREADY_RATED_IMG_THANKS'); } else { $voteMsg = JText::_('COM_PHOCAGALLERY_ALREADY_RATE_IMG'); } echo '<table style="text-align:left" border="0">' . '<tr>' . '<td><strong>' . JText::_('COM_PHOCAGALLERY_RATING') . '</strong>: ' . $this->tmpl['votesaverageimg'] . ' / ' . $this->tmpl['votescountimg'] . ' ' . JText::_($this->tmpl['votestextimg']) . ' </td>'; if ($this->tmpl['alreay_ratedimg']) { echo '<td style="text-align:left"><ul class="star-rating">' . '<li class="current-rating" style="width:' . $this->tmpl['voteswidthimg'] . 'px"></li>' . '<li><span class="star1"></span></li>'; for ($i = 2; $i < 6; $i++) { echo '<li><span class="stars' . $i . '"></span></li>'; } echo '</ul></td>'; if ($this->tmpl['enable_multibox'] == 1) { echo '<td></td></tr>'; echo '<tr><td style="text-align:left" colspan="4" class="pg-rating-msg">' . $voteMsg . '</td></tr>'; } else { echo '<td style="text-align:left" colspan="4" class="pg-rating-msg"> ' . $voteMsg . '</td></tr>'; } } else { if ($this->tmpl['not_registered_img']) { echo '<td style="text-align:left"><ul class="star-rating">' . '<li class="current-rating" style="width:' . $this->tmpl['voteswidthimg'] . 'px"></li>' . '<li><span class="star1"></span></li>'; for ($i = 2; $i < 6; $i++) { echo '<li><span class="stars' . $i . '"></span></li>';
public function display($tpl = null) { $document =& JFactory::getDocument(); JHTML::stylesheet('administrator/components/com_phocagallery/assets/phocagallery.css'); JHTML::stylesheet('administrator/components/com_phocagallery/assets/jcp/picker.css'); $document->addScript(JURI::base(true) . '/components/com_phocagallery/assets/jcp/picker.js'); $this->require_ftp = JClientHelper::setCredentialsFromRequest('ftp'); if ($this->themeName()) { $this->theme_name = $this->themeName(); } // Background Image $params = JComponentHelper::getParams('com_phocagallery'); $this->tmpl['formaticon'] = PhocaGalleryImage::getFormatIcon(); // Small $this->tmpl['siw'] = $params->get('small_image_width', 50); $this->tmpl['sih'] = $params->get('small_image_height', 50); //After creating an image (post with data); $this->tmpl['ssbgc'] = JRequest::getVar('ssbgc', '', '', 'string'); $this->tmpl['sibgc'] = JRequest::getVar('sibgc', '', '', 'string'); $this->tmpl['sibrdc'] = JRequest::getVar('sibrdc', '', '', 'string'); $this->tmpl['sie'] = JRequest::getVar('sie', '', '', 'int'); $this->tmpl['siec'] = JRequest::getVar('siec', '', '', 'string'); $siw = JRequest::getVar('siw', '', '', 'int'); $sih = JRequest::getVar('sih', '', '', 'int'); $this->tmpl['ssbgc'] = PhocaGalleryUtils::filterInput($this->tmpl['ssbgc']); $this->tmpl['sibgc'] = PhocaGalleryUtils::filterInput($this->tmpl['sibgc']); $this->tmpl['sibrdc'] = PhocaGalleryUtils::filterInput($this->tmpl['sibrdc']); $this->tmpl['siec'] = PhocaGalleryUtils::filterInput($this->tmpl['siec']); if ($this->tmpl['ssbgc'] != '') { $this->tmpl['ssbgc'] = '#' . $this->tmpl['ssbgc']; } if ($this->tmpl['sibgc'] != '') { $this->tmpl['sibgc'] = '#' . $this->tmpl['sibgc']; } if ($this->tmpl['sibrdc'] != '') { $this->tmpl['sibrdc'] = '#' . $this->tmpl['sibrdc']; } if ($this->tmpl['siec'] != '') { $this->tmpl['siec'] = '#' . $this->tmpl['siec']; } if ((int) $siw > 0) { $this->tmpl['siw'] = (int) $siw; } if ((int) $sih > 0) { $this->tmpl['sih'] = (int) $sih; } // Medium $this->tmpl['miw'] = $params->get('medium_image_width', 100); $this->tmpl['mih'] = $params->get('medium_image_height', 100); //After creating an image (post with data); $this->tmpl['msbgc'] = JRequest::getVar('msbgc', '', '', 'string'); $this->tmpl['mibgc'] = JRequest::getVar('mibgc', '', '', 'string'); $this->tmpl['mibrdc'] = JRequest::getVar('mibrdc', '', '', 'string'); $this->tmpl['mie'] = JRequest::getVar('mie', '', '', 'int'); $this->tmpl['miec'] = JRequest::getVar('miec', '', '', 'string'); $miw = JRequest::getVar('miw', '', '', 'int'); $mih = JRequest::getVar('mih', '', '', 'int'); $this->tmpl['msbgc'] = PhocaGalleryUtils::filterInput($this->tmpl['msbgc']); $this->tmpl['mibgc'] = PhocaGalleryUtils::filterInput($this->tmpl['mibgc']); $this->tmpl['mibrdc'] = PhocaGalleryUtils::filterInput($this->tmpl['mibrdc']); $this->tmpl['miec'] = PhocaGalleryUtils::filterInput($this->tmpl['miec']); if ($this->tmpl['msbgc'] != '') { $this->tmpl['msbgc'] = '#' . $this->tmpl['msbgc']; } if ($this->tmpl['mibgc'] != '') { $this->tmpl['mibgc'] = '#' . $this->tmpl['mibgc']; } if ($this->tmpl['mibrdc'] != '') { $this->tmpl['mibrdc'] = '#' . $this->tmpl['mibrdc']; } if ($this->tmpl['miec'] != '') { $this->tmpl['miec'] = '#' . $this->tmpl['miec']; } if ((int) $miw > 0) { $this->tmpl['miw'] = (int) $miw; } if ((int) $mih > 0) { $this->tmpl['mih'] = (int) $mih; } $this->addToolbar(); parent::display($tpl); }
function loadDataByAddress($address, $type, &$errorMsg) { $curl = $fopen = 1; $data = ''; if (!function_exists("curl_init")) { $errorMsg .= JText::_('COM_PHOCAGALLERY_PICASA_NOT_LOADED_CURL'); $curl = 0; } if (!PhocaGalleryUtils::iniGetBool('allow_url_fopen')) { if ($errorMsg != '') { $errorMsg .= '<br />'; } $errorMsg .= JText::_('COM_PHOCAGALLERY_PICASA_NOT_LOADED_FOPEN'); $fopen = 0; } if ($fopen == 0 && $curl == 0) { return false; } if ($curl == 1) { $init = curl_init(); curl_setopt($init, CURLOPT_URL, $address); curl_setopt($init, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); // Experimental curl_setopt($init, CURLOPT_RETURNTRANSFER, 1); curl_setopt($init, CURLOPT_CONNECTTIMEOUT, 10); $data = curl_exec($init); curl_close($init); } else { $data = @file_get_contents($address); } if ($data == '') { if ($errorMsg != '') { $errorMsg .= '<br />'; } switch ($type) { case 'album': $errorMsg = JText::_('COM_PHOCAGALLERY_PICASA_NOT_LOADED_IMAGE'); break; case 'user': default: $errorMsg .= JText::_('COM_PHOCAGALLERY_PICASA_NOT_LOADED_USER'); break; } return false; } return $data; }
public function loadExtImages($idCat, $data, &$message) { $paramsC = JComponentHelper::getParams('com_phocagallery'); $picasa_load_pagination = $paramsC->get('picasa_load_pagination', 20); // First get Album ID from PICASA // Second - Get id (from saved category) OR from GET (if pagination is used) // Third save images with ID of category $errorMsgA = $errorMsgI = ''; //FIRST if (JRequest::getVar('picstart', 0, 'get', 'int') > 0) { // Category is saved - use this id and don't save it again $data['exta'] = JRequest::getVar('picalbum', '', 'get'); $data['extu'] = JRequest::getVar('picuser', '', 'get'); $data['extauth'] = JRequest::getVar('picauth', '', 'get'); $data['language'] = JRequest::getVar('piclang', '', 'get'); } $album = $this->picasaAlbum($data['extu'], $data['extauth'], $data['exta'], $errorMsgA); if (!$album) { $message = PhocaGalleryUtils::setMessage($errorMsgA, $message); return false; } else { $data['extid'] = $album['id']; } // SECOND if (JRequest::getVar('picstart', 0, 'get', 'int') > 0) { // Category is saved - use this id and don't save it again $id = JRequest::getVar('id', 0, 'get', 'int'); } else { $id = $idCat; //you get id and you store the table data } if ($id && $id > 0) { // THIRD if ($album && (int) $album['id'] > 0) { // PAGINATION $start = JRequest::getVar('picstart', 1, 'get', 'int'); $max = $picasa_load_pagination; $pagination = '&start-index=' . (int) $start . '&max-results=' . (int) $max; $picImg = $this->picasaImages($data['extu'], $data['extauth'], $album['id'], $id, $data['language'], $pagination, $errorMsgI); if (!$picImg) { $message = PhocaGalleryUtils::setMessage($errorMsgI, $message); return false; } else { if (isset($album['num']) && (int) $album['num'] > 0) { $newStart = (int) $start + (int) $max; $newStartIf = (int) $newStart - 1; // Sec - - - - $loop = (int) $album['num'] / (int) $max; $maxCount = (int) $max; // - - - - - - if ((int) $loop > 50 || $maxCount < 20) { $message = PhocaGalleryUtils::setMessage(JText::_('COM_PHOCAGALLERY_PICASA_IMAGE_NOT_ALL_LOADED'), $message); return false; } else { if ((int) $album['num'] > (int) $newStartIf) { $refreshUrl = 'index.php?option=com_phocagallery&task=phocagalleryc.loadextimgpgn&id=' . $id . '&picalbum=' . $data['exta'] . '&picuser='******'extu'] . '&picauth=' . $data['extauth'] . '&piclang=' . $data['language'] . '&picstart=' . (int) $newStart . '&' . JSession::getFormToken() . '=1'; $countImg = $newStartIf + $max; if ($countImg > $album['num']) { $countImg = $album['num']; } //$countInfo = '<div><b>'.$newStart. '</b> - <b>'. $countImg . '</b> ' .JText::_('COM_PHOCAGALLERY_FROM'). ' <b>' . $album['num'].'</b></div>'; $countInfo = '<div>' . JText::sprintf('COM_PHOCAGALLERY_FROM_ALBUM', '<b>' . $newStart . '</b>', '<b>' . $countImg . '</b> ', ' <b>' . $album['num'] . '</b>') . '</div>'; PhocaGalleryPicasa::renderProcessPage($id, $refreshUrl, $countInfo); exit; } } } // The extid is not a part of post data, so we must store it after $query = $this->_db->getQuery(true); $query->update('`#__phocagallery_categories`'); $query->set('`extid` = ' . $this->_db->quote($album['id'])); $query->where('`id` = ' . (int) $id); $this->_db->setQuery((string) $query); if (!$this->_db->query()) { $this->setError($this->_db->getErrorMsg()); return false; } $message = PhocaGalleryUtils::setMessage(JText::_('COM_PHOCAGALLERY_PICASA_IMAGE_LOADED'), $message); return true; } } } else { $message = PhocaGalleryUtils::setMessage(JText::_('COM_PHOCAGALLERY_ERROR_SAVING_CATEGORY'), $message); return true; } }
function display($tpl = null) { $app = JFactory::getApplication(); // Don't load all the framework if nonsense $id = $app->input->get('id', 0, 'int'); if ($id < 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->tagId = $app->input->get('tagid', 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 allways $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; } // 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 = $fileThumbnail->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 = $fileThumbnail->rel; $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); $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['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(); } } // 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['gm'] = PhocaGalleryUtils::displayFooter(1); $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); }
echo '<div id="phocagallery" class="pg-detail-view' . $this->params->get('pageclass_sfx') . '">'; if ($this->tmpl['backbutton'] != '') { echo $this->tmpl['backbutton']; } echo '<table border="0" style="width:' . $this->tmpl['boxlargewidth'] . 'px;height:' . $this->tmpl['boxlargeheight'] . 'px;">' . '<tr>' . '<td colspan="5" class="pg-center" align="center" valign="middle">' . $this->item->videocode . '</td>' . '</tr>'; $titleDesc = ''; if ($this->tmpl['display_title_description'] == 1) { $titleDesc .= $this->item->title; if ($this->item->description != '' && $titleDesc != '') { $titleDesc .= ' - '; } } // Standard Description if ($this->tmpl['displaydescriptiondetail'] == 1) { echo '<tr>' . '<td colspan="6" align="left" valign="top" class="pg-dv-desc">' . '<div class="pg-dv-desc">' . $titleDesc . $this->item->description . '</div>' . '</td>' . '</tr>'; } if ($this->tmpl['detailbuttons'] == 1) { echo '<tr>' . '<td align="left" width="30%" style="padding-left:48px">' . $this->item->prevbutton . '</td>' . '<td align="center"></td>' . '<td align="center">' . str_replace("%onclickreload%", $this->tmpl['detailwindowreload'], $this->item->reloadbutton) . '</td>'; if ($this->tmpl['detailwindow'] == 4 || $this->tmpl['detailwindow'] == 5 || $this->tmpl['detailwindow'] == 7) { } else { echo '<td align="center">' . str_replace("%onclickclose%", $this->tmpl['detailwindowclose'], $this->item->closebutton) . '</td>'; } echo '<td align="right" width="30%" style="padding-right:48px">' . $this->item->nextbutton . '</td>' . '</tr>'; } echo '</table>'; echo $this->loadTemplate('rating'); if ($this->tmpl['detailwindow'] == 7) { PhocaGalleryUtils::displayFooter(); } echo '</div>'; }
function display($tpl = null) { $app = JFactory::getApplication(); $document =& JFactory::getDocument(); $this->params = $app->getParams(); $user =& JFactory::getUser(); $var['slideshow'] = JRequest::getVar('phocaslideshow', 0, '', 'int'); $var['download'] = JRequest::getVar('phocadownload', 0, '', 'int'); $uri =& JFactory::getURI(); $this->tmpl['action'] = $uri->toString(); $path = PhocaGalleryPath::getPath(); $neededAccessLevels = PhocaGalleryAccess::getNeededAccessLevels(); $access = PhocaGalleryAccess::isAccess($user->authorisedLevels(), $neededAccessLevels); // Information from the plugin - window is displayed after plugin action $get = array(); $get['detail'] = JRequest::getVar('detail', '', 'get', 'string'); $get['buttons'] = JRequest::getVar('buttons', '', 'get', 'string'); $get['ratingimg'] = JRequest::getVar('ratingimg', '', 'get', 'string'); $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['enablecustomcss'] = $this->params->get('enable_custom_css', 0); $this->tmpl['customcss'] = $this->params->get('custom_css', ''); $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); $this->tmpl['multibox_map_height'] = (int) $this->params->get('multibox_map_height', 300); $this->tmpl['multibox_map_width'] = (int) $this->params->get('multibox_map_width', 280); $this->tmpl['multibox_height_overflow'] = (int) $this->tmpl['multibox_height'] - 10; //padding $this->tmpl['multibox_left_bgcolor'] = $this->params->get('multibox_left_bgcolor', '#000000'); $this->tmpl['multibox_right_bgcolor'] = $this->params->get('multibox_right_bgcolor', '#ffffff'); $this->tmpl['multibox_comments_width'] = $this->params->get('multibox_comments_width', 300); $this->tmpl['multibox_comments_height'] = $this->params->get('multibox_comments_height', 600); $this->tmpl['multibox_thubms_box_width'] = $this->params->get('multibox_thubms_box_width', 300); $this->tmpl['multibox_thubms_count'] = $this->params->get('multibox_thubms_count', 4); $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['multibox_fixed_cols'] = $this->params->get('multibox_fixed_cols', 1); $this->tmpl['display_multibox'] = $this->params->get('display_multibox', array(1, 2)); // 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']); } // Plugin information $this->tmpl['detailwindow'] = $this->params->get('detail_window', 0); if (isset($get['detail']) && $get['detail'] != '') { $this->tmpl['detailwindow'] = $get['detail']; } // Plugin information $this->tmpl['detailbuttons'] = $this->params->get('detail_buttons', 1); if (isset($get['buttons']) && $get['buttons'] != '') { $this->tmpl['detailbuttons'] = $get['buttons']; } // Close and Reload links (for different window types) $close = PhocaGalleryRenderFront::renderCloseReloadDetail($this->tmpl['detailwindow']); $this->tmpl['detailwindowclose'] = $close['detailwindowclose']; $this->tmpl['detailwindowreload'] = $close['detailwindowreload']; $this->tmpl['displaydescriptiondetail'] = $this->params->get('display_description_detail', 0); $this->tmpl['displaytitleindescription'] = $this->params->get('display_title_description', 0); $this->tmpl['descriptiondetailheight'] = $this->params->get('description_detail_height', 16); $this->tmpl['fontsizedesc'] = $this->params->get('font_size_desc', 11); $this->tmpl['fontcolordesc'] = $this->params->get('font_color_desc', '#333333'); $this->tmpl['detailwindowbackgroundcolor'] = $this->params->get('detail_window_background_color', '#ffffff'); $this->tmpl['descriptionlightboxfontcolor'] = $this->params->get('description_lightbox_font_color', '#ffffff'); $this->tmpl['descriptionlightboxbgcolor'] = $this->params->get('description_lightbox_bg_color', '#000000'); $this->tmpl['descriptionlightboxfontsize'] = $this->params->get('description_lightbox_font_size', 12); $this->tmpl['displayratingimg'] = $this->params->get('display_rating_img', 0); $this->tmpl['displayicondownload'] = $this->params->get('display_icon_download', 0); $this->tmpl['externalcommentsystem'] = $this->params->get('external_comment_system', 0); $this->tmpl['largewidth'] = $this->params->get('large_image_width', 640); $this->tmpl['largeheight'] = $this->params->get('large_image_height', 480); $this->tmpl['boxlargewidth'] = $this->params->get('front_modal_box_width', 680); $this->tmpl['boxlargeheight'] = $this->params->get('front_modal_box_height', 560); $this->tmpl['slideshow_delay'] = $this->params->get('slideshow_delay', 3000); $this->tmpl['slideshow_pause'] = $this->params->get('slideshow_pause', 2500); $this->tmpl['slideshowrandom'] = $this->params->get('slideshow_random', 0); $this->tmpl['slideshow_description'] = $this->params->get('slideshow_description', 'peekaboo'); $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); $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['ytb_display'] = $this->params->get('ytb_display', 0); $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'] : ''; $oH = ''; if ($this->tmpl['enable_multibox'] == 1) { $this->tmpl['fb_comment_width'] = $this->tmpl['multibox_comments_width']; $oH = 'overflow:hidden;'; } // CSS JHtml::stylesheet('components/com_phocagallery/assets/phocagallery.css'); if ($this->tmpl['enablecustomcss'] == 1) { JHtml::stylesheet('components/com_phocagallery/assets/phocagallerycustom.css'); if ($this->tmpl['customcss'] != '') { $document->addCustomTag("\n <style type=\"text/css\"> \n" . $this->escape(strip_tags($this->tmpl['customcss'])) . "\n </style> \n"); } } //Multibox displaying $this->tmpl['mb_title'] = PhocaGalleryUtils::isEnabledMultiboxFeature(1); $this->tmpl['mb_desc'] = PhocaGalleryUtils::isEnabledMultiboxFeature(2); $this->tmpl['mb_uploaded_by'] = PhocaGalleryUtils::isEnabledMultiboxFeature(3); $this->tmpl['mb_rating'] = PhocaGalleryUtils::isEnabledMultiboxFeature(4); $this->tmpl['mb_maps'] = PhocaGalleryUtils::isEnabledMultiboxFeature(5); $this->tmpl['mb_tags'] = PhocaGalleryUtils::isEnabledMultiboxFeature(6); $this->tmpl['mb_comments'] = PhocaGalleryUtils::isEnabledMultiboxFeature(7); $this->tmpl['mb_thumbs'] = PhocaGalleryUtils::isEnabledMultiboxFeature(8); // No bar in Detail View if ($this->tmpl['detailwindow'] == 7) { } else { $document->addCustomTag("<style type=\"text/css\"> \n" . " html, body, .contentpane, #all, #main {" . $oH . "background:" . $this->tmpl['detailwindowbackgroundcolor'] . ";padding:0px !important;margin:0px !important; width: 100% !important; max-width: 100% !important;} \n" . " center, table {background:" . $this->tmpl['detailwindowbackgroundcolor'] . ";} \n" . " #sbox-window {background-color:#fff;padding:5px} \n" . "body {min-width:100%} \n" . ".rt-container {width:100%} \n" . " </style> \n"); } // Download from the detail view which is not in the popupbox if ($var['download'] == 2) { $this->tmpl['displayicondownload'] = 2; } // Plugin Information if (isset($get['ratingimg']) && $get['ratingimg'] != '') { $this->tmpl['displayratingimg'] = $get['ratingimg']; } // Model $model =& $this->getModel(); $item = $model->getData(); //Multibox Thumbnails $this->tmpl['mb_thumbs_data'] = ''; if ($this->tmpl['mb_thumbs'] == 1) { // if we get item variable, we have rights to load the thumbnails, this is why we checking it if (isset($item->id) && isset($item->catid) && (int) $item->id > 0 && (int) $item->catid > 0) { $this->tmpl['mb_thumbs_data'] = $model->getThumbnails((int) $item->id, (int) $item->catid, (int) $item->ordering); } } // User Avatar $this->tmpl['useravatarimg'] = ''; $this->tmpl['useravatarmiddle'] = ''; $userAvatar = PhocaGalleryUser::getUserAvatar($item->userid); if ($userAvatar) { $pathAvatarAbs = $path->avatar_abs . 'thumbs' . DS . 'phoca_thumb_s_' . $userAvatar->avatar; $pathAvatarRel = $path->avatar_rel . 'thumbs/phoca_thumb_s_' . $userAvatar->avatar; if (JFile::exists($pathAvatarAbs)) { $sIH = $this->params->get('small_image_height', 50); $sIHR = @getImageSize($pathAvatarAbs); if (isset($sIHR[1])) { $sIH = $sIHR[1]; } if ((int) $sIH > 0) { $this->tmpl['useravatarmiddle'] = (int) $sIH / 2 - 10; } $this->tmpl['useravatarimg'] = '<img src="' . JURI::base(true) . '/' . $pathAvatarRel . '?imagesid=' . md5(uniqid(time())) . '" alt="" />'; } } // Access check - don't display the image if you have no access to this image (if user add own url) // USER RIGHT - ACCESS - - - - - - - - - - $rightDisplay = 0; if (!empty($item)) { $rightDisplay = PhocaGalleryAccess::getUserRight('accessuserid', $item->cataccessuserid, $item->cataccess, $user->authorisedLevels(), $user->get('id', 0), 0); } if ((int) $rightDisplay == 0) { echo $close['html']; //Some problem with cache - Joomla! return this message if there is no reason for do it. //$this->tmpl['pl'] = 'index.php?option=com_users&view=login&return='.base64_encode($uri->toString()); //$app->redirect(JRoute::_($this->tmpl['pl'], false), JText::_('COM_PHOCAGALLERY_NOT_AUTHORISED_ACTION')); exit; } // - - - - - - - - - - - - - - - - - - - - phocagalleryimport('phocagallery.image.image'); phocagalleryimport('phocagallery.render.renderdetailbutton'); // Javascript Slideshow buttons $detailButton = new PhocaGalleryRenderDetailButton(); if ($this->tmpl['enable_multibox'] == 1) { $detailButton->setType('multibox'); } $item->reloadbutton = $detailButton->getReload($item->catslug, $item->slug); $item->closebutton = $detailButton->getClose($item->catslug, $item->slug); $item->closetext = $detailButton->getCloseText($item->catslug, $item->slug); $item->nextbutton = $detailButton->getNext((int) $item->catid, (int) $item->id, (int) $item->ordering); $item->nextbuttonhref = $detailButton->getNext((int) $item->catid, (int) $item->id, (int) $item->ordering, 1); $item->prevbutton = $detailButton->getPrevious((int) $item->catid, (int) $item->id, (int) $item->ordering); $slideshowData = $detailButton->getJsSlideshow((int) $item->catid, (int) $item->id, (int) $var['slideshow'], $item->catslug, $item->slug); $item->slideshowbutton = $slideshowData['icons']; $item->slideshowfiles = $slideshowData['files']; $item->slideshow = $var['slideshow']; $item->download = $var['download']; // ALT VALUE $altValue = PhocaGalleryRenderFront::getAltValue($this->tmpl['altvalue'], $item->title, $item->description, $item->metadesc); $item->altvalue = $altValue; // Get file thumbnail or No Image $item->filenameno = $item->filename; $item->filename = PhocaGalleryFile::getTitleFromFile($item->filename, 1); $item->filesize = PhocaGalleryFile::getFileSize($item->filenameno); $realImageSize = ''; $extImage = PhocaGalleryImage::isExtImage($item->extid); if ($extImage) { $item->extl = $item->extl; $item->exto = $item->exto; $realImageSize = PhocaGalleryImage::getRealImageSize($item->extl, '', 1); $item->imagesize = PhocaGalleryImage::getImageSize($item->exto, 1, 1); if ($item->extw != '') { $extw = explode(',', $item->extw); $item->extw = $extw[0]; } $correctImageRes = PhocaGalleryPicasa::correctSizeWithRate($item->extw, $item->exth, $this->tmpl['picasa_correct_width_l'], $this->tmpl['picasa_correct_height_l']); $item->linkimage = JHtml::_('image', $item->extl, $item->altvalue, array('width' => $correctImageRes['width'], 'height' => $correctImageRes['height'], 'class' => 'pg-detail-image')); $item->realimagewidth = $correctImageRes['width']; $item->realimageheight = $correctImageRes['height']; } else { $item->linkthumbnailpath = PhocaGalleryImageFront::displayCategoryImageOrNoImage($item->filenameno, 'large'); $item->linkimage = JHtml::_('image', $item->linkthumbnailpath, $item->altvalue, array('class' => 'pg-detail-image')); $realImageSize = PhocaGalleryImage::getRealImageSize($item->filenameno); $item->imagesize = PhocaGalleryImage::getImageSize($item->filenameno, 1); if (isset($realImageSize['w']) && isset($realImageSize['h'])) { $item->realimagewidth = $realImageSize['w']; $item->realimageheight = $realImageSize['h']; } else { $item->realimagewidth = $this->tmpl['largewidth']; $item->realimageheight = $this->tmpl['largeheight']; } } // Add Statistics $model->hit(JRequest::getVar('id', '', '', 'int')); // R A T I N G // Only registered (VOTES + COMMENTS) $this->tmpl['notregisteredimg'] = true; $this->tmpl['usernameimg'] = ''; if ($access > 0) { $this->tmpl['notregisteredimg'] = false; $this->tmpl['usernameimg'] = $user->name; } // VOTES Statistics Img if ((int) $this->tmpl['displayratingimg'] == 1 || $this->tmpl['mb_rating']) { $this->tmpl['votescountimg'] = 0; $this->tmpl['votesaverageimg'] = 0; $this->tmpl['voteswidthimg'] = 0; $votesStatistics = PhocaGalleryRateImage::getVotesStatistics((int) $item->id); if (!empty($votesStatistics->count)) { $this->tmpl['votescountimg'] = $votesStatistics->count; } if (!empty($votesStatistics->average)) { $this->tmpl['votesaverageimg'] = $votesStatistics->average; if ($this->tmpl['votesaverageimg'] > 0) { $this->tmpl['votesaverageimg'] = round((double) $this->tmpl['votesaverageimg'] / 0.5) * 0.5; $this->tmpl['voteswidthimg'] = 22 * $this->tmpl['votesaverageimg']; } else { $this->tmpl['votesaverageimg'] = (int) 0; // not float displaying } } if ((int) $this->tmpl['votescountimg'] > 1) { $this->tmpl['votestextimg'] = 'COM_PHOCAGALLERY_VOTES'; } else { $this->tmpl['votestextimg'] = 'COM_PHOCAGALLERY_VOTE'; } // Already rated? $this->tmpl['alreadyratedimg'] = PhocaGalleryRateImage::checkUserVote((int) $item->id, (int) $user->id); } // Tags $this->tmpl['displaying_tags_output'] = ''; if ($this->tmpl['display_tags_links'] == 1 || $this->tmpl['display_tags_links'] == 3 || $this->tmpl['mb_tags']) { if ($this->tmpl['detailwindow'] == 7) { $this->tmpl['displaying_tags_output'] = PhocaGalleryTag::displayTags($item->id); } else { $this->tmpl['displaying_tags_output'] = PhocaGalleryTag::displayTags($item->id, 1); } } // Back button $this->tmpl['backbutton'] = ''; if ($this->tmpl['detailwindow'] == 7) { phocagalleryimport('phocagallery.image.image'); $formatIcon =& PhocaGalleryImage::getFormatIcon(); $this->tmpl['backbutton'] = '<div><a href="' . JRoute::_('index.php?option=com_phocagallery&view=category&id=' . $item->catslug . '&Itemid=' . JRequest::getVar('Itemid', 0, '', 'int')) . '"' . ' title="' . JText::_('COM_PHOCAGALLERY_BACK_TO_CATEGORY') . '">' . JHtml::_('image', 'components/com_phocagallery/assets/images/icon-up-images.' . $formatIcon, JText::_('COM_PHOCAGALLERY_BACK_TO_CATEGORY')) . '</a></div>'; } // ASIGN $this->assignRef('tmpl', $this->tmpl); $this->assignRef('item', $item); $this->_prepareDocument($item); if ($this->tmpl['enable_multibox'] == 1) { if ($item->download > 0) { if ($this->tmpl['displayicondownload'] == 2) { $backLink = 'index.php?option=com_phocagallery&view=category&id=' . $item->catslug . '&Itemid=' . JRequest::getVar('Itemid', 0, '', 'int'); phocagalleryimport('phocagallery.file.filedownload'); if (isset($item->exto) && $item->exto != '') { PhocaGalleryFileDownload::download($item, $backLink, 1); } else { PhocaGalleryFileDownload::download($item, $backLink); } exit; } else { parent::display('multibox'); //parent::display('download'); } } else { if (isset($item->videocode) && $item->videocode != '' && $item->videocode != '0') { $item->videocode = PhocaGalleryYoutube::displayVideo($item->videocode); } parent::display('multibox'); } } else { if (isset($item->videocode) && $item->videocode != '' && $item->videocode != '0') { $item->videocode = PhocaGalleryYoutube::displayVideo($item->videocode); if ($this->tmpl['detailwindow'] != 7 && $this->tmpl['ytb_display'] == 1) { $document->addCustomTag("<style type=\"text/css\"> \n" . " html, body, .contentpane, div#all, div#main, div#system-message-container {padding: 0px !important;margin: 0px !important;} \n" . " div#sbox-window {background-color:#fff;padding: 0px;margin: 0px;} \n" . " </style> \n"); } parent::display('video'); } else { parent::display('slideshowjs'); if ($item->slideshow == 1) { parent::display('slideshow'); } else { if ($item->download > 0) { if ($this->tmpl['displayicondownload'] == 2) { $backLink = 'index.php?option=com_phocagallery&view=category&id=' . $item->catslug . '&Itemid=' . JRequest::getVar('Itemid', 0, '', 'int'); phocagalleryimport('phocagallery.file.filedownload'); if (isset($item->exto) && $item->exto != '') { PhocaGalleryFileDownload::download($item, $backLink, 1); } else { PhocaGalleryFileDownload::download($item, $backLink); } exit; } else { parent::display('download'); } } else { parent::display($tpl); } } } } }
public function display($tpl = null) { $app = JFactory::getApplication(); $user = JFactory::getUser(); $uri = JFactory::getURI(); $path = PhocaGalleryPath::getPath(); $this->params = $app->getParams(); $this->tmplGeo = array(); $this->tmpl = array(); $this->itemId = $app->input->get('Itemid', 0, 'int'); $document = JFactory::getDocument(); $library = PhocaGalleryLibrary::getLibrary(); $this->tmpl['action'] = $uri->toString(); // CSS PhocaGalleryRenderFront::renderAllCSS(); // Params $this->tmpl['display_name'] = 1; //$this->params->get( 'display_name', 1); $this->tmpl['image_categories_size'] = $this->params->get('image_categories_size', 1); $display_categories_geotagging = $this->params->get('display_categories_geotagging', 0); $display_access_category = $this->params->get('display_access_category', 1); $display_empty_categories = $this->params->get('display_empty_categories', 0); $hideCatArray = explode(',', trim($this->params->get('hide_categories', ''))); $showCatArray = explode(',', trim($this->params->get('show_categories', ''))); $showParentCatArray = explode(',', trim($this->params->get('show_parent_categories', ''))); $this->tmpl['categoriesimageordering'] = $this->params->get('categories_image_ordering', 10); $this->tmpl['categoriesdisplayavatar'] = $this->params->get('categories_display_avatar'); $this->tmpl['categories_description'] = $this->params->get('categories_description', ''); $this->tmpl['phocagallery_width'] = $this->params->get('phocagallery_width', ''); $this->tmpl['phocagallery_center'] = $this->params->get('phocagallery_center', ''); $this->tmpl['display_rating'] = $this->params->get('display_rating', 0); $this->tmpl['categories_box_space'] = $this->params->get('categories_box_space', ''); $this->tmpl['display_cat_desc_box'] = $this->params->get('display_cat_desc_box', 0); $this->tmpl['char_cat_length_name'] = $this->params->get('char_cat_length_name', 9); $this->tmpl['categories_mosaic_images'] = $this->params->get('categories_mosaic_images', 0); $this->tmpl['diff_thumb_height'] = $this->params->get('diff_thumb_height', 0); 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'; if ($this->tmpl['categories_mosaic_images'] == 1) { $this->tmpl['imagewidth'] = (int) $this->params->get('medium_image_width', 100) * 3; $this->tmpl['imageheight'] = (int) $this->params->get('medium_image_height', 100) * 2; } break; // small // 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'; if ($this->tmpl['categories_mosaic_images'] == 1) { $this->tmpl['imagewidth'] = (int) $this->params->get('small_image_width', 50) * 3; $this->tmpl['imageheight'] = (int) $this->params->get('small_image_height', 50) * 2; } break; } $this->tmpl['boxsize'] = PhocaGalleryImage::setBoxSize($this->tmpl, 1); 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>'); } $s = '#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-csv-box {' . "\n"; $s .= ' height: ' . $this->tmpl['boxsize']['height'] . 'px;' . "\n"; $s .= ' width: ' . $this->tmpl['boxsize']['width'] . 'px;"' . "\n"; $s .= '}' . "\n"; $s .= '.pg-csv-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>'); // Image next to Category in Categories View is ordered by Random as default $categoriesImageOrdering = PhocaGalleryOrdering::getOrderingString($this->tmpl['categoriesimageordering']); // MODEL $model = $this->getModel(); $this->tmpl['ordering'] = $model->getOrdering(); $this->categories = $this->get('data'); // Add link and unset the categories which user cannot see (if it is enabled in params) // If it will be unset while access view, we must sort the keys from category array - ACCESS $unSet = 0; foreach ($this->categories as $key => $item) { // Unset empty categories if it is set if ($display_empty_categories == 0) { if ($this->categories[$key]->numlinks < 1) { unset($this->categories[$key]); $unSet = 1; continue; } } // Set only selected category ID if (!empty($showCatArray[0]) && is_array($showCatArray)) { $unSetHCA = 0; foreach ($showCatArray as $valueHCA) { if ((int) trim($valueHCA) == $this->categories[$key]->id) { $unSetHCA = 0; $unSet = 0; break; } else { $unSetHCA = 1; $unSet = 1; } } if ($unSetHCA == 1) { unset($this->categories[$key]); continue; } } // Unset hidden category if (!empty($hideCatArray) && is_array($hideCatArray)) { $unSetHCA = 0; foreach ($hideCatArray as $valueHCA) { if ((int) trim($valueHCA) == $this->categories[$key]->id) { unset($this->categories[$key]); $unSet = 1; $unSetHCA = 1; break; } } if ($unSetHCA == 1) { continue; } } // Unset not set parent categories - only categories which have specific parent id will be displayed if (!empty($showParentCatArray[0]) && is_array($showParentCatArray)) { $unSetPHCA = 0; foreach ($showParentCatArray as $valuePHCA) { if ((int) trim($valuePHCA) == $this->categories[$key]->parent_id) { $unSetPHCA = 0; //$unSet = 0; break; } else { $unSetPHCA = 1; $unSet = 1; } } if ($unSetPHCA == 1) { unset($this->categories[$key]); continue; } } // Link $this->categories[$key]->link = PhocaGalleryRoute::getCategoryRoute($item->id, $item->alias); // USER RIGHT - ACCESS - - - - - // First Check - check if we can display category $rightDisplay = 1; if (!empty($this->categories[$key])) { $rightDisplay = PhocaGalleryAccess::getUserRight('accessuserid', $this->categories[$key]->accessuserid, $this->categories[$key]->access, $user->getAuthorisedViewLevels(), $user->get('id', 0), $display_access_category); } // Second Check - if we can display hidden category, set Key icon for them // if we don't have access right to see them // Display Key Icon (in case we want to display unaccessable categories in list view) $rightDisplayKey = 1; if ($display_access_category == 1) { // we simulate that we want not to display unaccessable categories // so if we get rightDisplayKey = 0 then the key will be displayed if (!empty($this->categories[$key])) { $rightDisplayKey = PhocaGalleryAccess::getUserRight('accessuserid', $this->categories[$key]->accessuserid, $this->categories[$key]->access, $user->getAuthorisedViewLevels(), $user->get('id', 0), 0); // 0 - simulation } } // Is Ext Image Album? $extCategory = PhocaGalleryImage::isExtImage($this->categories[$key]->extid, $this->categories[$key]->extfbcatid); // DISPLAY AVATAR, IMAGE(ordered), IMAGE(not ordered, not recursive) OR FOLDER ICON $displayAvatar = 0; if ($this->tmpl['categoriesdisplayavatar'] == 1 && isset($this->categories[$key]->avatar) && $this->categories[$key]->avatar != '' && $this->categories[$key]->avatarapproved == 1 && $this->categories[$key]->avatarpublished == 1) { $sizeString = PhocaGalleryImageFront::getSizeString($this->tmpl['image_categories_size']); $pathAvatarAbs = $path->avatar_abs . 'thumbs' . DS . 'phoca_thumb_' . $sizeString . '_' . $this->categories[$key]->avatar; $pathAvatarRel = $path->avatar_rel . 'thumbs/phoca_thumb_' . $sizeString . '_' . $this->categories[$key]->avatar; if (JFile::exists($pathAvatarAbs)) { $this->categories[$key]->linkthumbnailpath = $pathAvatarRel; $displayAvatar = 1; } } if ($displayAvatar == 0) { if ($extCategory) { if ($this->tmpl['categories_mosaic_images'] == 1) { if ($this->tmpl['categoriesimageordering'] == 10) { // Special cannot be used in this case: $categoriesImageOrdering = 1; // set to default ordering } $this->categories[$key]->filenames = PhocaGalleryImageFront::getCategoryImages($this->categories[$key]->id, $categoriesImageOrdering); $this->categories[$key]->mosaic = PhocaGalleryImageFront::renderMosaic($this->categories[$key]->filenames, $this->tmpl['image_categories_size'], 1, $this->tmpl['picasa_correct_width'], $this->tmpl['picasa_correct_height']); } else { if ($this->tmpl['categoriesimageordering'] != 10) { $imagePic = PhocaGalleryImageFront::getRandomImageRecursive($this->categories[$key]->id, $categoriesImageOrdering, 1); $fileThumbnail = PhocaGalleryImageFront::displayCategoriesExtImgOrFolder($imagePic->exts, $imagePic->extm, $imagePic->extw, $imagePic->exth, $this->tmpl['image_categories_size'], $rightDisplayKey); $this->categories[$key]->linkthumbnailpath = $fileThumbnail->rel; $this->categories[$key]->extw = $fileThumbnail->extw; $this->categories[$key]->exth = $fileThumbnail->exth; $this->categories[$key]->extpic = $fileThumbnail->extpic; } else { $fileThumbnail = PhocaGalleryImageFront::displayCategoriesExtImgOrFolder($this->categories[$key]->exts, $this->categories[$key]->extm, $this->categories[$key]->extw, $this->categories[$key]->exth, $this->tmpl['image_categories_size'], $rightDisplayKey); $this->categories[$key]->linkthumbnailpath = $fileThumbnail->rel; $this->categories[$key]->extw = $fileThumbnail->extw; $this->categories[$key]->exth = $fileThumbnail->exth; $this->categories[$key]->extpic = $fileThumbnail->extpic; } } } else { if ($this->tmpl['categories_mosaic_images'] == 1) { if ($this->tmpl['categoriesimageordering'] == 10) { // Special cannot be used in this case: $categoriesImageOrdering = 1; // set to default ordering } $this->categories[$key]->filenames = PhocaGalleryImageFront::getCategoryImages($this->categories[$key]->id, $categoriesImageOrdering); $this->categories[$key]->mosaic = PhocaGalleryImageFront::renderMosaic($this->categories[$key]->filenames, $this->tmpl['image_categories_size']); } else { // Standard Internal Image if ($this->tmpl['categoriesimageordering'] != 10) { $this->categories[$key]->filename = PhocaGalleryImageFront::getRandomImageRecursive($this->categories[$key]->id, $categoriesImageOrdering); } $fileThumbnail = PhocaGalleryImageFront::displayCategoriesImageOrFolder($this->categories[$key]->filename, $this->tmpl['image_categories_size'], $rightDisplayKey); $this->categories[$key]->linkthumbnailpath = $fileThumbnail->rel; } } } if ($rightDisplay == 0) { unset($this->categories[$key]); $unSet = 1; } // - - - - - - - - - - - - - - - } $this->tmpl['tl'] = PhocaGalleryUtils::displayFooter(1); // ACCESS - - - - - - // In case we unset some category from the list, we must sort the array new if ($unSet == 1) { $this->categories = array_values($this->categories); } // - - - - - - - - - - - - - - - - // Do Pagination - we can do it after reducing all unneeded $this->categories, not before $totalCount = count($this->categories); $model->setTotal($totalCount); $this->tmpl['pagination'] =& $this->get('pagination'); $this->categories = array_slice($this->categories, (int) $this->tmpl['pagination']->limitstart, (int) $this->tmpl['pagination']->limit); // - - - - - - - - - - - - - - - - $this->_prepareDocument(); if ($display_categories_geotagging == 1) { // Params $this->tmplGeo['categorieslng'] = $this->params->get('categories_lng', ''); $this->tmplGeo['categorieslat'] = $this->params->get('categories_lat', ''); $this->tmplGeo['categorieszoom'] = $this->params->get('categories_zoom', 2); $this->tmplGeo['googlemapsapikey'] = $this->params->get('google_maps_api_key', ''); $this->tmplGeo['categoriesmapwidth'] = $this->params->get('categories_map_width', ''); $this->tmplGeo['categoriesmapheight'] = $this->params->get('categorires_map_height', 500); // If no lng and lat will be added, Phoca Gallery will try to find it in categories if ($this->tmplGeo['categorieslat'] == '' || $this->tmplGeo['categorieslng'] == '') { phocagalleryimport('phocagallery.geo.geo'); $latLng = PhocaGalleryGeo::findLatLngFromCategory($this->categories); $this->tmplGeo['categorieslng'] = $latLng['lng']; $this->tmplGeo['categorieslat'] = $latLng['lat']; } $this->assignRef('tmplGeo', $this->tmplGeo); parent::display('map'); } else { parent::display($tpl); } }