[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