]>
src.bluestatic.org Git - bugdar.git/blob - explain.php
2 /*=====================================================================*\
3 || ###################################################################
5 || # Copyright (c)2002-2007 Blue Static
7 || # This program is free software; you can redistribute it and/or modify
8 || # it under the terms of the GNU General Public License as published by
9 || # the Free Software Foundation; version 2 of the License.
11 || # This program is distributed in the hope that it will be useful, but
12 || # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 || # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
16 || # You should have received a copy of the GNU General Public License along
17 || # with this program; if not, write to the Free Software Foundation, Inc.,
18 || # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
19 || ###################################################################
20 \*=====================================================================*/
22 $fetchtemplates = array (
29 $focus [ 'showreport' ] = 'focus' ;
31 require_once ( './global.php' );
33 // ###################################################################
35 if ( empty ( $_REQUEST [ 'do' ]))
37 $_REQUEST [ 'do' ] = 'products' ;
40 // ###################################################################
42 if ( $_REQUEST [ 'do' ] == 'products' )
44 if (! is_array ( Bugdar
:: $datastore [ 'product' ]))
46 $message- > error ( T ( 'There are no products set up.' ));
49 foreach ( Bugdar
:: $datastore [ 'product' ] AS $product )
51 if ( $product [ 'parentid' ])
53 $components [ " $product [componentmother]" ][ " $product [productid]" ] = $product ;
57 $products [ " $product [productid]" ] = $product ;
61 foreach ( Bugdar
:: $datastore [ 'version' ] AS $version )
63 $versions [ " $version [productid]" ][ " $version [versionid]" ] = $version ;
67 if ( is_array ( $versions [ '0' ]))
69 foreach ( $versions [ '0' ] AS $version )
71 $left = $version [ 'version' ];
73 eval ( ' $globalversions .= "' . $template- > fetch ( 'explain_row' ) . '";' );
77 foreach ( $products AS $product )
79 $left = $product [ 'title' ];
80 $right = $product [ 'description' ];
81 $trextra = ' class="altcolor"' ;
82 eval ( ' $productlist .= "' . $template- > fetch ( 'explain_row' ) . '";' );
84 if ( is_array ( $components [ " $product [productid]" ]))
86 foreach ( $components [ " $product [productid]" ] AS $component )
88 $left = ' › ' . $component [ 'title' ];
89 $right = $component [ 'description' ];
91 eval ( ' $productlist .= "' . $template- > fetch ( 'explain_row' ) . '";' );
96 eval ( ' $template- >flush("' . $template- > fetch ( 'explain_product' ) . '");' );
99 // ###################################################################
101 if ( $_REQUEST [ 'do' ] == 'automations' )
103 $fields_fetch = $bugsys- > db
-> query ( "
104 SELECT bugfield.*, MAX(permission.mask) AS mask
105 FROM " . TABLE_PREFIX
. "bugfield AS bugfield
106 LEFT JOIN " . TABLE_PREFIX
. "bugfieldpermission AS permission
107 ON (bugfield.fieldid = permission.fieldid)
108 WHERE (permission.mask = 2 OR permission.mask = 1)
109 AND permission.usergroupid IN ( {$bugsys->userinfo['usergroupid']} " . ( sizeof ( $bugsys- > userinfo
[ 'groupids' ]) != 0 ? ',' . implode ( ',' , $bugsys- > userinfo
[ 'groupids' ]) : '' ) . ")
110 GROUP BY (bugfield.fieldid)
112 while ( $field = $bugsys- > db
-> fetch_array ( $fields_fetch ))
114 $fields [ " $field [fieldid]" ] = $field ;
117 if ( is_array ( Bugdar
:: $datastore [ 'automation' ]))
119 foreach ( Bugdar
:: $datastore [ 'automation' ] AS $automation )
121 $automation [ 'fieldchanges' ] = unserialize ( $automation [ 'fieldchanges' ]);
123 $left = $automation [ 'name' ];
124 $right = $automation [ 'description' ];
125 $trextra = ' class="listinghead"' ;
127 eval ( ' $automations .= "' . $template- > fetch ( 'explain_row' ) . '";' );
129 if ( $automation [ 'comment' ])
131 $left = T ( 'Add Comment' );
132 $right = $automation [ 'comment' ];
133 $trextra = ' class="altcolor"' ;
135 eval ( ' $automations .= "' . $template- > fetch ( 'explain_row' ) . '";' );
140 if ( is_array ( $automation [ 'fieldchanges' ][ 'builtin' ]))
142 foreach ( $automation [ 'fieldchanges' ][ 'builtin' ] AS $name => $value )
145 $right = Bugdar
:: $datastore [ " $left" ][" $value" ][ " $left" ];
146 eval(' $automations .= " ' . $template- >fetch(' explain_row
') . ' ";');
150 if (is_array( $automation ['fieldchanges']['custom']))
152 foreach ( $automation ['fieldchanges']['custom'] AS $id => $value )
159 $left = $fields [ " $id" ]['name'] . ' ' . sprintf(T('(Custom #%1 $d , type: %2 $s )'), $id , $fields [" $id" ][ 'type' ]);
161 eval ( ' $automations .= "' . $template- > fetch ( 'explain_row' ) . '";' );
167 eval ( ' $template- >flush("' . $template- > fetch ( 'explain_automation' ) . '");' );