Пример #1
0
 /**
  * Output repo management sub screen to the browser
  */
 public function display()
 {
     project_admin_header(array('title' => $GLOBALS['Language']->getText('project_admin_editugroup', 'edit_ug'), 'group' => $this->ugroup->getProjectId(), 'help' => 'project-admin.html#creating-a-user-group'));
     echo '<h1><a href="/project/admin/ugroup.php?group_id=' . $this->ugroup->getProjectId() . '">' . $GLOBALS['Language']->getText('project_admin_utils', 'ug_admin') . '</a> - ' . $this->ugroup->getName() . '</h1>';
     echo '<div class="tabbable tabs-left">';
     echo '<ul class="nav nav-tabs">';
     foreach ($this->panes as $key => $pane) {
         $this->displayTab($pane);
     }
     echo '</ul>';
     echo '<div class="tab-content">';
     echo '<div class="tab-pane active">';
     echo $this->view->getContent();
     echo '</div>';
     echo '</div>';
     $GLOBALS['HTML']->footer(array());
 }
Пример #2
0
            }
            if ($project->usesTracker()) {
                require './artifact_export.php';
                require './artifact_history_export.php';
                require './artifact_deps_export.php';
            }
            echo '<p>' . $Language->getText('project_export_index', 'proj_db_success') . '</p>';
            display_db_params();
            site_project_footer(array());
        } else {
            $GLOBALS['Response']->addFeedback('info', $Language->getText('project_export_index', 'proj_db_no_data'), CODENDI_PURIFIER_DISABLED);
            $GLOBALS['Response']->redirect('index.php?group_id=' . $group_id);
        }
        break;
    default:
        project_admin_header(array('title' => $pg_title, 'help' => 'project-admin.html#project-data-export'));
        // Display the welcome screen
        echo '
<p> ' . $Language->getText('project_export_index', 'export_to_csv_or_db', array(help_button('project-admin.html#project-data-export', false, $Language->getText('project_export_index', 'online_help')))) . '</p>';
        echo '
<h3> ' . $Language->getText('project_export_index', 'export_to_csv_hdr', array(help_button('project-admin.html#text-file-export'))) . '</h3>';
        echo '
<p> ' . $Language->getText('project_export_index', 'export_to_csv_msg') . '</p>';
        // Show all the fields currently available in the system
        $entry_label = array();
        $entry_data_export_links = array();
        $entry_data_export_format_links = array();
        $history_data_export_links = array();
        $history_data_export_format_links = array();
        $dependencies_data_export_links = array();
        $dependencies_data_export_format_links = array();
Пример #3
0
<?php

//
// SourceForge: Breaking Down the Barriers to Open Source Development
// Copyright 1999-2000 (c) The SourceForge Crew
// http://sourceforge.net
//
// $Id: editaliases.php,v 1.2 2003/11/13 11:29:26 helix Exp $
require "pre.php";
require $DOCUMENT_ROOT . '/project/admin/project_admin_utils.php';
session_require(array('group' => $group_id, 'admin_flags' => 'A'));
project_admin_header(array(title => "Edit Aliases", group => $group_id));
?>

<P><B>Alias List</B>
<BR><A href="editaliases-new.php?group_id=<?php 
print $group_id;
?>
">[Add New Alias]</A>

<P>New aliases or alias changes take effect at the next 6 hour cron job.

