00001 <?php
00002 # This file is part of the Savane project
00003 # <http://gna.org/projects/savane/>
00004 #
00005 # $Id: mod_filters.php 5466 2006-02-21 17:15:23Z toddy $
00006 #
00007 # Copyright 1999-2000 (c) The SourceForge Crew
00008 #
00009 # Copyright 2004 (c) ...
00010 #
00011 # The Savane project is free software; you can redistribute it and/or
00012 # modify it under the terms of the GNU General Public License
00013 # as published by the Free Software Foundation; either version 2
00014 # of the License, or (at your option) any later version.
00015 #
00016 # The Savane project is distributed in the hope that it will be useful,
00017 # but WITHOUT ANY WARRANTY; without even the implied warranty of
00018 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00019 # GNU General Public License for more details.
00020 #
00021 # You should have received a copy of the GNU General Public License
00022 # along with the Savane project; if not, write to the Free Software
00023 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
00024
00025 exit;
00026
00027 function show_filters ($group_id)
00028 {
00029
00030
00031
00032
00033 $sql="SELECT * FROM bug_filter WHERE user_id='".user_getid()."' AND group_id='$group_id'";
00034 $result=db_query($sql);
00035
00036 echo '<TABLE BORDER="0" CELLSPACING="1" CELLPADDING="2">';
00037
00038 if ($result && db_numrows($result) > 0) {
00039 for ($i=0; $i<db_numrows($result); $i++) {
00040
00041
00042
00043 ?>
00044 <FORM ACTION="<?php echo $PHP_SELF; ?>" METHOD="POST">
00045 <INPUT TYPE="HIDDEN" NAME="func" VALUE="postmodfilters">
00046 <INPUT TYPE="HIDDEN" NAME="group_id" VALUE="<?php echo $group_id; ?>">
00047 <INPUT TYPE="HIDDEN" NAME="subfunc" VALUE="mod">
00048 <INPUT TYPE="HIDDEN" NAME="filter_id" VALUE="<?php
00049 echo db_result($result,$i,"filter_id");
00050 ?>">
00051 <TR class="<?php echo utils_get_alt_row_color($i); ?>">
00052 <TD>
00053 <span class="smaller"><INPUT TYPE="SUBMIT" NAME="delete_filter" VALUE="Delete"><BR>
00054 <INPUT TYPE="SUBMIT" NAME="submit" VALUE="Modify/Activate">
00055 </span>
00056 </TD>
00057 <TD NOWRAP><span class="smaller">SELECT * FROM bug WHERE<BR>bug.group_id='<?php echo $group_id; ?>' AND (</span></TD>
00058 <TD NOWRAP><span class="smaller"><INPUT TYPE="TEXT" SIZE="60" MAXLENGTH="250" NAME="sql_clause" VALUE="<?php
00059 echo stripslashes(db_result($result,$i,"sql_clause"));
00060 ?>"></span></TD>
00061 <TD NOWRAP><span class="smaller">) LIMIT 0,50</span></TD>
00062 </TR></FORM>
00063 <?php
00064
00065 }
00066 }
00067
00068
00069
00070
00071
00072 ?>
00073 <FORM ACTION="<?php echo $PHP_SELF; ?>" METHOD="POST">
00074 <INPUT TYPE="HIDDEN" NAME="func" VALUE="postmodfilters">
00075 <INPUT TYPE="HIDDEN" NAME="group_id" VALUE="<?php echo $group_id; ?>">
00076 <INPUT TYPE="HIDDEN" NAME="subfunc" VALUE="add">
00077 <TR class="<?php echo utils_get_alt_row_color($i); ?>">
00078 <TD><span class="smaller"><INPUT TYPE="SUBMIT" NAME="SUBMIT" VALUE="Add"></span></TD>
00079 <TD NOWRAP><span class="smaller">SELECT * FROM bug WHERE<BR>bug.group_id='<?php echo $group_id; ?>' AND (</span></TD>
00080 <TD NOWRAP><span class="smaller"><INPUT TYPE="TEXT" SIZE="60" MAXLENGTH="250" NAME="sql_clause" VALUE="bug.status_id IN (1,2,3) OR bug.severity > 0 OR bug.bug_group_id IN (1,2,3,4) OR bug.resolution_id IN (1,2,3) OR bug.assigned_to IN (1,2,3,4,5,6) OR bug.category_id IN (1,2,3)"></span></TD>
00081 <TD NOWRAP><span class="smaller">) LIMIT 0,50</span></TD>
00082 </TR></FORM>
00083 </TABLE>
00084 <P>
00085 <FORM ACTION="<?php echo $PHP_SELF; ?>" METHOD="POST">
00086 <INPUT TYPE="HIDDEN" NAME="func" VALUE="postmodfilters">
00087 <INPUT TYPE="HIDDEN" NAME="group_id" VALUE="<?php echo $group_id; ?>">
00088 <INPUT TYPE="HIDDEN" NAME="subfunc" VALUE="turn_off">
00089 <INPUT TYPE="SUBMIT" NAME="SUBMIT" VALUE="Deactivate Filters">
00090 </FORM>
00091 <?php
00092
00093 }
00094
00095
00096 bug_header(array ('title'=>'Create a Personal Filter'));
00097
00098 if (user_isloggedin()) {
00099
00100 echo "<H2>Create a personal filter for ".user_getname()."</H2>";
00101 echo "<strong>Creating or modifying a filter makes it your active filter</strong><P>";
00102 echo "Be sure include 'bug.' before each field name, as in the example, as multiple tables are being joined in the query";
00103
00104 show_filters($group_id);
00105
00106 $sql="SELECT user.user_id,user.user_name FROM user,user_group WHERE user.user_id=user_group.user_id AND user_group.bug_flags IN (1,2) AND user_group.group_id='$group_id'";
00107 $result=db_query($sql);
00108
00109 $sql="select * from bug_status";
00110 $result2=db_query($sql);
00111
00112 $sql="select bug_category_id,category_name from bug_category WHERE group_id='$group_id'";
00113 $result3=db_query($sql);
00114
00115 $sql="select * from bug_resolution";
00116 $result4=db_query($sql);
00117
00118 $sql="select bug_group_id,group_name from bug_group WHERE group_id='$group_id'";
00119 $result5=db_query($sql);
00120
00121 ?>
00122 <TABLE WIDTH="100%" CELLPADDING="3">
00123 <TR>
00124 <TD COLSPAN="3">
00125 <strong>The following tables show which statuses, technicians, and categories you can include in your filter.
00126 </TD>
00127 </TR>
00128 <TR>
00129 <TD VALIGN="TOP"><?php utils_show_result_set($result,"Bug Techs for ".group_getname($group_id)); ?></TD>
00130 <TD VALIGN="TOP"><?php utils_show_result_set($result2,"Bug Statuses"); ?></TD>
00131 <TD VALIGN="TOP"><?php utils_show_result_set($result3,"Bug Categories for ".group_getname($group_id)); ?></TD>
00132 <TR>
00133 <TR>
00134 <TD VALIGN="TOP"><?php utils_show_result_set($result4,"Bug Resolutions"); ?></TD>
00135 <TD VALIGN="TOP"><?php utils_show_result_set($result5,"Bug Groups"); ?></TD>
00136 <TD> </TD>
00137 </TR>
00138 </TABLE>
00139 <?php
00140
00141 } else {
00142
00143 echo '
00144 <H1>You must be logged in before you can create personal filters for any given group</H2>';
00145
00146 }
00147
00148 bug_footer(array());
00149
00150 ?>