Exemple #1
0
                    $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']);
Exemple #2
0
	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);
	}
Exemple #3
0
    $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"]];
Exemple #4
0
    }
}
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) {
Exemple #5
0
    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;
}
Exemple #7
0
",
					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);
Exemple #8
0
 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);
 }
Exemple #9
0
}
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);
                     }
                 }
             }
         }
     }
 }
Exemple #11
0
            $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;
}
Exemple #12
0
    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)) {
Exemple #13
0
$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"];
?>
Exemple #14
0
 /**
  * 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));
 }
Exemple #16
0
         }
         $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();
Exemple #17
0
 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));
     }
 }
Exemple #18
0
}
$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();
Exemple #19
0
        }
    }
    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 {
Exemple #20
0
$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]);
    }
}
Exemple #21
0
					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']);
Exemple #22
0
<?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"]);
?>
Exemple #23
0
         }
     }
 }
 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;
Exemple #25
0
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;
 }
Exemple #28
0
	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;
	}
Exemple #29
0
                }
            }
        }
        // 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;
 }