Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Администрирование форума » Общие вопросы по администрированию (7)


Общие вопросы по администрированию (7)

Сообщений 501 страница 520 из 535

Перевести1

В этой теме задаём вопросы по администрированию форума

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

Для запросов новых скриптов и их модификаций, пожалуйста, пишите в теме Запросы по скриптам #11
Если у вас возникли вопросы по оформлению форума, их можете задать в теме Общие вопросы по оформлению (65) #2
У вас возникла непредвиденная проблема с форумом, но самостоятельно вы её решить не можете? Создайте тему в разделе Проблемы с форумом, ознакомившись с правилами раздела.

Важная информация перед тем, как задать вопрос:

  • Ответы в теме дают другие участники форума по собственному желанию.

  • Администрация не может гарантировать моментальное решение или абсолютную корректность каждого ответа.

  • Пожалуйста, уважайте чужое время и усилия других пользователей, старайтесь писать грамотно и доходчиво.

  • Грубое или требовательное отношение к участникам форума неприемлемо и может привести к отказу в помощи на всём форуме.

Подробно сформулируйте свой вопрос, чтобы повысить вероятность отклика помощи:

  • Укажите ссылку на форум: Если ваш вопрос касается конкретного форума, обязательно укажите прямую ссылку на него. Это позволит нам увидеть проблему и предложить наиболее точное решение, не тратя время на догадки.

  • Опишите свой вопрос: Подробно и понятно изложите, что именно вас интересует или какая проблема возникла. Чем больше деталей вы предоставите, тем легче будет понять и помочь.

Если на ваш вопрос долго нет ответа, пожалуйста, напомните о своём вопросе через разумное время (например, через сутки), процитировав его. Избегайте излишней навязчивости.

Отредактировано Alex_63 (Ср, 2 Авг 2017 13:16:07)

+1

Перевести501

Merlin777 написал(а):

Убрал вызовы внешнего jquery. Сейчас if (typeof jQuery === 'undefined') просто не запускает скрипт и пишет ошибку в консоль  :)

Видимо вы забыли вынести вывозов initLivePanel за пределы функции определения (подключения) jQuery. Навскидку, должно быть примерно так:

