با سلام
من تو تبدیل این کد پلاگین
به
موندم لطفاً کمک کنید
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
if (!function_exists('randomkeys')) {
function randomkeys($length) {
$key = '';
$pattern = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
for($i = 0; $i < $length; $i++) {
$key .= $pattern{rand(0,strlen($pattern)-1)};
}
return $key;
}
}
jimport('joomla.event.plugin');
class plgContentSIS extends JPlugin {
private $image_dir = 'images/stories';
private $uid;
private $sis_dir = 'plugins/content/sis';
private $width, $height;
function plgContentSIS(&$subject) {
parent::__construct($subject);
}
//$mainframe->registerEvent( 'onPrepareContent', 'plgContentPHPinc' );
function onPrepareContent(&$row, &$params, $page=0) {
if ( JString::strpos($row->text, '{sis}') === false) {
return true;
}
// Get plugin info
$plugin =& JPluginHelper::getPlugin('content', 'sis');
$pluginParams = new JParameter( $plugin->params );
$image_dir = $pluginParams->get('image_dir');
if (isset($image_dir{0})) {
$this->image_dir = $image_dir;
}
$jquery_loaded = $pluginParams->get('jquery_loaded');
$doc =& JFactory::getDocument();
if ($jquery_loaded == 0) {
$doc->addScript('plugins/content/sis/jquery-1.4.2.min.js');
}
$doc->addScript('plugins/content/sis/jquery.tools.min.js');
//$regex = '/{sis (.*?)(\s+(.*?))?}/i';
$regex = '@{sis}(.*?){/sis}@i';
$row->text = preg_replace_callback($regex, array($this,'replaceSIS'), $row->text);
}
function replaceSIS($matches) {
$this->uid = randomkeys(16);
$folder = $this->image_dir.'/'.$matches[1];
if (file_exists($folder)) {
$files = glob("$folder/*.jpg");
if (count($files) > 0) {
$html = $this->getHTML($files);
$doc =& JFactory::getDocument();
$doc->addStyleDeclaration($this->getCSS($this->width, $this->height));
$doc->addScriptDeclaration($this->getJS());
return $html;
} else {
return '<p>No images found!</p>';
}
} else {
return '<p>Folder not found!</p>';
}
}
function getHTML($files) {
$imgsize = getimagesize($files[0]);
$this->width = $imgsize[0];
$this->height = $imgsize[1];
$html = '
<div class="'.$this->uid.'">
<div class="scrollable">
<div class="items">';
foreach ($files as $file) {
$alt = substr($file, strrpos($file, '/') + 1);
$html .= '<div class="sis-image"><img width="'.$this->width.'" height="'.$this->height.'" src="'.$file.'" alt="'.$alt.'" /></div>';
}
$html .= '</div>
</div>
<a href="javascript:;" class="prev"></a>
<a href="javascript:;" class="next"></a>
</div>';
return $html;
}
function getCSS($width, $height) {
$half_width = floor($width/2);
$css = "
div.$this->uid a, div.$this->uid a:focus, div.$this->uid a:active {outline:none; border:0;}
div.$this->uid {position:relative;}
div.$this->uid a.prev:hover {background:url('{$this->sis_dir}/prev-active.png') no-repeat 5% 50%;}
div.$this->uid a.prev, div.$this->uid a.prev.disabled {display:block;width:{$half_width}px;height:{$height}px;position:absolute;top:0;left:0;background:url('{$this->sis_dir}/prev.png') no-repeat 5% 50%;}
div.$this->uid a.next:hover {background:url('{$this->sis_dir}/next-active.png') no-repeat 95% 50%;}
div.$this->uid a.next, div.$this->uid a.next.disabled {display:block;width:{$half_width}px;height:{$height}px;position:absolute;top:0;left:{$half_width}px;background:url('{$this->sis_dir}/next.png') no-repeat 95% 50%;}
div.$this->uid div.scrollable {width:{$width}px;height:{$height}px;overflow:hidden;position:relative;}
div.$this->uid div.scrollable div.items {width:20000em;position:absolute;}
div.$this->uid div.scrollable div.items div {float:left;}";
return $css;
}
function getJS() {
$plugin =& JPluginHelper::getPlugin('content', 'sis');
$pluginParams = new JParameter( $plugin->params );
$use_keyboard = $pluginParams->get('use_keyboard');
$use_keyboard = ($use_keyboard == 0)?"keyboard:0,":"";
$transition = $pluginParams->get('transition');
$transition = ($transition != '')?"speed:$transition,":"";
$circular = $pluginParams->get('circular');
$circular = ($circular == 1)?"circular:1,":"";
$js = "
(function($) {
$(document).ready(function() {
$('div.$this->uid div.scrollable').scrollable({
$use_keyboard $transition $circular size:1
});
});
})(jQuery);";
return $js;
}
}