primo commit

This commit is contained in:
2024-12-17 17:34:10 +01:00
commit e650f8df99
16435 changed files with 2451012 additions and 0 deletions

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<metadata>
<view hidden="true" />
</metadata>

View File

@ -0,0 +1,167 @@
<?php
/*
* @package Joomla
* @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
*
* @component Phoca Gallery
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Layout\FileLayout;
use Joomla\CMS\Router\Route;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
$layoutSVG = new FileLayout('svg_definitions', null, array('component' => 'com_phocagallery'));
$layoutC = new FileLayout('comments', null, array('component' => 'com_phocagallery'));
// SVG Definitions
$d = array();
echo $layoutSVG->render($d);
echo '<div id="phocagallery" class="pg-detail-item-box'.$this->params->get( 'pageclass_sfx' ).'">';
// Bootstrap Modal Popup - change dynamically the title in Bootstrap Modal Header (it is not reloaded when image is reloaded inside the iframe so we need to change it with help of JS - see
// main.js pgFrameOnLoad()
// pgFrameOnLoad() in iframe components/com_phocagallery/layouts/category_modal.php
if ($this->t['detailwindow'] == 0) {
echo '<div id="pgDetailTitle" data-title="' . $this->item->title . '" style="display:none"></div>';
}
if ($this->t['detailwindow'] == 7) {
echo '<div class="pg-detail-top-box-back-title">';
echo '<a href="'.Route::_('index.php?option=com_phocagallery&view=category&id='. $this->item->catslug.'&Itemid='. $this->itemId).'"';
echo ' title="'.Text::_( 'COM_PHOCAGALLERY_BACK_TO_CATEGORY' ).'">';
echo '<svg class="ph-si ph-si-detail-top-back"><use xlink:href="#ph-si-back"></use></svg>';
echo '</a></div>';
}
switch ($this->t['detailwindow']) {
case 4:
case 7:
case 9:
case 10:
case 11:
$closeImage = $this->item->linkimage;
$closeButton = '';
break;
default:
$closeButton = str_replace("%onclickclose%", $this->t['detailwindowclose'], $this->item->closebutton);
$closeImage = '<a href="#" onclick="'.$this->t['detailwindowclose'].'" style="margin:auto;padding:0">'.$this->item->linkimage.'</a>';
break;
}
$classSuffix = ' popup';
if ($this->t['detailwindow'] == 7) {
$classSuffix = ' no-popup';
}
/*
echo '<div class="ph-mc" style="padding-top:10px">'
.'<table border="0" class="ph-w100 ph-mc" cellpadding="0" cellspacing="0">'
.'<tr>'
.'<td colspan="6" align="center" valign="middle"'
.' style="'.$iH.'vertical-align: middle;" >'
.'<div id="phocaGalleryImageBox" style="'.$iW.'margin: auto;padding: 0;">'
.$closeImage;
*/
echo '<div class="pg-detail-item-image-box">'.$closeImage.'</div>';
$titleDesc = '';
if ($this->t['display_title_description'] == 1) {
$titleDesc .= $this->item->title;
if ($this->item->description != '' && $titleDesc != '') {
$titleDesc .= ' - ';
}
}
// Lightbox Description
if ($this->t['displaydescriptiondetail'] == 2 && (!empty($this->item->description) || !empty($titleDesc))){
echo '<div class="pg-detail-item-desc-box">' .(HTMLHelper::_('content.prepare', $titleDesc . $this->item->description, 'com_phocagallery.item')).'</div>';
}
/*
if ($this->t['detailbuttons'] == 1){
echo '<div class="pg-detail-item-button-box">'
.'<td align="left" width="30%" style="padding-left:48px">'.$this->item->prevbutton.'</td>'
.'<td align="center">'.$this->item->slideshowbutton.'</td>'
.'<td align="center">'.str_replace("%onclickreload%", $this->t['detailwindowreload'], $this->item->reloadbutton).'</td>'
. $closeButton
//.'<td align="right" width="30%" style="padding-right:48px">'.$this->item->nextbutton.'</td>'
.'</div>';
}
*/
if ((isset($this->itemnext[0]) && $this->itemnext[0]) || (isset($this->itemprev[0]) && $this->itemprev[0])) {
$suffix = '';
if ($this->t['tmpl'] == 'component') {
$suffix = 'tmpl=component';
}
echo '<div class="pg-detail-nav-box">';
if(isset($this->itemprev[0]) && $this->itemprev[0]) {
$p = $this->itemprev[0];
$linkPrev = Route::_(PhocaGalleryRoute::getImageRoute($p->id, $p->catid, $p->alias, $p->categoryalias, 'detail', $suffix));
echo '<div class="ph-left"><a href="'.$linkPrev.'" class="btn btn-primary ph-image-navigation" role="button"><svg class="ph-si ph-si-prev-btn"><use xlink:href="#ph-si-prev"></use></svg> '.Text::_('COM_PHOCAGALLERY_PREVIOUS').'</a></div>';
}
if(isset($this->itemnext[0]) && $this->itemnext[0]) {
$n = $this->itemnext[0];
$linkNext = Route::_(PhocaGalleryRoute::getImageRoute($n->id, $n->catid, $n->alias, $n->categoryalias, 'detail', $suffix));
echo '<div class="ph-right"><a href="'.$linkNext.'" class="btn btn-primary ph-image-navigation" role="button">'.Text::_('COM_PHOCAGALLERY_NEXT').' <svg class="ph-si ph-si-next-btn"><use xlink:href="#ph-si-next"></use></svg></a></div>';
}
echo '<div class="ph-cb"></div>';
echo '</div>';
}
echo $this->loadTemplate('rating');
// Tags
if ($this->t['displaying_tags_output'] != '') {
echo '<div class="pg-detail-item-tag-box">'.$this->t['displaying_tags_output'].'</div>';
}
if ($this->t['display_comment_img'] == 1 || $this->t['display_comment_img'] == 3 || ($this->t['display_comment_img'] == 2 && $this->t['tmpl'] == 'component')) {
$d = array();
$d['t'] = $this->t;
$d['form']['task'] = 'comment';
$d['form']['view'] = 'detail';
$d['form']['controller'] = 'detail';
$d['form']['tab'] = '';
$d['form']['id'] = $this->item->id;
$d['form']['catid'] = $this->item->catid;
$d['form']['itemid'] = $this->itemId;
echo $layoutC->render($d);
/*if ($this->t['externalcommentsystem'] == 1) {
if (ComponentHelper::isEnabled('com_jcomments', true)) {
include_once(JPATH_BASE.'/components/com_jcomments/jcomments.php');
echo JComments::showComments($this->item->id, 'com_phocagallery_images', Text::_('COM_PHOCAGALLERY_IMAGE') .' '. $this->item->title);
}
} else if ($this->t['externalcommentsystem'] == 2) {
echo $this->loadTemplate('comments-fb');
}*/
echo PhocaGalleryUtils::getExtInfo();
}
echo '</div>';
?>

