Exemplo n.º 1
0
        if (isset($_GET['page'])) {
            $page = $_GET['page'];
        }
        $page = basename($page);
    }
    // Recherche du module ...
    if (Extend::getAction($action) == false && !file_exists($root . 'action' . DS . $action . '.php')) {
        $action = 'syscore';
        $page = 'nomod';
    }
    // Etape 3, vérification des droits d'accès
    if (!isset($_SESSION['user'])) {
        $_SESSION['user'] = false;
    }
    $tpl->assign('_user', $_SESSION['user']);
    if ($_SESSION['user']) {
        $sections = $pdo->prepare('SELECT * FROM user_sections LEFT JOIN sections ON us_section = section_id WHERE us_user = ?');
        $sections->bindValue(1, $_SESSION['user']['user_id']);
        $sections->execute();
        $_SESSION['user']['sections'] = array();
        while ($line = $sections->fetch()) {
            $_SESSION['user']['sections'][$line['section_id']] = $line;
        }
    }
    modsecu($action, $page, $_GET);
    needAcl(getAclLevel($action, $page), $action, $page, $_GET);
    // Etape 4 lancement du module
    modexec($action, $page);
    modexec('syscore', 'moderror');
    quit();
}
Exemplo n.º 2
0
/**
 * Créé un item de menu
 *
 * @param type $item tableau d'items
 * @param type $level niveau du menu
 * @return string HTML
 */
function mkmenuItem($item, $level = 0)
{
    $txt = "";
    if (isset($item['sub'])) {
        $stxt = '';
        $txt = '<li class="dropdown">
              <a href="#" data-toggle="dropdown" class="dropdown-toggle">' . $item['label'] . '
                <b class="caret"></b></a>
              <ul class="dropdown-menu">';
        foreach ($item['sub'] as $sub) {
            $stxt .= mkmenuItem($sub, $level + 1);
        }
        if (strlen($stxt) == 0) {
            return "";
        }
        $txt .= $stxt;
        $txt .= '</ul></li>';
    } else {
        $opts = array();
        $action = 'index';
        $page = 'index';
        if (is_string($item['url'])) {
            $action = $item['url'];
        } else {
            if (isset($item['url']['action'])) {
                $action = $item['url']['action'];
            }
            if (isset($item['url']['page'])) {
                $page = $item['url']['page'];
            }
            $opts = $item['url'];
            unset($opts['action']);
            unset($opts['page']);
        }
        $url = mkurl($action, $page, $opts);
        $need = getAclLevel($action, $page);
        $acl = hasAcl($need, $action, $page, $opts);
        if ($acl) {
            $txt = '<li><a href="' . $url . '">' . $item['label'] . '</a></li>';
        }
    }
    return $txt;
}