add all defined keys for the user
[nodeconfig.git] / PlanetLabConf / keys.php
index df466b5..9d34c42 100755 (executable)
@@ -47,17 +47,10 @@ if (isset($_REQUEST[PLC_SLICE_PREFIX . '_monitor'])) {
   }
 }
 
-if (isset($_REQUEST['site_admin'])) {
-  // Look up the node
-  if ($__PLC_API_VERSION==4.2)
-    $interfaces = $adm->GetNodeNetworks(array('ip' => $_SERVER['REMOTE_ADDR']));
-  else
-    $interfaces = $adm->GetInterfaces(array('ip' => $_SERVER['REMOTE_ADDR']));
-  if (!empty($interfaces)) {
-    $nodes = $adm->GetNodes(array($interfaces[0]['node_id']));
-    if (!empty($nodes)) {
-      $node = $nodes[0];
-    }
+if (isset($_REQUEST['site_admin']) && isset($_REQUEST['node_id'])) {
+  $nodes = $adm->GetNodes(array(intval($_REQUEST['node_id'])));
+  if (!empty($nodes)) {
+    $node = $nodes[0];
   }
   if (isset($node)) {
     // Look up the site
@@ -79,9 +72,14 @@ if (isset($_REQUEST['root']))
 
 if (!empty($persons)) {
   $key_ids = array();
-  foreach ($persons as $person)
-    if ($person['key_ids'])
-      $key_ids[] = $person['key_ids'][0];
+  foreach ($persons as $person) {
+      if ($person['key_ids']) {
+          $person_key_ids = $person['key_ids'];
+          foreach ($person_key_ids as $person_key_id) {
+              $key_ids[] = $person_key_id;
+          }
+      }
+  }
   if (!empty($key_ids))
     $keys = $adm->GetKeys($key_ids);
 }