6 require_once 'plc_login.php';
8 // Get session and API handles
9 require_once 'plc_session.php';
13 require_once 'plc_drupal.php';
14 include 'plc_header.php';
17 require_once 'plc_functions.php';
18 require_once 'plc_minitabs.php';
19 require_once 'plc_tables.php';
20 require_once 'plc_forms.php';
22 // --------------------
23 // recognized URL arguments
24 $pattern=$_GET['pattern'];
29 $tabs['Tag Types']=array('url'=>l_tags(),'bubble'=>"Create a new tag type");
30 $tabs['All Nodes']=array('url'=>l_nodes(),'bubble'=>"Nodes from all peers");
31 $tabs['Local Nodes']=array('url'=>l_nodes(),'values'=>array('peerscope'=>'local'),'bubble'=>"All local nodes");
32 //$tabs['Interfaces']=l_interfaces();
33 $tabs['All Slices']=array('url'=>l_slices(),'bubble'=>"Slices from all peers");
35 // --------------------
36 drupal_set_title($title);
39 $tag_type_columns = array( "tag_type_id", "tagname", "category", "description", "min_role_id" );
41 $tag_type_filter=NULL;
43 $tag_type_filter['category']=$pattern;
46 $tag_types= $api->GetTagTypes($tag_type_filter, $tag_type_columns);
50 $headers['Name']="string";
51 $headers['Description']="string";
52 $headers['Category']="string";
53 $headers['Min role']="string";
55 if (plc_is_admin()) $headers[plc_delete_icon()]="none";
57 $form=new PlcForm(l_actions(),NULL);
60 $table = new PlcTable("tags",$headers,0);
63 $roles_hash=plc_role_global_hash($api);
65 $description_width=40;
67 foreach( $tag_types as $tag_type ) {
68 $role_name=$roles_hash[$tag_type['min_role_id']];
71 $tag_type_id=$tag_type['tag_type_id'];
72 $table->cell(href(l_tag($tag_type_id),$tag_type['tagname']));
73 $table->cell(wordwrap($tag_type['description'],$description_width,"<br/>"));
74 $table->cell($tag_type['category']);
75 $table->cell($role_name);
76 $table->cell($tag_type_id);
78 $table->cell ($form->checkbox_html('tag_type_ids[]',$tag_type_id));
83 $table->tfoot_start();
86 $table->cell($form->submit_html ("delete-tag-types","Remove tags"),
87 $table->columns(),"right");
90 // an inline area to add a tag type
93 // build the role selector
94 $relevant_roles = $api->GetRoles( array("~role_id"=>$role_ids));
95 function selector_argument ($role) { return array('display'=>$role['name'],"value"=>$role['role_id']); }
96 $selectors=array_map("selector_argument",$relevant_roles);
97 $role_input=$form->select_html("min_role_id",$selectors,"Role");
99 $table->cell($form->text_html('tagname','',''));
100 $table->cell($form->textarea_html('description','',$description_width,2));
101 $table->cell($form->text_html('category','',''));
102 $table->cell($role_input);
103 $table->cell($form->submit_html("add-tag-type","Add Type"),2);
111 include 'plc_footer.php';