PHP Classes

File: htdocs/xoops_lib/modules/protector/admin/mymenu.php

Recommend this page to a friend!
  Packages of Michael Beck   Xoops 2.5   htdocs/xoops_lib/modules/protector/admin/mymenu.php   Download  
File: htdocs/xoops_lib/modules/protector/admin/mymenu.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Xoops 2.5
Modular content management publication system
Author: By
Last change: language fixes
updates, Yoda, short arrays, cosmetics
PER-CS formatting
short array
Merge pull request #1444 from mambax7/feature/fix_Bootstrap5_Renderer

fix dropdown in XoopsFormRendererBootstrap5
Merge pull request #1239 from Andrew-Staves-Activ/notificationhandler_subscribe_success

Merge xswatch4
Date: 10 months ago
Size: 3,845 bytes
 

Contents

Class file image Download
<?php

// Skip for ORETEKI XOOPS
if (defined('XOOPS_ORETEKI')) {
    return null;
}

global $xoopsModule;
$mydirpath = dirname(__DIR__);

if (!is_object($xoopsModule)) {
    die('$xoopsModule is not set');
}

// language files (modinfo.php)
$language = empty($xoopsConfig['language']) ? 'english' : $xoopsConfig['language'];
if (file_exists("$mydirpath/language/$language/modinfo.php")) {
    // user customized language file
    include_once "$mydirpath/language/$language/modinfo.php";
} elseif (file_exists("$mytrustdirpath/language/$language/modinfo.php")) {
    // default language file
    include_once "$mytrustdirpath/language/$language/modinfo.php";
} else {
    // fallback english
    include_once "$mytrustdirpath/language/english/modinfo.php";
}

include dirname(__DIR__) . '/admin_menu.php';

if (file_exists(XOOPS_TRUST_PATH . '/libs/altsys/mytplsadmin.php')) {
    // mytplsadmin (TODO check if this module has tplfile)
    $title       = defined('_MD_A_MYMENU_MYTPLSADMIN') ? _MD_A_MYMENU_MYTPLSADMIN : 'tplsadmin';
    $adminmenu[] = ['title' => $title, 'link' => 'admin/index.php?mode=admin&lib=altsys&page=mytplsadmin'];
}

if (file_exists(XOOPS_TRUST_PATH . '/libs/altsys/myblocksadmin.php')) {
    // myblocksadmin
    $title       = defined('_MD_A_MYMENU_MYBLOCKSADMIN') ? _MD_A_MYMENU_MYBLOCKSADMIN : 'blocksadmin';
    $adminmenu[] = ['title' => $title, 'link' => 'admin/index.php?mode=admin&lib=altsys&page=myblocksadmin'];
}

// preferences
/** @var XoopsConfigHandler $config_handler */
$config_handler = xoops_getHandler('config');
if (count($config_handler->getConfigs(new Criteria('conf_modid', $xoopsModule->mid()))) > 0) {
    if (file_exists(XOOPS_TRUST_PATH . '/libs/altsys/mypreferences.php')) {
        // mypreferences
        $title       = defined('_MD_A_MYMENU_MYPREFERENCES') ? _MD_A_MYMENU_MYPREFERENCES : _PREFERENCES;
        $adminmenu[] = ['title' => $title, 'link' => 'admin/index.php?mode=admin&lib=altsys&page=mypreferences'];
    } else {
        // system->preferences
        $adminmenu[] = [
            'title' => _PREFERENCES,
            'link'  => XOOPS_URL . '/modules/system/admin.php?fct=preferences&op=showmod&mod=' . $xoopsModule->mid(),
        ];
    }
}

$mymenu_uri  = empty($mymenu_fake_uri) ? $_SERVER['REQUEST_URI'] : $mymenu_fake_uri;
$mymenu_link = substr(strstr($mymenu_uri, '/admin/'), 1);

// highlight (you can customize the colors)
foreach (array_keys($adminmenu) as $i) {
    if ($mymenu_link == $adminmenu[$i]['link']) {
        $adminmenu[$i]['color']          = '#FFCCCC';
        $adminmenu_hilighted             = true;
        $GLOBALS['altsysAdminPageTitle'] = $adminmenu[$i]['title'];
    } else {
        $adminmenu[$i]['color'] = '#DDDDDD';
    }
}
if (empty($adminmenu_hilighted)) {
    foreach (array_keys($adminmenu) as $i) {
        if (false !== stripos($mymenu_uri, (string) $adminmenu[$i]['link'])) {
            $adminmenu[$i]['color']          = '#FFCCCC';
            $GLOBALS['altsysAdminPageTitle'] = $adminmenu[$i]['title'];
            break;
        }
    }
}

// link conversion from relative to absolute
foreach (array_keys($adminmenu) as $i) {
    if (false === stripos($adminmenu[$i]['link'], XOOPS_URL)) {
        $adminmenu[$i]['link'] = XOOPS_URL . "/modules/$mydirname/" . $adminmenu[$i]['link'];
    }
}
// start hack by Mage
/*
// display (you can customize html)
echo "<div style='text-align:left;width:98%;'>" ;
foreach( $adminmenu as $menuitem ) {
    echo "<div style='float:left;height:1.5em;'><nobr><a href='".htmlspecialchars($menuitem['link'],ENT_QUOTES | ENT_HTML5)."' style='background-color:{$menuitem['color']};font:normal normal bold 9pt/12pt;'>".htmlspecialchars($menuitem['title'],ENT_QUOTES | ENT_HTML5)."</a> | </nobr></div>\n" ;
}
echo "</div>\n<hr style='clear:left;display:block;' />\n" ;
*/
// end hack by Mage