/** * @param XmlDomNode $_mNode * @param MailProcessor $_processor */ function ReplySetFlag(&$_mNode, &$_processor) { $_replyNode =& $_mNode->GetChildNodeByTagName('reply_message'); if ($_replyNode && isset($_replyNode->Attributes['action'])) { $_rFlag = null; switch ($_replyNode->Attributes['action']) { case 'reply': $_rFlag = MESSAGEFLAGS_Answered; break; case 'forward': $_rFlag = MESSAGEFLAGS_Forwarded; break; } if (null !== $_rFlag && isset($_replyNode->Attributes['id'])) { $_rId = (int) $_replyNode->Attributes['id']; $_rUid = $_replyNode->GetChildValueByTagName('uid', true); $_rFolderNode =& $_replyNode->GetChildNodeByTagName('folder'); if ($_rFolderNode && isset($_rFolderNode->Attributes['id'])) { $_rFolderId = (int) $_rFolderNode->Attributes['id']; $_rFolderFullName = $_rFolderNode->GetChildValueByTagName('full_name', true); $_processor->SetFlagFromReply($_rId, $_rUid, $_rFolderId, $_rFolderFullName, $_rFlag); } } } }
/** * @param XmlDomNode $xmlObj * @param AddressBookRecord $addressBookRecord * @param int $accountId */ function UpdateContactFromRequest(&$xmlObj, &$addressBookRecord, $accountId) { $contactNode =& $xmlObj->GetChildNodeByTagName('contact'); $account =& Account::LoadFromDb($accountId); $addressBookRecord->IdUser = $account->IdUser; if (array_key_exists('id', $contactNode->Attributes)) { $addressBookRecord->IdAddress = $contactNode->Attributes['id']; } $addressBookRecord->PrimaryEmail = $contactNode->Attributes['primary_email']; $addressBookRecord->UseFriendlyName = (bool) $contactNode->Attributes['use_friendly_nm']; $addressBookRecord->FullName = $contactNode->GetChildValueByTagName('fullname', true); $birthdayNode =& $contactNode->GetChildNodeByTagName('birthday'); $personalNode =& $contactNode->GetChildNodeByTagName('personal'); $addressBookRecord->HomeEmail = $personalNode->GetChildValueByTagName('email', true); $addressBookRecord->HomeStreet = $personalNode->GetChildValueByTagName('street', true); $addressBookRecord->HomeCity = $personalNode->GetChildValueByTagName('city', true); $addressBookRecord->HomeState = $personalNode->GetChildValueByTagName('state', true); $addressBookRecord->HomeZip = $personalNode->GetChildValueByTagName('zip', true); $addressBookRecord->HomeCountry = $personalNode->GetChildValueByTagName('country', true); $addressBookRecord->HomeFax = $personalNode->GetChildValueByTagName('fax', true); $addressBookRecord->HomePhone = $personalNode->GetChildValueByTagName('phone', true); $addressBookRecord->HomeMobile = $personalNode->GetChildValueByTagName('mobile', true); $addressBookRecord->HomeWeb = $personalNode->GetChildValueByTagName('web', true); $businessNode =& $contactNode->GetChildNodeByTagName('business', true); $addressBookRecord->BusinessEmail = $businessNode->GetChildValueByTagName('email', true); $addressBookRecord->BusinessCompany = $businessNode->GetChildValueByTagName('company', true); $addressBookRecord->BusinessJobTitle = $businessNode->GetChildValueByTagName('job_title', true); $addressBookRecord->BusinessDepartment = $businessNode->GetChildValueByTagName('department', true); $addressBookRecord->BusinessOffice = $businessNode->GetChildValueByTagName('office', true); $addressBookRecord->BusinessStreet = $businessNode->GetChildValueByTagName('street', true); $addressBookRecord->BusinessCity = $businessNode->GetChildValueByTagName('city', true); $addressBookRecord->BusinessState = $businessNode->GetChildValueByTagName('state', true); $addressBookRecord->BusinessZip = $businessNode->GetChildValueByTagName('zip', true); $addressBookRecord->BusinessCountry = $businessNode->GetChildValueByTagName('country', true); $addressBookRecord->BusinessFax = $businessNode->GetChildValueByTagName('fax', true); $addressBookRecord->BusinessPhone = $businessNode->GetChildValueByTagName('phone', true); $addressBookRecord->BusinessWeb = $businessNode->GetChildValueByTagName('web', true); $otherNode =& $contactNode->GetChildNodeByTagName('other', true); $addressBookRecord->OtherEmail = $otherNode->GetChildValueByTagName('email', true); $addressBookRecord->Notes = $otherNode->GetChildValueByTagName('notes', true); $addressBookRecord->BirthdayDay = $birthdayNode->Attributes['day']; $addressBookRecord->BirthdayMonth = $birthdayNode->Attributes['month']; $addressBookRecord->BirthdayYear = $birthdayNode->Attributes['year']; }