BB-теги в новостях

Автор Sp, 08 ноября 2016, 00:49:51

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Sp

Приветствую, уважаемые!

При вводе новостей, есть ограничение по BB-тегам. Некоторые теги запрещены и их ломает.
А мне нужно вводить полноценные коды HTML+ текст.
Где поковырять, чтобы только в новости можно было вставлять код HTML с текстом?

По форуму искал, но поиск пишет, что есть проблемы с базой данных и отсылает к администратору. Поиск, на этом форуме, не работает.

GeorG

#1
Цитата: Sp от 08 ноября 2016, 00:49:51При вводе новостей
Откуда и куда? Имеется в виду стандартный блок прокрутки новостей (на главной странице разделов), или отображение случайной новости наверху форума?

Цитата: Sp от 08 ноября 2016, 00:49:51Некоторые теги запрещены и их ломает
Запрещены где, в настройках админки или вообще при работе функции новостей? На сколько я знаю, они не запрещены, их просто изначально нет (поддержка только основных, используемые при выделении текста).

Ковыряться вам в файле вашей темы BoardIndex.template.php
Там где в самом начале, начинается со слов:
// Show the news fader?  (assuming there are things to show...)
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Sp

Цитата: GeorG от 08 ноября 2016, 01:16:48Откуда и куда? Имеется в виду стандартный блок прокрутки новостей (на главной странице разделов),


Да, стандартный блок новостей, на главной.

Когда я ввожу и сохраняю <span>TEXT</span>
в новостях я получаю &lt;span&gt;TEXT&lt;/span&gt;

Какой-то скрипт это контролирует и конвертирует в безопасный код.

Sp

Вот нашел подсказку разработчиков http://wiki.simplemachines.org/smf/HTML
Работает.

И ещё есть вопрос:
Мне по дизайну нужно, чтобы новости выводились выше вывода контента и ниже горизонтального меню.
Для этого, я убрал код новостей из файла BoardIndex.template.php, и создал новую функцию function template_news_slider() в файле index.template.php, и запихнул в неё код новостей с глобальными переменными. Далее сделал в нём же вывод этой функции в echo '', template_news_slider(), '';

Работает.

Теперь нужно создать условие, которое разрешает вывод только на главной странице.
Даже не знаю к какой переменной привязаться. SMF знаю плохо.
Подскажите?
Какая переменная сообщает, что это корень сайта или главная страница?

GeorG

#4
Вам видимо нужно формирование переменной с текстом новостей, это $context['news_lines'], то что я дал выше, это уже сам вывод текста из переменной.

Находиться всё это дело в файле ../Sources/Subs.php
Ищите там этот код:
// Get some news...
 $context['news_lines'] = explode("\n", str_replace("\r", '', trim(addslashes($modSettings['news']))));
 $context['fader_news_lines'] = array();
 for ($i = 0, $n = count($context['news_lines']); $i < $n; $i++)
 {
 if (trim($context['news_lines'][$i]) == '')
 continue;

 // Clean it up for presentation ;).
 $context['news_lines'][$i] = parse_bbc(stripslashes(trim($context['news_lines'][$i])), true, 'news' . $i);

 // Gotta be special for the javascript.
 $context['fader_news_lines'][$i] = strtr(addslashes($context['news_lines'][$i]), array('/' => '\/', '<a href=' => '<a hre" + "f='));
 }
 $context['random_news_line'] = $context['news_lines'][mt_rand(0, count($context['news_lines']) - 1)];


ЦитироватьКакая переменная сообщает, что это корень сайта или главная страница?
На главную как раз только шаблон BoardIndex.template.php выводит, а файл index.template.php шаблон шапки и подвала форума, т.е, без костылей будет показывать на весь форум.

Возможно самый простой и верный вариант, создать глобальную переменную в файле ../Sources/BoardIndex.php (в нём формируется шаблон разделов).
Типа:
$context['news_index'] = true;
Её отлавливать на главной, и если она существует, выводить блок новостей:
if (isset($context['news_index'])) {
// показать блок
}

Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Sp

Цитата: GeorG от 08 ноября 2016, 03:21:26Возможно самый простой и верный вариант, создать глобальную переменную в файле ../Sources/BoardIndex.php (в нём формируется шаблон разделов).
Типа:
$context['news_index'] = true;
Её отлавливать на главной, и если она существует, выводить блок новостей:
if (isset($context['news_index'])) {
// показать блок
}



