SMF HELP!

SMF Help! - For Users SMF/TP => Style - Problemy, Integracje, Modyfikacje styli => Wątek zaczęty przez: tomeh 11.03.2010 12:38:42



Tytuł: Jak zrobić link widoczny tylko dla admina - minus karmy
Wiadomość wysłana przez: tomeh 11.03.2010 12:38:42
Czy da się zrobić ukryty link widoczny  tylko dla admina? Przykładowo w karmie na forum, tak że urzytkownicy widza + a ja jako administrator widzę jeszcze link do przyznania  - . Można przenosić te linki w dowolne miejsce i można bez problemu usunąć aby - wcale się nie pokazywał do klikania, ale jak zrobić to aby go widział tylko administrator, lub był aktywny tylko dla niego przycisk wstawiania - w karmie.

Dzięki za pomoc jak ktoś pomoże.


Tytuł: Odp: Jak zrobić link widoczny tylko dla admina - minus karmy
Wiadomość wysłana przez: roco 12.03.2010 06:53:08
Chcesz ukryć minusa w karmie? Tak żeby tylko admin widział? hmm kombinujesz. :)

Ale przecież masz nad tym kontrolę w profilach userów, jeśli karma włączona, możesz włączyć tylko globalną karmę.
Prawdę powiedziawszy na szybko nie dam rady, ponieważ to jest połączone i już jest zależne od tego czy topik ogląda user czy gość..

To jest ten kawałek:

GeSHi -› Code: [select]
        // Is karma display enabled?  Total or +/-?
        if ($modSettings['karmaMode'] == '1')
            echo '
                    <div class="poster">'
, $modSettings['karmaLabel'], ' ', $message['member']['karma']['good'] - $message['member']['karma']['bad'], '</div>';

            elseif ($modSettings['karmaMode'] == '2')
                echo '
                    <div class="poster">'
, $modSettings['karmaLabel'], ' +', $message['member']['karma']['good'], '/-', $message['member']['karma']['bad'], '</div>';

        // Is this user allowed to modify this member's karma?
        if ($message['member']['karma']['allow'])
            echo '
                    <div class="poster"><a href="'
, $scripturl, '?action=modifykarma;sa=applaud;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.' . $context['start'], ';m=', $message['id'], ';sesc=', $context['session_id'], '">', $modSettings['karmaApplaudLabel'], '</a>
                        <a href="'
, $scripturl, '?action=modifykarma;sa=smite;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.', $context['start'], ';m=', $message['id'], ';sesc=', $context['session_id'], '">', $modSettings['karmaSmiteLabel'], '</a></div>';
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.054s | speed:20.07 KB/s



To tu w grę wchodzi ten ostatni link:

GeSHi -› Code: [select]
                        <a href="', $scripturl, '?action=modifykarma;sa=smite;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.', $context['start'], ';m=', $message['id'], ';sesc=', $context['session_id'], '">', $modSettings['karmaSmiteLabel'], '</a>
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.028s | speed:8.93 KB/s



Można by podłączyć widzialność tylko dla admina, ale nie zrobię tego, ponieważ nie mam w tej chwili możliwości przeprowadzenia wymaganych testów.

Tak więc, być może jest to możliwe, i znajduje się ten kawałek w pliku Display.template.php, ale nie można tego zrobić na "pałę"..
Może znajdę chwilę czasu to gdzieś indziej potestuję, na chwilę obecną nie mogę pomóc w tej kwestii, sorka.

Pozdrawiam :)
roco


Tytuł: Odp: Jak zrobić link widoczny tylko dla admina - minus karmy
Wiadomość wysłana przez: tomeh 02.04.2010 16:46:29
Cześć, na SMF.com doszliśmy do pewnych wniosków ale tamta osoba nie jest w stanie pomoc chyba. Czy da sę rozwiązać te problemy które wynikły

1. Linki ujemny karmy jest widoczny w każdym poście nawet moim własnym, co prawda tylko dla admina jak chciałem
2. Gdy próbuję ja lub ktoś inny zmienić karmę to jest komunikat "weryfikacja sesji nie powoda się" coś czyli jest źle w kodzie

Code: [select]
http://www.simplemachines.org/community/index.php?topic=370011.0


Da ktoś radę coś wymyślić?


Tytuł: Odp: Jak zrobić link widoczny tylko dla admina - minus karmy
Wiadomość wysłana przez: roco 10.04.2010 02:48:37
Tomeh :)

Widziałem tamten topic. Niestety napisałeś to tak, że @Flapjack może mieć powody sądzić, że jesteś hmm "ślepy" na język PHP
Napisałeś, że nie działa, ale wkleiłeś ponownie kod który masz zamiast "przerobiony".. i tak naprawdę nie wiadomo, czy zrobiłeś,
- to co zaproponował Flapjack? Dlatego być może nie odpisał? nie wiedział czy naprawdę to zrobiłeś..

Widzisz wszystko co w echo 'zawartość'; wyświetla się na stronie i w tym wypadku w jednym echu masz oba linki.

Masz tak:

GeSHi -› Code: [select]
// Is this user allowed to modify this member's karma?
            if ($message['member']['karma']['allow'])
                echo '
                                <a href="'
, $scripturl, '?action=modifykarma;sa=applaud;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.' . $context['start'], ';m=', $message['id'], ';sesc=', $context['session_id'], '">', $modSettings['karmaApplaudLabel'], '</a>
                                <a href="'
