XCL Web Application Platform 2.5.0
The XoopsCube Legacy Project
Loading...
Searching...
No Matches
indexAction.class.php
1<?php
12
13if (!defined('XOOPS_ROOT_PATH')) {
14 exit();
15}
16
17require _MY_MODULE_PATH.'kernel/MyPageNavi.class.php';
18
20{
21 private ?array $listdata = null;
22 private ?\MyPageNavi $mPagenavi = null;
23 private $select;
24 private $subject = '';
25 private $status = '';
26 private $mService;
27
28 private function _view()
29 {
30 $fromuid = 0;
31 $setting = $this->getSettings();
32 if ($setting->get('pagenum') > 0) {
33 $pagenum = $setting->get('pagenum');
34 } else {
35 $pagenum = $this->root->mContext->mModuleConfig['pagenum'];
36 }
37 $modHand = xoops_getmodulehandler('inbox', _MY_DIRNAME);
38 $this->mPagenavi = new MyPageNavi($modHand);
39 $this->mPagenavi->setUrl($this->url);
40 $this->mPagenavi->setPagenum($pagenum);
41 $this->mPagenavi->addSort('utime', 'DESC');
42 $this->mPagenavi->addCriteria(new Criteria('uid', $this->root->mContext->mXoopsUser->get('uid')));
43 if ('POST' === $_SERVER['REQUEST_METHOD']) {
44 $fromuid = (int)$this->root->mContext->mRequest->getRequest('fromuid');
45 if ($fromuid > 0) {
46 $this->mPagenavi->addCriteria(new Criteria('from_uid', $fromuid));
47 }
48 $this->subject = $this->root->mContext->mRequest->getRequest('subject');
49 if ('' !== $this->subject) {
50 $this->mPagenavi->addCriteria(new Criteria('title', '%'.$this->subject.'%', 'LIKE'));
51 }
52 $this->status = $this->root->mContext->mRequest->getRequest('status');
53 if ('' !== $this->status) {
54 $this->status = (int)$this->status;
55 $this->mPagenavi->addCriteria(new Criteria('is_read', $this->status));
56 }
57 }
58 $this->mPagenavi->fetch();
59 $this->select = $modHand->getSendUserList($this->root->mContext->mXoopsUser->get('uid'), $fromuid);
60 $modObj = $modHand->getObjects($this->mPagenavi->getCriteria());
61
62 foreach ($modObj as $key => $val) {
63 foreach (array_keys($val->gets()) as $var_name) {
64 $item_ary[$var_name] = $val->getShow($var_name);
65 }
66 $item_ary['fromname'] = $this->getLinkUnameFromId($item_ary['from_uid'], $item_ary['uname']);
67 $this->listdata[] = $item_ary;
68 unset($item_ary);
69 }
70 // service UserSearch
71 $this->mService = $this->root->mServiceManager->getService('UserSearch');
72 }
73
74 public function execute()
75 {
76 if ($this->chk_use()) {
77 $this->_view();
78 } else {
79 $this->setUrl('index.php?action=settings');
80 $this->setErr(_MD_MESSAGE_SETTINGS_MSG5);
81 }
82 }
83
84 public function executeView(&$render)
85 {
86 $render->setTemplateName('message_inboxlist.html');
87 $render->setAttribute('ListData', $this->listdata);
88 $render->setAttribute('pageNavi', $this->mPagenavi->mNavi);
89 $render->setAttribute('select', $this->select);
90 $render->setAttribute('subject', $this->subject);
91 $render->setAttribute('status', $this->status);
92 $render->setAttribute('UserSearch', $this->mService);
93 $render->setAttribute('message_url', XOOPS_URL.'/modules/message/index.php');
94 }
95}