Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Можно ли перевести форум в оффлайн через conf_global.php?

В 2.0.0 в conf_global.php был параметр:

 

$INFO['board_offline'] = '1';

и там стояла единичка или нолик в зависимости от статуса форума.

 

В 3.3.х этого нет?

 

 

Что я хочу?

сделать крон на следующее:

1) перевод форум в оффлайн

2) бэкап через sypex без сжатия

3) перевод форум в онлайн

4) сжатие бэкапа

 

 

Почему я хочу бэкапить отключённый форум? мне так спокойнее.

при переезде был трабл что дублировались какие то строчки в таблице постов при включённом форуме.

при отключённом - всё было гладко

Рекомендованные сообщения

В самой админке форума, можно перевести форум offline

  • Автор

@Атаман,

это понятно

 

но я же ясно изъяснил. хочу автоматизировать через крон.

Настройки > Системные настройки > Система > Отключение форума

 

При помощи данной группы настроек, вы можете включить или выключить (режим offline) ваш форум для пользователей.

 

Но нужно проверить еще группы пользователей, чтобы не было вкл галки. Пользователи Могут просматривать отключенный форум?

Понял.

Нужно тогда создать задачу в планировщике задач.

  • Автор

@Атаман,

 

вот тут и вопрос. имеет ли смысл?

в самом conf_global.php я не нахожу параметра для отключённого форума как это было в двушке.

пробовал играться на тестовом полигоне и добавить - не катит.

Нужно тогда создать задачу в планировщике задач.

 

Там можно использовать, через крон.

  • Автор

@Атаман,

я очень ценю Ваше желание ответить, но Вы, похоже, не понимаете вопроса.

 

Вопрос не в самом кроне/планировщике, а в том как можно перевести форум в оффлайн при помощи conf_global.php наподобие того как это было в двушке.

Пока что я не вижу, что это возможно

Нет, не будеть работать. Там сейчас система такая, что в массив настроек сначала загружается $INFO из conf_global.php, а потом поверх этих данных добавляются все значитения таблицы core_sys_conf_settings из БД. И board_offline внесена в эту таблицу. Что бы вы не назначили для $INFO['board_offline '], оно все равно перезапишется значением из базы.

 

Придется писать что-то вроде этого:

 

<?php

include('conf_global.php');

mysql_connect($INFO['sql_host'], $INFO['sql_user'], $INFO['sql_pass']) or die( mysql_error() );
mysql_select_db($INFO['sql_database']) or die( mysql_error() );
mysql_query("UPDATE {$INFO['sql_tbl_prefix']}core_sys_conf_settings SET conf_value = 1 WHERE conf_key = 'board_offline'") or die( mysql_error() );
mysql_close();
?>

 

А еще можно сюда же вписать очистку таблицы логов посещений (если ведутся) и очистку таблицы кэша, чтобы легче было дампы снимать :)

  • Автор

Большое спасибо

Это именно то что я хотел.

Не, там на самом деле немного по другому, board_offline загружается из кеша настроек, так что его апдейт в таблице настроек не даст никаких результатов. Сам с этим столкнулся, когда отключал форум таким запросом, а он продолжал работать как ни в чем не бывало.

  • Автор

@siv1987,

так и есть. не отключает

Ну так кэш все равно в БД лежит (по-умолчанию), так что либо радикально:

 

<?php

include('conf_global.php');

mysql_connect($INFO['sql_host'], $INFO['sql_user'], $INFO['sql_pass']) or die( mysql_error() );
mysql_select_db($INFO['sql_database']) or die( mysql_error() );
mysql_query("UPDATE {$INFO['sql_tbl_prefix']}core_sys_conf_settings SET conf_value = 1 WHERE conf_key = 'board_offline'") or die( mysql_error() );
mysql_query("TRUNCATE {$INFO['sql_tbl_prefix']}cache_store") or die( mysql_error() );
mysql_close();
?>

 

Либо более нежно:

 

<?php

include('conf_global.php');

mysql_connect($INFO['sql_host'], $INFO['sql_user'], $INFO['sql_pass']) or die( mysql_error() );
mysql_select_db($INFO['sql_database']) or die( mysql_error() );
mysql_query("UPDATE {$INFO['sql_tbl_prefix']}core_sys_conf_settings SET conf_value = 1 WHERE conf_key = 'board_offline'") or die( mysql_error() );
mysql_query("DELETE FROM {$INFO['sql_tbl_prefix']}cache_store WHERE cs_key = 'settings'") or die( mysql_error() );
mysql_close();
?>

 

Собственно, об этом и думал, когда вот это писал:

А еще можно сюда же вписать очистку таблицы логов посещений (если ведутся) и очистку таблицы кэша,

Может я глупость скажу, но все же.

 

А кто мешает, в скрипте указать на время создания бэкапа так:

 

1. Добавляем на сайт файл index.htm(l) с текстом типа "Сайт закрыт зайдите позже"

2. Включается cron а нем:

а) Переименовать index.php в index.php1 (таким образом стартовая страница автоматом будет загружаться index.htm(l)

B) Cron отработал

c) Переименовать index.php1 в index.php

 

Собственно все...

 

ПыСы смайлик не правильный b_) отображается как B)

Изменено пользователем podvorie

Видимо, ТС хочется, чтобы были "культурное" сообщение для пользователей в дизайне форума и правильный код 503 для поисковиков на время оффлайна. И первое, и второе как раз и реализуется стандартным оффлайном.

 

Хотя, конечно, дописывать и удалять в conf_global.php строки было бы проще:

header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Retry-After: 300');
echo "Мужчина, вы что не видите - у нас обед!";
die;

 

:)

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.