, $scripturl, '?action=modifykarma;sa=smite;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.', $context['start'], ';m=', $message['id'], ';sesc=', $context['session_id'], '">', $modSettings['karmaSmiteLabel'], '</a><br />';
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.032s | speed:19.36 KB/s



To musisz zakończyć pierwszy link '; i dopiero dać wpis który zaproponował Flapjack.

Powinno być tak:

GeSHi -› Code: [select]
// Is this user allowed to modify this member's karma?
            if ($message['member']['karma']['allow'])
                echo '
                                <a href="'
, $scripturl, '?action=modifykarma;sa=applaud;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.' . $context['start'], ';m=', $message['id'], ';sesc=', $context['session_id'], '">', $modSettings['karmaApplaudLabel'], '</a>';
                if ($context['user']['is_admin'])
                    echo '
                                <a href="'
, $scripturl, '?action=modifykarma;sa=smite;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.', $context['start'], ';m=', $message['id'], ';sesc=', $context['session_id'], '">', $modSettings['karmaSmiteLabel'], '</a><br />';
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.033s | speed:20.32 KB/s



Lub jeśli nie zadziała to np. tak:

GeSHi -› Code: [select]
// Is this user allowed to modify this member's karma?
            if ($message['member']['karma']['allow'])
                echo '
                                <a href="'
, $scripturl, '?action=modifykarma;sa=applaud;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.' . $context['start'], ';m=', $message['id'], ';sesc=', $context['session_id'], '">', $modSettings['karmaApplaudLabel'], '</a>';
                if ($context['user']['is_admin'])
                    {
                    echo '
                                <a href="'
, $scripturl, '?action=modifykarma;sa=smite;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.', $context['start'], ';m=', $message['id'], ';sesc=', $context['session_id'], '">', $modSettings['karmaSmiteLabel'], '</a><br />';
                    }
                    else
                        echo '';
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.034s | speed:20.90 KB/s



Można powalczyć jeszcze z klamerkami.. to co powyżej to z głowy, bez testów.. Niestety zniechęca mnie fakt, żeby mieć swój własny przerobiony serverek łącznie z moimi wszystkimi skryptami itd, to muszę przenosić "ręcznie"  za pomocą pendriva.. Ale to zrobię, bo w sumie i tak muszę.. Póki co, to testy mogę przeprowadzać tylko na "żywym ciele"..

Jeśli kod jest ok, a nie działa, to znaczy, że gryzie się z mechanizmem sesji i może to być wcale nie takie proste.. jednak wydaje mi się, że powinno działać.
Pewności nie mam. Sorka Tomeh dopiero co wróciłem z podróży i jeszcze nie zaskoczyłem z moimi bieżącymi sprawami, że nie wspomnę o moich hobby..
Okay?

Pozdrawiam :)
roco

PS. taki tip - stawiaj pytania w taki sposób, żeby nie było wątpliwości o co pytasz, a szybciej/łatwiej uzyskasz odpowiedź.


Tytuł: Odp: Jak zrobić link widoczny tylko dla admina - minus karmy
Wiadomość wysłana przez: flapjack 10.04.2010 23:20:33
Cześć, na SMF.com doszliśmy do pewnych wniosków ale tamta osoba nie jest w stanie pomoc chyba.

mama to jest od karmienia, zmiany pieluch i prowadzenia za rączkę przez życie. na podstawie tego co ci podsunąłem nie trzeba być wirtuozem klawiatury, żeby odpowiednio zmodyfikować *JEDNĄ* linijkę. ale ty wolisz dalej biadolić, bo może kogoś to ruszy i dostaniesz rozwiązanie na tacy


Tytuł: Odp: Jak zrobić link widoczny tylko dla admina - minus karmy
Wiadomość wysłana przez: tomeh 11.04.2010 20:34:08
Ten pierwszy kod jest doby i działa poprawnie. Dzięki ci za pomoc. Dla mnie kody nie są takie oczywiste w stronach więc przepraszam za kłopot i dzięki wam.


Tytuł: Odp: Jak zrobić link widoczny tylko dla admina - minus karmy
Wiadomość wysłana przez: tomeh 21.05.2010 15:56:57
Mam jeszcze pytanie co do tego.

Jak stosuje ten  kod to w wszystkich postach mam dostępną opcje wstawiania karmy ujemnej (nawet swoich). Jak wyłączę karmę całkowicie to nadal pozostaje ten element zmieniania karmy.

Czy da się to jakoś zrobić tak aby nie było tych - w moich postach oraz aby w przypadku wyłączenia karmy także znikała ta możliwość wstawiania ujemnych?

Używam tego moda do Karmy http://custom.simplemachines.org/mods/index.php?mod=192 (http://custom.simplemachines.org/mods/index.php?mod=192) (!Karma Description Mod)

I sprawa 2:

Jak jakiegoś usunę użytkownika z forum to wywala mi błąd takiego typu jak niżej na fotce. Czyli jak w jakimś temacie ktoś napisał jako gość to tyle ile jest postów na stronę gościa tyle błędów w raportach błędów.

Linia 492 to:  
Code: [select]
if ($message['member']['karma']['allow'])


(http://img441.imageshack.us/img441/7853/beztytuukf.png)


.................

Edit: robiłem wiele testów - i wychodzi na to że ma znaczenie położenie tego kodu. Ja go przenosiłem z tego bocznego podsumowania przy poście profilu do miejsca obok zapisanego adresu ip - ale jak to zrobić aby mieć tą karme w innym miejscu i by problem nie wyskakiwał?