person; $_roles= $_person['role_ids']; //print_r( $_person ); // if no id ... redirect to slice index if( !$_GET['id'] && !$_POST['id'] ) { plc_redirect( l_slices()); } // get slice id from GET or POST if( $_GET['id'] ) $slice_id= intval( $_GET['id'] ); elseif ( $_POST['id'] ) $slice_id= intval( $_POST['id'] ); else echo "no slice_id
\n"; // if add node submitted add the nodes to slice if( $_POST['add'] ) { $add_nodes= $_POST['add_nodes']; foreach( $add_nodes as $nodes) { $new_nodes[]= intval( $nodes ); } // update it! $api->AddSliceToNodes( $slice_id, $new_nodes ); $errors= $api->error(); if( empty( $errors ) ) $added= "Nodes Added.

"; else $added= "Error: '$errors'

"; } // if rem node submitted remove the nodes from slice if( $_POST['remove'] ) { $rem_nodes= $_POST['rem_nodes']; foreach( $rem_nodes as $nodes) { $new_nodes[]= intval( $nodes ); } // Delete them! $api->DeleteSliceFromNodes( $slice_id, $new_nodes ); $errors= $api->error(); if( empty( $errors ) ) $removed= "Nodes Removed.
"; else $removed= "Error: '$errors'

"; } // get slice info $slice_info= $adm->GetSlices( array( $slice_id ), array( "name", "node_ids", "peer_id" ) ); $slice_readonly = $slice_info[0]['peer_id']; drupal_set_title("Slice " . $slice_info[0]['name'] . " - Nodes"); // get node info if( !empty( $slice_info[0]['node_ids'] ) ) $node_info= $adm->GetNodes( $slice_info[0]['node_ids'], array( "hostname", "node_id", "site_id" , "peer_id") ); // get site names and ids $site_info= $adm->GetSites( NULL, array( "site_id", "name", "peer_id" ) ); sort_sites( $site_info ); // if site_id is in post use it, if not use the user's primary if( $_POST['site_id'] ) $site_id= $_POST['site_id']; else $site_id= $_person['site_ids'][0]; // get site nodes for $site_id if( $site_id == 'all_site' ) { $full_node_info= $adm->GetNodes( array("node_type","regular"), array( "hostname", "node_id" , "peer_id", "boot_state","last_updated") ); $snode_info= array(); foreach( $full_node_info as $full_node ) { if( !in_array( $full_node['node_id'], $slice_info[0]['node_ids'] ) ) $snode_info[]= $full_node; } } else { $sid= intval( $site_id ); $site_node_info= $adm->GetSites( array( $sid ), array( "node_ids" ) ); $site_nodes= $site_node_info[0]['node_ids']; // gets all node_ids from site that arent already associated with the slice foreach( $site_nodes as $snode) { if( !in_array( $snode, $slice_info[0]['node_ids'] ) ) $snodes[]= $snode; } // Get node info from new list if( !empty( $snodes ) ) $snode_info= $adm->GetNodes( $snodes, array( "hostname", "node_id" , "peer_id", "boot_state","last_updated" ) ); } // start form if ( $slice_readonly) echo "
"; else echo "
\n"; // section for adding nodes : for local slices only if ( ! $slice_readonly ) { echo "
"; echo "
Select a site to add nodes from.
\n"; echo "
"; if ($site_id != 'all_site') { echo plc_comon_button("site_id",$site_id,"_blank"); echo ""; } echo "
\n"; // show all availible nodes at $site_id //echo "
"; print_r( $snode_info ); echo "
"; if( $snode_info ) { echo $added; echo "\n"; echo ""; foreach( $snode_info as $snodes ) { $class=""; if ($snodes['peer_id']) { $class="class='plc-foreign'"; } echo "\n"; } echo "
check Hostname Boot State Last Update
"; echo plc_comon_button("node_id",$snodes['node_id'],"_blank"); echo ""; echo ""; echo ""; echo $snodes['hostname']; echo ""; echo $snodes['boot_state']; echo ""; echo date('Y-m-d',$snodes['last_updated']); echo "
\n"; echo "

\n"; } else { echo "

No site nodes or all are already added.\n"; } } echo "


\n"; // show all nodes currently associated echo $removed; echo "
Nodes currently associated with slice
\n"; if( $node_info ) { if ( ! $slice_readonly) { echo "Check boxes of nodes to remove:\n"; echo "\n"; echo ""; } else { echo "
check Hostname Boot State Last Update
\n"; echo ""; } foreach( $node_info as $node ) { $class=""; if ($node['peer_id']) { $class="class='plc-foreign'"; } if ( ! $slice_readonly) { echo "\n"; } else { echo ""; } } echo "
check Hostname Boot State Last Update
"; echo plc_comon_button("node_id",$node['node_id'],"_blank"); echo ""; echo ""; echo "" ; echo $node['hostname']; echo ""; echo $snodes['boot_state']; echo ""; echo date('Y-m-d',$snodes['last_updated']); echo "
"; echo plc_comon_button("node_id",$node['node_id'],"_blank"); echo "" ; echo $node['hostname']; echo "
\n"; if ( ! $slice_readonly) echo "

\n"; } else { echo "

No nodes associated with slice.\n"; } if ($slice_readonly) echo "

"; else echo ""; echo "

Back to Slice\n"; // Print footer include 'plc_footer.php'; ?>