filter()); $title .= ' - ' . $peerscope->label(); if ($site_id) { $sites=$api->GetSites(array($site_id),array("name","login_base","person_ids")); $site=$sites[0]; $name=$site['name']; $login_base=$site['login_base']; $title .= t_site($site); $person_filter['person_id']=$site['person_ids']; 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 []= tab_slice($slice); $person_filter['person_id'] = $slice['person_ids']; } // go $persons=$api->GetPersons($person_filter,$person_columns); // build site_ids $site_ids=array(); if ($persons) foreach ($persons as $person) if ($person['site_ids'][0]) $site_ids []= $person['site_ids'][0]; // fetch related sites $site_columns=array('site_id','login_base'); $site_filter=array('site_id'=>$site_ids); $sites=$api->GetSites($site_filter,$site_columns); // hash on site_id $site_hash=array(); foreach ($sites as $site) { $site_hash[$site['site_id']]=$site; } // -------------------- drupal_set_title($title); plekit_linetabs($tabs); if ( ! $persons ) { drupal_set_message ('No account found'); return; } $headers = array ("Peer"=>"string", "First"=>"string", "Last"=>"string", "Email"=>"string", "Site" => "string", "Roles"=>"string", "S" => "int", "Status"=>"string", ); // initial sort on email $table=new PlekitTable("persons",$headers,3); $table->start(); $peers=new Peers ($api); // write rows foreach ($persons as $person) { $person_id=$person['person_id']; $email=$person['email']; $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']); $table->row_start(); $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)); //plekit_linetabs ($tabs,"bottom"); // Print footer include 'plc_footer.php'; ?>