Yii::t('user', 'Забанен'), self::STATUS_NEW => Yii::t('user', 'Новый'), self::STATUS_ACTIVE => Yii::t('user', 'Активен'), ]; if ($status) { return isset($statusList[$status]) ? $statusList[$status] : null; } return $statusList; } public static function typeList(): array { return [ self::TYPE_ADMIN, self::TYPE_CUSTOMER, self::TYPE_EMPLOYEE, ]; } public static function clientTypeList(): array { return [ self::TYPE_CUSTOMER, self::TYPE_EMPLOYEE, ]; } public static function typeNameList($type = null): array|string|null { $typeNames = [ self::TYPE_ADMIN => Yii::t('user', 'Администратор'), self::TYPE_CUSTOMER => Yii::t('user', 'Заказчик'), self::TYPE_EMPLOYEE => Yii::t('user', 'Сотрудник'), ]; if ($type) { return isset($typeNames[$type]) ? $typeNames[$type] : null; } return $typeNames; } public static function roleList(): array { return [ self::ROLE_ADMIN, self::ROLE_SUPERVISOR, self::ROLE_CUSTOMER, self::ROLE_MANAGER, ]; } public static function roleNameList($role = null) { $roleNames = [ self::ROLE_ADMIN => Yii::t('user', 'Администратор'), self::ROLE_SUPERVISOR => Yii::t('user', 'Супервайзер'), self::ROLE_CUSTOMER => Yii::t('user', 'Заказчик'), self::ROLE_MANAGER => Yii::t('user', 'Контент менеджер'), ]; if ($role) { return isset($roleNames[$role]) ? $roleNames[$role] : null; } return $roleNames; } public function locationPhoneCodes($country = null) { $phoneCodes = [ 'rus' => '+7', 'blr' => '+375', 'kaz' => '+7', 'arm' => '+374', 'kgz' => '+996', ]; if ($country) { return isset($phoneCodes[$country]) ? $phoneCodes[$country] : null; } return $phoneCodes; } public static function locationNames($country = null) { $countryNames = [ 'rus' => Yii::t('user', 'Россия'), 'blr' => Yii::t('user', 'Белоруссия'), 'kaz' => Yii::t('user', 'Казахстан'), 'arm' => Yii::t('user', 'Армения'), 'kgs' => Yii::t('user', 'Кыргызстан'), ]; if ($country) { return isset($countryNames[$country]) ? $countryNames[$country] : null; } return $countryNames; } public static function phoneRuFormat($phone) { $phone = trim($phone); $result = preg_replace( [ '/[\+]?([7|8])[-|\s]?\([-|\s]?(\d{3})[-|\s]?\)[-|\s]?(\d{3})[-|\s]?(\d{2})[-|\s]?(\d{2})/', '/[\+]?([7|8])[-|\s]?(\d{3})[-|\s]?(\d{3})[-|\s]?(\d{2})[-|\s]?(\d{2})/', '/[\+]?([7|8])[-|\s]?\([-|\s]?(\d{4})[-|\s]?\)[-|\s]?(\d{2})[-|\s]?(\d{2})[-|\s]?(\d{2})/', '/[\+]?([7|8])[-|\s]?(\d{4})[-|\s]?(\d{2})[-|\s]?(\d{2})[-|\s]?(\d{2})/', '/[\+]?([7|8])[-|\s]?\([-|\s]?(\d{4})[-|\s]?\)[-|\s]?(\d{3})[-|\s]?(\d{3})/', '/[\+]?([7|8])[-|\s]?(\d{4})[-|\s]?(\d{3})[-|\s]?(\d{3})/', ], [ '+7$2$3$4$5', '+7$2$3$4$5', '+7$2$3$4$5', '+7$2$3$4$5', '+7$2$3$4', '+7$2$3$4', ], $phone ); $result = preg_replace('~\\D+~u', '', $result); return $result; } }