phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

FAQFAQ - PIERWSZA POMOC!!  regulaminREGULAMIN  SzukajSZUKAJ  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload  katalog Forów DyskusyjnychKatalog Forów   FAQ Video tutoriale

Poprzedni temat «» Następny temat
Przesunięty przez: Woytec
30-11-2013, 20:14
Admin PM Remover
Autor Wiadomość
Quantic


Posty: 13
Wysłany: 14-08-2011, 15:19   Admin PM Remover

Admin PM Remover

Modyfikacja umożliwia zarządzanie prywatnymi wiadomościami w panelu administracyjnym


Niedawno stworzyłem modyfikację Admin PM Viewer, która służyła do podglądania Prywatnych Wiadomości w celu przeciwdziałania reklamie. Okazało się, że jest ona niezgodna z regulaminem. Jednak miała ona też inne przydatne funkcje. Pozbyłem się podglądu wiadomości i zmieniłem nazwę na Admin PM Remover. ;) Przy okazji dodałem też możliwość usuwania wiadomości z podaną przez administratora frazą.

Kod:
##############################################################
## MOD Title:        Admin PM Remover
## MOD Author:       Quantic < xyloxer@gmail.com > http://forum.skinscripts.pl/quantic,u,1984.htm
## MOD Description:  Modyfikacja umożliwia zarządzanie prywatnymi wiadomościami w panelu administracyjnym. Admin PM Remover został napisany po to, aby na przykład zwalczać reklamowanie innych stron. Dzięki temu można szybko masowo usunąć wiadomości. Admin PM Remover pozwala na usunięcie wiadomości z podaną frazą, usunięcie wszystkich wiadomości nadawcy poprzez podanie jego nicku oraz usunięcie wszystkich wiadomości. Dostęp do modułu mają tylko administratorzy i junior admini z uprawnieniami. Modyfikacja jest napisana w języku polskim i angielskim. Język jest automatycznie ustawiany na podstawie indywidualnych ustawień każdego z administratorów.
## MOD Version:      1.0.0
##               
## Installation Level:  Easy
## Installation Time:   ~5 minutes
## Files To Edit:       (4)
##                admin/modules_data.php
##                languages/lang_polish/lang_admin.php
##                languages/lang_english/lang_admin.php
##                admin/admin_pmremover.php
## Included Files:      (2)
##                admin/admin_pmremover.php
##                admin/adminpmremover.css
## License:             Ten plik udostępniony jest na licencji Creative Commons Uznanie autorstwa
##             - Na tych samych warunkach 3.0
##             http://creativecommons.org/licenses/by-sa/3.0/deed.pl
##############################################################
## Author Notes:
## Zaleca się zrobienie kopii plików, które trzeba edytować.
##############################################################


Co modyfikacja potrafi:
:arrow: Usuwanie wszystkich Prywatnych Wiadomości na forum
:arrow: Usuwanie Prywatnych Wiadomości z frazą wpisaną przez administratora
:arrow: Usuwanie Prywatnych Wiadomości danego użytkownika

Instrukcja: Instrukcja w archiwum RAR.

License:
Ten plik udostępniony jest na licencji Creative Commons Uznanie autorstwa – Na tych samych warunkach 3.0
Ostatnio zmieniony przez Woytec 30-11-2013, 20:13, w całości zmieniany 5 razy  
 
     
Gadatliwa Kasia 

   
kevin_


Pomógł: 768 razy
Posty: 2680
Wysłany: 14-08-2011, 17:16   

Dlaczego nie zintegrowałeś podstrony z widokiem ACP? Tylko tworzyłeś nowy nagłówek head - w sumie cały szkielet strony.

$prefix - nie pamiętam czy zmienna już ustawiona jest globalnie, ale jeśli nawet nie to wystarczy include config.php zamiast zmuszać użytkownika do ręcznego wpisywania - niech z automatu to robi.

Dostęp dla JR - trochę nie rozumiem Twojego kodu. Przecież definiując MODULE_ID w panelu admina główny administrator będzie mógł przydzielić dostęp do modułu dla konkretnego JR - zdublowałeś kod moim zdaniem.

Kod:

