//Initializes permissions
foreach ($allperms as $vperm) {
    $perm = $vperm["permName"];
    ${$perm} = 'n';
    $smarty->assign("{$perm}", 'n');
}
// Permissions
if ($user == 'admin' || $user && $userlib->user_has_permission($user, 'tiki_p_admin')) {
    //Gives admins all permissions
    foreach ($allperms as $vperm) {
        $perm = $vperm['permName'];
        ${$perm} = 'y';
        $smarty->assign($perm, 'y');
    }
} else {
    $perms = $userlib->get_user_detailled_permissions($user);
    foreach ($perms as $perm) {
        $smarty->assign($perm['permName'], 'y');
        ${$perm}['permName'] = 'y';
        if ($perm['admin'] == 'y') {
            // assign all perms of the perm type
            $ps = $userlib->get_permissions(0, -1, 'permName_desc', '', $perm['type']);
            foreach ($ps['data'] as $perm) {
                ${$perm}['permName'] = 'y';
                $smarty->assign($perm['permName'], 'y');
            }
        }
    }
}
unset($allperms);
// Fix IIS servers not setting what they should set (ay ay IIS, ay ay)