Zobacz pełną wersję : Problem z synchronizacją userów przemo i joomla (wartość phpbb_user_id 127)
Witajcie,
Do tej pory nie udało mi się zintegrować w pełni Jommli i forum przema.
Aktualnie sytuacja wyglada tak:
124userów zsynchronizowanych za pomoca pomostu.
Wartos phpbb_user_id w jos_users do usera jest od 2 do 127 przyczym wszyscy powyżej 127 mają wartość 127.
Konta już istniejące ale jak się domyslam tylko do id 127 działają bez problemów w obie strony. Czy to te 124 kont pokazywanych jakos zsynchronizowane.
Zakładanie kont:
Konta zakladane z forum działają w joomli. Konto zalozone przez forum po zalogowaniu na forum loguje tez do joomli, tak samo wylogowanie. Po zalogowaniu w joomli loguje również na forum. Czyli wszystko działa.
Konta zakladane przez portal nie dodają sie w forum, czyli nic nie dziala.
auto_increment w phpbb_user mam 640 a w jos_user 1400 no i cos mi sie to nie podobaja wyże wartosci w joomli no ale moge sie mylić.
Nowozarejestrowani uzytkownicy na forum dostaja w jos_users phpbb_user_id 127
Nowozarejestrowani użytkownicy w joomli dostają phpbb_user_id 0 no i brak kopii usera w phpbb_users.
Mam najnowsza wersje joomli, która była instalowana z instalatora PE wraz z pomostem RS1 uaktualnionym do RC2
Licze na Waszą pomoc bo mnie już niestety pomysły się wyczerpały:(
Jak nie znajdzie sie żadne rozwiązanie to chyba będe musiał zmieniać ręcznie phpbb_user_id na prawidłowy.
PS. A może ktoś mógłby mi wymyśleć zapytanie do bazy które pobierze id z phpbb_users i wpisze je do phpbb_user_id w jos_users? Być może załątwiło by to sprawe, no tylko nie wiem czy by pomoglo na niedziałającą rejestracje z joomli:(
--
Pozdrawiam,
Gamsiu
Najlepiej wykasuj wszystkie wartości z tej kolumny phpbb_user_id (tylko z niej), albo ustaw na 0
UPDATE jos_users SET phpbb_user_id = '0';
I następnie dokonaj ponownej synchornizacji i zobacz czy pomogło
Niestety to nie pomaga.
Usuwałem nawet całą kolumne i tworzyłem ją od nowa z domyślną wartościa 0 a poźniej synchronizacja no i tez dochodziło tylko do 127
Wymyśliłem teraz coś takiego:
Wywaliłem wszystkie tabele odpowiadające za userów czyli: phpbb_users, jos_users, jos_core_acl_aro, jos_core_acl_groups_aro_map. Chyba innych nie ma?
Tworze teraz czyste tabele z AUTO_INCREMENT ustawionym na 1
w phpbb_users zaskoczyło idealnie. Anonymousa zmieniłem id na -1 a adminowi dostało się id 2, czywli wszystko się zgadza. Teraz wyeksportuje z phpbb_users id, mail, name, username, pass do tabeli jos_users. Pole id z phpbb_users równocześnie poleci jako id i phpbb_user_id
Tym sposobem powinenem mieć zgodność id joomli z id przemo no i phpbb_user_id :)
Pozostanie do rozwiązania wypełnienie pól jos_core_acl*
--
Pozdrawiam,
Gamsiu
Udało mi się wyeliminować błąd, który przypisywał wartość 127 userom z id powyzej 127.
Domyślnie pole phpbb_users_id jest typu tinyint czyli ma pojemnosc 1bajta czyli moze przechowywać liczby od -128 do 127 :/
Proponuje zmienić w pomoście domyślny typ tego pola na smallint (2bajty) Czyli liczby do około 32k
--
Pozdrawiam,
Gamsiu
Wielkie dzięki. Dziś uaktulanie paczkę. Co do typu wartości to może dać taką jak ma joomla w polu id czyli 'int(11)' to powinno zagwarantować brak problemów.
Wielkie dzięki. Dziś uaktulanie paczkę. Co do typu wartości to może dać taką jak ma joomla w polu id czyli 'int(11)' to powinno zagwarantować brak problemów.
moze byc int, czyli wartość maksymalnie 4bajty a to juz liczby aż do miliarda :)
Dziwne, że do tej pory nikt się na tym błędzie jeszcze nie wyłożył, były coprawda posty z czerwca ale bez odpowiedzi. Ciężko uwierzyć, że nikt nie miał bazy userów większej niz 127 ?
No widzisz, że jakoś to umknęło:) Ale najważniejsze że już wyprostowane
To pozostaje jeszcze problem z rejestracją.
Chwilowo nie mam żadnych pomysłów. Rejestracja nie działa na idealnie przygotowanej bazie, gdzie user joomli i user forum mają takie same id oraz wszystko zsynchronizowane. Panel kontrolny pomostu pokazuje, że wszystkie pliki są ok no i że synchronizacja userów też 100%
Dodanie usera przez joomle nie dodaje do bazy forum. Dodanie usera na forum działa idealnie.
W których pliczkach pogrzebać?
Hmm, to jest dziwne bo działać powinno.
Dokładnie jest za to odpowiedzilany plik
administrator/components/com_users/admin.users.php
a w nim część zawarta w pliku
adminiatrator/components/com_j-p/patch/admin.users1.patch
sprawdz czy kod z patcha jest w pierwszym pliku.
Hmm, to jest dziwne bo działać powinno.
Dokładnie jest za to odpowiedzilany plik
administrator/components/com_users/admin.users.php
a w nim część zawarta w pliku
adminiatrator/components/com_j-p/patch/admin.users1.patch
sprawdz czy kod z patcha jest w pierwszym pliku.
Sprawdziłem i kod wygląda ok. W kilku miejscach występuje kod zakomentowancy "joomla<->przemo"
Mogłbyś rzucić okiem na ten pliczek? http://wszib.info/admin.users.zip
Kod wygląda ok.
Jaką masz wersję mysql'a?
Spróbuj jeszcze wykonac bezposrednio to zapytanie w bazie
INSERT INTO `phpbb_users` VALUES ('', $phpbb_active, '$row->username', '$phpbb_pass', $phpbb_time, 0, $phpbb_time, $phpbb_time, '$user_level', 0, 1.00, 1, 'polish', 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, '', 0, '$row->email', '', '', '', '', '', '', '', '', '', '', '', '', '', 999999, 0, '', '', 0, '', 0, 0, '', '', 1, 1, 0, 1, 0, 1, 0, 0, 0, NULL, NULL, NULL, 1, '7f000001', 1, 0, 1, $phpbb_time, 0, 0)
I zobacz czy wyskoczą jakieś błedy
zapytanie SQL:
INSERT INTO `phpbb_users`
VALUES ( '', $phpbb_active, '$row->username', '$phpbb_pass', $phpbb_time, 0, $phpbb_time, $phpbb_time, '$user_level', 0, 1.00, 1, 'polish', 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, '', 0, '$row->email', '', '', '', '', '', '', '', '', '', '', '', '', '', 999999, 0, '', '', 0, '', 0, 0, '', '', 1, 1, 0, 1, 0, 1, 0, 0, 0, NULL , NULL , NULL , 1, '7f000001', 1, 0, 1, $phpbb_time, 0, 0
)
MySQL zwrócił komunikat: https://web.risp.pl/themes/original/img/b_help.png (http://dev.mysql.com/doc/mysql/en/Error-returns.html)
#1136 - Column count doesn't match value count at row 1
MySQL 4.0.27
No to mamy ciekawostkę. Możesz zrobić zrzut jakieś uzytkownika od siebie? (tylko hasło wykasuj)
Zrobiłem zrzut struktury tablic phpbb_users i jos_users oraz wpis tego samego testowego usera z obu tablic.
Wszystko w pliczku:
http://wszib.info/stone.rtf
Coś jest nie tak z Twoją tabelą phpbb_users
standartowo jest 77 kolumn, u ciebie jest 87 kolumn, nie masz jakiś modyfikacji?
A już widzę, masz własne pola w profilu użytkownika, tak?
Coś jest nie tak z Twoją tabelą phpbb_users
standartowo jest 77 kolumn, u ciebie jest 87 kolumn, nie masz jakiś modyfikacji?
A już widzę, masz własne pola w profilu użytkownika, tak?
Tak, to zapewne dodatkowe pola. Kazde dodatkowe pole generuje dwie kolumny, jedna z wpisem a jedna z pozwoleniem na wpis do tej kolumny dla danego usera.
Takiej sytuacji nie przewidywałem, postaram się siąść wieczorem i rozwiązać ten problem
Napisz plik z załącznika do components/com_registration
i daj znać czy pomogło.
W panelu admina mozesz miec info ze ten plik bedzie nia załatany ale sie tym nie przejmuj
Dziekuje,
Oto wyniki testu:
Konto założone z jommli jest zakładane również na forum. Przekazywanie sesji wylogowywanie/logowanie działa. Usuniecie oknta w joomli usuwa tez konto na forum.
kolumna phpbb_users_id jest wypełniana prawidłowo.
Taki mały szczegół ale nie istotny: user dodany z joomli nie wyswietla sie na forum w miejscu "ostatnio zarejestrowany" no ale to nie istotne.
Nie działa synchronizacja.
Po kilku operacjach typu dodawanie i kasowanie użytkowników i panel synchronizacji zaczyna źle wskazywac ilości userów:
Użytkowników Joomla - 355 Użytkowników Forum - 343
Użytkowiników zsynchronizowanych - 344
No ale najważniejsze, że działa rejestracja:) Synchronizacje zrobie sobie ręcznie.
Dziękuje za pomoc. No i chętnie posłuże za tester przy kolejnych zmianach/modyfikacjach pomostu.
Super że działa:)
Synchronizacja nie działa bo zmiany dokonałem tylko w jednym miejscu na razie a trzeba to zrobić w kilku (tak soma na razie nie bedzie Ci działo dodawanie uzytkownika z poziomu panelu admina joomli.
Dziś siądę i poprawię wszystko i wypuszczę RC3.
Dzięki za uwagi:)
Jest już RC3 z poprawionym błędem. Jakbyś zobaczył czy pomoże Ci na synchornizację.
Jest już RC3 z poprawionym błędem. Jakbyś zobaczył czy pomoże Ci na synchornizację.
Już się zabieram za testowanie ;)
Użytkowników Joomla - 364 Użytkowników Forum - 364
Użytkowiników zsynchronizowanych - 364
Ślicznie:)
Wygląda na to, że wszystko działa. Synchronizacja działa.
Troszke userów pozakładałem, później posprzątałem więc kasowanie też działa:)
Baza też ładnie wygląda. Jedynie przy nowo dodanych userach brakuke wpisu w kolumnie 'usertype' Raczej to w niczym nie przeszkadza, bo joomla chyba domyślnie brak zawartości traktuje jako najniższy poziom usera, Registered.
Dzięki za nową wersje:)
vBulletin® v4.2.5, Prawa przedruku © 2024 vBulletin Solutions, Inc. Wszystkie prawa zastrzeżone.
Tłumaczenie: Polskie Centrum Joomla!