LinuxParty
Lo prometido es deuda, cuando dije que iba a explicar como se realizó la migración de LinuxParty de PHP-Nuke a Joomla, ahora procederé a explicarlo. Estos fueron los principales pasos que yo di para todos aquellos que quieran seguirlos. La principal razón de esta migración es que las antiguas web no van a funcionar con PHP 5.5 (y superiores) y PHP-Nuke funcionaba mediantamente bien hasta la versión 5.2.
En mi caso hice lo siguiente, migré primero de PHP-Nuke a Joomla 1.5 -tal vez puedas saltarte este paso, pero el script de migración ya está hecho- (porque encontré por ahí un artículo en Hebreo que explicaba el proceso) y después de traducirlo, migré a Joomla 1.5, y de ésta versión a Joomla 2.5.X con otro script que escribí yo, que funcionar, funciona, ya que hay por ahí un plugin que dice que migra (entre versiones, de PHP-Nuke a Joomla, WordPress y de 1.5 a 2.5, pero descártelo, ya que dicho script no le va a realizar dicha tarea, vamos que no funciona)
El proceso para la migración, posiblemente funcione con todas las versiones de PHPNuke, pero yo lo he probado con éxito en una versión 7.X, tal vez también funcione con versiones anteriores y posteriores, por intentarlo no va a perder nada, si no funciona, no se preocupe, por que no modifica la versión de la BBDD de PHP-Nuke.
No haga el proceso de migración en un servidor en explotación, debes crear un entorno de pruebas para realizar el proceso.
Si quieres que el autor te haga la migración, solicita presupuesto e información en www.extrehost.com
Vamos a migrar la Base de Datos "oldbbddphpnuke" que usa tu aplicación Php-nuke a la base de datos "bbddjoomla15" que utilizaría tu Joomla 1.5
Entramos en (por ejemplo) en phpMyAdmin, accedemos a la BBDD bbddjoomla15 y hacemos correr este script primeramente:
-- -- -- --
-- Creado por Javier Orovengua, bajo licencia GPL -- oldbbddphpnuke is the OLD SOURCE PHP-NUKE Data Base -- bbddjoomla15 is the NEW OLD JOOMLA DATABASE 1.5.X -- The future NEW JOOMLA DATABASE is named bbddjomla25 -- This migration: bbddjoomla15 to newajucacom is other script -- -- -- --
-- El prefijo predeterminado de la bd en joomla, se lo hemos dejado como jos_
-- El prefijo predeterminado para PHP-Nuke se lo hemos dejado php nuke_
-- Delete any existing data.
DELETE FROM `bbddjoomla15`.`jos_content_frontpage`;
DELETE FROM `bbddjoomla15`.`jos_content`;
DELETE FROM `bbddjoomla15`.`jos_categories`;
DELETE FROM `bbddjoomla15`.`jos_sections`;
DELETE FROM `bbddjoomla15`.`jos_poll_data`;
DELETE FROM `bbddjoomla15`.`jos_polls`;
-- Insert a new section for news. INSERT INTO `bbddjoomla15`.`jos_sections` (
`title`,
`alias`,
`scope`,
`image_position`,
`description`,
`published`,
`params`)
VALUES (
'Archive',
'news',
'content',
'right',
'Old site archive',
1,
'');
-- Select the newly inserted section. SET @nSID := LAST_INSERT_ID();
-- Insert the categories. INSERT INTO `bbddjoomla15`.`jos_categories` (
`parent_id`,
`title`,
`alias`,
`image`,
`section`,
`image_position`,
`description`,
`published`,
`access`,
`count`,
`params`)
SELECT 0, -- parent_id t.`topicname`, -- title REPLACE(LOWER(t.`topicname`), ' ', '-'), -- alias t.`topicimage`, -- image @nSID, -- section 'left', -- image_position t.`topictext`, -- description 1, -- published 0, -- access t.`counter`, -- count '' -- params FROM `oldbbddphpnuke`.`nuke_topics` t; -- Insert the content INSERT INTO `bbddjoomla15`.`jos_content` (
`id`,
`title`,
`alias`,
`introtext`,
`fulltext`,
`state`,
`sectionid`,
`mask`,
`catid`,
`created`,
`created_by`,
`created_by_alias`,
`publish_up`,
`images`,
`urls`,
`hits`,
`attribs`,
`metakey`,
`metadesc`)
SELECT `sid`, s.`title`, REPLACE(LOWER(s.`title`), ' ', '-'),
s.`hometext`,
s.`bodytext`,
1,
@nSID,
0,
(SELECT c.`id` FROM `bbddjoomla15`.`jos_categories` c WHERE c.`title` = (SELECT t.`topicname` FROM `oldbbddphpnuke`.`nuke_topics` t WHERE t.`topicid` = s.`topic` LIMIT 1) AND c.`description` = (SELECT t.`topictext` FROM `oldbbddphpnuke`.`nuke_topics` t WHERE t.`topicid` = s.`topic` LIMIT 1)
LIMIT 1),
s.`time`,
IF(@nAID:=(SELECT u.`id` FROM `bbddjoomla15`.`jos_users` u WHERE u.`username` = s.`informant` LIMIT 1), @nAID, @nSuperID),
s.`informant`,
s.`time`,
'',
'',
s.`counter`,
'',
'',
'' FROM `oldbbddphpnuke`.`nuke_stories` s; -- Publish the stories. SET @nOrder:=0;
INSERT INTO `bbddjoomla15`.`jos_content_frontpage` (
`content_id`,
`ordering`)
SELECT c.`id`, @nOrder:=@nOrder+1 FROM `bbddjoomla15`.`jos_content` c WHERE c.`sectionid` = @nSID ORDER BY c.`publish_up` DESC;
--
-- Importamos los usuarios.
--
INSERT INTO `bbddjoomla15`.`jos_users` (
`name`, -- name
`username`, -- username
`email`, -- user_email
`password`, -- user_password
`sendEmail`, -- "1"
`usertype`, -- "Registered"
`registerDate`, -- user_regdate
`block` )
SELECT
d.`username`, -- name
d.`username`, -- username
d.`user_email`, -- email
d.`user_password`, -- password
1, -- sendEmail
'Registered', -- usertype
d.`user_regdate`, -- user_regdate
d.`ublockon` -- block
FROM
`oldbbddphpnuke`.`nuke_users` d;
-- Insert the polls. INSERT INTO `bbddjoomla15`.`jos_polls` (
`title`,
`alias`,
`voters`,
`published`,
`access`,
`lag`)
SELECT p.`pollTitle`, REPLACE(LOWER(p.`pollTitle`), ' ', '-'),
p.`voters`,
1,
0,
31536000 FROM `oldbbddphpnuke`.`nuke_poll_desc` p; -- Insert the polls votes. INSERT INTO `bbddjoomla15`.`jos_poll_data` (
`pollid`,
`text`,
`hits`)
SELECT p.`id`, d.`optionText`, d.`optionCount` FROM `oldbbddphpnuke`.`nuke_poll_data` d, `oldbbddphpnuke`.`nuke_poll_desc` pd, `bbddjoomla15`.`jos_polls` p WHERE d.`pollID` = pd.`pollID` AND pd.`pollTitle` = p.`title` AND NOT d.`optionText` = '';
-- En bbddjoomla15, BBDD de Joomla 1.5.x -- Actualizar los alias, para quitarle caracteres raros y -- sobrantes, como las comas, puntos, dos puntos, ñ, etc... UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, 'á', 'a');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, 'é', 'e');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, 'í', 'i');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, 'ó', 'o');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, 'ú', 'u');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, 'Á', 'a');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, 'É', 'e');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, 'Í', 'i');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, 'Ó', 'o');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, 'Ú', 'u');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, 'ñ', 'n');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, 'Ñ', 'n');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, '¿', '');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, '¡', '');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, ';', '');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, ':', '');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, ',', '');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, '.', '');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, '"', '');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, '(', '');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, ')', '');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, '[', '');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, ']', '');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, '&', 'y');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, ' ', '-');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, '%', 'porciento');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, '$', 'dolars');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, '€', 'euros');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, '\\', '');
UPDATE `bbddjoomla15`.`jos_content` SET `alias`=replace(`alias`, '/', '');
-- PREVIAMENTE INSTALA EL COMPONENTE JCOMMENTS -- Insert the comments. INSERT INTO `bbddjoomla15`.`jos_jcomments` (
`parent`,
`object_id`,
`object_group`,
`object_params`,
`lang`,
`userid`,
`name`,
`username`,
`email`,
`homepage`,
`title`,
`comment`,
`ip`,
`date`,
`isgood`,
`ispoor`,
`published`,
`subscribe`,
`source`,
`editor`)
SELECT 0,
j.`id`,
"com_content",
'',
'*',
IF(u.`id` IS NULL, 0, u.`id`),
IF(u.`username` IS NULL, c.`name`, u.`username`),
IF(u.`name` IS NULL, c.`name`, u.`name`),
IF(u.`email` IS NULL, '', u.`email`),
'',
c.`subject`,
c.`comment`,
c.`host_name`,
c.`date`,
0,
0,
1,
0,
'',
'' FROM `oldbbddphpnuke`.`nuke_comments` c LEFT JOIN `bbddjoomla15`.`jos_users` u ON c.`name` = u.`username` INNER JOIN `oldbbddphpnuke`.`nuke_stories` s ON s.`sid` = c.`sid` LEFT JOIN `bbddjoomla15`.`jos_content` j ON j.`created` = s.`time` AND j.`title` = s.`title` WHERE NOT c.`comment` = '';
Bien ya tenemos migrado PHP-Nuke a Joomla 1.5, ahora vamos a correr este siguiente script para migrar de Joomla 1.5 a Joomla 2.5.
Debemos copiar o renombrar bbddjoomla15 a oldbbddjoomla15, después crear una BBDD que se llamará "newbbddjomla25" y
y con ella activa ejecutaremos el script SQL de abajo.
-- -- -- --
-- Creado por Javier Orovengua, bajo licencia GPL -- oldbbddjoomla15 is the OLD SOURCE JOOMLA 1.5 Data Base -- newbbddjoomla25 is the NEW OLD JOOMLA DATABASE 2.5.X -- -- --
-- El prefijo predeterminado de la BD de Joomla 1.5 será JOS_
-- El prefijo predeterminado de la BD de JOOMLA 2.5.X será myprfx33_
-- Delete any existing data. DELETE FROM `newbbddjoomla25`.`myprfx33_content_frontpage`;
DELETE FROM `newbbddjoomla25`.`myprfx33_content`;
DELETE FROM `newbbddjoomla25`.`myprfx33_categories`;
DELETE FROM `newbbddjoomla25`.`myprfx33_jcomments`;
-- Gestion de Inserción de Categorías. -- Gestion de Inserción de Categorías. UPDATE `newbbddjoomla25`.`myprfx33_assets` SET `level`='2',
`name`='com_content.category.2',
`title`='Artículos',
`rules`='{"core.create":[],"core.delete":[],"core.edit":[],"core.edit.state":[],"core.edit.own":[]}' WHERE `name`='com_content.category.2';
-- -- -- -- SET @nSID := LAST_INSERT_ID();
-- Insert the categories. INSERT INTO `newbbddjoomla25`.`myprfx33_categories` (
`id`,
`parent_id`,
`asset_id`,
`lft`,
`rgt`,
`level`,
`path`,
`extension`,
`title`,
`alias`,
`published`,
`access`,
`params`,
`metadata`,
`created_user_id`,
`created_time`,
`modified_user_id`,
`modified_time`,
`hits`,
`language`
)
SELECT `id`, -- id `parent_id`, -- parent_id @nSID, -- asset_id '1', -- lft '2', -- rgt '1', -- level `alias`, -- insertar path en newajuca 'com_content', -- extension `title`, `alias`, '1', -- published '1', -- access '{"category_layout":"","image":""}', -- params '{"author":"","robots":""}',-- metadata '42', -- created_user_id '2010-06-28 13:26:37', -- created_time '393', -- modified_user_id '2012-07-12 17:04:35', -- modified_time '0', -- hits counts en oldajuca '*' -- language FROM `oldbbddjoomla15`.`jos_categories`; -- Fin.. Gestion de Inserción de Categorías. -- Fin.. Gestion de Inserción de Categorías. -- Insert the content INSERT INTO `newbbddjoomla25`.`myprfx33_content` (
`id`,
`title`,
`alias`,
`introtext`,
`fulltext`,
`state`,
`sectionid`,
`catid`,
`created`,
`created_by`,
`publish_up`,
`images`,
`version`,
`access`,
`hits`,
`featured`,
`language`)
SELECT `id`, -- id `title`, -- title `alias`, -- alias `introtext`, -- introtext `fulltext`, -- fulltext `state`, -- state `sectionid`, -- sectionid `catid`, -- catid `created`, -- created `created_by`, -- created_by `publish_up`, -- publish_up `images`, -- images `version`, -- version 1, -- access `hits`, -- hits 1, -- featured '*' -- language FROM `oldbbddjoomla15`.`jos_content`; -- Publish the stories. SET @nOrder:=0;
INSERT INTO `newbbddjoomla25`.`myprfx33_content_frontpage` (
`content_id`,
`ordering`)
SELECT c.`id`, @nOrder:=@nOrder+1 FROM `newbbddjoomla25`.`myprfx33_content` c ORDER BY c.`publish_up` DESC;
--
-- Importar Usuarios
--
INSERT INTO `newbbddjoomla25`.`myprfx33_users` (
`name`, -- name
`username`, -- username
`email`, -- user_email
`password`, -- user_password
`sendEmail`, -- "1"
`registerDate`, -- user_regdate
`block` )
SELECT
olddb.`name`, -- name
olddb.`username`, -- username
olddb.`email`, -- user_email
olddb.`password`, -- user_password
olddb.`sendEmail`, -- "1"
olddb.`registerDate`, -- user_regdate
olddb.`block`
FROM
`bbddjoomla15`.`jos_users` olddb;
-- Insert the comments. -- Insert the comments. INSERT INTO `newbbddjoomla25`.`myprfx33_jcomments` (
`parent`,
`object_id`,
`object_group`,
`object_params`,
`lang`,
`userid`,
`name`,
`username`,
`email`,
`homepage`,
`title`,
`comment`,
`ip`,
`date`,
`isgood`,
`ispoor`,
`published`,
`subscribe`,
`source`,
`editor`)
SELECT `parent`, `object_id`, `object_group`, `object_params`, `lang`, `userid`, `name`, `username`, `email`, `homepage`, `title`, `comment`, `ip`, `date`, `isgood`, `ispoor`, `published`, `subscribe`, `source`, `editor` FROM `oldbbddjoomla15`.`jos_jcomments`;
Hay otro proceso por si quisiéramos importar los usuarios de PHP-Nuke a Joomla 1.5 (que yo no he probado) deberíamos correr el siguiente script
SELECT TRIM(u.`name`), u.`username`, u.`user_email`, u.`user_password`, STR_TO_DATE(u.`user_regdate`, "%M %d, %Y"), FROM_UNIXTIME(u.`user_lastvisit`), '', '' FROM `PHPNuke_Source`.`nuke_users` u WHERE last_ip <>'0'; SELECT * FROM tbl_regals_obtinguts, tbl_cataleg_regals WHERE tbl_regals_obtinguts.int_fk_id_tbl_cataleg_regals=tbl_cataleg_regals.int_fk_id_tbl_cataleg_regals AND tbl_cataleg_regals.int_fk_id_tbl_families="+familia+";"; o SELECT * FROM tbl_regals_obtinguts INNER JOIN tbl_cataleg_regals USING int_fk_id_tbl_cataleg_regals WHERE tbl_cataleg_regals.int_fk_id_tbl_families="+familia+";"; SELECT `name`, `username`, `user_email`, `user_password`, STR_TO_DATE(`user_regdate`, "%M %d, %Y"), FROM_UNIXTIME`user_lastvisit`), FROM `nuke_users`, `nuke_banned_ip` WHERE `nuke_users`.`last_ip` <> '0' AND `nuke_banned_ip`.`ip_address` <> `nuke_users`.`last_ip`;
Con el objetivo de redirigir las antiguas URLs del tipo "8116", a las nuevas de Joomla, podrías editar tu fichero .htaccess y poner un montón de reglas, yo lo que hice fue crear un fichero "modules.php" que haría eso, para cuando vengan de otras webs que ya te enlazaron o de algún buscador.
Este sería el fichero "modules.php"
ATENCIÓN, SI VAS A UTILIZAR UNA VERSIÓN DE PHP 5.3 O SUPERIOR DEBERÍAS UTILIZAR ESTE OTRO SCRIPT QUE HEMOS ACTUALIZADO.
Fichero modules.php modificado para PHP 5.3 y superior
<?php
// PARA VERSIONES ANTERIORES O IGUAL A PHP 5.2 // Creado por Javier Orovengua bajo licencia GPL
//modules.php?name=News&file=print&sid=6590 // /modules.php?name=Search&query=espartaco // /modules.php?name=News&file=friend&op=FriendSend&sid=6590/abrir-puertos-via-telnet:-nat-add-virtualserver $tiponame=$_GET["name"]; // $tiponame=trim(htmlspecialchars($_GET["name"]))."<br>"; $tipofile=$_GET["file"]; $ticodigo=$_GET["sid"]; $tiquery =$_GET["query"]; if ($tipofile == "friend") { $tipofile = "article"; }; if (($tiponame == "Search") && ($tiquery <> "")) { header("Location: index.php/component/search/?searchword=$tiquery"); }; if ($tipofile == "print") { $tipofile = "article"; }; if ($tiponame == "print") { $tiponame = "News"; }; if ($tiponame == "News") { } else { echo ' <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-gb" lang="en-gb" dir="ltr"> <head> <title>404 - Error: 404</title> <link rel="stylesheet" href="/templates/system/css/error.css" type="text/css" /> <meta http-equiv="REFRESH" content="4;url=http://www.linuxparty.es"> </head> <body> <div class="error"> <div id="outline"> <div id="errorboxoutline"> <div id="errorboxheader">404 - Artículo no encontrado</div> <div id="errorboxbody"> <p><strong>Es posible que no pueda visitar esta página por:</strong></p> <ol> <li>un marcador/favorito <strong>fuera de fecha</strong></li> <li>un motor de búsqueda que tiene una lista <strong>fuera de fecha para este sitio</strong></li> <li>una <strong>dirección mal escrita</strong></li> <li>usted <strong>no tiene acceso</strong> a esta página</li> <li>El recurso solicitado no fue encontrado.</li> <li>Se produjo un error al procesar su solicitud.</li> </ol> <p><strong>Por favor, intente una de las páginas siguientes:</strong></p> <ul> <li><a href="/index.php" title="Ir a la página de Inicio">Página de inicio</a></li> <li><a href="/index.php?option=com_search" title="Buscador del sitio">Buscador del sitio</a></li> </ul> <p>Si las dificultades persisten, póngase en contacto con el administrador de este sitio..</p> <div id="techinfo"> <p>Artículo no encontrado</p> <p> </p> </div> </div> </div> </div> </div> </body> </html> '; } if ($tipofile == "article") { } else { echo ' <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-gb" lang="en-gb" dir="ltr"> <head> <title>404 - Error: 404</title> <link rel="stylesheet" href="/templates/system/css/error.css" type="text/css" /> <meta http-equiv="REFRESH" content="4;url=http://www.linuxparty.es"> </head> <body> <div class="error"> <div id="outline"> <div id="errorboxoutline"> <div id="errorboxheader">404 - Artículo no encontrado</div> <div id="errorboxbody"> <p><strong>Es posible que no pueda visitar esta página por:</strong></p> <ol> <li>un marcador/favorito <strong>fuera de fecha</strong></li> <li>un motor de búsqueda que tiene una lista <strong>fuera de fecha para este sitio</strong></li> <li>una <strong>dirección mal escrita</strong></li> <li>usted <strong>no tiene acceso</strong> a esta página</li> <li>El recurso solicitado no fue encontrado.</li> <li>Se produjo un error al procesar su solicitud.</li> </ol> <p><strong>Por favor, intente una de las páginas siguientes:</strong></p> <ul> <li><a href="/index.php" title="Ir a la página de Inicio">Página de inicio</a></li> <li><a href="/index.php?option=com_search" title="Buscador del sitio">Buscador del sitio</a></li> </ul> <p>Si las dificultades persisten, póngase en contacto con el administrador de este sitio..</p> <div id="techinfo"> <p>Artículo no encontrado</p> <p> </p> </div> </div> </div> </div> </div> </body> </html> '; } // echo "$tiponame -> $tipofile -> $ticodigo"; if ($tiponame == "News") { if ($tipofile == "article") { $string = $ticodigo; $pattern = '/(\d+)\/(\w+)/i'; $replacement = '${1}-$2'; $ticodigo=preg_replace($pattern, $replacement, $string); $ticodigo = str_replace(":","-",$ticodigo); $title = strtolower ($ticodigo); $titulo = str_replace(" ","-",htmlspecialchars($title)); $titulo = str_replace("(","",$titulo); $titulo = str_replace("'","",$titulo); $titulo = str_replace('"',"",$titulo); $titulo = str_replace(".","-",$titulo); $titulo = str_replace(",","",$titulo); $titulo = str_replace("%","porciento",$titulo); $titulo = str_replace(")","",$titulo); $titulo = str_replace("?","",$titulo); $titulo = str_replace("¿","",$titulo); $titulo = str_replace("/","-",$titulo); $titulo = str_replace("¡","",$titulo); $titulo = str_replace(chr(161),"",$titulo); // caracter ¡ $titulo = str_replace(chr(171),"",$titulo); // caracter « $titulo = str_replace(chr(187),"",$titulo); // caracter » $titulo = str_replace(chr(225),"a",$titulo); // caracter á $titulo = str_replace(chr(233),"e",$titulo); // caracter é $titulo = str_replace(chr(237),"i",$titulo); // caracter í $titulo = str_replace(chr(241),"n",$titulo); // caracter ñ $titulo = str_replace(chr(243),"o",$titulo); // caracter ó $titulo = str_replace(chr(250),"u",$titulo); // caracter ú $titulo = str_replace(chr(191),"",$titulo); // caracter ¿ $titulo = str_replace(chr(193),"a",$titulo); // caracter Á $titulo = str_replace(chr(201),"e",$titulo); // caracter É $titulo = str_replace(chr(205),"i",$titulo); // caracter Í $titulo = str_replace(chr(209),"n",$titulo); // caracter Ñ $titulo = str_replace(chr(211),"o",$titulo); // caracter Ó $titulo = str_replace(chr(218),"u",$titulo); // caracter Ú $ticodigo=$titulo; header("Location: index.php/$ticodigo"); } // endif if ($tipofile == "article") } // endif if ($tiponame == "News") ?>
La última parte del script se debe a que yo hice modificaciones en los ficheros "modules/News/article.php" y "mainfile.php" de mi viejo PHP-Nuke, para que los artículos aparecieran con el mismo nombre del título en las URLs amigables, serían por ejemplo del estilo..."http://www.linuxparty.es/812/-que-significa-e-mc-2", de todas formas, funcionará si no modificó nada, (es decir, si no le pone /-que-significa-e-mc-2)" lo que tratará de hacer la última parte es hacer las URLs amigables también para Joomla.
Y eso es todo.
La configuración de tu nuevo Joomla, se escapa de este artículo, pero si tienes algunas recomendaciones por su puesto, la puedes dejarlos en los comentarios.
-
PHP
- Eliminar el mensaje «Hemos detectado que su servidor está usando PHP el cual está obsoleto» en Joomla
- FacturaScripts 2015.046 ya disponible
- FacturaScripts 2018.03 ya disponible (y presencia en OpenExpo)
- Los puntos de referencia de rendimiento de PHP 7.3 se ven buenos, días antes de su lanzamiento
- 12 Usos útil de PHP desde la línea de comandos que todo usuario de Linux debería conocer
- Como migrar de Blogger a WordPress
- Cómo instalar Composer, el gestor de paquetes de PHP globalmente
- Instalar una versión vieja (downgrade) de PHP en CentOS
- Migrar de PHPNuke a Joomla 2.5.X, paso a paso.
- Pasos para actualizar Joomla 2.5 a Joomla 3.3
- Cómo tener varias versiones de PHP en un mismo servidor
- Generar documentos Word con PHP a través de PHPDocX, biblioteca PHP para dicho fin.
- 10 formas de hacer PHP más seguro.
- Introducción a PHPUnit, la herramienta para desglosar, probar y documentar el código
- VideoTutoriales: Curso de MongoDB con PHP en Español
Comentarios
Un lujazo!