include_once($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_profile.' . $phpEx);


Nie zapominaj o $userdata['user_lang'] skoro już wczytujesz tablice tłumaczeń.
Jeśli ustawie w profilu język en a domyślny to pl to i tak zobaczę tłumaczenia w języku polskim.

Kod:

if( !$userdata['session_logged_in'] )
{
    redirect(append_sid("login.$phpEx?redirect=admin/index.$phpEx", true));
}


takie coś powinno być na początku dokumentu - ponieważ to jest podstawowa kwestia.
Po co skrypt ma sprawdzać czy użytkownik jest JR czy Adminem i na samym końcu autoryzacji sprawdzasz czy jest zalogowany?

Poza tym ACP Przemo na pewno dodał jakiś globalny warunek aby w ogóle nie wpuszczał niezalogowanych.

Kod:

if ( $userdata['user_level'] == ADMIN || $userdata['user_jr'])
{

$jezyk_user_id = $userdata['user_id'];

        $sql13 = "SELECT {$prefix}users.user_lang FROM {$prefix}users WHERE user_id = '$jezyk_user_id'";
        $result13 = $db->sql_query($sql13);
    while($jezyk = mysql_fetch_array($result13)) {
$jezyk_usera = $jezyk[0];
}


Zbędne zapytanie. Pisząc $userdata['user_lang'] otrzymujesz stringa z nazwą używanego języka przez użytkownika.

Tłumaczenia - mogłeś utworzyć nowy plik language i tłumaczyć według danego języka PL|EN zamiast robijać wszystko na warunki typu;
Kod:

if ($jezyk_usera == 'english')
{
    echo"<big>Delete all Private Messages according to the given phrase:</big>";

}
else
{
    echo"<big>Usuwanie wszystkich Prywatnych Wiadomo&#182;ci według podanej frazy:</big>";
}


Jeśli chodzi o samo usuwanie pw. Pobierasz wszystkie wiadomości pw i filtrujesz je dopiero? Nie lepiej zastosować like+FULLTEXT bądź regexp+FULLTEXT

i pobirać ID takich wiadomości i dopiero usuwać w jednym zapytaniu delete from tabela where id in ($tablica_id)

dla maxlength (input) zapomniałeś o " - tak wiem, FF radzi sobie z wszystkim, ale najczęściej te detale psują widok całej podstrony w innych przeglądarkach.

dalej już nie czytałem kodu

pozdro
_________________
Prezes :mrgreen:
 
     
Quantic


Posty: 13
Wysłany: 14-08-2011, 18:05   

Joy17 napisał/a:
Quantic napisał/a:
Niedawno stworzyłem modyfikację Admin PM Viewer, która służyła do podglądania Prywatnych Wiadomości w celu przeciwdziałania reklamie.

Modyfikacja do przeglądania PM z poziomu PA jest wbudowana w przema, co ciekawsze - uruchamia się ją jedną szybką edycją pliku php 8) tylko że o tym się nie mówi, bo należy do kategorii tzw. "ksiąg zakazanych"

Oczywiście wygaśnie, bo nie na temat ;]

PS. Modyfikacja ciekawa, bo upraszcza to, co dotychczas robiłem bezpośrednio przez zapytania do bazy przy usuwaniu np automatycznych PW albo mass PW


Hmm. Nie widziałem o tej funkcji. Ciekawe. Zaraz zajrzę do plików. ;] W mojej wcześniejszej modyfikacji utworzyłem tabelkę w której było ID wiadomości, temat, treść, adresat, nadawca. Była też opcja usuwania przez podanie ID. Podejrzewam, że we wbudowanym skrypcie nie było takiej opcji. No, ale trudno jak nie można, to nie można. :P

kevin_ napisał/a:
Dlaczego nie zintegrowałeś podstrony z widokiem ACP? Tylko tworzyłeś nowy nagłówek head - w sumie cały szkielet strony.


Chciałem zrobić to oryginalnie. :P Wyszło nieźle, a jest szybciej. :P

kevin_ napisał/a:
$prefix - nie pamiętam czy zmienna już ustawiona jest globalnie, ale jeśli nawet nie to wystarczy include config.php zamiast zmuszać użytkownika do ręcznego wpisywania - niech z automatu to robi.


Trochę bałem się ruszać config.php Wiadomo, że to najważniejszy plik w całym skrypcie. ;) Dążę w swoich modyfikacjach do jak największego bezpieczeństwa.

kevin_ napisał/a:
Dostęp dla JR - trochę nie rozumiem Twojego kodu. Przecież definiując MODULE_ID w panelu admina główny administrator będzie mógł przydzielić dostęp do modułu dla konkretnego JR - zdublowałeś kod moim zdaniem.


Może trochę zdublowałem, bo jeszcze nie znam całego kodu phpBB by Przemo, więc na własne sposoby piszę kod.

kevin_ napisał/a:
Nie zapominaj o $userdata['user_lang'] skoro już wczytujesz tablice tłumaczeń.
Jeśli ustawie w profilu język en a domyślny to pl to i tak zobaczę tłumaczenia w języku polskim.


Niezupełnie. To działa trochę inaczej. Język w modyfikacji jest ustawiany nie na podstawie domyślnego języka forum, ale każdego administratora osobno. Jeśli domyślnym językiem forum jest angielski, a administrator ustawi u siebie polski to zobaczy modyfikację w języku polskim.

kevin_ napisał/a:

takie coś powinno być na początku dokumentu - ponieważ to jest podstawowa kwestia.
Po co skrypt ma sprawdzać czy użytkownik jest JR czy Adminem i na samym końcu autoryzacji sprawdzasz czy jest zalogowany?

Poza tym ACP Przemo na pewno dodał jakiś globalny warunek aby w ogóle nie wpuszczał niezalogowanych.


Może i są globalne warunki, ale ja ich nie znam na pamięć, więc zrobiłem to inną metodą. :P W zasadzie dodałem osobny plik lekko zsynchronizowany z PA.

kevin_ napisał/a:

Zbędne zapytanie. Pisząc $userdata['user_lang'] otrzymujesz stringa z nazwą używanego języka przez użytkownika.


Muszę się pouczyć tych zmiennych globalnych.. ;)

kevin_ napisał/a:

Jeśli chodzi o samo usuwanie pw. Pobierasz wszystkie wiadomości pw i filtrujesz je dopiero? Nie lepiej zastosować like+FULLTEXT bądź regexp+FULLTEXT

i pobirać ID takich wiadomości i dopiero usuwać w jednym zapytaniu delete from tabela where id in ($tablica_id)


Hmm. Ciekawe rozwiązanie. ;]

kevin_ napisał/a:

dla maxlength (input) zapomniałeś o " - tak wiem, FF radzi sobie z wszystkim, ale najczęściej te detale psują widok całej podstrony w innych przeglądarkach.


Racja. Jestem za bardzo przyzwyczajony do FF. :P

Edit: Poprawione. ;)
 
     
Woytec


Pomógł: 2596 razy
Posty: 7679
Wysłany: 15-08-2011, 09:36   

Quantic napisał/a:
Niezupełnie. To działa trochę inaczej. Język w modyfikacji jest ustawiany nie na podstawie domyślnego języka forum, ale każdego administratora osobno. Jeśli domyślnym językiem forum jest angielski, a administrator ustawi u siebie polski to zobaczy modyfikację w języku polskim.

To korzystaj z $userdata['user_lang']
 
     
mg1964

Posty: 13
Wysłany: 09-05-2012, 20:54   

Instalka szybka :)
taki system czyszczenia PW wystarczy :) łatwy i o to chodzi

pozdrawiam
 
     
songohan31

Pomógł: 1 raz
Posty: 72
Wysłany: 27-10-2013, 20:47   

Wszystko działa poprawnie, dzięki za moda ;]
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać załączników na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!

Powered by phpBB modified by Przemo © 2003 phpBB
Strona wygenerowana w 0,16 sekundy. Zapytań do SQL: 14
Polecane serwisy

Najlepsze oprogramowanie do prowadzenia sklepu internetowegoNajlepszy program do sklepu firmowany przez Przem'a

Sklep z gadżetami

mediaclick.pl

serwis laptopów

phpbb

Polisy Ubezpieczeniowe TU Europa

Design Cart - Tworzenie sklepu internetowego

dnirozwoju.pl

Ranking Hostingów HostingOnline.pl

• Zamów reklamę