DLE Top 10 Listesi

  • Konbuyu başlatan Jigsaw
  • Başlangıç tarihi
  • Merhaba,

    Saygıdeğer Forumum.net Kullanıcıları. TC Kimlik Sistemimizi Aktif Hale Getirmiş Bulunuyoruz.
    TC Kimlik Onayı Yapmayan Kişiler Forum İçerisinde Sadece Konu Görünteleyebilecek,
    Özel Mesaj, Konu Açmak ve Post Göndermek İşlemlerini Yapamayacaklardır.
    Sizden TC Kimlik Onayı Yapmanızı ve Gerçek Bir Kullanıcı Olduğunuzu Kanıtlamanızı İstiyoruz İSİM ve SOYİSİM büyük harf ile yazılmalıdır.

    https://www.forumum.net/account/tc-confirm

    Teşekkürler. Forumum.net Yönetim
J

Jigsaw

Misafir


IRCForumlari.com.tr olarak siz değerli kullanıcılarımıza Top 10 Eklenti modülünü sunuyoruz.DLE için doğru yerde dosyalarınızı (En çok hit alan dosyalar) gösterebilirsiniz.Sitenizin sayfalarında herhangi bir yere Download edilecek dosyaları kolayca gösterebilirsiniz.Herhangi bir .tpl dosyasına vereceğim kodu ekleyebilirsiniz. Komut dosyalarını düzenlemeden DLE Top Attach modülü , DLE 10.2 ve üstü sürümlerini destekler ve otomatik temizlemeyle önbellekleme yapılabilmektedir.

Modül Özellikleri:

1 )
DLE'de herhangi bir değişiklik gerektirmez.

2 ) Mevcut sürümler için, 10.2 ve daha sonraki sürümlerden kullanılmış DLE versiyonlarını destekler.

3 ) Modül önbelleklemeyi otomatik veya manuel olarak önbelleğe alma hizmeti vermektedir.

4 ) Çoklu kullanım. Farklı parametrelerle istediğiniz kadar bağlanabilirsiniz.

Modul Kurulumu:

Aşağıda vermiş olduğum kodu top_attach.php dosyası adı altında bir dosya açıp içine yapıştırıyoruz.Daha sonra bu dosyayı engine/modules/ klasörüne atıyoruz.

Kod:
<?php
/*
============================================================
 Modul Turkcelestirme: http://ircforumlari.com.tr
============================================================
 Yazar : YaRGuCi
============================================================
*/

if (!defined('DATALIFEENGINE')) return;
if(!function_exists('Explode_Atach_Category')) {
    function Explode_Atach_Category($category, $type) {
        $temp_array = array();
        $category = explode (',', $category);
        
        foreach ($category as $value) {
            if(substr_count($value, '-') > 0)
                $temp_array[] = get_mass_cats($value);
            else
                $temp_array[] = intval($value);
        }
        
        if($type)
            $temp_array = implode("|", $temp_array);
        else
            $temp_array = implode(",", $temp_array);
        
        return $temp_array;
    }
}

