<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Nideaderedes &#187; phpbb</title>
	<atom:link href="http://nideaderedes.urlansoft.com/tag/phpbb/feed/" rel="self" type="application/rss+xml" />
	<link>http://nideaderedes.urlansoft.com</link>
	<description>Un blog hecho por mí y para mí</description>
	<lastBuildDate>Thu, 10 Jun 2010 18:46:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Sacar los foros PHPBB de un PHP-Nuke</title>
		<link>http://nideaderedes.urlansoft.com/2007/03/15/sacar-los-foros-phpbb-de-un-php-nuke/</link>
		<comments>http://nideaderedes.urlansoft.com/2007/03/15/sacar-los-foros-phpbb-de-un-php-nuke/#comments</comments>
		<pubDate>Thu, 15 Mar 2007 19:26:37 +0000</pubDate>
		<dc:creator>gorkau</dc:creator>
				<category><![CDATA[el-rincon-del-c]]></category>
		<category><![CDATA[mis-proyectos]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[foros]]></category>
		<category><![CDATA[phpbb]]></category>
		<category><![CDATA[phpnuke]]></category>

		<guid isPermaLink="false">http://nideaderedes.urlansoft.com/2007/03/15/sacar-los-foros-phpbb-de-un-php-nuke/</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>Después de varios ataques al PHP-Nuke de la web de <a href="http://www.elrincondelc.com">El Rincón del C</a> 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 <a href="http://www.phpbb.com/kb/article.php?article_id=93">aquí</a>):</p>
<ol>
<li>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).</li>
<li>Borrar las tablas: Auth-access, Topics, Categories, Forums, Users, Posts, Posts_text.</li>
<li>Desde la base de datos &#8220;vieja&#8221; exportar estas tablas y volcarlas a la nueva instalación (ojo con los prefijos de las tablas). Exportar la estructura y los datos.</li>
</ol>
<p>Hay gente que dice tener problemas con las contraseñas, pero parace que en este caso no ha habido ninguno.</p>
<p>Sí que he tenido algunos problemas por la estructura de la base de datos. Por ejemplo en la tabla phpbb_users faltaban dos campos: &#8216;user_login_tries&#8217;, &#8216;user_last_login_try&#8217;. Esto lo he solucionado añadíendolos a mano:</p>
<pre>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'</pre>
<p>También he encontrado un problema con las fechas de registro que tenían este formato:</p>
<pre>Nov 10, 2000</pre>
<p>y estaba almacenado en un campo con tipo varchar en lugar de estar en formato timestamp (y almacenado en un campo tipo int).</p>
<p>Para solucionar esto he creado un script llamado index2.php:</p>
<pre>
$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 "<br/>$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();
}
</pre>
<p>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?</p>
<p>Después de esto ya sólo queda cambiar el tipo del campo de varchar a int.</p>
]]></content:encoded>
			<wfw:commentRss>http://nideaderedes.urlansoft.com/2007/03/15/sacar-los-foros-phpbb-de-un-php-nuke/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
