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