Differential D10661 Diff 27603 src/applications/people/controller/PhabricatorPeopleLdapController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/people/controller/PhabricatorPeopleLdapController.php
Show First 20 Lines • Show All 143 Lines • ▼ Show 20 Lines | private function processSearchRequest($request) { | ||||
// This causes us to connect and bind. | // This causes us to connect and bind. | ||||
// TODO: Clean up this discard mode stuff. | // TODO: Clean up this discard mode stuff. | ||||
DarkConsoleErrorLogPluginAPI::enableDiscardMode(); | DarkConsoleErrorLogPluginAPI::enableDiscardMode(); | ||||
$ldap_adapter->getAccountID(); | $ldap_adapter->getAccountID(); | ||||
DarkConsoleErrorLogPluginAPI::disableDiscardMode(); | DarkConsoleErrorLogPluginAPI::disableDiscardMode(); | ||||
$results = $ldap_adapter->searchLDAP('%Q', $search); | $results = $ldap_adapter->searchLDAP('%Q', $search); | ||||
$existing_users = id(new PhabricatorPeopleQuery())->execute(); | |||||
$existing_users = (mpull($existing_users, 'getUserName')); | |||||
foreach ($results as $key => $record) { | foreach ($results as $key => $record) { | ||||
$account_id = $ldap_adapter->readLDAPRecordAccountID($record); | $account_id = $ldap_adapter->readLDAPRecordAccountID($record); | ||||
if (!$account_id) { | if (!$account_id) { | ||||
unset($results[$key]); | unset($results[$key]); | ||||
continue; | continue; | ||||
} | } | ||||
$info = array( | $info = array( | ||||
$account_id, | $account_id, | ||||
$ldap_adapter->readLDAPRecordEmail($record), | $ldap_adapter->readLDAPRecordEmail($record), | ||||
$ldap_adapter->readLDAPRecordRealName($record), | $ldap_adapter->readLDAPRecordRealName($record), | ||||
); | ); | ||||
if (!in_array(strtolower(idx($info, 0)), $existing_users) && | |||||
!in_array(strtoupper(idx($info, 0)), $existing_users)) { | |||||
$results[$key] = $info; | $results[$key] = $info; | ||||
$results[$key][] = $this->renderUserInputs($info); | $results[$key][] = $this->renderUserInputs($info); | ||||
} | } | ||||
} | |||||
$form = id(new AphrontFormView()) | $form = id(new AphrontFormView()) | ||||
->setUser($admin); | ->setUser($admin); | ||||
$table = new AphrontTableView($results); | $table = new AphrontTableView($results); | ||||
$table->setHeaders( | $table->setHeaders( | ||||
array( | array( | ||||
pht('Username'), | pht('Username'), | ||||
▲ Show 20 Lines • Show All 44 Lines • Show Last 20 Lines |