Работает.

Спасибо, большое!

Sp

Цитата: Sp от 08 ноября 2016, 03:17:50Вот нашел подсказку разработчиков http://wiki.simplemachines.org/smf/HTML
Работает.


Работает, да не всё что нужно.
Изменяет код в теге <a></a> добавляет в этом теге к href и class символы &#38;#32;.
На скриншоте видно.

Пошел в файл ../Sources/Subs.php.
Поковырял его, но убрать символы не смог.

Я ещё какой-то мод ставил, руками, давно, который закрывает ссылки от неавторизованных пользователей, на всём сайте. Но он ставился на какой-то класс, который рулит ссылками и в новостях ссылки тоже стали закрытыми. Это плохо.

Если возможно, то прошу убрать из кода всё, что добавляет любые символы, изменяет код HTML, и контролирует ссылки, пряча их от гостей - только для новостей.

Я готов предоставить файл или файлы, которые контролируют новости, и заплатить за эту работу.
Так будет быстрее и продуктивней.



GeorG

Мод видимо называеться Registered Links.
Сейчас попробовал сохранить у себя html код на чистом тестовом форуме в новости, там все нормально, никаких спец символов...
Удалите мод, возможно это как раз он глючит, либо какой другой, работающий с парсером форума.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Sp

Спасибо, что напомнили как он называется.
Это он и есть.

В файл Subs.php всего добавляется пару строк и он на крякобразы в коде никак не влияет.
Я его удалили и потестировал - HTML продолжает ломаться в новостях.

Зато добавил условие в этот Registered Links, чтобы он не мешал ссылкам в новостях.

// Registered Links  я исправил, чтобы у новости были видны ссылки
if (($user_info['is_guest']) && !empty($context['fader_news_lines']))
{
$message = preg_replace('#<a href="(.*?)</a>#i', $txt['no_view_links'] . "\n" . ' <a class="hidden-link" href="' . $scripturl . '?action=register">' . $txt['txt_reg_links_register'] . '</a>&nbsp;' . $txt['txt_reg_links_or'] . '&nbsp;<a class="hidden-link" href="' . $scripturl . '?action=login#navtab-login">' . $txt['txt_reg_links_login'] . '</a>', $message);
}

// End Registered Links


Где же искать код, который косячит HTML?
Может ещё какие мыли будут?

Sp

А может есть другой модуль новостей?
Может помните какой подходящий?
Нужно просто выводить новости на главную.
Ротатор к нему я сам прикручу.

GeorG

#10
Цитата: Sp от 08 ноября 2016, 08:03:45А может есть другой модуль новостей?
Навряд ли, нет смысла делать мод, если эта система встроена в форум, я не встречал.
По идеи, вам надо искать ошибку и исправлять её. Просто в сообщение пробовали вставлять этот же html код, там тоже проблемы?
Можете тут привести целиком тот код, что вставляете в блок новостей?

Как вариант, установить мод рекламы Ad Management mod, он поддерживает вставку html/php блоков, и уже в него вставлять новости и код ротатора (кстати, можете его заодно, и по назначению тоже использовать).
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Sp

Такой большой мод я ставить не буду. Потом его обновлять и ещё другие моды обновлять - замучаешься.

Поставил я SMF 2.0.12.
На нем такой проблемы нет.

Значит нужно обновиться.
Или подождать 2.1?
Как думаете, скоро будет стабильнвй релиз?

GeorG

#12
Цитата: Sp от 08 ноября 2016, 16:59:34Поставил я SMF 2.0.12.
На нем такой проблемы нет.
Это нужно сделать обязательно, так как то критические обновления безопасности.

Не понял, вы поставили с нуля, или обновились? Если с нуля, то проблемы и не будет, форум же чистый, я вам ещё вчера писал, что на чистом форуме делал проверку вставки html в новости, там нет таких проблем как у вас. У вас же где-то ошибка в коде, скорее всего пришла с каким-то установленным модом, или сами в коде что-то испортили, там копаясь.
Т.е, вам можно перелазить файлы форума из установщика поверх существующих (кроме файлов *..sql, install.php и особенно Settings.php, последний настройки подключения к БД, его нельзя затирать, просто удалите их из установщика).
Ещё моды перед этим удалите через админку, для того чтобы очистить от их кода основной стиль форума и удалить их из БД, все равно их переустанавливать придется.

