Main Page | Directories | File List | File Members

mod_filters.php

Go to the documentation of this file.
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                 The goal here is to show any existing bug filters for this user/group combo.
00031                 In addition, we are going to show an empty row where a new filter can be created
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                                 iterate and show the existing filters
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                 empty form for new filter
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>&nbsp;</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 ?>

Generated on Sun Feb 26 13:23:04 2006 for Savane PHP Frontend Developer Reference by  doxygen 1.4.4