3 * Site Admin page for maintaining groups'databases
6 * - browse aggregate numbers of databases of specific type (active,
8 * - list all databases of given type
9 * - edit some database (by going to group's DB Admin page)
10 * - register existing database in system
12 * Copyright 1999-2001 (c) VA Linux Systems
13 * Copyright 2010 (c) Franck Villaume - Capgemini
14 * Copyright 2012, Franck Villaume - TrivialDev
15 * http://fusionforge.org
17 * This file is part of FusionForge. FusionForge is free software;
18 * you can redistribute it and/or modify it under the terms of the
19 * GNU General Public License as published by the Free Software
20 * Foundation; either version 2 of the Licence, or (at your option)
23 * FusionForge is distributed in the hope that it will be useful,
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 * GNU General Public License for more details.
28 * You should have received a copy of the GNU General Public License along
29 * with FusionForge; if not, write to the Free Software Foundation, Inc.,
30 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
34 require_once '../env.inc.php';
35 require_once $gfcommon.'include/pre.php';
36 require_once $gfwww.'admin/admin_utils.php';
38 if (!forge_get_config('use_project_database')) {
39 exit_disabled('home');
42 session_require_global_perm ('forge_admin');
44 if (getStringFromRequest('submit')) {
45 $group_id = getIntFromRequest('group_id');
46 $groupname = getStringFromRequest('groupname');
47 $dbname = getStringFromRequest('dbname');
51 $group = group_get_object_by_name($groupname);
52 if (!$group || !is_object($group)) {
54 } elseif ($group->isError()) {
55 exit_error($group->getErrorMessage(),'home');
58 $group_id = $group->getID();
60 $user =& session_get_user();
61 if (!$user || !is_object($user)) {
62 exit_error(_('Could Not Get User'),'home');
63 } elseif ($user->isError()) {
64 exit_error($u->getErrorMessage(),'home');
68 $res = db_query_params ('
69 INSERT INTO prdb_dbs(group_id, dbname, dbusername, dbuserpass, requestdate, dbtype, created_by, state)
70 VALUES ($group_id,$1,$2,$3,$4,1,$5,1)
78 if (!$res || db_affected_rows($res) < 1) {
79 $error_msg .= _('Error Adding Database: ') .db_error();
81 $feedback .= _('Project'). " <em>".$group->getUnixName()."</em>" ._('added already active database');
84 $error_msg .= _('Unable to insert already active database.');
88 site_admin_header(array('title'=>_('Site Admin: Groups\' DB Maintenance')));
90 $res_db = db_query_params ('
91 SELECT stateid,statename,COUNT(*) AS count
92 FROM prdb_dbs,prdb_states
94 GROUP BY statename,stateid
99 echo '<h3>' ._('Statistics for Project Databases').'</h3>';
101 if (db_numrows($res_db) > 0) {
105 $title[]= _('Count');
106 echo $GLOBALS['HTML']->listTableTop($title);
108 while ($row_db = db_fetch_array($res_db)) {
110 print '<tr><td class="align-center"><a href="'.getStringFromServer('PHP_SELF').'?displaydb=1&dbstate='.$row_db['stateid'].'">'.$row_db['statename'].'</a></td><td class="align-center">'.$row_db['count'].'</td></tr>';
114 echo $GLOBALS['HTML']->listTableBottom();
117 echo '<p>' ._('No databases defined').'</p>';
123 $res_db = db_query_params ('
130 $row_db = db_fetch_array($res_db);
132 print '<hr /><h3>' ._('Displaying Databases of Type:') .$row_db['statename'].' </h3><ul>';
134 $res_db = db_query_params ('
142 while ($row_db = db_fetch_array($res_db)) {
143 print '<li>'.util_make_link ('/project/admin/database.php?group_id='.$row_db['group_id'],$row_db['dbname']).'</li>';
155 <h3><?php echo _('Add an already active database'); ?></h3>
157 <form name="madd" method="post" action="<?php echo getStringFromServer('PHP_SELF'); ?>">
162 <td><?php echo _('Project Unix Name:'); ?><?php echo utils_requiredField(); ?></td>
163 <td><input type="text" required="required" name="groupname" /></td>
167 <td>Database Name:<?php echo utils_requiredField(); ?></td>
168 <td><input type="text" required="required" name="dbname" /></td>
172 <input type="submit" name="submit" value="<?php echo _('Add'); ?>"/>
177 site_admin_footer(array());