*
* Copyright 2004 GForge, LLC
*
- * @version $Id$
* @author Tim Perdue tim@gforge.org
*
* This file is part of GForge.
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-
-require_once('pre.php');
-require_once('www/project/admin/project_admin_utils.php');
-require_once('www/include/role_utils.php');
-require_once('common/include/account.php');
-require_once('common/include/GroupJoinRequest.class');
+require_once('../../env.inc.php');
+require_once $gfwww.'include/pre.php';
+require_once $gfwww.'include/role_utils.php';
+require_once $gfwww.'project/admin/project_admin_utils.php';
+require_once $gfcommon.'include/GroupJoinRequest.class.php';
$group_id = getIntFromRequest('group_id');
session_require(array('group'=>$group_id,'admin_flags'=>'A'));
exit_permission_denied();
}
-if (getStringFromRequest('submit')) {
- if (getStringFromRequest('adduser')) {
- /*
- add user to this project
- */
- $form_unix_name = getStringFromRequest('form_unix_name');
- $user_object = &user_get_object_by_name($form_unix_name);
- $user_id = $user_object->getID();
- $role_id = getIntFromRequest('role_id');
- if (!$group->addUser($form_unix_name,$role_id)) {
- $feedback .= $group->getErrorMessage();
- } else {
- $feedback = $Language->getText('project_admin','user_added');
- //if the user have requested to join this group
- //we should remove him from the request list
- //since it has already been added
- $gjr=new GroupJoinRequest($group,$user_id);
- if ($gjr || is_object($gjr) || !$gjr->isError()) {
- $gjr->delete(true);
- }
- }
- } else if (getStringFromRequest('rmuser')) {
- /*
- remove a user from this group
- */
- $user_id = getIntFromRequest('user_id');
- if (!$group->removeUser($user_id)) {
- $feedback .= $group->getErrorMessage();
- } else {
- $feedback = $Language->getText('project_admin','user_removed');
- }
- } else if (getStringFromRequest('updateuser')) {
- /*
- Adjust User Role
- */
- $user_id = getIntFromRequest('user_id');
- $role_id = getIntFromRequest('role_id');
- if (!$group->updateUser($user_id,$role_id)) {
- $feedback .= $group->getErrorMessage();
- } else {
- $feedback = $Language->getText('project_admin','user_updated');
- }
- } elseif (getStringFromRequest('acceptpending')) {
- /*
- add user to this project
- */
- $form_userid = getIntFromRequest('form_userid');
- $form_unix_name = getStringFromRequest('form_unix_name');
- $role_id = getIntFromRequest('role_id');
- if (!$group->addUser($form_unix_name,$role_id)) {
- $feedback .= $group->getErrorMessage();
- } else {
- $gjr=new GroupJoinRequest($group,$form_userid);
- if (!$gjr || !is_object($gjr) || $gjr->isError()) {
- $feedback .= 'Error Getting GroupJoinRequest';
- } else {
- $gjr->delete(true);
- }
- $feedback = $Language->getText('project_admin','user_added');
- }
- } elseif (getStringFromRequest('rejectpending')) {
- /*
- reject adding user to this project
- */
- $form_userid = getIntFromRequest('form_userid');
- $gjr=new GroupJoinRequest($group,$form_userid);
- if (!$gjr || !is_object($gjr) || $gjr->isError()) {
- $feedback .= 'Error Getting GroupJoinRequest';
- } else {
- if (!$gjr->reject()) {
- exit_error('Error',$gjr->getErrorMessage());
- } else {
- $feedback .= 'Rejected';
- }
- }
- }
-}
-
$group->clearError();
-project_admin_header(array('title'=>$Language->getText('project_admin','title', array($group->getPublicName())),'group'=>$group->getID()));
-
-/*
- Show top box listing trove and other info
-*/
-
+$adminheadertitle=sprintf(_('Project Admin: %1$s'), $group->getPublicName() );
+project_admin_header(array('title'=>$adminheadertitle, 'group'=>$group->getID()));
?>
-<table width="100%" cellpadding="2" cellspacing="2" border="0">
- <tr valign="top">
- <td width="50%">
+<table class="my-layout-table">
+ <tr>
+ <td>
-<?php echo $HTML->boxTop($Language->getText('project_admin','project_information')); ?>
+<?php echo $HTML->boxTop(_('Misc. Project Information')); ?>
-
-<br />
-<?php echo $Language->getText('project_admin','short_description') ?><?php echo $group->getDescription(); ?>
-<p><?php echo $Language->getText('project_admin','homepage_link') ?><strong><?php echo $group->getHomepage(); ?></strong></p>
<?php
global $sys_use_shell;
if ($sys_use_shell) {
?>
-<p><?php echo $Language->getText('project_admin','shell_server') ?><strong><?php echo $group->getUnixName().'.'.$GLOBALS['sys_default_domain']; ?></strong></p>
-<p><?php echo $Language->getText('project_admin','shell_server_group_directory') ?><br/><strong><?php echo account_group_homedir($group->getUnixName()); ?></strong></p>
-<p><?php echo $Language->getText('project_admin','www_directory') ?><br /><strong><?php echo account_group_homedir($group->getUnixName()).'/htdocs'; ?></strong></p>
+<p><?php echo _('Group shell (SSH) server: ') ?><strong><?php echo $group->getUnixName().'.'.$GLOBALS['sys_default_domain']; ?></strong></p>
+<p><?php echo _('Group directory on shell server: ') ?><br/><strong><?php echo account_group_homedir($group->getUnixName()); ?></strong></p>
+<p><?php echo _('Project WWW directory on shell server: ') ?><br /><strong><?php echo account_group_homedir($group->getUnixName()).'/htdocs'; ?></strong></p>
<?php
} //end of use_shell condition
?>
-<?php if($sys_use_scm) { ?>
- <p>[ <a href="/tarballs.php?group_id=<?php echo $group_id; ?>"><?php echo $Language->getText('project_admin', 'download_tarball') ?></a> ]</p>
-<?php } ?>
+<?php
+// If this was a submission, make updates
+if (getStringFromRequest('submit')) {
+ $form_group_name = getStringFromRequest('form_group_name');
+ $form_shortdesc = getStringFromRequest('form_shortdesc');
+ $form_homepage = getStringFromRequest('form_homepage');
+ $logo_image_id = getIntFromRequest('logo_image_id');
+ $use_mail = getStringFromRequest('use_mail');
+ $use_survey = getStringFromRequest('use_survey');
+ $use_forum = getStringFromRequest('use_forum');
+ $use_pm = getStringFromRequest('use_pm');
+ $use_scm = getStringFromRequest('use_scm');
+ $use_news = getStringFromRequest('use_news');
+ $use_docman = getStringFromRequest('use_docman');
+ $use_ftp = getStringFromRequest('use_ftp');
+ $use_tracker = getStringFromRequest('use_tracker');
+ $use_frs = getStringFromRequest('use_frs');
+ $use_stats = getStringFromRequest('use_stats');
+ $tags = getStringFromRequest('form_tags');
+ $is_public = getIntFromRequest('is_public');
+ $new_doc_address = getStringFromRequest('new_doc_address');
+ $send_all_docs = getStringFromRequest('send_all_docs');
+
+ $res = $group->update(
+ session_get_user(),
+ $form_group_name,
+ $form_homepage,
+ $form_shortdesc,
+ $use_mail,
+ $use_survey,
+ $use_forum,
+ $use_pm,
+ 1,
+ $use_scm,
+ $use_news,
+ $use_docman,
+ $new_doc_address,
+ $send_all_docs,
+ 100,
+ $use_ftp,
+ $use_tracker,
+ $use_frs,
+ $use_stats,
+ $tags,
+ $is_public
+ );
+
+ //100 $logo_image_id
+
+ if (!$res) {
+ $feedback .= $group->getErrorMessage();
+ } else {
+ $feedback .= _('Project information updated');
+ }
+}
+
+?>
+
+<form action="<?php echo getStringFromServer('PHP_SELF'); ?>" method="post">
+
+<input type="hidden" name="group_id" value="<?php echo $group->getID(); ?>" />
-<hr />
<p>
-<h4><?php echo $Language->getText('project_admin','trove_categorization') ?><a href="/project/admin/group_trove.php?group_id=<?php echo $group->getID(); ?>">[<?php echo $Language->getText('general','edit') ?>]</a></h4>
+<?php echo _('Descriptive Project Name') ?>:<br />
+<input type="text" name="form_group_name" value="<?php echo $group->getPublicName(); ?>" size="40" maxlength="40" />
</p>
-<?php
-echo $HTML->boxMiddle($Language->getText('project_admin','tool_admin').'');
-
-if($sys_use_tracker) { ?>
- <a href="/tracker/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo $Language->getText('project_admin','tracker_admin') ?></a><br />
-<?php }
-if($sys_use_docman) { ?>
- <a href="/docman/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo $Language->getText('project_admin','docmanager_admin') ?></a><br />
-<?php }
-if($sys_use_mail) { ?>
- <a href="/mail/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo $Language->getText('project_admin','mail_admin') ?></a><br />
-<?php }
-if($sys_use_news) { ?>
- <a href="/news/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo $Language->getText('project_admin','news_admin') ?></a><br />
-<?php }
-if($sys_use_pm) { ?>
- <a href="/pm/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo $Language->getText('project_admin','task_manager_admin') ?></a><br />
-<?php }
-if($sys_use_forum) { ?>
- <a href="/forum/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo $Language->getText('project_admin','forum_admin') ?></a><br />
-<?php }
-if($sys_use_frs) { ?>
- <a href="/frs/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo $Language->getText('project_admin','frs_admin') ?></a><br />
-<?php }
-if($sys_use_scm) { ?>
- <a href="/scm/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo $Language->getText('project_admin','scm_admin') ?></a><br />
-<?php }
-
-$hook_params = array () ;
-$hook_params['group_id'] = $group_id ;
-plugin_hook ("project_admin_plugins", $hook_params) ;
-
-
-echo $HTML->boxBottom();
-?>
- </td>
- <td> </td>
- <td width="50%">
+<p>
+<?php echo _('Short Description (255 Character Max, HTML will be stripped from this description)') ?>:<br />
+<textarea cols="80" rows="3" name="form_shortdesc">
+<?php echo $group->getDescription(); ?>
+</textarea>
+</p>
+
+<p>
+<?php echo _('Tags (use comma as separator)') ?>:<br />
+<input type="text" name="form_tags" size="100" value="<?php echo $group->getTags(); ?>" />
+</p>
+
+<p><?php echo _('Trove Categorization: ') ?><a href="/project/admin/group_trove.php?group_id=<?php echo $group->getID(); ?>">[<?php echo _('Edit') ?>]</a></p>
+
+<p>
+<?php echo _('Homepage Link') ?>:<br />
+<input type="text" name="form_homepage" size="100" value="<?php echo $group->getHomePage(); ?>" />
+</p>
<?php
+ if ($sys_use_private_project) {
+ echo '<p>' ;
+ echo _('Visibility: ');
+ echo html_build_select_box_from_arrays(
+ array('0','1'),
+ array( _('Private'), _('Public') ),
+ 'is_public', $group->isPublic(), false);
+ } else {
+ echo "<input type=hidden name=\"is_public\" value=\"1\">";
+ }
+?>
- echo $HTML->boxTop($Language->getText('project_admin','group_members'));
+<?php
+// This function is used to render checkboxes below
+function c($v) {
+ if ($v) {
+ return 'checked="checked"';
+ } else {
+ return '';
+ }
+}
+?>
- /*
+<?php
+if($sys_use_mail) {
+?>
+<input type="hidden" name="use_mail" value="<?php echo ($group->usesMail() ? '1' : '0'); ?>" />
+<?php
+}
- Show the members of this project
+if($sys_use_survey) {
+?>
+<input type="hidden" name="use_survey" value="<?php echo ($group->usesSurvey() ? '1' : '0'); ?>" />
+<?php
+}
- */
+if($sys_use_forum) {
+?>
+<input type="hidden" name="use_forum" value="<?php echo ($group->usesForum() ? '1' : '0'); ?>" />
+<?php
+}
- $res_memb = db_query("SELECT users.realname,users.user_id,
- users.user_name,user_group.admin_flags,user_group.role_id
- FROM users,user_group
- WHERE users.user_id=user_group.user_id
- AND user_group.group_id='$group_id' ORDER BY user_id");
+if($sys_use_pm) {
+?>
+<input type="hidden" name="use_pm" value="<?php echo ($group->usesPM() ? '1' : '0'); ?>" />
+<?php
+}
- echo '
- <table width="100%" border="2">
- <tr><td><strong>'.$Language->getText('project_admin','unix_name').'</strong></td>
- <td><strong>'.$Language->getText('rbac_edit','role').'</strong></td>
- <td><strong>'.$Language->getText('rbac_edit','update').'</strong></td>
- <td><strong>'.$Language->getText('rbac_edit','remove').'</strong></td></tr>';
+if($sys_use_scm) {
+?>
+<input type="hidden" name="use_scm" value="<?php echo ($group->usesSCM() ? '1' : '0'); ?>" />
+<?php
+}
-while ($row_memb=db_fetch_array($res_memb)) {
+if($sys_use_news) {
+?>
+<input type="hidden" name="use_news" value="<?php echo ($group->usesNews() ? '1' : '0'); ?>" />
+<?php
+}
- echo '
- <form action="'.getStringFromServer('PHP_SELF').'" method="post">
- <input type="hidden" name="submit" value="y" />
- <input type="hidden" name="user_id" value="'.$row_memb['user_id'].'" />
- <input type="hidden" name="group_id" value="'. $group_id .'" />
- <td>'.$row_memb['realname'].' ('.$row_memb['user_name'].')</td>
- <td>'.role_box($group_id,'role_id',$row_memb['role_id']).'</td>
- <td><input type="submit" name="updateuser" value="'.$Language->getText('rbac_edit','update').'"></td>
- <td><input type="submit" name="rmuser" value="'.$Language->getText('rbac_edit','remove').'"></td>
- </tr></form>';
+if($sys_use_docman) {
+?>
+<input type="hidden" name="use_docman" value="<?php echo ($group->usesDocman() ? '1' : '0'); ?>" />
+<?php
}
- echo '
- <tr><td>'.$Language->getText('rbac_edit','observerusername').'</td>
- <td></td>
- <form action="roleedit.php?group_id='. $group_id .'&role_id=observer" method="POST">
- <td colspan="2"><input type="submit" name="edit" value="'.$Language->getText('rbac_edit','observer').'"></td></form></tr>';
-/*
- Add member form
-*/
+if($sys_use_ftp) {
+?>
+<input type="hidden" name="use_ftp" value="<?php echo ($group->usesFTP() ? '1' : '0'); ?>" />
+<?php
+}
+if($sys_use_tracker) {
?>
- <form action="<?php echo getStringFromServer('PHP_SELF').'?group_id='.$group_id; ?>" method="post">
- <input type="hidden" name="submit" value="y" />
- <tr><td><input type="text" name="form_unix_name" size="10" value="" /></td>
- <td><?php echo role_box($group_id,'role_id',$row_memb['role_id']); ?></td>
- <td colspan="2"><input type="submit" name="adduser" value="<?php echo $Language->getText('project_admin','add_user') ?>" /></td>
- </tr></form>
-
- <tr><td colspan="4"><a href="massadd.php?group_id=<?php echo $group_id; ?>"><?php echo $Language->getText('project_admin','addfromlist'); ?></a></td></tr>
- </table>
-<!-- </td></tr>
-</td>
-<td width="50%">
-
-</td>-->
-<?php
-//
-// Pending requests
-//
-echo $HTML->boxMiddle($Language->getText('project_joinrequest','pending'));
-$reqs =& get_group_join_requests($group);
-if (count($reqs) < 1) {
- echo $Language->getText('project_joinrequest','nonepending');
-} else {
- for ($i=0; $i<count($reqs); $i++) {
- $user =& user_get_object($reqs[$i]->getUserId());
- if (!$user || !is_object($user)) {
- echo "Invalid User";
- }
- ?>
- <form action="<?php echo $PHP_SELF.'?group_id='.$group_id; ?>" method="post">
- <input type="hidden" name="submit" value="y" />
- <input type="hidden" name="form_userid" value="<?php echo $user->getId(); ?>" />
- <tr><td><input type="hidden" name="form_unix_name" value="<?php echo $user->getUnixName(); ?>" /><a href="/users/<?php echo $user->getUnixName(); ?>"><?php echo $user->getRealName(); ?></a></td>
- <td><?php echo role_box($group_id,'role_id',$row_memb['role_id']); ?>
- <input type="submit" name="acceptpending" value="<?php echo $Language->getText('project_admin','acceptpending') ?>" />
- <input type="submit" name="rejectpending" value="<?php echo $Language->getText('project_admin','rejectpending') ?>" /></td>
- </tr></form>
-
- <?php
- }
+<input type="hidden" name="use_tracker" value="<?php echo ($group->usesTracker() ? '1' : '0'); ?>" />
+<?php
}
+if($sys_use_frs) {
+?>
+<input type="hidden" name="use_frs" value="<?php echo ($group->usesFRS() ? '1' : '0'); ?>" />
+<?php } ?>
+
+<input type="hidden" name="use_stats" value="<?php echo ($group->usesStats() ? '1' : '0'); ?>" />
-//
-// RBAC Editing Functions
-//
-echo $HTML->boxMiddle($Language->getText('rbac_edit','editroles'));
-echo '<form action="roleedit.php?group_id='. $group_id .'" method="POST">';
-echo role_box($group_id,'role_id','');
-echo '<input type="submit" name="edit" value="'.$Language->getText('rbac_edit','editrole').'"></form>';
+<p>
+<?php echo _('If you wish, you can provide default email addresses to which new submissions will be sent') ?>.<br />
+<strong><?php echo _('New Document Submissions') ?>:</strong><br />
+<input type="text" name="new_doc_address" value="<?php echo $group->getDocEmailAddress(); ?>" size="40" maxlength="250" />
+<?php echo _('(send on all updates)') ?>
+<input type="checkbox" name="send_all_docs" value="1" <?php echo c($group->docEmailAll()); ?> />
+</p>
+
+<p>
+<input type="submit" name="submit" value="<?php echo _('Update') ?>" />
+</p>
+
+</form>
-echo '<p><a href="roleedit.php?group_id='.$group_id.'">'.$Language->getText('rbac_edit','addrole').'</a>';
+<?php
+plugin_hook('admin_project_link',$group_id) ;
echo $HTML->boxBottom();?>
project_admin_footer(array());
+// Local Variables:
+// mode: php
+// c-file-style: "bsd"
+// End:
+
?>