X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fobjects%2Fcalendarjournal%2FCalendarJournal-Save.cpp;h=edcdd4700c92191f5fdcd33bdd5b934a1e9fc10f;hb=70ed651ee4e950f44eb581e754869e40b9e5c744;hp=39789b410974b510790e8717c8f08c5e4444fb94;hpb=19628c5ce30314bbe8ddb5d8a51432b397f086ac;p=xestiacalendar%2F.git diff --git a/source/objects/calendarjournal/CalendarJournal-Save.cpp b/source/objects/calendarjournal/CalendarJournal-Save.cpp index 39789b4..edcdd47 100644 --- a/source/objects/calendarjournal/CalendarJournal-Save.cpp +++ b/source/objects/calendarjournal/CalendarJournal-Save.cpp @@ -1,471 +1,968 @@ +// CalendarJournal.cpp - CalendarJournal class save functions +// +// (c) 2016-2017 Xestia Software Development. +// +// This file is part of Xestia Calendar. +// +// Xestia Calendar is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by the +// Free Software Foundation, version 3 of the license. +// +// Xestia Calendar is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with Xestia Calendar. If not, see + #include "CalendarJournal.h" using namespace std; -void CalendarJournalObject::SaveObjectData(string *SaveData){ +void CalendarJournalObject::SaveObjectData(string *saveData){ - string DataLine = ""; - string DataLineProcessed = ""; + string dataLine = ""; + string dataLineProcessed = ""; - *SaveData += "BEGIN:VJOURNAL\n"; + *saveData += "BEGIN:VJOURNAL\n"; // Process the UID. - if (UniqueID.size() > 0){ + if (uniqueID.size() > 0){ - if (UniqueIDTokens.size() > 0){ + if (uniqueIDTokens.size() > 0){ - DataLine += "UID;"; - DataLine += UniqueIDTokens; + dataLine += "UID;"; + dataLine += uniqueIDTokens; } else { - DataLine += "UID"; + dataLine += "UID"; } - DataLine += ":"; - DataLine += UniqueID; - DataLine += "\n"; + dataLine += ":"; + dataLine += UniqueID; + dataLine += "\n"; - DataLineProcessed = OutputText(&DataLine); + dataLineProcessed = OutputText(&dataLine); - *SaveData += DataLineProcessed; + *saveData += dataLineProcessed; - DataLine.clear(); - DataLineProcessed.clear(); + dataLine.clear(); + dataLineProcessed.clear(); } // Process the DTSTAMP. - if (DateTimeStampData.size() > 0){ + if (dateTimeStampData.size() > 0){ - if (DateTimeStampTokens.size() > 0){ + if (dateTimeStampTokens.size() > 0){ - DataLine += "DTSTAMP;"; - DataLine += DateTimeStampTokens; + dataLine += "DTSTAMP;"; + dataLine += dateTimeStampTokens; } else { - DataLine += "DTSTAMP"; + dataLine += "DTSTAMP"; } - DataLine += ":"; - DataLine += DateTimeStampData; - DataLine += "\n"; + dataLine += ":"; + dataLine += dateTimeStampData; + dataLine += "\n"; - DataLineProcessed = OutputText(&DataLine); + dataLineProcessed = OutputText(&dataLine); - *SaveData += DataLineProcessed; + *saveData += dataLineProcessed; - DataLine.clear(); - DataLineProcessed.clear(); + dataLine.clear(); + dataLineProcessed.clear(); } // Process the SUMMARY. - if (SummaryData.size() > 0){ + if (summaryData.size() > 0){ - DataLine += "SUMMARY"; + dataLine += "SUMMARY"; - if (SummaryDataAltRep.size() > 0){ + if (summaryDataAltRep.size() > 0){ - DataLine += ";ALTREP=\""; - DataLine += SummaryDataAltRep; - DataLine += "\""; + dataLine += ";ALTREP=\""; + dataLine += summaryDataAltRep; + dataLine += "\""; } - if (SummaryDataLanguage.size() > 0){ + if (summaryDataLanguage.size() > 0){ - DataLine += ";LANGUAGE="; - DataLine += SummaryDataLanguage; + dataLine += ";LANGUAGE="; + dataLine += summaryDataLanguage; } - if (SummaryDataTokens.size() > 0){ + if (summaryDataTokens.size() > 0){ - DataLine += ";"; - DataLine += SummaryDataTokens; + dataLine += ";"; + dataLine += summaryDataTokens; } - DataLine += ":"; - DataLine += SummaryData; - DataLine += "\n"; + dataLine += ":"; + dataLine += summaryData; + dataLine += "\n"; - DataLineProcessed = OutputText(&DataLine); + dataLineProcessed = OutputText(&dataLine); - *SaveData += DataLineProcessed; + *saveData += dataLineProcessed; - DataLine.clear(); - DataLineProcessed.clear(); + dataLine.clear(); + dataLineProcessed.clear(); } // Process the CLASS. - if (ClassData.size() > 0){ + if (classData.size() > 0){ - DataLine += "CLASS"; + dataLine += "CLASS"; - if (ClassDataTokens.size() > 0){ + if (classDataTokens.size() > 0){ - DataLine += ";"; - DataLine += ClassDataTokens; + dataLine += ";"; + dataLine += classDataTokens; } - DataLine += ":"; - DataLine += ClassData; - DataLine += "\n"; + dataLine += ":"; + dataLine += classData; + dataLine += "\n"; - DataLineProcessed = OutputText(&DataLine); + dataLineProcessed = OutputText(&dataLine); - *SaveData += DataLineProcessed; + *saveData += dataLineProcessed; - DataLine.clear(); - DataLineProcessed.clear(); + dataLine.clear(); + dataLineProcessed.clear(); } // Process the DTSTART. - if (DateTimeStartData.size() > 0){ + if (dateTimeStartData.size() > 0){ - DataLine += "DTSTART"; + dataLine += "DTSTART"; - if (DateTimeStartDataValue.size() > 0){ + if (dateTimeStartDataValue.size() > 0){ - DataLine += ";VALUE="; - DataLine += DateTimeStartDataValue; + dataLine += ";VALUE="; + dataLine += dateTimeStartDataValue; } - if (DateTimeStartDataTimeZoneID.size() > 0){ + if (dateTimeStartDataTimeZoneID.size() > 0){ - DataLine += ";TZID="; - DataLine += DateTimeStartDataTimeZoneID; + dataLine += ";TZID="; + dataLine += dateTimeStartDataTimeZoneID; } - if (DateTimeStartDataTokens.size() > 0){ + if (dateTimeStartDataTokens.size() > 0){ - DataLine += ";"; - DataLine += DateTimeStartDataTokens; + dataLine += ";"; + dataLine += dateTimeStartDataTokens; } - DataLine += ":"; - DataLine += DateTimeStartData; - DataLine += "\n"; + dataLine += ":"; + dataLine += dateTimeStartData; + dataLine += "\n"; - DataLineProcessed = OutputText(&DataLine); + dataLineProcessed = OutputText(&dataLine); - *SaveData += DataLineProcessed; + *saveData += dataLineProcessed; - DataLine.clear(); - DataLineProcessed.clear(); + dataLine.clear(); + dataLineProcessed.clear(); } // Process the LAST-MODIFIED value. - if (LastModifiedData.size() > 0){ + if (lastModifiedData.size() > 0){ - if (LastModifiedTokens.size() > 0){ + if (lastModifiedTokens.size() > 0){ - DataLine += "LAST-MODIFIED;"; - DataLine += LastModifiedTokens; + dataLine += "LAST-MODIFIED;"; + dataLine += lastModifiedTokens; } else { - DataLine += "LAST-MODIFIED"; + dataLine += "LAST-MODIFIED"; } - DataLine += ":"; - DataLine += LastModifiedData; - DataLine += "\n"; + dataLine += ":"; + dataLine += lastModifiedData; + dataLine += "\n"; - DataLineProcessed = OutputText(&DataLine); + dataLineProcessed = OutputText(&dataLine); - *SaveData += DataLineProcessed; + *saveData += dataLineProcessed; - DataLine.clear(); - DataLineProcessed.clear(); + dataLine.clear(); + dataLineProcessed.clear(); } // Process the ORGANIZER value. - if (OrganiserData.size() > 0){ + if (organiserData.size() > 0){ - DataLine += "ORGANIZER"; + dataLine += "ORGANIZER"; - if (OrganiserDataCommonName.size() > 0){ + if (organiserDataCommonName.size() > 0){ - DataLine += ";CN="; - DataLine += OrganiserDataCommonName; + dataLine += ";CN="; + dataLine += organiserDataCommonName; } - if (OrganiserDataDirectoryEntry.size() > 0){ + if (organiserDataDirectoryEntry.size() > 0){ - DataLine += ";DIR=\""; - DataLine += OrganiserDataDirectoryEntry; - DataLine += "\""; + dataLine += ";DIR=\""; + dataLine += organiserDataDirectoryEntry; + dataLine += "\""; } - if (OrganiserDataSentByParam.size() > 0){ + if (organiserDataSentByParam.size() > 0){ - DataLine += ";SENT-BY=\""; - DataLine += OrganiserDataSentByParam; - DataLine += "\""; + dataLine += ";SENT-BY=\""; + dataLine += organiserDataSentByParam; + dataLine += "\""; } - if (OrganiserDataLanguage.size() > 0){ + if (organiserDataLanguage.size() > 0){ - DataLine += ";LANGUAGE="; - DataLine += OrganiserDataLanguage; + dataLine += ";LANGUAGE="; + dataLine += organiserDataLanguage; } if (OrganiserDataTokens.size() > 0){ - DataLine += ";"; - DataLine += OrganiserDataTokens; + dataLine += ";"; + dataLine += organiserDataTokens; } - DataLine += ":"; - DataLine += OrganiserData; - DataLine += "\n"; + dataLine += ":"; + dataLine += organiserData; + dataLine += "\n"; - DataLineProcessed = OutputText(&DataLine); + dataLineProcessed = OutputText(&dataLine); - *SaveData += DataLineProcessed; + *saveData += dataLineProcessed; - DataLine.clear(); - DataLineProcessed.clear(); + dataLine.clear(); + dataLineProcessed.clear(); } // Process the RECURRENCE-ID value. - if (RecurranceIDData.size() > 0){ + if (recurranceIDData.size() > 0){ - DataLine += "RECURRENCE-ID"; + dataLine += "RECURRENCE-ID"; - if (RecurranceIDDataTimeZoneParam.size() > 0){ + if (recurranceIDDataTimeZoneParam.size() > 0){ - DataLine += ";TZID="; - DataLine += RecurranceIDDataTimeZoneParam; + dataLine += ";TZID="; + dataLine += recurranceIDDataTimeZoneParam; } - if (RecurranceIDDataRangeParam.size() > 0){ + if (recurranceIDDataRangeParam.size() > 0){ - DataLine += ";RANGE="; - DataLine += RecurranceIDDataRangeParam; + dataLine += ";RANGE="; + dataLine += recurranceIDDataRangeParam; } - if (RecurranceIDDataValue.size() > 0){ + if (recurranceIDDataValue.size() > 0){ - DataLine += ";VALUE="; - DataLine += RecurranceIDDataValue; + dataLine += ";VALUE="; + dataLine += recurranceIDDataValue; } - if (RecurranceIDDataTokens.size() > 0){ + if (recurranceIDDataTokens.size() > 0){ - DataLine += ";"; - DataLine += RecurranceIDDataTokens; + dataLine += ";"; + dataLine += recurranceIDDataTokens; } - DataLine += ":"; - DataLine += RecurranceIDData; - DataLine += "\n"; + dataLine += ":"; + dataLine += recurranceIDData; + dataLine += "\n"; - DataLineProcessed = OutputText(&DataLine); + dataLineProcessed = OutputText(&dataLine); - *SaveData += DataLineProcessed; + *saveData += dataLineProcessed; - DataLine.clear(); - DataLineProcessed.clear(); + dataLine.clear(); + dataLineProcessed.clear(); } // Process the SEQUENCE value. - if (SequenceData > -1 && SequenceData < 10){ + if (sequenceData > -1 && sequenceData < 10){ - DataLine += "SEQUENCE"; + dataLine += "SEQUENCE"; - if (SequenceTokens.size() > 0){ + if (sequenceTokens.size() > 0){ - DataLine += ";"; - DataLine += SequenceTokens; + dataLine += ";"; + dataLine += sequenceTokens; } - DataLine += ":"; - DataLine += to_string(SequenceData); - DataLine += "\n"; + dataLine += ":"; + dataLine += to_string(sequenceData); + dataLine += "\n"; - DataLineProcessed = OutputText(&DataLine); + dataLineProcessed = OutputText(&dataLine); - *SaveData += DataLineProcessed; + *saveData += dataLineProcessed; - DataLine.clear(); - DataLineProcessed.clear(); + dataLine.clear(); + dataLineProcessed.clear(); } // Process the STATUS value. - if (StatusData.size() > 0){ + if (statusData.size() > 0){ - DataLine += "STATUS"; + dataLine += "STATUS"; - if (StatusLanguage.size() > 0){ + if (statusLanguage.size() > 0){ - DataLine += ";LANGUAGE="; - DataLine += StatusLanguage; + dataLine += ";LANGUAGE="; + dataLine += statusLanguage; } - if (StatusTokens.size() > 0){ + if (statusTokens.size() > 0){ - DataLine += ";"; - DataLine += StatusTokens; + dataLine += ";"; + dataLine += statusTokens; } - DataLine += ":"; - DataLine += StatusData; - DataLine += "\n"; + dataLine += ":"; + dataLine += statusData; + dataLine += "\n"; - DataLineProcessed = OutputText(&DataLine); + dataLineProcessed = OutputText(&dataLine); - *SaveData += DataLineProcessed; + *saveData += dataLineProcessed; - DataLine.clear(); - DataLineProcessed.clear(); + dataLine.clear(); + dataLineProcessed.clear(); } // Process the URL value. - if (URLData.size() > 0){ + if (urlData.size() > 0){ - DataLine += "URL"; + dataLine += "URL"; - if (URLDataTokens.size() > 0){ + if (urlDataTokens.size() > 0){ - DataLine += ";"; - DataLine += URLDataTokens; + dataLine += ";"; + dataLine += urlDataTokens; } - DataLine += ":"; - DataLine += URLData; - DataLine += "\n"; + dataLine += ":"; + dataLine += urlData; + dataLine += "\n"; - DataLineProcessed = OutputText(&DataLine); + dataLineProcessed = OutputText(&dataLine); - *SaveData += DataLineProcessed; + *saveData += dataLineProcessed; - DataLine.clear(); - DataLineProcessed.clear(); + dataLine.clear(); + dataLineProcessed.clear(); } // Process the RRULE value. - if (RecurranceRuleData.size() > 0){ + if (recurranceRuleData.size() > 0){ - DataLine += "RRULE"; + dataLine += "RRULE"; - if (RecurranceRuleDataTokens.size() > 0){ + if (recurranceRuleDataTokens.size() > 0){ - DataLine += ";"; - DataLine += RecurranceRuleDataTokens; + dataLine += ";"; + dataLine += recurranceRuleDataTokens; } - DataLine += ":"; - DataLine += RecurranceRuleData; - DataLine += "\n"; + dataLine += ":"; + dataLine += recurranceRuleData; + dataLine += "\n"; - DataLineProcessed = OutputText(&DataLine); + dataLineProcessed = OutputText(&dataLine); - *SaveData += DataLineProcessed; + *SaveData += dataLineProcessed; - DataLine.clear(); - DataLineProcessed.clear(); + dataLine.clear(); + dataLineProcessed.clear(); } // Process the ATTACH values. - if (AttachList.size() > 0){ + if (attachList.size() > 0){ + + for (int attachListSeek = 0; attachListSeek < attachList.size(); + attachListSeek++){ + + dataLine += "ATTACH"; + + if (attachListFormatType[attachListSeek].size() > 0){ + + dataLine += ";FMTTYPE="; + dataLine += attachListFormatType[attachListSeek]; + + } + + if (attachListValue[attachListSeek].size() > 0){ + + dataLine += ";VALUE="; + dataLine += attachListValue[attachListSeek]; + + } + + if (attachListEncoding[attachListSeek].size() > 0){ + + dataLine += ";ENCODING="; + dataLine += attachListEncoding[attachListSeek]; + + } + + if (attachListTokens[attachListSeek].size() > 0){ + + dataLine += ";"; + dataLine += attachListTokens[attachListSeek]; + + } + + dataLine += ":"; + dataLine += attachList[attachListSeek]; + dataLine += "\n"; + + dataLineProcessed = OutputText(&dataLine); + + *saveData += dataLineProcessed; + + dataLine.clear(); + dataLineProcessed.clear(); + + } + + } + + // Process the ATTENDEE value. + + if (attendeeList.size() > 0){ + + for (int attendeeListSeek = 0; attendeeListSeek < attendeeList.size(); + attendeeListSeek++){ + + dataLine += "ATTENDEE"; + + if (attendeeListMember[attendeeListSeek].size() > 0){ + + dataLine += ";MEMBER=\""; + dataLine += attendeeListMember[attendeeListSeek]; + dataLine += "\""; + + } + + if (attendeeListDelegatedFrom[attendeeListSeek].size() > 0){ + + dataLine += ";DELEGATED-FROM=\""; + dataLine += attendeeListDelegatedFrom[attendeeListSeek]; + dataLine += "\""; + + } + + if (attendeeListDelegatedTo[attendeeListSeek].size() > 0){ + + dataLine += ";DELEGATED-TO=\""; + dataLine += attendeeListDelegatedTo[attendeeListSeek]; + dataLine += "\""; + + } + + if (attendeeListRole[attendeeListSeek].size() > 0){ + + dataLine += ";ROLE="; + dataLine += attendeeListRole[attendeeListSeek]; + + } + + if (attendeeListRSVP[attendeeListSeek].size() > 0){ + + dataLine += ";RSVP="; + dataLine += attendeeListRSVP[attendeeListSeek]; + + } + + if (attendeeListDirectoryEntry[attendeeListSeek].size() > 0){ + + dataLine += ";DIR=\""; + dataLine += attendeeListDirectoryEntry[attendeeListSeek]; + dataLine += "\""; + + } + + if (attendeeListSentBy[attendeeListSeek].size() > 0){ + + dataLine += ";SENT-BY=\""; + dataLine += attendeeListSentBy[attendeeListSeek]; + dataLine += "\""; + + } + + if (attendeeListCommonName[attendeeListSeek].size() > 0){ + + dataLine += ";CN=\""; + dataLine += attendeeListCommonName[attendeeListSeek]; + dataLine += "\""; + + } + + if (attendeeListCalendarUserType[attendeeListSeek].size() > 0){ + + dataLine += ";CUTYPE="; + dataLine += attendeeListCalendarUserType[attendeeListSeek]; + + } + + if (attendeeListParticipationStatus[attendeeListSeek].size() > 0){ + + dataLine += ";PARTSTAT="; + dataLine += attendeeListParticipationStatus[attendeeListSeek]; + + } + + if (attendeeListLanguage[attendeeListSeek].size() > 0){ + + dataLine += ";LANGUAGE="; + dataLine += attendeeListLanguage[attendeeListSeek]; + + } + + if (attendeeListTokens[attendeeListSeek].size() > 0){ + + dataLine += ";"; + dataLine += attendeeListTokens[attendeeListSeek]; + + } + + dataLine += ":"; + dataLine += attendeeList[attendeeListSeek]; + dataLine += "\n"; + + dataLineProcessed = OutputText(&dataLine); + + *saveData += dataLineProcessed; + + dataLine.clear(); + dataLineProcessed.clear(); + + } + + } + + // Process the CATEGORIES value. + + if (categoriesList.size() > 0){ + + for (int categoriesListSeek = 0; categoriesListSeek < categoriesList.size(); + categoriesListSeek++){ + + dataLine += "CATEGORIES"; + + if (categoriesListLanguage[categoriesListSeek].size() > 0){ + + dataLine += ";LANGUAGE="; + dataLine += categoriesListLanguage[categoriesListSeek]; + + } + + if (categoriesListTokens[categoriesListSeek].size() > 0){ + + dataLine += ";"; + dataLine += categoriesListTokens[categoriesListSeek]; + + } + + dataLine += ":"; + dataLine += categoriesList[categoriesListSeek]; + dataLine += "\n"; + + dataLineProcessed = OutputText(&dataLine); + + *saveData += dataLineProcessed; + + dataLine.clear(); + dataLineProcessed.clear(); + + } + + } + + // Process the COMMENT value. + + if (commentList.size() > 0){ + + for (int commentListSeek = 0; commentListSeek < commentList.size(); + commentListSeek++){ + + dataLine += "COMMENT"; + + if (commentListAltRep[commentListSeek].size() > 0){ + + dataLine += ";ALTREP=\""; + dataLine += commentListAltRep[commentListSeek]; + dataLine += "\""; + + } + + if (commentListLanguage[commentListSeek].size() > 0){ + + dataLine += ";LANGUAGE="; + dataLine += commentListLanguage[commentListSeek]; + + } + + if (commentListTokens[commentListSeek].size() > 0){ + + dataLine += ";"; + dataLine += commentListTokens[commentListSeek]; + + } + + dataLine += ":"; + dataLine += commentList[commentListSeek]; + dataLine += "\n"; + + dataLineProcessed = OutputText(&dataLine); + + *saveData += dataLineProcessed; + + dataLine.clear(); + dataLineProcessed.clear(); + + } + + } + + // Process the CONTACT value. + + if (contactList.size() > 0){ + + for (int contactListSeek = 0; contactListSeek < contactList.size(); + contactListSeek++){ + + dataLine += "CONTACT"; + + if (contactListAltRep[contactListSeek].size() > 0){ + + dataLine += ";ALTREP=\""; + dataLine += contactListAltRep[contactListSeek]; + dataLine += "\""; + + } + + if (contactListLanguage[contactListSeek].size() > 0){ + + dataLine += ";LANGUAGE="; + dataLine += contactListLanguage[contactListSeek]; + + } + + if (contactListTokens[contactListSeek].size() > 0){ - for (int AttachListSeek = 0; AttachListSeek < AttachList.size(); - AttachListSeek++){ + dataLine += ";"; + dataLine += contactListTokens[contactListSeek]; - DataLine += "ATTACH"; + } + + dataLine += ":"; + dataLine += contactList[contactListSeek]; + dataLine += "\n"; + + dataLineProcessed = OutputText(&dataLine); + + *saveData += dataLineProcessed; - if (AttachListFormatType[AttachListSeek].size() > 0){ + dataLine.clear(); + dataLineProcessed.clear(); + + } - DataLine += ";FMTTYPE="; - DataLine += AttachListFormatType[AttachListSeek]; + } + + // Process the DESCRIPTION values. + + if (descriptionList.size() > 0){ + + for (int descriptionListSeek = 0; descriptionListSeek < descriptionList.size() > 0; + descriptionListSeek++){ + + dataLine += "DESCRIPTION"; + + if (descriptionListAltRep[descriptionListSeek].size() > 0){ + + dataLine += ";ALTREP=\""; + dataLine += descriptionListAltRep[descriptionListSeek]; + dataLine += "\""; } + + if dDescriptionListLanguage[descriptionListSeek].size() > 0){ + + dataLine += ";LANGUAGE="; + dataLine += descriptionListLanguage[descriptionListSeek]; + + } + + if (descriptionListTokens[descriptionListSeek].size() > 0){ + + dataLine += ";"; + dataLine += descriptionListTokens[descriptionListSeek]; + + } + + dataLine += ":"; + dataLine += descriptionList[descriptionListSeek]; + dataLine += "\n"; + + dataLineProcessed = OutputText(&dataLine); + + *saveData += dataLineProcessed; + + dataLine.clear(); + dataLineProcessed.clear(); + + } + + } + + // Process the EXDATE value. + + if (excludeDateData.size() > 0){ + + for (int excludeDateDataSeek = 0; excludeDateDataSeek < excludeDateData.size(); + excludeDateDataSeek++){ + + dataLine += "EXDATE"; - if (AttachListValue[AttachListSeek].size() > 0){ + if (excludeDateDataTimeZoneParam[excludeDateDataSeek].size() > 0){ + + dataLine += ";TZID="; + dataLine += excludeDateDataTimeZoneParam[excludeDateDataSeek]; + + } + + if (excludeDateDataValue[excludeDateDataSeek].size() > 0){ - DataLine += ";VALUE="; - DataLine += AttachListValue[AttachListSeek]; + dataLine += ";VALUE="; + dataLine += excludeDateDataValue[excludeDateDataSeek]; + + } + + if (excludeDateDataTokens[excludeDateDataSeek].size() > 0){ + + dataLine += ";"; + dataLine += excludeDateDataTokens[excludeDateDataSeek]; } - if (AttachListEncoding[AttachListSeek].size() > 0){ + dataLine += ":"; + dataLine += excludeDateData[excludeDateDataSeek]; + dataLine += "\n"; + + dataLineProcessed = OutputText(&dataLine); - DataLine += ";ENCODING="; - DataLine += AttachListEncoding[AttachListSeek]; + *saveData += dataLineProcessed; + + dataLine.clear(); + dataLineProcessed.clear(); + + } + + } + + // Process the RELATED-TO value. + + if (relatedToData.size() > 0){ + + for (int requestToDataSeek = 0; requestToDataSeek < relatedToData.size(); + requestToDataSeek++){ + + dataLine += "RELATED-TO"; + + if (relatedToDataRelationType[requestToDataSeek].size() > 0){ + + dataLine += ";RELTYPE="; + dataLine += relatedToDataRelationType[requestToDataSeek]; + + } + + if (relatedToDataTokens[requestToDataSeek].size() > 0){ + + dataLine += ";"; + dataLine += RelatedToDataTokens[requestToDataSeek]; + + } + + dataLine += ":"; + dataLine += relatedToData[requestToDataSeek]; + dataLine += "\n"; + + dataLineProcessed = OutputText(&dataLine); + + *saveData += dataLineProcessed; + + dataLine.clear(); + dataLineProcessed.clear(); + + } + + } + + // Process the RDATE value. + + if (recurranceDateData.size() > 0){ + + for (int recurranceDateDataSeek = 0; recurranceDateDataSeek < recurranceDateData.size(); + recurranceDateDataSeek++){ + + dataLine += "RDATE"; + + if (recurranceDateDataValue[recurranceDateDataSeek].size() > 0){ + + dataLine += ";VALUE="; + dataLine += recurranceDateDataValue[recurranceDateDataSeek]; + + } + + if (recurranceDateDataTimeZoneParam[recurranceDateDataSeek].size() > 0){ + + dataLine += ";TZID="; + dataLine += recurranceDateDataTimeZoneParam[recurranceDateDataSeek]; + + } + + if (recurranceDateDataTokens[recurranceDateDataSeek].size() > 0){ + + dataLine += ";"; + dataLine += recurranceDateDataTokens[recurranceDateDataSeek]; } - if (AttachListTokens[AttachListSeek].size() > 0){ + dataLine += ":"; + dataLine += recurranceDateData[recurranceDateDataSeek]; + dataLine += "\n"; + + dataLineProcessed = OutputText(&dataLine); + + *saveData += dataLineProcessed; + + dataLine.clear(); + dataLineProcessed.clear(); + + } + + } + + // Process the REQUEST-STATUS value. + + if (requestStatusData.size() > 0){ - DataLine += ";"; - DataLine += AttachListTokens[AttachListSeek]; + for (int requestStatusDataSeek = 0; requestStatusDataSeek < requestStatusData.size(); + requestStatusDataSeek++){ + + dataLine += "REQUEST-STATUS"; + + if (requestStatusLanguage[requestStatusDataSeek].size() > 0){ + + dataLine += ";LANGUAGE="; + dataLine += requestStatusLanguage[requestStatusDataSeek]; } + + if (requestStatusTokens[requestStatusDataSeek].size() > 0){ - DataLine += ":"; - DataLine += AttachList[AttachListSeek]; - DataLine += "\n"; + dataLine += ";"; + dataLine += requestStatusTokens[requestStatusDataSeek]; + + } + + dataLine += ":"; + dataLine += requestStatusData[requestStatusDataSeek]; + dataLine += "\n"; - DataLineProcessed = OutputText(&DataLine); + dataLineProcessed = OutputText(&dataLine); - *SaveData += DataLineProcessed; + *saveData += dataLineProcessed; - DataLine.clear(); - DataLineProcessed.clear(); + dataLine.clear(); + dataLineProcessed.clear(); } } - *SaveData += "END:VJOURNAL\n"; + // Process the X-Token values. + + if (xTokensData.size() > 0){ + + for (int xTokenSeek = 0; xTokenSeek < xTokensData.size(); + xTokenSeek++){ + + dataLine += xTokensDataTokens[xTokenSeek]; + dataLine += ":"; + dataLine += xTokensData[xTokenSeek]; + dDataLine += "\n"; + + dataLineProcessed = OutputText(&dataLine); + + *saveData += dataLineProcessed; + + dataLine.clear(); + dataLineProcessed.clear(); + + } + + } + + *saveData += "END:VJOURNAL\n"; } \ No newline at end of file