<?php
- // $Id: index.php 11750 2009-01-29 10:11:53Z thierry $
+ // $Id$
//
// Require login
// Common functions
require_once 'plc_functions.php';
-require_once 'plc_minitabs.php';
-require_once 'plc_tables.php';
+require_once 'plc_peers.php';
+require_once 'linetabs.php';
+require_once 'table.php';
+require_once 'nifty.php';
// --------------------
// recognized URL arguments
// --- decoration
$title="Sites";
$tabs=array();
+$tabs []= tab_sites();
+$tabs []= tab_sites_local();
+$tabs []= tab_mysite();
// --------------------
$site_filter=array();
function site_status ($site) {
+ $class=($site['peer_id']) ? 'plc-foreign' : 'plc-warning';
+
$messages=array();
if (empty ($site['node_ids']))
$messages [] = "No node";
- $class=($site['peer_id']) ? 'plc-foreign' : 'plc-warning';
-
// do all this stuff on local sites only
if ( ! $site['peer_id'] ) {
if ($nb_pis == 0) $messages [] = "No PI";
if ($nb_techs == 0) $messages [] = "No Tech";
+ if (! $site['is_public']) $messages []= "Not public";
+
// check number of slices
if ( $site['max_slices'] == 0) {
$messages [] = "No slice allowed";
}
// server-side selection on peerscope
-list ( $peer_filter, $peer_label) = plc_peer_info($api,$_GET['peerscope']);
-$site_filter=array_merge($site_filter,$peer_filter);
+$peerscope = new PeerScope ($api,$peerscope);
+$site_filter=array_merge($site_filter,$peerscope->filter());
+$title .= ' - ' . $peerscope->label();
if (! plc_is_admin()) {
$site_columns = array("site_id", "name", "abbreviated_name", "login_base" , "peer_id" );
$site_filter = array_merge ($site_filter, array ("enabled" => TRUE));
} else {
- $site_columns = array("site_id", "name", "abbreviated_name", "login_base" , "peer_id" ,
+ $site_columns = array("site_id", "name", "abbreviated_name", "login_base" , "peer_id" , "is_public",
"enabled", "person_ids", "max_slices", "slice_ids", "node_ids");
}
-$tabs['My site'] = array('url'=>l_site(plc_my_site_id()));
-$tabs['Local sites'] = array('url'=>l_sites_local());
if (plc_is_admin())
- $tabs['Pending'] = array ('url'=>l_sites_pending(),
- 'bubble'=>'Review pending join requests');
+ $tabs['Joining Sites'] = array ('url'=>l_sites_pending(),
+ 'bubble'=>'Review pending join requests');
drupal_set_title($title);
-plc_tabs($tabs);
+plekit_linetabs($tabs);
// go
$sites= $api->GetSites( $site_filter , $site_columns);
-$peer_hash = plc_peer_global_hash ($api);
+$peers=new Peers($api);
+$nifty=new PlekitNifty ('','objects-list','big');
+$nifty->start();
+if (plc_is_admin()) {
+ $headers['I']='int';
+}
$headers['Peer']="string";
$headers['Full Name']="string";
$headers['Login']="string";
$headers['?']="string";
}
-plc_table_start("sites",$headers,2);
+if (plc_is_admin()) {
+ $table=new PlekitTable("sites",$headers,3);
+} else {
+ $table=new PlekitTable("sites",$headers,2);
+}
+$table->start();
+
if ($sites) foreach ($sites as $site) {
- $shortname = plc_peer_shortname ($peer_hash,$site['peer_id']);
- plc_table_row_start($site['login_base']);
- plc_table_cell($shortname);
- plc_table_cell (l_site_t($site['site_id'],$site['name']));
- plc_table_cell ($site['login_base']);
- plc_table_cell ($site['abbreviated_name']);
+ $peer_id=$site['peer_id'];
+ $site_id=$site['site_id'];
+ $login_base=$site['login_base'];
+ $table->row_start();
+ if (plc_is_admin()) {
+ $table->cell(l_site_t($site_id,$site_id));
+ }
+ $peers->cell($table,$peer_id);
+ $table->cell (l_site_t($site_id,htmlentities($site['name'])));
+ $table->cell (l_site_t($site_id,$login_base));
+ $table->cell (htmlentities($site['abbreviated_name']));
if (plc_is_admin()) {
- plc_table_cell(count($site['node_ids']));
- plc_table_cell(count($site['person_ids']));
- plc_table_cell(count($site['slice_ids']));
- plc_table_cell(site_status($site));
+ $table->cell(href(l_nodes_site($site_id),count($site['node_ids'])));
+ $table->cell(href(l_persons_site($site_id),count($site['person_ids'])));
+ $table->cell(href(l_slices_site($site_id),count($site['slice_ids'])));
+ $table->cell(site_status($site));
}
- plc_table_row_end();
+ $table->row_end();
}
-plc_table_end("sites");
+$notes=array();
+if (plc_is_admin()) {
+ $notes []= "N = number of nodes";
+ $notes []= "U = number of users";
+ $notes []= "S = number of slices";
+ $notes []= "I = site_id";
+ $notes []= "? = status";
+ }
+
+$table->end(array('notes'=>$notes));
+$nifty->end();
+
+//plekit_linetabs ($tabs,"bottom");
// Print footer
include 'plc_footer.php';