if(Len(arguments.id)) { return variables.ceData.getCEData(variables.getPageRatingFormName(),"id",arguments.id); } else if(Len(arguments.ratingPageID) and Len(arguments.userID)) { return variables.ceData.getCEData( customElementName=variables.getPageRatingFormName(), queryType="multi", searchValues="#arguments.ratingPageID#,#arguments.userID#", searchFields="ratingPageID,userID"); } else if(Len(arguments.ratingPageID)) { return variables.ceData.getCEData(variables.getPageRatingFormName(),"ratingPageID",arguments.ratingPageID); } else if(Len(arguments.userID)) { return variables.ceData.getCEData(variables.getPageRatingFormName(),"userID",arguments.userID); } else { return variables.ceData.getCEData(variables.getPageRatingFormName()); } var total = 0; var ratings = getRating(ratingPageID=arguments.ratingPageID); if(ArrayLen(ratings)) { for(var i=1;i<=ArrayLen(ratings);i++){ total = total + ratings[i].values.rating; } return total/ArrayLen(ratings)/10*100; } else { return 0; } var results = {}; var ratingObject = StructNew(); var ratings = getRating(id=arguments.ratingID); var elementName = getPageRatingFormName(); var useCeRecordAPI = getUseCeRecordApiByElement(ceName=elementName); try { if( ArrayLen(ratings) ) ratingObject.dataPageID = ratings[1].pageID; ratingObject.id = arguments.ratingID; if( arguments.rating neq -1 ) { // add the Privileges so anonymous users can add/edit the CE record // --------------------------------------------------------------------- if ( useCeRecordAPI ) Request.User.enableApprovedPrivileges(Request); ratingObject.userID = request.user.id; ratingObject.ratingPageID = arguments.ratingPageID; ratingObject.rating = arguments.rating; results = pageRatingCCAPI(dataValues=ratingObject); // remove the anonymous users CE add/edit Privileges // --------------------------------------------------------------------- if ( useCeRecordAPI ) Request.User.disableApprovedPrivileges(); return results.contentUpdated; } else if ( StructKeyExists(ratingObject,"dataPageID") ) { //Rating was -1. We need to delete the existing rating! return variables.ceData.deleteCE(ratingObject.dataPageID); } } catch (any ex) { application.ptPageRating.log.addLogEntry(message='Error occurred in command ptPageRating.DAO.saveRating (#DateTimeFormat(Now(),"short")#): #ex.message# - #Server.CommonSpot.UDF.util.structToText(arguments)#',CFCatch=ex,forceStackTrace=true,useDatePrefix=true); if ( StructKeyExists(request.params,'debug') AND VAL(request.params.debug) EQ 1 ) WriteDump(var=ex,expand=false,label='Error: ptPageRating.DAO.saveRating'); return false; } return true; var retStruct = {}; var CCAPIName = getPageRatingCCAPIName(); var elementName = getPageRatingFormName(); var useCeRecordAPI = getUseCeRecordApiByElement(ceName=elementName); if ( NOT useCeRecordAPI ) { // Save the custom element record using the CCAPI retStruct = variables.csContent.populateContent(CCAPIName, arguments.dataValues); } else { // save the custom element record ceRecordAPI retStruct = variables.gceRecord.saveRecord(ceName=elementName,dataValues=arguments.dataValues); } /* retStruct RETURNS: CONTENTUPDATED : true/false & CONTENTUPDATERESPONSE: Success:1 */ return retStruct;