• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Хак [хак] Ultimate 1.0

Статус
В этой теме нельзя размещать новые ответы.

GauraStyle

SeoPlus.com.ua
Регистрация
13 Фев 2007
Сообщения
1.512
Реакции
939
Ultimate 1.0
1.jpg
Вопрос: Что делает хак ?
Ответ: Хак делает подсчёт количества скачиваний материала по удалённой ссылке если файл не загружен на сервер.
В: Как это происходит ?
О: Всё работает через [attachment=X] - название , ссылка , размер файла Вы записуете сами , а ссылка записывается под видом аттача.
В: Что мне нужно сделать чтобы установить хак ?
О: Читать полную новость.
И так после после небольшого диалога начинаем:
2.jpg
Установка:
1. Для начала делаем запрос:
PHP:
ALTER TABLE dle_files ADD COLUMN size VARCHAR(10) not null;
2. Идём в engine/download.php
Заменим:
PHP:
$row = $db->super_query("SELECT name, onserver FROM " . PREFIX . "_files WHERE id ='$id'");
На:
PHP:
$row = $db->super_query("SELECT name, onserver, size FROM " . PREFIX . "_files WHERE id ='$id'");
И:
PHP:
$config['files_max_speed'] = intval($config['files_max_speed']);

    $file = new download(FILE_DIR.$row['onserver'],$row['name'], $config['files_force'], $config['files_max_speed']);

    if ($config['files_count'] == "yes" AND !$file->range) $db->query("UPDATE " . PREFIX . "_files set dcount=dcount+1 where id ='$id'");
    $db->close();
На:
PHP:
$config['files_max_speed'] = intval($config['files_max_speed']);
if ($row['size']) {
    $file = "";
    header("Location: {$row['onserver']}");
    }
    else {
$file = new download(FILE_DIR.$row['onserver'],$row['name'], $config['files_force'], $config['files_max_speed']);
}
    if ($config['files_count'] == "yes" AND !$file->range) $db->query("UPDATE " . PREFIX . "_files set dcount=dcount+1 where id ='$id'");
    $db->close();
3. Далее в engine/modules/functions.php
Заменим:
PHP:
$db->query("SELECT id, name, onserver, dcount FROM " . PREFIX . "_files WHERE $where");

while($row = $db->get_row()){
    
    $size = formatsize(@filesize ( ROOT_DIR . '/uploads/files/' . $row['onserver'] ));

     if (!$user_group[$member_id['user_group']]['allow_files'])
        $link = "<span id="attachment">{$lang['att_denied']}</span>";
     elseif ($config['files_count'] == 'yes')
        $link = "<span id="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}" >{$row['name']}</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>";
      else
        $link = "<span id="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}" >{$row['name']}</a> [{$size}]</span>";

        $story = str_replace( '[attachment='.$row['id'].']', $link, $story );
    }
    $db->free();
На:
PHP:
$db->query("SELECT id, name, onserver, dcount, size FROM " . PREFIX . "_files WHERE $where");

while($row = $db->get_row()){
    
    $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'])
        $link = "<span id="attachment">{$lang['att_denied']}</span>";
     elseif ($config['files_count'] == 'yes')
     {
     
     if ($row['size']) {
        $link = "<span id="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}" >{$row['name']}</a> [{$row['size']}] ({$lang['att_dcount']} {$row['dcount']})</span>";
        }
        else
        $link = "<span id="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}" >{$row['name']}</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>";
        }
        
      else
      {
      if ($row['size']) {
        $link = "<span id="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}" >{$row['name']}</a> [{$row['size']}]</span>";
        }
        else
        {
        $link = "<span id="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}" >{$row['name']}</a> [{$size}]</span>";
        }
        
}
        $story = str_replace( '[attachment='.$row['id'].']', $link, $story );
    }
    $db->free();
4. Пойдём в engine/inc/files.php
После:
PHP:
if ($serverfile != '' AND !@file_exists(ROOT_DIR."/uploads/files/".$serverfile)) $serverfile = '';
Вставим:
PHP:
if ($imageurldfl !="") {
if ($imgurldflname !=""){
if ($imagesize !=""){
$db->query("INSERT INTO " . PREFIX . "_files (news_id, name, onserver, author, date, size) values ('$news_id', '$imgurldflname', '$imageurldfl', '$author', '$added_time', '$imagesize')");
}
}
}
После:
PHP:
<input class="edit" type="text" name="imageurl" size=42></div>
<div class="hr_line"></div>
Вставить:
PHP:
<div>Название материала <input class="edit" type="text" name="imgurldflname" size=42></div>
<div>Ссылка на материал <input class="edit" type="text" name="imageurldfl" size=42></div>
<div>Размер <input class="edit" type="text" name="imagesize" size=42></div>
<div class="hr_line"></div>
Заменим:
PHP:
$db->query("SELECT id, name, onserver  FROM " . PREFIX . "_files where author = '$author' AND news_id = '$news_id'");

     while($row = $db->get_row()){

         $this_size = formatsize(@filesize(ROOT_DIR."/uploads/files/".$row['onserver']));
         $file_link = "<a class=maintitle href="javascript:insertfile('[attachment={$row['id']}]')">{$row['name']}</a>";
На:
PHP:
$db->query("SELECT id, name, onserver, size  FROM " . PREFIX . "_files where author = '$author' AND news_id = '$news_id'");

     while($row = $db->get_row()){
if ($row['size']) {
$this_size = $row['size'];
} else {
         $this_size = formatsize(@filesize(ROOT_DIR."/uploads/files/".$row['onserver']));
         }
         $file_link = "<a class=maintitle href="javascript:insertfile('[attachment={$row['id']}]')">{$row['name']}</a>";
Установка завершена.
Автор: keiZ

Для просмотра ссылки Войди или Зарегистрируйся
;)
 
Вроде всё прочёл но у себя многих вещей не найду в коде три раза искал -помоги загрузи рабочий files.php на основе моего.Буду признателен
 

Вложения

  • files.rar
    8,6 KB · Просмотры: 7
ОШИБКА!!! Блин!!!
GauraStyle, прежде чем брать с 4дле ты не пробовал проверить, не съел ли где парсер чего-нибудь? а то ОШИБКА!!!
 
народ, очень надо: напишите сколько полей в БД в таблице DLE_FILES ???
 
  • Заблокирован
  • #6
Кто переделает под 7.5 очень надо.
 
а как изменить код, что бы счетчик скачиваний работал не с файлом лежащим на серваке, с на пример на депозите? И возможно ли такое? :nezn:

Просто если файлы не 1 мб, а 200 или 100... на свой сервак особо не поместешь.

и было бы здорово, что бы кто в теме, помог переделать под 7.5. Буду признателен.
 
  • Заблокирован
  • #8
LarianVonLich на депозит делать будет гемморойно, а так этот хак работает при скачивании с любого сайта (тлько прямой ссылки)
 
У меня тоже постоянно ошибку выбивает
 
У меня тоже постоянно ошибку выбивает
Блин харе флудить :mad:
! Выбивает ошибку потому что вы используете более раннюю версию DLE! У меня на DLE 6.7 работало нормально!
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху