Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/main/inc/lib/formvalidator/Rule/UsernameAvailable.php

30 lines
997 B

<?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 boolean 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;
}
}