%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/rest/definitions/
Upload File :
Create Path :
Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/rest/definitions/UserDefinitions.php

<?php
/**
 * @link https://www.humhub.org/
 * @copyright Copyright (c) 2018 HumHub GmbH & Co. KG
 * @license https://www.humhub.com/licences
 */

namespace humhub\modules\rest\definitions;

use humhub\modules\user\models\Profile;
use humhub\modules\user\models\Group;
use humhub\modules\user\models\User;
use yii\helpers\Url;


/**
 * Class AccountController
 */
class UserDefinitions
{

    public static function getUserShort(User $user)
    {
        return [
            'id' => $user->id,
            'guid' => $user->guid,
            'display_name' => $user->displayName,
            'url' => Url::to(['/', 'container' => $user], true)
        ];
    }

    public static function getUser(User $user)
    {
        return [
            'id' => $user->id,
            'guid' => $user->guid,
            'display_name' => $user->displayName,
            'url' => Url::to(['/', 'container' => $user], true),
            'account' => static::getAccount($user),
            'profile' => static::getProfile($user->profile)
        ];
    }

    public static function getProfile(Profile $profile)
    {
        $attributes = $profile->attributes;
        unset($attributes['user_id']);
        return $attributes;
    }

    public static function getAccount(User $user)
    {
        return [
            'id' => $user->id,
            'guid' => $user->guid,
            'username' => $user->username,
            'email' => $user->email,
            'visibility' => $user->visibility,
            'status' => $user->status,
            'tags' => $user->tags,
            'language' => $user->language,
            'time_zone' => $user->time_zone,
            'contentcontainer_id' => $user->contentcontainer_id,
        ];
    }

    public static function getGroup(Group $group)
    {
        return [
            'id' => $group->id,
            'name' => $group->name,
            'description' => $group->description,
            'show_at_registration' => $group->show_at_registration,
            'show_at_directory' => $group->show_at_directory,
            'sort_order' => $group->sort_order
        ];
    }
}


Zerion Mini Shell 1.0