mirror of
https://github.com/e107inc/e107.git
synced 2025-01-29 10:38:08 +01:00
Allow selection of themes available to users
This commit is contained in:
parent
35d6530e72
commit
87f676d764
118
e107_plugins/user_menu/config.php
Normal file
118
e107_plugins/user_menu/config.php
Normal file
@ -0,0 +1,118 @@
|
||||
<?php
|
||||
/*
|
||||
+ ----------------------------------------------------------------------------+
|
||||
| e107 website system
|
||||
|
|
||||
| ©Steve Dunstan 2001-2002
|
||||
| http://e107.org
|
||||
| jalist@e107.org
|
||||
|
|
||||
| Released under the terms and conditions of the
|
||||
| GNU General Public License (http://gnu.org).
|
||||
|
|
||||
| $Source: /cvs_backup/e107_0.8/e107_plugins/user_menu/config.php,v $
|
||||
| $Revision: 1.1 $
|
||||
| $Date: 2008-10-02 21:10:02 $
|
||||
| $Author: e107steved $
|
||||
+----------------------------------------------------------------------------+
|
||||
*/
|
||||
$eplug_admin = TRUE;
|
||||
require_once("../../class2.php");
|
||||
@include_lan(e_PLUGIN."user_menu/languages/".e_LANGUAGE.".php");
|
||||
require_once(e_HANDLER.'userclass_class.php');
|
||||
global $e_userclass;
|
||||
if (!is_object($e_userclass)) $e_userclass = new user_class;
|
||||
|
||||
if (!getperms("2")) // Same permissions as menu configuration
|
||||
{
|
||||
header("location:".e_BASE."index.php");
|
||||
exit ;
|
||||
}
|
||||
|
||||
require_once(e_ADMIN."auth.php");
|
||||
|
||||
// Get the list of available themes
|
||||
$handle = opendir(e_THEME);
|
||||
while ($file = readdir($handle))
|
||||
{
|
||||
if ($file != "." && $file != ".." && $file != "templates" && $file != "" && $file != "CVS")
|
||||
{
|
||||
if (is_readable(e_THEME.$file."/theme.php") && is_readable(e_THEME.$file."/style.css"))
|
||||
{
|
||||
$themeOptions[] = $file;
|
||||
$themeCount[$file] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir($handle);
|
||||
|
||||
|
||||
if (isset($_POST['update_theme']))
|
||||
{
|
||||
$tmp = array();
|
||||
foreach($_POST as $key => $value)
|
||||
{
|
||||
if (substr($key,0,6) == 'theme_')
|
||||
{
|
||||
$tmp[] = $value;
|
||||
}
|
||||
}
|
||||
$newThemes = implode(',',$tmp);
|
||||
$themeeditclass = intval($_POST['themeeditclass']);
|
||||
if (($newThemes != $pref['allowed_themes']) || ($themeeditclass != $pref['allow_theme_select']))
|
||||
{
|
||||
$pref['allowed_themes'] = $newThemes;
|
||||
$pref['allow_theme_select'] = $themeeditclass;
|
||||
save_prefs();
|
||||
$woffle = LAN_UMENU_THEME_8.$pref['allowed_themes'].'[!br!]'.LAN_UMENU_THEME_9.$pref['allow_theme_select'];
|
||||
$admin_log->log_event('UTHEME_01',$woffle,E_LOG_INFORMATIVE,'');
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($pref['allowed_themes']))
|
||||
{
|
||||
$allThemes = FALSE;
|
||||
$themeList = explode(',',$pref['allowed_themes']);
|
||||
}
|
||||
|
||||
$themeeditclass = varset($pref['allow_theme_select'],e_UC_NOBODY);
|
||||
|
||||
$text = "
|
||||
<form method='post' action='".e_SELF."' name='menu_conf_form'>
|
||||
<table style='".ADMIN_WIDTH."' class='fborder' >
|
||||
<colgroup>
|
||||
<col style='width: 50%' />
|
||||
<col style='width: 50%' />
|
||||
</colgroup>
|
||||
<tr>
|
||||
<td colspan='2' class='forumheader2'>".LAN_UMENU_THEME_4."</td>
|
||||
</tr>";
|
||||
|
||||
foreach ($themeOptions as $th)
|
||||
{
|
||||
$ch = (in_array($th, $themeList) ? " checked='checked'" : '');
|
||||
$text .= "
|
||||
<tr>
|
||||
<td class='forumheader3'>{$th}</td>
|
||||
<td class='forumheader3'><input class='tbox' type='checkbox' name='theme_{$th}' value='{$th}' {$ch} /></td>
|
||||
</tr>";
|
||||
}
|
||||
$text .= "
|
||||
<tr>
|
||||
<td class='forumheader3'>".LAN_UMENU_THEME_7."</td>
|
||||
<td class='forumheader3'>".$e_userclass->uc_dropdown("themeeditclass", $themeeditclass, "main,member,admin,classes,matchclass,nobody")."</td>
|
||||
</tr>";
|
||||
|
||||
|
||||
$text .= "
|
||||
<tr>
|
||||
<td colspan='2' class='forumheader' style='text-align:center'><input class='button' type='submit' name='update_theme' value='".LAN_UMENU_THEME_5."' /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>";
|
||||
$ns->tablerender(LAN_UMENU_THEME_6, $text);
|
||||
|
||||
require_once(e_ADMIN."footer.php");
|
||||
|
||||
?>
|
@ -11,18 +11,24 @@
|
||||
| GNU General Public License (http://gnu.org).
|
||||
|
|
||||
| $Source: /cvs_backup/e107_0.8/e107_plugins/user_menu/languages/English.php,v $
|
||||
| $Revision: 1.1 $
|
||||
| $Date: 2007-03-23 22:42:40 $
|
||||
| $Author: lisa_ $
|
||||
| $Revision: 1.2 $
|
||||
| $Date: 2008-10-02 21:10:02 $
|
||||
| $Author: e107steved $
|
||||
+----------------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
define("UTHEME_MENU_L1", "Set Language");
|
||||
define("UTHEME_MENU_L2", "Select Language");
|
||||
define("UTHEME_MENU_L3", "tables");
|
||||
|
||||
define("LAN_UMENU_THEME_1", "Set Theme");
|
||||
define("LAN_UMENU_THEME_2", "Select Theme");
|
||||
define("LAN_UMENU_THEME_3", "users:");
|
||||
define('UTHEME_MENU_L1', 'Set Language');
|
||||
define('UTHEME_MENU_L2', 'Select Language');
|
||||
define('UTHEME_MENU_L3', 'tables');
|
||||
|
||||
define('LAN_UMENU_THEME_1', 'Set Theme');
|
||||
define('LAN_UMENU_THEME_2', 'Select Theme');
|
||||
define('LAN_UMENU_THEME_3', 'users:');
|
||||
define('LAN_UMENU_THEME_4', 'Enable those themes which users may select');
|
||||
define('LAN_UMENU_THEME_5', 'Update');
|
||||
define('LAN_UMENU_THEME_6', 'Themes available to users');
|
||||
define('LAN_UMENU_THEME_7', 'Class which can select themes');
|
||||
define('LAN_UMENU_THEME_8', 'Allowed themes: ');
|
||||
define('LAN_UMENU_THEME_9', 'Class which can select themes: ');
|
||||
|
||||
?>
|
@ -11,59 +11,73 @@
|
||||
| GNU General Public License (http://gnu.org).
|
||||
|
|
||||
| $Source: /cvs_backup/e107_0.8/e107_plugins/user_menu/usertheme_menu.php,v $
|
||||
| $Revision: 1.1 $
|
||||
| $Date: 2007-03-23 22:42:40 $
|
||||
| $Author: lisa_ $
|
||||
| $Revision: 1.2 $
|
||||
| $Date: 2008-10-02 21:10:02 $
|
||||
| $Author: e107steved $
|
||||
+----------------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
if (!defined('e107_INIT')) { exit; }
|
||||
|
||||
if (USER == TRUE) {
|
||||
|
||||
if ((USER == TRUE) && check_class(varset($pref['allow_theme_select'],FALSE)))
|
||||
{
|
||||
$allThemes = TRUE;
|
||||
if (isset($pref['allowed_themes']))
|
||||
{
|
||||
$allThemes = FALSE;
|
||||
$themeList = explode(',',$pref['allowed_themes']);
|
||||
}
|
||||
$handle = opendir(e_THEME);
|
||||
while ($file = readdir($handle)) {
|
||||
if ($file != "." && $file != ".." && $file != "templates" && $file != "" && $file != "CVS") {
|
||||
if (is_readable(e_THEME.$file."/theme.php") && is_readable(e_THEME.$file."/style.css")) {
|
||||
while ($file = readdir($handle))
|
||||
{
|
||||
if ($file != "." && $file != ".." && $file != "templates" && $file != "" && $file != "CVS")
|
||||
{
|
||||
if (is_readable(e_THEME.$file."/theme.php") && is_readable(e_THEME.$file."/style.css") && ($allThemes || in_Array($file, $themeList)))
|
||||
{
|
||||
$themelist[] = $file;
|
||||
$themecount[$file] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir($handle);
|
||||
|
||||
|
||||
$defaulttheme = $pref['sitetheme'];
|
||||
$count = 0;
|
||||
|
||||
$totalct = $sql->db_Select("user", "user_prefs", "user_prefs REGEXP('sitetheme') ");
|
||||
|
||||
while ($row = $sql->db_Fetch()) {
|
||||
$up = unserialize($row['user_prefs']);
|
||||
if (isset($themecount[$up['sitetheme']])) { $themecount[$up['sitetheme']]++; }
|
||||
}
|
||||
|
||||
$defaultusers = $sql->db_Count("user") - $totalct;
|
||||
$themecount[$defaulttheme] += $defaultusers;
|
||||
|
||||
$text = "<form method='post' action='".e_SELF."'>
|
||||
<div style='text-align:center'>
|
||||
<select name='sitetheme' class='tbox' style='width: 95%;'>";
|
||||
$counter = 0;
|
||||
|
||||
while (isset($themelist[$counter]) && $themelist[$counter]) {
|
||||
$text .= "<option value='".$themelist[$counter]."' ";
|
||||
if (($themelist[$counter] == USERTHEME) || (USERTHEME == FALSE && $themelist[$counter] == $defaulttheme)) {
|
||||
$text .= "selected='selected'";
|
||||
|
||||
if (count($themelist))
|
||||
{
|
||||
$defaulttheme = $pref['sitetheme'];
|
||||
$count = 0;
|
||||
|
||||
$totalct = $sql->db_Select("user", "user_prefs", "user_prefs REGEXP('sitetheme') ");
|
||||
|
||||
while ($row = $sql->db_Fetch())
|
||||
{
|
||||
$up = unserialize($row['user_prefs']);
|
||||
if (isset($themecount[$up['sitetheme']])) { $themecount[$up['sitetheme']]++; }
|
||||
}
|
||||
$text .= ">".($themelist[$counter] == $defaulttheme ? "[ ".$themelist[$counter]." ]" : $themelist[$counter])." (".LAN_UMENU_THEME_3." ".$themecount[$themelist[$counter]].")</option>\n";
|
||||
$counter++;
|
||||
}
|
||||
$text .= "</select>
|
||||
<br /><br />
|
||||
<input class='button' type='submit' name='settheme' value='".LAN_UMENU_THEME_1."' />
|
||||
</div></form>";
|
||||
|
||||
$defaultusers = $sql->db_Count("user") - $totalct;
|
||||
$themecount[$defaulttheme] += $defaultusers;
|
||||
|
||||
$ns->tablerender(LAN_UMENU_THEME_2, $text, 'usertheme');
|
||||
$text = "<form method='post' action='".e_SELF."'>
|
||||
<div style='text-align:center'>
|
||||
<select name='sitetheme' class='tbox' style='width: 95%;'>";
|
||||
$counter = 0;
|
||||
|
||||
while (isset($themelist[$counter]) && $themelist[$counter])
|
||||
{
|
||||
$text .= "<option value='".$themelist[$counter]."' ";
|
||||
if (($themelist[$counter] == USERTHEME) || (USERTHEME == FALSE && $themelist[$counter] == $defaulttheme))
|
||||
{
|
||||
$text .= "selected='selected'";
|
||||
}
|
||||
$text .= ">".($themelist[$counter] == $defaulttheme ? "[ ".$themelist[$counter]." ]" : $themelist[$counter]).' ('.LAN_UMENU_THEME_3.' '.$themecount[$themelist[$counter]].")</option>\n";
|
||||
$counter++;
|
||||
}
|
||||
$text .= "</select>
|
||||
<br /><br />
|
||||
<input class='button' type='submit' name='settheme' value='".LAN_UMENU_THEME_1."' />
|
||||
</div></form>";
|
||||
|
||||
$ns->tablerender(LAN_UMENU_THEME_2, $text, 'usertheme');
|
||||
}
|
||||
}
|
||||
?>
|
Loading…
x
Reference in New Issue
Block a user