Zobacz temat
Dodanie do funkcji getusergroups() własnych opcji(rang)
|
|
zezol |
Dodany dnia 26.06.2009 03:27:48
|
Bywalec Postów: 593 Pomógł: 34 Data rejestracji: 09.12.2006 22:16 |
Wtiam ;) Zacząłem klecić wtyczkę, dzięki której będzie można dodać i zarządzać własnymi rangami. Pomysł oparłem o istniejące pole "user_level" - nowe rangi dodaję sobie w formie "101.x". Dobra, przejdę do rzeczy ;). Rangi mam w tabeli wtyczki. Mam w niej jak narazie pole "id" oraz "nazwa" która jest przypisana do daneog ID. Nie mogę jakoś rozgryźć tablic w funkcji getusergroups(). Nie wiem jak obok rang zdefiniowanych "na sztywno" wczytać z bazy nowe rangi i dodać do tablicy - tj. do listy która ma się wygenerować. Pętlę mam, ale co do niej wpakować, to na to nie mam pomysłu.. Rozwiń Kod źródłowy PHP
|
|
|
Wścibski Gość |
Dodany dnia 22.12.2024 17:25:40
|
Pan Kontekstualny Postów: n^x Data rejestracji: Zawsze |
|
IP: localhost | |
kefirek |
Dodany dnia 26.06.2009 09:01:47
|
Zaawansowany Postów: 1191 Pomógł: 418 Ostrzeżeń: 1 v6.00.xxx Data rejestracji: 06.04.2008 21:59 |
W bazie danych najlepiej jakbyś miał kolumny o nazwie group_id oraz group_name Gdzie group_id to nr np. 104 zaważ że nisze nr np. 1,2 to zwykłe grupy użytkowników. Zwróć też uwagę na funkcje cache_groups() która pobiera grupy użytkowników i zapisuje w tablicy Czyli na takiej samej zasadzie pobierasz rangi i według mniej najlepiej użyć array_merge do złączenia tablic czyli cały kod funkcji getusergroups() wyglądał by tak Edytowane przez Pieka dnia 26.06.2009 18:38:53 |
|
|
slawekneo |
Dodany dnia 26.06.2009 17:29:31
|
Bywalec Postów: 915 Pomógł: 41 Data rejestracji: 12.03.2006 07:28 |
Mozesz tez bezposrednio dodac poprzez edycje funkcji cache_groups. Robisz kopie tabeli user_groups nazywasz ja rangi, a funkcja wygladalaby tak: Rozwiń Kod źródłowy PHP To na tyle. Pozdro!! |
|
|
zezol |
Dodany dnia 26.06.2009 22:53:08
|
Bywalec Postów: 593 Pomógł: 34 Data rejestracji: 09.12.2006 22:16 |
Wielkie dzięki Sławku! Twój sposób działa jak należy. - Dopisane: @kefirka też jak najbardziej . Teraz główkuję jak zmodyfikować swoją funkcję getuserlevel, bo mam w niej zapytanie. A na forum, gdzie jest powiedzmy 20 postów, to przez to zapytanie jest +20 zapytań więcej... Może dałoby się jakoś pobrać rangi z funkcji którą mi podałeś wyżej. A żeby tego było mało, to muszę coś zrobić z funkcją isnum, bo ta przy dodawaniu dostępu do jakiejś części strony sprawdza, przez funkcję isnum czy user_level jest liczbą. Muszę to jakoś obejść. Dodane w edycji Jednak muszę porzucić sposób formą user_level "101.x" a zastosować inny, bo nie zapiszę takiej wartości w paru(nastu?) polach z typem tinyint(3), a nie będę specjalnie przez wtyczkę zmieniał typu na varchar... Edytowane przez zezol dnia 28.06.2009 00:00:31 |
|
Przejdź do forum: |