[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/resources/sql/autopatches/ -> 20141107.phriction.popkeys.php (source)

   1  <?php
   2  
   3  $table = new PhrictionDocument();
   4  $conn_w = $table->establishConnection('w');
   5  
   6  echo "Populating Phriction mailkeys.\n";
   7  
   8  foreach (new LiskMigrationIterator($table) as $doc) {
   9    $id = $doc->getID();
  10  
  11    $key = $doc->getMailKey();
  12    if ((strlen($key) == 20) && (strpos($key, "\0") === false)) {
  13      // To be valid, keys must have length 20 and not contain any null bytes.
  14      // See T6487.
  15      echo "Document has valid mailkey.\n";
  16      continue;
  17    } else {
  18      echo "Populating mailkey for document {$id}...\n";
  19      $mail_key = Filesystem::readRandomCharacters(20);
  20      queryfx(
  21        $conn_w,
  22        'UPDATE %T SET mailKey = %s WHERE id = %d',
  23        $table->getTableName(),
  24        $mail_key,
  25        $id);
  26    }
  27  }
  28  
  29  echo "Done.\n";


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