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


PHP Kernel::getModRight方法代码示例

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


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

示例1: getCapability

 /**
  * Retourne le niveau de droit de la personne connectée
  * @param integer $idAgenda l'identifiant de l'agenda
  */
 public function getCapability($idAgenda)
 {
     if (!$idAgenda) {
         return 0;
     }
     if (!($d = _sessionGet('modules|agenda|rights|' . $idAgenda))) {
         $d = Kernel::getModRight('MOD_AGENDA', $idAgenda);
         _sessionSet('modules|agenda|rights|' . $idAgenda, $d);
     }
     if ($d >= PROFILE_CCV_MEMBER) {
         $res = AgendaAuth::getModerate();
     } elseif ($d >= PROFILE_CCV_READ) {
         $res = AgendaAuth::getRead();
     } else {
         $res = AgendaAuth::getNone();
     }
     //print_r ("idAgenda=$idAgenda / res=$res<br>");
     return $res;
 }
开发者ID:JVS-IS,项目名称:ICONITO-EcoleNumerique,代码行数:23,代码来源:agendaauth.class.php

示例2: getModRight

 public function getModRight($mod_type, $mod_id, $user_type = "-1", $user_id = "-1")
 {
     // Kernel::deb ("getModRight( $mod_type, $mod_id, $user_type, $user_id )");
     $droit = 0;
     if ($mod_type == "MOD_MINIMAIL") {
         return _currentUSer()->isConnected() ? PROFILE_CCV_ADMIN : 0;
     }
     if ($user_type == "-1" && $user_id == "-1") {
         if (_currentUser()->getExtra('type') && _currentUser()->getExtra('id')) {
             $user_type = _currentUser()->getExtra('type');
             $user_id = _currentUser()->getExtra('id');
         } else {
             return 0;
         }
     }
     $mod_parents = Kernel::getModParent($mod_type, $mod_id);
     $user_parents = Kernel::getNodeParents($user_type, $user_id);
     // Rustine CB 23/01/2009 pour les droits des directeurs dans les teleprocedures
     if ($mod_type == 'MOD_TELEPROCEDURES' && $user_type == 'USER_ENS') {
         //print_r($mod_parents);
         //print_r($user_parents);
         $villeMod = $mod_parents[0]->node_type == 'BU_VILLE' ? $mod_parents[0]->node_id : null;
         // S'il est bien directeur d'une ecole dans cette ville
         foreach ($user_parents as $parent) {
             if ($parent['type'] == 'BU_ECOLE' && $parent['droit'] >= PROFILE_CCV_ADMIN && $parent['ALL']->eco_id_ville == $villeMod) {
                 return PROFILE_CCV_READ;
             }
         }
     } elseif ($mod_type == 'MOD_TELEPROCEDURES' && $user_type == 'USER_ADM' && CopixConfig::exists('teleprocedures|USER_ADM_as_USER_ENS') && CopixConfig::get('teleprocedures|USER_ADM_as_USER_ENS')) {
         $villeMod = $mod_parents[0]->node_type == 'BU_VILLE' ? $mod_parents[0]->node_id : null;
         foreach ($user_parents as $parent) {
             if ($parent['type'] == 'BU_ECOLE' && $parent['droit'] >= 30 && $parent['ALL']->eco_id_ville == $villeMod) {
                 return PROFILE_CCV_READ;
             }
         }
     } elseif (isset($mod_parents[0]) && $mod_parents[0]->node_type == 'MOD_TELEPROCEDURES' && $user_type == 'USER_VIL') {
         return Kernel::getModRight($mod_parents[0]->node_type, $mod_parents[0]->node_id, $user_type, $user_id);
     }
     //print_r("getModRight( $mod_type, $mod_id, $user_type, $user_id)<br/>");
     //print_r($mod_parents);
     foreach ($mod_parents as $mod_key => $mod_val) {
         // Check user -> admin
         if ($mod_val->node_type == $user_type && $mod_val->node_id == $user_id) {
             $droit = PROFILE_CCV_ADMIN;
         }
         // Rustine CB 25/08/2010 Si c'est un droit d'un module du groupe d'assistance
         if (CopixConfig::exists('kernel|groupeAssistance') && ($groupeAssistance = CopixConfig::get('kernel|groupeAssistance')) && $mod_val->node_type == 'CLUB' && $mod_val->node_id == $groupeAssistance) {
             //print_r();
             switch ($mod_type) {
                 case 'MOD_FORUM':
                     // Forum : on peut ecrire
                     $droit = PROFILE_CCV_MEMBER;
                     break;
                 case 'MOD_MALLE':
                     // Malle : on peut lire
                 // Malle : on peut lire
                 case 'MOD_BLOG':
                     // Blog : on peut lire
                     $droit = PROFILE_CCV_READ;
                     break;
             }
         }
         // Check parents nodes -> right (DB)
         reset($user_parents);
         //foreach( $user_parents AS $user_key=>$user_val ) {
         while ($user_val = array_pop($user_parents)) {
             // Rustine 1 : les gens rattachÈs ‡ une classe ont le mÍme droit dans l'Ècole de la classe
             if ($user_val["type"] == "BU_CLASSE") {
                 $ecoles = Kernel::getNodeParents($user_val["type"], $user_val["id"]);
                 foreach ($ecoles as $ecole_key => $ecole_val) {
                     $ecoles[$ecole_key]["droit"] = PROFILE_CCV_READ;
                     $user_parents[] = $ecoles[$ecole_key];
                 }
             }
             // Rustine 2 : les parents ont des droits de lecture sur les classes de leur enfants
             if ($user_val["type"] == "USER_ELE" && $user_type == "USER_RES") {
                 $nodes_all = Kernel::getNodeParents($user_val["type"], $user_val["id"]);
                 //print_r($nodes_all);
                 foreach ($nodes_all as $node) {
                     if ($node['type'] != 'BU_CLASSE') {
                         continue;
                     }
                     $node['droit'] = PROFILE_CCV_READ;
                     $user_parents[] = $node;
                     //print_r($node);
                     /*
                     $child['classe'] = $node['nom'];
                     $modules = Kernel::getModEnabled(
                     $node['type'], $node['id'],
                     $child["type"],   $child["id"]   );
                     */
                     //print_r($modules);
                 }
             }
             if ($mod_val->node_type == $user_val["type"] && $mod_val->node_id == $user_val["id"]) {
                 $droit = max($droit, $user_val["droit"]);
             }
             //$droit = min();
         }
     }
//.........这里部分代码省略.........
开发者ID:JVS-IS,项目名称:ICONITO-EcoleNumerique,代码行数:101,代码来源:kernel.class.php


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