1. Go to this page and download the library: Download rmrevin/yii2-comments library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
class User extends \yii\db\ActiveRecord
implements
\yii\web\IdentityInterface,
\rmrevin\yii\module\Comments\interfaces\CommentatorInterface
{
// ...
public function getCommentatorAvatar()
{
return $this->avatar_url;
}
public function getCommentatorName()
{
return $this->name;
}
public function getCommentatorUrl()
{
return ['/profile', 'id' => $this->id]; // or false, if user does not have a public page
}
// ...
}
use \rmrevin\yii\module\Comments\Permission;
use \rmrevin\yii\module\Comments\rbac\ItsMyComment;
$AuthManager = \Yii::$app->getAuthManager();
$ItsMyCommentRule = new ItsMyComment();
$AuthManager->add($ItsMyCommentRule);
$AuthManager->add(new \yii\rbac\Permission([
'name' => Permission::CREATE,
'description' => 'Can create own comments',
]));
$AuthManager->add(new \yii\rbac\Permission([
'name' => Permission::UPDATE,
'description' => 'Can update all comments',
]));
$AuthManager->add(new \yii\rbac\Permission([
'name' => Permission::UPDATE_OWN,
'ruleName' => $ItsMyCommentRule->name,
'description' => 'Can update own comments',
]));
$AuthManager->add(new \yii\rbac\Permission([
'name' => Permission::DELETE,
'description' => 'Can delete all comments',
]));
$AuthManager->add(new \yii\rbac\Permission([
'name' => Permission::DELETE_OWN,
'ruleName' => $ItsMyCommentRule->name,
'description' => 'Can delete own comments',
]));
// ...
use rmrevin\yii\module\Comments;
echo Comments\widgets\CommentListWidget::widget([
'entity' => (string) 'photo-15', // type and id
]);