<?php
/*=====================================================================*\
|| ###################################################################
-|| # Bugdar [#]version[#]
-|| # Copyright ©2002-[#]year[#] Blue Static
+|| # Bugdar
+|| # Copyright (c)2004-2009 Blue Static
|| #
|| # This program is free software; you can redistribute it and/or modify
|| # it under the terms of the GNU General Public License as published by
-|| # the Free Software Foundation; version [#]gpl[#] of the License.
+|| # the Free Software Foundation; version 2 of the License.
|| #
|| # This program is distributed in the hope that it will be useful, but
|| # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
$fetchtemplates = array(
'explain_product',
- 'explain_autoaction',
+ 'explain_automation',
'explain_row'
);
-define('SVN', '$Id$');
$focus['showreport'] = 'focus';
if ($_REQUEST['do'] == 'products')
{
- foreach ($bugsys->datastore['product'] AS $product)
+ if (!is_array(bugdar::$datastore['product']))
{
- if ($product['componentmother'])
+ $message->error(T('There are no products set up.'));
+ }
+
+ foreach (bugdar::$datastore['product'] AS $product)
+ {
+ if ($product['parentid'])
{
$components["$product[componentmother]"]["$product[productid]"] = $product;
}
}
}
- foreach ($bugsys->datastore['version'] AS $version)
+ foreach (bugdar::$datastore['version'] AS $version)
{
$versions["$version[productid]"]["$version[versionid]"] = $version;
}
// global versions
- foreach ($versions['0'] AS $version)
+ if (is_array($versions['0']))
{
- $left = $version['version'];
- $right = null;
- eval('$globalversions .= "' . $template->fetch('explain_row') . '";');
+ foreach ($versions['0'] as $version)
+ {
+ $tpl = new BSTemplate('explain_row');
+ $tpl->vars = array(
+ 'left' => $version['version'],
+ );
+ $globalversions .= $tpl->evaluate()->getTemplate();
+ }
}
- foreach ($products AS $product)
+ foreach ($products as $product)
{
- $left = $product['title'];
- $right = $product['description'];
- $trextra = ' style="background-color: ' . $stylevar['alt_colour'] . '"';
- eval('$productlist .= "' . $template->fetch('explain_row') . '";');
+ $tpl = new BSTemplate('explain_row');
+ $tpl->vars = array(
+ 'left' => $product['title'],
+ 'right' => $product['description'],
+ 'trextra' => ' class="altcolor"'
+ );
+ $productlist .= $tpl->evaluate()->getTemplate();
- foreach ($components["$product[productid]"] AS $component)
+ if (is_array($components["$product[productid]"]))
{
- $left = ' › ' . $component['title'];
- $right = $component['description'];
- $trextra = '';
- eval('$productlist .= "' . $template->fetch('explain_row') . '";');
+ foreach ($components["$product[productid]"] as $component)
+ {
+ $tpl = new BSTemplate('explain_row');
+ $tpl->vars = array(
+ 'left' => ' › ' . $component['title'],
+ 'right' => $component['description'],
+ );
+ $productlist .= $tpl->evaluate()->getTemplate();
+ }
}
}
- eval('$template->flush("' . $template->fetch('explain_product') . '");');
+ $tpl = new BSTemplate('explain_product');
+ $tpl->vars = array(
+ 'globalversions' => $globalversions,
+ 'productlist' => $productlist
+ );
+ $tpl->evaluate()->flush();
}
// ###################################################################
-if ($_REQUEST['do'] == 'autoactions')
+if ($_REQUEST['do'] == 'automations')
{
- $fields_fetch = $bugsys->db->query("
- SELECT bugfield.*, permission.mask
+ $fields_fetch = $db->query("
+ SELECT bugfield.*, MAX(permission.mask) AS mask
FROM " . TABLE_PREFIX . "bugfield AS bugfield
LEFT JOIN " . TABLE_PREFIX . "bugfieldpermission AS permission
ON (bugfield.fieldid = permission.fieldid)
WHERE (permission.mask = 2 OR permission.mask = 1)
- AND permission.usergroupid = {$bugsys->userinfo['usergroupid']}"
- );
- while ($field = $bugsys->db->fetch_array($fields_fetch))
+ AND permission.usergroupid IN (" . bugdar::$userinfo['usergroupid'] . (sizeof(bugdar::$userinfo['groupids']) != 0 ? ',' . implode(',', bugdar::$userinfo['groupids']) : '') . ")
+ GROUP BY (bugfield.fieldid)
+ ");
+ foreach ($fields_fetch as $field)
{
$fields["$field[fieldid]"] = $field;
}
-
- foreach ((array)$bugsys->datastore['autoaction'] AS $autoaction)
+
+ if (is_array(bugdar::$datastore['automation']))
{
- $autoaction['fieldchanges'] = unserialize($autoaction['fieldchanges']);
-
- $left = $autoaction['name'];
- $right = $autoaction['description'];
- $trextra = ' class="listinghead"';
-
- eval('$autoactions .= "' . $template->fetch('explain_row') . '";');
-
- if ($autoaction['comment'])
+ foreach (bugdar::$datastore['automation'] as $automation)
{
- $left = _('Add Comment');
- $right = $autoaction['comment'];
- $trextra = ' style="background-color: ' . $stylevar['alt_colour'] . '"';
+ $automation['fieldchanges'] = unserialize($automation['fieldchanges']);
- eval('$autoactions .= "' . $template->fetch('explain_row') . '";');
- }
-
- $trextra = '';
-
- foreach ((array)$autoaction['fieldchanges']['builtin'] AS $name => $value)
- {
- $left = $name;
- $right = $bugsys->datastore["$left"]["$value"]["$left"];
- eval('$autoactions .= "' . $template->fetch('explain_row') . '";');
- }
-
- foreach ((array)$autoaction['fieldchanges']['custom'] AS $id => $value)
- {
- if (!$fields["$id"])
+ $tpl = new BSTemplate('explain_row');
+ $tpl->vars = array(
+ 'left' => $automation['name'],
+ 'right' => $automation['description'],
+ 'trextra' => ' class="listinghead"'
+ );
+ $automations .= $tpl->evaluate()->getTemplate();
+
+ if ($automation['comment'])
{
- continue;
+ $tpl = new BSTemplate('explain_row');
+ $tpl->vars = array(
+ 'left' => T('Add Comment'),
+ 'right' => $automation['comment'],
+ 'trextra' => ' class="altcolor"'
+ );
+ $automations .= $tpl->evaluate()->getTemplate();
}
- $left = $fields["$id"]['name'] . ' ' . sprintf(_('(Custom #%1$d, type: %2$s)'), $id, $fields["$id"]['type']);
- $right = $value;
- eval('$autoactions .= "' . $template->fetch('explain_row') . '";');
+ $trextra = '';
+
+ if (is_array($automation['fieldchanges']['builtin']))
+ {
+ foreach ($automation['fieldchanges']['builtin'] AS $name => $value)
+ {
+ $tpl = new BSTemplate('explain_row');
+ $tpl->vars = array(
+ 'left' => $name,
+ 'right' => bugdar::$datastore["$name"]["$value"]["$name"],
+ );
+ $automations .= $tpl->evaluate()->getTemplate();
+ }
+ }
+
+ if (is_array($automation['fieldchanges']['custom']))
+ {
+ foreach ($automation['fieldchanges']['custom'] AS $id => $value)
+ {
+ if (!$fields["$id"])
+ {
+ continue;
+ }
+
+ $tpl = new BSTemplate('explain_row');
+ $tpl->vars = array(
+ 'left' => $fields["$id"]['name'] . ' ' . sprintf(T('(Custom #%1$d, type: %2$s)'), $id, $fields["$id"]['type']),
+ 'right' => $value,
+ );
+ $automations .= $tpl->evaluate()->getTemplate();
+ }
+ }
}
}
- eval('$template->flush("' . $template->fetch('explain_autoaction') . '");');
+ $tpl = new BSTemplate('explain_automation');
+ $tpl->vars = array('automations' => $automations);
+ $tpl->evaluate()->flush();
}
-/*=====================================================================*\
-|| ###################################################################
-|| # $HeadURL$
-|| # $Id$
-|| ###################################################################
-\*=====================================================================*/
?>
\ No newline at end of file