. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
| Server IP : 85.13.141.101 / Your IP :
216.73.216.42 [
Web Server : Apache System : Linux dd40236 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64 User : w00ad34b ( 1052) PHP Version : 8.2.30-nmm1 Disable Function : NONE Domains : 431 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/htdocs/w00ad34b/rosstal-aktiv/plugins/system/offlajnparams/ |
Upload File : |
<?php
/**
* offlajnparams - Offlajn Params
*
* @author Balint Polgarfi, Roland Soos
* @copyright (c) 2012-2019 Offlajn.com - All Rights Reserved
* @license https://www.gnu.org/licenses/gpl-2.0.html
*/
defined( '_JEXEC' ) or die( 'Restricted access' );
$er = error_reporting();
if ($er & E_STRICT || $er & E_DEPRECATED)
error_reporting($er & ~E_STRICT & ~E_DEPRECATED);
jimport( 'joomla.plugin.plugin' );
require_once dirname(__FILE__).'/offlajnjoomlacompat.php';
$option = isset($_REQUEST['option']) ? $_REQUEST['option'] : '';
$task = isset($_REQUEST['task']) ? $_REQUEST['task'] : '';
if ($option == 'offlajnupload')
require_once(dirname(__FILE__).'/imageuploader.php');
switch ($task) {
case 'offlajnimport': require_once(dirname(__FILE__).'/importexport.php');
case 'offlajnmenu': require_once(dirname(__FILE__).'/menuloader.php');
case 'offlajninfo': require_once(dirname(__FILE__).'/generalinfo.php');
case 'offlajnnews': require_once(dirname(__FILE__).'/relatednews.php');
}
require_once(dirname(__FILE__).'/formrenderer.php');
class plgSystemOfflajnParams extends JPlugin
{
function __construct(& $subject, $config){
parent::__construct($subject, $config);
}
function onBeforeCompileHead() {
$gsap = array();
$latest = '';
$version = '0.0.0';
$scripts = &JFactory::getDocument()->_scripts;
// get latest GSAP script
foreach ($scripts as $src => $attr) {
if (preg_match('#^(https?:)?//cdnjs\.cloudflare\.com/ajax/libs/gsap/(\d+\.\d+\.\d+)/(TweenMax|TweenLite)\.min\.js(\?.*)?$#', $src, $match)) {
$gsap[] = $src;
if (version_compare($version, $match[2], '<')) {
$latest = $src;
$version = $match[2];
}
}
}
$gsapCdn = $this->params->get('gsap_cdn', 0);
// remove older GSAP scripts
foreach ($gsap as $src) {
if (!$gsapCdn || $src != $latest) {
unset($scripts[$src]);
}
}
if (!$gsapCdn && !empty($gsap)) {
$scripts = array(rtrim(JURI::root(true), '/').'/plugins/system/offlajnparams/compat/greensock.js' => array('mime' => 'text/javascript', 'defer' => '', 'async' => '')) + $scripts;
}
}
function addNewTab($id, $title, $text, $position = 'last', $class=''){
global $offlajnParams;
if($position != 'first') $position = 'last';
$offlajnParams[$position][] = self::renderNewTab($id, $title, $text, $class);
}
function renderNewTab($id, $title, $text, $class=''){
ob_start();
if(version_compare(JVERSION,'1.6.0','ge'))
include(dirname(__FILE__).'/tab16.tpl.php');
else
include(dirname(__FILE__).'/tab15.tpl.php');
return ob_get_clean();
}
function getElementById(&$dom, $id){
$xpath = new DOMXPath($dom);
return $xpath->query("//*[@id='$id']")->item(0);
}
function getElementByClass(&$dom, $class, $item = 0){
$xpath = new DOMXPath($dom);
return $xpath->query("//*[@class='$class']")->item($item);
}
function onAfterDispatch(){
global $offlajnParams, $offlajnDashboard;
$app = JFactory::getApplication();
if (!defined('OFFLAJNADMIN') || isset($_REQUEST['output']) && $_REQUEST['output'] == 'json') {
return;
}
$doc = JFactory::getDocument();
$c = $doc->getBuffer('component');
$dom = new DomDocument();
if(function_exists("mb_convert_encoding")) {
@$dom->loadHtml('<?xml encoding="UTF-8"><div>'.mb_convert_encoding($c, 'HTML-ENTITIES', "UTF-8").'</div>');
} else {
@$dom->loadHtml('<?xml encoding="UTF-8"><div>'.htmlspecialchars_decode(utf8_decode(htmlentities($c, ENT_COMPAT, 'utf-8', false))).'</div>');
}
$lis = array();
$moduleparams = "";
$advanced = JRequest::getCmd('option') == 'com_advancedmodules';
if(version_compare(JVERSION,'3.0.0','ge') && !$this->getElementById($dom, 'module-sliders')) {
// Joomla 3.0.3 fix
if(version_compare(JVERSION,'3.1.99','ge')) {
$moduleparams = $this->getElementByClass($dom, 'span9');
}elseif(version_compare(JVERSION,'3.0.3','ge')) {
$moduleparams = $this->getElementById($dom, 'collapse0');
}else{
$moduleparams = $this->getElementById($dom, 'options-basic');
}
if ($advanced){
$moduleparams = version_compare(JVERSION,'3.2.2','ge')?
$this->getElementByClass($dom, 'span9') :
$this->getElementByClass($dom, 'span6', 1);
}
if($moduleparams){
$element = $dom->createElement('div');
$element->setAttribute ('id','content-box');
$moduleparams->appendChild($element);
$moduleparams = $element;
$element = $dom->createElement('div');
$element->setAttribute ('id','module-sliders');
$element->setAttribute ('class','pane-sliders');
$moduleparams->appendChild($element);
$moduleparams = $element;
}
}elseif(version_compare(JVERSION,'1.6.0','ge')) {
$moduleparams = $this->getElementById($dom, 'module-sliders');
}else{
$moduleparams = $this->getElementById($dom, 'menu-pane');
}
if($moduleparams){
$removed = array();
while($cNode = $moduleparams->firstChild){
$removed[] = $moduleparams->removeChild($cNode);
}
if(version_compare(JVERSION,'1.6.0','ge')) {
array_splice($removed, 0, 2);
}else{
array_splice($removed, 0, 1);
}
$html = '<div>';
$html.= isset($offlajnDashboard) ? $offlajnDashboard : '';
$html.= isset($offlajnParams['first']) && is_array($offlajnParams['first']) ? implode("\n",$offlajnParams['first']) : '';
$html.= isset($offlajnParams['last']) && is_array($offlajnParams['last']) ? implode("\n",$offlajnParams['last']) : '';
$html.= '</div>';
$tabsDom = new DomDocument();
if(function_exists("mb_convert_encoding")) {
@$tabsDom->loadHtml('<?xml encoding="UTF-8">'.mb_convert_encoding($html, 'HTML-ENTITIES', "UTF-8"));
} else {
@$tabsDom->loadHtml('<?xml encoding="UTF-8">'.htmlspecialchars_decode(utf8_decode(htmlentities($html, ENT_COMPAT, 'utf-8', false))));
}
$node = $dom->importNode( $tabsDom->getElementsByTagName('div')->item(0), true );
while($cNode = $node->firstChild){
if(@$cNode->tagName == 'div')
$moduleparams->appendChild($cNode);
else
$node->removeChild($cNode);
}
if(count($removed) > 0){
foreach($removed as $r){
if($r instanceof DOMElement){
$r->setAttribute("class", $r->getAttribute("class")." legacy");
$moduleparams->appendChild($r);
}
}
}
if(!version_compare(JVERSION,'1.6.0','ge')) {
$tables = $dom->getElementsByTagName('table');
foreach ($tables as $table) {
$table->setAttribute("cellspacing", "0");
}
}
$params = $moduleparams->getElementsByTagName('h3');
foreach ($params as $param) {
$span = $param->getElementsByTagName('span')->item(0);
$titleWords = explode(" ", $span->textContent);
$titleWords[count($titleWords)-1] = "<b>".$titleWords[count($titleWords)-1]."</b>";
$newTitle = implode(' ', $titleWords);
$span->removeChild($span->firstChild);
$newText = $dom->createCDATASection($newTitle);
$span->appendChild($newText);
}
$j=0;
foreach ($moduleparams->childNodes as $param) {
$param->setAttribute("id", "offlajnpanel-".$j);
$j++;
}
}
if (!isset($doc->_script['text/javascript'])) $doc->_script['text/javascript'] = array();
$doc->_script['text/javascript'] = preg_replace("/window.addEvent.*?pane-toggler.*?\}\);.*?\}\);/i", '', $doc->_script['text/javascript']);
$doc->_script['text/javascript'].='
window.addEvent && window.addEvent("domready", function(){
if(document.formvalidator)
document.formvalidator.isValid = function() {return true;};
});';
if(version_compare(JVERSION,'3.0.0','ge')) {
if($moduleparams && $moduleparams->parentNode){
function getInnerHTML($Node){
$Document = new DOMDocument();
$Document->appendChild($Document->importNode($Node,true));
return $Document->saveHTML();
}
$nc = getInnerHTML($moduleparams->parentNode);
}else{
$nc = $dom->saveHTML();
}
if (stripos('<body', $nc) !== false) {
$nc = preg_replace("/.*?<body>/si", '', $nc, 1);
$nc = preg_replace("/<\/body>.*/si", '', $nc, 1);
}
$pattern = '/<div\s*class="tab-pane"\s*id="options-basic".*?>/';
if (version_compare(JVERSION,'3.1.99','ge')) {
$pattern = '/<div\s*class="span9".*?>/';
} elseif (version_compare(JVERSION,'3.0.3','ge')) {
$pattern = '/<div\s*class="accordion-body collapse in"\s*id="collapse0".*?>/';
}
if ($advanced) {
$pattern = version_compare(JVERSION,'3.2.2', 'ge')?
'/<div\s*class="span9".*?>/' :
'/<\/div>\s*<div\s*class="span6".*?>/';
}
preg_match($pattern, $c, $matches);
if(count($matches) > 0){
$c = str_replace($matches[0], $matches[0].$nc, $c);
}else{
$c = $nc;
}
}else{
$c = $dom->saveHtml();
$c = preg_replace("/.*?<body><div>/si", '', $c, 1);
$c = preg_replace("/<\/div><\/body>.*/si", '', $c, 1);
}
$doc->setBuffer($c, 'component');
}
function onAfterInitialise()
{
$app = JFactory::getApplication();
$db = JFactory::getDbo();
if ($app->isAdmin() && @$_REQUEST['option'] == 'com_installer' && @$_REQUEST['view'] == 'update') {
$db->setQuery("SELECT * FROM #__updates WHERE detailsurl LIKE 'http://offlajn.com/%'");
$updates = json_encode( $db->loadObjectList('update_id') );
$doc = JFactory::getDocument();
if (version_compare(JVERSION, '3.0.0', 'l')) {
$doc->addScript('https://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js');
} else JHtml::_('jquery.framework');
$doc->addScriptDeclaration(";(function($) {
offUpdates = $updates;
offEnableUpdate = function(cid, key) {
offUpdates[cid].extra_query = 'key='+key;
offUpdates[cid].node.checked = true;
$.post('index.php?option=com_installer&task=update.extra_query', {q: 'key='+key, cid: cid}, function() {
alert('Valid key, Thank you!');
});
};
$(function() {
$('input[name=\"cid[]\"]').each(function() {
if (this.value in offUpdates) {
this.parentNode.nextElementSibling.innerHTML += '<a href=\"https://www.youtube.com/watch?v=Fr6ooBbq9QE\" target=\"_blank\"><span class=\"icon-info\" style=\"vertical-align:middle\"></span>[More Info]</a>';
}
});
});
$(document.documentElement).on('change', 'input[name=\"cid[]\"]', function(e) {
if (this.checked && this.value in offUpdates) {
var cid = this.value;
var title = offUpdates[cid].name + '\\n';
if (offUpdates[cid].extra_query) {
var end = parseInt(offUpdates[cid].extra_query.substr(4, 6), 36) * 1000;
if (end < Date.now()) {
offUpdates[cid].extra_query = '';
alert(title + '\\nYour license has been expired on '+ new Date(end).toDateString() +'.\\nPlease renew your license for updates!');
}
}
if (!offUpdates[cid].extra_query) { // get update key
this.checked = false;
var key = prompt(title + 'Please insert your update key:');
if (key) {
if (key.length != 38) return alert('Invalid key!');
offUpdates[cid].node = this;
offUpdates[cid].node.disabled = true;
var pkg = offUpdates[cid].detailsurl.match(/([^\/]+)\.xml?$/)[1];
$.getScript(location.protocol+'//offlajn.com/index2.php?option=com_update&task=validate&cid='+cid+'&pkg='+pkg+'&key='+key, function() {
offUpdates[cid].node.disabled = false;
});
}
}
}
}).on('change', 'input[name=\"checkall-toggle\"]', function() {
$('input[name=\"cid[]\"]').change();
});
})(jQuery);");
}
if ($app->isAdmin() && @$_REQUEST['option'] == 'com_installer' && @$_REQUEST['task'] == 'update.extra_query') {
$cid = (int) $_REQUEST['cid'];
$q = @$_REQUEST['q'];
if (!preg_match('/key=\w+/', $q)) die('nok');
$db->setQuery("UPDATE #__updates
SET extra_query = '$q' WHERE update_id = $cid AND detailsurl LIKE 'http://offlajn.com/%' LIMIT 1");
$db->query();
$db->setQuery("UPDATE #__update_sites
SET extra_query = '$q' WHERE update_site_id = (SELECT update_site_id FROM #__updates
WHERE update_id = $cid AND detailsurl LIKE 'http://offlajn.com/%' LIMIT 1) LIMIT 1");
$db->query();
die('ok');
}
if(!$app->isAdmin() || !isset(${'_SESSION'}['offlajnurl']) || !isset(${'_SESSION'}['offlajnurl'][$_SERVER['REQUEST_URI']])){
return;
}
//if(version_compare(JVERSION,'3.0.0','ge')) return;
$template_style_id = 2;
if(version_compare(JVERSION,'1.6.0','ge')) {
if(version_compare(JVERSION,'3.0.0','ge')) {
$db->setQuery('SELECT template, params FROM #__template_styles WHERE template LIKE "isis"');
} else {
$db->setQuery('SELECT template, params FROM #__template_styles WHERE `client_id` = 1 AND `id`= '. (int)$template_style_id.' ORDER BY id ASC');
}
$row = $db->loadObject();
if(!$row){
return;
}
if(empty($row->template)){
return;
}
if(file_exists(JPATH_THEMES.'/'.$row->template)){
$tmpl = $app->getTemplate(true);
$tmpl->template = $row->template;
$tmpl->params = new JRegistry($row->params);
}
}else{
if($app->getTemplate() != 'khepri'){
$db->setQuery('UPDATE #__templates_menu SET template = "khepri" WHERE menuid = 0 AND client_id = 1');
$db->query();
header('LOCATION: '.$_SERVER['REQUEST_URI']);
exit;
}
}
}
}