XCL Web Application Platform 2.5.0
The XoopsCube Legacy Project
Loading...
Searching...
No Matches
MailjobEditAction.class.php
1<?php
7
8if (!defined('XOOPS_ROOT_PATH')) {
9 exit();
10}
11
12require_once XOOPS_ROOT_PATH . '/core/XCube_PageNavigator.class.php';
13
14require_once XOOPS_MODULE_PATH . '/user/class/AbstractEditAction.class.php';
15require_once XOOPS_MODULE_PATH . '/user/admin/forms/MailjobAdminEditForm.class.php';
16require_once XOOPS_MODULE_PATH . '/user/admin/forms/UserSearchFilterForm.class.php';
17
19{
20 public $mPageNavi = null;
21 public $mFilter = null;
22
23 public function _getId()
24 {
25 return xoops_getrequest('mailjob_id');
26 }
27
28 public function &_getHandler()
29 {
30 $handler =& xoops_getmodulehandler('mailjob');
31 return $handler;
32 }
33
34 public function _setupActionForm()
35 {
36 $this->mActionForm =new User_MailjobAdminEditForm();
37 $this->mActionForm->prepare();
38
39 $this->mPageNavi =new XCube_PageNavigator('./index?action=MailjobEdit', XCUBE_PAGENAVI_START | XCUBE_PAGENAVI_PERPAGE);
40 $this->mFilter =new User_UserSearchFilterForm($this->mPageNavi, xoops_getmodulehandler('users_search', 'user'));
41
42 $this->mFilter->fetch();
43
44 $root =& XCube_Root::getSingleton();
45 $root->mDelegateManager->add('Legacy.Event.Explaceholder.Get.UserPagenaviHidden', 'User_MailjobEditAction::renderHiddenControl');
46 }
47
48 public function execute(&$controller, &$xoopsUser)
49 {
50 if (null != xoops_getrequest('_form_control_cancel')) {
51 return USER_FRAME_VIEW_CANCEL;
52 }
53
54 $isNew = $this->mObject->isNew();
55
56 $ret = parent::execute($controller, $xoopsUser);
57
58 if (USER_FRAME_VIEW_SUCCESS == $ret && $isNew) {
59 $handler =& xoops_getmodulehandler('users_search');
60 $uidArr = $handler->getUids($this->mFilter->getCriteria(0, 0));
61
62 $handler =& xoops_getmodulehandler('mailjob_link');
63 foreach ($uidArr as $uid) {
64 $obj =& $handler->create();
65 $obj->set('mailjob_id', $this->mObject->get('mailjob_id'));
66 $obj->set('uid', $uid);
67 $handler->insert($obj);
68 }
69 }
70
71 return $ret;
72 }
73
74 public function executeViewInput(&$controller, &$xoopsUser, &$render)
75 {
76 $render->setTemplateName('mailjob_edit.html');
77 $render->setAttribute('actionForm', $this->mActionForm);
78 $render->setAttribute('pageNavi', $this->mPageNavi);
79 $render->setAttribute('object', $this->mObject);
80 }
81
82 public function executeViewSuccess(&$controller, &$xoopsUser, &$render)
83 {
84 $controller->executeForward('./index.php?action=MailjobList');
85 }
86
87 public function executeViewError(&$controller, &$xoopsUser, &$render)
88 {
89 $controller->executeRedirect('./index.php?action=MailjobList', 1, _MD_USER_ERROR_DBUPDATE_FAILED);
90 }
91
92 public function executeViewCancel(&$controller, &$xoopsUser, &$render)
93 {
94 $controller->executeForward('./index.php?action=MailjobList');
95 }
96
97 public static function renderHiddenControl(&$buf, $params)
98 {
99 if (isset($params['pagenavi']) && is_object($params['pagenavi'])) {
100 $navi =& $params['pagenavi'];
101 // @todo @gigamaster
102 //$mask = isset($params['mask']) ? $params['mask'] : null;
103 $mask = $params['mask'] ?? null;
104
105
106 foreach ($navi->mExtra as $key => $value) {
107 if ($key != $mask) {
108 $value = htmlspecialchars($value, ENT_QUOTES);
109 $buf .= "<input type=\"hidden\" name=\"${key}\" value=\"${value}\" />";
110 }
111 }
112 }
113 }
114}