if(!function_exists('Explode_Atach_NewsID')) {
    function Explode_Atach_NewsID($id , $type) {
        $temp_array = array();
        $where_id = array();
        
        $id = explode (',', trim($id));

        foreach($id as $value) {
            if(substr_count($value, '-') > 0) {
                $value = explode('-', $value);
                if($type)
                    $where_id[] = "n.id >= '" . intval($value[0]) . "' AND n.id <= '".intval($value[1])."'";
                else
                    $where_id[] = "(n.id < '" . intval($value[0]) . "' OR n.id > '".intval($value[1])."')";
            }
            else
                $temp_array[] = intval($value);
        }

        if (count($temp_array)) {
            if($type)
                $where_id[] = "n.id IN ('" . implode("','", $temp_array) . "')";
            else
                $where_id[] = "n.id NOT IN ('" . implode("','", $temp_array) . "')";
        }
        
        if(count($where_id)) {
            if($type)
                $custom_id = implode(' OR ', $where_id);
            else
                $custom_id = implode(' AND ', $where_id);
            $id_news = $custom_id;
        }
        
        unset($temp_array);
        unset($where_id);
        return $id_news;
    }
}
$AttachCfg = array(
    'limit'         => is_numeric($limit)         ? intval($limit) : 10,                                     // Dosya limiti
    'stop_category' => empty($stop_cat)         ? false : trim(strip_tags(stripslashes($stop_cat))),     // Görüntülenmeyecek kategoriler
    'from_category' => empty($from_cat)         ? false : trim(strip_tags(stripslashes($from_cat))),     // Görüntülenecek kategoriler
    'stop_id'         => empty($stop_id)             ? false : trim(strip_tags(stripslashes($stop_id))),        // Dosyaları makale id'sine göre hariç tut
    'from_id'         => empty($from_id)             ? false : trim(strip_tags(stripslashes($from_id))),        // Sadece bu makaledeki dosyaları görüntüle
    'author'         => empty($author)             ? false : trim(strip_tags(stripslashes($author))),        // Yazar tarafından aranan dosyalar
    'date_news'     => empty($date_news)         ? false : trim(strip_tags(stripslashes($date_news))),    // Belirli bir tarihte çıkan dosyalar
    'day_news'         => is_numeric($day_news)    ? intval($day_news) : false,                             // Belirli zamanlarda makaleye eklenen dosyalar
    'ncomm'         => is_numeric($ncomm)         ? intval($ncomm) : false,                                 // Sadece daha fazla yorum yapılan makalelerde dosyayı göster
    'fixed'         => is_numeric($fixed)         ? intval($fixed) : false,                                 // Sadece kaydedilen makalelerde dosyayı göster
);

$where = array();

$allow_alt_url = ($config['version_id'] >= '10.2') ? $config['allow_alt_url'] == '1' : $config['allow_alt_url'] == "yes";
$allow_cache = ($config['version_id'] >= '10.2') ? $config['allow_cache'] == '1' : $config['allow_cache'] == "yes";
$allow_multi_category = ($config['version_id'] >= '10.2') ? $config['allow_multi_category'] == '1' : $config['allow_multi_category'] == "yes";

if($AttachCfg['author'])
    $where[] = "a.author = '{$AttachCfg['author']}'";

if($allow_multi_category) {
    if($AttachCfg['stop_category'])
        $where[] = "n.category NOT REGEXP '[[:<:]](" . Explode_Atach_Category($AttachCfg['stop_category'], true) . ")[[:>:]]'";
    if($AttachCfg['from_category'])
        $where[] = "n.category REGEXP '[[:<:]](" .  Explode_Atach_Category($AttachCfg['from_category'], true) . ")[[:>:]]'";
}
else {
    if($AttachCfg['stop_category'])
        $where[] = "n.category NOT IN ('" . Explode_Atach_Category($AttachCfg['stop_category']) . "')";
    if($AttachCfg['from_category'])
        $where[] = "n.category IN ('" . Explode_Atach_Category($AttachCfg['from_category']) . "')";
}

if($AttachCfg['date_news']) {
    if(substr_count($AttachCfg['date_news'], '/') > 0) {
        $date_bet = explode('/', $AttachCfg['date_news']);
        $date_first = date('Y-m-d', $date_bet[0]); $date_second = date('Y-m-d', $date_bet[1]);
        $where[] = "n.date BETWEEN '$date_first%' AND '$date_second%'";
    }
}
$thisdate = date("Y-m-d H:i:s", time());

if($AttachCfg['day_news'])
    $where[] = "n.date >= '{$thisdate}' - INTERVAL {$AttachCfg['day_news']} DAY AND n.date < '{$thisdate}'";

if($AttachCfg['stop_id'])
    $where[] = Explode_Atach_NewsID($AttachCfg['stop_id'], false);
if($AttachCfg['from_id'])
    $where[] = Explode_Atach_NewsID($AttachCfg['from_id'], true);

if($AttachCfg['ncomm'])
    $where[] = "n.comm_num > {$AttachCfg['ncomm']}";

if($AttachCfg['fixed'])
    $where[] = "n.fixed = 1";

$attach_hash = md5(implode($AttachCfg));
                
$is_change = false;
if (!$allow_cache) {
    if ($config['version_id'] >= '10.2')
        $config['allow_cache'] = '1';
    else 
        $config['allow_cache'] = "yes";
    $is_change = true;
}

$Attach = false;
$Attach = dle_cache( "news_Attach" , $config['skin'] . $attach_hash);

if($Attach == false) {
    if(count($where) > 0)
        $where = " AND " . implode(" AND ", $where);
    else
        $where = "";
    
    $sql = $db->query("SELECT a.id as attach_id, a.news_id, a.name, a.onserver, a.author, a.date, a.dcount, n.title, n.date as news_date, n.id, n.autor, n.category, n.alt_name FROM " . PREFIX . "_files a LEFT JOIN " . PREFIX . "_post n ON (a.news_id=n.id) WHERE a.dcount > 0 {$where} ORDER BY a.dcount DESC LIMIT 0, " . $AttachCfg['limit']);
    
    if($AttachCfg['temp'])
        $tpl->load_template($AttachCfg['temp'] . '.tpl');
    else
        $tpl->load_template('attach_top.tpl');
    
    $count_rows = $sql->num_rows;
    
    if($count_rows > 0) {
        while ($row = $db->get_row($sql)) {
            
            if ($allow_alt_url) {
                if ($config['seo_type'] == 1 OR $config['seo_type'] == 2) {
                    if ($row['category'] and $config['seo_type'] == 2)
                        $full_link = $config['http_home_url'] . get_url($row['category']) . "/" . $row['id'] . "-" . $row['alt_name'] . ".html";
                    else
                        $full_link = $config['http_home_url'] . $row['id'] . "-" . $row['alt_name'] . ".html";
                }
                else
                    $full_link = $config['http_home_url'] . date('Y/m/d/', $row['news_date']) . $row['alt_name'] . ".html";
            }
            else
                $full_link = $config['http_home_url'] . "index.php?newsid=" . $row['id'];
            
            $size = formatsize( @filesize( ROOT_DIR . '/uploads/files/' . $row['onserver'] ) );
            $row['name'] = explode( "/", $row['name'] );
            $row['name'] = end( $row['name'] );
            
            if ( $user_group[$member_id['user_group']]['allow_files'] ) {
                $tpl->set_block( "'\\[allow-download\\](.*?)\\[/allow-download\\]'si", "\\1" );
                $tpl->set_block( "'\\[not-allow-download\\](.*?)\\[/not-allow-download\\]'si", "" );
            }
            else {
                $tpl->set_block( "'\\[not-allow-download\\](.*?)\\[/not-allow-download\\]'si", "\\1" );
                $tpl->set_block( "'\\[allow-download\\](.*?)\\[/allow-download\\]'si", "" );
            }
            
            if ( $config['files_count'] ) {
                $tpl->set( '{count}', $row['dcount'] );
                $tpl->set_block( "'\\[count\\](.*?)\\[/count\\]'si", "\\1" );
                $tpl->set_block( "'\\[not-allow-count\\](.*?)\\[/not-allow-count\\]'si", "" );
            }
            else {
                $tpl->set( '{count}', "" );            
                $tpl->set_block( "'\\[not-allow-count\\](.*?)\\[/not-allow-count\\]'si", "\\1" );
                $tpl->set_block( "'\\[count\\](.*?)\\[/count\\]'si", "" );
            }
            
            $TIME_ATACH = time();
            $row['date'] = strtotime($row['date']);
            
            if( date( 'Ymd', $row['date'] ) == date( 'Ymd', $TIME_ATACH ) )
                $tpl->set( '{date}', $lang['time_heute'] . langdate( ", H:i", $row['date'] ) );
            elseif( date( 'Ymd', $row['date'] ) == date( 'Ymd', ($TIME_ATACH - 86400) ) )
                $tpl->set( '{date}', $lang['time_gestern'] . langdate( ", H:i", $row['date'] ) );
            else
                $tpl->set( '{date}', langdate( $config['timestamp_active'], $row['date'] ) );
            
            $tpl->copy_template = preg_replace_callback ( "#\{date=(.+?)\}#i", "formdate", $tpl->copy_template );
            
            $row['news_date'] = strtotime($row['news_date']);
            
            if( date( 'Ymd', $row['news_date'] ) == date( 'Ymd', $TIME_ATACH ) )
                $tpl->set( '{news_date}', $lang['time_heute'] . langdate( ", H:i", $row['news_date'] ) );
            elseif( date( 'Ymd', $row['news_date'] ) == date( 'Ymd', ($TIME_ATACH - 86400) ) )
                $tpl->set( '{news_date}', $lang['time_gestern'] . langdate( ", H:i", $row['news_date'] ) );
            else
                $tpl->set( '{news_date}', langdate( $config['timestamp_active'], $row['news_date'] ) );
            
            $tpl->copy_template = preg_replace_callback ( "#\{news_date=(.+?)\}#i", "formdate", $tpl->copy_template );

            $tpl->set( '{name}', stripslashes(strip_tags($row['name'])) );
            $tpl->set( '{author}', strip_tags($row['author']) );
            $tpl->set( '{title}', stripslashes($row['title']) );
            
            if ( preg_match( "#\\{title limit=['\"](.+?)['\"]\\}#i", $tpl->copy_template, $matches ) ) {
                $count= intval($matches[1]);
                $row['title'] = strip_tags( $row['title'] );

                if( $count AND dle_strlen( $row['title'], $config['charset'] ) > $count ) {
                    $row['title'] = dle_substr( $row['title'], 0, $count, $config['charset'] );
                    if( ($temp_dmax = dle_strrpos( $row['title'], ' ', $config['charset'] )) ) $row['title'] = dle_substr( $row['title'], 0, $temp_dmax, $config['charset'] );
                }
                $tpl->set( $matches[0], $row['title'] );
            }
            
            $tpl->set( '{link_file}', $config['http_home_url']."engine/download.php?id=".$row['attach_id'] );
            $tpl->set( '{link_full_file}', ROOT_DIR . '/uploads/files/' . urlencode($row['onserver']) );
            $tpl->set( '{size}', $size );
            $tpl->set( '{link_news}', $full_link );
            $tpl->set( '{id}', intval($row['attach_id']) );
            
            $tpl->set("{error}", "");
            $tpl->set( '[attach]', "" );
            $tpl->set( '[/attach]', "" );
            $tpl->set_block( "'\\[not-attach\\](.*?)\\[/not-attach\\]'si", "" );
            
            $tpl->compile('attach_top');
        }
        $db->free($sql);
    }
    else {
        $tpl->set("{error}", "Dosya yok!");
        $tpl->set_block( "'\\[attach\\](.*?)\\[/attach\\]'si", "" );
        $tpl->set( '[not-attach]', "" );
        $tpl->set( '[/not-attach]', "" );
        $tpl->compile('attach_top');    
    }
    $tpl->clear();
    $Attach = $tpl->result['attach_top'];
    unset($tpl);
    create_cache("news_Attach", $Attach, $config['skin'] . $attach_hash);
}

if($is_change)
    $config['allow_cache'] = false;

echo $Attach;

?>
Daha sonra temanızda attach_top adında bir dosya açıp aşağıda vermiş olduğum kodu yapıştırıyorsunuz.

Kod:
[attach]<li><a href="{link_news}">{name} ( {size} ) <br>{title}</a></li>[/attach][not-attach]{error}[/not-attach]
Daha sonra; yukardaki vermiş olduğum kodu herhangi bir .tpl dosyanıza eklemeniz gerekmektedir.Benim size tavsiyem shortstory.tpl veya fullstory.tpl dosyasında kullanmanız daha hoş olacaktır.Siz istediğiniz .tpl de ekleyebilirsiniz ve böylece kurulum çalışmamız bitmiştir.Filtre seçenekleri hakkında biraz sizlere bilgi vereyim.

Filtre Seçenekleri :

1 )
limit - maksimum dosyası sayısı

2 ) stop_category - kategorilerin gösterilmemesi (virgül veya kısa çizgi ile ayrılmış sayıları kabul eder, örnek 1.3-5.7)

3 ) from_category - hangi kategorilerde gösterileceği (virgül veya tire ile ayrılmış sayıları kabul eder 1.3-5.7)

4 ) stop_id - dosyaları makale id'sine göre hariç tut (virgül veya kısa çizgi 1.3-5.7 ile ayrılmış sayıları kabul eder)

