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($bugsys->datastore
['product']))
46 $message->error(T('There are no products set up.'));
49 foreach ($bugsys->datastore
['product'] AS $product)
51 if ($product['parentid'])
53 $components["$product[componentmother]"]["$product[productid]"] = $product;
57 $products["$product[productid]"] = $product;
61 foreach ($bugsys->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($bugsys->datastore
['automation']))
119 foreach ($bugsys->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 = $bugsys->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') . '");');