Przesunięty przez: Matteo 09-11-2013, 09:36 |
Przynależność do grupy na określony czas |
Autor |
Wiadomość |
Majkelo


Pomógł: 1283 razy Posty: 3081
|
Wysłany: 04-12-2012, 21:52 Przynależność do grupy na określony czas
|
|
|
Przynależność do grupy na określony czas
Pozwala określić czas, na jaki wybrany użytkownik zostanie dodany do danej grupy.
Kod: | ################################################################
## MOD Title: Przynależność do grupy na określony czas
## MOD Version: 1.0
## MOD Author: Majkelo < Mich.Pajor[at]gmail.com > Michał Pajor
## MOD Description: Pozwala określić czas, na jaki wybrany użytkownik zostanie dodany do danej grupy.
##
## Installation Level: Medium
## Installation Time: 6 Minute
## Files To Edit: (5)
## groupcp.php
## admin/admin_groups.php
## language/lang_polish/lang_main.php
## templates/*/groucp_info_body.tpl
## index.php
##
################################################################ |
Co modyfikacja potrafi:
Podczas dodawania użytkownika do danej grupy jest możliwość wybrania na jak długo dany user ma być przydzielony do danej grupy,
Przy dodawaniu/zmianie moderatora grupy - jego czas 'przynależenia' zawsze zmieniany jest na nieograniczony,
W widoku grupy moderator grupy (admin itd. oczywiście też) widzą kto kiedy z danej grupy wyleci.
Ten kawałek:
Kod: | if ( rand(0, 8) == 8 )
{
$sql = "DELETE FROM " . USER_GROUP_TABLE . "
WHERE user_delete_time > 0
AND user_delete_time <= " . CR_TIME . "";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user and group information', '', __LINE__, __FILE__, $sql);
}
if ( mysql_affected_rows() > 0 )
{
sql_cache('clear', 'groups_data');
}
} |
Odpowiada za usuwanie ludzi z grupy, których czas już minął. Jak widać, zrobiłem taki prowizoryczny warunek, dzięki czemu to zapytanie nie będzie wykonywanie cały czas, tylko wtedy, jeśli z przedziału 0-8 wylosowana zostanie cyfra 8. Jak ktoś chce to może ten warunek usunąć i wtedy to zapytanie będzie wykonywane cały czas przy wejściu w index.php, aczkolwiek przy średnio 80 użytkownikach, odwiedzających Twoje forum dziennie - nie ma sensu zbędnie obciążać forum.
No i oczywiście, jeśli chcecie dodać danego użytkownika na okres nieokreślony do grupy (na zawsze) to pole 'Na czas' zostawiacie puste. Jest tam z resztą nawet informacja o tym
W modyfikacji '1 miesiąc' to 30 dni.
To chyba na tyle informacji.
Pozdrawiam! |
Ostatnio zmieniony przez Majkelo 08-02-2013, 23:11, w całości zmieniany 7 razy |
|
|
|
 |
Gadatliwa Kasia
|
|
|
|
Piwulek
Pomógł: 1 raz Posty: 104
|
Wysłany: 04-12-2012, 22:00
|
|
|
o to chodziło... postawiłbym ci Piwo z miłą chęcią
Czy będzie można kogoś dołączyć np... do końca danego roku kalendarzowego? |
_________________ Pozdrawiam
Piwek |
|
|
|
 |
Majkelo


Pomógł: 1283 razy Posty: 3081
|
Wysłany: 04-12-2012, 22:06
|
|
|
Nie. Na screenie jest pokazane - wpisujesz wartość i dobierasz coś z przedziału minut/godzin/dni/miesięcy (30 dni) / lat. |
|
|
|
 |
Piwulek
Pomógł: 1 raz Posty: 104
|
Wysłany: 04-12-2012, 22:56
|
|
|
Źle się wyraziłem... chodziło mi o to, czy przewidujesz modyfikację idącą w tą stronę, żeby zaznaczyć konkretną datę |
_________________ Pozdrawiam
Piwek |
|
|
|
 |
Majkelo


Pomógł: 1283 razy Posty: 3081
|
Wysłany: 05-12-2012, 07:05
|
|
|
Nie wiem, zobaczymy |
|
|
|
 |
bolek i lolek [Usunięty]
|
Wysłany: 06-12-2012, 08:33
|
|
|
Szczerze powiedziawszy, jeżeli nikt nie wejdzie do gorupcp to użytkownik nie zostanie usunięty z grupy
Lepiej jak zrobisz plik tymczasowy w którym będziesz zapisywać datę ( dzień po dniu [ nie chodzi o datę wygasania użytkownika ] ), jeżeli pliku nie będzie lub data nie jest aktualna to wykonujesz funkcję, która
kasuje użytkowników i uaktualnia plik tmp z datą.
Wszystko to zrobisz na bazie funkcji cachującej która jest wbudowana, warto dodać że wywołanie funkcji powinno znajdować się w pliku common oraz powinna ona być wywoływana po określonej godzinie.
Lub po prostu żyj crona |
|
|
|
 |
