X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fextensions-functions.php;h=59e2e95ded0f601a09d53dabb77eed19b259741c;hb=abf0306300d9abda6ad84dffc7b0be326f978978;hp=19d364c06b6f76572347eefaa3cf8115d8370780;hpb=392c181338f84b2e0e0fdfbd304b1ca9d8da077e;p=mailer.git diff --git a/inc/extensions-functions.php b/inc/extensions-functions.php index 19d364c06b..59e2e95ded 100644 --- a/inc/extensions-functions.php +++ b/inc/extensions-functions.php @@ -102,7 +102,7 @@ function loadExtension ($ext_name, $ext_mode = 'init', $ext_ver = '', $dry_run = // Download functions file loadIncludeOnce($funcsInclude); } // END - if - } elseif ((!isset($GLOBALS['cache_array']['extension']['ext_func'][$ext_name])) && (isDebugModeEnabled()) && (getOutputMode() == '0') && ($ext_name != 'sql_patches') && (substr($ext_name, 0, 10) != 'admintheme') && (getExtensionMode() == 'test')) { + } elseif ((!isset($GLOBALS['cache_array']['extension']['ext_func'][$ext_name])) && (isDebugModeEnabled()) && (getOutputMode() == 0) && ($ext_name != 'sql_patches') && (substr($ext_name, 0, 10) != 'admintheme') && (getExtensionMode() == 'test')) { // No functions file is not so good... logDebugMessage(__FUNCTION__, __LINE__, sprintf("NOTICE: Extension %s has no own functions file or we cannot read from it. mode=%s", $ext_name, @@ -534,7 +534,7 @@ function getExtensionVersion ($ext_name) { // Count cache hits incrementStatsEntry('cache_hits'); - } elseif ((!isCacheInstanceValid()) || (isset($GLOBALS['cache_array']['extension'])) || (getOutputMode() != '0')) { + } elseif ((!isCacheInstanceValid()) || (isset($GLOBALS['cache_array']['extension'])) || (getOutputMode() != 0)) { // Load from database $result = SQL_QUERY_ESC("SELECT `ext_version` FROM `{?_MYSQL_PREFIX?}_extensions` WHERE `ext_name`='%s' LIMIT 1", array($ext_name), __FUNCTION__, __LINE__); @@ -1576,5 +1576,137 @@ function isExtensionFunctionFileReadable ($ext_name) { return ($GLOBALS['cache_array']['extension']['ext_func'][$ext_name] == 'Y'); } +// Adds an admin menu to the SQL queue of the menu entry is not found +function addAdminMenuSql ($action, $what, $title, $descr, $sort) { + // Now check if this menu is there + if (!isMenuActionValid('admin', $action, $what)) { + // Is what null? + if (is_null($what)) { + // Add main menu + $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES('%s',NULL,'%s','%s',%s)", + $action, + $title, + $descr, + bigintval($sort) + ); + } else { + // Add sub menu + $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES('%s','%s','%s','%s',%s)", + $action, + $what, + $title, + $descr, + bigintval($sort) + ); + } + + // Add it to the queue + addExtensionSql($sql); + } elseif (isDebugModeEnabled()) { + // Double menus should be located and fixed! + logDebugMessage(__FUNCTION__, __LINE__, sprintf("Double admin menu action=%s, what=%s detected.", $action, $what)); + } +} + +// Adds a guest menu to the SQL queue if the menu entry is not found +function addGuestMenuSql ($action, $what, $title, $visible, $locked, $sort) { + // Now check if this menu is there + if (!isMenuActionValid('guest', $action, $what)) { + // Is what null? + if (is_null($what)) { + // Add main menu + $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_guest_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES('%s',NULL,'%s','%s','%s',%s)", + $action, + $title, + $visible, + $locked, + bigintval($sort) + ); + } else { + // Add sub menu + $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_guest_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES('%s','%s','%s','%s','%s',%s)", + $action, + $what, + $title, + $visible, + $locked, + bigintval($sort) + ); + } + + // Add it to the queue + addExtensionSql($sql); + } elseif (isDebugModeEnabled()) { + // Double menus should be located and fixed! + logDebugMessage(__FUNCTION__, __LINE__, sprintf("Double guest menu action=%s, what=%s detected.", $action, $what)); + } +} + +// Adds a member menu to the SQL queue if the menu entry is not found +function addMemberMenuSql ($action, $what, $title, $visible, $locked, $sort) { + // Now check if this menu is there + if (!isMenuActionValid('member', $action, $what)) { + // Is what null? + if (is_null($what)) { + // Add main menu + $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES('%s',NULL,'%s','%s','%s',%s)", + $action, + $title, + $visible, + $locked, + bigintval($sort) + ); + } else { + // Add sub menu + $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES('%s','%s','%s','%s','%s',%s)", + $action, + $what, + $title, + $visible, + $locked, + bigintval($sort) + ); + } + + // Add it to the queue + addExtensionSql($sql); + } elseif (isDebugModeEnabled()) { + // Double menus should be located and fixed! + logDebugMessage(__FUNCTION__, __LINE__, sprintf("Double member menu action=%s, what=%s detected.", $action, $what)); + } +} + +// Adds a sponsor menu to the SQL queue if the menu entry is not found +function addSponsorMenuSql ($action, $what, $title, $active, $sort) { + // Now check if this menu is there, if no ext-sponsor is installed all is not yet added + if ((!isExtensionInstalled('sponsor')) || (!isMenuActionValid('sponsor', $action, $what))) { + // Is what null? + if (is_null($what)) { + // Add main menu + $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_menu` (`action`,`what`,`title`,`active`,`sort`) VALUES('%s',NULL,'%s','%s',%s)", + $action, + $title, + $active, + bigintval($sort) + ); + } else { + // Add sub menu + $sql = sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_menu` (`action`,`what`,`title`,`active`,`sort`) VALUES('%s','%s','%s','%s',%s)", + $action, + $what, + $title, + $active, + bigintval($sort) + ); + } + + // Add it to the queue + addExtensionSql($sql); + } elseif (isDebugModeEnabled()) { + // Double menus should be located and fixed! + logDebugMessage(__FUNCTION__, __LINE__, sprintf("Double sponsor menu action=%s, what=%s detected.", $action, $what)); + } +} + // [EOF] ?>