ForumCała strona

Nawigacja

Aktualnie online

Gości online: 3

Użytkowników online: 0

Łącznie użytkowników: 25,386
Najnowszy użytkownik: Hisfatt

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

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

Zbigniew@
01.04.2024 12:28:45
Wszystkiego najlepszego z okazji świąt.

JazOOn
28.02.2024 19:25:31
ja zostałem przy fusionie ale nazywa się 360. Projektowanie i druk 3d...

MajsterBieda
25.02.2024 00:12:42
Ponad 20 lat .... tosz to sioook panie.... Grin

JazOOn
24.02.2024 20:32:31
a już na pewno mamuty

JazOOn
24.02.2024 20:31:59
Albo dinozaury

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
System przyjaciół by Szapko
Szapko
Potrzebowałem systemu przyjaciół, a freundschaftssystem zawalił mnie błędami, więc staram się napisać dużo lepszy system.

Instalacja standardowa. Po wrzuceniu paczki włączmy wtyczkę, panel 'friends_system_panel'
oraz pole w profilu.

Wersja 2.0 BETA


Co zostało zrobione:
- poprawiono bezpieczeństwo wtyczki,
- znacznie zmniejszono objętość treści w panelu i połączono oba w jeden,
- połączono pliki, systemu dodawania przyjaciół i wrogów w jeden,
- lista przyjaciół wyświetla także wysłane przez nas i niezaakceptowane zaproszenia z możliwością zrezygnowania,
- info o nowym zaproszeniu i o dodaniu cię na listę wrogów przez PW,
- zapraszać użytkownika lub dodawać do wrogów można teraz przez jego profil, wyszukiwarkę lub wybrać z listy,
- możliwość utworzenia własnej treści wiadomości z powiadomieniem,

Planowane do wersji 2.1:
- [ZROBIONE] podstrona ze wspólnymi przyjaciółmi (z poziomu profilu użytkownika),
- [ZROBIONE] informacja na PW o nadchodzących i bieżących urodzinach przyjaciół,
- system wysyłania prezentów (prezenty darmowe bądź za punkty PP [presentpoints]),
- poprawne locale,

Zapraszam do testowania, tego co dotychczas zostało zrobione.


PW od moderatora:
  1. Odświeżenie Tematu - Pieka 12.08 - 19:17
Szapko dodał/a następującą plik:
v7-friends_system-2_0_beta.zip [14.9kB / 1110 Pobrane]

Edytowane przez Szapko dnia 12.08.2011 16:31:37
 
Wścibski Gość
Dodany dnia 23.04.2024 23:51:28
Pan Kontekstualny

Postów: n^x
Data rejestracji: Zawsze

Polecamy hosting SferaHost.pl
IP: localhost  
pekemon
Locale UTF-8. Smile
pekemon dodał/a następującą plik:
polish-utf8_2.zip [1.08kB / 889 Pobrane]

Wtyczki, panele, mod'y ... Pomoc - Przerabianie - Tworzenie :
-> pekemon.cba.pl <-
Jeśli Pomogłem kliknij pomogl_maly.png "POMÓGŁ", będę wdzięczny Grin
 
http://pekemon.cba.pl/
emil90ck
A jest możliwość zrobienia opcji że jak mam np Ciebie na czarnej liście to nie mogę wysłać PW i wyskakuje komunikat np. Osoba do której chcesz wysłać wiadomość dodała cię do listy wrogów
Jest to wykonalne Smile ??
 
http://www.bluemoney.pl
Szapko
Nie sprawdzane, ale powinno zadziałać. W messages.php znajdź:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

i zmień na:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

Edytowane przez Szapko dnia 19.06.2010 20:58:19
 
Szapko
Pierwsze zapytanie wyciąga z bazy wrogów ID użytkownika zapraszanego i ID zapraszającego, a następnie sprawdza czy istnieją jakieś wyniki, jeżeli nie, to zaproszenie zostaje wysłane. W innym przypadku zostajemy poinformowani, że zaproszenie już zostało wysłane.

Drugie zapytanie sprawdza sprawdza czy ten sam ID użytkownika zapraszanego i zapraszającego nie występują już w bazie przyjaciół, jeżeli nie występują to wysyła zaproszenie. W innym przypadku zostajemy powiadomieni iż ten użytkownik już jest na liście przyjaciół i nie można dodać go do wrogów.

Jeżeli połączę te zapytania, to warunek nie zostanie spełniony jeżeli ktoś będzie w bazie wrogów lub przyjaciół, bo zapytanie nie zwróci pustej liczby wierszy.

