diff -r 07239de796bb -r e756a8c72c3d cms/drupal/scripts/password-hash.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cms/drupal/scripts/password-hash.sh Fri Sep 08 12:04:06 2017 +0200 @@ -0,0 +1,90 @@ +#!/usr/bin/env php +" +Example: {$script} "mynewpassword" + +All arguments are long options. + + --help Print this page. + + --root + + Set the working directory for the script to the specified path. + To execute this script this has to be the root directory of your + Drupal installation, e.g. /home/www/foo/drupal (assuming Drupal + running on Unix). Use surrounding quotation marks on Windows. + + "" ["" ["" ...]] + + One or more plan-text passwords enclosed by double quotes. The + output hash may be manually entered into the {users}.pass field to + change a password via SQL to a known value. + +To run this script without the --root argument invoke it from the root directory +of your Drupal installation as + + ./scripts/{$script} +\n +EOF; + exit; +} + +$passwords = array(); + +// Parse invocation arguments. +while ($param = array_shift($_SERVER['argv'])) { + switch ($param) { + case '--root': + // Change the working directory. + $path = array_shift($_SERVER['argv']); + if (is_dir($path)) { + chdir($path); + } + break; + default: + // Add a password to the list to be processed. + $passwords[] = $param; + break; + } +} + +define('DRUPAL_ROOT', getcwd()); + +include_once DRUPAL_ROOT . '/includes/password.inc'; +include_once DRUPAL_ROOT . '/includes/bootstrap.inc'; + +foreach ($passwords as $password) { + print("\npassword: $password \t\thash: ". user_hash_password($password) ."\n"); +} +print("\n"); +