X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fextensions.php;h=ed6f43c50386877ce402900c253d32e7e7d4e8db;hb=6586600d8020147192e5f28ca2a3a0153f774d3c;hp=cfe82ae48efecd04076eb52701b78d3633ef19c8;hpb=f13b0c89b6dce2dc31ef3c58f0e2ad4821d7bee8;p=mailer.git diff --git a/inc/extensions.php b/inc/extensions.php index cfe82ae48e..ed6f43c503 100644 --- a/inc/extensions.php +++ b/inc/extensions.php @@ -38,17 +38,19 @@ if (!defined('__SECURITY')) { } // -function EXTENSION_REGISTER ($ext_name, $id, $dry_run=false) -{ +function EXTENSION_REGISTER ($ext_name, $id, $dry_run=false) { global $NOTES, $_CONFIG, $INC_POOL, $cacheInstance; + // This shall never do a non-admin user! + if (!IS_ADMIN()) return false; + + // Is this extension already installed? + if (EXT_IS_ACTIVE($ext_name)) return false; + // We want to register an extension and registration status is by default "failed" (= false) $EXT_LOAD_MODE = "register"; $ret = false; $SQLs = array(); $INC_POOL = array(); - // This shall never do a non-admin user! - if (!IS_ADMIN()) return false; - // By default the language prefix is the extension's name // @TODO: Do we really need this one anymore? Can't we just take $ext_name and done? $EXT_LANG_PREFIX = $ext_name; @@ -56,9 +58,6 @@ function EXTENSION_REGISTER ($ext_name, $id, $dry_run=false) // By default we have no failtures $EXT_REPORTS_FAILURE = false; - // Is this extension already installed? - if (EXT_IS_ACTIVE($ext_name)) return false; - // Generate file name $file = sprintf("%sinc/extensions/ext-%s.php", PATH, $ext_name); @@ -120,7 +119,7 @@ function EXTENSION_REGISTER ($ext_name, $id, $dry_run=false) // If versions mismatch update extension first $ext_ver = GET_EXT_VERSION($EXT_UPDATE_DEPENDS); - // Extension version set? + // Extension version set? If empty the extension is not registered if (empty($ext_ver)) { // Extension not registered so far so first load task's ID... $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_task_system WHERE task_type='EXTENSION' AND subject LIKE '[%s:]%%' LIMIT 1", @@ -201,9 +200,9 @@ function EXTENSION_REGISTER ($ext_name, $id, $dry_run=false) if ((EXT_IS_ACTIVE("cache")) || (GET_EXT_VERSION("cache") != "")) { //* DEBUG: */ echo __LINE__.": DESTROY!
\n"; // Remove cache files - if ($cacheInstance->cache_file("extensions", true)) $cacheInstance->cache_destroy(); - if ($cacheInstance->cache_file("mod_reg")) $cacheInstance->cache_destroy(); - if ($cacheInstance->cache_file("config")) $cacheInstance->cache_destroy(); + if ($cacheInstance->loadCacheFile("extensions", true)) $cacheInstance->destroyCacheFile(); + if ($cacheInstance->loadCacheFile("mod_reg")) $cacheInstance->destroyCacheFile(); + if ($cacheInstance->loadCacheFile("config")) $cacheInstance->destroyCacheFile(); } // END - if // Check for added include files @@ -338,9 +337,9 @@ function EXTENSION_RUN_SQLS($id, $EXT_LOAD_MODE) { if (((EXT_IS_ACTIVE("cache")) || (GET_EXT_VERSION("cache") != "")) && (((SQL_AFFECTEDROWS() == 1)) || ($sqlRan === true) || ($EXT_LOAD_MODE == "activate") || ($EXT_LOAD_MODE == "deactivate"))) { //* DEBUG: */ echo __LINE__.": DESTROY!
\n"; // Remove cache files - if ($cacheInstance->cache_file("extensions", true)) $cacheInstance->cache_destroy(); - if ($cacheInstance->cache_file("mod_reg")) $cacheInstance->cache_destroy(); - if ($cacheInstance->cache_file("config")) $cacheInstance->cache_destroy(); + if ($cacheInstance->loadCacheFile("extensions", true)) $cacheInstance->destroyCacheFile(); + if ($cacheInstance->loadCacheFile("mod_reg")) $cacheInstance->destroyCacheFile(); + if ($cacheInstance->loadCacheFile("config")) $cacheInstance->destroyCacheFile(); // @TODO This causes the whole (!) menu cache being purged CACHE_PURGE_ADMIN_MENU(); @@ -537,9 +536,9 @@ function EXTENSION_UPDATE($file, $ext, $EXT_VER, $dry_run=false) // Update cache if (EXT_IS_ACTIVE("cache")) { - if ($cacheInstance->cache_file("extensions", true)) $cacheInstance->cache_destroy(); - if ($cacheInstance->cache_file("config")) $cacheInstance->cache_destroy(); - if ($cacheInstance->cache_file("mod_reg")) $cacheInstance->cache_destroy(); + if ($cacheInstance->loadCacheFile("extensions", true)) $cacheInstance->destroyCacheFile(); + if ($cacheInstance->loadCacheFile("config")) $cacheInstance->destroyCacheFile(); + if ($cacheInstance->loadCacheFile("mod_reg")) $cacheInstance->destroyCacheFile(); } // END - if // Remove array