Piwulek
Pomógł: 1 raz Posty: 104
|
Wysłany: 06-12-2012, 09:35
|
|
|
Zainstalowane, sprawdzone i działa
Mimo tej małej niedoskonałości, o której wspomniałem powyżej, uważam tego moda za BARDZO przydatnego w moim przypadku |
_________________ Pozdrawiam
Piwek |
|
|
|
 |
Majkelo


Pomógł: 1283 razy Posty: 3081
|
Wysłany: 06-12-2012, 13:48
|
|
|
Cytat: | Szczerze powiedziawszy, jeżeli nikt nie wejdzie do gorupcp to użytkownik nie zostanie usunięty z grupy |
Zawsze moźna to umieścić w common.php, nie widzę problemu. |
|
|
|
 |
Pawlok
Czarna lista

Pomógł: 2 razy Posty: 245
|
Wysłany: 09-12-2012, 22:11
|
|
|
Zainstalowalem. Dalem uzytkownikowi na 2 min ale po 15 min byl dalej w grupie Nie wywalilo go z grupy;/ |
|
|
|
 |
bolek i lolek [Usunięty]
|
Wysłany: 10-12-2012, 12:51
|
|
|
Pawlok
mayerboss napisał/a: | Szczerze powiedziawszy, jeżeli nikt nie wejdzie do gorupcp to użytkownik nie zostanie usunięty z grupy |
|
|
|
|
 |
Majkelo


Pomógł: 1283 razy Posty: 3081
|
Wysłany: 11-12-2012, 12:44
|
|
|
Pawlok napisał/a: | Zainstalowalem. Dalem uzytkownikowi na 2 min ale po 15 min byl dalej w grupie Nie wywalilo go z grupy;/ |
Wystarczy czytać dokładnie posty. Umieść sobie to w common.php, przed ?>, a gwarantuję, że usunie
Kod: | $sql = "DELETE FROM " . USER_GROUP_TABLE . "
WHERE user_delete_time > 0
AND user_delete_time <= " . CR_TIME . "";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user and group information', '', __LINE__, __FILE__, $sql);
}
sql_cache('clear', 'groups_data'); |
|
|
|
|
 |
bolek i lolek [Usunięty]
|
Wysłany: 11-12-2012, 14:26
|
|
|
Majkelo napisał/a: | $sql = "DELETE FROM " . USER_GROUP_TABLE . "
WHERE user_delete_time > 0
AND user_delete_time <= " . CR_TIME . "";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user and group information', '', __LINE__, __FILE__, $sql);
}
sql_cache('clear', 'groups_data'); |
WTF ????!!!!
Nie dość że +1 zapytanie dodatkowe przy wywoływaniu strony za każdym razem to jeszcze zbędne ciągłe czyszczenie cachów grup. Zrób to porządnie ! |
|
|
|
 |
Majkelo


Pomógł: 1283 razy Posty: 3081
|
Wysłany: 11-12-2012, 14:36
|
|
|
mayerboss napisał/a: | Nie dość że +1 zapytanie dodatkowe przy wywoływaniu strony za każdym razem to jeszcze zbędne ciągłe czyszczenie cachów grup. Zrób to porządnie ! |
Jest zrobione porządnie i jest to także opisane wyżej. |
|
|
|
 |
bolek i lolek [Usunięty]
|
Wysłany: 11-12-2012, 14:37
|
|
|
Majkelo napisał/a: |
Jest zrobione porządnie i jest to także opisane wyżej. |
To masz pojęcie o tym co robisz, gz.
EoT. |
|
|
|
 |
Gadatliwa Kasia
|
|
|
|
Majkelo


Pomógł: 1283 razy Posty: 3081
|
Wysłany: 11-12-2012, 14:42
|
|
|
Porządnie zrobione jest w załączniku w pierwszym poście i opisane. Kolega Pawlok jak zwykle nie przeczytał posta i się wielce dziwi, że po pierwszym odświeżeniu strony, nie usunęło użytkownika z grupy i mu to nie odpowiada to dostał rozwiązanie, które jest mało optymalne, ale trudno - skoro on nie potrafi poświęcić 2 min na przeczytanie dokładnie tego co napisałem w pierwszym poście to ja nie będę tracił czasu na przepisywanie drugi raz tego samego fragmentu, dostał rozwiązanie mało optymalne - trudno
mayerboss napisał/a: | To masz pojęcie o tym co robisz, gz.
EoT. |
Owszem, mam. |
|
|
|
 |
|