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: 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, 14: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". :P
 
     
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? :P


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! 8) 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ź:
Kod:
?>

->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ź:
Kod:
?>

->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&amp;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&amp;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
Wysłany: 12-03-2009, 17:09   

Bucu, przerobilbys tego moda tak, by był tez kompatybilny z http://www.przemo.org/php...pic.php?t=69257??
 
     
ditu

Posty: 36
Wysłany: 21-04-2009, 23:12   

Wszystko ładnie działa! :) wielkie dzięki za tego moda :D
 
     
Gadatliwa Kasia 

   
Bucu


Pomógł: 487 razy
Posty: 2127
Wysłany: 19-07-2009, 12: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!
 
     
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,03 sekundy. Zapytań do SQL: 13
Polecane serwisy



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





phpbb

serwis laptopów

• Zamów reklamę