use new format of config table

git-svn-id: http://piwigo.org/svn/trunk@383 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
z0rglub
2004-03-04 23:56:02 +00:00
parent 2434bcfc6a
commit ebea7c77fb
2 changed files with 60 additions and 55 deletions
+41 -31
View File
@@ -44,14 +44,16 @@ $Caracs = array("
"ù" => "u", "ú" => "u", "û" => "u", "ü" => "u",
"ý" => "y", "ÿ" => "y");
//------------------------------ verification and registration of modifications
$conf_infos =
array( 'prefix_thumbnail','webmaster','mail_webmaster','access',
'session_id_size','session_time','session_keyword','max_user_listbox',
'show_comments','nb_comment_page','upload_available',
'upload_maxfilesize', 'upload_maxwidth','upload_maxheight',
'upload_maxwidth_thumbnail','upload_maxheight_thumbnail','log',
'comments_validation','comments_forall','authorize_cookies',
'mail_notification' );
$conf_infos = array();
$query = 'SELECT param';
$query.= ' FROM '.CONFIG_TABLE;
$query.= ';';
$result = mysql_query( $query );
while ( $row = mysql_fetch_array( $result ) )
{
array_push( $conf_infos, $row['param'] );
}
$default_user_infos =
array( 'nb_image_line','nb_line_page','language','maxwidth',
'maxheight','expand','show_nb_comments','short_period','long_period',
@@ -198,24 +200,24 @@ if ( isset( $_POST['submit'] ) )
// updating configuraiton if no error found
if ( count( $error ) == 0 )
{
mysql_query( 'DELETE FROM '.PREFIX_TABLE.'config;' );
$query = 'INSERT INTO '.PREFIX_TABLE.'config';
$query.= ' (';
foreach ( $conf_infos as $i => $conf_info ) {
if ( $i > 0 ) $query.= ',';
$query.= $conf_info;
foreach ( $conf_infos as $conf_info ) {
if ( isset( $_POST[$conf_info] ) )
{
$query = 'UPDATE '.CONFIG_TABLE;
$query.= ' SET value = ';
if ( $_POST[$conf_info] == '' )
{
$query.= 'NULL';
}
else
{
$query.= "'".$_POST[$conf_info]."'";
}
$query.= " WHERE param = '".$conf_info."'";
$query.= ';';
mysql_query( $query );
}
}
$query.= ')';
$query.= ' VALUES';
$query.= ' (';
foreach ( $conf_infos as $i => $conf_info ) {
if ( $i > 0 ) $query.= ',';
if ( $_POST[$conf_info] == '' ) $query.= 'NULL';
else $query.= "'".$_POST[$conf_info]."'";
}
$query.= ')';
$query.= ';';
mysql_query( $query );
$query = 'UPDATE '.USERS_TABLE;
$query.= ' SET';
@@ -248,12 +250,20 @@ if ( isset( $_POST['submit'] ) )
else
{
//--------------------------------------------------------- data initialization
$query = 'SELECT '.implode( ',', $conf_infos );
$query .= ' FROM '.PREFIX_TABLE.'config;';
$row = mysql_fetch_array( mysql_query( $query ) );
foreach ( $conf_infos as $info ) {
if ( isset( $row[$info] ) ) $$info = $row[$info];
else $$info = '';
$query = 'SELECT param,value';
$query.= ' FROM '.CONFIG_TABLE;
$query.= ';';
$result = mysql_query( $query );
while ( $row =mysql_fetch_array( $result ) )
{
if ( isset( $row['value'] ) )
{
$$row['param'] = $row['value'];
}
else
{
$$row['param'] = '';
}
}
$query = 'SELECT '.implode( ',', $default_user_infos );
+19 -24
View File
@@ -24,6 +24,7 @@
// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
// | USA. |
// +-----------------------------------------------------------------------+
if( !defined("PHPWG_ROOT_PATH") )
{
die ("Hacking attempt!");
@@ -166,35 +167,29 @@ $user_ip = encode_ip($client_ip);
// Setup forum wide options, if this fails then we output a CRITICAL_ERROR
// since basic forum information is not available
//
$sql = 'SELECT * FROM '.CONFIG_TABLE;
if( !($result = mysql_query($sql)) )
$query = 'SELECT param,value';
$query.= ' FROM '.CONFIG_TABLE;
$query.= ';';
if( !( $result = mysql_query( $query ) ) )
{
die("Could not query config information");
}
$row =mysql_fetch_array($result);
// rertieving the configuration informations for site
// $infos array is used to know the fields to retrieve in the table "config"
// Each field becomes an information of the array $conf.
// Example :
// prefix_thumbnail --> $conf['prefix_thumbnail']
$infos = array( 'prefix_thumbnail', 'webmaster', 'mail_webmaster', 'access',
'session_id_size', 'session_keyword', 'session_time',
'max_user_listbox', 'show_comments', 'nb_comment_page',
'upload_available', 'upload_maxfilesize', 'upload_maxwidth',
'upload_maxheight', 'upload_maxwidth_thumbnail',
'upload_maxheight_thumbnail','log','comments_validation',
'comments_forall','authorize_cookies','mail_notification' );
// affectation of each field of the table "config" to an information of the
// array $conf.
foreach ( $infos as $info ) {
if ( isset( $row[$info] ) ) $conf[$info] = $row[$info];
else $conf[$info] = '';
// If the field is true or false, the variable is transformed into a boolean
// value.
if ( $conf[$info] == 'true' or $conf[$info] == 'false' )
while ( $row =mysql_fetch_array( $result ) )
{
if ( isset( $row['value'] ) )
{
$conf[$info] = get_boolean( $conf[$info] );
$conf[$row['param']] = $row['value'];
}
else
{
$conf[$row['param']] = '';
}
// If the field is true or false, the variable is transformed into a
// boolean value.
if ( $conf[$row['param']] == 'true' or $conf[$row['param']] == 'false' )
{
$conf[$row['param']] = get_boolean( $conf[$row['param']] );
}
}