X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;ds=sidebyside;f=plugins%2Fadministrator%2Foptions.php;h=7685d9ff17b2bd6999bed191584df1ac7ef3834a;hb=0859c3c0b848fe008d6d1c33149df3fc0f061765;hp=02cdc2945cc385a7dc49810d4c80f48bdc071859;hpb=edd4a552074c0db684cd52f1d154b324716d6135;p=squirrelmail.git diff --git a/plugins/administrator/options.php b/plugins/administrator/options.php index 02cdc294..7685d9ff 100644 --- a/plugins/administrator/options.php +++ b/plugins/administrator/options.php @@ -137,6 +137,8 @@ require_once('../functions/imap.php'); require_once('../src/load_prefs.php'); require_once('../plugins/administrator/defines.php'); +GLOBAL $data_dir, $username; + $auth = FALSE; if ( $adm_id = fileowner('../config/config.php') ) { $adm = posix_getpwuid( $adm_id ); @@ -162,10 +164,28 @@ $cfgfile = '../config/config.php'; parseConfig( '../config/config_default.php' ); parseConfig( $cfgfile ); +$colapse = array( 'Titles' => FALSE, + 'Group1' => getPref($data_dir, $username, 'adm_Group1', FALSE ), + 'Group2' => getPref($data_dir, $username, 'adm_Group2', TRUE ), + 'Group3' => getPref($data_dir, $username, 'adm_Group3', TRUE ), + 'Group4' => getPref($data_dir, $username, 'adm_Group4', TRUE ), + 'Group5' => getPref($data_dir, $username, 'adm_Group5', TRUE ), + 'Group6' => getPref($data_dir, $username, 'adm_Group6', TRUE ), + 'Group7' => getPref($data_dir, $username, 'adm_Group7', TRUE ), + 'Group8' => getPref($data_dir, $username, 'adm_Group8', TRUE ) ); + +if ( isset( $switch ) ) { + $colapse[$switch] = !$colapse[$switch]; + setPref($data_dir, $username, "adm_$switch", $colapse[$switch] ); +} + echo "
" . "
". "" , ""; + +$act_grp = 'Titles'; /* Active group */ + foreach ( $newcfg as $k => $v ) { $l = strtolower( $v ); $type = SMOPT_TYPE_UNDEFINED; @@ -195,105 +215,233 @@ foreach ( $newcfg as $k => $v ) { $type = SMOPT_TYPE_THEME; } else if ( substr( $k, 0, 9 ) == '$plugins[' ) { $type = SMOPT_TYPE_PLUGINS; + } else if ( substr( $k, 0, 13 ) == '$ldap_server[' ) { + $type = SMOPT_TYPE_LDAP; } - switch ( $type ) { - case SMOPT_TYPE_PLUGINS: - case SMOPT_TYPE_THEME: - case SMOPT_TYPE_HIDDEN: - break; - case SMOPT_TYPE_TITLE: - echo ""; - break; - case SMOPT_TYPE_COMMENT: - $v = substr( $v, 1, strlen( $v ) - 2 ); - echo ""; + $act_grp = $k; + break; + case SMOPT_TYPE_COMMENT: + $v = substr( $v, 1, strlen( $v ) - 2 ); + echo "\n"; + break; + case SMOPT_TYPE_INTEGER: + if ( isset( $HTTP_POST_VARS[$e] ) ) { + $v = intval( $HTTP_POST_VARS[$e] ); + $newcfg[$k] = $v; + } + echo "\n"; + break; + case SMOPT_TYPE_NUMLIST: + if ( isset( $HTTP_POST_VARS[$e] ) ) { + $v = $HTTP_POST_VARS[$e]; + $newcfg[$k] = $v; + } + echo "\n"; + break; + case SMOPT_TYPE_STRLIST: + if ( isset( $HTTP_POST_VARS[$e] ) ) { + $v = '"' . $HTTP_POST_VARS[$e] . '"'; + $newcfg[$k] = $v; + } + echo "\n"; + break; + + case SMOPT_TYPE_TEXTAREA: + if ( isset( $HTTP_POST_VARS[$e] ) ) { + $v = '"' . $HTTP_POST_VARS[$e] . '"'; + $newcfg[$k] = str_replace( "\n", '', $v ); + } + echo "\n"; + break; + case SMOPT_TYPE_STRING: + if ( isset( $HTTP_POST_VARS[$e] ) ) { + $v = '"' . $HTTP_POST_VARS[$e] . '"'; + $newcfg[$k] = $v; + } + echo "\n"; + break; + case SMOPT_TYPE_BOOLEAN: + if ( isset( $HTTP_POST_VARS[$e] ) ) { + $v = $HTTP_POST_VARS[$e]; + $newcfg[$k] = $v; + } else { + $v = strtoupper( $v ); } - echo ">$vp"; + if ( $v == 'TRUE' ) { + $ct = ' checked'; + $cf = ''; + } else { + $ct = ''; + $cf = ' checked'; + } + echo "\n"; + break; + default: + echo "\n"; } - echo ''; - break; - case SMOPT_TYPE_STRLIST: - if ( isset( $HTTP_POST_VARS[$e] ) ) { - $v = '"' . $HTTP_POST_VARS[$e] . '"'; - $newcfg[$k] = $v; + } + +} + +if ( !($colapse['Group7']) ) { + $i = 0; + echo ''; + while ( isset( $newcfg["\$theme[$i]['NAME']"] ) ) { + $k1 = "\$theme[$i]['NAME']"; + $e1 = "theme_name_$i"; + if ( isset( $HTTP_POST_VARS[$e1] ) ) { + $v1 = '"' . $HTTP_POST_VARS[$e1] . '"'; + $newcfg[$k1] = $v1; + } else { + $v1 = $newcfg[$k1]; } - echo "'. + "". + "". + "\n"; + $i++; + + } +} - case SMOPT_TYPE_TEXTAREA: - if ( isset( $HTTP_POST_VARS[$e] ) ) { - $v = '"' . $HTTP_POST_VARS[$e] . '"'; - $newcfg[$k] = str_replace( "\n", '', $v ); +if ( $colapse['Group8'] ) { + $sw = '(+)'; +} else { + $sw = '(-)'; +} +echo "'; + +if( !$colapse['Group7'] ) { + + $fd = opendir( '../plugins/' ); + $op_plugin = array(); + while (false!==($file = readdir($fd))) { + if ($file != '.' && $file != '..' && $file != 'CVS' ) { + if ( filetype( $file ) == 'dir' ) { + $op_plugin[] = $file; + } } - echo "'. + "". + "". + ''; + $i++; + } - echo "\n"; } echo "" , @@ -308,7 +456,7 @@ fwrite( $fp, "
" . _("Configuration Administrator") . "
$name
$name". - "$v"; - $newcfg[$k] = "'$v'"; - break; - case SMOPT_TYPE_INTEGER: - if ( isset( $HTTP_POST_VARS[$e] ) ) { - $v = intval( $HTTP_POST_VARS[$e] ); - $newcfg[$k] = $v; - } - echo "
$name". - ""; - break; - case SMOPT_TYPE_NUMLIST: - if ( isset( $HTTP_POST_VARS[$e] ) ) { - $v = $HTTP_POST_VARS[$e]; - $newcfg[$k] = $v; - } - echo "
$name"; - echo "" . + "$sw " . + "$name
$name". + "$v"; + $newcfg[$k] = "'$v'"; + if ( isset( $defcfg[$k]['comment'] ) ) { + echo '   ' . $defcfg[$k]['comment']; + } + echo "
$name". + ""; + if ( isset( $defcfg[$k]['comment'] ) ) { + echo '   ' . $defcfg[$k]['comment']; + } + echo "
$name"; + echo "'; + if ( isset( $defcfg[$k]['comment'] ) ) { + echo '   ' . $defcfg[$k]['comment']; + } + echo "
$name". + "'; + if ( isset( $defcfg[$k]['comment'] ) ) { + echo '   ' . $defcfg[$k]['comment']; + } + echo "
$name". + ""; + if ( isset( $defcfg[$k]['comment'] ) ) { + echo '   ' . $defcfg[$k]['comment']; + } + echo "
$name". + ""; + if ( isset( $defcfg[$k]['comment'] ) ) { + echo '   ' . $defcfg[$k]['comment']; + } + echo "
$name" . + "" . _("Yes") . + "" . _("No"); + if ( isset( $defcfg[$k]['comment'] ) ) { + echo '   ' . $defcfg[$k]['comment']; + } + echo "
$name" . + "$v"; + if ( isset( $defcfg[$k]['comment'] ) ) { + echo '   ' . $defcfg[$k]['comment']; + } + echo "
' . _("Theme Name") . + '' . _("Theme Path") . + '
$name". - "'; - break; + $name = substr( $v1, 1, strlen( $v1 ) - 2 ); + $path = substr( $v2, 1, strlen( $v2 ) - 2 ); + echo '
$i.
" . + "$sw " . + _("Plugins") . '
$name". - ""; - break; - case SMOPT_TYPE_STRING: + } + closedir($fd); + asort( $op_plugin ); + + $i = 0; + while ( isset( $newcfg["\$plugins[$i]"] ) ) { + $k = "\$plugins[$i]"; + $e = "plugin_$i"; if ( isset( $HTTP_POST_VARS[$e] ) ) { $v = '"' . $HTTP_POST_VARS[$e] . '"'; $newcfg[$k] = $v; - } - echo "
$name". - ""; - break; - case SMOPT_TYPE_BOOLEAN: - if ( isset( $HTTP_POST_VARS[$e] ) ) { - $v = $HTTP_POST_VARS[$e]; - $newcfg[$k] = $v; } else { - $v = strtoupper( $v ); + $v = $newcfg[$k]; } - if ( $v == 'TRUE' ) { - $ct = ' checked'; - $cf = ''; - } else { - $ct = ''; - $cf = ' checked'; + $name = substr( $v, 1, strlen( $v ) - 2 ); + echo '
$i.
$name" . - "" . _("Yes") . - "" . _("No"); - break; - default: - echo "
$name" . - "$v"; - } - if ( isset( $defcfg[$k]['comment'] ) ) { - echo '   ' . $defcfg[$k]['comment']; + echo "