Server IP : 103.233.192.212 / Your IP : 3.144.98.87 Web Server : Apache/2 System : Linux sv1.inde.co.th 3.10.0-1160.36.2.el7.x86_64 #1 SMP Wed Jul 21 11:57:15 UTC 2021 x86_64 User : sumpatuan ( 1058) PHP Version : 5.5.38 Disable Function : symlink,shell_exec,exec,proc_close,proc_open,popen,system,dl,putenv,passthru,escapeshellarg,escapeshellcmd,pcntl_exec,proc_get_status,proc_nice,proc_terminate,pclose,ini_alter,virtual,openlog,ini_restore MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/sumpatuan/public_html/backup/protected/extensions/image/ |
Upload File : |
<?php /** * Image API driver. * * $Id: Image.php 3769 2008-12-15 00:48:56Z zombor $ * * @package Image * @author Kohana Team * @copyright (c) 2007-2008 Kohana Team * @license http://kohanaphp.com/license.html */ abstract class Image_Driver { // Reference to the current image protected $image; // Reference to the temporary processing image protected $tmp_image; // Processing errors protected $errors = array(); /** * Executes a set of actions, defined in pairs. * * @param array actions * @return boolean */ public function execute($actions) { foreach ($actions as $func => $args) { if ( ! $this->$func($args)) return FALSE; } return TRUE; } /** * Sanitize and normalize a geometry array based on the temporary image * width and height. Valid properties are: width, height, top, left. * * @param array geometry properties * @return void */ protected function sanitize_geometry( & $geometry) { list($width, $height) = $this->properties(); // Turn off error reporting $reporting = error_reporting(0); // Width and height cannot exceed current image size $geometry['width'] = min($geometry['width'], $width); $geometry['height'] = min($geometry['height'], $height); // Set standard coordinates if given, otherwise use pixel values if ($geometry['top'] === 'center') { $geometry['top'] = floor(($height / 2) - ($geometry['height'] / 2)); } elseif ($geometry['top'] === 'top') { $geometry['top'] = 0; } elseif ($geometry['top'] === 'bottom') { $geometry['top'] = $height - $geometry['height']; } // Set standard coordinates if given, otherwise use pixel values if ($geometry['left'] === 'center') { $geometry['left'] = floor(($width / 2) - ($geometry['width'] / 2)); } elseif ($geometry['left'] === 'left') { $geometry['left'] = 0; } elseif ($geometry['left'] === 'right') { $geometry['left'] = $width - $geometry['height']; } // Restore error reporting error_reporting($reporting); } /** * Return the current width and height of the temporary image. This is mainly * needed for sanitizing the geometry. * * @return array width, height */ abstract protected function properties(); /** * Process an image with a set of actions. * * @param string image filename * @param array actions to execute * @param string destination directory path * @param string destination filename * @return boolean */ abstract public function process($image, $actions, $dir, $file); /** * Flip an image. Valid directions are horizontal and vertical. * * @param integer direction to flip * @return boolean */ abstract function flip($direction); /** * Crop an image. Valid properties are: width, height, top, left. * * @param array new properties * @return boolean */ abstract function crop($properties); /** * Resize an image. Valid properties are: width, height, and master. * * @param array new properties * @return boolean */ abstract public function resize($properties); /** * Rotate an image. Valid amounts are -180 to 180. * * @param integer amount to rotate * @return boolean */ abstract public function rotate($amount); /** * Sharpen and image. Valid amounts are 1 to 100. * * @param integer amount to sharpen * @return boolean */ abstract public function sharpen($amount); } // End Image Driver