primo commit
This commit is contained in:
@ -0,0 +1 @@
|
||||
<html><body bgcolor="#FFFFFF"></body></html>
|
||||
@ -0,0 +1,238 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Phoca Gallery
|
||||
* @author Jan Pavelka - https://www.phoca.cz
|
||||
* @copyright Copyright (C) Jan Pavelka https://www.phoca.cz
|
||||
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 and later
|
||||
* @cms Joomla
|
||||
* @copyright Copyright (C) Open Source Matters. All rights reserved.
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
|
||||
*/
|
||||
defined( '_JEXEC' ) or die( 'Restricted access' );
|
||||
use Joomla\CMS\Component\ComponentHelper;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
use Joomla\CMS\HTML\HTMLHelper;
|
||||
phocagalleryimport('phocagallery.utils.utils');
|
||||
|
||||
class PhocaGalleryPicasa
|
||||
{
|
||||
|
||||
public static function getSize(&$mediumT) {
|
||||
|
||||
// If small and medium can be taken from $thumbSize, take it from here as these images can be cropped
|
||||
$thumbSize = array(32, 48, 64, 72, 104, 144, 150, 160);
|
||||
$imgMax = array(94, 110, 128, 200, 220, 288, 320, 400, 512, 576, 640, 720, 800, 912, 1024, 1152, 1280, 1440, 1600);
|
||||
$paramsC = ComponentHelper::getParams('com_phocagallery');
|
||||
|
||||
$lw = $paramsC->get( 'large_image_width', 640 );
|
||||
$mw = $paramsC->get( 'medium_image_width', 256 );
|
||||
$sw = $paramsC->get( 'small_image_width', 128 );
|
||||
$crop = $paramsC->get( 'crop_thumbnail', 5 );
|
||||
$output = array();
|
||||
$outputS = $outputM = $outputL = $outputLargeSize = '';
|
||||
|
||||
// Large
|
||||
foreach ($imgMax as $value) {
|
||||
// First value which is greater than the large_image_width will be taken
|
||||
if ((int)$value > (int)$lw || (int)$value == (int)$lw) {
|
||||
$outputL = '&imgmax='.(int)$value;
|
||||
$outputLargeSize= $value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// Small
|
||||
foreach ($thumbSize as $value) {
|
||||
// First value which is greater than the large_image_width will be taken
|
||||
if ((int)$value > (int)$sw || (int)$value == (int)$sw) {
|
||||
$outputS = '&thumbsize='.(int)$value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Medium
|
||||
// Try to handle it as thumbnail
|
||||
foreach ($thumbSize as $value) {
|
||||
// First value which is greater than the large_image_width will be taken
|
||||
if ((int)$value > (int)$mw || (int)$value == (int)$mw) {
|
||||
//$outputM = '&thumbsize='.(int)$value;
|
||||
$outputM = ','.(int)$value;
|
||||
$mediumT = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// Try to find it in imgmax
|
||||
if ($mediumT != 1) {
|
||||
foreach ($imgMax as $value) {
|
||||
// First value which is greater than the large_image_width will be taken
|
||||
if ((int)$value > (int)$mw || (int)$value == (int)$mw) {
|
||||
$outputM = '&imgmax='.(int)$value;
|
||||
$mediumT = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Small Crop
|
||||
|
||||
if ($crop == 3 || $crop == 5 || $crop == 6 ||$crop == 7) {
|
||||
$outputS = $outputS . 'c';
|
||||
} else {
|
||||
$outputS = $outputS . 'u';
|
||||
}
|
||||
|
||||
// Medium Crop
|
||||
if ($mediumT == 1) {
|
||||
if ($crop == 2 || $crop == 4 || $crop == 5 ||$crop == 7) {
|
||||
$outputM = $outputM . 'c';
|
||||
} else {
|
||||
$outputM = $outputM . 'u';
|
||||
}
|
||||
}
|
||||
if ($mediumT == 1) {
|
||||
$output['lsm'] = $outputL . $outputS . $outputM;
|
||||
} else {
|
||||
$output['lsm'] = $outputL . $outputS;
|
||||
}
|
||||
if ($mediumT != 1) {
|
||||
$output['m'] = $outputM;
|
||||
}
|
||||
// This we need for getting info about size and and removing this size to get an original image
|
||||
// It is not lsm
|
||||
$output['ls'] = $outputLargeSize;
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
/*
|
||||
* Used for external images: Picasa, Facebook
|
||||
*/
|
||||
|
||||
|
||||
public static function correctSizeWithRate($width, $height, $corWidth = 100, $corHeight = 100, $diffThumbHeight = 0) {
|
||||
|
||||
|
||||
|
||||
$image['width'] = $corWidth;
|
||||
$image['height'] = $corHeight;
|
||||
|
||||
if ((int)$diffThumbHeight > 0) {
|
||||
$ratio = $width / $height;
|
||||
$image['height'] = $ratio * $image['height'];
|
||||
return $image;
|
||||
}
|
||||
|
||||
// Don't do anything with images:
|
||||
if ($width < $corWidth && $height < $corHeight) {
|
||||
$image['width'] = $width;
|
||||
$image['height'] = $height;
|
||||
} else {
|
||||
|
||||
if ($width > $height) {
|
||||
if ($width > $corWidth) {
|
||||
$image['width'] = $corWidth;
|
||||
$rate = (int)$width / (int)$corWidth;
|
||||
$image['height'] = (int)$height / $rate;
|
||||
} else {
|
||||
$image['width'] = $width;
|
||||
$image['height'] = $height;
|
||||
}
|
||||
} else {
|
||||
if ($height > $corHeight) {
|
||||
$image['height'] = $corHeight;
|
||||
$rate = (int)$height / (int)$corHeight;
|
||||
$image['width'] = (int)$width / $rate;
|
||||
} else {
|
||||
$image['width'] = $width;
|
||||
$image['height'] = $height;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $image;
|
||||
}
|
||||
|
||||
/*
|
||||
* Used while pagination
|
||||
*/
|
||||
public static function renderProcessPage($id, $refreshUrl, $countInfo = '') {
|
||||
|
||||
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' . "\n";
|
||||
echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-en" lang="en-en" dir="ltr" >'. "\n";
|
||||
echo '<head>'. "\n";
|
||||
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'. "\n\n";
|
||||
echo '<title>'.Text::_( 'COM_PHOCAGALLERY_PICASA_LOADING_DATA').'</title>'. "\n";
|
||||
echo '<link rel="stylesheet" href="'.Uri::root(true).'/media/com_phocagallery/css/administrator/phocagallery.css" type="text/css" />';
|
||||
|
||||
echo '</head>'. "\n";
|
||||
echo '<body>'. "\n";
|
||||
|
||||
echo '<div style="text-align:right;padding:10px"><a style="font-family: sans-serif, Arial;font-weight:bold;color:#fc0000;font-size:14px;" href="index.php?option=com_phocagallery&task=phocagalleryc.edit&id='.(int)$id.'">' .Text::_( 'COM_PHOCAGALLERY_STOP_LOADING_PICASA_IMAGES' ).'</a></div>';
|
||||
|
||||
echo '<div id="loading-ext-img-processp" style="font-family: sans-serif, Arial;font-weight:normal;color:#666;font-size:14px;padding:10px"><div class="loading"><div><center>'. HTMLHelper::_('image', 'media/com_phocagallery/images/administrator/icon-loading.gif', Text::_('COM_PHOCAGALLERY_LOADING') ) .'</center></div><div> </div><div><center>'.Text::_('COM_PHOCAGALLERY_PICASA_LOADING_DATA').'</center></div>';
|
||||
|
||||
echo $countInfo;
|
||||
echo '</div></div>';
|
||||
|
||||
echo '<meta http-equiv="refresh" content="1;url='.$refreshUrl.'" />';
|
||||
echo '</body></html>';
|
||||
exit;
|
||||
}
|
||||
|
||||
public static function loadDataByAddress($address, $type, &$errorMsg) {
|
||||
|
||||
$curl = $fopen = 1;
|
||||
$data = '';
|
||||
|
||||
if(!function_exists("curl_init")){
|
||||
$errorMsg .= Text::_('COM_PHOCAGALLERY_PICASA_NOT_LOADED_CURL');
|
||||
$curl = 0;
|
||||
}
|
||||
|
||||
if(!PhocaGalleryUtils::iniGetBool('allow_url_fopen')){
|
||||
if ($errorMsg != '') {
|
||||
$errorMsg .= '<br />';
|
||||
}
|
||||
$errorMsg .= Text::_('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 = Text::_('COM_PHOCAGALLERY_PICASA_NOT_LOADED_IMAGE');
|
||||
break;
|
||||
|
||||
case 'user':
|
||||
Default:
|
||||
$errorMsg .= Text::_('COM_PHOCAGALLERY_PICASA_NOT_LOADED_USER');
|
||||
break;
|
||||
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return $data;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user