mirror of
https://github.com/slawkens/myaac.git
synced 2025-09-14 12:33:35 +02:00
Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
50d649dbde | ||
![]() |
6c568fd36a | ||
![]() |
fa6b6aa153 | ||
![]() |
ae639d65b0 | ||
![]() |
35e2483de8 | ||
![]() |
bbf923e1a6 |
@@ -1,5 +1,16 @@
|
||||
# Changelog
|
||||
|
||||
## [1.3.3 - 04.04.2025]
|
||||
|
||||
### Fixed
|
||||
* Fix uninstall plugin when plugin is disabled (https://github.com/slawkens/myaac/commit/6c568fd36a271270684fc412ccd556b230273a6d)
|
||||
|
||||
### Changed
|
||||
* Display more useful info when error parsing config.lua (https://github.com/slawkens/myaac/commit/fa6b6aa153ffc131e0d1631a4dcd9012a5850c2e)
|
||||
|
||||
### Other
|
||||
* Small adjustments (https://github.com/slawkens/myaac/commit/35e2483de86e295bdf089cceffa25842eeb2e34c, https://github.com/slawkens/myaac/commit/ae639d65b0bfa491e747e907e2ebc77f83f47981)
|
||||
|
||||
## [1.3.2 - 01.04.2025]
|
||||
|
||||
### Fixed
|
||||
|
@@ -26,7 +26,7 @@
|
||||
if (version_compare(phpversion(), '8.1', '<')) die('PHP version 8.1 or higher is required.');
|
||||
|
||||
const MYAAC = true;
|
||||
const MYAAC_VERSION = '1.3.2';
|
||||
const MYAAC_VERSION = '1.3.3';
|
||||
const DATABASE_VERSION = 43;
|
||||
const TABLE_PREFIX = 'myaac_';
|
||||
define('START_TIME', microtime(true));
|
||||
|
@@ -31,11 +31,11 @@ require_once 'common.php';
|
||||
require_once SYSTEM . 'functions.php';
|
||||
|
||||
$uri = $_SERVER['REQUEST_URI'];
|
||||
if(false !== strpos($uri, 'index.php')) {
|
||||
if(str_contains($uri, 'index.php')) {
|
||||
$uri = str_replace_first('/index.php', '', $uri);
|
||||
}
|
||||
|
||||
if(0 === strpos($uri, '/')) {
|
||||
if(str_starts_with($uri, '/')) {
|
||||
$uri = str_replace_first('/', '', $uri);
|
||||
}
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
server {
|
||||
listen 80;
|
||||
root /home/otserv/www/public;
|
||||
root /var/www/html;
|
||||
index index.php;
|
||||
server_name your-domain.com;
|
||||
|
||||
|
@@ -1012,12 +1012,19 @@ function load_config_lua($filename)
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach($result as $tmp_key => $tmp_value) // load values defined by other keys, like: dailyFragsToBlackSkull = dailyFragsToRedSkull
|
||||
foreach($result as $tmp_key => $tmp_value) { // load values defined by other keys, like: dailyFragsToBlackSkull = dailyFragsToRedSkull
|
||||
$value = str_replace($tmp_key, $tmp_value, $value);
|
||||
$ret = @eval("return $value;");
|
||||
if((string) $ret == '' && trim($value) !== '""') // = parser error
|
||||
{
|
||||
throw new RuntimeException('ERROR: Loading config.lua file. Line <b>' . ($ln + 1) . '</b> of LUA config file is not valid [key: <b>' . $key . '</b>]');
|
||||
}
|
||||
|
||||
try {
|
||||
$ret = eval("return $value;");
|
||||
}
|
||||
catch (Throwable $e) {
|
||||
throw new RuntimeException('ERROR: Loading config.lua file. Line: ' . ($ln + 1) . ' - Unable to parse value "' . $value . '" - ' . $e->getMessage());
|
||||
}
|
||||
|
||||
if((string) $ret == '' && trim($value) !== '""') {
|
||||
throw new RuntimeException('ERROR: Loading config.lua file. Line ' . ($ln + 1) . ' is not valid [key: ' . $key . ']');
|
||||
}
|
||||
$result[$key] = $ret;
|
||||
}
|
||||
|
@@ -675,26 +675,41 @@ class Plugins {
|
||||
|
||||
public static function uninstall($plugin_name): bool
|
||||
{
|
||||
$isDisabled = self::existDisabled($plugin_name);
|
||||
if($isDisabled) {
|
||||
self::enable($plugin_name);
|
||||
}
|
||||
|
||||
$revertEnable = function() use ($isDisabled, $plugin_name) {
|
||||
if($isDisabled) {
|
||||
self::disable($plugin_name);
|
||||
}
|
||||
};
|
||||
|
||||
$filename = BASE . 'plugins/' . $plugin_name . '.json';
|
||||
if(!file_exists($filename)) {
|
||||
self::$error = 'Plugin ' . $plugin_name . ' does not exist.';
|
||||
$revertEnable();
|
||||
return false;
|
||||
}
|
||||
|
||||
$string = file_get_contents($filename);
|
||||
$plugin_info = json_decode($string, true);
|
||||
if(!$plugin_info) {
|
||||
self::$error = 'Cannot load plugin info ' . $plugin_name . '.json';
|
||||
$revertEnable();
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!isset($plugin_info['uninstall'])) {
|
||||
self::$error = "Plugin doesn't have uninstall options defined. Skipping...";
|
||||
$revertEnable();
|
||||
return false;
|
||||
}
|
||||
|
||||
$success = true;
|
||||
foreach($plugin_info['uninstall'] as $file) {
|
||||
if(strpos($file, '/') === 0) {
|
||||
if(str_starts_with($file, '/')) {
|
||||
$success = false;
|
||||
self::$error = "You cannot use absolute paths (starting with slash - '/'): " . $file;
|
||||
break;
|
||||
@@ -726,6 +741,7 @@ class Plugins {
|
||||
return true;
|
||||
}
|
||||
|
||||
$revertEnable();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user