details can be updated inline - old forms still to be cleaned up
[plewww.git] / planetlab / includes / plc_minitabs.php
index c315c9e..cac7aad 100644 (file)
@@ -27,25 +27,35 @@ drupal_set_html_head('
 // (*) you need to tune the image size, which is wrong, as the image should rather be bottom-aligned 
 
 
-function plc_tabs($array) {
-  print '<div id="minitabs_container">';
-  print '<ul id="miniflex">';
+function plc_tabs ($array) {
+  print '<div id="minitabs-container">';
+  print '<ul id="minitabs-list">';
   print "\n";
   foreach ($array as $label=>$todo) {
-    print '<li class="minitabs">';
+    $tracer="class=minitabs";
+    if ($todo['id']) 
+      $tracer .= " id=".$todo['id'];
+    printf ("<li %s>\n",$tracer);
     // in case we have a string, rewrite it as an array
     if (is_string ($todo)) $todo=array('method'=>'GET','url'=>$todo);
     // set default method
     if ( ! $todo['method'] ) $todo['method']='GET';
+    // extract var=value settings from url if any
+    $full_url=$todo['url'];
+    $split=split_url($full_url);
+    $url=$split['url'];
+    $url_values=$split['values'];
+
     // create form
-    printf ('<form name="%s" action="%s" method="%s">',$label,$todo['url'],$todo['method']);
+    printf ('<form name="%s" action="%s" method="%s">',$label,$url,$todo['method']);
     // set values
-    if ( $todo['values'] ) {
-      foreach ($todo['values'] as $key=>$value) {
+    $values=$todo['values'];
+    if ( ! $values) $values = array();
+    if ($url_values) $values = array_merge($values,$url_values);
+    if ( $values ) foreach ($values as $key=>$value) {
        printf('<input class="minitabs-hidden" type=hidden name="%s" value="%s" />',$key,$value);
       }
-    }
-    $class_value="minitabs-submit";
+    $tracer="class=minitabs-submit";
     // image and its companions 'height' 
     if ($todo['image']) {
       $type='type=image src="' . $todo['image'] . '"';
@@ -54,14 +64,15 @@ function plc_tabs($array) {
       $type='type=button value="' . $label . '"';
     }
     printf('<span title="%s">',$todo['bubble']);
-    printf('<input class="%s" %s onclick=\'miniTab.submit("%s");\' />',$class_value,$type,$todo['confirm']);
+    $message="";
+    if ($todo['confirm']) $message=$todo['confirm'] . " ?";
+    printf('<input %s %s onclick=\'miniTab.submit("%s");\' />',$tracer,$type,$message);
     printf('</span>',$todo['bubble']);
     printf("</form></li>\n");
   }
   print '</ul>';
   print '</div>';
-  print "\n";
-  print "<br/>\n";
+  print "<p class='plc-minittabs'></p>\n";
 }
 
 ?>