View File

@ -0,0 +1,53 @@
<?php
/*
* @package Joomla
* @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
*
* @component Phoca Gallery
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die('Restricted access');
?><div id="phocagallery-comments"><?php
//echo '<div style="font-size:1px;height:1px;margin:0px;padding:0px;">&nbsp;</div>';//because of IE bug
$uri = \Joomla\CMS\Uri\Uri::getInstance();
$getParamsArray = explode(',', 'start,limitstart,template,fb_comment_id');
if (!empty($getParamsArray) ) {
foreach($getParamsArray as $key => $value) {
$uri->delVar($value);
}
}
if ($this->t['fb_comment_app_id'] == '') {
echo JText::_('COM_PHOCAGALLERY_ERROR_FB_APP_ID_EMPTY');
} else {
$cCount = '';
if ((int)$this->t['fb_comment_count'] > 0) {
$cCount = 'numposts="'.$this->t['fb_comment_count'].'"';
}
?><fb:comments href="<?php echo $uri->toString(); ?>" simple="1" <?php echo $cCount;?> width="<?php echo (int)$this->t['fb_comment_width'] ?>"></fb:comments>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId: '<?php echo $this->t['fb_comment_app_id'] ?>',
status: true,
cookie: true,
xfbml: true
});
};
(function() {
var e = document.createElement('script');
e.type = 'text/javascript';
e.src = document.location.protocol + '//connect.facebook.net/<?php echo $this->t['fb_comment_lang']; ?>/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
</script>
<?php } ?>
</div>

View File

@ -0,0 +1,76 @@
<?php
/*
* @package Joomla
* @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
*
* @component Phoca Gallery
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route;
$title = $this->item->filename;
$imgLink = HTMLHelper::_( 'image', 'images/phocagallery/'. $this->item->filenameno, '');
$extImage = PhocaGalleryImage::isExtImage($this->item->extid);
if ($extImage) {
$title = $this->item->title;
$imgLink = HTMLHelper::_( 'image', $this->item->exto, '');
}
if (isset($this->t['backbutton']) && $this->t['backbutton'] != '') {
echo $this->t['backbutton'];
echo '<div id="download-box"><div style="overflow:scroll;width:'.$this->t['boxlargewidth'].'px;height:'.$this->t['boxlargeheight'].'px;margin:0px;padding:0px;">' . $imgLink . '</div>';
echo '<div id="download-box"><div style="overflow:scroll;width:100%;height:'.$this->t['boxlargeheight'].'px;margin:0px;padding:0px;">' . $imgLink . '</div>';
echo '<div id="download-msg-nopopup"><div>'
.'<table width="360">'
.'<tr><td align="left">' . Text::_('COM_PHOCAGALLERY_IMAGE_NAME') . ': </td><td>'.$title.'</td></tr>'
.'<tr><td align="left">' . Text::_('COM_PHOCAGALLERY_IMAGE_FORMAT') . ': </td><td>'.$this->item->imagesize.'</td></tr>'
.'<tr><td align="left">' . Text::_('COM_PHOCAGALLERY_IMAGE_SIZE') . ': </td><td>'.$this->item->filesize.'</td></tr>';
echo '<tr><td align="left"><a title="'. Text::_('COM_PHOCAGALLERY_IMAGE_DOWNLOAD').'" href="'. Route::_('index.php?option=com_phocagallery&view=detail&catid='.$this->item->catslug.'&id='.$this->item->slug.'&phocadownload=2'.'&Itemid='. $this->itemId ).'">'.Text::_('COM_PHOCAGALLERY_IMAGE_DOWNLOAD').'</a></td><td>&nbsp;</td>';
echo '</table>';
echo '</div></div></div>';
} else {
//echo '<div id="download-box"><div style="overflow:scroll;width:'.$this->t['boxlargewidth'].'px;height:'.$this->t['boxlargeheight'].'px;margin:0px;padding:0px;">' . $imgLink. '</div>';
echo '<div id="download-box"><div style="overflow:scroll;width: 100%;height:'.$this->t['boxlargeheight'].'px;margin:0px;padding:0px;">' . $imgLink. '</div>';
echo '<div id="download-msg"><div>'
.'<table width="360">'
.'<tr><td align="left">' . Text::_('COM_PHOCAGALLERY_IMAGE_NAME') . ': </td><td>'.$title.'</td></tr>'
.'<tr><td align="left">' . Text::_('COM_PHOCAGALLERY_IMAGE_FORMAT') . ': </td><td>'.$this->item->imagesize.'</td></tr>'
.'<tr><td align="left">' . Text::_('COM_PHOCAGALLERY_IMAGE_SIZE') . ': </td><td>'.$this->item->filesize.'</td></tr>'
.'<tr><td colspan="2" align="left"><small>' . Text::_('COM_PHOCAGALLERY_DOWNLOAD_IMAGE') . '</small></td></tr>';
switch($this->t['detailwindow']) {
case 3:
case 4:
case 5:
case 7:
case 9:
case 10:
break;
default:
//echo '<tr><td>&nbsp;</td><td align="right">'.str_replace("%onclickclose%", $this->t['detailwindowclose'], $this->item->closetext).'</td></tr>';
break;
}
echo '</table>';
echo '</div></div></div>';
}
echo '<div id="phocaGallerySlideshowC" style="display:none"></div>';//because of loaded slideshow js
if ($this->t['detailwindow'] == 7) {
echo PhocaGalleryUtils::getExtInfo();
}
?>

View File

@ -0,0 +1,193 @@
<?php
/*
* @package Joomla
* @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
*
* @component Phoca Gallery
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die('Restricted access');
echo '<div id="phocagallery" class="pg-detail-view-multibox'.$this->params->get( 'pageclass_sfx' ).'">';
if ($this->t['backbutton'] != '') {
echo $this->t['backbutton'];
echo '<p>&nbsp;</p>';
}
// Min Width
$wRightO = $wLeftO = $wLeftOIE = '';
if ($this->t['multibox_fixed_cols'] == 1) {
$wLeft = $this->t['large_image_width'];
$wRight = (int)$this->t['multibox_width'] - (int)$wLeft - 20;//margin 4 x 5px
$wRightO = 'min-width: '.$wRight.'px';
$wLeftO = 'min-width: '.$wLeft.'px';
$wLeftOIE = 'width: '.$wLeft.'px';
// IE7
$document = JFactory::getDocument();
$document->addCustomTag("<!--[if lt IE 8 ]>\n<style type=\"text/css\"> \n"
." #phocagallery.pg-detail-view-multibox table tr td.pg-multibox-lefttd {"
." ".$wLeftOIE."; "
."} \n"
." </style>\n<![endif]-->");
}
// - - - - -
// LEFT
// - - - - -
echo '<table id="pg-multibox-table" cellpadding="0" cellspacing="0" border="0" style="height: '.$this->t['multibox_height'].'px;">'. "\n";
echo '<tr>'. "\n";
echo '<td valign="middle" align="center" class="pg-multibox-lefttd pg-dv-multibox-left">'. "\n";
$over = 'onmouseover="document.getElementById(\'phocagallerymultiboxnext\').style.display = \'block\';document.getElementById(\'phocagallerymultiboxprev\').style.display = \'block\';" ';
$out = 'onmouseout="document.getElementById(\'phocagallerymultiboxnext\').style.display = \'none\';document.getElementById(\'phocagallerymultiboxprev\').style.display = \'none\';"';
echo '<div class="pg-multibox-left pg-dv-multibox-left" '.$over.$out.' style="'.$wLeftO.'">';
if ($this->item->download == 1) {
echo $this->loadTemplate('download');
} else {
if ($this->item->videocode != '') {
$this->item->linkimage = $this->item->videocode;
}
if ($this->item->nextbuttonhref != '') {
echo '<a href="'.$this->item->nextbuttonhref.'">'.$this->item->linkimage.'</a>';
} else {
echo '<span >'.$this->item->linkimage.'</span>';
}
echo $this->item->prevbutton;
echo $this->item->nextbutton;
}
echo '</div>'. "\n";
echo '</td>'. "\n";
// - - - - -
// RIGHT
// - - - - -
echo '<td valign="top" class="pg-multibox-righttd pg-dv-multibox-right">'. "\n";
echo '<div class="pg-multibox-right pg-dv-multibox-right" style="height: '.$this->t['multibox_height_overflow'].'px;'.$wRightO.'">'. "\n";
// Title
if ($this->t['mb_title']) {
echo '<div class="pg-multibox-title">'.$this->item->title.'</div>'. "\n";
}
// Description
if ($this->t['mb_desc']) {
//echo '<div class="pg-multibox-desc">'.$this->item->description.'</div>'. "\n";
echo '<div class="pg-multibox-desc">'.Joomla\CMS\HTML\HTMLHelper::_('content.prepare', $this->item->description, 'com_phocagallery.item').'</div>'. "\n";
}
// Uploaded By
if ($this->t['mb_uploaded_by']) {
echo '<div class="pg-multibox-user" >' . JText::_('COM_PHOCAGALLERY_UPLOADED_BY') . '</div>';
if ($this->t['useravatarimg'] != '') {
echo '<div class="pg-multibox-avatar">'.$this->t['useravatarimg'].'</div>';
}
echo '<div class="pg-multibox-username" style="padding-top: '.$this->t['useravatarmiddle'].'px;">'.$this->item->usernameno.'</div>';
echo '<div style="clear:both"></div>';
}
// Rating
if ($this->t['mb_rating']) {
echo "\n";
echo $this->loadTemplate('rating');
echo "\n";
}
//Thumbnails
if ($this->t['mb_thumbs']) {
if (!empty($this->t['mb_thumbs_data'])) {
echo '<div class="pg-multibox-thumbs-box" style="width: '.(int)$this->t['multibox_thubms_box_width'].'px;">';
foreach ($this->t['mb_thumbs_data'] as $k => $v) {
$extImage = PhocaGalleryImage::isExtImage($v->extid);
//$altValue = PhocaGalleryRenderFront::getAltValue($this->t['altvalue'], $v->title, $v->description, $v->metadesc);
$altValue = '';//Save resources - not necessary
if ($extImage) {
$img = Joomla\CMS\HTML\HTMLHelper::_( 'image', $v->exts, $altValue);
} else {
$linkthumbnailpath = PhocaGalleryImageFront::displayCategoryImageOrNoImage($v->filename, 'small');
$img = Joomla\CMS\HTML\HTMLHelper::_( 'image', $linkthumbnailpath, $altValue);
}
if ($this->t['detailwindow'] == 7) {
$tCom = '';
} else {
$tCom = '&tmpl=component';
}
echo '<div class="pg-multibox-thumbs-item"><a href="'.JRoute::_('index.php?option=com_phocagallery&view=detail&catid='. $v->catslug.'&id='.$v->slug.$tCom.'&Itemid='. $this->itemId).'">';
echo $img;
echo '</a></div>';
}
echo '<div style="clear:both"></div>';
echo '</div>';
}
}
// Map
if ($this->t['mb_maps']) {
$src = JRoute::_('index.php?option=com_phocagallery&view=map&catid='.$this->item->catid
.'&id='.$this->item->id.'&mapwidth='
.$this->t['multibox_map_width'].'&mapheight='
.$this->t['multibox_map_height'].'&tmpl=component&Itemid='
.$this->itemId );
$this->t['multibox_map_width'] = $this->t['multibox_map_width'] + 20;
$this->t['multibox_map_height'] = $this->t['multibox_map_height'] + 10;
echo '<iframe src="'.$src.'" width="'
.$this->t['multibox_map_width'].'" height="'
.$this->t['multibox_map_height'].'" frameborder="0" style="border:none; overflow:hidden;padding:0px;margin:0px;" name="pgmap"></iframe>'. "\n";
}
// Tags
if ($this->t['mb_tags'] && $this->t['displaying_tags_output'] != '') {
echo '<div class="pg-multibox-tags-box">';
echo '<div class="pg-multibox-tags" >' . JText::_('COM_PHOCAGALLERY_TAGS') . '</div>';
echo '<div class="pg-detail-tags-multibox">'.$this->t['displaying_tags_output'].'</div>';
echo '</div>';
}
// Comments
if ($this->t['mb_comments']) {
echo '<div class="pg-multibox-comments">';
if ((int)$this->t['externalcommentsystem'] == 2) {
echo $this->loadTemplate('comments-fb');
} else if ((int)$this->t['externalcommentsystem'] == 1) {
if (JComponentHelper::isEnabled('com_jcomments', true)) {
include_once(JPATH_BASE.'/components/com_jcomments/jcomments.php');
echo JComments::showComments($this->item->id, 'com_phocagallery_images', JText::_('COM_PHOCAGALLERY_IMAGE') .' '. $this->item->title);
}
} else {
$src = JRoute::_('index.php?option=com_phocagallery&view=comment&catid='.$this->item->catid.'&id='.$this->item->id.'&tmpl=component&commentsi=1&Itemid='. $this->itemId );
echo '<iframe src="'.$src.'" width="'.$this->t['multibox_comments_width'].'" height="'.$this->t['multibox_comments_height'].'" frameborder="0" class="pg-multibox-comments-iframe" name="pgcomment"></iframe>'. "\n";
}
echo '</div>';
}
echo '</div>'. "\n";
echo '</td>'. "\n";
echo '</tr>'. "\n";
echo '</table>'. "\n";
echo '</div>'. "\n";
if ($this->t['detailwindow'] == 7) {
echo '<p>&nbsp;</p>';
echo PhocaGalleryUtils::getExtInfo();
}
?>

View File

@ -0,0 +1,85 @@
<?php
/*
* @package Joomla
* @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
*
* @component Phoca Gallery
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
$app = Factory::getApplication();
$amp = PhocaGalleryUtils::setQuestionmarkOrAmp($this->t['action']);
//if ((int)$this->t['display_rating_img'] == 1 || $this->t['mb_rating']) {
if ((int)$this->t['display_rating_img'] == 1) {
// Leave message for already voted images
$vote = $app->input->get('vote', 0, 'int');;
if ($vote == 1) {
$voteMsg = Text::_('COM_PHOCAGALLERY_ALREADY_RATED_IMG_THANKS');
} else {
$voteMsg = Text::_('COM_PHOCAGALLERY_ALREADY_RATE_IMG');
}
echo '<table style="text-align:left" border="0">'
.'<tr>'
.'<td><strong>' . Text::_('COM_PHOCAGALLERY_RATING'). '</strong>: ' . $this->t['votesaverageimg'] .' / '.$this->t['votescountimg'] . ' ' . Text::_($this->t['votestextimg']). '&nbsp;&nbsp;</td>';
if ($this->t['alreay_ratedimg']) {
echo '<td style="text-align:left"><ul class="star-rating">'
.'<li class="current-rating" style="width:'.$this->t['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->t['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">&nbsp;&nbsp;'.$voteMsg.'</td></tr>';
}
} else if ($this->t['not_registered_img']) {
echo '<td style="text-align:left"><ul class="star-rating">'
.'<li class="current-rating" style="width:'.$this->t['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->t['enable_multibox'] == 1) {
echo '<td></td></tr>';
echo '<tr><td style="text-align:left" colspan="4" class="pg-rating-msg">'.Text::_('COM_PHOCAGALLERY_COMMENT_ONLY_REGISTERED_LOGGED_RATE_IMAGE').'</td></tr>';
} else {
echo '<td style="text-align:left" colspan="4" class="pg-rating-msg">&nbsp;&nbsp;' . Text::_('COM_PHOCAGALLERY_COMMENT_ONLY_REGISTERED_LOGGED_RATE_IMAGE').'</td></tr>';
}
} else {
echo '<td style="text-align:left"><ul class="star-rating">'
.'<li class="current-rating" style="width:'.$this->t['voteswidthimg'].'px"></li>'
//.'<li><a href="'.$this->t['action'].$amp.'controller=detail&task=rate&rating=1" title="1 '. JText::_('COM_PHOCAGALLERY_STAR_OUT_OF').' 5" class="star1">1</a></li>';
.'<li><a href="'.htmlspecialchars($this->t['action']).$amp.'controller=detail&task=rate&rating=1" title="'. Text::sprintf('COM_PHOCAGALLERY_STAR_OUT_OF', 1, 5). '" class="star1">1</a></li>';
for ($i = 2;$i < 6;$i++) {
//echo '<li><a href="'.$this->t['action'].$amp.'controller=detail&task=rate&rating='.$i.'" title="'.$i.' '. JText::_('COM_PHOCAGALLERY_STARS_OUT_OF').' 5" class="stars'.$i.'">'.$i.'</a></li>';
echo '<li><a href="'.htmlspecialchars($this->t['action']).$amp.'controller=detail&task=rate&rating='.$i.'" title="'.Text::sprintf('COM_PHOCAGALLERY_STARS_OUT_OF', $i, 5). '" class="stars'.$i.'">'.$i.'</a></li>';
}
echo '</ul></td></tr>';
}
echo '</table>';
}
?>

View File

@ -0,0 +1,73 @@
<?php
/*
* @package Joomla
* @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
*
* @component Phoca Gallery
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die('Restricted access');
echo '<div id="phocagallery" class="pg-detail-view'.$this->params->get( 'pageclass_sfx' ).'">';
if ($this->t['backbutton'] != '') {
echo $this->t['backbutton'];
}
/*if($this->t['responsive'] == 1) {
$iW = '100%';
$iH = '100%';
$iH = $this->t['largeheight']. 'px';
$iW = $this->t['largewidth']. 'px';
} else {*/
$iW = $this->t['largewidth']. 'px';
$iH = $this->t['largeheight']. 'px';
//}
//echo '<div id="phocaGallerySlideshowC" style="width:'. $iW.';height:'.$iH .';padding:0;margin: auto"></div>';
echo '<div class="ph-mc">'
.'<table border="0" class="ph-mc" cellpadding="0" cellspacing="0">'
.'<tr>'
.'<td colspan="6" valign="middle"'
.' style="height:'.$iH.';width: '.$iW.';" >';
echo '<div id="phocaGallerySlideshowC" style="max-width:'. $iW.';max-height:'.$iH .';padding:0;margin: auto;">';
//.'<a href="#" onclick="'.$this->t['detailwindowclose'].'">'.$this->item->linkimage.'</a>';
/*.'<script type="text/javascript" style="padding:0;margin:0;">';
if ( $this->t['slideshowrandom'] == 1 ) {
echo 'new fadeshow(fadeimages, '.$this->t['largewidth'] .', '. $this->t['largeheight'] .', 0, '. $this->t['slideshowdelay'] .', '. $this->t['slideshowpause'] .', \'R\')';
} else {
echo 'new fadeshow(fadeimages, '.$this->t['largewidth'] .', '. $this->t['largeheight'] .', 0, '. $this->t['slideshowdelay'] .', '. $this->t['slideshowpause'] .')';
}
echo '</script>';*/
echo '</div>';
echo '</td>'
.'</tr>';
echo '<tr><td colspan="6"><div style="padding:0;margin:0;height:3px;font-size:0px;">&nbsp;</div></td></tr>';
// Standard Description (to get the same height as by not slideshow
if ($this->t['displaydescriptiondetail'] == 1) {
echo '<tr><td colspan="6" align="left" valign="top"><div></div></td></tr>';
}
echo '<tr>'
.'<td align="left" width="30%" style="padding-left:48px">'. $this->item->prevbutton .'</td>'
.'<td align="center">'. $this->item->slideshowbutton .'</td>'
.'<td align="center">'. str_replace("%onclickreload%", $this->t['detailwindowreload'], $this->item->reloadbutton).'</td>';
if ($this->t['detailwindow'] == 4 || $this->t['detailwindow'] == 5 || $this->t['detailwindow'] == 7) {
} else {
echo '<td align="center">'. str_replace("%onclickclose%", $this->t['detailwindowclose'], $this->item->closebutton).'</td>';
}
echo '<td align="right" width="30%" style="padding-right:48px">'. $this->item->nextbutton .'</td>'
.'</tr>'
.'</table>'
.'</div>';
if ($this->t['detailwindow'] == 7) {
echo PhocaGalleryUtils::getExtInfo();
}
echo '</div>';

View File

@ -0,0 +1,43 @@
<?php
/*
* @package Joomla
* @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
*
* @component Phoca Gallery
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die('Restricted access');
$document = JFactory::getDocument();
//$document->addScript(JURI::base(true).'/media/com_phocagallery/js/jquery/jquery-1.6.4.min.js');
Joomla\CMS\HTML\HTMLHelper::_('jquery.framework', false);// Load it here because of own nonConflict method (nonconflict is set below)
$document->addScript(JURI::base(true).'/media/com_phocagallery/js/fadeslideshow/fadeslideshow.js');
if($this->t['responsive'] == 1) {
$iW = '\'100%\'';
$iH = '\'100%\''; // DOES NOT WORK IN FADESLIDESHOW
//$iH = $this->t['largeheight'];
} else {
$iW = $this->t['largewidth'];
$iH = $this->t['largeheight'];
}
?><script type="text/javascript">
/***********************************************
* Ultimate Fade In Slideshow v2.0- (c) Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for this script and 100s more
***********************************************/
var phocagallery=new fadeSlideShow({
wrapperid: "phocaGallerySlideshowC",
dimensions: [<?php echo $iW; ?>, <?php echo $iH; ?>],
imagearray: [<?php echo $this->item->slideshowfiles ;?>],
displaymode: {type:'auto', pause: <?php echo $this->t['slideshow_pause'] ?>, cycles:0, wraparound:false, randomize: <?php echo $this->t['slideshowrandom'] ?>},
persist: false,
fadeduration: <?php echo $this->t['slideshow_delay'] ?>,
descreveal: "<?php echo $this->t['slideshow_description'] ?>",
togglerid: "",
})
</script>

