Witaj,
odpowiem na Twoje pytanie, ale wcześniej uprzedzę Cię, że to co robisz jest na krótką metę.
Żaden zarządca / programista dużych projektów nie pochwali używania trzech odrębnych baz danych w których pewne dane muszą się pokrywać. Optymalizacja na poziomie 0.
Stanowczo mówię NIE - powinieneś wszystko sprowadzić do jednej (góra dwóch) baz danych.
Podczepiłbym wszystko pod bazę danych jednej aplikacji, a do reszty trzeba by modyfikować resztę, ale to już wysoka poprzeczka.
Innym ciekawym rozwiązaniem byłoby dorobienie kolumn odpowiednich relacji między użytkownikami poszczególnych aplikacji.
Np. w tabeli users znajdą się kolumny: userid | app1userid | app2userid tak aby skrypt od razu wiedział, którego ID użytkownika ma szukać w innych aplikacjach. To samo w tabelach innych aplikacji.
Zamieszczone przez
23kulpamens O tym gdzie się odbywa zmiana hasła nie mam pojęcia.
Spójrz w plik profile.php i poszukaj tego hooka: profile_updatepassword_start oraz profile_updatepassword_complete
Zamieszczone przez
23kulpamens Skąd wziąć ID użytkownika, który aktualnie jest przetwarzany w procesie.
O który moment pytasz? Przy zmianie hasła jest to
Kod:
$vbulletin->userinfo['userid']
Przy kasowaniu użytkownika (wewnątrz klasy DataManager_User) jest to
Kod:
$this->existing['userid']
Zamieszczone przez
23kulpamens I jeżeli usuwa się użytkowników masowo przez "usuń/przesuń" to czy wtedy hook działa jakoś inaczej czy to już bez różnicy?
Jeżeli prawidłowo napisałeś wtyczkę userdata_delete to nie ma różnicy. Każdy z użytkowników skierowany do "usuń/przesuń" przechodzi przez pętle właśnie userdata_delete.