Uses default password checker and hasher JS function in admin page.
authorStéphane Jacob <sj@m4x.org>
Thu, 5 Aug 2010 14:18:43 +0000 (16:18 +0200)
committerStéphane Jacob <sj@m4x.org>
Sat, 7 Aug 2010 17:31:34 +0000 (19:31 +0200)
Signed-off-by: Stéphane Jacob <sj@m4x.org>
htdocs/javascript/password.js
modules/admin.php
templates/admin/user.tpl

index 4e8b1b9..578e345 100644 (file)
@@ -20,6 +20,7 @@
 
 function hashResponse(password1, password2, hasConfirmation) {
     pw1 = $('[name=' + password1 + ']').val();
+
     if (hasConfirmation) {
         pw2 = $('[name=' + password2 + ']').val();
         if (pw1 != pw2) {
@@ -27,7 +28,10 @@ function hashResponse(password1, password2, hasConfirmation) {
             return false;
         }
         $('[name=' + password2 + ']').val('');
+    } else if (pw1 == '********') {
+        return true;
     }
+
     if (pw1.length < 6) {
         alert("\nErreur : le nouveau mot de passe doit faire au moins 6 caractères !");
         return false;
index 70418e4..92a6493 100644 (file)
@@ -433,12 +433,12 @@ class AdminModule extends PLModule
                                  Post::s('sex'), $user->profile()->id());
                 }
             }
-            if (!Post::blank('hashpass')) {
-                $to_update['password'] = Post::s('hashpass');
+            if (!Post::blank('pwhash')) {
+                $to_update['password'] = Post::s('pwhash');
                 require_once 'googleapps.inc.php';
                 $account = new GoogleAppsAccount($user);
                 if ($account->active() && $account->sync_password) {
-                    $account->set_password(Post::s('hashpass'));
+                    $account->set_password(Post::s('pwhash'));
                 }
             }
             if (!Post::blank('weak_password')) {
@@ -640,6 +640,7 @@ class AdminModule extends PLModule
 
         $page->addJsLink('jquery.ui.core.js');
         $page->addJsLink('jquery.ui.tabs.js');
+        $page->addJsLink('password.js');
 
         // Displays last login and last host information.
         $res = XDB::query("SELECT  start, host
index 895f7ff..7db27fa 100644 (file)
 
 <script type="text/javascript">
 //<![CDATA[
-function encryptPassword() {
-  if ($('[name=new_plain_password]').val() != '********') {
-    $('[name=hashpass]').val(hash_encrypt($('[name=new_plain_password]').val()));
-    $('[name=new_plain_password]').val('');
-  }
-}
-
 function del_alias(alias) {
   document.forms.alias.del_alias.value = alias;
   document.forms.alias.submit();
@@ -150,7 +143,7 @@ $(document).ready(function() {
       <td>
         <div style="float: left">
           <input type="text" name="new_plain_password" size="10" maxlength="256" value="********" />
-          <input type="hidden" name="hashpass" value="" />
+          <input type="hidden" name="pwhash" value="" />
         </div>
         <div style="float: left; margin-top: 5px;">
           {checkpasswd prompt="new_plain_password" submit="dummy_none"}
@@ -234,7 +227,7 @@ $(document).ready(function() {
     </tr>
     <tr class="impair">
       <td colspan="2" class="center">
-        <input type="submit" name="update_account" value="Mettre à jour" onclick="encryptPassword()" />
+        <input type="submit" name="update_account" value="Mettre à jour" onclick="return hashResponse('new_plain_password', false, false);" />
         <input type="submit" name="su_account" value="Prendre l'identité" />
         <input type="submit" name="log_account" value="Consulter les logs" />
       </td>