1: <?php
2: if (!defined('XOOPS_ROOT_PATH')) exit();
3: require _MY_MODULE_PATH.'kernel/MyPageNavi.class.php';
4:
5: class indexAction extends AbstractAction
6: {
7: private $listdata;
8: private $mPagenavi = null;
9: private $select;
10: private $subject = "";
11: private $status = "";
12:
13: public function __construct()
14: {
15: parent::__construct();
16: }
17:
18: private function _view()
19: {
20: $fromuid = 0;
21: $setting = $this->getSettings();
22: if ( $setting->get('pagenum') > 0 ) {
23: $pagenum = $setting->get('pagenum');
24: } else {
25: $pagenum = $this->root->mContext->mModuleConfig['pagenum'];
26: }
27: $modHand = xoops_getmodulehandler('inbox', _MY_DIRNAME);
28: $this->mPagenavi = new MyPageNavi($modHand);
29: $this->mPagenavi->setUrl($this->url);
30: $this->mPagenavi->setPagenum($pagenum);
31: $this->mPagenavi->addSort('utime', 'DESC');
32: $this->mPagenavi->addCriteria(new Criteria('uid', $this->root->mContext->mXoopsUser->get('uid')));
33: if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
34: $fromuid = intval($this->root->mContext->mRequest->getRequest('fromuid'));
35: if ( $fromuid > 0 ) {
36: $this->mPagenavi->addCriteria(new Criteria('from_uid', $fromuid));
37: }
38: $this->subject = $this->root->mContext->mRequest->getRequest('subject');
39: if ( $this->subject != "" ) {
40: $this->mPagenavi->addCriteria(new Criteria('title', '%'.$this->subject.'%', 'LIKE'));
41: }
42: $this->status = $this->root->mContext->mRequest->getRequest('status');
43: if ( $this->status !== "" ) {
44: $this->status = intval($this->status);
45: $this->mPagenavi->addCriteria(new Criteria('is_read', $this->status));
46: }
47: }
48: $this->mPagenavi->fetch();
49: $this->select = $modHand->getSendUserList($this->root->mContext->mXoopsUser->get('uid'), $fromuid);
50: $modObj = $modHand->getObjects($this->mPagenavi->getCriteria());
51:
52: foreach ($modObj as $key => $val) {
53: foreach ( array_keys($val->gets()) as $var_name ) {
54: $item_ary[$var_name] = $val->getShow($var_name);
55: }
56: $item_ary['fromname'] = $this->getLinkUnameFromId($item_ary['from_uid'], $item_ary['uname']);
57: $this->listdata[] = $item_ary;
58: unset($item_ary);
59: }
60: }
61:
62: public function execute()
63: {
64: if ( $this->chk_use() ) {
65: $this->_view();
66: } else {
67: $this->setUrl('index.php?action=settings');
68: $this->setErr(_MD_MESSAGE_SETTINGS_MSG5);
69: }
70: }
71:
72: public function executeView(&$render)
73: {
74: $render->setTemplateName('message_inboxlist.html');
75: $render->setAttribute('ListData', $this->listdata);
76: $render->setAttribute('pageNavi', $this->mPagenavi->mNavi);
77: $render->setAttribute('select', $this->select);
78: $render->setAttribute('subject', $this->subject);
79: $render->setAttribute('status', $this->status);
80: }
81: }
82: ?>
83: