mirror of
https://github.com/humhub/humhub.git
synced 2025-02-19 23:54:54 +01:00
Added MyMembership info widget
This commit is contained in:
parent
f2f05b2531
commit
5c0c9438cc
45
protected/humhub/modules/space/widgets/MyMembership.php
Normal file
45
protected/humhub/modules/space/widgets/MyMembership.php
Normal file
@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace humhub\modules\space\widgets;
|
||||
|
||||
|
||||
use humhub\modules\space\models\Membership;
|
||||
use humhub\modules\space\models\Space;
|
||||
use humhub\widgets\TimeAgo;
|
||||
use Yii;
|
||||
use yii\base\Widget;
|
||||
|
||||
class MyMembership extends Widget
|
||||
{
|
||||
/** @var Space */
|
||||
public $space;
|
||||
|
||||
public function run()
|
||||
{
|
||||
$membership = Membership::find()->where([
|
||||
'space_id' => $this->space->id,
|
||||
'user_id' => Yii::$app->user->id,
|
||||
'status' => Membership::STATUS_MEMBER
|
||||
])->one();
|
||||
|
||||
return $this->render('myMembership', [
|
||||
'role' => $this->space->getUserGroup(),
|
||||
'permissions' => $this->getPermissions(),
|
||||
'memberSince' => empty($membership) ? '-' : TimeAgo::widget(['timestamp' => $membership->created_at])
|
||||
]);
|
||||
}
|
||||
|
||||
public function getPermissions()
|
||||
{
|
||||
$userPermissions = [];
|
||||
$permissions = $this->space->permissionManager->getPermissions();
|
||||
$group_id = $this->space->getUserGroup();
|
||||
foreach ($permissions as $permission) {
|
||||
if ($this->space->permissionManager->getGroupState($group_id, $permission))
|
||||
$userPermissions[] = $permission->title;
|
||||
}
|
||||
|
||||
return $userPermissions;
|
||||
}
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
use humhub\widgets\PanelMenu;
|
||||
|
||||
/**
|
||||
* @var string $role
|
||||
* @var array $permissions
|
||||
* @var string $memberSince
|
||||
*/
|
||||
?>
|
||||
|
||||
<div class="panel panel-default panel-my-membership" id="my-membership-panel">
|
||||
<?= PanelMenu::widget(['id' => 'space-my-membership-panel']); ?>
|
||||
<div class="panel-heading"><?= Yii::t('SpaceModule.base', '<strong>My Membership Info</strong>'); ?></div>
|
||||
<div class="panel-body">
|
||||
<div><b><?= Yii::t('SpaceModule.base', 'Current Role') ?>: </b><?= ucfirst($role) ?></div>
|
||||
<div><b><?= Yii::t('SpaceModule.base', 'Permissions') ?>: </b>
|
||||
<div><?= empty($permissions) ? '-' : implode(", ", $permissions) ?></div>
|
||||
</div>
|
||||
<div><b><?= Yii::t('SpaceModule.base', 'Member Since') ?>: </b><?= $memberSince ?></div>
|
||||
</div>
|
||||
</div>
|
Loading…
x
Reference in New Issue
Block a user