Witam!

Przyci?ni?ty kolanem przez Cieplutkiego, postanowi?em napisa? taki mini tutorial, - o tym jak zintegrowa? skrypt SteamProfile ze skryptem SMF
- (na razie w wersji 1.1.10).
To wersja robocza, poniewa? planuj? utworzenie kompletnej modyfikacji. Tutek potrzebny, poniewa? du?o si? dzia?o w tym topie i pewne kwestie mog?y umkn??..
Okay, wi?c do dzie?a! Ale najpierw skompletujmy zabawki..
Pobieramy skrypt StreamProfile st?d:
http://code.google.com/p/steamprofile/B?dzie to wersja aktualnie wersja:
steamprofile_ajax-2.0.2.zipRozpakowujemy i w ?rodku znajduje si? katalog "steamprofile". Ca?y ten katalog kopiujemy do g?. katalogu naszego forum.
np. nasze forum mamy w domenie -
domena.com w katalodu
forum, czyli adres by?by taki -->
http://domena.com/forum to po wrzuceniu tam katalogu "steamprofile" b?dzie on mia? taki adres: -->
http://domena.com/forum/steamprofileTo oczywi?cie tylko przyk?ad, ka?dy ma w?asn? domen?, a przyk?ad ma zobrazowa? ew. linki w tutorialu....
Zajmiemy si? integracj? skryptu SteamProfile z naszym forum na skrypcie SMF, na pocz?tek bazuj?c na instalacji tego moda "seam" z smf.org.
Dlatego, ?e g?. poruszamy si? w tym topie po takiej mo?liwo?ci.
Sam mod instaluje pseudo kontrolk? do steama, ale tak napraw? dodaje tylko mini graficzk?, gdzie po klikni?ciu ??czymy si? z profilem usera na steamie.. ot bzdet..
Jednak ten mod dodaje w profilu pole, do którego mo?emy dopisa? nasze ID ze steama i my ten fakt wykorzystamy po to, ?eby obie modyfikacje odnosi?y si? do tego samego wpisu z ID ze steama.
Je?li, wi?c, zainstalowali?my moda, to nic wi?cej nie robimy, (zak?adam, ?e wpisy j?zykowe s? uzupe?nione), w innych plikach tylko skupimy si? na pliku Display.template.php, poniewa? naszym zamiarem jest doprowadzi? do tego, ?eby wpisywane ID ze steama wy?wietla?y banerki ze steama w postach.
Ja umiejscowi?em wpisy od steama w dzivie z klas? post, czyli w samych postach, na górze po prawej (to mo?e by? dowolna lokalizacja)
Poka?? to na stylu default i interesuj?cym nas pliku Display.template.php,
oczywi?cie to ?aden problem powtórzy? t? operacj? dla wszystkich styli, jakie mamy zainstalowane.
Plik:
Display.template.phpZnajdujemy w kodzie na samym pocz?tku m/w ten kawa?ek:
function template_main
(){ global $context, $settings, $options, $txt, $scripturl, $modSettings; // Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.037s | speed:2.57 KB/s
Dodamy na ko?cu przed ?rednikiem ; $boardurl, ?eby pó?niej ?atwo odnie?? si? do samego skryptu.
Zamieniamy powy?szy kod na ten:
function template_main
(){ global $context, $settings, $options, $txt, $scripturl, $modSettings, $boardurl; // Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.014s | speed:7.55 KB/s
Teraz przenie?my si? w kodzie do diva z klas? "post" do którego wrzuc? zabawk? ze steamprofile
Znajd? w kodzie ten kawa?ek: (oko?o linii ~430 na oryginalnym pliku)
// Show the post itself, finally! echo '
</td
> </tr
></table
> <hr width
="100%" size
="1" class="hrcolor" /> <div
class="post"', $message['can_modify'] ? ' id="msg_' . $message['id'] . '"' : '', '>', $message['body'], '</div>', $message['can_modify'] ? '
<img src
="' . $settings['images_url'] . '/icons/modify_inline.gif" alt
="" align
="right" id
="modify_button_' . $message['id'] . '" style
="cursor: pointer; display: none;" onclick
="modify_msg('' . $message['id'] . '', '' . $context['session_id'] . '')" />' : '' , '
</td
> </tr
>';
// Now for the attachments, signature, ip logged, etc... // Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.016s | speed:49.46 KB/s
Trzeba zaznaczy? u siebie dok?adnie ca?y ten kawa?ek i zamieni? na ten:
// Show the post itself, finally! echo '
</td
> </tr
></table
> <hr width
="100%" size
="1" class="hrcolor" /> <div
class="post"', $message['can_modify'] ? ' id="msg_' . $message['id'] . '"' : '', '>';
// SteamProfile by roco if (!empty($message['member']['options']['steam']))
{ echo
'
<script type
="text/javascript" src
="' ,$boardurl , '/steamprofile/jquery-1.3.2.min.js"></script> <script type
="text/javascript" src
="' ,$boardurl , '/steamprofile/steamprofile.js"></script> <div
class="steamprofile" title
="' . $message['member']['options']['steam'] . '" style
="float:right; margin-top:0; margin-right:0; width:250px;"></div
> '; flush();
} echo '
', $message['body'], '</div>', $message['can_modify'] ? '
<img src
="' . $settings['images_url'] . '/icons/modify_inline.gif" alt
="" align
="right" id
="modify_button_' . $message['id'] . '" style
="cursor: pointer; display: none;" onclick
="modify_msg('' . $message['id'] . '', '' . $context['session_id'] . '')" />' : '' , '
</td
> </tr
>';
// Now for the attachments, signature, ip logged, etc... // Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.020s | speed:69.69 KB/s
Celowo poda?em wi?cej kodu, ?eby ?atwo si? zorientowa? gdzie to miejsce..
W sumie to mamy ju? z g?owy, je?li wcze?niej zainstalowali?my moda.
Informacje dodatkowe..
Skrypt wymaga, ?eby w katalogu "steamprofile" na folderze "cache" by?y ustawione chmody na 777 (lub w zale?no?ci od klienta ftp - 0777) Ten folder musi byc zapisywalny, poniewa? b?d? gromadzi? si? w nim cachowane dane ze steama.
Zdarza si?, ?e na hostingach mamy do wyboru php5 i php4, najlepiej to mo?na sprawdzi? wy?wietlaj?c info o php jakie mamy w??czone na naszym hostingu.
Robi si? to w ten sposób. Tworzymy plik
info.php z tak? zawarto?ci?:
<?php
phpinfo();
?>
I jako info.php wrzucamy do katalogu steamprofile, nast?pnie wpisujemy adres tego pliku w przegl?darce -->
http://domena.com/forum/steamprofile/info.phpWtedy zobaczymy ustawienia naszego php. Mo?e si? okaza? ?e nie ma ani w??czonego cURL ani biblioteki GD 2.0, ani to nie jest php5
Je?li na hostingu s? obie wersje to w??czymy php5 za pomoc? pliku .htaccess. php5 ma jednak wi?cej mo?liwo?ci, ju? nie wspomn?, ?e SMF zdecydowanie bardziej stabilnie pracuje na wersji 5.
Poni?ej podaje zawarto?? pliku
.htaccess (w tym topie jest za??cznik z tym plikiem)
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.003s | speed:54.41 KB/s
Je?li co? nie dzia?a to wy??czamy drug? lini? "kratk?" -->
# stawiaj?c j? na pocz?tku wiersza, je?li dalej ?le to wy??czamy w ten sposób pierwsz? lini?.
Pozosta?a zawarto?? powinna pozosta?, poniewa? pomaga w komunikacji z serwerem steama ect
Okay, to chwilowo tyle, mam nadziej?, ?e w miar? przejrzy?cie. tyle, poniewa? to jeszcze nie koniec, modyfikacja jest w fazie testów i by? mo?e powstanie z niej mod do obu wersji SMF.
Pozdrawiam

roco
PS. Oczywi?cie, je?li dalej jest co? nie jasne, to nale?y bez obciachu pyta?.