| 48 | | require(JLOG_BASEPATH."scripts".DIRECTORY_SEPARATOR."settings.class.php"); |
|---|
| | 50 | /** |
|---|
| | 51 | * Wir mÃŒssen an dieser Stelle das Administrator-Passwort prÃŒfen, wÃŒrde ich |
|---|
| | 52 | * hierfÃŒr /personal/settings.inc.php einbinden, um die Konstante |
|---|
| | 53 | * JLOG_ADMIN_PASSWORT zu erhalten, wÃŒrde mir gleichzeitig /scripts/prepend.inc.php |
|---|
| | 54 | * eingebunden werden, was weiteren Code ausfÃŒhren wÃŒrde, welcher letztendlich |
|---|
| | 55 | * eine Endlosschleife ergÀbe (Redirect auf dieses Script). |
|---|
| | 56 | * |
|---|
| | 57 | * Aus diesem Grund mÃŒssen wir es wohl etwas komplizierter machen und den |
|---|
| | 58 | * Passwort-Hash von Hand auslesen, welcher ungefÀhr so aussieht: |
|---|
| | 59 | * |
|---|
| | 60 | * define('JLOG_ADMIN_PASSWORD', '3858f62230ac3c915f300c664312c63f'); |
|---|
| | 61 | **/ |
|---|
| | 62 | $lines = file(JLOG_BASEPATH."personal".DIRECTORY_SEPARATOR."settings.inc.php"); |
|---|
| | 63 | $password_hash = ''; |
|---|
| | 64 | foreach($lines as $line) { |
|---|
| | 65 | if(preg_match("/'JLOG_ADMIN_PASSWORD', '([^']*)'/", $line, $result)) { |
|---|
| | 66 | $password_hash = $result[1]; |
|---|
| | 67 | break; |
|---|
| | 68 | } |
|---|
| | 69 | } |
|---|
| 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"); |
|---|
| | 71 | if(md5($_POST['password']) !== $password_hash) { |
|---|
| | 72 | $errors[] = 'Administrator-Passwort fehlerhaft!'; |
|---|
| | 79 | require(JLOG_BASEPATH."scripts".DIRECTORY_SEPARATOR."settings.class.php"); |
|---|
| | 80 | |
|---|
| | 81 | $update = new Settings($l); |
|---|
| | 82 | $update->get_data(); |
|---|
| | 83 | $update->get_userdata(); |
|---|
| | 84 | $errors = $update->do_settings(); |
|---|
| | 85 | |
|---|
| | 86 | if($_POST['languagekeep'] == 'yes') { |
|---|
| | 87 | $f1 = @rename(JLOG_BASEPATH."lang".DIRECTORY_SEPARATOR."lang.inc.php", JLOG_BASEPATH."lang".DIRECTORY_SEPARATOR."lang.OLD.inc.php"); |
|---|
| | 88 | $f2 = @rename(JLOG_BASEPATH."lang".DIRECTORY_SEPARATOR."lang-admin.inc.php", JLOG_BASEPATH."lang".DIRECTORY_SEPARATOR."lang-admin.OLD.inc.php"); |
|---|
| | 89 | // falls umbenennen scheitert, es mit kopieren und löschen probieren |
|---|
| | 90 | if($f1 === false) { |
|---|
| | 91 | @copy(JLOG_BASEPATH."lang".DIRECTORY_SEPARATOR."lang.inc.php", JLOG_BASEPATH."lang".DIRECTORY_SEPARATOR."lang.OLD.inc.php"); |
|---|
| | 92 | @unlink(JLOG_BASEPATH."lang".DIRECTORY_SEPARATOR."lang.inc.php"); |
|---|
| | 93 | } |
|---|
| | 94 | if($f2 === false) { |
|---|
| | 95 | @copy(JLOG_BASEPATH."lang".DIRECTORY_SEPARATOR."lang-admin.inc.php", JLOG_BASEPATH."lang".DIRECTORY_SEPARATOR."lang-admin.OLD.inc.php"); |
|---|
| | 96 | @unlink(JLOG_BASEPATH."lang".DIRECTORY_SEPARATOR."lang-admin.inc.php"); |
|---|
| | 97 | } |
|---|
| | 98 | } |
|---|
| | 99 | else { |
|---|
| | 100 | @unlink(JLOG_BASEPATH."lang".DIRECTORY_SEPARATOR."lang.inc.php"); |
|---|
| | 101 | @unlink(JLOG_BASEPATH."lang".DIRECTORY_SEPARATOR."lang-admin.inc.php"); |
|---|
| | 102 | } |
|---|
| | 103 | |
|---|