本文整理汇总了PHP中Kernel::getLevel_r方法的典型用法代码示例。如果您正苦于以下问题:PHP Kernel::getLevel_r方法的具体用法?PHP Kernel::getLevel_r怎么用?PHP Kernel::getLevel_r使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Kernel
的用法示例。
在下文中一共展示了Kernel::getLevel_r方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getLevel_r
/**
* Recherche rÈcursive du droit le plus fort d'un utilisateur sur un noeud.
*
* @return integer Droit (entre 0 et 70).
* @author FrÈdÈric Mossmann <fmossmann@cap-tic.fr>
*/
public function getLevel_r($node_type, $node_id, $user_type = "-1", $user_id = "-1", $fusible = 9)
{
if ($fusible-- <= 0) {
return 0;
}
$level = (int) Kernel::getLevel($node_type, $node_id, $user_type, $user_id);
$node = Kernel::getNodeParents($node_type, $node_id);
foreach ($node as $parent_node) {
$level = max($level, Kernel::getLevel_r($parent_node['type'], $parent_node['id'], $user_type, $user_id, $fusible));
}
return $level;
}
示例2: checkLoginAccess
public function checkLoginAccess($login)
{
if (trim($login) == '') {
die('Pas de login dans l\'URL');
}
$userinfo = Kernel::getUserInfo('LOGIN', $login);
if (0 == sizeof($userinfo)) {
die('Login inconnu');
}
$level = 0;
$level = Kernel::getLevel_r($userinfo['type'], $userinfo['id']);
$level = max($level, Kernel::getLevel_r('ROOT', '0'));
// Test via le module assistance
$ok = false;
$animateur_dao =& CopixDAOFactory::create("kernel|kernel_animateurs");
$animateur = $animateur_dao->get(_currentUser()->getExtra("type"), _currentUser()->getExtra("id"));
if ($animateur && isset($animateur->can_comptes) && $animateur->can_comptes) {
$assistance_service =& CopixClassesFactory::Create('assistance|assistance');
$user_assistance = $assistance_service->getAssistanceUsers();
if (!$user_assistance) {
return new CopixActionReturn(COPIX_AR_REDIRECT, CopixUrl::get('assistance||users', array('error' => 'forbidden')));
}
foreach ($user_assistance as $ville_id => $ville) {
foreach ($ville as $ecole_id => $ecole) {
foreach ($ecole->personnels as $personnel_id => $personnel) {
if ($personnel->login == $login) {
$ok = true;
// echo "<pre>"; print_r($personnel); die("</pre>");
}
}
}
}
if ($ok) {
$level = 70;
}
}
if ($level < 70) {
// A vérifier...
die('Pas le droit !');
}
return $userinfo;
}