1
0
mirror of https://github.com/e107inc/e107.git synced 2025-04-26 15:32:53 +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
|
| ©Steve Dunstan 2001-2002
| <EFBFBD>Steve Dunstan 2001-2002
| http://e107.org
| jalist@e107.org
|
@ -11,8 +11,8 @@
| GNU General Public License (http://gnu.org).
|
| $Source: /cvs_backup/e107_0.8/e107_admin/update_routines.php,v $
| $Revision: 1.44 $
| $Date: 2009-08-17 18:42:20 $
| $Revision: 1.45 $
| $Date: 2009-09-01 02:00:55 $
| $Author: e107coders $
+----------------------------------------------------------------------------+
*/
@ -31,7 +31,7 @@ require_once(e_HANDLER.'db_table_admin_class.php');
// To do - how do we handle multi-language tables?
// 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 = TRUE; // TRUE gives extra messages in places
if (defined('TEST_UPDATE')) $update_debug = TRUE;
@ -178,8 +178,9 @@ function update_check()
require_once(e_HANDLER."e_upgrade_class.php");
$upg = new e_upgrade;
$upg->checkSiteTheme();
$upg->checkAllPlugins();
//TODO Enable this before release!!
// $upg->checkSiteTheme();
// $upg->checkAllPlugins();
//--------------------------------------------
@ -284,28 +285,32 @@ function update_706_to_800($type='')
global $sysprefs, $eArrayStorage, $tp;
$notify_prefs = $sysprefs -> get('notify_prefs');
$notify_prefs = $eArrayStorage -> ReadArray($notify_prefs);
$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');
switch ($d['type'])
if (isset($d['type']))
{
case 'main' :
$notify_prefs['event'][$e]['class'] = e_UC_MAINADMIN;
break;
case 'class' : // Should already have class defined
break;
case 'email' :
$notify_prefs['event'][$e]['class'] = 'email';
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
if ($just_check) return update_needed('Notify pref: '.$e.' outdated');
switch ($d['type'])
{
case 'main' :
$notify_prefs['event'][$e]['class'] = e_UC_MAINADMIN;
break;
case 'class' : // Should already have class defined
break;
case 'email' :
$notify_prefs['event'][$e]['class'] = 'email';
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)
@ -953,8 +958,9 @@ function catch_error(&$target)
function get_default_prefs()
{
require(e_FILE."def_e107_prefs.php");
return $pref;
$xmlArray = e107::getSingleton('xmlClass')->loadXMLfile(e_FILE."default_install.xml",'advanced');
$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_class'>0</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_parms'></field>
</item>
@ -617,7 +617,7 @@ City, State, Country
<field name='menu_order'>0</field>
<field name='menu_class'>0</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_parms'></field>
</item>
@ -628,7 +628,7 @@ City, State, Country
<field name='menu_order'>0</field>
<field name='menu_class'>0</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_parms'></field>
</item>
@ -639,7 +639,7 @@ City, State, Country
<field name='menu_order'>0</field>
<field name='menu_class'>0</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_parms'></field>
</item>
@ -650,7 +650,7 @@ City, State, Country
<field name='menu_order'>0</field>
<field name='menu_class'>0</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_parms'></field>
</item>
@ -661,7 +661,7 @@ City, State, Country
<field name='menu_order'>0</field>
<field name='menu_class'>0</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_parms'></field>
</item>
@ -672,7 +672,7 @@ City, State, Country
<field name='menu_order'>0</field>
<field name='menu_class'>0</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_parms'></field>
</item>
@ -683,7 +683,7 @@ City, State, Country
<field name='menu_order'>2</field>
<field name='menu_class'>0</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_parms'></field>
</item>
@ -694,7 +694,7 @@ City, State, Country
<field name='menu_order'>0</field>
<field name='menu_class'>0</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_parms'></field>
</item>
@ -705,7 +705,7 @@ City, State, Country
<field name='menu_order'>0</field>
<field name='menu_class'>0</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_parms'></field>
</item>
@ -716,7 +716,7 @@ City, State, Country
<field name='menu_order'>0</field>
<field name='menu_class'>0</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_parms'></field>
</item>
@ -727,7 +727,7 @@ City, State, Country
<field name='menu_order'>0</field>
<field name='menu_class'>0</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_parms'></field>
</item>
@ -738,7 +738,7 @@ City, State, Country
<field name='menu_order'>0</field>
<field name='menu_class'>0</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_parms'></field>
</item>
@ -749,7 +749,7 @@ City, State, Country
<field name='menu_order'>0</field>
<field name='menu_class'>0</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_parms'></field>
</item>
@ -760,7 +760,7 @@ City, State, Country
<field name='menu_order'>0</field>
<field name='menu_class'>0</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_parms'></field>
</item>
@ -771,7 +771,7 @@ City, State, Country
<field name='menu_order'>0</field>
<field name='menu_class'>0</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_parms'></field>
</item>

View File

@ -9,8 +9,8 @@
* Simple XML Parser
*
* $Source: /cvs_backup/e107_0.8/e107_handlers/xml_class.php,v $
* $Revision: 1.19 $
* $Date: 2009-08-31 13:12:03 $
* $Revision: 1.20 $
* $Date: 2009-09-01 02:00:56 $
* $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
* @param path $file - e107 XML file path
@ -642,14 +670,13 @@ class xmlClass
{
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)->set($val['@attributes']['name'], $value);
}
e107::getConfig($type)->save(FALSE);
e107::getConfig($type)->save(FALSE,TRUE);
}
}
}
@ -683,6 +710,8 @@ class xmlClass
return $ret;
}
}

View File

@ -9,8 +9,8 @@
* Installation file
*
* $Source: /cvs_backup/e107_0.8/install_.php,v $
* $Revision: 1.31 $
* $Date: 2009-08-31 14:37:24 $
* $Revision: 1.32 $
* $Date: 2009-09-01 02:00:56 $
* $Author: e107coders $
*
*/
@ -965,8 +965,10 @@ class e_install
$this->previous_steps['prefs']['replyto_name'] = $this->previous_steps['admin']['display'];
$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)
{
// e107::getConfig('core')->set($key, $val); //FIXME - pref class issues.