Shakal действительно такой казус имеется, но он ни как не связан с надписью, которую вы приводите и именно с модулем новостей. Он связан со знаком ' (одиночная кавычка).
И как не странно виновата вся та же проверка filter(), но уже измененная проектом phpnuke.ru. Ими было внесено изменение в данную функцию, а именно если скрипт опознает администратора, то он не производит проверку функцией filter() с одной стороны - это хорошо, а именно администратор может добавлять не разрешенные системой различные теги. А с другой стороны - при добавлении информации в БД она должна пройти некую обработку, иначе, некоторые символы, например как, кавычка вызовет ошибку в sql запросе, и он не выполнится, что в данном случаи и происходит!
Предлагаю следующую модификацию функции filter(),
найдите в файле mainfile.php:
PHP код:
function filter($what, $strip="", $save="", $type="") { global $admin; if (!is_admin($admin)) { if ($strip == "nohtml") { $what = check_html($what, $strip); // $what = htmlentities(trim($what), ENT_QUOTES); // If the variable $what doesn't comes from a preview screen should be converted if ($type != "preview" AND $save != 1) { $what = html_entity_decode($what, ENT_QUOTES, "cp1251"); } } if ($save == 1) { $what = check_words($what); $what = check_html($what, $strip); $what = addslashes($what); } else { $what = stripslashes(FixQuotes($what)); $what = check_words($what); $what = check_html($what, $strip); } } return($what); }
и замените на:
PHP код:
function filter($what, $strip="", $save="", $type="") { global $admin; if (!is_admin($admin)) { if ($strip == "nohtml") { $what = check_html($what, $strip); // $what = htmlentities(trim($what), ENT_QUOTES); // If the variable $what doesn't comes from a preview screen should be converted if ($type != "preview" AND $save != 1) { $what = html_entity_decode($what, ENT_QUOTES, "cp1251"); } } if ($save == 1) { $what = check_words($what); $what = check_html($what, $strip); $what = addslashes($what); } else { $what = stripslashes(FixQuotes($what)); $what = check_words($what); $what = check_html($what, $strip); } } elseif (is_admin($admin) and $save == 1){ $what = addslashes($what); } return($what); }
обратите внимание: это изменение только для руссифицированной версии php-nuke 7.9 от phpnuke.ru
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".
Zika ну вы же, например написали, меню на русском, поэтому оно и будет отображаться по русски! изменяется только текст самой php-nuke, и частично модули которые поддерживают многоязычность, остальное все останется как вы и ввели, т.е. русский язык
Artu
с чего вы взяли?
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".
Уточню одну вещь:
Если вы хотите разрешить отображение какого-то тега в выводимом тексте для пользователей, то вы должны в файле config.php
найти такую строчку:
и после последней записи: ,"ul"=>1 добавить через запятые нужные теги, соблюдая структуру:
"название тега"=> n
вместо т следует писать:
1 - когда нужно что бы у выводимого данного тега атрибут не было, например, <div>, а не <div align="right">
2 - когда нужно вывести весь тег как он есть, со всеми атрибутами.
Приведу пример нужно разрешить отображение картинок на сайте, для этого, надо добавить тег img и он должен быть с атрибутами, иначе нет смысла его выводить:
Найден еще один баг в nuke - не правильно сконфигурирована таблица FAQ и при определенном количестве вопросов-ответов они просто перестанут добавляться.
Для исправления этого недочета нужно выполнить sql-запросы:
Код:
ALTER TABLE `nuke_faqanswer` CHANGE `id` `id` INT( 10 ) NOT NULL AUTO_INCREMENT
ALTER TABLE `nuke_faqanswer` CHANGE `id_cat` `id_cat` INT(10) DEFAULT '0' NOT NULL
ALTER TABLE `nuke_faqcategories` CHANGE `id_cat` `id_cat` INT( 10 ) NOT NULL AUTO_INCREMENT
соответственно заменив свой префикс!
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".
короче я не менял перфиксы с начала установки они у меня были nuke_ стандартные но когда делаю твой запрос мне сервер выдает ошибку в виде
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ALTER TABLE `nuke_faqanswer` CHANGE `id_cat` `id_cat` INT(10) DE
в чем ошибка-то ?? может в коде ? или из-за не родного форума ?