W takim wypadku trzeba byłoby zmieniać warunek, więc według mnie wychodzi na to samo. Chyba, że się mylę. Pfft
Edytowane przez Szapko dnia 21.06.2010 23:40:43
 
Reyn
To ja bym poprosił o bezpieczną wersję Smile.
 
Szapko
Dane przefiltruję, tylko chciałem się dowiedzieć czy te zapytania są aż tak ważne.
 
Blivd
Do stringa robisz mysql_real_escape_string() do intval wystarczy (int) przed zmienną i podstawowe zabezpieczenie masz Smile
Edytowane przez khaman dnia 23.06.2010 10:00:16
 
accent
To dobrze nie działa... Wcale...

1) Lista przyjaciół niekompletna
2) Pierwszy użytkownik na liście online zlewa mi się z drugim
3) Tak naprawdę nie wyświetla mi się lista użytkowników online tylko lista wszystkich przyjaciół
4) Przy próbie zaproszenia przyjaciela dostaje error 404

Wiadomość doklejona:
Plik friends_system_panel/friends_system_panel.php, na samym końcu:
Pobierz kod źródłowy  GeSHi: PHP
  1. while ($dat = dbarray($result)) {
  2. echo "<a href='".BASEDIR."profile.php?lookup=".$dat&#91;'user_id'&#93;."'>".$dat&#91;'user_name'&#93;."</a>";
  3. if ($i > 0) {
Zinterpretowano w sekund: 0.024, wykorzystano GeSHi 1.0.8.10

Wprowadzona zmiana: w pętli $i>0, a nie $1. W przypadku, gdy tak jest tak jak zrobiłeś to 2 pierwsze linki nie są rozdzielone.

Dodawanie nowych przyjaciół (add_friend.php) powinno wyglądać tak:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

, a nie tak:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

Parametr przekazujemy przez ? a nie &.
Analogiczny problem dotyczy wrogów.


PW od moderatora:
  1. Ogólna Uwaga - Pieka 07.07 - 19:05

Edytowane przez Pieka dnia 07.07.2010 20:21:09
 
Szapko
1) Lista przyjaciół niekompletna
2) Pierwszy użytkownik na liście online zlewa mi się z drugim

Możesz wyjaśnić?

3) Tak naprawdę nie wyświetla mi się lista użytkowników online tylko lista wszystkich przyjaciół

Wiem, testowałem to na jednym użytkowniku i nie zauważyłem na początku. Poprawię jak będę miał chwilę czasu.

Parametr przekazujemy przez ? a nie &.
Analogiczny problem dotyczy wrogów.

Byłem pewien, że to poprawiłem :/ na początku miało to wyglądać trochę inaczej.

Postaram się zrobić nową wersję jak najszybciej.
Edytowane przez Szapko dnia 07.07.2010 21:48:09
 
accent
dan_0803 napisał/a:
1) Lista przyjaciół niekompletna
2) Pierwszy użytkownik na liście online zlewa mi się z drugim

Możesz wyjaśnić?


już tłumacze:
AD 1) Lista przyjaciół ma domyślnie wartość parametru 5 jako ilość przyjaciół na stronę w tabeli fusion_friends_config (czego nie zauważyłem piszac tego posta). Niestety podział na strony nie pojawił się u mnie (7 przyjaciół -> powinny być 2 strony).

Wydaje mi się, że domyślna wartość 5 jest zbyt mała. Dla 10, 15, 20 jest przejrzyście.

AD 2) dajmy na to, że mamy użytkowników online Mirek, Maciek, Józek to domyślnie wyświetla się Mirek Maciek, Józek tak, że tej spacji między użytkownikami nie widać, a dodatkowo powinien być przecinek oprócz spacji. Zobacz na pierwszy kawałek kodu, który dodałem i porównaj z tym co jest obecnie w Twoim kodzie.

Zapoznaj się z zasadami testowania i przyłóż następnym razem jak będziesz coś na zewnątrz wyrzucał tego typu, bo ktoś się wkurza później, że mu nie działa.
 
Szapko
Ok, będzie poprawione.

Zapoznaj się z zasadami testowania i przyłóż następnym razem jak będziesz coś na zewnątrz wyrzucał tego typu, bo ktoś się wkurza później, że mu nie działa.

Zauważ, że nie napisałem, że wtyczka jest skończona. Cytuje z pierwszego posta:
Proszę o pomoc w testowaniu [...]
 
accent
Zauważ, że sam powiedziałeś, że testowałeś tylko na 1 przyjacielu.

No to Ci pomagam obecnie. Piszę co jest nie halo i tam gdzie wiem jak ma być to piszę.

