1: <?php
2: /**
3: * Extended User Profile
4: *
5: * You may not change or alter any portion of this comment or credits
6: * of supporting developers from this source code or any supporting source code
7: * which is considered copyrighted (c) material of the original comment or credit authors.
8: * This program is distributed in the hope that it will be useful,
9: * but WITHOUT ANY WARRANTY; without even the implied warranty of
10: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11: *
12: * @copyright (c) 2000-2016 XOOPS Project (www.xoops.org)
13: * @license GNU GPL 2 (https://www.gnu.org/licenses/gpl-2.0.html)
14: * @package profile
15: * @since 2.3.0
16: * @author Jan Pedersen
17: * @author Taiwen Jiang <phppp@users.sourceforge.net>
18: */
19:
20: use Xmf\Request;
21:
22: include_once __DIR__ . '/admin_header.php';
23: xoops_cp_header();
24: $indexAdmin = new ModuleAdmin();
25:
26: $indexAdmin->addItemButton(_ADD . ' ' . _PROFILE_AM_STEP, 'step.php?op=new', 'add', '');
27: echo $indexAdmin->addNavigation(basename(__FILE__));
28: echo $indexAdmin->renderButton('right', '');
29:
30: $op = isset($_REQUEST['op']) ? $_REQUEST['op'] : (isset($_REQUEST['id']) ? 'edit' : 'list');
31:
32: $handler = xoops_getModuleHandler('regstep');
33: switch ($op) {
34: case 'list':
35: $criteria = new CriteriaCompo();
36: $criteria->setSort('step_order');
37: $criteria->setOrder('ASC');
38: $GLOBALS['xoopsTpl']->assign('steps', $handler->getObjects($criteria, true, false));
39: $template_main = 'profile_admin_steplist.tpl';
40: break;
41:
42: case 'new':
43: $obj = $handler->create();
44: include_once dirname(__DIR__) . '/include/forms.php';
45: $form = profile_getStepForm($obj);
46: $form->display();
47: break;
48:
49: case 'edit':
50: $obj = $handler->get($_REQUEST['id']);
51: include_once dirname(__DIR__) . '/include/forms.php';
52: $form = profile_getStepForm($obj);
53: $form->display();
54: break;
55:
56: case 'save':
57: if (isset($_REQUEST['id'])) {
58: $obj = $handler->get($_REQUEST['id']);
59: } else {
60: $obj = $handler->create();
61: }
62: $obj->setVar('step_name', $_REQUEST['step_name']);
63: $obj->setVar('step_order', $_REQUEST['step_order']);
64: $obj->setVar('step_desc', $_REQUEST['step_desc']);
65: $obj->setVar('step_save', $_REQUEST['step_save']);
66: if ($handler->insert($obj)) {
67: redirect_header('step.php', 3, sprintf(_PROFILE_AM_SAVEDSUCCESS, _PROFILE_AM_STEP));
68: }
69: echo $obj->getHtmlErrors();
70: $form = $obj->getForm();
71: $form->display();
72: break;
73:
74: case 'delete':
75: $obj = $handler->get($_REQUEST['id']);
76: if (isset($_REQUEST['ok']) && $_REQUEST['ok'] == 1) {
77: if ($handler->delete($obj)) {
78: redirect_header('step.php', 3, sprintf(_PROFILE_AM_DELETEDSUCCESS, _PROFILE_AM_STEP));
79: } else {
80: echo $obj->getHtmlErrors();
81: }
82: } else {
83: xoops_confirm(array(
84: 'ok' => 1,
85: 'id' => $_REQUEST['id'],
86: 'op' => 'delete'), $_SERVER['REQUEST_URI'], sprintf(_PROFILE_AM_RUSUREDEL, $obj->getVar('step_name')));
87: }
88: break;
89:
90: case 'toggle':
91: if (isset($_GET['step_id'])) {
92: $field_id = Request::getInt('step_id', 0, 'GET');
93: if (isset($_GET['step_save'])) {
94: $step_save = Request::getInt('step_save', 0, 'GET');
95: profile_stepsave_toggle($step_id, $step_save);
96: }
97: }
98: break;
99: }
100:
101: if (!empty($template_main)) {
102: $GLOBALS['xoopsTpl']->display("db:{$template_main}");
103: }
104:
105: /**
106: * @param $step_d
107: * @param $step_save
108: */
109: function profile_stepsave_toggle($step_d, $step_save)
110: {
111: $step_save = ($step_save == 1) ? 0 : 1;
112: $handler = xoops_getModuleHandler('regstep');
113: $obj = $handler->get($_REQUEST['step_id']);
114: $obj->setVar('step_save', $step_save);
115: if ($handler->insert($obj, true)) {
116: redirect_header('step.php', 1, _PROFILE_AM_SAVESTEP_TOGGLE_SUCCESS);
117: } else {
118: redirect_header('step.php', 1, _PROFILE_AM_SAVESTEP_TOGGLE_FAILED);
119: }
120: }
121:
122: include_once __DIR__ . '/admin_footer.php';
123: