Хак attachment для незарегистрированных пользователей для DLE 10.2
Этот хак позволяет для неавторизованных пользователей при клике на attachment вывести модальное окно с таймером и рекламой. Пользователю в свою очередь следует подождать 30 секунд или нажать на одну ссылку из рекламы. Прелесть этого хака состоит в том, что он не меняет вывод стандартного attachment и добовляет модальное окно только для гостей сайта.
Работа хака по пунктам:
1) Неавторизованный пользователь клацает по ссылке;
2) Открывается модальное окно с просьбой подождать 30 сек. или нажать на одну из ссылок;
3) Гость ждет или нажимает на рекламу и Вы получаете свои копеечки;
4) В конце появляется ссылка на скачивание файла.
Установка:
Открываем файл engine/modules/functions.php,
function show_attach($story, $id, $static = false) {
global $db, $config, $lang, $user_group, $member_id;
$find_1 = array();
$find_2 = array();
$replace_1 = array();
$replace_2 = array();
if( $static ) {
if( is_array( $id ) and count( $id ) ) $where = "static_id IN (" . implode( ",", $id ) . ")";
else $where = "static_id = '".intval($id)."'";
$db->query( "SELECT id, name, onserver, dcount FROM " . PREFIX . "_static_files WHERE $where" );
$area = "&area=static";
} else {
if( is_array( $id ) and count( $id ) ) $where = "news_id IN (" . implode( ",", $id ) . ")";
else $where = "news_id = '".intval($id)."'";
$db->query( "SELECT id, name, onserver, dcount FROM " . PREFIX . "_files WHERE $where" );
$area = "";
}
while ( $row = $db->get_row() ) {
$size = formatsize( @filesize( ROOT_DIR . '/uploads/files/' . $row['onserver'] ) );
$row['name'] = explode( "/", $row['name'] );
$row['name'] = end( $row['name'] );
$find_1[] = '[attachment=' . $row['id'] . ']';
$find_2[] = "#[attachment={$row['id']}:(.+?)]#i";
if ( ! $user_group[$member_id['user_group']]['allow_files'] ) {
$replace_1[] = "<span class="attachment">{$lang['att_denied']}</span>";
$replace_2[] = "<span class="attachment">{$lang['att_denied']}</span>";
} elseif( $config['files_count'] ) {
$replace_1[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >{$row['name']}</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>";
$replace_2[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >\1</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>";
} else {
$replace_1[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >{$row['name']}</a> [{$size}]</span>";
$replace_2[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >\1</a> [{$size}]</span>";
}
}
$db->free();
$story = str_replace ( $find_1, $replace_1, $story );
$story = preg_replace( $find_2, $replace_2, $story );
return $story;
}
function show_attach($story, $id, $static = false) {
global $db, $config, $lang, $user_group, $member_id;
$find_1 = array();
$find_2 = array();
$replace_1 = array();
$replace_2 = array();
if( $static ) {
if( is_array( $id ) and count( $id ) ) $where = "static_id IN (" . implode( ",", $id ) . ")";
else $where = "static_id = '".intval($id)."'";
$db->query( "SELECT id, name, onserver, dcount FROM " . PREFIX . "_static_files WHERE $where" );
$area = "&area=static";
} else {
if( is_array( $id ) and count( $id ) ) $where = "news_id IN (" . implode( ",", $id ) . ")";
else $where = "news_id = '".intval($id)."'";
$db->query( "SELECT id, name, onserver, dcount FROM " . PREFIX . "_files WHERE $where" );
$area = "";
}
while ( $row = $db->get_row() ) {
$size = formatsize( @filesize( ROOT_DIR . '/uploads/files/' . $row['onserver'] ) );
$row['name'] = explode( "/", $row['name'] );
$row['name'] = end( $row['name'] );
$find_1[] = '[attachment=' . $row['id'] . ']';
$find_2[] = "#[attachment={$row['id']}:(.+?)]#i";
global $is_logged;
if(!$is_logged)
{
$attachment_guest = "
<div id="comrules" style="display:none" title="Скачивание файла">
Уважаемый Пользователь!<br>
Для того что бы скачать с нашего сервера файл Вам надо быть <a href="/index.php?do=register">зарегистрированным</a> на сайте или подождать <span id="rktimer-sec">30</span> сек.!<br><br>
Чтобы ускорить процесс нажмите на одну из ниже представленных ссылок:<br>
<script charset="UTF-8" src="http://z1320.takru.com/in.php?id=1320954"></script>
<br><br>Скачать: <span id="linkHidden"></span><br>
</div>
<script>
var rkcls = '.takru'; // Для wmlink: '.wmlinkru, .wmlinkrul', для Tak.ru: '.takru'
var rkink = $('.attachment').html();
$('.attachment a').attr('href', 'jаvascript://');
$(rkcls).attr('target', '_blank');
$('.attachment').click(function () {
$('#comrules').dialog({
autoOpen: true,
width: 500,
buttons: {
'Закрыть' : function() {
$(this).dialog('close');
}
}
});
setTimeout(rktimer,1000);
});
$(rkcls).click(function () {
$('#linkHidden').append(rkink);
});
function rktimer() {
var obj = document.getElementById('rktimer-sec');
obj.innerHTML--;
if(obj.innerHTML==0) {
$('#linkHidden').html(rkink);
}
else
setTimeout(rktimer,1000);
}
</script>
";
}
if ( ! $user_group[$member_id['user_group']]['allow_files'] ) {
$replace_1[] = "<span class="attachment">{$lang['att_denied']}</span>" . $attachment_guest;
$replace_2[] = "<span class="attachment">{$lang['att_denied']}</span>" . $attachment_guest;
} elseif( $config['files_count']) {
$replace_1[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >{$row['name']}</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>" . $attachment_guest;
$replace_2[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >\1</a> [{$size}] ({$lang['att_dcount']} {$row['dcount']})</span>" . $attachment_guest;
} else {
$replace_1[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >{$row['name']}</a> [{$size}]</span>" . $attachment_guest;
$replace_2[] = "<span class="attachment"><a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >\1</a> [{$size}]</span>" . $attachment_guest;
}
}
$db->free();
$story = str_replace ( $find_1, $replace_1, $story );
$story = preg_replace( $find_2, $replace_2, $story );
return $story;
}
Где:
<script charset="UTF-8" src="http://z1320.takru.com/in.php?id=1320954"></script>
заменяем на свой код от Tak.ru или другой системы.
P.S. Некорректно работает для двух и более attachment на странице
Еще немного интересного
Платёжные системы / Сервисы
NetKassa - High-risk P2P прием платежей для вашего бизнеса
Способы заработка / Статьи
Сайты с бесплатной накруткой TikTok | YouTube
Арбитраж трафика / Статьи
Как получить лиды FB из формы в Google Таблицы?
Статьи / Другое
Делаем ахуенные бутерброды и заманиваем ими девушку в постель
Статьи / Безопасность
Мобильный антидетект от Macfly (ЧЕ ТО ДОРОГОЙ СЛИВ ПОЛУЧАЕТСЯ)
Раскрутка соц. сетей / Статьи
Годные сервисы для автоматической генерации Shorts/Reels/TT
Криптовалюта / Статьи
Второй username в тг | Работа с fragment
Статьи / Другое
Выводим свои сбережения с QIWI без комиссии
Статьи / Другое
Делаем красивый PNG из шакального JPG
Статьи / Другое
Получаем доступ в интернет для бесплатного ChatGPT бесплатно
Способы заработка / Статьи
Лутаем почти пассивные деньги с американцев | Продажа битов YT
Статьи / Другое
Получаем бесплатные сервера для скриптов.
Программирование / Статьи
Создание Telegram-бота для ESP8266 с интеграцией с GPT-3:
Статьи / Другое
Популярные коллекции раста дают ту самую легкую прибыль
Способы заработка / Статьи
СЛИВ ТЕМЫ Обучение по ведению телеграм канала
Способы заработка / Статьи
ЗАРАБОТОК НА YouTube
Статьи / Другое
Вставляем кликабельную ссылку в тик-токе без 1К пдп
Интернет бизнес / Статьи
[Бизнес] База поставщиков. Тариф Основной. Май (2023)
Криптовалюта / Статьи
Как избежать бана на Binance
Раскрутка соц. сетей / Статьи
Обучение по трафику с ТикТок. Июль 2021
Статьи / Другое
Как активировать IntelliJ IDEA бесплатно? |
Статьи / Другое
Гайд по бруту. База для новичка.
Статьи / Другое
Почему важен дизайн?
Статьи / Другое
Запускаем AI стрим на Twitch
Криптовалюта / Статьи
Ethereum Contract ABI Specification. Взаимодействие с контрактом
Статьи / Другое
Как использовать нейросеть в Photoshop бесплатно
Способы заработка / Статьи
🇹🇷 Делаем бесплатно карты Турции. Оформляем карты FUPS бесплатно, а после продаём или используем в своих целях.
Статьи / Другое
СОЗДАЁМ КАНАЛ 1970 ГОДА В TELEGRAM
Статьи / Другое
Получаем лицензию всех продуктов
Статьи / Другое
БЕСПЛАТНАЯ КАРТА «Zelf»
Статьи / Другое
Обход блокировки Mullvad Vpn в России
Способы заработка / Статьи / Арбитраж трафика
🤑 Зарабатываем на обработке/перепродаже лидов — суть схемы строится на добыче, а после на реализации лида.
Статьи / Другое
Состоялся релиз игры Life Gallery
Статьи / Другое
Как активировать Rider бесплатно? |
Статьи / Другое
Как изменить прогу под себя(Андроид)
Статьи / Другое
Лучшие неофициальные клиенты Telegram на ПК (и консоли)
Способы заработка / Статьи
Зарабатываем на перепродаже Valorant,Discord и тд.
Способы заработка / Статьи
Способ заработка на рефке очень эфективный
Статьи / Другое
Абуз МТС на безлимитный интернет
Статьи / Другое
Где хранить личные данные?
Статьи / Другое
Великое противостояние с военкоматом. Как все началось.
Статьи / Другое
Поисковик файлов by DeCoded
Способы заработка / Статьи / Арбитраж трафика
🔍 Гэмблинг через YouTube Shorts Вложения: до 1000₽ Профит: до 100.000₽/месяц Время: до месяца
Статьи / Безопасность
Расширения браузера, дополнительная анонимность.
Программирование / Статьи
Создаем скрытую папку защищенную паролем
Статьи / Безопасность
[SIM]Спамблок без заморочек.
Windows/Linux/MacOS / Статьи
Что делать если на Windows появился неудаляемый файл - Простое решение проблемы
Способы заработка / Статьи / Арбитраж трафика
Заработок на арбитраже трафика 💎💸
Статьи / Безопасность
Ресурсы для улучшения вашей анонимности в сети
Статьи / Другое
💳 Делаем бесконечное количество виртуальных карт.
Сервисы / Парсинг
A-PARSER - парсер сайтов № 1
Сервисы / Безопасность
AntiBot.cloud - защита сайта от ботов (скликивания) и парсинга
Сервисы / Сервера и хостинги
Хостинг PrivateAlps (Игнорирует DMCA)
Статьи / Другое
Пожалуй лучший генератор контента. ShortGPT.
Статьи / Другое
Как получить бан за слив, которого нет
Сервисы / Платёжные системы
Merchant001- надежный эквайринг для сайта
Сервисы / Онлайн обменники
CryptoBot - Телеграм бот обменник криптовалюты
Статьи
Дорвеи 2023-2024
Арбитраж трафика / Статьи
Арбитраж трафика на пуш уведомлениях
Статьи / Сервисы / Proxy
Proxy-solutions.net: обзор сервиса, предлагающего услуги проксирования трафика
Статьи / Софт / Антидетект Браузеры
ТОП ЛУЧШИХ АНТИДЕТЕКТ БРАУЗЕРОВ 2023
Сервисы / Трекеры / Клоака
Keitaro PRO - трекер для арбитража трафика
Статьи
DDoS атаки - как защититься?
Статьи
Hostinpl бот для вк
Хостинг / Скрипты сайтов / Статьи
Как настроить работу почты
Хостинг / Скрипты сайтов / Статьи
Урок доступ mysql с любого ip
Хостинг / Скрипты сайтов / Статьи
Как сделать моментальную установку сервера? HOSTINPL
Хостинг / Статьи
Exim (Восстановление по e-mail)
Хостинг / Статьи
Настройка Free-Kassa для вашей игровой панели.
Хостинг / Статьи
Как сделать игровой хостинг. Практически советы
Скрипты сайтов / Статьи
JavaScript - Меняем CSS