31 public $mGroup =
null;
37 public $mPageNavi =
null;
43 public $mNoPageNavi =
null;
45 public $mActionForm =
null;
47 public function prepare(&$controller, &$xoopsUser, $moduleConfig)
53 $this->mActionForm->prepare();
56 public function getDefaultView(&$controller, &$xoopsUser)
59 if (!is_object($this->mGroup)) {
60 return USER_FRAME_VIEW_ERROR;
63 $memberHandler =& xoops_gethandler(
'member');
64 $groupid = $this->mGroup->getVar(
'groupid');
69 $total = $memberHandler->getUserCountByGroup($groupid);
71 $this->mPageNavi =
new XCube_PageNavigator(
'./index.php?action=GroupMember', XCUBE_PAGENAVI_START | XCUBE_PAGENAVI_PERPAGE);
72 $this->mPageNavi->setTotalItems($total);
73 $this->mPageNavi->addExtra(
'groupid', $groupid);
74 $this->mPageNavi->setPerpage(USER_GROUPMEMBER_DEFAULT_PERPAGE);
76 $this->mPageNavi->fetch();
78 $this->mUsers =& $memberHandler->getUsersByGroup($groupid,
true, $this->mPageNavi->getPerpage(), $this->mPageNavi->getStart());
83 $total = $memberHandler->getUserCountByNoGroup($groupid);
85 $this->mNoPageNavi=
new XCube_PageNavigator(
'./index.php?action=GroupMember', XCUBE_PAGENAVI_START | XCUBE_PAGENAVI_PERPAGE);
86 $this->mNoPageNavi->setTotalItems($total);
87 $this->mNoPageNavi->addExtra(
'groupid', $groupid);
88 $this->mNoPageNavi->setPrefix(
'no');
89 $this->mNoPageNavi->setPerpage(USER_GROUPMEMBER_DEFAULT_PERPAGE);
91 $this->mNoPageNavi->fetch();
93 $this->mNoUsers =& $memberHandler->getUsersByNoGroup($groupid,
true, $this->mNoPageNavi->getPerpage(), $this->mNoPageNavi->getStart());
95 return USER_FRAME_VIEW_INDEX;
98 public function execute(&$controller, &$xoopsUser)
101 if (!is_object($this->mGroup)) {
102 return USER_FRAME_VIEW_ERROR;
105 $this->mActionForm->fetch();
106 $this->mActionForm->validate();
108 if ($this->mActionForm->hasError()) {
109 return $this->getDefaultView($controller, $xoopsUser);
112 $memberHandler =& xoops_gethandler(
'member');
113 $userHandler =& xoops_getmodulehandler(
'users');
115 foreach ($this->mActionForm->get(
'uid') as $uid => $value) {
116 $user =& $userHandler->get($uid);
118 if (is_object($user)) {
120 $memberHandler->addUserToGroup($this->mGroup->get(
'groupid'), $uid);
121 } elseif (2 == $value) {
122 $memberHandler->removeUserFromGroup($this->mGroup->get(
'groupid'), $uid);
127 return $this->getDefaultView($controller, $xoopsUser);
130 public function _loadGroup()
132 if (!is_object($this->mGroup)) {
133 $id = xoops_getrequest(
'groupid');
135 $handler =& xoops_getmodulehandler(
'groups');
136 $this->mGroup =& $handler->get($id);
140 public function executeViewIndex(&$controller, &$xoopsUser, &$render)
142 $render->setTemplateName(
'group_member.html');
143 $render->setAttribute(
'group', $this->mGroup);
145 $render->setAttribute(
'users', $this->mUsers);
146 $render->setAttribute(
'pageNavi', $this->mPageNavi);
148 $render->setAttribute(
'noUsers', $this->mNoUsers);
149 $render->setAttribute(
'noPageNavi', $this->mNoPageNavi);
151 $render->setAttribute(
'actionForm', $this->mActionForm);