ForumCała strona

Nawigacja

Aktualnie online

Gości online: 37

Użytkowników online: 0

Łącznie użytkowników: 25,400
Najnowszy użytkownik: AlojzyBartek

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

Musisz zalogować się, aby móc dodać wiadomość.

Zbigniew@
17.11.2024 11:33:24
Nie ten grzeszy kto pije, ale ten, kto się nie upije.

JazOOn
16.11.2024 20:46:18
tja

Zbigniew@
15.11.2024 18:58:17
Kto pije, ten nie bije.

JazOOn
31.10.2024 20:49:47
Kto pije?

piterus
30.10.2024 19:45:48
I będziemy śpiewać: "Kiedy 20 blisko, przebadaj wszystko, przebadaj wszystko..." Pfft

Pobierz nową wersję
Pobierz podręcznik
Zobacz inne oficjalne Supporty
Statystyki supportu
PHP-Fuson PL na Facebooku

RSS

Polecamy hosting SferaHost.pl

Zobacz temat

 Drukuj temat
Usunięcie własnego konta
piotrek199214
Trochę zmian:
Wszystkie pliki wrzucamy do odpowiednich miejsc. Jeżeli pliki były już modyfikowane to można dodać ręcznie przez edycje plików (znajdziesz poniżej).

Modyfikacje w pliku edit_profile.php:
Linia ok. [~27]:
pod:
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP

dodajemy:
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP


Linia ok. [~122]:
zamiast:
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP

zamieszczamy to:
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP


Następnym plikiem edycji jest infusions/user_info_panel/user_info_panel.php:
Linia ok. [~29]:
pod tym:
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP

dodajemy:
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP


Jakie zmiany:
- w panelu user_info_panel po kliknięciu na link usuń konto wyskakuje komunikat (Czy na pewno chcesz skasować swoje konto? - czy jakoś tak)
- widoczność linków dla użytkowników i adminów (lecz nie dla SuperAdmina)
- w pliku delete.php dodałem wprowadzenie hasła użytkownika. Jeżeli hasło będzie złe zostanie wyświetlone info.
- po wprowadzeniu poprawnego hasła konto zostanie skasowane.
- po wejściu na stronę bezpośrednio z wklepanego adresu jako gość powróci na stronę główną, taka sama sytuacja z SuperAdminem.

Paczka w załączniku, tylko podmienić.
piotrek199214 dodał/a następującą plik:
delete_1.rar [5.56kB / 544 Pobrane]

Edytowane przez piotrek199214 dnia 13.04.2009 14:23:20
Pomogłem Ci? Wystarczy podziękować i oznaczyć post jako pomocny pomogl[1]_1.png
Tanie tworzenie wtyczek, masz problem napisz.
 
www.piocom.eu
Wścibski Gość
Dodany dnia 25.11.2024 02:52:35
Pan Kontekstualny

Postów: n^x
Data rejestracji: Zawsze

Polecamy hosting SferaHost.pl
IP: localhost  
Artur-M
Dzięki piotrek199214. Wszystko śmiga że aż miło. Teraz ciekawe, czy twórcy PHP-Fusion wklepią to na stałe.
 
Grzes
Artur-M napisał/a:
Dzięki piotrek199214. Wszystko śmiga że aż miło. Teraz ciekawe, czy twórcy PHP-Fusion wklepią to na stałe.


Na 100% w tej postaci nie zostanie to wykorzystane - posiada jedną zasadniczą wadę dyskwalifikującą to na starcie.
Wyobraźcie sobie teraz takiego jantoma albo Pieke usuwającego sobie swoje konto z supportu... znikną także ich posty - jakby nie patrzeć wiele wartościowych postów z rozwiązaniami różnych problemów znika.

Za takie usuwanie użytkowników to ja dziękuję... jak administrator serwisu nie macie żadnego wpływu na to czy ktoś wam nie skasuje setki postów. Jeden użytkownik znikający ze swoimi postami może narobić ładnego zamieszania jak był aktywny przez lata i się obraził bo jakiś moderator go okrzyczał za nieprawidłową nazwę tematu....

Wybór czy to stosujecie na swych stronach należy tylko i wyłącznie do Was.
Często najmądrzejszą odpowiedzią jest milczenie krzywy.gif
 
Artur-M
No, cóż. Każdy może sobie w delete.php ustawić, to ma być kasowane z bazy danych razem z kontem użytkownika. Ja zaraz po wgraniu tego na serwer dałem, żeby posty na forum zostały. Oczywiście postąpiłem tak jak na naszej-klasie, czyli napis typu
Informujemy, że zgodnie z Art. 5.5 naszego Regulaminu usunięcie konta nie jest równoznaczne z usunięciem danych osobowych z bazy serwisu nasza-klasa.pl. Jeśli chcesz usunąć te dane, prześlij do nas odpowiednie żądanie za pomocą formularza kontaktowego.
tylko że zamiast "danych osobowych" to dałem "postów na forum".

W sumie to prymitywne, bo jak ktoś chce zobaczyć profil tego, kto coś tam napisał na forum to ląduje na komunikacie że "nie ma takiej strony", ewentualnie na stronie głównej (pracuje nad tym).
Edytowane przez Artur-M dnia 13.04.2009 22:19:24
 
Grzes
Artur-M napisał/a:
No, cóż. Każdy może sobie w delete.php ustawić, to ma być kasowane z bazy danych razem z kontem użytkownika.


Wspomniałem o tym w poście na poprzedniej stronie. Tak nie można. Sprawdź sobie na testowej stronie co się stanie jak usera usuniesz a posty i newsy czy arty zostawisz nietknięte.

