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.
33 require_once '../env.inc.php';
34 require_once $gfcommon.'include/pre.php';
35 require_once $gfwww.'admin/admin_utils.php';
37 if (!forge_get_config('use_project_database')) {
38 exit_disabled('home');
41 session_require_global_perm ('forge_admin');
43 if (getStringFromRequest('submit')) {
44 $group_id = getIntFromRequest('group_id');
45 $groupname = getStringFromRequest('groupname');
46 $dbname = getStringFromRequest('dbname');
50 $group = group_get_object_by_name($groupname);
51 if (!$group || !is_object($group)) {
53 } elseif ($group->isError()) {
54 exit_error($group->getErrorMessage(),'home');
57 $group_id = $group->getID();
59 $user =& session_get_user();
60 if (!$user || !is_object($user)) {
61 exit_error(_('Could Not Get User'),'home');
62 } elseif ($user->isError()) {
63 exit_error($u->getErrorMessage(),'home');
66 $res = db_query_params ('
67 INSERT INTO prdb_dbs(group_id, dbname, dbusername, dbuserpass, requestdate, dbtype, created_by, state)
68 VALUES ($group_id,$1,$2,$3,$4,1,$5,1)
76 if (!$res || db_affected_rows($res) < 1) {
77 $error_msg .= _('Error Adding Database: ') .db_error();
79 $feedback .= _('Project'). " <em>".$group->getUnixName()."</em>" ._('added already active database');
82 $error_msg .= _('Unable to insert already active database.');
86 site_admin_header(array('title'=>_('Site Admin: Groups\' DB Maintenance')));
88 $res_db = db_query_params ('
89 SELECT stateid,statename,COUNT(*) AS count
90 FROM prdb_dbs,prdb_states
92 GROUP BY statename,stateid
96 echo '<h3>' ._('Statistics for Project Databases').'</h3>';
98 if (db_numrows($res_db) > 0) {
102 $title[]= _('Count');
103 echo $GLOBALS['HTML']->listTableTop($title);
105 while ($row_db = db_fetch_array($res_db)) {
107 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>';
111 echo $GLOBALS['HTML']->listTableBottom();
114 echo '<p>' ._('No databases defined').'</p>';
119 $res_db = db_query_params ('
126 $row_db = db_fetch_array($res_db);
128 print '<hr /><h3>' ._('Displaying Databases of Type:') .$row_db['statename'].' </h3><ul>';
130 $res_db = db_query_params ('
138 while ($row_db = db_fetch_array($res_db)) {
139 print '<li>'.util_make_link ('/project/admin/database.php?group_id='.$row_db['group_id'],$row_db['dbname']).'</li>';
148 <h3><?php echo _('Add an already active database'); ?></h3>
150 <form name="madd" method="post" action="<?php echo getStringFromServer('PHP_SELF'); ?>">
155 <td><?php echo _('Project Unix Name')._(': '); ?><?php echo utils_requiredField(); ?></td>
156 <td><input type="text" required="required" name="groupname" /></td>
160 <td><?php echo _('Database Name')._(': '); ?><?php echo utils_requiredField(); ?></td>
161 <td><input type="text" required="required" name="dbname" /></td>
165 <input type="submit" name="submit" value="<?php echo _('Add'); ?>"/>
170 site_admin_footer(array());