diff options
Diffstat (limited to 'h-source/Library/Image')
| -rw-r--r-- | h-source/Library/Image/Gd/Captcha.php | 103 | ||||
| -rw-r--r-- | h-source/Library/Image/Gd/Thumbnail.php | 220 | ||||
| -rw-r--r-- | h-source/Library/Image/Gd/index.html | 1 | ||||
| -rw-r--r-- | h-source/Library/Image/index.html | 1 | 
4 files changed, 0 insertions, 325 deletions
| diff --git a/h-source/Library/Image/Gd/Captcha.php b/h-source/Library/Image/Gd/Captcha.php deleted file mode 100644 index 1e8d706..0000000 --- a/h-source/Library/Image/Gd/Captcha.php +++ /dev/null @@ -1,103 +0,0 @@ -<?php - -// EasyGiant is a PHP framework for creating and managing dynamic content -// -// Copyright (C) 2009 - 2011  Antonio Gallo -// See COPYRIGHT.txt and LICENSE.txt. -// -// This file is part of EasyGiant -// -// EasyGiant is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// EasyGiant is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with EasyGiant.  If not, see <http://www.gnu.org/licenses/>. - -if (!defined('EG')) die('Direct access not allowed!'); - -//class to create a captcha -//you have to call session_start() before to initialize a captcha object -class Image_Gd_Captcha -{ - -	private $params = array(); //parameters of the object -	private $string = null; //the text string of the captcha -	 -	public function __construct($params = null) -	{ -		$here = realpath('.'); -		 -		$defaultParams = array( -			'boxWidth'		=>	150, -			'boxHeight'		=>	100, -			'charNumber'	=>	6, -			'fontPath'		=>	$here.'/External/Fonts/FreeFont/FreeMono.ttf', -			'undulation'	=>	true, -			'align'			=>	false, -			'charHeight'	=>	28, -			'sessionKey'	=>	'captchaString', -		); - -		//set the $this->scaffold->params array -		if (is_array($params)) -		{ -			foreach ($params as $key => $value) -			{ -				$defaultParams[$key] = $value; -			} -		} -		$this->params = $defaultParams; -		 -		$this->string = generateString($this->params['charNumber']); -	} - -	public function render() -	{ -		//space among characters -		$space = $this->params['boxWidth'] / ($this->params['charNumber']+1); -		//create the image box -		$img = imagecreatetruecolor($this->params['boxWidth'],$this->params['boxHeight']); -		 -		$background = imagecolorallocate($img,255,255,255); -		$border = imagecolorallocate($img,0,0,0); -		$colors[] = imagecolorallocate($img,mt_rand(0,125),mt_rand(0,125),mt_rand(0,125)); -		$colors[] = imagecolorallocate($img,mt_rand(0,125),mt_rand(0,125),mt_rand(0,125)); -		$colors[] = imagecolorallocate($img,mt_rand(0,125),mt_rand(0,125),mt_rand(0,125)); -		 -		//create the background -		imagefilledrectangle($img,1,1,$this->params['boxWidth']-2,$this->params['boxHeight']-2,$background); -		imagerectangle($img,0,0,$this->params['boxWidth']-1,$this->params['boxHeight']-2,$border); -		 -		//set the text -		for ($i=0; $i< $this->params['charNumber']; $i++) -		{ -			$color = $colors[$i % count($colors)]; -			$char = substr($this->string,$i,1); -			$fontPath = $this->params['fontPath']; -			$angle = $this->params['undulation'] === false ? 0 : -20+rand(0,40); -			$yposFixed = (int)(($this->params['boxHeight'])/2); -			$ypos = $this->params['align'] === true ? $yposFixed : $yposFixed + mt_rand(0,10); -			$charHeight = $this->params['charHeight']; -			imagettftext($img,$charHeight + rand(0,8),$angle,($i+0.3)*$space,$ypos,$color,$fontPath,$char); -		} - -		$noiseColor = imagecolorallocate($img, mt_rand(125,255), mt_rand(125,255), mt_rand(125,255)); -		/* generate random dots in background */ -		for( $i=0; $i<($this->params['boxWidth'] * $this->params['boxHeight'])/7; $i++ ) { -			imagefilledellipse($img, mt_rand(0,$this->params['boxWidth']), mt_rand(0,$this->params['boxHeight']), 1, 1, $noiseColor); -		} -		 -		$_SESSION[$this->params['sessionKey']] = $this->string; -		header('Content-Type: image/png'); -		imagepng($img); -		imagedestroy($img); -	} -	 -}
\ No newline at end of file diff --git a/h-source/Library/Image/Gd/Thumbnail.php b/h-source/Library/Image/Gd/Thumbnail.php deleted file mode 100644 index 22e501e..0000000 --- a/h-source/Library/Image/Gd/Thumbnail.php +++ /dev/null @@ -1,220 +0,0 @@ -<?php - -// EasyGiant is a PHP framework for creating and managing dynamic content -// -// Copyright (C) 2009 - 2011  Antonio Gallo -// See COPYRIGHT.txt and LICENSE.txt. -// -// This file is part of EasyGiant -// -// EasyGiant is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// EasyGiant is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with EasyGiant.  If not, see <http://www.gnu.org/licenses/>. - -if (!defined('EG')) die('Direct access not allowed!'); - -//class to create a thumbnail -class Image_Gd_Thumbnail -{ -	const DS = DIRECTORY_SEPARATOR; -	 -	private $params = array(); //parameters of the object -	private $basePath = null; //the path of the folder inside which the images are saved -	 -	public function __construct($basePath,$params = null) -	{ -		$finalChar = $basePath[strlen($basePath) - 1]; -		if (strcmp($finalChar,self::DS) !== 0) $basePath .= self::DS; -		 -		$this->basePath = $basePath; -		 -		$defaultParams = array( -			'imgWidth'		=>	null, -			'imgHeight'		=>	null, -			'defaultImage'	=>	null, -			'cropImage'		=>	'no', -			'horizAlign'	=>	'left', -			'vertAlign'		=>	'top', -			'resample'		=>	'yes', -			'function'		=>	'none', -			'outputFormat'	=>	'jpeg', -		); - -		//set the $this->scaffold->params array -		if (is_array($params)) -		{ -			foreach ($params as $key => $value) -			{ -				$defaultParams[$key] = $value; -			} -		} -		$this->params = $defaultParams; -	} -	 -	//create the thumbnail -	//$imageName: the name of the file inside $this->basePath -	//$outputFile: the name of the output file -	public function render($imageFile, $outputFile = null) -	{ -		$imagePath = $this->basePath . basename($imageFile); -		 -		if (!file_exists($imagePath) and isset($this->params['defaultImage'])) $imagePath = $this->params['defaultImage']; - -		$img = null; -		$type = 'jpeg'; -		$contentType = 'image/jpeg'; -		 -		if (file_exists($imagePath)) -		{ -			$ext = strtolower(end(explode('.', $imagePath))); - -			if (strcmp($ext,'jpg') === 0 or strcmp($ext,'jpeg') === 0) { -				$img = @imagecreatefromjpeg($imagePath); -				$type = 'jpeg'; -				$contentType = 'image/jpeg'; -			} else if (strcmp($ext,'png') === 0) { -				$img = @imagecreatefrompng($imagePath); -				$type = 'png'; -				$contentType = 'image/png'; -			} else if (strcmp($ext,'gif') === 0) { -				$img = @imagecreatefromgif($imagePath); -				$type = 'gif'; -				$contentType = 'image/gif'; -			} -		} -		 -		//If an image was successfully loaded, test the image for size -		if ($img) -		{ -			//image size -			$width = imagesx($img); -			$height = imagesy($img); - -			if (!isset($this->params['imgWidth']))	$this->params['imgWidth'] = $width; -			if (!isset($this->params['imgHeight']))	$this->params['imgHeight'] = $height; -			 -			if ($this->params['cropImage'] === 'no') -			{ -				$scale = min($this->params['imgWidth']/$width, $this->params['imgHeight']/$height); -			} -			else if ($this->params['cropImage'] === 'yes') -			{ -				$scale = max($this->params['imgWidth']/$width, $this->params['imgHeight']/$height); -			} - -			if ($scale < 1) { -    -				$xSrc = 0; -				$ySrc = 0; -    -				if ($this->params['cropImage'] === 'no') -				{ -					$newWidth = floor($scale*$width); -					$newHeight = floor($scale*$height); -				} -				else if ($this->params['cropImage'] === 'yes') -				{ -			 -					$newWidth = $this->params['imgWidth']; -					$newHeight = $this->params['imgHeight']; -					$oldWidth = $width; -					$oldHeight = $height; -					$width = floor($newWidth/$scale); -					$height = floor($newHeight/$scale); -					 -					switch ($this->params['horizAlign']) -					{ -						case 'left': -							$xSrc = 0; -							break; -						case 'right': -							$xSrc = floor(($oldWidth-$width)); -							break; -						case 'center': -							$xSrc = floor(($oldWidth-$width)/2); -							break; -						default: -							$xSrc = $this->params['horizAlign']; -					} - -					switch ($this->params['vertAlign']) -					{ -						case 'top': -							$ySrc = 0; -							break; -						case 'bottom': -							$ySrc = floor(($oldHeight-$height)); -							break; -						case 'center': -							$ySrc = floor(($oldHeight-$height)/2); -							break; -						default: -							$ySrc = $this->params['vertAlign']; -					} - -				} - -				//temp image -				$tmpImg = imagecreatetruecolor($newWidth, $newHeight); - -				if ($this->params['resample'] === 'yes') -				{ -					//copy and resample -					imagecopyresampled($tmpImg, $img, 0, 0, $xSrc, $ySrc,$newWidth, $newHeight, $width, $height); -				} -				else -				{ -					//copy and resize -					imagecopyresized($tmpImg, $img, 0, 0, $xSrc, $ySrc,$newWidth, $newHeight, $width, $height); -				} -				imagedestroy($img); -				$img = $tmpImg; - -				if (!function_exists($this->params['function'])) { -					throw new Exception('Error in <b>'.__METHOD__.'</b>: function <b>'.$this->params['function']. '</b> does not exist'); -				} - -				$img = call_user_func($this->params['function'],$img); -			} -			 -		} -		 -		if (!$img) -		{ -			$imgWidth = isset($this->params['imgWidth']) ? $this->params['imgWidth'] : 100; -			$imgHeight = isset($this->params['imgHeight']) ? $this->params['imgHeight'] : 100; -			 -			$img = imagecreate($imgWidth, $imgHeight); -			imagecolorallocate($img,200,200,200); -		} - -		//print the image -		if (!isset($outputFile)) -		{ -			header("Content-type: $contentType"); -		} -		 -		if (strcmp($type,'png') === 0) -		{ -			imagepng($img,$outputFile,9); -		} -		else if (strcmp($type,'gif') === 0) -		{ -			imagegif($img,$outputFile); -		} -		else -		{ -			imagejpeg($img,$outputFile,90); -		} -	} -	 -}
\ No newline at end of file diff --git a/h-source/Library/Image/Gd/index.html b/h-source/Library/Image/Gd/index.html deleted file mode 100644 index 8d1c8b6..0000000 --- a/h-source/Library/Image/Gd/index.html +++ /dev/null @@ -1 +0,0 @@ -  diff --git a/h-source/Library/Image/index.html b/h-source/Library/Image/index.html deleted file mode 100644 index 8d1c8b6..0000000 --- a/h-source/Library/Image/index.html +++ /dev/null @@ -1 +0,0 @@ -  | 
