]> git.mxchange.org Git - mailer.git/blobdiff - inc/module-functions.php
Major rewrite of template system:
[mailer.git] / inc / module-functions.php
index c9c417467284459504b0c0a13ac40e517de469d9..3f4bcebfa695ac91e8b6ef94104daec587f20fbd 100644 (file)
@@ -116,7 +116,7 @@ function getModuleStatus ($module) {
        // Is the module_status entry there?
        if (!isModuleStatusSet($module)) {
                // Abort
-               reportBug('Module status not set. module=' . $module);
+               reportBug(__FUNCTION__, __LINE__, 'Module status not set. module=' . $module);
        } // END - if
 
        // Return it
@@ -386,11 +386,11 @@ function ifModuleHasMenu ($module, $forceDb = FALSE) {
                // Free memory
                SQL_FREERESULT($result);
        } elseif (!isExtensionInstalled('sql_patches')) {
-               // No sql_patches installed, so maybe in admin/guest/member/sponsor area or no admin registered?
+               // No ext-sql_patches installed, so maybe in admin/guest/member/sponsor area or no admin registered?
                $ret = in_array($module, array('admin', 'index', 'login', 'sponsor')); // Then there is a menu!
-       } else {
-               // Unsupported state!
-               logDebugMessage(__FUNCTION__, __LINE__, 'This should never be reached.');
+       } elseif (!isInstallationPhase()) {
+               // Unsupported state, but ignored in installation phase
+               logDebugMessage(__FUNCTION__, __LINE__, 'This should never be reached, module[' . gettype($module) . ']=' . $module . ',forceDb=' . intval($forceDb));
        }
 
        // Return status
@@ -402,7 +402,7 @@ function addModuleSql ($module, $title, $locked, $hidden, $adminOnly, $memOnly)
        // Is the module already registered?
        if (!isModuleRegistered($module)) {
                // Add it
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_mod_reg` (`module`, `title`, `locked`, `hidden`, `admin_only`, `mem_only`) VALUES ('" . $module . "','" . $title . "','" . $locked . "','" . $hidden . "','" . $adminOnly . "','" . $memOnly . "')");
+               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_mod_reg` (`module`, `title`, `locked`, `hidden`, `admin_only`, `mem_only`) VALUES ('" . $module . "', '" . $title . "', '" . $locked . "', '" . $hidden . "', '" . $adminOnly . "', '" . $memOnly . "')");
        } else {
                // Already registered
                logDebugMessage(__FUNCTION__, __LINE__, sprintf("Already registered: module=%s,locked=%s,hidden=%s,admin=%s,mem=%s",
@@ -525,5 +525,35 @@ function doIncludeModule () {
        loadIncludeOnce('inc/footer.php');
 }
 
+// "Getter" for menu mode from given module
+function getMenuModeFromModule () {
+       // Is cache set?
+       if (!isset($GLOBALS[__FUNCTION__])) {
+               // Default is 'noindex' which is invalid for SQL tables but okay for meta data template
+               $GLOBALS[__FUNCTION__] = 'noindex';
+
+               // Determine it hard-coded
+               if (getModule() == 'login') {
+                       // Is member area
+                       $GLOBALS[__FUNCTION__] = 'member';
+               } elseif (getModule() == 'index') {
+                       // Is guest area
+                       $GLOBALS[__FUNCTION__] = 'guest';
+               } elseif (getModule() == 'admin') {
+                       // Is admin area
+                       $GLOBALS[__FUNCTION__] = 'admin';
+               } elseif (isInstallationPhase()) {
+                       // Is installation phase
+                       $GLOBALS[__FUNCTION__] = 'install';
+               } else {
+                       // Get it from filter
+                       $GLOBALS[__FUNCTION__] = runFilterChain('determine_menu_mode');
+               }
+       } // END - if
+
+       // Return it
+       return $GLOBALS[__FUNCTION__];
+}
+
 // [EOF]
 ?>