<?php
-
+/**********************************************************************
+ Copyright (C) FrontAccounting, LLC.
+ Released under the terms of the GNU General Public License, GPL,
+ as published by the Free Software Foundation, either version 3
+ of the License, or (at your option) any later version.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
+***********************************************************************/
include_once($path_to_root . "/includes/banking.inc");
-include_once($path_to_root . "/includes/reserved.inc");
include_once($path_to_root . "/includes/types.inc");
include_once($path_to_root . "/includes/current_user.inc");
$_select_button = "<input %s type='submit' class='combo_select' style='border:0;background:url($path_to_root/themes/"
."%s/images/button_ok.png) no-repeat;%s' aspect='fallback' name='%s' value=' ' title='"._("Select")."'> ";
-$all_items = reserved_words::get_all();
+$all_items = ALL_TEXT;
//----------------------------------------------------------------------------
// Universal sql combo generator
// submit on select parameters
'default' => '', // default value when $_POST is not set
'select_submit' => false, //submit on select: true/false
- 'edit_submit' => false, // call editor on F4
'async' => true, // select update via ajax (true) vs _page_body reload
// search box parameters
'sel_hint' => null,
'search' => array(), // sql field names to search
'format' => null, // format functions for regular options
'disabled' => false,
- 'box_hint' => null // box/selectors hints; null = std see below
+ 'box_hint' => null, // box/selectors hints; null = std see below
+ 'category' => false, // category column name or false
+ 'show_inactive' => false // show inactive records.
);
// ------ merge options with defaults ----------
if($options != null)
$search_box = $opts['search_box']===true ? '_'.$name.'_edit' : $opts['search_box'];
$search_submit = $opts['search_submit']===true ? '_'.$name.'_button' : $opts['search_submit'];
- $select_submit = $opts['select_submit']===true ? '_'.$name.'_update' : $opts['select_submit'];
+ $select_submit = $opts['select_submit'];
$spec_id = $opts['spec_id'];
$spec_option = $opts['spec_option'];
$by_id = ($opts['type'] == 0);
$rel = '';
$limit = '';
- if (isset($_POST[$select_submit])) {
+ if (isset($_POST['_'.$name.'_update'])) {
if ($by_id) $txt = $_POST[$name];
if (!$opts['async'])
}
// sql completion
if (count($opts['where'])) {
- $sql .= strpos($sql, 'WHERE')==false ? ' WHERE ':' AND ';
- $sql .= '('. implode($opts['where'], ' AND ') . ')';
+ $where = strpos($sql, 'WHERE')==false ? ' WHERE ':' AND ';
+ $where .= '('. implode($opts['where'], ' AND ') . ')';
+ $group_pos = strpos($sql, 'GROUP BY');
+ if ($group_pos) {
+ $group = substr($sql, $group_pos);
+ $sql = substr($sql, 0, $group_pos) . $where.' '.$group;
+ } else {
+ $sql .= $where;
+ }
}
if ($opts['order'] != false) {
- $sql .= ' ORDER BY '.$opts['order'];
+ if (!is_array($opts['order']))
+ $opts['order'] = array($opts['order']);
+ $sql .= ' ORDER BY '.implode(',',$opts['order']);
}
$sql .= $limit;
$selector = $first_opt = '';
$first_id = false;
$found = false;
-//if($name=='contact_sel') display_error($sql);
+ $lastcat = null;
+//if($name=='stock_id') display_error($sql);
if($result = db_query($sql)) {
while ($contact_row = db_fetch($result)) {
$value = $contact_row[0];
$sel = 'selected';
$found = $value;
}
+ // show selected option even if inactive
+ if (!$opts['show_inactive'] && @$contact_row['inactive'] && $sel==='') {
+ continue;
+ } else
+ $optclass = @$contact_row['inactive'] ? "class='inactive'" : '';
+
if ($first_id === false) {
$first_id = $value;
$first_opt = $descr;
}
- $selector .= "<option $sel value='$value'>$descr</option>\n";
+ $cat = $contact_row[$opts['category']];
+ if ($opts['category'] !== false && $cat != $lastcat){
+ $selector .= "<optgroup label='".$cat."'>\n";
+ $lastcat = $cat;
+ }
+ $selector .= "<option $sel $optclass value='$value'>$descr</option>\n";
}
db_free_result($result);
}
if ($spec_option !== false) { // if special option used - add it
$first_id = $spec_id;
$first_opt = $spec_option;
+// }
+// if($first_id !== false) {
$sel = $found===false ? 'selected' : '';
- $selector = "<option $sel value='$spec_id'>$spec_option</option>\n"
+ $optclass = @$contact_row['inactive'] ? "class='inactive'" : '';
+ $selector = "<option $sel value='$first_id'>$first_opt</option>\n"
. $selector;
}
$txt = $found;
$Ajax->addUpdate($name, $search_box, $txt ? $txt : '');
}
- $aspect = $opts['edit_submit'] ? " aspect='editable'" : '';
$selector = "<select $disabled name='$name' class='$class' title='"
- . $opts['sel_hint']."'$aspect $rel>".$selector."</select>\n";
+ . $opts['sel_hint']."' $rel>".$selector."</select>\n";
$Ajax->addUpdate($name, "_{$name}_sel", $selector);
// button class selects form reload/ajax selector update
$selector .= sprintf($_select_button, $disabled, user_theme(),
(fallback_mode() ? '' : 'display:none;'),
- $select_submit)."\n";
+ '_'.$name.'_update')."\n";
}
// ------ make combo ----------
$search_submit)."\n";
}
}
- default_focus($name);
+ default_focus(($search_box && $by_id) ? $search_box : $name);
$str = $selector;
if ($search_box && $opts['cells'])
echo ($edit_entry!='' ? "<td>$edit_entry</td>" : '')."<td>$selector</td>";
'spec_option'=>false, // option text or false
'spec_id' => 0, // option id
'select_submit' => false, //submit on select: true/false
- 'edit_submit' => false, // call editor on F4
'async' => true, // select update via ajax (true) vs _page_body reload
'default' => '', // default value when $_POST is not set
// search box parameters
// ------ merge options with defaults ----------
if($options != null)
$opts = array_merge($opts, $options);
- $select_submit = $opts['select_submit']===true ? '_'.$name.'_update' : $opts['select_submit'];
+ $select_submit = $opts['select_submit'];
$spec_id = $opts['spec_id'];
$spec_option = $opts['spec_option'];
$disabled = $opts['disabled'] ? "disabled" : '';
$selected_id = get_post($name, $opts['default']);
}
- if (isset($_POST[$select_submit])) {
+ if (isset($_POST[ '_'.$name.'_update'])) {
if (!$opts['async'])
$Ajax->activate('_page_body');
else
//if($name=='SelectStockFromList') display_error($sql);
foreach($items as $value=>$descr) {
$sel = '';
- if ($selected_id == $value) {
+ if ((string)$selected_id === (string)$value) {
$sel = 'selected';
$found = $value;
}
}
if ($found === false) {
- $_POST[$name] = $first_id;
+ $selected_id = $first_id;
}
+ $_POST[$name] = $selected_id;
- $aspect = $opts['edit_submit'] ? " aspect='editable'" : '';
$selector = "<select $disabled name='$name' class='combo' title='"
- . $opts['sel_hint']."'$aspect >".$selector."</select>\n";
+ . $opts['sel_hint']."'>".$selector."</select>\n";
$Ajax->addUpdate($name, "_{$name}_sel", $selector);
global $_select_button;
$selector .= sprintf($_select_button, $disabled, user_theme(),
(fallback_mode() ? '' : 'display:none;'),
- $select_submit)."\n";
+ '_'.$name.'_update')."\n";
}
default_focus($name);
echo $selector;
'' : (" - " . $row[2]));
}
-function supplier_list($name, $selected_id=null, $spec_option=false, $submit_on_change=false)
+function supplier_list($name, $selected_id=null, $spec_option=false, $submit_on_change=false,
+ $all=false, $editkey = false)
{
global $all_items;
- $sql = "SELECT supplier_id, supp_name, curr_code FROM ".TB_PREF."suppliers ";
+ $sql = "SELECT supplier_id, supp_ref, curr_code, inactive FROM ".TB_PREF."suppliers ";
$mode = get_company_pref('no_supplier_list');
+ if ($editkey)
+ set_editor('supplier', $name, $editkey);
+
return combo_input($name, $selected_id, $sql, 'supplier_id', 'supp_name',
array(
'format' => '_format_add_curr',
+ 'order' => array('supp_ref'),
'search_box' => $mode!=0,
- 'edit_submit' => true,
'type' => 1,
'spec_option' => $spec_option === true ? _("All Suppliers") : $spec_option,
'spec_id' => $all_items,
'select_submit'=> $submit_on_change,
'async' => false,
'sel_hint' => $mode ? _('Press Space tab to filter by name fragment') :
- _('Select supplier')
+ _('Select supplier'),
+ 'show_inactive'=>$all
));
}
-function supplier_list_cells($label, $name, $selected_id=null, $all_option=false, $submit_on_change=false)
+function supplier_list_cells($label, $name, $selected_id=null, $all_option=false,
+ $submit_on_change=false, $all=false, $editkey = false)
{
if ($label != null)
echo "<td>$label</td><td>\n";
- $str = supplier_list($name, $selected_id, $all_option, $submit_on_change);
+ $str = supplier_list($name, $selected_id, $all_option, $submit_on_change,
+ $all, $editkey);
echo "</td>\n";
return $str;
}
-function supplier_list_row($label, $name, $selected_id=null, $all_option = false, $submit_on_change=false)
+function supplier_list_row($label, $name, $selected_id=null, $all_option = false,
+ $submit_on_change=false, $all=false, $editkey = false)
{
echo "<tr><td>$label</td><td>";
- $str = supplier_list($name, $selected_id, $all_option, $submit_on_change );
+ $str = supplier_list($name, $selected_id, $all_option, $submit_on_change,
+ $all, $editkey);
echo "</td></tr>\n";
return $str;
}
//----------------------------------------------------------------------------------------------
-function customer_list($name, $selected_id=null, $spec_option=false, $submit_on_change=false)
+function customer_list($name, $selected_id=null, $spec_option=false, $submit_on_change=false,
+ $show_inactive=false, $editkey = false)
{
global $all_items;
- $sql = "SELECT debtor_no, name, curr_code FROM ".TB_PREF."debtors_master ";
+ $sql = "SELECT debtor_no, debtor_ref, curr_code, inactive FROM ".TB_PREF."debtors_master ";
$mode = get_company_pref('no_customer_list');
+ if ($editkey)
+ set_editor('customer', $name, $editkey);
+
return combo_input($name, $selected_id, $sql, 'debtor_no', 'name',
array(
'format' => '_format_add_curr',
+ 'order' => array('debtor_ref'),
'search_box' => $mode!=0,
'type' => 1,
'size' => 20,
'spec_option' => $spec_option === true ? _("All Customers") : $spec_option,
'spec_id' => $all_items,
'select_submit'=> $submit_on_change,
- 'edit_submit' => true, // call editor on F4
'async' => false,
- 'sel_hint' => $mode ? _('Press Space tab to filter by name fragment; F4 - entry new customer') :
- _('Select customer')
+ 'sel_hint' => $mode ? _('Press Space tab to filter by name fragment; F2 - entry new customer') :
+ _('Select customer'),
+ 'show_inactive' => $show_inactive
) );
}
-function customer_list_cells($label, $name, $selected_id=null, $all_option=false, $submit_on_change=false)
+function customer_list_cells($label, $name, $selected_id=null, $all_option=false,
+ $submit_on_change=false, $show_inactive=false, $editkey = false)
{
if ($label != null)
echo "<td>$label</td>\n";
echo "<td nowrap>";
- $str = customer_list($name, $selected_id, $all_option, $submit_on_change);
+ $str = customer_list($name, $selected_id, $all_option, $submit_on_change,
+ $show_inactive, $editkey);
echo "</td>\n";
return $str;
}
-function customer_list_row($label, $name, $selected_id=null, $all_option = false, $submit_on_change=false)
+function customer_list_row($label, $name, $selected_id=null, $all_option = false,
+ $submit_on_change=false, $show_inactive=false, $editkey = false)
{
echo "<tr><td>$label</td><td nowrap>";
- $str = customer_list($name, $selected_id, $all_option, $submit_on_change);
+ $str = customer_list($name, $selected_id, $all_option, $submit_on_change,
+ $show_inactive, $editkey);
echo "</td>\n</tr>\n";
return $str;
}
//------------------------------------------------------------------------------------------------
function customer_branches_list($customer_id, $name, $selected_id=null,
- $spec_option = true, $enabled=true, $submit_on_change=false)
+ $spec_option = true, $enabled=true, $submit_on_change=false, $editkey = false)
{
global $all_items;
- $sql = "SELECT branch_code, br_name FROM ".TB_PREF."cust_branch
+ $sql = "SELECT branch_code, branch_ref FROM ".TB_PREF."cust_branch
WHERE debtor_no='" . $customer_id . "' ";
+ if ($editkey)
+ set_editor('branch', $name, $editkey);
+
$where = $enabled ? array("disable_trans = 0") : array();
return combo_input($name, $selected_id, $sql, 'branch_code', 'br_name',
array(
'where' => $where,
+ 'order' => array('branch_ref'),
'spec_option' => $spec_option === true ? _('All branches') : $spec_option,
'spec_id' => $all_items,
'select_submit'=> $submit_on_change,
}
//------------------------------------------------------------------------------------------------
-function customer_branches_list_cells($label,$customer_id, $name, $selected_id=null, $all_option = true, $enabled=true, $submit_on_change=false)
+function customer_branches_list_cells($label,$customer_id, $name, $selected_id=null,
+ $all_option = true, $enabled=true, $submit_on_change=false, $editkey = false)
{
if ($label != null)
echo "<td>$label</td>\n";
echo "<td>";
- $ret = customer_branches_list($customer_id, $name, $selected_id, $all_option, $enabled, $submit_on_change);
+ $ret = customer_branches_list($customer_id, $name, $selected_id, $all_option, $enabled,
+ $submit_on_change, $editkey);
echo "</td>\n";
return $ret;
}
-function customer_branches_list_row($label,$customer_id, $name, $selected_id=null, $all_option = true, $enabled=true, $submit_on_change=false)
+function customer_branches_list_row($label, $customer_id, $name, $selected_id=null,
+ $all_option = true, $enabled=true, $submit_on_change=false, $editkey = false)
{
echo "<tr>";
- $ret = customer_branches_list_cells($label, $customer_id, $name, $selected_id, $all_option, $enabled, $submit_on_change);
+ $ret = customer_branches_list_cells($label, $customer_id, $name, $selected_id,
+ $all_option, $enabled, $submit_on_change, $editkey);
echo "</tr>";
return $ret;
}
{
global $all_items;
- $sql = "SELECT loc_code, location_name FROM ".TB_PREF."locations";
+ $sql = "SELECT loc_code, location_name, inactive FROM ".TB_PREF."locations";
return combo_input($name, $selected_id, $sql, 'loc_code', 'location_name',
array(
function currencies_list($name, $selected_id=null, $submit_on_change=false)
{
- $sql = "SELECT curr_abrev, currency FROM ".TB_PREF."currencies";
+ $sql = "SELECT curr_abrev, currency, inactive FROM ".TB_PREF."currencies";
// default to the company currency
'async' => false,
);
- if ($showclosed)
+ if (!$showclosed)
$options['where'][] = "closed=0";
if($showtype)
$options['where'][] = "type_=$showtype";
}
function dimensions_list_cells($label, $name, $selected_id=null, $no_option=false, $showname=null,
- $showclosed=false, $showtype=0)
+ $showclosed=false, $showtype=0, $submit_on_change=false)
{
if ($label != null)
echo "<td>$label</td>\n";
echo "<td>";
- $str = dimensions_list($name, $selected_id, $no_option, $showname, false, $showclosed, $showtype);
+ $str = dimensions_list($name, $selected_id, $no_option, $showname, $submit_on_change, $showclosed, $showtype);
echo "</td>\n";
return $str;
}
function dimensions_list_row($label, $name, $selected_id=null, $no_option=false, $showname=null,
- $showclosed=false, $showtype=0)
+ $showclosed=false, $showtype=0, $submit_on_change=false)
{
echo "<tr>\n";
$str = dimensions_list_cells($label, $name, $selected_id, $no_option, $showname,
- $showclosed, $showtype);
+ $showclosed, $showtype, $submit_on_change);
echo "</tr>\n";
return $str;
}
//---------------------------------------------------------------------------------------------------
-function stock_items_list($name, $selected_id=null, $all_option=false, $submit_on_change=false, $opts=array())
+function stock_items_list($name, $selected_id=null, $all_option=false,
+ $submit_on_change=false, $opts=array(), $editkey = false)
{
global $all_items;
- $sql = "SELECT stock_id, s.description, c.description
+ $sql = "SELECT stock_id, s.description, c.description, s.inactive
FROM ".TB_PREF."stock_master s,".TB_PREF."stock_category c WHERE s.category_id=c.category_id";
+ if ($editkey)
+ set_editor('item', $name, $editkey);
+
return combo_input($name, $selected_id, $sql, 'stock_id', 's.description',
array_merge(
array(
'search' => array("stock_id", "c.description","s.description"),
'search_submit' => get_company_pref('no_item_list')!=0,
'size'=>10,
- 'select_submit'=> $submit_on_change
+ 'select_submit'=> $submit_on_change,
+ 'category' => 2,
+ 'order' => array('c.description','stock_id')
), $opts) );
}
function _format_stock_items($row)
{
- return (user_show_codes() ? ($row[0] . " - ") : "")
- . $row[2] . " - " . $row[1];
+ return (user_show_codes() ? ($row[0] . " - ") : "") . $row[1];
}
-function stock_items_list_cells($label, $name, $selected_id=null, $all_option=false, $submit_on_change=false)
+function stock_items_list_cells($label, $name, $selected_id=null, $all_option=false,
+ $submit_on_change=false, $all=false, $editkey = false)
{
if ($label != null)
echo "<td>$label</td>\n";
$str = stock_items_list($name, $selected_id, $all_option, $submit_on_change,
- array('cells'=>true));
+ array('cells'=>true, 'show_inactive'=>$all), $editkey);
return $str;
}
/*
return $str;
}
*/
-//------------------------------------------------------------------------------------
-
-function base_stock_items_list($where, $name, $selected_id=null,
- $all_option=false, $submit_on_change=false)
+//---------------------------------------------------------------------------------------------------
+//
+// Select item via foreign code.
+//
+function sales_items_list($name, $selected_id=null, $all_option=false,
+ $submit_on_change=false, $type='', $opts=array())
{
global $all_items;
+ // all sales codes
+ $sql = "SELECT i.item_code, i.description, c.description, count(*)>1 as kit,
+ i.inactive
+ FROM
+ ".TB_PREF."stock_master s,
+ ".TB_PREF."item_codes i
+ LEFT JOIN
+ ".TB_PREF."stock_category c
+ ON i.category_id=c.category_id
+ WHERE i.stock_id=s.stock_id";
- $sql = "SELECT stock_id, s.description, c.description
- FROM ".TB_PREF."stock_master s,".TB_PREF."stock_category c WHERE
- s.category_id=c.category_id";
+
+ if ($type == 'local') { // exclude foreign codes
+ $sql .= " AND !i.is_foreign";
+ } elseif ($type == 'kits') { // sales kits
+ $sql .= " AND !i.is_foreign AND i.item_code!=i.stock_id";
+ }
+ $sql .= " AND !i.inactive AND !s.inactive AND !s.no_sale";
+ $sql .= " GROUP BY i.item_code";
- return combo_input($name, $selected_id, $sql, 'stock_id', 's.description',
- array(
+ return combo_input($name, $selected_id, $sql, 'i.item_code', 'c.description',
+ array_merge(
+ array(
'format' => '_format_stock_items',
- 'spec_option' => $all_option==true ? _("All Items") : $all_option,
+ 'spec_option' => $all_option===true ? _("All Items") : $all_option,
'spec_id' => $all_items,
+ 'search_box' => true,
+ 'search' => array("i.item_code", "i.description"),
+ 'search_submit' => get_company_pref('no_item_list')!=0,
+ 'size'=>15,
'select_submit'=> $submit_on_change,
- 'where' => $where
- ) );
+ 'category' => 2,
+ 'order' => array('c.description','i.item_code')
+ ), $opts) );
}
-//------------------------------------------------------------------------------------
-
-function stock_bom_items_list($name, $selected_id=null, $all_option=false, $submit_on_change=false)
-{
- return base_stock_items_list("(s.mb_flag='M' OR s.mb_flag='K')",
- $name, $selected_id, $all_option, $submit_on_change);
-}
-/*
-function stock_bom_items_list_cells($label, $name, $selected_id=null, $all_option=false, $submit_on_change=false)
+function sales_items_list_cells($label, $name, $selected_id=null, $all_option=false, $submit_on_change=false)
{
if ($label != null)
echo "<td>$label</td>\n";
- echo "<td>";
- $str = stock_bom_items_list($name, $selected_id, $all_option, $submit_on_change);
- echo "</td>\n";
+ $str = sales_items_list($name, $selected_id, $all_option, $submit_on_change,
+ '', array('cells'=>true));
return $str;
}
-function stock_bom_items_list_row($label, $name, $selected_id=null, $all_option=false, $submit_on_change=false)
+function sales_kits_list($name, $selected_id=null, $all_option=false, $submit_on_change=false)
{
- echo "<tr>\n";
- $str = stock_bom_items_list_cells($label, $name, $selected_id, $all_option, $submit_on_change);
- echo "</tr>\n";
+ $str = sales_items_list($name, $selected_id, $all_option, $submit_on_change,
+ 'kits', array('cells'=>false));
+ return $str;
+}
+
+function sales_local_items_list_row($label, $name, $selected_id=null, $all_option=false, $submit_on_change=false)
+{
+ echo "<tr>";
+ if ($label != null)
+ echo "<td>$label</td>\n";
+ echo "<td>";
+ $str = sales_items_list($name, $selected_id, $all_option, $submit_on_change,
+ 'local', array('cells'=>false));
+ echo "</td></tr>";
return $str;
}
-*/
//------------------------------------------------------------------------------------
function stock_manufactured_items_list($name, $selected_id=null,
$all_option=false, $submit_on_change=false)
{
- return base_stock_items_list("s.mb_flag='M'",
- $name, $selected_id, $all_option, $submit_on_change);
+ $str = stock_items_list($name, $selected_id, $all_option, $submit_on_change,
+ array('where'=>array("mb_flag= 'M'")));
+ return $str;
}
function stock_manufactured_items_list_cells($label, $name, $selected_id=null,
if ($label != null)
echo "<td>$label</td>\n";
echo "<td>";
- $str = stock_manufactured_items_list($name, $selected_id, $all_option,
- $submit_on_change);
+ $str = stock_manufactured_items_list($name, $selected_id, $all_option, $submit_on_change);
echo "</td>\n";
return $str;
}
$all_option=false, $submit_on_change=false)
{
echo "<tr>\n";
- $str = stock_manufactured_items_list_cells($label, $name, $selected_id,
- $all_option, $submit_on_change);
+ $str = stock_manufactured_items_list_cells($label, $name, $selected_id, $all_option, $submit_on_change);
echo "</tr>\n";
return $str;
}
//------------------------------------------------------------------------------------
function stock_component_items_list($name, $parent_stock_id, $selected_id=null,
- $all_option=false, $submit_on_change=false)
+ $all_option=false, $submit_on_change=false, $editkey = false)
{
$str = stock_items_list($name, $selected_id, $all_option, $submit_on_change,
- array('where'=>array("stock_id != '$parent_stock_id'")));
+ array('where'=>array("stock_id != '$parent_stock_id'")), $editkey);
return $str;
}
function stock_component_items_list_cells($label, $name, $parent_stock_id,
- $selected_id=null, $all_option=false, $submit_on_change=false)
+ $selected_id=null, $all_option=false, $submit_on_change=false, $editkey = false)
{
if ($label != null)
echo "<td>$label</td>\n";
$str = stock_items_list($name, $selected_id, $all_option, $submit_on_change,
- array('where'=>array("stock_id != '$parent_stock_id'"), 'cells'=>true));
+ array('where'=>array("stock_id != '$parent_stock_id'"), 'cells'=>true),
+ $editkey);
return $str;
}
//------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------
function stock_purchasable_items_list($name, $selected_id=null,
- $all_option=false, $submit_on_change=false)
+ $all_option=false, $submit_on_change=false, $all=false, $editkey=false)
{
$str = stock_items_list($name, $selected_id, $all_option, $submit_on_change,
array('where'=>array("mb_flag!= 'M'"),
- 'edit_submit' => true));
+ 'show_inactive'=>$all), $editkey);
return $str;
}
function stock_purchasable_items_list_cells($label, $name, $selected_id=null,
- $all_option=false, $submit_on_change=false)
+ $all_option=false, $submit_on_change=false, $editkey=false)
{
if ($label != null)
echo "<td>$label</td>\n";
$str = stock_items_list($name, $selected_id, $all_option, $submit_on_change,
array('where'=>array("mb_flag!= 'M'"),
- 'edit_submit' => true,
- 'cells'=>true));
+ 'cells'=>true), $editkey);
return $str;
}
function stock_purchasable_items_list_row($label, $name, $selected_id=null,
- $all_option=false, $submit_on_change=false)
+ $all_option=false, $submit_on_change=false, $editkey=false)
{
echo "<tr>\n";
$ret = stock_purchasable_items_list_cells($label, $name, $selected_id=null,
- $all_option, $submit_on_change);
+ $all_option, $submit_on_change, $editkey);
echo "</tr>\n";
return $ret;
}
function stock_item_types_list_row($label, $name, $selected_id=null, $enabled=true)
{
- $types = array(
- 'M' => _("Manufactured"),
- 'B' => _("Purchased"),
- 'D' => _("Service")
- );
+ global $stock_types;
echo "<tr>";
if ($label != null)
echo "<td>$label</td>\n";
echo "<td>";
- array_selector($name, $selected_id, $types,
+ array_selector($name, $selected_id, $stock_types,
array(
'select_submit'=> true,
'disabled' => !$enabled) );
while($unit = db_fetch($result))
$units[$unit['abbr']] = $unit['name'];
- array_selector($name, $value, $units,
- array(
- 'select_submit'=> true,
- 'disabled' => !$enabled) );
+ array_selector($name, $value, $units, array( 'disabled' => !$enabled) );
echo "</td></tr>\n";
}
return combo_input($name, $selected_id, $sql, 'id', 'name',
array(
'spec_option' => $none_option,
- 'spec_id' => reserved_words::get_all_numeric(),
+ 'spec_id' => ALL_NUMERIC,
'select_submit'=> $submit_on_change,
'async' => false,
) );
array(
'order' => 'id',
'spec_option' => $none_option,
- 'spec_id' => reserved_words::get_all_numeric(),
+ 'spec_id' => ALL_NUMERIC,
'select_submit'=> $submit_on_change,
'async' => false,
) );
function shippers_list($name, $selected_id=null)
{
- $sql = "SELECT shipper_id, shipper_name FROM ".TB_PREF."shippers";
- combo_input($name, $selected_id, $sql, 'shipper_id', 'shipper_name', array());
+ $sql = "SELECT shipper_id, shipper_name, inactive FROM ".TB_PREF."shippers";
+ combo_input($name, $selected_id, $sql, 'shipper_id', 'shipper_name',
+ array('order'=>array('shipper_name')));
}
function shippers_list_cells($label, $name, $selected_id=null)
function sales_persons_list($name, $selected_id=null)
{
- $sql = "SELECT salesman_code, salesman_name FROM ".TB_PREF."salesman";
- combo_input($name, $selected_id, $sql, 'salesman_code', 'salesman_name', array());
+ $sql = "SELECT salesman_code, salesman_name, inactive FROM ".TB_PREF."salesman";
+ combo_input($name, $selected_id, $sql, 'salesman_code', 'salesman_name',
+ array('order'=>array('salesman_name')));
}
function sales_persons_list_cells($label, $name, $selected_id=null)
function sales_areas_list($name, $selected_id=null)
{
- $sql = "SELECT area_code, description FROM ".TB_PREF."areas";
+ $sql = "SELECT area_code, description, inactive FROM ".TB_PREF."areas";
combo_input($name, $selected_id, $sql, 'area_code', 'description', array());
}
//------------------------------------------------------------------------------------
+function sales_groups_list($name, $selected_id=null, $special_option=false)
+{
+ $sql = "SELECT id, description, inactive FROM ".TB_PREF."groups";
+ combo_input($name, $selected_id, $sql, 'id', 'description', array(
+ 'spec_option' => $special_option===true ? ' ' : $special_option,
+ 'order' => 'description', 'spec_id' => 0,
+ ));
+}
+
+function sales_groups_list_cells($label, $name, $selected_id=null, $special_option=false)
+{
+ if ($label != null)
+ echo "<td>$label</td>\n";
+ echo "<td>";
+ sales_groups_list($name, $selected_id, $special_option);
+ echo "</td>\n";
+}
+
+function sales_groups_list_row($label, $name, $selected_id=null, $special_option=false)
+{
+ echo "<tr>\n";
+ sales_groups_list_cells($label, $name, $selected_id, $special_option);
+ echo "</tr>\n";
+}
+
+//------------------------------------------------------------------------------------
+
+function _format_template_items($row)
+{
+ return ($row[0] . " - " . _("Amount") . " ".$row[1]);
+}
+
+function templates_list($name, $selected_id=null, $special_option=false)
+{
+ $sql = "SELECT sorder.order_no, Sum(line.unit_price*line.quantity*(1-line.discount_percent)) AS OrderValue
+ FROM ".TB_PREF."sales_orders as sorder, ".TB_PREF."sales_order_details as line
+ WHERE sorder.order_no = line.order_no AND sorder.type = 1 GROUP BY line.order_no";
+ combo_input($name, $selected_id, $sql, 'order_no', 'OrderValue', array(
+ 'format' => '_format_template_items',
+ 'spec_option' => $special_option===true ? ' ' : $special_option,
+ 'order' => 'order_no', 'spec_id' => 0,
+ ));
+}
+
+function templates_list_cells($label, $name, $selected_id=null, $special_option=false)
+{
+ if ($label != null)
+ echo "<td>$label</td>\n";
+ echo "<td>";
+ templates_list($name, $selected_id, $special_option);
+ echo "</td>\n";
+}
+
+function templates_list_row($label, $name, $selected_id=null, $special_option=false)
+{
+ echo "<tr>\n";
+ templates_list_cells($label, $name, $selected_id, $special_option);
+ echo "</tr>\n";
+}
+
+//------------------------------------------------------------------------------------
+
function workorders_list($name, $selected_id=null)
{
$sql = "SELECT id, wo_ref FROM ".TB_PREF."workorders WHERE closed=0";
function payment_terms_list($name, $selected_id=null)
{
- $sql = "SELECT terms_indicator, terms FROM ".TB_PREF."payment_terms";
+ $sql = "SELECT terms_indicator, terms, inactive FROM ".TB_PREF."payment_terms";
combo_input($name, $selected_id, $sql, 'terms_indicator', 'terms', array());
}
function credit_status_list($name, $selected_id=null)
{
- $sql ="SELECT id, reason_description FROM ".TB_PREF."credit_status";
+ $sql ="SELECT id, reason_description, inactive FROM ".TB_PREF."credit_status";
combo_input($name, $selected_id, $sql, 'id', 'reason_description', array());
}
function sales_types_list($name, $selected_id=null, $submit_on_change=false, $special_option=false)
{
- $sql = "SELECT id, sales_type FROM ".TB_PREF."sales_types";
+ $sql = "SELECT id, sales_type, inactive FROM ".TB_PREF."sales_types";
return combo_input($name, $selected_id, $sql, 'id', 'sales_type',
array(
}
//-----------------------------------------------------------------------------------------------
+function _format_date($row)
+{
+ return sql2date($row['reconciled']);
+}
-function bank_trans_types_list($name, $selected_id=null)
+function bank_reconciliation_list($account, $name, $selected_id=null, $submit_on_change=false, $special_option=false)
{
- $sql = "SELECT id, name FROM ".TB_PREF."bank_trans_types";
- combo_input($name, $selected_id, $sql, 'id', 'name', array());
+ $sql = "SELECT reconciled, reconciled FROM ".TB_PREF."bank_trans
+ WHERE bank_act=".db_escape($account)." AND reconciled IS NOT NULL
+ GROUP BY reconciled";
+ combo_input($name, $selected_id, $sql, 'id', 'reconciled',
+ array(
+ 'spec_option' => $special_option,
+ 'format' => '_format_date',
+ 'spec_id' => '',
+ 'select_submit'=> $submit_on_change
+ ) );
}
-function bank_trans_types_list_cells($label, $name, $selected_id=null)
+function bank_reconciliation_list_cells($label,$account, $name, $selected_id=null, $submit_on_change=false, $special_option=false)
{
if ($label != null)
echo "<td>$label</td>\n";
echo "<td>";
- bank_trans_types_list($name, $selected_id);
+ bank_reconciliation_list($account, $name, $selected_id, $submit_on_change, $special_option);
echo "</td>\n";
}
-
-function bank_trans_types_list_row($label, $name, $selected_id=null)
+/*
+function bank_reconciliation_list_row($label, $account, $name, $selected_id=null, $submit_on_change=false, $special_option=false)
{
echo "<tr>\n";
- bank_trans_types_list_cells($label, $name, $selected_id);
+ bank_reconciliation_list_cells($label, $account, $name, $selected_id, $submit_on_change, $special_option);
echo "</tr>\n";
}
-
+*/
//-----------------------------------------------------------------------------------------------
function workcenter_list($name, $selected_id=null, $all_option=false)
{
global $all_items;
- $sql = "SELECT id, name FROM ".TB_PREF."workcentres";
+ $sql = "SELECT id, name, inactive FROM ".TB_PREF."workcentres";
return combo_input($name, $selected_id, $sql, 'id', 'name',
array(
function bank_accounts_list($name, $selected_id=null, $submit_on_change=false)
{
- $sql = "SELECT ".TB_PREF."bank_accounts.account_code, bank_account_name, bank_curr_code
- FROM ".TB_PREF."bank_accounts, ".TB_PREF."chart_master
- WHERE ".TB_PREF."bank_accounts.account_code=".TB_PREF."chart_master.account_code";
+ $sql = "SELECT ".TB_PREF."bank_accounts.id, bank_account_name, bank_curr_code, inactive
+ FROM ".TB_PREF."bank_accounts";
+// , ".TB_PREF."chart_master
+// WHERE ".TB_PREF."bank_accounts.account_code=".TB_PREF."chart_master.account_code";
- return combo_input($name, $selected_id, $sql, 'account_code', 'bank_account_name',
+ return combo_input($name, $selected_id, $sql, 'id', 'bank_account_name',
array(
'format' => '_format_add_curr',
'select_submit'=> $submit_on_change,
function cash_accounts_list_row($label, $name, $selected_id=null, $submit_on_change=false)
{
- $sql = "SELECT ".TB_PREF."bank_accounts.account_code, bank_account_name, bank_curr_code
- FROM ".TB_PREF."bank_accounts, ".TB_PREF."chart_master
- WHERE ".TB_PREF."bank_accounts.account_code=".TB_PREF."chart_master.account_code"
- . " AND ".TB_PREF."bank_accounts.account_type=3";
+ $sql = "SELECT ".TB_PREF."bank_accounts.id, bank_account_name, bank_curr_code, inactive
+ FROM ".TB_PREF."bank_accounts
+ WHERE ".TB_PREF."bank_accounts.account_type=3";
if ($label != null)
echo "<tr><td>$label</td>\n";
echo "<td>";
- $str = combo_input($name, $selected_id, $sql, 'account_code', 'bank_account_name',
+ $str = combo_input($name, $selected_id, $sql, 'id', 'bank_account_name',
array(
'format' => '_format_add_curr',
'select_submit'=> $submit_on_change,
function pos_list_row($label, $name, $selected_id=null, $spec_option=false, $submit_on_change=false)
{
- $sql = "SELECT id, pos_name FROM ".TB_PREF."sales_pos";
+ $sql = "SELECT id, pos_name, inactive FROM ".TB_PREF."sales_pos";
default_focus($name);
echo '<tr>';
'async' => true,
'spec_option' =>$spec_option,
'spec_id' => -1,
+ 'order'=> array('pos_name')
) );
echo "</td></tr>\n";
//-----------------------------------------------------------------------------------------------
-function stock_categories_list($name, $selected_id=null)
+function stock_categories_list($name, $selected_id=null, $submit_on_change=false)
{
- $sql = "SELECT category_id, description FROM ".TB_PREF."stock_category";
+ $sql = "SELECT category_id, description, inactive FROM ".TB_PREF."stock_category";
combo_input($name, $selected_id, $sql, 'category_id', 'description',
- array('order'=>'category_id'));
+ array('order'=>'category_id',
+ 'select_submit'=> $submit_on_change,
+ 'async' => true
+ ));
}
-function stock_categories_list_cells($label, $name, $selected_id=null)
+function stock_categories_list_cells($label, $name, $selected_id=null, $submit_on_change=false)
{
if ($label != null)
echo "<td>$label</td>\n";
echo "<td>";
- stock_categories_list($name, $selected_id);
+ stock_categories_list($name, $selected_id, $submit_on_change);
echo "</td>\n";
}
-function stock_categories_list_row($label, $name, $selected_id=null)
+function stock_categories_list_row($label, $name, $selected_id=null, $submit_on_change=false)
{
echo "<tr>\n";
- stock_categories_list_cells($label, $name, $selected_id);
+ stock_categories_list_cells($label, $name, $selected_id, $submit_on_change);
echo "</tr>\n";
}
//-----------------------------------------------------------------------------------------------
function gl_all_accounts_list($name, $selected_id=null, $skip_bank_accounts=false,
- $show_group=false, $cells=false, $all_option=false, $submit_on_change=false)
+ $cells=false, $all_option=false, $submit_on_change=false, $all=false)
{
if ($skip_bank_accounts)
- $sql = "SELECT chart.account_code, chart.account_name, type.name
+ $sql = "SELECT chart.account_code, chart.account_name, type.name, chart.inactive, type.id
FROM (".TB_PREF."chart_master chart,".TB_PREF."chart_types type) "
."LEFT JOIN ".TB_PREF."bank_accounts acc "
."ON chart.account_code=acc.account_code
- WHERE acc.account_code IS NULL
+ WHERE acc.account_code IS NULL
AND chart.account_type=type.id";
else
- $sql = "SELECT chart.account_code, chart.account_name, type.name
+ $sql = "SELECT chart.account_code, chart.account_name, type.name, chart.inactive, type.id
FROM ".TB_PREF."chart_master chart,".TB_PREF."chart_types type
WHERE chart.account_type=type.id";
combo_input($name, $selected_id, $sql, 'chart.account_code', 'chart.account_name',
array(
- 'format' => '_format_account' . ($show_group ? '2' : ''),
+ 'format' => '_format_account',
'spec_option' => $all_option===true ? _("Use Item Sales Accounts") : $all_option,
'spec_id' => '',
- 'order' => 'account_code',
+ 'order' => array('type.id','account_code'),
'search_box' => $cells,
'search_submit' => false,
'size' => 12,
'max' => 10,
'cells' => true,
'select_submit'=> $submit_on_change,
- 'async' => false
+ 'async' => false,
+ 'category' => 2,
+ 'show_inactive' => $all
) );
}
return $row[0] . " " . $row[1];
}
-function _format_account2($row)
-{
- return $row[0] . " " . $row[2] . " " . $row[1];
-}
-
-function gl_all_accounts_list_cells($label, $name, $selected_id=null, $skip_bank_accounts=false,
- $show_group=false, $cells=false, $all_option=false)
+function gl_all_accounts_list_cells($label, $name, $selected_id=null,
+ $skip_bank_accounts=false, $cells=false, $all_option=false,
+ $submit_on_change=false, $all=false)
{
if ($label != null)
echo "<td>$label</td>\n";
echo "<td>";
- gl_all_accounts_list($name, $selected_id, $skip_bank_accounts, $show_group, $cells, $all_option);
+ gl_all_accounts_list($name, $selected_id,
+ $skip_bank_accounts, $cells, $all_option, $submit_on_change, $all);
echo "</td>\n";
}
-function gl_all_accounts_list_row($label, $name, $selected_id=null, $skip_bank_accounts=false,
- $show_group=false, $cells=false, $all_option=false)
+function gl_all_accounts_list_row($label, $name, $selected_id=null,
+ $skip_bank_accounts=false, $cells=false, $all_option=false)
{
echo "<tr>\n";
- gl_all_accounts_list_cells($label, $name, $selected_id, $skip_bank_accounts,
- $show_group, $cells, $all_option);
+ gl_all_accounts_list_cells($label, $name, $selected_id,
+ $skip_bank_accounts, $cells, $all_option);
echo "</tr>\n";
}
function yesno_list($name, $selected_id=null, $name_yes="", $name_no="", $submit_on_change=false)
{
$items = array();
- $items['1'] = strlen($name_yes) ? $name_yes : _("Yes");
$items['0'] = strlen($name_no) ? $name_no : _("No");
+ $items['1'] = strlen($name_yes) ? $name_yes : _("Yes");
return array_selector($name, $selected_id, $items,
array(
function bank_account_types_list($name, $selected_id=null)
{
- $types = bank_account_types::get_all();
+ global $bank_account_types;
- $items = array();
- foreach ($types as $type)
- {
- $items[$type['id']] = $type['name'];
- }
-
- return array_selector($name, $selected_id, $items );
+ return array_selector($name, $selected_id, $bank_account_types);
}
function bank_account_types_list_cells($label, $name, $selected_id=null)
//------------------------------------------------------------------------------------------------
function payment_person_types_list($name, $selected_id=null, $submit_on_change=false)
{
- $types = payment_person_types::get_all();
+ global $payment_person_types;
$items = array();
- foreach ($types as $type)
+ foreach ($payment_person_types as $key=>$type)
{
- if (payment_person_types::has_items($type['id']))
- {
- $items[$type['id']] = $type['name'];
- }
- }
-
+ if ($key != PT_WORKORDER)
+ $items[$key] = $type;
+ }
return array_selector($name, $selected_id, $items,
array( 'select_submit'=> $submit_on_change ) );
}
return $str;
}
-//------------------------------------------------------------------------------------------------
-
-function quick_entries_list($name, $selected_id=null, $expense=true, $submit_on_change=false)
-{
- $sql = "SELECT * FROM ".TB_PREF."quick_entries";
- if ($expense)
- $sql .= " WHERE deposit=0";
- else
- $sql .= " WHERE deposit=1";
- combo_input($name, $selected_id, $sql, 'id', 'description',
- array(
- 'spec_id' => '',
- 'order' => 'description',
- 'select_submit'=> $submit_on_change,
- 'async' => false
- ) );
-
-}
-
-function quick_entries_list_row($label, $name, $selected_id=null, $expense=true, $submit_on_change=false)
-{
- echo "<tr><td>$label</td><td>\n";
- quick_entries_list($name, $selected_id, $expense, $submit_on_change);
- echo "</td></tr>\n";
-}
-
-
//------------------------------------------------------------------------------------------------
function wo_types_list($name, $selected_id=null)
{
- $types = wo_types::get_all();
-
- $items = array();
- foreach ($types as $type)
- $items[$type['id']] = $type['name'];
+ global $wo_types_array;
- return array_selector($name, $selected_id, $items,
+ return array_selector($name, $selected_id, $wo_types_array,
array( 'select_submit'=> true, 'async' => true ) );
}
echo "</td></tr>\n";
}
-function security_headings_list_row($label, $name, $value=null)
+function systypes_list_cells($label, $name, $value=null, $submit_on_change=false)
{
- global $security_headings;
+ global $systypes_array;
- echo "<tr><td>$label</td>\n<td>";
- array_selector( $name, $value, $security_headings );
- echo "</td></tr>\n";
+ if ($label != null)
+ echo "<td>$label</td>\n";
+ echo "<td>";
+
+ $str = array_selector($name, $value, $systypes_array,
+ array(
+ 'select_submit'=> $submit_on_change,
+ 'async' => false
+ )
+ );
+ echo "</td>\n";
+ return $str;
}
-function systypes_list_cells($label, $name, $value=null, $submit_on_change=false)
+function journal_types_list_cells($label, $name, $value=null, $submit_on_change=false)
{
global $systypes_array;
echo "<td>$label</td>\n";
echo "<td>";
- $items = array();
- foreach ($systypes_array as $key=>$type)
- $items[$key] = $type['name'];
+ $items = $systypes_array;
+
+ // exclude quotes, orders and dimensions
+ foreach (array(ST_PURCHORDER, ST_WORKORDER, ST_SALESORDER, ST_DIMENSION,
+ ST_SALESQUOTE) as $excl)
+ unset($items[$excl]);
$str = array_selector($name, $value, $items,
array(
+ 'spec_option'=> _("All"),
+ 'spec_id' => -1,
'select_submit'=> $submit_on_change,
'async' => false
)
return array_selector($name, $selected, $items,
array( 'spec_option' => $no_option,
- 'spec_id' => reserved_words::get_all_numeric()) );
+ 'spec_id' => ALL_NUMERIC) );
}
function number_list_cells($label, $name, $selected, $from, $to, $no_option=false)
));
}
+//------------------------------------------------------------------------------------------------
+
+function quick_entries_list($name, $selected_id=null, $type=null, $submit_on_change=false)
+{
+ $where = false;
+ $sql = "SELECT id, description FROM ".TB_PREF."quick_entries";
+ if ($type != null)
+ $sql .= " WHERE type=$type";
+
+ combo_input($name, $selected_id, $sql, 'id', 'description',
+ array(
+ 'spec_id' => '',
+ 'order' => 'description',
+ 'select_submit'=> $submit_on_change,
+ 'async' => false
+ ) );
+
+}
+
+function quick_entries_list_cells($label, $name, $selected_id=null, $type, $submit_on_change=false)
+{
+ echo "<td>$label</td><td>\n";
+ quick_entries_list($name, $selected_id, $type, $submit_on_change);
+ echo "</td>";
+}
+
+function quick_entries_list_row($label, $name, $selected_id=null, $type, $submit_on_change=false)
+{
+ echo "<tr>\n";
+ quick_entries_list_cells($label, $name, $selected_id, $type, $submit_on_change);
+ echo "</tr>\n";
+}
+
+
+function quick_actions_list_row($label, $name, $selected_id=null, $submit_on_change=false)
+{
+ global $quick_actions;
+
+ echo "<tr><td>$label</td><td>";
+ array_selector($name, $selected_id, $quick_actions,
+ array(
+ 'select_submit'=> $submit_on_change
+ ) );
+ echo "</td></tr>\n";
+}
+
+function quick_entry_types_list_row($label, $name, $selected_id=null, $submit_on_change=false)
+{
+ global $quick_entry_types;
+
+ echo "<tr><td>$label</td><td>";
+ array_selector($name, $selected_id, $quick_entry_types,
+ array(
+ 'select_submit'=> $submit_on_change
+ ) );
+ echo "</td></tr>\n";
+}
+
+function record_status_list_row($label, $name) {
+ return yesno_list_row($label, $name, null, _('Inactive'), _('Active'));
+}
+
+function class_types_list_row($label, $name, $selected_id=null, $submit_on_change=false)
+{
+ global $class_types;
+
+ echo "<tr><td>$label</td><td>";
+ array_selector($name, $selected_id, $class_types,
+ array(
+ 'select_submit'=> $submit_on_change
+ ) );
+ echo "</td></tr>\n";
+}
+
+//------------------------------------------------------------------------------------------------
+
+function security_roles_list($name, $selected_id=null, $new_item=false, $submit_on_change=false,
+ $show_inactive = false)
+{
+ global $all_items;
+
+ $sql = "SELECT id, role, inactive FROM ".TB_PREF."security_roles";
+
+return combo_input($name, $selected_id, $sql, 'id', 'description',
+ array(
+ 'spec_option'=>$new_item ? _("New role") : false,
+ 'spec_id' => '',
+ 'select_submit'=> $submit_on_change,
+ 'show_inactive' => $show_inactive
+ ) );
+}
+
+function security_roles_list_cells($label, $name, $selected_id=null, $new_item=false, $submit_on_change=false,
+ $show_inactive = false)
+{
+ if ($label != null)
+ echo "<td>$label</td>\n";
+ echo "<td>";
+ $str = security_roles_list($name, $selected_id, $new_item, $submit_on_change, $show_inactive);
+ echo "</td>\n";
+ return $str;
+}
+
+function security_roles_list_row($label, $name, $selected_id=null, $new_item=false, $submit_on_change=false,
+ $show_inactive = false)
+{
+ echo "<tr>";
+ $str = security_roles_list_cells($label, $name, $selected_id, $new_item, $submit_on_change, $show_inactive);
+ echo "</tr>\n";
+ return $str;
+}
+
+function tab_list_row($label, $name, $selected_id=null)
+{
+ global $tabs;
+ echo "<tr>\n";
+ echo "<td>$label</td><td>\n";
+
+ $items = array();
+
+ array_selector($name, $selected_id, $tabs);
+
+ echo "</td></tr>\n";
+}
+
+//---------------------------------------------------------------------------------------------
+// List of sets of active extensions
+//
+function extset_list($name, $value=null, $submit_on_change=false)
+{
+ global $db_connections;
+
+ $items = array();
+ foreach ($db_connections as $comp)
+ $items[] = sprintf(_("Activated for '%s'"), $comp['name']);
+ array_selector( $name, $value, $items,
+ array(
+ 'spec_option'=> _("Installed on system"),
+ 'spec_id' => -1,
+ 'select_submit'=> $submit_on_change,
+ 'async' => true
+ ));
+}
?>
\ No newline at end of file