JEMBOT MAWOT Bypass Shell
<?php
/**
* @package AcyMailing for Joomla!
* @version 4.9.0
* @author acyba.com
* @copyright (C) 2009-2015 ACYBA S.A.R.L. All rights reserved.
* @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
*/
defined('_JEXEC') or die('Restricted access');
?><?php
class acytabsHelper {
var $ctrl = 'tabs';
var $tabs = null;
var $openPanel = false;
var $mode = null;
var $data = array();
var $options = null;
var $name = '';
function __construct() {
if(!ACYMAILING_J16) {
$this->mode = 'pane';
} elseif(!ACYMAILING_J30) {
$this->mode = 'pane';
} else {
$this->mode = 'bootstrap';
}
}
function startPane($name) { return $this->start($name); }
function startPanel($text, $id) { return $this->panel($text, $id); }
function endPanel() { return ''; }
function endPane() { return $this->end(); }
function setOptions($options = array()) {
if($this->options == null)
$this->options = $options;
else
$this->options = array_merge($this->options, $options);
}
function start($name, $options = array()) {
$ret = '';
if($this->mode == 'pane') {
jimport('joomla.html.pane');
if(!empty($this->options))
$options = array_merge($options, $this->options);
$this->tabs = JPane::getInstance('tabs', $options);
$ret .= $this->tabs->startPane($name);
} elseif($this->mode == 'tabs') {
if(!empty($this->options))
$options = array_merge($options, $this->options);
$ret .= JHtml::_('tabs.start', $name, $options);
} else {
$this->name = $name;
if($this->options == null)
$this->options = $options;
else
$this->options = array_merge($this->options, $options);
}
return $ret;
}
function panel($text, $id) {
$ret = '';
if($this->mode == 'pane') {
if($this->openPanel)
$ret .= $this->tabs->endPanel();
$ret .= $this->tabs->startPanel($text, $id);
$this->openPanel = true;
} elseif($this->mode == 'tabs') {
$ret .= JHtml::_('tabs.panel', JText::_($text), $id);
} else {
if($this->openPanel)
$this->_closePanel();
$obj = new stdClass();
$obj->text = $text;
$obj->id = $id;
$obj->data = '';
$this->data[] = $obj;
ob_start();
$this->openPanel = true;
}
return $ret;
}
function _closePanel() {
if(!$this->openPanel)
return;
$panel = end($this->data);
$panel->data .= ob_get_clean();
$this->openPanel = false;
}
function end() {
$ret = '';
if($this->mode == 'pane') {
if($this->openPanel)
$ret .= $this->tabs->endPanel();
$ret .= $this->tabs->endPane();
} elseif($this->mode == 'tabs') {
$ret .= JHtml::_('tabs.end');
} else {
static $jsInit = false;
if($this->openPanel)
$this->_closePanel();
$classes = '';
if(isset($this->options['useCookie']) && $this->options['useCookie']) {
$classes .= ' nav-remember';
}
$ret .= '<div class="acytabsystem" style="margin-left:10px;"><ul class="nav nav-tabs'.$classes.'" id="'.$this->name.'" style="width:100%;">'."\r\n";
foreach($this->data as $k => $data) {
$active = '';
if((isset($this->options['startOffset']) && $this->options['startOffset'] == $k) || $k == 0)
$active = ' class="active"';
$ret .= ' <li' . $active.'><a href="#' . $data->id . '" id="'.$data->id.'_tablink" data-toggle="tab">' . JText::_($data->text) . '</a></li>'."\r\n";
}
$ret .= '</ul>'."\r\n".'<div class="tab-content">'."\r\n";
foreach($this->data as $k => $data) {
$active = '';
if((isset($this->options['startOffset']) && $this->options['startOffset'] == $k) || $k == 0)
$active = ' active';
$ret .= ' <div class="tab-pane' . $active.'" id="' . $data->id . '">'."\r\n".$data->data."\r\n".' </div>'."\r\n";
unset($data->data);
}
$ret .= '</div></div>';
unset($this->data);
if(!$jsInit) {
$jsInit = true;
$js = 'jQuery(document).ready(function (){
jQuery("ul.nav-remember").each(function(nav){
var id = jQuery(this).attr("id");
jQuery("#" + id + " a[data-toggle=\"tab\"]").on("shown", function (e) {
if(localStorage) {
localStorage.setItem("acymailing-lastTab-"+id, jQuery(e.target).attr("id"));
} else {
var expire = new Date(); expire.setDate(expire.getDate() + 5);
document.cookie = "acymailing-lastTab-"+id+"="+escape(jQuery(e.target).attr("id"))+"; expires="+expire;
}
});
var lastTab = null;
if(localStorage) {
lastTab = localStorage.getItem("acymailing-lastTab-"+id);
} else {
if(document.cookie.length > 0 && document.cookie.indexOf("acymailing-lastTab-"+id+"=") != -1) {
var s = "acymailing-lastTab-"+id+"=", o = document.cookie.indexOf(s) + s.length, e = document.cookie.indexOf(";",o);
if(e == -1) e = document.cookie.length;
lastTab = unescape(document.cookie.substring(o, e));
}
}
if (lastTab) {
jQuery("#"+lastTab).tab("show");
}
});
});';
$doc = JFactory::getDocument();
$doc->addScriptDeclaration($js);
}
}
return $ret;
}
}
xxxxx1.0, XXX xxxx