4 require_once 'plc_login.php';
6 // Get session and API handles
7 require_once 'plc_session.php';
11 require_once 'plc_drupal.php';
12 drupal_set_title('Sliver Tags');
13 include 'plc_header.php';
16 require_once 'plc_functions.php';
17 require_once 'table.php';
18 require_once 'toggle.php';
19 require_once 'form.php';
22 // if slice and node ids are passed display slivers and tags
23 if( $_GET['slice_id'] && $_GET['node_id'] ) {
24 $slice_id = $_GET['slice_id'];
25 $node_id = $_GET['node_id'];
29 $slice = $api->GetSlices( array( intval( $slice_id ) ), array( "name" ) );
33 $node = $api->GetNodes( array( intval( $node_id ) ), array( "hostname" ) );
36 drupal_set_title("Sliver tags on node " . $node['hostname'] . " and slice " . $slice['name']);
38 $peer_id= $slice['peer_id'];
39 $local_peer = ! $peer_id;
40 $privileges = ( $local_peer && (plc_is_admin() || plc_is_pi() || $am_in_slice));
42 // get the slivers for this node
43 $tags = $api->GetSliceTags( array( "node_id"=>intval( $node_id ), "slice_id"=>intval( $slice_id ) ),
44 array( "slice_tag_id", "tagname", "value", "min_role_id", "description" ) );
46 $toggle = new PlekitToggle ('sliver-tags',count_english_warning($tags,'tag'),
47 array('bubble'=>'Inspect and set tags on the sliver',
54 "Description"=>"string");
55 if ($privileges) $headers[plc_delete_icon()]="none";
57 $table_options = array("notes_area"=>false,"pagesize_area"=>false,"search_width"=>10);
58 $table = new PlekitTable("sliver_tags",$headers,'0',$table_options);
59 $form = new PlekitForm(l_actions(),array('slice_id'=>$slice_id, 'node_id'=>$node_id, 'sliver_action'=>true));
63 foreach ($tags as $tag) {
65 $table->cell($tag['tagname']);
66 $table->cell($tag['value']);
67 $table->cell($tag['description']);
72 $table->tfoot_start();
74 $table->cell($form->submit_html ("delete-slice-tags","Remove selected"),
75 array('hfill'=>true,'align'=>'right'));
79 function tag_selector ($tag) {
80 return array("display"=>$tag['tagname'],"value"=>$tag['tag_type_id']);
82 $all_tags= $api->GetTagTypes( array ("category"=>"slice*"), array("tagname","tag_type_id"));
83 $selector_tag=array_map("tag_selector",$all_tags);
85 $table->cell($form->select_html("tag_type_id",$selector_tag,array('label'=>"Choose Tag")));
86 $table->cell($form->text_html("value","",array('width'=>8)));
87 $table->cell($form->submit_html("add-slice-tag","Set Tag"),array('columns'=>2,'align'=>'left'));
97 include 'plc_footer.php';