var writeStatus = ""; var allowedFileTypes = "css"; arguments.FilePath = fixFilePathSlashes(filePath=arguments.FilePath); if ( ListFindNoCase(allowedFileTypes,ListLast(ListLast(arguments.FilePath,"."),"/")) EQ 0 ) return "not-css-file"; writeStatus = writeDataFile(filePath=arguments.filePath,dataString=arguments.dataString,overwrite=arguments.overwrite,charSet=arguments.charSet); return writeStatus; var writeStatus = ""; var allowedFileTypes = "ini"; arguments.FilePath = fixFilePathSlashes(filePath=arguments.FilePath); if ( ListFindNoCase(allowedFileTypes,ListLast(ListLast(arguments.FilePath,"."),"/")) EQ 0 ) return "not-ini-file"; writeStatus = writeDataFile(filePath=arguments.filePath,dataString=arguments.dataString,overwrite=arguments.overwrite,charSet=arguments.charSet); return writeStatus; var writeStatus = ""; var dirCreate = StructNew(); var allowedFileTypes = "ini,xml,wddx,txt,css,log"; if ( ListFindNoCase(allowedFileTypes,ListLast(arguments.FilePath,".")) EQ 0 ) return "invalid-file-type"; 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; var fullPath = fixFilePathSlashes(arguments.dirPath); var folderPath = ExpandPath(fullPath); var retStatus = StructNew(); retStatus.status = "no-dir"; retStatus.exists = false; // If folder exists the we are done here... move on if ( DirectoryExists(folderPath) ) { retStatus.status = "dir-exists"; retStatus.exists = true; } return retStatus; var isCompatVersion = false; var minCompatVer = ""; var maxCompatVer = ""; var maxVersionMinorCap = 9999; var maxVersionPatchCap = 9999; var minVersionCheck = -1; var maxVersionCheck = -1; var v = 1; // Check the list for duplicates and resort largest to smallest arguments.minimumVersionsList = variables.data.listRemoveDuplicates(arguments.minimumVersionsList); arguments.minimumVersionsList = sortVersionList(versionList=arguments.minimumVersionsList,sortorder="desc"); for ( v=1; v LTE ListLen(arguments.minimumVersionsList,",");v=v+1) { isCompatVersion = false; minCompatVer = ListGetAt(arguments.minimumVersionsList,v,","); // Check MIN compatible version minVersionCheck = versionCompare(versionA=arguments.version,versionB=minCompatVer); if ( minVersionCheck GTE 0 ) { // Passed the MIN version compatible check if ( v EQ 1 ) { // First Item in the list (so we can assume compatible with all higher versions isCompatVersion = true; break; } else { // Now check MAX compatible version // - Build (Max version of current Major version) maxCompatVer = ListFirst(minCompatVer,".") & "." & maxVersionMinorCap & "." & maxVersionPatchCap; maxVersionCheck = versionCompare(versionA=arguments.version,versionB=maxCompatVer); // Check MAX compatible version if ( maxVersionCheck LT 0 ) { // Passed the MIN version compatible check, set to true and finish isCompatVersion = true; break; } else { // did NOT pass the MAX version check (check next item, if none... done and not compatible) isCompatVersion = false; } } } else { // did NOT pass the MIN version check (check next item, if none... done and not compatible) isCompatVersion = false; } if ( isCompatVersion ) break; } return isCompatVersion; var retStr = ""; var vArray = buildVersionArray(versionList=arguments.versionList); var i = 1; var s = 1; var versionStr = ""; var newArray = ArrayNew(1); if ( ArrayLen(vArray) ) { vArray = variables.data.arrayOfStructsSortMultiKeys(aOfS=vArray,orderByKeyList="Major,Minor,Patch"); //Product, if ( arguments.sortorder EQ "desc" ) { for ( i = arrayLen(vArray); i >= 1; i-- ) { arrayAppend(newArray,vArray[i]); } } else { newArray = vArray; } } for ( s=1; s LTE ArrayLen(newArray); s=s+1 ) { versionStr = ""; versionStr = ListAppend(versionStr,newArray[s].major,"."); versionStr = ListAppend(versionStr,newArray[s].minor,"."); if ( IsNumeric(newArray[s].patch) AND newArray[s].patch GT 0 ) versionStr = ListAppend(versionStr,newArray[s].patch,"."); //versionStr = newArray[s].Product & " " & versionStr & " " & newArray[s].vname; versionStr = versionStr & " " & newArray[s].vname; retStr = ListAppend(retStr,TRIM(versionStr),","); } retStr = ListChangeDelims(retStr, ", ",","); return retStr; var retArray = ArrayNew(1); var dArray = ListToArray(arguments.versionList); var vData = StructNew(); var versionStr = ""; var vArray = ArrayNew(1); var i = 1; for ( i=1; i LTE ArrayLen(dArray); i=i+1 ) { vData = StructNew(); vData.product = ""; versionStr = dArray[i]; if ( REFindNoCase("[a-zA-Z]",ListFirst(versionStr," "),1) ) { vData.product = ListFirst(dArray[i]," "); versionStr = ListRest(dArray[i]," "); } vArray = ListToArray(versionStr,"."); vData.major = "0"; if ( ArrayLen(vArray) GTE 1 ) vData.major = vArray[1]; vData.minor = "0"; vData.vname = ""; if ( ArrayLen(vArray) GTE 2 ) { vData.minor = ListFirst(vArray[2]," "); vData.vname = ListRest(vArray[2]," "); } vData.patch = "0"; if ( ArrayLen(vArray) GTE 3 ) { vData.patch = ListFirst(vArray[3]," "); if ( LEN(TRIM(vData.vname)) EQ 0 ) vData.vname = ListRest(vArray[3]," "); } arrayAppend(retArray,vData); } return retArray; // If RelPath has a protocol... then we are done. No need to append the hostURL. if ( REFindNoCase("^(?:[a-z]+:)?//",arguments.relPath) ) return arguments.relPath; // trailing slashes if( Right( arguments.hostURL,1) EQ "/" ) arguments.hostURL = MID(arguments.hostURL, 1, Len( arguments.hostURL)-1); // remove leading slashes if( Left(arguments.relPath, 1) EQ "/" ) arguments.relPath = MID(arguments.relPath, 2, Len(arguments.relPath)); //return arguments.hostURL & "/" & arguments.relPath; if ( arguments.encodePath ) return arguments.hostURL & "/" & URLEncodedFormat(arguments.relPath); else return arguments.hostURL & "/" & arguments.relPath; if ( NOT StructKeyExists(request,"enableADFtimerInfo") ) request.enableADFtimerInfo = true; // Copy this line to use as a global on/off request variable if ( NOT arguments.disable AND LEN(TRIM(arguments.timerVar)) AND request.enableADFtimerInfo EQ true ) { // Init Timer Object if this is the FIRST call to addTimerEvent() for this timerVar if ( NOT StructKeyExists(request,arguments.timerVar) ) initTimer(timeVar=arguments.timerVar); if ( LEN(TRIM(arguments.timerMsg)) ) request[arguments.timerVar].addEvent(arguments.timerMsg); } var timerMsg = ""; if ( NOT StructKeyExists(request,"enableADFtimerInfo") ) request.enableADFtimerInfo = true; // Copy this line to use as a global on/off request variable if ( NOT arguments.disable AND LEN(TRIM(arguments.timerVar)) AND request.enableADFtimerInfo EQ true ) { WriteOutput("
"); WriteOutput("
"); // Log Last Timer Event timerMsg = "after search fully renders"; addTimerEvent(timerMsg=timerMsg,timeVar=arguments.timerVar); WriteOutput("
"); if ( LEN(TRIM(arguments.timerHeading)) ) WriteOutput(arguments.timerHeading & ": "); WriteOutput(arguments.timerVar); WriteOutput("
"); WriteOutput(request[arguments.timerVar].getResultsHTML()); //WriteOutput(request[arguments.timerVar].getResultsText()); WriteOutput("
"); }
if ( NOT StructKeyExists(request,"enableADFtimerInfo") ) request.enableADFtimerInfo = true; // Copy this line to use as a global on/off request variable if ( LEN(TRIM(arguments.timerVar)) AND request.enableADFtimerInfo EQ true ) request[arguments.timerVar] = CreateObject("component", "commonspot.components.util.debug-timing").init(); var retStr = ''; savecontent variable="retStr" { _doSimpleDumpData(argumentCollection=arguments); } if ( arguments.returnInVar ) return retStr; else { WriteOutput(retStr); return ""; } if ( IsArray(arguments.var) ) _doSimpleDumpArray(argumentCollection=arguments); else if ( IsStruct(arguments.var) ) _doSimpleDumpStruct(argumentCollection=arguments); else if ( IsQuery(arguments.var) ) _doSimpleDumpQuery(argumentCollection=arguments); else if ( IsSimpleValue(arguments.var) ) _doSimpleDumpString(argumentCollection=arguments); else { arguments.var = "[[Complex Object]]"; _doSimpleDumpString(argumentCollection=arguments); } var dumpLabel = ""; var data = ''; if ( LEN(TRIM(arguments.label)) ) dumpLabel = arguments.label; if ( IsSimpleValue(arguments.var) AND LEN(TRIM(arguments.var)) ) { data = arguments.var; WriteOutput(''); WriteOutput(''); if ( LEN(TRIM(dumpLabel)) ) WriteOutput(''); WriteOutput(''); WriteOutput(''); WriteOutput('
#dumpLabel#: #data#
'); }
var data = arguments.var; var dataCnt = 0; var fullCnt = 0; var dataValue = ""; var i = 1; var dumpLabel = "Array"; if ( LEN(TRIM(arguments.label)) ) dumpLabel = arguments.label & " - " & dumpLabel; if ( IsArray(data) ) { dataCnt = ArrayLen(data); if ( IsNumeric(arguments.top) AND arguments.top LT dataCnt ) { fullCnt = ArrayLen(data); dataCnt = arguments.top; dumpLabel = dumpLabel & ' - Records: #dataCnt# of #fullCnt#'; } else dumpLabel = dumpLabel & ' - Records: #dataCnt#'; if ( dataCnt GT 0 ) { WriteOutput(''); WriteOutput(''); WriteOutput(''); WriteOutput(''); WriteOutput(''); WriteOutput(''); for ( i=1; i <= dataCnt; i++ ) { dataValue = data[i]; WriteOutput(''); WriteOutput(''); WriteOutput(''); WriteOutput(''); } WriteOutput('
#dumpLabel#
'); WriteOutput(i); WriteOutput(''); _doSimpleDumpData(var=dataValue,label=arguments.label,returnInVar=arguments.returnInVar,showSql=arguments.showSql,top=arguments.top); WriteOutput('
'); } }
var data = arguments.var; var key = ''; var dataValue = ""; var dumpLabel = "Struct"; if ( LEN(TRIM(arguments.label)) ) dumpLabel = arguments.label & " - " & dumpLabel; if ( IsStruct(data) ) { WriteOutput(''); WriteOutput(''); WriteOutput(''); WriteOutput(''); WriteOutput(''); WriteOutput(''); WriteOutput(''); for ( key IN data ) { dataValue = data[key]; WriteOutput(''); WriteOutput(''); WriteOutput(''); WriteOutput(''); } WriteOutput(''); WriteOutput('
#dumpLabel#
'); WriteOutput(key); WriteOutput(''); _doSimpleDumpData(var=dataValue,label=arguments.label,returnInVar=arguments.returnInVar,showSql=arguments.showSql,top=arguments.top); WriteOutput('
'); }
var data = arguments.var; var dataCnt = 0; var fullCnt = 0; var colList = ''; var colName = ''; var colCnt = ''; var dataValue = ""; var i = 1; var c = 1; var d = 1; var cfmlEngineType = server.coldfusion.productname; var sqlQry = QueryNew('tmp'); var r = ""; var sqlLabel = ''; var sqlAttrs = ''; var dumpLabel = 'Query'; if ( LEN(TRIM(arguments.label)) ) dumpLabel = arguments.label & " - " & dumpLabel; if ( IsQuery(data) ) { dataCnt = data.RecordCount; colList = data.columnlist; colCnt = ListLen(colList); if ( arguments.showSql ) { if ( FindNoCase(cfmlEngineType,'ColdFusion Server') ) { /* ACF ONLY: */ sqlLabel = '
SQL: #data.getMetadata().getExtendedMetaData().sql#
'; // Fails on Lucee //sqlLabel = '
SQL: #serialize(r.sql,"json")#
'; } else { // The QofQ kills the SQL code (so no reason to do it this way) /* sqlQry = queryExecute( "SELECT * FROM data", {}, {dbtype = "query", result="r"} ); */ // sqlLabel = '
SQL: #Replace(serializeJSON(r.sql),"""","","ALL")#
'; // Fails on ACF //sqlLabel = '
SQL: #serialize(r.sql)#
'; } } if ( IsNumeric(arguments.top) AND arguments.top LT dataCnt ) { fullCnt = data.RecordCount; data = queryExecute( "SELECT #colList# FROM data", { }, { dbtype="query", maxRows=arguments.top } ); dataCnt = data.RecordCount; dumpLabel = dumpLabel & ' - Records: #dataCnt# of #fullCnt#'; } else dumpLabel = dumpLabel & ' - Records: #dataCnt#'; if ( dataCnt GT 0 ) { WriteOutput(''); WriteOutput(''); WriteOutput(''); WriteOutput(''); WriteOutput(''); if ( LEN(TRIM(sqlLabel)) ) { WriteOutput(''); WriteOutput(''); WriteOutput(''); } WriteOutput(''); WriteOutput(''); for ( c=1; c <= colCnt; c++ ) { colName = ListGetAt(colList,c); WriteOutput(''); } WriteOutput(''); WriteOutput(''); WriteOutput(''); for ( i=1; i <= dataCnt; i++ ) { colName = ''; dataValue = ''; WriteOutput(''); WriteOutput(''); for ( d=1; d <= ListLen(colList); d++ ) { colName = ListGetAt(colList,d); dataValue = data[colName][i]; WriteOutput(''); } WriteOutput(''); } WriteOutput(''); WriteOutput('
#dumpLabel#
#sqlLabel#
'); WriteOutput(' '); WriteOutput(''); WriteOutput(colName); WriteOutput('
'); WriteOutput(i); WriteOutput(''); _doSimpleDumpData(var=dataValue,label=arguments.label,returnInVar=arguments.returnInVar,showSql=arguments.showSql,top=arguments.top); WriteOutput('
'); } }