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
[gotowa modyfikacja] Lista adminów ( Ekipa )
Autor Wiadomość
Dajaj


Pomógł: 176 razy
Posty: 1019
Wysłany: 04-03-2013, 21:41   [gotowa modyfikacja] Lista adminów ( Ekipa )

Lista adminów ( Ekipa )

:arrow: dodaje na podstronie liste adminów ustawionych w PA


Moja pierwsza zabawka w pełni konfigurowana przez PA ^^

Jak instalować modyfikacje - FAQ: http://www.przemo.org/php...pic.php?t=10014

Przed wykonaniem zapytania upewnij się , iż twój perfix to phpbb_ jeśli nie :

Cytat:
CREATE TABLE IF NOT EXISTS `phpbb_admin_list` (


wartość w phpbb_ zmień na swój perfix

Pozdrawiam i zapraszam do testów

LIVE : KLIK

SSY:

l1.png
Plik ściągnięto 235 raz(y) 26,18 KB

mod.rar
Pobierz Plik ściągnięto 487 raz(y) 53,03 KB

Ostatnio zmieniony przez Dajaj 06-03-2013, 23:28, w całości zmieniany 10 razy  
 
     
Gadatliwa Kasia 

   
kooza


Pomógł: 486 razy
Posty: 2401
Wysłany: 04-03-2013, 22:58   

jest podobna trochę bardziej rozwinięta modyfikacja ` http://www.przemo.org/php...pic.php?t=81022
 
     
NineX



Pomógł: 546 razy
Posty: 1983
Wysłany: 05-03-2013, 00:21   

Gdzie wpis do admin/modules_data.php odnośnie lista_adminow.php ?
Kod:
 *   copyright            : (C) 2011 by Warmix

Kod:
message_die(GENERAL_MESSAGE, 'Strona dostępna tylko dla zalogowanych!');

Kod:
 $sql = mysql_query("SELECT * FROM ".ADMIN_LIST." ORDER BY `user_id` DESC") or die(mysql_error());

Kod:
if(mysql_num_rows($sql) == 0)

Kod:
$profile = (!empty($row['user_id'])) ? '<a href="/profile.php?mode=viewprofile&u=' . $row['user_id'] . '" >' . $row['name'] . '</a>' : $row['name'] ;

Kod:
'U_LISTA' => "/diamenty.$phpEx",

Kod:
message_die(GENERAL_MESSAGE, 'Pomy&#347;lnie usuni&#281;to<br /><br />Kliknij <a href="' . append_sid("lista_adminow.$phpEx") . '"><b>Tutaj</b></a> aby powrócić do poprzedniej strony');

Kod:
$nick = $_POST['nick'];
$rank = $_POST['rank'];
$id = $_POST['id'];
$sql = "UPDATE ".ADMIN_LIST." SET name = '$nick', rank = '$rank', user_id = '$id' WHERE id='" . $HTTP_GET_VARS['edycja'] . "' ";

Kod:
$nick = $_POST['nick'];
$rank = $_POST['rank'];
$id = $_POST['id'];
if($nick or !empty($nick)){
$sql = "INSERT INTO ".ADMIN_LIST." (`id` ,`user_id` ,`rank` ,`name`)VALUES (NULL , '$id', '$rank', '$nick')";

Kod:
message_die(GENERAL_MESSAGE, 'Pola Nick i Ranga musz&#261; zosta&#263; wype&#322;nione<br /><br />Kliknij <a href="' . append_sid("lista_adminow.$phpEx?dodaj") . '"><b>Tutaj</b></a> aby powrócić do poprzedniej strony');
'USUN' => append_sid('?usun='.$row['id']),
'EDIT' => append_sid('?edycja='.$row['id']),

Kod:
        if(mysql_num_rows($result) == 0)
        {
            message_die(GENERAL_MESSAGE, $lang['Brak'] . '<br /><br /> <A href="' . append_sid("?dodaj") . '">Kliknij tutaj , aby doda&#263;</a>');
 
        }

Gdzie te pliki?
Kod:
require_once($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/admini_lista_lang.' . $phpEx);
require_once($phpbb_root_path . 'language/lang_polish'.'/admini_lista_lang.' . $phpEx);


Niesamowite :)
 
     
Dajaj


Pomógł: 176 razy
Posty: 1019
Wysłany: 05-03-2013, 09:04   

NineX napisał/a:
Gdzie wpis do admin/modules_data.php odnośnie lista_adminow.php ?
Kod:
 *   copyright            : (C) 2011 by Warmix

Kod:
message_die(GENERAL_MESSAGE, 'Strona dostępna tylko dla zalogowanych!');

Kod:
 $sql = mysql_query("SELECT * FROM ".ADMIN_LIST." ORDER BY `user_id` DESC") or die(mysql_error());

Kod:
if(mysql_num_rows($sql) == 0)

Kod:
$profile = (!empty($row['user_id'])) ? '<a href="/profile.php?mode=viewprofile&u=' . $row['user_id'] . '" >' . $row['name'] . '</a>' : $row['name'] ;

Kod:
'U_LISTA' => "/diamenty.$phpEx",

Kod:
message_die(GENERAL_MESSAGE, 'Pomyślnie usunięto<br /><br />Kliknij <a href="' . append_sid("lista_adminow.$phpEx") . '"><b>Tutaj</b></a> aby powrócić do poprzedniej strony');

Kod:
$nick = $_POST['nick'];
$rank = $_POST['rank'];
$id = $_POST['id'];
$sql = "UPDATE ".ADMIN_LIST." SET name = '$nick', rank = '$rank', user_id = '$id' WHERE id='" . $HTTP_GET_VARS['edycja'] . "' ";

Kod:
$nick = $_POST['nick'];
$rank = $_POST['rank'];
$id = $_POST['id'];
if($nick or !empty($nick)){
$sql = "INSERT INTO ".ADMIN_LIST." (`id` ,`user_id` ,`rank` ,`name`)VALUES (NULL , '$id', '$rank', '$nick')";

Kod:
message_die(GENERAL_MESSAGE, 'Pola Nick i Ranga muszą zostać wypełnione<br /><br />Kliknij <a href="' . append_sid("lista_adminow.$phpEx?dodaj") . '"><b>Tutaj</b></a> aby powrócić do poprzedniej strony');
'USUN' => append_sid('?usun='.$row['id']),
'EDIT' => append_sid('?edycja='.$row['id']),

Kod:
        if(mysql_num_rows($result) == 0)
        {
            message_die(GENERAL_MESSAGE, $lang['Brak'] . '<br /><br /> <A href="' . append_sid("?dodaj") . '">Kliknij tutaj , aby dodać</a>');
 
        }

Gdzie te pliki?
Kod:
require_once($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/admini_lista_lang.' . $phpEx);
require_once($phpbb_root_path . 'language/lang_polish'.'/admini_lista_lang.' . $phpEx);


Niesamowite :)


Wreszcie ktoś z krytyką:P i ktoś kto się na tym porządnie zna... jak pisałem mój pierwszy taki mod także z palca się tego nie uczyłem dlatego ten warmix tam wskoczył przypadkowo

najważniejsze błędy poprawione, ale czy mógłbyś opisać o co chodzi dokładnie w reszcie przez Ciebie wymienionych kodów ?
 
     
Majkelo



Pomógł: 1283 razy
Posty: 3081
Wysłany: 05-03-2013, 12:53   

NineX napisał/a:
$sql = mysql_query("SELECT * FROM ".ADMIN_LIST." ORDER BY `user_id` DESC") or die(mysql_error());


To jest niedopuszczalne, w przemie musisz to przepuścić przez db, aby zliczało licznik zapytań na dole, czyli tak:

Kod:
$sql = "SELECT * FROM ".ADMIN_LIST." ORDER BY `user_id` DESC";
if ( !($result = $db->sql_query($sql)) )
{
    message_die(GENERAL_ERROR, 'tresc bledu, najlepiej lang', '', __LINE__, __FILE__, $sql);
}


Dajaj napisał/a:
if(mysql_num_rows($sql) == 0)


to co wyżej, czyli
Kod:
$db->sql_numrows($result)


Dajaj napisał/a:
$profile = (!empty($row['user_id'])) ? '<a href="/profile.php?mode=viewprofile&u=' . $row['user_id'] . '" >' . $row['name'] . '</a>' : $row['name'] ;


po co linki poprzedzasz '/' ? Dodatkowo sprawdzanie pola w bazie za pomocą funkcji empty() to niezbyt dobry pomysł. Przecież user_id nigdy nie może być puste, a najlepsze jest to, że jeśli trafiłoby Ci się id 0 (w naszym skrypcie nie, ale mówię ogólnie o Twojej przygodzie z PHP) to ta funkcja zwróci true, mimo, że pole będzie uzupełnione bo będzie tam zero + append_sid dla href.

Dajaj napisał/a:
message_die(GENERAL_MESSAGE, 'Pomyślnie usunięto<br /><br />Kliknij <a href="' . append_sid("lista_adminow.$phpEx") . '"><b>Tutaj</b></a> aby powrócić do poprzedniej strony');


takie coś dodaje się w lang_main.php, najlepiej z odpowiednikiem angielskim w lang_english, chociaż niekoniecznie.

Dajaj napisał/a:
$nick = $_POST['nick'];
$rank = $_POST['rank'];
$id = $_POST['id'];
$sql = "UPDATE ".ADMIN_LIST." SET name = '$nick', rank = '$rank', user_id = '$id' WHERE id='" . $HTTP_GET_VARS['edycja'] . "' ";


Poczytaj o SQL injection, takie zmienne należy zabezpieczyć zanim upchniesz je w zapytanie. Jeśli spodziewasz się tekstu jako zwrotu to możesz użyć addslashes() lub mysql_real_escape_string(), jeśli liczby to intval().
Więcej o SQL injection - jak zabezpieczać: http://4programmers.net/P...tion_-_podstawy

Dajaj napisał/a:
message_die(GENERAL_MESSAGE, 'Pola Nick i Ranga muszą zostać wypełnione<br /><br />Kliknij <a href="' . append_sid("lista_adminow.$phpEx?dodaj") . '"><b>Tutaj</b></a> aby powrócić do poprzedniej strony');
'USUN' => append_sid('?usun='.$row['id']),
'EDIT' => append_sid('?edycja='.$row['id']),


Langi + podaje się pełne ścieżki, a nie same gety.

Dajaj napisał/a:
if(mysql_num_rows($result) == 0)
{
message_die(GENERAL_MESSAGE, $lang['Brak'] . '<br /><br /> <A href="' . append_sid("?dodaj") . '">Kliknij tutaj , aby dodać</a>');

}


langi + klasa db.
Ostatnio zmieniony przez NineX 05-03-2013, 17:11, w całości zmieniany 1 raz  
 
     
Dajaj


Pomógł: 176 razy
Posty: 1019
Wysłany: 05-03-2013, 21:32   

Wielkie dzięki za porady ... jeśli możecie to sprawdźcie czy wszystkie poprawki są zrobione prawidłowo ;]

Cytat:
(!empty($row['user_id'])) ? '<a href="/profile.php?mode=viewprofile&u=' . $row['user_id'] . '" >' . $row['name'] . '</a>' : $row['name'] ;


co do tego to podobny kod widziałem już nie raz w modyfikacjach na przemo :roll: , a user_id nie jest pobierane z głównej tabeli userów tylko tabeli listy , i tam może być puste ;) , zmieniłem tak:

Kod:
$profile = (!empty($row['user_id'])) ? '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=" . $row['user_id']) . '">' . $row['name'] . '</a>' : $row['name'] ;
 
     
kooza


Pomógł: 486 razy
Posty: 2401
Wysłany: 06-03-2013, 11:42   

Po co dwa takie same załączniki? Wystarczy zaktualizować.
Po kliknięciu na user wywala błąd że 'wybrany użytkownik nie istnieje'
 
     
Dajaj


Pomógł: 176 razy
Posty: 1019
Wysłany: 06-03-2013, 13:15   

kooza napisał/a:
Po co dwa takie same załączniki? Wystarczy zaktualizować.
Po kliknięciu na user wywala błąd że 'wybrany użytkownik nie istnieje'


No tak przez pomyłkę 2x się wgrał

Jeśli chodzi ci o demo to tam testowałem i wpisałem ID 12 zamiast 2

** myślę że jak będzie ok to można pousuwać zbędne posty bo niezły spam się zrobił
 
     
Majkelo



Pomógł: 1283 razy
Posty: 3081
Wysłany: 06-03-2013, 18:56   

w takim razie tutaj piszesz co innego i w kodzie dodajesz co innego.

Kod:
`user_id` int(11) NOT NULL,


NOT NULL - nie może być puste.

Dajaj napisał/a:
i tam może być puste ;)


empty() stosuje się m.in do $_POST.
 
     
Dajaj


Pomógł: 176 razy
Posty: 1019
Wysłany: 06-03-2013, 21:52   

Kod:
                if($row['user_id'] != '') {
                $profile = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=" . $row['user_id']) . '">' . $row['name'] . '</a>'; }
                else { $profile = $row['name']; }


tak to by mogło wyglądać?
 
     
Majkelo



Pomógł: 1283 razy
Posty: 3081
Wysłany: 06-03-2013, 22:43   

Lepiej, jednak pozostań przy starym szkielecie, nie ma sensu rozbijać tego na zbędne linie:

Kod:
$profile = $row['user_id'] != '' ? '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=" . $row['user_id']) . '">' . $row['name'] . '</a>' : $row['name'] ;
 
     
Gadatliwa Kasia 

   
Dajaj


Pomógł: 176 razy
Posty: 1019
Wysłany: 06-03-2013, 23:29   

Ok wielkie dzięki za porady :mrgreen:
 
     
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
Możesz ściągać załączniki 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,13 sekundy. Zapytań do SQL: 17
Polecane serwisy

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

Sklep z gadżetami

Design Cart - Tworzenie sklepu internetowego

iRonin.IT

• Zamów reklamę