Okay, rozumiem..
ja nie miałem do tej pory możliwości przeprowadzenia testów, a wszystko to co tu napisałem, jest oparte o moją wcześniejszą wiedzę i expirients, również przestrogi.. Wiedział to również gościu, od moda, o czym napisałem.. dlatego wybrał tylko wcześniejszą wersję samej kontrolki.
Napisz więcej co nie chodzi? mod się poprawnie zainstalował? masz opcje w profilu, żeby dopisać ID ze steam'a, jest folder "steam" w gł. katalogu forum? - to jeszcze należy ustawić chmod 777 (lub 0777 zależy od klienta ftp), na folder "cache" w katalogu "steam"
Jesli to jest wykonane, a testowe forum nie jest dajmy na to na yoyo.pl i dalej coś nie tak, to napisz objawy.
Ja proponowałem pójście w innym kierunku, skoro Bartosz się upiera.. choć mam nadzieję, że powaznie potraktuje moje słowa.. i przynajmniej będzie uważał.., bo w ten sposób może narazić siebie i swoich friends na utratę konta (hacking/phishing) na steam'ie
- Proponowałem zintegrować moda, tj jego wpisy w plikach z ajaxowym skryptem, => dorzucając katalog "steamprofile" do gł. katalogu forum obok katalogu "steam" i we wpisach modyfikacji w Display.template.php i w Who.template.php - odwołanie się do "steamprofile" zamiast do "steam", oczywiście tam też trzeba ustawić chmod 777 na folder "cache"
W paczce z ajaxowym steamem jest plik example w którym jest wszystko w miarę przejrzyście opisane, to nie jest skomplikowane, ale wymaga nawet ode mnie testów, jak wiesz w takich wypadkach nie lubie dawać niesprawdzonych rzeczy..
Po rozpakowaniu steamprofile_ajax-2.0.2.zip maszw środku folder "steamprofile" i to on powinien się znaleźć na serverze.
W środku znajduja się dwa style, a tu w ramce w moim poście jest ten plik example.html w ustawieniu stylu default,
Ustawia się to w pliku "steamprofile.xml" i przykładowo masz od autora moda 2 style, jest ustawiony styl default:
<steamprofile-config>
<vars>
<!-- The Theme used by SteamProfile. Must be the name of a folder inside the "themes/" folder. -->
<var name="theme">default</var>
<!-- If set to true, the slider menu with icon links will be shown. -->
<var name="slidermenu">true</var>
<!-- If set to true, the banner of the currenty played game will be shown in the badge background. -->
<var name="gamebanner">true</var>
</vars>
<!-- The HTML templates for DOM manipulation. Change only if you know what you're doing. -->
// Created by GeSHi 1.0.8.10 | code: -› [code=XML] | load:0.001s | speed:606.21 KB/s
Poniżej niczego nie ruszaj..
Możesz zmienić default na ten drugi czyli: tf2maps
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<steamprofile-config>
<vars>
<!-- The Theme used by SteamProfile. Must be the name of a folder inside the "themes/" folder. -->
<var name="theme">tf2maps</var>
<!-- If set to true, the slider menu with icon links will be shown. -->
<var name="slidermenu">true</var>
<!-- If set to true, the banner of the currenty played game will be shown in the badge background. -->
<var name="gamebanner">true</var>
</vars>
<!-- The HTML templates for DOM manipulation. Change only if you know what you're doing. -->
// Created by GeSHi 1.0.8.10 | code: -› [code=XML] | load:0.001s | speed:547.02 KB/s
To taka brzydka beżowata i mdła skórka.. i tu można by obrobić layout.. to juz zostawiam..
Co do samego moda, to w tym przypadku, czyli ajax steamprofile, to odwołaniem jest pusty div z ID i klasą, przykład:
<!-- Each <div> with the class "steamprofile" will be automatically extended with the profile for the ID set in "title". The ID can be a Steam-ID, a Steam Community number (Steam-ID 64) or the profile alias. --> <div class="steamprofile" title="76561197965018417"></div> <div class="steamprofile" title="robinwalker"></div> <div class="steamprofile" title="STEAM_0:0:148902"></div> <div class="steamprofile" title="STEAM_0:1:20343018"></div> <div class="steamprofile" title="STEAM_0:1:10903138"></div> <div class="steamprofile" title="STEAM_0:1:16651803"></div> // Created by GeSHi 1.0.8.10 | code: -› [code=HTML] | load:0.004s | speed:151.27 KB/s
ten title musi być dodawany modem, tj. kiedy wpiszesz swoje dane ze steama w swoim profilu.
Tylko że tu są 2 kawałki skryptów w sekcji head. Do testów można je wrzucić direct do sekcji head w pliku index.template.php
Jednak to niezłe obciągwy i nalezy je wg. mnie zastosowac punktowo, czyli tylko i wyłącznie w plikach Who.template.php (ten na razie zostaw..) i w pliku Display.template.php
Te kawałki js to:
<!--
The following tree lines are required for SteamProfile and must be included in <head>
1st line: SteamProfile uses jQuery, so you need to include the framework.
You can also use public URLs, e.g. [url]http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js[/url]
2nd line: The SteamProfile itself, must be included after jQuery
-->
<script type="text/javascript" src="steamprofile/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="steamprofile/steamprofile.js"></script>
</head>
// Created by GeSHi 1.0.8.10 | code: -› [code=Javascript] | load:0.002s | speed:275.23 KB/s
W każdym wypadku zastosuj kompletne linki (absolutne)
I kiedy testy będą ok, to wywal js z pliku index.template.php i daj pod diva ze steamem w Display.template.php
czyli teoretycznie powinno to wyglądać tak:
tzn zamiast:
!empty($message['member']['options']['steam']) ? '<a href="http://www.steamcommunity.com/id/' . $message['member']['options']['steam'] . '" target="_blank"><img border="0" src="./steam/steam.gif" alt="' . $message['member']['options']['steam'] . '" title="'.$message['member']['options']['steam'].'"></a>' : '', // Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.025s | speed:17.18 KB/s
hmm to idzie moim zdaniem w złym miejscu, ale trzeba trzymać fason i nie robić wszystkiego na raz, bo wyjdzie groch z kapustą i nie będzie widać przyczyny..
ale ok, po prostu z głowy nie pamiętam gdzie to sie kończy, ale jak sądzę to idzie na lewą stronę gdzie avatar i dane usera, zaraz po komunikatorach
okay ! już wiem, to jest sama kontrolka, tak jak przy komunikatorach..
Wiem jak to zrobić..
Zainstaluj moda na testowym on-line, nadaj chmod 777 na folder "cache" w katalogu "steam" (ten od moda), oczywiście należy spolszczyć, lub dopisac po angielsku do piku Modyfication.polish.php w katalogu Language to:
$txt['steam'] = 'Steam';
$txt['steam_username'] = 'Your Steam Commuity URL <i>[url]http://steamcommunity.com/id/[/url]<b>name</b></i>';
$txt['steam_error_noxml'] = 'SimpleXML is not avaiable!<br />This could be because of incorrect PHP version (5 or above).';
$txt['steam_error_unset_id'] = 'User has not been set!';
$txt['steam_error_invaliduser'] = 'That user does not seem to exist!';
// End of mod Stem
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.027s | speed:17.68 KB/s
- Następnie skopiuj z paczki ajxowej cały katalog "streamprofile" (tylko ten cały katalog, który jest w środku paczki)
- Nadaj na holder "cache" chmod 777
<reklama lub przerwa na szukanie czystego pliku Display..templ..>
ok mam!
W pliku Display.template dopiszemy kawałek kodu, pomiędzy sydnaturą a samym postem, czyli będzie pod postem, jesli będzie ok, to umiejscowic to w dowolnym miejscu, to 5 minut pracy..
Jednak tu uwaga!
Gościu zastosował najnowsze framwerki i jeśli ma zadziałać to na hostingu musi być możliwość php5, jesli jest to ok, tylko jeszcze trzeba to wł. za pomocą .htaccess, ale to jak nie zadziała. należy to jednak sprawdzić w PA >> drugi link po lewej od góry --> "O SMF..." tam bedzie wersja php
Mod ma jeszcze inne wymagania, tj potrzebyje wł. na hostingu biblioteki cURL, orad biblioteki GD min v2.0
Ale potestować możesz ..
i końcowa kwestia.. należy dodać ten banerek z opcjami. pisze to tylko na podstawie czystego pliku Display.template php ze stylu default..
Znajdź to miejsce (około linii ~443 tam gdzie:
// Now for the attachments, signature, ip logged, etc...Czyli:
// Now for the attachments, signature, ip logged, etc... echo '
<tr
> <td valign
="bottom" class="smalltext" width
="85%"> <table width
="100%" border
="0" style
="table-layout: fixed;"><tr
> <td colspan
="2" class="smalltext" width
="100%">';
// Assuming there are attachments... if (!empty($message['attachment'])) // Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.031s | speed:11.38 KB/s
to przed // Assuming there are attachments... wstawię mój kawałek wywołania buttona steamprofile łącznie z javascript, oczywiście w założeniu, że katalog "steamprofile znajduje się w gł. katalogu forum...
// Now for the attachments, signature, ip logged, etc... echo '
<tr
> <td valign
="bottom" class="smalltext" width
="85%"> <table width
="100%" border
="0" style
="table-layout: fixed;"><tr
> <td colspan
="2" class="smalltext" width
="100%">';
// SteamProfile by roco if (!empty($message['member']['options']['steam']))
{ echo
'
<script type
="text/javascript" src
="./steamprofile/jquery-1.3.2.min.js"></script> <script type
="text/javascript" src
="./steamprofile/steamprofile.js"></script> <div
class="steamprofile" title
="' . $message['member']['options']['steam'] . '"></div
> ';
} // Assuming there are attachments... if (!empty($message['attachment'])) // Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.033s | speed:23.38 KB/s
To powinno być ok. w sumie dziecinada, mówiłem o tym wyżej, że integra to zabawa w html'owe słupki.. moda też można z tego zrobić..
Jednak mod ajaxowy stawia warunki, które w przypadku nie spełnienia uniemozliwią wyświetlenie tego moda ajaxowego w ogóle..
Cieplutki, poradzisz sobie? jestem pewien tego co napisałem bez przeprowadzania testów, ale obiecuję to przetestować..
Możesz to:
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.030s | speed:745 B/s
Zapisać jako info.php, wrzucić do katalogu "steamprofile" i wywołać w przeglądarce, zobaczysz co jest powłącane w php itd..
W pliku .htaccess możesz dać tak:
AddHandler application/x-httpd-php5 .php .inc
Action application/x-httpd-php5 "/php/php"
// Created by GeSHi 1.0.8.10 | code: -› [code=Apache configuration] | load:0.004s | speed:20.24 KB/s
I wrzucić ten plik .htaccess do katalogu "steamprofile" możesz jeszcze dopisac jak nie zadziała:
- wytnij drugą linię
- ew. dopisz kawałek, żeby było tak:
AddHandler application/x-httpd-php5 .php .inc
Action application/x-httpd-php5 "/php/php"
RewriteEngine on
RewriteRule ^id/(. )/?$ steamprofile.php?id=$1 [L]
// Created by GeSHi 1.0.8.10 | code: -› [code=Apache configuration] | load:0.004s | speed:36.77 KB/s
Cieplutki, wszystko rób po kolei, robisz jedno, sprawdzasz, dopiero drugie, ok?
Dobra bedzie chwila to sprawdzę to sam, jednak jestem pewien, że kod do pliku Display.template.php i sposób podałem prawidłowy, jest to wynik logicznego myślenie, a nie przeprowadzonych testów, więc wszystko mozliwe, okay?
Pozdrówka
roco