person;
$_roles= $_person['role_ids'];
//print_r( $_person );
// if node_host is set then set id to that node's id.
if( $_POST['slicename'] ) {
$slicename= $_POST['slicename'];
$slices= $api->GetSlices( array( $slicename ), array( "slice_id" ) );
$slice=$slices[0];
$slice_id=$slice['slice_id'];
plc_redirect(l_slice($slice_id));
}
// if no slice id, display list of slices
if( !$_GET['id'] ) {
// diplay site select list for admins
if( in_array( 10, $_roles ) ) {
// auto complete box for finding a slice
drupal_set_html_head('
');
echo "
\n
\n
\n";
// get site info
$site_info= $api->GetSites( NULL, array( "site_id", "name", "peer_id" ) );
sort_sites( $site_info );
// Thierry -- try to select only one entry
// xxx still not right if _person in several sites, but that is good enough
//if( $site['site_id'] == $_POST['site_id'] || in_array( $site['site_id'], $_person['site_ids'] ) )
if ($_POST['site_id'])
$selected_site_id = $_POST['site_id'];
else if ($_GET['site_id'])
$selected_site_id = $_GET['site_id'];
else
$selected_site_id = $_person['site_ids'][0];
echo "Select a site to view slices from: ";
echo "\n";
}
if( $_POST['site_id'] ) {
$selection="Site";
$site= array( intval( $_POST['site_id'] ) );
} elseif( $_GET['site_id'] ) {
$selection="Site";
$site= array( intval( $_GET['site_id'] ) );
} else {
$selection="Person";
$site= $_person['site_ids'];
}
// get site's slices
$site_info= $api->GetSites( $site, array( "slice_ids","name" ) );
if ( $selection == "Site" )
drupal_set_title ("Slices for site " . $site_info[0]['name']);
else
drupal_set_title ("Slices for " . $_person['email'] . "'s sites");
// make an array of all slices
foreach( $site_info as $site ) {
foreach( $site['slice_ids'] as $slice_id ) {
$slice_ids[]= $slice_id;
}
}
if (empty ($slice_ids)) {
echo "
No slice found, or all are expired.";
} else {
$slices= $api->GetSlices( $slice_ids, array( "slice_id", "name", "site_id", "person_ids", "expires", "peer_id" ) );
$slice=$slices[0];
//print '
'; print_r( $api->trace() ) ; print '
';
if ( ! $slices) {
echo "
No Slices on site, or all are expired.\n";
} else {
echo "
\n";
echo "
Slice list
\n";
echo "
Slice Name
";
echo "
Users
";
echo "
Expiration
";
echo "\n";
// create a list of person_ids
$person_ids = array();
foreach( $slices as $slice ) {
if ( !empty($slice['person_ids']) )
$person_ids = array_merge($person_ids, $slice['person_ids']);
}
// create an associative array of persons with person_id as the key
$person_list = $api->GetPersons( $person_ids, array("person_id", "email") );
$persons = array();
foreach( $person_list as $person)
{
$persons[$person['person_id']] = $person;
}
foreach( $slices as $slice ) {
$slice_id= $slice['slice_id'];
$slice_name= $slice['name'];
$slice_expires= date( "M j, Y", $slice['expires'] );
$peer_id = $slice['peer_id'];
$extraclass="";
if ( $peer_id )
$extraclass="plc-foreign";
echo "