Attachment Comment Guard v1.0 - Yorum Yap İndir Modülü

Genel Bakış

Sitenizde dosya paylaşımı yapıyor ve kullanıcılarınızdan etkileşim almakta zorlanıyor musunuz? Attachment Comment Guard v1.0, tam olarak bu ihtiyaca yönelik geliştirilmiş, DLE'nin native attachment sistemini güçlendiren profesyonel bir koruma modülüdür.

Temel Özellikler

Nasıl Çalışır?

  1. Kullanıcı indirme bağlantısına tıklar veya sayfayı görüntüler.

  2. Yorum yapmadıysa, [not-allow-download] bloğu tetiklenir ve özel uyarı mesajı görüntülenir.

  3. Kullanıcı yorum yaptığında, AJAX tetikleyicisi bunu anında yakalar.

  4. Sayfa otomatik olarak yenilenir ve [allow-download] bloğu devreye girerek indirme linki aktif olur.

Kurulum

  1. Ekteki .xml dosyasını Admin Paneli > Eklentiler bölümünden yükleyin.

  2. Eklenti önbelleğini temizleyin.

  3. attachment.tpl dosyanızda [allow-download] ve [not-allow-download] etiketlerinin kullanıldığından emin olun.

  4. Modül otomatik olarak devreye girecektir.



Örnek attachment.tpl Yapısı

[allow-download]
<div class="attach clearfix ignore-select">
    <a href="{link}" class="download-link"><i class="fa fa-download"></i> {name}</a> 
    <span class="attach-info"> [{size}] ([count]indirme:&nbsp;{count})[/count]</span>
</div>
[/allow-download]

[not-allow-download]
<div class="alert alert-styled-left text-left alert-warning">
    <h4>Dosyayı İndirmek İçin Kilitli</h4>
    <div class="alert-body pt-2">
        Bu içeriği indirebilmek için önce giriş yapmanız ve aşağıya <b>yorum bırakmanız</b> gerekmektedir.<br/>
        Giriş yapmadıysanız lütfen <a href="#" class="openloginbox">giriş yapın</a> veya <a href="#" class="openregisterbox">kayıt olun</a>.
    </div> 
</div>
[/not-allow-download]



Neden Bu Koda İhtiyacımız Var?

DLE'de yorumlar AJAX (sayfa yenilenmeden) ile gönderildiği için, yorumu yazdığın anda sayfa kendini yenilemez. Ancak modülümüzün kilit mekanizması, sayfa ilk yüklendiğinde veritabanını kontrol edip indirme linkini açar.

Bu jаvascript kodu, yorum gönderildiği anda devreye girer:

  1. AJAX'ı Takip Eder: Yorumun başarıyla gönderildiğini (sunucudan dönen reload: true bilgisini) yakalar.

  2. Kullanıcıyı Bilgilendirir: DLEPush ile "Yorumunuz eklendi, bağlantılar açılıyor" mesajını gösterir.

  3. Kilidi Açar: Sayfayı 2 saniye sonra otomatik yenileyerek, sunucunun yeni yorumu onaylamasını ve kilitli indirme linkini aktif hale getirmesini sağlar.

Nereye Eklenmeli?

Bu kodun çalışması için temanızdaki main.tpl (veya haber detayının bulunduğu fullstory.tpl) dosyasını açın.

Adımlar:

  1. Temanızın içindeki main.tpl dosyasını bulun.

  2. Dosyanın en altına, kapanış </body> etiketinden hemen önceye yapıştırın.

  3. Eğer sadece haber detaylarında çalışsın isterseniz, fullstory.tpl dosyasının en altına eklemeniz de yeterlidir.

Örnek Yerleşim:

<script>
$(document).ajaxComplete(function(event, xhr, settings) {
    if (settings.url && settings.url.indexOf('addcomments') !== -1) {
        try {
            var resp = JSON.parse(xhr.responseText);
            if (resp && resp.reload === true) { 
                // DLEPush tanımlıysa bilgi mesajı göster
                if (typeof DLEPush !== 'undefined') {
                    DLEPush.info('Yorumunuz eklendi, dosya bağlantıları açılıyor...');
                }
                
                // Ziyaretçinin mesajı okuması için 2 saniye bekletip sayfayı yenile
                setTimeout(function() {
                    location.reload();
                }, 2000);
            }
        } catch(e) {
            // Hata durumunda sessiz kal
        }
    }
});
</script>


Dosya İndirme Kilitli