Simple Machines Community Forum

SMF Support => Bosanski/Hrvatski/Srpski (Bosnian/Croatian/Serbian) => Language Specific Support => FAQ i Vodiči (Tutorials) => Topic started by: Dzonny on December 30, 2009, 06:03:22 AM

Title: Ručno instaliranje modova
Post by: Dzonny on December 30, 2009, 06:03:22 AM
:: Ručno instaliranje modova ::

Evo teme u kojoj ću detaljnije objasniti ručnu instalaciju modova na smf forumu.

Za primer ćemo uzeti Ajax Chat Integration (http://custom.simplemachines.org/mods/index.php?mod=1319) modul, koji je trenutno jedan od top 5 modova na smfu.

Da bi ručno instalirali mod najpre je potrebno videti source, tj videti kodove koji čine mod, i koje je potrebno uneti u fajlove smf skripte.
To ćemo postići klikom na "parse", kao što je prikazano na slici. Pre klika odaberite verziju vašeg foruma (i verziju modula ukoliko ih ima više. Uvek izaberite poslednju verziju modula)

(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fi48.tinypic.com%2Foqf5o3.png&hash=7c84e8575281eb53e3c90e9a2f4cf508)

Klikom na parse, dobijamo stranicu sa pregledom Readme fajla, kompletnog upustva za editovanje/menjanje dodavanje kodova, kao i izmene na bazi podataka, jezičkih stringova i uploada novih fajlova.

Prvi korak
Pročitajte readme odeljak.
(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fi50.tinypic.com%2Fnqdys5.png&hash=dbd8dcf0669780efc1f85e1edcb1d425)

Readme sadrži podatke o samom modulu i njegovom funkcionisanju, načinu aktiviranja modula, i eventualne napomene, moguće probleme i slično.
Napomena: Ukoliko u readme fajlu ne pronadjete neophodne podatke, uvek možete pregledati support topic datog moda, i eventualno postaviti pitanje ili komentar.

Drugi korak
Ovo je ujedno i najvažniji korak i potrebno je posebno obratiti pažnju na njega.
Evo kako izgleda upustvo:
(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fi49.tinypic.com%2Fkccewn.png&hash=84f84fc9ba0e014a3987e3818c418f9e)

Dakle, kao što se vidi na slici, najpre je potrebno editovati fajl BoardIndex.php, koji se nalazi u direktorijumu Sources. Fajl preuzmite preko nekog ftp klijenta (http://www.google.com/#hl=en&source=hp&q=ftp+client&aq=0&aqi=g10&oq=ftp+clie&fp=cbc2f75bf9d43a8f), i obavezno sačuvajte originalan fajl, tj napravite backup pre bilo kakvih izmena na fajlu.

Fajl otvorite u nekom tekst editoru. Preporučujem Notepad++ (http://www.google.com/#hl=en&q=Notepad%2B%2B&aq=f&aqi=g10&oq=&fp=cbc2f75bf9d43a8f), ne preporučujem ("obični") notepad iz više razloga.

Ono što nam je rečeno jeste to da je potrebno naći sledeći kod:
Code: [Select]
// Track most online statistics?
if (!empty($modSettings['trackStats']))
I pre njega dodati sledeći kod:
Code: [Select]
$context['num_users_online'] = count($context['users_online']) + $context['num_users_hidden'];

//users in chat
if (!WIRELESS){
$userIDs = chatOnlineUsers();
$context['chat_links'] = array();
if (count($userIDs) > 0){
$query = "SELECT mem.ID_MEMBER, mem.realName, mem.ID_GROUP, mg.onlineColor, mg.ID_GROUP
FROM {$db_prefix}members AS mem
LEFT JOIN {$db_prefix}membergroups AS mg ON
(mg.ID_GROUP = IF(mem.ID_GROUP = 0, mem.ID_POST_GROUP, mem.ID_GROUP))WHERE ";
foreach ($userIDs as $ID)
$query .= 'ID_MEMBER = '. $ID . ' OR ';
//remove the last OR
$query = substr($query, 0, strlen($query)-3);

$result = db_query($query, __FILE__, __LINE__);
while ($row = mysql_fetch_assoc($result))
{
$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'];
if($row['onlineColor'] != ""){
$link.= '" style="color: ' . $row['onlineColor'];
}
$link.= '">' . $row['realName'] . '</a>';
    array_push($context['chat_links'], $link);
}
mysql_free_result($result);
}
//set the flag true for home page
$context['chat_isHome'] = true;
}


Pošto ste izvršili izmene, sačuvajte fajl, i krenite na sledeći.
Bitno je napomenuti da ne uploadujete fajlove jedan po jedan na server, već da najpre izmenite sve fajlove koji su potrebni pa ih onda sve ubacite na date putanje. Ovo je bitno jer delimično instaliran mod može uzrokovati prekid u funkcionisanju softvera, pa korisnici neće moći da pristupe forumu.

U daljem pregledu stranice parse, vidimo nastavak upustva za edit koda, u sledećem fajlu.
U pitanju je ovaj put, fajl Load.php, koji se takodje nalazi u Sources direktorijumu.
Izmene se vrše isto kao i kod prvog fajla, s tim što kod ovog fajla ima 3 izmene u kodu, kao što se vidi na slici.

(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fi50.tinypic.com%2Fhtxvsx.png&hash=10494399d04a5d6d78a8fd8169ea373e)

Pošto se fajl editovali, sačuvajte ga.

Ostali fajlovi se edituju kao i prva dva, potrebno je samo pratiti upustva na parse strani.
Za one koji se ne snalaze sa engleskim, da pojasnimo potrebne pojmove:
Find - Naći ( koristite opciju find u text editoru)
Find (at the end of the file) - Ista opcija, sa napomenom da je kod pozicioniran na kraju datog fajla.
Add Before - Dodati pre, kazuje da kod treba dodati pre koda koji se traži.
Add After - Dodati posle, kazuje da kod treba dodati posle koda koji se traži.
Replace - Zameniti, kazuje da kod treba zameniti sa kodom koji se traži.

Pri kraju file edits odeljka, nalaze se uglavnom jezički stringovi modula.
U nekim modulima postoje i stringovi za više jezika, kao u našem slučaju. Ukoliko dati jezik ne koristite, samo preskočite tu izmenu.

(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fi49.tinypic.com%2F66ga6a.png&hash=91c5d1f09673244855db916d7fe37918)

Engleski jezik obavezno ubacite bez obzira da li ga koristite kao default ili ne.
Ono što je problem, jeste ako koristite srpski/hrvatski jezik, a stringova za te jezike nema.
U tom slučaju možete uzeti engleske stringove i prevesti ih, pa ubaciti u vaš jezik (modification.serbian.php...) ili ih ubaciti bez izmena. Stringovi moraju postojati da bi mod radio kako treba.

Treći korak

(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fi50.tinypic.com%2Fruogzt.png&hash=2bfaa1ed99992b17998b61fbcb7c7162)

Došli smo do izmena u bazi podataka. U ovom slučaju imamo napomenu da fajl Tables_1.1.X.php treba uploadovati u root foruma, i pokrenuti ga kako bi bile izvršene izmenene na bazi podataka. Fajl ćete pronaći u instalacionom paketu koji možete preuzeti sa linka modula: http://custom.simplemachines.org/mods/index.php?mod=1319

Četvrti korak
...i poslednji korak. Govori nam o putanji na koju trebamo uploadovati odredjene fajlove. (iz instalacionog paketa)

(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fi50.tinypic.com%2Fj6sh38.png&hash=359ba4f7de412c15ea29f241c5bb55bb)

Quote
Move the included file "Shout.template.php" to "./Themes/default".
Znači da fajl Shout.template.php treba uploadovati u /Themes/default/ direktorijum.
Quote
Move the included directory "chat" to "the root directory".
Znači da ceo folder chat, treba uploadovati u root direktorijum foruma.


Napomena:

Sva pitanja vezana za instalaciju modula možete postaviti u ovoj temi. (iako mislim da je do detalja objašnjeno sve)
Title: Re: Ručno instaliranje modova
Post by: [̲̅J̲̅][̲̅U̲̅][̲̅R̲̅][̲̅E̲̅][̲̅K̲̅] ٩(×̯×)۶ on December 30, 2009, 05:55:51 PM
Svaka cast dzonny :) car si...
Title: Re: Ručno instaliranje modova
Post by: Zoric on December 30, 2009, 06:15:59 PM
:: Ručno instaliranje modova ::

Evo teme u kojoj ću detaljnije objasniti ručnu instalaciju modova na smf forumu.

Za primer ćemo uzeti Ajax Chat Integration (http://custom.simplemachines.org/mods/index.php?mod=1319) modul, koji je trenutno jedan od top 5 modova na smfu.

Da bi ručno instalirali mod najpre je potrebno videti source, tj videti kodove koji čine mod, i koje je potrebno uneti u fajlove smf skripte.
To ćemo postići klikom na "parse", kao što je prikazano na slici. Pre klika odaberite verziju vašeg foruma (i verziju modula ukoliko ih ima više. Uvek izaberite poslednju verziju modula)

(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fi48.tinypic.com%2Foqf5o3.png&hash=7c84e8575281eb53e3c90e9a2f4cf508)

Klikom na parse, dobijamo stranicu sa pregledom Readme fajla, kompletnog upustva za editovanje/menjanje dodavanje kodova, kao i izmene na bazi podataka, jezičkih stringova i uploada novih fajlova.

Prvi korak
Pročitajte readme odeljak.
(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fi50.tinypic.com%2Fnqdys5.png&hash=dbd8dcf0669780efc1f85e1edcb1d425)

Readme sadrži podatke o samom modulu i njegovom funkcionisanju, načinu aktiviranja modula, i eventualne napomene, moguće probleme i slično.
Napomena: Ukoliko u readme fajlu ne pronadjete neophodne podatke, uvek možete pregledati support topic datog moda, i eventualno postaviti pitanje ili komentar.

Drugi korak
Ovo je ujedno i najvažniji korak i potrebno je posebno obratiti pažnju na njega.
Evo kako izgleda upustvo:
(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fi49.tinypic.com%2Fkccewn.png&hash=84f84fc9ba0e014a3987e3818c418f9e)

Dakle, kao što se vidi na slici, najpre je potrebno editovati fajl BoardIndex.php, koji se nalazi u direktorijumu Sources. Fajl preuzmite preko nekog ftp klijenta (http://www.google.com/#hl=en&source=hp&q=ftp+client&aq=0&aqi=g10&oq=ftp+clie&fp=cbc2f75bf9d43a8f), i obavezno sačuvajte originalan fajl, tj napravite backup pre bilo kakvih izmena na fajlu.

Fajl otvorite u nekom tekst editoru. Preporučujem Notepad++ (http://www.google.com/#hl=en&q=Notepad%2B%2B&aq=f&aqi=g10&oq=&fp=cbc2f75bf9d43a8f), ne preporučujem ("obični") notepad iz više razloga.

Ono što nam je rečeno jeste to da je potrebno naći sledeći kod:
Code: [Select]
// Track most online statistics?
if (!empty($modSettings['trackStats']))
I pre njega dodati sledeći kod:
Code: [Select]
$context['num_users_online'] = count($context['users_online']) + $context['num_users_hidden'];

//users in chat
if (!WIRELESS){
$userIDs = chatOnlineUsers();
$context['chat_links'] = array();
if (count($userIDs) > 0){
$query = "SELECT mem.ID_MEMBER, mem.realName, mem.ID_GROUP, mg.onlineColor, mg.ID_GROUP
FROM {$db_prefix}members AS mem
LEFT JOIN {$db_prefix}membergroups AS mg ON
(mg.ID_GROUP = IF(mem.ID_GROUP = 0, mem.ID_POST_GROUP, mem.ID_GROUP))WHERE ";
foreach ($userIDs as $ID)
$query .= 'ID_MEMBER = '. $ID . ' OR ';
//remove the last OR
$query = substr($query, 0, strlen($query)-3);

$result = db_query($query, __FILE__, __LINE__);
while ($row = mysql_fetch_assoc($result))
{
$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'];
if($row['onlineColor'] != ""){
$link.= '" style="color: ' . $row['onlineColor'];
}
$link.= '">' . $row['realName'] . '</a>';
    array_push($context['chat_links'], $link);
}
mysql_free_result($result);
}
//set the flag true for home page
$context['chat_isHome'] = true;
}


Pošto ste izvršili izmene, sačuvajte fajl, i krenite na sledeći.
Bitno je napomenuti da ne uploadujete fajlove jedan po jedan na server, već da najpre izmenite sve fajlove koji su potrebni pa ih onda sve ubacite na date putanje. Ovo je bitno jer delimično instaliran mod može uzrokovati prekid u funkcionisanju softvera, pa korisnici neće moći da pristupe forumu.

U daljem pregledu stranice parse, vidimo nastavak upustva za edit koda, u sledećem fajlu.
U pitanju je ovaj put, fajl Load.php, koji se takodje nalazi u Sources direktorijumu.
Izmene se vrše isto kao i kod prvog fajla, s tim što kod ovog fajla ima 3 izmene u kodu, kao što se vidi na slici.

(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fi50.tinypic.com%2Fhtxvsx.png&hash=10494399d04a5d6d78a8fd8169ea373e)

Pošto se fajl editovali, sačuvajte ga.

Ostali fajlovi se edituju kao i prva dva, potrebno je samo pratiti upustva na parse strani.
Za one koji se ne snalaze sa engleskim, da pojasnimo potrebne pojmove:
Find - Naći ( koristite opciju find u text editoru)
Find (at the end of the file) - Ista opcija, sa napomenom da je kod pozicioniran na kraju datog fajla.
Add Before - Dodati pre, kazuje da kod treba dodati pre koda koji se traži.
Add After - Dodati posle, kazuje da kod treba dodati posle koda koji se traži.
Replace - Zameniti, kazuje da kod treba zameniti sa kodom koji se traži.

Pri kraju file edits odeljka, nalaze se uglavnom jezički stringovi modula.
U nekim modulima postoje i stringovi za više jezika, kao u našem slučaju. Ukoliko dati jezik ne koristite, samo preskočite tu izmenu.

(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fi49.tinypic.com%2F66ga6a.png&hash=91c5d1f09673244855db916d7fe37918)

Engleski jezik obavezno ubacite bez obzira da li ga koristite kao default ili ne.
Ono što je problem, jeste ako koristite srpski/hrvatski jezik, a stringova za te jezike nema.
U tom slučaju možete uzeti engleske stringove i prevesti ih, pa ubaciti u vaš jezik (modification.serbian.php...) ili ih ubaciti bez izmena. Stringovi moraju postojati da bi mod radio kako treba.

Treći korak

(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fi50.tinypic.com%2Fruogzt.png&hash=2bfaa1ed99992b17998b61fbcb7c7162)

Došli smo do izmena u bazi podataka. U ovom slučaju imamo napomenu da fajl Tables_1.1.X.php treba uploadovati u root foruma, i pokrenuti ga kako bi bile izvršene izmenene na bazi podataka. Fajl ćete pronaći u instalacionom paketu koji možete preuzeti sa linka modula: http://custom.simplemachines.org/mods/index.php?mod=1319

Četvrti korak
...i poslednji korak. Govori nam o putanji na koju trebamo uploadovati odredjene fajlove. (iz instalacionog paketa)

(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fi50.tinypic.com%2Fj6sh38.png&hash=359ba4f7de412c15ea29f241c5bb55bb)

Quote
Move the included file "Shout.template.php" to "./Themes/default".
Znači da fajl Shout.template.php treba uploadovati u /Themes/default/ direktorijum.
Quote
Move the included directory "chat" to "the root directory".
Znači da ceo folder chat, treba uploadovati u root direktorijum foruma.


Napomena:
  • Ukoliko koristite custom temu, izmene u okviru teme je potrebno preduzeti u fajlovima custom i default teme. Ukoliko potreban fajl ne postoji u custom temi - edituje se fajl default teme.
  • Napravite backup fajlova pre izmena. Ukoliko podje po zlu, bitno je imati backup kako bi se eventualni problemi izbegli.

Sva pitanja vezana za instalaciju modula možete postaviti u ovoj temi. (iako mislim da je do detalja objašnjeno sve)

Dzonny koliko si vremena utrosio u ovaj trud???

Svaka cast !!!
Nemoramo da vise citamo na eng rucno instaliravanje modova yey!!!
Title: Re: Ručno instaliranje modova
Post by: merry M. on December 30, 2009, 07:44:13 PM
ovo je odlicno steta sto nema i kako se ubacuje u bazu kad na kraju parse ima
ovo.  jre dosta modova sadrzi ovakve stvari

Query: [Select]
Code: [Select]
SHOW COLUMNS FROM {$db_prefix}settings
LIKE 'arrange_mclegend'
Title: Re: Ručno instaliranje modova
Post by: Dzonny on December 31, 2009, 07:55:32 AM
ovo je odlicno steta sto nema i kako se ubacuje u bazu kad na kraju parse ima
ovo.  jre dosta modova sadrzi ovakve stvari

Query: [Select]
Code: [Select]
SHOW COLUMNS FROM {$db_prefix}settings
LIKE 'arrange_mclegend'
Uglavnom imaju fajlovi, ali u slučaju takvih kodova, jednostavno se kopiraju u phpMyAdmin, opcija SQL.

Quote
Dzonny koliko si vremena utrosio u ovaj trud???

Svaka cast !!!
Nemoramo da vise citamo na eng rucno instaliravanje modova yey!!!
Manje nego što bi utrošio na objašnjavanje procesa u svakoj trećoj temi. :P
Title: Re: Ručno instaliranje modova
Post by: merry M. on December 31, 2009, 08:53:12 AM
da ali meni nije najjasnije kako zadnji deo se ubacuje od ovog moda

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

ovo sto pise na kraju ne znam:  (ostalo je sve OK)


Code
MCLegendDB114.php
This file should not be able to execute standalone. You may have to run the following queries manually.

Query: [Select]
Code: [Select]
SHOW COLUMNS FROM {$db_prefix}settings
LIKE 'arrange_mclegend'

Query: [Select]
Code: [Select]
INSERT IGNORE {$db_prefix}settings
VALUES ('arrange_mclegend', '1,2,8,7,6,5,4')


dali se fajl iz moda MCLegendDB114.php  ubaci u root foruma i pokrene ili se mora ubacivati u bazu rucno i gde? 

zahvaljujem se na odgovoru
Title: Re: Ručno instaliranje modova
Post by: Dzonny on December 31, 2009, 09:07:24 AM
Ok, u tom slučaju moraš ručno dodati kodove u bazu podataka, tj preko phpMyAdmina, kao što sam napomenuo.
Title: Re: Ručno instaliranje modova
Post by: merry M. on December 31, 2009, 06:25:08 PM
hvala na odgovoru ali ako ti nije tesko u 2-3 koraka kako to da ubacim please .
stvarno nisam to nikad radio pa ne znam.

hvala, srecna nova godina i sve najlepse
Title: Re: Ručno instaliranje modova
Post by: Forbs on January 01, 2010, 08:44:11 AM
Puno hvala na tutorialu,koristit ce :D
Title: Re: Ručno instaliranje modova
Post by: CaSiNo RoYaLe on January 02, 2010, 06:06:56 AM
odlican dar za novu godinu svim pocetnicima :D
Title: Re: Ručno instaliranje modova
Post by: Dzonny on January 02, 2010, 10:01:24 AM
 merry M. - kod koji je naveden, samo prekopiraš u phpMyAdmin, u tab "SQL" i potvrdiš ga.

ostalima hvala na komentarima :D
Title: Re: Ručno instaliranje modova
Post by: Skipper. on March 14, 2010, 06:22:58 PM
Jel ima tema u kojoj je objašnjeno kako se ručno brišu modovi. Koristio sam pretragu ali nisam mogao da pronađem ono što mi treba.
Title: Re: Ručno instaliranje modova
Post by: Dzonny on March 15, 2010, 05:03:07 AM
Jel ima tema u kojoj je objašnjeno kako se ručno brišu modovi. Koristio sam pretragu ali nisam mogao da pronađem ono što mi treba.
Nema. Brisanje modula je obrnut proces instaliranju. Dakle, potrebno je ukloniti kodove koji su prethodno dodati.
Title: Re: Ručno instaliranje modova
Post by: N1k0l4 on May 03, 2010, 01:50:24 PM
Svaka cast Dzonny
Title: Re: Ručno instaliranje modova
Post by: luisjanj on September 24, 2010, 07:06:17 AM
hvala za tutorijal
imam dva pitanja:
kako pokrenuti ovaj fajl Tables_1.1.X.php?
gde se nalazi folder shoutBox?ima ga u samom modu mozda se na to misli?
Move the included directory "chat/css" to "./shoutBox".
Move the included directory "chat/flash" to "./shoutBox".
Move the included directory "chat/img" to "./shoutBox".
Move the included directory "chat/js" to "./shoutBox".
Move the included directory "chat/lib" to "./shoutBox".
Move the included directory "chat/socket" to "./shoutBox".
Move the included directory "chat/sounds" to "./shoutBox".
Move the included directory "chat/src" to "./shoutBox".
Title: Re: Ručno instaliranje modova
Post by: Founder 2008 on September 24, 2010, 01:35:46 PM
Ako ručno instaliraš napravi sam folder shoutbox i stavi te fajlove unutar tog foldera.
Što se tiče ovog drugog fajla ne znam o kom modu je reč ali ako je reč o pokretanju fajla onda pomoću browsera posetiš adresu gde je taj fajl upload-ovan.
tvojsajt/Tables_1.1.X.php (http://tvojsajt/Tables_1.1.X.php)
Title: Re: Ručno instaliranje modova
Post by: luisjanj on September 24, 2010, 01:45:57 PM
hvala puno carobnjak
sad je sve jasno
pozzz
Title: Re: Ručno instaliranje modova
Post by: Founder 2008 on September 24, 2010, 06:14:27 PM
Javi se ako bude ponovo problema.
Title: Re: Ručno instaliranje modova
Post by: barjakpn on July 16, 2012, 08:15:53 AM
hvala majstore na ovako iscrpnom tutorijalu da se covek neznalica kao ja veoma lako moze snaci.Hvala.