Ejemplo n.º 1
0
 public static function GetSocnetPermission($iblock_id)
 {
     global $DB, $CACHE_MANAGER;
     $iblock_id = intval($iblock_id);
     $arCache = array();
     if (!array_key_exists($iblock_id, $arCache)) {
         $arCache[$iblock_id] = CLists::GetDefaultSocnetPermission();
         if (CACHED_b_lists_permission !== false) {
             $cache_id = "b_lists_perm" . $iblock_id;
             if ($CACHE_MANAGER->Read(CACHED_b_lists_permission, $cache_id)) {
                 $arCache[$iblock_id] = $CACHE_MANAGER->Get($cache_id);
             } else {
                 $res = $DB->Query("\n\t\t\t\t\t\tselect SOCNET_ROLE, PERMISSION\n\t\t\t\t\t\tfrom b_lists_socnet_group\n\t\t\t\t\t\twhere IBLOCK_ID=" . $iblock_id . "\n\t\t\t\t\t", false, "FILE: " . __FILE__ . "<br> LINE: " . __LINE__);
                 while ($ar = $res->Fetch()) {
                     $arCache[$iblock_id][$ar["SOCNET_ROLE"]] = $ar["PERMISSION"];
                 }
                 $CACHE_MANAGER->Set($cache_id, $arCache[$iblock_id]);
             }
         } else {
             $res = $DB->Query("\n\t\t\t\t\tselect SOCNET_ROLE, PERMISSION\n\t\t\t\t\tfrom b_lists_socnet_group\n\t\t\t\t\twhere IBLOCK_ID=" . $iblock_id . "\n\t\t\t\t", false, "FILE: " . __FILE__ . "<br> LINE: " . __LINE__);
             while ($ar = $res->Fetch()) {
                 $arCache[$iblock_id][$ar["SOCNET_ROLE"]] = $ar["PERMISSION"];
             }
         }
         $arCache[$iblock_id]["A"] = "X";
         //Group owner always in charge
         $arCache[$iblock_id]["T"] = "D";
         //Banned
         $arCache[$iblock_id]["Z"] = "D";
         //and Request never get to list
     }
     return $arCache[$iblock_id];
 }