Polska Pomoc Simple Machines Forum - www.smf.pl

SMF 1.1.x Support => Modyfikacje => Tips & Tricks => Wątek zaczęty przez: vrrs w 15 Styczeń 2008, 15:58

Tytuł: Awatar Zalogowanego Użytkownika przez SSI
Wiadomość wysłana przez: vrrs w 15 Styczeń 2008, 15:58
Dzięki tej modyfikacji będziemy mogli dodać Awatar zalogowanego usera na naszej stronie przez SSI.
Warunek Działania:
Strona musi być na tym samym serwerze co forum(aby usunąć ten wymóg trzeba trochę przerobić kod)
Na forum musi być zainstalowany dodatek który ustawia domyślny awatar.W przeciwnym razie będzie to źle wylądało gdy użytkownik jest wylogowany.

Plik /SSI.php:

Znajdź:
// Display a welcome message, like:  Hey, User, you have 0 messages, 0 are new.
function ssi_welcome($output_method = 'echo')
{
global $context, $txt, $scripturl;

if ($output_method == 'echo')
{
if ($context['user']['is_guest'])
echo $txt['welcome_guest'];
else
echo $txt['hello_member'], ' <b>', $context['user']['name'], '</b>', allowedTo('pm_read') ? ', ' . $txt[152] . ' <a href="' . $scripturl . '?action=pm">' . $context['user']['messages'] . ' ' . ($context['user']['messages'] == '1' ? $txt[471] : $txt[153]) . '</a>' . $txt['newmessages4'] . ' ' . $context['user']['unread_messages'] . ' ' . ($context['user']['unread_messages'] == '1' ? $txt['newmessages0'] : $txt['newmessages1']) : '', '.';
}
// Don't echo... then do what?!
else
return $context['user'];
}

Dodaj Pod:

// Current User Avatar
function ssi_useravatar($output_method = 'echo')
{
global $context, $txt, $scripturl;

if ($output_method == 'echo')
{
if ($context['user'])
echo $context['user']['avatar']['href'];
}
// Don't echo... then do what?!
else
return $context['user'];
}
 


Plik Strony(przykładowo index.php):

Na początku obowiązkowo:
<?php require("SSI.php"); ?>
Tam gdzie chcesz aby wyświetlał się awatar:
<img src=" <?php ssi_userAvatar() ; ?> " />

U mnie działa.Jest to moja pierwsza modyfikacja takiego typu.
Tytuł: Odp: Awatar Zalogowanego Użytkownika przez SSI
Wiadomość wysłana przez: lolek2 w 15 Styczeń 2008, 19:53
A co się wyświetli jeśli użytkownik nie jest zalogowany ?
Tytuł: Odp: Awatar Zalogowanego Użytkownika przez SSI
Wiadomość wysłana przez: vrrs w 15 Styczeń 2008, 21:06
Musze jeszcze pokombinować bo jak nie jest zalogowany to się wyświetli obrazek bez obrazka że tak powiem, tu mozna zobaczyć:
http://studiogfxforum.yoyo.pl/aaa.php
Może że jest zainstalowany defaultowy avatar to wtedy on sie wyświetla.
Tytuł: Odp: Awatar Zalogowanego Użytkownika przez SSI
Wiadomość wysłana przez: roco w 15 Styczeń 2008, 21:15
Witam! :)

Piekny kodzik nie wiem czy kiedy skorzystam, ale warto wiedzieć, że tu jest kod pozwalający za pomocą ssi wyświetlać Avatar usera THX Man! :D
Jak dobrze rozumiem.., to ma sens, kiedy np. na stronce ..obok forum, mamy stronkę i np. jakiś komentarz, lub jakiś post, wpis.., czy cokolwiek.., - usera z naszego forum.., i kiedy jest on zalogowany na forum, to wyświetla się jego Avatar, w przeciwnym razie wyświetla się defaultowy..,

Czy też.. umieścimy na stronce ..obok forum:

<img src=" <?php ssi_userAvatar() ; ?> " />
np. zrobimy tabelkę, albo nieważne.. taką jakby tablica userów.., albo jedno pod drugim np. kilka razy i kiedy jest zalogowany ktoś, to na tej naszej stronie pojawi się Avater koleżki, i rozumiem, że mamy więcej takich wpisów i avatary będą się pojawiać w kolejności, w jakiej zalogowali sie userzy.. Czy też mamy np. jedno takie miejsce i każdy będzie, o ile sie zaloguje.., widział tylko swój Avatar..?

hehe poprostu wyjaśnij możliwe typy zastosowań, please :)

@Lolek, odpowiedź na Twoje pytanie, znajdziesz post wyżej, ..zaczyna się od 4 zdania.., patrząc od góry. ;)


Pozdrawiam i dzięki za Twój trud, oczywiście, jak coś znowu fajnego wykombinujesz, to nie zapomnij się z nami podzielić i nas ..oświecić! :)

roco

