通过$ this-> logged_user获取activecollab中登录的用户数据

时间:2012-05-17 10:05:46

标签: php activecollab user-data user-object

我正在使用activecollab的自定义模块,我需要知道如何在下面的对象的帮助下获取登录的用户数据

$this->logged_user 

或者如果有人有其他方法来抓取登录用户那么请知道,我只想在我的页面上打印登录的用户信息/数据

修改:

当我在模型中使用此对象时,它无法为我工作,所以任何人都知道登录用户的任何对象?通过这个我可以获取记录的用户ID或其他东西;并且可以在模型中使用该对象吗?

4 个答案:

答案 0 :(得分:2)

最后得到了解决方案......

在activecollab中,您可以在没有用户对象的任何地方通过此行获取登录的用户对象$this->logged_user

$this->logged_user = Authentication::getLoggedUser();

并登录用户可以使用的其他基本信息:

$this->logged_user->getId()
$this->logged_user->getName()
$this->logged_user->getDisplayName()
$this->logged_user->getEmail()
$this->logged_user->getCompany()
$this->logged_user->isAdministrator()
$this->logged_user->getLanguage()

答案 1 :(得分:1)

这似乎是解决问题。不过,以下是其他人偶然发现这个问题的说明:

  1. $this->logged_user仅适用于控制器,但不适用于型号
  2. $logged_user在视图中可用,因此您可以使用以下内容:{$logged_user->getFirstName(true)|clean}
  3. 其他地方,请使用Authentication::getLoggedUser()

答案 2 :(得分:0)

我假设你有代码来存储登录的用户信息。

在这种情况下你应该回应它。

例如:

echo $this->logged_user; 

如果您还没有实现在此后面运行的代码,那么它将无法正常工作。如果您需要更多信息,请提供更多代码。

根据新信息修改答案

现在我知道这是一个积极的合作项目,我将在那个背景下解释。

object ActiveCollab::findUserById( int $user_id)

这将获得一个基于userID的用户对象,但是设置的所有方法都不会被写入并且不能读取。

要阅读,您可以使用API​​。有关如何执行此操作的详细信息,请访问:http://www.activecollab.com/docs/manuals/developers/api/companies-and-users

API请求能够处理读取和写入操作。

答案 3 :(得分:0)

使用

echo $this->logged_user;

打印变量。