dle.in.ua » Хаки » Хак. Ultimate 1.0

Хак. Ultimate 1.0

Автор: GauraStyle от 27-09-2008, 22:12
Хак. Ultimate 1.0
Хак. Ultimate 1.0

Вопрос: Что делает хак ?
Ответ: Хак делает подсчёт количества скачиваний материала по удалённой ссылке если файл не загружен на сервер.
В: Как это происходит ?
О: Всё работает через [attachment=X] - название , ссылка , размер файла Вы записуете сами , а ссылка записывается под видом аттача.
В: Что мне нужно сделать чтобы установить хак ?
О: Читать полную новость.
И так после после небольшого диалога начинаем:
Хак. Ultimate 1.0

После успешной установки хака , там где Вы раньше загружали аттачи , появятся доп. поля , введя которые и нажав на "Загрузить" , файл появится в списке аттачей.
Установка:
1. Для начала делаем запрос:
ALTER TABLE dle_files ADD COLUMN size VARCHAR(10) not null;

2. Идём в engine/download.php
Заменим:
$row = $db->super_query("SELECT name, onserver FROM " . PREFIX . "_files WHERE id ='$id'");

На:
$row = $db->super_query("SELECT name, onserver, size FROM " . PREFIX . "_files WHERE id ='$id'");

И:
$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();

На:
$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
Заменим:

$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();

На:
$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
После:

if ($serverfile != '' AND !@file_exists(ROOT_DIR."/uploads/files/".$serverfile)) $serverfile = '';

Вставим:
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')");
}
}
}

После:
<input class="edit" type="text" name="imageurl" size=42></div>
<div class="hr_line"></div>

Вставить:
<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>

Заменим:
$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>";

На:
$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
laughing
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • имхо вещь крутая!
    • Goodcat
    • Регистрация: --
    • Репутация: (||)
    • 28 сентября 2008 10:50
    • 1
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • да да весчь
    • alexben
    • Регистрация: --
    • Репутация: (||)
    • 28 сентября 2008 11:02
    • 2
    ^
  • Группа: User
  • Icq: 491507769
  • Комментариев: 231
  • Публикаций: 8
  • очень полезная штука
    • Nick
    • Регистрация: 8.02.2008
    • Репутация: (0|0|0)
    • 28 сентября 2008 16:20
    • 3
    ^
  • Группа: User
  • Icq: 362557054
  • Комментариев: 124
  • Публикаций: 5
  • довольно неплохо, нескажу что давно такое искал, но на сайте реализую данную весЧ, понравилось.
    Аффтору - спс.

    --------------------
    • GausS
    • Регистрация: 16.07.2008
    • Репутация: (0|0|0)
    • 28 сентября 2008 23:47
    • 4
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • а как заставить эту вещь работать с модулем ftp files ???

    Parse error: syntax error, unexpected T_STRING in wwwenginemodulesfunctions.php on line 580

    Parse error: syntax error, unexpected T_ELSE in D:\wamp\www\engine\inc\files.php on line 1013
    • klu41k
    • Регистрация: --
    • Репутация: (||)
    • 29 сентября 2008 12:50
    • 5
    ^
  • Группа: User
  • Icq: 288569677
  • Комментариев: 703
  • Публикаций: 245
  • klu41k,
    Значит неправильно прописал всё в файле engine\inc\files.php или невыполнил запрос в базу.
    fellow

    --------------------
    • GauraStyle
    • Регистрация: 21.01.2008
    • Репутация: (0|0|0)
    • 29 сентября 2008 15:12
    • 6
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Эт какие дебилы рейтинг сбивают в этакой шикарной новости?!
    • FOXES93
    • Регистрация: --
    • Репутация: (||)
    • 23 апреля 2009 01:55
    • 7
    ^
  • Группа: User
  • Icq: 373624275
  • Комментариев: 71
  • Публикаций: 0
  • Классная штука ay

    --------------------
    • lika004
    • Регистрация: 13.02.2010
    • Репутация: (0|0|0)
    • 26 июня 2010 03:16
    • 8
    ^
  • Группа: User
  • Icq: --
  • Комментариев: 8
  • Публикаций: 3
  • помогите пож исправить ошыбку уже 5 раз пробивал:
    Parse error: syntax error, unexpected $end in Z:\home\192.168.83.153\www\engine\modules\functions.php on line 1007
    • Maestro_vova
    • Регистрация: 26.12.2009
    • Репутация: (0|0|0)
    • 19 января 2011 13:45
    • 9
    ^
    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.