1
0
mirror of https://github.com/e107inc/e107.git synced 2025-07-31 20:00:37 +02:00

Update Routines now checks default_install.xml for default core preferences. XML import function improvements and some PHP notice removal.

This commit is contained in:
CaMer0n
2009-09-01 02:00:56 +00:00
parent 3459bd6e88
commit 30e6ad4225
4 changed files with 90 additions and 53 deletions

View File

@@ -3,7 +3,7 @@
+ ----------------------------------------------------------------------------+ + ----------------------------------------------------------------------------+
| e107 website system | e107 website system
| |
| <20>Steve Dunstan 2001-2002 | <20>Steve Dunstan 2001-2002
| http://e107.org | http://e107.org
| jalist@e107.org | jalist@e107.org
| |
@@ -11,8 +11,8 @@
| GNU General Public License (http://gnu.org). | GNU General Public License (http://gnu.org).
| |
| $Source: /cvs_backup/e107_0.8/e107_admin/update_routines.php,v $ | $Source: /cvs_backup/e107_0.8/e107_admin/update_routines.php,v $
| $Revision: 1.44 $ | $Revision: 1.45 $
| $Date: 2009-08-17 18:42:20 $ | $Date: 2009-09-01 02:00:55 $
| $Author: e107coders $ | $Author: e107coders $
+----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+
*/ */
@@ -31,7 +31,7 @@ require_once(e_HANDLER.'db_table_admin_class.php');
// To do - how do we handle multi-language tables? // To do - how do we handle multi-language tables?
// If following line uncommented, enables a test routine // If following line uncommented, enables a test routine
//define('TEST_UPDATE',TRUE); // define('TEST_UPDATE',TRUE);
$update_debug = FALSE; // TRUE gives extra messages in places $update_debug = FALSE; // TRUE gives extra messages in places
//$update_debug = TRUE; // TRUE gives extra messages in places //$update_debug = TRUE; // TRUE gives extra messages in places
if (defined('TEST_UPDATE')) $update_debug = TRUE; if (defined('TEST_UPDATE')) $update_debug = TRUE;
@@ -178,8 +178,9 @@ function update_check()
require_once(e_HANDLER."e_upgrade_class.php"); require_once(e_HANDLER."e_upgrade_class.php");
$upg = new e_upgrade; $upg = new e_upgrade;
$upg->checkSiteTheme(); //TODO Enable this before release!!
$upg->checkAllPlugins(); // $upg->checkSiteTheme();
// $upg->checkAllPlugins();
//-------------------------------------------- //--------------------------------------------
@@ -284,28 +285,32 @@ function update_706_to_800($type='')
global $sysprefs, $eArrayStorage, $tp; global $sysprefs, $eArrayStorage, $tp;
$notify_prefs = $sysprefs -> get('notify_prefs'); $notify_prefs = $sysprefs -> get('notify_prefs');
$notify_prefs = $eArrayStorage -> ReadArray($notify_prefs); $notify_prefs = $eArrayStorage -> ReadArray($notify_prefs);
$nt_changed = 0; $nt_changed = 0;
foreach ($notify_prefs['event'] as $e => $d) if(vartrue($notify_prefs['event']))
{ {
if (isset($d['type'])) foreach ($notify_prefs['event'] as $e => $d)
{ {
if ($just_check) return update_needed('Notify pref: '.$e.' outdated'); if (isset($d['type']))
switch ($d['type'])
{ {
case 'main' : if ($just_check) return update_needed('Notify pref: '.$e.' outdated');
$notify_prefs['event'][$e]['class'] = e_UC_MAINADMIN; switch ($d['type'])
break; {
case 'class' : // Should already have class defined case 'main' :
break; $notify_prefs['event'][$e]['class'] = e_UC_MAINADMIN;
case 'email' : break;
$notify_prefs['event'][$e]['class'] = 'email'; case 'class' : // Should already have class defined
break; break;
case 'off' : // Need to disable case 'email' :
default : $notify_prefs['event'][$e]['class'] = 'email';
$notify_prefs['event'][$e]['class'] = e_UC_NOBODY; // Just disable if we don't know what else to do break;
case 'off' : // Need to disable
default :
$notify_prefs['event'][$e]['class'] = e_UC_NOBODY; // Just disable if we don't know what else to do
}
$nt_changed++;
unset($notify_prefs['event'][$e]['type']);
} }
$nt_changed++;
unset($notify_prefs['event'][$e]['type']);
} }
} }
if ($nt_changed) if ($nt_changed)
@@ -953,8 +958,9 @@ function catch_error(&$target)
function get_default_prefs() function get_default_prefs()
{ {
require(e_FILE."def_e107_prefs.php"); $xmlArray = e107::getSingleton('xmlClass')->loadXMLfile(e_FILE."default_install.xml",'advanced');
return $pref; $pref = e107::getSingleton('xmlClass')->e107ImportPrefs($xmlArray,'core');
return $pref;
} }

View File

@@ -606,7 +606,7 @@ City, State, Country
<field name='menu_order'>1</field> <field name='menu_order'>1</field>
<field name='menu_class'>0</field> <field name='menu_class'>0</field>
<field name='menu_pages'></field> <field name='menu_pages'></field>
<field name='menu_path'>login_menu</field> <field name='menu_path'>login_menu/</field>
<field name='menu_layout'></field> <field name='menu_layout'></field>
<field name='menu_parms'></field> <field name='menu_parms'></field>
</item> </item>
@@ -617,7 +617,7 @@ City, State, Country
<field name='menu_order'>0</field> <field name='menu_order'>0</field>
<field name='menu_class'>0</field> <field name='menu_class'>0</field>
<field name='menu_pages'></field> <field name='menu_pages'></field>
<field name='menu_path'>online</field> <field name='menu_path'>online/</field>
<field name='menu_layout'></field> <field name='menu_layout'></field>
<field name='menu_parms'></field> <field name='menu_parms'></field>
</item> </item>
@@ -628,7 +628,7 @@ City, State, Country
<field name='menu_order'>0</field> <field name='menu_order'>0</field>
<field name='menu_class'>0</field> <field name='menu_class'>0</field>
<field name='menu_pages'></field> <field name='menu_pages'></field>
<field name='menu_path'>blogcalendar_menu</field> <field name='menu_path'>blogcalendar_menu/</field>
<field name='menu_layout'></field> <field name='menu_layout'></field>
<field name='menu_parms'></field> <field name='menu_parms'></field>
</item> </item>
@@ -639,7 +639,7 @@ City, State, Country
<field name='menu_order'>0</field> <field name='menu_order'>0</field>
<field name='menu_class'>0</field> <field name='menu_class'>0</field>
<field name='menu_pages'></field> <field name='menu_pages'></field>
<field name='menu_path'>tree_menu</field> <field name='menu_path'>tree_menu/</field>
<field name='menu_layout'></field> <field name='menu_layout'></field>
<field name='menu_parms'></field> <field name='menu_parms'></field>
</item> </item>
@@ -650,7 +650,7 @@ City, State, Country
<field name='menu_order'>0</field> <field name='menu_order'>0</field>
<field name='menu_class'>0</field> <field name='menu_class'>0</field>
<field name='menu_pages'></field> <field name='menu_pages'></field>
<field name='menu_path'>search_menu</field> <field name='menu_path'>search_menu/</field>
<field name='menu_layout'></field> <field name='menu_layout'></field>
<field name='menu_parms'></field> <field name='menu_parms'></field>
</item> </item>
@@ -661,7 +661,7 @@ City, State, Country
<field name='menu_order'>0</field> <field name='menu_order'>0</field>
<field name='menu_class'>0</field> <field name='menu_class'>0</field>
<field name='menu_pages'></field> <field name='menu_pages'></field>
<field name='menu_path'>siteinfo_menu</field> <field name='menu_path'>siteinfo_menu/</field>
<field name='menu_layout'></field> <field name='menu_layout'></field>
<field name='menu_parms'></field> <field name='menu_parms'></field>
</item> </item>
@@ -672,7 +672,7 @@ City, State, Country
<field name='menu_order'>0</field> <field name='menu_order'>0</field>
<field name='menu_class'>0</field> <field name='menu_class'>0</field>
<field name='menu_pages'></field> <field name='menu_pages'></field>
<field name='menu_path'>user_menu</field> <field name='menu_path'>user_menu/</field>
<field name='menu_layout'></field> <field name='menu_layout'></field>
<field name='menu_parms'></field> <field name='menu_parms'></field>
</item> </item>
@@ -683,7 +683,7 @@ City, State, Country
<field name='menu_order'>2</field> <field name='menu_order'>2</field>
<field name='menu_class'>0</field> <field name='menu_class'>0</field>
<field name='menu_pages'></field> <field name='menu_pages'></field>
<field name='menu_path'>siteinfo_menu</field> <field name='menu_path'>siteinfo_menu/</field>
<field name='menu_layout'></field> <field name='menu_layout'></field>
<field name='menu_parms'></field> <field name='menu_parms'></field>
</item> </item>
@@ -694,7 +694,7 @@ City, State, Country
<field name='menu_order'>0</field> <field name='menu_order'>0</field>
<field name='menu_class'>0</field> <field name='menu_class'>0</field>
<field name='menu_pages'></field> <field name='menu_pages'></field>
<field name='menu_path'>banner_menu</field> <field name='menu_path'>banner_menu/</field>
<field name='menu_layout'></field> <field name='menu_layout'></field>
<field name='menu_parms'></field> <field name='menu_parms'></field>
</item> </item>
@@ -705,7 +705,7 @@ City, State, Country
<field name='menu_order'>0</field> <field name='menu_order'>0</field>
<field name='menu_class'>0</field> <field name='menu_class'>0</field>
<field name='menu_pages'></field> <field name='menu_pages'></field>
<field name='menu_path'>clock_menu</field> <field name='menu_path'>clock_menu/</field>
<field name='menu_layout'></field> <field name='menu_layout'></field>
<field name='menu_parms'></field> <field name='menu_parms'></field>
</item> </item>
@@ -716,7 +716,7 @@ City, State, Country
<field name='menu_order'>0</field> <field name='menu_order'>0</field>
<field name='menu_class'>0</field> <field name='menu_class'>0</field>
<field name='menu_pages'></field> <field name='menu_pages'></field>
<field name='menu_path'>siteinfo_menu</field> <field name='menu_path'>siteinfo_menu/</field>
<field name='menu_layout'></field> <field name='menu_layout'></field>
<field name='menu_parms'></field> <field name='menu_parms'></field>
</item> </item>
@@ -727,7 +727,7 @@ City, State, Country
<field name='menu_order'>0</field> <field name='menu_order'>0</field>
<field name='menu_class'>0</field> <field name='menu_class'>0</field>
<field name='menu_pages'></field> <field name='menu_pages'></field>
<field name='menu_path'>comment_menu</field> <field name='menu_path'>comment_menu/</field>
<field name='menu_layout'></field> <field name='menu_layout'></field>
<field name='menu_parms'></field> <field name='menu_parms'></field>
</item> </item>
@@ -738,7 +738,7 @@ City, State, Country
<field name='menu_order'>0</field> <field name='menu_order'>0</field>
<field name='menu_class'>0</field> <field name='menu_class'>0</field>
<field name='menu_pages'></field> <field name='menu_pages'></field>
<field name='menu_path'>online</field> <field name='menu_path'>online/</field>
<field name='menu_layout'></field> <field name='menu_layout'></field>
<field name='menu_parms'></field> <field name='menu_parms'></field>
</item> </item>
@@ -749,7 +749,7 @@ City, State, Country
<field name='menu_order'>0</field> <field name='menu_order'>0</field>
<field name='menu_class'>0</field> <field name='menu_class'>0</field>
<field name='menu_pages'></field> <field name='menu_pages'></field>
<field name='menu_path'>other_news_menu</field> <field name='menu_path'>other_news_menu/</field>
<field name='menu_layout'></field> <field name='menu_layout'></field>
<field name='menu_parms'></field> <field name='menu_parms'></field>
</item> </item>
@@ -760,7 +760,7 @@ City, State, Country
<field name='menu_order'>0</field> <field name='menu_order'>0</field>
<field name='menu_class'>0</field> <field name='menu_class'>0</field>
<field name='menu_pages'></field> <field name='menu_pages'></field>
<field name='menu_path'>other_news_menu</field> <field name='menu_path'>other_news_menu/</field>
<field name='menu_layout'></field> <field name='menu_layout'></field>
<field name='menu_parms'></field> <field name='menu_parms'></field>
</item> </item>
@@ -771,7 +771,7 @@ City, State, Country
<field name='menu_order'>0</field> <field name='menu_order'>0</field>
<field name='menu_class'>0</field> <field name='menu_class'>0</field>
<field name='menu_pages'></field> <field name='menu_pages'></field>
<field name='menu_path'>admin_menu</field> <field name='menu_path'>admin_menu/</field>
<field name='menu_layout'></field> <field name='menu_layout'></field>
<field name='menu_parms'></field> <field name='menu_parms'></field>
</item> </item>

View File

@@ -9,8 +9,8 @@
* Simple XML Parser * Simple XML Parser
* *
* $Source: /cvs_backup/e107_0.8/e107_handlers/xml_class.php,v $ * $Source: /cvs_backup/e107_0.8/e107_handlers/xml_class.php,v $
* $Revision: 1.19 $ * $Revision: 1.20 $
* $Date: 2009-08-31 13:12:03 $ * $Date: 2009-09-01 02:00:56 $
* $Author: e107coders $ * $Author: e107coders $
*/ */
@@ -617,6 +617,34 @@ class xmlClass
} }
} }
/**
* Return an Array of core preferences from e107 XML Dump data
* @param object $XMLData Raw XML e107 Export Data
* @param object $prefType [optional] the type of core pref: core|emote|ipool|menu etc.
* @return preference array equivalent to the old $pref global;
*/
public function e107ImportPrefs($XMLData,$prefType='core')
{
if(!vartrue($XMLData['prefs'][$prefType]))
{
return;
}
$pref = array();
foreach($XMLData['prefs'][$prefType] as $val)
{
$value = (substr($val['@value'],0,7) == "array (") ? e107::getArrayStorage()->ReadArray($val['@value']) : $val['@value'];
$name = $val['@attributes']['name'];
$pref[$name] = $value;
}
return $pref;
}
/** /**
* Import an e107 XML file into site preferences and DB tables * Import an e107 XML file into site preferences and DB tables
* @param path $file - e107 XML file path * @param path $file - e107 XML file path
@@ -642,14 +670,13 @@ class xmlClass
{ {
foreach($xmlArray['prefs'] as $type=>$array) foreach($xmlArray['prefs'] as $type=>$array)
{ {
foreach ($array as $val) $pArray = $this->e107ImportPrefs($xmlArray,$type);
e107::getConfig($type)->setPref($pArray);
if($debug == FALSE)
{ {
$value = (substr($val['@value'],0,7) == "array (") ? e107::getArrayStorage()->ReadArray($val['@value']) : $val['@value']; e107::getConfig($type)->save(FALSE,TRUE);
e107::getConfig($type)->set($val['@attributes']['name'], $value);
} }
e107::getConfig($type)->save(FALSE);
} }
} }
@@ -685,4 +712,6 @@ class xmlClass
} }
} }

View File

@@ -9,8 +9,8 @@
* Installation file * Installation file
* *
* $Source: /cvs_backup/e107_0.8/install_.php,v $ * $Source: /cvs_backup/e107_0.8/install_.php,v $
* $Revision: 1.31 $ * $Revision: 1.32 $
* $Date: 2009-08-31 14:37:24 $ * $Date: 2009-09-01 02:00:56 $
* $Author: e107coders $ * $Author: e107coders $
* *
*/ */
@@ -966,6 +966,8 @@ class e_install
$this->previous_steps['prefs']['replyto_name'] = $this->previous_steps['admin']['display']; $this->previous_steps['prefs']['replyto_name'] = $this->previous_steps['admin']['display'];
$this->previous_steps['prefs']['replyto_email'] = $this->previous_steps['admin']['email']; $this->previous_steps['prefs']['replyto_email'] = $this->previous_steps['admin']['email'];
$cookiename = str_replace(" ","_",$this->previous_steps['prefs']['sitename']);
$this->previous_steps['prefs']['cookie_name'] = substr($cookiename,0,5)."cookie";
foreach($this->previous_steps['prefs'] as $key=>$val) foreach($this->previous_steps['prefs'] as $key=>$val)
{ {