public function __get($key) { if ($key == 'menuItems') { return $this->get_admin_navigation(); } elseif ($key == 'breadcrumbs') { return $this->get_breadcrumbs(); } return parent::__get($key); }
/** * A function to retrieve the global admin theme object. * This method will create the admin theme object if has not yet been created. It will read the cms preferences and cross reference with available themes. * * @param String optional theme name. * @return object Reference to the initialized admin theme. */ public static function &GetThemeObject($name = '') { if (is_object(self::$_instance)) { return self::$_instance; } if (!$name) { $name = get_preference(get_userid(FALSE), 'admintheme', self::GetDefaultTheme()); } if (class_exists($name)) { self::$_instance = new $name(); } else { $gCms = cmsms(); $config = $gCms->GetConfig(); $themeObjName = $name . "Theme"; $fn = $config['admin_path'] . "/themes/{$name}/{$themeObjName}.php"; if (file_exists($fn)) { include_once $fn; self::$_instance = new $themeObjName($gCms, get_userid(FALSE), $name); } else { // theme not found... use default $name = self::GetDefaultTheme(); $themeObjName = $name . "Theme"; $fn = $config['admin_path'] . "/themes/{$name}/{$themeObjName}.php"; if (file_exists($fn)) { include_once $fn; self::$_instance = new $themeObjName($gCms, get_userid(FALSE), $name); } else { // still not found $res = null; return $res; } } } return self::$_instance; }
# WYSIWYG editor $tmp = module_meta::get_instance()->module_list_by_method('IsWYSIWYG'); $tmp2 = array(-1 => lang('none')); for ($i = 0; $i < count($tmp); $i++) { $tmp2[$tmp[$i]] = $tmp[$i]; } $smarty->assign('wysiwyg_opts', $tmp2); # Syntaxhighlighter editor $tmp = module_meta::get_instance()->module_list_by_method('IsSyntaxHighlighter'); $tmp2 = array(-1 => lang('none')); for ($i = 0; $i < count($tmp); $i++) { $tmp2[$tmp[$i]] = $tmp[$i]; } $smarty->assign('syntax_opts', $tmp2); # Admin themes $smarty->assign('themes_opts', CmsAdminThemeBase::GetAvailableThemes()); # Modules $allmodules = ModuleOperations::get_instance()->GetInstalledModules(); $modules = array(); foreach ((array) $allmodules as $onemodule) { $modules[$onemodule] = $onemodule; } #Tabs $smarty->assign('tab_start', $themeObject->StartTabHeaders() . $themeObject->SetTabHeader('maintab', lang('useraccount'), 'maintab' == $tab ? true : false) . $themeObject->SetTabHeader('advancedtab', lang('userprefs'), 'advtab' == $tab ? true : false) . $themeObject->EndTabHeaders() . $themeObject->StartTabContent()); $smarty->assign('tabs_end', $themeObject->EndTabContent()); $smarty->assign('maintab_start', $themeObject->StartTab("maintab")); $smarty->assign('advancedtab_start', $themeObject->StartTab("advancedtab")); $smarty->assign('tab_end', $themeObject->EndTab()); # Prefs $smarty->assign('module_opts', $modules); $smarty->assign('gcb_wysiwyg', $gcb_wysiwyg);
<?php //CHANGED Header("Content-type: text/css"); require_once "../include.php"; $theme = get_preference(get_userid(), "admintheme", CmsAdminThemeBase::GetDefaultTheme()); if (file_exists(dirname(__FILE__) . "/themes/{$theme}/tab.css")) { echo file_get_contents(dirname(__FILE__) . "/themes/{$theme}/tab.css"); } else { echo file_get_contents(dirname(__FILE__) . "/themes/default/tab.css"); } //STOP
/** * Get a reference to the current theme object * only returns a valid value when in an admin request. * * @author calguy1000 * @since 1.11 * @returns CmsAdminThemeBase derived object, or null */ public static function &get_theme_object() { return CmsAdminThemeBase::GetThemeObject(); }
$newuser->active = $active; $newuser->firstname = $firstname; $newuser->lastname = $lastname; $newuser->email = $email; $newuser->adminaccess = $adminaccess; $newuser->SetPassword($password); Events::SendEvent('Core', 'AddUserPre', array('user' => &$newuser)); $result = $newuser->save(); if ($result) { Events::SendEvent('Core', 'AddUserPost', array('user' => &$newuser)); # set some default preferences, based on the user creating this user $adminid = get_userid(); $userid = $newuser->id; set_preference($userid, 'wysiwyg', $wysiwyg); set_preference($userid, 'default_cms_language', get_preference($adminid, 'default_cms_language')); set_preference($userid, 'admintheme', get_site_preference('logintheme', CmsAdminThemeBase::GetDefaultTheme())); set_preference($userid, 'bookmarks', get_preference($adminid, 'bookmarks')); set_preference($userid, 'recent', get_preference($adminid, 'recent')); if ($assign_group_perm && isset($_POST['groups'])) { $iquery = "insert into " . cms_db_prefix() . "user_groups (user_id,group_id) VALUES (?,?)"; foreach ($group_list as $thisGroup) { if (isset($_POST['g' . $thisGroup->id]) && $_POST['g' . $thisGroup->id] == 1) { $result = $db->Execute($iquery, array($userid, $thisGroup->id)); } } } // put mention into the admin log audit($newuser->id, 'Admin Username: '******'Added'); redirect("listusers.php" . $urlext); } else { $error .= "<li>" . lang('errorinsertinguser') . "</li>";