示例#1
0
 function __construct($area, $joption, $extension, $setup = null, $cont_vars = array())
 {
     require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'gcloader.php';
     if (phpversion('pdo') !== false and in_array('mysql', PDO::getAvailableDrivers())) {
         //good, we use PDO
         \GCore\Libs\Base::setConfig('db_adapter', 'joomla');
     } else {
         \GCore\Libs\Base::setConfig('db_adapter', 'joomla');
     }
     \GCore\C::set('EXTENSIONS_PATHS', array(dirname(__FILE__) . DS . 'admin' . DS . 'extensions' . DS => JPATH_SITE . DS . 'administrator' . DS . 'components' . DS, dirname(__FILE__) . DS . 'extensions' . DS => JPATH_SITE . DS . 'components' . DS));
     \GCore\C::set('EXTENSIONS_URLS', array(\JFactory::getURI()->root() . 'libraries/cegcore/admin/extensions/' => \JFactory::getURI()->root() . 'administrator/components/', \JFactory::getURI()->root() . 'libraries/cegcore/extensions/' => \JFactory::getURI()->root() . 'components/'));
     \GCore\C::set('EXTENSIONS_NAMES', array('chronomigrator' => 'com_chronomigrator', 'chronoforms' => 'com_chronoforms5', 'chronoconnectivity' => 'com_chronoconnectivity5', 'chronoforums' => 'com_chronoforums', 'chronolistings' => 'com_chronolistings', 'chronocommunity' => 'com_chronocommunity', 'chronosearch' => 'com_chronosearch', 'chronocontact' => 'com_chronocontact', $extension => 'com_' . $joption));
     //GCore\Libs\Url::$root_ext = array('components', 'com_'.$joption);
     \GCore\Bootstrap::initialize('joomla', array('component' => 'com_' . $joption, 'ext' => $extension));
     $tvout = strlen(\GCore\Libs\Request::data('tvout', null)) > 0 ? \GCore\Libs\Request::data('tvout') : '';
     $controller = \GCore\Libs\Request::data('cont', '');
     $action = \GCore\Libs\Request::data('act', '');
     if (is_callable($setup)) {
         $return_vars = $setup();
         if (!empty($return_vars)) {
             $cont_vars = array_merge($cont_vars, $return_vars);
         }
     }
     if (isset($cont_vars['controller'])) {
         $controller = $cont_vars['controller'];
     }
     if (isset($cont_vars['action'])) {
         $action = $cont_vars['action'];
     }
     $cont_vars['_app_thread'] = 'gcore';
     ob_start();
     echo \GCore\Libs\AppJ::call($area, $extension, $controller, $action, $cont_vars);
     $output = ob_get_clean();
     $output = \GCore\C::fix_urls($output);
     if ($tvout == 'ajax') {
         echo $output;
         $mainframe = \JFactory::getApplication();
         $mainframe->close();
     } else {
         ob_start();
         $toolbar = \GCore\Helpers\Module::render(array('type' => 'toolbar', 'site' => 'admin', 'params' => ''));
         $messages = \GCore\Libs\AppJ::getSystemMessages();
         echo \GCore\Libs\AppJ::getHeader();
         if ($toolbar) {
             echo $toolbar;
             echo '<div style="clear:both;"></div>';
         }
         echo $messages;
         //echo \GCore\Libs\AppJ::getHeader();
         $system_output = ob_get_clean();
         $system_output = \GCore\C::fix_urls($system_output);
         echo $system_output;
         echo $output;
     }
 }
示例#2
0
 public static function getHeader()
 {
     $doc = \GCore\Libs\Document::getInstance();
     static $used;
     if (!isset($used)) {
         $used = array();
     }
     $chunks = array();
     /*$chunks[] = '
     		<script type="text/javascript">
     		if("undefined"==typeof window.jQuery){}else{
     			var gcore_jQuery_bak = window.jQuery;
     			var gcore_$_bak = window.$;
     		}
     		if("undefined"==typeof gcore_jQuery){}else{
     			window.jQuery = gcore_jQuery;
     			window.$ = gcore_$;
     		}
     		</script>
     		';*/
     $JDocument = \JFactory::getDocument();
     if (!method_exists($JDocument, 'addCustomTag')) {
         return;
     }
     //add css files list
     foreach ($doc->cssfiles as $k => $cssfile) {
         if (empty($used['cssfiles'][$k])) {
             $used['cssfiles'][$k] = true;
             $cssfile['href'] = \GCore\C::fix_urls($cssfile['href']);
             $chunks[] = \GCore\Helpers\Html::_concat($cssfile, array_keys($cssfile), '<link ', ' />');
             //$JDocument->addStyleSheet(\GCore\C::fix_urls($cssfile['href']));
         }
     }
     //add css code list
     foreach ($doc->csscodes as $media => $codes) {
         $chunks[] = \GCore\Helpers\Html::container('style', implode("\n", $codes), array('type' => 'text/css', 'media' => $media));
         //$JDocument->addStyleDeclaration(implode("\n", $codes));
         foreach ($doc->csscodes[$media] as $k => $code) {
             unset($doc->csscodes[$media][$k]);
         }
     }
     //add js files list
     foreach ($doc->jsfiles as $k => $jsfile) {
         /*if(strpos($jsfile['src'], 'jquery.js') !== false){
         			$document = \JFactory::getDocument();
         			$document->addScript($jsfile['src']);
         			continue;
         		}*/
         if (empty($used['jsfiles'][$k])) {
             $used['jsfiles'][$k] = true;
             $jsfile['src'] = \GCore\C::fix_urls($jsfile['src']);
             $chunks[] = \GCore\Helpers\Html::_concat($jsfile, array_keys($jsfile), '<script ', '></script>');
         }
     }
     //add js code list
     foreach ($doc->jscodes as $type => $codes) {
         //$chunks[] = \GCore\Helpers\Html::container('script', implode("\n", $codes), array('type' => $type));
         foreach ($doc->jscodes[$type] as $k => $code) {
             $chunks[] = \GCore\Helpers\Html::container('script', $code, array('type' => $type));
             unset($doc->jscodes[$type][$k]);
         }
     }
     foreach ($doc->headertags as $k => $code) {
         $chunks[] = $code;
         unset($doc->headertags[$k]);
     }
     /*$chunks[] = '
     		<script type="text/javascript">
     		if("undefined"==typeof gcore_jQuery){
     			var gcore_jQuery = window.jQuery;
     			var gcore_$ = window.$;
     		}
     		if("undefined"==typeof gcore_jQuery_bak){}else{
     			window.jQuery = gcore_jQuery_bak;
     			window.$ = gcore_$_bak;
     		}
     		</script>
     		';*/
     //$header = implode("\n", array_filter($chunks));
     foreach ($chunks as $chunk) {
         if (in_array($chunk, $JDocument->_custom)) {
             continue;
         }
         $JDocument->addCustomTag(\GCore\C::fix_urls($chunk));
     }
     //return implode("\n", array_filter($chunks));
 }