ContentBox Core API 1.5.7

contentbox.model.comments
Class CommentService

WEB-INF.cftags.component
        extended by coldbox.system.orm.hibernate.BaseORMService
            extended by coldbox.system.orm.hibernate.VirtualEntityService
                extended by contentbox.model.comments.CommentService

public class CommentService
extends coldbox.system.orm.hibernate.VirtualEntityService

******************************************************************************* ContentBox - A Modular Content Platform Copyright 2012 by Luis Majano and Ortus Solutions, Corp www.gocontentbox.org | www.luismajano.com | www.ortussolutions.com ******************************************************************************* Apache License, Version 2.0 Copyright Since [2012] [Luis Majano and Ortus Solutions,Corp] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************* Service to handle comment operations.


Constructor Summary
init()
          Constructor
 
Method Summary
private any activateURLs(any text)
          Activate URL's from text
private boolean anyKeywordMatch([any comment], [any matchList])
          Regex matching of a list of entries against a comment and matching keyword list
 any bulkStatus([any commentID], [any status])
          Bulk Updates
 any findApprovedComments([any contentID], [any contentType], [any max='0'], [any offset='0'], [any sortOrder='desc'])
          Comment listing for UI of approved comments, returns struct of results=[comments,count]
 numeric getApprovedCommentCount()
          Get the total number of approved comments in the system
 numeric getUnApprovedCommentCount()
          Get the total number of unapproved comments in the system
private boolean runModerationRules([any comment], [any settings])
          Run moderation rules on an incoming comment and set of contentbox settings
 struct saveComment(any comment)
          Save a comment according to our rules and process it
 struct search([any search=''], [any isApproved], [any contentID], [any max='0'], [any offset='0'])
          comment search returns struct with keys [comments,count]
private void sendNotificationEmails([any comment], [any settings])
          Send a notification email for comments
private boolean userHasPreviousAcceptedComment(any email)
          Check if the user has already a comment in the system
 
Methods inherited from class coldbox.system.orm.hibernate.VirtualEntityService
GETDATASOURCE, GETENTITYNAME, SETDATASOURCE, SETENTITYNAME, clear, convertIDValueToJavaType, convertValueToJavaType, count, countWhere, criteriaCount, criteriaQuery, deleteAll, deleteByID, deleteByQuery, deleteWhere, evict, executeQuery, exists, findAllWhere, findWhere, get, getAll, getKey, getPropertyNames, getSessionStatistics, getTableName, isSessionDirty, list, new, newCriteria, onMissingMethod
 
Methods inherited from class coldbox.system.orm.hibernate.BaseORMService
$delete, $deleteAll, $deleteByID, $deleteByQuery, $deleteWhere, $save, $saveAll, $transactioned, GETDEFAULTASQUERY, GETEVENTHANDLING, GETHQLDYNAMICCACHE, GETQUERYCACHEREGION, GETUSEQUERYCACHING, GETUSETRANSACTIONS, SETDEFAULTASQUERY, SETEVENTHANDLING, SETHQLDYNAMICCACHE, SETQUERYCACHEREGION, SETUSEQUERYCACHING, SETUSETRANSACTIONS, compileHQLFromDynamicMethod, createCriteriaQuery, createService, delete, evictEntity, evictQueries, findAll, findByExample, findDynamically, findIt, getEntityGivenName, getRestrictions, merge, populate, populateFromJSON, populateFromQuery, populateFromXML, refresh, save, saveAll, sessionContains
 
Methods inherited from class WEB-INF.cftags.component
 

Constructor Detail

init

public init()
Constructor

Method Detail

activateURLs

private any activateURLs(any text)
Activate URL's from text

Parameters:
text

anyKeywordMatch

private boolean anyKeywordMatch([any comment], [any matchList])
Regex matching of a list of entries against a comment and matching keyword list

Parameters:
comment
matchList

bulkStatus

public any bulkStatus([any commentID], [any status])
Bulk Updates

Parameters:
commentID - The list or array of ID's to bulk update
status - The status either 'approve' or 'moderate

findApprovedComments

public any findApprovedComments([any contentID], [any contentType], [any max='0'], [any offset='0'], [any sortOrder='desc'])
Comment listing for UI of approved comments, returns struct of results=[comments,count]

Parameters:
contentID - The content ID to filter on
contentType - The content type discriminator to filter on
max - The maximum number of records to return, 0 means all
offset - The offset in the paging, 0 means 0
sortOrder - Sort the comments asc or desc, by default it is desc

getApprovedCommentCount

public numeric getApprovedCommentCount()
Get the total number of approved comments in the system


getUnApprovedCommentCount

public numeric getUnApprovedCommentCount()
Get the total number of unapproved comments in the system


runModerationRules

private boolean runModerationRules([any comment], [any settings])
Run moderation rules on an incoming comment and set of contentbox settings. If this method returns a false then the comment is moderated and can continue to be saved. If returns false, then it is blocked and must NOT be saved.

Parameters:
comment - Comment to moderate check
settings - The contentbox settings to moderate against

saveComment

public struct saveComment(any comment)
Save a comment according to our rules and process it. Returns a structure of information results = [moderated:boolean,messages:array]

Parameters:
comment - The comment to try to save

search

public struct search([any search=''], [any isApproved], [any contentID], [any max='0'], [any offset='0'])
comment search returns struct with keys [comments,count]

Parameters:
search
isApproved
contentID
max
offset

sendNotificationEmails

private void sendNotificationEmails([any comment], [any settings])
Send a notification email for comments

Parameters:
comment - Comment to moderate check
settings - The contentbox settings to moderate against

userHasPreviousAcceptedComment

private boolean userHasPreviousAcceptedComment(any email)
Check if the user has already a comment in the system

Parameters:
email - The email address to check.

ContentBox Core API 1.5.7