Spade
Mini Shell
home/lmsyaran/public_html/components/com_sppagebuilder/router.php000064400000007706151171346740021551
0ustar00<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2023 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
// No direct access
defined ('_JEXEC') or die ('Restricted access');
use Joomla\CMS\Factory;
class SppagebuilderRouterBase
{
public static function buildRoute(&$query)
{
$segments = array();
$menu = Factory::getApplication()->getMenu();
// We need a menu item. Either the one specified in the query, or the
current active one if none specified
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']) && $query['view'])
{
$view = $query['view'];
}
else
{
// We need to have a view in the query or it is an invalid URL
return $segments;
}
if (($menuItem instanceof stdClass) &&
$menuItem->query['view'] == $query['view']
&& isset($query['id']) &&
$menuItem->query['id'] == (int) $query['id'])
{
unset($query['view']);
unset($query['id']);
return $segments;
}
if ($query['view'] == "page")
{
if (!$menuItemGiven)
{
$segments[] = $view;
$segments[] = $query['id'];
}
unset($query['view']);
unset($query['id']);
}
if(isset($query['view']) && $query['view'])
{
unset($query['view']);
}
if(isset($query['id']) && $query['id'])
{
$id = $query['id'];
unset($query['id']);
}
if(isset($query['tmpl']) && $query['tmpl'])
{
unset($query['tmpl']);
}
if(isset($query['layout']) &&
$query['layout'])
{
$segments[] = $query['layout'];
if(isset($id)) {
$segments[] = $id;
}
unset($query['layout']);
}
return $segments;
}
// Parse
public static function parseRoute(&$segments)
{
$app = Factory::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 (count($segments) == 2 && $segments[0] == 'page')
{
$vars['view'] = $segments[0];
$vars['id'] = (int) $segments[1];
return $vars;
}
// Form
if (count($segments) == 2 && $segments[0] == 'edit')
{
$vars['view'] = 'form';
$vars['id'] = (int) $segments[1];
$vars['tmpl'] = 'component';
$vars['layout'] = 'edit';
return $vars;
}
return $vars;
}
}
if (JVERSION >= 4)
{
class SppagebuilderRouter extends Joomla\CMS\Component\Router\RouterBase
{
public function build(&$query)
{
$segments = SppagebuilderRouterBase::buildRoute($query);
return $segments;
}
public function parse(&$segments)
{
$vars = SppagebuilderRouterBase::parseRoute($segments);
if (count($vars))
{
$segments = array();
}
return $vars;
}
}
}
/**
* Build the route for the com_banners component
*
* This function is a proxy for the new router interface
* for old SEF extensions.
*
* @param array &$query An array of URL arguments
*
* @return array The URL arguments to use to assemble the subsequent URL.
*
* @since 3.3
* @deprecated 4.0 Use Class based routers instead
*/
function SppagebuilderBuildRoute(&$query)
{
$segments = SppagebuilderRouterBase::buildRoute($query);
return $segments;
}
/**
* Parse the segments of a URL.
*
* This function is a proxy for the new router interface
* for old SEF extensions.
*
* @param array $segments The segments of the URL to parse.
*
* @return array The URL attributes to be used by the application.
*
* @since 3.3
* @deprecated 4.0 Use Class based routers instead
*/
function SppagebuilderParseRoute(&$segments)
{
$vars = SppagebuilderRouterBase::parseRoute($segments);
return $vars;
}home/lmsyaran/public_html/j3/components/com_moojla/router.php000064400000016640151171430170020504
0ustar00<?php
/*----------------------------------------------------------------------------------|
www.vdm.io |----/
Lmskaran
/-------------------------------------------------------------------------------------------------------/
@version 1.0.77
@build 6th April, 2022
@created 22nd July, 2020
@package Moojla
@subpackage router.php
@author Lmskaran <http://Lmskaran.com>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later -
http://www.gnu.org/licenses/gpl-2.0.html
____ _____ _____ __ __ __ __ ___ _____ __ __ ____
_____ _ _ ____ _ _ ____
(_ _)( _ )( _ )( \/ )( ) /__\ / __)( _ )( \/ )( _ \(
_ )( \( )( ___)( \( )(_ _)
.-_)( )(_)( )(_)( ) ( )(__ /(__)\ ( (__ )(_)( ) ( )___/
)(_)( ) ( )__) ) ( )(
\____) (_____)(_____)(_/\/\_)(____)(__)(__) \___)(_____)(_/\/\_)(__)
(_____)(_)\_)(____)(_)\_) (__)
/------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
/**
* Routing class from com_moojla
*
* @since 3.3
*/
class MoojlaRouter extends JComponentRouterBase
{
/**
* Build the route for the com_moojla component
*
* @param array &$query An array of URL arguments
*
* @return array The URL arguments to use to assemble the subsequent
URL.
*
* @since 3.3
*/
public function build(&$query)
{
$segments = array();
// Get a menu item based on Itemid or currently active
$params = JComponentHelper::getParams('com_moojla');
if (empty($query['Itemid']))
{
$menuItem = $this->menu->getActive();
}
else
{
$menuItem = $this->menu->getItem($query['Itemid']);
}
$mView = (empty($menuItem->query['view'])) ? null :
$menuItem->query['view'];
$mId = (empty($menuItem->query['id'])) ? null :
$menuItem->query['id'];
if (isset($query['view']))
{
$view = $query['view'];
if (empty($query['Itemid']))
{
$segments[] = $query['view'];
}
unset($query['view']);
}
// Are we dealing with a item that is attached to a menu item?
if (isset($view) && ($mView == $view) and
(isset($query['id'])) and ($mId == (int) $query['id']))
{
unset($query['view']);
unset($query['catid']);
unset($query['id']);
return $segments;
}
if (isset($view) && isset($query['id']) &&
($view === 'course' || $view === 'coursedetail' ||
$view === 'teacherdetail' || $view === 'courselist' ||
$view === 'course_search' || $view === 'courses'))
{
if ($mId != (int) $query['id'] || $mView != $view)
{
if (($view === 'course' || $view === 'coursedetail'
|| $view === 'teacherdetail' || $view === 'courselist'
|| $view === 'course_search' || $view === 'courses'))
{
$segments[] = $view;
$id = explode(':', $query['id']);
if (count($id) == 2)
{
$segments[] = $id[1];
}
else
{
$segments[] = $id[0];
}
}
}
unset($query['id']);
}
$total = count($segments);
for ($i = 0; $i < $total; $i++)
{
$segments[$i] = str_replace(':', '-',
$segments[$i]);
}
return $segments;
}
/**
* Parse the segments of a URL.
*
* @param array &$segments The segments of the URL to parse.
*
* @return array The URL attributes to be used by the application.
*
* @since 3.3
*/
public function parse(&$segments)
{
$count = count($segments);
$vars = array();
//Handle View and Identifier
switch($segments[0])
{
case 'course':
$vars['view'] = 'course';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
break;
case 'coursedetail':
/***[JCBGUI.dynamic_get.php_router_parse.52.$$$$]***/
// default script in switch for this view
$vars['view'] = 'coursedetail';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
elseif ($segments[$count-1])
{
$id = $this->getVar('coursedetail', $segments[$count-1],
'alias', 'remoteid');
if($id)
{
$vars['id'] = $id;
}
}/***[/JCBGUI$$$$]***/
break;
case 'teacherdetail':
$vars['view'] = 'teacherdetail';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
elseif ($segments[$count-1])
{
$id = $this->getVar('user_map', $segments[$count-1],
'alias', 'id');
if($id)
{
$vars['id'] = $id;
}
}
break;
case 'courselist':
$vars['view'] = 'courselist';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
elseif ($segments[$count-1])
{
$id = $this->getVar('course', $segments[$count-1],
'alias', 'id');
if($id)
{
$vars['id'] = $id;
}
}
break;
case 'course_search':
$vars['view'] = 'course_search';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
elseif ($segments[$count-1])
{
$id = $this->getVar('course_search', $segments[$count-1],
'alias', 'id');
if($id)
{
$vars['id'] = $id;
}
}
break;
case 'courses':
$vars['view'] = 'courses';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
elseif ($segments[$count-1])
{
$id = $this->getVar('course', $segments[$count-1],
'alias', 'id');
if($id)
{
$vars['id'] = $id;
}
}
break;
}
return $vars;
}
protected function getVar($table, $where = null, $whereString = null,
$what = null, $category = false, $operator = '=', $main =
'moojla')
{
if(!$where || !$what || !$whereString)
{
return false;
}
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
$query->select($db->quoteName(array($what)));
if ('categories' == $table || 'category' == $table ||
$category)
{
$getTable = '#__categories';
$query->from($db->quoteName($getTable));
// we need this to target the components categories (TODO will keep an
eye on this)
$query->where($db->quoteName('extension') . ' LIKE
'. $db->quote((string)'com_' . $main . '%'));
}
else
{
// we must check if the table exist (TODO not ideal)
$tables = $db->getTableList();
$app = JFactory::getApplication();
$prefix = $app->get('dbprefix');
$check = $prefix.$main.'_'.$table;
if (in_array($check, $tables))
{
$getTable = '#__'.$main.'_'.$table;
$query->from($db->quoteName($getTable));
}
else
{
return false;
}
}
if (is_numeric($where))
{
return false;
}
elseif ($this->checkString($where))
{
// we must first check if this table has the column
$columns = $db->getTableColumns($getTable);
if (isset($columns[$whereString]))
{
$query->where($db->quoteName($whereString) . '
'.$operator.' '. $db->quote((string)$where));
}
else
{
return false;
}
}
else
{
return false;
}
$db->setQuery($query);
$db->execute();
if ($db->getNumRows())
{
return $db->loadResult();
}
return false;
}
protected function checkString($string)
{
if (isset($string) && is_string($string) &&
strlen($string) > 0)
{
return true;
}
return false;
}
}
function MoojlaBuildRoute(&$query)
{
$router = new MoojlaRouter;
return $router->build($query);
}
function MoojlaParseRoute($segments)
{
$router = new MoojlaRouter;
return $router->parse($segments);
}home/lmsyaran/public_html/libraries/joomla/application/web/router.php000064400000007564151172516540022215
0ustar00<?php
/**
* @package Joomla.Platform
* @subpackage Application
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
defined('JPATH_PLATFORM') or die;
/**
* Class to define an abstract Web application router.
*
* @since 3.0
* @deprecated 4.0 Use the `joomla/router` package via Composer instead
*/
abstract class JApplicationWebRouter
{
/**
* @var JApplicationWeb The web application on whose behalf we are
routing the request.
* @since 3.0
*/
protected $app;
/**
* @var string The default page controller name for an empty route.
* @since 3.0
*/
protected $default;
/**
* @var string Controller class name prefix for creating controller
objects by name.
* @since 3.0
*/
protected $controllerPrefix;
/**
* @var JInput An input object from which to derive the route.
* @since 3.0
*/
protected $input;
/**
* Constructor.
*
* @param JApplicationWeb $app The web application on whose behalf
we are routing the request.
* @param JInput $input An optional input object from which
to derive the route. If none
* is given than the input from the
application object will be used.
*
* @since 3.0
*/
public function __construct(JApplicationWeb $app, JInput $input = null)
{
$this->app = $app;
$this->input = ($input === null) ? $this->app->input : $input;
}
/**
* Find and execute the appropriate controller based on a given route.
*
* @param string $route The route string for which to find and execute
a controller.
*
* @return mixed The return value of the controller executed
*
* @since 3.0
* @throws InvalidArgumentException
* @throws RuntimeException
*/
public function execute($route)
{
// Get the controller name based on the route patterns and requested
route.
$name = $this->parseRoute($route);
// Get the controller object by name.
$controller = $this->fetchController($name);
// Execute the controller.
return $controller->execute();
}
/**
* Set the controller name prefix.
*
* @param string $prefix Controller class name prefix for creating
controller objects by name.
*
* @return JApplicationWebRouter This object for method chaining.
*
* @since 3.0
*/
public function setControllerPrefix($prefix)
{
$this->controllerPrefix = (string) $prefix;
return $this;
}
/**
* Set the default controller name.
*
* @param string $name The default page controller name for an empty
route.
*
* @return JApplicationWebRouter This object for method chaining.
*
* @since 3.0
*/
public function setDefaultController($name)
{
$this->default = (string) $name;
return $this;
}
/**
* Parse the given route and return the name of a controller mapped to the
given route.
*
* @param string $route The route string for which to find and execute
a controller.
*
* @return string The controller name for the given route excluding
prefix.
*
* @since 3.0
* @throws InvalidArgumentException
*/
abstract protected function parseRoute($route);
/**
* Get a JController object for a given name.
*
* @param string $name The controller name (excluding prefix) for
which to fetch and instance.
*
* @return JController
*
* @since 3.0
* @throws RuntimeException
*/
protected function fetchController($name)
{
// Derive the controller class name.
$class = $this->controllerPrefix . ucfirst($name);
// If the controller class does not exist panic.
if (!class_exists($class) || !is_subclass_of($class,
'JController'))
{
throw new RuntimeException(sprintf('Unable to locate controller
`%s`.', $class), 404);
}
// Instantiate the controller.
$controller = new $class($this->input, $this->app);
return $controller;
}
}
home/lmsyaran/public_html/j3/components/com_reservation/router.php000064400000025357151175124230021572
0ustar00<?php
/*----------------------------------------------------------------------------------|
www.vdm.io |----/
fdsh
/-------------------------------------------------------------------------------------------------------/
@version 1.0.39
@build 4th April, 2023
@created 17th December, 2020
@package Reservation
@subpackage router.php
@author farhad shahbazi <http://farhad.com>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later -
http://www.gnu.org/licenses/gpl-2.0.html
____ _____ _____ __ __ __ __ ___ _____ __ __ ____
_____ _ _ ____ _ _ ____
(_ _)( _ )( _ )( \/ )( ) /__\ / __)( _ )( \/ )( _ \(
_ )( \( )( ___)( \( )(_ _)
.-_)( )(_)( )(_)( ) ( )(__ /(__)\ ( (__ )(_)( ) ( )___/
)(_)( ) ( )__) ) ( )(
\____) (_____)(_____)(_/\/\_)(____)(__)(__) \___)(_____)(_/\/\_)(__)
(_____)(_)\_)(____)(_)\_) (__)
/------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
/**
* Routing class from com_reservation
*
* @since 3.3
*/
class ReservationRouter extends JComponentRouterBase
{
/**
* Build the route for the com_reservation component
*
* @param array &$query An array of URL arguments
*
* @return array The URL arguments to use to assemble the subsequent
URL.
*
* @since 3.3
*/
public function build(&$query)
{
$segments = array();
// Get a menu item based on Itemid or currently active
$params = JComponentHelper::getParams('com_reservation');
if (empty($query['Itemid']))
{
$menuItem = $this->menu->getActive();
}
else
{
$menuItem = $this->menu->getItem($query['Itemid']);
}
$mView = (empty($menuItem->query['view'])) ? null :
$menuItem->query['view'];
$mId = (empty($menuItem->query['id'])) ? null :
$menuItem->query['id'];
if (isset($query['view']))
{
$view = $query['view'];
if (empty($query['Itemid']))
{
$segments[] = $query['view'];
}
unset($query['view']);
}
// Are we dealing with a item that is attached to a menu item?
if (isset($view) && ($mView == $view) and
(isset($query['id'])) and ($mId == (int) $query['id']))
{
unset($query['view']);
unset($query['catid']);
unset($query['id']);
return $segments;
}
if (isset($view) && isset($query['id']) &&
($view === 'plan' || $view === 'messages' || $view ===
'consultantitem' || $view === 'usersign' || $view ===
'payment' || $view === 'firstqst' || $view ===
'consultantsignup' || $view === 'comment' || $view ===
'doctors' || $view === 'doctorsignup' || $view ===
'doctor' || $view === 'reserve_appointment' || $view
=== 'consultant_plan' || $view === 'login' || $view ===
'res_list'))
{
if ($mId != (int) $query['id'] || $mView != $view)
{
if (($view === 'plan' || $view === 'messages' ||
$view === 'consultantitem' || $view === 'usersign' ||
$view === 'payment' || $view === 'firstqst' || $view
=== 'consultantsignup' || $view === 'comment' || $view
=== 'doctors' || $view === 'doctorsignup' || $view ===
'doctor' || $view === 'reserve_appointment' || $view
=== 'consultant_plan' || $view === 'login' || $view ===
'res_list'))
{
$segments[] = $view;
$id = explode(':', $query['id']);
if (count($id) == 2)
{
$segments[] = $id[1];
}
else
{
$segments[] = $id[0];
}
}
}
unset($query['id']);
}
$total = count($segments);
for ($i = 0; $i < $total; $i++)
{
$segments[$i] = str_replace(':', '-',
$segments[$i]);
}
return $segments;
}
/**
* Parse the segments of a URL.
*
* @param array &$segments The segments of the URL to parse.
*
* @return array The URL attributes to be used by the application.
*
* @since 3.3
*/
public function parse(&$segments)
{
$count = count($segments);
$vars = array();
//Handle View and Identifier
switch($segments[0])
{
case 'plan':
$vars['view'] = 'plan';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
break;
case 'messages':
$vars['view'] = 'messages';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
elseif ($segments[$count-1])
{
$id = $this->getVar('consultant', $segments[$count-1],
'alias', 'id');
if($id)
{
$vars['id'] = $id;
}
}
break;
case 'consultantitem':
$vars['view'] = 'consultantitem';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
elseif ($segments[$count-1])
{
$id = $this->getVar('consultant', $segments[$count-1],
'alias', 'id');
if($id)
{
$vars['id'] = $id;
}
}
break;
case 'usersign':
$vars['view'] = 'usersign';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
elseif ($segments[$count-1])
{
$id = $this->getVar('usersign', $segments[$count-1],
'alias', 'id');
if($id)
{
$vars['id'] = $id;
}
}
break;
case 'payment':
$vars['view'] = 'payment';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
elseif ($segments[$count-1])
{
$id = $this->getVar('payment', $segments[$count-1],
'alias', 'id');
if($id)
{
$vars['id'] = $id;
}
}
break;
case 'firstqst':
$vars['view'] = 'firstqst';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
elseif ($segments[$count-1])
{
$id = $this->getVar('consultant', $segments[$count-1],
'alias', 'id');
if($id)
{
$vars['id'] = $id;
}
}
break;
case 'consultantsignup':
$vars['view'] = 'consultantsignup';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
elseif ($segments[$count-1])
{
$id = $this->getVar('consultantsignup',
$segments[$count-1], 'alias', 'id');
if($id)
{
$vars['id'] = $id;
}
}
break;
case 'comment':
$vars['view'] = 'comment';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
elseif ($segments[$count-1])
{
$id = $this->getVar('consultant', $segments[$count-1],
'alias', 'id');
if($id)
{
$vars['id'] = $id;
}
}
break;
case 'doctors':
$vars['view'] = 'doctors';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
elseif ($segments[$count-1])
{
$id = $this->getVar('consultant', $segments[$count-1],
'alias', 'id');
if($id)
{
$vars['id'] = $id;
}
}
break;
case 'doctorsignup':
$vars['view'] = 'doctorsignup';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
elseif ($segments[$count-1])
{
$id = $this->getVar('doctorsignup', $segments[$count-1],
'alias', 'id');
if($id)
{
$vars['id'] = $id;
}
}
break;
case 'doctor':
$vars['view'] = 'doctor';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
elseif ($segments[$count-1])
{
$id = $this->getVar('consultant', $segments[$count-1],
'alias', 'id');
if($id)
{
$vars['id'] = $id;
}
}
break;
case 'reserve_appointment':
$vars['view'] = 'reserve_appointment';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
elseif ($segments[$count-1])
{
$id = $this->getVar('consultant', $segments[$count-1],
'alias', 'id');
if($id)
{
$vars['id'] = $id;
}
}
break;
case 'consultant_plan':
$vars['view'] = 'consultant_plan';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
elseif ($segments[$count-1])
{
$id = $this->getVar('consultant', $segments[$count-1],
'alias', 'id');
if($id)
{
$vars['id'] = $id;
}
}
break;
case 'login':
$vars['view'] = 'login';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
elseif ($segments[$count-1])
{
$id = $this->getVar('login', $segments[$count-1],
'alias', 'id');
if($id)
{
$vars['id'] = $id;
}
}
break;
case 'res_list':
$vars['view'] = 'res_list';
if (is_numeric($segments[$count-1]))
{
$vars['id'] = (int) $segments[$count-1];
}
elseif ($segments[$count-1])
{
$id = $this->getVar('consultant', $segments[$count-1],
'alias', 'id');
if($id)
{
$vars['id'] = $id;
}
}
break;
}
return $vars;
}
protected function getVar($table, $where = null, $whereString = null,
$what = null, $category = false, $operator = '=', $main =
'reservation')
{
if(!$where || !$what || !$whereString)
{
return false;
}
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
$query->select($db->quoteName(array($what)));
if ('categories' == $table || 'category' == $table ||
$category)
{
$getTable = '#__categories';
$query->from($db->quoteName($getTable));
// we need this to target the components categories (TODO will keep an
eye on this)
$query->where($db->quoteName('extension') . ' LIKE
'. $db->quote((string)'com_' . $main . '%'));
}
else
{
// we must check if the table exist (TODO not ideal)
$tables = $db->getTableList();
$app = JFactory::getApplication();
$prefix = $app->get('dbprefix');
$check = $prefix.$main.'_'.$table;
if (in_array($check, $tables))
{
$getTable = '#__'.$main.'_'.$table;
$query->from($db->quoteName($getTable));
}
else
{
return false;
}
}
if (is_numeric($where))
{
return false;
}
elseif ($this->checkString($where))
{
// we must first check if this table has the column
$columns = $db->getTableColumns($getTable);
if (isset($columns[$whereString]))
{
$query->where($db->quoteName($whereString) . '
'.$operator.' '. $db->quote((string)$where));
}
else
{
return false;
}
}
else
{
return false;
}
$db->setQuery($query);
$db->execute();
if ($db->getNumRows())
{
return $db->loadResult();
}
return false;
}
protected function checkString($string)
{
if (isset($string) && is_string($string) &&
strlen($string) > 0)
{
return true;
}
return false;
}
}
function ReservationBuildRoute(&$query)
{
$router = new ReservationRouter;
return $router->build($query);
}
function ReservationParseRoute($segments)
{
$router = new ReservationRouter;
return $router->parse($segments);
}