زمان کنونی: ۱۰-۱-۱۴۰۳, ۰۱:۴۶ صبح درود مهمان گرامی! (ورودثبت نام)


ارسال پاسخ 
 
امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
تبدیل کدهای جوملا 1.5 به جوملا 3
۹-۱۲-۱۳۹۳, ۱۱:۱۳ عصر
ارسال: #1
تبدیل کدهای جوملا 1.5 به جوملا 3
با سلام
من تو تبدیل این کد پلاگینJoomla 1.5 به joomla 3.0 موندم لطفاً کمک کنید
// 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;
    }
}
امضاء saso
من از سایت پارس جوم بیش از اندازه رضایت دارم تشکر از همگی بچه های انجمن پارس جوم
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ بازگشت به بالا
ارسال پاسخ 


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان