Migracja z joomla2.5 do drupal 7

Skrypt który napisałem nie jest może zbytnio „bezobsługowy” lecz może pomóc co niektórym.
Ja na początek wziąłem bazę joomla! i tabele ‚content’ przerobiłem pole ‚created’ które dla drupala musi zawierać czas w unix_timestamp funkcją sql’a UNIX_TIMESTAMP():
– tworzymy nową tabele – created2
– wykonujemy zapytanie: update `content` set `created2`=UNIX_TIMESTAMP(created);
– usuwamy tabele created
– zmieniamy nazwę tabeli `created2` na `created`

Tak samo postępujemy z tabelą modified.
Nie potrzebowałem w skrypcie daty modyfikacji kategorii słów kluczowych i kilku innych rzeczy lecz łatwo je dopisać do skryptu nawet początkującemu programiście php.
Oczywiście jeśli ktoś nie jest programistą mogę pomóc z przeniesieniem witryny z joomla 2.5 do drupal 7


<?php
//
//MIGRACJA JOOMLA 2.5 DO DRUPAL 7
//AUTOR: TOMASZ PACHOŁEK
//EMAIL: ELEKTRONIK666@o2.PL
//15 grudzień 2012
//

//Configuration
/////////Glowne
$userbazy ='root';
$passwordbazy ='haslo';

////////tresc_gotowa config
$nazwabazytresc ='test';
$nazwatabelitresc ='tresc';
$t_id ='id';
$t_tytul ='title';
$t_data ='created';
$t_tresc ='introtext';
////////drupal
$nazwabazydrupal ='drupal-minimal';

//KOD
// Pobranie tresci

$connection = mysql_connect('localhost', $userbazy, $passwordbazy)
or die('Brak połączenia z serwerem MySQL er1, Błąd: .
'.mysql_error());
$db = mysql_select_db($nazwabazytresc, $connection)
or die('Nie mogę połączyć się z bazą danych er2
Błąd: '.mysql_error());
mysql_query ('SET NAMES utf8');
mysql_query ('SET CHARACTER_SET utf8_unicode_ci');

$zapytanie1 = "SELECT $t_id,$t_tytul,$t_data,$t_tresc FROM $nazwatabelitresc";
$idzapytania1 = mysql_query($zapytanie1);

//licznik obrotów pętli
$i=0;

//pętla wyswietlająca i dodająca
while ($wiersz = mysql_fetch_row($idzapytania1)) {
$i++;

//jesli to pierwszy obrót
if($i==1) {
echo 'Zaczynam pobierać i dodawać - pętla!

';
mysql_close($connection);// zamknięcie połączenia bazy z trescią

//nawiązanie połączenia z bazą drupala
$connection_d = mysql_connect('localhost', $userbazy, $passwordbazy)
or die('Brak połączenia z serwerem MySQL er3, Błąd: .
'.mysql_error());
$db_d = mysql_select_db($nazwabazydrupal, $connection_d)
or die('Nie mogę połączyć się z bazą danych er4
Błąd: '.mysql_error());
mysql_query ('SET NAMES utf8');
mysql_query ('SET CHARACTER_SET utf8_unicode_ci');

}

echo 'nr: '.$i.' id: '. $wiersz[0] .' tytul: '. $wiersz[1] .'
';

///ZAPYTANIA DODAJĄCE DO DRUPALA
// mysql_real_escape_string - traktuje apostrofy jako zwykłe znaki- zapobiega błedom dodawania
$dodawanie_do_drupala1="
INSERT INTO `field_data_body` (
`entity_type`,
`bundle`,
`deleted`,
`entity_id`,
`revision_id`,
`language`,
`delta`,
`body_value`,
`body_summary`,
`body_format`
)
VALUES (
'node',
'artykuly',
'0',
'".mysql_real_escape_string($wiersz[0])."',
'".mysql_real_escape_string($wiersz[0])."',
'und',
'0',
'".mysql_real_escape_string($wiersz[3])."',
' ',
'full_html'
);";
//echo $dodawanie_do_drupala1;

$dodawanie_do_drupala2="
INSERT INTO `field_revision_body` (
`entity_type`,
`bundle`,
`deleted`,
`entity_id`,
`revision_id`,
`language`,
`delta`,
`body_value`,
`body_summary`,
`body_format`
)
VALUES (
'node',
'artykuly',
'0',
'".mysql_real_escape_string($wiersz[0])."',
'".mysql_real_escape_string($wiersz[0])."',
'und',
'0',
'".mysql_real_escape_string($wiersz[3])."',
' ',
'full_html'
);";

$dodawanie_do_drupala3="
INSERT INTO `node` (
`nid`,
`vid`,
`type`,
`language`,
`title`,
`uid`,
`status`,
`created`,
`changed`,
`comment`,
`promote`,
`sticky`,
`tnid`,
`translate`
)
VALUES (
'".mysql_real_escape_string($wiersz[0])."',
'".mysql_real_escape_string($wiersz[0])."',
'artykuly',
'pl',
'".mysql_real_escape_string($wiersz[1])."',
'1',
'1',
'".mysql_real_escape_string($wiersz[2])."',
'',
'0',
'1',
'0',
'0',
'0'
);";

$dodawanie_do_drupala4="
INSERT INTO `node_revision` (
`nid`,
`vid`,
`title`,
`uid`,
`status`,
`timestamp`,
`comment`,
`promote`,
`sticky`,
`log`
)
VALUES (
'".mysql_real_escape_string($wiersz[0])."',
'".mysql_real_escape_string($wiersz[0])."',
'".mysql_real_escape_string($wiersz[1])."',
'1',
'1',
'".mysql_real_escape_string($wiersz[2])."',
'0',
'1',
'0',
' '
);";

//$iddodawania1 = mysql_query($dodawanie_do_drupala1)or die('Nie mogę dodać do bazy MySQL er5, Błąd: .

'.mysql_error());echo '
^dodano id1
';
//$iddodawania2 = mysql_query($dodawanie_do_drupala2)or die('Nie mogę dodać do bazy MySQL er6, Błąd: .

'.mysql_error());echo '
^dodano id2
';
//$iddodawania3 = mysql_query($dodawanie_do_drupala3)or die('Nie mogę dodać do bazy MySQL er7, Błąd: .

'.mysql_error());echo '
^dodano id3
';
//$iddodawania4 = mysql_query($dodawanie_do_drupala4)or die('Nie mogę dodać do bazy MySQL er8, Błąd: .

'.mysql_error());echo '
^dodano id4
';

}

mysql_close($connection_d); // zakończenie połączenia z bazą drupala

?>

link do pliku na chomikuj:
http://chomikuj.pl/tomek99007/skrypty_php

NIE PONOSZĘ ODPOWIEDZIALNOŚCI ZA DZIAŁANIE SKRYPTU I SZKODY KTÓRE MOGĄ BYĆ NIM SPOWODOWANE

Autor

Tomasz

Pasjonat Elektroniki Linuxa i open source

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s