Dökümanlar

Konuların altına hızlı cevap bölümünü nasıl koyarım?

Hızlı cevap bölümünü isteyen kişi Profil -> Forum Görünüm Özellikleri -> Mesajlarda hızlı cevap bölümünü... menüsünden ayarlayabilir. Eğer bütün kullanıcıların ayarlarını değiştirmek istiyorsanız: Yönetim -> Kullanımdaki Tema'nın Ayarları -> Üyelere özel seçeneklerin varsayılan değerlerini değiştir / Üyelerin seçeneklerini varsayılanla değiştir
1.1 için: Kullanıcılar Profillerinden > Forum Ayarları > Mesajlarda hızlı cevap bölümünü: Açık Olarak Göster olarak ayarlayabilirler. Bütün kullanıcıların ayarlarını değiştirmek için: Yönetim > Kullanılan Tema > Ayarları Sıfırla > Bu tema için varsayılan ayarları sıfırla > Mesajlarda hızlı cevap bölümünü: aynı şekilde Açık Olarak Göster olarak değiştirmek gerekir.


Ayrıca bu hızlı cevap bolumunde smileler ve bbc kod butonları koymak isterseniz
[Linkleri Görebilmek için ÜYE Olmalısınız!Hemen ÜYE OL!] modu kurmanız yeterli olacaktır.


Soru: Forum'um xxxxxx saldırısına uğradı, nasıl önlem alırım, ne yapmam gerek?
Cevap: Eğer herhangi bir saldırıdan şüpheleniyorsanız lütfen web sunucunuzun yöneticileri ve diğer yetkililer ile temasa geçiniz.


Soru: Yönetici acemi üye, nasıl yani?
Cevap: Kullanımdaki Tema ayarlarından -> Gruplandırılmış üyelerin grup başlıklarını gizle seçeneğini aktifleştiriniz.



Soru: SMF'in Flood koruma özelliği nedir, nasıl ayarlanır?
Cevap: SMF aynı IP adresinden gönderilecek iki mesaj arasındaki zamana dikkat eder. Bu zaman ise saniye olarak Yönetim -> Seçenekler ve Opsiyonlar -> Aynı IP adresinden gönderilecek iki mesaj arasındaki zaman limiti altından ayarlanabilir


