Funcion get_reference return string instead of mysql resource.
[fa-stable.git] / includes / ui / ui_input.inc
index df269cd65f0950f75ba02129d74e33f72b5e6a49..a2355cfb02ee4f34c8823d65c63a1feb6910f539 100644 (file)
@@ -199,14 +199,6 @@ function submit_add_or_update_center($add=true, $title=false, $async=false)
        echo "</center>";
 }
 
-/*
-function submit_add_or_update_row($add=true)
-{
-       echo "<tr><td colspan=99 align=center>";
-       submit_add_or_update($add);
-       echo "</td></tr>\n";
-}
-*/
 function submit_add_or_update_row($add=true, $right=true, $extra="", $title=false, $async=false)
 {
        echo "<tr>";
@@ -239,6 +231,11 @@ function submit_return($name, $value, $title=false, $async=false)
                submit($name, $value, true, $title, $async);
        }
 }
+
+function submit_js_confirm($name, $msg) {
+       add_js_source(
+               "_validate.$name=function(){ return confirm('$msg');};");
+};
 //-----------------------------------------------------------------------------------
 
 function set_icon($icon, $title=false)
@@ -268,7 +265,7 @@ function button($name, $value, $title=false, $icon=false)
 
 function button_cell($name, $value, $title=false, $icon=false)
 {
-       echo "<td>";
+       echo "<td align='center'>";
        echo button($name, $value, $title, $icon);
        echo "</td>";
 }
@@ -323,11 +320,12 @@ function check($label, $name, $value=null, $submit_on_change=false, $title=false
        echo checkbox($label, $name, $value, $submit_on_change, $title);
 }
 
-function check_cells($label, $name, $value, $submit_on_change=false, $title=false)
+function check_cells($label, $name, $value, $submit_on_change=false, $title=false,
+       $params='')
 {
        if ($label != null)
                echo "<td>$label</td>\n";
-       echo "<td>";
+       echo "<td $params>";
        echo check(null, $name, $value, $submit_on_change, $title);
        echo "</td>";
 }
@@ -409,18 +407,19 @@ function label_row($label, $value, $params="", $params2="", $leftfill=0, $id='')
 
 //-----------------------------------------------------------------------------------
 
