X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fobjects%2Fcalendarevent%2FCalendarEvent-Save.cpp;h=e652d7ace644148b4ef3d0c2511db557a9eadd58;hb=0c3b738af7c01d98795cba3ce06059420ac77103;hp=a1d743c7e494c9672921a7777ba0dbf468fc4f8b;hpb=b316bf0e7fd76a92694e87f04a74ff58a2e454a2;p=xestiacalendar%2F.git diff --git a/source/objects/calendarevent/CalendarEvent-Save.cpp b/source/objects/calendarevent/CalendarEvent-Save.cpp index a1d743c..e652d7a 100644 --- a/source/objects/calendarevent/CalendarEvent-Save.cpp +++ b/source/objects/calendarevent/CalendarEvent-Save.cpp @@ -107,33 +107,33 @@ void CalendarEventObject::SaveObjectData(string *SaveData){ // Process the DTEND. - if (DateTimeStartData.size() > 0){ + if (DateTimeEndData.size() > 0){ DataLine += "DTEND"; - if (DateTimeStartDataValue.size() > 0){ + if (DateTimeEndDataValue.size() > 0){ DataLine += ";VALUE="; - DataLine += DateTimeStartDataValue; + DataLine += DateTimeEndDataValue; } - if (DateTimeStartDataTimeZoneID.size() > 0){ + if (DateTimeEndDataTimeZoneID.size() > 0){ DataLine += ";TZID="; - DataLine += DateTimeStartDataTimeZoneID; + DataLine += DateTimeEndDataTimeZoneID; } - if (DateTimeStartDataTokens.size() > 0){ + if (DateTimeEndDataTokens.size() > 0){ DataLine += ";"; - DataLine += DateTimeStartDataTokens; + DataLine += DateTimeEndDataTokens; } DataLine += ":"; - DataLine += DateTimeStartData; + DataLine += DateTimeEndData; DataLine += "\n"; DataLineProcessed = OutputText(&DataLine); @@ -153,14 +153,15 @@ void CalendarEventObject::SaveObjectData(string *SaveData){ if (SummaryDataAltRep.size() > 0){ - DataLine += ";ALTREP="; + DataLine += ";ALTREP=\""; DataLine += SummaryDataAltRep; + DataLine += "\""; } if (SummaryDataLanguage.size() > 0){ - DataLine += ";TZID="; + DataLine += ";LANGUAGE="; DataLine += SummaryDataLanguage; } @@ -185,7 +186,7 @@ void CalendarEventObject::SaveObjectData(string *SaveData){ } - // Process the CLASS. + // Process the CLASS value. if (ClassData.size() > 0){ @@ -213,6 +214,366 @@ void CalendarEventObject::SaveObjectData(string *SaveData){ } + // Process the CREATED value. + + if (DateTimeCreatedData.size() > 0){ + + if (DateTimeCreatedTokens.size() > 0){ + + DataLine += "CREATED;"; + DataLine += DateTimeCreatedTokens; + + } else { + + DataLine += "CREATED"; + + } + + DataLine += ":"; + DataLine += DateTimeCreatedData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the DESCRIPTION values. Write out the + // first DESCRPITION only as per RFC5545 specifcation. + + if (DescriptionList.size() > 0){ + + DataLine += "DESCRIPTION"; + + if (DescriptionListAltRep[0].size() > 0){ + + DataLine += ";ALTREP=\""; + DataLine += DescriptionListAltRep[0]; + DataLine += "\""; + + } + + if (DescriptionListLanguage[0].size() > 0){ + + DataLine += ";LANGUAGE="; + DataLine += DescriptionListLanguage[0]; + + } + + if (DescriptionListTokens[0].size() > 0){ + + DataLine += ";"; + DataLine += DescriptionListTokens[0]; + + } + + DataLine += ":"; + DataLine += DescriptionList[0]; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the GEO value. + + if (GeographicData.size() > 0){ + + if (GeographicTokens.size() > 0){ + + DataLine += "GEO;"; + DataLine += GeographicTokens; + + } else { + + DataLine += "GEO"; + + } + + DataLine += ":"; + DataLine += GeographicData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the LAST-MODIFIED value. + + if (LastModifiedData.size() > 0){ + + if (LastModifiedTokens.size() > 0){ + + DataLine += "LAST-MODIFIED;"; + DataLine += LastModifiedTokens; + + } else { + + DataLine += "LAST-MODIFIED"; + + } + + DataLine += ":"; + DataLine += LastModifiedData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the LOCATION value. + + if (LocationData.size() > 0){ + + DataLine += "LOCATION"; + + if (LocationDataAltRep.size() > 0){ + + DataLine += ";ALTREP=\""; + DataLine += LocationDataAltRep; + DataLine += "\""; + + } + + if (LocationDataLanguage.size() > 0){ + + DataLine += ";LANGUAGE="; + DataLine += LocationDataLanguage; + + } + + if (LocationDataTokens.size() > 0){ + + DataLine += ";"; + DataLine += LocationDataTokens; + + } + + DataLine += ":"; + DataLine += LocationData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the ORGANIZER value. + + if (OrganiserData.size() > 0){ + + DataLine += "ORGANIZER"; + + if (OrganiserDataCommonName.size() > 0){ + + DataLine += ";CN="; + DataLine += OrganiserDataCommonName; + + } + + if (OrganiserDataDirectoryEntry.size() > 0){ + + DataLine += ";DIR=\""; + DataLine += OrganiserDataDirectoryEntry; + DataLine += "\""; + + } + + if (OrganiserDataSentByParam.size() > 0){ + + DataLine += ";SENT-BY=\""; + DataLine += OrganiserDataSentByParam; + DataLine += "\""; + + } + + if (OrganiserDataLanguage.size() > 0){ + + DataLine += ";LANGUAGE="; + DataLine += OrganiserDataLanguage; + + } + + if (OrganiserDataTokens.size() > 0){ + + DataLine += ";"; + DataLine += OrganiserDataTokens; + + } + + DataLine += ":"; + DataLine += OrganiserData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the PRIORITY value. + + if (PriorityData > -1 && PriorityData < 10){ + + DataLine += "PRIORITY"; + + if (PriorityTokens.size() > 0){ + + DataLine += ";"; + DataLine += PriorityTokens; + + } + + DataLine += ":"; + DataLine += to_string(PriorityData); + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the SEQUENCE value. + + if (SequenceData > -1 && SequenceData < 10){ + + DataLine += "SEQUENCE"; + + if (SequenceTokens.size() > 0){ + + DataLine += ";"; + DataLine += SequenceTokens; + + } + + DataLine += ":"; + DataLine += to_string(SequenceData); + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the STATUS value. + + if (StatusData.size() > 0){ + + DataLine += "STATUS"; + + if (StatusLanguage.size() > 0){ + + DataLine += ";LANGUAGE="; + DataLine += StatusLanguage; + + } + + if (StatusTokens.size() > 0){ + + DataLine += ";"; + DataLine += StatusTokens; + + } + + DataLine += ":"; + DataLine += StatusData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the TRANSP value. + + if (TimeTransparencyData.size() > 0){ + + DataLine += "TRANSP"; + + if (TimeTransparencyDataTokens.size() > 0){ + + DataLine += ";"; + DataLine += TimeTransparencyDataTokens; + + } + + DataLine += ":"; + DataLine += TimeTransparencyData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the URL value. + + if (URLData.size() > 0){ + + DataLine += "URL"; + + if (URLDataTokens.size() > 0){ + + DataLine += ";"; + DataLine += URLDataTokens; + + } + + DataLine += ":"; + DataLine += URLData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + *SaveData += "END:VEVENT\n"; } \ No newline at end of file