Nuevas secciones en El Rincón del C

Hemos puesto en marcha dos nuevas secciones en El Rincón del C: Artículos y Código Fuente. Ahora ya se puede compartir código fuente y artículos con la comunidad de programadores.

De paso hemos solucionado el problema que había en la visualización de los foros con el Internet Explorer en resoluciones de 800×600.

Sacar los foros PHPBB de un PHP-Nuke

Después de varios ataques al PHP-Nuke de la web de El Rincón del C me decidí a usar un gestor de contenidos creado a medida y escrito desde cero (manías que tiene uno). Uno de los problemas a los que me enfrenté fue recuperar la información los foros, que usaban una versión de PHPBB integrada en PHP-Nuke. Quería seguir usando PHPBB así que no me ha quedado más remedio que separar el PHPBB del PHP-Nuke. He seguido estos pasos (sacados más o menos de aquí):

  1. Instalar desde cero unos foros PHPBB con la última versión 2.x (la 3.0 está en fase beta en el momento de escribir este post).
  2. Borrar las tablas: Auth-access, Topics, Categories, Forums, Users, Posts, Posts_text.
  3. Desde la base de datos “vieja” exportar estas tablas y volcarlas a la nueva instalación (ojo con los prefijos de las tablas). Exportar la estructura y los datos.

Hay gente que dice tener problemas con las contraseñas, pero parace que en este caso no ha habido ninguno.

Sí que he tenido algunos problemas por la estructura de la base de datos. Por ejemplo en la tabla phpbb_users faltaban dos campos: ‘user_login_tries’, ‘user_last_login_try’. Esto lo he solucionado añadíendolos a mano:

alter table phpbb_users add  `user_login_tries` smallint(5) unsigned NOT NULL default '0'
alter table phpbb_users add   `user_last_login_try` int(11) NOT NULL default '0'

También he encontrado un problema con las fechas de registro que tenían este formato:

Nov 10, 2000

y estaba almacenado en un campo con tipo varchar en lugar de estar en formato timestamp (y almacenado en un campo tipo int).

Para solucionar esto he creado un script llamado index2.php:

$sql = "select user_id, user_regdate from phpbb_users where 1";
$usuarios_query = $bd->Execute($sql);
while (!$usuarios_query->EOF)
{
	$fechaOriginal = $usuarios_query->fields['user_regdate'];
	$mesTexto = substr($fechaOriginal, 0, 3);
	$dia = substr($fechaOriginal, 4, 2);
	$agno = substr($fechaOriginal, 8, 4);
	switch($mesTexto)
	{
		case 'Jan': $mes = 1;break;
		case 'Feb': $mes = 2;break;
		case 'Mar': $mes = 3;break;
		case 'Apr': $mes = 4;break;
		case 'May': $mes = 5;break;
		case 'Jun': $mes = 6;break;
		case 'Jul': $mes = 7;break;
		case 'Aug': $mes = 8;break;
		case 'Sep': $mes = 9;break;
		case 'Oct': $mes = 10;break;
		case 'Nov': $mes = 11;break;
		case 'Dec': $mes = 12;break;
	}		
	$fechaModificadaTimestamp = mktime(0, 0,0, $mes, $dia, $agno);
	$fechaModificada = date("d m Y", $fechaModificadaTimestamp);
	echo "
$fechaOriginal -> $dia $mes $agno -> $fechaModificada"; $actualizaSql = "update phpbb_users set user_regdate='" . $fechaModificadaTimestamp . "' where user_id='" . $usuarios_query->fields['user_id'] . "'"; $bd->Execute($actualizaSql); $usuarios_query->moveNext(); }

Ojo, que este script usa un API de fabricación propia, habría que hacerle alguna modificación para que funcionara sin necesidad de usar ningún API. ¿Alguien se anima?

Después de esto ya sólo queda cambiar el tipo del campo de varchar a int.

Ya está en marcha el nuevo Rincón del C

Ha dado más trabajo del esperado pero por fin he terminado el cambio al nuevo gestor de contenidos del Rincón del C. La mayor dificultad ha consistido en separar los foros PHPBB del PHP-Nuke (la razón más importante para el cambio ha sido precisamente deshacerme del PHP-Nuke que tantos problemas estaba causando).

Si encuentras algún fallo en la nueva versión te agradecería me avisaras.

Categorías en el nuevo Rincón del C

Ya están habilitadas las categorías en el nuevo Rincón del C. Por ahora sólo en la sección de noticias, pero en breve estárá disponible en todas las secciones.

También está arreglado el sistema de votaciones que había dejado de funcionar temporalmente. Es posible que en futuro permita votar sin necesidad de registrarse, aún no tengo decidido este punto.

Otro fallo detectado es que había dejado de funcionar el sistema para enviar comentarios en los enlaces y en los cursos. Ahora ya funciona correctamente de nuevo.

Algunas secciones que iré añadiendo:

– Código fuente: permitirá a los usuarios subir ficheros al servidor o enlazarlos si están en otras webs.
– Artículos.
– Libros.
– Mercadillo.
– Registro de programadores.

Si alguien tiene alguna idea que desee aportar puede hacerlo dejando aquí un comentario.

El nuevo Rincón del C

El nuevo Rincón del C ya ha entrado por fin en su recta final con la activación del sistema de comentarios de noticias, enlaces y cursos. El próximo paso son las categorías, que permitirán tener el contenido más ordenado, y el sistema de etiquetas (que tan de moda está ultimamente).

También he cambiado el diseño para intentar hacerlo más alegre (el anterior era más bien triste). Todavía no es, ni mucho menos, la versión definitiva del aspecto que tendrá pero empieza a acercarse.

El Rincón del C es un proyecto personal que comencé hace unos cuantos años (antes de 1998). Se trata de una comunidad de programadores en C/C++ que inicialmente estaba centrada alrededor del curso de C que escribí pero que ahora está centrada en los Foros.