diff --git a/e107_admin/db.php b/e107_admin/db.php
index 984fa3251..bad7cd911 100644
--- a/e107_admin/db.php
+++ b/e107_admin/db.php
@@ -9,8 +9,8 @@
* Administration - Database Utilities
*
* $Source: /cvs_backup/e107_0.8/e107_admin/db.php,v $
- * $Revision: 1.11 $
- * $Date: 2009-07-23 15:21:41 $
+ * $Revision: 1.12 $
+ * $Date: 2009-08-22 00:28:54 $
* $Author: e107coders $
*
*/
@@ -62,12 +62,21 @@ if(isset($_POST['verify_sql']))
header("location: ".e_ADMIN."db_verify.php");
exit();
}
+if(isset($_POST['export_core_prefs']))
+{
+ export_core_prefs();
+ exit();
+}
require_once ("auth.php");
require_once (e_HANDLER."form_handler.php");
$frm = new e_form();
$emessage = &eMessage::getInstance(); //nothing wrong with doing it twice
+if(isset($_POST['importCorePrefsForm']))
+{
+ importCorePrefsForm();
+}
if(isset($_POST['delpref']) || (isset($_POST['delpref_checked']) && isset($_POST['delpref2'])))
{
@@ -118,6 +127,14 @@ if(isset($_POST['verify_sql_record']) || isset($_POST['check_verify_sql_record']
exit();
}
+if(isset($_POST['upload']))
+{
+ importCorePrefs();
+
+}
+
+
+
//XXX - what is this for (backup core)?
@@ -194,6 +211,24 @@ $text = "
+
+
+
+ ".DBLAN_59." |
+
+ ".$frm->radio('db_execute', 'importCorePrefsForm').$frm->label(DBLAN_59, 'db_execute', 'importCorePrefsForm')."
+
+ |
+
+
+
+
+ ".DBLAN_58." |
+
+ ".$frm->radio('db_execute', 'export_core_prefs').$frm->label(DBLAN_58, 'db_execute', 'export_core_prefs')."
+
+ |
+
@@ -215,6 +250,109 @@ $text = "
$e107->ns->tablerender(DBLAN_10, $emessage->render().$text);
+function export_core_prefs()
+{
+
+
+ //TODO - Cameron - move function to own class.
+
+ require_once(e_ADMIN."ver.php");
+
+ $pref = e107::getPref();
+ $text = "\n";
+ $text .= "\n";
+
+ foreach($pref as $key=>$val)
+ {
+ if(isset($val))
+ {
+ $val = is_array($val) ? e107::getArrayStorage()->WriteArray($val) : $val;
+
+ $text .= "\n";
+ }
+ }
+
+ $text .= "";
+
+ header('Content-type: application/xml', TRUE);
+ header("Content-disposition: attachment; filename= e107_prefs_" . date("Y-m-d").".xml");
+ header("Cache-Control: max-age=30");
+ header("Pragma: public");
+ echo $text;
+ exit;
+}
+
+function importCorePrefs()
+{
+ //TODO - Cameron - move to own class and make generic.
+ $xml = e107::getSingleton('xmlClass')->loadXMLfile($_FILES['file_userfile']['tmp_name'][0],TRUE);
+
+ $data = e107::getSingleton('xmlClass')->xmlFileContents;
+ $xll = new SimpleXMLElement($data);
+
+ print_a($xll);
+ foreach ($xll->corePref as $key=>$val)
+ {
+ // echo "
". $xll->corePref['@attributes'] ." = ".$val;
+ }
+
+
+
+ if(isset($xml['prefs']['core']))
+ {
+ foreach($xml['prefs']['core'] as $key=>$pref);
+ {
+ // e107::getConfig()->add($key, $pref);
+ }
+
+ }
+// e107::getConfig()->save();
+
+}
+
+function importCorePrefsForm()
+{
+ // Get largest allowable file upload
+ $frm = e107::getSingleton('e_form');
+
+
+ require_once(e_HANDLER.'upload_handler.php');
+ $max_file_size = get_user_max_upload();
+
+ $text = "
+ \n";
+
+
+ e107::getRender()->tablerender("Import e107 Preferences", $text);
+
+
+}
+
+
+
function backup_core()
{
global $pref, $sql;
diff --git a/e107_languages/English/admin/lan_db.php b/e107_languages/English/admin/lan_db.php
index 3da6d8cbc..e0c1f588b 100644
--- a/e107_languages/English/admin/lan_db.php
+++ b/e107_languages/English/admin/lan_db.php
@@ -1,7 +1,7 @@