Код
Код:
<script>
(function () {
  let retryCount = 0;
  const retryDelay = 1500;
 
  // 🔢 Настройки
  const maxBuffer = 10;
  const fetchMax = maxBuffer + 5;
  const newestAtBottom = true; // false = новые СВЕРХУ, true = новые СНИЗУ
 
  function initLivePanel($) {
    $(function () {
      if (window.location.pathname !== "/" && !window.location.pathname.endsWith("index.php")) return;
 
      let currentBuffer = [];
      let isFetching = false;
 
      // 🧱 HTML
      const html = `
        <div id="live-posts" class="stats section">
          <div class="live-posts-wrapper">
            <table class="container stats">
              <thead>
                <tr>
                  <th class="tcl">🧑💻 Автор</th>
                  <th class="tc2">🕒 Время</th>
                  <th class="tcr">💬 Последнее сообщение</th>
                </tr>
              </thead>
              <tbody class="hasicon live-posts-tbody">
                <tr><td colspan="3">Загрузка...</td></tr>
              </tbody>
            </table>
          </div>
        </div>
      `;
 
      if ($('.statscon').length) {
        $('.statscon').prepend(html);
      } else {
        $('body').append(html);
      }
 
      const $tbody = $('.live-posts-tbody');
      const $wrapper = $('.live-posts-wrapper');
 
      function showError(msg = "❌ Ошибка загрузки.") {
        $tbody.html(`<tr><td colspan="3">${msg}</td></tr>`);
      }
 
      function formatDate(timestamp) {
        const ts = new Date(1000 * timestamp);
        const mo = String(ts.getMonth() + 1).padStart(2, '0');
        const dd = String(ts.getDate()).padStart(2, '0');
        const hh = String(ts.getHours()).padStart(2, '0');
        const mm = String(ts.getMinutes()).padStart(2, '0');
        return `${dd}.${mo} ${hh}:${mm}`;
      }
 
      function createRow(item, isRecent = false) {
        const timeStr = formatDate(item[0]);
        const rowClass = isRecent ? "new-message" : "";
        return $(`
          <tr class="${rowClass}">
            <td class="tcl">🧑‍💻 ${item[1]}</td>
            <td class="tc2">🕒 ${timeStr}</td>
            <td class="tcr">💬 <a href="${item[2]}" target="_blank">${item[3]}</a></td>
          </tr>
        `);
      }
 
function renderBuffer(newItemIds = new Set()) {
  // Сортируем весь буфер по времени: от старых к новым
  const sortedAll = [...currentBuffer].sort((a, b) => a[0] - b[0]);
  
  // Берём последние maxBuffer сообщений (самые свежие по времени)
  const latestItems = sortedAll.slice(-maxBuffer);
  
  // Определяем порядок отображения
  const displayItems = newestAtBottom
    ? latestItems                // старые сверху → новые снизу
    : latestItems.reverse();     // новые сверху → старые снизу
 
  $tbody.empty();
  displayItems.forEach(item => {
    const isNew = newItemIds.has(item[2]);
    const $row = createRow(item, isNew);
    $tbody.append($row);
  });
 
  // Подсветка новых
  if (newItemIds.size > 0) {
    $tbody.find('.new-message').each(function () {
      const $el = $(this);
      setTimeout(() => {
        $el.animate({ backgroundColor: "transparent" }, 2000, () => {
          $el.removeClass('new-message');
        });
      }, 100);
    });
  }
 
  // Прокрутка вниз, если новые снизу и есть обновления
  if (newestAtBottom && newItemIds.size > 0) {
    $wrapper.scrollTop($wrapper[0].scrollHeight);
  }
}
 
      function fetchLatestPosts(retryCountAjax = 0) {
        if (isFetching) return;
        isFetching = true;
 
        $.getScript(`/export.php?type=js&max=${fetchMax}&_=` + Date.now())
          .done(() => {
            isFetching = false;
 
            if (typeof content === "undefined" || !Array.isArray(content)) {
              if (retryCountAjax < 3) {
                setTimeout(() => fetchLatestPosts(retryCountAjax + 1), retryDelay);
              } else {
                showError();
              }
              return;
            }
 
            const freshItems = [];
            const newItemIds = new Set();
 
            content.forEach(item => {
              if (!item || item.length < 4) return;
              if (item[3].includes('·') || item[3].includes('¬')) return;
              freshItems.push(item);
            });
 
            freshItems.forEach(item => {
              const url = item[2];
              const wasMissing = !currentBuffer.some(msg => msg[2] === url);
              if (wasMissing) {
                newItemIds.add(url);
              }
            });
 
            currentBuffer = freshItems;
 
            if (currentBuffer.length > 100) {
              currentBuffer.sort((a, b) => a[0] - b[0]);
              currentBuffer = currentBuffer.slice(-100);
            }
 
            if (currentBuffer.length === 0) {
              $tbody.html('<tr><td colspan="3">Нет сообщений.</td></tr>');
              return;
            }
 
            renderBuffer(newItemIds);
          })
          .fail(() => {
            isFetching = false;
            if (retryCountAjax < 3) {
              setTimeout(() => fetchLatestPosts(retryCountAjax + 1), retryDelay);
            } else {
              showError();
            }
          });
      }
 
      fetchLatestPosts();
      setInterval(fetchLatestPosts, 15000);
    });
  }
 
  initLivePanel($);
})();
</script>

Полностью код не изучал, вырезал только базовые, попавшиеся мне.

+2

Перевести502

Здравствуйте!
Я правильно понимаю, что модераторы не могут удалять сообщения пользователей и гостей форума?

Пост написан Вс, 30 Ноя 2025 21:38:49

0

Перевести503

Berman написал(а):

Здравствуйте!
Я правильно понимаю, что модераторы не могут удалять сообщения пользователей и гостей форума?

Доброго дня!
Могут, но модераторы имеют менее универсальные права, чем администраторы. Чтобы модератор мог оперировать чужими сообщениями сверх базовых настроек форума, ему нужно назначить еще и права отдельно на форумы в настройках его профиля.

+1

Перевести504

Arakhen написал(а):

Доброго дня!
Могут, но модераторы имеют менее универсальные права, чем администраторы. Чтобы модератор мог оперировать чужими сообщениями, ему нужно назначить еще и права отдельно на раздел в настройках его профиля.

Большое спасибо! Всё получилось.

Пост написан Вс, 30 Ноя 2025 22:24:10

0

Перевести505

