Example #1
0
         closedir($directory);
     }
     $arComponentParameters["PARAMETERS"]["FORUM_THEME"] = array("PARENT" => "FORUM_SETTINGS", "NAME" => GetMessage("F_THEMES"), "TYPE" => "LIST", "VALUES" => $arThemes, "MULTIPLE" => "N", "DEFAULT" => "blue", "ADDITIONAL_VALUES" => "Y");
     $arRes = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("FORUM_MESSAGE", 0, LANGUAGE_ID);
     $F_USER_FIELDS = array();
     if (!empty($arRes)) {
         foreach ($arRes as $key => $val) {
             $F_USER_FIELDS[$val["FIELD_NAME"]] = empty($val["EDIT_FORM_LABEL"]) ? $val["FIELD_NAME"] : $val["EDIT_FORM_LABEL"];
         }
     }
     $arComponentParameters["PARAMETERS"]["USER_FIELDS_FORUM"] = array("PARENT" => "FORUM_SETTINGS", "NAME" => GetMessage("SONET_USER_FIELDS_FORUM"), "TYPE" => "LIST", "VALUES" => $F_USER_FIELDS, "MULTIPLE" => "Y", "DEFAULT" => array("UF_FORUM_MESSAGE_DOC"));
 }
 if (IsModuleInstalled("vote")) {
     $arComponentParameters["PARAMETERS"]["SHOW_VOTE"] = array("PARENT" => "FORUM_SETTINGS", "NAME" => GetMessage("F_SHOW_VOTE"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", "REFRESH" => "Y");
     if ($arCurrentValues["SHOW_VOTE"] == "Y" && CModule::IncludeModule("vote")) {
         $rVoteChannels = CAllVoteChannel::GetList($by, $order, array('ACTIVE' => 'Y'), $is_filtered);
         if ($rVoteChannels) {
             __IncludeLang($_SERVER["DOCUMENT_ROOT"] . BX_PERSONAL_ROOT . "/components/bitrix/voting.current/lang/" . LANGUAGE_ID . "/.parameters.php");
             $defaultVoteChannel = -1;
             while ($arVoteChannel = $rVoteChannels->Fetch()) {
                 $arVoteChannels[$arVoteChannel['ID']] = "[" . $arVoteChannel["ID"] . "]" . htmlspecialcharsbx($arVoteChannel['TITLE']);
                 if ($arVoteChannel['SYMBOLIC_NAME'] == 'SOCIALNETWORK') {
                     $defaultVoteChannel = $arVoteChannel['ID'];
                 }
             }
             $arComponentParameters["PARAMETERS"]["VOTE_CHANNEL_ID"] = array("PARENT" => "FORUM_SETTINGS", "NAME" => GetMessage("F_VOTE_CHANNEL_ID"), "TYPE" => "LIST", "VALUES" => $arVoteChannels, "MULTIPLE" => "N", "DEFAULT" => $defaultVoteChannel);
             $arComponentParameters["PARAMETERS"]["VOTE_TEMPLATE"] = array("PARENT" => "FORUM_SETTINGS", "NAME" => GetMessage("F_VOTE_TEMPLATE"), "TYPE" => "LIST", "VALUES" => array(".default" => GetMessage("F_VOTE_TEMPLATE_DEFAULT"), "light" => GetMessage("F_VOTE_TEMPLATE_LIGHT"), "main_page" => GetMessage("F_VOTE_TEMPLATE_MAIN_PAGE")), "DEFAULT" => "light", "MULTIPLE" => "N", "ADDITIONAL_VALUES" => "Y");
             $arComponentParameters["PARAMETERS"]["VOTE_UNIQUE"] = array("VALUES" => array("1" => GetMessage("F_VOTE_UNIQUE_SESSION"), "2" => GetMessage("F_VOTE_UNIQUE_COOKIE_ONLY"), "4" => GetMessage("F_VOTE_UNIQUE_IP_ONLY"), "8" => GetMessage("F_VOTE_UNIQUE_USER_ID_ONLY")), "PARENT" => "FORUM_SETTINGS", "NAME" => GetMessage("F_VOTE_UNIQUE"), "TYPE" => "LIST", "MULTIPLE" => "Y", "ADDITIONAL_VALUES" => "N", "DEFAULT" => array(1, 2, 4, 8));
             $arComponentParameters["PARAMETERS"]["VOTE_UNIQUE_IP_DELAY"] = array("DEFAULT" => "10 D", "PARENT" => "FORUM_SETTINGS", "NAME" => GetMessage("F_VOTE_UNIQUE_IP_DELAY"), "TYPE" => "CUSTOM", "JS_FILE" => "/bitrix/js/vote/comp_props.js", "JS_EVENT" => "ComponentPropsVoteIPDelay", "JS_LANG" => array("SECONDS" => GetMessage("F_VOTE_SECONDS"), "MINUTES" => GetMessage("F_VOTE_MINUTES"), "HOURS" => GetMessage("F_VOTE_HOURS"), "DAYS" => GetMessage("F_VOTE_DAYS")));
         }
     }
Example #2
0
 public static function GetGroupPermission($channel_id, $arGroups = false, $params = array())
 {
     global $DB, $USER, $CACHE_MANAGER, $APPLICATION;
     $err_mess = CAllVoteChannel::err_mess() . "<br>Function: GetGroupPermission<br>Line: ";
     $channel_id = trim($channel_id);
     $arGroups = $arGroups === false ? $USER->GetUserGroupArray() : $arGroups;
     $arGroups = !is_array($arGroups) || empty($arGroups) ? array(2) : $arGroups;
     $groups = implode(",", $arGroups);
     $params = is_array($params) ? $params : array("get_from_database" => $params);
     $cache = array("channel_id" => $channel_id, "groups" => $arGroups, "get_from_database" => $params["get_from_database"]);
     $cache_id = "b_vote_perm_" . md5(serialize($cache));
     $permission = 0;
     if (VOTE_CACHE_TIME !== false && $CACHE_MANAGER->Read(VOTE_CACHE_TIME, $cache_id, "b_vote_perm")) {
         $permission = intval($CACHE_MANAGER->Get($cache_id));
     } else {
         if ($params["get_from_database"] != "Y") {
             $permission = in_array(1, $USER->GetUserGroupArray()) || $APPLICATION->GetGroupRight("vote") >= "W" ? 4 : $permission;
         }
         if ($permission <= 0 && !empty($groups)) {
             $strSql = "SELECT BVC2G.CHANNEL_ID, BVC.SYMBOLIC_NAME CHANNEL_SID, MAX(BVC2G.PERMISSION) as PERMISSION\n\t\t\t\tFROM b_vote_channel_2_group BVC2G\n\t\t\t\tINNER JOIN b_vote_channel BVC ON (BVC2G.CHANNEL_ID = BVC.ID)\n\t\t\t\tWHERE " . ($params["CHANNEL_SID"] != "Y" ? "BVC2G.CHANNEL_ID" : "BVC.SYMBOLIC_NAME") . "='" . $DB->ForSql($channel_id) . "' and GROUP_ID in ({$groups})\n\t\t\t\tGROUP BY BVC2G.CHANNEL_ID, BVC.SYMBOLIC_NAME";
             $db_res = $DB->Query($strSql, false, $err_mess . __LINE__);
             if ($db_res && ($res = $db_res->Fetch())) {
                 $permission = intval($res["PERMISSION"]);
                 if (VOTE_CACHE_TIME !== false) {
                     $cache["channel_id"] = $res["CHANNEL_SID"];
                     $cache_id = "b_vote_perm_" . md5(serialize($cache));
                     $CACHE_MANAGER->Set($cache_id, $permission);
                     $cache["channel_id"] = trim($res["CHANNEL_ID"]);
                 }
             }
         }
         if (VOTE_CACHE_TIME !== false) {
             $cache_id = "b_vote_perm_" . md5(serialize($cache));
             $CACHE_MANAGER->Set($cache_id, $permission);
         }
     }
     return $permission;
 }