Changeset 1767
- Timestamp:
- 09/30/2008 09:34:22 PM (2 months ago)
- Files:
-
- trunk/scripts/JlogUpdater.php (modified) (3 diffs)
- trunk/scripts/update/102To110.php (modified) (1 diff)
- trunk/scripts/update/110To111.php (modified) (1 diff)
- trunk/scripts/update/111To112.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/scripts/JlogUpdater.php
r1761 r1767 62 62 return '<p>' . $l['admin']['login_false_pw'] . '</p>'; 63 63 } 64 65 require_once(JLOG_BASEPATH."scripts".DIRECTORY_SEPARATOR."settings.class.php"); 66 // read current settings from environment 67 $settings = new Settings($l); 68 $settings->importDataByConstants(); 69 64 70 $error = false; 65 71 $html = ''; … … 68 74 $class = $this->_loadUpdateClass($version, $this->versions[$version]); 69 75 $html .= sprintf("<h2>Update <var>%s</var> → <var>%s</var></h2>\n", $version, $this->versions[$version]); 70 $result = $class->performUpdate($l );76 $result = $class->performUpdate($l, $settings); 71 77 if ($result === true) { 72 $html .= '<p>' . $l['admin']['update_successfull_part'] . '</p>'; 73 $this->_updateVersionNumber($this->versions[$version]); 78 // we know that update class ran successfully 79 $result = $this->_updateVersionNumber($settings, $this->versions[$version]); 80 // check if errors occured 81 if (!empty($result)) { 82 $this->_renderErrors($result); 83 break; 84 } 85 else { 86 $html .= '<p>' . $l['admin']['update_successfull_part'] . '</p>'; 87 } 74 88 } 75 89 else { … … 120 134 } 121 135 122 function _updateVersionNumber($ newver)136 function _updateVersionNumber($settings, $newver) 123 137 { 124 // read current settings from environment and POSTed data 125 $update = new Settings($l); 126 $update->importDataByConstants(); 127 128 $update->setValue('jlog_installed_version', $newver); 129 $update->setValue('jlog_installed_url', JLOG_SOFTWARE_URL); 130 $update->setValue('jlog_installed_phpv', JLOG_SOFTWARE_PHPV); 131 $update->setValue('jlog_installed_mysqlv', JLOG_SOFTWARE_MYSQLV); 138 $settings->setValue('jlog_installed_version', $newver); 139 $settings->setValue('jlog_installed_url', JLOG_SOFTWARE_URL); 140 $settings->setValue('jlog_installed_phpv', JLOG_SOFTWARE_PHPV); 141 $settings->setValue('jlog_installed_mysqlv', JLOG_SOFTWARE_MYSQLV); 132 142 133 143 // rewrite settings.inc.php 134 return $ update->do_settings();144 return $settings->do_settings(); 135 145 } 136 146 } trunk/scripts/update/102To110.php
r1763 r1767 31 31 } 32 32 33 function performUpdate($l )33 function performUpdate($l, $settings) 34 34 { 35 require_once(JLOG_BASEPATH."scripts".DIRECTORY_SEPARATOR."settings.class.php");36 37 // read current settings from environment and POSTed data38 $update = new Settings($l);39 $update->importDataByConstants();40 41 35 // convert all settings to utf8 42 foreach($ update->d as $key => $value) {43 $ update->d[$key] = utf8_encode($value);36 foreach($settings->d as $key => $value) { 37 $settings->d[$key] = utf8_encode($value); 44 38 } 45 39 46 40 // reset hash of the administrator password 47 $ update->d['jlog_admin_password'] = md5($_POST['password']);41 $settings->d['jlog_admin_password'] = md5($_POST['password']); 48 42 49 43 // store chosen language 50 44 $lang = in_array($_POST['j110_language'], $this->languages) ? $_POST['j110_language'] : 'de'; 51 $ update->d['jlog_language'] = $lang;45 $settings->d['jlog_language'] = $lang; 52 46 53 // rewrite settings.inc.php 54 $update_errors = $update->do_settings(); 47 $update_errors = array(); 55 48 56 49 /** trunk/scripts/update/110To111.php
r1738 r1767 8 8 } 9 9 10 function performUpdate($l )10 function performUpdate($l, $settings) 11 11 { 12 12 return true; trunk/scripts/update/111To112.php
r1766 r1767 9 9 } 10 10 11 function performUpdate($l )11 function performUpdate($l, $settings) 12 12 { 13 require_once(JLOG_BASEPATH."scripts".DIRECTORY_SEPARATOR."settings.class.php");14 15 // read current settings from environment and POSTed data16 $update = new Settings($l);17 $update->importDataByConstants();18 19 13 // in jlog versions prior to jlog 1.1.2 we had escaping problems that caused 20 14 // a lot of backslashes in front of a double quote 21 15 // so we have to replace \" or \\" or \\\" and so on by ". 22 16 $data = array( 23 'jlog_description' => $ update->getValue('jlog_description'),24 'jlog_website' => $ update->getValue('jlog_website'),25 'jlog_publisher' => $ update->getValue('jlog_publisher')17 'jlog_description' => $settings->getValue('jlog_description'), 18 'jlog_website' => $settings->getValue('jlog_website'), 19 'jlog_publisher' => $settings->getValue('jlog_publisher') 26 20 ); 27 21 foreach ($data as $key => $value) { 28 22 $value = preg_replace('=\\\\+"=', '"', $value); 29 $ update->setValue($key, $value);23 $settings->setValue($key, $value); 30 24 } 31 25 32 // rewrite settings.inc.php 33 $update_errors = $update->do_settings(); 34 35 if(empty($update_errors)) { 36 return true; 37 } 38 else { 39 return $update_errors; 40 } 26 return true; 41 27 } 42 28 }
