24 public $mOldAvatar =
null;
26 public function prepare(&$controller, &$xoopsUser, $moduleConfig)
28 parent::prepare($controller, $xoopsUser, $moduleConfig);
30 $handler =& xoops_getmodulehandler(
'avatar',
'user');
31 $criteria =
new Criteria(
'avatar_file', $xoopsUser->get(
'user_avatar'));
32 $avatarArr =& $handler->getObjects($criteria);
33 if ((is_countable($avatarArr) ? count($avatarArr) : 0) > 0) {
34 $this->mOldAvatar =& $avatarArr[0];
40 return isset($_REQUEST[
'uid']) ? (int)xoops_getrequest(
'uid') : 0;
45 $handler =& xoops_getmodulehandler(
'users',
'user');
52 $this->mActionForm->prepare();
68 public function isSecure()
83 public function hasPermission(&$controller, &$xoopsUser, $moduleConfig)
85 if (!is_object($this->mObject)) {
89 if ($controller->mRoot->mContext->mUser->isInRole(
'Module.user.Admin')) {
91 } elseif ($this->mObject->get(
'uid') == $xoopsUser->get(
'uid')) {
92 return ($this->mObject->get(
'posts') >= $this->_mMinPost);
100 if ($this->mObjectHandler->insert($this->mObject)) {
101 $avatarHandler =& xoops_getmodulehandler(
'avatar',
'user');
106 if (
null != $this->mOldAvatar &&
'C' == $this->mOldAvatar->get(
'avatar_type')) {
107 $avatarHandler->delete($this->mOldAvatar);
113 $linkHandler =& xoops_getmodulehandler(
'avatar_user_link',
'user');
114 $linkHandler->deleteAllByUser($this->mObject);
119 $criteria =
new Criteria(
'avatar_file', $this->mObject->get(
'user_avatar'));
120 $avatarArr =& $avatarHandler->getObjects($criteria);
121 if (is_array($avatarArr) && is_object($avatarArr[0])) {
122 $link =& $linkHandler->create();
123 $link->set(
'avatar_id', $avatarArr[0]->
get(
'avatar_id'));
124 $link->set(
'user_id', $this->mObject->get(
'uid'));
125 $linkHandler->insert($link);
137 public function getDefaultView(&$controller, &$xoopsUser)
139 $controller->executeForward(XOOPS_URL .
'/edituser.php?op=avatarform&uid=' . $this->mObject->get(
'uid'));
142 public function executeViewSuccess(&$controller, &$xoopsUser, &$renderSystem)
144 $controller->executeForward(XOOPS_URL .
'/userinfo.php?op=avatarform&uid=' . $this->mActionForm->get(
'uid'));
147 public function executeViewError(&$controller, &$xoopsUser, &$renderSystem)
149 $controller->executeRedirect(XOOPS_URL .
'/userinfo.php?op=avatarform&uid=' . $this->mActionForm->get(
'uid'), 1, _MD_USER_ERROR_DBUPDATE_FAILED);