Ya tienes todos los puntos claros para hacer tu funcion.
Entonces deberias ya comenzar a hacer la funcion. No es Complicada. Solo debes poner ciertos parametros. te voy a ayudar con pseudocodigo (para que tu hagas la funcion, ya que nadie te la va a hacer, aqui te vamos ir ayudando con tu codigo).
Código PHP:
<?
function nombre_usuario($nombres,$apellidos)
{
// Separamos los Nombres
list($pri_nombre,$seg_nombre) = explode(" ",$nombres);
// Separamos los Apellidos
list($pri_apellido,$seg_apellido) = explode(" ",$apellidos);
// Ticket de Condicion
$username_encontrado = FALSE;
$reglas = 0;
// Mientras Encontremos un UserName
while ( !$username_encontrado )
{
// Comenzamos con las Reglas
switch ($reglas)
{
// Primer Nombre y Primer Apellido
case 0:
$username = cortar_strig($pri_nombre.$pri_apellido,12);
// Realizamos Consulta SQL
$sql = "SELECT id FROM usuarios where username = '$username'";
// Aplicamos Consulta
// Si existe registro, debemos cambiar el nick
$reglas++; // Seguimos con la Otra Regla
// Si no Existen Registros
$username_encontrado = TRUE;
break;
// Primer Nombre Segundo Nombre Primer Apellido
case 0:
break;
// Primer Nombre Primer Apellido Segundo Apellido
case 0:
break;
// Regla de Numeros Al Azar
default:
$username = cortar_strig($pri_nombre.$pri_apellido,10).rand(0,99);
// No Aumentamos la $reglas++ ya que esta es la ultima regla, de nombres con un numero al azar
}
if ( $username_encontrado )
{
// Encontramos el Nick
// Insertamos en la BD
// o lo retornamos en la Funcion
return $username;
}
}
}
function cortar_string($s,$t)
{
return( substr($s,0,$t) );
}
?>
Ya te
avanze bastante(no esta terminada),
tu debes crear las otras reglas, mejorar un poco el codigo, y completar las consultas a la bd, y por supuesto verificar con el correspondiente if si existen registros blablabalbalba ...
saludos