entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Fecha de registro UNIX

Buenas, hoy se me dio por corregir algo que estaba sucediéndome desde hace ya un tiempo. Paso a comentarles.

El registro de usuarios en mi foro SMF está deshabilitado, no pueden registrarse manualmente, si no que ésto es automático a través de un medio externo con el lenguaje de programación PAWN. Al los usuarios crear una cuenta a través de ese medio externo, se agrega en una tabla usuarios sus datos y demás info que se le pidió al registrarse ahí, a la vez en la tabla smf_members se hace lo mismo, solo que así:

new string2[128],day,month,year;
                getdate(year,month,day);
                format(string2, sizeof(string2), "%s", inputtext); format(PlayerInfo[playerid][pPassword], 144, "%s",inputtext);
                format(Query, sizeof(Query), "INSERT INTO `smf_members` (member_name, passwd, real_name) VALUES ('%s', '%s','%s')",pName,inputtext,pName);
                mysql_function_query(Conecction, Query, true, "OnQueryFinish", "ii", 0, playerid);
                format(Query, sizeof(Query), "INSERT INTO `usuarios` (username, password,Registro,IPRegistro) VALUES ('%s','%s','%d/%02d/%02d','%s')",pName,inputtext,year,month,day,PlayerInfo[playerid][IP]);
                mysql_function_query(Conecction, Query, true, "OnQueryFinish", "ii", 0, playerid);

Bien, hasta acá vamos. Ahí se crearía la cuenta en el foro SMF del usuario en cuestión con sus respectivos datos y además, en usuarios el nombre, la contraseña, la fecha de registro y la IP de registro.

El problema ahora es el siguiente, claramente no inserté la fecha de registro para el usuario en el foro SMF, por lo que se ve mal:

enter image description here

enter image description here

Mi pregunta sería cómo puedo, en el lenguaje que estoy utilizando para crear la cuenta del usuario en el foro SMF, asignarle la fecha de registro teniendo en cuenta que no podré hacerlo al igual que en usuarios (con '%d/%02d/%02d' y year,month,day) porque este método tiene otro formato, está preparado para DATE (fecha) en una base de datos, y actualmente date_registered usa INT.

enter image description here

Agrego un dato que puede servir: me fijé en esta página (Unix Time Conversion) que si pongo una fecha y la convierto a UNIX, después pasando los números en ese formato a la base de datos (tabla smf_members y columna date_registered) se corrige la fecha de registro asignando una que quieras.

Otra opción que pensaba era, al revés, cambiar el formato de date_registered a DATE y ahí ya tendría cómo insertar bien la fecha, pero como SMF usa sus propios formatos y es algo estricto con respecto a eso, después tendría que ver cómo cambiar esto, no sé ni estoy seguro de que pueda funcionar:

Profile.template.php

echo '
                    <dt>', $txt['date_registered'], ': </dt>
                    <dd>', $context['member']['registered'], '</dd>';

PD: Se me hace imposibles brindarle una URL de mi foro ya que el mismo está bajo desarrollo a través de XAMPP (en mi PC, local).

PD2: Supongo que dirán "sería mejor que esto mismo lo postees en el foro de soporte de la plataforma SMF que es más correspondiente y/o adecuado", ya lo hice y también lo publico acá por si alguien justo sabe de este tema (fechas, formatos, otros lenguajes, etc.). Gracias por el espacio.

1 Respuesta

2votos

Leonardo-Tadei Puntos227320

Hola @KevinLeyes,

creo que no entiendo la pregunta, porque la solución sería simplemente convertir la fecha que llega del registro de los usuarios al formato de entero que sea que estés usando.

Adicionalmente, podés ignorar la fecha de registro que viene y usar la fecha actual del sistema. Si el entero que usás como fecha está en formato EPOCH, bastaría con hacer

$fecha = date("U");

y el INSERT usar el valor de $fecha.

Si el entero no es la fecha EPOCH: qué formato de representación usa?

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta