Merged bugfixes since 2.0.6
[fa-stable.git] / includes / ui / ui_controls.inc
index 6b8f02d6ebd38b464e85ee30877973505bef9634..6e2c664a7a8f9cc01a59ca65fa49fbed8fb4efa1 100644 (file)
@@ -56,30 +56,37 @@ function end_table($breaks=0)
                br($breaks);
 }
 
-function start_outer_table($extra="", $padding='2', $spacing='0')
+function start_outer_table($extra="", $padding='2', $spacing='0', $br=false)
 {
-       br();
+       if ($br)
+               br();
        start_table($extra, $padding, $spacing);
        echo "<tr valign=top><td>\n"; // outer table
 }
 
-function table_section($number=1)
+function table_section($number=1, $width=false)
 {
-       if ($number == 2)
+       if ($number > 1)
        {
                echo "</table>\n";
-               echo "</td><td  class='tableseparator'>\n"; // outer table
+               $width = ($width ? "width=$width" : "");
+               echo "</td><td class='tableseparator' $width>\n"; // outer table
        }
        echo "<table>\n";
 }      
 
-function end_outer_table($breaks=0)
+function end_outer_table($breaks=0, $close_table=true)
 {
-       echo "</table>\n";
+       if ($close_table)
+               echo "</table>\n";
        echo "</td></tr>\n";
        end_table($breaks);
 }
 
+function vertical_space()
+{
+       echo "</td></tr><tr><td valign=center>"; // outer table
+}
 function meta_forward($forward_to, $params="")
 {
     global $Ajax;
@@ -201,11 +208,11 @@ function table_section_title($msg, $colspan=2)
        echo "<tr><td colspan=$colspan class='tableheader'>$msg</td></tr>\n";
 }
 
-function table_header($labels)
+function table_header($labels, $params='')
 {
        start_row();
        foreach ($labels as $label)
-               labelheader_cell($label);
+               labelheader_cell($label, $params);
        end_row();
 }
 //-----------------------------------------------------------------------------------
@@ -331,5 +338,33 @@ function context_reset()
 if (!isset($_SESSION['Context'])) {
                context_reset();
 }
+/*
+       Redirector for selector F4 calls.
+       $sel_editors is array of selname=>editor_page
+*/
+function editor_redirect($sel_editors, $save_fun='') {
+       foreach ($sel_editors as $selname=>$editor)
+               if (isset($_POST['_'.$selname.'_editor'])) {
+                       if (function_exists($save_fun))
+                               $save_fun();
+                       unset($_POST['_'.$selname.'_editor']);
+                       context_call($editor, array_keys($_POST));
+               }
+}
+/*
+       Return procedure for selector F4 calls
+*/
+function editor_return($vars, $restore_fun='') {
+       if (function_exists($restore_fun))
+               $restore_fun();
+
+       if ($ret = context_restore()) {
+               foreach ($vars as $postname=>$retname)
+                       if (isset($ret[$retname])) {
+                               $_POST[$postname] = $ret[$retname];
+                               set_focus($postname);
+                       }
+       }
+}
 
 ?>
\ No newline at end of file