Server IP : 180.180.241.3 / Your IP : 216.73.216.252 Web Server : Microsoft-IIS/7.5 System : Windows NT NETWORK-NHRC 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.3.28 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /AppServ/www/news/tmp/Slider/classes/ |
Upload File : |
<?php /** * @package mod_bt_contentslider - BT ContentSlider Module * @version 2.0.0 * @created Oct 2011 * @author BowThemes * @email support@bowthems.com * @website http://bowthemes.com * @support Forum - http://bowthemes.com/forum/ * @copyright Copyright (C) 2012 Bowthemes. All rights reserved. * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL * */ // no direct access defined('_JEXEC') or die('Restricted access'); /** * class BTSource */ require_once 'images.php'; if(!class_exists('BTSource')){ abstract class BTSource{ public $_thumbnailPath = ''; public $_thumbnaiURL = ''; public $_defaultThumb = ''; public $_imagesRendered = array('thumbnail' => array(), 'mainImage' => array()); public $_params = array(); public function __construct($params = null) { $this->_params = $params; } function setThumbPathInfo($path, $url,$defaultThumb) { $this->_thumbnailPath = $path; $this->_thumbnaiURL = $url; $this->_defaultThumb = $defaultThumb; return $this; } public function setImagesRendered($name = array()) { $this->_imagesRendered = $name; return $this; } public function renderThumb($path, $width = 280, $height = 150, $isThumb = true, $quality = 100) { if ($isThumb){ $path = str_replace(JURI::base(), '', $path); $imagSource = JPATH_SITE . '/' . $path; $imagSource = urldecode($imagSource); $tmp = explode('/', $imagSource); $imageName = md5($path.$width.$height).'-'. $tmp[count($tmp) - 1]; $thumbPath = $this->_thumbnailPath . $imageName; if (file_exists($imagSource)) { if (!file_exists($thumbPath)) { //create thumb BTImageHelper::createImage($imagSource, $thumbPath, $width, $height, true, $quality); } return $this->_thumbnaiURL . $imageName; }else{ if (!file_exists($thumbPath)){ // Try to load image from external source // Image loaded? if ($this->_CreateImageUsingCurl( $path, $thumbPath, 30 )) { BTImageHelper::createImage($thumbPath, $thumbPath, $width, $height, true, $quality); return $this->_thumbnaiURL . $imageName; } } else { return $this->_thumbnaiURL . $imageName; } } } //return path return $path; } private static function _CreateImageUsingCurl( $url,$thumbPath, $maxImageLoadTime = 30 ) { $curl = false; if ( function_exists( 'curl_init' ) ) { $curl = curl_init(); } if ( $curl ) { curl_setopt( $curl, CURLOPT_URL, $url ); curl_setopt( $curl, CURLOPT_HEADER, false ); curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $curl, CURLOPT_CONNECTTIMEOUT, $maxImageLoadTime ); //curl_setopt( $curl, CURLOPT_FOLLOWLOCATION, true ); curl_setopt( $curl, CURLOPT_MAXREDIRS, 11/*just a number that seems plenty enough*/ ); curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER, FALSE ); $contents = curl_exec( $curl ); curl_close( $curl ); JFile::write($thumbPath,$contents); return true; } return false; } /** * parser a image in the content of article. * * @param. * @return */ public function parseImages($row) { $introtext = true; if(trim($row->fulltext) && $this->_params->get('checkimg_fulltext',0)){ $text = $row->introtext . $row->fulltext; $introtext = false; }else{ $text = $row->introtext; } $row->thumbnail = $this->_defaultThumb; $row->mainImage = $this->_defaultThumb; $regex = "/\<img.+src\s*=\s*\"([^\"]*)\"[^\>]*\>/Us"; if (!$this->_params->get('check_image_exist',0)) { preg_match($regex, $text, $matches); $images = (count($matches)) ? $matches : array(); if (count($images)) { $row->mainImage = $images[1]; $row->thumbnail = $images[1]; if($introtext){$row->introtext = str_replace($images[0], "", $row->introtext);} } } else { preg_match_all($regex, $text, $matches); foreach ($matches[1] as $key => $match) { @$url = getimagesize($match); if (is_array($url)) { $row->mainImage = $match; $row->thumbnail = $match; if($introtext){$row->introtext = str_replace($matches[0][$key], "", $row->introtext);} break; } } } return $row; } //create thumb and save link to item public function generateImages($item, $isThumb = true, $quality = 100) { // $item = $this->parseImages($item); foreach ($this->_imagesRendered as $key => $value) { if ($item->{$key} && $image = $this->renderThumb($item->{$key}, $value[0], $value[1], $isThumb, $quality)) { $item->{$key} = $image; } } return $item; } /** * Get a subtring with the max length setting. * * @param string $text; * @param int $length limit characters showing; * @param string $replacer; * @return tring; */ public static function substring($text, $length = 100, $replacer = '...', $isStrips = true, $stringtags = '') { if($isStrips){ $text = preg_replace('/\<p.*\>/Us','',$text); $text = str_replace('</p>','<br/>',$text); $text = strip_tags($text, $stringtags); } if(function_exists('mb_strlen')){ if (mb_strlen($text) < $length) return $text; $text = mb_substr($text, 0, $length); }else{ if (strlen($text) < $length) return $text; $text = substr($text, 0, $length); } return $text . $replacer; } /** * Get a subtring with the max word setting * * @param string $text; * @param int $length limit characters showing; * @param string $replacer; * @return tring; */ public static function substrword($text, $length = 100, $replacer = '...', $isStrips = true, $stringtags = '') { if($isStrips){ $text = preg_replace('/\<p.*\>/Us','',$text); $text = str_replace('</p>','<br/>',$text); $text = strip_tags($text, $stringtags); } $tmp = explode(" ", $text); if (count($tmp) < $length) return $text; $text = implode(" ", array_slice($tmp, 0, $length)) . $replacer; return $text; } /** * Get list article (abstract function) */ abstract public function getList(); } } ?>