20 private array $blackuser = [];
23 public function execute()
25 $this->setUrl(
'index.php?action=blacklist');
26 $modobj = $this->getSettings();
27 $uid = (int)$this->root->mContext->mRequest->getRequest(
'uid');
29 $this->addblklist($modobj, $uid);
31 switch ($this->root->mContext->mRequest->getRequest(
'cmd')) {
33 $modHand = xoops_getmodulehandler(
'settings', _MY_DIRNAME);
34 $uid = $modHand->getuidTouname($this->root->mContext->mRequest->getRequest(
'uname'));
36 $this->addblklist($modobj, $uid);
38 $this->setErr(_MD_MESSAGE_SETTINGS_MSG19);
42 $this->delblklist($modobj);
45 if (
'' !== $modobj->get(
'blacklist')) {
46 $blusers = explode(
',', $modobj->get(
'blacklist'));
47 foreach ($blusers as $bluid) {
48 $this->blackuser[$bluid] = $this->getLinkUnameFromId($bluid);
54 $this->mService = $this->root->mServiceManager->getService(
'UserSearch');
57 private function delblklist($modobj)
59 $deluid = $this->root->mContext->mRequest->getRequest(
'deluid');
60 if (!is_array($deluid) || 0 === count($deluid)) {
61 $this->setErr(_MD_MESSAGE_DELETEMSG2);
66 if (!empty($deluid) && is_array($deluid)) {
67 $modHand = xoops_getmodulehandler(
'settings', _MY_DIRNAME);
68 $lists = explode(
',', $modobj->get(
'blacklist'));
69 foreach ($lists as $auid) {
70 if (!in_array($auid, $deluid,
true) && $modHand->chkUser($auid)) {
74 if (is_array($adduid)) {
75 $modobj->set(
'blacklist', implode(
',', $adduid));
77 $modobj->set(
'blacklist',
'');
79 if ($modHand->insert($modobj)) {
80 $this->setErr(_MD_MESSAGE_SETTINGS_MSG16);
82 $this->setErr(_MD_MESSAGE_SETTINGS_MSG17);
87 private function addblklist($modobj, $uid)
89 $modHand = xoops_getmodulehandler(
'settings', _MY_DIRNAME);
90 $blackuser = $this->getLinkUnameFromId($uid);
91 $lists = explode(
',', $modobj->get(
'blacklist'));
92 if (in_array($uid, $lists,
true)) {
96 if (
'' === $lists[0]) {
97 $modobj->set(
'blacklist', $uid);
100 $modobj->set(
'blacklist', implode(
',', $lists));
102 if ($modHand->insert($modobj,
true)) {
109 public function executeView(&$render)
111 $render->setTemplateName(
'message_blaclist.html');
112 $render->setAttribute(
'blackuser', $this->blackuser);
113 $render->setAttribute(
'UserSearch', $this->mService);
114 $render->setAttribute(
'message_url', XOOPS_URL.
'/modules/message/index.php');