-function text_cells($label, $name, $value=null, $size="", $max="", $title=false, $params="", $post_label="", $disabled="")
+function text_cells($label, $name, $value=null, $size="", $max="", $title=false, 
+       $labparams="", $post_label="", $inparams="")
 {
        global $Ajax;
 
        default_focus($name);
        if ($label != null)
-               label_cell($label, $params);
+               label_cell($label, $labparams);
        echo "<td>";
 
        if ($value === null)
                $value = get_post($name);
-       echo "<input $disabled type=\"text\" name=\"$name\" size=\"$size\" maxlength=\"$max\" value=\"$value\""
+       echo "<input $inparams type=\"text\" name=\"$name\" size=\"$size\" maxlength=\"$max\" value=\"$value\""
            .($title ? " title='$title'" : '')
            .">";
 
@@ -431,7 +430,8 @@ function text_cells($label, $name, $value=null, $size="", $max="", $title=false,
        $Ajax->addUpdate($name, $name, $value);
 }
 
-function text_cells_ex($label, $name, $size, $max=null, $init=null, $title=null, $params=null, $post_label=null, $submit_on_change=false)
+function text_cells_ex($label, $name, $size, $max=null, $init=null, $title=null,
+       $labparams=null, $post_label=null, $submit_on_change=false)
 {
        global $Ajax;
 
@@ -444,7 +444,7 @@ function text_cells_ex($label, $name, $size, $max=null, $init=null, $title=null,
                        $_POST[$name] = "";
        }
        if ($label != null)
-               label_cell($label, $params);
+               label_cell($label, $labparams);
 
        if (!isset($max))
                $max = $size;
@@ -484,64 +484,96 @@ function text_row_ex($label, $name, $size, $max=null, $title=null, $value=null,
 //-----------------------------------------------------------------------------------
 function email_row($label, $name, $value, $size, $max, $title=null, $params="", $post_label="")
 {
-       text_row("<a href='Mailto:".$_POST[$name]."'>$label</a>", $name, $value, $size, $max, $title, $params, $post_label);
+       if (get_post($name)) 
+               $label = "<a href='Mailto:".$_POST[$name]."'>$label</a>";
+       text_row($label, $name, $value, $size, $max, $title, $params, $post_label);
 }
 
 function email_row_ex($label, $name, $size, $max=null, $title=null, $value=null, $params=null, $post_label=null)
 {
-       text_row_ex("<a href='Mailto:".$_POST[$name]."'>$label</a>", $name, $size, $max, $title, $value, $params, $post_label);
+       if (get_post($name)) 
+               $label = "<a href='Mailto:".$_POST[$name]."'>$label</a>";
+       text_row_ex($label, $name, $size, $max, $title, $value, $params, $post_label);
 }
 
 function link_row($label, $name, $value, $size, $max, $title=null, $params="", $post_label="")
 {
-       text_row("<a href='".$_POST[$name]."' target='_blank'>$label</a>", $name, $value, $size, $max, $title, $params, $post_label);
+       $val = get_post($name);
+       if ($val) {
+               if (strpos($val,'http://')===false)
+                       $val = 'http://'.$val;
+               $label = "<a href='$val' target='_blank'>$label</a>";
+       }
+       text_row($label, $name, $value, $size, $max, $title, $params, $post_label);
 }
 
 function link_row_ex($label, $name, $size, $max=null, $title=null, $value=null, $params=null, $post_label=null)
 {
-       text_row_ex("<a href='".$_POST[$name]."' target='_blank'>$label</a>", $name, $size, $max, $title, $value, $params, $post_label);
+       $val = get_post($name);
+       if ($val) {
+               if (strpos($val,'http://')===false)
+                       $val = 'http://'.$val;
+               $label = "<a href='$val' target='_blank'>$label</a>";
+       }
+       text_row_ex($label, $name, $size, $max, $title, $value, $params, $post_label);
 }
 
 //-----------------------------------------------------------------------------------
-
-function date_cells($label, $name, $title = null, $init=null, $inc_days=0, 
+//
+//     Since FA 2.2  $init parameter is superseded by $check. 
+//  When $check!=null current date is displayed in red when set to other 
+//     than current date.
+//     
+function date_cells($label, $name, $title = null, $check=null, $inc_days=0, 
        $inc_months=0, $inc_years=0, $params=null, $submit_on_change=false)
 {
-       global $use_date_picker, $path_to_root;
+       global $use_date_picker, $path_to_root, $Ajax;
+
        if (!isset($_POST[$name]) || $_POST[$name] == "")
        {
-               if (!$init)
+               if ($inc_years == 1001)
+                       $_POST[$name] = null;
+               else
                {
-                       if ($inc_years == 1001)
-                               $_POST[$name] = null;
-                       else
-                       {
-                               $dd = Today();
-                               if ($inc_days != 0)
-                                       $dd = add_days($dd, $inc_days);
-                               if ($inc_months != 0)
-                                       $dd = add_months($dd, $inc_months);
-                               if ($inc_years != 0)
-                                       $dd = add_years($dd, $inc_years);
-                               $_POST[$name] = $dd;
-                       }
+                       $dd = Today();
+                       if ($inc_days != 0)
+                               $dd = add_days($dd, $inc_days);
+                       if ($inc_months != 0)
+                               $dd = add_months($dd, $inc_months);
+                       if ($inc_years != 0)
+                               $dd = add_years($dd, $inc_years);
+                       $_POST[$name] = $dd;
                }
-               else
-                       $_POST[$name] = $init;
        }
        if ($use_date_picker)
                $post_label = "<a tabindex='-1' href=\"javascript:date_picker(document.getElementsByName('$name')[0]);\">"
                . "     <img src='$path_to_root/themes/default/images/cal.gif' width='16' height='16' border='0' alt='"._('Click Here to Pick up the date')."'></a>\n";
        else
                $post_label = "";
-       text_cells_ex($label, $name, 9, 12, $_POST[$name], $title, $params, $post_label, $submit_on_change);
+
+       if ($label != null)
+               label_cell($label, $params);
+
+       echo "<td>";
+       
+       $class = $submit_on_change ? 'class="searchbox"' : '';
+
+       $aspect = $check ? 'aspect="cdate"' : '';
+       if ($check && (get_post($name) != Today()))
+               $aspect .= ' style="color:#FF0000"';
+
+       echo "<input type=\"text\" name=\"$name\" $class $aspect size=\"9\" maxlength=\"12\" value=\"" 
+        . $_POST[$name]. "\""
+        .($title ? " title='$title'": '')." > $post_label";
+       echo "</td>\n";
+       $Ajax->addUpdate($name, $name, $_POST[$name]);
 }
 
-function date_row($label, $name, $title=null, $init=null, $inc_days=0, $inc_months=0, 
+function date_row($label, $name, $title=null, $check=null, $inc_days=0, $inc_months=0, 
        $inc_years=0, $params=null, $submit_on_change=false)
 {
        echo "<tr>";
-       date_cells($label, $name, $title, $init, $inc_days, $inc_months, 
+       date_cells($label, $name, $title, $check, $inc_days, $inc_months, 
                $inc_years, $params, $submit_on_change);
        echo "</tr>\n";
 }
@@ -723,6 +755,48 @@ function text_row_with_submit($label, $name, $value, $size, $max, $input_name, $
 }
 */
 //-----------------------------------------------------------------------------------
+//
+//     When show_inactive page option is set 
+//  displays value of inactive field as checkbox cell.
+//  Also updates database record after status change.
+//
+function inactive_control_cell($id, $value, $table, $key)
+{
+       global  $Ajax;
 
+       $name = "Inactive". $id;
+       $value = $value ? 1:0;
 
+       if (check_value('show_inactive')) {
+               if (isset($_POST['LInact'][$id]) && (get_post('_Inactive'.$id.'_update') || 
+                       get_post('Update')) && (check_value('Inactive'.$id) != $value)) {
+                       update_record_status($id, !$value, $table, $key);
+               }
+               echo '<td align="center">'. checkbox(null, $name, $value, true, '', "align='center'")
+                       . hidden("LInact[$id]", $value, false) . '</td>';       
+       }
+}
+//
+//     Displays controls for optional display of inactive records
+//
+function inactive_control_row($th) {
+       echo  "<tr><td colspan=".(count($th)).">"
+               ."<div style='float:left;'>"
+               . checkbox(null, 'show_inactive', null, true). _("Show also Inactive")
+               ."</div><div style='float:right;'>"
+               . submit('Update', _('Update'), false, '', null)
+               ."</div></td></tr>";
+}
+//
+//     Inserts additional column header when display of inactive records is on.
+//
+function inactive_control_column(&$th) {
+       global $Ajax;
+       
+       if (check_value('show_inactive')) 
+               array_insert($th, count($th)-2 , _("Inactive"));
+       if (get_post('_show_inactive_update')) {
+               $Ajax->activate('_page_body');
+       }
+}
 ?>
\ No newline at end of file