本文整理汇总了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;
}
示例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']);