Prepare to add functions to validate passwords.

This commit is contained in:
Laurent Destailleur 2009-08-21 17:08:15 +00:00
parent 6cf39c7a91
commit dace319301
3 changed files with 53 additions and 27 deletions

View File

@ -41,7 +41,7 @@ class modGeneratePassNone extends ModeleGenPassword
var $lang;
var $user;
/**
* \brief Constructeur
* \param db Handler d'acc<EFBFBD>s base
@ -80,14 +80,23 @@ class modGeneratePassNone extends ModeleGenPassword
}
/**
* \brief G<EFBFBD>n<EFBFBD>re le mot de passe
* \return string Renvoi mot de passe g<EFBFBD>n<EFBFBD>r<EFBFBD>
* \brief Build new password
* \return string Return a new generated password
*/
function getNewGeneratedPassword()
{
return "";
}
/**
* \brief Validate a password
* \return int 0 if KO, >0 if OK
*/
function validatePassword($password)
{
return 1;
}
}
?>

View File

@ -41,7 +41,7 @@ class modGeneratePassStandard extends ModeleGenPassword
var $lang;
var $user;
/**
* \brief Constructeur
* \param db Handler d'acces base
@ -80,40 +80,49 @@ class modGeneratePassStandard extends ModeleGenPassword
}
/**
* \brief Genere le mot de passe
* \return string Renvoi mot de passe genere
* \brief Build new password
* \return string Return a new generated password
*/
function getNewGeneratedPassword()
{
// start with a blank password
$password = "";
// define possible characters
$possible = "0123456789bcdfghjkmnpqrstvwxyz";
// set up a counter
$i = 0;
// add random characters to $password until $length is reached
while ($i < $this->length)
{
// pick a random character from the possible ones
$char = substr($possible, mt_rand(0, strlen($possible)-1), 1);
// we don't want this character if it's already in the password
if (!strstr($password, $char))
{
$password .= $char;
$i++;
}
}
// done!
return $password;
}
/**
* \brief Validate a password
* \return int 0 if KO, >0 if OK
*/
function validatePassword($password)
{
if (strlen($password) < $this->length) return 0;
return 1;
}
}
?>

View File

@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2007 Laurent Destailleur <eldy@users.sourceforge.net>
/* Copyright (C) 2007-2009 Laurent Destailleur <eldy@users.sourceforge.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -18,20 +18,18 @@
*/
/**
\file htdocs/includes/modules/facture/modules_genpassword.php
\ingroup core
\brief Fichier contenant la classe mère de generation des mots de passe
\version $Id$
*/
* \file htdocs/includes/modules/security/generate/modules_genpassword.php
* \ingroup core
* \brief Fichier contenant la classe m<EFBFBD>re de generation des mots de passe
* \version $Id$
*/
require_once(DOL_DOCUMENT_ROOT.'/lib/functions.lib.php');
/**
\class ModeleGenPassword
\brief Classe mère des modèles de generation des mots de passe
*/
* \class ModeleGenPassword
* \brief Parent class for password rules/management modules
*/
class ModeleGenPassword
{
var $error='';
@ -53,7 +51,7 @@ class ModeleGenPassword
$langs->load("bills");
return $langs->trans("NoDescription");
}
/** \brief Renvoi un exemple de generation
* \return string Example
*/
@ -63,16 +61,26 @@ class ModeleGenPassword
$langs->load("bills");
return $langs->trans("NoExample");
}
/**
* \brief Génère le mot de passe
* \return string Renvoi mot de passe généré
* \brief Build new password
* \return string Return a new generated password
*/
function getNewGeneratedPassword()
{
global $langs;
return $langs->trans("NotAvailable");
}
/**
* \brief Validate a password
* \return int 0 if KO, >0 if OK
*/
function validatePassword($password)
{
return 1;
}
}
?>