hmm napisałem nie wiedząc, że znowu napisałeś.., nie pekaj napewno Ci wyjdzie.., ale prosze żebyś się odniusł do mojej wypowiedzi.., raczej pytań..
Tytuł: Odp: Awatar Zalogowanego Użytkownika przez SSI
Wiadomość wysłana przez: vrrs w 15 Styczeń 2008, 21:19
Mozna sie pobawic w rozbudowanie tego kody. Narazie dziła tak:
Gdy ty jesteś zalogowany na forum to na stronie głównej wyświetla twój awatar, gdy ja to wtedy mój , a gdy jest gość albo użytkownik bez avatara to wtedy wyświetla defaultowy.
Tytuł: Odp: Awatar Zalogowanego Użytkownika przez SSI
Wiadomość wysłana przez: roco w 15 Styczeń 2008, 21:22
no pięknie, a jeśli jest tam parę userów? to co? - każdy widzi tylko swój?
Swoją drogą ciekawy byłby pomysł na stronke z avatarami userów, tj. kiedy wyświetlamy listę userów, żeby były przy nich avatary, żeby np. łatwiej się zorientować kto jest kto, ale moze też po to, zeby userzy nie dublowali sobie avków..

edit..
nie załapalem na wstępie.. ok, ale czy nie jest tak, że na forum, które np. jest stroną gł. kiedy się zalogujesz to widzisz tak czy tak swój avatar?

I może fajnie by było korzystając z ssi i who is online żeby wyświetlić nie dla siebie, tylko tych wszystkich którzy właśnie są on-line.. taki tips..
Tytuł: Odp: Awatar Zalogowanego Użytkownika przez SSI
Wiadomość wysłana przez: lolek2 w 15 Styczeń 2008, 21:43
właśnie o to mi roco chodziło w moim pytaniu że ta funkcja wyświetla tylko Twój własny avatar ponieważ odwołujemy się do zmiennej $context. A jeśli chodzi o funckję who is online z avatarami to nie powinno być takie trudne , ale teraz tego nie zrobię niestety sesja za blisko
Tytuł: Odp: Awatar Zalogowanego Użytkownika przez SSI
Wiadomość wysłana przez: roco w 15 Styczeń 2008, 21:51
Ogólnie loozik :)

Chodzi o to, że sam mam masę pomysłów, ale z php jeszcze cieniutko.. choć naprawde jestem Webmasterem z papierkiem..
Nie mam żadnych problemów z instalkami i modyfikacjami, sam też napisałem jakieś tam listerki i inne duprshwanze,
ale głównie to pisze template np. do joomli, kiedys machnę do SMF, ale żeby działało z TinyPortal bo to jest my way..

Może kiedy wykombinowalibyśmy topa z pomysłami do realizacji i jakoś wspólnymi siłami byśmy co zdziałali..
mi brakuje multum zabawek do forum.., nie żebym miał ochotę przesadzać, z smf to trochę jak FireFoxem
- jest zarąbisty, ale żeby był naprawde i jeszcze developerski, to trzeba mu dokooptować modyfikacji..

ale jak pewnie wiekszośc z was jestem gadżetomanem...

r.
Tytuł: Odp: Awatar Zalogowanego Użytkownika przez SSI
Wiadomość wysłana przez: vrrs w 16 Styczeń 2008, 08:27
no pięknie, a jeśli jest tam parę userów? to co? - każdy widzi tylko swój?
Każdy widzi swój.Przynajmniej mam taka nadzieję :D
Tytuł: Odp: Awatar Zalogowanego Użytkownika przez SSI
Wiadomość wysłana przez: roco w 17 Styczeń 2008, 10:18
Witam! :)

Trafiłem przypadkiem, ciekawego mini moda..
Otóż, dodaje on do listy userów, (member list), ich Avatary, i można ..odptaszyć jesli się nie chce ich widzieć przy danym nicku..

Pomyslałem, ze może podejrzysz konstrukcje i moze co się stamtąd nada..?

http://custom.simplemachines.org/mods/index.php?mod=775


Pozdrawiam :)
roco
Tytuł: Odp: Awatar Zalogowanego Użytkownika przez SSI
Wiadomość wysłana przez: vrrs w 17 Styczeń 2008, 12:33
Dzięki!
Jutro jeszcze pokombinuję.
Tytuł: Odp: Awatar Zalogowanego Użytkownika przez SSI
Wiadomość wysłana przez: jareQ w 17 Styczeń 2008, 14:42
Fajna modyfikacja :)
Ale mam problem z jej dodaniem do php-fusion :/

Może ktoś się orientuje gdzie i jak należy umieścić: <?php require('forum/SSI.php'); ?> oraz w jaki sposub należy umieszczać <img src=' <?php ssi_userAvatar() ; ?> ' /> bo ten sposób nie działa wewnątrz <?php ... ?> wiem, że trzeba to zrobić za pomocą echo"" ale nie wiem dokładnie jak.

Byłbym wdzięczny za jakieś info.
Tytuł: Odp: Awatar Zalogowanego Użytkownika przez SSI
Wiadomość wysłana przez: flapjack w 31 Październik 2008, 19:04
właśnie o to mi roco chodziło w moim pytaniu że ta funkcja wyświetla tylko Twój własny avatar ponieważ odwołujemy się do zmiennej $context. A jeśli chodzi o funckję who is online z avatarami to nie powinno być takie trudne , ale teraz tego nie zrobię niestety sesja za blisko

jakiś update? przydałoby mi się wyciągnięcie avatarów zalogowanych użytkowników

pzdr