// 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';
//fix the memory limit for this page
ini_set("memory_limit","48M");
// --- decoration
$title="Accounts";
$tabs=array();
-$tabs['My accounts'] = array('url'=>l_persons(),
- 'values'=>array('site_id'=>plc_my_site_id()),
- 'bubble'=>'Lists accounts on site ' . plc_my_site_id());
+$tabs []= tab_persons_mysite();
+
+if (plc_is_admin())
+ $tabs []= tab_persons_local();
// --------------------
-$peer_filter=array();
$person_filter=array();
////////////////////
}
// 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"));
$name=$site['name'];
$login_base=$site['login_base'];
$title .= t_site($site);
- $tabs = array_merge($tabs,tabs_site($site));
$person_filter['person_id']=$site['person_ids'];
- if ($site_id == plc_my_site_id())
- unset($tabs['My accounts']);
+ if ($site_id != plc_my_site_id())
+ $tabs []= tab_site($site);
}
if ($slice_id) {
$slices=$api->GetSlices(array($slice_id),array('person_ids','name'));
$slice=$slices[0];
$title .= t_slice($slice);
- $tabs = array_merge($tabs,tabs_slice($slice));
+ $tabs []= tab_slice($slice);
$person_filter['person_id'] = $slice['person_ids'];
}
// --------------------
drupal_set_title($title);
-plc_tabs($tabs);
+plekit_linetabs($tabs);
if ( ! $persons ) {
drupal_set_message ('No account found');
}
$headers = array ("Peer"=>"string",
- "Roles"=>"string",
"First"=>"string",
"Last"=>"string",
"Email"=>"string",
"Site" => "string",
+ "R"=>"string",
+ "S" => "int",
"Status"=>"string",
);
// initial sort on email
-plc_table_start("persons",$headers,4);
+$table=new PlekitTable("persons",$headers,3);
+$table->start();
+
+$peers=new Peers ($api);
-$peer_hash = plc_peer_global_hash ($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);
+ $table->row_start();
- plc_table_cell($shortname);
- plc_table_cell($roles);
- plc_table_cell ($person['first_name']);
- plc_table_cell ($person['last_name']);
- plc_table_cell(l_person_t($person_id,$email));
- plc_table_cell($login_base);
- plc_table_cell(person_status($person));
- plc_table_row_end();
+ $table->cell($shortname);
+ $table->cell ($person['first_name']);
+ $table->cell ($person['last_name']);
+ $table->cell(l_person_t($person_id,$email));
+ $table->cell(l_site_t($site_id,$login_base));
+ $table->cell($roles);
+ $table->cell(count($person['slice_ids']));
+ $table->cell(person_status($person));
+ $table->row_end();
}
+$notes=array("The S column shows the number of slices for the given user");
+$table->end(array('notes'=>$notes));
-plc_table_end("persons");
+//plekit_linetabs ($tabs,"bottom");
// Print footer
include 'plc_footer.php';