case 'add-person-to-site': {
$site_id = $_POST['site_id'];
$api->AddPersonToSite( intval( $person_id ), intval( $site_id ) );
- header( "location: " . l_person($person_id));
- exit();
+ plc_redirect (l_person($person_id));
}
case 'remove-person-from-sites': {
foreach ( $site_ids as $site_id ) {
$api->DeletePersonFromSite( intval( $person_id ), intval( $site_id ) );
}
- header( "location: " . l_person($person_id));
- exit();
+ plc_redirect (l_person($person_id));
}
case 'remove-roles-from-person' : {
foreach( $role_ids as $role_id) {
$api->DeleteRoleFromPerson( intval( $role_id ), intval( $person_id ) );
}
- header( "location: " . l_person($person_id));
- exit();
+ plc_redirect (l_person($person_id));
}
case 'add-role-to-person' : {
$role_id=$_POST['role_id'];
$api->AddRoleToPerson( intval( $role_id ), intval( $person_id ) );
- header( "location: " . l_person($person_id));
- exit();
+ plc_redirect (l_person($person_id));
}
case 'enable-person' : {
$fields = array( "enabled"=>true );
$api->UpdatePerson( intval( $person_id ), $fields );
- header( "location: " . l_person($person_id));
- exit();
+ plc_redirect (l_person($person_id));
}
case 'disable-person' : {
$fields = array( "enabled"=>false );
$api->UpdatePerson( intval( $person_id ), $fields );
- header( "location: " . l_person($person_id));
- exit();
+ plc_redirect (l_person($person_id));
}
case 'become-person' : {
$plc->BecomePerson (intval($person_id));
- header ("location: " . l_persons());
- exit();
+ plc_redirect (l_persons());
}
case 'delete-person' : {
$api->DeletePerson( intval( $person_id ) );
- header( "location: " . l_persons() );
- exit();
+ plc_redirect (l_persons());
}
case 'delete-keys' : {
foreach( $key_ids as $key_id ) {
$api->DeleteKey( intval( $key_id ) );
}
- header( "location: " . l_person($person_id));
- exit();
+ plc_redirect(l_person($person_id));
}
case 'upload-key' : {
plc_error("Please verify your SSH file content");
return;
}
- header( "location: " . l_person($person_id));
- exit();
+ plc_redirect(l_person($person_id));
}
case 'update-tag-type': {
// Update it!
$api->UpdateTagType( $tag_type_id, $tag_type_fields );
- header( "location: " . l_tag($tag_type_id));
- exit();
+ plc_redirect(l_tag($tag_type_id));
}
case 'add-tag-type': {
$id=$api->AddTagType( $tag_type_fields );
drupal_set_message ("tag type $id created");
- header( "location: " . l_tag($id));
- exit();
+ plc_redirect( l_tag($id));
}
case 'delete-site': {
drupal_set_message ("Site $site_id deleted");
else
drupal_set_error("Failed to delete site $site_id");
- header ("location: " . l_sites());
- exit();
+ plc_redirect (l_sites());
}
case 'expire-all-slices-in-site': {
}
// update site to not allow slice creation or renewal
$api->UpdateSite( $site_id, array( "max_slices" => 0 )) ;
- header ("location: " . l_site($site_id));
- exit(0);
+ plc_redirect (l_site($site_id));
}
case 'set-tag-on-node': {
}
}
- header ("location: " . l_node($node_id));
- exit();
+ plc_redirect (l_node($node_id));
}
}
.plc-error {
background: red;
+ font-weight:bold;
}
*.plc-warning a:link { text-decoration: none; color:white }
function l_doc_nmapi() { return "/db/doc/NMAPI.php"; }
function l_admin() { return "/db/adminsearch.php"; }
+function l_login() { return "/db/login.php"; }
function l_logout() { return "/planetlab/logout.php"; }
function l_sulogout() { return "/planetlab/sulogout.php"; }
function l_reset_password() { return "/db/persons/reset_password.php"; }
print "<div class='plc-error'> Error " . $text . "</div>";
}
-function plc_errors ($list) {
- print( "<div class='plc-error'>" );
- print( "<p style='font-weight:bold'>The following errors occured:</p>" );
- print("<ul>");
- foreach( $errors as $err ) {
- print( "<li>$err</li>\n" );
+function plc_errors ($errors) {
+ if ($errors) {
+ print( "<div class='plc-error'>" );
+ print( "<p>The following errors occured:</p>" );
+ print("<ul>");
+ foreach( $errors as $error )
+ print( "<li>$error</li>\n" );
+ print( "</ul></div>\n" );
}
- print( "</ul></div>\n" );
}
function plc_warning_text ($text) { return "<span class='plc-warning'>" . $text . "</span>";}
return $result;
}
+////////////////////
+function plc_redirect ($url) {
+ header ("Location: " . $url);
+ exit ();
+}
?>
if (empty($_REQUEST['url'])) {
// XXX Redirect to default home page
- Header("Location: /");
+ header("Location: /");
exit();
} else {
// Make sure that redirections are always local
if ($url[0] != "/") {
$url = "/$url";
}
- Header("Location: $url");
+ header("Location: $url");
exit();
}
} else {
// Destroy PHP session
session_destroy();
-Header("Location: /db/login.php");
+plc_redirect(l_login());
-?>
\ No newline at end of file
+?>
// redirect to comon
-header("Location: " . $url);
+plc_redirect($url);
?>
// Either interface_id or node_id must be specified in URL
if( !isset( $_GET['node_id'] ) && !( $nodes= $api->GetNodes( array( intval($node_id) ), array( 'node_id', 'hostname', 'site_id' ) ) ) ) {
- Header( "Location: index.php" );
- exit();
+ drupal_set_error ("Malformed URL");
+ plc_redirect(l_nodes());
}
elseif ( isset( $_POST['delete'] ) || isset( $_GET['delete']) || isset( $_POST['update'] ) ) {
// interface_id must be specified in URL
if( !isset( $id ) ) {
- Header( "Location: index.php?id=$node_id" );
- exit();
+ plc_redirect(l_node($node_id));
}
if( isset( $_POST['delete'] ) || isset ($_GET['delete']) ) {
$api->DeleteInterface( $id );
if( !empty( $error ) ) {
echo '<div class="plc-warning">' . $error . '.</div>';
} else {
- Header( "Location: index.php?id=$node_id" );
- exit();
+ plc_redirect(l_node($node_id));
}
}
// check arguments
if (empty($_POST['node_id'])) {
- header ('location:index.php');
- exit();
+ plc_redirect (l_nodes());
} else {
$node_id = intval($_POST['node_id']);
}
$error= $api->error();
if( empty( $error ) ) {
- header( "location: index.php?id=$node_id" );
- exit();
+ plc_redirect(l_node($node_id));
} else {
echo "<font color=red>". $error . "</font>\n" ;
echo "<p> Press back to retry</p>";
// from former node_actions.php
case "delete":
$api->DeleteNode( intval( $node_id ) );
- header( "location: index.php" );
- exit();
+ plc_redirect(l_nodes());
break;
// ACTION: boot-state
case 'rcnf':
case 'new':
$api->UpdateNode( intval( $node_id ), array( "boot_state" => $_POST['boot_state'] ) );
- header( "location: index.php?id=$node_id" );
- exit();
+ plc_redirect (l_node($node_id));
break;
default:
print "<div class='plc-error'> no such boot state " . $_POST['boot_state'] . "</div>";
default:
echo "Unkown action <$action>.";
- header("location:index.php?id=" . $node_id);
- exit();
+ plc_redirect (l_node($node_id));
break;
}
}
// xxx check the destination page
- header( "location: settings.php" );
- exit();
+ plc_redirect ("settings.php");
}
// tag type adds
$api->AddTagType( $setting_type );
// xxx check the destination page
- header( "location: settings.php" );
- exit();
+ plc_redirect ("settings.php");
}
// delete the tag
$api->DeleteInterfaceTag( $setting_id );
- header( "location: interfaces.php?id=$interface_id" );
- exit();
+ plc_redirect (l_interface($interface_id));
}
// tag adds
// add it!
$api->AddInterfaceTag( $interface_id, $interface_tag_type_id, $value );
- header( "location: interfaces.php?id=$interface_id" );
- exit();
+ plc_redirect (l_interface($interface_id));
}
// tag updates
// update it!
$api->UpdateInterfaceTag($setting_id, $value );
- header( "location: interfaces.php?id=$interface_id" );
- exit();
+ plc_redirect (l_interface($interface_id));
}
// Settings -------------------------------------------------
$api->DeleteTagType( $type_id );
// xxx check the destination page
- header( "location: settings.php" );
- exit();
+ plc_redirect ("settings.php" );
}
/*
$api->AddSliceTag( intval( $slice_id ), intval( $tag_type ), $value, intval( $node_id ) );
- header( "location: slivers.php?slice=$slice_id&node=$node_id" );
- exit();
-
+ // xxx l_sliver ?
+ plc_redirect (l_sliver ($node_id,$slice_id));
+ //header( "location: slivers.php?slice=$slice_id&node=$node_id" );
}
$tag_id= $_GET['rem_id'];
// get the slivers for this node
- $sliver_info= $api->GetSliceTags( array( "slice_tag_id"=>intval( $tag_id ) ), array( "slice_id", "node_id" ) );
+ $slivers= $api->GetSliceTags( array( "slice_tag_id"=>intval( $tag_id ) ), array( "slice_id", "node_id" ) );
+ $sliver=$slivers[0];
$api->DeleteSliceTag( intval( $tag_id ) );
- header( "location: slivers.php?slice=". $sliver_info[0]['slice_id'] ."&node=". $sliver_info[0]['node_id'] );
- exit();
-
+ $node_id=$sliver['node_id'];
+ $slice_id=$sliver['slice_id'];
+ plc_redirect (l_sliver ($node_id,$slice_id));
}
if( isset($_GET['id']) && is_numeric($_GET['id']) ) {
$person_id= intval($_GET['id']);
} else {
- header( "location: index.php" );
- exit();
+ plc_redirect (l_sites());
}
$errors= array();
$rc= $api->UpdatePerson( intval( $person_id ), $update_vals);
- if( $rc == 1 ) {
- Header( "Location: /db/persons/index.php?id=$person_id" );
- exit();
- }
- elseif ($rc === NULL) {
+ if ( $rc == 1 ) {
+ plc_redirect(l_person($person_id));
+ } elseif ($rc === NULL) {
$errors[] = $api->error();
}
}
// if no id redirect
-if( !$_GET['id'] ) {
- header( "location: index.php" );
- exit();
- }
+if( !$_GET['id'] )
+ plc_redirect (l_sites());
// set the site_id
$site_id= $_GET['id'];
$pcu_id= $api->AddPCU( $site_id, $fields );
if( $pcu_id != 0 ) {
- header( "location: /db/sites/pcu.php?id=$pcu_id" );
+ // xxx is l_pcu defined & effective ?
+ plc_redirect( l_pcu($pcu_id));
exit();
} else {
$error= $api->error();
$api->DeleteNodeFromPCU( intval( $rem_id ), $pcu_id );
- header( "Location: /db/sites/pcu.php?id=$pcu_id" );
- exit();
+ plc_redirect (l_pcu ($pcu_id));
}
$api->UpdatePCU( $pcu_id, array( "protocol"=>$protocol, "hostname"=>$hostname, "model"=>$model, "password"=>$password, "notes"=>$notes, "ip"=>$ipaddress ) );
- header( "Location: /db/sites/pcu.php?id=$pcu_id" );
- exit();
+ plc_redirect (l_pcu($pcu_id));
}
if ( $local_peer ) {
- // Addresses
- if ($addresses) {
- plc_details_space_line();
- plc_details_line("Addresses","");
- foreach ($addresses as $address) {
- plc_details_line(plc_vertical_table($address['address_types']),
- plc_vertical_table(array($address['line1'],
- $address['line2'],
- $address['line3'],
- $address['city'],
- $address['state'],
- $address['postalcode'],
- $address['country'])));
- }
- }
-
// Nodes
plc_details_space_line();
$nb_boot = 0;
$nodes_text= plc_vertical_table(array_map ("n_link",$nodes));
plc_details_line ("hostnames",$nodes_text);
+
// Users
plc_details_space_line();
$user_text = count($person_ids) . " total / " .
$tech_text = plc_vertical_table (array_map ("p_link",$techs));
plc_details_line("techs's",$tech_text);
+
// Slices
plc_details_space_line();
// summary on # slices
plc_details_line($slice['instantiation'],l_slice_text($slice));
+ // Addresses
+ if ($addresses) {
+ plc_details_space_line();
+ plc_details_line("Addresses","");
+ foreach ($addresses as $address) {
+ plc_details_line(plc_vertical_table($address['address_types']),
+ plc_vertical_table(array($address['line1'],
+ $address['line2'],
+ $address['line3'],
+ $address['city'],
+ $address['state'],
+ $address['postalcode'],
+ $address['country'])));
+ }
+ }
+
}
plc_details_end();
// depending on action, run function
switch( $_POST['actions'] ) {
case "update":
- header( "location: update_site.php?id=$site_id" );
- exit();
+ plc_redirect( "update_site.php?id=$site_id" );
break;
case "delete":
- header( "location: delete_site.php?id=$site_id" );
- exit();
+ plc_redirect( "delete_site.php?id=$site_id" );
break;
case "expire":
- header( "location: expire.php?id=$site_id" );
- exit();
+ plc_redirect( "expire.php?id=$site_id" );
break;
}
// if no site id redirect
-if( !$_GET['id'] ) {
- header( "location: index.php" );
- exit();
- }
+if( !$_GET['id'] )
+ plc_redirect(l_sites());
// get site_id
$site_id= $_GET['id'];
$fields= array( "name" => $name, "url" => $url, "longitude" => floatval( $longitude ), "login_base" => $login_base, "latitude" => floatval( $latitude ), "is_public" => true, "abbreviated_name" => $abbrev_name, "max_slices" => intval( $max_slices ) );
$api->UpdateSite( intval( $site_id ), $fields );
// Thierry aug 31 07 - redirect to the site's details page
- header("location: index.php?id=$site_id");
- //echo "<pre>"; print_r( $fields ); echo "</pre>";
+ plc_redirect(l_site($site_id));
}
}
$slice_new_id= $api->AddSlice( $fields );
if( $slice_new_id ) {
- header( "location: index.php?id=$slice_new_id" );
+ plc_redirect( "index.php?id=$slice_new_id" );
exit();
} else {
$error['api']= $api->error();
// delete it!
if( $_POST['delete'] ) {
$api->DeleteSlice( intval( $slice_id ) );
-
- header( "location: index.php" );
- exit();
+ plc_redirect(l_slices());
}
// Print header
if( $_POST['slicename'] ) {
$slicename= $_POST['slicename'];
- $slice_info= $api->GetSlices( array( $slicename ), array( "slice_id" ) );
+ $slices= $api->GetSlices( array( $slicename ), array( "slice_id" ) );
+ $slice=$slices[0];
+ $slice_id=$slice['slice_id'];
- header( "location: index.php?id=". $slice_info[0]['slice_id'] );
- exit();
+ plc_redirect(l_slice($slice_id));
}
echo "<p><strong>No slice found, or all are expired.</strong>";
} else {
- $slice_info= $api->GetSlices( $slice_ids, array( "slice_id", "name", "site_id", "person_ids", "expires", "peer_id" ) );
+ $slices= $api->GetSlices( $slice_ids, array( "slice_id", "name", "site_id", "person_ids", "expires", "peer_id" ) );
+ $slice=$slices[0];
//print '<pre>'; print_r( $api->trace() ) ; print '</pre>';
- if ( ! $slice_info) {
+ if ( ! $slices) {
echo "<p><strong>No Slices on site, or all are expired.</strong>\n";
} else {
echo "<table class='list_set' border=0 cellpadding=2>\n";
// create a list of person_ids
$person_ids = array();
- foreach( $slice_info as $slice ) {
+ foreach( $slices as $slice ) {
if ( !empty($slice['person_ids']) )
$person_ids = array_merge($person_ids, $slice['person_ids']);
}
$persons[$person['person_id']] = $person;
}
- foreach( $slice_info as $slice ) {
+ foreach( $slices as $slice ) {
$slice_id= $slice['slice_id'];
$slice_name= $slice['name'];
$slice_expires= date( "M j, Y", $slice['expires'] );
$slice_id= intval( $_GET['id'] );
// GetSlices API call
- $slice_info= $api->GetSlices( array( $slice_id ) );
+ $slices= $api->GetSlices( array( $slice_id ) );
- if( empty( $slice_info ) ) {
- header( "location: index.php" );
- exit();
- }
+ if( empty( $slices ) )
+ plc_redirect(l_slices());
// pull all slice info to vars
- $instantiation= $slice_info[0]['instantiation'];
- $name= $slice_info[0]['name'];
- $url= $slice_info[0]['url'];
- $expires= date( "M j, Y", $slice_info[0]['expires'] );
- $site_id= $slice_info[0]['site_id'];
- $description= $slice_info[0]['description'];
- $max_nodes= $slice_info[0]['max_nodes'];
- $node_ids=$slice_info[0]['node_ids'];
- $person_ids=$slice_info[0]['node_ids'];
+ $instantiation= $slice['instantiation'];
+ $name= $slice['name'];
+ $url= $slice['url'];
+ $expires= date( "M j, Y", $slice['expires'] );
+ $site_id= $slice['site_id'];
+ $description= $slice['description'];
+ $max_nodes= $slice['max_nodes'];
+ $node_ids=$slice['node_ids'];
+ $person_ids=$slice['node_ids'];
// get peer id
- $peer_id= $slice_info[0]['peer_id'];
+ $peer_id= $slice['peer_id'];
- $person_ids= $slice_info[0]['person_ids'];
- $node_ids= $slice_info[0]['node_ids'];
- $slice_tag_ids= $slice_info[0]['slice_tag_ids'];
+ $person_ids= $slice['person_ids'];
+ $node_ids= $slice['node_ids'];
+ $slice_tag_ids= $slice['slice_tag_ids'];
// node info
<tr><th>Description: </th><td> $description </td></tr>\n
<tr><th>URL: </th><td> <a href='$url'>$url</a> </td></tr>\n";
- if( gmmktime() > $slice_info[0]['expires'] ) {
+ if( gmmktime() > $slice['expires'] ) {
$class1= ' style="color:red;"';
$msg1= '(slice is expired)';
}
if( $is_admin ) {
printf("<td>");
sprintf($label,"\\n [ %s = %s] \\n from %s",$tag['tagname'],$tag['value'],$name);
+ // xxx this is deprecated
echo plc_delete_link_button ('tag_action.php?rem_id=' . $tag['slice_tag_id'],
$label);
echo "</td>";
// Update it!
$api->UpdateSlice( $slice_id, $slice_fields );
- header( "location: index.php?id=$slice_id" );
- exit();
+ plc_redirect( l_slice($slice_id));
}
// if no id is set redirect back to slice index
if( !$_POST['id'] && !$_GET['id'] ) {
- header( "location: index.php" );
- exit();
+ plc_redirect( l_slices());
}
// Print header
// depending on action, run function
switch( $_POST['actions'] ) {
case "renew":
- header( "location: renew_slice.php?id=$slice_id" );
- exit();
+ plc_redirect("renew_slice.php?id=$slice_id" );
break;
case "delete":
- header( "location: delete_slice.php?id=$slice_id" );
- exit();
+ plc_redirect( "delete_slice.php?id=$slice_id" );
break;
case "nodes":
- header( "location: slice_nodes.php?id=$slice_id" );
- exit();
+ plc_redirect( "slice_nodes.php?id=$slice_id" );
break;
case "users":
- header( "location: slice_users.php?id=$slice_id" );
- exit();
+ plc_redirect( "slice_users.php?id=$slice_id" );
break;
}
// if no id ... redirect to slice index
if( !$_GET['id'] && !$_POST['id'] ) {
- header( "location: index.php" );
- exit();
+ plc_redirect( l_slices());
}
// if no id ... redirect to slice index
if( !$_GET['id'] && !$_POST['id'] ) {
- header( "location: index.php" );
- exit();
+ plc_redirect(l_slices());
}
// Invalid slice name
if( !isset( $slice ) ) {
- Header( "Location: index.php" );
- exit();
+ plc_redirect( l_slices());
}
// Defaults
// Update the slice URL and description
$fields= array( "description"=>$slice['description'], "url"=>$slice['url'] );
$api->UpdateSlice( intval( $slice_id ), $fields );
- Header( "Location: index.php?id=$slice_id" );
- exit();
+ plc_redirect(l_slice($slice_id));
}
}
// Print footer
include 'plc_footer.php';
-?>
\ No newline at end of file
+?>
}
-Header("Location: /db/persons/index.php");
+plc_redirect(l_persons());
?>
$_roles= $_person['role_ids'];
+drupal_set_message ("xxx tag_action.php is deprecated - use planetlab/actions.php instead");
+return;
+
+
// TAGS -------------------------------------------------
// tag deletion
// delete the tag
$api->DeleteSliceTag( $tag_id );
-
- header( "location: index.php?id=$slice_id" );
- exit();
+ plc_redirect( "index.php?id=$slice_id" );
}
// update it!
$api->UpdateSliceTag( $tag_id, $value );
- header( "location: index.php?id=$slice_id" );
- exit();
+ plc_redirect( "index.php?id=$slice_id" );
}
// add it!
$api->AddSliceTag( $slice_id, $tag_type_id, $value );
- header( "location: index.php?id=$slice_id" );
- exit();
+ plc_redirect( "index.php?id=$slice_id" );
}
// TAG TYPES ---------------------------------------------------
// add it!!
$api->AddTagType( $tag_type_fields );
- header( "location: tags.php?type=slice" );
- exit();
+ plc_redirect( "tags.php?type=slice" );
}
// Update it!
$api->UpdateTagType( $tag_type_id, $tag_type_fields );
- header( "location: tags.php?type=slice" );
- exit();
+ plc_redirect( "tags.php?type=slice" );
}
// delete it!
$api->DeleteTagType( $type_id );
- header( "location: tags.php?type=slice" );
- exit();
+ plc_redirect( "tags.php?type=slice" );
}
require_once 'plc_minitabs.php';
require_once 'plc_tables.php';
+drupal_set_message ("xxx tag_set.php is deprecated - use planetlab/actions.php instead");
+return;
+
+
// get slice id from GET
$slice_id= intval( $_GET['add'] );
plc_table_row_start();
$id=$tag_type['tag_type_id'];
if (plc_is_admin())
+ // xxx this is deprecated
plc_table_cell(plc_delete_link_button ('tag_action.php?del_type='. $id,
$tag_type['tagname']));
plc_table_cell($id);