setQuery( $query ); // load the row from the db table if ($database->loadObject($row)) { // get params definitions $mainframe = mosMainFrame::getInstance(); $params =& new mosParameters( $row->params); } return $params; } function mosMainBody() { // message passed via the url $mosmsg = mosGetParam($_REQUEST, 'mosmsg', ''); if ($mosmsg) { if (!get_magic_quotes_gpc()) $mosmsg = addslashes( $mosmsg ); echo "\n
"; } echo $this->_buffer; // Alternative if "popmessages" - apparently never implemented // echo "\n"; } function startBuffer () { $this->_buffer = ''; ob_start(); } function endBuffer () { $this->_buffer = ob_get_contents(); ob_end_clean(); } } /** * Component database table class * @package Mambo */ class mosComponent extends mosDBTable { /** @var int Primary key */ var $id=null; /** @var string */ var $name=null; /** @var string */ var $link=null; /** @var int */ var $menuid=null; /** @var int */ var $parent=null; /** @var string */ var $admin_menu_link=null; /** @var string */ var $admin_menu_alt=null; /** @var string */ var $option=null; /** @var string */ var $ordering=null; /** @var string */ var $admin_menu_img=null; /** @var int */ var $iscore=null; /** @var string */ var $params=null; /** * @param database A database connector object */ function mosComponent( &$db ) { $this->mosDBTable( '#__components', 'id', $db ); } } /** * Template Table Class * * Provides access to the mos_templates table * @package Mambo */ class mosTemplate extends mosDBTable { /** @var int */ var $id=null; /** @var string */ var $cur_template=null; /** @var int */ var $col_main=null; /** * @param database A database connector object */ function mosTemplate( &$database ) { $this->mosDBTable( '#__templates', 'id', $database ); } } /** * Class mosMambot * @package Mambo */ class mosMambot extends mosDBTable { /** @var int */ var $id=null; /** @var varchar */ var $name=null; /** @var varchar */ var $element=null; /** @var varchar */ var $folder=null; /** @var tinyint unsigned */ var $access=null; /** @var int */ var $ordering=null; /** @var tinyint */ var $published=null; /** @var tinyint */ var $iscore=null; /** @var tinyint */ var $client_id=null; /** @var int unsigned */ var $checked_out=null; /** @var datetime */ var $checked_out_time=null; /** @var text */ var $params=null; function mosMambot( &$db ) { $this->mosDBTable( '#__mambots', 'id', $db ); } } class mosModuleHandler { var $_db = null; var $_modules = null; function mosModuleHandler () { $this->_db = mamboDatabase::getInstance(); } function &getInstance () { static $instance; if (!is_object($instance)) $instance = new mosModuleHandler(); return $instance; } /** * Cache some modules information * @return array */ function initModules($isAdmin=false) { if (!isset($this->_modules)) { if ($isAdmin) { $query = "SELECT id, title, module, position, content, showtitle, params" . "\n FROM #__modules AS m" . "\n WHERE m.published = '1'" . "\n AND (m.client_id = 1)" . "\n ORDER BY m.ordering"; } else { $my = mamboCore::get('currentUser'); $Itemid = mamboCore::get('Itemid'); $query = "SELECT id, title, module, position, content, showtitle, params" ."\nFROM #__modules AS m, #__modules_menu AS mm" . "\nWHERE m.published='1' AND m.access <= '$my->gid' AND m.client_id='0'" . "\nAND mm.moduleid=m.id" . "\nAND (mm.menuid = '$Itemid' OR mm.menuid = '0')" . "\nORDER BY ordering"; } $this->_db->setQuery( $query ); $modules = $this->_db->loadObjectList(); foreach ($modules as $module) { $this->_modules[$module->position][] = $module; } } } /** * @param string THe template position */ function mosCountModules( $position='left', $isAdmin=false ) { $this->initModules($isAdmin); return isset($this->_modules[$position]) ? count($this->_modules[$position]) : 0; } /** * @param string The position * @param int The style. 0=normal, 1=horiz, -1=no wrapper */ function mosLoadModules( $position='left', $style=0, $isAdmin=false ) { $Itemid = mamboCore::get('Itemid'); $tp = mosGetParam( $_GET, 'tp', 0 ); if ($tp) { echo '| \n" : ''; $postpend = ($style == 1) ? " | \n" : ''; $count = 1; foreach ($modules as $module) { $params =& new mosParameters($module->params); echo $prepend; if ((substr("$module->module",0,4))=="mod_") $modfunc = 'module2'; else $modfunc = 'module'; if ($params->get('cache') == 1 AND mamboCore::get('mosConfig_caching') == 1) { $cache->call("modules_html::$modfunc", $module, $params, $Itemid, $style ); } else modules_html::$modfunc($module, $params, $Itemid, $style, $count); echo $postpend; $count++; } if ($style == 1) echo "