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]; }