26
MAJ

jportal2joomla

Wpisane przez Michał Kowalski w kategoriach Joomla, Jportal, PHP, SQL

Poniżej SQLowy skrypt, pomagający przenieść dane z Jportal do Joomli.

Tabele obu CMSów muszą być w tej samej bazie danych. Przedrostek tabel Joomli w poniższym przykładzie to “jos_“. System komentarzy w Joomli do które przenoszone są komentarze, to AkoComment.

Przy przenoszeniu, trzeba zwrócić uwagę na ID autora wiadomości. Domyślnie można ustawić Administratora jako autora wszystkich newsów, poniżej jest to ID 62 (tabela jos_content).

Skrypt zamienia znaczniki BBCode na czysty HTML.

Uwaga. Skrypt napisałem ok. 1,5 roku na własny użytek, przeniosłem dane i już go nie modyfikowałem. Bardzo możliwe, że w nowych wersjach wymienionych CMSów, pozmieniała się struktura tabel lub nazwy pół w tabeli.
Przed uruchomieniem skryptu zaleca się wykonanie kopi zapasowej bazy danych.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
TRUNCATE TABLE `jos_content`;

TRUNCATE TABLE `jos_content_frontpage`;

TRUNCATE TABLE `jos_akocomment`;

INSERT INTO jos_content (`id`, `title`, `introtext`, `fulltext`, `state`, `sectionid`, `catid`, `created`, `created_by`, `publish_up`) SELECT `id`, `title`, `text`, `textcd`, '1', '1', '1', `date`, '62', `date` FROM portalnews WHERE portalnews.stat != 3;

INSERT INTO jos_content_frontpage (`content_id`, `ordering`) SELECT `id`, 2782-`id` FROM portalnews WHERE portalnews.stat != 3;

INSERT INTO jos_akocomment (`name`, `title`, `comment`, `date`, `published`, `contentid`) SELECT `name`, `title`, `text`, `date`, '1', `wid` FROM portalcomments WHERE portalcomments.what = 'news';

UPDATE jos_content SET `title`= REPLACE(`title`, '\\"', '"'),  `introtext`= REPLACE(`introtext`, '\\"', '"'),  `fulltext`= REPLACE(`fulltext`, '\\"', '"');

UPDATE jos_akocomment SET `title`= REPLACE(`title`, '\\"', '"'),  `comment`= REPLACE(`comment`, '\\"', '"');

UPDATE jos_content SET `introtext`= REPLACE(`introtext`, '[i]', '<i>'), `introtext`= REPLACE(`introtext`, '[/i]', '</i>'), `introtext`= REPLACE(`introtext`, '[u]', '<u>'), `introtext`= REPLACE(`introtext`, '[/u]', '</u>'), `introtext`= REPLACE(`introtext`, '[b]', '<b>'), `introtext`= REPLACE(`introtext`, '[/b]', '</b>'),  `fulltext`= REPLACE(`fulltext`, '[i]', '<i>'), `fulltext`= REPLACE(`fulltext`, '[/i]', '</i>'), `fulltext`= REPLACE(`fulltext`, '[u]', '<u>'), `fulltext`= REPLACE(`fulltext`, '[/u]', '</u>'),  `fulltext`= REPLACE(`fulltext`, '[b]', '<b>'), `fulltext`= REPLACE(`fulltext`, '[/b]', '</b>');

UPDATE jos_akocomment SET `comment`= REPLACE(`comment`, '[i]', '<i>'), `comment`= REPLACE(`comment`, '[/i]', '</i>'), `comment`= REPLACE(`comment`, '[u]', '<u>'), `comment`= REPLACE(`comment`, '[/u]', '</u>'), `comment`= REPLACE(`comment`, '[b]', '<b>'), `comment`= REPLACE(`comment`, '[/b]', '</b>');

Leave a Reply