[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/resources/sql/patches/ -> 20130611.nukeldap.php (source)

   1  <?php
   2  
   3  // NOTE: We aren't using PhabricatorUserLDAPInfo anywhere here because it is
   4  // being nuked by this change
   5  
   6  $table = new PhabricatorUser();
   7  $table_name = 'user_ldapinfo';
   8  $conn_w = $table->establishConnection('w');
   9  
  10  $xaccount = new PhabricatorExternalAccount();
  11  
  12  echo "Migrating LDAP to ExternalAccount...\n";
  13  
  14  $rows = queryfx_all($conn_w, 'SELECT * FROM %T', $table_name);
  15  foreach ($rows as $row) {
  16    echo "Migrating row ID #".$row['id'].".\n";
  17    $user = id(new PhabricatorUser())->loadOneWhere(
  18      'id = %d',
  19      $row['userID']);
  20    if (!$user) {
  21      echo "Bad user ID!\n";
  22      continue;
  23    }
  24  
  25  
  26    $xaccount = id(new PhabricatorExternalAccount())
  27      ->setUserPHID($user->getPHID())
  28      ->setAccountType('ldap')
  29      ->setAccountDomain('self')
  30      ->setAccountID($row['ldapUsername'])
  31      ->setUsername($row['ldapUsername'])
  32      ->setDateCreated($row['dateCreated']);
  33  
  34    try {
  35      $xaccount->save();
  36    } catch (Exception $ex) {
  37      phlog($ex);
  38    }
  39  }
  40  
  41  echo "Done.\n";


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1