Changeset 1767

Show
Ignore:
Timestamp:
09/30/2008 09:34:22 PM (2 months ago)
Author:
driehle
Message:

Bugfix for JlogUpdater? class

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/scripts/JlogUpdater.php

    r1761 r1767  
    6262            return '<p>' . $l['admin']['login_false_pw'] . '</p>'; 
    6363        } 
     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             
    6470        $error = false; 
    6571        $html = ''; 
     
    6874            $class = $this->_loadUpdateClass($version, $this->versions[$version]); 
    6975            $html .= sprintf("<h2>Update <var>%s</var> &#x2192; <var>%s</var></h2>\n", $version, $this->versions[$version]); 
    70             $result = $class->performUpdate($l); 
     76            $result = $class->performUpdate($l, $settings); 
    7177            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                } 
    7488            } 
    7589            else { 
     
    120134    } 
    121135     
    122     function _updateVersionNumber($newver)  
     136    function _updateVersionNumber($settings, $newver)  
    123137    {    
    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); 
    132142    
    133143            // rewrite settings.inc.php 
    134             return $update->do_settings(); 
     144            return $settings->do_settings(); 
    135145    } 
    136146} 
  • trunk/scripts/update/102To110.php

    r1763 r1767  
    3131    } 
    3232     
    33     function performUpdate($l
     33    function performUpdate($l, $settings
    3434    { 
    35             require_once(JLOG_BASEPATH."scripts".DIRECTORY_SEPARATOR."settings.class.php"); 
    36     
    37             // read current settings from environment and POSTed data 
    38             $update = new Settings($l); 
    39             $update->importDataByConstants(); 
    40     
    4135            // 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); 
    4438            } 
    4539    
    4640            // reset hash of the administrator password 
    47             $update->d['jlog_admin_password'] = md5($_POST['password']); 
     41            $settings->d['jlog_admin_password'] = md5($_POST['password']); 
    4842    
    4943            // store chosen language 
    5044            $lang = in_array($_POST['j110_language'], $this->languages) ? $_POST['j110_language'] : 'de'; 
    51             $update->d['jlog_language'] = $lang; 
     45            $settings->d['jlog_language'] = $lang; 
    5246    
    53             // rewrite settings.inc.php 
    54             $update_errors = $update->do_settings(); 
     47            $update_errors = array(); 
    5548          
    5649            /** 
  • trunk/scripts/update/110To111.php

    r1738 r1767  
    88    } 
    99     
    10     function performUpdate($l
     10    function performUpdate($l, $settings
    1111    { 
    1212            return true; 
  • trunk/scripts/update/111To112.php

    r1766 r1767  
    99    } 
    1010     
    11     function performUpdate($l
     11    function performUpdate($l, $settings
    1212    { 
    13             require_once(JLOG_BASEPATH."scripts".DIRECTORY_SEPARATOR."settings.class.php"); 
    14     
    15             // read current settings from environment and POSTed data 
    16             $update = new Settings($l); 
    17             $update->importDataByConstants(); 
    18          
    1913        // in jlog versions prior to jlog 1.1.2 we had escaping problems that caused 
    2014        // a lot of backslashes in front of a double quote 
    2115        // so we have to replace \" or \\" or \\\" and so on by ". 
    2216        $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') 
    2620        ); 
    2721        foreach ($data as $key => $value) { 
    2822            $value = preg_replace('=\\\\+"=', '"', $value); 
    29             $update->setValue($key, $value); 
     23            $settings->setValue($key, $value); 
    3024        } 
    3125         
    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; 
    4127    } 
    4228}