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