Вы не зашли.
кавычки тут лишние, т.к. нам нужен возврат функции
Да ладно? ![]()
rusiq, написано что? Что изящнее отключить автоформатирование, чем закомментировать описанный выше код? Согласен.
Но это всё похоже на троллинг, от чего у меня должно уже было знатно подгореть. Но этого не случится, так как я из этого уже вырос.
И на всякий случай, таки повторю заголовок этой темы: "Что это: return "phphighlight('" . $match[0] . "')"; ?"
Кстати. А почему в том топике, в котором всё написано, вдруг $match[1] ?
rusiq, отключение автоформатирования, даёт лишь возможность призму, правильно пронумеровать строки на странице новости. Кстати спасибо за этот совет, а то скриптом маркировалась только первая строка, и это всё из-за <br />. Отключил автоформатирование в настройках вообще. Но ответ на вопрос из первого топика, я так и не получил ![]()
irbees2008, конечно, этот ckeditor довольно крут. Я попробовал, посмотрел. Но я не буду искать лёгких путей, и попробую уж закончить начатое. Да и в принципах тончайшей настройки ckeditor, мне так сходу не разобраться. Новый TinyMCE довольно неплох, по сравнению с его третьей версией, которая добавляла к каждому параграфу стили
style="margin: 0px; padding: 0px; color: #000000; font-family: Verdana; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.46666717529297px; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"Особенно забавно, выглядит line-height: 18.46666717529297px;, я просто валяюсь. Новая версия из коробки, таких приколов не имеет.
Не по теме, но как я буду добавлять изображения без платного Image Manager - пока неизвестно. Если вы знаете где достать аналог - подскажите, я просто ещё не дошёл до этого момента, застряв на Code Sample Plugin
И кстати,
попробуйhttps://ngcmshak.ru/nastroika-plaginov- … vkami.html там плагин с визуальными редакторами, тебе нужен ckeditor, у меня с ним проблем не было
Нет подсветки кода - нет проблем? ![]()
Это нерабочий вариант. Потому-что мне нужно передать классы для визуализатора Prism.
Плюс, нужно включать поддержку bb-кодов в TinyMCE внутри Code sample plugin. Всё это не представляется возможным. Суть я понял, но в общем, ваш вариант - здесь не работает.
Задача заключается в том, чтобы блок с кодом 100% одинаково отображался и на сайте, и при редактировании новости в визуальном редакторе TinyMCE в админке.
CMS заменит bb-код, можно даже передачу класса в тег pre и code (для Prism нужен code внутри pre, либо с помощью плагинов для него, можно использовать <script type="text/plain"></script>, но это пока у меня не получилось сделать, да и смысла не вижу, как и не вижу смысла в том, чтобы использовать в тексте новости bb-код code, который преобразуется в <script ...>, который преобразуется призмом в <pre class="..."><code><code></pre>уже на JS) организовать, но как заставить Prism в админке, подсвечивать, например, такой код (пробел в bb-теге поставил, чтобы движок форума не ругался):
[code class="line-numbers language-css"]body {... color:#666; ...}[/code ]И как заставить TinyMCE в админке, не оборачивать вышеприведённый пример кода в bb-коде, в параграф <p>?
И вот зачем это всё? ![]()
Короче, визуализатору в админке надо так, и на сайте должно быть так:
<pre class="line-numbers language-css"><code>body {
background-color: #fff;
margin: 0;
padding: 0;
height: auto !important;
min-height: 100%;
font: normal 11px/14px Tahoma, sans-serif;
color: #666;
}
</code></pre>Здравствуйте. С новым годом всех! ![]()
Решил посмотреть, как можно подключить TinyMCE 5 так, чтобы он ещё и работал. И меня сходу озадачило то, что CMS в новостях, оборачивает содержимое тегов <pre> в phphighlight('<code></code>'), и это так и отправляется в браузер. Версия движка последняя - 0.9.5.
В файле engine/includes/classes/parse.class.php, строка 479.
Для чего нужна эта строка?
Что вообще сделать с блоком
$content = preg_replace_callback(
"/<code>(.*?)<\/code>/s",
function ($match) {
return "phphighlight('" . $match[0] . "')";
},
$content
);чтобы не создать угрозу безопасности? Я его пока закомментировал.
UPD. Точнее не оборачивает, а заменяет тег <code> внутри тега <pre>. Нужно разобраться, зачем он там вообще нужен. Но тем не менее, replace довольно загадочный.
Это понятно. Конечно, плагин нужно переписать вручную заново, и тема антиспама - всегда актуальна и очень важна. Если открытые комментарии, и сайт попал в какую-то базу - каждый день сюрпризов жди, очень много спама, на разных языках даже.
Текущий вариант плагина, не просто не изящен, вообще удивительно - как он вообще заработал в таком виде ![]()
Просто удивился, что никто ничего не писал про это. Не работает - и забросили.
Сильно не вникал в API Akismet но, видимо, функции submitSpam() и submitHam(), нужны для обмена с сервером Akismet, для обновления логики фильтрации спама, и статистики. Т.е. в админке сайта, должен быть функционал модерации комментариев. Иначе, я просто паразитирую, используя опыт других участников этой системы, и не отправляя своих данных о спаме и не спаме, и рискуя потерять некоторых посетителей, которые не смогли отправить комментарий, или наоборот - запостили в комментарии к новости какой-то шлак. Во втором случае - помогает плагин Filter.
Но это так, просто рассуждения ![]()
Странно, что за несколько лет, так никто ничего сюда не написал. Будто у меня у одного всё спамом заваливают ![]()
Во-первых, ключ Akismet, на данный момент - бесплатный.
Во-вторых, изначально, у меня этот плагин был нерабочим. Всегда получал Akismet key is invalid!
Стал разбираться - дошёл до antispam.php. Так вот, там в pluginGetVariable(), первым параметром идет "comments_antispam", а плагин называется - "comments_akismet".
Либо папку переименовать(и все пути к ней), либо просто в antispam.php на строке 10, 11 и 23 - поменять comments_antispam на comments_akismet, и плагин заработает.
Другой вопрос, в Akismet.class.php, функции submitSpam() и submitHam() - вообще вызываются откуда-нибудь?
И зачем в этом же файле, в функции isCommentSpam(), вот эти строки:
if($response[1] == 'invalid' && !$this->isKeyValid()) {
throw new exception('The Wordpress API key passed to the Akismet constructor is invalid. Please obtain a valid one from http://wordpress.com/api-keys/');
}Я их закомментировал. Ведь валидность ключа проверяется при вызове самой isCommentSpam(), так зачем еще раз это делать? Да и вот в этих throw-конструкциях - я вообще не шарю.
Может, я еще чего-то не понимаю? ![]()
Однако, антиспам теперь работает, ключ получил бесплатно, доволен.
Есть и бесплатные хостинги с курлом и сокетами, но зато у меня домен в зоне .ru входит в стоимость и оформлен на меня ![]()
Тут выход один - доплатить еще ~800 рублей, и всё будет, и места под сайты в 3 раза больше станет. Или сменить хостера... А пока я просто отключил плагин, и подредактировал usermenu и profile.
До лучших времен, оно пока не так нужно, но не помешало бы, удобно ведь)
З.Ы. шаблон auth_loginza: "запиши пароль на бумажке и съешь ее" - убило ![]()
Был крайне огорчен, когда после тестирования под денвером и переноса скриптов на сервер, плагин при попытках привязать любой аккаунт, выдавал что мол он уже привязан. А при попытке авторизоваться/зарегистрироваться через любой сервис, даже не привязанный, всё время авторизовывал меня в учетной записи администратора, что ненормально как-то...
Открыл код плагина - понял что для его работы нежен CURL или поддержка file_get_contents().
Хостинг - prosto.1gb.ru.
А жаль, хотелось бы прикрутить этот плагин, но и на хостинге за 780 рублей в год мне как-то нормально сидится, и до этого момента мне его хватало с головой ![]()
И где теперь достать плагин advlinkexternal?)
Все ссылки битые!
Ничего не могу понять.. Нажимаю кнопку "Удалить", под формой редактирования статической страницы, появляется алерт с подтверждением, всё как положено.. Но после нажатия кнопки "Ok", я получаю "Ошибка: Некорректный ключ безопасности. Данный ключ динамически генерируется для всех страниц и обязателен для проведения любых операций. Возможно, у вас повреждены файлы шаблонов."
Из SVN обновлялся до 1050, правда еще вносил кучу мелких изменений в код под свои нужды, и вот теперь не пойму в чем может быть причина... ![]()
Эх, беда... В комментариях к новостям уже начинаются посты типа "ответь пожалуйста в личку на таком-то сайте"!
Надо бы как-то дать возможность юзеру (даже незарегистрированному) подписаться на новые комментарии.. Уже очень надо ![]()
И все-таки лучше на e-mail, так юзабильнее. Просто некоторые пользователи даже не знают что такое RSS, а мыло есть практически у всех.
Виталий, спасибо что принял меры!
А то я уже чуть было не высказался по поводу всего сказанного в мой адрес... Еще за карму обидно - я буду "гореть в аду"! ![]()
Этот неадекватный товарищ походу имел ввиду "WebSin Синонимайзер для сайтов на движке DLE", это не скрипт а программа, и стоит она около 1000 рублей.
Ну грех мне было не вмешаться в вашу жаркую дискуссию! ![]()
websin-profi, я тебя прошу - не страдай ерундой, просто навсегда забудь адрес этого форума, и не пользуйся NGCMS - раз тебе что-то не нравится!
Ну сколько можно троллить? Дам конвертор - ты его не получишь, дам конвертор - ты его не получишь, дам конвертор - ты его не получишь, достал ты уже! Да запомни уже наконец: тут [font=verdana]НИКОМУ[/font] твой "конвертор" [font=verdana]НЕ НУЖЕН[/font]!
Насчет индексации, у меня лично никаких проблем нет - сайт на NGCMS индексируется нормально, яша с гуглем проходят по сайту регулярно, с ПС трафик идет как положено. Так что - тут ты опять-же не прав. И не доказывай мне обратное!
З.Ы. Бан уже отменили? ![]()
Knopik, я тоже так думаю. Но сам я сделать не смогу. Поэтому, прошу - подшаманьте кто-нибудь плагин RSS экспорт, пожалуйста!
Чтобы можно было забирать через RSS, последние X комментариев к определенной новости (например по ссылке site.ru/категория/новость.xml).
UP? ![]()
И мне кажется что все-таки лучше и проще через RSS. Так ИМХО, будет меньше проблем с отправкой писем (ограничением количества отправленных писем в сутки на некоторых хостингах, случайного попадания писем в папку "Спам" и т.д.).
Вот мне, например, так делать удобно. Допустим я искал что-то в сети, и нашел какую-нибудь статью в каком-нибудь блоге, и запостил автору этой статьи комментарий с вопросом касающимся его статьи, и мне каким-то образом надо периодически проверять - не ответил ли мне кто-нибудь.
А как это сделать без подписки? Периодически заходить на сайт? ![]()
Не стал создавать новую тему, лучше напишу сюда...
А на данный момент, не существует такого функционала - подписка на новые комментарии к определенной новости по e-mail, или хотя бы RSS?
Ну это да ![]()
Просто legenda говорит, что включение выполнения PHP в шаблонах, путем правки index.php - это не страшно, в плане безопасности.
Да ну... Никому не советую так делать, лучше засунуть PHP-код в блок плагина ADS manager pro и вставлять этот блок там где это нужно, вот я так сделал - и всё работает!
Иначе какой-нибудь юзер зарегается, добавит новость с PHP-кодом, сольет БД со всей инфой, и еще блок сапы разместит в новости ![]()
Вот я тоже разрешил выполнение PHP в шаблонах, появилась у меня такая необходимость...
Но ради глума я создал новость, и в ее текст добавил:
<?php echo "PHP выполняется - делай с сайтом что хочешь! =)"; ?>и увидел этот текст в новости... А PHP и в новостях выполняется?! ![]()
Мне то без разницы, никто кроме меня новости на сайт добавить не сможет - регистрация отключена, но всё равно мне такие шняги не нравятся.
Проще заюзать ads_pro..
Да, вот так работает, кодировка правильная и HTML отображается.
А настройки "Имя с которого сайт будет отправлять письма" и "E-mail адрес с которого сайт будет отправлять письма" я так и не могу найти в админке...
Теперь за отправку email'ов отвечает отдельная библиотека.
Окей, заменил файлы на работающем двиге из SVN 961 (и в т.ч. c 881 по 964, за исключением некоторых ненужных плагинов, и выполнил запрос в БД из 938 SVN'а). Вроде всё работает.
Но вот вопрос.. Где в админке находятся настройки e-mail (не могу найти), и почему все письма приходят в текстовом формате (не HTML)?
Vitaly, проверь пожалуйста! Может я где накосячил при обновлении файлов? ![]()
Кстати, сохранял без BOM, (Notepad++)...
Ну да ладно. Спасибо ROZARD, следующий раз учту.
Я хотел вынести BB-коды из bbcodes.tpl в подключаемый JS файл, для ускорения загрузки страницы.
Но у меня появилась мысль, создать не *.js, а PHP-файл, для выполнения некоторых шняг на стороне сервера. Попробовал, подключил - JavaScript в браузере не выполняется.
И вот мне интересно, почему даже пустой PHP-файл, находящийся в папке /templates/default/js/, выдает в браузер текст: п»ї ?
Что это? ![]()
UPD. Реализовал то что было нужно без PHP, в JS-файле.
И загадочные три символа пропали. Мистика какая-то...
Извиняюсь, если эта тема уже обсуждалась, или я что-то опять не так нашаманил.. ![]()
Плагин feedback 0.13 на NGCMS 0.9.3, некорректно отправлял уведомления о новом сообщении в форму.
Заголовок subject отображался иероглифами, в koi8-r, а надо Windows-1251. (Хостинг - prosto.1gb.ru)
Я залез в functions.inc.php, и перед:
@mail($to, $subject, $message, $headers);
Добавил:
$subject = '=?Windows-1251?B?'.base64_encode($subject).'?=';
И теперь всё корректно отображается (Почтовый клиент - Opera).
Старая заброшенная ветка форума... А вопрос решен? ![]()
Я так и не пойму, зачем в новостях и уж тем более в комментариях, нужны относительные ссылки?
Если ввести [ url ]yandex.ru[ /url ], то в итоге получается ссылка - http://domain.ru/category/yandex.ru, а мне это совершенно не нужно.
Как запретить относительные ссылки в новостях и комментариях?