public function CreateGetFolderBody($folderId = null, $folderShape = "AllProperties") { $arMapTmp = array("idonly" => "IdOnly", "id_only" => "IdOnly", "allproperties" => "AllProperties", "all_properties" => "AllProperties"); $folderShapeLower = strtolower($folderShape); if (array_key_exists($folderShapeLower, $arMapTmp)) { $folderShape = $arMapTmp[$folderShapeLower]; } else { $folderShape = "AllProperties"; } $this->body = "<" . "?xml version=\"1.0\" encoding=\"utf-8\"?" . ">\r\n"; $this->body .= "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\r\n"; $this->body .= " <soap:Body>\r\n"; $this->body .= " <GetFolder xmlns=\"http://schemas.microsoft.com/exchange/services/2006/messages\">\r\n"; $this->body .= " <FolderShape>\r\n"; $this->body .= " <BaseShape xmlns=\"http://schemas.microsoft.com/exchange/services/2006/types\">" . $folderShape . "</BaseShape>\r\n"; $this->body .= " </FolderShape>\r\n"; $this->body .= " <FolderIds>\r\n"; if (!is_array($folderId)) { $folderId = array("id" => $folderId); } $arKeys = array_keys($folderId); if (count($folderId) > 0) { if ($arKeys[0] . "!" != "0!") { $folderId = array($folderId); } } $arMapTmp = array("mailbox" => "Mailbox", "id" => "Id", "xml_id" => "Id", "changekey" => "ChangeKey", "modification_label" => "ChangeKey"); foreach ($folderId as $value) { CDavExchangeClient::NormalizeArray($value, $arMapTmp); $id = isset($value["Id"]) ? $value["Id"] : null; $changekey = isset($value["ChangeKey"]) ? $value["ChangeKey"] : null; $mailbox = isset($value["Mailbox"]) ? $value["Mailbox"] : null; if (!in_array($id, self::$arDistinguishedFolderIdNameType)) { $this->body .= " <FolderId Id=\"" . htmlspecialcharsbx($id) . "\""; if (!is_null($changekey) && !empty($changekey)) { $this->body .= " ChangeKey=\"" . htmlspecialcharsbx($changekey) . "\""; } $this->body .= " xmlns=\"http://schemas.microsoft.com/exchange/services/2006/types\"/>\r\n"; } else { $this->body .= " <DistinguishedFolderId Id=\"" . htmlspecialcharsbx($id) . "\""; if (!is_null($changekey) && !empty($changekey)) { $this->body .= " ChangeKey=\"" . htmlspecialcharsbx($changekey) . "\""; } $this->body .= " xmlns=\"http://schemas.microsoft.com/exchange/services/2006/types\""; if (!is_null($mailbox) && !empty($mailbox)) { $this->body .= "><Mailbox><EmailAddress>" . htmlspecialcharsbx($mailbox) . "</EmailAddress></Mailbox></DistinguishedFolderId>\r\n"; } else { $this->body .= "/>\r\n"; } } } $this->body .= " </FolderIds>\r\n"; $this->body .= " </GetFolder>\r\n"; $this->body .= " </soap:Body>\r\n"; $this->body .= "</soap:Envelope>"; }
public static function InitUserEntity() { if (!CModule::IncludeModule("calendar")) { return; } //if (!defined("BX_NO_ACCELERATOR_RESET")) // define("BX_NO_ACCELERATOR_RESET", true); $arRequiredFields = array("UF_BXDAVEX_CALSYNC" => array("USER_TYPE_ID" => "datetime", "SORT" => 100, "EDIT_FORM_LABEL_DEFAULT_MESSAGE" => "Calendar sync date")); $arUserCustomFields = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("USER"); foreach ($arUserCustomFields as $key => $value) { if (array_key_exists($key, $arRequiredFields)) { unset($arRequiredFields[$key]); } } foreach ($arRequiredFields as $requiredFieldKey => $requiredFieldValue) { $arFields = array("ENTITY_ID" => "USER", "FIELD_NAME" => $requiredFieldKey, "SHOW_IN_LIST" => "N", "IS_SEARCHABLE" => "N", "SHOW_FILTER" => "N", "EDIT_IN_LIST" => "N", "EDIT_FORM_LABEL" => CDavExchangeClient::InitUserEntityLoadMessages($requiredFieldKey, $requiredFieldValue["EDIT_FORM_LABEL_DEFAULT_MESSAGE"])); $obUserField = new CUserTypeEntity(); $obUserField->Add(array_merge($arFields, $requiredFieldValue)); } }
private static function InitUserEntity() { $arRequiredFields = array("UF_BXDAVEX_MLSYNC" => array("USER_TYPE_ID" => "datetime", "SORT" => 100, "EDIT_FORM_LABEL_DEFAULT_MESSAGE" => "Mail sync date"), "UF_UNREAD_MAIL_COUNT" => array("USER_TYPE_ID" => "integer", "SORT" => 100, "EDIT_FORM_LABEL_DEFAULT_MESSAGE" => "Unread mail count")); $arUserCustomFields = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("USER"); foreach ($arUserCustomFields as $key => $value) { if (array_key_exists($key, $arRequiredFields)) { unset($arRequiredFields[$key]); } } foreach ($arRequiredFields as $requiredFieldKey => $requiredFieldValue) { $arFields = array("ENTITY_ID" => "USER", "FIELD_NAME" => $requiredFieldKey, "SHOW_IN_LIST" => "N", "IS_SEARCHABLE" => "N", "SHOW_FILTER" => "N", "EDIT_IN_LIST" => "N", "EDIT_FORM_LABEL" => CDavExchangeClient::InitUserEntityLoadMessages($requiredFieldKey, $requiredFieldValue["EDIT_FORM_LABEL_DEFAULT_MESSAGE"])); $obUserField = new CUserTypeEntity(); $obUserField->Add(array_merge($arFields, $requiredFieldValue)); } }