View File

@ -0,0 +1,240 @@
<?php
/*
* @package Joomla
* @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
*
* @component Phoca Gallery
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Layout\FileLayout;
use Joomla\CMS\Router\Route;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
$layoutSVG = new FileLayout('svg_definitions', null, array('component' => 'com_phocagallery'));
$layoutC = new FileLayout('comments', null, array('component' => 'com_phocagallery'));
// SVG Definitions
$d = array();
echo $layoutSVG->render($d);
if ($this->t['ytb_display'] == 1) {
/*$document = Factory::getDocument();
/$document->addCustomTag( "<style type=\"text/css\"> \n"
." body {overflow:hidden;} \n"
." </style> \n");*/
echo '<div class="pg-ytb-full">'.$this->item->videocode.'</div>';
} else {
echo '<div id="phocagallery" class="pg-detail-item-box'.$this->params->get( 'pageclass_sfx' ).'">';
if ($this->t['detailwindow'] == 7) {
echo '<div class="pg-detail-top-box-back-title">';
echo '<a href="'.Route::_('index.php?option=com_phocagallery&view=category&id='. $this->item->catslug.'&Itemid='. $this->itemId).'"';
echo ' title="'.Text::_( 'COM_PHOCAGALLERY_BACK_TO_CATEGORY' ).'">';
echo '<svg class="ph-si ph-si-detail-top-back"><use xlink:href="#ph-si-back"></use></svg>';
echo '</a></div>';
}
switch ($this->t['detailwindow']) {
case 4:
case 7:
case 9:
case 10:
case 11:
$closeImage = $this->item->linkimage;
$closeButton = '';
break;
default:
$closeButton = str_replace("%onclickclose%", $this->t['detailwindowclose'], $this->item->closebutton);
$closeImage = '<a href="#" onclick="'.$this->t['detailwindowclose'].'" style="margin:auto;padding:0">'.$this->item->linkimage.'</a>';
break;
}
$classSuffix = ' popup';
if ($this->t['detailwindow'] == 7) {
$classSuffix = ' no-popup';
}
/*
echo '<div class="ph-mc" style="padding-top:10px">'
.'<table border="0" class="ph-w100 ph-mc" cellpadding="0" cellspacing="0">'
.'<tr>'
.'<td colspan="6" align="center" valign="middle"'
.' style="'.$iH.'vertical-align: middle;" >'
.'<div id="phocaGalleryImageBox" style="'.$iW.'margin: auto;padding: 0;">'
.$closeImage;
*/
//echo '<div class="pg-detail-item-image-box">'.$closeImage.'</div>';
echo '<div class="pg-ytb-detail">'.$this->item->videocode.'</div>';
$titleDesc = '';
if ($this->t['display_title_description'] == 1) {
$titleDesc .= $this->item->title;
if ($this->item->description != '' && $titleDesc != '') {
$titleDesc .= ' - ';
}
}
// Lightbox Description
if ($this->t['displaydescriptiondetail'] == 2 && (!empty($this->item->description) || !empty($titleDesc))){
echo '<div class="pg-detail-item-desc-box">' .(HTMLHelper::_('content.prepare', $titleDesc . $this->item->description, 'com_phocagallery.item')).'</div>';
}
/*
if ($this->t['detailbuttons'] == 1){
echo '<div class="pg-detail-item-button-box">'
.'<td align="left" width="30%" style="padding-left:48px">'.$this->item->prevbutton.'</td>'
.'<td align="center">'.$this->item->slideshowbutton.'</td>'
.'<td align="center">'.str_replace("%onclickreload%", $this->t['detailwindowreload'], $this->item->reloadbutton).'</td>'
. $closeButton
//.'<td align="right" width="30%" style="padding-right:48px">'.$this->item->nextbutton.'</td>'
.'</div>';
}
*/
if ((isset($this->itemnext[0]) && $this->itemnext[0]) || (isset($this->itemprev[0]) && $this->itemprev[0])) {
$suffix = '';
if ($this->t['tmpl'] == 'component') {
$suffix = 'tmpl=component';
}
echo '<div class="pg-detail-nav-box">';
if(isset($this->itemprev[0]) && $this->itemprev[0]) {
$p = $this->itemprev[0];
$linkPrev = Route::_(PhocaGalleryRoute::getImageRoute($p->id, $p->catid, $p->alias, $p->categoryalias, 'detail', $suffix));
echo '<div class="ph-left"><a href="'.$linkPrev.'" class="btn btn-primary ph-image-navigation" role="button"><svg class="ph-si ph-si-prev-btn"><use xlink:href="#ph-si-prev"></use></svg> '.Text::_('COM_PHOCAGALLERY_PREVIOUS').'</a></div>';
}
if(isset($this->itemnext[0]) && $this->itemnext[0]) {
$n = $this->itemnext[0];
$linkNext = Route::_(PhocaGalleryRoute::getImageRoute($n->id, $n->catid, $n->alias, $n->categoryalias, 'detail', $suffix));
echo '<div class="ph-right"><a href="'.$linkNext.'" class="btn btn-primary ph-image-navigation" role="button">'.Text::_('COM_PHOCAGALLERY_NEXT').' <svg class="ph-si ph-si-next-btn"><use xlink:href="#ph-si-next"></use></svg></a></div>';
}
echo '<div class="ph-cb"></div>';
echo '</div>';
}
echo $this->loadTemplate('rating');
// Tags
if ($this->t['displaying_tags_output'] != '') {
echo '<div class="pg-detail-item-tag-box">'.$this->t['displaying_tags_output'].'</div>';
}
if ($this->t['display_comment_img'] == 1 || $this->t['display_comment_img'] == 3 || ($this->t['display_comment_img'] == 2 && $this->t['tmpl'] == 'component')) {
$d = array();
$d['t'] = $this->t;
$d['form']['task'] = 'comment';
$d['form']['view'] = 'detail';
$d['form']['controller'] = 'detail';
$d['form']['tab'] = '';
$d['form']['id'] = $this->item->id;
$d['form']['catid'] = $this->item->catid;
$d['form']['itemid'] = $this->itemId;
echo $layoutC->render($d);
/*if ($this->t['externalcommentsystem'] == 1) {
if (ComponentHelper::isEnabled('com_jcomments', true)) {
include_once(JPATH_BASE.'/components/com_jcomments/jcomments.php');
echo JComments::showComments($this->item->id, 'com_phocagallery_images', Text::_('COM_PHOCAGALLERY_IMAGE') .' '. $this->item->title);
}
} else if ($this->t['externalcommentsystem'] == 2) {
echo $this->loadTemplate('comments-fb');
}*/
echo PhocaGalleryUtils::getExtInfo();
}
echo '</div>';
}
/*echo '<div id="phocagallery" class="pg-detail-view'.$this->params->get( 'pageclass_sfx' ).'">';
if ($this->t['backbutton'] != '') {
echo $this->t['backbutton'];
}
echo '<table border="0" style="width:'.$this->t['boxlargewidth'].'px;height:'.$this->t['boxlargeheight'].'px;">'
.'<tr>'
.'<td colspan="5" class="pg-center" align="center" valign="middle">'
.$this->item->videocode
.'</td>'
.'</tr>';
$titleDesc = '';
if ($this->t['display_title_description'] == 1) {
$titleDesc .= $this->item->title;
if ($this->item->description != '' && $titleDesc != '') {
$titleDesc .= ' - ';
}
}
// Standard Description
if ($this->t['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->t['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->t['detailwindowreload'], $this->item->reloadbutton).'</td>';
if ($this->t['detailwindow'] == 4 || $this->t['detailwindow'] == 5 || $this->t['detailwindow'] == 7) {
} else {
echo '<td align="center">' . str_replace("%onclickclose%", $this->t['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->t['detailwindow'] == 7) {
echo PhocaGalleryUtils::getExtInfo();
}
echo '</div>';
}
*/
?>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

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