include_once($path_to_root . "/includes/types.inc");
include_once($path_to_root . "/includes/current_user.inc");
-$_search_button = "<input %s type='submit' class='combo_submit' style='border:0;background:url($path_to_root/themes/"
- ."%s/images/locate.png) no-repeat;%s' aspect='fallback' name='%s' value=' ' title='"._("Set filter")."'> ";
+define('SEARCH_BUTTON', "<input %s type='submit' class='combo_submit' style='border:0;background:url($path_to_root/themes/"
+ ."%s/images/locate.png) no-repeat;%s' aspect='fallback' name='%s' value=' ' title='"._("Set filter")."'> ");
-$_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 = ALL_TEXT;
+define('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")."'> ");
//----------------------------------------------------------------------------
// Universal sql combo generator
}
$cat = $contact_row[$opts['category']];
if ($opts['category'] !== false && $cat != $lastcat){
+ if ($lastcat!==null)
+ $selector .= "</optgroup>";
$selector .= "<optgroup label='".$cat."'>\n";
$lastcat = $cat;
}
$selector .= "<option $sel $optclass value='$value'>$descr</option>\n";
}
+ if ($lastcat!==null)
+ $selector .= "</optgroup>";
db_free_result($result);
}
// if selectable or editable list is used - add select button
if ($select_submit != false || $search_button) {
- global $_select_button;
// button class selects form reload/ajax selector update
- $selector .= sprintf($_select_button, $disabled, user_theme(),
+ $selector .= sprintf(SELECT_BUTTON, $disabled, user_theme(),
(fallback_mode() ? '' : 'display:none;'),
'_'.$name.'_update')."\n";
}
.(!fallback_mode() && !$by_id ? " style=display:none;":'')
.">\n";
if ($search_submit != false || $opts['editable']) {
- global $_search_button;
- $edit_entry .= sprintf($_search_button, $disabled, user_theme(),
+ $edit_entry .= sprintf(SEARCH_BUTTON, $disabled, user_theme(),
(fallback_mode() ? '' : 'display:none;'),
$search_submit ? $search_submit : "_{$name}_button")."\n";
}
if ($first_id!==false) {
$sel = ($found===$first_id) || ($found===false && ($spec_option===false)) ? "selected='selected'" : '';
- $selector = sprintf($first_opt, $sel).$selector;
}
// Prepend special option.
if ($spec_option !== false) { // if special option used - add it
$selector = "<span id='_{$name}_sel'>".$selector."</span>\n";
if ($select_submit != false) { // if submit on change is used - add select button
- global $_select_button;
- $selector .= sprintf($_select_button, $disabled, user_theme(),
+ $selector .= sprintf(SELECT_BUTTON, $disabled, user_theme(),
(fallback_mode() ? '' : 'display:none;'),
'_'.$name.'_update')."\n";
}
function add_edit_combo($type)
{
- global $path_to_root, $popup_editors, $use_icon_for_editkey;
+ global $path_to_root, $popup_editors, $SysPrefs;
- if (!isset($use_icon_for_editkey) || $use_icon_for_editkey==0)
+ if (!isset($SysPrefs->use_icon_for_editkey) || $SysPrefs->use_icon_for_editkey==0)
return "";
// Derive theme path
$theme_path = $path_to_root . '/themes/' . user_theme();
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_ref, curr_code, inactive FROM ".TB_PREF."suppliers ";
if ($editkey)
set_editor('supplier', $name, $editkey);
-
+
$ret = combo_input($name, $selected_id, $sql, 'supplier_id', 'supp_name',
array(
'format' => '_format_add_curr',
'type' => 1,
'search' => array("supp_ref","supp_name","gst_no"),
'spec_option' => $spec_option === true ? _("All Suppliers") : $spec_option,
- 'spec_id' => $all_items,
+ 'spec_id' => ALL_TEXT,
'select_submit'=> $submit_on_change,
'async' => false,
'sel_hint' => $mode ? _('Press Space tab to filter by name fragment') :
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, debtor_ref, curr_code, inactive FROM ".TB_PREF."debtors_master ";
'size' => 20,
'search' => array("debtor_ref","name","tax_id"),
'spec_option' => $spec_option === true ? _("All Customers") : $spec_option,
- 'spec_id' => $all_items,
+ 'spec_id' => ALL_TEXT,
'select_submit'=> $submit_on_change,
'async' => false,
'sel_hint' => $mode ? _('Press Space tab to filter by name fragment; F2 - entry new customer') :
function customer_list_row($label, $name, $selected_id=null, $all_option = false,
$submit_on_change=false, $show_inactive=false, $editkey = false)
{
- global $path_to_root;
echo "<tr><td class='label'>$label</td><td nowrap>";
echo customer_list($name, $selected_id, $all_option, $submit_on_change,
function customer_branches_list($customer_id, $name, $selected_id=null,
$spec_option = true, $enabled=true, $submit_on_change=false, $editkey = false)
{
- global $all_items;
$sql = "SELECT branch_code, branch_ref FROM ".TB_PREF."cust_branch
WHERE debtor_no=" . db_escape($customer_id)." ";
if ($editkey)
set_editor('branch', $name, $editkey);
- $where = $enabled ? array("disable_trans = 0") : array();
+ $where = $enabled ? array("inactive = 0") : array();
$ret = combo_input($name, $selected_id, $sql, 'branch_code', 'branch_ref',
array(
'where' => $where,
'order' => array('branch_ref'),
'spec_option' => $spec_option === true ? _('All branches') : $spec_option,
- 'spec_id' => $all_items,
+ 'spec_id' => ALL_TEXT,
'select_submit'=> $submit_on_change,
'sel_hint' => _('Select customer branch')
) );
if ($editkey)
{
$ret .= add_edit_combo('branch');
- }
+ }
return $ret;
}
//------------------------------------------------------------------------------------------------
function locations_list($name, $selected_id=null, $all_option=false, $submit_on_change=false)
{
- global $all_items;
$sql = "SELECT loc_code, location_name, inactive FROM ".TB_PREF."locations";
return combo_input($name, $selected_id, $sql, 'loc_code', 'location_name',
array(
'spec_option' => $all_option === true ? _("All Locations") : $all_option,
- 'spec_id' => $all_items,
+ 'spec_id' => ALL_TEXT,
'select_submit'=> $submit_on_change
) );
}
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, s.inactive, s.editable
FROM ".TB_PREF."stock_master s,".TB_PREF."stock_category c WHERE s.category_id=c.category_id";
array(
'format' => '_format_stock_items',
'spec_option' => $all_option===true ? _("All Items") : $all_option,
- 'spec_id' => $all_items,
+ 'spec_id' => ALL_TEXT,
'search_box' => true,
'search' => array("stock_id", "c.description","s.description"),
'search_submit' => get_company_pref('no_item_list')!=0,
'order' => array('c.description','stock_id')
), $opts) );
if ($editkey)
- $ret .= add_edit_combo('item');
+ $ret .= add_edit_combo('item');
return $ret;
-
}
function _format_stock_items($row)
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, if(count(*)>1, '0', s.editable) as editable
array(
'format' => '_format_stock_items',
'spec_option' => $all_option===true ? _("All Items") : $all_option,
- 'spec_id' => $all_items,
+ 'spec_id' => ALL_TEXT,
'search_box' => true,
'search' => array("i.item_code", "c.description", "i.description"),
'search_submit' => get_company_pref('no_item_list')!=0,
$all_option=false, $submit_on_change=false, $all=false, $editkey=false)
{
return stock_items_list($name, $selected_id, $all_option, $submit_on_change,
- array('where'=>array("mb_flag!= 'M'"),
+ array('where'=>array("NOT no_purchase"),
'show_inactive'=>$all), $editkey);
}
//
if ($label != null)
echo "<td>$label</td>\n";
echo stock_items_list($name, $selected_id, $all_option, $submit_on_change,
- array('where'=>array("mb_flag!= 'M'"),
+ array('where'=>array("NOT no_purchase"),
'editable' => 30,
'cells'=>true), $editkey);
}
//-----------------------------------------------------------------------------------------------
-function movement_types_list($name, $selected_id=null)
-{
- $sql = "SELECT id, name FROM ".TB_PREF."movement_types";
- return combo_input($name, $selected_id, $sql, 'id', 'name', array());
-}
-
-function movement_types_list_cells($label, $name, $selected_id=null)
-{
- if ($label != null)
- echo "<td>$label</td>\n";
- echo "<td>";
- echo movement_types_list($name, $selected_id);
- echo "</td>\n";
-}
-
-function movement_types_list_row($label, $name, $selected_id=null)
-{
- echo "<tr><td class='label'>$label</td>";
- movement_types_list_cells(null, $name, $selected_id);
- echo "</tr>\n";
-}
-
-//-----------------------------------------------------------------------------------------------
function _format_date($row)
{
return sql2date($row['reconciled']);
function workcenter_list($name, $selected_id=null, $all_option=false)
{
- global $all_items;
$sql = "SELECT id, name, inactive FROM ".TB_PREF."workcentres";
return combo_input($name, $selected_id, $sql, 'id', 'name',
array(
'spec_option' =>$all_option===true ? _("All Suppliers") : $all_option,
- 'spec_id' => $all_items,
+ 'spec_id' => ALL_TEXT,
) );
}
}
//-----------------------------------------------------------------------------------------------
-function cash_accounts_list_row($label, $name, $selected_id=null, $submit_on_change=false)
+function cash_accounts_list_row($label, $name, $selected_id=null, $submit_on_change=false, $all_option=false)
{
+
$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=".BT_CASH;
echo "<td>";
echo combo_input($name, $selected_id, $sql, 'id', 'bank_account_name',
array(
+ 'spec_option' => $all_option,
+ 'spec_id' => ALL_TEXT,
'format' => '_format_add_curr',
'select_submit'=> $submit_on_change,
'async' => true
//-----------------------------------------------------------------------------------------------
// Payment type selector for current user.
//
-function sale_payment_list($name, $category, $selected_id=null, $submit_on_change=true)
+function sale_payment_list($name, $category, $selected_id=null, $submit_on_change=true, $prepayments=true)
{
$sql = "SELECT terms_indicator, terms, inactive FROM ".TB_PREF."payment_terms";
-
+
if ($category == PM_CASH) // only cash
$sql .= " WHERE days_before_due=0 AND day_in_following_month=0";
- if ($category == PM_CREDIT) // only delayed payments
- $sql .= " WHERE days_before_due!=0 OR day_in_following_month!=0";
+ elseif ($category == PM_CREDIT) // only delayed payments
+ $sql .= " WHERE days_before_due".($prepayments ? '!=': '>')."0 OR day_in_following_month!=0";
+ elseif (!$prepayments)
+ $sql .= " WHERE days_before_due>=0";
return combo_input($name, $selected_id, $sql, 'terms_indicator', 'terms',
array(
}
-function sale_payment_list_cells($label, $name, $category, $selected_id=null, $submit_on_change=true)
+function sale_payment_list_cells($label, $name, $category, $selected_id=null, $submit_on_change=true, $prepayments=true)
{
if ($label != null)
echo "<td class='label'>$label</td>\n";
echo "<td>";
- echo sale_payment_list($name, $category, $selected_id, $submit_on_change);
+ echo sale_payment_list($name, $category, $selected_id, $submit_on_change, $prepayments);
echo "</td>\n";
}
function gl_account_types_list($name, $selected_id=null, $all_option=false, $all=true)
{
- global $all_items;
$sql = "SELECT id, name FROM ".TB_PREF."chart_types";
'format' => '_format_account',
'order' => array('class_id', 'id', 'parent'),
'spec_option' =>$all_option,
- 'spec_id' => $all_items
+ 'spec_id' => ALL_TEXT
) );
}
function dateformats_list_row($label, $name, $value=null)
{
- global $dateformats;
+ global $SysPrefs;
echo "<tr><td class='label'>$label</td>\n<td>";
- echo array_selector( $name, $value, $dateformats );
+ echo array_selector( $name, $value, $SysPrefs->dateformats );
echo "</td></tr>\n";
}
function dateseps_list_row($label, $name, $value=null)
{
- global $dateseps;
+ global $SysPrefs;
echo "<tr><td class='label'>$label</td>\n<td>";
- echo array_selector( $name, $value, $dateseps );
+ echo array_selector( $name, $value, $SysPrefs->dateseps );
echo "</td></tr>\n";
}
function thoseps_list_row($label, $name, $value=null)
{
- global $thoseps;
+ global $SysPrefs;
echo "<tr><td class='label'>$label</td>\n<td>";
- echo array_selector( $name, $value, $thoseps );
+ echo array_selector( $name, $value, $SysPrefs->thoseps );
echo "</td></tr>\n";
}
function decseps_list_row($label, $name, $value=null)
{
- global $decseps;
+ global $SysPrefs;
echo "<tr><td class='label'>$label</td>\n<td>";
- echo array_selector( $name, $value, $decseps );
+ echo array_selector( $name, $value, $SysPrefs->decseps );
echo "</td></tr>\n";
}
function pagesizes_list_row($label, $name, $value=null)
{
- global $pagesizes;
+ global $SysPrefs;
$items = array();
- foreach ($pagesizes as $pz)
+ foreach ($SysPrefs->pagesizes as $pz)
$items[$pz] = $pz;
echo "<tr><td class='label'>$label</td>\n<td>";
function cust_allocations_list_cells($label, $name, $selected=null)
{
- global $all_items;
if ($label != null)
label_cell($label);
echo "<td>\n";
$allocs = array(
- $all_items=>_("All Types"),
+ ALL_TEXT=>_("All Types"),
'1'=> _("Sales Invoices"),
'2'=> _("Overdue Invoices"),
'3' => _("Payments"),
function supp_allocations_list_cell($name, $selected=null)
{
- global $all_items;
echo "<td>\n";
$allocs = array(
- $all_items=>_("All Types"),
+ ALL_TEXT=>_("All Types"),
'1'=> _("Invoices"),
'2'=> _("Overdue Invoices"),
'3' => _("Payments"),
function supp_transactions_list_cell($name, $selected=null)
{
- global $all_items;
echo "<td>\n";
$allocs = array(
- $all_items=>_("All Types"),
+ ALL_TEXT=>_("All Types"),
'6'=>_("GRNs"),
'1'=> _("Invoices"),
'2'=> _("Overdue Invoices"),
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";
));
}
-?>
+function tax_algorithm_list($name, $value=null, $submit_on_change = false)
+{
+ global $tax_algorithms;
+
+ return array_selector($name, $value, $tax_algorithms,
+ array(
+ 'select_submit'=> $submit_on_change,
+ 'async' => true,
+ )
+ );
+}
+
+function tax_algorithm_list_cells($label, $name, $value=null, $submit_on_change=false)
+{
+ if ($label != null)
+ echo "<td>$label</td>\n";
+ echo "<td>";
+ echo tax_algorithm_list($name, $value, $submit_on_change);
+ echo "</td>\n";
+}
+
+function tax_algorithm_list_row($label, $name, $value=null, $submit_on_change=false)
+{
+ echo "<tr><td class='label'>$label</td>";
+ tax_algorithm_list_cells(null, $name, $value, $submit_on_change);
+ echo "</tr>\n";
+}
+//----------------------------------------------------------------------------------------------
+
+function subledger_list($name, $account, $selected_id=null)
+{
+
+ $type = is_subledger_account($account);
+ if (!$type)
+ return '';
+
+ if($type > 0)
+ $sql = "SELECT DISTINCT d.debtor_no as id, debtor_ref as name
+ FROM "
+ .TB_PREF."debtors_master d,"
+ .TB_PREF."cust_branch c
+ WHERE d.debtor_no=c.debtor_no AND c.receivables_account=".db_escape($account);
+ else
+ $sql = "SELECT supplier_id as id, supp_ref as name
+ FROM "
+ .TB_PREF."suppliers s
+ WHERE s.payable_account=".db_escape($account);
+
+ $mode = get_company_pref('no_customer_list');
+
+ return combo_input($name, $selected_id, $sql, 'id', 'name',
+ array(
+ 'type' => 1,
+ 'size' => 20,
+ 'async' => false,
+ ) );
+}
+
+function subledger_list_cells($label, $name, $account, $selected_id=null)
+{
+ if ($label != null)
+ echo "<td>$label</td>\n";
+ echo "<td nowrap>";
+ echo subledger_list($name, $account, $selected_id);
+ echo "</td>\n";
+}
+
+function subledger_list_row($label, $name, $selected_id=null, $all_option = false,
+ $submit_on_change=false, $show_inactive=false, $editkey = false)
+{
+ echo "<tr><td class='label'>$label</td><td nowrap>";
+ echo subledger_list($name, $account, $selected_id);
+ echo "</td>\n</tr>\n";
+}
+
+function accounts_type_list_row($label, $name, $selected_id=null)
+{
+ echo "<tr>";
+ if ($label != null)
+ echo "<td class='label'>$label</td>\n";
+ echo "<td>";
+ $sel = array(_("Numeric"), _("Alpha Numeric"), _("ALPHA NUMERIC"));
+ echo array_selector($name, $selected_id, $sel);
+ echo "</td></tr>\n";
+}
+
+function users_list_cells($label, $name, $selected_id=null, $submit_on_change=false, $spec_opt=true)
+{
+ $where = false;
+ $sql = " SELECT user_id, real_name FROM ".TB_PREF."users";
+
+ if ($label != null)
+ echo "<td>$label</td>\n";
+ echo "<td>";
+
+ echo combo_input($name, $selected_id, $sql, 'user_id', 'real_name',
+ array(
+ 'spec_option' => $spec_opt===true ?_("All users") : $spec_opt,
+ 'spec_id' => '',
+ 'order' => 'real_name',
+ 'select_submit'=> $submit_on_change,
+ 'async' => false
+ ) );
+ echo "</td>";
+
+}
+
+function collations_list_row($label, $name, $selected_id=null)
+{
+ global $supported_collations;
+
+ echo "<tr>";
+ if ($label != null)
+ echo "<td class='label'>$label</td>\n";
+ echo "<td>";
+
+ echo array_selector($name, $selected_id, $supported_collations,
+ array('select_submit'=> false) );
+ echo "</td></tr>\n";
+}