Welcome,
Guest
|
SJ Financial Problem
(1 viewing) (1) Guest
|
TOPIC: SJ Financial Problem
Re: SJ Financial Problem 10 years, 2 months ago #20864
|
Strict Standards: Non-static method JSite::getMenu() should not be called statically, assuming $this from incompatible context in /home/radionaw/public_html/passportnew/plugins/system/yt/includes/site/lib/yt_template.php on line 107
Strict Standards: Non-static method JApplication::getMenu() should not be called statically, assuming $this from incompatible context in /home/radionaw/public_html/passportnew/includes/application.php on line 539 Strict Standards: Non-static method JSite::getMenu() should not be called statically, assuming $this from incompatible context in /home/radionaw/public_html/passportnew/plugins/system/yt/includes/site/lib/yt_template.php on line 107 Strict Standards: Non-static method JApplication::getMenu() should not be called statically, assuming $this from incompatible context in /home/radionaw/public_html/passportnew/includes/application.php on line 539 SJ Financial - шаблон joomla Joomla پاسپۆڕتی سلێمانی Strict Standards: Redefining already defined constructor for class YtObject in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytobject.php on line 21 Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Home Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Explore Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Module Variations Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Extensions Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Module positions Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Typography Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Shortcodes Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 What's new? Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Joomla Pages Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Joomla content Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 List All Categories Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Featured Articles Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Archived Articles Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Category List Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Category Blog Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Category Blog (1 column) Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Category Blog (2 columns) Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Category Blog (3 columns) Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Category Blog (4 columns) Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Single Article Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Page breaks Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Weblinks Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 News Feed Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 List News Feeds in a Category Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Single news feed Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Search Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Searchcom_search component Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Smart Searchsmart_search component Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 User Component Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Registration Form Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Login Form Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 User Profile Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Edit User Profile Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Password Reset Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Username Reminder Request Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Contact Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 K2 Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 K2 Category Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 K2 User Page Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 K2 Tags Page Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 K2 Item Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Latest items (1 column) Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Latest items (2 columns) Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Latest items (3 columns) Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Latest items (4 columns) Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Companies About company Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 506 Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 511 Donec vulputate velit ut Lorem ipsum do vlor sit amet onsect etur piscing elit. Proin rutrum nisi eu ante mattis sit amet Profile Company Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 506 Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 511 Quick Links Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 506 Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 511 Nam at nulla nib Business Services Development Maecenas consequ Sed scelerisque Gravida sapien Etiam vehicula alique These companies Toyota to reveal Ong awaited new Corolla Sed scelerisque Aliquet orci quis Big Tech Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 208 Global Economy Top Videos Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 506 Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/templates/sj_financial/menusys/ytmenu.php on line 511 Strict Standards: Non-static method BaseHelper::_cleanText() should not be called statically in /home/radionaw/public_html/passportnew/modules/mod_sj_meganews/core/helper.php on line 185 Strict Standards: Non-static method BaseHelper::_cleanText() should not be called statically in /home/radionaw/public_html/passportnew/modules/mod_sj_meganews/core/helper.php on line 185 Strict Standards: Non-static method BaseHelper::_cleanText() should not be called statically in /home/radionaw/public_html/passportnew/modules/mod_sj_meganews/core/helper.php on line 185 Strict Standards: Non-static method BaseHelper::_cleanText() should not be called statically in /home/radionaw/public_html/passportnew/modules/mod_sj_meganews/core/helper.php on line 185 Strict Standards: Only variables should be assigned by reference in /home/radionaw/public_html/passportnew/modules/mod_sj_meganews/core/helper_base.php on line 237 Fatal error: Call to undefined function exif_imagetype() in /home/radionaw/public_html/passportnew/modules/mod_sj_meganews/core/helper_image.php on line 262 |
The topic has been locked.
|
Re: SJ Financial Problem 10 years, 2 months ago #20866
|
Dear Alan Ismael,
Please go to the file: /public_html/passportnew/modules/mod_sj_meganews/core/helper_image.php and find:
if (!exif_imagetype()){
=> Please remove exclamation mark :
if (exif_imagetype()){
Then set Error Reporting to Default Thanks |
The topic has been locked.
|
Re: SJ Financial Problem 10 years, 2 months ago #20867
|
Dear Alan Ismael,
You shouldn't public your account in forum, please add it in : Require Help From Staff + Mod/Admin? when you reply I deleted the post. Thanks |
The topic has been locked.
|
Re: SJ Financial Problem 10 years, 2 months ago #20868
|
Dear SA thuy
thank you for replay. this line not fond in helper_image.php <?php /** * @package Sj Mega News * @version 2.5 * @license www.gnu.org/licenses/gpl-2.0.html GNU/GPL * @copyright (c) 2012 YouTech Company. All Rights Reserved. * @author YouTech Company www.smartaddons.com * */ defined('_JEXEC') or die; class ImageHelper{ protected static $instances = array(); protected static $defaults = array( 'type' => null, 'width' => null, 'height' => null, 'quality' => 90, 'function' => null, 'function_mode' => null, 'transparency' => true, 'background' => array('r'=>255, 'g'=>255, 'b'=>255) ); public static $cache = null; public static $cache_url = null; public static $supports = array( IMAGETYPE_PNG, IMAGETYPE_GIF, IMAGETYPE_JPEG ); public static $functions = array( 'resize', 'crop', 'rotate', 'flip_horizontal', 'flip_vertical' ); public static $modes = array( 'center', 'fill', 'fit', 'stretch' ); protected $image = null; protected $in = null; protected $out = null; protected $errors = array(); protected $options = null; protected $_process = 1; protected $debug = false; /** * * @param mixed $image * @param array $options * @return ImageHelper */ public static function init($image, $options = array()){ $cacheid = count(self::$instances); if (!isset(self::$instances[$cacheid])){ self::$instances[$cacheid] = new ImageHelper($image, $options); } return self::$instances[$cacheid]; } /** * ImageHelper constructor * @param unknown_type $image * @param unknown_type $options */ public function __construct($image = null, $options = array()){ !is_null($image) && $this->image = $image; // defaults foreach (ImageHelper::$defaults as $name => $value){ $this->options[$name] = array_key_exists($name, $options) ? $options[$name] : $value; } $this->in = array( 'type'=>null, 'src' =>null ); $this->out = array(); $this->initCache($options); $this->debug && JFactory::getApplication()->enqueueMessage('ImageHelper::__construct'); } public static function setDefault($params = null){ self::$defaults = array( 'type' => null, 'width' => null, 'height' => null, 'quality' => 90, 'function' => null, 'function_mode' => null, 'transparency' => true, 'background' => array('r'=>255, 'g'=>255, 'b'=>255) ); if ($params instanceof JRegistry){ $opts = array(); // output type ? $imgcfg_type = $params->get('imgcfg_type', 0); if (in_array($imgcfg_type, array(IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_GIF))){ $opts['type'] = $imgcfg_type; } // function ? $imgcfg_fn = $params->get('imgcfg_function', 'none_resize'); $imgcfg_fn = explode('_', $imgcfg_fn); if ( in_array($imgcfg_fn[0], self::$functions) ){ $opts['function'] = $imgcfg_fn[0]; if ($imgcfg_fn[0] == 'resize'){ if ( isset($imgcfg_fn[1]) && in_array($imgcfg_fn[1], self::$modes) ){ $opts['function_mode'] = $imgcfg_fn[1]; } else { $opts['function_mode'] = self::$modes[2]; } } } // background $imgcfg_background = $params->get('imgcfg_background', null); if (!is_null($imgcfg_background)){ $opts['background'] = $imgcfg_background; } // quality $imgcfg_quality = $params->get('imgcfg_quality', null); if ( $imgcfg_quality != null && intval($imgcfg_quality) > 0 && intval($imgcfg_quality) < 100 ){ $opts['quality'] = intval($imgcfg_quality); } // transparency $imgcfg_transparency = $params->get('imgcfg_transparency', 1); if ( $imgcfg_transparency != null){ $opts['transparency'] = $imgcfg_transparency ? true : false; } // dimension ? $imgcfg_w = $params->get('imgcfg_width', 0); $imgcfg_h = $params->get('imgcfg_height', 0); if ( intval($imgcfg_w) > 0 ){ $opts['width'] = $imgcfg_w; } if ( intval($imgcfg_h) > 0 ){ $opts['height'] = $imgcfg_h; } self::$cache = $params->get('imgcfg_cache'); self::$cache_url = $params->get('imgcfg_cache_url'); // $this->initCache($cache_params); } self::$defaults = array_merge(self::$defaults, $opts); } public static function testDefault(){ echo 'ImageHelper::$defaults'.'<br>'; //var_dump(self::$defaults); } /** * convert absolute path in joomla to url (not 4 script file) * @param string $jpath must contain JPATH_BASE * @return string */ public function jpath2url($jpath){ $realpath = realpath($jpath); if (!empty($realpath) && defined('JPATH_BASE')){ $jpathbase = realpath(JPATH_BASE); if (stripos($realpath, $jpathbase)===0){ $subpath = str_replace($jpathbase, '', $realpath); if (!empty($subpath) && DIRECTORY_SEPARATOR==$subpath[0]){ $subpath = substr($subpath, 1); } return JPath::clean($subpath, '/'); } } return $jpath; } public function initCache($options = array()){ $private_cache = array_key_exists('cache', $options) ? $options['cache'] : null; $private_cache_url = array_key_exists('cache_url', $options) ? $options['cache_url'] : null; if (empty($private_cache)){ if (is_null(ImageHelper::$cache) && defined('JPATH_CACHE')){ ImageHelper::$cache = JPATH_CACHE.'/resized'; if (!file_exists(ImageHelper::$cache)){ if (!@mkdir(ImageHelper::$cache, 0755, true)){ ImageHelper::$cache = null; } } } if (is_null(ImageHelper::$cache)){ ImageHelper::$cache = dirname(__FILE__).'/resized'; if (!file_exists(ImageHelper::$cache)){ if (!@mkdir(ImageHelper::$cache, 0755, true)){ ImageHelper::$cache = null; } } } if (is_null(ImageHelper::$cache)){ $this->errors[] = 'Can not create cache folder!'; } else { $private_cache = ImageHelper::$cache; } } if (empty($private_cache_url)){ if (empty($private_cache)){ // noop } else { $private_cache_url = $this->jpath2url($private_cache); } } $this->out['cache'] = $private_cache; $this->out['cache_url'] = $private_cache_url; } /** * Get image type for input url or path of file. * @return mixed */ protected function getInputType(){ if ( !isset($this->in['type']) ){ $this->debug && JFactory::getApplication()->enqueueMessage('ImageHelper::getInputType'); if (is_string($this->image)){ $path = $this->image; } else { $path = @$this->image['src']; } if (is_string($path)){ $ps = JString::parse_url($path); if ( array_key_exists('path', $ps) && !empty($ps['path']) ){ $isHttp = isset($ps['scheme']) && in_array($ps['scheme'], array('http', 'https')); if (!$isHttp || JURI::isInternal($path)){ $path = $ps['path']; } else { // is extenal url. $this->in['type'] = 'url'; $this->in['src'] = $path; return $this->in['type']; } } } else if (!$path){ $this->errors[] = 'Image path must be string or stored in array_argument[src]!'; } //var_dump('Path: ', $path); if ( !file_exists($path) ){ $this->errors[] = 'Image path is not exists!'; } else { //var_dump('EXISTS'); $this->in['src'] = realpath($path); $infor = array(); if ( !function_exists('exif_imagetype') ){ $intype = exif_imagetype($path); } else { $infor = getimagesize($path); $intype= @$infor[2]; } switch ($intype){ case IMAGETYPE_PNG: $this->in['type'] = IMAGETYPE_PNG; break; case IMAGETYPE_GIF: $this->in['type'] = IMAGETYPE_GIF; break; case IMAGETYPE_JPEG: $this->in['type'] = IMAGETYPE_JPEG; break; default: } } } return $this->in['type']; } protected function getInputResource(){ $this->debug && JFactory::getApplication()->enqueueMessage('ImageHelper::getInputResource'); //var_dump('getInputResource: '.$this->in['src']); if ( !isset($this->in['image']) ){ $intype = $this->getInputType(); switch ($intype){ case IMAGETYPE_PNG: $this->in['image'] = imagecreatefrompng($this->in['src']); break; case IMAGETYPE_GIF: $this->in['image'] = imagecreatefromgif($this->in['src']); break; case IMAGETYPE_JPEG: $this->in['image'] = imagecreatefromjpeg($this->in['src']); break; default: $this->in['image'] = null; return false; } } return is_resource($this->in['image']) ? $this->in['image'] : null; } protected function validOptions(){ $this->debug && JFactory::getApplication()->enqueueMessage('ImageHelper::validOptions'); // TODO: validate input $type = $this->getInputType(); $input_type_ok = ($type=='url') || in_array($type, ImageHelper::$supports); if ( !$input_type_ok ){ $this->errors[] = 'Input type is not supported!'; $this->_process = 0; } else if ($type=='url'){ $this->_process = 0; } // required options $output_type_ok = !is_null($this->options['type']) && in_array($this->options['type'], ImageHelper::$supports); if ( !$output_type_ok ){ if ( $input_type_ok ){ $this->options['type'] = $type; } } if ( !($this->options['width']>0 || $this->options['height']>0) ){ $this->errors[] = 'Output width or height must be greater than zero (>0)!'; $this->_process = 0; } if ( in_array($this->options['function'], ImageHelper::$functions) ){ if ($this->options['function'] == 'resize' && !in_array($this->options['function_mode'], ImageHelper::$modes)){ $this->errors[] = 'Resize mode is not valid! should be in ['.implode(', ', ImageHelper::$modes).']'; $this->_process = 0; } } else { $this->errors[] = 'Output function is not valid! should be in ['.implode(', ', ImageHelper::$functions).']'; $this->_process = 0; } // auto parse options if ( !isset($this->options['quality']) || !is_numeric($this->options['quality']) || $this->options['quality']==0 ){ $this->options['quality'] = 90; } else { if ($this->options['quality'] < 10){ $this->options['quality'] = 10; } if ($this->options['quality'] > 100){ $this->options['quality'] = 100; } } $c = &$this->options['background']; if ( is_string($this->options['background']) ){ if ( preg_match('/^#?([a-fA-F0-9]{3}|[a-fA-F0-9]{6})$/i', $this->options['background'], $m) ){ $hex = isset($m[1]) ? $m[1] : null; if (strlen($hex)==3){ $hex = $hex[0].$hex[0].$hex[1].$hex[1].$hex[2].$hex[2]; } if ($hex){ $dec = hexdec($hex); $this->options['background'] = array( 'r' => 0xFF & ($dec >> 0x10), 'g' => 0xFF & ($dec >> 0x8), 'b' => 0xFF & $dec ); } else { $this->options['background'] = null; } } else { $this->options['background'] = null; } } if ( !is_array($this->options['background']) ){ $this->options['background'] = null; } else { $valid = 1; $bg = $this->options['background']; foreach (array('r', 'g', 'b') as $e){ if ( !array_key_exists($e, $bg) || ($bg[$e]<0) || ($bg[$e]>255) ){ $valid = 0; break; } } if (!$valid){ $this->options['background'] = null; } } return count($this->errors) == 0; } protected function getOutputFile(){ if ( !array_key_exists('src', $this->out) || is_null($this->out['src']) ){ $this->debug && JFactory::getApplication()->enqueueMessage('ImageHelper::getOutputFile'); $hash = md5( serialize( array($this->options, $this->in['src'], $this->in['type']) ) ); if (defined('DEBUG') && 0){ $hash = basename($this->in['src'], '.jpg'); $w = isset($this->options['width']) ? $this->options['width'] : 0; $h = isset($this->options['height']) ? $this->options['height'] : 0; $hash .= '-'.$w.'x'.$h; $hash .= '-'.$this->options['function']; $hash .= '-'.$this->options['function_mode']; $hash .= '-'.$this->options['quality']; } switch ($this->options['type']){ case IMAGETYPE_PNG: $ext = '.png'; break; case IMAGETYPE_GIF: $ext = '.gif'; break; case IMAGETYPE_JPEG: $ext = '.jpg'; break; default: $ext = image_type_to_extension($this->options['type'], true); } $this->out['src'] = $this->out['cache'].'/'.$hash.$ext; $this->save2f(); $this->debug && JFactory::getApplication()->enqueueMessage('ImageHelper::getOutputFile::::'.$this->out['src']); } return $this->out['src']; } protected function getOutputUrl(){ if (!isset($this->out['url'])){ $this->debug && JFactory::getApplication()->enqueueMessage('ImageHelper::getOutputUrl'); if ( $this->validOptions() && in_array($this->options['type'], ImageHelper::$supports) ){ $this->out['url'] = $this->out['cache_url'].'/'.basename( $this->getOutputFile() ); } else { $original = is_string($this->image) ? $this->image : @$this->image['src']; if (!(stripos($original, 'http')===0)){ $original = $this->jpath2url($original); } $this->out['url'] = $original; $this->debug && JFactory::getApplication()->enqueueMessage('Not validOptions:: '.$this->out['url']); } $is_ajax = ! empty ( $_SERVER ['HTTP_X_REQUESTED_WITH'] ) && strtolower ( $_SERVER ['HTTP_X_REQUESTED_WITH'] ) == 'xmlhttprequest'; if ($is_ajax && !(stripos($this->out['url'], 'http')===0)){ $this->out['url'] = JUri::root(). $this->out['url']; } } return $this->out['url']; } /** * @return mixed */ public function output(){ if ( $this->validOptions() && $this->getInputResource()){ $this->debug && JFactory::getApplication()->enqueueMessage('ImageHelper::output'); $this->process(); if (is_resource($this->out['image'])){ $oImage = &$this->out['image']; switch( $this->options['type'] ){ case IMAGETYPE_JPEG: imagejpeg($oImage, $this->getOutputFile(), $this->options['quality']); break; case IMAGETYPE_GIF: imagegif($oImage, $this->getOutputFile()); break; case IMAGETYPE_PNG: imagepng($oImage, $this->getOutputFile(), 10 - round($this->options['quality']/10.0)); break; } } } } /** *@return string */ public function tag(){ $this->debug && JFactory::getApplication()->enqueueMessage('ImageHelper::tag'); if (!$this->getOutputUrl()){ return ''; } $tag = array(); if (is_array($this->image)){ foreach ($this->image as $att => $val){ if ($att == 'src'){ $tag[] = 'src="'.$this->getOutputUrl().'"'; } else { $tag[] = $att.'="'.$val.'"'; } } if (!array_key_exists('alt', $this->image)){ $tag[] = 'alt="'.$this->getOutputUrl().'"'; } } else { $tag[] = 'src="'.$this->getOutputUrl().'"'; $tag[] = 'alt="'.$this->getOutputUrl().'"'; } return count($tag) ? '<img '.implode(' ', $tag).'/>' : ''; } /** * @return string */ public function path(){ $this->debug && JFactory::getApplication()->enqueueMessage('ImageHelper::path'); return $this->__toString(); } public function src(){ $this->debug && JFactory::getApplication()->enqueueMessage('ImageHelper::src'); return $this->getOutputUrl(); } /** * @return string */ public function error(){ $this->debug && JFactory::getApplication()->enqueueMessage('ImageHelper::error'); return $this->errors; } /** * Resize input image by size * @param int $w * @param int $h * @return ImageHelper */ public function resize($w = 0, $h = 0){ $this->debug && JFactory::getApplication()->enqueueMessage('ImageHelper::resize'); if ($w > 0) $this->options['width'] = $w; if ($h > 0) $this->options['height'] = $h; return $this; } protected function actionPerformed(){ $this->debug && JFactory::getApplication()->enqueueMessage('ImageHelper::actionPerformed'); $sImage = $this->getInputResource(); if ( !is_resource($sImage) ) return; $sw = imagesx($sImage); $sh = imagesy($sImage); if ( $this->options['function']=='resize' ){ $ow = is_null($this->options['width']) ? 0 : intval($this->options['width']); $oh = is_null($this->options['height']) ? 0 : intval($this->options['height']); if ( $ow==0 && $oh==0 ){ die('thoi khoi resize'); } else if ($ow == 0){ // resize by height. $this->options['function_mode'] = ImageHelper::$modes[3]; $ow = $this->options['width'] = round($oh * $sw/$sh); } else if ($oh == 0){ $this->options['function_mode'] = ImageHelper::$modes[3]; $oh = $this->options['height'] = (int)round($ow * $sh/$sw); // resize by width } else if ( abs($oh-round($ow*$sh/$sw)) <= 1 ){ // resize by ca hai $this->options['function_mode'] = ImageHelper::$modes[3]; $oh = $this->options['height'] = round($ow*$sh/$sw); } $oImage = $this->getCanvas(); // build agrs $sx = $sy = 0; $dx = $dy = 0; $dw = $sw; $dh = $sh; switch($this->options['function_mode']){ case ImageHelper::$modes[0]: if ($ow > $dw) { $dx = ($ow-$dw)/2; } if ($oh > $dh) { $dy = ($oh-$dh)/2; } if ($sw > $ow){ $sx = ($sw-$ow)/2; } if ($sh > $oh){ $sy = ($sh-$oh)/2; } break; case ImageHelper::$modes[1]: $or = 1.0*$sw/$sh; if ($ow < $oh*$or){ $dw = round($oh*$or); $dh = $oh; $dx = ($ow-$dw)/2; $dy = 0; } else { $dw = $ow; $dh = round($ow/$or); $dx = 0; $dy = ($oh-$dh)/2; } break; case ImageHelper::$modes[2]: $or = 1.0*$sw/$sh; if ($ow > $oh*$or){ $dw = round($oh*$or); $dh = $oh; $dx = ($ow-$dw)/2; $dy = 0; } else { $dw = $ow; $dh = round($ow/$or); $dx = 0; $dy = ($oh-$dh)/2; } break; default: case ImageHelper::$modes[3]: $dw = $ow; $dh = $oh; break; } imagecopyresampled( $oImage, $sImage, $dx, $dy, $sx, $sy, $dw, $dh, $sw, $sh ); $this->out['image'] = $oImage; } return 1; } // public function __destruct(){ // $this->save2f(); // $this->debug && JFactory::getApplication()->enqueueMessage('ImageHelper::__destruct'); // } protected function save2f(){ $this->debug && JFactory::getApplication()->enqueueMessage('ImageHelper::save2f'); if ($this->_process && ($of = $this->getOutputFile()) && !file_exists($of)){ $this->actionPerformed(); if ( array_key_exists('image', $this->out) && is_resource($this->out['image'])){ $oImage = &$this->out['image']; switch( $this->options['type'] ){ case IMAGETYPE_JPEG: imagejpeg($oImage, $of, $this->options['quality']); break; case IMAGETYPE_GIF: imagegif($oImage, $of); break; case IMAGETYPE_PNG: imagepng($oImage, $of, 10 - round($this->options['quality']/10.0)); break; } } } } protected function getCanvas(){ if ( !isset($this->out['image']) ){ $this->debug && JFactory::getApplication()->enqueueMessage('ImageHelper::getCanvas'); $oImage = imagecreatetruecolor($this->options['width'], $this->options['height']); if ($this->options['transparency'] && in_array($this->options['type'], array(IMAGETYPE_GIF, IMAGETYPE_PNG))){ if (IMAGETYPE_GIF == $this->in['type']){ $trans_index = imagecolortransparent($this->in['image']); if ($trans_index >= 0) { $trans_color = imagecolorsforindex($this->in['image'], $trans_index); $trans_index = imagecolorallocate($oImage, $trans_color['red'], $trans_color['green'], $trans_color['blue']); imagefill($oImage, 0, 0, $trans_index); imagecolortransparent($oImage, $trans_index); } } else if (IMAGETYPE_PNG == $this->in['type']){ $png_alpha = ((ord(file_get_contents($this->in['src'], false, null, 25, 1)) & 6) & 4) == 4; if ($png_alpha){ imagealphablending($oImage, true); $transparent = imagecolorallocatealpha($oImage, 0, 0, 0, 127); imagefilledrectangle($oImage, 0, 0, $this->options['width'], $this->options['height'], $transparent); imagealphablending($oImage, false); imagesavealpha($oImage, true); } } } else if ( !is_null($this->options['background']) && $this->options['function']==ImageHelper::$functions[0] && in_array($this->options['function_mode'], array(ImageHelper::$modes[0], ImageHelper::$modes[2]))){ $bgc = imagecolorallocate( $oImage, $this->options['background']['r'], $this->options['background']['g'], $this->options['background']['b'] ); imagefilledrectangle($oImage, 0, 0, $this->options['width'], $this->options['height'], $bgc); } $this->out['image'] = $oImage; } return $this->out['image']; } public function __toString(){ $this->debug && JFactory::getApplication()->enqueueMessage('ImageHelper::__toString'); $f = $this->getOutputFile(); return is_null($f) ? '' : $f; } } |
The topic has been locked.
|
Re: SJ Financial Problem 10 years, 2 months ago #20870
|
Dear Alan Ismael,
It's my mistake, please find: if ( !function_exists('exif_imagetype') ){ => Edit to: if ( function_exists('exif_imagetype') ){ Thanks |
The topic has been locked.
|
Re: SJ Financial Problem 10 years, 2 months ago #20877
|
Dear SA thuy
My problem solved, many thanks for your cooperation, appreciated. |
The topic has been locked.
|
|
Time to create page: 0.51 seconds
Notification
Please find your issue via Suggested Posts before submitting your question. We have solved the most of issues and maybe your issue was solved before.
Latest My Topics
No posts to display.