2 /*=====================================================================*\
3 || ###################################################################
5 || # Copyright ©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(
28 define('SVN', '$Id$');
30 $focus['showreport
'] = 'focus
';
32 require_once('./global.php
');
34 // ###################################################################
36 if (empty($_REQUEST['do']))
38 $_REQUEST['do'] = 'products
';
41 // ###################################################################
43 if ($_REQUEST['do'] == 'products
')
45 if (!is_array(bugdar::$datastore['product
']))
47 $message->error(T('There are no products set up
.'));
50 foreach (bugdar::$datastore['product
'] AS $product)
52 if ($product['parentid
'])
54 $components["$product[componentmother]"]["$product[productid]"] = $product;
58 $products["$product[productid]"] = $product;
62 foreach (bugdar::$datastore['version
'] AS $version)
64 $versions["$version[productid]"]["$version[versionid]"] = $version;
68 if (is_array($versions['0']))
70 foreach ($versions['0'] as $version)
72 $tpl = new BSTemplate('explain_row
');
74 'left
' => $version['version
'],
76 $globalversions .= $tpl->evaluate()->getTemplate();
80 foreach ($products as $product)
82 $tpl = new BSTemplate('explain_row
');
84 'left
' => $product['title
'],
85 'right
' => $product['description
'],
86 'trextra
' => ' class="altcolor"'
88 $productlist .= $tpl->evaluate()->getTemplate();
90 if (is_array($components["$product[productid]"]))
92 foreach ($components["$product[productid]"] as $component)
94 $tpl = new BSTemplate('explain_row
');
96 'left
' => ' 
; &rsaquo
;  
; ' . $component['title
'],
97 'right
' => $component['description
'],
99 $productlist .= $tpl->evaluate()->getTemplate();
104 $tpl = new BSTemplate('explain_product
');
106 'globalversions
' => $globalversions,
107 'productlist
' => $productlist
109 $tpl->evaluate()->flush();
112 // ###################################################################
114 if ($_REQUEST['do'] == 'automations
')
116 $fields_fetch = $db->query("
117 SELECT bugfield.*, MAX(permission.mask) AS mask
118 FROM " . TABLE_PREFIX . "bugfield AS bugfield
119 LEFT JOIN " . TABLE_PREFIX . "bugfieldpermission AS permission
120 ON (bugfield.fieldid = permission.fieldid)
121 WHERE (permission.mask = 2 OR permission.mask = 1)
122 AND permission.usergroupid IN (" . bugdar::$userinfo['usergroupid
'] . (sizeof(bugdar::$userinfo['groupids
']) != 0 ? ',' . implode(',', bugdar::$userinfo['groupids
']) : '') . ")
123 GROUP BY (bugfield.fieldid)
125 foreach ($fields_fetch as $field)
127 $fields["$field[fieldid]"] = $field;
130 if (is_array(bugdar::$datastore['automation
']))
132 foreach (bugdar::$datastore['automation
'] as $automation)
134 $automation['fieldchanges
'] = unserialize($automation['fieldchanges
']);
136 $tpl = new BSTemplate('explain_row
');
138 'left
' => $automation['name
'],
139 'right
' => $automation['description
'],
140 'trextra
' => ' class="listinghead"'
142 $automations .= $tpl->evaluate()->getTemplate();
144 if ($automation['comment
'])
146 $tpl = new BSTemplate('explain_row
');
148 'left
' => T('Add Comment
'),
149 'right
' => $automation['comment
'],
150 'trextra
' => ' class="altcolor"'
152 $automations .= $tpl->evaluate()->getTemplate();
157 if (is_array($automation['fieldchanges
']['builtin
']))
159 foreach ($automation['fieldchanges
']['builtin
'] AS $name => $value)
161 $tpl = new BSTemplate('explain_row
');
164 'right
' => bugdar::$datastore["$name"]["$value"]["$name"],
166 $automations .= $tpl->evaluate()->getTemplate();
170 if (is_array($automation['fieldchanges
']['custom
']))
172 foreach ($automation['fieldchanges
']['custom
'] AS $id => $value)
179 $tpl = new BSTemplate('explain_row
');
181 'left
' => $fields["$id"]['name
'] . ' ' . sprintf(T('(Custom
#%1$d, type: %2$s)'), $id, $fields["$id"]['type']),
184 $automations .= $tpl->evaluate()->getTemplate();
190 $tpl = new BSTemplate('explain_automation');
191 $tpl->vars
= array('automations' => $automations);
192 $tpl->evaluate()->flush();
195 /*=====================================================================*\
196 || ###################################################################
199 || ###################################################################
200 \*=====================================================================*/