Testy powinno się przeprowadzać na różnych zestawach danych testowych. Ja to widzę tak:
1) {0 przyjaciół, 0 wrogów},
2) {1 przyjaciel, 0 wrogów},
3) { 0 przyjaciół, 1 wróg},
4) {n wrogów, n przyjaciół, gdzie n jest o 1 większe niż wartość zapisana w ustawieniach, w bazie},
5) a ostatni test z iloścą przyjaciół i wrogów równym wartości zapisanej w bazie.
 
Szapko
Wszystko ok, ale nie wyobrażam sobie sprawdzania przyjaciół online przy nawet 5 użytkownikach Pfft nie mam tyle przeglądarek na kompie.

1,2,3 sprawdzałem.

Co do twoich uwag, to już prawie wszystko zrobione, tylko zostało mi naprawić przyjaciół online.
 
accent
dan_0803 napisał/a:
Wszystko ok, ale nie wyobrażam sobie sprawdzania przyjaciół online przy nawet 5 użytkownikach Pfft nie mam tyle przeglądarek na kompie.

1,2,3 sprawdzałem.

Co do twoich uwag, to już prawie wszystko zrobione, tylko zostało mi naprawić przyjaciół online.


Mi chodziło o ilość w bazie, nie o testy przyjaciół online. Bardziej o wyświetlanie listy przyjaciół i wrogów/
 
Szapko
Rafik89 napisał/a:
A co z bezpieczeństwem Smile?


To też zostanie poprawione, ale gdy wrócę z wczasów (18.07)
 
accent
Czy będzie ta poprawka w ciągu najbliższych kilku dni?
Edytowane przez konto usuniete dnia 25.07.2010 18:30:54
 
Szapko
Na razie jestem zajęty zleceniami i szykowaniem poprawek na moją stronę, ale po trochu pracuję też nad tą wtyczką, nie mogę jednak obiecać, że dokończę ją szybko, ponieważ planuję wprowadzić więcej zmian.
 
emwu
dan 0803 wykonałeś świetną wtyczkę.
Ale mam kilka sugestii. Ponieważ moja znajomość php nie jest na tyle szeroka i sam sobie nie poradzę.
Po pierwsze jeśli chcesz dodać kogoś do przyjaciół pokazuje sie lista wszystkich użytkowników. Jeśli użytkowników będzie przypuszczalnie 1000 to lista będzie na tyle długa ze trudno będzie znaleźć konkretna osobę wiec przydałby się jakaś wyszukiwarka.

Po drugie w liście przyjaciół jest tylko sam nick przydałby się avatar i najlepiej w kolumnach jak na nk.pl

Ja będę próbował modyfikować i będę informowało o moich wyczynach.
Edytowane przez emwu dnia 27.07.2010 22:57:42
 
accent
W załączeniu poprawiony system przyjaźni

Poprawiłem, poza wymienionymi wcześniej błędami następujące kwestie:
- w panelu wyświetla się dodatkowa lista - zaproszenia - po przyjęciu zaproszenia uzytkownicy stają się przyjaciółmi (aktualizuje status przyjaźni z 0 na 1, oraz dla użytkowników o ID, np 17 i 8, przy wpisie friend_from = 17, friend_to = 8, dodaje friend_from=8, friend_to = 17 ze statusem 1)

- dodawanie przyjaciół, wrogów - na liście użytkowników, których możemy dodać do wrogów/przyjaciół nie ma osób należących do drugiej grupy, czyli ktoś kto w danej chwili jest naszym przyjacielem musi zostać najpierw usunięty z listy przyjaciół a dopiero następnie można go dodać do wrogów

- domyślnie było wyświetlanie 5 przyjaciół na stronę, zwiększyłem znacznie tą wartość

- dodałem wyświetlanie avatarów na liście przyjaciół oraz wrogów a także przy zaproszeniach

Jakby ktoś był zainteresowany to zmodyfikowałem również plik profile.php, tak by wyświetlał listę przyjaciół w kolumnach (po 3 w rzędzie).

Pozostaje do rozwiązania kwestia wyświetlania przyjaciół, wrogów i zaproszeń innych użytkowników niż bieżący. Modyfikując parametry zapytania można oglądać w/w listy dla dowolnego użytkownika, ale nie można wykonywać operacji.

Przydałoby się zrobić tak, żeby nie można było oglądać listy przyjaciół/wrogów dowolnie wybranej osoby.
accent dodał/a następującą plik:
friends_system_panel.zip [11.17kB / 845 Pobrane]
 
Przejdź do forum:
Created by Arox Copyright (C) 2004
Copyright (C) 2004 - 2018 Ekipa PHP-Fusion.pl