Obtendo detalhes do usuário com uma aplicação de terceiros no HumHub

Eu estou construindo um webinar personalizado para o humhub. Estou usando os módulos Custom_pages ( https://www.humhub.org/marketplace/details?id=13 ) Como posso obter os detalhes do usuário do usuário conectado no meu aplicativo?

Alguém me deu esse código para tentar

//plug in to Yii application require_once('../protected/vendors/yii/yii.php'); Yii::createWebApplication('../protected/config/main.php'); //------------------ //print_r(Yii::app()); echo "
"; //check if user is logged in (not a guest) if(!Yii::app()->user->isGuest) { //if logged in, display the username and ID echo "Logged In."; echo "
"; echo "Username: ".Yii::app()->user->name; echo "
"; echo "User ID: ".Yii::app()->user->id; } else { //if not logged in, display username (Guest) echo "Not Logged In."; echo "
"; echo "Username: ".Yii::app()->user->name; }

Mas, por algum motivo, a line 3 faz com que a página não seja carregada. Se eu comentar, a página carrega, mas Yii está vazio.

Existe alguma maneira de obter os detalhes do usuário do usuário conectado neste aplicativo de terceiros?

Qualquer abordagem será apreciada

Usei seu código e funcionou bem para mim, no entanto, eu precisava modificá-lo para as minhas necessidades. Talvez minhas modificações funcionem para você.

  < ?PHP //this script gets the id and email "as name" from hum hub require_once('../humhub-master/protected/vendors/yii/yii.php'); Yii::createWebApplication('../humhub-master/protected/config/main.php'); //I create these vars to use in my custom pages $hum_uid=Yii::app()->user->id; $hum_name=Yii::app()->user->name; // this should get me a real username $servername = "******"; $username = "******"; $password = "*****"; $dbname = "humhub"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT id, username FROM user WHERE id='$hum_uid'"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { $hum_username = $row["username"]; echo $hum_username; } } else { echo "0 results"; } ?> 

Coloquei isso no topo de uma página personalizada do iframe no humhub. Quando você precisa do nome de usuário, use apenas $ hum_username.

Usando sql select você pode obter qualquer coisa que você deseja sair da tabela do usuário no database WHERE id = ‘$ hum_uid’

Muito mais fácil:

 $userUsername = Yii::$app->user->identity->username; 

Outros vars úteis:

 $userDisplayName = Yii::$app->user->identity->getDisplayName(); $userAttributesArray = Yii::$app->user->identity->getSearchAttributes(); // all profile fields and groups $userIsGuest = Yii::$app->user->isGuest; // true = loggedOut, false = loggedIn $userIsAdmin = \humhub\modules\admin\widgets\AdminMenu::canAccess();