5 * Copyright 2009-2011, Franck Villaume - Capgemini
6 * Copyright 2009, Fabien Dubois - Capgemini
7 * Copyright 2010, Antoine Mercadal - Capgemini
8 * Copyright 2011, Franck Villaume - TrivialDev
9 * Copyright (C) 2012 Alain Peyrat - Alcatel-Lucent
10 * http://fusionforge.org
12 * This file is part of FusionForge. FusionForge is free software;
13 * you can redistribute it and/or modify it under the terms of the
14 * GNU General Public License as published by the Free Software
15 * Foundation; either version 2 of the Licence, or (at your option)
18 * FusionForge is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
23 * You should have received a copy of the GNU General Public License along
24 * with FusionForge; if not, write to the Free Software Foundation, Inc.,
25 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
28 require_once '../../env.inc.php';
29 require_once $gfcommon.'include/pre.php';
30 require_once $gfconfig.'plugins/mantisbt/config.php';
32 $type = getStringFromRequest('type');
35 exit_missing_param($_SERVER['HTTP_REFERER'], array('No TYPE specified'), 'mantisbt');
40 $mantisbt = plugin_get_object('mantisbt');
44 $group_id = getIntFromRequest('group_id');
46 exit_missing_param($_SERVER['HTTP_REFERER'], array('No GROUP_ID specified'), 'mantisbt');
48 $group = group_get_object($group_id);
52 if (!$group->usesPlugin($mantisbt->name)) {//check if the group has the MantisBT plugin active
53 exit_error(sprintf(_('First activate the %s plugin through the Project\'s Admin Interface'), $mantisbt->name), 'home');
55 if ( $group->isError()) {
56 $error_msg .= $group->getErrorMessage();
59 if (session_loggedin()) {
60 $user = session_get_user(); // get the session user
62 if (!$user || !is_object($user)) {
63 exit_error(_('Invalid User'), 'home');
64 } elseif ( $user->isError()) {
65 exit_error($user->isError(), 'home');
66 } elseif ( !$user->isActive()) {
67 exit_error(_('User not active'), 'home');
71 $mantisbtConf = $mantisbt->getMantisBTConf($group_id);
72 $view = getStringFromRequest('view');
73 if ($mantisbtConf['id_mantisbt'] === 0) {
74 $warning_msg = _('The mantisbt plugin for this project is not initialized.');
75 $redirect_url = '/plugins/'.$mantisbt->name.'/?type=admin&group_id='.$group_id.'&pluginname='.$mantisbt->name.'&view=init&warning_msg='.urlencode($warning_msg);
77 $redirect_url .= '&error_msg='.urlencode($error_msg);
79 session_redirect($redirect_url);
84 $userperm = $group->getPermission();
85 if ($userperm->IsMember()) {
86 $mantisbtUserConf = $mantisbt->getUserConf($user->getID());
87 if ($mantisbtUserConf) {
88 $username = $mantisbtUserConf['user'];
89 $password = $mantisbtUserConf['password'];
91 $warning_msg = _('Your mantisbt user is not initialized.');
92 session_redirect('/plugins/'.$mantisbt->name.'/?type=user&pluginname='.$mantisbt->name.'&view=inituser&warning_msg='.urlencode($warning_msg));
94 $action = getStringFromRequest('action');
98 if (!isset($username) || !isset($password)) {
99 $username = $mantisbtConf['soap_user'];
100 $password = $mantisbtConf['soap_password'];
104 $sort = getStringFromRequest('sort');
105 $dir = getStringFromRequest('dir');
106 $idBug = getStringFromRequest('idBug');
107 $idNote = getStringFromRequest('idNote');
108 $idAttachment = getStringFromRequest('idAttachment');
109 $actionAttachment = getStringFromRequest('actionAttachment');
110 $page = getStringFromRequest('page');
118 case "addAttachment":
119 case "deleteAttachment": {
120 include($gfplugins.$mantisbt->name.'/action/'.$action.'.php');
126 include($gfplugins.$mantisbt->name.'/action/updateNote.php');
131 $mantisbt->getHeader('project');
134 // Si la variable $_GET['page'] existe...
135 if($page != null && $page != ''){
136 $pageActuelle=intval($page);
138 $pageActuelle=1; // La page actuelle est la n°1
143 include ($mantisbt->name.'/www/group/index.php');
147 if (!session_loggedin()) {
148 exit_not_logged_in();
150 $user = session_get_user();
151 if (!($user) || !($user->usesPlugin($mantisbt->name))) {
152 exit_error(sprintf(_('First activate the User\'s %s plugin through Account Maintenance Page'), $mantisbt->name), 'my');
155 $action = getStringFromRequest('action');
156 $view = getStringFromRequest('view');
157 $sort = getStringFromRequest('sort');
158 $dir = getStringFromRequest('dir');
159 $action = getStringFromRequest('action');
160 $idBug = getStringFromRequest('idBug');
161 $idNote = getStringFromRequest('idNote');
162 $page = getStringFromRequest('page');
164 if ($view != 'inituser' && $action != 'inituser') {
165 $mantisbtConf = $mantisbt->getUserConf($user->getID());
167 $username = $mantisbtConf['user'];
168 $password = $mantisbtConf['password'];
170 $warning_msg = _('Your mantisbt user is not initialized.');
171 $redirect_url = '/plugins/'.$mantisbt->name.'/?type=user&pluginname='.$mantisbt->name.'&view=inituser&warning_msg='.urlencode($warning_msg);
173 $redirect_url .= '&error_msg='.urlencode($error_msg);
175 session_redirect($redirect_url);
185 case 'addAttachment':
186 case 'deleteAttachment':
187 case 'updateuserConf': {
189 include($gfplugins.$mantisbt->name.'/action/'.$action.'.php');
194 // Si la variable $_GET['page'] existe...
195 if($page != null && $page != '') {
196 $pageActuelle=intval($page);
198 $pageActuelle=1; // La page actuelle est la n°1
204 $mantisbt->getHeader('user');
205 include($mantisbt->name.'/www/user/index.php');
209 if (!session_loggedin()) {
210 exit_not_logged_in();
212 $user = session_get_user();
214 if (!($user) || !($user->usesPlugin($mantisbt->name))) {
215 exit_error(sprintf(_('First activate the User\'s %s plugin through Account Maintenance Page'), $mantisbt->name), 'my');
218 $group_id = getIntFromRequest('group_id');
220 exit_missing_param($_SERVER['HTTP_REFERER'], array('No GROUP_ID specified'), 'mantisbt');
223 $group = group_get_object($group_id);
227 if (!$group->usesPlugin($mantisbt->name)) {//check if the group has the MantisBT plugin active
228 exit_error(sprintf(_('First activate the %s plugin through the Project\'s Admin Interface'),$mantisbt->name),'home');
230 if ($group->isError()) {
231 $error_msg .= $group->getErrorMessage();
233 session_require_perm('project_admin', $group_id);
235 $mantisbtConf = $mantisbt->getMantisBTConf($group_id);
236 $action = getStringFromRequest('action');
237 $view = getStringFromRequest('view');
238 if ($view != 'init' && $action != 'init') {
239 if ($mantisbtConf['id_mantisbt'] === 0) {
240 $warning_msg = _('The mantisbt plugin for this project is not initialized.');
241 $redirect_url = '/plugins/'.$mantisbt->name.'/?type=admin&group_id='.$group_id.'&pluginname='.$mantisbt->name.'&view=init&warning_msg='.urlencode($warning_msg);
243 $redirect_url .= '&error_msg='.urlencode($error_msg);
245 session_redirect($redirect_url);
249 $mantisbtUserConf = $mantisbt->getUserConf($user->getID());
250 if ($mantisbtUserConf) {
251 $username = $mantisbtUserConf['user'];
252 $password = $mantisbtUserConf['password'];
256 // no user init ? we shoud force this user to init his account
257 if (!isset($username) || !isset($password)) {
258 $warning_msg = _('Your mantisbt user is not initialized.');
259 session_redirect('/plugins/'.$mantisbt->name.'/?type=user&pluginname='.$mantisbt->name.'&view=inituser&warning_msg='.urlencode($warning_msg));
266 include($gfplugins.$mantisbt->name.'/action/'.$action.'.php');
271 case 'renameCategory':
272 case 'deleteCategory':
273 case 'deleteVersion':
274 case 'updateVersion':
277 include($gfplugins.$mantisbt->name.'/action/'.$action.'.php');
282 $mantisbt->getHeader('project');
283 //only project admin can access here
287 $mantisbt->getInitDisplay();
291 $mantisbt->getAdminView();
297 case 'globaladmin': {
298 if (!session_loggedin()) {
299 exit_not_logged_in();
301 session_require_global_perm('forge_admin');
302 $action = getStringFromRequest('action');
304 case 'updateGlobalConf': {
306 include($gfplugins.$mantisbt->name.'/action/'.$action.'.php');
310 $mantisbt->getHeader('globaladmin');
311 $mantisbt->getGlobalAdminView();
316 site_project_footer(array());
320 // c-file-style: "bsd"