<P><TABLE width=100% cellpadding=1 cellspacing=0 border=1>
<TR>
<TD><B>Username</B></TD>
<TD><B>Domain</B></TD>
<TD><B>Forward Address</B></TD>
<TD>&nbsp;</TD>
</TR>
<?php 
$res_mail = db_query("SELECT * FROM mailaliases WHERE group_id={$group_id}");
Пример #4
0
    if (!$update_success) {
        $GLOBALS['Response']->addFeedback('error', $Language->getText('project_admin_editgroupinfo', 'upd_fail', db_error() ? db_error() : ' '));
    } else {
        $GLOBALS['Response']->addFeedback('info', $Language->getText('project_admin_editgroupinfo', 'upd_success'));
    }
}
$project_manager->clearProjectFromCache($currentproject->getID());
$currentproject = $project_manager->getProject($currentproject->getID());
// update info for page
$res_grp = db_query("SELECT * FROM groups WHERE group_id='" . db_ei($group_id) . "'");
if (db_numrows($res_grp) < 1) {
    exit_no_group();
}
$row_grp = db_fetch_array($res_grp);
$descfieldsvalue = $currentproject->getProjectsDescFieldsValue();
project_admin_header(array('title' => $Language->getText('project_admin_editgroupinfo', 'editing_g_info'), 'group' => $group_id, 'help' => 'project-admin.html#project-public-information'));
echo '<FORM action="?group_id=' . $group_id . '" method="post" id="project_info_form">';
$renderer = TemplateRendererFactory::build()->getRenderer(ForgeConfig::get('codendi_dir') . '/src/templates/project/');
if ($user_can_choose_visibility) {
    $presenter = new ProjectVisibilityPresenter($Language, ForgeConfig::areRestrictedUsersAllowed(), $currentproject->getAccess());
    echo $renderer->renderToString('project_visibility', $presenter);
}
if ($user_can_choose_truncated_emails) {
    $truncated_mails_impacted_services = array();
    $file_service = $currentproject->getService(Service::FILE);
    if ($file_service) {
        $truncated_mails_impacted_services[] = $file_service->getInternationalizedName();
    }
    $svn_service = $currentproject->getService(Service::SVN);
    if ($svn_service) {
        $truncated_mails_impacted_services[] = $svn_service->getInternationalizedName();
Пример #5
0
//
// SourceForge: Breaking Down the Barriers to Open Source Development
// Copyright 1999-2000 (c) The SourceForge Crew
// http://sourceforge.net
//
// $Id: newrelease.php,v 1.2 2003/11/13 11:29:26 helix Exp $
ob_start();
require 'pre.php';
require 'frs.class';
require $DOCUMENT_ROOT . '/project/admin/project_admin_utils.php';
session_require(array('group' => $group_id));
$project =& group_get_object($group_id);
if (!$project->userIsReleaseTechnician()) {
    exit_permission_denied();
}
project_admin_header(array('title' => 'Release New File Version', 'group' => $group_id));
// Create a new FRS object
$frs = new FRS($group_id);
if ($submit) {
    $release_id = $frs->frsAddRelease($release_name, $package_id);
    if (!$frs->isError()) {
        header("Location: editreleases.php?package_id={$package_id}&release_id={$release_id}&group_id={$group_id}");
        ob_end_flush();
        ?>

<h3>Release Added!</h3>
Click here to <a href="editreleases.php?package_id=<?php 
        echo $package_id;
        ?>
&release_id=<?php 
        echo $release_id;
$eol = "\n";
$result = extract_history($atid);
$rows = db_numrows($result);
if ($export == 'artifact_history') {
    // Send the result in CSV format
    if ($result && $rows > 0) {
        $tbl_name = str_replace(' ', '_', 'artifact_history_' . $at->getItemName());
        header('Content-Type: text/csv');
        header('Content-Disposition: filename=' . $tbl_name . '_' . $dbname . '.csv');
        echo build_csv_header($col_list, $lbl_list) . $eol;
        while ($arr = db_fetch_array($result)) {
            prepare_artifact_history_record($at, $art_field_fact, $arr);
            echo build_csv_record($col_list, $arr) . $eol;
        }
    } else {
        project_admin_header(array('title' => $pg_title));
        echo '<h3>' . $Language->getText('project_export_artifact_history_export', 'art_hist_export') . '</h3>';
        if ($result) {
            echo '<P>' . $Language->getText('project_export_artifact_history_export', 'no_hist_found');
        } else {
            echo '<P>' . $Language->getText('project_export_artifact_history_export', 'db_access_err', $GLOBALS['sys_name']);
            echo '<br>' . db_error();
        }
        site_project_footer(array());
    }
} else {
    if ($export == "artifact_history_format") {
        echo '<h3>' . $Language->getText('project_export_artifact_history_export', 'hist_export_format') . '</h3>';
        echo '<p>' . $Language->getText('project_export_artifact_history_export', 'hist_export_format_msg') . '</p>';
        $record = pick_a_record_at_random($result, $rows, $col_list);
        prepare_artifact_history_record($at, $art_field_fact, $record);
Пример #7
0
                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();
$adminheadertitle = sprintf(_('Project Admin: %1$s'), $group->getPublicName());
project_admin_header(array('title' => $adminheadertitle, 'group' => $group->getID()));
/*
	Show top box listing trove and other info
*/
?>

<table width="100%" cellpadding="2" cellspacing="2" border="0">
	<tr valign="top">
		<td width="50%">

<?php 
echo $HTML->boxTop(_('Misc. Project Information'));
?>

&nbsp;
<br />
Пример #8
0
    $password = $request->getValidated('password');
    $email = $request->getValidated('email');
    if ($password) {
        $generic_user->setPassword($password);
    }
    $generic_user->setEmail($email);
    if ($user_manager->updateDb($generic_user)) {
        $GLOBALS['Response']->addFeedback('info', $Language->getText('project_admin', 'generic_member_updated'));
    } else {
        $GLOBALS['Response']->addFeedback('warning', $Language->getText('project_admin', 'generic_member_not_changed'));
    }
    $GLOBALS['HTML']->redirect($redirect_url);
}
$hp = Codendi_HTMLPurifier::instance();
$title = $Language->getText('project_admin', 'generic_member_settings');
project_admin_header(array('title' => $title, 'group' => $group_id, 'help' => 'project-admin.html'));
echo '<h2>' . $title . '</h2>';
echo '<form method="POST" action="">';
echo $token->fetchHTMLInput();
echo '<input type="hidden" name="group_id" value="' . (int) $group_id . '" />
    <p>
        <label for="newtracker_login"><b>' . $Language->getText('account_login', 'name') . '</b>:<br />
        ' . $generic_user->getUserName() . '
    </p>
    <p>
        <label for="newtracker_real_name"><b>' . $Language->getText('account_register', 'realname') . '</b>:</label><br />
        ' . $generic_user->getRealName() . '
    </p>
    <p>
        <label for="generic_user_email"><b>' . $Language->getText('account_change_email', 'title') . '</b>:</label><br />
        <input type="email" name="email" id="generic_user_email" value="' . $hp->purify($generic_user->getEmail(), CODENDI_PURIFIER_CONVERT_HTML) . '" />
Пример #9
0
        $group->addUser($keys[$i], $addrole[$keys[$i]]);
        //plugin webcal
        //change assistant for webcal
        $params[0] = $keys[$i];
        $params[1] = $group_id;
        plugin_hook('change_cal_permission', $params);
    }
    Header("Location: index.php?group_id={$group_id}&feedback=Successful");
}
if (!$accumulated_ids) {
    exit_error('Error', 'No IDs Were Passed');
} else {
    $arr = explode(',', $accumulated_ids);
    $res = db_query("SELECT user_id,user_name,realname FROM users\n\t\tWHERE status='A' and type_id='1' and user_id IN ('" . implode('\',\'', $arr) . "') \n\t\tORDER BY realname ASC");
}
project_admin_header(array('title' => _('Edit Role'), 'group' => $group_id));
echo '
<h2>' . _('Add Users From List') . '</h2>
<p>
' . _('Choose the role for each user and then press &quot;Add All&quot;.') . '
<p>
<form action="' . getStringFromServer('PHP_SELF') . '?group_id=' . $group_id . '" method="post">';
if (!$res || db_numrows($res) < 1) {
    echo "No Matching Users Found";
} else {
    $titles[] = _('Real name');
    $titles[] = _('Unix name');
    $titles[] = _('Role');
    echo $HTML->listTableTop($titles);
    //
    //	Everything is built on the multi-dimensial arrays in the Role object
Пример #10
0
    if (!$ugroup_id) {
        exit_error($Language->getText('global', 'error'), 'The ugroup ID is missing');
    }
    $res = ugroup_db_get_ugroup($ugroup_id);
    if (!$res) {
        exit_error($Language->getText('global', 'error'), $Language->getText('project_admin_editugroup', 'ug_not_found', array($ugroup_id, db_error())));
    }
    if (!isset($ugroup_name) || !$ugroup_name) {
        $ugroup_name = db_result($res, 0, 'name');
    }
    if (!isset($ugroup_description) || !$ugroup_description) {
        $ugroup_description = db_result($res, 0, 'description');
    } else {
        $ugroup_description = stripslashes($ugroup_description);
    }
    project_admin_header(array('title' => $Language->getText('project_admin_editugroup', 'edit_ug'), 'group' => $group_id, 'help' => 'UserGroups.html#UGroupCreation'));
    print '<P><h2>' . $Language->getText('project_admin_editugroup', 'ug_admin', $ugroup_name) . '</h2>';
    echo '<p>' . $Language->getText('project_admin_editugroup', 'upd_ug_name') . '</p>';
    echo '<form method="post" name="form_create" action="/project/admin/ugroup.php?group_id=' . $group_id . '" onSubmit="return selIt();">
	<input type="hidden" name="func" value="do_update">
	<input type="hidden" name="group_id" value="' . $group_id . '">
	<input type="hidden" name="ugroup_id" value="' . $ugroup_id . '">';
    display_name_and_desc_form($ugroup_name, $ugroup_description);
    echo '<tr><td></td><td><input type="submit" value="' . $Language->getText('global', 'btn_submit') . '" /></td></tr>';
    echo '</table>';
    echo '</form>';
    $ugroupUpdateUsersAllowed = true;
    $em->processEvent(Event::UGROUP_UPDATE_USERS_ALLOWED, array('ugroup_id' => $ugroup_id, 'allowed' => &$ugroupUpdateUsersAllowed));
    echo '<hr /><p><b>' . $Language->getText('project_admin_editugroup', 'group_members') . '</b></p>';
    echo '<div style="padding-left:10px">';
    // Get existing members from group
Пример #11
0
$btn_update = $Language->getText('plugin_ldap', 'ugroup_edit_btn_update');
$vSubmit = new Valid_WhiteList('submit', array($btn_update));
$vSubmit->required();
if ($request->isPost() && $request->valid($vSubmit)) {
    if ($request->get('submit') == $btn_update) {
        $vUserAdd = new Valid_String('user_add');
        $vUserAdd->required();
        if ($request->valid($vUserAdd)) {
            $ldapUserGroupManager->addListOfUsersToGroup($request->get('user_add'));
        }
    }
}
//
// Display
//
$ugroupRow = ugroup_db_get_ugroup($ugroupId);
$ugroupName = util_translate_name_ugroup($row['name']);
$clean_ugroupName = $hp->purify($ugroupName);
project_admin_header(array('title' => $Language->getText('project_admin_editugroup', 'edit_ug'), 'group' => $group_id));
echo '<h2>' . $Language->getText('project_admin_editugroup', 'ug_admin', $clean_ugroupName) . '</h2>';
echo '<p>' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_add_users_help') . '</p>';
echo '<form name="plugin_ldap_edit_ugroup" method="post" action="">';
echo '<input type="hidden" name="ugroup_id" value="' . $ugroupId . '" />';
echo '<input type="hidden" name="func" value="add_user" />';
echo '<p>' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_add_users') . ' <textarea name="user_add" id="user_add" rows="2" cols="60" wrap="soft"/></textarea></p>';
echo '<input type="submit" name="submit" value="' . $btn_update . '" />';
// JS code for autocompletion on "add_user" field defined on top.
$js = "new UserAutoCompleter('user_add',\r\n                        '" . util_get_dir_image_theme() . "',\r\n                        true);";
$GLOBALS['Response']->includeFooterJavascriptSnippet($js);
echo '</form>';
project_admin_footer(array());
Пример #12
0
// http://sourceforge.net
//
// $Id: homepage-edit.php,v 1.2 2003/11/13 11:29:26 helix Exp $
require "pre.php";
require "account.php";
require $DOCUMENT_ROOT . '/project/admin/project_admin_utils.php';
session_require(array('group' => $group_id, 'admin_flags' => 'A'));
if ($GLOBALS[Submit]) {
    if ($form_homepage) {
        db_query("UPDATE groups SET homepage='{$form_homepage}' " . "WHERE group_id={$group_id}");
        session_redirect("/project/admin/?group_id={$group_id}");
    }
}
$res_grp = db_query("SELECT homepage FROM groups WHERE group_id={$group_id}");
$row_grp = db_fetch_array($res_grp);
project_admin_header(array('title' => 'Edit Homepage URL', 'group' => $group_id));
?>
<P>Editing URL for project: <B><?php 
html_a_group($group_id);
?>
</B>

<P><FORM action="homepage-edit.php" method="post">
New URL:
<BR><I>Without "http://". Example "myproject.<?php 
echo $GLOBALS['sys_default_domain'];
?>
".</I>
<BR><INPUT type="text" name="form_homepage" value="<?php 
print $row_grp[homepage];
?>
Пример #13
0
     //
     // Cancel operations
     //
     $GLOBALS['Response']->redirect('/project/admin/index.php?group_id=' . $groupId);
 } else {
     //
     // Display to user what will be done with project members.
     //
     $toRemove = $ldapGroupManager->getUsersToBeRemoved($bindOption);
     $toAdd = $ldapGroupManager->getUsersToBeAdded($bindOption);
     $notImpacted = $ldapGroupManager->getUsersNotImpacted($bindOption);
     if (is_array($toAdd)) {
         // Display
         $um = UserManager::instance();
         $hp = Codendi_HTMLPurifier::instance();
         project_admin_header(array('title' => $GLOBALS['Language']->getText('plugin_ldap', 'project_members_synchro_title'), 'group' => $groupId));
         echo '<h1>' . $GLOBALS['Language']->getText('plugin_ldap', 'project_members_synchro_title') . '</h1>';
         echo '<p>' . $GLOBALS['Language']->getText('plugin_ldap', 'project_members_synchro_warning') . '</p>';
         echo '<p>' . $GLOBALS['Language']->getText('plugin_ldap', 'group_members_synchro_sumup', array(count($toRemove), count($toAdd), count($notImpacted))) . '</p>';
         echo '<table width="100%">';
         echo '<tr><td width="50%" valign="top">';
         $GLOBALS['HTML']->box1_top($GLOBALS['Language']->getText('plugin_ldap', 'group_members_synchro_to_remove', array(count($toRemove))));
         echo '<ul>';
         foreach ($toRemove as $userId) {
             if ($user = $um->getUserById($userId)) {
                 echo '<li>' . $user->getRealName() . ' (' . $user->getUserName() . ')</li>';
             }
         }
         echo '</ul>';
         $GLOBALS['HTML']->box1_bottom();
         echo '</td><td width="50%"  valign="top">';
 public function renderDefinitionFormat()
 {
     project_admin_header(array('title' => $GLOBALS['Language']->getText('plugin_docman', 'export_format')));
     echo '<h3>' . $GLOBALS['Language']->getText('plugin_docman', 'perm_exp_format') . '</h3>';
     echo '<p>' . $GLOBALS['Language']->getText('plugin_docman', 'perm_exp_format_msg') . '</p>';
     $title_arr = array($GLOBALS['Language']->getText('plugin_docman', 'format_label'), $GLOBALS['Language']->getText('plugin_docman', 'format_sample'), $GLOBALS['Language']->getText('plugin_docman', 'format_description'));
     echo html_build_list_table_top($title_arr);
     $i = 0;
     echo "<tr class='" . util_get_alt_row_color($i++) . "'>";
     echo "<td><b>" . $GLOBALS['Language']->getText('plugin_docman', 'format_id') . "</b></td>";
     echo "<td>53</td>";
     echo "<td>" . $GLOBALS['Language']->getText('plugin_docman', 'format_id_desc') . "</td>";
     echo "</tr>";
     echo "<tr class='" . util_get_alt_row_color($i++) . "'>";
     echo "<td><b>" . $GLOBALS['Language']->getText('plugin_docman', 'format_path') . "</b></td>";
     echo "<td>/My Folder/My Document</td>";
     echo "<td>" . $GLOBALS['Language']->getText('plugin_docman', 'format_path_desc') . "</td>";
     echo "</tr>";
     echo "<tr class='" . util_get_alt_row_color($i++) . "'>";
     echo "<td><b>" . $GLOBALS['Language']->getText('plugin_docman', 'format_type') . "</b></td>";
     echo "<td>File</td>";
     echo "<td>" . $GLOBALS['Language']->getText('plugin_docman', 'format_type_desc') . "</td>";
     echo "</tr>";
     echo "<tr class='" . util_get_alt_row_color($i++) . "'>";
     echo "<td><b>" . $GLOBALS['Language']->getText('plugin_docman', 'format_user_group') . "</b></td>";
     echo "<td>Developper Group</td>";
     echo "<td>" . $GLOBALS['Language']->getText('plugin_docman', 'format_user_group_desc') . "</td>";
     echo "</tr>";
     echo "</table>";
     site_project_footer(array());
 }
Пример #15
0
        }
    } else {
        $feedback .= "Operation failed.  Password and Password Confirm are not the same";
    }
}
if (getStringFromRequest('deletedbconfirm')) {
    $dbid = getIntFromRequest('dbid');
    //schedule for deletion
    $res = db_query("\n\t\tUPDATE prdb_dbs \n\t\tSET state=3 \n\t\tWHERE dbid='{$dbid}'\n\t\tAND group_id='{$group_id}'\n\t");
    if (!$res || db_affected_rows($res) < 1) {
        $feedback .= 'Cannot delete database: ' . db_error();
    } else {
        $feedback .= "Database scheduled for deletion";
    }
}
project_admin_header(array('title' => _('Database Information') . '', 'group' => $group_id));
// XXX ogi: where's deletedb defined?
if ($deletedb == 1) {
    print "<hr /><strong><div align=\"center\">" . _('Click to confirm deletion') . "[ <a href=\"" . getStringFromServer('PHP_SELF') . "?deletedbconfirm=1&amp;group_id=" . $group_id . "&amp;dbid={$dbid}\">'._('CONFIRM DELETE').'</a> ] </div></strong> <hr />";
}
$res_db = db_query("\n\tSELECT * \n\tFROM prdb_types \n\tWHERE dbsoftware NOT IN (\n\t\tSELECT dbsoftware \n\t\tFROM prdb_dbs,prdb_types \n\t\tWHERE dbtypeid=dbtype \n\t\tAND group_id='{$group_id}'\n\t\tAND state IN (1,2,4)\n\t)\n");
if (db_numrows($res_db) > 0) {
    print '

		<p><strong><span style="text-decoration:underline">' . _('Add New Database') . '</span></strong></p>
		<p><em>' . _('Clicking on "create" will schedule the creation of the database, and email the	details to the project administrators') . '</em></p>

		<p><strong>' . _('Database Type') . ':</strong></p>
		<p><form action="' . getStringFromServer('PHP_SELF') . '" method="post">
		<input type="hidden" name="createdb" value="1" />
		<input type="hidden" name="group_id" value="' . $group_id . '" />
Пример #16
0
                        /*
                        	Add a user to this project
                        	They don't need unix access
                        */
                        if (!$foundry->addUser($form_unix_name)) {
                            $feedback .= $foundry->getErrorMessage();
                        } else {
                            $feedback = ' User Added Successfully ';
                        }
                    }
                }
            }
        }
    }
}
project_admin_header(array('title' => group_getname($group_id) . " - Foundry Admin", 'group' => $group_id));
/*
	Show the list of member projects
*/
echo '<TABLE width=100% cellpadding=2 cellspacing=2 border=0>
<TR valign=top><TD width=50%>';
$HTML->box1_top("Featured Projects");
$sql = "SELECT groups.group_name,groups.unix_group_name,groups.group_id,foundry_preferred_projects.rank " . "FROM groups,foundry_preferred_projects " . "WHERE foundry_preferred_projects.group_id=groups.group_id " . "AND foundry_preferred_projects.foundry_id='{$group_id}' " . "ORDER BY rank ASC";
$res_grp = db_query($sql);
$rows = db_numrows($res_grp);
if (!$res_grp || $rows < 1) {
    echo 'No Projects';
    echo db_error();
} else {
    print '<TABLE WIDTH="100%" BORDER="0">
';
Пример #17
0
        case 'delete':
            $csrf->check();
            ugroup_delete($group_id, $ugroup_id);
            break;
        case 'do_update':
            $name = $request->getValidated('ugroup_name', 'String', '');
            $desc = $request->getValidated('ugroup_description', 'String', '');
            ugroup_update($group_id, $ugroup_id, $name, $desc);
            break;
    }
    $GLOBALS['Response']->redirect('/project/admin/ugroup.php?group_id=' . $group_id);
}
//
// Now display main page
//
project_admin_header(array('title' => $Language->getText('project_admin_ugroup', 'manage_ug'), 'group' => $group_id, 'help' => 'UserGroups.html'));
$pm = ProjectManager::instance();
$project = $pm->getProject($group_id);
print '<P><h2>' . $Language->getText('project_admin_ugroup', 'manage_ug_for', $project->getPublicName()) . '</h2>';
print '
<P>
<H3><a href="/project/admin/editugroup.php?func=create&group_id=' . $group_id . '">' . $Language->getText('project_admin_ugroup', 'create_ug') . '</a></H3>
' . $Language->getText('project_admin_ugroup', 'create_ug_for_p') . '
<p>


