|
From: Benjamin C. <bc...@us...> - 2002-07-18 13:02:18
|
Update of /cvsroot/phpbt/phpbt/inc
In directory usw-pr-cvs1:/tmp/cvs-serv9963/inc
Modified Files:
functions.php
Log Message:
Added configuration constants for four types of bug statuses. This removes the dependency on certain bug statuses having set names.
Index: functions.php
===================================================================
RCS file: /cvsroot/phpbt/phpbt/inc/functions.php,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- functions.php 13 Jun 2002 14:26:36 -0000 1.32
+++ functions.php 18 Jul 2002 13:02:15 -0000 1.33
@@ -48,75 +48,75 @@
global $db, $select, $perm, $STRING, $restricted_projects, $QUERY;
extract($params);
- if (!isset($selected)) {
- $selected = '';
- }
+ if (!isset($selected)) {
+ $selected = '';
+ }
// create hash to map tablenames
- $cfgDatabase = array(
- 'group' => TBL_AUTH_GROUP,
- 'project' => TBL_PROJECT,
- 'component' => TBL_COMPONENT,
- 'status' => TBL_STATUS,
- 'resolution' => TBL_RESOLUTION,
- 'severity' => TBL_SEVERITY,
- 'version' => TBL_VERSION,
- 'database' => TBL_DATABASE,
- 'site' => TBL_SITE
- );
+ $cfgDatabase = array(
+ 'group' => TBL_AUTH_GROUP,
+ 'project' => TBL_PROJECT,
+ 'component' => TBL_COMPONENT,
+ 'status' => TBL_STATUS,
+ 'resolution' => TBL_RESOLUTION,
+ 'severity' => TBL_SEVERITY,
+ 'version' => TBL_VERSION,
+ 'database' => TBL_DATABASE,
+ 'site' => TBL_SITE
+ );
$text = '';
if (isset($cfgDatabase[$box])) {
- $querystart = "select {$box}_id, {$box}_name from $cfgDatabase[$box]";
- $querymid = ' where sort_order > 0 order by sort_order';
- $queries = array(
- 'group' => $querystart.' where group_name <> \'User\' order by group_name',
- 'severity' => $querystart.$querymid,
- 'site' => $querystart.$querymid,
- 'status' => $querystart.$querymid,
- 'resolution' => $querystart.$querymid,
- 'project' => $perm->have_perm('Admin')
- ? $querystart." where ".
- ($selected ? "(active > 0 or project_id in ($selected))" : 'active > 0').
- " order by {$box}_name"
- : $querystart." where project_id not in ($restricted_projects)".
- " and ".
- ($selected ? " (active > 0 or project_id in ($selected))" : 'active > 0').
- " order by {$box}_name",
- 'component' => $querystart." where project_id = $project and active = 1 order by {$box}_name",
- 'version' => $querystart." where project_id = $project and active = 1 order by {$box}_id desc",
- 'database' => "select {$box}_id, {$box}_name, {$box}_version from $cfgDatabase[$box]".$querymid
- );
+ $querystart = "select {$box}_id, {$box}_name from $cfgDatabase[$box]";
+ $querymid = ' where sort_order > 0 order by sort_order';
+ $queries = array(
+ 'group' => $querystart.' where group_name <> \'User\' order by group_name',
+ 'severity' => $querystart.$querymid,
+ 'site' => $querystart.$querymid,
+ 'status' => $querystart.$querymid,
+ 'resolution' => $querystart.$querymid,
+ 'project' => $perm->have_perm('Admin')
+ ? $querystart." where ".
+ ($selected ? "(active > 0 or project_id in ($selected))" : 'active > 0').
+ " order by {$box}_name"
+ : $querystart." where project_id not in ($restricted_projects)".
+ " and ".
+ ($selected ? " (active > 0 or project_id in ($selected))" : 'active > 0').
+ " order by {$box}_name",
+ 'component' => $querystart." where project_id = $project and active = 1 order by {$box}_name",
+ 'version' => $querystart." where project_id = $project and active = 1 order by {$box}_id desc",
+ 'database' => "select {$box}_id, {$box}_name, {$box}_version from $cfgDatabase[$box]".$querymid
+ );
}
switch($box) {
case 'user_filter':
foreach ($STRING['user_filter'] as $k => $v) {
- $text .= sprintf("<option value=\"%d\"%s>%s</option>",
- $k, ($k == $selected ? ' selected' : ''), $v);
+ $text .= sprintf("<option value=\"%d\"%s>%s</option>",
+ $k, ($k == $selected ? ' selected' : ''), $v);
}
- break;
+ break;
case 'group':
if ($project) { // If we are building for project admin page
- if (!count($selected) or (count($selected) && in_array(0, $selected))) {
- $sel = ' selected';
- } else {
- $sel = '';
- }
- $text = "<option value=\"all\"$sel>All Groups</option>";
+ if (!count($selected) or (count($selected) && in_array(0, $selected))) {
+ $sel = ' selected';
+ } else {
+ $sel = '';
+ }
+ $text = "<option value=\"all\"$sel>All Groups</option>";
}
$rs = $db->query($queries[$box]);
while ($rs->fetchInto($row)) {
- if (count($selected) && in_array($row[$box.'_id'], $selected)) {
- $sel = ' selected';
- } else {
- $sel = '';
- }
- $text .= '<option value="'.
- $row[$box.'_id']."\"$sel>".$row[$box.'_name'].'</option>';
+ if (count($selected) && in_array($row[$box.'_id'], $selected)) {
+ $sel = ' selected';
+ } else {
+ $sel = '';
+ }
+ $text .= '<option value="'.
+ $row[$box.'_id']."\"$sel>".$row[$box.'_name'].'</option>';
}
- break;
+ break;
case 'severity':
case 'status':
case 'resolution':
@@ -126,130 +126,145 @@
case 'version':
$rs = $db->query($queries[$box]);
while ($rs->fetchInto($row)) {
- if ($selected == $row[$box.'_id'] and $selected != '') {
- $sel = ' selected';
- } else {
- $sel = '';
- }
- $text .= '<option value="'.
- $row[$box.'_id']."\"$sel>".$row[$box.'_name'].'</option>';
+ if ($selected == $row[$box.'_id'] and $selected != '') {
+ $sel = ' selected';
+ } else {
+ $sel = '';
+ }
+ $text .= '<option value="'.
+ $row[$box.'_id']."\"$sel>".$row[$box.'_name'].'</option>';
}
- break;
+ break;
case 'database':
$text = '<option value="0">None</option>';
$rs = $db->query($queries[$box]);
while ($rs->fetchInto($row)) {
- if ($selected == $row[$box.'_id'] and $selected != '') {
- $sel = ' selected';
- } else {
- $sel = '';
- }
- $text .= '<option value="'.
- $row[$box.'_id'].'"'.$sel.'>'.$row[$box.'_name'].' '.$row[$box.'_version'].'</option>';
+ if ($selected == $row[$box.'_id'] and $selected != '') {
+ $sel = ' selected';
+ } else {
+ $sel = '';
+ }
+ $text .= '<option value="'.
+ $row[$box.'_id'].'"'.$sel.'>'.$row[$box.'_name'].' '.$row[$box.'_version'].'</option>';
}
- break;
+ break;
case 'os':
$rs = $db->query("select {$box}_id, {$box}_name, regex from ".TBL_OS." where sort_order > 0 order by sort_order");
while ($rs->fetchInto($row)) {
- if ($selected == '' and isset($row['Regex']) and
- preg_match($row['Regex'],$GLOBALS['HTTP_USER_AGENT'])) {
- $sel = ' selected';
- } elseif ($selected == $row[$box.'_id']) {
- $sel = ' selected';
- } else {
- $sel = '';
- }
- $text .= '<option value="'.$row[$box.'_id']."\"$sel>".$row[$box.'_name']."</option>";
+ if ($selected == '' and isset($row['Regex']) and
+ preg_match($row['Regex'],$GLOBALS['HTTP_USER_AGENT'])) {
+ $sel = ' selected';
+ } elseif ($selected == $row[$box.'_id']) {
+ $sel = ' selected';
+ } else {
+ $sel = '';
+ }
+ $text .= '<option value="'.$row[$box.'_id']."\"$sel>".$row[$box.'_name']."</option>";
}
- break;
+ break;
case 'owner':
$rs = $db->query("select u.user_id, login from ".TBL_AUTH_USER." u, ".TBL_USER_GROUP." ug, ".TBL_AUTH_GROUP." g where u.active > 0 and u.user_id = ug.user_id and ug.group_id = g.group_id and group_name = 'Developer' order by login");
while ($rs->fetchInto($row)) {
- if ($selected == $row['user_id']) {
- $sel = ' selected';
- } else {
- $sel = '';
- }
- $text .= "<option value=\"{$row['user_id']}\"$sel>{$row['login']}</option>";
+ if ($selected == $row['user_id']) {
+ $sel = ' selected';
+ } else {
+ $sel = '';
+ }
+ $text .= "<option value=\"{$row['user_id']}\"$sel>{$row['login']}</option>";
}
- break;
+ break;
case 'bug_cc':
- $rs = $db->query(sprintf($QUERY['functions-bug-cc'], $selected));
- while (list($uid, $user) = $rs->fetchRow(DB_FETCHMODE_ORDERED)) {
- $text .= "<option value=\"$uid\">".maskemail($user).'</option>';
- }
- // Pad the sucker
- $text .= '<option value="" disabled>';
- for ($i = 0; $i < 30; $i++) {
- $text .= ' ';
- }
- $text .= '</option>';
- break;
+ $rs = $db->query(sprintf($QUERY['functions-bug-cc'], $selected));
+ while (list($uid, $user) = $rs->fetchRow(DB_FETCHMODE_ORDERED)) {
+ $text .= "<option value=\"$uid\">".maskemail($user).'</option>';
+ }
+ // Pad the sucker
+ $text .= '<option value="" disabled>';
+ for ($i = 0; $i < 30; $i++) {
+ $text .= ' ';
+ }
+ $text .= '</option>';
+ break;
case 'LANGUAGE' :
$dir = opendir('languages');
while (false !== ($file = readdir($dir))) {
- if ($file != '.' && $file != '..' && $file != 'CVS') {
- $filelist[] = str_replace('.php', '', $file);
- }
+ if ($file != '.' && $file != '..' && $file != 'CVS') {
+ $filelist[] = str_replace('.php', '', $file);
+ }
}
closedir($dir);
sort($filelist);
- foreach ($filelist as $file) {
- if ($file == $selected) {
- $sel = ' selected';
- } else {
- $sel = '';
- }
- $text .= "<option value=\"$file\"$sel>$file</option>";
+ foreach ($filelist as $file) {
+ if ($file == $selected) {
+ $sel = ' selected';
+ } else {
+ $sel = '';
+ }
+ $text .= "<option value=\"$file\"$sel>$file</option>";
}
- break;
+ break;
case 'THEME' :
$dir = opendir('templates');
while (false !== ($file = readdir($dir))) {
- if ($file != '.' && $file != '..' && $file != 'CVS') {
- $filelist[] = str_replace('.php', '', $file);
- }
+ if ($file != '.' && $file != '..' && $file != 'CVS') {
+ $filelist[] = str_replace('.php', '', $file);
+ }
}
closedir($dir);
sort($filelist);
foreach ($filelist as $file) {
- if ($file == $selected) {
- $sel = ' selected';
- } else {
- $sel = '';
- }
- $text .= "<option value=\"$file\"$sel>$file</option>";
+ if ($file == $selected) {
+ $sel = ' selected';
+ } else {
+ $sel = '';
+ }
+ $text .= "<option value=\"$file\"$sel>$file</option>";
}
- break;
+ break;
case 'STYLE' :
$dir = opendir('styles');
while (false !== ($file = readdir($dir))) {
- if ($file != '.' && $file != '..' && $file != 'CVS') {
- $filelist[] = str_replace('.css', '', $file);
- }
+ if ($file != '.' && $file != '..' && $file != 'CVS') {
+ $filelist[] = str_replace('.css', '', $file);
+ }
}
closedir($dir);
sort($filelist);
foreach ($filelist as $file) {
- if ($file == $selected) {
- $sel = ' selected';
- } else {
- $sel = '';
+ if ($file == $selected) {
+ $sel = ' selected';
+ } else {
+ $sel = '';
+ }
+ $text .= "<option value=\"$file\"$sel>$file</option>";
+ }
+ break;
+ case 'BUG_UNCONFIRMED' :
+ case 'BUG_PROMOTED' :
+ case 'BUG_ASSIGNED' :
+ case 'BUG_REOPENED' :
+ static $bug_status_list = array();
+
+ if (empty($bug_status_list)) {
+ $bug_status_list = $db->getAssoc("select status_id, status_name".
+ " from ".TBL_STATUS." order by status_name");
+ }
+ foreach ($bug_status_list as $id => $name) {
+ $sel = $id == $selected ? ' selected' : '';
+ $text .= "<option value=\"$id\"$sel>$name</option>";
}
- $text .= "<option value=\"$file\"$sel>$file</option>";
- }
- break;
+ break;
default :
$deadarray = $select[$box];
while(list($val,$item) = each($deadarray)) {
- if ($selected == $val and $selected != '') {
- $sel = ' selected';
- } else {
- $sel = '';
- }
- $text .= "<option value=\"$val\"$sel>$item</option>";
+ if ($selected == $val and $selected != '') {
+ $sel = ' selected';
+ } else {
+ $sel = '';
+ }
+ $text .= "<option value=\"$val\"$sel>$item</option>";
}
- break;
+ break;
}
echo ($text);
}
|