Exemplo n.º 1
0
 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>";
 }
Exemplo n.º 2
0
 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));
     }
 }
Exemplo n.º 3
0
 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));
     }
 }