当前位置: 首页>>代码示例>>PHP>>正文


PHP Wiki::setRestrictionCategorie方法代码示例

本文整理汇总了PHP中Wiki::setRestrictionCategorie方法的典型用法代码示例。如果您正苦于以下问题:PHP Wiki::setRestrictionCategorie方法的具体用法?PHP Wiki::setRestrictionCategorie怎么用?PHP Wiki::setRestrictionCategorie使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Wiki的用法示例。


在下文中一共展示了Wiki::setRestrictionCategorie方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: checkAccess

    /**
     * Vérifie que l'utilisateur a bien le droit d'accéder à ce fichier
     * @param  mixed   $user Tableau contenant les infos sur l'utilisateur connecté, provenant de Membres::getLoggedUser, ou false
     * @return boolean       TRUE si l'utilisateur a le droit d'accéder au fichier, sinon FALSE
     */
    public function checkAccess($user = false)
    {
        // On regarde déjà si le fichier n'est pas lié au wiki
        $wiki = DB::getInstance()->simpleQuerySingle('SELECT wp.droit_lecture FROM fichiers_' . self::LIEN_WIKI . ' AS link
			INNER JOIN wiki_pages AS wp ON wp.id = link.id
			WHERE link.fichier = ? LIMIT 1;', false, (int) $this->id);
        // Page wiki publique, aucune vérification à faire, seul cas d'accès à un fichier en dehors de l'espace admin
        if ($wiki !== false && $wiki == Wiki::LECTURE_PUBLIC) {
            return true;
        }
        // Pas d'utilisateur connecté, pas d'accès aux fichiers de l'espace admin
        if (empty($user['droits'])) {
            return false;
        }
        if ($wiki !== false) {
            // S'il n'a même pas droit à accéder au wiki c'est mort
            if ($user['droits']['wiki'] < Membres::DROIT_ACCES) {
                return false;
            }
            // On renvoie à l'objet Wiki pour savoir si l'utilisateur a le droit de lire ce fichier
            $_w = new Wiki();
            $_w->setRestrictionCategorie($user['id_categorie'], $user['droits']['wiki']);
            return $_w->canReadPage($wiki);
        }
        // On regarde maintenant si le fichier est lié à la compta
        $compta = DB::getInstance()->simpleQuerySingle('SELECT 1 
			FROM fichiers_' . self::LIEN_COMPTA . ' WHERE fichier = ? LIMIT 1;', false, (int) $this->id);
        if ($compta && $user['droits']['compta'] >= Membres::DROIT_ACCES) {
            // OK si accès à la compta
            return true;
        }
        // Enfin, si le fichier est lié à un membre
        $membre = DB::getInstance()->simpleQuerySingle('SELECT id 
			FROM fichiers_' . self::LIEN_MEMBRES . ' WHERE fichier = ? LIMIT 1;', false, (int) $this->id);
        if ($membre !== false) {
            // De manière évidente, l'utilisateur a le droit d'accéder aux fichiers liés à son profil
            if ((int) $membre == $user['id']) {
                return true;
            }
            // Pour voir les fichiers des membres il faut pouvoir les gérer
            if ($user['droits']['membres'] >= Membres::DROIT_ECRITURE) {
                return true;
            }
        }
        return false;
    }
开发者ID:kd2org,项目名称:garradin,代码行数:51,代码来源:Fichiers.php

示例2: UserException

<?php

namespace Garradin;

require_once __DIR__ . '/../_inc.php';
if ($user['droits']['wiki'] < Membres::DROIT_ACCES) {
    throw new UserException("Vous n'avez pas le droit d'accéder à cette page.");
}
$wiki = new Wiki();
$wiki->setRestrictionCategorie($user['id_categorie'], $user['droits']['wiki']);
开发者ID:kd2org,项目名称:garradin,代码行数:10,代码来源:_inc.php


注:本文中的Wiki::setRestrictionCategorie方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。