Revision 925
Added by doc over 16 years ago
| install.php | ||
|---|---|---|
| 29 | 29 |
exit(0); |
| 30 | 30 |
} |
| 31 | 31 |
|
| 32 |
// do not display notices and warnings during installation |
|
| 33 |
error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING); |
|
| 34 |
|
|
| 32 | 35 |
// Setup admin object |
| 33 | 36 |
require('../../config.php');
|
| 34 | 37 |
require_once(WB_PATH.'/framework/class.admin.php'); |
| ... | ... | |
| 65 | 68 |
$admin->print_error($MESSAGE['GENERIC']['CANNOT_UPLOAD']); |
| 66 | 69 |
} |
| 67 | 70 |
|
| 71 |
// Check if uploaded file is a valid language file (no binary file etc.) |
|
| 72 |
$content = file_get_contents($temp_file); |
|
| 73 |
if (strpos($content, '<?php') === false) $admin->print_error($MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE']); |
|
| 74 |
|
|
| 68 | 75 |
// Remove any vars with name "language_code" |
| 69 | 76 |
unset($language_code); |
| 70 | 77 |
|
| 78 |
// Include precheck files for versionCompare routine |
|
| 79 |
require(WB_PATH . '/framework/addon.precheck.inc.php'); |
|
| 80 |
|
|
| 71 | 81 |
// Read the temp file and look for a language code |
| 72 | 82 |
require($temp_file); |
| 73 | 83 |
$new_language_version=$language_version; |
| ... | ... | |
| 77 | 87 |
if(file_exists($temp_file)) { unlink($temp_file); } // Remove temp file
|
| 78 | 88 |
// Restore to correct language |
| 79 | 89 |
require(WB_PATH.'/languages/'.LANGUAGE.'.php'); |
| 80 |
$admin->print_error($MESSAGE['GENERIC']['INVALID']); |
|
| 90 |
$admin->print_error($MESSAGE['GENERIC']['INVALID_LANGUAGE_FILE']);
|
|
| 81 | 91 |
} |
| 82 | 92 |
|
| 83 | 93 |
// Set destination for language file |
| 84 | 94 |
$language_file = WB_PATH.'/languages/'.$language_code.'.php'; |
| 95 |
$action="install"; |
|
| 85 | 96 |
|
| 86 | 97 |
// Move to new location |
| 87 | 98 |
if (file_exists($language_file)) {
|
| 88 | 99 |
require($language_file); |
| 89 |
if ($language_version>$new_language_version) {
|
|
| 100 |
if (versionCompare($language_version, $new_language_version, '>=')) {
|
|
| 101 |
// Restore to correct language |
|
| 102 |
require(WB_PATH . '/languages/' . LANGUAGE . '.php'); |
|
| 90 | 103 |
$admin->print_error($MESSAGE['GENERIC']['ALREADY_INSTALLED']); |
| 91 | 104 |
} |
| 105 |
$action="upgrade"; |
|
| 92 | 106 |
unlink($language_file); |
| 93 | 107 |
} |
| 94 | 108 |
|
| ... | ... | |
| 104 | 118 |
require(WB_PATH.'/languages/'.LANGUAGE.'.php'); |
| 105 | 119 |
|
| 106 | 120 |
// Print success message |
| 107 |
$admin->print_success($MESSAGE['GENERIC']['INSTALLED']); |
|
| 121 |
if ($action=="install") {
|
|
| 122 |
$admin->print_success($MESSAGE['GENERIC']['INSTALLED']); |
|
| 123 |
} else {
|
|
| 124 |
$admin->print_success($MESSAGE['GENERIC']['UPGRADED']); |
|
| 125 |
} |
|
| 108 | 126 |
|
| 109 | 127 |
// Print admin footer |
| 110 | 128 |
$admin->print_footer(); |
Also available in: Unified diff
Added option to perform pre-installation checks to test requirements of Add-Ons