X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetlab%2Fslices%2Fslices.php;h=2b10bc9310c7b158dbe46f4b7ba641de8c445149;hb=cc69977eaad2e905c9496db4f466640ad3d96b0f;hp=f4ebb5c4f87d8d513a5f206b76df2012b8a756e5;hpb=1a2eb1bf447e1e3cccf35959ad10ffaaa9790032;p=plewww.git diff --git a/planetlab/slices/slices.php b/planetlab/slices/slices.php index f4ebb5c..2b10bc9 100644 --- a/planetlab/slices/slices.php +++ b/planetlab/slices/slices.php @@ -21,6 +21,7 @@ require_once 'plc_functions.php'; require_once 'plc_peers.php'; require_once 'linetabs.php'; require_once 'table.php'; +require_once 'nifty.php'; // -------------------- // recognized URL arguments @@ -32,6 +33,13 @@ $person_id=intval($_GET['person_id']); // --- decoration $title="Slices"; $tabs=array(); + +if (plc_is_admin()) { + $tabs []= tab_slices(); +} +if (plc_is_user()) { + $tabs []= tab_slices_person(); +} $tabs []= tab_slices_mysite(); if (plc_is_admin()) $tabs []= tab_slices_local(); @@ -66,12 +74,13 @@ if ($site_id) { } if ($person_id) { - $persons=$api->GetPersons(array('person_id'=>$person_id,array('email','person_id','slice_ids'))); - $person=$persons[0]; - $title .= t_person($person); - $tabs .= tab_person($person); - $slice_filter['slice_id']=$person['slice_ids']; - } + // fetch the person's slice_ids + $persons = $api->GetPersons(array('person_id'=>$person_id),array('person_id','email','slice_ids')); + $person=$persons[0]; + $slice_ids['slice_id']=$person['slice_ids']; + $title .= t_person($person); + $slice_filter['slice_id']=$person['slice_ids']; +} // go $slices=$api->GetSlices($slice_filter,$slice_columns); @@ -101,35 +110,48 @@ if ( ! $slices ) { return; } -$headers = array ("Peer"=>"string", - "Name"=>"string", - "Users"=>"string", - "N"=>"int", - "Exp. d/m/y"=>"date-dmy"); +$nifty=new PlekitNifty ('','objects-list','big'); +$nifty->start(); +if (plc_is_admin()) $headers["I"]="int"; +$headers["Peer"]="string"; +$headers["Name"]="string"; +$headers["Users"]="string"; +$headers["U"]="int"; +$headers["N"]="int"; +$headers["Exp. d/m/y"]="date-dmy"; # initial sort on hostnames -$table=new PlekitTable ("slices",$headers,2, +if (plc_is_admin()) $slices_sort_column = 3; +else $slices_sort_column = 2; + +$table=new PlekitTable ("slices",$headers,$slices_sort_column, array('search_width'=>20)); $table->start(); $peers = new Peers ($api); // write rows foreach ($slices as $slice) { + $slice_id=$slice['slice_id']; $peer_id=$slice['peer_id']; - $shortname = $peers->shortname($peer_id); $users=plc_vertical_table (array_map ("email_link_from_hash",$slice['person_ids'])); $expires= date( "d/m/Y", $slice['expires'] ); $table->row_start(); - $table->cell ($peers->link($peer_id,$shortname)); - $table->cell (l_slice_obj($slice)); + if (plc_is_admin()) $table->cell (l_slice_t($slice_id,$slice_id)); + $peers->cell($table,$peer_id); + $table->cell (href(l_slice_nodes($slice_id),$slice['name'])); $table->cell ($users); - $table->cell (href(l_nodes_slice($slice['slice_id']),count($slice['node_ids']))); + $table->cell(href(l_persons_slice($slice_id),count($slice['person_ids']))); + $table->cell (href(l_nodes_slice($slice_id),count($slice['node_ids']))); $table->cell ($expires); $table->row_end(); } -$table->end(); +$notes=array(); +$notes []= "U = number of users"; +$notes []= "N = number of nodes"; +$table->end(array('notes'=>$notes)); +$nifty->end(); //plekit_linetabs ($tabs,"bottom");