$element['SUBJECT'] = ''; $element['BODY'] = $mailTemplate; $entityTypes = array(CCrmOwnerType::Lead, CCrmOwnerType::Deal, CCrmOwnerType::Contact, CCrmOwnerType::Company); foreach ($entityTypes as $entityTypeID) { $element['ENTITY_TYPE_ID'] = $entityTypeID; CCrmMailTemplate::Add($element); } } COption::SetOptionString('crm', '~CRM_MAIL_TEMPLATE_LIST_CONVERTING', 'Y'); } elseif ($conv === 'SKIP') { COption::SetOptionString('crm', '~CRM_MAIL_TEMPLATE_LIST_CONVERTING', 'Y'); } elseif ($conv === 'RESET') { COption::RemoveOption('crm', '~CRM_MAIL_TEMPLATE_LIST_CONVERTING'); } } LocalRedirect(CHTTP::urlDeleteParams($curPageUrl, array('conv'))); } } $gridOptions = new CCrmGridOptions($arResult['GRID_ID']); $gridSorting = $gridOptions->GetSorting(array('sort' => array('SORT' => 'asc'), 'vars' => array('by' => 'by', 'order' => 'order'))); $sort = $arResult['SORT'] = $gridSorting['sort']; $arResult['SORT_VARS'] = $gridSorting['vars']; $items = array(); $dbResult = CAllCrmMailTemplate::GetList($sort, array('LOGIC' => 'OR', '=OWNER_ID' => $userID, 'SCOPE' => CCrmMailTemplateScope::Common)); $count = 0; while ($fields = $dbResult->GetNext()) { $ID = intval($fields['~ID']); $fields['~OWNER_FORMATTED_NAME'] = CUser::FormatName($arParams['NAME_TEMPLATE'], array('LOGIN' => $fields['~OWNER_LOGIN'], 'NAME' => $fields['~OWNER_NAME'], 'SECOND_NAME' => $fields['~OWNER_SECOND_NAME'], 'LAST_NAME' => $fields['~OWNER_LAST_NAME']), true, false); $fields['OWNER_FORMATTED_NAME'] = htmlspecialcharsbx($fields['~OWNER_FORMATTED_NAME']); $fields['~ENTITY_TYPE_NAME'] = isset($fields['~ENTITY_TYPE_ID']) ? CCrmOwnerType::GetDescription($fields['~ENTITY_TYPE_ID']) : ''; $fields['ENTITY_TYPE_NAME'] = htmlspecialcharsbx($fields['~ENTITY_TYPE_NAME']);
public function End() { echo ' </div> </div> </td> </tr> </table> </div>'; $sRowIds = $sVisRowsIds = ""; if(is_array($this->popup)) { foreach($this->popup as $key=>$item) if($item !== null) $sRowIds .= ($sRowIds <> ""? ",":"").'"'.CUtil::JSEscape($key).'"'; $aRows = explode(",", $this->arOptFlt["rows"]); if(is_array($aRows)) foreach($aRows as $row) if(trim($row) <> "") $sVisRowsIds .= ($sVisRowsIds <> ""? ",":"").'"'.CUtil::JSEscape(trim($row)).'":true'; } $this->PrintSaveOptionsDIV(); $this->GetParamsFromCookie(); $openedTabUri = false; $openedTabSes = $filteredTab = null; if(isset($_REQUEST["adm_filter_applied"]) && !empty($_REQUEST["adm_filter_applied"])) { $openedTabUri = $_REQUEST["adm_filter_applied"]; } else { $openedTabSes = $_SESSION[self::SESS_PARAMS_NAME][$this->id]["activeTabId"]; $filteredTab = $_SESSION[self::SESS_PARAMS_NAME][$this->id]["filteredId"]; } echo ' <script type="text/javascript"> var '.$this->id.' = {}; BX.ready(function(){ '.$this->id.' = new BX.AdminFilter("'.$this->id.'", ['.$sRowIds.']); '.$this->id.'.state.init = true; '.$this->id.'.state.folded = '.($this->arOptFlt["styleFolded"] == "Y" ? "true" : "false").'; '.$this->id.'.InitFilter({'.$sVisRowsIds.'}); '.$this->id.'.oOptions = '.CUtil::PhpToJsObject($this->arItems).'; '.$this->id.'.popupItems = '.CUtil::PhpToJsObject($this->popup).'; '.$this->id.'.InitFirst(); '.$this->id.'.url = "'.CUtil::AddSlashes($this->url).'"; '.$this->id.'.table_id = "'.CUtil::AddSlashes($this->tableId).'"; '.$this->id.'.presetsDeleted = ['.$this->arOptFlt["presetsDeletedJS"].'];'; if($filteredTab != null || $openedTabUri != false) { $tabToInit = ($openedTabUri ? $openedTabUri : $filteredTab); echo ' '.$this->id.'.InitFilteredTab("'.CUtil::JSEscape(htmlspecialcharsbx($tabToInit)).'");'; } if($openedTabSes != null || $openedTabUri != false) echo ' var openedFTab = '.$this->id.'.InitOpenedTab("'.CUtil::JSEscape(htmlspecialcharsbx($openedTabUri)).'", "'.CUtil::JSEscape(htmlspecialcharsbx($openedTabSes)).'");'; echo ' '.$this->id.'.state.init = false; BX("adm-filter-tab-wrap-'.$this->id.'").style.display = "block";'; //making filter tabs draggable if($this->url) { $registerUrl = CHTTP::urlDeleteParams($this->url, array("adm_filter_applied", "adm_filter_preset")); foreach($this->arItems as $filter_id => $filter) { $arParamsAdd = array("adm_filter_applied"=>$filter_id); if(isset($filter["PRESET_ID"])) $arParamsAdd["adm_filter_preset"] = $filter["PRESET_ID"]; $filterUrl = CHTTP::urlAddParams($registerUrl, $arParamsAdd, array("encode","skip_empty")); echo " BX.adminMenu.registerItem('adm-filter-tab-".$this->id.'-'.$filter_id."', {URL:'".$filterUrl."', TITLE: true});"; } } echo ' } ); </script>'; $hkInst = CHotKeys::getInstance(); $Execs = $hkInst->GetCodeByClassName("CAdminFilter"); echo $hkInst->PrintJSExecs($Execs); }
$sectionList->SetUrlTemplates($arParams["SEF_RULE"]); $section = $sectionList->GetNext(); if ($section) { $arResult["JS_FILTER_PARAMS"]["SEF_SET_FILTER_URL"] = $this->makeSmartUrl($section["DETAIL_PAGE_URL"], true); $arResult["JS_FILTER_PARAMS"]["SEF_DEL_FILTER_URL"] = $this->makeSmartUrl($section["DETAIL_PAGE_URL"], false); } } $pageURL = $APPLICATION->GetCurPageParam(); $paramsToDelete = array("set_filter", "del_filter", "ajax", "bxajaxid", "AJAX_CALL", "mode"); foreach ($arResult["ITEMS"] as $PID => $arItem) { foreach ($arItem["VALUES"] as $key => $ar) { $paramsToDelete[] = $ar["CONTROL_NAME"]; $paramsToDelete[] = $ar["CONTROL_NAME_ALT"]; } } $clearURL = CHTTP::urlDeleteParams($pageURL, $paramsToDelete, array("delete_system_params" => true)); if (isset($_REQUEST["ajax"]) && $_REQUEST["ajax"] === "y") { $arFilter = $this->makeFilter($FILTER_NAME); $arResult["ELEMENT_COUNT"] = CIBlockElement::GetList(array(), $arFilter, array(), false); $arResult["FILTER_URL"] = ""; if ($arResult["JS_FILTER_PARAMS"]["SEF_SET_FILTER_URL"]) { $arResult["FILTER_URL"] = $arResult["JS_FILTER_PARAMS"]["SEF_SET_FILTER_URL"]; $arResult["SEF_SET_FILTER_URL"] = $arResult["JS_FILTER_PARAMS"]["SEF_SET_FILTER_URL"]; $arResult["SEF_DEL_FILTER_URL"] = $arResult["JS_FILTER_PARAMS"]["SEF_DEL_FILTER_URL"]; } $paramsToAdd = array("set_filter" => "y"); foreach ($arResult["ITEMS"] as $PID => $arItem) { foreach ($arItem["VALUES"] as $key => $ar) { if (isset($_CHECK[$ar["CONTROL_NAME"]])) { if ($arItem["PROPERTY_TYPE"] == "N" || isset($arItem["PRICE"])) { $paramsToAdd[$ar["CONTROL_NAME"]] = $_CHECK[$ar["CONTROL_NAME"]];
} } if (!$arTask) { require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; $APPLICATION->SetTitle(GetMessage("BPAT_NO_TASK")); CAdminMessage::ShowMessage(GetMessage("BPAT_NO_TASK") . ". "); } else { $arTask["PARAMETERS"]["DOCUMENT_ID"] = CBPStateService::GetStateDocumentId($arTask['WORKFLOW_ID']); $backUrl = "/" . ltrim(trim($_REQUEST["back_url"]), "\\/"); if (strlen($backUrl) <= 0) { $backUrl = "/bitrix/admin/bizproc_task_list.php?lang=" . LANGUAGE_ID; } if (strlen($backUrl) <= 0 && !empty($arTask["PARAMETERS"]["DOCUMENT_ID"])) { $backUrl = CBPDocument::GetDocumentAdminPage($arTask["PARAMETERS"]["DOCUMENT_ID"]); } $backUrl = CHTTP::urlDeleteParams($backUrl, array('mode')); $showType = "Form"; if ($arTask['STATUS'] > CBPTaskStatus::Running || $arTask['USER_STATUS'] > CBPTaskUserStatus::Waiting) { $showType = "Success"; } if ($_SERVER["REQUEST_METHOD"] == "POST" && check_bitrix_sessid()) { if ($_POST["action"] == "doTask") { $arErrorsTmp = array(); if (CBPDocument::PostTaskForm($arTask, $userId, $_REQUEST + $_FILES, $arErrorsTmp, $USER->GetFormattedName(false))) { $showType = "Success"; if (strlen($backUrl) > 0) { LocalRedirect($backUrl); die; } } else { foreach ($arErrorsTmp as $e) {
die; } if (!CModule::IncludeModule("photogallery")) { // !important return ShowError(GetMessage("P_MODULE_IS_NOT_INSTALLED")); } elseif (!IsModuleInstalled("iblock")) { // !important return ShowError(GetMessage("IBLOCK_MODULE_NOT_INSTALLED")); } if (!isset($arParams["ACTION_URL"])) { $arParams["ACTION_URL"] = htmlspecialcharsback(POST_FORM_ACTION_URI); } else { $arParams["CHECK_ACTION_URL"] = "Y"; } // Used to rerequest ACTION_URL from POST_FORM_ACTION_URI in GET request for make action_url work correct with no mod_rewrite installed $arParams["ACTION_URL"] = CHTTP::urlDeleteParams($arParams["ACTION_URL"], array("clear_cache", "bitrix_include_areas", "bitrix_show_mode", "back_url_admin", "bx_photo_ajax", "change_view_mode_data", "sessid", "load_comments")); /******************************************************************** For custom components ********************************************************************/ $arParams["PROPERTY_CODE"] = !is_array($arParams["PROPERTY_CODE"]) ? array() : $arParams["PROPERTY_CODE"]; $arParams["ELEMENT_SORT_FIELD"] = strtoupper($arParams["ELEMENT_SORT_FIELD"]); $arParams["ELEMENT_SORT_FIELD1"] = strtoupper($arParams["ELEMENT_SORT_FIELD1"]); $arParams["COMMENTS_TYPE"] = strtoupper($arParams["COMMENTS_TYPE"]); $arParams["IS_SOCNET"] = $arParams["IS_SOCNET"] == "Y" ? "Y" : "N"; $arParams["USE_RATING"] = $arParams["USE_RATING"] == "Y" || $arParams["SHOW_RATING"] == "Y" ? "Y" : "N"; $arParams["SHOW_TAGS"] = $arParams["SHOW_TAGS"] != "N" ? "Y" : "N"; $arParams["MODERATION"] = $arParams["MODERATION"] == "Y" ? "Y" : "N"; if (!isset($arParams["DISPLAY_AS_RATING"]) || !$arParams["DISPLAY_AS_RATING"]) { $arParams["DISPLAY_AS_RATING"] = 'rating_main'; } $arParams["PROPERTY_CODE"][] = "PROPERTY_vote_count";
function fReplaceUrl($arCatalog, $urlCurrent) { $urlCurrentDefault = $urlCurrent; foreach ($arCatalog as $key => $submenu) { $arUrlAdd = array("set_filter" => "Y"); $url = $submenu["url"]; $urlParse = parse_url($url); $arUrlTag = explode("&", $urlParse["query"]); foreach ($arUrlTag as $tag) { $tmp = explode("=", $tag); if ($tmp[0] == "IBLOCK_ID" || $tmp[0] == "find_section_section") { if ($tmp[0] == "find_section_section") { $tmp[0] = "filter_section"; } $urlCurrent = CHTTP::urlDeleteParams($urlCurrent, array($tmp[0])); $arUrlAdd[$tmp[0]] = $tmp[1]; } } $url = CHTTP::urlAddParams($urlCurrent, $arUrlAdd, array("encode", "skip_empty")); $arCatalog[$key]["url"] = $url; if (isset($submenu["items"]) && count($submenu["items"]) > 0) { $subCatal = fReplaceUrl($submenu["items"], $urlCurrentDefault); $arCatalog[$key]["items"] = $subCatal; } } return $arCatalog; }
", className : (window.bRefreshed !== undefined && window.bRefreshed ? "lenta-sort-item lenta-sort-item-selected" : "lenta-sort-item<?php echo !$arResult["PresetFilterActive"] ? " lenta-sort-item-selected" : ""; ?> "), href : "<?php echo CUtil::JSEscape($GLOBALS["APPLICATION"]->GetCurPageParam("preset_filter_id=clearall", array_merge($arResult["PageParamsToClear"], array("preset_filter_id")))); ?> " }, <?php $buttonName = false; if (is_array($arResult["PresetFilters"])) { foreach ($arResult["PresetFilters"] as $preset_filter_id => $arPresetFilter) { $href = $actionUrl !== "" ? $actionUrl : $GLOBALS["APPLICATION"]->GetCurPage(); $href = CHTTP::urlAddParams(CHTTP::urlDeleteParams($href, array_merge($arResult["PageParamsToClear"], array("preset_filter_id"))), array("preset_filter_id" => $preset_filter_id)); if ($arResult["PresetFilterActive"] == $preset_filter_id) { $buttonName = $arPresetFilter["NAME"]; } ?> { text : "<?php echo $arPresetFilter["NAME"]; ?> ", className : (window.bRefreshed !== undefined && window.bRefreshed ? "lenta-sort-item" : "lenta-sort-item<?php echo $arResult["PresetFilterActive"] == $preset_filter_id ? " lenta-sort-item-selected" : ""; ?> "), href : "<?php echo CUtil::JSEscape($href);
protected function fillUrlTemplates() { global $APPLICATION; $currentPath = CHTTP::urlDeleteParams($APPLICATION->GetCurPageParam(), array($this->arParams['PRODUCT_ID_VARIABLE'], $this->arParams['ACTION_VARIABLE'], ''), array('delete_system_params' => true)); $currentPath .= stripos($currentPath, '?') === false ? '?' : '&'; if ($this->arParams['COMPARE_PATH'] == '') { $comparePath = $currentPath; } else { $comparePath = CHTTP::urlDeleteParams($this->arParams['COMPARE_PATH'], array($this->arParams['PRODUCT_ID_VARIABLE'], $this->arParams['ACTION_VARIABLE'], ''), array('delete_system_params' => true)); $comparePath .= stripos($comparePath, '?') === false ? '?' : '&'; } $this->arParams['COMPARE_PATH'] = $comparePath . $this->arParams['ACTION_VARIABLE'] . '=COMPARE'; $this->urlTemplates['~BUY_URL_TEMPLATE'] = $currentPath . $this->arParams['ACTION_VARIABLE'] . '=' . self::ACTION_BUY . '&' . $this->arParams['PRODUCT_ID_VARIABLE'] . '='; $this->urlTemplates['BUY_URL_TEMPLATE'] = htmlspecialcharsbx($this->urlTemplates['~BUY_URL_TEMPLATE']); $this->urlTemplates['~ADD_URL_TEMPLATE'] = $currentPath . $this->arParams['ACTION_VARIABLE'] . '=' . self::ACTION_ADD_TO_BASKET . '&' . $this->arParams['PRODUCT_ID_VARIABLE'] . '='; $this->urlTemplates['ADD_URL_TEMPLATE'] = htmlspecialcharsbx($this->urlTemplates['~ADD_URL_TEMPLATE']); $this->urlTemplates['~SUBSCRIBE_URL_TEMPLATE'] = $currentPath . $this->arParams['ACTION_VARIABLE'] . '=' . self::ACTION_SUBSCRIBE . '&' . $this->arParams["PRODUCT_ID_VARIABLE"] . '='; $this->urlTemplates['SUBSCRIBE_URL_TEMPLATE'] = htmlspecialcharsbx($this->urlTemplates['~SUBSCRIBE_URL_TEMPLATE']); $this->urlTemplates['~COMPARE_URL_TEMPLATE'] = $comparePath . $this->arParams['ACTION_VARIABLE'] . '=' . self::ACTION_ADD_TO_COMPARE_LIST . '&' . $this->arParams['PRODUCT_ID_VARIABLE'] . '='; $this->urlTemplates['COMPARE_URL_TEMPLATE'] = htmlspecialcharsbx($this->urlTemplates['~COMPARE_URL_TEMPLATE']); unset($comparePath, $currentPath); }
} if (strLen($arParams["PAGE_VAR"]) <= 0) { $arParams["PAGE_VAR"] = "page"; } if (strLen($arParams["USER_VAR"]) <= 0) { $arParams["USER_VAR"] = "id"; } if (strLen($arParams["POST_VAR"]) <= 0) { $arParams["POST_VAR"] = "id"; } $applicationCurPage = $APPLICATION->GetCurPage(); $arParams["PATH_TO_BLOG"] = trim($arParams["PATH_TO_BLOG"]); if (strlen($arParams["PATH_TO_BLOG"]) <= 0) { $arParams["PATH_TO_BLOG"] = htmlspecialcharsbx($applicationCurPage . "?" . $arParams["PAGE_VAR"] . "=blog&" . $arParams["BLOG_VAR"] . "=#blog#"); } $arParams["PATH_TO_BLOG"] = CHTTP::urlDeleteParams($arParams["PATH_TO_BLOG"], array("WFILES")); $arParams["PATH_TO_POST"] = trim($arParams["PATH_TO_POST"]); if (strlen($arParams["PATH_TO_POST"]) <= 0) { $arParams["PATH_TO_POST"] = htmlspecialcharsbx($applicationCurPage . "?" . $arParams["PAGE_VAR"] . "=post&" . $arParams["BLOG_VAR"] . "=#blog#&" . $arParams["POST_VAR"] . "=#post_id#"); } $arParams["PATH_TO_POST_EDIT"] = trim($arParams["PATH_TO_POST_EDIT"]); if (strlen($arParams["PATH_TO_POST_EDIT"]) <= 0) { $arParams["PATH_TO_POST_EDIT"] = htmlspecialcharsbx($applicationCurPage . "?" . $arParams["PAGE_VAR"] . "=post_edit&" . $arParams["BLOG_VAR"] . "=#blog#&" . $arParams["POST_VAR"] . "=#post_id#"); } $arParams["PATH_TO_USER"] = trim($arParams["PATH_TO_USER"]); if (strlen($arParams["PATH_TO_USER"]) <= 0) { $arParams["PATH_TO_USER"] = htmlspecialcharsbx($applicationCurPage . "?" . $arParams["PAGE_VAR"] . "=user&" . $arParams["USER_VAR"] . "=#user_id#"); } $arParams["PATH_TO_DRAFT"] = trim($arParams["PATH_TO_DRAFT"]); if (strlen($arParams["PATH_TO_DRAFT"]) <= 0) { $arParams["PATH_TO_DRAFT"] = htmlspecialcharsbx($applicationCurPage . "?" . $arParams["PAGE_VAR"] . "=draft&" . $arParams["BLOG_VAR"] . "=#blog#");
function UpdateReminders($Params = array()) { $eventId = intVal($Params['id']); $reminders = $Params['reminders']; $arFields = $Params['arFields']; $userId = $Params['userId']; $bNew = $Params['bNew']; $path = $Params['path']; $path = CHTTP::urlDeleteParams($path, array("action", "sessid", "bx_event_calendar_request", "EVENT_ID")); $viewPath = CHTTP::urlAddParams($path, array('EVENT_ID' => $eventId)); $remAgentParams = array('eventId' => $eventId, 'userId' => $arFields["CREATED_BY"], 'viewPath' => $viewPath, 'calendarType' => $arFields["CAL_TYPE"], 'ownerId' => $arFields["OWNER_ID"]); // 1. clean reminders if (!$bNew) { // if we edit event here can be "old" reminders CCalendar::RemoveAgent($remAgentParams); } // 2. Set new reminders $startTs = $arFields['DATE_FROM_TS_UTC']; // Start of the event in UTC $agentTime = 0; foreach ($reminders as $reminder) { $delta = intVal($reminder['count']) * 60; //Minute if ($reminder['type'] == 'hour') { $delta = $delta * 60; } elseif ($reminder['type'] == 'day') { $delta = $delta * 60 * 24; } //Day // $startTs - UTC timestamp; date('Z', $startTs) - offset of the server $agentTime = $startTs + date('Z', $startTs); if ($agentTime - $delta >= time() - 60 * 5) { CCalendar::AddAgent(CCalendar::Date($agentTime - $delta), $remAgentParams); } elseif ($arFields['RRULE'] != '') { $arEvents = CCalendarEvent::GetList(array('arFilter' => array("ID" => $eventId, "DELETED" => "N", "FROM_LIMIT" => CCalendar::Date(time() - 3600, false), "TO_LIMIT" => CCalendar::GetMaxDate()), 'userId' => $userId, 'parseRecursion' => true, 'maxInstanceCount' => 2, 'preciseLimits' => true, 'fetchAttendees' => true, 'checkPermissions' => false, 'setDefaultLimit' => false)); if ($arEvents && is_array($arEvents[0])) { $nextEvent = $arEvents[0]; $startTs = CCalendar::Timestamp($nextEvent['DATE_FROM'], false, $arEvents[0]["DT_SKIP_TIME"] !== 'Y'); if ($nextEvent["DT_SKIP_TIME"] == 'N' && $nextEvent["TZ_FROM"]) { $startTs = $startTs - CCalendar::GetTimezoneOffset($nextEvent["TZ_FROM"], $startTs); // UTC timestamp } if ($startTs + date("Z", $startTs) < time() - 60 * 5 && $arEvents[1]) { $nextEvent = $arEvents[1]; } $startTs = CCalendar::Timestamp($nextEvent['DATE_FROM'], false, $arEvents[0]["DT_SKIP_TIME"] !== 'Y'); if ($nextEvent["DT_SKIP_TIME"] == 'N' && $nextEvent["TZ_FROM"]) { $startTs = $startTs - CCalendar::GetTimezoneOffset($nextEvent["TZ_FROM"], $startTs); // UTC timestamp } $reminder = $nextEvent['REMIND'][0]; if ($reminder) { $delta = intVal($reminder['count']) * 60; //Minute if ($reminder['type'] == 'hour') { $delta = $delta * 60; } elseif ($reminder['type'] == 'day') { $delta = $delta * 60 * 24; } //Day // $startTs - UTC timestamp; date("Z", $startTs) - offset of the server $agentTime = $startTs + date("Z", $startTs); if ($agentTime - $delta >= time() - 60 * 5) { // Inaccuracy - 5 min CCalendar::AddAgent(CCalendar::Date($agentTime - $delta), $remAgentParams); } } } } } }
$sectionsIds[] = $arResult['SECTION']['IBLOCK_SECTION_ID']; } if (isset($arResult['GALLERY']['CODE'])) { $sectionsIds[] = $arResult['GALLERY']['ID']; $arGalleriesIds[] = $arResult["GALLERY"]["CODE"]; if ($arResult["GALLERY"]["CREATED_BY"]) { $arUsers[] = $arResult["GALLERY"]["CREATED_BY"]; } } PClearComponentCacheEx($iblockId, $sectionsIds, $arGalleriesIds, $arUsers); if ($arParams["AJAX_CALL"] == "Y") { $APPLICATION->RestartBuffer(); echo CUtil::PhpToJSObject($arResultFields); die; } else { LocalRedirect(CHTTP::urlDeleteParams($arResult["URL"], array("sessid", "edit"), true)); } } $arResult["ERROR_MESSAGE"] = $strWarning; } /******************************************************************** /Actions ********************************************************************/ if ($arParams["AJAX_CALL"] == "Y" || $arParams["BX_PHOTO_AJAX"]) { $GLOBALS['APPLICATION']->RestartBuffer(); } if ($arParams["BX_PHOTO_AJAX"]) { $ajaxAction = $_REQUEST['bx_photo_action']; } else { $ajaxAction = false; }
if (isset($_REQUEST["flt_comments"])) { $ajaxUrlParams["flt_comments"] = $_REQUEST["flt_comments"]; } if (isset($_REQUEST["flt_date_datesel"])) { $ajaxUrlParams["flt_date_datesel"] = $_REQUEST["flt_date_datesel"]; } if (isset($_REQUEST["flt_date_days"])) { $ajaxUrlParams["flt_date_days"] = $_REQUEST["flt_date_days"]; } if (isset($_REQUEST["flt_date_from"])) { $ajaxUrlParams["flt_date_from"] = $_REQUEST["flt_date_from"]; } if (isset($_REQUEST["flt_date_to"])) { $ajaxUrlParams["flt_date_to"] = $_REQUEST["flt_date_to"]; } $arResult["AjaxURL"] = CHTTP::urlAddParams(CHTTP::urlDeleteParams($arResult["ActionUrl"], array("SONET_FILTER_MODE", "flt_created_by_id", "flt_comments", "flt-date-datesel", "flt_date_days", "flt_date_from", "flt_date_to")), $ajaxUrlParams); } $arResult["MODE"] = isset($_REQUEST["SONET_FILTER_MODE"]) && $_REQUEST["SONET_FILTER_MODE"] == "AJAX" ? "AJAX" : false; if ($GLOBALS["USER"]->IsAuthorized() || $arParams["AUTH"] == "Y" || $arParams["SUBSCRIBE_ONLY"] != "Y") { $arResult["DATE_FILTER"] = array("" => GetMessage("SONET_C30_DATE_FILTER_NO_NO_NO_1"), "today" => GetMessage("SONET_C30_DATE_FILTER_TODAY"), "yesterday" => GetMessage("SONET_C30_DATE_FILTER_YESTERDAY"), "week" => GetMessage("SONET_C30_DATE_FILTER_WEEK"), "week_ago" => GetMessage("SONET_C30_DATE_FILTER_WEEK_AGO"), "month" => GetMessage("SONET_C30_DATE_FILTER_MONTH"), "month_ago" => GetMessage("SONET_C30_DATE_FILTER_MONTH_AGO"), "days" => GetMessage("SONET_C30_DATE_FILTER_LAST"), "exact" => GetMessage("SONET_C30_DATE_FILTER_EXACT"), "after" => GetMessage("SONET_C30_DATE_FILTER_LATER"), "before" => GetMessage("SONET_C30_DATE_FILTER_EARLIER"), "interval" => GetMessage("SONET_C30_DATE_FILTER_INTERVAL")); } $arResult["FOLLOW_TYPE"] = ""; if ($GLOBALS["USER"]->IsAuthorized()) { $arParams["SHOW_SMART_FILTER_MYGROUPS"] = $arParams["USE_SMART_FILTER"]; if (array_key_exists("set_follow_type", $_GET)) { CSocNetLogFollow::Set($GLOBALS["USER"]->GetID(), "**", $_GET["set_follow_type"] == "Y" ? "Y" : "N", false); if ($_GET["set_follow_type"] != "Y") { $_SESSION["SL_SHOW_FOLLOW_HINT"] = "Y"; } LocalRedirect(""); } elseif ($arParams["USE_SMART_FILTER"] == "Y" && array_key_exists("set_smart_filter_mygroups", $_GET)) {
$APPLICATION->AddHeadScript('/bitrix/js/crm/interface_grid.js'); //color schemes $arThemes = CGridOptions::GetThemes($this->GetFolder()); if (!empty($arParams["FILTER"])) { $APPLICATION->IncludeComponent("bitrix:crm.interface.filter", isset($arParams['~FILTER_TEMPLATE']) ? $arParams['~FILTER_TEMPLATE'] : '', array("GRID_ID" => $arParams["~GRID_ID"], "FILTER" => $arParams["~FILTER"], "FILTER_PRESETS" => $arParams["~FILTER_PRESETS"], "FILTER_ROWS" => $arResult["FILTER_ROWS"], "FILTER_FIELDS" => $arResult["FILTER"], "RENDER_FILTER_INTO_VIEW" => isset($arParams['~RENDER_FILTER_INTO_VIEW']) ? $arParams['~RENDER_FILTER_INTO_VIEW'] : '', "HIDE_FILTER" => isset($arParams["~HIDE_FILTER"]) ? $arParams["~HIDE_FILTER"] : false, "OPTIONS" => $arResult["OPTIONS"]), $component, array("HIDE_ICONS" => true)); } ?> <?php if ($arParams["SHOW_FORM_TAG"]) { ?> <form name="form_<?php echo $arParams["GRID_ID"]; ?> " action="<?php echo htmlspecialcharsbx(CHTTP::urlDeleteParams(htmlspecialcharsback(POST_FORM_ACTION_URI), array('bxajaxid'))); ?> " target="_self" method="POST"> <?php echo bitrix_sessid_post(); } ?> <div class="bx-crm-interface-list"> <table cellspacing="0" class="bx-crm-interface-grid<?php if ($arResult["OPTIONS"]["theme"] != '') { echo " bx-crm-interface-grid-theme-" . $arResult["OPTIONS"]["theme"]; } ?> " id="<?php echo $arParams["GRID_ID"]; ?>
/** * Adds A/B-test related buttons to Control Panel * * @return void */ public static function onPanelCreate() { global $USER, $APPLICATION; if ($USER->canDoOperation('view_other_settings')) { if ($context = Helper::getContext()) { $baseUri = \CHTTP::urlDeleteParams($APPLICATION->getCurPage(), array('abtest_mode')); $groupAUri = \CHTTP::urlAddParams($baseUri, array('abtest_mode' => intval($context['abtest']) . '|A')); $groupBUri = \CHTTP::urlAddParams($baseUri, array('abtest_mode' => intval($context['abtest']) . '|B')); $resetUri = \CHTTP::urlAddParams($baseUri, array('abtest_mode' => 'reset')); $APPLICATION->addPanelButton(array('ID' => 'abtest_options', 'SRC' => $context['section'] == 'B' ? '/bitrix/images/abtest/ab-icon-b.png' : '/bitrix/images/abtest/ab-icon-a.png', 'TEXT' => str_replace('#ID#', intval($context['abtest']), Localization\Loc::getMessage('ABTEST_PANEL_MENU_BTN')), 'TYPE' => 'BIG', 'MAIN_SORT' => 900, 'SORT' => 10, 'MENU' => array(array('ACTION' => "jsUtils.Redirect([], '" . \CUtil::jsEscape($groupAUri) . "'); ", 'TEXT' => Localization\Loc::getMessage('ABTEST_PANEL_MENU_MODE_A'), 'CHECKED' => $context['section'] == 'A' ? true : false), array('ACTION' => "jsUtils.Redirect([], '" . \CUtil::jsEscape($groupBUri) . "'); ", 'TEXT' => Localization\Loc::getMessage('ABTEST_PANEL_MENU_MODE_B'), 'CHECKED' => $context['section'] == 'B' ? true : false), array('ACTION' => "jsUtils.Redirect([], '" . \CUtil::jsEscape($resetUri) . "'); ", 'TEXT' => Localization\Loc::getMessage('ABTEST_PANEL_MENU_RESET'))))); } } }
protected function processActionStart() { $this->checkRequiredGetParams(array('primaryAction')); if ($this->errorCollection->hasErrors()) { $this->sendJsonErrorResponse(); } $currentUrl = $this->getApplication()->getCurUri(); $currentUrl = \CHTTP::urlDeleteParams($currentUrl, array('document_action')); $currentUrl = \CHTTP::urlAddParams($currentUrl, array('document_action' => $this->request->getQuery('primaryAction')), array('encode' => true)); $this->renderStartPage(array('action' => $this->request->getQuery('primaryAction'), 'url' => $currentUrl)); }
} $arPriceTypeID[] = $value["ID"]; } if (isset($value)) { unset($value); } } if (!empty($arParams["FIELD_CODE"])) { $arSelect = array_merge($arSelect, $arParams["FIELD_CODE"]); } if (!empty($arParams['OFFERS_FIELD_CODE'])) { $arSelect = array_merge($arSelect, $arParams["OFFERS_FIELD_CODE"]); } $arSelect = array_unique($arSelect); $arSort = array($arParams["ELEMENT_SORT_FIELD"] => $arParams["ELEMENT_SORT_ORDER"], "ID" => "DESC"); $currentPath = CHTTP::urlDeleteParams($APPLICATION->GetCurPageParam(), array($arParams['PRODUCT_ID_VARIABLE'], $arParams['ACTION_VARIABLE'], 'DIFFERENT', 'ID', 'op_code', 'of_code', 'pr_code', 'pf_code', 'ajax_action'), array("delete_system_params" => true)); $arResult['~COMPARE_URL_TEMPLATE'] = $currentPath . (stripos($currentPath, '?') === false ? '?' : '&') . $arParams['ACTION_VARIABLE']; $arResult['COMPARE_URL_TEMPLATE'] = htmlspecialcharsbx($arResult['~COMPARE_URL_TEMPLATE']); $arResult['~DELETE_FROM_COMPARE_URL_TEMPLATE'] = $arResult['~COMPARE_URL_TEMPLATE'] . '=DELETE_FROM_COMPARE_RESULT&ID=#ID#'; $arResult['BUY_URL_TEMPLATE'] = $arResult['COMPARE_URL_TEMPLATE'] . '=COMPARE_BUY&' . $arParams['PRODUCT_ID_VARIABLE'] . '=#ID#'; $arResult['ADD_URL_TEMPLATE'] = $arResult['COMPARE_URL_TEMPLATE'] . '=COMPARE_ADD2BASKET&' . $arParams['PRODUCT_ID_VARIABLE'] . '=#ID#'; $arResult['~DELETE_FEATURE_FIELD_TEMPLATE'] = $arResult['~COMPARE_URL_TEMPLATE'] . '=DELETE_FEATURE&pf_code=#CODE#'; $arResult['~ADD_FEATURE_FIELD_TEMPLATE'] = $arResult['~COMPARE_URL_TEMPLATE'] . '=ADD_FEATURE&pf_code=#CODE#'; $arResult['~DELETE_FEATURE_PROPERTY_TEMPLATE'] = $arResult['~COMPARE_URL_TEMPLATE'] . '=DELETE_FEATURE&pr_code=#CODE#'; $arResult['~ADD_FEATURE_PROPERTY_TEMPLATE'] = $arResult['~COMPARE_URL_TEMPLATE'] . '=ADD_FEATURE&pr_code=#CODE#'; $arResult['~DELETE_FEATURE_OF_FIELD_TEMPLATE'] = $arResult['~COMPARE_URL_TEMPLATE'] . '=DELETE_FEATURE&of_code=#CODE#'; $arResult['~ADD_FEATURE_OF_FIELD_TEMPLATE'] = $arResult['~COMPARE_URL_TEMPLATE'] . '=ADD_FEATURE&of_code=#CODE#'; $arResult['~DELETE_FEATURE_OF_PROPERTY_TEMPLATE'] = $arResult['~COMPARE_URL_TEMPLATE'] . '=DELETE_FEATURE&op_code=#CODE#'; $arResult['~ADD_FEATURE_OF_PROPERTY_TEMPLATE'] = $arResult['~COMPARE_URL_TEMPLATE'] . '=ADD_FEATURE&op_code=#CODE#'; unset($currentPath); $arResult['DELETED_FIELDS'] = array();
public static function SendMessage($Params) { if (!CModule::IncludeModule("im")) { return false; } $mode = $Params['mode']; // invite|change|cancel|accept|decline $Params["meetingText"] = isset($Params["meetingText"]) && is_string($Params["meetingText"]) ? trim($Params["meetingText"]) : ''; $fromUser = intVal($Params["userId"]); $toUser = intVal($Params["guestId"]); if (!$fromUser || !$toUser || $toUser == $fromUser) { return false; } $fromTs = CCalendar::Timestamp($Params["from"]); $toTs = CCalendar::Timestamp($Params["to"]); $fromTs = CCalendar::_fixTimestamp($fromTs); $toTs = CCalendar::_fixTimestamp($toTs); $arNotifyFields = array('EMAIL_TEMPLATE' => "CALENDAR_INVITATION", 'NOTIFY_MODULE' => "calendar"); if ($mode == 'accept' || $mode == 'decline') { $arNotifyFields['FROM_USER_ID'] = $toUser; $arNotifyFields['TO_USER_ID'] = $fromUser; if (date('H:i', $fromTs) != '00:00' || date('H:i', $toTs) != '00:00') { $Params["from"] = CCalendar::Date($fromTs + CCalendar::GetOffset($fromUser), true, true, true); $Params["to"] = CCalendar::Date($toTs + CCalendar::GetOffset($fromUser), true, true, true); } } else { $arNotifyFields['FROM_USER_ID'] = $fromUser; $arNotifyFields['TO_USER_ID'] = $toUser; if (date('H:i', $fromTs) != '00:00' || date('H:i', $toTs) != '00:00') { $Params["from"] = CCalendar::Date($fromTs + CCalendar::GetOffset($toUser), true, true, true); $Params["to"] = CCalendar::Date($toTs + CCalendar::GetOffset($toUser), true, true, true); } } $Params["from"] = CCalendar::CutZeroTime($Params["from"]); $Params["to"] = CCalendar::CutZeroTime($Params["to"]); // If it's event for all day - add one day to timestamp if (date("His", $toTs) == '000000') { $toTs += self::GetDayLen(); } // Don't send messages for events in the past if ($toTs < time()) { return false; } $rs = CUser::GetList($by = "id", $order = "asc", array("ID_EQUAL_EXACT" => $toUser, "ACTIVE" => "Y")); if (!$rs->Fetch()) { return false; } $eventId = intVal($Params["eventId"]); $calendarUrl = self::GetPathForCalendarEx($arNotifyFields['TO_USER_ID']); $calendarUrlEV = $calendarUrl . (strpos($calendarUrl, "?") === false ? '?' : '&') . 'EVENT_ID=' . $eventId; $curPath = CCalendar::GetPath(); $titleWithLink = $Params["name"]; if ($curPath && $eventId) { $curPath = CHTTP::urlDeleteParams($curPath, array("action", "sessid", "bx_event_calendar_request", "EVENT_ID")); $curPath = CHTTP::urlAddParams($curPath, array('EVENT_ID' => $eventId)); $titleWithLink = "[url=" . $curPath . "]" . $Params["name"] . "[/url]"; } $arNotifyFields = array('FROM_USER_ID' => $fromUser, 'TO_USER_ID' => $toUser, 'EMAIL_TEMPLATE' => "CALENDAR_INVITATION", 'NOTIFY_MODULE' => "calendar"); switch ($mode) { case 'invite': $arNotifyFields['NOTIFY_EVENT'] = "invite"; $arNotifyFields['NOTIFY_TYPE'] = IM_NOTIFY_CONFIRM; $arNotifyFields['NOTIFY_TAG'] = "CALENDAR|INVITE|" . $eventId . "|" . $toUser; $arNotifyFields['NOTIFY_SUB_TAG'] = "CALENDAR|INVITE|" . $eventId; $arNotifyFields['MESSAGE'] = GetMessage('EC_MESS_INVITE_SITE', array('#TITLE#' => $Params["name"], '#ACTIVE_FROM#' => $Params["from"])); $arNotifyFields['MESSAGE_OUT'] = GetMessage('EC_MESS_INVITE', array('#OWNER_NAME#' => CCalendar::GetUserName($Params['userId']), '#TITLE#' => $Params["name"], '#ACTIVE_FROM#' => $Params["from"])); if ($Params['location'] != "") { $arNotifyFields['MESSAGE'] .= "\n\n" . GetMessage('EC_LOCATION') . ': ' . $Params['location']; $arNotifyFields['MESSAGE_OUT'] .= "\n\n" . GetMessage('EC_LOCATION') . ': ' . $Params['location']; } if ($Params["meetingText"] != "") { $arNotifyFields['MESSAGE'] .= "\n\n" . GetMessage('EC_MESS_MEETING_TEXT', array('#MEETING_TEXT#' => $Params["meetingText"])); $arNotifyFields['MESSAGE_OUT'] .= "\n\n" . GetMessage('EC_MESS_MEETING_TEXT', array('#MEETING_TEXT#' => $Params["meetingText"])); } $arNotifyFields['MESSAGE'] .= "\n\n" . GetMessage('EC_MESS_INVITE_DETAILS_SITE', array('#LINK#' => $calendarUrlEV)); $arNotifyFields['NOTIFY_BUTTONS'] = array(array('TITLE' => GetMessage('EC_MESS_INVITE_CONF_Y_SITE'), 'VALUE' => 'Y', 'TYPE' => 'accept'), array('TITLE' => GetMessage('EC_MESS_INVITE_CONF_N_SITE'), 'VALUE' => 'N', 'TYPE' => 'cancel')); $arNotifyFields['MESSAGE_OUT'] .= "\n\n" . GetMessage('EC_MESS_INVITE_CONF_Y', array('#LINK#' => $calendarUrlEV . '&CONFIRM=Y')); $arNotifyFields['MESSAGE_OUT'] .= "\n" . GetMessage('EC_MESS_INVITE_CONF_N', array('#LINK#' => $calendarUrlEV . '&CONFIRM=N')); $arNotifyFields['MESSAGE_OUT'] .= "\n\n" . GetMessage('EC_MESS_INVITE_DETAILS', array('#LINK#' => $calendarUrlEV)); $arNotifyFields['TITLE'] = GetMessage('EC_MESS_INVITE_TITLE', array('#OWNER_NAME#' => CCalendar::GetUserName($Params['userId']), '#TITLE#' => $Params["name"])); break; case 'change': $arNotifyFields['NOTIFY_EVENT'] = "change"; $arNotifyFields['NOTIFY_TYPE'] = IM_NOTIFY_CONFIRM; $arNotifyFields['NOTIFY_TAG'] = "CALENDAR|INVITE|" . $eventId . "|" . $toUser; $arNotifyFields['NOTIFY_SUB_TAG'] = "CALENDAR|INVITE|" . $eventId; $arNotifyFields['MESSAGE'] = GetMessage('EC_MESS_INVITE_CHANGED_SITE', array('#TITLE#' => $Params["name"], '#ACTIVE_FROM#' => $Params["from"])); $arNotifyFields['MESSAGE_OUT'] = GetMessage('EC_MESS_INVITE_CHANGED', array('#OWNER_NAME#' => CCalendar::GetUserName($Params['userId']), '#TITLE#' => $Params["name"], '#ACTIVE_FROM#' => $Params["from"])); if ($Params["meetingText"] != "") { $arNotifyFields['MESSAGE'] .= "\n\n" . GetMessage('EC_MESS_MEETING_TEXT', array('#MEETING_TEXT#' => $Params["meetingText"])); $arNotifyFields['MESSAGE_OUT'] .= "\n\n" . GetMessage('EC_MESS_MEETING_TEXT', array('#MEETING_TEXT#' => $Params["meetingText"])); } $arNotifyFields['MESSAGE'] .= "\n\n" . GetMessage('EC_MESS_INVITE_DETAILS_SITE', array('#LINK#' => $calendarUrlEV)); $arNotifyFields['NOTIFY_BUTTONS'] = array(array('TITLE' => GetMessage('EC_MESS_INVITE_CONF_Y_SITE'), 'VALUE' => 'Y', 'TYPE' => 'accept'), array('TITLE' => GetMessage('EC_MESS_INVITE_CONF_N_SITE'), 'VALUE' => 'N', 'TYPE' => 'cancel')); $arNotifyFields['MESSAGE_OUT'] .= "\n\n" . GetMessage('EC_MESS_INVITE_CONF_Y', array('#LINK#' => $calendarUrlEV . '&CONFIRM=Y')); $arNotifyFields['MESSAGE_OUT'] .= "\n" . GetMessage('EC_MESS_INVITE_CONF_N', array('#LINK#' => $calendarUrlEV . '&CONFIRM=N')); $arNotifyFields['MESSAGE_OUT'] .= "\n\n" . GetMessage('EC_MESS_INVITE_DETAILS', array('#LINK#' => $calendarUrlEV)); $arNotifyFields['TITLE'] = GetMessage('EC_MESS_INVITE_CHANGED_TITLE', array('#TITLE#' => $Params["name"])); break; case 'change_notify': $arNotifyFields['NOTIFY_EVENT'] = "change"; $arNotifyFields['NOTIFY_TAG'] = "CALENDAR|INVITE|" . $eventId . "|" . $toUser; $arNotifyFields['NOTIFY_SUB_TAG'] = "CALENDAR|INVITE|" . $eventId; $arNotifyFields['MESSAGE'] = GetMessage('EC_MESS_INVITE_CHANGED_SITE', array('#TITLE#' => "[url=" . $calendarUrlEV . "]" . $Params["name"] . "[/url]", '#ACTIVE_FROM#' => $Params["from"])); $arNotifyFields['MESSAGE_OUT'] = GetMessage('EC_MESS_INVITE_CHANGED', array('#OWNER_NAME#' => CCalendar::GetUserName($Params['userId']), '#TITLE#' => $Params["name"], '#ACTIVE_FROM#' => $Params["from"])); if ($Params["meetingText"] != "") { $arNotifyFields['MESSAGE'] .= "\n\n" . GetMessage('EC_MESS_MEETING_TEXT', array('#MEETING_TEXT#' => $Params["meetingText"])); $arNotifyFields['MESSAGE_OUT'] .= "\n\n" . GetMessage('EC_MESS_MEETING_TEXT', array('#MEETING_TEXT#' => $Params["meetingText"])); } $arNotifyFields['MESSAGE'] .= "\n\n" . GetMessage('EC_MESS_INVITE_DETAILS_SITE', array('#LINK#' => $calendarUrlEV)); $arNotifyFields['MESSAGE_OUT'] .= "\n\n" . GetMessage('EC_MESS_INVITE_DETAILS', array('#LINK#' => $calendarUrlEV)); $arNotifyFields['TITLE'] = GetMessage('EC_MESS_INVITE_CHANGED_TITLE', array('#TITLE#' => $Params["name"])); break; case 'cancel': $arNotifyFields['NOTIFY_EVENT'] = "change"; $arNotifyFields['NOTIFY_TAG'] = "CALENDAR|INVITE|" . $eventId . "|" . $toUser . "|cancel"; $arNotifyFields['NOTIFY_SUB_TAG'] = "CALENDAR|INVITE|" . $eventId; $arNotifyFields['MESSAGE'] = GetMessage('EC_MESS_INVITE_CANCEL_SITE', array('#TITLE#' => $Params["name"], '#ACTIVE_FROM#' => $Params["from"])); $arNotifyFields['MESSAGE_OUT'] = GetMessage('EC_MESS_INVITE_CANCEL', array('#OWNER_NAME#' => CCalendar::GetUserName($Params['userId']), '#TITLE#' => $Params["name"], '#ACTIVE_FROM#' => $Params["from"])); $arNotifyFields['MESSAGE'] .= "\n\n" . GetMessage('EC_MESS_VIEW_OWN_CALENDAR', array('#LINK#' => $calendarUrl)); $arNotifyFields['MESSAGE_OUT'] .= "\n\n" . GetMessage('EC_MESS_VIEW_OWN_CALENDAR_OUT', array('#LINK#' => $calendarUrl)); $arNotifyFields['TITLE'] = GetMessage('EC_MESS_INVITE_CANCEL_TITLE', array('#TITLE#' => $Params["name"])); break; case 'accept': case 'decline': $arNotifyFields['NOTIFY_EVENT'] = "info"; $arNotifyFields['FROM_USER_ID'] = intVal($Params["guestId"]); $arNotifyFields['TO_USER_ID'] = intVal($Params["userId"]); $arNotifyFields['NOTIFY_TAG'] = "CALENDAR|INVITE|" . $eventId . "|" . $mode; $arNotifyFields['NOTIFY_SUB_TAG'] = "CALENDAR|INVITE|" . $eventId; $arNotifyFields['MESSAGE'] = GetMessage($mode == 'accept' ? 'EC_MESS_INVITE_ACCEPTED_SITE' : 'EC_MESS_INVITE_DECLINED_SITE', array('#TITLE#' => "[url=" . $calendarUrlEV . "]" . $Params["name"] . "[/url]", '#ACTIVE_FROM#' => $Params["from"])); $arNotifyFields['MESSAGE_OUT'] = GetMessage($mode == 'accept' ? 'EC_MESS_INVITE_ACCEPTED' : 'EC_MESS_INVITE_DECLINED', array('#GUEST_NAME#' => CCalendar::GetUserName($Params['guestId']), '#TITLE#' => $Params["name"], '#ACTIVE_FROM#' => $Params["from"])); if ($Params["comment"] != "") { $arNotifyFields['MESSAGE'] .= "\n\n" . GetMessage('EC_MESS_INVITE_ACC_COMMENT', array('#COMMENT#' => $Params["comment"])); $arNotifyFields['MESSAGE_OUT'] .= "\n\n" . GetMessage('EC_MESS_INVITE_ACC_COMMENT', array('#COMMENT#' => $Params["comment"])); } $arNotifyFields['MESSAGE_OUT'] .= "\n\n" . GetMessage('EC_MESS_INVITE_DETAILS', array('#LINK#' => $calendarUrlEV)); break; } CIMNotify::Add($arNotifyFields); foreach (GetModuleEvents("calendar", "OnSendInvitationMessage", true) as $arEvent) { ExecuteModuleEventEx($arEvent, array($Params)); } }
} $arResult['HEADERS'] = array_merge($arResult['HEADERS'], array(array('id' => 'REAL_STATUS', 'name' => GetMessage('CRM_COLUMN_REAL_STATUS'), 'sort' => 'real_status', 'default' => true, 'editable' => array(), 'type' => 'list'), array('id' => 'PRIORITY', 'name' => GetMessage('CRM_COLUMN_PRIORITY'), 'sort' => 'priority', 'default' => true, 'editable' => array(), 'type' => 'list'), array('id' => 'CREATED_DATE', 'name' => GetMessage('CRM_COLUMN_DATE_CREATE'), 'sort' => 'created_date', 'default' => true), array('id' => 'CHANGED_DATE', 'name' => GetMessage('CRM_COLUMN_DATE_MODIFY'), 'sort' => 'changed_date', 'default' => false), array('id' => 'DATE_START', 'name' => GetMessage('CRM_COLUMN_DATE_START'), 'sort' => 'date_start', 'default' => false, 'editable' => true, 'type' => 'date'), array('id' => 'CLOSED_DATE', 'name' => GetMessage('CRM_COLUMN_CLOSED_DATE'), 'sort' => 'closed_date', 'default' => true, 'editable' => true, 'type' => 'date'), array('id' => 'RESPONSIBLE_ID', 'name' => GetMessage('CRM_COLUMN_RESPONSIBLE_BY'), 'sort' => 'responsible_id', 'default' => true, 'editable' => false))); if ($_SERVER['REQUEST_METHOD'] == 'GET' && check_bitrix_sessid() && isset($_GET['action_' . $arResult['GRID_ID']])) { if ($_GET['action_' . $arResult['GRID_ID']] == 'delete') { global $USER_FIELD_MANAGER; $_GET['ID'] = (int) $_GET['ID']; $_GET['RESPONSIBLE_ID'] = (int) $_GET['RESPONSIBLE_ID']; $arUserFields = $USER_FIELD_MANAGER->GetUserFields('TASKS_TASK', $_GET['ID'], LANGUAGE_ID); if (isset($arUserFields['UF_CRM_TASK'])) { if (count($arUserFields['UF_CRM_TASK']['VALUE']) > 1) { if (($k = array_search($_GET['REL_ID'], $arUserFields['UF_CRM_TASK']['VALUE'])) !== false) { unset($arUserFields['UF_CRM_TASK']['VALUE'][$k]); $USER_FIELD_MANAGER->Update('TASKS_TASK', $_GET['ID'], array('UF_CRM_TASK' => $arUserFields['UF_CRM_TASK']['VALUE'])); } } else { $arResult['PATH_TO_TASK_DELETE'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate(COption::GetOptionString('tasks', 'paths_task_user_entry', ''), array('task_id' => $_GET['ID'], 'user_id' => $_GET['RESPONSIBLE_ID'])), array('sessid' => bitrix_sessid(), 'ACTION' => 'delete', 'back_url' => urlencode(CHTTP::urlAddParams(CHTTP::urlDeleteParams($APPLICATION->GetCurUri(), array('ID', 'REL_ID', 'RESPONSIBLE_ID', 'sessid', 'action_CRM_ACTIVITY_TASK_LIST', 'action_CRM_ACTIVITY_TASK_LIST_')), array($arParams['FORM_ID'] . '_active_tab' => $arResult['TAB_ID']))))); if (!isset($_GET['AJAX_CALL'])) { LocalRedirect($arResult['PATH_TO_TASK_DELETE']); } } } unset($_GET['ID'], $_POST['ID'], $_REQUEST['ID']); // otherwise the filter will work } if (!isset($_GET['AJAX_CALL'])) { LocalRedirect($bInternal ? '?' . $arParams['FORM_ID'] . '_active_tab=tab_activity' : ''); } } $CGridOptions = new CCrmGridOptions($arResult['GRID_ID']); if (isset($_REQUEST['clear_filter']) && $_REQUEST['clear_filter'] == 'Y') { $urlParams = array();
} } if (!isset($_POST["AJAX_CALL"])) { if ($strError) { $_SESSION[$errorID] = $strError; LocalRedirect(CHTTP::urlAddParams($arResult["~LIST_URL"], array("error" => $errorID))); } else { LocalRedirect($arResult["~LIST_URL"]); } } } //Show error message if required if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['error'])) { if ($_GET['error'] === $errorID) { if (!isset($_SESSION[$errorID])) { LocalRedirect(CHTTP::urlDeleteParams($APPLICATION->GetCurPage(), array('error'))); } $strError = strval($_SESSION[$errorID]); unset($_SESSION[$errorID]); if ($strError !== '') { ShowError(htmlspecialcharsbx($strError)); } } } $grid_options = new CGridOptions($arResult["GRID_ID"]); $grid_columns = $grid_options->GetVisibleColumns(); $grid_sort = $grid_options->GetSorting(array("sort" => array("name" => "asc"))); if ($arResult["IBLOCK"]["BIZPROC"] == "Y" && CModule::IncludeModule('bizproc')) { $arDocumentTemplates = CBPDocument::GetWorkflowTemplatesForDocumentType(BizProcDocument::generateDocumentComplexType($arParams["IBLOCK_TYPE_ID"], $arResult["IBLOCK_ID"])); $arResult["BIZPROC"] = "Y"; } else {
$arParams['PATH_TO_LEAD_SHOW'] = CrmCheckPath('PATH_TO_LEAD_SHOW', $arParams['PATH_TO_LEAD_SHOW'], $APPLICATION->GetCurPage() . '?lead_id=#lead_id#&show'); $arParams['PATH_TO_LEAD_CONVERT'] = CrmCheckPath('PATH_TO_LEAD_CONVERT', $arParams['PATH_TO_LEAD_CONVERT'], $APPLICATION->GetCurPage() . '?lead_id=#lead_id#&convert'); $arParams['PATH_TO_QUOTE_EDIT'] = CrmCheckPath('PATH_TO_QUOTE_EDIT', $arParams['PATH_TO_QUOTE_EDIT'], $APPLICATION->GetCurPage() . '?quote_id=#quote_id#&edit'); $arParams['PATH_TO_USER_PROFILE'] = CrmCheckPath('PATH_TO_USER_PROFILE', $arParams['PATH_TO_USER_PROFILE'], '/company/personal/user/#user_id#/'); $arParams['PATH_TO_USER_BP'] = CrmCheckPath('PATH_TO_USER_BP', $arParams['PATH_TO_USER_BP'], '/company/personal/bizproc/'); $arParams['NAME_TEMPLATE'] = empty($arParams['NAME_TEMPLATE']) ? CSite::GetNameFormat(false) : str_replace(array("#NOBR#", "#/NOBR#"), array("", ""), $arParams["NAME_TEMPLATE"]); $arResult['CURRENT_USER_ID'] = CCrmSecurityHelper::GetCurrentUserID(); $arResult['IS_AJAX_CALL'] = isset($_REQUEST['bxajaxid']) || isset($_REQUEST['AJAX_CALL']); $arResult['SESSION_ID'] = bitrix_sessid(); $addressLabels = EntityAddress::getShortLabels(); //Show error message if required if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['error'])) { $errorID = strtolower($_GET['error']); if (preg_match('/^crm_err_/', $errorID) === 1) { if (!isset($_SESSION[$errorID])) { LocalRedirect(CHTTP::urlDeleteParams($arParams['PATH_TO_LEAD_LIST'], array('error'))); } $arErrors = $_SESSION[$errorID]; if (is_array($arErrors) && !empty($arErrors)) { $errorHtml = ''; foreach ($arErrors as $error) { if ($errorHtml !== '') { $errorHtml .= '<br />'; } $errorHtml .= htmlspecialcharsbx($error); } $arResult['ERROR_HTML'] = $errorHtml; } unset($arErrors, $_SESSION[$errorID]); } }
unset($intOneKey); } } } } if ($bCatalog && $boolNeedCatalogCache && !empty($arResult["ELEMENTS"])) { CCatalogDiscount::SetProductSectionsCache($arResult["ELEMENTS"]); CCatalogDiscount::SetDiscountProductCache($arResult["ELEMENTS"], array('IBLOCK_ID' => $arParams["IBLOCK_ID"], 'GET_BY_ID' => 'Y')); } if (isset($arItem)) unset($arItem); $currentPath = CHTTP::urlDeleteParams( $APPLICATION->GetCurPageParam(), array($arParams['PRODUCT_ID_VARIABLE'], $arParams['ACTION_VARIABLE']), array("delete_system_params" => true) ); $currentPath .= (stripos($currentPath, '?') === false ? '?' : '&'); if ($arParams['COMPARE_PATH'] == '') { $comparePath = $currentPath; } else { $comparePath = $arParams['COMPARE_PATH']; $comparePath .= (stripos($comparePath, '?') === false ? '?' : '&'); } $arResult['~BUY_URL_TEMPLATE'] = $currentPath.$arParams["ACTION_VARIABLE"]."=BUY&".$arParams["PRODUCT_ID_VARIABLE"]."=#ID#"; $arResult['BUY_URL_TEMPLATE'] = htmlspecialcharsbx($arResult['~BUY_URL_TEMPLATE']);
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } if (!empty($arResult["ERROR_MESSAGE"])) { ShowError($arResult["ERROR_MESSAGE"]); } CBPDocument::AddShowParameterInit($arParams["MODULE_ID"], "only_users", $arParams["DOCUMENT_TYPE"]); $bizProcIndex = 0; $bEmpty = true; $bShowButtons = false; $arDocumentStates = $arResult["DOCUMENT_STATES"]; $postFormUri = isset($arParams["POST_FORM_URI"]) ? $arParams["POST_FORM_URI"] : ""; $actionUrl = CHTTP::urlAddParams(CHTTP::urlDeleteParams($postFormUri !== "" ? $postFormUri : $APPLICATION->GetCurPage(), array("id", "action", "sessid", "back_url")), array("sessid" => bitrix_sessid())); if (!empty($arParams["~back_url"])) { $actionUrl = CHTTP::urlAddParams($actionUrl, array("back_url" => urlencode($arParams["~back_url"]))); } ?> <div class="bizproc-page-document"> <form action="<?php echo htmlspecialcharsbx($postFormUri !== '' ? $postFormUri : POST_FORM_ACTION_URI); ?> " method="POST" class="bizproc-form" name="start_workflow_form1" id="start_workflow_form1"> <?php echo bitrix_sessid_post(); ?> <input type="hidden" name="back_url" value="<?php echo htmlspecialcharsbx($arParams["~back_url"]); ?>
} } } if ($bCatalog && $boolNeedCatalogCache && !empty($arResult["ELEMENTS"])) { CCatalogDiscount::SetProductSectionsCache($arResult["ELEMENTS"]); CCatalogDiscount::SetDiscountProductCache($arResult["ELEMENTS"], array('IBLOCK_ID' => $arParams["IBLOCK_ID"], 'GET_BY_ID' => 'Y')); } if (isset($arItem)) { unset($arItem); } $currentPath = CHTTP::urlDeleteParams($APPLICATION->GetCurPageParam(), array($arParams['PRODUCT_ID_VARIABLE'], $arParams['ACTION_VARIABLE'], ''), array('delete_system_params' => true)); $currentPath .= stripos($currentPath, '?') === false ? '?' : '&'; if ($arParams['COMPARE_PATH'] == '') { $comparePath = $currentPath; } else { $comparePath = CHTTP::urlDeleteParams($arParams['COMPARE_PATH'], array($arParams['PRODUCT_ID_VARIABLE'], $arParams['ACTION_VARIABLE'], ''), array('delete_system_params' => true)); $comparePath .= stripos($comparePath, '?') === false ? '?' : '&'; } $arParams['COMPARE_PATH'] = $comparePath . $arParams['ACTION_VARIABLE'] . '=COMPARE'; $arResult['~BUY_URL_TEMPLATE'] = $currentPath . $arParams["ACTION_VARIABLE"] . "=BUY&" . $arParams["PRODUCT_ID_VARIABLE"] . "=#ID#"; $arResult['BUY_URL_TEMPLATE'] = htmlspecialcharsbx($arResult['~BUY_URL_TEMPLATE']); $arResult['~ADD_URL_TEMPLATE'] = $currentPath . $arParams["ACTION_VARIABLE"] . "=ADD2BASKET&" . $arParams["PRODUCT_ID_VARIABLE"] . "=#ID#"; $arResult['ADD_URL_TEMPLATE'] = htmlspecialcharsbx($arResult['~ADD_URL_TEMPLATE']); $arResult['~SUBSCRIBE_URL_TEMPLATE'] = $currentPath . $arParams["ACTION_VARIABLE"] . "=SUBSCRIBE_PRODUCT&" . $arParams["PRODUCT_ID_VARIABLE"] . "=#ID#"; $arResult['SUBSCRIBE_URL_TEMPLATE'] = htmlspecialcharsbx($arResult['~SUBSCRIBE_URL_TEMPLATE']); $arResult['~COMPARE_URL_TEMPLATE'] = $comparePath . $arParams["ACTION_VARIABLE"] . "=ADD_TO_COMPARE_LIST&" . $arParams["PRODUCT_ID_VARIABLE"] . "=#ID#"; $arResult['COMPARE_URL_TEMPLATE'] = htmlspecialcharsbx($arResult['~COMPARE_URL_TEMPLATE']); unset($comparePath, $currentPath); foreach ($arResult["ITEMS"] as &$arItem) { $arItem["PRICES"] = array(); $arItem["PRICE_MATRIX"] = false;
} else { $arParams["CACHE_TIME"] = 0; } /******************************************************************** /Input params ********************************************************************/ if ($_REQUEST["uploader_redirect"] == "Y" && check_bitrix_sessid()) { $arErrors = CImageUploader::CheckErrors(); $savedData = CImageUploader::GetSavedData(); if (is_array($savedData) || $arErrors && count($arErrors) > 0) { if ((!$savedData['SECTION_ID'] || $savedData['UPLOADING_START'] == "Y" && $savedData['UPLOADING_SUCCESS'] != "Y") && !$arErrors) { $arErrors = array(array('id' => "BXPH_UNKNOWN_UPLOAD", 'text' => GetMessage('P_BXPH_UNKNOWN_UPLOAD'))); } CImageUploader::CleanSavedData(); if (!$arErrors) { $arParams["SUCCESS_URL"] = CHTTP::urlDeleteParams(CComponentEngine::MakePathFromTemplate($arParams["~SECTION_URL"], array("USER_ALIAS" => $arParams["USER_ALIAS"], "SECTION_ID" => $savedData["SECTION_ID"])), array("sessid", "uploader_redirect")); return LocalRedirect($arParams['SUCCESS_URL']); } else { $arResult['ERROR_MESSAGE'] = ""; foreach ($arErrors as $err) { $arResult['ERROR_MESSAGE'] = '[' . $err['id'] . '] ' . (strlen($err['text']) > 0 ? $err['text'] : GetMessage('P_UNKNOWN_ERROR')) . "<br>"; } } } } /******************************************************************** Main data ********************************************************************/ $oPhoto = new CPGalleryInterface(array("IBlockID" => $arParams["IBLOCK_ID"], "GalleryID" => $arParams["USER_ALIAS"], "Permission" => $arParams["PERMISSION_EXTERNAL"]), array("cache_time" => $arParams["CACHE_TIME"], "set_404" => $arParams["SET_STATUS_404"])); if (!$oPhoto) { return false;
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } $this->IncludeComponentLang("action.php"); $photo_list_action = $_REQUEST["photo_list_action"]; if (isset($photo_list_action) && $photo_list_action != "") { $APPLICATION->ShowAjaxHead(); $UCID = preg_replace("/[^a-z0-9\\_]+/is", "", $_REQUEST["UCID"]); ?> <script> if (!window.BX && top.BX){BX = top.BX;} window.bxph_action_url_<?php echo $UCID; ?> = '<?php echo CUtil::JSEscape(CHTTP::urlDeleteParams(htmlspecialcharsback(POST_FORM_ACTION_URI), array("view_mode", "sessid", "uploader_redirect", "photo_list_action", "pio", "ELEMENT_ID", "UCID"), true)); ?> '; <?php if (!check_bitrix_sessid()) { ?> window.bxph_error = '<?php echo GetMessage("IBLOCK_WRONG_SESSION"); ?> ';<?php die('</' . 'script>'); } ?> </script> <?php if ($photo_list_action == 'load_comments' && $arParams["USE_COMMENTS"] == "Y" && $arParams["PERMISSION"] >= "R") {
public static function GetUserfieldsEditHtml($eventId, $url = '') { global $USER_FIELD_MANAGER, $APPLICATION; $USER_FIELDS = $USER_FIELD_MANAGER->GetUserFields("CALENDAR_EVENT", $eventId, LANGUAGE_ID); if (!$USER_FIELDS || count($USER_FIELDS) == 0) { return; } $url = CHTTP::urlDeleteParams($url, array("action", "sessid", "bx_event_calendar_request", "event_id", "reqId")); $url = $url . (strpos($url, '?') === false ? '?' : '&') . 'action=userfield_save&bx_event_calendar_request=Y&' . bitrix_sessid_get(); ?> <form method="post" name="calendar-event-uf-form<?php echo $eventId; ?> " action="<?php echo $url; ?> " enctype="multipart/form-data" encoding="multipart/form-data"> <input name="event_id" type="hidden" value="" /> <input name="reqId" type="hidden" value="" /> <table cellspacing="0" class="bxc-prop-layout"> <?php foreach ($USER_FIELDS as $arUserField) { ?> <tr> <td class="bxc-prop"><?php echo htmlspecialcharsbx($arUserField["EDIT_FORM_LABEL"]); ?> :</td> <td class="bxc-prop"> <?php $APPLICATION->IncludeComponent("bitrix:system.field.edit", $arUserField["USER_TYPE"]["USER_TYPE_ID"], array("bVarsFromForm" => false, "arUserField" => $arUserField, "form_name" => "calendar-event-uf-form" . $eventId), null, array("HIDE_ICONS" => "Y")); ?> </td> </tr> <?php } ?> </table> </form> <?php }
public static function SetMeetingParams($userId, $eventId, $arFields) { global $DB; $eventId = intVal($eventId); $userId = intVal($userId); // Check $arFields if (!in_array($arFields['ACCESSIBILITY'], array('busy', 'quest', 'free', 'absent'))) { $arFields['ACCESSIBILITY'] = 'busy'; } $arReminders = array(); if ($arFields['REMIND'] && is_array($arFields['REMIND'])) { foreach ($arFields['REMIND'] as $remind) { if (in_array($remind['type'], array('min', 'hour', 'day'))) { $arReminders[] = array('type' => $remind['type'], 'count' => floatVal($remind['count'])); } } } $arFields['REMIND'] = count($arReminders) > 0 ? serialize($arReminders) : ''; // Reminding options $Event = CCalendarEvent::GetById($eventId); if (!$Event) { return false; } $path = CCalendar::GetPath($arFields['CAL_TYPE']); $path = CHTTP::urlDeleteParams($path, array("action", "sessid", "bx_event_calendar_request", "EVENT_ID")); $viewPath = CHTTP::urlAddParams($path, array('EVENT_ID' => $eventId)); $remAgentParams = array('eventId' => $eventId, 'userId' => $userId, 'viewPath' => $viewPath, 'calendarType' => $Event["CAL_TYPE"], 'ownerId' => $Event["OWNER_ID"]); // 1. clean reminders CCalendar::RemoveAgent($remAgentParams); // 2. Set new reminders foreach ($arReminders as $reminder) { $delta = intVal($reminder['count']) * 60; //Minute if ($reminder['type'] == 'hour') { $delta = $delta * 60; } elseif ($reminder['type'] == 'day') { $delta = $delta * 60 * 24; } //Day if ($Event['DT_FROM_TS'] - $delta >= time() - 60 * 5) { // Inaccuracy - 5 min CCalendar::AddAgent(CCalendar::Date($Event['DT_FROM_TS'] - $delta), $remAgentParams); } } // Select meeting info about event $res = CCalendarEvent::GetList(array('arFilter' => array("ID" => $eventId, "DELETED" => "N"), 'parseRecursion' => false)); if ($Event = $res[0]) { if ($Event['IS_MEETING']) { // Try to find this user into attendees for this event $strSql = "SELECT * FROM b_calendar_attendees WHERE USER_KEY={$userId} AND EVENT_ID={$eventId}"; $dbAtt = $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__); if ($att = $dbAtt->Fetch()) { //Set params $strSql = "UPDATE b_calendar_attendees SET " . $DB->PrepareUpdate("b_calendar_attendees", $arFields) . " WHERE EVENT_ID=" . $eventId . " AND USER_KEY=" . $userId; $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__); } } } CCalendar::ClearCache('attendees_list'); return true; }
public static function GetPanelButtons($IBLOCK_ID=0, $ELEMENT_ID=0, $SECTION_ID=0, $arOptions=array()) { /** @global CMain $APPLICATION */ global $APPLICATION; $arButtons = array( "view" => array(), "edit" => array(), "configure" => array(), "submenu" => array(), ); if(array_key_exists("SECTION_BUTTONS", $arOptions) && $arOptions["SECTION_BUTTONS"] === false) $bSectionButtons = false; else $bSectionButtons = true; if(array_key_exists("SESSID", $arOptions) && $arOptions["SESSID"] === false) $bSessID = false; else $bSessID = true; $IBLOCK_ID = intval($IBLOCK_ID); $ELEMENT_ID = intval($ELEMENT_ID); $SECTION_ID = intval($SECTION_ID); if(($ELEMENT_ID > 0) && (($IBLOCK_ID <= 0) || ($bSectionButtons && $SECTION_ID == 0))) { $rsIBlockElement = CIBlockElement::GetList(array(), array( "ID" => $ELEMENT_ID, "ACTIVE_DATE" => "Y", "ACTIVE" => "Y", "CHECK_PERMISSIONS" => "Y", ), false, false, array("ID", "IBLOCK_ID", "IBLOCK_SECTION_ID")); if($arIBlockElement = $rsIBlockElement->Fetch()) { $IBLOCK_ID = $arIBlockElement["IBLOCK_ID"]; $SECTION_ID = $arIBlockElement["IBLOCK_SECTION_ID"]; } } if($IBLOCK_ID <= 0) return $arButtons; $bCatalog = false; if(isset($arOptions["CATALOG"]) && $arOptions["CATALOG"] == true) { if(CModule::IncludeModule('catalog')) $bCatalog = true; } $return_url = array( "add_element" => "", "edit_element" => "", "edit_iblock" => "", "history_element" => "", "edit_section" => "", "add_section" => "", "delete_section" => "", "delete_element" => "", "element_list" => "", "section_list" => "", ); if(array_key_exists("RETURN_URL", $arOptions)) { if(is_array($arOptions["RETURN_URL"])) { foreach($arOptions["RETURN_URL"] as $key => $url) if(!empty($url) && array_key_exists($key, $return_url)) $return_url[$key] = $url; } elseif(!empty($arOptions["RETURN_URL"])) { foreach($return_url as $key => $url) $return_url[$key] = $arOptions["RETURN_URL"]; } } $str = ""; foreach($return_url as $key => $url) { if(empty($url)) { if(empty($str)) { $str = \Bitrix\Main\Context::getCurrent()->getServer()->getRequestUri(); if(defined("BX_AJAX_PARAM_ID")) $str = CHTTP::urlDeleteParams($str, array(BX_AJAX_PARAM_ID)); } $return_url[$key] = $str; } } $arIBlock = CIBlock::GetArrayByID($IBLOCK_ID); $bWorkflow = CModule::IncludeModule("workflow") && ($arIBlock["WORKFLOW"] !== "N"); $s = $bWorkflow? "&WF=Y": ""; $arLabels = $arOptions["LABELS"]; if($ELEMENT_ID > 0 && CIBlockElementRights::UserHasRightTo($IBLOCK_ID, $ELEMENT_ID, "element_edit")) { $url = "/bitrix/admin/".CIBlock::GetAdminElementEditLink($IBLOCK_ID, $ELEMENT_ID, array( "force_catalog" => $bCatalog, "filter_section" => $SECTION_ID, "bxpublic" => "Y", "from_module" => "iblock", "return_url" => $return_url["edit_element"], )).$s; $action = $APPLICATION->GetPopupLink( array( "URL" => $url, "PARAMS" => array( "width" => 700, 'height' => 400, 'resize' => false, ), ) ); $arButton = array( "TEXT" => (strlen($arLabels["ELEMENT_EDIT_TEXT"])? $arLabels["ELEMENT_EDIT_TEXT"]: $arIBlock["ELEMENT_EDIT"]), "TITLE" => (strlen($arLabels["ELEMENT_EDIT_TITLE"])? $arLabels["ELEMENT_EDIT_TITLE"]: $arIBlock["ELEMENT_EDIT"]), "ACTION" => 'javascript:'.$action, "ACTION_URL" => $url, "ONCLICK" => $action, "DEFAULT" => ($APPLICATION->GetPublicShowMode() != 'configure'? true: false), "ICON" => "bx-context-toolbar-edit-icon", "ID" => "bx-context-toolbar-edit-element" ); $arButtons["edit"]["edit_element"] = $arButton; $arButtons["configure"]["edit_element"] = $arButton; $url = str_replace("&bxpublic=Y&from_module=iblock", "", $url); $arButton["ACTION"] = "javascript:jsUtils.Redirect([], '".CUtil::JSEscape($url)."')"; unset($arButton["ONCLICK"]); $arButtons["submenu"]["edit_element"] = $arButton; if($bWorkflow) { $url = "/bitrix/admin/iblock_history_list.php?type=".$arIBlock["IBLOCK_TYPE_ID"]."&lang=".LANGUAGE_ID."&IBLOCK_ID=".$IBLOCK_ID."&ELEMENT_ID=".$ELEMENT_ID."&filter_section=".$SECTION_ID."&return_url=".UrlEncode($return_url["history_element"]); $arButton = array( "TEXT" => GetMessage("IBLOCK_PANEL_HISTORY_BUTTON"), "TITLE" => GetMessage("IBLOCK_PANEL_HISTORY_BUTTON"), "ACTION" => "javascript:jsUtils.Redirect([], '".CUtil::JSEscape($url)."')", "ONCLICK" => "jsUtils.Redirect([], '".CUtil::JSEscape($url)."')", "ID" => "bx-context-toolbar-history-element" ); $arButtons["submenu"]["history_element"] = $arButton; } } if(CIBlockSectionRights::UserHasRightTo($IBLOCK_ID, $SECTION_ID, "section_element_bind")) { $url = "/bitrix/admin/".CIBlock::GetAdminElementEditLink($IBLOCK_ID, null, array( "force_catalog" => $bCatalog, "filter_section" => $SECTION_ID, "IBLOCK_SECTION_ID" => $SECTION_ID, "bxpublic" => "Y", "from_module" => "iblock", "return_url" => $return_url["add_element"], )); $action = $APPLICATION->GetPopupLink( array( "URL" => $url, "PARAMS" => array( "width" => 700, 'height' => 400, 'resize' => false, ), ) ); $arButton = array( "TEXT" => (strlen($arLabels["ELEMENT_ADD_TEXT"])? $arLabels["ELEMENT_ADD_TEXT"]: $arIBlock["ELEMENT_ADD"]), "TITLE" => (strlen($arLabels["ELEMENT_ADD_TITLE"])? $arLabels["ELEMENT_ADD_TITLE"]: $arIBlock["ELEMENT_ADD"]), "ACTION" => 'javascript:'.$action, "ACTION_URL" => $url, "ONCLICK" => $action, "ICON" => "bx-context-toolbar-create-icon", "ID" => "bx-context-toolbar-add-element", ); $arButtons["edit"]["add_element"] = $arButton; $arButtons["configure"]["add_element"] = $arButton; $arButtons["intranet"][] = array( 'TEXT' => $arButton["TEXT"], 'TITLE' => $arButton["TITLE"], 'ICON' => 'add', 'ONCLICK' => $arButton["ACTION"], 'SORT' => 1000, ); $url = str_replace("&bxpublic=Y&from_module=iblock", "", $url); $arButton["ACTION"] = "javascript:jsUtils.Redirect([], '".CUtil::JSEscape($url)."')"; unset($arButton["ONCLICK"]); $arButtons["submenu"]["add_element"] = $arButton; } if($ELEMENT_ID > 0 && CIBlockElementRights::UserHasRightTo($IBLOCK_ID, $ELEMENT_ID, "element_delete")) { //Delete Element if(!empty($arButtons["edit"])) $arButtons["edit"][] = array("SEPARATOR" => "Y", "HREF" => ""); if(!empty($arButtons["configure"])) $arButtons["configure"][] = array("SEPARATOR" => "Y", "HREF" => ""); if(!empty($arButtons["submenu"])) $arButtons["submenu"][] = array("SEPARATOR" => "Y", "HREF" => ""); $url = CIBlock::GetAdminElementListLink($IBLOCK_ID, array('action'=>'delete')); if($bSessID) $url .= '&'.bitrix_sessid_get(); $url .= '&ID='.(preg_match('/^iblock_list_admin\.php/', $url)? "E": "").$ELEMENT_ID."&return_url=".UrlEncode($return_url["delete_element"]); $url = "/bitrix/admin/".$url; $arButton = array( "TEXT" => (strlen($arLabels["ELEMENT_DELETE_TEXT"])? $arLabels["ELEMENT_DELETE_TEXT"]: $arIBlock["ELEMENT_DELETE"]), "TITLE" => (strlen($arLabels["ELEMENT_DELETE_TITLE"])? $arLabels["ELEMENT_DELETE_TITLE"]: $arIBlock["ELEMENT_DELETE"]), "ACTION"=>"javascript:if(confirm('".GetMessageJS("IBLOCK_PANEL_ELEMENT_DEL_CONF")."'))jsUtils.Redirect([], '".CUtil::JSEscape($url)."')", "ACTION_URL" => $url, "ONCLICK"=>"if(confirm('".GetMessageJS("IBLOCK_PANEL_ELEMENT_DEL_CONF")."'))jsUtils.Redirect([], '".CUtil::JSEscape($url)."')", "ICON" => "bx-context-toolbar-delete-icon", "ID" => "bx-context-toolbar-delete-element" ); $arButtons["edit"]["delete_element"] = $arButton; $arButtons["configure"]["delete_element"] = $arButton; $arButtons["submenu"]["delete_element"] = $arButton; } if($ELEMENT_ID <= 0 && $bSectionButtons) { $rsIBTYPE = CIBlockType::GetByID($arIBlock["IBLOCK_TYPE_ID"]); if(($arIBTYPE = $rsIBTYPE->Fetch()) && ($arIBTYPE["SECTIONS"] == "Y")) { if($SECTION_ID > 0 && CIBlockSectionRights::UserHasRightTo($IBLOCK_ID, $SECTION_ID, "section_edit")) { if(!empty($arButtons["edit"])) $arButtons["edit"][] = array("SEPARATOR" => "Y", "HREF" => ""); if(!empty($arButtons["configure"])) $arButtons["configure"][] = array("SEPARATOR" => "Y", "HREF" => ""); if(!empty($arButtons["submenu"])) $arButtons["submenu"][] = array("SEPARATOR" => "Y", "HREF" => ""); $url = "/bitrix/admin/".CIBlock::GetAdminSectionEditLink($IBLOCK_ID, $SECTION_ID, array( "force_catalog" => $bCatalog, "filter_section" => $SECTION_ID, "bxpublic" => "Y", "from_module" => "iblock", "return_url" => $return_url["edit_section"], )); $action = $APPLICATION->GetPopupLink( array( "URL" => $url, "PARAMS" => array( "width" => 700, 'height' => 400, 'resize' => false, ), ) ); $arButton = array( "TEXT" => (strlen($arLabels["SECTION_EDIT_TEXT"])? $arLabels["SECTION_EDIT_TEXT"]: $arIBlock["SECTION_EDIT"]), "TITLE" => (strlen($arLabels["SECTION_EDIT_TITLE"])? $arLabels["SECTION_EDIT_TITLE"]: $arIBlock["SECTION_EDIT"]), "ACTION" => 'javascript:'.$action, "ACTION_URL" => $url, "ICON" => "bx-context-toolbar-edit-icon", "ONCLICK" => $action, "DEFAULT" => ($APPLICATION->GetPublicShowMode() != 'configure'? true: false), "ID" => "bx-context-toolbar-edit-section" ); $arButtons["edit"]["edit_section"] = $arButton; $arButtons["configure"]["edit_section"] = $arButton; $url = str_replace("&bxpublic=Y&from_module=iblock", "", $url); $arButton["ACTION"] = "javascript:jsUtils.Redirect([], '".CUtil::JSEscape($url)."')"; unset($arButton["ONCLICK"]); $arButtons["submenu"]["edit_section"] = $arButton; } if(CIBlockSectionRights::UserHasRightTo($IBLOCK_ID, $SECTION_ID, "section_section_bind")) { $url = "/bitrix/admin/".CIBlock::GetAdminSectionEditLink($IBLOCK_ID, null, array( "force_catalog" => $bCatalog, "IBLOCK_SECTION_ID" => $SECTION_ID, "filter_section" => $SECTION_ID, "bxpublic" => "Y", "from_module" => "iblock", "return_url" => $return_url["add_section"], )); $action = $APPLICATION->GetPopupLink( array( "URL" => $url, "PARAMS" => array( "width" => 700, 'height' => 400, 'resize' => false, ), ) ); $arButton = array( "TEXT" => (strlen($arLabels["SECTION_ADD_TEXT"])? $arLabels["SECTION_ADD_TEXT"]: $arIBlock["SECTION_ADD"]), "TITLE" => (strlen($arLabels["SECTION_ADD_TITLE"])? $arLabels["SECTION_ADD_TITLE"]: $arIBlock["SECTION_ADD"]), "ACTION" => 'javascript:'.$action, "ACTION_URL" => $url, "ICON" => "bx-context-toolbar-create-icon", "ID" => "bx-context-toolbar-add-section", "ONCLICK" => $action ); $arButtons["edit"]["add_section"] = $arButton; $arButtons["configure"]["add_section"] = $arButton; $url = str_replace("&bxpublic=Y&from_module=iblock", "", $url); $arButton["ACTION"] = "javascript:jsUtils.Redirect([], '".CUtil::JSEscape($url)."')"; unset($arButton["ONCLICK"]); $arButtons["submenu"]["add_section"] = $arButton; } //Delete section if($SECTION_ID > 0 && CIBlockSectionRights::UserHasRightTo($IBLOCK_ID, $SECTION_ID, "section_delete")) { $url = CIBlock::GetAdminSectionListLink($IBLOCK_ID, Array('action'=>'delete')); if($bSessID) $url .= '&'.bitrix_sessid_get(); $url .= '&ID[]='.(preg_match('/^iblock_list_admin\.php/', $url)? "S": "").$SECTION_ID."&return_url=".UrlEncode($return_url["delete_section"]); $url = "/bitrix/admin/".$url; $arButton = array( "TEXT" => (strlen($arLabels["SECTION_DELETE_TEXT"])? $arLabels["SECTION_DELETE_TEXT"]: $arIBlock["SECTION_DELETE"]), "TITLE" => (strlen($arLabels["SECTION_DELETE_TITLE"])? $arLabels["SECTION_DELETE_TITLE"]: $arIBlock["SECTION_DELETE"]), "ACTION" => "javascript:if(confirm('".GetMessageJS("IBLOCK_PANEL_SECTION_DEL_CONF")."'))jsUtils.Redirect([], '".CUtil::JSEscape($url)."')", "ACTION_URL" => $url, "ONCLICK" => "if(confirm('".GetMessageJS("IBLOCK_PANEL_SECTION_DEL_CONF")."'))jsUtils.Redirect([], '".CUtil::JSEscape($url)."')", "ICON" => "bx-context-toolbar-delete-icon", "ID" => "bx-context-toolbar-delete-section" ); $arButtons["edit"]["delete_section"] = $arButton; $arButtons["configure"]["delete_section"] = $arButton; $arButtons["submenu"]["delete_section"] = $arButton; } } } if( ($IBLOCK_ID > 0) && CIBlockRights::UserHasRightTo($IBLOCK_ID, $IBLOCK_ID, "iblock_admin_display") ) { if(!empty($arButtons["submenu"])) $arButtons["submenu"][] = array("SEPARATOR" => "Y", "HREF" => ""); if($SECTION_ID > 0) $url = "/bitrix/admin/".CIBlock::GetAdminElementListLink($IBLOCK_ID , array('find_section_section'=>$SECTION_ID)); else $url = "/bitrix/admin/".CIBlock::GetAdminElementListLink($IBLOCK_ID , array('find_el_y'=>'Y')); $arButton = array( "TEXT" => (strlen($arLabels["ELEMENTS_NAME_TEXT"])? $arLabels["ELEMENTS_NAME_TEXT"]: $arIBlock["ELEMENTS_NAME"]), "TITLE" => (strlen($arLabels["ELEMENTS_NAME_TITLE"])? $arLabels["ELEMENTS_NAME_TITLE"]: $arIBlock["ELEMENTS_NAME"]), "ACTION" => "javascript:jsUtils.Redirect([], '".CUtil::JSEscape($url)."')", "ACTION_URL" => $url, "ONCLICK" => "jsUtils.Redirect([], '".CUtil::JSEscape($url)."')", "ID" => "bx-context-toolbar-elements-list" ); $arButtons["submenu"]["element_list"] = $arButton; $arButtons["intranet"]["element_list"] = array( 'TEXT' => $arButton["TEXT"], 'TITLE' => $arButton["TITLE"], 'ICON' => 'settings', 'ONCLICK' => $arButton["ACTION"], 'SORT' => 1010, ); $url = "/bitrix/admin/".CIBlock::GetAdminSectionListLink($IBLOCK_ID, array('find_section_section'=>$SECTION_ID)); $arButton = array( "TEXT" => (strlen($arLabels["SECTIONS_NAME_TEXT"])? $arLabels["SECTIONS_NAME_TEXT"]: $arIBlock["SECTIONS_NAME"]), "TITLE" => (strlen($arLabels["SECTIONS_NAME_TITLE"])? $arLabels["SECTIONS_NAME_TITLE"]: $arIBlock["SECTIONS_NAME"]), "ACTION" => "javascript:jsUtils.Redirect([], '".CUtil::JSEscape($url)."')", "ACTION_URL" => $url, "ONCLICK" => "jsUtils.Redirect([], '".CUtil::JSEscape($url)."')", "ID" => "bx-context-toolbar-sections-list" ); $arButtons["submenu"]["section_list"] = $arButton; if(CIBlockRights::UserHasRightTo($IBLOCK_ID, $IBLOCK_ID, "iblock_edit")) { $url = "/bitrix/admin/iblock_edit.php?type=".$arIBlock["IBLOCK_TYPE_ID"]."&lang=".LANGUAGE_ID."&ID=".$IBLOCK_ID."&return_url=".UrlEncode($return_url["edit_iblock"]); $arButton = array( "TEXT" => GetMessage("IBLOCK_PANEL_EDIT_IBLOCK_BUTTON", array("#IBLOCK_NAME#"=>$arIBlock["NAME"])), "TITLE" => GetMessage("IBLOCK_PANEL_EDIT_IBLOCK_BUTTON", array("#IBLOCK_NAME#"=>$arIBlock["NAME"])), "ACTION" => "javascript:jsUtils.Redirect([], '".CUtil::JSEscape($url)."')", "ACTION_URL" => $url, "ONCLICK" => "jsUtils.Redirect([], '".CUtil::JSEscape($url)."')", "ID" => "bx-context-toolbar-edit-iblock" ); $arButtons["submenu"]["edit_iblock"] = $arButton; } } return $arButtons; }
} } } // obtain a list of pictures page $arResult['IMAGES'] = array(); if (!empty($arResult['ELEMENT']['IMAGES'])) { foreach ($arResult['ELEMENT']['IMAGES'] as $_imgID) { $rsFile = CFile::GetByID($_imgID); $arFile = $rsFile->Fetch(); $aImg = array(); $aImg['ID'] = $_imgID; $aImg['ORIGINAL_NAME'] = $arFile['ORIGINAL_NAME']; $aImg['FILE_SHOW'] = CFile::ShowImage($_imgID, 100, 100, "id=\"{$_imgID}\" border=\"0\" style=\"cursor:pointer;\" onclick=\"doInsert('[File:" . CUtil::JSEscape(htmlspecialcharsbx($arFile['ORIGINAL_NAME'])) . "]','',false, '{$_imgID}')\" title='" . GetMessage('WIKI_IMAGE_INSERT') . "'"); $arResult['IMAGES'][] = $aImg; } } include_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/components/bitrix/wiki/include/nav.php'; $arResult['PATH_TO_POST_EDIT'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST_EDIT'], array('wiki_name' => urlencode($arParams['ELEMENT_NAME']), 'group_id' => CWikiSocnet::$iSocNetId)), $arParams['IN_COMPLEX'] == 'Y' && $arParams['SEF_MODE'] == 'N' ? array($arParams['OPER_VAR'] => $arResult['WIKI_oper']) : array()); $arResult['~PATH_TO_POST_EDIT'] = urldecode($arResult['PATH_TO_POST_EDIT']); //because it can change the page name, and hence the path for the parameter "Action" in tag "Form" if (strpos(POST_FORM_ACTION_URI, 'SEF_APPLICATION_CUR_PAGE_URL=') !== false) { $arResult['PATH_TO_POST_EDIT_SUBMIT'] = CHTTP::urlAddParams(CHTTP::urlDeleteParams(POST_FORM_ACTION_URI, array('SEF_APPLICATION_CUR_PAGE_URL')), array('SEF_APPLICATION_CUR_PAGE_URL' => urlencode($arResult['~PATH_TO_POST_EDIT']))); } else { $arResult['PATH_TO_POST_EDIT_SUBMIT'] = $arResult['PATH_TO_POST_EDIT']; } $sCatName = ''; $arResult["IS_CATEGORY_PAGE"] = CWikiUtils::IsCategoryPage($arResult['ELEMENT']['NAME_LOCALIZE'], $sCatName); } } $this->IncludeComponentTemplate(); unset($GLOBALS['arParams']);
public function executeComponent() { try { CUtil::JSPostUnescape(); $this->checkSessid(); if (!CModule::IncludeModule('socialservices')) { $this->sendJsonResponse(array('error' => GetMessage('WD_DOC_INSTALL_SOCSERV'))); } if (empty($_GET['proccess'])) { $this->includeComponentTemplate('startpage'); return; } $this->setFileId($_REQUEST['id']); $this->setVersionId($_REQUEST['v']); $this->setAction(empty($_REQUEST['action']) ? '' : $_REQUEST['action']); if ($this->isPublicNewFile()) { } elseif ($this->isSaveNewFile()) { } else { $wdElement = array(); if (!empty($_REQUEST['elementId'])) { $wdElement = array('elementId' => (int) $_REQUEST['elementId']); } $this->checkPermission($wdElement); $lockInfo = $this->checkLock(); if ($lockInfo) { $this->sendJsonResponse(array('error' => GetMessage('WD_DOC_ATTEMPT_EDIT_LOCK_DOCUMENT'))); } } $this->checkActiveSocServ(); $oAuthUrl = CUtil::JSEscape($this->getOAuthUrlBySocServ()); $accessToken = $this->getAccessTokenBySocServ(); $this->setAccessToken($accessToken); $this->initDocHandler(); $this->getDocHandler()->setAccessToken($this->getAccessToken()); if (empty($accessToken)) { $this->sendJsonResponse(array('authUrl' => $oAuthUrl)); } else { //todo hack. SocServ set backurl! if (strpos($_SERVER['HTTP_REFERER'], 'tools/oauth')) { $curPath = CHTTP::urlDeleteParams($_SERVER['REQUEST_URI'], array("proccess", "sessid")); $curPath = CHTTP::urlAddParams($curPath, array('sessid' => bitrix_sessid())); //restart LocalRedirect($curPath); } if ($this->isPublicNewFile()) { $response = $this->publicBlankFile(new CWebDavBlankDocument($this->arParams['createType'])); //todo bad hack. bad hack if ($this->getDocHandler()->isRequiredAuthorization()) { $this->sendJsonResponse(array('authUrl' => $oAuthUrl)); } $this->sendJsonResponse($response); } elseif ($this->isSaveNewFile()) { $response = $this->saveNewFile(array('isDropped' => true, 'createType' => $this->arParams['createType'])); $this->removeFile(); $this->sendJsonResponse($response); } elseif ($this->isRenameFile()) { $response = $this->renameFile(array('newName' => $_REQUEST['newName'], 'elementId' => (int) $_REQUEST['elementId'], 'sectionId' => (int) $_REQUEST['sectionId'])); $this->sendJsonResponse($response); } elseif (!empty($_REQUEST['commit']) && $this->getFileId()) { $deletedSession = $this->deleteSession(true); $response = $this->commitFile(); if (is_array($deletedSession) && $this->isLastSession()) { $this->removeFile($deletedSession); } $this->sendJsonResponse($response); } elseif (!empty($_REQUEST['discard']) && $this->getFileId()) { $deletedSession = $this->deleteSession(true); if (is_array($deletedSession) && $this->isLastSession()) { $this->removeFile($deletedSession); $this->sendJsonResponse(array('status' => 'success')); } $this->sendJsonResponse(array('status' => 'error')); } else { $response = $this->publicFile(); //todo bad hack. bad hack if ($this->getDocHandler()->isRequiredAuthorization()) { $this->sendJsonResponse(array('authUrl' => $oAuthUrl)); } $this->sendJsonResponse($response); } } return; } catch (Exception $e) { //$this->sendJsonResponse(array('error' => $e->getMessage())); } return; }