Хак. Ultimate 1.0

Хак. 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
Другие новости по теме:

Категория: Хаки ----- Просмотров: 2671 ----- Комментариев: 9

Вернуться

  • Goodcat

  • 28 сентября 2008 10:50
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
имхо вещь крутая!
  • alexben

  • 28 сентября 2008 11:02
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
да да весчь
  • Nick

  • 28 сентября 2008 16:20
  • Группа: User
  • ICQ: 491507769
  • Регистрация: 8.02.2008
  • Комментариев: 231
  • Публикаций: 8
^
очень полезная штука
  • GausS

  • 28 сентября 2008 23:47
  • Группа: User
  • ICQ: 362557054
  • Регистрация: 16.07.2008
  • Комментариев: 124
  • Публикаций: 5
^
довольно неплохо, нескажу что давно такое искал, но на сайте реализую данную весЧ, понравилось.
Аффтору - спс.

--------------------
  • klu41k

  • 29 сентября 2008 12:50
  • Группа: Гости
  • 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
  • Группа: User
  • ICQ: 288569677
  • Регистрация: 21.01.2008
  • Комментариев: 703
  • Публикаций: 245
^
klu41k,
Значит неправильно прописал всё в файле engine\inc\files.php или невыполнил запрос в базу.
fellow

--------------------
  • FOXES93

  • 23 апреля 2009 01:55
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
Эт какие дебилы рейтинг сбивают в этакой шикарной новости?!
  • Группа: User
  • ICQ: 373624275
  • Регистрация: 13.02.2010
  • Комментариев: 71
  • Публикаций: 0
^
Классная штука ay

--------------------
  • Группа: User
  • ICQ: --
  • Регистрация: 26.12.2009
  • Комментариев: 8
  • Публикаций: 3
^
помогите пож исправить ошыбку уже 5 раз пробивал:
Parse error: syntax error, unexpected $end in Z:\home\192.168.83.153\www\engine\modules\functions.php on line 1007