Split 25 Kwietnia 2019 25 Kwietnia 2019 Cześć. Można w jakiś sposób skonfigurować funkcję "Logowanie i rejestracja kont" w IPS Community Suite aby po rejestracji automatycznie tworzyło się także konto w innej bazie danych? Bo aktualnie to tylko pojawia się w ustawieniach użytkownika zakładka w której mogę się zalogować danymi z innej bazy danych. Pozdrawiam. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
-n3veR 25 Kwietnia 2019 25 Kwietnia 2019 A User wyraził na to zgodę? Można to rozwiązać za pomocą triggerów bazodanowych lub osobnego systemu nasłuchującego zmian w bazie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Split 25 Kwietnia 2019 Autor 25 Kwietnia 2019 Dzięki za odpowiedź @-n3veR. Możesz wytłumaczyć to dokładniej? Bo właśnie z tego co zauważyłem zalogować się mogę kontem z drugiej bazy ale jak zarejestruję się to nie tworzy mi tego konta w tej drugiej bazie. Jeżeli chodzi o zgodę to konto tworzy się na serwerze w grze bo forum robię powiązane z serwerem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
-n3veR 25 Kwietnia 2019 25 Kwietnia 2019 52 minuty temu, .WhiteBlue napisał: zalogować się mogę kontem z drugiej bazy To otwórz rejestrację tylko po jednej stronie problem z głowy. Musiałbyś napisać osobną aplikcją, która 'odpalałaby się' tylko w momencie pojawienia się nowego konta w jednym z tych dwóch systemów jakie masz. Trochę pracy przed Tobą. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Split 25 Kwietnia 2019 Autor 25 Kwietnia 2019 @-n3veR Nie da się tego w żaden sposób w ustawieniach ustawić czy jestem zmuszony napisać aplikację? Pozdrawiam. Edit. Napisałem jednak aplikację. Problem rozwiązany. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
-n3veR 25 Kwietnia 2019 25 Kwietnia 2019 3 godziny temu, .WhiteBlue napisał: Nie da się tego w żaden sposób w ustawieniach ustawić Nie wiem. Nie znam IPS od środka. Podałem rozwiązanie stricte developerskie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Split 25 Kwietnia 2019 Autor 25 Kwietnia 2019 @-n3veR Napisałem coś takiego, jest to mój pierwszy hook ale coś nie chce działać. Próbuję to zrobić już od 2 godzin ale nie daję rady. Class 'IPS\PDO' not found /* To prevent PHP errors (extending class does not exist) revealing path */ if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { exit; } class hook22 extends _HOOK_CLASS_ { private $connection; function __construct() { $this->connection = new PDO('mysql:host=xxx;dbname=xxx;charset=utf8', 'xxx', 'xxx'); } /** * Member account has been created * * @param $member \IPS\Member New member account * @return void */ public function onCreateAccount($member) { $query = $this->connection->prepare('INSERT INTO drugaBAZA SET id = ?, username = ?, email = ?, password = ?, ip = ?, added = DATE_FORMAT(FROM_UNIXTIME(?), "%Y-%m-%d %H:%i:%s")'); $query->execute(array( $member->member_id, $member->name, $member->email, $member->members_pass_hash, $member->ip_address, $member->joined )); } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
-n3veR 25 Kwietnia 2019 25 Kwietnia 2019 Musisz dopisać namespace oraz zamienić _HOOK_CLASS_ na faktyczny hook z IPSa - np. IPS\Patterns\ActiveRecord Źródło: Code hooks - Plugins - Invision Community Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Split 25 Kwietnia 2019 Autor 25 Kwietnia 2019 @-n3veR Nie wiem czy dobrze zrozumiałem ale tak zrobiłem i nie działa Błąd: Fatal error: Uncaught Error: Call to undefined method IPS\Member::loggedIn() in .../forum/system/Log/Log.php:107 Stack trace: #0 .../forum/init.php(659): IPS\_Log::log('Error: Class 'I...', 'uncaught_except...') #1 [internal function]: IPS\IPS::exceptionHandler(Object(Error)) #2 {main} thrown in .../forum/system/Log/Log.php on line 107 //<?php namespace IPS; /* To prevent PHP errors (extending class does not exist) revealing path */ if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { exit; } class hook22 extends \IPS\Patterns\ActiveRecord { private $connection; public function __construct() { $this->connection = new PDO('mysql:host=xxx;dbname=xxx;charset=utf8', 'xxx', 'xxx'); } /** * Member account has been created * * @param $member \IPS\Member New member account * @return void */ public function onCreateAccount($member) { $query = $this->connection->prepare('INSERT INTO innaBaza SET id = ?, username = ?, email = ?, password = ?, ip = ?, added = DATE_FORMAT(FROM_UNIXTIME(?), "%Y-%m-%d %H:%i:%s")'); $query->execute(array( $member->member_id, $member->name, $member->email, $member->members_pass_hash, $member->ip_address, $member->joined )); } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowana odpowiedź -n3veR 26 Kwietnia 2019 Rekomendowana odpowiedź 26 Kwietnia 2019 Złe rozszerzenie... To co podałem wyżej, to był tylko przykład na to jak poprawnie powinieneś tego użyć Przykład: <?php declare(strict_types=1); namespace IPS; // My custom.php file class ipsConnect_custom extends ipsConnect { public function register() { $result = parent::register(); // A user just registered, do something custom now return $result; } } Nie jestem pewien tylko co do tego namespace'a. Możliwe, że można go całkowicie wywalić. Poniżej znajdziesz źródło, przeczytaj uważnie cały art. Źródło: IPS Connect (*) - Development - Invision Community Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kontynuuj dyskusję
Dołącz do Pecetowicza, aby kontynuować dyskusję w tym wątku.