Добавлял правила при создании форума. Но не могу сейчас понять, где их можно отредактировать (

Пост написан Вс, 30 Ноя 2025 22:24:22

0

Перевести506

Berman написал(а):

Добавлял правила при создании форума. Но не могу сейчас понять, где их можно отредактировать (

Администрирование - Формы - с правой стороны, пролистать до Правила.

0

Перевести507

kolobdur74 написал(а):

Администрирование - Формы - с правой стороны, пролистать до Правила.

Спасибо!
Может быть, ещё знаете как разделить текст правил по строчкам. А то у меня набрано всё красиво, а при просмотре всё в кучу лепится

Пост написан Пн, 1 Дек 2025 18:17:36

0

Перевести508

Berman
Нужен адрес форума. Но скорее всего проблема в тегах.
Если нет времени/желания разбираться с html и нормальной разбивкой, можно потыкать тег <br> там, где нужны переносы на новую строку (самый быстрый и простой способ решить этот вопрос, но потом его может прийтись переделывать)

0

Перевести509

https://upforme.ru/uploads/0000/14/1c/39519/t148914.png

Пост написан Пн, 1 Дек 2025 18:21:47

0

Перевести510

Форум http://moyatema.mybb.ru/

Пост написан Пн, 1 Дек 2025 18:22:45

0

Перевести511

Berman
<br> там, где нужны переносы. Но желательно разобраться с тегами <p></p> и <ol><li></li></ol> (если делать сразу хорошо)

+1

Перевести512

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

Пост написан Пн, 1 Дек 2025 18:30:57

+1

Перевести513

Не могу добавить значок форума. В разделе "Настройки" есть поле "Значок форума" с поясняющей надписью "Ссылка на значок форума - favicon.ico. Загрузить файл вы можете в разделе Файлы." Но я не понимаю, что именно нужно указать в этом поле. Помогите, пожалуйста.

Пост написан Пн, 1 Дек 2025 20:59:10

0

Перевести514

Berman написал(а):

Не могу добавить значок форума. В разделе "Настройки" есть поле "Значок форума" с поясняющей надписью "Ссылка на значок форума - favicon.ico. Загрузить файл вы можете в разделе Файлы." Но я не понимаю, что именно нужно указать в этом поле. Помогите, пожалуйста.

Обычную ссылку. То есть надо загрузить свой файл favicon.ico в Файлы, скопировать ссылку на загруженный значок и вставить в поле. То есть, ссылка примерно будет выглядеть так: https://forumstatic.ru/files/000f/3e/e5/83007.ico

+1

Перевести515

Эту ссылку нужно вставить?

Пост написан Пн, 1 Дек 2025 21:44:38

0

Перевести516

kolobdur74 написал(а):

Обычную ссылку. То есть надо загрузить свой файл favicon.ico в Файлы, скопировать ссылку на загруженный значок и вставить в поле. То есть, ссылка примерно будет выглядеть так: https://forumstatic.ru/files/000f/3e/e5/83007.ico

Я вроде бы это сделал, но ничего не изменилось. Скажите, а где этот самый значок форума должен появиться в случае его загрузки на форум?

Пост написан Пн, 1 Дек 2025 21:35:17

0

Перевести517

Berman написал(а):

Я вроде бы это сделал, но ничего не изменилось. Скажите, а где этот самый значок форума должен появиться в случае его загрузки на форум?

С левой стороны в Файлах, нажмите на нее и вас перекинет на страницу с иконкой, надо скопировать ссылку из адресной строки.https://i6.imageban.ru/out/2025/12/01/0c3fa4a3486c7daf67158337d399cedd.png

0

Перевести518

Я уже так делал и сейчас повторил. Правда, у меня ссылка заканчивается не на ico и имеет вид https://forumstatic.ru/files/001c/98/89/46729.ico?v=1
Нажал кнопку "Сохранить". Ничего не изменилось.
Скажите, а где этот самый значок форума должен появиться в случае его загрузки на форум? А то, может быть, у меня всё получилось, просто я не знаю где искать результат )

Пост написан Вт, 2 Дек 2025 18:16:38

0

Перевести519

Berman написал(а):

Скажите, а где этот самый значок форума должен появиться в случае его загрузки на форум? А то, может быть, у меня всё получилось, просто я не знаю где искать результат )

В самом верху браузера над адресной строкой (это на ПК) страницы со значком - этот значок и есть, к примеру вот стандартный значок форумов Майбб:
https://i8.imageban.ru/out/2025/12/02/a4bc674af3d2c82cda88ba011295efbe.png

0

Перевести520

kolobdur74 написал(а):

В самом верху браузера над адресной строкой (это на ПК) страницы со значком - этот значок и есть, к примеру вот стандартный значок форумов Майбб:
https://i8.imageban.ru/out/2025/12/02/a4bc674af3d2c82cda88ba011295efbe.png

Да, там он появился. А я думал, что он прямо в интерфейсе форума где-то появится большой и красивый )
Большое спасибо!

Пост написан Вт, 2 Дек 2025 18:48:10

+1


Вы здесь » Единый форум поддержки » Администрирование форума » Общие вопросы по администрированию (7)