X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fui%2Fui_lists.inc;h=0e515e3c7a307d3f2019d0beda9ee2a17790b7b0;hb=e7b078084252dbcb1fd1051ed0114804ed68b0e1;hp=9d7801b01a9d231db47b688257f4351e339cc924;hpb=303eb17e9cdd9702eee9fdfcaee51e654a1da541;p=fa-stable.git diff --git a/includes/ui/ui_lists.inc b/includes/ui/ui_lists.inc index 9d7801b0..0e515e3c 100644 --- a/includes/ui/ui_lists.inc +++ b/includes/ui/ui_lists.inc @@ -89,21 +89,20 @@ $opts = array( // default options $opts['sel_hint'] = $by_id || $search_box==false ? '' : _('Press Space tab for search pattern entry'); - if ($opts['box_hint'] === null) // dodaƦ hint dla pustego **** + if ($opts['box_hint'] === null) $opts['box_hint'] = $search_box && $search_submit != false ? ($by_id ? _('Enter code fragment to search or * for all') : _('Enter description fragment to search or * for all')) :''; if ($selected_id == null) { - $selected_id = get_post($name, $opts['default']); + $selected_id = get_post($name, (string)$opts['default']); } if(!is_array($selected_id)) - $selected_id = array($selected_id); // code is generalized for multiple selection support + $selected_id = array((string)$selected_id); // code is generalized for multiple selection support $txt = get_post($search_box); $rel = ''; $limit = ''; - if (isset($_POST['_'.$name.'_update'])) { // select list or search box change if ($by_id) $txt = $_POST[$name]; @@ -145,6 +144,7 @@ $opts = array( // default options } } } + // sql completion if (count($opts['where'])) { $where = strpos($sql, 'WHERE')==false ? ' WHERE ':' AND '; @@ -181,12 +181,13 @@ $opts = array( // default options if (get_post($search_button) && ($txt == $value)) { $selected_id[] = $value; } - if (in_array($value, $selected_id)) { + + if (in_array((string)$value, $selected_id, true)) { $sel = 'selected'; $found = $value; $edit = $opts['editable'] && $contact_row['editable'] && (@$_POST[$search_box] == $value) - ? $descr : false; + ? $contact_row[1] : false; // get non-formatted description if ($edit) break; // selected field is editable - abandon list construction } @@ -228,7 +229,7 @@ $opts = array( // default options $_POST[$name] = $multi ? $selected_id : $selected_id[0]; - $selector = "\n"; @@ -327,7 +328,7 @@ $opts = array( // default options $selected_id = get_post($name, $opts['default']); } if(!is_array($selected_id)) - $selected_id = array($selected_id); // code is generalized for multiple selection support + $selected_id = array((string)$selected_id); // code is generalized for multiple selection support if (isset($_POST[ '_'.$name.'_update'])) { if (!$opts['async']) @@ -343,7 +344,7 @@ $opts = array( // default options //if($name=='SelectStockFromList') display_error($sql); foreach($items as $value=>$descr) { $sel = ''; - if (in_array((string)$value, $selected_id)) { + if (in_array((string)$value, $selected_id, true)) { $sel = 'selected'; $found = $value; } @@ -354,6 +355,10 @@ $opts = array( // default options $selector .= "\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 $first_id = $spec_id; @@ -367,7 +372,8 @@ $opts = array( // default options $selected_id = array($first_id); } $_POST[$name] = $multi ? $selected_id : $selected_id[0]; - $selector = "\n"; @@ -1524,7 +1530,7 @@ function stock_categories_list_row($label, $name, $selected_id=null, $spec_opt=f //----------------------------------------------------------------------------------------------- -function gl_account_types_list($name, $selected_id=null, $all_option=false, $all_option_numeric=true) +function gl_account_types_list($name, $selected_id=null, $all_option=false, $all=true) { global $all_items; @@ -1532,28 +1538,26 @@ function gl_account_types_list($name, $selected_id=null, $all_option=false, $all return combo_input($name, $selected_id, $sql, 'id', 'name', array( - 'order' => 'class_id', 'id', + 'order' => array('class_id', 'id', 'parent'), 'spec_option' =>$all_option, - 'spec_id' => $all_option_numeric ? 0 : $all_items + 'spec_id' => $all_items ) ); } -function gl_account_types_list_cells($label, $name, $selected_id=null, $all_option=false, - $all_option_numeric=false) +function gl_account_types_list_cells($label, $name, $selected_id=null, $all_option=false, $all=false) { if ($label != null) echo "$label\n"; echo ""; - echo gl_account_types_list($name, $selected_id, $all_option, $all_option_numeric); + echo gl_account_types_list($name, $selected_id, $all_option, $all); echo "\n"; } -function gl_account_types_list_row($label, $name, $selected_id=null, $all_option=false, - $all_option_numeric=false) +function gl_account_types_list_row($label, $name, $selected_id=null, $all_option=false, $all=false) { echo "$label"; gl_account_types_list_cells(null, $name, $selected_id, $all_option, - $all_option_numeric); + $all); echo "\n"; } @@ -1648,30 +1652,31 @@ function yesno_list_row($label, $name, $selected_id=null, $name_yes="", $name_no //------------------------------------------------------------------------------------------------ -function languages_list($name, $selected_id=null) +function languages_list($name, $selected_id=null, $all_option=false) { global $installed_languages; $items = array(); + if ($all_option) + $items[''] = $all_option; foreach ($installed_languages as $lang) $items[$lang['code']] = $lang['name']; - return array_selector($name, $selected_id, $items); } -function languages_list_cells($label, $name, $selected_id=null) +function languages_list_cells($label, $name, $selected_id=null, $all_option=false) { if ($label != null) echo "$label\n"; echo ""; - echo languages_list($name, $selected_id); + echo languages_list($name, $selected_id, $all_option); echo "\n"; } -function languages_list_row($label, $name, $selected_id=null) +function languages_list_row($label, $name, $selected_id=null, $all_option=false) { echo "$label"; - languages_list_cells(null, $name, $selected_id); + languages_list_cells(null, $name, $selected_id, $all_option); echo "\n"; } @@ -1846,7 +1851,7 @@ function systypes_list_cells($label, $name, $value=null, $submit_on_change=false function systypes_list_row($label, $name, $value=null, $submit_on_change=false) { echo "$label"; - systypes_list_cells(null, $name, $value, false, $submit_on_change); + systypes_list_cells(null, $name, $value, $submit_on_change); echo "\n"; } @@ -2042,7 +2047,8 @@ function quick_entries_list($name, $selected_id=null, $type=null, $submit_on_cha function quick_entries_list_cells($label, $name, $selected_id=null, $type, $submit_on_change=false) { if ($label != null) - echo "$label\n"; + echo "$label\n"; + echo ""; echo quick_entries_list($name, $selected_id, $type, $submit_on_change); echo ""; } @@ -2212,4 +2218,52 @@ function extset_list($name, $value=null, $submit_on_change=false) )); } +function crm_category_types_list($name, $selected_id=null, $filter=array(), $submit_on_change=true) +{ + + $sql = "SELECT id, name, type, inactive FROM ".TB_PREF."crm_categories"; + + $multi = false; + $groups = false; + $where = array(); + if (@$filter['class']) { + $where[] = 'type='.db_escape($filter['class']); + } else + $groups = 'type'; + if (@$filter['subclass']) $where[] = 'action='.db_escape($filter['subclass']); + if (@$filter['entity']) $where[] = 'entity_id='.db_escape($filter['entity']); + if (@$filter['multi']) { // contact category selector for person + $multi = true; + } + + return combo_input($name, $selected_id, $sql, 'id', 'name', + array( + 'multi' => $multi, + 'height' => $multi ? 5:1, + 'category' => $groups, + 'select_submit'=> $submit_on_change, + 'async' => true, + 'where' => $where + )); +} + +function crm_category_types_list_row($label, $name, $selected_id=null, $filter=array(), $submit_on_change=true) +{ + echo "$label"; + echo crm_category_types_list($name, $selected_id, $filter, $submit_on_change); + echo "\n"; +} + +function payment_type_list_row($label, $name, $selected_id=null, $submit_on_change=false) +{ + global $pterm_types; + + echo "$label"; + echo array_selector($name, $selected_id, $pterm_types, + array( + 'select_submit'=> $submit_on_change + ) ); + echo "\n"; +} + ?> \ No newline at end of file