loadBotGroup( 'system' ); // trigger the onStart events $_MAMBOTS->trigger( 'onStart' ); if (file_exists( 'components/com_sef/sef.php' )) { require_once( 'components/com_sef/sef.php' ); } else { require_once( 'includes/sef.php' ); } require_once( 'includes/frontend.php' ); // retrieve some expected url (or form) arguments $option = trim( strtolower( mosGetParam( $_REQUEST, 'option' ) ) ); $Itemid = intval( mosGetParam( $_REQUEST, 'Itemid', null ) ); if ($option == '') { if ($Itemid) { $query = "SELECT id, link" . "\n FROM #__menu" . "\n WHERE menutype = 'mainmenu'" . "\n AND id = '$Itemid'" . "\n AND published = '1'" ; $database->setQuery( $query ); } else { $query = "SELECT id, link" . "\n FROM #__menu" . "\n WHERE menutype = 'mainmenu'" . "\n AND published = 1" . "\n ORDER BY parent, ordering LIMIT 1" ; $database->setQuery( $query ); } $menu = new mosMenu( $database ); if ($database->loadObject( $menu )) { $Itemid = $menu->id; } $link = $menu->link; if (($pos = strpos( $link, '?' )) !== false) { $link = substr( $link, $pos+1 ). '&Itemid='.$Itemid; } parse_str( $link, $temp ); /** this is a patch, need to rework when globals are handled better */ foreach ($temp as $k=>$v) { $GLOBALS[$k] = $v; $_REQUEST[$k] = $v; if ($k == 'option') { $option = $v; } } } if ( !$Itemid ) { // when no Itemid give a default value $Itemid = 99999999; } // mainframe is an API workhorse, lots of 'core' interaction routines $mainframe = new mosMainFrame( $database, $option, '.' ); $mainframe->initSession(); // trigger the onAfterStart events $_MAMBOTS->trigger( 'onAfterStart' ); // checking if we can find the Itemid thru the content if ( $option == 'com_content' && $Itemid === 0 ) { $id = intval( mosGetParam( $_REQUEST, 'id', 0 ) ); $Itemid = $mainframe->getItemid( $id ); } /** do we have a valid Itemid yet?? */ if ( $Itemid === 0 ) { /** Nope, just use the homepage then. */ $query = "SELECT id" . "\n FROM #__menu" . "\n WHERE menutype = 'mainmenu'" . "\n AND published = 1" . "\n ORDER BY parent, ordering" . "\n LIMIT 1" ; $database->setQuery( $query ); $Itemid = $database->loadResult(); } // patch to lessen the impact on templates if ($option == 'search') { $option = 'com_search'; } // loads english language file by default if ($mosConfig_lang=='') { $mosConfig_lang = 'english'; } include_once( 'language/' . $mosConfig_lang . '.php' ); // frontend login & logout controls $return = mosGetParam( $_REQUEST, 'return', NULL ); $message = mosGetParam( $_POST, 'message', 0 ); if ($option == 'login') { $mainframe->login(); // JS Popup message if ( $message ) { ?> logout(); // JS Popup message if ( $message ) { ?> getUser(); // detect first visit $mainframe->detect(); // set for overlib check $mainframe->set( 'loadOverlib', false ); $gid = intval( $my->gid ); // gets template for page $cur_template = $mainframe->getTemplate(); /** temp fix - this feature is currently disabled */ /** @global A places to store information from processing of the component */ $_MOS_OPTION = array(); // precapture the output of the component require_once( $mosConfig_absolute_path . '/editor/editor.php' ); ob_start(); if ($path = $mainframe->getPath( 'front' )) { $task = mosGetParam( $_REQUEST, 'task', '' ); $ret = mosMenuCheck( $Itemid, $option, $task, $gid ); if ($ret) { require_once( $path ); } else { mosNotAuth(); } } else { echo _NOT_EXIST; } $_MOS_OPTION['buffer'] = ob_get_contents(); ob_end_clean(); initGzip(); header( 'Expires: Mon, 26 Jul 1997 05:00:00 GMT' ); header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' ); header( 'Cache-Control: no-store, no-cache, must-revalidate' ); header( 'Cache-Control: post-check=0, pre-check=0', false ); header( 'Pragma: no-cache' ); // display the offline alert if an admin is logged in if (defined( '_ADMIN_OFFLINE' )) { include( 'offlinebar.php' ); } // loads template file if ( !file_exists( 'templates/'. $cur_template .'/index.php' ) ) { echo _TEMPLATE_WARN . $cur_template; } else { /////////////////////// // VIRTUEMART MOD ob_start(); require_once( 'templates/'. $cur_template .'/index.php' ); echo ""; // Catch the Site Output $my_content = ob_get_contents(); ob_end_clean(); // XHTML compliance: Safely replace all occurences of & with & $my_content = preg_replace("/&(?!([a-zA-z0-9|#]+[;]))/msi","&", $my_content); // Javascripts sometimes contain such logical operators: && // we must re-convert them from & to &, otherwise the Scripts and links in it don't work if (preg_match_all("']*?>(.*?)<\/script>'si", $my_content, $scripts) > 0) { foreach( $scripts as $script ) { $my_content = str_replace( $script, str_replace( "&", "&", $script ), $my_content ); } } // Finally output the HTML String to the Browser echo $my_content; // END VIRTUEMART MOD //////////////////////// // Original Version follows: /* require_once( 'templates/'. $cur_template .'/index.php' ); echo ""; */ } // display script runtime and no. of queries performed for page if ($mosConfig_debug) { list($usec, $sec) = explode(" ", microtime()); $joomla_stop = ((float)$usec + (float)$sec); $runtime = $joomla_stop - $joomla_start; echo $database->_ticker . " queries executed. Script Runtime: $runtime Sec.

All the queries run on this pageload follow:"; echo '
';
	// Uncomment if you want to find queries which were run again and again
	asort($database->_log);
 	foreach ($database->_log as $k=>$sql) {
 	    echo str_replace("\r", " ", str_replace("\n", " ", trim($sql))) . '
'; } echo '
'; } doGzip(); ?>