1: <?php
2: /**
3: *
4: * @package Legacy
5: * @version $Id: modifier.xoops_user.php,v 1.3 2008/09/25 15:12:36 kilica Exp $
6: * @copyright Copyright 2005-2007 XOOPS Cube Project <https://github.com/xoopscube/legacy>
7: * @license https://github.com/xoopscube/legacy/blob/master/docs/GPL_V2.txt GNU GENERAL PUBLIC LICENSE Version 2
8: *
9: */
10:
11: /*
12: * Smarty plugin
13: * -------------------------------------------------------------
14: * Type: modifier
15: * Name: xoops_user
16: * Purpose: Adapter for XoopsUserObject::getVar with using $uid parameter.
17: * Input: uid : user id
18: * key : XoopsUserObject/Profile_DataObject property name OR user_name
19: * flag: Enum(Profile_ActionType)
20: * If you set 0, you can get raw value.
21: * If you set 2, you can get escaped value.
22: * -------------------------------------------------------------
23: */
24: function smarty_modifier_xoops_user($uid, $key, $flag=2)
25: {
26: require_once XOOPS_MODULE_PATH.'/profile/class/handler/Definitions.class.php';
27: $handler = xoops_gethandler('member');
28: $user= $handler->getUser(intval($uid));
29: if(in_array($key, Profile_DefinitionsHandler::getReservedNameList())){
30: if($key=='user_name'){
31: return Legacy_Utils::getUserName($uid);
32: }
33: if(is_object($user) && $user->isActive()) {
34: return ($flag==2) ? $user->getShow($key) : $user->get($key);
35: }
36: }
37: else{
38: $profileHandler = Legacy_Utils::getModuleHandler('data', 'profile');
39: $profile = $profileHandler->get($uid);
40: if(is_object($profile) && is_object($user) && $user->isActive()) {
41: return $profile->showField($key, $flag);
42: }
43: }
44:
45: return null;
46: }
47:
48: ?>
49: