News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım

Started by Elmacik, October 23, 2005, 01:29:14 AM

Previous topic - Next topic

Elmacik

Bu rehberi nasıl kullanmalıyım?

Bu rehberi nasıl kullanmalıyız?
Başlamadan önce bu yazıyı okumanız ve kendinize uygun olan seçenekleri seçmenizi tavsiye ederim.
Öncelikle bilmeniz gereken, bu rehberi kullanmak için İngilizce bilmenize, PHP kodlayabilmenize vs.. gerek yok.
Bu rehberde, bir modu otomatik kurulum (paket yöneticisi) ile kuramıyorsanız manuel kurmayı nasıl yapabileceğinizi öğreneceksiniz. Ya da modu otomatik kurduysanız ama başka tema kullanıyorsanız, kendi temanıza nasıl uygulayabiliceğinizi, yani kendi temanızda çalıştırmayı sağlamayı öğreneceksiniz. Kısacası, modun kurulum paketi içindeki ifadelerin ne demek olduğunu öğreneceksiniz.
Peki bu rehber nasıl kullanılmalı?
1- SMF'e ve içindeki dosyalara aşina değilim, bu işlerde tamamıyla yeniyim: İşe ana başlıkları, yani A ve B'yi okuyarak başlayın. Daha sonra C'ye geçin ve C bittikten sonra etkileşimli olarak D ile C'yi kıyaslayın. (D örnek bir mod kurulumudur) Genel Komutlar isimli bölümü, C.1.1.x 'i okumayın.
2- SMF ve dosyalarına az çok aşinayım: Ana başlıkları okumanıza pek gerek yok. Yine de A'yı okumanızı tavsiye ederim, B'yi geçin. Eğer aşinalık yanında İngilizce de biliyorsanız, D'yi de geçin. (Eğer İngilizce bilmiyorsanız ve dosyalara da aşina değilseniz, sakın Genel Komutlar isimli bölümü okumayın, kafanızı çok karıştıracaktır.)
Az çok aşina olduğunuz için sadece C.2.x 'i okumanız yeterli.
3- Dosyalara çok aşinayım ve az çok İngilizce de biliyorum: Mod paketindeki .xml ve .mod dosyalarını açın, okumaya başlayın ve yönergeleri takip edin. Zevk olsun diye buradaki ana başlıkları (A. B. ve D.) okuyabilirsiniz.
4- İngilizce biliyorum ama dosyalara aşina değilim. : O zaman ana başlıklardan önce A ve B'yi okumanızı, daha sonra da C.2.x 'i okuyarak modu kurmanızı, takılırsanız D'deki örneğe bakarak kıyaslama yapmanızı tavsiye ederim.
5- Burada anlatılanlardan hiç ama hiç bir şey anlamıyorum.. : O zaman buradaki yazıları okumayın. Sizin yapmanız gereken, indirmiş olduğunuz mod paketindeki .xml ve varsa .mod uzantılı dosyaları açmak ve içinde karşılaştığınız tagleri ( tag demek, <> işaretleri arasında kalan komut demek) burada arayıp (CTRL + F) ne işe yaradığını öğrenmektir.
6- Yukarıdaki 5 kategoriden hiç birine girmiyorum: O zaman kendi durumunuzu belirtip soru sormaktan çekinmeyin. Ama yerinizde olsam ilk önce rehberi baştan sona okurdum :)
Yukarı

A. Modların yükleme / kaldırma / çalışma prensipleri

Modlar, içinde sadece ve sadece kod parçaları olan paketlerdir. Ek olarak resim de içerebilirler :) Bu kodlar, pakete eklenen belli komutlarla, paketi yazan tarafından belirlenen yerlere yerleşirler, veya belirlenen yerden bir kodu değiştirirler, veya da belirlenen yerden bir kısım kodu çıkartırlar. Böylece, mod dediğimiz, forumun kaynak koduna entegre olur. Dolayasıyla, işletim sisteminize bir program kurmaktan çok başka bir olaydır foruma mod yüklemek. Doğrudan forumun kaynak koduyla oynandığı için, modların çakışma olasılığı, forumun bozulma olasılı, modun çalışmama olasılığı veya bozuk çalışma olasılığı her zaman vardır. Yükleme ve çalışma prensibi bundan ibaret, en kısa açıklamayla. Kaldırma işlemi ise, eğer pakette tanımlanmış ise (ki artık herkes tanımlıyor) önceden yapılan işlemin geri alınması, yine tanımlanmış ise, sonradan eklenen dosyaların geri silinmesidir.
Yukarı

B. Neden modlar her temaya olmaz?

Hepiniz karşılaşıyorsunuz bu meseleyle, bir mod kuruyorsunuz ama çalışmıyor.. Neden? Çünkü modlar varsayılan veya varsayılan artı klasik tema için yazılıyor.
Peki bunun sebebi nedir? Bunun sebebi;
B.1- Temaların, (diğer bir ifadeyle skinlerin) sonradan yazılıp eklenilmiş olmasıdır. Yani, herkesin sitesinde varsayılan tema vardır, ama herkesin sitesinde sonradan yapılan / eklenen temalar yoktur.
B.2- Temalar da birbirlerinden az veya çok farklı dosyalar içerirler. Yukarıda da modların kurulum prensibini anlattık; doğrudan kaynak koduyla oynandığı için, birbirlerinden farklı olan temalar, aynı kodlara da sahip olmadıklarından dolayı aynı kurulumu gerçekleştiremeyebilirler. Mesela bir mod, foruma falanca dosyada filanca kodu bul ve onu değiştir komutunu gönderir, ama sizin sonradan eklediğiniz temada o filanca kod olmayabilir. İşte sorunlar başlıyor.

Sonuç olarak, özellikle bir temada çalışmak üzere yazılmamış modlar ancak varsayılan temada çalışır. Eğer modun yazarı diğer temalara göre de paket hazırlarsa, elbette o zaman paket yükleme yöntemiyle, diğer temada da çalışır. Ancak bu uzun iştir. Çünkü diğer temayı da incelemesi lazımdır ve ona göre değişik kodlar yazmalıdır.
Yukarı

C. Modlar istenilen temaya nasıl uygulanır? Manuel nasıl kurulur?

Diyeceksiniz ki, madem ki kaynak koduyla oynuyoruz ve madem ki her tema değişik dosyalara sahip olabiliyor, o zaman biz nasıl varsayılan tema için yazılmış olan modu başka temaya uygulayacağız? Bu, hemen hemen her zaman kolay bir iştir. Çünkü temalar farklı kodlara sahip olabilirler ama farklı temele sahip değiller; hepsinin üzerine bina edildiği yapı aynıdır. Çünkü tema yapanlar, oturup en başından kod yazmıyorlar. Varsayılan temanın dosyaları üzerinde değişiklikler yaparak kendi temalarını oluşturuyorlar. Değişiklik dediysem, sadece renkleri ve resimleri değiştirmek değil elbet; gerekince büyük miktarda kod değişimleri yapılır, bazı fonksiyonların işleyişi değişebilir veya bazı yeni özellikler eklebilir bazı eskileri ise atılabilir.
Yukarı
C.1- Paketlerin içeriği
Paketlerde en basit olarak iki dosya vardır. Biri mod hakkında bilgi veren package-info.xml diğeri ise modun yapacağı değişiklikleri içinde barındıran .mod veya .xml uzantılı dosyadır. Eğer bunlardan başka dosya varsa, onlar da forum klasörülerine yine modun verdiği komutlarla yerleştirilecek olan tekil dosyalardır. (Yani hiç bir dosyaya dokunmadan kendi başlarına çalışacak olan dosyalar)
C.1.1-package-info.xml, modumuz hakkında bilgi içerir ve bizim için paketten çıkarılacak dosyaların nereye çıkartılacaklarını söyler.
Genel Komutlar
<readme> </readme> - Bu komut, mod hakkında bilgi içeren yazıları kapsar. Manuel kurulum için anlam ifade etmez aslında. <readme type="inline"> veya <readme type="file"> şeklinde olabilir. Inline denilmişse, bilgiler package-info.xml dosyasındadır. Eğer file denilmişse şöyle bir yapıdadır: <readme type="file">okubeni.txt</readme> Bu da demektir ki mod paketinde okubeni.txt isimli bir dosya var ve mod hakkında yazardan bilgiler içeriyor..
<install> </install> - Modu manuel kuruyoruz değil mi? O zaman bu komutlar arasında kalan şeyler bizi ilgilendiriyor. <install for="SMF 1.0.5"> şeklindeki ifadeler, bu modun, ancak orada yazılı forum sürümlerine uygulanabileceğini ifade eder.
<modification> </modification> - Modu kurmaya başladık, bu komut onun ifadesidir. <modification type="file"> ifadesi, yapacağımız değişikliklerin package-info.xml dışında bir dosyada saklandığını ifade eder. Bu dosyanın kim olduğunu, <modification format="boardmod"> .mod uzantılı dosyalar, <modification format="xml"> .xml uzantılı dosyalar olarak ifade eder. <modification reverse="true"> ise, modu manuel kaldırmak istersek, burada yaptığımız işlemlerin tam tersini yapmamız gerektiğini ifade eder. Ör: <modification type="file" reverse="false" format="boardmod">deneme_mod.mod</modification> Burada kod türü dosya (file) olarak ifade edilmiş ve bu dosya (yani kurulum bilgileri) deneme_mod.mod isimli dosyada saklanıyor denmiştir.
<uninstall> </uninstall> - Modu manuel kaldırmak istiyorsak bu komutlar arasında kalan şeyler bizi ilgilendiriyor. <uninstall for="SMF 1.0.5"> şeklindeki ifadeler, bu modun, ancak orada yazılı forum sürümden bu şekilde kaldırılabileceğini ifade eder.
<upgrade> </upgrade> - Modun bir önceki sürümünden yeni sürümüne yükseltme yapılacağını ifade eder. Örneğin modun 1.2 versiyonunu kurmuşsunuz ve 1.3 versiyonu çıkmış. Modu kaldırmayıp, manuel olarak 1.3 versiyonuna güncellemek istiyoruz. Çünkü karşımızda şöyle bir komut var: <upgrade from="1.2" for="SMF 1.0.5"> Burada, modun 1.2 'den yükseltileceği ve bu işlemin SMF 1.0.5 sürümü için geçerli olduğu ifade edilmiş.
Yukarı
C.1.1.1- require-dir   ve de  require-file  komutları
Ör:
<require-dir name="resimler" destination="$imagesdir" />
<require-file name="resim.jpg" destination="$imagesdir/resimler" />

Bu örneğin birinci komutunda mod, paketin içinden resimler isimli klasörü çıkardı ve /Themes/default/images içerisine attı ve ikinci komutunda o resimler klasörüne resim.jpg isimli dosyayı attı.
C.1.1.2- code komutu. Bu komut içinde kalan kalan dosyanın çalıştırılacağı anlamına gelir. Ör:
<code>deneme.php</code>
Burada, deneme.php dosyası önce forum klasörüne atılır, daha sonra tarayıcıdan bu dosya açılmış gibi çalıştırılır. (mod kurulurken) Ama biz şu anda modu manuel kurmayı anlattığımız için kendimiz çalıştıracağız. Yani, deneme.php dosyasını paketten çıkarıp foruma atacağız, sonra da bir defaya mahsus olmak üzere bu dosyayı tarayıcıdan çalıştıracağız. Ör:
www.benimsitem.com/forumum/deneme.php
C.1.1.3- remove-dir ve remove-file komutları. Bu komutlarda belirtilen dosya (file) ve klasörler (dir) silinir.
C.1.1.4- move-file ve move-dir komutları. Bu komutlar, dosya (file) ve klasörlerin (dir) bir yerden başka bir yere taşınacağı anlamına gelir.
Ör:

<move-dir name="oyunlar" from="$boarddir" destination="$boarddir/Packages" />
<move-file name="oyun1.exe" from="$boarddir" destination="$boarddir/Packages/oyunlar" />

Burada forum klasöründe oyunlar isimli bir klasör ve oyun1.exe isimli bir dosya varmış. Komutlar bize diyor ki; oyunlar isimli klasörü $boarddir (yani forum ana klasörü)nden al, /Packages klasörüne at.
Şimdi /Packages/oyunlar diye bir klasörümüz oldu. oyun1.exe isimli dosyayı da forum klasöründen al, /Packages/oyunlar klasörüne koy..
Yukarı
C.1.1.5-create-dir ve create-file komutları Bu komutlar, dosya (file) ve klasör (dir) yaratmamız gerektiğini ifade eder. Ör: <create-dir name="oyunlar" destination="$boarddir" /> burada yapılacak olan, forum ana klasöründe oyunlar isimli bir klasör oluşturmak.
C.1.2- .mod veya .xml uzantılı diğer dosya, değişikliklerin yapılacağı komutları içrerir, aşağıda inceliyoruz.
C.2- Uygulama
C.2.1- .mod uzantılı dosyalara sahip paketlerle uygulama
Şimdi ilk iş, paketin içinden .mod uzantılı dosyayı çıkarıp bir text editörü ile düzenliyoruz. Herhangi bir editör olabilir; notepad, word, wordpad gibi.. Ancak kodların kodlama diline göre renklendirilmesi açısından gelişmiş bir kodlayıcı kullanmanızı tavsiye ederim. ConTEXT gibi.
C.2.1.1<edit file>     </edit file> dosya düzenle demek tir ve düzenleneyeceğimiz dosyayı burada öğreniriz.
Arasına gelebilecek ifadeler şunları içerecek,
$themedir      => bu bizim varsayılan tema klasörümüz. Yani /Themes/default
$boarddir       => bu bizim forumumuzun ana klasörü. Yani /
$sourcedir      => bu bizim kaynak klasörümüz. Yani /Sources
$languagedir  => bu bizim dil dosyalarımızın olduğu klasördür. Yani /Themes/default/languages
$imagesdir     => bu bizim temamızıa ait tüm resimler / ikonlarımızın bulunduğu klasörümüzdür. Yani /Themes/images

Ör:
$themedir/index.template.php   demek,  /Themes/default/index.template.php demek.
$boarddir/classic/index.template.php demek   /Themes/classic/index.template.php demek

Yukarı
C.2.1.2<search for>     </search for>  "ara" demektir ve değiştirilecek / silinecek / önüne – sonuna kod eklenecek kodları arar.
C.2.1.3<add after>      </add after>  "bulunan kodun sonuna ekle" demektir ve <search for> komutu ile aranılıp bulunan kodlardan sonra <add after>    </add after> işaretleri arasında bulunan kodlar eklenir. (Dosyaya eklenir.)
C.2.1.4<add before>     </add before> "öncesine ekle" demektir ve bir üstteki komutla aynı işi yapar fakat bu defa <search> komutu ile bulunan kodların hemen üstüne ekleme yapar.
C.2.1.5<replace>     </replace> "değiştir" demektir. Bu komutlar arasındaki kod alınır ve <search for> komutuyla bulunan kodun yerine koyar. (Yani aranıp bulunan kodu kaldırır onun yerine replace komutu içindeki kodları koyar)
C.2.1.6 <append> </append> dosyanın sonuna ekle demektir. Bu ifadeler arasında kalan kodlar, dosyanın sonuna, ?> işaretlerinden önce eklenir.
Yukarı

C.2.2 .xml uzantılı dosyalara sahip paketlerle uygulama
.xml dosyası içinde olaylar biraz daha karışık ama zor değil, ben modlarımı xml ile yazmaya çalışıyorum
C.2.2.1 <file name= ile başlayan satırlar, düzenlenecek dosyaları belirtir.
Ör: <file name="$themedir/Display.template.php">  şu dosyayı düzenle demek, /Themes/default/Display.template.php
$themedir gibi diğer değişkenlerin ne anlama geldiğini öğrenmek için tıklayın.
C.2.2.2 <operation> bir dosyanın düzenlenmeye başlandığını gösterir es geçiyoruz. Başka bir <file... ibaresi gelene kadar her <operation> o aynı dosya içinde yapılacak diğer değişiklikleri kasteder.
C.2.2.3 <search position=""> aranacak kodları ifade eder.
Ör:
<search position="before"><![CDATA[global $context;]]></search>

Bu örnekte dosyamızın içinde "global $context" ibarelerini arayacak ve sonuna da eklememiz gereken kodları ekleyecekmişiz. <![CDATA[  ]]> ifadeleri kodu içeren kalıplardır onları bir yerde aramıyor, bir yere de eklemiyoruz. (Evet, orada before yazıyor ama sonuna ekleyeceğiz..) Ne ekleyeceğiz? Devam edelim...
C.2.2.4 <add> bu ifade de işte bir üstte bulduğumuz kodun sonuna (veya <search position="after"> olarak tanımlansaydı başına, <search position="replace"> olarak tanımlansaydı yerine) ekleyeceğimiz kodları barındırıyor. Not: Eğer arama, <search position="end"> olarak tanımlanmışsa, o zaman <add> </add> komutları arasında kalan kod, ilgili dosyanın sonuna, ?> işaretlerinden önce eklenir. Genellikle dil dosyaları için <search position="end"> kullanılır.
Ör:
<add>
<![CDATA[
echo '
<script language="JavaScript" type="text/javascript">]]>
</add>

Demek ki yeni düzenimiz şöyle olacak:
global $context
echo '
<script language="JavaScript" type="text/javascript">

Kaldırdığım sembollere dikkat!

İşte modların hikayesi bu kadar. Karmaşık olmadı umarım, en basit şekliyle, gereksiz yerleri atlayarak anlatmaya çalıştım, sorunuz olursa sormaktan çekinmeyin.
Yukarı

D. Bir adet de örnek verelim

Ör:
<edit file>
$themedir/MessageIndex.template.php
</edit file>


Demek ki /Themes/default klasöründeki MessageIndex.template.php dosyasıymış değiştireceğimiz.
Hemen o dosyayı sitemizden bilgisayarımıza indiriyoruz. Sonra neresini değiştirmemiz gerektiğine bakıyoruz. Bu defaki ifade, <search for> olacak.
Ör:
<search for>
$result = db_query
</search for>


Demek ki, dosyamız içinde bu ifadeyi arayacağız (search). Peki sonra ne yapacağız? Yapmamız gereken işlemi yine bize bir komut anlatacak: <add after>
Demek ki, yukarıda arayıp bulduğumuz koddan sonra buradaki kodu ekleyeceğiz (add ekle demek)
Ör:
<add after>
if ($context['user']['is_logged'])
</add after>


Demek ki, bu işlemi yaptığımızda yeni dosyamızda kodlar şu şekilde olacak:

$result = db_query
if ($context['user']['is_logged'])

Yukarı

Atıyorum eğer mod başka bir işlem yapmıyorsa, şimdi bu bilgisayarımızdaki dosyayı sunucumuza geri yüklüyoruz ve modu kurmuş oluyoruz :) Mod böylece, varsayılan temaya yüklenmiş oldu. Yani paketten kurmakla aynı işlemi yaptık. Dikkat ederseniz, varsayılan tema içindeki dosyayı düzenledik. Şimdi de hangi temaya modu uygulamak istiyorsak, o temanın aynı isimli dosyasında aynı işlemleri yapmalıyız. İşte hepsi bu kadar :)
Home of Elmacik

apache


ramco

ben okudum yanlız hiçbirşey anlamadım çalışmaya lafım yok çalışma mükemmel olmuş yanlız ben bunu manüel değilde oyomatik yapmak istiyorum ve kullanılan temama uygulamak istiyorum...! nasıl yapabilirim???

bLeDa

İsteğin olmadıgı için manuel kurulum anlatıldı  ;)
Gerçi salonlarda senin "yıldız"dı adın,
Hakikatte fahişesin ey alçak kadın!
Ey allıklı ve düzgünlü yosma bil şunu:
Bütün millet öğrenmiştir senin fuhşunu.
Omuzun da neden seni fuzuli çeksin?
.........................................
Kinimizin şiddetiyle gebereceksin!.. 
Topal Asker - Hüseyin Nihal ATSIZ
Yeni Mekanlar

http://www.mekanbura.com  ( Paylaşım )
http://www.bulindir.net  ( Mp3 Download )

apache

Aslında ben safblue teması kullanıyorum ..Default temamı bu temaya çevirsem.Yani default kullansam ama safblue gibi görünse her şey hallolacak.Mod kurabileceğim.
Bu temayı nasıl default yapabilirim
En başta default temanın ekranı tamamen kaplamamasını yani sol ve sağ kenarlardan boşlu kalmasını nasıl sağlarım?

Elmacik

Saf Blue içindeki tüm dosyaları default klasöründeki dosyaların üzerine yaz.
Ama bir takım hatalar alman muhtemel. Önce dosyalarını yedekle.

Hata almasan bile mod kurarken "Test başarısız" demesi çok muhtemel. Demezse, o zaman kur kullan :)
Home of Elmacik

