|
|
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo
|
|
Przesunięty przez: Matteo 09-11-2013, 09:29 |
No Warn For Administrator |
Autor |
Wiadomość |
Bucu
Pomógł: 487 razy Posty: 2127
|
Wysłany: 28-02-2009, 17:25 No Warn For Administrator
|
|
|
Poprawiona wersja moda - v1.2
Kod: | ##############################################################
## MOD Title: No Warn For Admin
## MOD Author: bucu < bucu666@gmail.com > (Wiktor Bucki) www.backbone.neth.pl
## MOD Description: Uniemozliwia wystawienie ostrzezenia osobom z ranga moderator i admin
## MOD Version: 1.2
##
## Installation Level: (Easy)
## Installation Time: 3 Minutes
## Files To Edit: warnings.php
## Included Files: N/A
## License: http://opensource.org/licenses/gpl-license.php GNU General Public License v2
#
#-----[ FIND ]------------------------------------------
#
if ( $mode == 'add' && $can_add )
{
if ( $userid && !$username )
{
$username = get_username($userid);
}
$template->assign_block_vars('add', array(
'L_EXPLAIN' => $lang['add_warning_e'],
'L_USERNAME' => $lang['Username'],
'USERNAME' => $username)
);
#
#-----[ AFTER, ADD ]------------------------------------------
#
"SELECT user_level FROM " . USERS_TABLE . "
WHERE user_level = 1 AND user_level = 2;";
$nowarn = $db->sql_query($sql);
$row = $db->sql_fetchrow($nowarn);
if ($nowarn == 1 || $nowarn == 2)
{
$message = 'Nie możesz dać ostrzeżenia temu Użytkownikowi' . '<br /><br />' . sprintf($lang['Click_to_back'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM |
instrukcja krotka wiec zamieszczam od razu w poscie. |
_________________ Zanim napiszesz głupi temat, zapoznaj sie z FAQ
Pisanie / Instalacja Modyfikacji / For / CMS , przenoszenie For / CMS / Baz Danych (odpłatnie) - Osoby zainteresowane Proszę o kontakt GG.
Przez GG Pomagam tylko odpłatnie! |
Ostatnio zmieniony przez arcy 08-05-2010, 13:38, w całości zmieniany 9 razy |
|
|
|
|
Gadatliwa Kasia
|
|
|
|
pawelooss
Pomógł: 4 razy Posty: 110
|
Wysłany: 28-02-2009, 19:32
|
|
|
Działa wyśmienicie. Mam tylko jedno pytanie. Czy gdy chce się dodać więcej "niewarnowalnych" użytkowników, to trzeba za każdym razem powtarzać ten kod z odpowiednim "if($userid == 'x')", czy można to zapisać w jednej linijce w postaci kilku ID po przecinku (czy jakoś w tym stylu)? |
_________________ Nie widzę przez ściany i nie umiem pleść wiklinowych koszyków. ^^, |
|
|
|
|
MagicalFire
Pomógł: 980 razy Posty: 4353
|
Wysłany: 28-02-2009, 19:36
|
|
|
pawelooss napisał/a: | if($userid == 'x')", |
nie
możesz dodawać po przecinku
np
Kod: | ($userid == '2,32,44') |
|
_________________ nie za takie Przemo walczyliśmy |
|
|
|
|
pawelooss
Pomógł: 4 razy Posty: 110
|
Wysłany: 28-02-2009, 19:44
|
|
|
Niestety chyba jednak tak się nie da. Wpisałem:
Kod: | if($userid == '2,3,4') |
i userowi 2 faktycznie nie mogę dać warna, ale 3 i 4 już bez problemu. |
_________________ Nie widzę przez ściany i nie umiem pleść wiklinowych koszyków. ^^, |
|
|
|
|
maminowiec
Pomógł: 551 razy Posty: 1729
|
Wysłany: 28-02-2009, 19:49
|
|
|
Kod: | $userid = "2,3,4"; //id rozdzielone przecinkami
$userid = explode(',', $userid); |
Kod: | if($userid == '2,3,4')
$userid = explode(',', $userid);
{
$message = 'Nie możesz dać ostrzeżenia Administratorowi' . '<br /><br />' . sprintf($lang['Click_to_back'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
} |
Zobacz czy działa |
|
|
|
|
pawelooss
Pomógł: 4 razy Posty: 110
|
Wysłany: 28-02-2009, 20:07
|
|
|
Niestety. Wtedy nie mogę dać warna nikomu - wszyscy userzy są "niewarnowalni". |
|
|
|
|
lui754
Pomógł: 591 razy Posty: 2699
|
Wysłany: 28-02-2009, 20:59
|
|
|
Kod: | if(in_array($userid, array(2,4,19,22,142)))
{
$message = 'Nie możesz dać ostrzeżenia Administratorowi' . '<br /><br />' . sprintf($lang['Click_to_back'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
} |
Może tak?
EDIT: // Dziękuje |
_________________ lui754 |
Ostatnio zmieniony przez lui754 28-02-2009, 21:12, w całości zmieniany 1 raz |
|
|
|
|
pawelooss
Pomógł: 4 razy Posty: 110
|
Wysłany: 28-02-2009, 21:07
|
|
|
Tak, teraz działa! Dziękuję wszystkim za odpowiedzi! |
_________________ Nie widzę przez ściany i nie umiem pleść wiklinowych koszyków. ^^, |
|
|
|
|
Bucu
Pomógł: 487 razy Posty: 2127
|
Wysłany: 28-02-2009, 21:11
|
|
|
uaktualniona wersja w zalaczniku, dzieki @lui754, dopisalem cie jako autora i pomógł juz dalem |
_________________ Zanim napiszesz głupi temat, zapoznaj sie z FAQ
Pisanie / Instalacja Modyfikacji / For / CMS , przenoszenie For / CMS / Baz Danych (odpłatnie) - Osoby zainteresowane Proszę o kontakt GG.
Przez GG Pomagam tylko odpłatnie! |
|
|
|
|
Petermechanic
Posty: 18
|
Wysłany: 01-03-2009, 10:26
|
|
|
Witam
Pomyślałem, że ten problem można rozwiązać inaczej bardziej "globalnie", bez wpisywania ID - czyli możliwości instalowania go na większej ilości forach:
Cytat: |
->Otwórz languages/lang_polish/lang_warnings.php
->Znajdź:
->Przed tym, dodaj:
Kod: |
$lang['you_cannot_add_warn_for_admin'] = 'Nie możesz dać ostrzeżenia Administratorowi'; |
->Otwórz languages/lang_english/lang_warnings.php
->Znajdź:
->Przed tym, dodaj:
Kod: |
$lang['you_cannot_add_warn_for_admin'] = 'You can\'t add warn for Admin';
|
-> Otwórz warnings.php
->Znajdź:
Kod: | function get_user_id($username)
{
global $db, $lang;
$sql = "SELECT user_id
FROM " . USERS_TABLE . "
WHERE username = '" . str_replace("\'", "''", $username) . "'";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, $lang['wrong_user']);
}
$rowname = $db->sql_fetchrow($result);
if ( $rowname['user_id'] < 1 )
{
message_die(GENERAL_ERROR, $lang['wrong_user']);
}
return $rowname['user_id'];
} |
->Zamień na:
Kod: | function get_user_id($username, $onlyid = true)
{
global $db, $lang;
if ($onlyid)
{
$sql = "SELECT user_id
FROM " . USERS_TABLE . "
WHERE username = '" . str_replace("\'", "''", $username) . "'";
}
else
{
$sql = "SELECT user_id, user_level
FROM " . USERS_TABLE . "
WHERE username = '" . str_replace("\'", "''", $username) . "'";
}
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, $lang['wrong_user']);
}
$rowname = $db->sql_fetchrow($result);
if ( $rowname['user_id'] < 1 )
{
message_die(GENERAL_ERROR, $lang['wrong_user']);
}
if ($onlyid)
{
return $rowname['user_id'];
}
else
{
return array($rowname['user_id'], $rowname['user_level']);
}
} |
->Znajdź:
Kod: | if ( $mode == 'add' && $action == 'warning' )
{
$userid = get_user_id($username);
if ( $value < 1 || ( !$admin && $value > $board_config['mod_value_warning'] ))
{
$message = $lang['wrong_value'] . '<br /><br />' . sprintf($lang['Click_to_back'], '<a href="' . append_sid("warnings.$phpEx?mode=add&userid=$userid") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
|
->Zamień na
Kod: |
if ( $mode == 'add' && $action == 'warning' )
{
$userwinfo = get_user_id($username, false);
$userid = $userwinfo[0];
$userwl = $userwinfo[1];
if ( $value < 1 || ( !$admin && $value > $board_config['mod_value_warning'] ))
{
$message = $lang['wrong_value'] . '<br /><br />' . sprintf($lang['Click_to_back'], '<a href="' . append_sid("warnings.$phpEx?mode=add&userid=$userid") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
if ($userwl == ADMIN)
{
$message = $lang['you_are_not_add_warn_for_admin'] . '<br /><br />' . sprintf($lang['Click_to_back'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
|
->Zapisz i zamknij pliki oraz wyczyść cache
|
Uwaga, w ciągu 10 ostatnich minut pojawiły się poprawki do moda. |
_________________ Pozdrawiam, Petermechanic. |
|
|
|
|
Bucu
Pomógł: 487 razy Posty: 2127
|
Wysłany: 01-03-2009, 11:59
|
|
|
Petermechanic owszem dobre, ale chodzi o generalnie o to zeby ustalic w miare elastycznie komu wolno warna dodac, a komu nie.
Postaram sie dzis dopisac to do PA i zmienic sposob przechowywania ID na bazę danych. |
_________________ Zanim napiszesz głupi temat, zapoznaj sie z FAQ
Pisanie / Instalacja Modyfikacji / For / CMS , przenoszenie For / CMS / Baz Danych (odpłatnie) - Osoby zainteresowane Proszę o kontakt GG.
Przez GG Pomagam tylko odpłatnie! |
|
|
|
|
Petermechanic
Posty: 18
|
Wysłany: 01-03-2009, 17:35
|
|
|
Bucu, ale wg. mnie - żadnemu adminowi nie powinno się dawać ostrzeżenia, a co wtedy, jak ktoś zapomni dać ID? Taką opcję można, ale nie jako dla admina, tylko "użytkownicy, którzy nie mogą dostać ostrzeżeń", wtedy pomysł jest trafny.
Pozdrawiam |
_________________ Pozdrawiam, Petermechanic. |
|
|
|
|
fastlone
Pomógł: 2 razy Posty: 136
|
|
|
|
|
ditu
Posty: 36
|
Wysłany: 21-04-2009, 22:12
|
|
|
Wszystko ładnie działa! wielkie dzięki za tego moda |
|
|
|
|
Gadatliwa Kasia
|
|
|
|
Bucu
Pomógł: 487 razy Posty: 2127
|
Wysłany: 19-07-2009, 11:37
|
|
|
poprawiona wersja w pierwszym poscie. |
_________________ Zanim napiszesz głupi temat, zapoznaj sie z FAQ
Pisanie / Instalacja Modyfikacji / For / CMS , przenoszenie For / CMS / Baz Danych (odpłatnie) - Osoby zainteresowane Proszę o kontakt GG.
Przez GG Pomagam tylko odpłatnie! |
|
|
|
|
|
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
|
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,1 sekundy. Zapytań do SQL: 13 | |
|
|