null - button visible only in fallback mode; optional icon
Ajax submit:
true - standard button; optional icon
- 'process' - displays progress bar during call; optional icon
+
'default' - default form submit on Ctrl-Enter press; dflt ICON_OK icon
'selector' - ditto with closing current popup editor window
'cancel' - cancel form entry on Escape press; dflt ICON_CANCEL
+ 'process' - displays progress bar during call; optional icon
+
+ $atype can contain also multiply type selectors separated by space,
+ however make sense only combination of 'process' and one of defualt/selector/cancel
*/
function submit($name, $value, $echo=true, $title=false, $atype=false, $icon=false)
{
global $path_to_root;
$aspect='';
- if (!is_bool($atype)) // necessary: switch uses '=='
- switch($atype) {
- case 'process':
- $aspect = " aspect='process'"; break;
- case 'selector':
- $aspect = " aspect='selector' rel = '$value'";
- $value = _("Select");
- if ($icon===false) $icon=ICON_SUBMIT; break;
- case 'default':
- $aspect = " aspect='default'";
- if ($icon===false) $icon=ICON_SUBMIT; break;
- case 'cancel':
- $aspect = " aspect='cancel'";
- if ($icon===false) $icon=ICON_ESCAPE; break;
- case null:
- $aspect = fallback_mode() ?
- " aspect='fallback'" : " style='display:none;'"; break;
- }
+ if ($atype === null) {
+ $aspect = fallback_mode() ? " aspect='fallback'" : " style='display:none;'";
+
+ } elseif (!is_bool($atype)) { // necessary: switch uses '=='
+
+ $aspect = "aspect='$atype' ";
+ $types = explode(' ', $atype);
+ foreach ($types as $type) {
+ switch($type) {
+ case 'selector':
+ $aspect = " aspect='selector' rel = '$value'";
+ $value = _("Select");
+ if ($icon===false) $icon=ICON_SUBMIT; break;
+
+ case 'default':
+ if ($icon===false) $icon=ICON_SUBMIT; break;
+
+ case 'cancel':
+ if ($icon===false) $icon=ICON_ESCAPE; break;
+ }
+ }
+ }
$submit_str = "<button class=\""
.($atype ? 'ajaxsubmit' : 'inputsubmit')
."\" type=\"submit\""
}
}
-function submit_js_confirm($name, $msg) {
- add_js_source(
- "_validate.$name=function(){ return confirm('"
- . strtr($msg, array("\n"=>'\\n')) . "');};");
-};
+function submit_js_confirm($name, $msg, $set = true) {
+ global $Ajax;
+ $js = "_validate.$name=".($set ? "function(){ return confirm('"
+ . strtr($msg, array("\n"=>'\\n')) . "');};"
+ : 'null;');
+ if (in_ajax()) {
+ $Ajax->addScript(true, $js);
+ } else
+ add_js_source($js);
+}
//-----------------------------------------------------------------------------------
function set_icon($icon, $title=false)
{
global $path_to_root;
- return "<img src='$path_to_root/themes/".user_theme()."/images/$icon' width='12' height='12' border='0'".($title ? " title='$title'" : "")." />\n";
+ if (basename($icon) === $icon) // standard icons does not contain path separator
+ $icon = "$path_to_root/themes/".user_theme()."/images/$icon";
+ return "<img src='$icon' width='12' height='12' border='0'".($title ? " title='$title'" : "")." />\n";
}
function button($name, $value, $title=false, $icon=false, $aspect='')
{
if ($value == _("Delete")) // Helper during implementation
$icon = ICON_DELETE;
- return "<button type='submit' class='editbutton' name='".
- htmlentities(strtr($name, array('.'=>'=2E',' '=>'=20','='=>'=3D','['=>'=5B'))).
- "' value='1'" . ($title ? " title='$title'":" title='$value'")
+ return "<button type='submit' class='editbutton' name='"
+ .htmlentities(strtr($name, array('.'=>'=2E', '='=>'=3D',// ' '=>'=20','['=>'=5B'
+ )))
+ ."' value='1'" . ($title ? " title='$title'":" title='$value'")
. ($aspect ? " aspect='$aspect'" : '')
. $rel
- ." />".set_icon($icon)."\n";
+ ." />".set_icon($icon)."</button>\n";
}
else
return "<input type='submit' class='editbutton' name='"
- .htmlentities(strtr($name, array('.'=>'=2E',' '=>'=20','='=>'=3D','['=>'=5B')))
+ .htmlentities(strtr($name, array('.'=>'=2E', '='=>'=3D',// ' '=>'=20','['=>'=5B'
+ )))
."' value='$value'"
.($title ? " title='$title'":'')
. ($aspect ? " aspect='$aspect'" : '')
}
//-----------------------------------------------------------------------------------
+function radio($label, $name, $value, $selected, $submit_on_change=false) {
+
+ if ($submit_on_change === true)
+ $submit_on_change =
+ "JsHttpRequest.request(\"_{$name}_update\", this.form);";
+
+ return "<input type='radio' name=$name value='$value' ".($selected ? "checked":'')
+ .($submit_on_change ? " onclick='$submit_on_change'" : '')
+ .">".($label ? $label : '');
+}
+//-----------------------------------------------------------------------------------
function labelheader_cell($label, $params="")
{
echo "<td class='tableheader' $params>$label</td>\n";
$Ajax->activate('_page_body');
}
}
+
+function customer_credit_row($customer, $credit, $parms='')
+{
+ global $path_to_root;
+
+ label_row( _("Current Credit:"),
+ "<a target='_blank' " . ($credit<0 ? 'class="redfg"' : '')
+ ."href='$path_to_root/sales/inquiry/customer_inquiry.php?customer_id=".$customer."'"
+ ." onclick=\"javascript:openWindow(this.href,this.target); return false;\" >"
+ . price_format($credit)
+ ."</a>", $parms);
+}
+
+function supplier_credit_row($supplier, $credit, $parms='')
+{
+ global $path_to_root;
+
+ label_row( _("Current Credit:"),
+ "<a target='_blank' " . ($credit<0 ? 'class="redfg"' : '')
+ ."href='$path_to_root/purchasing/inquiry/supplier_inquiry.php?supplier_id=".$supplier."'"
+ ." onclick=\"javascript:openWindow(this.href,this.target); return false;\" >"
+ . price_format($credit)
+ ."</a>", $parms);
+}
+
+/*
+ Edit transaction link to be used in transaction inquires
+*/
+function edit_trans_link($trans_type, $trans_no, $url='')
+{
+ global $path_to_root, $trans_editors;
+
+ if (!$url) $url = @$trans_editors[$trans_type];
+
+ if (!$trans_no || !$url)
+ return '';
+
+ if (is_closed_trans($trans_type, $trans_no)) {
+ return set_icon(ICON_CLOSED, _('Closed'));
+ } else {
+ $link_text = user_graphic_links() ? set_icon(ICON_EDIT, _('Edit')) : _('Edit');
+ return "<a href='".$path_to_root . sprintf($url, $trans_no, $trans_type)."'>$link_text</a>";
+ }
+}
+
+function bank_balance_row($bank_acc, $parms='')
+{
+ global $path_to_root;
+
+ $to = add_days(Today(), 1);
+ $bal = get_balance_before_for_bank_account($bank_acc, $to);
+ label_row( _("Bank Balance:"),
+ "<a target='_blank' " . ($bal<0 ? 'class="redfg"' : '')
+ ."href='$path_to_root/gl/inquiry/bank_inquiry.php?bank_account=".$bank_acc."'"
+ ." onclick=\"javascript:openWindow(this.href,this.target); return false;\" > "
+ . price_format($bal)
+ ."</a>", $parms);
+}
+
?>
\ No newline at end of file