3 * Project Admin page to edit tools information
5 * Portions Copyright 1999-2001 (c) VA Linux Systems
6 * The rest Copyright 2002-2004 (c) GForge Team
7 * Copyright 2010, Franck Villaume - Capgemini
8 * Copyright 2016, Franck Villaume - TrivialDev
9 * http://fusionforge.org/
11 * This file is part of FusionForge. FusionForge is free software;
12 * you can redistribute it and/or modify it under the terms of the
13 * GNU General Public License as published by the Free Software
14 * Foundation; either version 2 of the Licence, or (at your option)
17 * FusionForge is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
22 * You should have received a copy of the GNU General Public License along
23 * with FusionForge; if not, write to the Free Software Foundation, Inc.,
24 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
27 require_once '../../env.inc.php';
28 require_once $gfcommon.'include/pre.php';
29 require_once $gfwww.'project/admin/project_admin_utils.php';
31 global $HTML, $error_msg, $feedback;
33 $group_id = getIntFromRequest('group_id');
34 session_require_perm('project_admin', $group_id);
35 $group = group_get_object($group_id);
36 if (!$group || !is_object($group)) {
37 exit_error(_('Error creating group'), 'admin');
38 } elseif ($group->isError()) {
39 exit_error($group->getErrorMessage(), 'admin');
42 // If this was a submission, make updates
43 if (getStringFromRequest('submit')) {
44 $form_group_name = getStringFromRequest('form_group_name');
45 $form_shortdesc = getStringFromRequest('form_shortdesc');
46 $form_homepage = getStringFromRequest('form_homepage');
47 $logo_image_id = getIntFromRequest('logo_image_id');
48 $use_mail = getStringFromRequest('use_mail');
49 $use_survey = getStringFromRequest('use_survey');
50 $use_forum = getStringFromRequest('use_forum');
51 $use_pm = getStringFromRequest('use_pm');
52 $use_scm = getStringFromRequest('use_scm');
53 $use_news = getStringFromRequest('use_news');
54 $use_docman = getStringFromRequest('use_docman');
55 $use_ftp = getStringFromRequest('use_ftp');
56 $use_tracker = getStringFromRequest('use_tracker');
57 $use_frs = getStringFromRequest('use_frs');
58 $use_stats = getStringFromRequest('use_stats');
59 $use_activity = getStringFromRequest('use_activity');
60 $tags = getStringFromRequest('form_tags');
61 $new_doc_address = getStringFromRequest('new_doc_address');
62 $send_all_docs = getStringFromRequest('send_all_docs');
64 $res = $group->update(
90 $error_msg = $group->getErrorMessage();
93 // This is done so plugins can enable/disable themselves from the project
94 $hookParams['group'] = $group_id;
95 if (!plugin_hook("groupisactivecheckboxpost", $hookParams)) {
96 if ($group->isError()) {
97 $error_msg = $group->getErrorMessage();
100 $error_msg = _('At least one plugin does not initialize correctly');
105 if (empty($error_msg)) {
106 $feedback = _('Project information updated');
111 project_admin_header(array('title'=>sprintf(_('Tools for %s'), $group->getPublicName()),
112 'group'=>$group->getID()));
114 echo '<table class="fullwidth">';
115 echo '<tr class="top">';
116 echo '<td class="halfwidth">';
118 echo $HTML->boxTop(_('Active Tools'));
119 echo $HTML->openForm(array('action' => getStringFromServer('PHP_SELF'), 'method' => 'post'));
122 <input type="hidden" name="group_id" value="<?php echo $group->getID(); ?>" />
123 <input type="hidden" name="form_group_name" value="<?php echo $group->getPublicName(); ?>" />
124 <input type="hidden" name="form_shortdesc" value="<?php echo $group->getDescription(); ?>" />
125 <input type="hidden" name="form_tags" value="<?php echo $group->getTags(); ?>" />
126 <input type="hidden" name="form_homepage" value="<?php echo $group->getHomePage(); ?>" />
130 // This function is used to render checkboxes below
133 return 'checked="checked"';
140 Show the options that this project is using
147 if(forge_get_config('use_activity')) {
151 <input type="checkbox" id="use_activity" name="use_activity" value="1" <?php echo c($group->usesActivity()); ?> />
154 <label for="use_activity">
155 <strong><?php echo _('Use Project Activity') ?></strong>
162 if(forge_get_config('use_forum')) {
166 <input type="checkbox" id="use_forum" name="use_forum" value="1" <?php echo c($group->usesForum()); ?> />
169 <label for="use_forum">
170 <strong><?php echo _('Use Forums') ?></strong>
177 if(forge_get_config('use_tracker')) {
181 <input type="checkbox" id="use_tracker" name="use_tracker" value="1" <?php echo c($group->usesTracker()); ?> />
184 <label for="use_tracker">
185 <strong><?php echo _('Use Trackers') ?></strong>
192 if(forge_get_config('use_mail')) {
196 <input type="checkbox" id="use_mail" name="use_mail" value="1" <?php echo c($group->usesMail()); ?> />
199 <label for="use_mail">
200 <strong><?php echo _('Use Mailing Lists') ?></strong>
207 if(forge_get_config('use_pm')) {
211 <input type="checkbox" id="use_pm" name="use_pm" value="1" <?php echo c($group->usesPM()); ?> />
215 <strong><?php echo _('Use Tasks') ?></strong>
222 if(forge_get_config('use_docman')) {
226 <input type="checkbox" id="use_docman" name="use_docman" value="1" <?php echo c($group->usesDocman()); ?> />
229 <label for="use_docman">
230 <strong><?php echo _('Use Documents') ?></strong>
237 if(forge_get_config('use_survey')) {
241 <input type="checkbox" id="use_survey" name="use_survey" value="1" <?php echo c($group->usesSurvey()); ?> />
244 <label for="use_survey">
245 <strong><?php echo _('Use Surveys') ?></strong>
252 if(forge_get_config('use_news')) {
256 <input type="checkbox" id="use_news" name="use_news" value="1" <?php echo c($group->usesNews()); ?> />
259 <label for="use_news">
260 <strong><?php echo _('Use News') ?> </strong>
267 if(forge_get_config('use_scm')) {
271 <input type="checkbox" id="use_scm" name="use_scm" value="1" <?php echo c($group->usesSCM()); ?> />
274 <label for="use_scm">
275 <strong><?php echo _('Use Source Code') ?></strong>
282 if(forge_get_config('use_frs')) {
286 <input type="checkbox" id="use_frs" name="use_frs" value="1" <?php echo c($group->usesFRS()); ?> />
289 <label for="use_frs">
290 <strong><?php echo _('Use File Release System') ?></strong>
297 if(forge_get_config('use_ftp')) {
301 <input type="checkbox" id="use_ftp" name="use_ftp" value="1" <?php echo c($group->usesFTP()); ?> />
304 <label for="use_ftp">
305 <strong><?php echo _('Use FTP') ?></strong>
312 <input type="checkbox" id="use_stats" name="use_stats" value="1" <?php echo c($group->usesStats()); ?> />
315 <label for="use_stats">
316 <strong><?php echo _('Use Statistics') ?></strong>
322 $hookParams['group']=$group_id;
323 plugin_hook("groupisactivecheckbox",$hookParams);
328 <input type="hidden" name="new_doc_address" value="<?php echo $group->getDocEmailAddress(); ?>" />
329 <input type="hidden" name="send_all_docs" value="1" <?php echo c($group->docEmailAll()); ?> />
331 <input type="submit" name="submit" value="<?php echo _('Update') ?>" />
332 <?php echo $HTML->closeForm(); ?>
337 echo $HTML->boxBottom();
341 echo $HTML->boxTop(_('Tool Admin'));
343 if($group->usesForum()) {
344 echo html_e('p', array(), util_make_link('/forum/admin/?group_id='.$group->getID(), _('Forums Administration')), false);
346 if($group->usesTracker()) {
347 echo html_e('p', array(), util_make_link('/tracker/admin/?group_id='.$group->getID(), _('Trackers Administration')), false);
349 if($group->usesMail()) {
350 echo html_e('p', array(), util_make_link('/mail/admin/?group_id='.$group->getID(), _('Mailing Lists Admin')), false);
352 if($group->usesPM()) {
353 echo html_e('p', array(), util_make_link('/pm/admin/?group_id='.$group->getID(), _('Tasks Administration')), false);
355 if($group->usesDocman()) {
356 echo html_e('p', array(), util_make_link('/docman/?group_id='.$group->getID().'&view=admin', _('Documents Admin')), false);
358 if($group->usesSurvey()) {
359 echo html_e('p', array(), util_make_link('/survey/admin/?group_id='.$group->getID(), _('Survey Admin')), false);
361 if($group->usesNews()) {
362 echo html_e('p', array(), util_make_link('/news/admin/?group_id='.$group->getID(), _('News Admin')), false);
364 if($group->usesSCM()) {
365 echo html_e('p', array(), util_make_link('/scm/admin/?group_id='.$group->getID(), _('Source Code Admin')), false);
367 if($group->usesFRS()) {
368 echo html_e('p', array(), util_make_link('/frs/?group_id='.$group->getID().'&view=admin', _('File Release System Admin')), false);
371 $hook_params = array();
372 $hook_params['group_id'] = $group_id;
373 plugin_hook("project_admin_plugins", $hook_params);
375 echo $HTML->boxBottom();
381 project_admin_footer();