Changeset 1667

Show
Ignore:
Timestamp:
08/21/2007 11:27:35 PM (17 months ago)
Author:
driehle
Message:

first step to solution of #137

Location:
trunk
Files:
1 added
4 modified

Legend:

Unmodified
Added
Removed
  • trunk/admin/update.php

    r1663 r1667  
    22### update.php  Jlog 1.0.2 => Jlog 1.1.0 
    33 
    4  define("JLOG_ADMIN", true); 
    5  define("JLOG_UPDATE", true); 
    6  require('..'.DIRECTORY_SEPARATOR.'personal'.DIRECTORY_SEPARATOR.'settings.inc.php'); 
    7  
    8  $c['meta']['title'] = "Update"; 
    9  $c['main'] = "<h2>Update von <var>1.0.2</var> auf <var>1.1.0</var></h2>"; 
    10  
    11         require(JLOG_BASEPATH."scripts".DIRECTORY_SEPARATOR."update.php"); 
    12          
    13  $c['main'] .= "<p>Update erfolgreich, <a href='../'>Viel Spaß</a>!</p>"; 
    14  
     4  define("JLOG_ADMIN", true); 
     5  define("JLOG_UPDATE", true); 
     6   
     7  // read prefered language from browser 
     8  $dir = opendir('..'.DIRECTORY_SEPARATOR.'lang'); 
     9  $languages = array(); 
     10  while(($file = readdir($dir)) !== false) { 
     11    if($file == '.' OR $file == '..') continue; 
     12    if(!preg_match('/lang\.([a-zA-z0-9]+)\.inc\.php/', $file, $matches)) continue; 
     13    $languages[] = $matches[1]; 
     14  } 
     15  // define language if not already done 
     16  if(!defined('JLOG_LANGUAGE')) { 
     17    define('JLOG_LANGUAGE', 'de'); 
     18  } 
     19  error_reporting(E_ALL); 
     20   
     21  require('..'.DIRECTORY_SEPARATOR.'personal'.DIRECTORY_SEPARATOR.'settings.inc.php'); 
     22  require('..'.DIRECTORY_SEPARATOR.'scripts'.DIRECTORY_SEPARATOR.'version.inc.php'); 
     23   
     24  
     25  $c['meta']['title'] = "Update"; 
     26  $c['main'] = "<h2>Update von <var>1.0.2</var> auf <var>1.1.0</var></h2>"; 
     27  
     28  if(!isset($_POST['update'])) { 
     29    $c['main'] .= "<form action='".$_SERVER['PHP_SELF']."' method='post'> 
     30       <p><label for='language'>Bitte wÀhlen Sie die gewÃŒnschte Sprache fÃŒr Ihren Weblog:</label><br /> 
     31          <select class='userdata' id='language' name='jlog_language'>";  
     32    foreach($languages as $lang) { 
     33      $c['main'] .= "<option"; 
     34      if($lang == JLOG_LANGUAGE) $c['main'] .= " selected='selected'"; 
     35      $c['main'] .= ">$lang</option>"; 
     36    } 
     37    $c['main'] .= "</select> 
     38       </p> 
     39       <p>Möchten Sie Ihre alten Sprachdateien behalten, oder diese durch neue ersetzen lassen? 
     40          Solange Sie an den alten Sprachdateien keine VerÀnderungen vorgenommen haben empfehlen wir dringenst, die neuen  
     41          Sprachdateien zu installieren.<br /> 
     42          <label><input type='radio' name='languagekeep' value='yes' /> Ja, alte Dateien behalten.</label> 
     43          <label><input type='radio' name='languagekeep' value='no' /> Nein, neue Dateien installieren.</label></p> 
     44       <p><input type='submit' name='update' value='Update starten' /></p> 
     45       </form>"; 
     46  } 
     47  else { 
     48    require(JLOG_BASEPATH."scripts".DIRECTORY_SEPARATOR."settings.class.php"); 
     49     
     50    $update = new Settings($l); 
     51    $update->get_data(); 
     52    $update->get_userdata(); 
     53    $errors = $update->do_settings(); 
     54     
     55    if($_POST['languagekeep'] == 'yes') { 
     56      rename(JLOG_BASEPATH."lang".DIRECTORY_SEPARATOR."lang.inc.php", JLOG_BASEPATH."lang".DIRECTORY_SEPARATOR."lang.OldLanguage.inc.php"); 
     57      rename(JLOG_BASEPATH."lang".DIRECTORY_SEPARATOR."lang-admin.inc.php", JLOG_BASEPATH."lang".DIRECTORY_SEPARATOR."lang-admin.OldLanguage.inc.php"); 
     58    } 
     59    else { 
     60      unlink(JLOG_BASEPATH."lang".DIRECTORY_SEPARATOR."lang.inc.php"); 
     61      unlink(JLOG_BASEPATH."lang".DIRECTORY_SEPARATOR."lang-admin.inc.php"); 
     62    } 
     63     
     64    if(empty($errors)) { 
     65      require(JLOG_BASEPATH."scripts".DIRECTORY_SEPARATOR."update.php"); 
     66      $c['main'] .= "<p>Update erfolgreich, <a href='../'>Viel Spaß</a>!</p>"; 
     67    } 
     68    else { 
     69      $c['main'] .= '<p>Fehler beim Update:</p><ul>'; 
     70      foreach($errors as $error) { 
     71        $c['main'] .= '<li>'.htmlspecialchars($error).'</li>'; 
     72      } 
     73      $c['main'] .= '</ul>'; 
     74    } 
     75  } 
    1576 
    1677require(JLOG_BASEPATH.'scripts'.DIRECTORY_SEPARATOR.'do_template.php'); 
  • trunk/scripts/settings.class.php

    r1665 r1667  
    55 
    66class Settings { 
    7  
     7     
     8    var $d = array(); 
     9     
    810    function Settings($l) { 
    911     # no return 
     
    2931                        'JLOG_VERSION', 
    3032                        'JLOG_LOGIN', 
    31                         'JLOG_LANGUAGE' 
     33                        'JLOG_SOFTWARE_VERSION', 
     34                        'JLOG_SOFTWARE_URL', 
     35                        'JLOG_SOFTWARE_PHPV', 
     36                        'JLOG_SOFTWARE_MYSQLV' 
    3237                     ); 
    3338     
     
    4651     
    4752     // get the data from users $d array and put it into the class 
    48      $this->d = $d; 
     53      if($d !== false) { 
     54        if($exclusiv) $this->d = $d; 
     55        else $this->d = array_merge($this->d, $d); 
     56      } 
    4957    
    5058      if(JLOG_ADMIN === true) { 
     
    6270          $this->d['jlog_admin_password_again'] = md5($this->d['jlog_admin_password_again']); 
    6371        } 
     72        $this->d['jlog_installed_version'] = JLOG_INSTALLED_VERSION; 
     73        $this->d['jlog_installed_url'] = JLOG_INSTALLED_URL; 
     74        $this->d['jlog_installed_phpv'] = JLOG_INSTALLED_PHPV; 
     75        $this->d['jlog_installed_mysqlv'] = JLOG_INSTALLED_MYSQLV; 
    6476      } 
    6577      else { 
    6678        $this->d['jlog_admin_password'] = md5($this->d['jlog_admin_password']); 
    6779        $this->d['jlog_admin_password_again'] = md5($this->d['jlog_admin_password_again']); 
     80      } 
     81       
     82      if((defined('JLOG_SETUP') AND JLOG_SETUP === true) OR (defined('JLOG_UPDATE') AND JLOG_UPDATE === true)) { 
     83        $this->d['jlog_installed_version'] = JLOG_SOFTWARE_VERSION; 
     84        $this->d['jlog_installed_url'] = JLOG_SOFTWARE_URL; 
     85        $this->d['jlog_installed_phpv'] = JLOG_SOFTWARE_PHPV; 
     86        $this->d['jlog_installed_mysqlv'] = JLOG_SOFTWARE_MYSQLV; 
    6887      } 
    6988    } 
     
    133152     <form action='".$_SERVER['PHP_SELF']."' method='post'> 
    134153      <fieldset><legend>".$this->l['admin']['m_metadata']."</legend> 
    135        <p><label for='website'>".$this->l['admin']['m_language']."</label><br /> 
     154       <p><label for='language'>".$this->l['admin']['m_language']."</label><br /> 
    136155          <select class='userdata' id='language' name='jlog_language'>"; 
    137156     foreach($languages as $lang) { 
    138157      $form .= "<option"; 
    139       if($lang == JLOG_LANGUAGE) $form .= " selected='selected'"; 
     158      if((isset($_POST['jlog_language']) AND $lang = $_POST['jlog_language']) OR $lang == JLOG_LANGUAGE) 
     159        $form .= " selected='selected'"; 
    140160      $form .= ">$lang</option>"; 
    141161     } 
     
    180200     "; 
    181201 
    182      if(JLOG_SETUP === true) { 
     202     if(defined('JLOG_SETUP') AND JLOG_SETUP === true) { 
    183203     $form .= 
    184204     " 
  • trunk/scripts/update.php

    r1663 r1667  
    2525     } 
    2626if(defined('JLOG_ADMIN') AND !defined('JLOG_COMMENTS')) { 
    27     $data['rss'] = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?> 
     27    $data['rss'] = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?" . "> 
    2828    <rss version=\"2.0\"> 
    2929       <channel> 
  • trunk/setup.php

    r1666 r1667  
    1111 define("JLOG_NEW_VERSION", '1.1.0'); 
    1212 define("JLOG_SETUP", true); 
    13  define("JLOG_PHPV", "4.1.1"); 
    14  define("JLOG_MYSQLV", "4.1.0"); 
     13 define("JLOG_ADMIN", true); 
    1514 $basepath = dirname( __FILE__ ).DIRECTORY_SEPARATOR; 
    1615 
     
    1817 define("JLOG_WEBSITE", $_SERVER["HTTP_HOST"]); 
    1918 define("JLOG_PATH", dirname("http://".$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"])); 
    20    
     19 
     20 // read prefered language from browser 
    2121 $dir = opendir('.'.DIRECTORY_SEPARATOR.'lang'); 
    2222 $languages = array(); 
     
    2929 define('JLOG_LANGUAGE', $lang); 
    3030  
     31 // load required scripts and libraries 
    3132 require('.'.DIRECTORY_SEPARATOR.'lang'.DIRECTORY_SEPARATOR.'lang.'.$lang.'.inc.php'); 
    3233 require('.'.DIRECTORY_SEPARATOR.'lang'.DIRECTORY_SEPARATOR.'lang-admin.'.$lang.'.inc.php'); 
     
    3536 require('.'.DIRECTORY_SEPARATOR.'scripts'.DIRECTORY_SEPARATOR.'settings.class.php'); 
    3637 require('.'.DIRECTORY_SEPARATOR.'scripts'.DIRECTORY_SEPARATOR.'url_syntax.php'); 
     38 require('.'.DIRECTORY_SEPARATOR.'scripts'.DIRECTORY_SEPARATOR.'version.inc.php'); 
     39  
     40 define("JLOG_NEW_VERSION", JLOG_SOFTWARE_VERSION); 
     41 define("JLOG_PHPV", JLOG_SOFTWARE_PHPV); 
     42 define("JLOG_MYSQLV", JLOG_SOFTWARE_MYSQLV); 
     43  
    3744 $errors = array(); 
    3845  
     
    5764       $c .= "<li>".$l['admin']['s_personal_ok']."</li>\n"; 
    5865 
    59        // build settings.php 
     66       // build settings.inc.php 
    6067       if(count($errors = $setup->do_settings()) == 0) $c .= "<li>".$l['admin']['master_ok']."</li>\n"; 
    6168      }