<?php
-// $Id: index.php 11645 2009-01-21 23:09:49Z thierry $
+// $Id$
// Require login
require_once 'plc_login.php';
// Common functions
require_once 'plc_functions.php';
+require_once 'plc_peers.php';
require_once 'plc_minitabs.php';
require_once 'plc_tables.php';
// --- decoration
$title="Accounts";
$tabs=array();
-$mysite_id=plc_my_site_id();
$tabs['My accounts'] = array('url'=>l_persons(),
'values'=>array('site_id'=>plc_my_site_id()),
- 'bubble'=>'Lists accounts on site ' . $mysite_id);
+ 'bubble'=>'Lists accounts on site ' . plc_my_site_id());
// --------------------
-$peer_filter=array();
$person_filter=array();
////////////////////
$messages [] = "No Key";
if ( ! $person['enabled'] )
$messages[] = "Disabled";
- //detect tech-only people involved in slices.
+ // for tech-only people: outline user if in a slice
if ( ( count($person['roles'])==1 ) &&
- ( in_array('tech',$person['roles']) ) &&
- (! empty($person["slice_ids"])) )
- $messages[]="Tech involved in a Slice";
+ ( in_array('tech',$person['roles']) ) ) {
+ if (! empty($person["slice_ids"]) ) $messages[]="Tech in a Slice";
+ } else {
+ // or for other kind of people, if they have no slice
+ if ( count($person['slice_ids']) == 0) $messages [] = "No Slice";
+ }
return plc_vertical_table($messages,$class);
}
// fetch persons
-$person_columns=array('person_id','first_name','last_name','email','roles','peer_id','key_ids','site_ids');
+$person_columns=array('person_id','first_name','last_name','email','roles','peer_id','key_ids','site_ids','enabled','slice_ids');
// PIs and admins can see users not yet enabled
$privileges=plc_is_admin() || plc_is_pi();
if ( ! $privileges )
}
// server-side selection on peerscope
-list ( $peer_filter, $peer_label) = plc_peer_info($api,$_GET['peerscope']);
-$person_filter=array_merge($person_filter,$peer_filter);
+$peerscope=new PeerScope ($api,$_GET['peerscope']);
+$person_filter=array_merge($person_filter,$peerscope->filter());
+$title .= ' - ' . $peerscope->label();
if ($site_id) {
$sites=$api->GetSites(array($site_id),array("name","login_base","person_ids"));
return;
}
-$columns = array ("Peer"=>"string",
+$headers = array ("Peer"=>"string",
"Roles"=>"string",
"First"=>"string",
"Last"=>"string",
"Email"=>"string",
"Site" => "string",
+ "S" => "int",
"Status"=>"string",
);
// initial sort on email
-$table_options=array();
-plc_table_start("persons",$columns,4,$table_options);
+plc_table_start("persons",$headers,4);
-$peer_hash = plc_peer_get_hash ($api);
+$peers=new Peers ($api);
// write rows
foreach ($persons as $person) {
$person_id=$person['person_id'];
$email=$person['email'];
- $shortname = plc_peer_shortname ($peer_hash,$person['peer_id']);
+ $shortname = $peers->shortname($person['peer_id']);
$site_id=$person['site_ids'][0];
$site=$site_hash[$site_id];
$login_base = $site['login_base'];
$roles = plc_vertical_table ($person['roles']);
- plc_table_row_start($email);
+ plc_table_row_start();
plc_table_cell($shortname);
plc_table_cell($roles);
plc_table_cell ($person['last_name']);
plc_table_cell(l_person_t($person_id,$email));
plc_table_cell($login_base);
+ plc_table_cell(count($person['slice_ids']));
plc_table_cell(person_status($person));
plc_table_row_end();
}
-
-plc_table_end($table_options);
+$notes=array("The S column shows the number of slices for the given user");
+plc_table_end("persons",array('notes'=>$notes));
// Print footer
include 'plc_footer.php';