"vote", "CLASS_NAME" => __CLASS__, "DESCRIPTION" => GetMessage("V_USER_TYPE_DESCRIPTION"), "BASE_TYPE" => "int", ); } public function OnBeforePostUserFieldUpdate($ENTITY_ID, $ID, $arFields) { global $USER_FIELD_MANAGER; $arUserFields = $USER_FIELD_MANAGER->GetUserFields($ENTITY_ID, $ID, LANGUAGE_ID); if (is_array($arUserFields) && !empty($arUserFields)) { $arUserFields = array_intersect_key($arUserFields, $arFields); $path = str_replace("#post_id#", $ID, $arFields["PATH"]); $arUserField = reset($arUserFields); do { if (is_array($arUserField["USER_TYPE"]) && $arUserField["USER_TYPE"]["USER_TYPE_ID"] == "vote" && $arUserField["USER_TYPE"]["CLASS_NAME"] == __CLASS__ && isset($GLOBALS[__CLASS__.$arUserField["ENTITY_VALUE_ID"]])) { $GLOBALS[__CLASS__.$arUserField["ENTITY_VALUE_ID"]]["VOTE"]["URL"] = $path; } } while ($arUserField = next($arUserFields)); } } /* * Prepares data("SETTINGS") for serialization in functions CUserTypeEntity::Add & CUserTypeEntity::Update */ function PrepareSettings($arUserField) { $arUserField["SETTINGS"] = (is_array($arUserField["SETTINGS"]) ? $arUserField["SETTINGS"] : @unserialize($arUserField["SETTINGS"])); $arUserField["SETTINGS"] = (is_array($arUserField["SETTINGS"]) ? $arUserField["SETTINGS"] : array()); $tmp = array("CHANNEL_ID" => intval($arUserField["SETTINGS"]["CHANNEL_ID"])); if ($arUserField["SETTINGS"]["CHANNEL_ID"] == "add") { $tmp["CHANNEL_TITLE"] = trim($arUserField["SETTINGS"]["CHANNEL_TITLE"]); $tmp["CHANNEL_SYMBOLIC_NAME"] = trim($arUserField["SETTINGS"]["CHANNEL_SYMBOLIC_NAME"]); $tmp["CHANNEL_USE_CAPTCHA"] = ($arUserField["SETTINGS"]["CHANNEL_USE_CAPTCHA"] == "Y" ? "Y" : "N"); } $uniqType = $arUserField["SETTINGS"]["UNIQUE"]; if (is_array($arUserField["SETTINGS"]["UNIQUE"])) { $uniqType = 0; foreach ($arUserField["SETTINGS"]["UNIQUE"] as $z) $uniqType |= $z; $uniqType += 5; } $tmp["UNIQUE"] = $uniqType; $tmp["UNIQUE_IP_DELAY"] = is_array($arUserField["SETTINGS"]["UNIQUE_IP_DELAY"]) ? $arUserField["SETTINGS"]["UNIQUE_IP_DELAY"] : array(); $tmp["NOTIFY"] = (in_array($arUserField["SETTINGS"]["NOTIFY"], array("I", "Y", "N")) ? $arUserField["SETTINGS"]["NOTIFY"] : "N"); return $tmp; } /* * Checks CHANNEL or creates add vote group. */ function CheckSettings(&$arParams) { $arSettings = (is_array($arParams["SETTINGS"]) ? $arParams["SETTINGS"] : @unserialize($arParams["SETTINGS"])); $arSettings = is_array($arSettings) ? $arSettings : array($arSettings); if (array_key_exists("CHANNEL_ID", $arSettings)) { $arSettings["CHANNEL_ID"] = intval($arSettings["CHANNEL_ID"]); if ($arSettings["CHANNEL_ID"] <= 0 && CModule::IncludeModule("vote")) { $db_res = CVoteChannel::GetList($by = "ID", $order = "ASC", array("SYMBOLIC_NAME" => $arSettings["CHANNEL_SYMBOLIC_NAME"], "SYMBOLIC_NAME_EXACT_MATCH" => "Y"), $is_filtered); if (!($db_res && ($arChannel = $db_res->Fetch()) && !!$arChannel)) { $res = array( "TITLE" => $arSettings["CHANNEL_TITLE"], "SYMBOLIC_NAME" => $arSettings["CHANNEL_SYMBOLIC_NAME"], "ACTIVE" => "Y", "HIDDEN" => "Y", "C_SORT" => 100, "VOTE_SINGLE" => "N", "USE_CAPTCHA" => $arSettings["CHANNEL_USE_CAPTCHA"], "SITE" => array(), "GROUP_ID" => array() ); $by = "sort"; $order = "asc"; $db_res = CSite::GetList($by, $order); while ($site = $db_res->GetNext()) $res["SITE"][] = $site["ID"]; $db_res = CGroup::GetList($by = "sort", $order = "asc", Array("ADMIN" => "N")); while ($group = $db_res->GetNext()) $res["GROUP_ID"][$group["ID"]] = ($group["ID"] == 2 ? 1 : 4); $res["GROUP_ID"] = (is_array($arSettings["GROUP_ID"]) ? array_intersect_key($arSettings["GROUP_ID"], $res["GROUP_ID"]) : $res["GROUP_ID"]); $channelId = CVoteChannel::Add($res); } else { $channelId = $arChannel["ID"]; } $arSettings["CHANNEL_ID"] = $channelId; unset($arSettings["CHANNEL_TITLE"]); unset($arSettings["CHANNEL_SYMBOLIC_NAME"]); unset($arSettings["CHANNEL_USE_CAPTCHA"]); if (!$arSettings["CHANNEL_ID"]) return false; } $uniqType = $arSettings["UNIQUE"]; if (is_array($arSettings["UNIQUE"])) { foreach ( $arSettings["UNIQUE"] as $res) $uniqType |= $res; $uniqType += 5; } $arSettings["UNIQUE"] = $uniqType; $arSettings["UNIQUE_IP_DELAY"] = is_array($arSettings["UNIQUE_IP_DELAY"]) ? $arSettings["UNIQUE_IP_DELAY"] : array("DELAY" => "10", "DELAY_TYPE" => "D"); $arParams["SETTINGS"] = serialize($arSettings); $arParams["MULTIPLE"] = "N"; $arParams["MANDATORY"] = "N"; $arParams["SHOW_FILTER"] = "N"; $arParams["IS_SEARCHABLE"] = "N"; } return true; } /** * Shows data form in admin part when you edit or add usertype. * @param bool $arUserField * @param string $arHtmlControl * @param bool $bVarsFromForm * @return string */ function GetSettingsHTML($arUserField = false, $arHtmlControl, $bVarsFromForm) { if (!CModule::IncludeModule("vote")) return ''; $value = ""; if($bVarsFromForm) $value = $GLOBALS[$arHtmlControl["NAME"]]["CHANNEL_ID"]; elseif(is_array($arUserField)) { $value = $arUserField["SETTINGS"]["CHANNEL_ID"]; $GLOBALS[$arHtmlControl["NAME"]]["NOTIFY"] = $arUserField["SETTINGS"]["NOTIFY"]; } $value = (!empty($value) ? intval($value) : "add"); $db_res = CVoteChannel::GetList($by = "", $order = "", array("ACTIVE" => "Y"), $is_filtered); $arVoteChannels = array("reference" => array(GetMessage("V_NEW_CHANNEL")), "reference_id" => array("add")); if ($db_res && $res = $db_res->Fetch()) { do { $arVoteChannels["reference"][] = $res["TITLE"]; $arVoteChannels["reference_id"][] = $res["ID"]; } while ($res = $db_res->Fetch()); } ob_start(); ?>
Fatal error: Uncaught Error: Call to undefined function GetMessage() in D:\ktt\ttepla.com\public_html\bitrix\modules\vote\classes\general\usertypevote.php:180 Stack trace: #0 {main} thrown in D:\ktt\ttepla.com\public_html\bitrix\modules\vote\classes\general\usertypevote.php on line 180