You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							63 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
	
	
							63 lines
						
					
					
						
							1.6 KiB
						
					
					
				<?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(); | 
						|
        } | 
						|
    } | 
						|
}
 | 
						|
 |