Current Path :
/
home
/
develito
/
httpdocs
/
administrator
/
components
/
com_jevents
/
Or
Select Your Path :
Upload File :
New :
File
Dir
/home/develito/httpdocs/administrator/components/com_jevents/jevents.php
<?php /** * JEvents Component for Joomla! 3.x * * @version $Id: jevents.php 3552 2012-04-20 09:41:53Z geraintedwards $ * @package JEvents * @copyright Copyright (C) 2008-2025 GWESystems Ltd * @license GNU/GPLv2, see http://www.gnu.org/licenses/gpl-2.0.html * @link http://www.jevents.net */ defined('JPATH_BASE') or die('No Direct Access'); use Joomla\CMS\Language\Text; use Joomla\CMS\Version; use Joomla\CMS\Filesystem\File; use Joomla\CMS\Factory; use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Plugin\PluginHelper; use Joomla\CMS\Component\ComponentHelper; ob_start(); $input = Factory::getApplication()->input; if (version_compare(phpversion(), '5.0.0', '<') === true) { echo '<div style="font:12px/1.35em arial, helvetica, sans-serif;"><div style="margin:0 0 25px 0; border-bottom:1px solid #ccc;"><h3 style="margin:0; font-size:1.7em; font-weight:normal; text-transform:none; text-align:left; color:#2f2f2f;">' . Text::_("JEV_INVALID_PHP1") . '</h3></div>' . Text::_("JEV_INVALID_PHP2") . '</div>'; return; } if (!defined('GSLMSIE10') && isset($_SERVER['HTTP_USER_AGENT']) && (strpos($_SERVER['HTTP_USER_AGENT'], "MSIE") !== false || strpos($_SERVER['HTTP_USER_AGENT'], "Internet Explorer") !== false)) { define ("GSLMSIE10" , 1); } else if(!defined('GSLMSIE10')) { define ("GSLMSIE10" , 0); } // remove metadata.xml if its there. jimport('joomla.filesystem.file'); if (File::exists(JPATH_COMPONENT_SITE . '/' . "metadata.xml")) { File::delete(JPATH_COMPONENT_SITE . '/' . "metadata.xml"); } //error_reporting(E_ALL); jimport('joomla.filesystem.path'); // Get Joomla version. $version = new Version(); $jver = explode('.', $version->getShortVersion()); //version_compare(JVERSION,'1.5.0',">=") if (!isset($option)) $option = $input->getCmd("option"); // 1.6 mod define("JEV_COM_COMPONENT", $option); define("JEV_COMPONENT", str_replace("com_", "", $option)); include_once(JPATH_COMPONENT_ADMINISTRATOR . '/' . JEV_COMPONENT . ".defines.php"); // Load Joomla Core scripts for sites that don't load MooTools; HTMLHelper::_('behavior.core', true); HTMLHelper::_('jquery.framework'); // AIM TO REMOVE THIS - loading of MooTools should not be necessary !!! // HTMLHelper::_('behavior.framework', true); JEVHelper::script("jQnc.js", "components/com_jevents/assets/js/"); $registry = JevRegistry::getInstance("jevents"); // See http://www.php.net/manual/en/timezones.php // If progressive caching is enabled then remove the component params from the cache! /* Bug fixed in Joomla! 3.2.1 ?? - not always it appears */ $joomlaconfig = Factory::getConfig(); if ($joomlaconfig->get("caching", 0)) { $cacheController = Factory::getCache('_system', 'callback'); $cacheController->cache->remove("com_jevents"); } $params = ComponentHelper::getParams(JEV_COM_COMPONENT); if ($params->get("icaltimezonelive", "") != "" && is_callable("date_default_timezone_set") && $params->get("icaltimezonelive", "") != "") { $timezone = date_default_timezone_get(); date_default_timezone_set($params->get("icaltimezonelive", "")); $registry->set("jevents.timezone", $timezone); } // Thanks to ssobada $authorisedonly = $params->get("authorisedonly", 0); $user = Factory::getUser(); //Stop if user is not authorised to access JEvents CPanel if (!$authorisedonly && !$user->authorise('core.manage', 'com_jevents')) { throw new Exception(JText::_('JERROR_ALERTNOAUTHOR')); } $spcolourscheme = $params->get('spcolourscheme', ''); $disablesmartphone = (int) $params->get('disablesmartphone', 1); if ($spcolourscheme !== '' && $disablesmartphone == 0 && $_SERVER['REQUEST_METHOD'] == 'GET') { Factory::getApplication()->enqueueMessage(Text::_("COM_JEVENTS_SMARTPHONE_THEME_SHOULD_BE_DISABLED"), 'notice'); } // Must also load frontend language files $lang = Factory::getLanguage(); $lang->load(JEV_COM_COMPONENT, JPATH_SITE); if (!version_compare(JVERSION, '1.6.0', ">=")) { // Load Site specific language overrides - can't use getTemplate since we are in the admin interface $db = Factory::getDbo(); $query = 'SELECT template' . ' FROM #__templates_menu' . ' WHERE client_id = 0 AND menuid=0' . ' ORDER BY menuid DESC' . ' LIMIT 1'; $db->setQuery($query); $template = $db->loadResult(); $lang->load(JEV_COM_COMPONENT, JPATH_SITE . '/' . "templates" . '/' . $template); } $landingpage = $params->get("landingpage", 'cpanel.cpanel'); // Split task into command and task $cmd = $input->get('task', $landingpage); //echo $cmd;die; PluginHelper::importPlugin("jevents"); // Should the output come from one of the plugins instead? if (strpos($cmd, "plugin.") === 0 && count(explode(".", $cmd)) == 2) { Factory::getApplication()->triggerEvent('onJEventsPluginOutput'); return; } //Time to handle view switching for our current setup for J3.7 $view = $input->get('view', ''); //Check the view and redirect if any match. if ($view === 'customcss') { // Factory::getApplication()->redirect('index.php?option=com_jevents&task=cpanel.custom_css'); if ($cmd === $landingpage || strpos($cmd, '.') === 0) { $cmd = $view; } $controllerName = 'CustomCss'; } else if($view === 'import') { if ($cmd === $landingpage || strpos($cmd, '.') === 0) { $cmd = $view; } $controllerName = 'Import'; } else if($view === 'cpanel' && ($cmd === $landingpage || strpos($cmd, '.') === 0)) { $cmd = 'cpanel.show'; } if ($view === 'supportinfo') { Factory::getApplication()->redirect('index.php?option=com_jevents&task=cpanel.support'); } if ($view === 'config') { Factory::getApplication()->redirect('index.php?option=com_jevents&task=params.edit'); } if ($view === 'icalevent') { Factory::getApplication()->redirect('index.php?option=com_jevents&task=icalevent.list'); } if ($view === 'icaleventform') { Factory::getApplication()->redirect('index.php?option=com_jevents&task=icalevent.edit'); } if ($view === 'categories') { Factory::getApplication()->redirect('index.php?option=com_categories&view=com_categories&extension=com_jevents'); } if (strpos($cmd, '.') !== false) { // We have a defined controller/task pair -- lets split them out list($controllerName, $task) = explode('.', $cmd); // Define the controller name and path $controllerName = strtolower($controllerName); $controllerPath = JPATH_COMPONENT . '/' . 'controllers' . '/' . $controllerName . '.php'; //Ignore controller names array. $ignore = array('customcss', 'import'); if (!in_array($controllerName, $ignore, false)) { $controllerName = "Admin" . $controllerName; } // If the controller file path exists, include it ... else lets die with a 500 error if (file_exists($controllerPath)) { require_once($controllerPath); } else { throw new Exception('Invalid Controller' . $controllerName, 500); return false; } } else { // Base controller, just set the task if (isset($controllerName) && $controllerName !== '') { // Define the controller name and path $controllerName = strtolower($controllerName); $controllerPath = JPATH_COMPONENT . '/' . 'controllers' . '/' . $controllerName . '.php'; $controllerName = $controllerName; // If the controller file path exists, include it ... else lets die with a 500 error if (file_exists($controllerPath)) { require_once($controllerPath); } else { throw new Exception('Invalid Controller' . $controllerName, 500); return false; } } else { $controllerName = null; } $task = $cmd; } // Make the task available later $input->set("jevtask", $cmd); $input->set("jevcmd", $cmd); // Make this a config option - should not normally be needed //$db = Factory::getDbo(); //$db->setQuery( "SET SQL_BIG_SELECTS=1"); //$db->execute(); // Set the name for the controller and instantiate it $controllerClass = ucfirst($controllerName) . 'Controller'; if (class_exists($controllerClass)) { $controller = new $controllerClass(); } else { throw new Exception('Invalid Controller Class - ' . $controllerClass, 500); return false; } // record what is running - used by the filters $registry = JevRegistry::getInstance("jevents"); $registry->set("jevents.activeprocess", "administrator"); // Perform the Request task $controller->execute($task); $output = ob_get_clean(); // remove  non breaking white space and other joiners that may break the layout $output = preg_replace('/[\x{200B}-\x{200D}\x{FEFF}]/u', '', $output); echo $output; // I could also try this in the footer file - but it doesn't work there in com_categories even with an event listener:( /* ?> <script defer> var bomsearch = document.evaluate( '//*[contains(text(), "\uFEFF")]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null ); if (bomsearch.singleNodeValue) { for (var n=0; n<bomsearch.singleNodeValue.childNodes.length; n++) { if (bomsearch.singleNodeValue.childNodes[n].nodeType = 3) { bomsearch.singleNodeValue.childNodes[n].nodeValue = bomsearch.singleNodeValue.childNodes[n].textContent.replace("\uFEFF", ""); } } } </script> <?php */ // Redirect if set by the controller $controller->redirect();