X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fui%2Fui_lists.inc;h=0e515e3c7a307d3f2019d0beda9ee2a17790b7b0;hb=e7b078084252dbcb1fd1051ed0114804ed68b0e1;hp=72d2dd9c261f422a0be830b88780a9c4150ca64e;hpb=c232de82bc5c4e365b84550ee811e4d6bd9631d6;p=fa-stable.git diff --git a/includes/ui/ui_lists.inc b/includes/ui/ui_lists.inc index 72d2dd9c..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 '; @@ -328,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']) @@ -345,16 +345,14 @@ $opts = array( // default options foreach($items as $value=>$descr) { $sel = ''; if (in_array((string)$value, $selected_id, true)) { - $sel = "selected='selected'"; + $sel = 'selected'; $found = $value; } if ($first_id === false) { $first_id = $value; - $first_opt = "$descr\n"; - } - else { - $selector .= "$descr\n"; + $first_opt = $descr; } + $selector .= "$descr\n"; } if ($first_id!==false) { @@ -365,7 +363,7 @@ $opts = array( // default options if ($spec_option !== false) { // if special option used - add it $first_id = $spec_id; $first_opt = $spec_option; - $sel = $found===false ? "selected='selected'" : ''; + $sel = $found===false ? 'selected' : ''; $selector = "$spec_option\n" . $selector; } @@ -374,6 +372,7 @@ $opts = array( // default options $selected_id = array($first_id); } $_POST[$name] = $multi ? $selected_id : $selected_id[0]; + $selector = "$label"; - systypes_list_cells(null, $name, $value, false, $submit_on_change); + systypes_list_cells(null, $name, $value, $submit_on_change); echo "\n"; } @@ -2219,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