ramco

yaaa arkadaşlar ben kafayı yiyeceğim kaç gündür şu yazıyı anlamaya çalışıyorum ama anlamıyorum ne olur bana yardımcı olun ya bir paket üzerinde ayrıntılı anlatım yapamazmısınız kodları uygulayarak anlayamıyorum yada bana özelde anlatacak biri yokmu acil yardımmmm.......!!!!!

Elmacik

Daha ayrıntısı nasıl olur hakkaten bilemiyorum :)
Modun içindeki dosyalarda geçebilecek tüm ifadeleri açıkladım.
Daha ne olsun :)
Ara dediğini arayacak, ekle dediğini ekleyeceksin. Olay sadece bundan ibaret :)
Home of Elmacik

semto_lopez

adam bunu okuyunca ne zor şeymiş yaww dio valla
mod kumaktan vazgeçiyo.  :D

SySt3Mc1x


4LP3RUZ1

artık modifikasyonların kendi bölümü olduğuna göre bu da yine yapışkan olabilir :D
Frozen frogs are back :(

canawar

ben visual varning kkurdum sağlam kurulum yaptı ama herhalde default temaya yaptı kendi temama nasıl yapabilirim?
bi sürü dosyası var içinde..??  :(

TuXie

Allah senden razı olsun Elmacik. Yazı çok işime yaradı walla.

canawar

Yardım lütfen arkadaşlar...
Quote from: canawar on February 20, 2006, 03:33:39 PM
ben visual varning kkurdum sağlam kurulum yaptı ama herhalde default temaya yaptı kendi temama nasıl yapabilirim?
bi sürü dosyası var içinde..??  :(

canawar

Arkadaşlar açtım baktım tek tek kurulumu yapayım dedim ama birde ne göreyim..??
Visual warning yüklenirken profile.template.php adında bir dosya istiyor ve benim temamda öyle bir dosya yok ne yapmam lazım???

Elmacik

Varsayılana uygula. Ya da varsayılan temadan kendi klasörüne kopyala.
Home of Elmacik

canawar

Onu hiç kullanmadım yinede oldu...
yani o dosyada hiç bi değişiklik yapmadım şu anda oldu gibi...
Sorun çıkmaz ilerde inşallah??
Sayende anlamış oldum manuel kurulumu öğrendim  :D

WeBSe@

Güzel hos anlatmısın ben bunu daha önce de okudum birsey anlamadım zaden bu benim 4 cu okuyusum sen zannedersem ama ben anlamadım bunlardan birsey anlasam zaten sorekli sormam soruları ama neyse bosver güzel anlatmıssın ama bu konuda biraz bilgi sahibi olmak gerekiyor tamam ben bilgisayar konusunda iyiyim demiyorum bana donanım sorsan donanım konusunda herseyi çözerim ama yazılım konusunda hiç birsey anlamıyorum.....


canawar

Quote from: WeBSe@ on February 21, 2006, 10:45:50 PM
Güzel hos anlatmısın ben bunu daha önce de okudum birsey anlamadım zaden bu benim 4 cu okuyusum sen zannedersem ama ben anlamadım bunlardan birsey anlasam zaten sorekli sormam soruları ama neyse bosver güzel anlatmıssın ama bu konuda biraz bilgi sahibi olmak gerekiyor tamam ben bilgisayar konusunda iyiyim demiyorum bana donanım sorsan donanım konusunda herseyi çözerim ama yazılım konusunda hiç birsey anlamıyorum.....

arkadaşım aslında çok kolay ama biraz uğraşmak gerekiyor bende başta çözemedim ama elmacık yardım etmeyince kenndim baktım ve gerçekten kolay, elmacık'ın yazdığı yazı bu işi çözmene yeterli..
Dosyada zaten bulunacak ve değiştirilecek yada eklenecek yerler yazıyor çok kolay, search kısmındaki metni bu, add yazan kısımdakini ekle ama diğer komutlar felanda ver, elmacık'ın verdiği yazıdan şaşma...
kolay gelsin..

LORD DARK

ya burada manuel olarak nasıl kurulacağı anlatılmamış modların.eğer bir örnekle gösteren olursa SMFArcada 1.2.4B nin nasıl kurulucağını gösterirse teşşekkür ederim.

Advertisement: