ContentBox Core API 1.6.0

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.

Property Summary
Type Property & Description Default Serializable Required
 any CBHelper


Attributes:
  • inject = id:CBHelper@cb
true false
 any interceptorService


Attributes:
  • inject = coldbox:interceptorService
true false
 any log


Attributes:
  • inject = logbox:logger:{this}
true false
 any mailService


Attributes:
  • inject = coldbox:plugin:MailService
true false
 any renderer


Attributes:
  • inject = provider:ColdBoxRenderer
true false
 any settingService


Attributes:
  • inject = id:settingService@cb
true false
 
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
 void deleteUnApprovedComments([numeric expirationDays='0'])
          Deletes unapproved comments
 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, GETORM, GETORMEVENTHANDLER, GETQUERYCACHEREGION, GETUSEQUERYCACHING, GETUSETRANSACTIONS, SETDEFAULTASQUERY, SETEVENTHANDLING, SETHQLDYNAMICCACHE, SETORM, SETORMEVENTHANDLER, SETQUERYCACHEREGION, SETUSEQUERYCACHING, SETUSETRANSACTIONS, compileHQLFromDynamicMethod, createCriteriaQuery, createService, delete, evictEntity, evictQueries, findAll, findByExample, findDynamically, findIt, getEntityGivenName, getRestrictions, merge, populate, populateFromJSON, populateFromQuery, populateFromXML, populateWithPrefix, refresh, save, saveAll, sessionContains
 
Methods inherited from class WEB-INF.cftags.component
None
 

Constructor Detail

init

public init()
Constructor

Property Detail

CBHelper

any CBHelper

Attributes:
inject - id:CBHelper@cb
required - false
serializable - true
default -

interceptorService

any interceptorService

Attributes:
inject - coldbox:interceptorService
required - false
serializable - true
default -

log

any log

Attributes:
inject - logbox:logger:{this}
required - false
serializable - true
default -

mailService

any mailService

Attributes:
inject - coldbox:plugin:MailService
required - false
serializable - true
default -

renderer

any renderer

Attributes:
inject - provider:ColdBoxRenderer
required - false
serializable - true
default -

settingService

any settingService

Attributes:
inject - id:settingService@cb
required - false
serializable - true
default -

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

deleteUnApprovedComments

public void deleteUnApprovedComments([numeric expirationDays='0'])
Deletes unapproved comments

Parameters:
expirationDays - Required level of staleness in days to delete (0=all unapproved)

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.6.0