Simple Machines Community Forum

SMF Support => Türkçe Bölümü (Turkish) => Language Specific Support => Arşiv => Topic started by: Elmacik on October 23, 2005, 01:29:14 AM

Title: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: Elmacik on October 23, 2005, 01:29:14 AM
Bu rehberi nasıl kullanmalıyım? (#post_rehber)

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ı (#post_basliklar)

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ı (#post_basliklar)

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ı (#post_basliklar)

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ı (#post_basliklar)
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ı (#post_basliklar)
C.1.1.1- require-dir   ve de  require-file  komutları
Ör:
Code: [Select]
<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:
Code: [Select]
<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ı (#post_basliklar)
C.1.1.5-create-dir ve create-file komutları Bu komutlar, dosya (file) ve klasör (dir) yarImı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:
Code: [Select]
$themedir/index.template.php   demek,  /Themes/default/index.template.php demek.
$boarddir/classic/index.template.php demek   /Themes/classic/index.template.php demek
Yukarı (#post_basliklar)
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ı (#post_basliklar)

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. (#post_url_bilgileri)
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:
Code: [Select]
<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:
Code: [Select]
<add>
<![CDATA[
echo '
<script language="JavaScript" type="text/javascript">]]>
</add>
Demek ki yeni düzenimiz şöyle olacak:
Code: [Select]
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 anlIya çalıştım, sorunuz olursa sormaktan çekinmeyin.
Yukarı (#post_basliklar)

D. Bir adet de örnek verelim

Ör:
Code: [Select]
<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:
Code: [Select]
<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:
Code: [Select]
<add after>
if ($context[‘user’][‘is_logged’])
</add after>

Demek ki, bu işlemi yaptığımızda yeni dosyamızda kodlar şu şekilde olacak:
Code: [Select]
$result = db_query
if ($context[‘user’][‘is_logged’])
Yukarı (#post_basliklar)

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 :)
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: apache on January 22, 2006, 12:13:55 PM
çok profesyonelce bir yazı..teşekkürler
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: ramco on January 26, 2006, 06:03:56 PM
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???
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: bLeDa on January 26, 2006, 06:05:19 PM
İsteğin olmadıgı için manuel kurulum anlatıldı  ;)
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: apache on January 26, 2006, 08:04:08 PM
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?
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: Elmacik on January 27, 2006, 08:08:44 AM
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 :)
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: ramco on January 30, 2006, 04:50:18 PM
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.......!!!!!
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: Elmacik on January 30, 2006, 05:09:05 PM
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 :)
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: semto_lopez on February 16, 2006, 03:55:49 PM
adam bunu okuyunca ne zor şeymiş yaww dio valla
mod kumaktan vazgeçiyo.  :D
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: SySt3Mc1x on February 19, 2006, 11:31:51 AM
Güzel Çalışma Tebrikler...
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: 4LP3RUZ1 on February 19, 2006, 11:34:55 AM
artık modifikasyonların kendi bölümü olduğuna göre bu da yine yapışkan olabilir :D
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: 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..??  :(
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: TuXie on February 21, 2006, 03:21:19 AM
Allah senden razı olsun Elmacik. Yazı çok işime yaradı walla.
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: canawar on February 21, 2006, 12:33:42 PM
Yardım lütfen arkadaşlar...
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..??  :(
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: canawar on February 21, 2006, 05:01:24 PM
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???
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: Elmacik on February 21, 2006, 05:18:34 PM
Varsayılana uygula. Ya da varsayılan temadan kendi klasörüne kopyala.
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: canawar on February 21, 2006, 05:46:18 PM
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
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: 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.....
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: canawar on February 22, 2006, 07:00:17 AM
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..
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: LORD DARK on February 22, 2006, 01:06:02 PM
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.
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: Elmacik on February 22, 2006, 01:09:54 PM
Ne anlatılmış o zaman? :)
Veya "Bir adet de örnek verelim" adı altında verdiğim örnek neyin nesi? :)
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: LORD DARK on February 22, 2006, 01:52:04 PM
ya ben o bölümü anlayamamışım Elmacik.
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: MeB.NeT on March 08, 2006, 04:58:26 AM
arcade in son versiyonu nu yükledim aldığım hataları yazayım:

Code: [Select]
Table 'camlical_smf1.smf_games_category' doesn't exist
Dosya: /home/camlical/public_html/forum/Sources/ArcadeAdmin.php
satır: 199

Code: [Select]
Table 'camlical_smf1.smf_games' doesn't exist
Dosya: /home/camlical/public_html/forum/Sources/ArcadeAdmin.php
satır: 560

Not: Veritabanızın güncellemesi gerekiyor. Sizin dosyalarınızın şuanki sürümü SMF 1.0.5, oysaki veritabanındaki SMF sürümü 1.0.2. upgrage.php'yi çalıştırmanız tavsiye ediliyor.

fantastico kurulumyaptım ve 1 0 5 yaptım.
MessageIndex.template bu dosyada da search yok
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: Elmacik on March 08, 2006, 05:33:23 PM
meb.net, Yönetim panelinden oyun bölümü yönetimine gir, veritabanın yazan yerde güncelle linkine tıkla.
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: MeB.NeT on March 10, 2006, 07:47:28 AM
Notice: Undefined variable: current_action in /home/camlical/public_html/forum/Sources/Load.php(1040) : eval()'d code on line 446

Notice: Undefined index: chatAlt in /home/camlical/public_html/forum/Sources/Load.php(1040) : eval()'d code on line 448

Notice: Undefined variable: current_action in /home/camlical/public_html/forum/Sources/Load.php(1040) : eval()'d code on line 449

Bir hata meydana geldi!
2: opendir(/home/camlical/public_html/forum/Packages/temp/Games) [<a href='function.opendir'>function.opendir</a>]: failed to open dir: No such file or directory
Dosya: /home/camlical/public_html/forum/Sources/Subs-Package.php
satır: 949 


bu iki hatayı geçemedim. oyun yönetim paneli de 1.0.6 da gözükmedi. Hala kuramadım... :(
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: ultrArda on March 13, 2006, 07:48:35 AM
Öncelikle teşekkürler böyle bir yazı için. ama fazla bi şey anlamadım :) Ya abilerim kardeşlerim. lütfen bana yardım edin: :( . ben "VisualWarning" ve "Thankyou" modu nu kullanmak istiyorum. RC2 kurulu sitemde.  "helios" teması kullanıyorum. bu mod. ları nasıl yüklicem? yardım ederseniz çok sevinirim...
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: uu84 on March 19, 2006, 05:42:42 AM
Çok güzel anlatmışsın eline sağlık. Arkadaşlar herşeyi en küçük ayrıntısına kadar anlatımı yapılmış sizde biraz gayret edip biraz html öğrenseniz hiç sorun olmayacak. Bundan daha basit anlatım yapılmaz.
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: memur on March 25, 2006, 05:50:39 PM
Arkadaşlar belki çok aptalca olacak ama acemilik başa bela işte bu siteden indirdiğimiz modları ne şekilde, nereye yükleyip çalıştıracağımı kısaca açıklayacak bir yardımsever varmı?
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: yastik on March 26, 2006, 04:12:41 PM
Modda
Code: [Select]
<search for>
function theme_show_main_buttons()
</search for>

Diyo ama arattığımda böyle bi kod yok temada? napmak lazım?
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: Elmacik on March 28, 2006, 02:25:40 PM
yastik,
Ona benzer bir şeyi mutlaka bulacaksın. Şu anda dosyaları inceleyip söyleyemiyorum ama button diye arat fonksiyon isimlerinde. Mutlaka bulursun.
Title: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: camgibi on March 29, 2006, 04:15:28 PM
ya süpersiniz asp ciydik bizide php ye bulaştıracaksınız  mod olayını anladım ilk fırsatta uygulayacağım teşekkürler.Herseyin bi acemiliği vardır önemli olan en kısa zamanda işi çözmek bu da sayenizde...

http:\\forum.camgibi.com (http://http:\\forum.camgibi.com)
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: Cenk on April 03, 2006, 04:28:38 PM
Yardımlarınız İçin Teşekkür Ederim
Sorun Giderilmiştir
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: imagex on April 15, 2006, 07:48:38 PM
yastik,
Ona benzer bir şeyi mutlaka bulacaksın. Şu anda dosyaları inceleyip söyleyemiyorum ama button diye arat fonksiyon isimlerinde. Mutlaka bulursun.

Bende bu tip bir sorunla karşılaştım. tüm aramalarıma rağmen böyle bir kod veya kodun en ufak bir parçasını bulamadım.
modda yazılı olan:
Code: [Select]
<edit file>
$sourcedir/ModSettings.php
</edit file>
<search for>
array('rule'),
);

return $config_vars;
}
</search for>
smf nin içinde source klasöründe modsetting.php dosyası oluyor anladığım kadarı ile ama içinde buna benzer bir satır bulamadım.
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: imagex on April 15, 2006, 08:01:53 PM
Bu tür konuda takılan arkadaşlara kaçırdığım ufak bir noktadan problemi çözdüm.
xml dosyasını dikkatli okumamışım. bütün dosyaları sırayla yükleyecektim hatam oradaymış. teşekkürler.
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: dandik_mail on April 16, 2006, 06:30:49 AM
çok profesyonelce bir yazı..teşekkürler

ben mod uzantılı dosya içinde nasıl değişiklik yapabilirim
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: edomurcuk on April 19, 2006, 06:34:10 AM
öncelikle şunu söylemek istiyorum ki anlatım mükemmel olmuş. ancak benim sormak istediğim bişey var. karma_description_mod'u manuel olarak eklerken bi problemle karşılaştım.

<search position="after"><![CDATA[// If you're a guest or can't do this, blow you off...
]]></search>


var. bunun anlamı bu ibarenin öncesine sonra gelecek <add></add> arasındaki komutları eklemek. tamam ama bu ibareden benim açtığım dosya içerisinde tam 4 tane var. acaba hepsinde mi aynı işlemi yapıcam? yoksa sadece ilk bulduğum komutun başına mı ekliycem??? yardımcı olursanız çok sevinirim...

teşekkürler...
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: edomurcuk on April 19, 2006, 06:40:45 AM
birşey daha;

<search position="replace"><![CDATA[// Delete any older items from the log. (karmaWaitTime is by hour.)
   db_query("
      DELETE FROM {$db_prefix}log_karma
      WHERE " . time() . " - logTime > " . (int) ($modSettings['karmaWaitTime'] * 3600), __FILE__, __LINE__);
]]></search>

kısmı mevcut. ama KARMA.php dosyasının içerisinde bu satır ve/veya benzer bir komut sütununa hiç rastlayamadım. ne yapmam gerekir sizce???
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: deSire on April 20, 2006, 11:20:46 AM
<![CDATA[
]]

kısımlarını gözardı et
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: mastema on April 22, 2006, 10:31:24 AM
Usta ben birşey sorucam bu uygulayacağımız modlar genelde default a yönelik biz tek tek yazmakla uğraşıcağımıza, kurulumun içinde xml dosyalarında belirtilen yolları kullandığımız temaya yönlendirsek olmazmı;Örnek
Demek istediğim
Quote
</add>
      </operation>
   </file>
   <file name="$boarddir/Themes/default/Post.template.php">
      <operation>
Bunu bu şekilde yapsak:
Quote
</add>
      </operation>
   </file>
   <file name="$boarddir/Themes/hiharc102/Post.template.php">
      <operation>
Aynı işi görürmü?
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: Arbalot on April 22, 2006, 10:42:19 AM
her tema da o dosyalar mevcut değildir mesela post.template.php dosyası sadece default temada vardır ve senin teman o dosyayı kullanacagı zaman default temadan alır
bu bir ornek o yuzden onu değiştirdiğinde mod kurlumunda problem yaşayabilirsin
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: mastema on April 22, 2006, 10:48:12 AM
Ama o şekilde yaptım şu anda çalıştı.Ama dediğinde haklısın. post.php dosyasası benim kullnadığım temada vardı ondan çalıştı.Ama olmayan dosyalar var onlarda değin gibi hata verdi.Ama onada bir kolay yol bulunabilir belki.Ben uğraşıyorum yapıcağımı hiç tahmin etmiyorum ama yaparsan iyi olur hepimiz için. :P
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: spirit31-31 on April 28, 2006, 07:00:09 PM
Arkadaşlar İyi Geceler SAat Baya Geç Oldu Biliyorum 2 Güne Yakındır Manuel Kurulumun Mantığını Çözmeye Çalışıyorum ... Harzem Abinin Çevirdiği Board_Viewers_06_TR Adlı Modu Çevirmeyi Başardım Sanırım... İşte Board.İndex.template.php Board.index.php Klasörlerine gerekli kodları yerleştirdim SafBlue Teması için Tabiki Neyse Gerekenleri Yaptım Peki Şimdi Ne Yapacğım Yani Bu Editlediğim Dosyaları Üzerlerinemi Yazıcam Ne Yapıcam ? Bir Az Bahsedermisiniz ? Acaba
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: Arbalot on April 28, 2006, 07:05:08 PM
bende seni tam olarak anlayamadım
sen şimdi bir mod indirdin ve onu manuel kurdun buraya kadar tamam
sonrası nedir?
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: spirit31-31 on April 28, 2006, 07:08:59 PM
Şimdi Şöyle Arbolat Abi İndirdim Modu Açtım. Rc2 Kullandığım İçin Rcx.xml dosyasına girdim. dediği herşeyi yaptım işte board.index.php ve normalde default olan  tabi ben değiştireceğim için safblue temamdaki board.index.template.php yi editledim kdolarını girdim Peki şimdi napacağım ? package-info.xml e dokunmam lazımmı ? bu dosyalar ı ftp dekilerin üzerinemi yazcam sonra ne olcak ? www.pchastasi.net - Rc2 - SafBlue
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: Arbalot on April 28, 2006, 07:20:40 PM
evet aynen o şekilde
package.xml adından anlaşılacagı uzere bir info yanii bilgi dosyasıdır...
modu kurmaya çalıştıgında yani otomatik kurmaya çalıştıgında smf forum ilk once bu dosyaya bakar daha sonra ona gore modu kurar...
sen şimdi modu kurduguna gore o dosyayı upload et ftpden ev diğeri ile değiştir...
birde adres verde yaptıgın şeye bakalım bi...  ;)
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: spirit31-31 on April 28, 2006, 07:46:51 PM
Çok Çok Teşekür Ederim Gecenin Bir Saati Yordum Seni Saolasın :) Heheyyy Beni Bekleyin Modlar     :P
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: Arbalot on April 28, 2006, 08:05:30 PM
sen sağol kardeş...
amacımız paylaşım...
bazen gece bazen gündüz...
bazen p4 3.2 de bazen celeron 500 de
mutsuzken ve ağlarken veyahut mutluyken ve gülerken...

bu saatlerde şaçmalamaya başlıyorum yaramıyor bana  ;D ;D ;D

Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: spirit31-31 on April 29, 2006, 04:57:27 AM
 :'(  :'(   :'( :) Şimdi Duygulandım Be Abi Bu Ne Biçim Bir Smf Aşkıdır Helal Olsun Valla
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: deSire on May 03, 2006, 10:45:03 AM
:'(  :'(   :'( :) Şimdi Duygulandım Be Abi Bu Ne Biçim Bir Smf Aşkıdır Helal Olsun Valla

Birşeyler yaptığını görmek, birilerine yardım etmek insana çok huzur veriyor işte bu yüzden bu işin saati olmaz bence, şahsen bende böyle ;)
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: enisen on May 05, 2006, 02:49:36 AM
abi her şeyi çok güzel anladım eline sağlık ama şimdi bu search yapıyoz ya ondan sonra add'de ekleyeceğimizi searchdakileri silerek mi altına mı üstüne mi ekliycez..biraz karışık oldu ama anlayamadığım tek nokta bu.
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: deSire on May 05, 2006, 03:51:02 AM
abi her şeyi çok güzel anladım eline sağlık ama şimdi bu search yapıyoz ya ondan sonra add'de ekleyeceğimizi searchdakileri silerek mi altına mı üstüne mi ekliycez..biraz karışık oldu ama anlayamadığım tek nokta bu.

Hayır, add' kodu ondan önceki kodda yapılan açıklamaya göre örneğin "beforge" varsa bulduğun kodlardan önce, "after" varsa bulduğun kodlardan sonra ekleyeceksin. "replace" yazıyosa bulduğu kod u silip onun yerine yazacaksın

Kolay gelsin
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: enisen on May 05, 2006, 01:12:30 PM
abi her şeyi çok güzel anladım eline sağlık ama şimdi bu search yapıyoz ya ondan sonra add'de ekleyeceğimizi searchdakileri silerek mi altına mı üstüne mi ekliycez..biraz karışık oldu ama anlayamadığım tek nokta bu.

Hayır, add' kodu ondan önceki kodda yapılan açıklamaya göre örneğin "beforge" varsa bulduğun kodlardan önce, "after" varsa bulduğun kodlardan sonra ekleyeceksin. "replace" yazıyosa bulduğu kod u silip onun yerine yazacaksın

Kolay gelsin

saolasın arkadaşlar çok kolay bişey uzun olduğuna bakmayın okuyun çok basit anlatılmış..hepinize teşekkür ederim.
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: OGtr on May 05, 2006, 05:27:52 PM
Elmacıkk supersin gençtürkün son konular modunu 7danaya kurdum mod dosyasını açıp inceledim.Allah razı olsun.
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: sanguinary on May 13, 2006, 10:26:36 PM
merhaba arkadaslar önecelikle hepinize emekleriniz için teşekkürler.gercekten cok sagolun.benimde ufak bir sorunum var.forumda aradım bulamadım.sorun su:sitemize shoutbox mesajlasma eklentisini kurmak istiyoruz.ama sürekli bu hatayı veriyo
1.     Çıkartılacak Dosya     ./Sources/shout.php     
2.    Çıkartılacak Dosya    ./Themes/default/shout.template.php    
3.    Çıkartılacak Dosya    ./Themes/default/script_shout.js    
4.    Çıkartılacak Dosya    ./Themes/default/images/deleteshout.gif    
5.    Çıkartılacak Dosya    ./Themes/babylon/images/deleteshout.gif    
6.    Çıkartılacak Dosya    ./Themes/classic/images/deleteshout.gif    
7.    Kod Uygulanacak    shoutPdb.php    
8.    Değişiklik Yapılacak    shoutbox_v1.36.mod    Düzenleme inceleme hatası

bu srounu nasıl giderebilirz.siteye tr dil eklentisini yükledik.ayrıca  SMF 1.0.7 / 1.1 RC2 Update      1.0 eklentiside mevcut.ama bir türlü bu chat i kuramdık yardımınız için şimdiden teşekkürler
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: kostad.org on May 18, 2006, 04:42:16 AM
ben manual olarak user online today modunu farklı bir temaya kuracağım fakat , $themedir , stats.template.php yazan dosya benim yeni temamda yok defaulttaki temanın stats.template.php sini oraya atarakmı yapmam gerekiyor. veya nasıl yapmalıyım.
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: Huzeyfe on May 25, 2006, 08:08:56 AM
vallahi elmacik okudum örneklere baktım xml deki gibi değiştirilecek kısımlara baktım ama neyi nereye ekle değiştir vs. işlemi yapacak olsam orda hem search yaptım hem de add olaak kon bulunuyordu zaten modu adminden kurarken herhangi bir hata vermedi başarılı demişti ama ben hala user online todayin işlevini göremiyorum
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: pspturkey on May 30, 2006, 11:33:26 AM
ben safblue'ya gençtürk'ün boardicon modunu kuruyorum ama, bi yere geldim kaldım :D

benden $themedir/ManageBoards.template.php istiyor ama safblue temasının içinde yok böyle bir dosya ne olacak  :)
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: McRoyaL on June 04, 2006, 11:46:30 AM
Genel komutlar

C.1.1.1- require-dir ve require-file komutları
C.1.1.2- code komutu
C.1.1.3- remove-dir ve remove file komutları
C.1.1.4- move-dir ve move-file komutları
C.1.1.5- create-dir ve create-file komutları
C.1.2- .mod veya .xml uzantılı dosyalar ve içerdikleri komutların anlamları
C.2- Uygulama

C.2.1-  .mod uzantılı dosyalara sahip paketlerle uygulama

C.2.1.1 <edit file>     </edit file>
C.2.1.2 <search for>     </search for>
C.2.1.3 <add after>      </add after>
C.2.1.4 <add before>     </add before>
C.2.1.5 <replace>     </replace>
C.2.1.6 <append>      </append>
C.2.2-  .xml uzantılı dosyalara sahip paketlerle uygulama

C.2.2.1 <file> komutu
C.2.2.2 <operation> komutu
C.2.2.3 <search> komutu
C.2.2.4 <add> komutu
Bunlarin hangisine tiklayib baksam arcade ziyaretci ve shotbox modulunu kura bilirim?SMF 1.1 Rc2 icin indirdim kurdum olmadi yardimci olurmusunuz?Simdiden Tesekkur ederim
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: Arbalot on June 04, 2006, 11:50:32 AM
onların hepsini okuman gerekiyor...

onları hepsi zaten manuel mod kurlumunun aşamalarını anlatıyor...
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: McRoyaL on June 04, 2006, 12:02:04 PM
Okudum ama bi sey anlamadimki hangi kodu hangi dosyaya eklicez yazmiyo sadece kodu yazilmis Bideki modullerin icinde bazi dosyalar bulunmuyo niye?Ben Default tema kullaniyom bi arkadas dediki modullarin hepsi default temaya otomatik kuruluyo sorunsuz ama sorunlar cikdi hangi temani kullansam tum moduller sorunsuz calisir?yani manual kurulum diyil otomatik kura biliyim?paylasdigin icin tsk
Title: Re: Modlar her temaya nasıl kurulur? Manuel Kurulum
Post by: yavuzturk on June 04, 2006, 06:25:05 PM
Slm arkadaşlar ben igoh tema kullanıyorum.reklam modülünü kurdum.Galiba manuel kurulacakmıs.?FTPye Idan önce nereleri değiştircem ???
iyi çalışmalar...
Title: Re: Manuel Kurulum - Ayrıntılı Anlatım
Post by: Elmacik on June 08, 2006, 10:55:16 AM
Okudum ama bi sey anlamadimki hangi kodu hangi dosyaya eklicez yazmiyo sadece kodu yazilmis Bideki modullerin icinde bazi dosyalar bulunmuyo niye?Ben Default tema kullaniyom bi arkadas dediki modullarin hepsi default temaya otomatik kuruluyo sorunsuz ama sorunlar cikdi hangi temani kullansam tum moduller sorunsuz calisir?yani manual kurulum diyil otomatik kura biliyim?paylasdigin icin tsk

Sadece varsayılan (yani default) temada otomatik kurulum olur. Pakette tanımlanmadıkça diğer temalarda otomatik kurulum olmaz.

Slm arkadaşlar ben igoh tema kullanıyorum.reklam modülünü kurdum.Galiba manuel kurulacakmıs.?FTPye Idan önce nereleri değiştircem ???
iyi çalışmalar...

Bu başlığın ilk mesajını oku. İlk önce "Bu rehberi nasıl kullanmalıyım" diyen yazıyı oku.
Eğer bir şey anlamazsan, o zaman Arbalot'un yazdığı diğer manuel kurulum başlığını oku.
Title: Re: Manuel Kurulum - Ayrıntılı Anlatım
Post by: Arbalot on June 08, 2006, 11:10:40 AM
Seni Tekrar Bularda Görmek Güzel Elmacik
Title: Re: Manuel Kurulum - Ayrıntılı Anlatım
Post by: Elmacik on June 08, 2006, 11:12:45 AM
Teşekkür ederim Arbalot :)
Title: Re: Manuel Kurulum - Ayrıntılı Anlatım
Post by: Manager_42 on June 15, 2006, 02:22:42 PM
çok güzel bir anlatım 4. okuyuşumda anladım (uygulayarak  :D ) da sorun şurada tüm ayarlamaları temam SafMultiColor Orange ve tema dosyalarındaki ayarlamaları yaptım source daki ModSettings'e geldiğimde bir hata veriyor sitede (Forum Seçenekleri Sanırım) Hata şu :

Parse error: syntax error, unexpected T_ARRAY, expecting '{' in /home/selcuk42/public_html/salkadokuz/forum/Sources/ModSettings.php on line 280

280 inci satırda da
 279:                                // Compact pages?
280:                                array('check', 'compactTopicPagesEnable'),

ne yapmalıyım?
Title: Re: Manuel Kurulum - Ayrıntılı Anlatım
Post by: Elmacik on June 15, 2006, 07:19:50 PM
Manager_42, bir yerde yanlış yapmışsın. Bir kodu ya eksik veya iki defa kopyalamışsın.
275-290 arası satırları yollar mısın?
Title: Re: Manuel Kurulum - Ayrıntılı Anlatım
Post by: SeyyitHan on June 16, 2006, 05:19:47 PM
Modifikasyonlar (Moderators: alperuzi, Elmacik, HarzeM) > Topic: Manuel Kurulum - Ayrıntılı Anlatım

HarzeM Dilber MC  için teşekkürler çok güzel olmuş.Dilber MC ye uyumlu hazır mod var mı acaba?

Bakın mantığı anladım aslına bakılırsa çok basit ama dikkat ve titizlik gerektiriyor.Mutlaka düzenli bir şekilde hangi dosyada ne değiştirdiniz bunu bir kenara kaydetmeli ve yedek almalısınız.Ben daha denemedim ama bunlar şart.Sonradan bir sakatlık çıkmasın.

Olay basit gibi,böyle diyorum ama denemeden önce aşağıda söyleyeceklerimin teyyidini istiyorum arkadaşlar,bakalım doğru mu yapıyorum.

Kullanmak istediğim modu indiriyorum.İçinde şunlar var.
(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fimg461.imageshack.us%2Fimg461%2F350%2Frnek1eh.jpg&hash=709370ca9d8bd623cc5e480e68c67f10)
package-info.xml de modun özellikleri,kullanılabili versiyonları var.
.mod uzantılılar da dosyalarda yapacağımız değişiklikleri gösteriyor.
.mod uzantılı dosyaların sonlarındaki;
.....1.0.x
.....1rc1
.....1rc2  lar da bizim bu modu kullanmak istediğimiz forumumuzun versiyonları.
benim forumum SMF 1.1 RC2, ben de HideTagMod1.1rc2 MOD dosyası üzerindeki gösterilen değişiklikleri yapacağım.

HideTagMod1.1rc2  de il birkaç satır da diyor ki;

Code: [Select]
<id>
din1031:HideTag
</id>

<version>
1.18
</version>
<edit file>
$sourcedir/ModSettings.php
</edit file>

<search for>
array('check', 'approveAccountDeletion'),
</search for>

<add after>
array('rule'),
array('text', 'hide_hiddentext'),
array('check', 'hide_adminshouldsee'),
</add after>

<edit file>
$sourcedir/Display.php
</edit file>

<search for>
// Find the previous or next topic.  Make a fuss if there are no more.
</search for>

<add before>

// Find if there a post from you in this thread :) (For the hide tag)
if ($user_info['is_admin'] && !empty($modSettings['hide_adminshouldsee']))
$context['user_post_avaible'] = 1;
elseif (!$user_info['is_guest']) {
$request = db_query("
SELECT ID_MSG, ID_MEMBER
FROM {$db_prefix}messages
WHERE ID_TOPIC = $topic AND ID_MEMBER = $ID_MEMBER
LIMIT 1", __FILE__, __LINE__);

if (mysql_num_rows($request)) $context['user_post_avaible'] = 1;
else $context['user_post_avaible'] = 0;
mysql_free_result($request);
}
else $context['user_post_avaible'] = 0; //Anyway no way you should see it!
</add before>


En baştan bir iki satırda ne diyor bakalım.

Versiyon,ben SMF 1.1 RC2 olan forumumda bunu kullanabilirim.
Code: [Select]
<version>
1.18
</version>

Buradan sonra düzenlemeye başlıyoruz.

Code: [Select]
<edit file>
$sourcedir/ModSettings.php
</edit file>

Düzenleyeceğimiz dosya / public_html / forum / Sources /   içindeki ModSettings.php

ftp içinde dosyayı bulup bilgisayarımıza kopyalıyoruz ve açıyoruz,malum dosyanın içi şöyle;

Code: [Select]
<?php
/******************************************************************************
* ModSettings.php                                                             *
*******************************************************************************
* SMF: Simple Machines Forum                                                  *
* Open-Source Project Inspired by Zef Hemel (zef@zefhemel.com)                *
* =========================================================================== *
* Software Version:           SMF 1.1 RC2                                     *
* Software by:                Simple Machines (http://www.simplemachines.org) *
* Copyright 2001-2005 by:     Lewis Media (http://www.lewismedia.com)         *
* Support, News, Updates at:  http://www.simplemachines.org                   *
*******************************************************************************
* This program is free software; you may redistribute it and/or modify it     *
* under the terms of the provided license as published by Lewis Media.        *
*                                                                             *
* This program is distributed in the hope that it is and will be useful,      *
* but WITHOUT ANY WARRANTIES; without even any implied warranty of            *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                        *
*                                                                             *
* See the "license.txt" file for details of the Simple Machines license.      *
* The latest version can always be found at http://www.simplemachines.org.    *
******************************************************************************/
if (!defined(&#39;SMF&#39;))
die(&#39;Hacking attempt...&#39;);

/* This file is here to make it easier for installed mods to have settings
and options.  It uses the following functions:

void ModifyFeatureSettings()
// !!!

void ModifyFeatureSettings2()
// !!!

void ModifyBasicSettings()
// !!!

void ModifyLayoutSettings()
// !!!

void ModifyKarmaSettings()
// !!!

Adding new settings to the $modSettings array:
---------------------------------------------------------------------------
// !!!
*/

/* Adding options to one of the setting screens isn&#39;t hard.  The basic format for a checkbox is:
array(&#39;check&#39;, &#39;nameInModSettingsAndSQL&#39;),

   And for a text box:
array(&#39;text&#39;, &#39;nameInModSettingsAndSQL&#39;)
   (NOTE: You have to add an entry for this at the bottom!)

   In these cases, it will look for $txt[&#39;nameInModSettingsAndSQL&#39;] as the description,
   and $helptxt[&#39;nameInModSettingsAndSQL&#39;] as the help popup description.

Here&#39;s a quick explanation of how to add a new item:

 * A text input box.  For textual values.
ie. array(&#39;text&#39;, &#39;nameInModSettingsAndSQL&#39;, &#39;OptionalInputBoxWidth&#39;,
&$txt[&#39;OptionalDescriptionOfTheOption&#39;], &#39;OptionalReferenceToHelpAdmin&#39;),

 * A text input box.  For numerical values.
ie. array(&#39;int&#39;, &#39;nameInModSettingsAndSQL&#39;, &#39;OptionalInputBoxWidth&#39;,
&$txt[&#39;OptionalDescriptionOfTheOption&#39;], &#39;OptionalReferenceToHelpAdmin&#39;),

 * A text input box.  For floating point values.
ie. array(&#39;float&#39;, &#39;nameInModSettingsAndSQL&#39;, &#39;OptionalInputBoxWidth&#39;,
&$txt[&#39;OptionalDescriptionOfTheOption&#39;], &#39;OptionalReferenceToHelpAdmin&#39;),

 * A check box.  Either one or zero. (boolean)
ie. array(&#39;check&#39;, &#39;nameInModSettingsAndSQL&#39;, null, &$txt[&#39;descriptionOfTheOption&#39;],
&#39;OptionalReferenceToHelpAdmin&#39;),

 * A selection box.  Used for the selection of something from a list.
ie. array(&#39;select&#39;, &#39;nameInModSettingsAndSQL&#39;, array(&#39;valueForSQL&#39; => &$txt[&#39;displayedValue&#39;]),
&$txt[&#39;descriptionOfTheOption&#39;], &#39;OptionalReferenceToHelpAdmin&#39;),
Note that just saying array(&#39;first&#39;, &#39;second&#39;) will put 0 in the SQL for &#39;first&#39;.

 * A password input box. Used for passwords, no less!
ie. array(&#39;password&#39;, &#39;nameInModSettingsAndSQL&#39;, &#39;OptionalInputBoxWidth&#39;,
&$txt[&#39;descriptionOfTheOption&#39;], &#39;OptionalReferenceToHelpAdmin&#39;),

For each option:
type (see above), variable name, size/possible values, description, helptext.
OR make type &#39;rule&#39; for an empty string for a horizontal rule.
OR make type &#39;heading&#39; with a string for a titled section. */

// This function passes control through to the relevant tab.
function ModifyFeatureSettings()
{
global $context$txt$scripturl$modSettings$sourcedir;

// You need to be an admin to edit settings!
isAllowedTo(&#39;admin_forum&#39;);

// All the admin bar, to make it right.
adminIndex(&#39;edit_mods_settings&#39;);
loadLanguage(&#39;Help&#39;);
loadLanguage(&#39;ModSettings&#39;);

// Will need the utility functions from here.
require_once($sourcedir . &#39;/ManageServer.php&#39;);

$context[&#39;page_title&#39;] = $txt[&#39;modSettings_title&#39;];
$context[&#39;sub_template&#39;] = &#39;show_settings&#39;;

$subActions = array(
&#39;basic&#39; => &#39;ModifyBasicSettings&#39;,
&#39;layout&#39; => &#39;ModifyLayoutSettings&#39;,
&#39;karma&#39; => &#39;ModifyKarmaSettings&#39;,
);

// By default do the basic settings.
$_REQUEST[&#39;sa&#39;] = isset($_REQUEST[&#39;sa&#39;]) && isset($subActions[$_REQUEST[&#39;sa&#39;]]) ? $_REQUEST[&#39;sa&#39;] : &#39;basic&#39;;
$context[&#39;sub_action&#39;] = $_REQUEST[&#39;sa&#39;];

// Load up all the tabs...
$context[&#39;admin_tabs&#39;] = array(
&#39;title&#39; => &$txt[&#39;modSettings_title&#39;],
&#39;help&#39; => &#39;modsettings&#39;,
&#39;description&#39; => $txt[&#39;smf3&#39;],
&#39;tabs&#39; => array(
&#39;basic&#39; => array(
&#39;title&#39; => $txt[&#39;mods_cat_features&#39;],
&#39;href&#39; => $scripturl . &#39;?action=featuresettings;sa=basic;sesc=&#39; . $context[&#39;session_id&#39;],
),
&#39;layout&#39; => array(
&#39;title&#39; => $txt[&#39;mods_cat_layout&#39;],
&#39;href&#39; => $scripturl . &#39;?action=featuresettings;sa=layout;sesc=&#39; . $context[&#39;session_id&#39;],
),
&#39;karma&#39; => array(
&#39;title&#39; => $txt[&#39;smf293&#39;],
&#39;href&#39; => $scripturl . &#39;?action=featuresettings;sa=karma;sesc=&#39; . $context[&#39;session_id&#39;],
&#39;is_last&#39; => true,
),
),
);

// Select the right tab based on the sub action.
if (isset($context[&#39;admin_tabs&#39;][&#39;tabs&#39;][$context[&#39;sub_action&#39;]]))
$context[&#39;admin_tabs&#39;][&#39;tabs&#39;][$context[&#39;sub_action&#39;]][&#39;is_selected&#39;] = true;

// Call the right function for this sub-acton.
$subActions[$_REQUEST[&#39;sa&#39;]]();
}

// This function basically just redirects to the right save function.
function ModifyFeatureSettings2()
{
global $context$txt$scripturl$modSettings$sourcedir;

isAllowedTo(&#39;admin_forum&#39;);
loadLanguage(&#39;ModSettings&#39;);

// Quick session check...
checkSession();

require_once($sourcedir . &#39;/ManageServer.php&#39;);

$subActions = array(
&#39;basic&#39; => &#39;ModifyBasicSettings&#39;,
&#39;layout&#39; => &#39;ModifyLayoutSettings&#39;,
&#39;karma&#39; => &#39;ModifyKarmaSettings&#39;,
);

// Default to core (I assume)
$_REQUEST[&#39;sa&#39;] = isset($_REQUEST[&#39;sa&#39;]) && isset($subActions[$_REQUEST[&#39;sa&#39;]]) ? $_REQUEST[&#39;sa&#39;] : &#39;basic&#39;;

// Actually call the saving function.
$subActions[$_REQUEST[&#39;sa&#39;]]();
}

function 
ModifyBasicSettings()
{
global $txt$scripturl$context$settings$sc;

$config_vars = array(
// Big Options... polls, sticky, bbc....
array(&#39;select&#39;, &#39;pollMode&#39;, array(&$txt[&#39;smf34&#39;], &$txt[&#39;smf32&#39;], &$txt[&#39;smf33&#39;])),
&#39;&#39;,
// Basic stuff, user languages, titles, flash, permissions...
array(&#39;check&#39;, &#39;allow_guestAccess&#39;),
array(&#39;check&#39;, &#39;userLanguage&#39;),
array(&#39;check&#39;, &#39;allow_editDisplayName&#39;),
array(&#39;check&#39;, &#39;allow_hideOnline&#39;),
array(&#39;check&#39;, &#39;allow_hideEmail&#39;),
array(&#39;check&#39;, &#39;guest_hideContacts&#39;),
array(&#39;check&#39;, &#39;titlesEnable&#39;),
array(&#39;check&#39;, &#39;enable_buddylist&#39;),
array(&#39;text&#39;, &#39;default_personalText&#39;),
array(&#39;int&#39;, &#39;max_signatureLength&#39;),
&#39;&#39;,
// Stats, compression, cookies.... server type stuff.
array(&#39;text&#39;, &#39;time_format&#39;),
array(&#39;select&#39;, &#39;number_format&#39;, array(&#39;1234.00&#39; => &#39;1234.00&#39;, &#39;1,234.00&#39; => &#39;1,234.00&#39;, &#39;1.234,00&#39; => &#39;1.234,00&#39;, &#39;1 234,00&#39; => &#39;1 234,00&#39;, &#39;1234,00&#39; => &#39;1234,00&#39;)),
array(&#39;float&#39;, &#39;time_offset&#39;),
array(&#39;int&#39;, &#39;failed_login_threshold&#39;),
array(&#39;int&#39;, &#39;lastActive&#39;),
array(&#39;check&#39;, &#39;trackStats&#39;),
array(&#39;check&#39;, &#39;hitStats&#39;),
array(&#39;check&#39;, &#39;enableErrorLogging&#39;),
array(&#39;check&#39;, &#39;securityDisable&#39;),
&#39;&#39;,
// Reactive on email, and approve on delete
array(&#39;check&#39;, &#39;send_validation_onChange&#39;),
array(&#39;check&#39;, &#39;approveAccountDeletion&#39;),
&#39;&#39;,
// Option-ish things... miscellaneous sorta.
array(&#39;check&#39;, &#39;allow_disableAnnounce&#39;),
array(&#39;check&#39;, &#39;disallow_sendBody&#39;),
array(&#39;check&#39;, &#39;modlog_enabled&#39;),
array(&#39;check&#39;, &#39;queryless_urls&#39;),
&#39;&#39;,
// Width/Height image reduction.
array(&#39;int&#39;, &#39;max_image_width&#39;),
array(&#39;int&#39;, &#39;max_image_height&#39;),
&#39;&#39;,
// Reporting of personal messages?
array(&#39;check&#39;, &#39;enableReportPM&#39;),
array(&#39;int&#39;, &#39;max_pm_recipients&#39;),
);

// Saving?
if (isset($_GET[&#39;save&#39;]))
{
saveDBSettings($config_vars);
redirectexit(&#39;action=featuresettings;sa=basic&#39;);

loadUserSettings();
writeLog();
}

$context[&#39;post_url&#39;] = $scripturl . &#39;?action=featuresettings2;save;sa=basic&#39;;
$context[&#39;settings_title&#39;] = $txt[&#39;mods_cat_features&#39;];

prepareDBSettingContext($config_vars);
}

function 
ModifyLayoutSettings()
{
global $txt$scripturl$context$settings$sc;

$config_vars = array(
// Compact pages?
array(&#39;check&#39;, &#39;compactTopicPagesEnable&#39;),
array(&#39;int&#39;, &#39;compactTopicPagesContiguous&#39;, null, $txt[&#39;smf235&#39;] . &#39;<div class="smalltext">&#39; . str_replace(&#39; &#39;, &#39;&nbsp;&#39;, &#39;"3" &#39; . $txt[&#39;smf236&#39;] . &#39;: <b>1 ... 4 [5] 6 ... 9</b>&#39;) . &#39;<br />&#39; . str_replace(&#39; &#39;, &#39;&nbsp;&#39;, &#39;"5" &#39; . $txt[&#39;smf236&#39;] . &#39;: <b>1 ... 3 4 [5] 6 7 ... 9</b>&#39;) . &#39;</div>&#39;),
&#39;&#39;,
// Stuff that just is everywhere - today, search, online, etc.
array(&#39;select&#39;, &#39;todayMod&#39;, array(&$txt[&#39;smf290&#39;], &$txt[&#39;smf291&#39;], &$txt[&#39;smf292&#39;])),
array(&#39;check&#39;, &#39;topbottomEnable&#39;),
array(&#39;check&#39;, &#39;onlineEnable&#39;),
array(&#39;check&#39;, &#39;enableVBStyleLogin&#39;),
&#39;&#39;,
// Pagination stuff.
array(&#39;int&#39;, &#39;defaultMaxMembers&#39;),
&#39;&#39;,
// This is like debugging sorta.
array(&#39;check&#39;, &#39;timeLoadPageEnable&#39;),
array(&#39;check&#39;, &#39;disableHostnameLookup&#39;),
&#39;&#39;,
// Who&#39;s online.
array(&#39;check&#39;, &#39;who_enabled&#39;),
);

// Saving?
if (isset($_GET[&#39;save&#39;]))
{
saveDBSettings($config_vars);
redirectexit(&#39;action=featuresettings;sa=layout&#39;);

loadUserSettings();
writeLog();
}

$context[&#39;post_url&#39;] = $scripturl . &#39;?action=featuresettings2;save;sa=layout&#39;;
$context[&#39;settings_title&#39;] = $txt[&#39;mods_cat_layout&#39;];

prepareDBSettingContext($config_vars);
}

function 
ModifyKarmaSettings()
{
global $txt$scripturl$context$settings$sc;

$config_vars = array(
// Karma - On or off?
array(&#39;select&#39;, &#39;karmaMode&#39;, explode(&#39;|&#39;, $txt[&#39;smf64&#39;])),
&#39;&#39;,
// Who can do it.... and who is restricted by time limits?
array(&#39;int&#39;, &#39;karmaMinPosts&#39;),
array(&#39;float&#39;, &#39;karmaWaitTime&#39;),
array(&#39;check&#39;, &#39;karmaTimeRestrictAdmins&#39;),
&#39;&#39;,
// What does it look like?  [smite]?
array(&#39;text&#39;, &#39;karmaLabel&#39;),
array(&#39;text&#39;, &#39;karmaApplaudLabel&#39;),
array(&#39;text&#39;, &#39;karmaSmiteLabel&#39;),
);

// Saving?
if (isset($_GET[&#39;save&#39;]))
{
saveDBSettings($config_vars);
redirectexit(&#39;action=featuresettings;sa=karma&#39;);
}

$context[&#39;post_url&#39;] = $scripturl . &#39;?action=featuresettings2;save;sa=karma&#39;;
$context[&#39;settings_title&#39;] = $txt[&#39;smf293&#39;];

prepareDBSettingContext($config_vars);
}

?>


şimdi tekrar bir sonraki adımda yapacağımız düzenleme için HideTagMod1.1rc2 ye bakıyoruz.Diyor ki bize ;

Code: [Select]
<search for>
array('check', 'approveAccountDeletion'),
</search for>

bu kodla birlikte baştan itibaremn anlIk gerekirse diyor ki bize source klasörü içindeki ModSettings.php dosyasında bulunan array('check', 'approveAccountDeletion'), komutunu bul!Bu komutu buluyoruz.

Code: [Select]
'',
// Reactive on email, and approve on delete
array('check', 'send_validation_onChange'),
array('check', 'approveAccountDeletion'),
array('rule'),
array('text', 'hide_hiddentext'),
array('check', 'hide_adminshouldsee'),
'',

ModSettings.php dosyası içinde bir paragrafta komut bu şekilde bulunuyor.

bir sonradi aşama ekleme yani add,tekrar rehberimiz olan HideTagMod1.1rc2.MOD dosyasına dönüp yapacağımız değişikliğin ne olduğuna bakıyoruz.

diyor ki HideTagMod1.1rc2.MOD ;

Code: [Select]
<add after>
array('rule'),
array('text', 'hide_hiddentext'),
array('check', 'hide_adminshouldsee'),
</add after>

o bulduğun array('check', 'approveAccountDeletion'), komutundan sonra bu komutu ekle.

Code: [Select]
'',
// Reactive on email, and approve on delete
array('check', 'send_validation_onChange'),
array('check', 'approveAccountDeletion'),
array('rule'),
array('text', 'hide_hiddentext'),
array('check', 'hide_adminshouldsee'),
array('rule'),
array('text', 'hide_hiddentext'),
array('check', 'hide_adminshouldsee'),
'',

sonuçta bu çıkıyor ortaya.

olay basit(tabi ben doğru anlamışsam) <edit file> komutu görünce anla ,bu komut arasında gösterilen dosya içinde değişiklik yapacaksın.
 <search for> görünce anla, bu komut arasında gösterilen komutu hedef dosyada bul

<add before> ve </add after> görünce anla; bu komutlar arasındaki komuttan önce veya sonra yukarıda <search for> ile bulduğun komutu ekleyeceksin.

Bu mudur üstadlar?

Eğer böyleyse merak ettiğim şu;ekliyoruz falan ya kodları üst alt satır boşlukları yanlardaki boşluklar önemli mi?Ne bileyim sanki önemliymiş gibi ::)

Mesela diyor ki;

Code: [Select]
<search for>
// Find the previous or next topic.  Make a fuss if there are no more.
</search for>

<add before>

// Find if there a post from you in this thread :) (For the hide tag)
if ($user_info['is_admin'] && !empty($modSettings['hide_adminshouldsee']))
$context['user_post_avaible'] = 1;
elseif (!$user_info['is_guest']) {
$request = db_query("
SELECT ID_MSG, ID_MEMBER
FROM {$db_prefix}messages
WHERE ID_TOPIC = $topic AND ID_MEMBER = $ID_MEMBER
LIMIT 1", __FILE__, __LINE__);

if (mysql_num_rows($request)) $context['user_post_avaible'] = 1;
else $context['user_post_avaible'] = 0;
mysql_free_result($request);
}
else $context['user_post_avaible'] = 0; //Anyway no way you should see it!
</add before>

" // Find the previous or next topic.  Make a fuss if there are no more. "bunu bul bunun önüne" // Find if there a post from you in this thread :) (For the hide tag)" diye başlayan komut dizisini ekle

Code: [Select]
}
else $context['user_post_avaible'] = 0; //Anyway no way you should see it!
// Find if there a post from you in this thread :) (For the hide tag)
if ($user_info['is_admin'] && !empty($modSettings['hide_adminshouldsee']))
$context['user_post_avaible'] = 1;
elseif (!$user_info['is_guest']) {
$request = db_query("
SELECT ID_MSG, ID_MEMBER
FROM {$db_prefix}messages
WHERE ID_TOPIC = $topic AND ID_MEMBER = $ID_MEMBER
LIMIT 1", __FILE__, __LINE__);

if (mysql_num_rows($request)) $context['user_post_avaible'] = 1;
else $context['user_post_avaible'] = 0;
mysql_free_result($request);
}
else $context['user_post_avaible'] = 0; //Anyway no way you should see it!
        // Find the previous or next topic.  Make a fuss if there are no more.
if (isset($_REQUEST['prev_next']) && ($_REQUEST['prev_next'] == 'prev' || $_REQUEST['prev_next'] == 'next'))
{

Böyle oluyor.Doğru mu?satırlar,sağ sol boşluklar,paragraflar falan benim kafamı karıştırdı.Pek deneyemedim.anladığımı(tabi doğruysa)farkedince yazıverdim.çok uzun oldu umarım doğrudur ve diğer arkadaşlara da yardımcı olur.İletinin uzunluğu yüzünden verdiğim rahatsızlıktan dolayı özür dilerim :-\

ConTEXT editörü ile yaptığım bu son örneğin görüntüsü de bu;

(https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fimg222.imageshack.us%2Fimg222%2F1196%2Frnek25om.jpg&hash=c4c367f744430b6c6dd41252738275c4)
Title: Re: Manuel Kurulum - Ayrıntılı Anlatım
Post by: SeyyitHan on June 16, 2006, 05:34:02 PM
hımm şimdi farkediyorum önemli eksiklerim var.package-info 'da daha yapılması gerekenler varmış.Mod arkadaşlar yazdıkalrıma gözatarlarsa sevinirim.Eksikler yüzünden buna bakıp birileri hata yapsın istemem.Gerekirse konuyu silebilirsiniz.

Teşekkürler.
Title: Re: Manuel Kurulum - Ayrıntılı Anlatım
Post by: Elmacik on June 17, 2006, 07:57:05 AM
Seyyithan, doğru anlamışsın, yani olayın mantığını çözümüşsün.
Bu yazının amacı da buydu.

Boşluklara gelince, onların önemi yok. Sadece düzen açısından dosyalarla aşina olanlar için bir önemi var. Yani neyin nerede olduğunu rahatça görmek ve daha rahat düzenlemeler yapabilmek için.
Ondan dolayı boşluklarla beraber kopyalarsan daha iyi olur.
Kimi arkadaşların zannetiği gibi o boşluklar sitenizin açılmasını yavaşlIz, çünkü o boşluklar tarayıcıya yansımıyor.
Title: Re: Manuel Kurulum - Ayrıntılı Anlatım
Post by: _mucahid_ on June 25, 2006, 09:25:29 AM
selamun aleykum

Elmacik her şeyden önce makale için çok teşekkur ederim. oto kurulum hep hata veriyordu manuel kurulumu epey aramıştım.

hide modu kurdum. ilk once olayı çozemedik ama adminden ayar yapılıyormus onuda sonradan çozduk. ama bu kurulu modlar arasına gelmedi hide modu bu normalmidir yoksa eksik yaptığımız bi durum mu var.
Title: Re: Manuel Kurulum - Ayrıntılı Anlatım
Post by: Elmacik on June 25, 2006, 10:32:21 AM
@mucahid, oraya gelmez normaldir. Çünkü manuel kurmuşsunuz.
Otomatik kurulum yapmamışsınız. Onun hiç bir önemi yok.
Title: Re: Manuel Kurulum - Ayrıntılı Anlatım
Post by: findpeople on June 25, 2006, 07:09:13 PM
bu manuel kurulum iyi güzelde modu kaldırmak istediğinde aynı işlemlerin tam tersini yapmak gerekiyor gene bayağ uğraştırıyor napalım artık katlancaz  :P
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: Ekshi on July 04, 2006, 06:56:19 AM
 Bu çalışman için teşekkür ederim Elmacik. Gayet açıklayıcı ve eğitici olmuş.
Title: Ynt: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: JessyJaMeS on July 09, 2006, 11:02:50 PM
Elmacık arkadaşımıza sonsuz teşekkur ediyorum ben..manuel mod kurmasını gözümde çok büyütmüştüm her bu yazısını okumaya başlayınca yarıya kadar okumadan bırakıyordum anlamadım sanıpta ama şimdi kendimi biraz verip okuyunca 2tane modu kurabildim manuel.çok saolasın.

Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: temkick on July 22, 2006, 02:15:58 PM
dostum ellerine sağlık..çok işime yaradı :)
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: evrimselce on July 23, 2006, 06:16:10 PM
Elmacık ve katkı sağlayan arkadaşlara çok teşekkürler.. Bu  konuda şu anda alıştırma turları atıyorum ama bir kaç gün içinde çözeceğime inanıyorum.. Kolay gelsin herkeze paylaşımlar harika  ;)
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: SacmaliK on July 29, 2006, 07:56:31 PM
Elmacik  Bunu oturup yazdığına inanamıyorum kardeşim yaa millet okumaya üşenip heryere başlıklar açıyor " hatta ben bile " :) Ama okuyup anlamaya çalışınca gerçekten bulunmaz bir kaynak olduğu ortada.. neyse fazla kıpraşmayın benim bu yazıyı hatmetmem gerek  ;)
teşekkür ettim Elmacik bu döküman için.. HARİKASIN.!!!!!!!!
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: cedric1452 on August 17, 2006, 10:32:49 AM
teşekkürler eline sağlık gerçekten çok güzel anlatmışsın ancak benim kurulumda sorun çıktı

üstte uyarı olarak şu yazı var galiba eksik dosya olduğunu söylüyor ama orda yazılı olan dosya veritabanımda var

Warning: Missing argument 2 for db_query() in /home/cedric1452/public_html/forum/Sources/Subs.php on line 237

Warning: Missing argument 3 for db_query() in /home/cedric1452/public_html/forum/Sources/Subs.php on line 237

Warning: Missing argument 2 for db_query() in /home/cedric1452/public_html/forum/Sources/Subs.php on line 237

Warning: Missing argument 3 for db_query() in /home/cedric1452/public_html/forum/Sources/Subs.php on line 237


bir de altta veritabanı hatası olarak şunlar yazıyor

Incorrect table name ''
Dosya:
Satır:

zaten ben paketler menüsünü de kullanamıyorum şu anda paketlere tıklayınca sayfa bulunamıyor diyo

yardımcı olursan sevinirim..
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: Elmacik on August 17, 2006, 11:21:28 AM
Subs.php 'deki 237 nolu satırı ve civarını buraya kopyalayabilir misin?
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: cedric1452 on August 17, 2006, 01:31:27 PM
*/

// Do a query.  Takes care of errors too.
function db_query($db_string, $file, $line)
{
   global $db_cache, $db_count, $db_connection, $modSettings;
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: Elmacik on August 17, 2006, 06:42:59 PM
@cedric, hangi modu kurdun?
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: cedric1452 on August 17, 2006, 08:07:33 PM
ya ben bütün modları indirdim hepsini kurmaya çalıştım derken bu sorun oldu

hangisinde çıktı bilmiyorum
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: Elmacik on August 17, 2006, 08:09:43 PM
O modu düzenleyebiliriz ancak. Yani kodları görmeden hatanın neyden kaynaklandığını söyleyemem.
Hatanın ne olduğunu biliyorum ama üretici kodu görmeden çözemem.
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: cedric1452 on August 17, 2006, 08:44:13 PM
teşekkür ederim neden olduunu kesin olarak bilmiyorum maalesef tek sorun paket yükleme deil zaten
üye izinlerinin de seçenekleri gitmiş ayarlanamıyo

smfyi başka bir host üzer.ne yeniden kurdum şimdi veritabanını da geri yükledim ama geri yüklendi ama
Bazı sorgular çalıstırılamadı. Sorgular hakkında detaylı bilgi:
Line #1: Query was empty
bu hatayı verdi birde veritabanı teorikte yüklendi ama pratikte yüklenmedi anlamadım
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: cedric1452 on August 18, 2006, 04:32:04 AM
hata        CAPTCHA 0[1][1].1_TR   modunun kurulumunda olabilir

Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: XL-AdLocK on August 27, 2006, 03:32:34 PM
Code: [Select]
<operation>
<search position="replace"><![CDATA[
'layout' => array(]]>
</search>

<add><![CDATA[
'ad_management' => array(
'title' => $txt['ad_management'],
'href' => $scripturl . '?action=featuresettings;sa=ad_management;sesc=' . $context['session_id'],
),
'layout' => array(]]>
</add>
</operation>

 ya arkadasalr yukarıdakı kod nedemek tam olarak ne yapmam lazım acıklarmısınz
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: XL-AdLocK on August 28, 2006, 06:33:02 AM
yokmu bılen ya ?
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: WWaaaDDaaa on October 04, 2006, 03:13:59 PM
Elmacik super bi anlatim olmus kardes eline saglik...
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: omeryucee on November 03, 2006, 07:55:36 AM
güzel hatta süper çalışma benimgibi çöl ateşi kullananlar mod yüklemede hep sorun n yaşıyo
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: NoPasaran on December 01, 2006, 09:38:36 AM
Bu code arasında kalanları mod kurulmadan öncemi atıp çalıştıracağız yoksa modu kurup öylemi çalıştıracağız
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: pparker on December 16, 2006, 07:00:17 PM
Quote
<?xml version="1.0"?>
<!DOCTYPE package-info SYSTEM "http://www.simplemachines.org/xml/package-info">
<package-info xmlns="http://www.simplemachines.org/xml/package-info" xmlns:smf="http://www.simplemachines.org/">
   <name>Ad Managment</name>
   <id>jeremy:ads</id>
   <type>modification</type>
   <version>2.0</version>

   <install for="1.1 rc2,1.1 RC3, 1.1">
      <readme type="file">readme.txt</readme>
      <code>install.php</code>
      <modification>install.xml</modification>
      <require-file name="Ads.php" destination="$sourcedir" />
      <require-file name="LoadAds.php" destination="$sourcedir" />
      <require-file name="Ads.template.php" destination="$themedir" />
      <require-file name="Ads.english.php" destination="$languagedir" />
   </install>
   
   <uninstall>
      <modification reverse="true">install.xml</modification>
      <remove-file name="$sourcedir/Ads.php" />
      <remove-file name="$sourcedir/LoadAds.php" />
      <remove-file name="$themedir/Ads.template.php" />
      <remove-file name="$languagedir/Ads.english.php" />
   </uninstall>
</package-info>
evet arkadaşlar üstadlar benimde bir iki sorum olacak şimdi ben herşeyi anladım lakin bu package info dosyasındaki işlemleri bu sıraya göremi yapmalıyız?yani önce install.php yi ftp den ana dizine yükleyip sonra çalıştırıyoruz-ilk sırada o var- ardından install.xlm dosyasındakini makalede anlatılan şekliyle forumdaki dosyalarımıza uyguluyoruz,sonra Ads.php ti sources klasörümüze gönderiyoruz ,ardından LoadAds.php yi sources klasörüne gönderiyoruz..... devam ediyor hepsini yaptıktan sonra ne yapacağız ve anlattığım şekliylemi devam edeceğiz.tek anlamadığım nokta bu.yani bu nlatılanları bu sıraylamı yapacağız.bir öğrensem videolu anlatacam millete faydası olsun diye.
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: SacmaliK on December 24, 2006, 06:47:28 AM
evt aynen anladığın gibi sıralama pek önemli değil önemli olan hepsinin uygulanmış olması ancak öyle çalışır vaziyete gelir modifikasyon ama şu bakımdan önemli sıralama ne yaptım ne yapmadım karıştırmamak için :)
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: toutatis on February 07, 2007, 10:42:15 PM
Yapılabilecek en güzel açıklama yapılmış. Artık hiç bir mod kurulumunda sorun yaşayacağımı sanmıyorum. Emeğin için Allah razı olsun Elmacik :)
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: tarmaz on April 18, 2007, 04:54:31 AM
Güzel bir anlatım olmuş teşekkürler.
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: Emre_Ustegmen on May 27, 2007, 03:47:58 PM
Ya arkadaslar cok guzel bi anlatım ellerinize saglık ama bi resim veya videolu anlatım olsaydı bundan cok daha kolay anlasılırdı sahsen bende 3 kere okudum am anlamadım :(

Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: gsray on May 31, 2007, 09:23:05 AM
sağ ol arkadaşım güzel anlatmışsın ama ben hala farklı bir temaya modları uygulayamadım onu nasıl yaparız ?
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: yalnız_genç on June 16, 2007, 04:50:15 PM
dostum bunca emek harcamışsın ne kadar teşekkür etsek azdır.
Allah razı diyeceğim kısaca...
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: canazor on July 27, 2007, 05:42:12 AM
mükemmel teşekkürler dostum
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: pierlugi on October 06, 2007, 09:14:41 AM
Ben Şu Modları Anlamıyorum :S

Diyelim 24saat içinde girenler Mod. unu Kurcaz Ftp Den Girip hangi Dosyayla Oynucaz O Dosyayı Not Defteriyle Açıp Nası Kaydetcez :S

Örnek bir Resimli Anlatım Veya Video İle Anlatım Varmı ?
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: pierlugi on October 07, 2007, 03:18:18 PM
Cevap Yazacak Biri Yokmu ? :((
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: saheed on November 19, 2007, 06:01:32 AM
Ben Şu Modları Anlamıyorum :S

Diyelim 24saat içinde girenler Mod. unu Kurcaz Ftp Den Girip hangi Dosyayla Oynucaz O Dosyayı Not Defteriyle Açıp Nası Kaydetcez :S

Örnek bir Resimli Anlatım Veya Video İle Anlatım Varmı ?
paketi varsa admin panelden kur yok eğer manuel kurulum gerekiyorsa harf eksiği bile olmayan bu makaleyi düzgün bi şekilde anlayıp uygularsan başarılı olursun

teşekkürler kardeşim makale çok güzel eline sağlık
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: heyy_relaxx on March 31, 2008, 06:14:24 AM
Teşekkürler bu güzel döküman için..
Database'e etki etmeyen modların kurulması basit, paket çözümleyiciden halledilir.
Peki database'e etki eden modların manuel sorgusu nasıl olacak?
Örneğin download system (http://www.simplemachines.org/community/index.php?topic=228851.0) modunu kurmak istiyorum..
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: Alican3544 on July 21, 2008, 09:36:08 AM

Bu rehberi nasıl kullanmalıyım? (#post_rehber)

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ı (#post_basliklar)

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ı (#post_basliklar)

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ı (#post_basliklar)

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ı (#post_basliklar)
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ı (#post_basliklar)
C.1.1.1- require-dir   ve de  require-file  komutları
Ör:
Code: [Select]
<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:
Code: [Select]
<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ı (#post_basliklar)
C.1.1.5-create-dir ve create-file komutları Bu komutlar, dosya (file) ve klasör (dir) yarImı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:
Code: [Select]
$themedir/index.template.php   demek,  /Themes/default/index.template.php demek.
$boarddir/classic/index.template.php demek   /Themes/classic/index.template.php demek
Yukarı (#post_basliklar)
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ı (#post_basliklar)

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. (#post_url_bilgileri)
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:
Code: [Select]
<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:
Code: [Select]
<add>
<![CDATA[
echo '
<script language="JavaScript" type="text/javascript">]]>
</add>
Demek ki yeni düzenimiz şöyle olacak:
Code: [Select]
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 anlIya çalıştım, sorunuz olursa sormaktan çekinmeyin.
Yukarı (#post_basliklar)

D. Bir adet de örnek verelim

Ör:
Code: [Select]
<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:
Code: [Select]
<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:
Code: [Select]
<add after>
if ($context[‘user’][‘is_logged’])
</add after>

Demek ki, bu işlemi yaptığımızda yeni dosyamızda kodlar şu şekilde olacak:
Code: [Select]
$result = db_query
if ($context[‘user’][‘is_logged’])
Yukarı (#post_basliklar)

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 :)
Title: Re: Modifikasyonların Manuel Kurulumu - Ayrıntılı Anlatım
Post by: elifnaz on July 21, 2008, 07:10:01 PM
harika anlatilmiş yarın iyice incelerim insallah