XCL Web Application Platform 2.5.0
The XoopsCube Legacy Project
Loading...
Searching...
No Matches
message_block.class.php
1<?php
12
13if (!defined('XOOPS_ROOT_PATH')) {
14 exit();
15}
16
18{
19// public function __construct(&$block)
20// {
21// parent::__construct($block);
22// }
23
24 public function prepare()
25 {
26 }
27
28 public function getTitle()
29 {
30 return _MI_MESSAGE_NAME;
31 }
32
33 public function isDisplay()
34 {
35 $root = XCube_Root::getSingleton();
36 return $root->mContext->mUser->isInRole('Site.RegisteredUser');
37 }
38
39 public function execute()
40 {
41 if (!$this->isDisplay()) {
42 return;
43 }
44 $root = XCube_Root::getSingleton();
45 $root->mLanguageManager->loadModinfoMessageCatalog(basename(dirname(__DIR__)));
46 $root->mLanguageManager->loadModuleMessageCatalog(basename(dirname(__DIR__)));
47
48 $render = $this->getRenderTarget();
49 $render->setTemplateName($this->_mBlock->get('template'));
50 $render->setAttribute('mid', $this->_mBlock->get('mid'));
51 $render->setAttribute('bid', $this->_mBlock->get('bid'));
52
53 $service = $root->mServiceManager->getService('privateMessage');
54 $uid = $root->mContext->mXoopsUser->get('uid');
55 if ($service !== null) {
56 $client = $root->mServiceManager->createClient($service);
57 $render->setAttribute('block', $client->call('getCountUnreadPM', ['uid' => $uid]));
58 }
59
60 if ($root->mServiceManager->getService('UserSearch') !== null) {
61 $render->setAttribute('UserSearch', true);
62 }
63
64 $modHand = xoops_getmodulehandler('inbox', 'message');
65 $render->setAttribute('incount', $modHand->getInboxCount($uid));
66
67 $modHand = xoops_getmodulehandler('outbox', 'message');
68 $render->setAttribute('outcount', $modHand->getOutboxCount($uid));
69 $render->setAttribute('message_url', XOOPS_URL.'/modules/message/index.php');
70 $renderSystem = $root->getRenderSystem($this->getRenderSystemName());
71 $renderSystem->renderBlock($render);
72 }
73}