<H3>' . $Language->getText('project_admin_ugroup', 'edit_ug') . '</H3>
<P>
<HR>';
echo '
<table width="100%" border="0">
Пример #18
0
 * This file is part of GForge.
 *
 * GForge is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * GForge is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with GForge; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
require_once '../../env.inc.php';
require_once $gfwww . 'include/pre.php';
require_once $gfwww . 'project/admin/project_admin_utils.php';
$group_id = getIntFromRequest('group_id');
session_require(array('group' => $group_id, 'admin_flags' => 'A'));
project_admin_header(array('title' => _('History'), 'group' => $group_id));
?>

<p><?php 
echo _('This log will show who made significant changes to your project and when');
?>
.</p>
<?php 
echo show_grouphistory($group_id);
project_admin_footer(array());
Пример #19
0
    }
}
if (getStringFromRequest('deletevhost')) {
    $vhostid = getStringFromRequest('vhostid');
    //schedule for deletion
    $res = db_query("\n\t\tSELECT * \n\t\tFROM prweb_vhost \n\t\tWHERE vhostid='{$vhostid}'\n\t");
    $row_vh = db_fetch_array($res);
    $res = db_query("\n\t\tDELETE FROM prweb_vhost \n\t\tWHERE vhostid='{$vhostid}' \n\t\tAND group_id='{$group_id}'\n\t");
    if (!$res || db_affected_rows($res) < 1) {
        $feedback .= "Could not delete VHOST entry:" . db_error();
    } else {
        $feedback .= _('VHOST deleted');
        $group->addHistory('Virtual Host ' . $row_vh['vhost_name'] . ' Removed', '');
    }
}
project_admin_header(array('title' => _('Virtual Host Management'), 'group' => $group->getID()));
?>

<p>&nbsp;</p>

<?php 
printf(_('<strong><span style="text-decoration:underline">Add New Virtual Host</span></strong><p>To add a new virtual host - simply point a <strong>CNAME</strong> for <em>yourhost.org</em> at <strong>%1$s.%2$s</strong>.  %3$s does not currently host mail (i.e. cannot be an MX) or DNS</strong>.  <p>Clicking on "create" will schedule the creation of the Virtual Host.  This will be synced to the project webservers - such that <em>yourhost.org</em> will display the material at <em>%4$s.%5$s</em>.'), $group->getUnixName(), $GLOBALS['sys_default_domain'], $GLOBALS['sys_name'], $group->getUnixName(), $GLOBALS['sys_default_domain']);
?>
<p>

<form name="new_vhost" action="<?php 
echo getStringFromServer('PHP_SELF') . '?group_id=' . $group->getID() . '&createvhost=1';
?>
" method="post"> 
<table border="0">
<tr>
Пример #20
0
<?php

//
// SourceForge: Breaking Down the Barriers to Open Source Development
// Copyright 1999-2000 (c) The SourceForge Crew
// http://sourceforge.net
//
//
require_once 'pre.php';
require_once 'www/project/admin/project_admin_utils.php';
require_once 'www/project/export/project_export_utils.php';
require_once 'www/project/admin/project_history.php';
session_require(array('group' => $group_id, 'admin_flags' => 'A'));
if ($request->exist('export')) {
    export_grouphistory($group_id, $event, $subEvents, $value, $startDate, $endDate, $by);
    exit;
}
project_admin_header(array('title' => $Language->getText('project_admin_history', 'proj_history'), 'group' => $group_id));
echo $Language->getText('project_admin_history', 'proj_change_log_msg');
//for pagination
echo show_grouphistory($group_id, $offset, $limit, $event, $subEvents, $value, $startDate, $endDate, $by);
project_admin_footer(array());
Пример #21
0
require_once 'pre.php';
require_once 'www/project/admin/project_admin_utils.php';
$request =& HTTPRequest::instance();
$group_id = $request->get('group_id');
if (!$group_id) {
    exit_missing_param();
} else {
    $pm = ProjectManager::instance();
    if (!($p =& $pm->getProject($group_id))) {
        exit_error($Language->getText('project_admin_index', 'invalid_p'), $Language->getText('project_admin_index', 'p_not_found'));
    } else {
        session_require(array('group' => $group_id, 'admin_flags' => 'A'));
        $display_headers_and_footers = !(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest');
        if ($display_headers_and_footers) {
            $pm = ProjectManager::instance();
            project_admin_header(array('title' => $Language->getText('project_admin_index', 'p_admin', $pm->getProject($group_id)->getPublicName()), 'group' => $group_id, 'help' => 'ProjectAdministration.html'));
            echo '<h2>' . $GLOBALS['Language']->getText('project_admin_index', 'show_projects') . '</h2>';
        }
        if (count($p->getProjectsCreatedFrom())) {
            echo '<ul>';
            $template =& TemplateSingleton::instance();
            $i = 0;
            foreach ($p->getProjectsCreatedFrom() as $subproject) {
                echo '<li>';
                if ($template->isTemplate($subproject['type'])) {
                    echo '<b>';
                }
                echo '<a href="/projects/' . $subproject['unix_group_name'] . '">' . $subproject['group_name'] . '</a>';
                if ($template->isTemplate($subproject['type'])) {
                    echo '</b>';
                }
 function header()
 {
     project_admin_header(array('title' => $GLOBALS['Language']->getText('project_reference', 'edit_reference'), 'group' => $GLOBALS['group_id'], 'help' => 'project-admin.html#reference-pattern-configuration'));
 }
Пример #23
0
 function adminPage()
 {
     // serve the administration pages for project links
     global $Language;
     require_once 'pre.php';
     require_once 'vars.php';
     require_once 'form_utils.php';
     require_once 'www/project/admin/project_admin_utils.php';
     $group_id = (int) $_REQUEST['group_id'];
     // get current information
     $project = ProjectManager::instance()->getProject($group_id);
     $user = UserManager::instance()->getCurrentUser();
     if (!$project) {
         exit_error($Language->getText('project_admin_index', 'invalid_p'), $Language->getText('project_admin_index', 'p_not_found'));
     }
     //if project isn't active, user must be a member of super-admin group
     if (!$project->isActive() && !$user->isSuperUser()) {
         return;
     }
     // must be a project admin
     if (!$user->isMember($group_id, 'A')) {
         return;
     }
     if (isset($_REQUEST['func'])) {
         // updating the database?
         $this->_adminPageUpdate_Service($_REQUEST);
     }
     project_admin_header(array('title' => $Language->getText('project_admin_servicebar', 'edit_s_bar'), 'group' => $group_id, 'help' => 'ServiceConfiguration.html'));
     if (isset($_REQUEST['disp'])) {
         $disp = $_REQUEST['disp'];
         switch ($disp) {
             case 'edit_link_type':
                 if (isset($_REQUEST['link_type_id'])) {
                     $link_type_id = (int) $_REQUEST['link_type_id'];
                 } else {
                     $link_type_id = NULL;
                 }
                 $this->_adminPage_UpdateLinkType($group_id, $link_type_id);
                 break;
             case 'resync_template':
                 $template_id = (int) $_REQUEST['template_id'];
                 $this->_adminPage_ResyncTemplate($group_id, $template_id);
                 break;
         }
     } else {
         $this->_adminPage_Default($group_id, $project);
     }
     project_admin_footer(array());
 }
Пример #24
0
                }
            }
            if ($request->valid($vMessage) & !empty($message) & $updatedMessage) {
                if ($pm->setMessageToRequesterForAccessProject($group_id, $message)) {
                    $GLOBALS['Response']->addFeedback('info', $Language->getText('project_admin_index', 'member_request_delegation_msg_info'));
                }
            } else {
                $GLOBALS['Response']->addFeedback('error', $Language->getText('project_admin_index', 'member_request_delegation_msg_error'));
            }
            break;
    }
}
/*
    Delegate notifications
*/
project_admin_header(array('title' => $Language->getText('project_admin_ugroup', 'permission_request'), 'group' => $group_id));
echo '
<h2>' . $Language->getText('project_admin_index', 'member_request_delegation_title') . '</h2>';
echo '<table>';
echo '<tr><td colspan="2"><p>';
if (!$project->isPublic()) {
    echo $Language->getText('project_admin_index', 'member_request_delegation_desc_private_group');
} else {
    echo $Language->getText('project_admin_index', 'member_request_delegation_desc_restricted_user');
}
echo '</p></td></tr>';
//Retrieve the saved ugroups for notification from DB
$dar = $pm->getMembershipRequestNotificationUGroup($group_id);
if ($dar && !$dar->isError() && $dar->rowCount() > 0) {
    $selectedUgroup = array();
    foreach ($dar as $row) {
Пример #25
0
//
// BerliOS : The Open Source Mediator
// Copyright 2000-2004 (c) The BerliOS Crew
// http://developer.berlios.de
//
// $Id: donation_admin.php,v 1.1 2004/04/02 11:28:01 helix Exp $
require "pre.php";
// Initial db and session library, opens session
require '../../project/admin/project_admin_utils.php';
$is_admin_page = 'y';
if ($group_id && user_ismember($group_id, 'F2')) {
    /*
    			Show main page for choosing 
    			either moderotor or delete
    */
    project_admin_header(array('title' => 'Project Donation Management'));
    echo '
	  <H2>Project Donation Management</H2>
	  <ul>
	  <li><A HREF="project_donation_admin.php?group_id=' . $group_id . '">Create/Update/Delete Project Donation Parameters for PayPal</A><BR>
      <li><A HREF="project_donors.php?group_id=' . $group_id . '">Manage Project Donors</A>
	  <ul>
      <li><A HREF="project_donors.php?group_id=' . $group_id . '&status=P">Donors in <b>P</b> (Pending) Status</A>
      <li><A HREF="project_donors.php?group_id=' . $group_id . '&status=A">Donors in <b>A</b> (Approved) Status</A>
      <li><A HREF="project_donors.php?group_id=' . $group_id . '&status=D">Donors in <b>D</b> (Deleted) Status</A>
      </ul></ul>';
    project_admin_footer(array());
} else {
    /*
       Not logged in or insufficient privileges
    */
Пример #26
0
 $statPeriod = $info->getPropertyValueForName('statistics_period');
 if (!$statPeriod) {
     $statPeriod = 3;
 }
 if ($period == 'year') {
     $statDuration = 12;
     $link = '?' . $serviceParam . '&group_id=' . $groupId . '&period=months';
 } else {
     $statDuration = $statPeriod;
     $link = '?' . $serviceParam . '&group_id=' . $groupId . '&period=year';
 }
 $endDate = date('Y-m-d');
 $startDate = date('Y-m-d', mktime(0, 0, 0, date('m') - $statDuration, date('d'), date('y')));
 $params['group'] = $groupId;
 $params['title'] = $GLOBALS['Language']->getText('admin_groupedit', 'proj_admin') . ': ' . $project->getPublicName();
 project_admin_header($params);
 echo '<h2>' . $GLOBALS['Language']->getText('plugin_statistics_admin_page', 'show_statistics') . '</h2>';
 $usedProportion = $duMgr->returnTotalProjectSize($groupId);
 $allowedQuota = $duMgr->getProperty('allowed_quota');
 $pqm = new ProjectQuotaManager();
 $customQuota = $pqm->getProjectCustomQuota($groupId);
 if ($customQuota) {
     $allowedQuota = $customQuota;
 }
 if ($allowedQuota) {
     echo '<div id="help_init" class="stat_help">' . $GLOBALS['Language']->getText('plugin_statistics_admin_page', 'disk_usage_proportion', array($duHtml->sizeReadable($usedProportion), $allowedQuota . 'GiB')) . '</div>';
     echo '<p><img src="/plugins/statistics/project_cumulativeDiskUsage_graph.php?func=usage&size=' . $usedProportion . '&group_id=' . $groupId . '" title="Disk usage percentage" /></p>';
 } else {
     echo '<LABEL><b>';
     echo $GLOBALS['Language']->getText('plugin_statistics', 'widget_total_project_size');
     echo '</b></LABEL>';
Пример #27
0
                //if hiding a package, refuse if it has releases under it
                // 2003-06-18 add: AND status_id=1
                // reject only if there exist active releases for the package, by helix
                $res = db_query("SELECT * FROM frs_release WHERE package_id='{$package_id}' AND status_id=1");
                if (db_numrows($res) > 0) {
                    $feedback .= ' Sorry - you cannot delete a package that still contains file releases ';
                    $status_id = 1;
                }
            }
            //update an existing package
            db_query("UPDATE frs_package SET name='" . htmlspecialchars($package_name) . "', status_id='{$status_id}' " . "WHERE package_id='{$package_id}' AND group_id='{$group_id}'");
            $feedback .= ' Updated Package ';
        }
    }
}
project_admin_header(array('title' => 'Release/Edit File Releases', 'group' => $group_id));
echo '<h3>QRS:</h3>';
echo 'Click here for to <a href="qrs.php?package_id=' . $package_id . '&group_id=' . $group_id . '">quick-release a file</a>.<br>';
echo '<H3>Packages</H3>
<P>
You can use packages to group different file releases together, or use them however you like. 
<P>
<H4>An example of packages:</h4>
<P>
<B>Mysql-win</B><BR>
<B>Mysql-unix</B><BR>
<B>Mysql-odbc</B>
<P>
<h4>Your Packages:</H4>
<P>
Start by defining your packages, then you can upload files with FTP to the <B>incoming</B> directory on 
Пример #28
0
        }
    } else {
        if ($func == 'rmuser') {
            /*
            	remove a user from this portal
            */
            if (!$project->removeUser($rm_id)) {
                $feedback .= $project->getErrorMessage();
            } else {
                $feedback = ' User Removed Successfully ';
            }
        }
    }
}
$project->clearError();
project_admin_header(array('title' => "Project Admin: " . group_getname($group_id), 'group' => $group_id));
/*
	Show top box listing trove and other info
*/
echo '<TABLE width=100% cellpadding=2 cellspacing=2 border=0>
<TR valign=top><TD width=50%>';
$HTML->box1_top("Misc. Project Information");
print '&nbsp;
<BR>
Short Description: ' . db_result($res_grp, 0, 'short_description') . '
<P>
Homepage Link: <B>' . db_result($res_grp, 0, 'homepage') . '</B>
<P align=center>
<A HREF="http://' . $GLOBALS['sys_cvs_host'] . '/cvstarballs/' . db_result($res_grp, 0, 'unix_group_name') . '-cvsroot.tar.gz">[ Download Your Nightly CVS Tree Tarball ]</A>
<P>
Пример #29
0
    }
    if ($project->usesSVN()) {
        export_svn_logs($project, $period, $who);
    }
    if ($project->usesDocman()) {
        export_doc_logs($project, $period, $who);
    }
    if ($project->usesWiki()) {
        export_wiki_pg_logs($project, $period, $who, 0);
        export_wiki_att_logs($project, $period, $who);
    }
    export_all_plugins_logs($project, $period, $who);
    exit;
}
$pm = ProjectManager::instance();
project_admin_header(array('title' => $Language->getText('project_admin_index', 'p_admin', $pm->getProject($group_id)->getPublicName()), 'group' => $group_id, 'help' => 'SourceCodeAccessLogs.html'));
//
// BEGIN PAGE CONTENT CODE
//
echo "\n\n";
if (!isset($who)) {
    $who = "nonmembers";
}
if (!isset($span)) {
    $span = 14;
}
if (!isset($view)) {
    $view = "daily";
}
echo '<h2>' . $Language->getText('project_admin_utils', 'access_logs') . '</h2>';
print '
Пример #30
0
   //   the welcome screen when entering the import facility from admin page
   session_require(array('group' => $group_id, 'admin_flags' => 'A'));
   //
   //  get the Group object
   //
   $pm = ProjectManager::instance();
   $group = $pm->getProject($group_id);
   if (!$group || !is_object($group) || $group->isError()) {
       exit_no_group();
   }
   $atf = new ArtifactTypeFactory($group);
   if (!$group || !is_object($group) || $group->isError()) {
       exit_error($Language->getText('global', 'error'), $Language->getText('tracker_import_admin', 'not_get_atf'));
   }
   $pg_title = $Language->getText('tracker_import_admin', 'art_import');
   project_admin_header(array('title' => $pg_title, 'help' => 'tracker.html#tracker-artifact-import'));
   $pm = ProjectManager::instance();
   $project = $pm->getProject($group_id);
   if (!$project->usesTracker()) {
       echo '<P> ' . $Language->getText('tracker_import_admin', 'disabled');
       project_admin_footer(array());
   } else {
       // Display the welcome screen
       echo $Language->getText('tracker_import_admin', 'welcome');
       // Show all the fields currently available in the system
       echo '<p><TABLE WIDTH="100%" BORDER="0" CELLSPACING="1" CELLPADDING="2">';
       echo '
 <tr class="boxtable"> 
   <td class="boxtitle">&nbsp;</td>
   <td class="boxtitle"> 
     <div align="center"><b>' . $Language->getText('tracker_import_admin', 'art_data_import') . '</b></div>