Switch the 'modify' code of admin/field.php to use templates
[bugdar.git] / explain.php
index 365756834a1658ba1d79befec179f55b854efd42..705495b7c99dad754841874513fc9557e2998ed5 100644 (file)
@@ -2,7 +2,7 @@
 /*=====================================================================*\
 || ###################################################################
 || # Bugdar
-|| # Copyright ©2002-2007 Blue Static
+|| # 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
@@ -25,7 +25,6 @@ $fetchtemplates = array(
        'explain_row'
 );
 
-define('SVN', '$Id$');
 
 $focus['showreport'] = 'focus';
 
@@ -42,12 +41,12 @@ if (empty($_REQUEST['do']))
 
 if ($_REQUEST['do'] == 'products')
 {
-       if (!is_array($bugsys->datastore['product']))
+       if (!is_array(bugdar::$datastore['product']))
        {
-               $message->error(_('There are no products set up.'));
+               $message->error(T('There are no products set up.'));
        }
        
-       foreach ($bugsys->datastore['product'] AS $product)
+       foreach (bugdar::$datastore['product'] AS $product)
        {
                if ($product['parentid'])
                {
@@ -59,7 +58,7 @@ if ($_REQUEST['do'] == 'products')
                }
        }
        
-       foreach ($bugsys->datastore['version'] AS $version)
+       foreach (bugdar::$datastore['version'] AS $version)
        {
                $versions["$version[productid]"]["$version[versionid]"] = $version;
        }
@@ -67,73 +66,89 @@ if ($_REQUEST['do'] == 'products')
        // global versions
        if (is_array($versions['0']))
        {
-               foreach ($versions['0'] AS $version)
+               foreach ($versions['0'] as $version)
                {
-                       $left = $version['version'];
-                       $right = null;
-                       eval('$globalversions .= "' . $template->fetch('explain_row') . '";');
+                       $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 = ' class="altcolor"';
-               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();
                
                if (is_array($components["$product[productid]"]))
                {
-                       foreach ($components["$product[productid]"] AS $component)
+                       foreach ($components["$product[productid]"] as $component)
                        {
-                               $left = '  ›   ' . $component['title'];
-                               $right = $component['description'];
-                               $trextra = '';
-                               eval('$productlist .= "' . $template->fetch('explain_row') . '";');
+                               $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'] == 'automations')
 {
-       $fields_fetch = $bugsys->db->query("
+       $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 IN ({$bugsys->userinfo['usergroupid']}" . (sizeof($bugsys->userinfo['groupids']) != 0 ? ',' . implode(',', $bugsys->userinfo['groupids']) : '') . ")
+               AND permission.usergroupid IN (" . bugdar::$userinfo['usergroupid'] . (sizeof(bugdar::$userinfo['groupids']) != 0 ? ',' . implode(',', bugdar::$userinfo['groupids']) : '') . ")
                GROUP BY (bugfield.fieldid)
        ");
-       while ($field = $bugsys->db->fetch_array($fields_fetch))
+       foreach ($fields_fetch as $field)
        {
                $fields["$field[fieldid]"] = $field;
        }
        
-       if (is_array($bugsys->datastore['automation']))
+       if (is_array(bugdar::$datastore['automation']))
        {
-               foreach ($bugsys->datastore['automation'] AS $automation)
+               foreach (bugdar::$datastore['automation'] as $automation)
                {
                        $automation['fieldchanges'] = unserialize($automation['fieldchanges']);
                        
-                       $left = $automation['name'];
-                       $right = $automation['description'];
-                       $trextra = ' class="listinghead"';
-                       
-                       eval('$automations .= "' . $template->fetch('explain_row') . '";');
+                       $tpl = new BSTemplate('explain_row');
+                       $tpl->vars = array(
+                               'left'          => $automation['name'],
+                               'right'         => $automation['description'],
+                               'trextra'       => ' class="listinghead"'
+                       );
+                       $automations .= $tpl->evaluate()->getTemplate();
                        
                        if ($automation['comment'])
                        {
-                               $left = _('Add Comment');
-                               $right = $automation['comment'];
-                               $trextra = ' class="altcolor"';
-                               
-                               eval('$automations .= "' . $template->fetch('explain_row') . '";');
+                               $tpl = new BSTemplate('explain_row');
+                               $tpl->vars = array(
+                                       'left'          => T('Add Comment'),
+                                       'right'         => $automation['comment'],
+                                       'trextra'       => ' class="altcolor"'
+                               );
+                               $automations .= $tpl->evaluate()->getTemplate();
                        }
                        
                        $trextra = '';
@@ -142,9 +157,12 @@ if ($_REQUEST['do'] == 'automations')
                        {
                                foreach ($automation['fieldchanges']['builtin'] AS $name => $value)
                                {
-                                       $left = $name;
-                                       $right = $bugsys->datastore["$left"]["$value"]["$left"];
-                                       eval('$automations .= "' . $template->fetch('explain_row') . '";');
+                                       $tpl = new BSTemplate('explain_row');
+                                       $tpl->vars = array(
+                                               'left'          => $name,
+                                               'right'         => bugdar::$datastore["$name"]["$value"]["$name"],
+                                       );
+                                       $automations .= $tpl->evaluate()->getTemplate();
                                }
                        }
                        
@@ -157,21 +175,20 @@ if ($_REQUEST['do'] == 'automations')
                                                continue;
                                        }
                                        
-                                       $left = $fields["$id"]['name'] . ' ' . sprintf(_('(Custom #%1$d, type: %2$s)'), $id, $fields["$id"]['type']);
-                                       $right = $value;
-                                       eval('$automations .= "' . $template->fetch('explain_row') . '";');
+                                       $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_automation') . '");');
+       $tpl = new BSTemplate('explain_automation');
+       $tpl->vars = array('automations' => $automations);
+       $tpl->evaluate()->flush();
 }
 
-/*=====================================================================*\
-|| ###################################################################
-|| # $HeadURL$
-|| # $Id$
-|| ###################################################################
-\*=====================================================================*/
 ?>
\ No newline at end of file