|
|
|
<?php
|
|
|
|
|
|
|
|
namespace core\helpers;
|
|
|
|
|
|
|
|
use core\entities\user\User;
|
|
|
|
use core\repositories\user\UserRepository;
|
|
|
|
use yii\helpers\ArrayHelper;
|
|
|
|
use yii\helpers\Html;
|
|
|
|
use yii\helpers\Json;
|
|
|
|
use Yii;
|
|
|
|
|
|
|
|
class UserHelper
|
|
|
|
{
|
|
|
|
public static function statusList(): array
|
|
|
|
{
|
|
|
|
return [
|
|
|
|
User::STATUS_WAIT => Yii::t('user', 'Wait'),
|
|
|
|
User::STATUS_ACTIVE => Yii::t('user', 'Active'),
|
|
|
|
];
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function statusName($status): string
|
|
|
|
{
|
|
|
|
return ArrayHelper::getValue(self::statusList(), $status);
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function statusLabel($status): string
|
|
|
|
{
|
|
|
|
switch ($status) {
|
|
|
|
case User::STATUS_WAIT:
|
|
|
|
$class = 'label label-default';
|
|
|
|
break;
|
|
|
|
case User::STATUS_ACTIVE:
|
|
|
|
$class = 'label label-success';
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
$class = 'label label-default';
|
|
|
|
}
|
|
|
|
|
|
|
|
return Html::tag('span', ArrayHelper::getValue(self::statusList(), $status), [
|
|
|
|
'class' => $class,
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function getSetting($key, $default = null)
|
|
|
|
{
|
|
|
|
$settings = Json::decode(\Yii::$app->user->identity->user->settings, true);
|
|
|
|
return isset($settings[$key]) ? $settings[$key] : $default;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function setSetting($key, $value)
|
|
|
|
{
|
|
|
|
$settings = Json::decode(\Yii::$app->user->identity->user->settings, true);
|
|
|
|
$settings[$key] = $value;
|
|
|
|
|
|
|
|
$user = User::findOne(\Yii::$app->user->id);
|
|
|
|
|
|
|
|
if ($user) {
|
|
|
|
$user->settings = Json::encode($settings);
|
|
|
|
$user->save();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|