5 ) from_id - sadece bu makalede dosyaları görüntüler (virgül veya tire ile 1,3-5,7 arasında ayrılmış sayıları kabul eder)

6 ) author - yalnızca bu yazarın dosyalarını görüntüler (kullanıcı takma adını alır)

7 ) not-author - bu yazar dışındaki dosyaları görüntüler (kullanıcının takma adını kabul eder)

8 ) ncomm - yalnızca daha fazla yoruma sahip haberlerden dosyaları görüntüler (bir sayı alır)

9 ) fixed - yalnızca kaydedilen haberlerden gelen dosyaları görüntüler (1 sürer)

10 ) date_news - belirli bir haber tarihine ait dosyaları görüntüler (bu biçimdeki tarihleri ​​kabul eder 2019.15.04 / 2019.16.04 (ilk tarih başlangıç, ikinci bitiş eğik çizgi ile ayrılır /)

11 ) day_news - belirli haber günleri için dosyaları görüntüler (bir sayı alır)

12 ) temp - dosyaları çıkarmak için farklı bir tasarım şablonu ayarlayın (.tpl olmadan şablonun adını kabul eder, şablon şablonunuzun klasöründe olmalıdır)

Şablon Etiketleri:

{size}
- İndirilen dosyanın boyutunu görüntüler

[allow-download] Text [/allow-download] - Kullanıcı siteden indirilen dosyaları indirmek için izin veriliyorsa metin, burada yer alan görüntüler

[not-allow-download] Text [/not-allow-download] - Sitede kullanıcı tarafından indirilen dosyaların indirilmesi yasaksa , içindeki mahkumların metnini görüntüler.

[count] Text [/count] - senaryonuz sunucu dosya indirme sayacı desteği dahil olursa, burada yer alan metni görüntüler

{id} indirilen dosyanın benzersiz kimlik numarası, veritabanı depolanan bilgiler görüntüler -

{name} - yüklenen dosyanın adını görüntüler

{date} - Dosyanın sunucuya yüklendiği tarihi, komut dosyası ayarlarında belirtilen biçimde görüntüler

{date = date formatı} - Dosyanın sunucuya yüklendiği tarihi, etikette belirtilen biçimde görüntüler. Tarih formatı PHP'de kabul edilen formata göre ayarlanır. Örneğin, {date = d} etiketi, dosyanın yüklendiği ayın gününü ve {date = F} etiketi ayın adını gösterir ve {date = dmY H: i} etiketi tam tarih ve saati görüntüler.

{count} - Sunucudan indirme sayısını görüntüler

{ link_file} - İndirilen dosyayı indirmek için URL'yi gösterir

{link_full_file} - İndirilen dosyayı indirmek için doğrudan URL'yi görüntüler

{link_news} - Haberlere bir bağlantı görüntüler.

{title} - Haberin adını görüntüler.

{title limit = "x"} - Manşet haberi X karakterine kadar görüntüler.

[not-attach] herhangi bir text [/not-attach] - hiçbir dosya bulunamazsa bu etiketlerde bulunan herhangi bir metni görüntüler