Soru: Peki ama başka tema kuruyorum Türkçe butonlar çıkmıyor!
Cevap: Download bölümünden indirilen dil dosyalarında sadece varsayılan ve klasik temalarının Türkçe butonları vardır. Eğer başka bir tema kurduysanız o tema için hazırlanan Türkçe butonları indirip tema klasörünün içindeki images klasörüne koymanız gerekir (yani sonuçta blue diye bir tema kullanıyorsanız Türkçe butonlarının Kod:

PHP- Kodu:
/Themes/blue/images/turkish 
klasöründe olması gerekiyor

Soru: Üye olmayanların (ziyaretçi) forumumu gezmesini istemiyorum/istiyorum, bunu nereden ayarlayabilirm?
Cevap: Yönetim -> Seçenekler ve Opsiyonlar -> Ziyaretçiler forumu gezebilsin Bu ayarı işaretlemezseniz üye olmayanlar forumun herhangi bir sayfasına girdiklerinde şifre ekranı ile karşılaşırlar. Ayrıca ziyaretçilerin siteye girebilmelerini, ancak bölümlerin içine girememelerini veya sadece cevap yazamamalarını istiyorsanız İzinleri Ayarla -> Kayıtsız Ziyaretçiler -> Düzenle altından yapabilirsiniz.


Soru: Yeni tema nereden bulunur? Nasıl yüklenir?
Cevap: Türkçeye çevrilen temaları burada bulabilirsiniz. Eğer verilen linkler çalışmıyor ise lüften moderatörlerden birini özel measj yazın, en kısa zamanda düzeltmeye çalışırız. Yüklemek ise çok basittir, indirdiğiniz zip dosyasını Yönetim -> Tema ve Yerleşim Ayarları -> Yeni Tema Yükle kutusu altından seçip Yükle! butonuna tıkladığınızda temanız yüklenecektir. Yüklenmiş olan temaların bir listesi aynı ekranında sağındadır.

Eğer tema yüklenemiyorsa, muhtemelen temaların bulunduğu ../Themes klasörü yazılamaz konumdadır. Yazılabilir yapmak için herhangi bir FTP programı veya webhostunuzun cPanel'inden girin ve klasörün izinlerini 777 olarak ayarlayın. Bunu yapmanın yolları için buraya bakın.


Soru: Bazı yerlerde yazı olması gerekirken bomboş görünüyor veya forumun bazı yerleri görünmüyor. Sorun nedir?
Cevap:Ya default, yani varsayılan temayı sildiniz, yahut da Türkçe dil dosyalarını sildiniz. Kurulum paketinden /Themes/default klasörünü olduğu gibi geri yükleyin. Download bölümünden forumunuza uygun Türkçe dil dosyasını yükleyip, içindeki klasörü forumunza yükleyin
Ayrıca bu sorunun bir başka nedeni de, kullandığınız temanın veya dil dosyalarının, forum sürümünüze uyumlu olmamasından kaynaklanması olabilir.


Soru: Bir kategori içindeyken o anda o kategoride olan üyeleri nasıl gösterebilirim?
Veya aynı şekilde, bir konuyu okurken o konuyu okuyanları nasıl görebilirim?

Cevap: Admin -> Kullanımdaki tema -> Ana sayfaya ve iletilere bakanları göster


Soru: Dosyalarımdan biri silinirse veya yenisiyle değiştirirsem ne kaybederim?
Cevap: Hiç bir şey kaybetmezsiniz. Neden? Çünkü foruma ait tüm veriler, veritabanında saklanır. Bütün dosyaları da silseniz, hatta silip forumu yeniden de kursanız, açtığınızda görürsünüz ki bütün üyeler, bütün kategori, bölüm ve mesajlar yerli yerinde duruyor... Burada bilmeniz gereken, bir dosyayı yenisiyle değiştirirseniz, o dosyada değişiklik yapan bir mod kuruluysa sisteminizde, o mod artık çalışmayabilir. Eğer modun ne olduğunu bilmiyorsanız bu dediğimi umursamayın


Soru: Hep CHMOD deyip duruyorlar, nedir yahu bu chmod?
Cevap: CHMOD bir linux komutudur ve sunucunuzdaki (dolayısıyla sitenizdeki) dosyalara erişim izinlerini ayarlamanızı sağlar. Elimizin altında linux yok veya nasıl sunucuya erişip de bu komutu çalıştıralım diyorsanız, FTP istemciler bu işi pek güzel yapıyor Ör: FileZilla, FlashFXP, CuteFTP vs.. Ayrıntıya girmeyelim, chmod 644 yalnızca okunabilir dosyalar için (read-only) kullanılır; chmod 755, okunabilir ve çalıştırılabilir dosyalar içindir; chmod 777 ise, okuma, yazma ve çalıştırma izni vermek içindir. (Tüm izinler yani)
Nasıl ayarlayacaksınız? Herhangi bir FTP istemciyle sunucunuza girin, sonra erişim iznini değiştirmek istediğiniz dosya ve klasöre sağ tıklayın. Çıkan menüde CHMOD veya ATTRIBUTES seçeneğini görmelisiniz. Şimdi numerik alana istediğiniz izni yazabilirsiniz. Bu işlemi cPanel veya benzeri kontrol panellerinden de yapabilirsiniz. Dosya veya klasörünüzün ismine tıklayın, sağ üst köşede bir menü belirecek. Buradan "Change permissions" veya benzeri bir ifade bulacaksınız. Yine rakamsal olarak yazacaksınız sonra chmod değerini.
Siteniz bir Windows sunucu üzerindeyse, CHMOD sizin için değildir. O zaman da dosya izinlerini hostunuzun sağlamış olduğu kontrol paneline (genellikle Plesk) girerek ayarlayabilirsiniz.


SMF ile Coppermine Galeri Entegrasyonu



Varsayımlar:
  • [li]Herhangi bir SMF sürümü kurulu ve düzgün olarak çalışıyor[/li]


  • [li]Coppermine 1.4+ sürümü kurulu ve düzgün olarak çalışıyor[/li]
    [li]SMF ve Coppermine ile Türkçe dili kullanılıyor.[/li]
En son Coppermine sürümünü [Linkleri Görebilmek için ÜYE Olmalısınız!Hemen ÜYE OL!].


Copermine'ı Türkçe yapmanın en kolay yolu adresine

PHP- Kodu:
?lang=turkish 
ekini eklemektir.

Coppermine 1.4 ve sonraki sürümler Köprü Yöneticisi adında yeni bir sistem kullanırlar. Böylece php dosyalarını kurcalamanıza gerek kalmaz.

Öncelikle Coppermine'dan Admin seçenekleri butonuna tıklayarak yönetici paneline girin. Buradan Köprü ayarları başlığına, sonra da Köprü sihirbazı başlat butonuna tıklayınız. Yeni çıkan sayfadan


PHP- Kodu:
Simple Machines (SMF
seçeneğini seçerek ilerleyiniz.
Bir sonraki ekranda forumunuzun bulunduğu klasörü ve URL'yi girmeniz gerekecektir. BBS programınızdaki config dosyasının adresi: alanına girmeniz gereken şu an Coppermine yazılımını kurduğunuz klasöre göre yapılandırılmış klasördür. Mesela SMF forumunuz

PHP- Kodu:
/public_html/okul/projeler/smf 
ve Coppermine galerisi de

PHP- Kodu:
/public_html/okul/projeler/smf/coppermine 
ise (SMF ana klasörünün içine kurulum) girmeniz gereken:

PHP- Kodu:
../ 
Veya Coppermine'ı

PHP- Kodu:
/public_html/okul/projeler/coppermine 
klasörüne kurmak isterseniz (SMF ile Cppermine'ı aynı klasör içine kurmak) bu sefer girmeniz gereken:

PHP- Kodu:
../smf
olmalıdır.
Bir sonraki ekranda Mesaj kullanan gruplar oluştur?: sorusuna Evet cevabı verirseniz size Coppermine içinde bu kullanıcılar için de üye grubu oluşturulacaktır.
En son ekranda Bağlantıyı Aç seçeneğini seçerek köprüleme işlemini sonlandırın.
Eğer herşeyi doğru olarak yaptıysanız Coppermine içinden giriş işlemi yaptığınızda SMF'in giriş sayfasına yönlendirilirsiniz, ve gruplara bakarsanız SMF'te kullanıdğınız üye gruplarının Coppermine'da da kullanılmaya başlandığını görürsünüz. Bu yeni grupların izinlerini gözden geçirmenizi tavsiye ederim. Ayrıca ne zaman SMF içinden üye gruplarına değişiklik yaparsanız hemen ardından Coppermine'dan da grup ayarlarını kontrol etmeniz tavsiye edilir.
SMF ile birlikte çalışan Coppermine galeriniz hayırlı olsun![/

Mod: Arcade 1.2.4b
Çeviren: Elmacik
Açıklama: Bu mod, sitenize oyun bölümü ekler. Böylece kullanıcılarınız tek başlarına veya karşılıklı flash oyunlar oynayabilir veya da turnuvalar düzenleyebilirler.
URL: [Linkleri Görebilmek için ÜYE Olmalısınız!Hemen ÜYE OL!]
Uyumluluk: 1.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.1 Beta 3 Public, 1.1 RC1, 1.1 RC2
Türkçesi: Aşağıdaki SMFArcade_1.2.4b.zip isimli dosya.
Kullanım: Modun orijinalini değil burada verilen dosyayı kullanın. Paket olarak kurulumu yaptıktan sonra sitenizde, arcade_install.php dosyasını çalıştırın. (Paketin içinde)
Mod: Member Color Link 1.87
Çeviren: Elmacik
Açıklama: Üyelerin görünen adlarının heryerde grup renginde görünmesini sağlar.
URL: [Linkleri Görebilmek için ÜYE Olmalısınız!Hemen ÜYE OL!]
Uyumluluk: 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.1 RC1, 1.1 RC2
Türkçesi: Bu mesajdaki MemberColorLink dosyaları
Kullanım: Modun orijinalini değil burada verilen dosyayı kurun

Mod: Hide Tag Special 1.18
Çeviren: Elmacik
Açıklama: Bir mesaja gizli bilgi konulmasını ve üyelerin o mesaja cevap yazmadıkça bu gizli bilgiyi görememesini sağlar.
URL: [Linkleri Görebilmek için ÜYE Olmalısınız!Hemen ÜYE OL!]
Uyumluluk: 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.1 RC1, 1.1 RC2
Türkçesi: Bu mesajdaki HideTagSpecial1.18_TR.zip isimli dosya. Açıklamayı okuyun.
Kullanım: Modun orijinalini değil burada verilen dosyayı kurun.
Önemli not: SMF versiyonu 1.0.5 ve aşağısı olanlar, HideTagMod112a_turkish.tar.gz isimli dosyayı, ve SMF versiyonu 1.1 türevi olanlar, HideTagMod115_turkish.tar.gz isimli dosyayı indirip kuracaklar. Kullanmak için, mesajınızda gizlemek istediğiniz şeyi ifadeleri arasına koymanız gerekir.

Mod: Ultimate ShoutBox 1.33
Yazan: Elmacik
Açıklama: Sitenizde o anda üye olan kullanıcıların aktif olarak mesajlaşabileceği bir alan yaratır.
URL: [Linkleri Görebilmek için ÜYE Olmalısınız!Hemen ÜYE OL!]
Uyumluluk: 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.1 Beta, 1.1 RC1, 1.1 RC2
Türkçesi: Bu mesajdaki Shout_v1.33_TR.zip isimli dosya.
Kullanım: Modun orijinalini değil burada verilen dosyayı kurun. Sonra bu chat alanı nerede görünsün istiyorsanız, dosyanızda oraya şunu ekleyin:
Code:
if (function_exists('smfshout'))
smfshout();Örnek veriyorum eğer butonlardan sonra çıksın istiyorsanız, index.template.php dosyasında, şunu arayın: template_menu(); ve de verdiğim kodu bundan hemen sonraya ekleyin.

Mod: FAQ Tag 0.1
Çeviren: ASi ve MAVi
Açıklama: Forumunuzda Sıkça Sorulan Sorular oluşturmanızı sağlar.
URL: [Linkleri Görebilmek için ÜYE Olmalısınız!Hemen ÜYE OL!]
Uyumluluk: 1.1 RC2
Türkçesi: Aşağıdaki faq.zip isimli dosya.
Kullanım: Modun orijinalini değil burada verilen dosyayı kurun.


Mod: Thank You Mod 1.01
Çeviren: Elmacik
Açıklama: Üyelerin konulara teşekkür etmelerini sağlar. Saklama modunu kullanıyorsanız teşekkür eden üyeler gizli mesajları da görebilir.
URL: [Linkleri Görebilmek için ÜYE Olmalısınız!Hemen ÜYE OL!]
Uyumluluk: 1.0.5, 1.1 RC2
Türkçesi: Aşağıdaki ThankYouMod101.zip isimli dosya.
Kullanım: Modun orijinalini değil burada verilen dosyayı kurun

Mod: Users Online Today 1.4.0 beta 2
Çeviren: Elmacik
Açıklama: Forumunuzda o gün hangi üyelerin bağlanmış olduğunun görmeniz içindir..
URL: [Linkleri Görebilmek için ÜYE Olmalısınız!Hemen ÜYE OL!]
Uyumluluk: 1.1 RC2
Türkçesi: Aşağıdaki Users_Online_Today_TR.zip isimli dosya.
Kullanım: Modun orijinalini değil burada verilen dosyayı kurun.


Mod: Read Topic Permissions 1.0.2
Çeviren: Elmacik
Açıklama: Kullanıcıların normal veya sabit başlıkları okuyup okuyamayacaklarını ayarlamak için kullanılır.
URL: [Linkleri Görebilmek için ÜYE Olmalısınız!Hemen ÜYE OL!]
Uyumluluk: 1.1 RC1, 1.1 RC2
Türkçesi: Aşağıdaki ReadTopicPermission102.zip isimli dosya.
Kullanım: Modun orijinalini değil burada verilen dosyayı kurun.

Mod: Ad Management Mod 1.4
Çeviren: Elmacik
Açıklama: Forumda çeşitli yerlere reklam koymanızı sağlar.
URL: [Linkleri Görebilmek için ÜYE Olmalısınız!Hemen ÜYE OL!]
Uyumluluk: 1.0.5, 1.0.6, 1.1 RC2
Türkçesi: Aşağıdaki ad_mod isimli dosyalar.
Kullanım: Modun orijinalini değil burada verilen dosyayı kurun. Modu kurduktan sonra kullanıcı izinlerini ayarlayın. Forum sürümü 1.0.5 ve 1.0.6 olanlar ad_mod_1.0.6'yı; forum sürümü 1.1 RC2 olanlar ad_mod_rc2'yi indirecekler.

Mod: CAPTCHA 0.1
Çeviren: Elmacik
Açıklama: Yeni üyelik sırasında ve ziyaretçilerin mesaj yollamaları sırasında, otomatik kullanıma karşı kişilerin doğrulamaları için resimde kod gösterilmesini sağlar ve kişiden bu kodu doğru olarak girmesini ister.
URL: [Linkleri Görebilmek için ÜYE Olmalısınız!Hemen ÜYE OL!]
Uyumluluk: 1.0.5, 1.0.6, 1.1 RC2
Türkçesi: Aşağıdaki CAPTCHA 0.1_TR isimli dosyalar.
Kullanım: Modun orijinalini değil burada verilen dosyayı kurun.


" BUNLAR simplemachines.org'dan derlenmiştir "

Forumun alt kısmındaki üye guruplarının renkli olarak belirtilmesi için gerekli kodlar;



Boardindex.template.php dosyanda

Şunu bulun en sondadır

PHP- Kodu:
}?> 
PHP- Kodu:
echo '
<table border="0" width="100%" cellspacing="1" cellpadding="4" class="bordercolor">
        <tr>
            <td class="windowbg2" width="100%" valign="middle" align="center">
                                <font color=#000000> | </font>
                                <font color=red><b>Yönetici</b></font>
                                <font color=#000000> | </font>
                                <font color=blue><b>Süper Moderatör</b></font>
                                <font color=#000000> | </font>
                                <font color=green><b>Moderatör</b></font>
                                <font color=#000000> | </font>
                                <font color=orange><b>VIP Üye</b></font>
                                <font color=#000000> | </font>
            </td>
        </tr>
</table>'

Bunun için yapacağınız üç şey var.
Önce, Sources / Subs-Post.php dosyasını açın.

Bulun:

PHP- Kodu:
// Send off an email.
// Note: the $priority parameter is added merely for future compatibility.
function sendmail($to$subject$message$from null$message_id null$send_html false$priority 1$hotmail_fix null)
{
    global 
$webmaster_email$context$modSettings$txt$scripturl;
 
    
// So far so good.
    
$mail_result true;
 
    
// If the recipient list isn't an array, make it one.
    
$to_array is_array($to) ? $to : array($to);
 
    
// Sadly Hotmail doesn't support character sets properly.
    
if ($hotmail_fix === null)
    {
        
$hotmail_to = array();
        foreach (
$to_array as $i => $to_address)
        {
            if (
preg_match('~@hotmail.[a-zA-Z\.]{2,6}$~i'$to_address) === 1)
            {
                
$hotmail_to[] = $to_address;
                
$to_array array_diff($to_array, array($to_address));
            }
        }
 
        
// Call this function recursively for the hotmail addresses.
        
if (!empty($hotmail_to))
            
$mail_result sendmail($to$subject$message$from$message_id$send_html$prioritytrue);
 
        
// The remaining addresses no longer need the fix.
        
$hotmail_fix false;
 
        
// No other addresses left? Return instantly.
        
if (empty($to_array))
            return 
$mail_result;
    }
 
    
// Get rid of slashes and entities.
    
$subject un_htmlspecialchars(stripslashes($subject));
    
// Make the message use \r\n's only.
    
$message str_replace(array("\r""\n"), array(''"\r\n"), stripslashes($message));
 
    
// Make sure hotmail mails are sent as HTML so that HTML entities work.
    
if ($hotmail_fix && !$send_html)
    {
        
$send_html true;
        
$message strtr($message, array("\r\n" => "<br />\r\n"));
        
$message preg_replace('~(' preg_quote($scripturl'~') . '([?/][\w\-_%\.,\?&;=#]+)?)~''<a href="$1">$1</a>'$message);
    }
 
    list (, 
$from_name) = mimespecialchars(addcslashes($from !== null $from $context['forum_name'], '<>()\'\\"'), true$hotmail_fix);
    list (, 
$subject) = mimespecialchars($subjecttrue$hotmail_fix);
 
    
// Construct the mail headers...
    
$headers 'From: "' $from_name '" <' . (empty($modSettings['mail_from']) ? $webmaster_email $modSettings['mail_from']) . ">\r\n";
    
$headers .= $from !== null 'Reply-To: <' $from ">\r\n" '';
    
$headers .= 'Return-Path: ' . (empty($modSettings['mail_from']) ? $webmaster_email$modSettings['mail_from']) . "\r\n";
    
$headers .= 'Date: ' gmdate('D, d M Y H:i:s') . ' +0000' "\r\n";
 
    if (
$message_id !== null && empty($modSettings['mail_no_message_id']))
        
$headers .= 'Message-ID: <' md5($scripturl microtime()) . '-' $message_id strstr(empty($modSettings['mail_from']) ? $webmaster_email $modSettings['mail_from'], '@') . ">\r\n";
    
$headers .= "X-Mailer: SMF\r\n";
 
    
// pass this to the integration before we start modifying the output -- it'll make it easier later
    
if (isset($modSettings['integrate_outgoing_email']) && function_exists($modSettings['integrate_outgoing_email']))
    {
        if (
$modSettings['integrate_outgoing_email']($subject$message$headers) === false)
            return 
false;
    }
 
    
$charset = isset($context['character_set']) ? $context['character_set'] : $txt['lang_character_set'];
 
    list (
$charset$message$encoding) = mimespecialchars($messagefalse$hotmail_fix);
 
    
// Sending HTML?  Let's plop in some basic stuff, then.
    
if ($send_html)
    {
        
// This should send a text message with MIME multipart/alternative stuff.
        
$mime_boundary 'SMF-' md5($message time());
        
$headers .= 'Mime-Version: 1.0' "\r\n";
        
$headers .= 'Content-Type: multipart/alternative; boundary="' $mime_boundary '"' "\r\n";
        
$headers .= 'Content-Transfer-Encoding: ' . ($encoding == '' '7bit' $encoding);
 
        
// Save the original message...
        
$orig_message $message;
 
        
// But, then, dump it and use a plain one for dinosaur clients.
        
$message un_htmlspecialchars(strip_tags(strtr($orig_message, array('</title>' => "\r\n")))) . "\r\n--" $mime_boundary "\r\n";
 
        
// This is the plain text version.  Even if no one sees it, we need it for spam checkers.
        
$message .= 'Content-Type: text/plain; charset=' $charset "\r\n";
        
$message .= 'Content-Transfer-Encoding: ' . ($encoding == '' '7bit' $encoding) . "\r\n\r\n";
        
$message .= un_htmlspecialchars(strip_tags(strtr($orig_message, array('</title>' => "\r\n")))) . "\r\n--" $mime_boundary "\r\n";
 
        
// This is the actual HTML message, prim and proper.  If we wanted images, they could be inlined here (with multipart/related, etc.)
        
$message .= 'Content-Type: text/html; charset=' $charset "\r\n";
        
$message .= 'Content-Transfer-Encoding: ' . ($encoding == '' '7bit' $encoding) . "\r\n\r\n";
        
$message .= $orig_message "\r\n--" $mime_boundary '--';
    }
    
// Text is good too.
    
else
    {
        
$headers .= 'Content-Type: text/plain; charset=' $charset "\r\n";
        if (
$encoding != '')
            
$headers .= 'Content-Transfer-Encoding: ' $encoding;
    }
 
    
// SMTP or sendmail?
    
if (empty($modSettings['mail_type']) || $modSettings['smtp_host'] == '')
    {
        
$subject strtr($subject, array("\r" => ''"\n" => ''));
        if (!empty(
$modSettings['mail_strip_carriage']))
        {
            
$message strtr($message, array("\r" => ''));
            
$headers strtr($headers, array("\r" => ''));
        }
 
        foreach (
$to_array as $to)
        {
            if (!
mail(strtr($to, array("\r" => ''"\n" => '')), $subject$message$headers))
            {
                
log_error(sprintf($txt['mail_send_unable'], $to));
                
$mail_result false;
            }
 
            
// Wait, wait, I'm still sending here!
            
@set_time_limit(300);
            if (
function_exists('apache_reset_timeout'))
                
apache_reset_timeout();
        }
    }
    else
        
$mail_result $mail_result && smtp_mail($to_array$subject$message$send_html $headers "Mime-Version: 1.0\r\n" $headers);
 
    
// Everything go smoothly?
    
return $mail_result;

Değiştirin:

PHP- Kodu:
// Send off an email.
// Note: the $priority parameter is added merely for future compatibility.
function sendmail($to$subject$message$from null$message_id null$send_html false$priority 1$hotmail_fix null)
{
    global 
$webmaster_email$context$modSettings$txt$scripturl;
 
    
// Use sendmail if it's set or if no SMTP server is set.
    
$use_sendmail = empty($modSettings['mail_type']) || $modSettings['smtp_host'] == '';
 
    
// Line breaks need to be \r\n only in windows or for SMTP.
    
$line_break $context['server']['is_windows'] || !$use_sendmail "\r\n" "\n";
 
    
// So far so good.
    
$mail_result true;
 
    
// If the recipient list isn't an array, make it one.
    
$to_array is_array($to) ? $to : array($to);
 
    
// Sadly Hotmail doesn't support character sets properly.
    
if ($hotmail_fix === null)
    {
        
$hotmail_to = array();
        foreach (
$to_array as $i => $to_address)
        {
            if (
preg_match('~@hotmail.[a-zA-Z\.]{2,6}$~i'$to_address) === 1)
            {
                
$hotmail_to[] = $to_address;
                
$to_array array_diff($to_array, array($to_address));
            }
        }
 
        
// Call this function recursively for the hotmail addresses.
        
if (!empty($hotmail_to))
            
$mail_result sendmail($hotmail_to$subject$message$from$message_id$send_html$prioritytrue);
 
        
// The remaining addresses no longer need the fix.
        
$hotmail_fix false;
 
        
// No other addresses left? Return instantly.
        
if (empty($to_array))
            return 
$mail_result;
    }
 
    
// Get rid of slashes and entities.
    
$subject un_htmlspecialchars(stripslashes($subject));
    
// Make the message use the proper line breaks.
    
$message str_replace(array("\r""\n"), array(''$line_break), stripslashes($message));
 
    
// Make sure hotmail mails are sent as HTML so that HTML entities work.
    
if ($hotmail_fix && !$send_html)
    {
        
$send_html true;
        
$message strtr($message, array($line_break => '<br />' $line_break));
        
$message preg_replace('~(' preg_quote($scripturl'~') . '([?/][\w\-_%\.,\?&;=#]+)?)~''<a href="$1">$1</a>'$message);
    }
 
    list (, 
$from_name) = mimespecialchars(addcslashes($from !== null $from $context['forum_name'], '<>()\'\\"'), true$hotmail_fix);
    list (, 
$subject) = mimespecialchars($subjecttrue$hotmail_fix);
 
    
// Construct the mail headers...
    
$headers 'From: "' $from_name '" <' . (empty($modSettings['mail_from']) ? $webmaster_email $modSettings['mail_from']) . '>' $line_break;
    
$headers .= $from !== null 'Reply-To: <' $from '>' $line_break '';
    
$headers .= 'Return-Path: ' . (empty($modSettings['mail_from']) ? $webmaster_email$modSettings['mail_from']) . $line_break;
    
$headers .= 'Date: ' gmdate('D, d M Y H:i:s') . ' +0000' $line_break;
 
    if (
$message_id !== null && empty($modSettings['mail_no_message_id']))
        
$headers .= 'Message-ID: <' md5($scripturl microtime()) . '-' $message_id strstr(empty($modSettings['mail_from']) ? $webmaster_email $modSettings['mail_from'], '@') . '>' $line_break;
    
$headers .= 'X-Mailer: SMF' $line_break;
 
    
// pass this to the integration before we start modifying the output -- it'll make it easier later
    
if (isset($modSettings['integrate_outgoing_email']) && function_exists($modSettings['integrate_outgoing_email']))
    {
        if (
$modSettings['integrate_outgoing_email']($subject$message$headers) === false)
            return 
false;
    }
 
    
$charset = isset($context['character_set']) ? $context['character_set'] : $txt['lang_character_set'];
 
    list (
$charset$message$encoding) = mimespecialchars($messagefalse$hotmail_fix);
 
    
// Sending HTML?  Let's plop in some basic stuff, then.
    
if ($send_html)
    {
        
// This should send a text message with MIME multipart/alternative stuff.
        
$mime_boundary 'SMF-' md5($message time());
        
$headers .= 'Mime-Version: 1.0' $line_break;
        
$headers .= 'Content-Type: multipart/alternative; boundary="' $mime_boundary '"' $line_break;
        
$headers .= 'Content-Transfer-Encoding: ' . ($encoding == '' '7bit' $encoding);
 
        
// Save the original message...
        
$orig_message $message;
 
        
// But, then, dump it and use a plain one for dinosaur clients.
        
$message un_htmlspecialchars(strip_tags(strtr($orig_message, array('</title>' => $line_break)))) . $line_break '--' $mime_boundary $line_break;
 
        
// This is the plain text version.  Even if no one sees it, we need it for spam checkers.
        
$message .= 'Content-Type: text/plain; charset=' $charset $line_break;
        
$message .= 'Content-Transfer-Encoding: ' . ($encoding == '' '7bit' $encoding) . $line_break $line_break;
        
$message .= un_htmlspecialchars(strip_tags(strtr($orig_message, array('</title>' => $line_break)))) . $line_break "--" $mime_boundary $line_break;
 
        
// This is the actual HTML message, prim and proper.  If we wanted images, they could be inlined here (with multipart/related, etc.)
        
$message .= 'Content-Type: text/html; charset=' $charset $line_break;
        
$message .= 'Content-Transfer-Encoding: ' . ($encoding == '' '7bit' $encoding) . $line_break $line_break;
        
$message .= $orig_message $line_break "--" $mime_boundary '--';
    }
    
// Text is good too.
    
else
    {
        
$headers .= 'Content-Type: text/plain; charset=' $charset $line_break;
        if (
$encoding != '')
            
$headers .= 'Content-Transfer-Encoding: ' $encoding;
    }
 
    
// SMTP or sendmail?
    
if ($use_sendmail)
    {
        
$subject strtr($subject, array("\r" => ''"\n" => ''));
        if (!empty(
$modSettings['mail_strip_carriage']))
        {
            
$message strtr($message, array("\r" => ''));
            
$headers strtr($headers, array("\r" => ''));
        }
 
        foreach (
$to_array as $to)
        {
            if (!
mail(strtr($to, array("\r" => ''"\n" => '')), $subject$message$headers))
            {
                
log_error(sprintf($txt['mail_send_unable'], $to));
                
$mail_result false;
            }
 
            
// Wait, wait, I'm still sending here!
            
@set_time_limit(300);
            if (
function_exists('apache_reset_timeout'))
                
apache_reset_timeout();
        }
    }
    else
        
$mail_result $mail_result && smtp_mail($to_array$subject$message$send_html $headers "Mime-Version: 1.0" $line_break $headers);
 
    
// Everything go smoothly?
    
return $mail_result;

Bul:

PHP- Kodu:
// Convert all 'special' characters to HTML entities.
        
preg_replace('~[\x80-\x{10FFFF}]~eu''$entityConvert("\1")'$string);
 
        return array(
$charset$string'7bit'); 
değiştir:

PHP- Kodu:
// Convert all 'special' characters to HTML entities.
        
return array($charsetpreg_replace('~([\x80-\x{10FFFF}])~eu''$entityConvert("\1")'$string), '7bit'); 
Sonra da ilk eklediğimiz kodda şunu bulun:

PHP- Kodu:
// Line breaks need to be \r\n only in windows or for SMTP.
    
$line_break $context['server']['is_windows'] || !$use_sendmail "\r\n" "\n"
Eğer sunucunuz linux ise şöyle değiştirin:

PHP- Kodu:
// Line breaks need to be \r\n only in windows or for SMTP.
    
$context['server']['is_windows'] = false;
    
$line_break $context['server']['is_windows'] || !$use_sendmail "\r\n" "\n"
Eğer windows ise de şöyle değiştirin:

PHP- Kodu:
// Line breaks need to be \r\n only in windows or for SMTP.
    
$context['server']['is_windows'] = true;
    
$line_break $context['server']['is_windows'] || !$use_sendmail "\r\n" "\n"
Sunucunuzun ne olduğuna emin değilseniz, sunucu sahibine sorun. Ya
da FTP'den dosyalara CHMOD yapabiliyorsanız sunucunuz linux demektir,
CHMOD yapamıyorsanız sunucunuz windowstur.

NOT: HarZem tarafından hazırlanmıştır.