Arvind Juneja

Arvind Juneja Współtwórca @
Fangol.pl | Blogger
@ Fitback.pl

Temat: Migracja użytkowników z 1.0 do 1.5 - rozwiązanie

Długo się męczyłem ale w końcu się udało.
Robi się to tak:

1) Eksportujemy z J! 1.0 tabelę Jos_Users
2) Importujemy do J! 1.5 tabelę Jos_Users (bez pierwszej linii bo zawiera ona admina który już jest, nie wiem czemu ale zastąpienie go innym wszystko psuje)

I mamy gotową tabelę użytkowników jednak to nie koniec. Joomla ma jeszcze dwie inne tabele (tak, to przez nie nie wiedziałem o co chodzi..):


jos_core_acl_aro
jos_core_acl_groups_aro_map


i aby uzupełnić te dwie tabele prawidłowo znalazłem w sieci skrypt autorstwa VipArt:


<?php

require_once('class.db.php');

define(_DB_HOST, 'localhost');
define(_DB_USER, 'root');
define(_DB_PASS, '');
define(_DB_NAME, 'joomla_1_5_2');

$db = new DB();
if (!$db->connect()) die('Cannot connect to db');

// this is for the new Joomla 1.5 database which should be UTF8
$db->query('set NAMES utf8');

$sql = 'select * FROM jos_users';

$q = $db->query($sql);

while ($row = mysql_fetch_assoc($q)) {
$id = $row['id'];
$name = $row['name'];
$query1 = 'INSERT INTO jos_core_acl_aro (section_value, value , name)
VALUES (\'users\', '.$id.', \''.$name.'\')';

$db->query($query1);
}

// exclude administrator
$sql = 'SELECT * FROM jos_core_acl_aro WHERE id <> 10';
$q = $db->query($sql);
while ($row = mysql_fetch_assoc($q)) {
$id = $row['id'];
// REGISTERED = 18

$q1 = 'INSERT INTO jos_core_acl_groups_aro_map (group_id, section_value, aro_id)
VALUES
(18, \'\', '.$id.')
';
// echo '<br>'.$q1;
$db->query($q1);

}

?>


i biblioteke do niego:

<?php
class DB {
var $connected;
var $db;
var $error;

function DB(){
// Cia tipo creatorius...
$this->connected = 0;
}

function Connect() {
if ($this->connected == 1) return 1;
$this->db = mysql_connect(_DB_HOST, _DB_USER, _DB_PASS);
if (empty($this->db)) {
$this->connected = 0;
return mysql_error ();
}
if (!mysql_select_db (_DB_NAME)) {
$this->connected = 0;
return mysql_error ();
}
$this->connected = 1;
return 1;
}

function Free(){
if ($this->connected == 0) return 0;
$this->connected = 0;
mysql_close ($this->db);
}

function query ($par) {
if ($this->connected == 0) $this->Connect();
$rez = mysql_query($par);
$this->error = mysql_error();
if (mysql_error()) return mysql_error();
else return $rez;
}

// 2004.04.02 16:32

function result ($par, $row=0, $col=0) {
if ($this->connected == 0) $this->Connect();
$rez = mysql_result(mysql_query($par), $row, $col);
$this->error = mysql_error();
if (mysql_error()) return mysql_error();
else return $rez;
}

function NumRows($par) {
if ($this->connected == 0) $this->Connect();
$rez = mysql_query($par);
$this->error = mysql_error();
if (mysql_error()) return mysql_error();
else return mysql_num_rows($rez);
}
} // DB class galas
?>


i po odpaleniu tego skryptu wszystko się pięknie uzupełnia :)
i działa! :)

p.s. importowanie tych dwoch tabel nie działa, sprawdziłem, nie próbujcie :)

uff.. mogę iść spać.Arvind Juneja edytował(a) ten post dnia 21.11.08 o godzinie 03:38

konto usunięte

Temat: Migracja użytkowników z 1.0 do 1.5 - rozwiązanie

"p.s. importowanie tych dwoch tabel nie działa, sprawdziłem, nie próbujcie :)"

A ja sprawdziłem i importowanie działa. Bez pośpiechu, dokładnie .. i po bólu.
Arvind Juneja

Arvind Juneja Współtwórca @
Fangol.pl | Blogger
@ Fitback.pl

Temat: Migracja użytkowników z 1.0 do 1.5 - rozwiązanie

pozostaje mi pogratulować.... chyba.

Następna dyskusja:

Migracja Mambo =&gt; Joomla




Wyślij zaproszenie do