]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - scripts/setpassword.php
Merge remote-tracking branch 'upstream/master' into social-master
[quix0rs-gnu-social.git] / scripts / setpassword.php
index 233448b8e9d79846dfcf1dd6772bff6467a690ce..b8feb207957ba3171714178c61e3975affa8bb30 100755 (executable)
@@ -1,8 +1,8 @@
 #!/usr/bin/env php
 <?php
 /*
- * Laconica - a distributed open-source microblogging tool
- * Copyright (C) 2008, Control Yourself, Inc.
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2008, 2009, StatusNet, Inc.
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as published by
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-# Abort if called from a web server
-if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
-    print "This script must be run from the command line\n";
-    exit(1);
-}
+define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
 
-ini_set("max_execution_time", "0");
-ini_set("max_input_time", "0");
-set_time_limit(0);
-mb_internal_encoding('UTF-8');
+$helptext = <<<END_OF_PASSWORD_HELP
+setpassword.php <username> <password>
 
-define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
-define('LACONICA', true);
+Sets the password of user with name <username> to <password>
 
-require_once(INSTALLDIR . '/lib/common.php');
+END_OF_PASSWORD_HELP;
 
-if ($argc != 3) {
-    print "USAGE: setpassword.php <username> <password>\n";
-    print "Sets the password of user with name <username> to <password>\n";
-    exit(1);
+require_once INSTALLDIR.'/scripts/commandline.inc.php';
+
+if (count($args) < 2) {
+    show_help();
 }
 
-$nickname = $argv[1];
-$password = $argv[2];
+$nickname = $args[0];
+$password = $args[1];
 
 if (mb_strlen($password) < 6) {
     print "Password must be 6 characters or more.\n";
     exit(1);
 }
 
-$user = User::staticGet('nickname', $nickname);
-
-if (!$user) {
-    print "No such user '$nickname'.\n";
+try {
+    $user = User::getByNickname($nickname);
+    $user->setPassword($password);
+} catch (NoSuchUserException $e) {
+    print $e->getMessage();
     exit(1);
 }
 
-$original = clone($user);
-
-$user->password = common_munge_password($password, $user->id);
-
-if (!$user->update($original)) {
-    print "Error updating user '$nickname'.\n";
-    exit(1);
-} else {
-    print "Password for user '$nickname' updated.\n";
-    exit(0);
-}
+print "Password for user '$nickname' updated.\n";