1: <?php
2: 3: 4: 5:
6:
7: if (!defined('XOOPS_ROOT_PATH')) exit();
8:
9: require_once XOOPS_MODULE_PATH . "/user/class/ActionFrame.class.php";
10: define ('USER_USERINFO_MAXHIT', 5);
11:
12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
23: class User_UserInfoAction extends User_Action
24: {
25: var $mObject = null;
26: var $mRankObject = null;
27: var $mSearchResults = null;
28:
29: var $mSelfDelete = false;
30:
31: var $mPmliteURL = null;
32:
33: 34: 35: 36: 37: 38: 39:
40: protected function _getPagetitle()
41: {
42: return Legacy_Utils::getUserName(Legacy_Utils::getUid());
43: }
44:
45: function prepare(&$controller, &$xoopsUser, $moduleConfig)
46: {
47: $this->mSelfDelete = $moduleConfig['self_delete'];
48: }
49:
50: function isSecure()
51: {
52: return false;
53: }
54:
55: function getDefaultView(&$controller, &$xoopsUser)
56: {
57: $uid = isset($_GET['uid']) ? intval(xoops_getrequest('uid')) : 0;
58:
59: $handler =& xoops_gethandler('user');
60: $this->mObject =& $handler->get($uid);
61:
62: if (!is_object($this->mObject)) {
63: return USER_FRAME_VIEW_ERROR;
64: }
65:
66: $t_rank = xoops_getrank($this->mObject->get('rank'), $this->mObject->get('posts'));
67:
68: $rankHandler =& xoops_getmodulehandler('ranks', 'user');
69: $this->mRankObject =& $rankHandler->get($t_rank['id']);
70:
71: $root =& $controller->mRoot;
72:
73: $service =& $root->mServiceManager->getService('privateMessage');
74: if ($service != null) {
75: $client =& $root->mServiceManager->createClient($service);
76: $this->mPmliteURL = $client->call('getPmliteUrl', array('fromUid' => is_object($xoopsUser) ? $xoopsUser->get('uid') : 0, 'toUid' => $uid));
77: }
78: unset($service);
79:
80: $service =& $root->mServiceManager->getService("LegacySearch");
81: if ($service != null) {
82: $this->mSearchResults = array();
83:
84: $client =& $root->mServiceManager->createClient($service);
85:
86: $moduleArr = $client->call('getActiveModules', array());
87: $uid = $this->mObject->get('uid');
88:
89: foreach ($moduleArr as $t_module) {
90:
91: $params = array('mid' => $t_module['mid'],
92: 'uid' => $uid,
93: 'maxhit' => USER_USERINFO_MAXHIT,
94: 'start' => 0);
95:
96: $module = array('name' => $t_module['name'],
97: 'mid' => $t_module['mid'],
98: 'results' => $client->call('searchItemsOfUser', $params));
99:
100: $nresult = count($module['results']);
101: if ($nresult) {
102: $module['has_more'] = $nresult >= USER_USERINFO_MAXHIT;
103: $this->mSearchResults[] = &$module;
104: unset($module);
105: }
106: }
107: }
108:
109: return USER_FRAME_VIEW_SUCCESS;
110: }
111:
112: 113: 114: 115: 116:
117: function executeViewSuccess(&$controller, &$xoopsUser, &$render)
118: {
119: $render->setTemplateName("user_userinfo.html");
120: $render->setAttribute("thisUser", $this->mObject);
121: $render->setAttribute("rank", $this->mRankObject);
122:
123: $render->setAttribute('pmliteUrl', $this->mPmliteURL);
124:
125: $userSignature = $this->mObject->getShow('user_sig');
126:
127: $render->setAttribute('user_signature', $userSignature);
128:
129: $render->setAttribute("searchResults", $this->mSearchResults);
130:
131:
132:
133:
134: $user_ownpage = (is_object($xoopsUser) && $xoopsUser->get('uid') == $this->mObject->get('uid'));
135: $render->setAttribute("user_ownpage", $user_ownpage);
136:
137:
138:
139:
140: $render->setAttribute('self_delete', $this->mSelfDelete);
141: if ($user_ownpage && $this->mSelfDelete) {
142: $render->setAttribute('enableSelfDelete', true);
143: }
144: else {
145: $render->setAttribute('enableSelfDelete', false);
146: }
147: }
148:
149: function executeViewError(&$controller, &$xoopsUser, &$render)
150: {
151: $controller->executeForward(XOOPS_URL . '/user.php');
152: }
153: }
154:
155: ?>
156: