403Webshell
Server IP : 87.98.154.146  /  Your IP : 216.73.216.101
Web Server : Apache
System : Linux webm005.cluster126.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User : bsiadvisil ( 110003)
PHP Version : 7.3.33
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/bsiadvisil/old/components/com_sppagebuilder/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/bsiadvisil/old/components/com_sppagebuilder//router.php
<?php
/**
 * @package SP Page Builder
 * @author JoomShaper http://www.joomshaper.com
 * @copyright Copyright (c) 2010 - 2017 JoomShaper
 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct accees
defined ('_JEXEC') or die ('Restricted access');

class SppagebuilderRouter extends JComponentRouterBase {

	public function build(&$query) {
		$app = JFactory::getApplication();
		$menu = $app->getMenu();

		$segments = array();

		if (empty($query['Itemid'])) {
			$menuItem = $menu->getActive();
			$menuItemGiven = false;
		} else {
			$menuItem = $menu->getItem($query['Itemid']);
			$menuItemGiven = true;
		}

		// Check again
		if ($menuItemGiven && isset($menuItem) && $menuItem->component != 'com_sppagebuilder') {
			$menuItemGiven = false;
			unset($query['Itemid']);
		}

		if (isset($query['view'])) {
			$view = $query['view'];
		} else {
			return $segments;
		}

		if (($menuItem instanceof stdClass) && $menuItem->query['view'] == $query['view']) {

			if (!$menuItemGiven) {
				$segments[] = $view;
			}

			unset($query['view']);
		}

		// Page
		if (($view == 'page')) {

			if(isset($query['id']) && $query['id']) {
				if(!isset($query['Itemid']) || empty($query['Itemid']) || (isset($menuItem) && $menuItem->query['id'] != $query['id'])){
					$id = $this->getPageSegment($query['id']);
					$segments[] = str_replace(':', '-', $id);
				}
				unset($query['id']);
			}
			
			unset($query['view']);
		}

		// Form
		if (($view == 'form')) {

			if(isset($query['id']) && $query['id']) {
				$id = $this->getPageSegment($query['id']);
				$segments[] = str_replace(':', '-', $id);
				unset($query['id']);
			}

			if(isset($query['layout']) && $query['layout']) {
				$segments[] = $query['layout'];
				unset($query['layout']);
			}

			if(isset($query['tmpl']) && $query['tmpl']) {
				unset($query['tmpl']);
			}

			unset($query['view']);
		}

		return $segments;
	}

	// Parse
	public function parse(&$segments) {
		$app = JFactory::getApplication();
		$menu = $app->getMenu();
		$item = $menu->getActive();
		$total = count((array) $segments);
		$vars = array();
		$view = (isset($item->query['view']) && $item->query['view']) ? $item->query['view'] : 'page';

		if($view == 'page') {
			if($total == 2) {
				if($segments[1] == 'edit') {
					$vars['view'] = 'form';
					$vars['id'] = (int) $segments[0];
					$vars['tmpl'] = 'component';
					$vars['layout'] = 'edit';
				} else {
					$vars['view'] = 'page';
					$vars['id'] = (int) $segments[0];
				}
			}

			if($total == 1) {
				$vars['view'] = 'page';
				$vars['id'] = (int) $segments[0];
			}
		}

		return $vars;
	}

	private function getPageSegment($id) {
		if (!strpos($id, ':')) {
			$db = JFactory::getDbo();
			$dbquery = $db->getQuery(true);
			$dbquery->select($dbquery->qn('title'))
			->from($dbquery->qn('#__sppagebuilder'))
			->where('id = ' . $dbquery->q($id));
			$db->setQuery($dbquery);

			$id .= ':' . JFilterOutput::stringURLSafe($db->loadResult());
		}

		return $id;
	}
}

function SppagebuilderBuildRoute(&$query) {
	$router = new SppagebuilderRouter;
	return $router->build($query);
}

function SppagebuilderParseRoute($segments) {
	$router = new SppagebuilderRouter;
	return $router->parse($query);
}

Youez - 2016 - github.com/yon3zu
LinuXploit