Добрый день.
Можно ли создать расширение, а точнее оформить уже рабочие скрипты в расширение что бы не править файлы в ручную ?
Смысл расширения в том, что при обнаружении у пользователя, зашедшего на форум с включённым VPN реклама адсенс блокируется.
Сейчас всё это работает таким способом -
VPN проверяется только раз в 5 минут на пользователя, что значительно экономит API-запросы!
В корне сайта ( public_html или /var/www/html/ ), создаём папку: vpn_storage
Назначаем ей права записи: 777
В эту папку будут записываться файлы кеширования.
В корне форума так же создаём файл check_vpn.php:
Скрипт для вставки перед закрывающим тегом
Всё это работает через апи запросы к сайту vpnapi.io
Поэтому в админке, в настройках расширения нужно только одно поле где надо вставить этот самый API Key.
Всё это создавалось с помощью чат жпт, и тестировалось в течении нескольких дней. Работоспособность удовлетворительная.
Разговоры о том, что мол так попроси пускай он тебе и расширение напишет, не рассматриваются. Я пробовал. Для этого у нас на двоих мало ума.
Можно ли создать расширение, а точнее оформить уже рабочие скрипты в расширение что бы не править файлы в ручную ?
Смысл расширения в том, что при обнаружении у пользователя, зашедшего на форум с включённым VPN реклама адсенс блокируется.
Сейчас всё это работает таким способом -
VPN проверяется только раз в 5 минут на пользователя, что значительно экономит API-запросы!
В корне сайта ( public_html или /var/www/html/ ), создаём папку: vpn_storage
Назначаем ей права записи: 777
В эту папку будут записываться файлы кеширования.
В корне форума так же создаём файл check_vpn.php:
Код: Выделить всё
<?php
header('Content-Type: application/json');
$api_key = '****************'; // Вставьте ваш API-ключ
$user_ip = $_SERVER['REMOTE_ADDR']; // Получаем IP пользователя
$cache_dir = __DIR__ . "/vpn_storage/";
if (!file_exists($cache_dir)) {
mkdir($cache_dir, 0777, true);
}
$cache_file = $cache_dir . "cache_vpn_{$user_ip}.json";
$cache_time = 300; // 5 минут (300 секунд)
// Если есть кэш и он не устарел, возвращаем данные из него
if (file_exists($cache_file) && (time() - filemtime($cache_file) < $cache_time)) {
echo file_get_contents($cache_file);
exit;
}
// Запрашиваем данные с vpnapi.io
$api_url = "https://vpnapi.io/api/{$user_ip}?key={$api_key}";
$response = file_get_contents($api_url);
$data = json_decode($response, true);
// Проверяем, является ли IP VPN
$is_vpn = $data['security']['vpn'] ?? false;
// Сохраняем результат в кэш
$cache_data = json_encode(['vpn' => $is_vpn]);
file_put_contents($cache_file, $cache_data);
// Отправляем ответ
echo $cache_data;
?>
</body>
в overall_footer.html
форума -
Код: Выделить всё
<script>
(function() {
const CHECK_INTERVAL = 5 * 60 * 1000; // Кэш на 5 минут
const now = Date.now();
const cachedData = sessionStorage.getItem("vpnCheckResult");
const cachedTime = sessionStorage.getItem("vpnCheckTime");
if (cachedData && cachedTime && now - parseInt(cachedTime) < CHECK_INTERVAL) {
console.log("Читаем кэш:", cachedData);
handleVPNCheck(JSON.parse(cachedData));
} else {
fetch("https://ваш сайт.com/check_vpn.php") // Вставляем адрес нашего сайта
.then(response => response.json())
.then(data => {
sessionStorage.setItem("vpnCheckResult", JSON.stringify(data));
sessionStorage.setItem("vpnCheckTime", now.toString());
console.log("VPN проверен:", data);
handleVPNCheck(data);
})
.catch(error => console.error("Ошибка VPN:", error));
}
function handleVPNCheck(data) {
if (data.vpn) {
console.log("VPN обнаружен! Блокируем рекламу.");
// Останавливаем загрузку AdSense
window.adsbygoogle = window.adsbygoogle || [];
window.adsbygoogle.push = function() {};
// Удаляем уже загруженные рекламные блоки
document.querySelectorAll("script[src*='adsbygoogle.js']").forEach(el => el.remove());
document.querySelectorAll("ins.adsbygoogle").forEach(el => el.remove());
// Блокируем дальнейшее добавление рекламы
const observer = new MutationObserver(() => {
document.querySelectorAll("ins.adsbygoogle").forEach(el => el.remove());
});
observer.observe(document.body, { childList: true, subtree: true });
console.log("AdSense заблокирован.");
} else {
console.log("VPN не найден, реклама остаётся.");
}
}
})();
</script>
Поэтому в админке, в настройках расширения нужно только одно поле где надо вставить этот самый API Key.
Всё это создавалось с помощью чат жпт, и тестировалось в течении нескольких дней. Работоспособность удовлетворительная.
Разговоры о том, что мол так попроси пускай он тебе и расширение напишет, не рассматриваются. Я пробовал. Для этого у нас на двоих мало ума.
Название расширения: RH Topic Tags
Автор: combuster
Описание расширения: Расширение добавляет возможность помечать темы с ключевыми словами.
Добавлять ключевые слова можно только при размещении новой темы или при редактировании первого сообщения.
Так же есть облако тегов, белый и чёрный списки тегов.
Скачать: https://www.phpbb.com/customise/db/exte ... opic_tags/
Репозиторий на GitHub https://github.com/RobertHeim/phpbb-ext-topictags
Язык: EN RU ES
Установка:
Скопировать содержимое архива в ext/robertheim/topictags/
Так же надо перейти во вкладку прав доступа, права администратора, разное, Может редактировать RH topic tags -да.
По умолчанию расширение не понимает буквы русского языка. Заходим в админку, настройка расширений, RH TOPIC TAGS, настройки, Настройки тегов и в поле - Регулярное выражение для разрешенных тегов: ставим это :
Такой вопрос по данному расширению, как на страницы с тегами добавить количество просмотров этой страницы?
Автор: combuster
Описание расширения: Расширение добавляет возможность помечать темы с ключевыми словами.
Добавлять ключевые слова можно только при размещении новой темы или при редактировании первого сообщения.
Так же есть облако тегов, белый и чёрный списки тегов.
Скачать: https://www.phpbb.com/customise/db/exte ... opic_tags/
Репозиторий на GitHub https://github.com/RobertHeim/phpbb-ext-topictags
Язык: EN RU ES
Установка:
Скопировать содержимое архива в ext/robertheim/topictags/
Перейти в ACP -> вкладка Настройка -> Управление расширениями -> Включить
Так же надо перейти во вкладку прав доступа, права администратора, разное, Может редактировать RH topic tags -да.
По умолчанию расширение не понимает буквы русского языка. Заходим в админку, настройка расширений, RH TOPIC TAGS, настройки, Настройки тегов и в поле - Регулярное выражение для разрешенных тегов: ставим это :
Код: Выделить всё
/^[\- a-zячсмитьбюэждлорпавыфйцукенгшщзхъёЯЧСМИТЬБЮЭЖДЛОРПАВЫФЙЦУКЕНГШЩЗХЁ0-9+]{3,30}$/i
Приветствую, может попадалось кому-нибудь такое расширение, по типу Поднять тему, только чтобы можно было поднимать только админам и чтобы появлялась или надпись или иконка везде, что тема обновлена?
Пытался реализовать без расширения вот таким способом, но он оказался не рабочим, надпись выводилась постоянно
Как сделать такую кнопку, чтобы при редактировании или просто нажать на нужную тему и перед ее названием появлялась кнопка с надписью Тема обновлена?
Пытался реализовать без расширения вот таким способом, но он оказался не рабочим, надпись выводилась постоянно
Код: Выделить всё
<div class="topic-header"><!-- EVENT viewtopic_topic_title_prepend --> {IF_BUMPED}<span class="bumped-button">Тема обновлена</span><h2 class="topic-title"><a href="{U_VIEW_TOPIC}">{TOPIC_TITLE}</a></h2><!-- EVENT viewtopic_topic_title_append --></div>
http://impossible-crimes.ru/Forum/alphabet1.php
34 строки
Как (по проще) разделить эту инфу на две равные колонки? В данном случае по 17 строк. То есть начиная с Альвтеген, Карин и далее — вторая колонка
34 строки
Как (по проще) разделить эту инфу на две равные колонки? В данном случае по 17 строк. То есть начиная с Альвтеген, Карин и далее — вторая колонка
Добрый день.
Можно ли создать расширение с функцией, которое разрешало пользователю скачивать файл только после того, как зарегистрированный участник форума нажал спасибо ? Или допилить уже существующее расширение Thanks for posts.
Можно ли создать расширение с функцией, которое разрешало пользователю скачивать файл только после того, как зарегистрированный участник форума нажал спасибо ? Или допилить уже существующее расширение Thanks for posts.
Добавив к адресу "сайт.ру/любой текст" откроется
несуществующая страница и в title каждой такой страницы будет надпись " Информацыя - "
как сделать чтоб в место слова "информацыя "
в title было название несуществующей страницы
например как в тегах
несуществующая страница и в title каждой такой страницы будет надпись " Информацыя - "
как сделать чтоб в место слова "информацыя "
в title было название несуществующей страницы
например как в тегах
Помогите не знаю как убрать рамки по бокам в гугле не нашол phpbb 3.3.12

Всем привет.
После переноса форума на VDS, отсутствует регистрация, а так же не могу зайти в админку.
Требуется настройка ispmanager, кто поможет?
После переноса форума на VDS, отсутствует регистрация, а так же не могу зайти в админку.
Требуется настройка ispmanager, кто поможет?