6 * Copyright (c) 1999-2002 The SquirrelMail Project Team
7 * Licensed under the GNU GPL. For full terms see the file COPYING.
15 require_once('../src/validate.php');
16 require_once('../functions/page_header.php');
17 require_once('../functions/imap.php');
18 require_once('../src/load_prefs.php');
19 require_once('../plugins/administrator/defines.php');
21 displayPageHeader($color, 'None');
23 $cfgfile = '../config/config.php';
24 $cfg_defaultfile = '../config/config_default.php';
25 $cfg = file( $cfg_defaultfile );
26 $newcfg = $defcfg = array( );
28 foreach ( $cfg as $l ) {
29 $l = preg_replace( '/\/\*.*\*\//', '', $l );
30 $l = preg_replace( '/#.*$/', '', $l );
31 $l = preg_replace( '/\/\/.*$/', '', $l );
34 if( substr( $v, -2 ) == '*/' ) {
37 } else if( $i = strpos( $v, '*/' ) ) {
38 $v = substr( $v, $i );
44 if( $v{0}.$v{1} == '/*' ) {
47 } else if ( $i = strpos( $v, '/*' ) ) {
48 $v = substr( $v, 0, $i );
53 if ( $i = strpos( $v, '=' ) ) {
54 $key = trim( substr( $v, 0, $i - 1 ) );
55 $val = str_replace( ';', '', trim( substr( $v, $i +
1 ) ) );
62 $cfg = file( $cfgfile );
66 foreach ( $cfg as $l ) {
67 $l = preg_replace( '/\/\*.*\*\//', '', $l );
68 $l = preg_replace( '/#.*$/', '', $l );
69 $l = preg_replace( '/\/\/.*$/', '', $l );
72 if( substr( $v, -2 ) == '*/' ) {
75 } else if( $i = strpos( $v, '*/' ) ) {
76 $v = substr( $v, $i );
82 if( $v{0}.$v{1} == '/*' ) {
85 } else if ( $i = strpos( $v, '/*' ) ) {
86 $v = substr( $v, 0, $i );
91 if ( $i = strpos( $v, '=' ) ) {
92 $key = trim( substr( $v, 0, $i - 1 ) );
93 $val = str_replace( ';', '', trim( substr( $v, $i +
1 ) ) );
99 echo "<form action=$PHP_SELF method=post>" .
100 '<table width=100%>' ,
101 "<tr bgcolor=\"$color[5]\"><th colspan=2>" . _("Configuration Administrator") . "</th></tr>";
102 foreach ( $newcfg as $k => $v ) {
103 $l = strtolower( $v );
104 $type = SMOPT_TYPE_UNDEFINED
;
105 $n = substr( $k, 1 );
106 $n = str_replace( '[', '_', $n );
107 $n = str_replace( ']', '_', $n );
111 if ( isset( $namcfg[$k] ) ) {
112 $name = $namcfg[$k]['name'];
113 $type = $namcfg[$k]['type'];
114 $size = $namcfg[$k]['size'];
115 } else if ( $l == 'true' ) {
117 $type = SMOPT_TYPE_BOOLEAN
;
118 } else if ( $l == 'false' ) {
120 $type = SMOPT_TYPE_BOOLEAN
;
121 } else if ( $v{0} == "'" ) {
122 $type = SMOPT_TYPE_STRING
;
123 } else if ( $v{0} == '"' ) {
124 $type = SMOPT_TYPE_STRING
;
127 echo "<tr><td>$name</td><td>";
130 case SMOPT_TYPE_INTEGER
:
131 if ( isset( $HTTP_POST_VARS[$e] ) ) {
132 $v = intval( $HTTP_POST_VARS[$e] );
135 echo "<input size=10 name=\"adm_$n\" value=\"$v\">";
137 case SMOPT_TYPE_STRLIST
:
138 if ( isset( $HTTP_POST_VARS[$e] ) ) {
139 $v = '"' . $HTTP_POST_VARS[$e] . '"';
142 echo "<select name=\"adm_$n\">";
143 foreach ( $namcfg[$k]['posvals'] as $kp => $vp ) {
144 echo "<option value=\"$kp\"";
145 if ( $kp == substr( $v, 1, strlen( $v ) - 2 ) ) {
148 echo ">$vp</option>";
153 case SMOPT_TYPE_STRING
:
154 if ( isset( $HTTP_POST_VARS[$e] ) ) {
155 $v = '"' . $HTTP_POST_VARS[$e] . '"';
158 echo "<input size=\"$size\" name=\"adm_$n\" value=\"" . substr( $v, 1, strlen( $v ) - 2 ) . "\">";
160 case SMOPT_TYPE_BOOLEAN
:
161 if ( isset( $HTTP_POST_VARS[$e] ) ) {
162 $v = $HTTP_POST_VARS[$e];
165 if ( $v == 'TRUE' ) {
172 echo "<INPUT$ct type=radio NAME=\"adm_$n\" value=\"TRUE\">" . _("Yes") .
173 "<INPUT$cf type=radio NAME=\"adm_$n\" value=\"FALSE\">" . _("No");
176 echo "<b><i>$v</i></b>";
180 echo "<tr bgcolor=\"$color[5]\"><th colspan=2><input value=\"" .
181 _("Change Settings") . "\" type=submit></th></tr>" ,
185 Write the options to the file.
187 $fp = fopen( $cfgfile, 'w' );
188 fwrite( $fp, "<?PHP\n".
190 " * SquirrelMail Configuration File\n".
191 " * Created using the Administrator Plugin\n".
194 fwrite( $fp, 'GLOBAL ' );
196 foreach ( $newcfg as $k => $v ) {
197 if( $i = strpos( $k, '[' ) ) {
198 if( strpos( $k, '[0]' ) ) {
202 fwrite( $fp, substr( $k, 0, $i) );
213 fwrite( $fp, ";\n" );
214 foreach ( $newcfg as $k => $v ) {
215 fwrite( $fp, "$k = $v;\n" );