Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added LAST-MODIFIED property for saving data from a CalendarEventObject.
[xestiacalendar/.git] / source / objects / calendarevent / CalendarEvent-Save.cpp
index a1d743c..a5afcd5 100644 (file)
@@ -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,132 @@ 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();
+               
+       }
+       
        *SaveData += "END:VEVENT\n";
        
 }
\ No newline at end of file
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy