Merge pull request #97 from arambalakjian/pulls/controller-instantiation

API Adding config option for enabling comments to be added to SiteTree
This commit is contained in:
Daniel Hensby 2015-04-01 13:04:54 +01:00
commit 882c65fdd5
3 changed files with 14 additions and 8 deletions

View File

@ -26,6 +26,6 @@
* consult the Commenting class.
*/
if(class_exists('SiteTree') && !Commenting::has_commenting('SiteTree')) {
if(Config::inst()->get('Commenting', 'sitetree_comments') && class_exists('SiteTree') && !Commenting::has_commenting('SiteTree')) {
Commenting::add('SiteTree');
}
}

View File

@ -13,12 +13,18 @@
*/
class Commenting {
/**
* @var array map of enabled {@link DataObject} and related configuration
*/
private static $enabled_classes = array();
/**
* @config
* @var bool Whether to enable commenting on SiteTree objects by default
*/
private static $sitetree_comments = true;
/**
* @var array default configuration values
*/

View File

@ -107,17 +107,17 @@ class CommentsExtension extends DataExtension {
// do not include the comments on pages which don't have id's such as security pages
if($this->owner->ID < 0) return false;
$controller = new CommentingController();
$controller = CommentingController::create();
$controller->setOwnerRecord($this->owner);
$controller->setBaseClass($this->ownerBaseClass);
$controller->setOwnerController(Controller::curr());
$moderatedSubmitted = Session::get('CommentsModerated');
Session::clear('CommentsModerated');
$form = ($enabled) ? $controller->CommentsForm() : false;
// a little bit all over the show but to ensure a slightly easier upgrade for users
// return back the same variables as previously done in comments
return $interface->process(new ArrayData(array(