|
From: Benjamin C. <bc...@us...> - 2001-07-11 03:36:07
|
Update of /cvsroot/phpbt/phpbt
In directory usw-pr-cvs1:/tmp/cvs-serv18468
Modified Files:
createdb.sql query.php
Log Message:
Allow users to save queries
Index: createdb.sql
===================================================================
RCS file: /cvsroot/phpbt/phpbt/createdb.sql,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- createdb.sql 2001/02/03 18:15:52 1.2
+++ createdb.sql 2001/07/11 03:36:04 1.3
@@ -188,6 +188,19 @@
insert into db_sequence values ('Resolution', 6);
#
+# Table structure for table 'SavedQuery'
+#
+
+DROP TABLE IF EXISTS SavedQuery;
+CREATE TABLE SavedQuery (
+ SavedQueryID int(10) unsigned NOT NULL auto_increment,
+ UserID int(10) unsigned DEFAULT '0' NOT NULL,
+ SavedQueryName varchar(40) NOT NULL,
+ SavedQueryString text NOT NULL,
+ PRIMARY KEY (SavedQueryID, UserID)
+);
+
+#
# Table structure for table 'Severity'
#
@@ -269,7 +282,3 @@
PRIMARY KEY (name,sid),
KEY changed (changed)
);
-
-# Upgrading from 0.1.2 to 0.1.3
-# alter table Bug add LastModifiedBy int(10) unsigned DEFAULT '0' NOT NULL after CreatedDate, add LastModifiedDate bigint(20) unsigned DEFAULT '0' NOT NULL after LastModifiedBy;
-# alter table Version change Version Name char (10) DEFAULT '' NOT NULL;
Index: query.php
===================================================================
RCS file: /cvsroot/phpbt/phpbt/query.php,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- query.php 2001/07/10 14:00:44 1.6
+++ query.php 2001/07/11 03:36:04 1.7
@@ -5,14 +5,23 @@
include 'include.php';
page_open(array('sess' => 'usess', 'auth' => 'uauth'));
+$u = $auth->auth['uid'];
+function delete_saved_query($queryid) {
+ global $q, $u, $me;
+
+ $q->query("delete from SavedQuery where UserID = $u and SavedQueryID = $queryid");
+ header("Location: $me?op=query");
+}
+
function show_query() {
- global $q, $t, $status, $resolution, $os, $priority, $severity, $TITLE;
+ global $q, $t, $status, $resolution, $os, $priority, $severity, $TITLE, $u;
$nq = new dbclass;
$t->set_file('content','queryform.html');
-
+ $t->set_block('content','row','rows');
+
// Build the javascript-powered select boxes
$q->query("select ProjectID, Name from Project where Active order by Name");
while (list($pid, $pname) = $q->grab()) {
@@ -34,6 +43,21 @@
if (substr($js,-1) == ',') $js = substr($js,0,-1);
$js .= ");\n";
}
+
+ // Grab the saved queries if there are any
+ $q->query("select * from SavedQuery where UserID = $u");
+ if (!$q->num_rows()) {
+ $t->set_var('rows','');
+ } else {
+ while ($row = $q->grab()) {
+ $t->set_var(array(
+ 'savedquerystring' => $row['SavedQueryString'],
+ 'savedqueryname' => stripslashes($row['SavedQueryName']),
+ 'savedqueryid' => $row['SavedQueryID']
+ ));
+ $t->parse('rows', 'row', true);
+ }
+ }
$t->set_var(array(
'js' => $js,
@@ -109,11 +133,16 @@
function list_items($showmybugs = false) {
global $querystring, $me, $q, $t, $selrange, $order, $sort, $query,
- $page, $op, $select, $TITLE, $STRING;
+ $page, $op, $select, $TITLE, $STRING, $savedqueryname, $u;
$t->set_file('content','buglist.html');
$t->set_block('content','row','rows');
+ // Save the query if requested
+ if ($savedqueryname) {
+ $savedquerystring = ereg_replace('&savedqueryname=.*(&?)', '\\1', $GLOBALS['QUERY_STRING']);
+ $q->query("insert into SavedQuery (UserID, SavedQueryName, SavedQueryString) values ($u, '$savedqueryname', '$savedquerystring')");
+ }
if (!$order) { $order = 'BugID'; $sort = 'asc'; }
if (!$querystring or $op) build_query($showmybugs);
$nr = $q->grab_field("select count(*) from Bug left join User Owner on
@@ -195,6 +224,7 @@
if ($op) switch($op) {
case 'query' : show_query(); break;
case 'doquery' : list_items(); break;
+ case 'delquery' : delete_saved_query($queryid); break;
case 'mybugs' : list_items(true); break;
default : show_query(); break;
}
|