[geeklog-cvs] Geeklog-1.x/system/classes config.class.php, 1.20, 1.21

Dirk Haun dhaun at qs1489.pair.com
Sun Feb 3 04:53:51 EST 2008


Update of /cvsroot/geeklog/Geeklog-1.x/system/classes
In directory qs1489.pair.com:/tmp/cvs-serv88570/system/classes

Modified Files:
	config.class.php 
Log Message:
Added set_default() method so that we can update default values


Index: config.class.php
===================================================================
RCS file: /cvsroot/geeklog/Geeklog-1.x/system/classes/config.class.php,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
*** config.class.php	3 Feb 2008 08:36:20 -0000	1.20
--- config.class.php	3 Feb 2008 09:53:49 -0000	1.21
***************
*** 172,175 ****
--- 172,203 ----
      }
  
+     /**
+      * This function sets the default of a configuration variable to a value in
+      * the database but not in the current array.
+      * If the variable does not already exist, nothing will happen.
+      *
+      * @param string name        Name of the config parameter to set
+      * @param mixed  value       The value to set the config parameter to
+      * @param string group       Config group name ('Core' or plugin name)
+      */
+     function set_default($name, $value, $group = 'Core')
+     {
+         global $_TABLES, $_DB, $_DB_dbms;
+ 
+         $escaped_val = addslashes(serialize($value));
+         $escaped_name = addslashes($name);
+         $escaped_grp = addslashes($group);
+         $sql_query = "UPDATE {$_TABLES['conf_values']} " .
+             "SET default_value = '{$escaped_val}' WHERE " .
+             "name = '{$escaped_name}' AND group_name = '{$escaped_grp}'";
+         if ($_DB_dbms == 'mssql') {
+             $sql_query = str_replace("\\'", "''", $sql_query);
+             $sql_query = str_replace('\\"', '"', $sql_query);
+             $_DB->dbQuery($sql_query, 0, 1);
+         } else {
+             DB_query($sql_query);
+         }
+     }
+ 
      function restore_param($name, $group)
      {




More information about the geeklog-cvs mailing list