3 * Project Admin Main Page
5 * This page contains administrative information for the project as well
6 * as allows to manage it. This page should be accessible to all project
7 * members, but only admins may perform most functions.
9 * Copyright 2004 GForge, LLC - Tim Perdue
10 * Copyright 2010 (c), Franck Villaume
12 * This file is part of FusionForge.
14 * FusionForge is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
19 * FusionForge is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
24 * You should have received a copy of the GNU General Public License
25 * along with FusionForge; if not, write to the Free Software
26 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
29 require_once('../../env.inc.php');
30 require_once $gfcommon.'include/pre.php';
31 require_once $gfwww.'include/role_utils.php';
32 require_once $gfwww.'project/admin/project_admin_utils.php';
33 require_once $gfcommon.'include/GroupJoinRequest.class.php';
35 $group_id = getIntFromRequest('group_id');
36 $feedback = htmlspecialchars(getStringFromRequest('feedback'));
38 session_require_perm ('project_admin', $group_id) ;
40 // get current information
41 $group = group_get_object($group_id);
42 if (!$group || !is_object($group)) {
44 } elseif ($group->isError()) {
45 exit_error($group->getErrorMessage(),'admin');
50 // If this was a submission, make updates
51 if (getStringFromRequest('submit')) {
52 $form_group_name = getStringFromRequest('form_group_name');
53 $form_shortdesc = getStringFromRequest('form_shortdesc');
54 $form_homepage = getStringFromRequest('form_homepage');
55 $logo_image_id = getIntFromRequest('logo_image_id');
56 $use_mail = getStringFromRequest('use_mail');
57 $use_survey = getStringFromRequest('use_survey');
58 $use_forum = getStringFromRequest('use_forum');
59 $use_pm = getStringFromRequest('use_pm');
60 $use_scm = getStringFromRequest('use_scm');
61 $use_news = getStringFromRequest('use_news');
62 $use_docman = getStringFromRequest('use_docman');
63 $use_ftp = getStringFromRequest('use_ftp');
64 $use_tracker = getStringFromRequest('use_tracker');
65 $use_frs = getStringFromRequest('use_frs');
66 $use_stats = getStringFromRequest('use_stats');
67 $tags = getStringFromRequest('form_tags');
68 $is_public = getIntFromRequest('is_public');
69 $new_doc_address = getStringFromRequest('new_doc_address');
70 $send_all_docs = getStringFromRequest('send_all_docs');
72 $res = $group->update(
99 $error_msg .= $group->getErrorMessage();
101 $feedback .= _('Project information updated');
105 $adminheadertitle=sprintf(_('Project Admin: %1$s'), $group->getPublicName() );
106 project_admin_header(array('title'=>$adminheadertitle, 'group'=>$group->getID()));
110 <table class="my-layout-table">
114 <?php echo $HTML->boxTop(_('Misc. Project Information'));
116 if (forge_get_config('use_shell')) {
118 <p><?php echo _('Group shell (SSH) server: ') ?><strong><?php echo $group->getUnixName().'.'.forge_get_config('web_host'); ?></strong></p>
119 <p><?php echo _('Group directory on shell server: ') ?><br/><strong><?php echo account_group_homedir($group->getUnixName()); ?></strong></p>
120 <p><?php echo _('Project WWW directory on shell server: ') ?><br /><strong><?php echo account_group_homedir($group->getUnixName()).'/htdocs'; ?></strong></p>
122 } //end of use_shell condition
125 <form action="<?php echo getStringFromServer('PHP_SELF'); ?>" method="post">
127 <input type="hidden" name="group_id" value="<?php echo $group->getID(); ?>" />
130 <?php echo _('Descriptive Project Name') ?>:<br />
131 <input type="text" name="form_group_name" value="<?php echo $group->getPublicName(); ?>" size="40" maxlength="40" />
135 <?php echo _('Short Description (255 Character Max, HTML will be stripped from this description)') ?>:<br />
136 <textarea cols="80" rows="3" name="form_shortdesc">
137 <?php echo $group->getDescription(); ?>
141 <?php if ($GLOBALS['sys_use_project_tags']) { ?>
143 <?php echo _('Tags (use comma as separator)') ?>:<br />
144 <input type="text" name="form_tags" size="100" value="<?php echo $group->getTags(); ?>" />
148 <p><?php echo _('Trove Categorization: ') ?><a href="/project/admin/group_trove.php?group_id=<?php echo $group->getID(); ?>">[<?php echo _('Edit') ?>]</a></p>
151 <?php echo _('Homepage Link') ?>:<br />
152 <input type="text" name="form_homepage" size="100" value="<?php echo $group->getHomePage(); ?>" />
156 if ($sys_use_private_project) {
158 echo _('Visibility: ');
159 echo html_build_select_box_from_arrays(
161 array( _('Private'), _('Public') ),
162 'is_public', $group->isPublic(), false);
164 echo "<input type=hidden name=\"is_public\" value=\"1\">";
169 // This function is used to render checkboxes below
172 return 'checked="checked"';
180 if(forge_get_config('use_mail')) {
182 <input type="hidden" name="use_mail" value="<?php echo ($group->usesMail() ? '1' : '0'); ?>" />
186 if(forge_get_config('use_survey')) {
188 <input type="hidden" name="use_survey" value="<?php echo ($group->usesSurvey() ? '1' : '0'); ?>" />
192 if(forge_get_config('use_forum')) {
194 <input type="hidden" name="use_forum" value="<?php echo ($group->usesForum() ? '1' : '0'); ?>" />
198 if(forge_get_config('use_pm')) {
200 <input type="hidden" name="use_pm" value="<?php echo ($group->usesPM() ? '1' : '0'); ?>" />
204 if(forge_get_config('use_scm')) {
206 <input type="hidden" name="use_scm" value="<?php echo ($group->usesSCM() ? '1' : '0'); ?>" />
210 if(forge_get_config('use_news')) {
212 <input type="hidden" name="use_news" value="<?php echo ($group->usesNews() ? '1' : '0'); ?>" />
216 if(forge_get_config('use_docman')) {
218 <input type="hidden" name="use_docman" value="<?php echo ($group->usesDocman() ? '1' : '0'); ?>" />
222 if(forge_get_config('use_ftp')) {
224 <input type="hidden" name="use_ftp" value="<?php echo ($group->usesFTP() ? '1' : '0'); ?>" />
228 if(forge_get_config('use_tracker')) {
230 <input type="hidden" name="use_tracker" value="<?php echo ($group->usesTracker() ? '1' : '0'); ?>" />
234 if(forge_get_config('use_frs')) {
236 <input type="hidden" name="use_frs" value="<?php echo ($group->usesFRS() ? '1' : '0'); ?>" />
239 <input type="hidden" name="use_stats" value="<?php echo ($group->usesStats() ? '1' : '0'); ?>" />
242 <?php echo _('If you wish, you can provide default email addresses to which new submissions will be sent') ?>.<br />
243 <strong><?php echo _('New Document Submissions') ?>:</strong><br />
244 <input type="text" name="new_doc_address" value="<?php echo $group->getDocEmailAddress(); ?>" size="40" maxlength="250" />
245 <?php echo _('(send on all updates)') ?>
246 <input type="checkbox" name="send_all_docs" value="1" <?php echo c($group->docEmailAll()); ?> />
250 <input type="submit" name="submit" value="<?php echo _('Update') ?>" />
256 plugin_hook('admin_project_link',$group_id) ;
258 echo $HTML->boxBottom();?>
267 project_admin_footer(array());
271 // c-file-style: "bsd"