Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added URL property for saving data from a CalendarEventObject.
[xestiacalendar/.git] / source / objects / calendarevent / CalendarEvent-Save.cpp
index 911947b..e652d7a 100644 (file)
@@ -9,9 +9,6 @@ void CalendarEventObject::SaveObjectData(string *SaveData){
        
        *SaveData += "BEGIN:VEVENT\n";
        
-       // TODO: Replace SaveData with DataLine, DataLineProcessed
-       // and use the new OutputText function.
-       
        // Process the UID.
        
        if (UniqueID.size() > 0){
@@ -110,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);
@@ -156,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;                        
                        
                }
@@ -187,6 +185,394 @@ void CalendarEventObject::SaveObjectData(string *SaveData){
                DataLineProcessed.clear();
                
        }
+
+       // Process the CLASS value.
+       
+       if (ClassData.size() > 0){
+               
+               if (ClassDataTokens.size() > 0){
+               
+                       DataLine += "CLASS;";
+                       DataLine += ClassDataTokens;
+                       
+               } else {
+
+                       DataLine += "CLASS";
+                       
+               }
+
+               DataLine += ":";
+               DataLine += ClassData;
+               DataLine += "\n";
+               
+               DataLineProcessed = OutputText(&DataLine);
+               
+               *SaveData += DataLineProcessed;
+               
+               DataLine.clear();
+               DataLineProcessed.clear();
+               
+       }
+       
+       // 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";
        
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