Ja bym zastosował pole user_status w tabeli users do identyfikacji usuniętego konta. Wartość 3 jest wolna, może oznaczać konto usunięte. Zamiast usuwania rekordu w delete.php zmienić mu tylko wartość w tym polu.
W maincore.php przy logowaniu uwzględnić to, tak samo w setuser.php.
Następnie w profile.php zamiast wyświetlania profilu tego użytkownika tylko informacja że konto użytkownika XXXX zostało usunięte.

W ten sposób zawartości witryny nie trzeba usuwać. Konto pozostaje niedostępne dla nikogo co jest równoważne z faktem usunięcia.
Należy takie zmiany także uwzględniać w dodatakach tylko listy mailingowe choć z tego co kojarze wysyłają maile do osób z user_status równym 0 (zero).

Aktualizacja:
Nasza klasa przewidziała tego typu możliwość. Jak to technicznie mają rozwiązane nie dowiemy się. Odpowiednie zapiski w regulaminie i moje rozwiązanie powinno zadowolić administratora jak i usuwanego użytkownika.
Można w takim profilu usuwanym wykasować adres email (UPDATE tabeli users) co usunie dane osobowe. To samo z komunikatorami. Po prostu profil wyczyścić.
Edytowane przez Grzes dnia 13.04.2009 22:21:33
Często najmądrzejszą odpowiedzią jest milczenie krzywy.gif
 
Artur-M
Pomysł i rozwiązanie - lepsze. Ale nie wiem, czy ktoś się pisze na ich realizację. Bo chyba więcej roboty niż przy zwykłym usunięciu wszystkich rekordów danego usera.
Edytowane przez Artur-M dnia 13.04.2009 22:33:13
 
Grzes
maincore.php (229-238)

Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP


zamienić na:
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP


setuser.php

Można zrezygnować z edycji tego pliku jeśli zgodzimy się na informację przy logowaniu "nieprawidłowa nazwa użytkowinka lub hasło" która to jest wyświetlana standardowo przy podaniu nieprawidłowych danych dla konta lub nieistniejącego - tego oczkujemy.

profile.php

Za długo nie kopałem w kodzie. Okazje się że modyfikacja tego pliku także nie jest potrzebna. Jest w nim linijka:
Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP


która przy user_status innym niż 0 nie wyświetli profilu.

Co pozostaje? Zamiast tych wsyzstkich delete w waszym pliku tylko jedno zapytanie do bazy:

Pobierz kod źródłowy  Rozwiń Kod źródłowy PHP


Zaktualizuje to user_status aktualnie zalogowanemu uzytkownikowi oraz dla przykładu wyczyści email oraz komunikator aim. Każdy wg uznania powinien sobie pola do wyczyszczenia tu dopisać.
Można też z automatu wybrać listę komunikatorów na podstawie zarządzania polami w PA dla profilu. Jednak kod będzie dłuższy. Łatwiej będzie ręcznie wybrane pola tu dopiasać.

Dopracujcie sobie to wszystko i macie gotowca :)
Edytowane przez Grzes dnia 14.04.2009 12:07:57
Często najmądrzejszą odpowiedzią jest milczenie krzywy.gif
 
Artur-M
Czyli w praktyce - zastąpić wszystkie zapytania do bazy z obecnego pliku delete.php na jeden:
Pobierz kod źródłowy  Rozwiń Kod źródłowy
i sobie dostosować, tak?
P.S. + zmienić fragment w maincore.php oczywiście.
Edytowane przez Artur-M dnia 14.04.2009 12:22:13
 
Grzes
Dokładnie. Powinno działać bez problemów. Kilka dni temu instalowałem nowy system u siebie a serwer w ovh w drodze. W tej chwili nie mam działającej strony testowej żeby to sprawdzić i zagwarantować działanie.
Często najmądrzejszą odpowiedzią jest milczenie krzywy.gif
 
Artur-M
Oto, co pisze jak się już usunęło dane (ostatni etap usuwania konta):
Pobierz kod źródłowy  Rozwiń Kod źródłowy

I pod tym
Konto test1 wraz ze wszystkimi wpisami w bazie danych zostało skasowane.
(to już było w delete.php)
Edytowane przez Artur-M dnia 14.04.2009 12:06:53
 
Grzes
Literówka w zapytaniu. Napisałem UDPATE zamiast UPDATE.
Poprawiłem w poprzednim moim poście.
Często najmądrzejszą odpowiedzią jest milczenie krzywy.gif
 
Artur-M
Każdy wg uznania powinien sobie pola do wyczyszczenia tu dopisać.

W związku z tym mam pytanie: czy jak w delete.php znajdzie zapytanie do bazy o wyczyszczenie pola, którego nie ma w bazie to czy tak może być? Czy nic się nie stanie? Bo ja nie mam testowej strony i nie mogę tego sprawdzić.


PW od moderatora:
  1. Odświeżenie Tematu - ICEK 20.10 - 17:55

Edytowane przez Artur-M dnia 20.10.2009 17:14:05
 
Matts
Nie usunie Ci niczego innego. Nie może usunąć czegoś czego nie ma. Smile
 
http://plaq.pl
Artur-M
Czyli jak będzie w delete.php np. user_gg='', a takiej kolumny w fusion_users nie ma, to nic nie szkodzi?
 
Przejdź do forum:
Created by Arox Copyright (C) 2004
Copyright (C) 2004 - 2018 Ekipa PHP-Fusion.pl