Цитата: Sp от 08 ноября 2016, 16:59:34Или подождать 2.1?
А это только альфа версия, и когда выйдет финальная, пока не известно, может лет через 5, ставить на рабочий форум, если вы не собираетесь его тестировать, крайне не рекомендуется.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Sp

Цитата: GeorG от 08 ноября 2016, 19:57:05Не понял, вы поставили с нуля, или обновились?


Я поставил с нуля.

Сегодня обновлюсь, раз уж есть потребность исправить баг новостей.
Но мне обновляться, в прямом смысле, не получится.
У меня 2.09.
Придется все файлы новые установить, а потом Registered Links установить.

Вы в курсе, что SMF имеет кучу хитрых файлов, которые напичканы ссылками на левые сайты?
Это так разработчики зарабатывают себе на хлеб насущный.
Вот их то вичищать будет настоящая проблема.
Я, в прошлый раз, пару суток ковырялся, чтобы почистить.
Ну думаю, что не всё нашел и вычистил.
Все левые ссылки имели TLD .org.
Если искать рекламу по TLD, то поиск выдаст все файлы потому, что в них есть копирайт от simplemachines.org.
Это очень хитро и умно, с точки зрения маскировки под simplemachines.org.

GeorG

Цитата: Sp от 08 ноября 2016, 23:51:58Сегодня обновлюсь, раз уж есть потребность исправить баг новостей.
Но мне обновляться, в прямом смысле, не получится.
У меня 2.09.
Вам чтобы исправить (не сильно напрягаясь), перезалить файлы нужно (я выше писал), просто обновление вряд ли поможет, ошибка то в файлах останется.

Цитата: Sp от 08 ноября 2016, 23:51:58Вы в курсе, что SMF имеет кучу хитрых файлов, которые напичканы ссылками на левые сайты?
Нет там левых ссылок, возможно у вас моды их добавили, в подвал чего чего дописали (как авторство). Приведете пример, где и как они выглядят :)

Цитата: Sp от 08 ноября 2016, 23:51:58Если искать рекламу по TLD
Аббревиатура top-level domain - Домен верхнего уровня.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Sp

Да чтобы далеко не ходить, смотрите файлы ssi_examples.php и  ssi_examples.shtml и и файл-темплайт Помощь.
Должно быть достаточно копирайтов, но нет, напихали в эти файлы ссылок.
Это не често.
Я даже и подумать не мог, но потом обнаружил и напрягся.

Были и ещё, я записал где.
Но файл не могу найти. Поэтому и обновляться не хотел.

GeorG

Цитата: Sp от 09 ноября 2016, 00:13:38Да чтобы далеко не ходить, смотрите файлы ssi_examples.php и  ssi_examples.shtml
Это файлы примеры, как работать с SSI форума, они никак более не используются.
https://www.simplemachines.ru/ssi_examples.php

Цитироватьи файл-темплайт Помощь.
Справка как работать с форумом, она онлайн. Можно мод установить, он вернет старую справку (но она не совсем актуальна).
http://custom.simplemachines.org/mods/index.php?mod=3043
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Sp

Можете подсказать, как мне обновиться сразу с 2.09 до 2.12?

GeorG

Если просто обновиться (что не гарантирует исправление вашей проблемы), то зайдите в Менеджер пакетов, там сверху сразу должны будут вам предложить обновить версию, там же и ссылка. Обновлять надо по очереди до версии 2.0.12 (хотя последний фикс глючит с кэшем, я его себе не ставил).
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Sp

Я посмотрел исправления для последних трех апдейтов и не увидел в них апдейта базы данных.
База данных не затрагивается?

Исправления только в файлах?

GeorG

Да, это критические обновления безопасности. В финальной версии движка 2.0.х (который сейчас обсуждаем), выходят только фиксы не затрагивающие изменение самой БД.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Sp

Тогда я просто залью папку Sources и дефолтный шаблон целиком, и всё.

GeorG

В файл index.php и subscriptions.php в корне форума, тоже обновите.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Sp

Все файлы обновил до 2.11.
То что мне нужно - работает.

Спасибо Вам, за помощь!