variables.cacheFilePath = request.site.CP_URL & "_cs_apps/pt_calendar/cache/";
variables.eventsCacheFile = "calendar-cache-events-data.wddx";
variables.eventsCacheFilePath = ExpandPath(variables.cacheFilePath & variables.eventsCacheFile);
//variables.eventsCachFields = "packetid,importid,CEID,CSPageid,CSSubsiteID,Type";
//variables.recurrenceCacheFile = "calendar-cache-recurrence-data.wddx";
//variables.recurrenceCacheFilePath = ExpandPath(variables.cacheFilePath & variables.recurrenceCacheFile);
//variables.recurrenceCacheFields = "packetid,importid,CEID,CSPageid,CSSubsiteID,Type";
var dataStruct = {};
//var buildPacketFile = createEventsCacheFile();
var dataQry = application.ptCalendar.calEventsDAO.getEventsUnion(
startDate=arguments.startDate
,endDate=arguments.endDate
);
dataStruct.events = dataQry;
dataStruct.eventsCacheUpdateDateTime = Now();
return writeWDDXData(filePath=variables.eventsCacheFilePath,dataStruct=dataStruct);
var retStr = "false";
var fileResult = deleteEventsCacheFile();
if ( StructKeyExists(fileResult,"MSG") )
retStr = fileResult.MSG;
return retStr;
var retQry = QueryNew('tmp');
var dataStruct = readWDDXData(filePath=variables.eventsCacheFilePath);
if ( StructKeyExists(dataStruct,'events') AND IsQuery(dataStruct.events) )
retQry = dataStruct.events;
if ( IsDate(arguments.startDate) AND retQry.recordCount GT 0 )
retQry = getEventsQueryDirect(startDate=arguments.startDate,endDate=arguments.endDate,rebuildFieldCache=arguments.rebuildFieldCache);
return retQry;
var dataQry = QueryNew("tmp");
var retStruct = { 'error_msg': '', 'qry': dataQry, 'status': false, 'recordCount': 0 };
var sqlcmdtext = "";
var keyArray = ArrayNew(1);
var i = 1;
var eventsFieldStruct = {};
var dateTimefieldStruct = {};
var sqlResult = {};
if ( NOT IsDate(arguments.startDate) )
arguments.startDate = '';
if ( NOT IsDate(arguments.endDate) )
arguments.endDate = '';
// New Event Field Struct Caching
eventsFieldStruct = application.ptCalendar.calEventDetailsDAO.getEventDetailsFieldStruct(rebuildFieldCache=arguments.rebuildFieldCache);
// New DateTime Field Struct Caching
dateTimefieldStruct = application.ptCalendar.calEventDateTimeDAO.getDateTimeFieldStruct(rebuildFieldCache=arguments.rebuildFieldCache);
// Combine both field structs into one
StructAppend(eventsFieldStruct, dateTimefieldStruct, false);
// Convert the keys from the field struct into an array so we can count the length
if ( NOT StructIsEmpty(eventsFieldStruct) )
keyArray = StructKeyArray(eventsFieldStruct);
SELECT
#keyArray[i]#,
FROM #tableName#
WHERE 1 = 1
AND CAST( eventDate AS DATE )
BETWEEN CAST( AS DATE )
AND CAST( AS DATE )
AND CAST( eventDate AS DATE ) >= CAST( AS DATE )
retStruct.qry = dataQry;
retStruct.recordCount = dataQry.recordCount;
retStruct.status = true;
retStruct.cmd = sqlResult.sql;
retStruct.error_msg = cfcatch.message;
retStruct.status = false;
retStruct.msg = retStruct.error_msg;
retStruct.details = cfcatch.detail;
retStruct.cmd = sqlResult.sql;
doErrorLogging("App","fileCache.getEventsQueryDirect",retStruct);
var retStruct = StructNew();
var retFlag = false;
var dateTimeStamp = Now();
var dataQry = QueryNew("temp");
var cachedEventQry = getEvents(); // QofQ of the Cached Event Records
// Generate the LIVE unCached events records
var newEventsQry = application.ptCalendar.calEventsDAO.getEventsByEventID(
eventID=arguments.eventID,
useCache=false
);
SELECT cachedEventQry.*
FROM cachedEventQry
UNION
SELECT newEventsQry.*
FROM newEventsQry
ORDER BY eventDate, AllDay DESC, StartTime
retStruct = writeCacheData(cacheQry=cachedEventQry,dateTimeStamp=dateTimeStamp);
if ( StructKeyExists(retStruct,"status") )
retFlag = retStruct.status;
return retFlag;
var dateTimeStamp = Now();
// Remove events cache records by EventID
var deleteEvents = deleteEventCacheRecord(
eventID = arguments.eventID
);
// Create new events cache records by EventID
var addEvents = addEventCacheRecord(
eventID = arguments.eventID
);
//Updating the timestamp and data is handled by the other add and delete functions
return true;
var retStruct = StructNew();
var retFlag = false;
var dateTimeStamp = Now();
var dataQry = QueryNew("temp");
var cachedEventQry = getEvents(); // Cached Event Records
SELECT *
FROM cachedEventQry
WHERE 1 = 1
AND calEventID <>
ORDER BY eventDate, AllDay DESC, StartTime
retStruct = writeCacheData(cacheQry=cachedEventQry,dateTimeStamp=dateTimeStamp);
if ( StructKeyExists(retStruct,"status") )
retFlag = retStruct.status;
return retFlag;
var retStruct = StructNew();
var retFlag = false;
var dateTimeStamp = Now();
var dataQry = QueryNew("temp");
var cachedEventQry = getEvents(); // Cached Event Records
SELECT *
FROM cachedEventQry
WHERE 1 = 1
AND dtHashID <>
ORDER BY eventDate, AllDay DESC, StartTime
retStruct = writeCacheData(cacheQry=cachedEventQry,dateTimeStamp=dateTimeStamp);
if ( StructKeyExists(retStruct,"status") )
retFlag = retStruct.status;
return retFlag;
return variables.eventsCacheFilePath;
var colNameStruct = application.ptCalendar.calEventDateTimeDAO.getDateTimeQueryColumnListStruct(rebuildColumnCache=arguments.rebuildColumnCache);
var newQryColList = colNameStruct.columnNames;
var newQryDataTypes = colNameStruct.dataTypes;
return initWDDXpacketData(filePath=variables.eventsCacheFilePath,packetFields=newQryColList,packetFieldDataTypes=newQryDataTypes);
var retStruct = StructNew();
var deleteStatus = deleteDataFile(filePath=variables.eventsCacheFilePath);
if ( deleteStatus EQ "file-deleted" OR deleteStatus EQ "file-exists-false" ) {
retStruct.status = true;
retStruct.msg = "Success";
}
else {
retStruct.status = false;
retStruct.msg = "Failed";
}
return retStruct;
var retStruct = { 'status': false, msg: 'Failed' };
var writeStatus = '';
var dataStruct = {};
dataStruct.events = arguments.cacheQry;
dataStruct.eventsCacheUpdateDateTime = arguments.dateTimeStamp;
writeStatus = writeWDDXData(filePath=variables.eventsCacheFilePath,dataStruct=dataStruct);
if ( writeStatus EQ "success")
{
retStruct.status = true;
retStruct.msg = "Success";
}
return retStruct;
var dataStruct = {};
var qPacket = QueryNew(arguments.packetFields);
// Add the Field Data Type to the Query New if provided
if ( LEN(TRIM(arguments.packetFieldDataTypes)) AND ( ListLen(arguments.packetFields) EQ ListLen(arguments.packetFieldDataTypes) ) )
qPacket = QueryNew(arguments.packetFields,arguments.packetFieldDataTypes);
dataStruct.events = qPacket;
dataStruct.eventsCacheUpdateDateTime = Now();
return writeWDDXData(filePath=arguments.filePath,dataStruct=dataStruct);
var retStruct = { events: QueryNew('tmp'), eventsCacheUpdateDateTime: '', recordCount: 0 };
var dataPacketWDDX = "";
var extDataQry = QueryNew("tmp");
if ( StructKeyExists(retStruct,'events') AND IsQuery(retStruct.events) )
extDataQry = retStruct.events;
SELECT *
FROM extDataQry
WHERE #arguments.uniqueFldName# = '#arguments.uniqueValue#'
AND #arguments.criteriaFldName# = '#arguments.criteriaValue#'
ORDER BY #arguments.orderbystr#
retStruct.events = extDataQry;
retStruct.recordCount = extDataQry.recordCount;
return retStruct
var dataPacket_wddx = "";
var writeStatus = "";
var dataStruct = {};
var extDataQry = readWDDXData(filePath=arguments.filePath);
var columns = extDataQry.ColumnList;
var rowCount = extDataQry.RecordCount;
var currentrow = rowCount + 1;
var i = 1;
var col = "";
// Add new Row to the Query to populate
QueryAddRow(extDataQry, 1);
//Loop over the Query Columns an find the values in the KeyValueStruct to add
for ( i=1; i LTE ListLen(columns); i++) {
col = ListGetAt(columns,i);
// Update query Cell with new VALUE if KEY is in Struct
if ( StructKeyExists(arguments.keyValueStruct, col) )
QuerySetCell( extDataQry, col, TRIM(arguments.keyValueStruct[col]), currentrow );
else
QuerySetCell( extDataQry, col, "", currentrow );
}
dataStruct.events = extDataQry;
dataStruct.eventsCacheUpdateDateTime = Now();
// Write the new query back to the data file
return writeWDDXData(filePath=arguments.filePath,dataStruct=dataStruct);
var dataStruct = {};
var extDataQry = readWDDXData(filePath=arguments.filePath);
var columns = extDataQry.ColumnList;
var uField = TRIM(arguments.uniqueFldName);
var uValue = TRIM(arguments.uniqueValue);
var col = "";
dataStruct.events = extDataQry;
dataStruct.eventsCacheUpdateDateTime = Now();
// Write the new query back to the data file
return writeWDDXData(filePath=arguments.filePath,dataStruct=dataStruct);
var extDataQry = readWDDXData(filePath=arguments.filePath);
var columns = extDataQry.ColumnList;
var newDataQry = QueryNew(columns);
var uField = TRIM(arguments.uniqueFldName);
var uValue = TRIM(arguments.uniqueValue);
var col = "";
dataStruct.events = newDataQry;
dataStruct.eventsCacheUpdateDateTime = Now();
// Write the new query back to the data file
return writeWDDXData(filePath=arguments.filePath,dataStruct=dataStruct);
return deleteDataFile(arguments.filePath);
var writeStatus = "";
var dirCreate = StructNew();
var retStr = arguments.filePath;
if ( FindNoCase(arguments.charToFind,retStr,1) )
retStr = ReplaceNoCase(retStr,arguments.charToFind,arguments.charToReplace,arguments.scope);
return retStr;
var fullPath = fixFilePathSlashes(arguments.filePath);
var folderPath = GetDirectoryFromPath(fullPath);
var retStatus = StructNew();
// If folder exists the we are done here... move on
if ( DirectoryExists(folderPath) )
{
retStatus.status = "dir-exists";
}
else
{
try
{
CreateObject("java", "java.io.File").init(folderPath).mkdirs();
retStatus.status = "dir-created";
}
catch (any e)
{
retStatus.status = "dir-create-failed";
}
}
return retStatus;