';' && $i < $j ); $i--; if ( $l <> '' ) { if ( $cm ) { if( substr( $l, -2 ) == '*/' ) { $l = ''; $cm = FALSE; } else if( $k = strpos( $l, '*/' ) ) { $l = substr( $l, $k ); $cm = FALSE; } else { $l = ''; } } else { if( $l{0}.$l{1} == '/*' ) { $l = ''; $cm = TRUE; } else if ( $k = strpos( $l, '/*' ) ) { $l = substr( $l, 0, $k ); $cm = TRUE; } } if ( $k = strpos( $l, '=' ) ) { $key = trim( substr( $l, 0, $k - 1 ) ); $val = str_replace( ';', '', trim( substr( $l, $k + 1 ) ) ); $newcfg[$key] = $val; } } } } /* ---------------------- main -------------------------- */ chdir('..'); require_once('../src/validate.php'); require_once('../functions/page_header.php'); require_once('../functions/imap.php'); require_once('../src/load_prefs.php'); require_once('../plugins/administrator/defines.php'); $auth = FALSE; if ( $adm_id = fileowner('../config/config.php') ) { $adm = posix_getpwuid( $adm_id ); if ( $username == $adm['name'] ) { $auth = TRUE; } } if ( !auth ) { header("Location: ../../src/options.php") ; exit; } displayPageHeader($color, 'None'); $newcfg = array( ); foreach ( $defcfg as $key => $def ) { $newcfg[$key] = ''; } $cfgfile = '../config/config.php'; parseConfig( '../config/config_default.php' ); parseConfig( $cfgfile ); echo "
" . "
". "" , ""; foreach ( $newcfg as $k => $v ) { $l = strtolower( $v ); $type = SMOPT_TYPE_UNDEFINED; $n = substr( $k, 1 ); $n = str_replace( '[', '_', $n ); $n = str_replace( ']', '_', $n ); $e = 'adm_' . $n; $name = $k; $size = 50; if ( isset( $defcfg[$k] ) ) { $name = $defcfg[$k]['name']; $type = $defcfg[$k]['type']; $size = $defcfg[$k]['size']; } else if ( $l == 'true' ) { $v = 'TRUE'; $type = SMOPT_TYPE_BOOLEAN; } else if ( $l == 'false' ) { $v = 'FALSE'; $type = SMOPT_TYPE_BOOLEAN; } else if ( $v{0} == "'" ) { $type = SMOPT_TYPE_STRING; } else if ( $v{0} == '"' ) { $type = SMOPT_TYPE_STRING; } switch ( $type ) { case SMOPT_TYPE_TITLE: echo ""; break; case SMOPT_TYPE_COMMENT: $v = substr( $v, 1, strlen( $v ) - 2 ); echo "\n"; } echo "" , '
" . _("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 "'; break; case SMOPT_TYPE_STRLIST: if ( isset( $HTTP_POST_VARS[$e] ) ) { $v = '"' . $HTTP_POST_VARS[$e] . '"'; $newcfg[$k] = $v; } echo "
$name". "'; break; case SMOPT_TYPE_STRING: 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 ); } if ( $v == 'TRUE' ) { $ct = ' checked'; $cf = ''; } else { $ct = ''; $cf = ' checked'; } echo "
$name" . "" . _("Yes") . "" . _("No"); break; default: echo "
$name" . "$v"; } echo "
'; /* Write the options to the file. */ $fp = fopen( $cfgfile, 'w' ); fwrite( $fp, " $v ) { if ( $k{0} == '$' ) { if( $i = strpos( $k, '[' ) ) { if( strpos( $k, '[0]' ) ) { if( $not_first ) { fwrite( $fp, ', ' ); } fwrite( $fp, substr( $k, 0, $i) ); $not_first = TRUE; } } else { if( $not_first ) { fwrite( $fp, ', ' ); } fwrite( $fp, $k ); $not_first = TRUE; } } } fwrite( $fp, ";\n" ); foreach ( $newcfg as $k => $v ) { if ( $k{0} == '$' ) { fwrite( $fp, "$k = $v;\n" ); } } fwrite( $fp, '?>' ); fclose( $fp ); ?>