Actualización
This commit is contained in:
34
main/inc/lib/formvalidator/Rule/UsernameAvailable.php
Normal file
34
main/inc/lib/formvalidator/Rule/UsernameAvailable.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
/* For licensing terms, see /license.txt */
|
||||
|
||||
/**
|
||||
* QuickForm rule to check if a username is available.
|
||||
*/
|
||||
class HTML_QuickForm_Rule_UsernameAvailable extends HTML_QuickForm_Rule
|
||||
{
|
||||
/**
|
||||
* Function to check if a username is available.
|
||||
*
|
||||
* @see HTML_QuickForm_Rule
|
||||
*
|
||||
* @param string $username Wanted username
|
||||
* @param string $current_username
|
||||
*
|
||||
* @return bool True if username is available
|
||||
*/
|
||||
public function validate($username, $current_username = null)
|
||||
{
|
||||
$user_table = Database::get_main_table(TABLE_MAIN_USER);
|
||||
$username = Database::escape_string($username);
|
||||
$current_username = Database::escape_string($current_username);
|
||||
|
||||
$sql = "SELECT * FROM $user_table WHERE username = '$username'";
|
||||
if (!is_null($current_username)) {
|
||||
$sql .= " AND username != '$current_username'";
|
||||
}
|
||||
$res = Database::query($sql);
|
||||
$number = Database::num_rows($res);
|
||||
|
||||
return $number == 0;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user