|
DIvan
Гость
|
 |
« : 28.06.2006, 17:04:46 » |
|
Народ, помогите начинающему! Имеется: Joomla! 1.0.8.02 RUS Paranoia! MCE Apache/2.0.47 (Win32) MySQL 4.0.18-nt PhP 5.1.2 Все работает на локальном хосте, проблем нет. Хочу сделать ленту RSS на главной странице. Завожу newsfeed от http://news.finance.ua/ru/rss, затем делаю новый пункт главного меню как "Ссылка - RSS-лента" на созданный newsfeed. При выборе этого пункта на фронт-энде все просто отлично. Если же я пытаюсь создать новый модуль, прописать ему RSS URL и опубликовать на главной странице (top), то вместо русских букв вижу знаки вопроса  В теле RSS кодировка Win-1251 прописана в явном виде. Читал доку, ее крайне мало, даже на английском. Мне так и не удалось до конца понять, как же нужно правильно публиковать newsfeed'ы. Факт публикации в менеджере RSS - экспорта еще не делает ленту новостей видимой где-либо на сайте. Каков "канонический" подход в этом случае? Заранее спасибо!
|
|
|
|
|
Записан
|
|
|
|
|
Old_Fixer
Гость
|
 |
« Ответ #1 : 02.07.2006, 22:55:23 » |
|
Та же проблема! Проверил на Joomla v1.0.10 - сплошные вопросики! Где копать? PHP 5.1.1 Apache 2.0.55
|
|
|
|
« Последнее редактирование: 05.07.2006, 17:09:55 от Old_Fixer »
|
Записан
|
|
|
|
alladin111
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 5
|
 |
« Ответ #2 : 05.08.2006, 10:37:14 » |
|
И у меня тоже вопросы, даже на офицальной английской версии.
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #3 : 07.08.2006, 18:17:11 » |
|
И у меня тоже вопросы, даже на офицальной английской версии.
на оригинальной это нормально — ставь Joomla Paranoia
|
|
|
|
|
Записан
|
|
|
|
|
Nicolas
Гость
|
 |
« Ответ #4 : 23.12.2006, 01:22:55 » |
|
Таже причина замечена.... как я догадываюсь это PHP 5 линейки
|
|
|
|
|
Записан
|
|
|
|
Garun
Давно я тут
  
Репутация: +15/-3
Offline
Пол: 
Сообщений: 374
|
 |
« Ответ #5 : 23.12.2006, 13:10:20 » |
|
Я уже пытался дать ответ на этот вопрос. То ли был глюк и мой пост не сохранился, то ли его почему то удалили ... но на форуме Joomla(Re) есть такой хак... я не знаю подойдет ли это решение для Paranoia, но может кто то сделает хак для неё: Какое-то решение проблем с парсером, который не умеет читать русские буквы для php5 и кодировки windows-1251. Итак. Имеем исходную тему - если мы создаем модуль и в нем указываем url rss-фида написанного в кодировке windows-1251, то на выходе имеем неприятный баг - знаки вопроса вместо буковок. Для решения этого можно попробовать применить следующий патч. Патч будет работать только для php5 с поддержкой iconv.
Прежде всего далем бэкап всех изменяемых файлов. Не факт что это сработает.
Идем в \includes\domit\xml_domit_rss_shared.php и ищем функцию function getTextFromFile() в ее конец вставляем вот что Цитировать if ($fileContents == '') { $this->establishConnection($filename); $response =& $this->httpConnection->get($filename);
if ($response != null) { $fileContents = $response->getResponse(); } } }
preg_match("|<?xml.*encoding=\"(.*)\".*>|Umsi",$fileContents,$m); $fileContents = iconv($m[1],'utf-8',$fileContents); $fileContents = str_replace($m[1],'utf-8',$fileContents);
return $fileContents; } //getTextFromFile
Далее в этом же файле ищем функцию function getElementText($elementName) и пишем Цитировать function getElementText($elementName) { $elementName = strtolower($elementName); return iconv('utf-8','windows-1251',$this->_getElementText($elementName, $this->DOMIT_RSS_indexer)); return $this->_getElementText($elementName, $this->DOMIT_RSS_indexer); } //getElementText
Теперь открываем /includes/frontend.html.php и функцию function modoutput_feed() в ней надо удалить все вхождения $что_то_там = mosCommonHTML::newsfeedEncoding( $rssDoc, $что_то_там ); Я удалил их для переменных (в скобочках указана приблизительная строка): $feed_title(173), $feed_descrip(189), $item_title(226), $text (253)[/list]
Тоже самое решение для компонента com_newsfeeds (и снова для пхп5) Нужено сделать тот же саый хак rss-xml парсера (\includes\domit\xml_domit_rss_shared.php) и удалить строчки (всего их четыре) в файле /components/com_newsfeeds/newsfeeds.html.php в функции function showNewsfeeds() $feed_title = mosCommonHTML::newsfeedEncoding( $rssDoc, $feed_title ); + для переменных $feed_descrip, $item_title, $text.У меня всё сработало!
|
|
|
|
|
Записан
|
|
|
|
|
Aysek
Гость
|
 |
« Ответ #6 : 02.04.2007, 18:46:25 » |
|
На странице было 2 модуля. Один с новостями с сайта, другой с внешнего ресурса. После изменений вопросы исчезли остался только текст, но исчез и второй модуль с новостями с сайта.
В чём может быть причина и как исправить?
|
|
|
|
|
Записан
|
|
|
|
|
Aysek
Гость
|
 |
« Ответ #7 : 02.04.2007, 19:46:56 » |
|
В каких файлах(ле) нужно добавить эти вставки? (если можно полный путь до файла): "echo $utf8_content; // вывод контента в utf8 - формате echo normal($utf8_content); // вывод контента utf8 в 1251 формате"
Где взять файл andyr_lib.php?
|
|
|
|
|
Записан
|
|
|
|
|
Aysek
Гость
|
 |
« Ответ #8 : 02.04.2007, 20:09:40 » |
|
Я плохо разираюсь в коде Хе... в сборке вроде все уже пропатчено...
Это значит, что вставки уже сделаны в примере Garun? "echo $utf8_content; // вывод контента в utf8 - формате echo normal($utf8_content); // вывод контента utf8 в 1251 формате" Он идет как составная часть сборки, путь: /administrator/includes/andyr_lib.php
То есть andyr_lib.php уже есть в сборки Joomla 1.0.12 LE 2007, так? Как подключить этот файл?
|
|
|
|
|
Записан
|
|
|
|
|
Aysek
Гость
|
 |
« Ответ #9 : 02.04.2007, 22:37:15 » |
|
include_once ($GLOBALS['mosConfig_absolute_path'] .'/administrator/includes/andyr_lib.php');
Куда это надо вставить? :-)
|
|
|
|
|
Записан
|
|
|
|
|
SergejP
Гость
|
 |
« Ответ #10 : 21.06.2007, 14:50:45 » |
|
Есть еще один встроенный перекодировщик для RSS новостей... И внем ошибка, в результате чего он неправильно работает, т.е. декодирует тогда когда не надо
Чтобы это исправить открываем файл хост/includes/joomla.php и ищем там функцию newsfeedEncoding( $rssDoc, $text )
После чего находим в этой функции следующий текст:
if ( phpversion() >= 5 ) { // handling for PHP 5 if ( _JOS_FEED_ENCODING ) { // handling for utf-8 feed if ( _JOS_SITE_ENCODING ) { // utf-8 page $encoding = 'html_entity_decode'; } else { // non utf-8 page $encoding = 'utf8_decode'; } } else { // handling for non utf-8 feed if ( _JOS_SITE_ENCODING ) { // utf-8 page $encoding = ''; } else { // non utf-8 page $encoding = 'utf8_decode'; } } } else { и меняем выделенные строки местами... В итоге должно получиться следующее
if ( phpversion() >= 5 ) { // handling for PHP 5 if ( _JOS_FEED_ENCODING ) { // handling for utf-8 feed if ( _JOS_SITE_ENCODING ) { // utf-8 page $encoding = 'html_entity_decode'; } else { // non utf-8 page $encoding = 'utf8_decode'; } } else { // handling for non utf-8 feed if ( _JOS_SITE_ENCODING ) { // utf-8 page $encoding = 'utf8_decode'; } else { // non utf-8 page $encoding = ''; } } } else {
Это для 5-го PHP для 4 возможно то же что-то придется поменять... Там ниже для этого свой кусочек...
|
|
|
|
|
Записан
|
|
|
|
|
EaglE63
Гость
|
 |
« Ответ #11 : 23.07.2007, 02:57:45 » |
|
Получилось!
А как теперь исправить, что вместо «кавычек» стали отображаться [кавычкиk ?
|
|
|
|
|
Записан
|
|
|
|
|
Swoper
Гость
|
 |
« Ответ #12 : 13.09.2007, 11:11:54 » |
|
Есть еще один встроенный перекодировщик для RSS новостей... И внем ошибка, в результате чего он неправильно работает, т.е. декодирует тогда когда не надо
Чтобы это исправить открываем файл хост/includes/joomla.php и ищем там функцию newsfeedEncoding( $rssDoc, $text )
После чего находим в этой функции следующий текст:
if ( phpversion() >= 5 ) { // handling for PHP 5 if ( _JOS_FEED_ENCODING ) { // handling for utf-8 feed if ( _JOS_SITE_ENCODING ) { // utf-8 page $encoding = 'html_entity_decode'; } else { // non utf-8 page $encoding = 'utf8_decode'; } } else { // handling for non utf-8 feed if ( _JOS_SITE_ENCODING ) { // utf-8 page $encoding = ''; } else { // non utf-8 page $encoding = 'utf8_decode'; } } } else { и меняем выделенные строки местами... В итоге должно получиться следующее
if ( phpversion() >= 5 ) { // handling for PHP 5 if ( _JOS_FEED_ENCODING ) { // handling for utf-8 feed if ( _JOS_SITE_ENCODING ) { // utf-8 page $encoding = 'html_entity_decode'; } else { // non utf-8 page $encoding = 'utf8_decode'; } } else { // handling for non utf-8 feed if ( _JOS_SITE_ENCODING ) { // utf-8 page $encoding = 'utf8_decode'; } else { // non utf-8 page $encoding = ''; } } } else {
Спасибо. этот вариант помог с решением проблемы .. сборка Lavr Edition
|
|
|
|
|
Записан
|
|
|
|
|
xshish
Гость
|
 |
« Ответ #13 : 06.11.2007, 14:39:38 » |
|
Добрый день! На мастерхосте поставил Joomla! 1.0.12 Lavra Edition 2007 Пытаюсь импортирвать новости отсюда http://www.rasc.ru/rss/ У меня сайт в win 1251, а ту часть страницы которая из RSS джумла выдает в KOI-8. Подскажите пожалуйста, где проблема  ?
|
|
|
|
« Последнее редактирование: 06.11.2007, 14:46:41 от xshish »
|
Записан
|
|
|
|
Death
Осваиваюсь на форуме
 
Репутация: +10/-0
Offline
Сообщений: 53
НЕТ разрывам!!!
|
 |
« Ответ #14 : 22.01.2008, 01:47:33 » |
|
Добрый день! На мастерхосте поставил Joomla! 1.0.12 Lavra Edition 2007 Пытаюсь импортирвать новости отсюда http://www.rasc.ru/rss/ У меня сайт в win 1251, а ту часть страницы которая из RSS джумла выдает в KOI-8. Подскажите пожалуйста, где проблема  ? точно такая-же проблема. Помогите исправить. Только у меня при получении до 12 новостей все нормально , но как только я поставлю 13 и более получаются каракули в KOI-8. Сборка таже Лавра 1.0.12. RSS модуль встроенный.
|
|
|
|
« Последнее редактирование: 27.01.2008, 04:19:10 от Death »
|
Записан
|
|
|
|
|
c0yc
Гость
|
 |
« Ответ #15 : 15.02.2008, 14:38:13 » |
|
Спасибо. этот вариант помог с решением проблемы .. сборка Lavr Edition
у меня выдает везде ошибку: Parse error: syntax error, unexpected T_IF, expecting T_FUNCTION in /home/user_m_11_44/public_html/security/includes/joomla.php on line 5583
|
|
|
|
|
Записан
|
|
|
|
|
6anzay
Гость
|
 |
« Ответ #16 : 28.03.2008, 18:14:44 » |
|
Я уже пытался дать ответ на этот вопрос. То ли был глюк и мой пост не сохранился, то ли его почему то удалили  ... но на форуме Joomla(Re) есть такой хак... я не знаю подойдет ли это решение для Paranoia, но может кто то сделает хак для неё: Какое-то решение проблем с парсером, который не умеет читать русские буквы для php5 и кодировки windows-1251. Итак. Имеем исходную тему - если мы создаем модуль и в нем указываем url rss-фида написанного в кодировке windows-1251, то на выходе имеем неприятный баг - знаки вопроса вместо буковок. Для решения этого можно попробовать применить следующий патч. Патч будет работать только для php5 с поддержкой iconv. Прежде всего далем бэкап всех изменяемых файлов. Не факт что это сработает. Идем в \includes\domit\xml_domit_rss_shared.php и ищем функцию function getTextFromFile() в ее конец вставляем вот что... Добрый день! Я в пхп совсем не разбираюсь, объясните популярно. Вы пишетеИдем в \includes\domit\xml_domit_rss_shared.php и ищем функцию function getTextFromFile() в ее конец вставляем вот что if ($fileContents == '') { $this->establishConnection($filename); $response =& $this->httpConnection->get($filename);
if ($response != null) { $fileContents = $response->getResponse(); } } }
preg_match("|<?xml.*encoding=\"(.*)\".*>|Umsi",$fileContents,$m); $fileContents = iconv($m[1],'utf-8',$fileContents); $fileContents = str_replace($m[1],'utf-8',$fileContents);
return $fileContents; } //getTextFromFile У меня в коде вот что function getTextFromFile($filename) { $fileContents = '';
if ($this->doUseHTTPClient) { $this->establishConnection($filename); $response =& $this->httpConnection->get($filename);
if ($response != null) { $fileContents = $response->getResponse(); } } else { if (function_exists('file_get_contents')) { $fileContents = @file_get_contents($filename); } else { require_once(DOMIT_RSS_INCLUDE_PATH . 'php_file_utilities.php'); $fileContents =& php_file_utilities::getDataFromFile($filename, 'r'); }
if ($fileContents == '') { $this->establishConnection($filename); $response =& $this->httpConnection->get($filename);
if ($response != null) { $fileContents = $response->getResponse(); } } }
return $fileContents; } //getTextFromFile
В каком месте в нем вставлять код?
|
|
|
|
|
Записан
|
|
|
|
tsesl
Завсегдатай
   
Репутация: +83/-0
Offline
Сообщений: 409
Терпение и труд всё перетрут?
|
 |
« Ответ #17 : 03.05.2008, 14:56:48 » |
|
Есть еще один встроенный перекодировщик для RSS новостей... И внем ошибка, в результате чего он неправильно работает, т.е. декодирует тогда когда не надо
Чтобы это исправить открываем файл хост/includes/joomla.php и ищем там функцию newsfeedEncoding( $rssDoc, $text )
После чего находим в этой функции следующий текст: ...покусано... и меняем выделенные строки местами... В итоге должно получиться следующее ...покусано... Это для 5-го PHP для 4 возможно то же что-то придется поменять... Там ниже для этого свой кусочек...
Гораздо проще в языковом файле поиграться(true|false) с глобальной переменной "_JOS_SITE_ENCODING"... Для этого правим language/russian.php. В самый конец добавляем DEFINE('_JOS_SITE_ENCODING', 1);
|
|
|
|
|
Записан
|
|
|
|
wwwsla
Захожу иногда

Репутация: +0/-0
Offline
Пол: 
Сообщений: 13
Не я такой... жизнь такая...
|
 |
« Ответ #18 : 15.05.2008, 00:07:34 » |
|
тоже имею проблему с кодировкой RSS. Попробовал все предложенные варианты на php 5.2.2 Получилось вместо знаков "???????..... " или пусто или что-то типа "РђРЅСЋРєРѕРІ, Р?РіРѕСЂСЊ Денисов, Анатолий Тимощук. Р’ запасе Чонтофальскии, Радимов, РљРёРј Дон Р§Р¶РёРЅ, Домингес, Риксен, Р?РѕРЅРѕРІ, ГорС?РєРѕРІ." 8-( Может будут еще предложения.
|
|
|
|
|
Записан
|
|
|
|
fianit
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 9
Даем самые большие бонусы на Titan Poker
|
 |
« Ответ #19 : 15.05.2008, 01:20:49 » |
|
еще раз сделать то, что предлагется  , у меня тож php 5.2.2, помогли манипуляции с joomla.php
|
|
|
|
|
Записан
|
|
|
|
wwwsla
Захожу иногда

Репутация: +0/-0
Offline
Пол: 
Сообщений: 13
Не я такой... жизнь такая...
|
 |
« Ответ #20 : 15.05.2008, 10:06:29 » |
|
а у меня после манипуляций с joomla.php "?????????????????????..." исчезли и появилось такое:"РђРЅСЋРєРѕРІ, Р?РіРѕСЂСЊ Денисов, РђРЅР......." :-(
|
|
|
|
|
Записан
|
|
|
|
fianit
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 9
Даем самые большие бонусы на Titan Poker
|
 |
« Ответ #21 : 06.06.2008, 23:06:54 » |
|
попробуй еще строчки такие же, но тока ниже тоже поменять местами
|
|
|
|
|
Записан
|
|
|
|
sarportal
Захожу иногда

Репутация: +6/-0
Offline
Сообщений: 9
|
 |
« Ответ #22 : 11.06.2008, 23:48:41 » |
|
а у меня после манипуляций с joomla.php "?????????????????????..." исчезли и появилось такое:"РђРЅСЋРєРѕРІ, Р?РіРѕСЂСЊ Денисов, РђРЅР......." :-(
Сначала нужно провести вышеуказанные манипуляции с Joola.php Потом делаем вот что : 1. идем в /includes/domit/xml_domit_rss_shared.php и строчку: $success = $this->node->parseXML($rssText, false); Заменяем на $success = $this->node->parseXML($rssText, true); 2. в файле /includes/feedcreator.class.php если в строчке var $encoding = "Windows-1251 или что то другое"; заменяем на var $encoding = "UTF-8"; У меня все заработало! Joomla Lavra 1.0.15
|
|
|
|
« Последнее редактирование: 12.06.2008, 00:07:36 от sarportal »
|
Записан
|
|
|
|
sarportal
Захожу иногда

Репутация: +6/-0
Offline
Сообщений: 9
|
 |
« Ответ #23 : 11.06.2008, 23:58:39 » |
|
попробуй еще строчки такие же, но тока ниже тоже поменять местами
Ниже строчки поменять - это для PHP 4. Если бы на сервере стояло PHP 4 то изменения произведенные для PHP5 никак на отражение букв не повлияли. А в данном случае вместо "?????????????????????..." стало "РђРЅСЋРєРѕРІ, Р?РіРѕСЂСЊ Денисов, РђРЅР......." , значит на сервере стоит PHP5 и проблема в двух вышеуказанных файлах.
|
|
|
|
« Последнее редактирование: 12.06.2008, 00:05:04 от sarportal »
|
Записан
|
|
|
|
Goldie
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Пол: 
Сообщений: 28
|
 |
« Ответ #24 : 11.10.2008, 04:26:34 » |
|
Балы аналогичная проблема в Joomla! 1.0.13 Stable Решил так: в /includes/feedcreator.class.php
поменял var $encoding = "ISO-8859-1"; на var $encoding = "windows-1251";
|
|
|
|
|
Записан
|
|
|
|
|
ulpe
Гость
|
 |
« Ответ #25 : 21.11.2008, 16:48:55 » |
|
Сделал все по пунктам. Сначала знаки вопросов заменились на Р РѕСЃСЃРёР№СЃРєРёРµ РЅРѕРІРѕ, но поправил и это. Все заработало. Был доволен минут 20. Потом опять стало Р РѕСЃСЃРёР№СЃРєРёРµ РЅРѕРІРѕ. Восстановил измененые файлы, проделал операция заново. Эффект тот же. Вопщем в rss стоит юникод на остальном контенте вин1251. Помогите, пожалуйста) 
|
|
|
|
« Последнее редактирование: 22.11.2008, 12:46:46 от ulpe »
|
Записан
|
|
|
|
|
user175
Гость
|
 |
« Ответ #26 : 15.12.2008, 19:50:29 » |
|
Вышеперечисленные манипуляции а также танцы с бубном не помогли с кодировкой - новости импортируются NewsGrabberJC - при граббинге отсуда http://www.garant.ru/rss/news/ импортируются с кракозябрами зПУХДБТУФЧЕООПЗП РБФТЙПФЙЮЕУЛПЗП ЛМХВБ РБТФЙЙ"еДЙОБС На сервере PHP 4 версии Joomla! 1.0.15 Lavra Edition 2008
HELP!!!!!
|
|
|
|
|
Записан
|
|
|
|
alexecon
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Сообщений: 147
|
 |
« Ответ #27 : 29.12.2008, 03:44:43 » |
|
Гораздо проще в языковом файле поиграться(true|false) с глобальной переменной "_JOS_SITE_ENCODING"... Для этого правим language/russian.php. В самый конец добавляем DEFINE('_JOS_SITE_ENCODING', 1);
Не помогает (на Joomla! 1.0.15 RE) После вставки получаем вот это: Новости Би-Р±Рё-СЃРё - это самая свежая информация, срочные новости, видео, аудио, аналитические РјР°С‚РµС А без вставки: ??????? ??-??-?? - ??? ????? ?????? ??????????, ??????? ???????, ?????, ?????, ????????????? ?????????. ??????? ??-??-?? - ??? ? В общем, хрен редьки не слаще.
|
|
|
|
|
Записан
|
|
|
|
alexecon
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Сообщений: 147
|
 |
« Ответ #28 : 29.12.2008, 04:55:41 » |
|
Я уже пытался дать ответ на этот вопрос. То ли был глюк и мой пост не сохранился, то ли его почему то удалили ... но на форуме Joomla(Re) есть такой хак... я не знаю подойдет ли это решение для Paranoia, но может кто то сделает хак для неё: Какое-то решение проблем с парсером, который не умеет читать русские буквы для php5 и кодировки windows-1251. Итак. Имеем исходную тему - если мы создаем модуль и в нем указываем url rss-фида написанного в кодировке windows-1251, то на выходе имеем неприятный баг - знаки вопроса вместо буковок. Для решения этого можно попробовать применить следующий патч. Патч будет работать только для php5 с поддержкой iconv.
Прежде всего далем бэкап всех изменяемых файлов. Не факт что это сработает.
Идем в \includes\domit\xml_domit_rss_shared.php и ищем функцию function getTextFromFile() в ее конец вставляем вот что Цитировать if ($fileContents == '') { $this->establishConnection($filename); $response =& $this->httpConnection->get($filename);
if ($response != null) { $fileContents = $response->getResponse(); } } }
preg_match("|<?xml.*encoding=\"(.*)\".*>|Umsi",$fileContents,$m); $fileContents = iconv($m[1],'utf-8',$fileContents); $fileContents = str_replace($m[1],'utf-8',$fileContents);
return $fileContents; } //getTextFromFile
Далее в этом же файле ищем функцию function getElementText($elementName) и пишем Цитировать function getElementText($elementName) { $elementName = strtolower($elementName); return iconv('utf-8','windows-1251',$this->_getElementText($elementName, $this->DOMIT_RSS_indexer)); return $this->_getElementText($elementName, $this->DOMIT_RSS_indexer); } //getElementText
Теперь открываем /includes/frontend.html.php и функцию function modoutput_feed() в ней надо удалить все вхождения $что_то_там = mosCommonHTML::newsfeedEncoding( $rssDoc, $что_то_там ); Я удалил их для переменных (в скобочках указана приблизительная строка): $feed_title(173), $feed_descrip(189), $item_title(226), $text (253)[/list]
Тоже самое решение для компонента com_newsfeeds (и снова для пхп5) Нужено сделать тот же саый хак rss-xml парсера (\includes\domit\xml_domit_rss_shared.php) и удалить строчки (всего их четыре) в файле /components/com_newsfeeds/newsfeeds.html.php в функции function showNewsfeeds() $feed_title = mosCommonHTML::newsfeedEncoding( $rssDoc, $feed_title ); + для переменных $feed_descrip, $item_title, $text.[/b]
У меня всё сработало!О, у меня тоже все сработало! Подтверждаю. Joomla! 1.0.15 RE. Если кому системные потроха более детально важно знать, то: Версия базы данных: 5.0.24-standard Версия PHP: 5.2.3 Веб-сервер: Apache/1.3.37 (Unix) mod_perl/1.29 PHP/5.2.3 mod_ssl/2.8.28 OpenSSL/0.9.7d Интерфейс между веб-сервером и PHP: apache Версия Joomla!: Joomla! 1.0.15Стабильная версия [ Daytime ] 22 February 2008 23:00 UTC
|
|
|
|
|
Записан
|
|
|
|
|
eavasi™
Гость
|
 |
« Ответ #29 : 19.01.2009, 10:06:58 » |
|
нет у меня к сожалению это не сработало
|
|
|
|
|
Записан
|
|
|
|
XAND
Новичок
Репутация: +0/-0
Offline
Сообщений: 4
|
 |
« Ответ #30 : 26.01.2009, 17:01:10 » |
|
С импортом все заработало  Зато экспорт превратился в кубики  Замкнутый круг однако
|
|
|
|
|
Записан
|
|
|
|
scorp66
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Сообщений: 32
|
 |
« Ответ #31 : 30.01.2009, 20:08:16 » |
|
Просьба к тем, у кого всё получилось с кодировкой - а не могли бы вы прикрепить к своим сообщениям правленные файлы? А то ведь так и будет каждый, у кого проблема, один и тот же код править. Помогите другим съэкономить время.
|
|
|
|
|
Записан
|
|
|
|
alexecon
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Сообщений: 147
|
 |
« Ответ #32 : 02.02.2009, 03:58:11 » |
|
Просьба к тем, у кого всё получилось с кодировкой - а не могли бы вы прикрепить к своим сообщениям правленные файлы? А то ведь так и будет каждый, у кого проблема, один и тот же код править. Помогите другим съэкономить время. А Вы уже подправили или ждете у моря погоды? 
|
|
|
|
|
Записан
|
|
|
|
scorp66
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Сообщений: 32
|
 |
« Ответ #33 : 04.02.2009, 01:55:06 » |
|
А Вы уже подправили или ждете у моря погоды?  Я пытаюсь сам править, но положительных результатов пока нет. Может руки кривые, а может не для всех версий подходит. У меня: Joomla 1.0.15 RE Версия Apache 2.0.63 Версия PHP 5.2.8 Версия MySQL 5.0.67-community-log
|
|
|
|
|
Записан
|
|
|
|
XAND
Новичок
Репутация: +0/-0
Offline
Сообщений: 4
|
 |
« Ответ #34 : 11.02.2009, 17:35:59 » |
|
А Вы уже подправили или ждете у моря погоды?  Так то что написано выше то и правилось, что еще то приводить? У меня все исправилось только теперь пытаясь получить ленты свои - получаю кракозябры, ранее прикручивал чужие были кракозябры а свои получал отлично. Кстати никто не пишет про свои ленты 
|
|
|
|
|
Записан
|
|
|
|
XAND
Новичок
Репутация: +0/-0
Offline
Сообщений: 4
|
 |
« Ответ #35 : 11.02.2009, 17:51:48 » |
|
Просьба к тем, у кого всё получилось с кодировкой - а не могли бы вы прикрепить к своим сообщениям правленные файлы? А то ведь так и будет каждый, у кого проблема, один и тот же код править. Помогите другим съэкономить время.
Попробую отправить <?php /** * @package domit-rss * @version 0.51 * @copyright (C) 2004 John Heinstein. All rights reserved * @license http://www.gnu.org/copyleft/lesser.html LGPL License * @author John Heinstein <johnkarl@nbnet.nb.ca> * @link http://www.engageinteractive.com/domitrss/ DOMIT! RSS Home Page * DOMIT! RSS is Free Software **/
/** channel constant */ define('DOMIT_RSS_ELEMENT_CHANNEL', 'channel'); /** item constant */ define('DOMIT_RSS_ELEMENT_ITEM', 'item'); /** title constant */ define('DOMIT_RSS_ELEMENT_TITLE', 'title'); /** link constant */ define('DOMIT_RSS_ELEMENT_LINK', 'link'); /** description constant */ define('DOMIT_RSS_ELEMENT_DESCRIPTION', 'description');
/** version constant */ define('DOMIT_RSS_ATTR_VERSION', 'version');
/** name of array containing list of existing RSS items */ define('DOMIT_RSS_ARRAY_ITEMS', 'item'); //formerly named 'domit_rss_items' /** name of array containing list of existing RSS channels */ define('DOMIT_RSS_ARRAY_CHANNELS', 'channel'); //formerly named 'domit_rss_channels' /** name of array containing list of existing RSS categories */ define('DOMIT_RSS_ARRAY_CATEGORIES', 'category'); //formerly named 'domit_rss_categories'
/** DOMIT RSS error, attempt to call an abstract method */ define('DOMIT_RSS_ABSTRACT_METHOD_INVOCATION_ERR', 101); /** DOMIT RSS error, specified element not present */ define('DOMIT_RSS_ELEMENT_NOT_FOUND_ERR', 102); /** DOMIT RSS error, specified attribute not present */ define('DOMIT_RSS_ATTR_NOT_FOUND_ERR', 103); /** DOMIT RSS error, parsing failed */ define('DOMIT_RSS_PARSING_ERR', 104);
//DOMIT! RSS Error Modes /** continue on error */ define('DOMIT_RSS_ONERROR_CONTINUE', 1); /** die on error */ define('DOMIT_RSS_ONERROR_DIE', 2); /** die on error */ define('DOMIT_RSS_ONERROR_RETURN', 3);
/** * The base class of all DOMIT! RSS objects * * @package domit-rss * @author John Heinstein <johnkarl@nbnet.nb.ca> */ class xml_domit_rss_base { /** @var Object The underlying DOMIT! node of the element */ var $node = null; /** @var array A list of valid RSS defined child elements */ var $rssDefinedElements = array();
/** * Retrieves the underlying DOMIT node * @return Object The underlying DOMIT node */ function getNode() { return $this->node; } //getNode
/** * Retrieves the text of the named attribute, checking first if the attribute exists * @param string The attribute name * @return string The attribute value, or an empty string */ function getAttribute($attr) { if ($this->node->hasAttribute($attr)) { return $this->node->getAttribute($attr); }
return ""; } //getAttribute
/** * Checks whether the named attribute exists * @param string The attribute name * @return boolean True if the attribute exists */ function hasAttribute($attr) { return (($this->node->nodeType == DOMIT_ELEMENT_NODE) && $this->node->hasAttribute($attr)); } //hasAttribute
/** * Tests whether the named element is predefined by the RSS spec * @param string The element name * @return boolean True if the element is predefined by the RSS spec */ function isRSSDefined($elementName) { $isDefined = false;
foreach ($this->rssDefinedElements as $key => $value) { if ($elementName == $value) { $isDefined = true; break; } }
return $isDefined; } //isRSSDefined
/** * Tests whether the named element has a single child text node * @param string The element name * @return boolean True if the named element has a single child text node */ function isSimpleRSSElement($elementName) { $elementName = strtolower($elementName);
if (isset($this->DOMIT_RSS_indexer[$elementName])) { return (get_class($this->getElement($elementName)) == 'xml_domit_rss_simpleelement'); } else { return false; } } //isSimpleRSSElement
/** * Generates a string representation of the node and its children * @param boolean True if HTML readable output is desired * @param boolean True if illegal xml characters in text nodes and attributes should be converted to entities * @return string The string representation */ function get($htmlSafe = false, $subEntities = false) { return $this->node->toString($htmlSafe, $subEntities); } //toString
/** * Generates a normalized (formatted for readability) representation of the node and its children * @param boolean True if HTML readable output is desired * @param boolean True if illegal xml characters in text nodes and attributes should be converted to entities * @return string The formatted string representation */ function toNormalizedString($htmlSafe = false, $subEntities = false) { return $this->node->toNormalizedString($htmlSafe, $subEntities); } //toNormalizedString } //xml_domit_rss_base
/** * Represents a collection of custom RSS elements, e.g. a set of dc:creator entries * * @package domit-rss * @subpackage domit-rss-main * @author John Heinstein <johnkarl@nbnet.nb.ca> */ class xml_domit_rss_collection extends xml_domit_rss_elementindexer { /** @var array An array holding the collection of custom elements */ var $elements = array(); /** @var int The number of custom elements in the collection */ var $elementCount = 0;
/** * Adds a custom RSS element (DOM node) to the collection * @param Object A DOM node representing a custom RSS element */ function addElement(&$node) { $this->elements[] =& $node; $this->elementCount++; } //addElement
/** * Retrieves the element at the specified index * @param int The index of the requested custom RSS element * @return Object The DOMIT node representing the requested element */ function &getElementAt($index) { return $this->elements[$index]; } //getElementAt
/** * Retrieves the element at the specified index (alias for getElementAt) * @param int The index of the requested custom RSS element * @return Object The DOMIT node representing the requested element */ function &getElement($index) { return $this->getElementAt($index); } //getElement
/** * Returns the number of elements in the collection * @return int The number of members in the collection */ function getElementCount() { return $this->elementCount; } //getElementCount
/** * Gets a text representation of the collection (applies the toString method to each member and concatenates) * @return string The element text */ function getElementText() { $total = $this->getElementCount(); $result = '';
for ($i = 0; $i < $total; $i++) { $result .= $currElement->toString(); }
return $result; } //getElementText } //xml_domit_rss_collection
/** * Provides indexing functionality to RSS classes * * @package domit-rss * @author John Heinstein <johnkarl@nbnet.nb.ca> */ class xml_domit_rss_elementindexer extends xml_domit_rss_base { /** @var Array Name based index to RSS elements */ var $DOMIT_RSS_indexer = array(); /** @var Array Numerical index to RSS elements; for optimization purposes, only set if requested by getElementAt */ var $DOMIT_RSS_numericalIndexer;
/** * Performs generic initialization of elements */ function _init(){ $total = $this->node->childCount;
for($i = 0; $i < $total; $i++) { $currNode =& $this->node->childNodes[$i]; //$this->DOMIT_RSS_indexer[$currNode->nodeName] =& $currNode; $this->addIndexedElement($currNode); } } //_init
/** * Adds a custom element (one not defined by the RSS specs, e..g., dc:creator) to the indexer * @param Object A DOMIT! node representing the custom element */ function addIndexedElement(&$node) { $tagName = strtolower($node->nodeName);
if (isset($this->DOMIT_RSS_indexer[$tagName])) { if (strtolower(get_class($this->DOMIT_RSS_indexer[$tagName])) == 'domit_element') { $collection = new xml_domit_rss_collection(); $collection->addElement($this->DOMIT_RSS_indexer[$tagName]); $collection->addElement($node); $this->DOMIT_RSS_indexer[$tagName] =& $collection; } else { //Don't think I need this case??? //$this->DOMIT_RSS_indexer[$tagName]->addElement($node); } } else { $this->DOMIT_RSS_indexer[$tagName] =& $node; } } //addIndexedElement
/** * Indicates whether the requested element is actually a collection of elements of the same type * @param string The name of the requested element * @return boolean True if a collection of elements exists */ function isCollection($elementName) { $elementName = strtolower($elementName);
if (isset($this->DOMIT_RSS_indexer[$elementName])) { return (get_class($this->DOMIT_RSS_indexer[$elementName]) == 'xml_domit_rss_collection'); } else { return false; } } //isCollection
/** * Indicates whether the requested element is a DOMIT! node * @param string The name of the requested element * @return boolean True if the requested element is a DOMIT! node */ function isNode($elementName) { $elementName = strtolower($elementName);
if (isset($this->DOMIT_RSS_indexer[$elementName])) { return (strtolower(get_class($this->DOMIT_RSS_indexer[$elementName])) == 'domit_element'); } else { return false; } } //isNode
/** * Indicates whether the requested element is a DOMIT! node (alias for isNode) * @param string The name of the requested element * @return boolean True if the requested element is a DOMIT! node */ function isCustomRSSElement($elementName) { return isNode($elementName); } //isCustomRSSElement
/** * Gets a named list of existing elements as a child of the current element * @return array A named list of existing elements */ function getElementList() { return array_keys($this->DOMIT_RSS_indexer); } //getElementList
/** * Indicates whether a particular element exists * @param string The name of the requested element * @return boolean True if an element with the specified name exists */ function hasElement($elementName) { return isset($this->DOMIT_RSS_indexer[strtolower($elementName)]); } //hasElement
/** * Gets a reference to an element with the specified name * @param string The name of the requested element * @return mixed A reference to an element with the specified name, or the text of the element if it is a text node */ function &getElement($elementName) { $elementName = strtolower($elementName);
if (isset($this->DOMIT_RSS_indexer[$elementName])) { return $this->DOMIT_RSS_indexer[$elementName]; } else { xml_domit_rss_exception::raiseException(DOMIT_RSS_ELEMENT_NOT_FOUND_ERR, 'Element ' . $elementName . ' not present.'); } } //getElement
/** * Gets a reference to an element at the specified index * @param int The index of the requested element * @return mixed A reference to an element at the specified index, or the text of the element if it is a text node */ function &getElementAt($index) { $this->indexNumerically();
if (isset($this->DOMIT_RSS_numericalIndexer[$index])) { return $this->DOMIT_RSS_numericalIndexer[$index]; } else { xml_domit_rss_exception::raiseException(DOMIT_RSS_ELEMENT_NOT_FOUND_ERR, 'Element ' . $index . ' not present.'); } } //getElementAt
/** * Populates an integer-based index for elements if one isn't already present. */ function indexNumerically() { if (!isset($this->DOMIT_RSS_numericalIndexer)) { $counter = 0;
foreach ($this->DOMIT_RSS_indexer as $key => $value) { $this->DOMIT_RSS_numericalIndexer[$counter] =& $this->DOMIT_RSS_indexer[$key]; $counter++; } } } //indexNumerically
/** * Gets the text of the specified element * @param string The name of the requested element * @return string The element text, or an empty string */ function getElementText($elementName) { $elementName = strtolower($elementName); return $this->_getElementText($elementName, $this->DOMIT_RSS_indexer); } //getElementText
/** * Gets the text at the specified index * @param int The index of the requested element * @return string The element text, or an empty string */ function getElementTextAt($index) { $this->indexNumerically();
return $this->_getElementText($index, $this->DOMIT_RSS_numericalIndexer); } //getElementTextAt
/** * Gets the text at the specified index * @param mixed The index or name of the requested element * @param array The indexing array from which to extract data * @return string The element text, or an empty string */ function _getElementText($index, &$myArray) { if (isset($myArray[$index])) { $element =& $myArray[$index]; $result = '';
if (is_array($element)) { //do nothing; data for domit_rss_channels, domit_rss_items, //and domit_rss_categories should be extracted with their own methods } else { switch (strtolower(get_class($element))) { case 'xml_domit_rss_simpleelement': $result = $element->getElementText(); break;
case 'xml_domit_rss_collection': $result = $element->getElementText(); break;
case 'domit_element': $total = $element->childCount;
for ($i = 0; $i < $total; $i++) { $currNode =& $element->childNodes[$i];
if ($currNode->nodeType == DOMIT_CDATA_SECTION_NODE) { $result .= $currNode->nodeValue; } else { $result .= $currNode->toString(); } } break; } }
return $result; }
return ''; } //_getElementText } //xml_domit_rss_elementindexer
/** * A base class for DOMIT! RSS and DOMIT! RSS Lite documents * * @package domit-rss * @author John Heinstein <johnkarl@nbnet.nb.ca> */ class xml_domit_rss_base_document extends xml_domit_rss_elementindexer { /** @var array An array of item elements (only present in some RSS formats) */ var $domit_rss_items = array(); /** @var array An array of existing channel elements */ var $domit_rss_channels = array(); /** @var array An array of existing category elements */ var $domit_rss_categories = array(); /** @var boolean True if caching is enabled */ var $cacheEnabled = true; /** @var Object A reference to the file caching object */ var $cache; /** @var boolean True if PEAR:Cache_Lite is to be used instead of php_text_cache */ var $useCacheLite = false; /** @var boolean True if php_http_client_generic is to be used instead of PHP get_file_contents */ var $doUseHTTPClient = false; /** @var string The name of the current parser - either 'DOMIT_RSS' or 'DOMIT_RSS_LITE' */ var $parser; /** @var object A reference to a http connection or proxy, if one is required */ var $httpConnection = null; /** @var int The timeout value for an http connection */ var $rssTimeout = 0;
/** * Constructor * @param string Path to the rss file * @param string Directory in which cache files are to be stored * @param int Expiration time (in seconds) for the cache file * @return mixed Null if an url was not provided, true if an url was provided and parsing was successful, false otherwise */ function xml_domit_rss_base_document ($url = '', $cacheDir = './', $cacheTime = 3600) { $success = null; $this->createDocument();
if ($url != '') { //if rss data is from filesystem if (substr($url, 0, 4) != "http") { $rssText = $this->getTextFromFile($url); $this->parseRSS($rssText); } else { $this->createDefaultCache($cacheDir, $cacheTime); $success = $this->loadRSS($url, $cacheDir, $cacheTime); } }
return $success; } //xml_domit_rss_base_document
/** * Specifies the default timeout value for connecting to a host * @param int The number of seconds to timeout when attempting to connect to a server */ function setRSSTimeout($rssTimeout) { $this->rssTimeout = $rssTimeout;
if (!$this->useCacheLite && !($this->cache == null)) { $this->cache->setTimeout($rssTimeout); } } //setRSSTimeout
/** * Specifies the parameters of the http conection used to obtain the xml data * @param string The ip address or domain name of the connection * @param string The path of the connection * @param int The port that the connection is listening on * @param int The timeout value for the connection * @param string The user name, if authentication is required * @param string The password, if authentication is required */ function setConnection($host, $path = '/', $port = 80, $timeout = 0, $user = null, $password = null) { require_once(DOMIT_RSS_INCLUDE_PATH . 'php_http_client_generic.php');
$this->httpConnection = new php_http_client_generic($host, $path, $port, $timeout, $user, $password); } //setConnection
/** * Specifies basic authentication for an http connection * @param string The user name * @param string The password */ function setAuthorization($user, $password) { $this->httpConnection->setAuthorization($user, $password); } //setAuthorization
/** * Specifies that a proxy is to be used to obtain the xml data * @param string The ip address or domain name of the proxy * @param string The path to the proxy * @param int The port that the proxy is listening on * @param int The timeout value for the connection * @param string The user name, if authentication is required * @param string The password, if authentication is required */ function setProxyConnection($host, $path = '/', $port = 80, $timeout = 0, $user = null, $password = null) { require_once(DOMIT_RSS_INCLUDE_PATH . 'php_http_proxy.php');
$this->httpConnection = new php_http_proxy($host, $path, $port, $timeout, $user, $password); } //setProxyConnection
/** * Specifies a user name and password for the proxy * @param string The user name * @param string The password */ function setProxyAuthorization($user, $password) { $this->httpConnection->setProxyAuthorization($user, $password); } //setProxyAuthorization
/** * Specifies whether an HTTP client should be used to establish a connection * @param boolean True if an HTTP client is to be used to establish the connection */ function useHTTPClient($truthVal) { $this->doUseHTTPClient = $truthVal; } //useHTTPClient
/** * Returns the name of the parser *@return string Either 'DOMIT_RSS' or 'DOMIT_RSS_LITE' */ function parsedBy() { return $this->parser; } //parsedBy
/** * Creates an empty DOMIT! document to contain the RSS nodes */ function createDocument() { require_once(DOMIT_RSS_INCLUDE_PATH . 'xml_domit_include.php'); $this->node = new DOMIT_Document(); $this->node->resolveErrors(true); } //createDocument
/** * Substitutes PEAR::Cache_Lite for the default php_text_cache * @param boolean True if Cache Lite is to be used * @param string Absolute or relative path to the Cache Lite library * @param string Directory for cache files * @param int Expiration time for a cache file */ function useCacheLite($doUseCacheLite, $pathToLibrary = './Lite.php', $cacheDir = './', $cacheTime = 3600) { $this->useCacheLite = $doUseCacheLite;
if ($doUseCacheLite) { if (!file_exists($pathToLibrary)) { $this->useCacheLite(false); } else { require_once($pathToLibrary);
$cacheOptions = array('cacheDir' => $cacheDir, 'lifeTime' => $cacheTime); $this->cache = new Cache_Lite($cacheOptions); } } else { $this->createDefaultCache($cacheDir, $cacheTime); } } //useCacheLite
/** * Instantiates a default cache (php_text_cache) * @param string Directory for cache files * @param int Expiration time for a cache file */ function createDefaultCache($cacheDir = './', $cacheTime = 3600) { require_once(DOMIT_RSS_INCLUDE_PATH . 'php_text_cache.php'); $this->cache = new php_text_cache($cacheDir, $cacheTime, $this->rssTimeout); } //initDefaultCache
/** * Disables caching mechanism */ function disableCache() { $this->cacheEnabled = false; } //initDefaultCache
/** * Loads and parses the RSS at the specified url * @param string The url of the RSS feed * @return boolean True if parsing is successful */ function loadRSS($url) { if (substr($url, 0, 4) != "http") { $rssText = $this->getTextFromFile($url); return $this->parseRSS($rssText); } else { if ($this->cacheEnabled && !isset($this->cache)) { $this->createDefaultCache(); $this->cache->httpConnection =& $this->httpConnection; }
$success = $this->loadRSSData($url);
if ($success) { $this->_init(); }
return $success; } } //loadRSS
/** * Parses the RSS text provided * @param string The RSS text * @return boolean True if parsing is successful */ function parseRSS($rssText) { if ($this->cacheEnabled && !isset($this->cache)) $this->createDefaultCache(); $success = $this->parseRSSData($rssText);
if ($success) { $this->_init(); }
return $success; } //parseRSS
/** * Retrieves the RSS data from the url/cache file and parses * @param string The url for the RSS data * @return boolean True if parsing is successful */ function loadRSSData($url) { $rssText = $this->getDataFromCache($url); return $this->parseRSSData($rssText); } //loadRSSData
/** * Retrieves the RSS data from the url/cache file * @param string The url for the RSS data * @return string The RSS data */ function getDataFromCache($url) { if ($this->cacheEnabled) { if ($this->useCacheLite) { if ($rssText = $this->cache->get($url)) { return $rssText; } else { $rssText = $this->getTextFromFile($url); if ($rssText != '') $this->cache->save($rssText, $url); return $rssText; } } else { $this->cache->useHTTPClient($this->doUseHTTPClient); return $this->cache->getData($url); } } else { return $this->getTextFromFile($url); } } //getDataFromCache
/** * Parses the RSS data provided * @param string The the RSS data * @return boolean True if parsing is successful */ function parseRSSData($rssText) { if ($rssText != '') { return $this->fromString($rssText); } else { return false; } } //parseRSSData
/** * Reads in RSS text from a file and parses it * @param string The file path * @return boolean True if parsing is successful */ function &fromFile($filename) { $success = $this->node->loadXML($filename, false); return $success; } //fromFile
/** * Reads in RSS text from a string and parses it * @param string The RSS text * @return boolean True if parsing is successful */ function &fromString($rssText) { $success = $this->node->parseXML($rssText, true); return $success; } //fromString
/** * Establishes a connection, given an url * @param string The url of the data */ function establishConnection($url) { require_once(DOMIT_RSS_INCLUDE_PATH . 'php_http_client_generic.php');
$host = php_http_connection::formatHost($url); $host = substr($host, 0, strpos($host, '/'));
$this->setConnection($host, '/', 80, $this->rssTimeout); } //establishConnection
/** * Get text from an url or file * @param string The url or file path * @return string The text contained in the url or file, or an empty string */ function getTextFromFile($filename) { $fileContents = '';
if ($this->doUseHTTPClient) { $this->establishConnection($filename); $response =& $this->httpConnection->get($filename);
if ($response != null) { $fileContents = $response->getResponse(); } } else { if (function_exists('file_get_contents')) { $fileContents = @file_get_contents($filename); } else { require_once(DOMIT_RSS_INCLUDE_PATH . 'php_file_utilities.php'); $fileContents =& php_file_utilities::getDataFromFile($filename, 'r'); }
if ($fileContents == '') { $this->establishConnection($filename); $response =& $this->httpConnection->get($filename);
if ($response != null) { $fileContents = $response->getResponse(); } } }
return $fileContents; } //getTextFromFile
/** * Gets a reference to the underlying DOM document * @return Object A reference to the underlying DOM document */ function &getDocument() { return $this->node; } //getDocument
/** * Gets a reference to the root DOM element * @return Object A reference to the root DOM element */ function &getNode() { return $this->node->documentElement; } //getNode
/** * Forces channel elements that are external to a channel to be referenced as subelements of that channel */ function handleChannelElementsEmbedded() { if (count($this->domit_rss_items) > 0) { foreach ($this->domit_rss_channels as $key => $value) { $this->domit_rss_channels[$key]->domit_rss_items =& $this->domit_rss_items;
if (count($this->DOMIT_RSS_indexer) > 0) { foreach ($this->DOMIT_RSS_indexer as $ikey => $ivalue) { if ($ikey != DOMIT_RSS_ARRAY_CHANNELS) { $this->domit_rss_channels[$key]->DOMIT_RSS_indexer[$ikey] =& $this->DOMIT_RSS_indexer[$ikey]; unset($this->DOMIT_RSS_indexer[$ikey]); } } } } } } //handleChannelElementsEmbedded
/** * Returns the version of RSS used to format the data * @return string The version of RSS used to format the data */ function getRSSVersion() { $version = $this->node->documentElement->getAttribute(DOMIT_RSS_ATTR_VERSION);
if ($version == '') { $xmlns = $this->node->documentElement->getAttribute('xmlns'); $total = strlen($xmlns);
if (substr($xmlns, $total) == '/') { $total--; }
for ($i = ($total - 1); $i > -1; $i--) { $currentChar = substr($xmlns, $i);
if ($currentChar == '/') { break; } else { $version = $currentChar . $version; } }
}
return $version; } //getRSSVersion
/** * Returns the number of channels in the document * @return int The number of channels in the document */ function getChannelCount() { return count($this->domit_rss_channels); } //getChannelCount()
/** * Returns a reference to the channel located at the specified index * @return Object A reference to the channel located at the specified index */ function &getChannel($index) { return $this->domit_rss_channels[$index]; } //getChannel } //xml_domit_rss_base_document
/** * Represents a simple RSS element, without attributes and only a single child text node * * @package domit-rss * @subpackage domit-rss-main * @author John Heinstein <johnkarl@nbnet.nb.ca> */ class xml_domit_rss_simpleelement extends xml_domit_rss_elementindexer { /** * Constructor * @param Object A DOM node containing element data */ function xml_domit_rss_simpleelement(&$element) { $this->node =& $element; } //xml_domit_rss_simpleelement
/** * Gets the text of the element * @return string The element text */ function getElementText() { $element =& $this->node; $result = ''; $total = $element->childCount;
for ($i = 0; $i < $total; $i++) { $currNode =& $element->childNodes[$i];
if ($currNode->nodeType == DOMIT_CDATA_SECTION_NODE) { $result .= $currNode->nodeValue; } else { $result .= $currNode->toString(); } }
return $result; } //getElementText } //xml_domit_rss_simpleelement
/** * @global object Reference to custom error handler for DOMIT RSS Exception class */ $GLOBALS['DOMIT_RSS_Exception_errorHandler'] = null; /** * @global int Error mode; specifies whether to die on error or simply return */ //$GLOBALS['DOMIT_RSS_Exception_mode'] = DOMIT_RSS_ONERROR_RETURN; // fixes bug identified here: sarahk.pcpropertymanager.com/blog/using-domit-rss/225/ $GLOBALS['DOMIT_RSS_Exception_mode'] = 1;
/** * @global string Log file for errors */ $GLOBALS['DOMIT_RSS_Exception_log'] = null;
/** * A DOMIT! RSS exception handling class * * @package domit-rss * @author John Heinstein <johnkarl@nbnet.nb.ca> */ class xml_domit_rss_exception { /** * Raises the specified exception * @param int The error number * @param string A string explanation of the error */ function raiseException($errorNum, $errorString) { if ($GLOBALS['DOMIT_RSS_Exception_errorHandler'] != null) { call_user_func($GLOBALS['DOMIT_RSS_Exception_errorHandler'], $errorNum, $errorString); } else { $errorMessageText = $errorNum . ' ' . $errorString; $errorMessage = 'Error: ' . $errorMessageText;
if ((!isset($GLOBALS['DOMIT_RSS_ERROR_FORMATTING_HTML'])) || ($GLOBALS['DOMIT_RSS_ERROR_FORMATTING_HTML'] == true)) { $errorMessage = "<p><pre>" . $errorMessage . "</pre></p>"; }
//log error to file if ((isset($GLOBALS['DOMIT_RSS_Exception_log'])) && ($GLOBALS['DOMIT_RSS_Exception_log'] != null)) { require_once(DOMIT_RSS_INCLUDE_PATH . 'php_file_utilities.php');
$logItem = "\n" . date('Y-m-d H:i:s') . 'DOMIT! RSS Error ' . $errorMessageText; php_file_utilities::putDataToFile($GLOBALS['DOMIT_RSS_Exception_log'], $logItem, 'a'); }
switch ($GLOBALS['DOMIT_RSS_Exception_mode']) { case DOMIT_RSS_ONERROR_CONTINUE: return; break;
case DOMIT_RSS_ONERROR_DIE: die($errorMessage); break; } } } //raiseException
/** * custom handler for DOM RSS errors * @param object A reference to the custom error handler */ function setErrorHandler($method) { $GLOBALS['DOMIT_RSS_Exception_errorHandler'] =& $method;
require_once(DOMIT_RSS_INCLUDE_PATH . 'php_http_exceptions.php'); $GLOBALS['HTTP_Exception_errorHandler'] =& $method;
require_once(DOMIT_RSS_INCLUDE_PATH . 'xml_domit_shared.php'); $GLOBALS['HTTP_Exception_errorHandler'] =& $method; } //setErrorHandler
/** * Set error mode * @param int The DOMIT RSS error mode */ function setErrorMode($mode) { $GLOBALS['DOMIT_RSS_Exception_mode'] = $mode;
require_once(DOMIT_RSS_INCLUDE_PATH . 'php_http_exceptions.php'); require_once(DOMIT_RSS_INCLUDE_PATH . 'xml_domit_shared.php');
if ($mode == DOMIT_RSS_ONERROR_CONTINUE) { $GLOBALS['HTTP_Exception_mode'] = HTTP_ONERROR_CONTINUE; $GLOBALS['DOMIT_DOMException_mode'] = DOMIT_ONERROR_CONTINUE; } else { $GLOBALS['HTTP_Exception_mode'] = HTTP_ONERROR_DIE; $GLOBALS['DOMIT_DOMException_mode'] = DOMIT_ONERROR_DIE; } } //setErrorMode
/** * Set error mode * @param boolean True if errors should be logged * @param string Absolute or relative path to log file */ function setErrorLog($doLogErrors, $logfile) { require_once(DOMIT_RSS_INCLUDE_PATH . 'php_http_exceptions.php');
if ($doLogErrors) { $GLOBALS['DOMIT_RSS_Exception_log'] = $logfile; $GLOBALS['HTTP_Exception_log'] = $logfile; $GLOBALS['DOMIT_Exception_log'] = $logfile; } else { $GLOBALS['DOMIT_RSS_Exception_log'] = null; $GLOBALS['HTTP_Exception_log'] = null; $GLOBALS['DOMIT_Exception_log'] = null; } } //setErrorLog } //xml_domit_rss_exception
?>
Второй который правил <?php /** * version $Id: newsfeeds.html.php 4697 2006-08-24 00:01:32Z stingrey $ * @package Joomla RE * @subpackage Newsfeeds * @copyright Copyright (C) 2005 Open Source Matters. All rights reserved. * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php * * Joomla! is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. * See COPYRIGHT.php for copyright notices and details. */
// чряЁхЄ яЁ ьюую фюёЄєяр defined( '_VALID_MOS' ) or die( '─юёЄєя юуЁрэшўхэ' );
/** * @package Joomla RE * @subpackage Newsfeeds */ class HTML_newsfeed {
function displaylist( &$categories, &$rows, $catid, $currentcat=NULL, &$params, $tabclass ) { global $Itemid, $mosConfig_live_site, $hide_js; if ( $params->get( 'page_title' ) ) { ?> <div class="componentheading<?php echo $params->get( 'pageclass_sfx' ); ?>"> <?php echo $currentcat->header; ?> </div> <?php } ?> <form action="index.php" method="post" name="adminForm">
<table width="100%" cellpadding="4" cellspacing="0" border="0" align="center" class="contentpane<?php echo $params->get( 'pageclass_sfx' ); ?>"> <tr> <td width="60%" valign="top" class="contentdescription<?php echo $params->get( 'pageclass_sfx' ); ?>" colspan="2"> <?php // show image if ( $currentcat->img ) { ?> <img src="<?php echo $currentcat->img; ?>" align="<?php echo $currentcat->align; ?>" hspace="6" alt="<?php echo _WEBLINKS_TITLE; ?>" /> <?php } echo $currentcat->descrip; ?> </td> </tr> <tr> <td> <?php if ( count( $rows ) ) { HTML_newsfeed::showTable( $params, $rows, $catid, $tabclass ); } ?> </td> </tr> <tr> <td>
</td> </tr> <tr> <td> <?php // Displays listing of Categories if ( ( $params->get( 'type' ) == 'category' ) && $params->get( 'other_cat' ) ) { HTML_newsfeed::showCategories( $params, $categories, $catid ); } else if ( ( $params->get( 'type' ) == 'section' ) && $params->get( 'other_cat_section' ) ) { HTML_newsfeed::showCategories( $params, $categories, $catid ); } ?> </td> </tr> </table> </form> <?php // displays back button mosHTML::BackButton ( $params, $hide_js ); }
/** * Display Table of items */ function showTable( &$params, &$rows, $catid, $tabclass ) { global $mosConfig_live_site, $Itemid; // icon in table display $img = mosAdminMenus::ImageCheck( 'con_info.png', '/images/M_images/', $params->get( 'icon' ) ); ?> <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center"> <?php if ( $params->get( 'headings' ) ) { ?> <tr> <?php if ( $params->get( 'name' ) ) { ?> <td height="20" class="sectiontableheader<?php echo $params->get( 'pageclass_sfx' ); ?>"> <?php echo _FEED_NAME; ?> </td> <?php } ?> <?php if ( $params->get( 'articles' ) ) { ?> <td height="20" class="sectiontableheader<?php echo $params->get( 'pageclass_sfx' ); ?>" align="center"> <?php echo _FEED_ARTICLES; ?> </td> <?php } ?> <?php if ( $params->get( 'link' ) ) { ?> <td height="20" class="sectiontableheader<?php echo $params->get( 'pageclass_sfx' ); ?>"> <?php echo _FEED_LINK; ?> </td> <?php } ?> </tr> <?php }
$k = 0; foreach ($rows as $row) { $link = 'index.php?option=com_newsfeeds&task=view&feedid='. $row->id .'&Itemid='. $Itemid; ?> <tr> <?php if ( $params->get( 'name' ) ) { ?> <td height="20" class="<?php echo $tabclass[$k]; ?>"> <a href="<?php echo sefRelToAbs( $link ); ?>" class="category<?php echo $params->get( 'pageclass_sfx' ); ?>"> <?php echo $row->name; ?> </a> </td> <?php } ?> <?php if ( $params->get( 'articles' ) ) { ?> <td width="20%" class="<?php echo $tabclass[$k]; ?>" align="center"> <?php echo $row->numarticles; ?> </td> <?php } ?> <?php if ( $params->get( 'link' ) ) { ?> <td width="50%" class="<?php echo $tabclass[$k]; ?>"> <?php echo ampReplace( $row->link ); ?> </td> <?php } ?> </tr> <?php $k = 1 - $k; } ?> </table> <?php }
/** * Display links to categories */ function showCategories( &$params, &$categories, $catid ) { global $mosConfig_live_site, $Itemid; ?> <ul> <?php foreach ( $categories as $cat ) { if ( $catid == $cat->catid ) { ?> <li> <b> <?php echo $cat->title;?> </b> <span class="small"> (<?php echo $cat->numlinks;?>) </span> </li> <?php } else { $link = 'index.php?option=com_newsfeeds&catid='. $cat->catid .'&Itemid='. $Itemid; ?> <li> <a href="<?php echo sefRelToAbs( $link ); ?>" class="category<?php echo $params->get( 'pageclass_sfx' ); ?>"> <?php echo $cat->title;?> </a> <?php if ( $params->get( 'cat_items' ) ) { ?> <span class="small"> (<?php echo $cat->numlinks;?>) </span> <?php } ?> <?php // Writes Category Description if ( $params->get( 'cat_description' ) ) { echo '<br />'; echo $cat->description; } ?> </li> <?php } } ?> </ul> <?php }
function showNewsfeeds( &$newsfeed, $LitePath, $cacheDir, &$params ) { ?> <table width="100%" class="contentpane<?php echo $params->get( 'pageclass_sfx' ); ?>"> <?php if ( $params->get( 'header' ) ) { ?> <tr> <td class="componentheading<?php echo $params->get( 'pageclass_sfx' ); ?>" colspan="2"> <?php echo $params->get( 'header' ); ?> </td> </tr> <?php }
// full RSS parser used to access image information $rssDoc = new xml_domit_rss_document(); $rssDoc->setRSSTimeout(5); $rssDoc->useCacheLite( true, $LitePath, $cacheDir, $newsfeed->cache_time ); $success = $rssDoc->loadRSS( $newsfeed->link ); if ( $success ) { $totalChannels = $rssDoc->getChannelCount();
for ( $i = 0; $i < $totalChannels; $i++ ) { $currChannel =& $rssDoc->getChannel($i); $elements = $currChannel->getElementList(); $descrip = 0; $iUrl = 0;
foreach ( $elements as $element ) { //image handling if ( $element == 'image' ) { $image =& $currChannel->getElement( DOMIT_RSS_ELEMENT_IMAGE ); $iUrl = $image->getUrl(); $iTitle = $image->getTitle(); } if ( $element == 'description' ) { $descrip = 1; // hide com_rss descrip in 4.5.0 feeds if ( $currChannel->getDescription() == 'com_rss' ) { $descrip = 0; } } } $feed_title = $currChannel->getTitle(); $feed_title = mosCommonHTML::newsfeedEncoding( $rssDoc, $feed_title ); ?> <tr> <td class="contentheading<?php echo $params->get( 'pageclass_sfx' ); ?>"> <a href="<?php echo ampReplace( $currChannel->getLink() ); ?>" target="_blank"> <?php echo $feed_title; ?></a> </td> </tr> <?php // feed description if ( $descrip && $params->get( 'feed_descr' ) ) { $feed_descrip = $currChannel->getDescription(); $feed_descrip = mosCommonHTML::newsfeedEncoding( $rssDoc, $feed_descrip ); ?> <tr> <td> <?php echo $feed_descrip; ?> <br /> <br /> </td> </tr> <?php } // feed image if ( $iUrl && $params->get( 'feed_image' ) ) { ?> <tr> <td> <img src="<?php echo $iUrl; ?>" alt="<?php echo $iTitle; ?>" /> </td> </tr> <?php } $actualItems = $currChannel->getItemCount(); $setItems = $newsfeed->numarticles; if ( $setItems > $actualItems ) { $totalItems = $actualItems; } else { $totalItems = $setItems; } ?> <tr> <td> <ul> <?php for ( $j = 0; $j < $totalItems; $j++ ) { $currItem =& $currChannel->getItem($j); $item_title = $currItem->getTitle(); $item_title = mosCommonHTML::newsfeedEncoding( $rssDoc, $item_title ); ?> <li> <?php // START fix for RSS enclosure tag url not showing if ($currItem->getLink()) { ?> <a href="<?php echo ampReplace( $currItem->getLink() ); ?>" target="_blank"> <?php echo $item_title; ?></a> <?php } else if ($currItem->getEnclosure()) { $enclosure = $currItem->getEnclosure(); $eUrl = $enclosure->getUrl(); ?> <a href="<?php echo ampReplace( $eUrl ); ?>" target="_blank"> <?php echo $item_title; ?></a> <?php } else if (($currItem->getEnclosure()) && ($currItem->getLink())) { $enclosure = $currItem->getEnclosure(); $eUrl = $enclosure->getUrl(); ?> <a href="<?php echo ampReplace( $currItem->getLink() ); ?>" target="_blank"> <?php echo $item_title; ?></a> <br /> ╤ё√ыър: <a href="<?php echo $eUrl; ?>" target="_blank"> <?php echo ampReplace( $eUrl ); ?></a> <?php } // END fix for RSS enclosure tag url not showing
// item description if ( $params->get( 'item_descr' ) ) { $text = $currItem->getDescription(); $text = mosCommonHTML::newsfeedEncoding( $rssDoc, $text );
$num = $params->get( 'word_count' );
// word limit check if ( $num ) { $texts = explode( ' ', $text ); $count = count( $texts ); if ( $count > $num ) { $text = ''; for( $i=0; $i < $num; $i++ ) { $text .= ' '. $texts[$i]; } $text .= '...'; } } ?> <br /> <?php echo $text; ?> <br /> <br /> <?php } ?> </li> <?php } ?> </ul> </td> </tr> <tr> <td> <br /> </td> </tr> <?php } } ?> </table> <?php // displays back button mosHTML::BackButton ( $params ); } } ?>
Изменено. Причина: Не правильное оформление сообщения.ЗЫ XAND, не забывайте использовать ВВтеги 
|
|
|
|
« Последнее редактирование: 19.02.2009, 06:55:29 от MuraDweb »
|
Записан
|
|
|
|
alexecon
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Сообщений: 147
|
 |
« Ответ #36 : 19.02.2009, 06:35:28 » |
|
Так то что написано выше то и правилось, что еще то приводить? У меня все исправилось только теперь пытаясь получить ленты свои - получаю кракозябры, ранее прикручивал чужие были кракозябры а свои получал отлично. Кстати никто не пишет про свои ленты  Посмотрите внимательно ещё раз, что тут написано и сделайте все в точности так, как написано http://joomlaforum.ru/index.php/topic,3722.msg55678.html#msg55678С кодировками лент новостей - и своих, и чужих - все нормально. Если Вы имеете в виду, как они выглядят на сайте. А уж в каком виде мои ленты к кому-то поступают, мне неведомо. Но если что и не так, то я ничего с этим поделать не могу. Равно как и вы пытаетесь лечить свой сайт, который не "читает" нормально чужие ленты, а не предлагаете их авторам подкрутить что-нибудь в коде на своей стороне.
|
|
|
|
|
Записан
|
|
|
|
Gold Dragon
True Gallery Team
Репутация: +33/-2
Offline
Пол: 
Сообщений: 985
|
 |
« Ответ #37 : 09.04.2009, 17:07:31 » |
|
Други! спасибо.. помогли ваши советы! Всем по плюсу... правда гостю не могу поставить  кстати.. хак сделал для Joostina 1.1.3, т.ч. это работает и на джустине
|
|
|
|
« Последнее редактирование: 09.04.2009, 17:13:14 от Gold Dragon »
|
Записан
|
|
|
|
rocksilver
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Сообщений: 82
|
 |
« Ответ #38 : 18.04.2009, 23:51:05 » |
|
Есть еще один встроенный перекодировщик для RSS новостей... И внем ошибка, в результате чего он неправильно работает, т.е. декодирует тогда когда не надо
Чтобы это исправить открываем файл хост/includes/joomla.php и ищем там функцию newsfeedEncoding( $rssDoc, $text )
После чего находим в этой функции следующий текст:
if ( phpversion() >= 5 ) { // handling for PHP 5 if ( _JOS_FEED_ENCODING ) { // handling for utf-8 feed if ( _JOS_SITE_ENCODING ) { // utf-8 page $encoding = 'html_entity_decode'; } else { // non utf-8 page $encoding = 'utf8_decode'; } } else { // handling for non utf-8 feed if ( _JOS_SITE_ENCODING ) { // utf-8 page $encoding = ''; } else { // non utf-8 page $encoding = 'utf8_decode'; } } } else { и меняем выделенные строки местами... В итоге должно получиться следующее
if ( phpversion() >= 5 ) { // handling for PHP 5 if ( _JOS_FEED_ENCODING ) { // handling for utf-8 feed if ( _JOS_SITE_ENCODING ) { // utf-8 page $encoding = 'html_entity_decode'; } else { // non utf-8 page $encoding = 'utf8_decode'; } } else { // handling for non utf-8 feed if ( _JOS_SITE_ENCODING ) { // utf-8 page $encoding = 'utf8_decode'; } else { // non utf-8 page $encoding = ''; } } } else {
Это для 5-го PHP для 4 возможно то же что-то придется поменять... Там ниже для этого свой кусочек...
Помогло это + вот это: Сначала нужно провести вышеуказанные манипуляции с Joola.php
Потом делаем вот что :
1. идем в /includes/domit/xml_domit_rss_shared.php и строчку: $success = $this->node->parseXML($rssText, false); Заменяем на $success = $this->node->parseXML($rssText, true);
2. в файле /includes/feedcreator.class.php если в строчке var $encoding = "Windows-1251 или что то другое"; заменяем на var $encoding = "UTF-8";
У меня все заработало! Joomla Lavra 1.0.15
Огромное спасибо, а то весь инет перерыл, еле откопал! Причем, РСС выводил с украинского сайта, после первого шага (1 цитата) ушли вопросики, после 2 шага - "неправильный" русский превратился в украинский.
|
|
|
|
|
Записан
|
|
|
|
Алхимик
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 19
|
 |
« Ответ #39 : 06.05.2009, 23:44:02 » |
|
Joomla 1.5.10. Юзал разные компоненты и везде RSS экспортируется в utf-8, а у меня уже два сайта новости мои просят, но у них windows-1251 в итоге там не русский язык, а сами знаете что. Может кто посоветует какой компонент, где можно кодировки экспорта выбирать (или тот что экспортирует в windows-1251), или как существующие поправить. Вот на данный момент у меня BCA RSS Syndicator и танцы с бубном вокруг него не помогают.
|
|
|
|
|
Записан
|
|
|
|
tonik
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 23
|
 |
« Ответ #40 : 13.05.2009, 22:25:33 » |
|
Re: Кодировка RSS « Ответ #16 : 23.07.2007, 03:57:45 » Получилось!
А как теперь исправить, что вместо «кавычек» стали отображаться [кавычкиk ?
Такая же проблема.. Кто-нибудь решил?
|
|
|
|
|
Записан
|
|
|
|
Valery
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 6
|
 |
« Ответ #41 : 23.05.2009, 08:40:10 » |
|
Народ помогите у меня такая же проблема на Joomla 1.5.9 Такая же проблема при получении RSS новостей в кодировке 1251 Тоже вместо букв на русском идут кубики или знаки вопросов Что делать подскажите?
|
|
|
|
|
Записан
|
|
|
|
alexecon
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Сообщений: 147
|
 |
« Ответ #42 : 25.05.2009, 19:50:36 » |
|
Народ помогите у меня такая же проблема на Joomla 1.5.9 Такая же проблема при получении RSS новостей в кодировке 1251 Тоже вместо букв на русском идут кубики или знаки вопросов Что делать подскажите?
to Алхимик also: Народ, тут пишут про решение данной проблемы на Joomla 1.0.x А Вы народу "полуторку" подсовываете...
|
|
|
|
|
Записан
|
|
|
|
Adam.K
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Пол: 
Сообщений: 180
Чтож со зрением то делать? Совсем испортилось.
|
 |
« Ответ #43 : 09.08.2009, 09:11:22 » |
|
rocksilver Точно получилось! Молодца!
|
|
|
|
|
Записан
|
|
|
|
alex75300
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Пол: 
Сообщений: 82
Кому щас легко...
|
 |
« Ответ #44 : 28.03.2010, 14:26:12 » |
|
Сначала нужно провести вышеуказанные манипуляции с Joola.php
Потом делаем вот что :
1. идем в /includes/domit/xml_domit_rss_shared.php и строчку: $success = $this->node->parseXML($rssText, false); Заменяем на $success = $this->node->parseXML($rssText, true);
2. в файле /includes/feedcreator.class.php если в строчке var $encoding = "Windows-1251 или что то другое"; заменяем на var $encoding = "UTF-8";
У меня все заработало! Joomla Lavra 1.0.15
Реально заработало Joomla Lavra 1.0.15 и Joomla 1.0.15 RE Спасибо за пост и естественно + автору поста
|
|
|
|
|
Записан
|
|
|
|
|
jwzwdr
Гость
|
 |
« Ответ #45 : 22.08.2010, 00:54:02 » |
|
Для Joostina 1.2: Редактируем /includes/joomla.php Находим функцию function newsfeedEncoding($rssDoc,$text,$utf8enc=null) { в ней находим фрагмент if($encoding && !$utf8enc) { $text = $encoding($text); заменяем на: if($encoding && !$utf8enc) { $text = iconv("UTF-8", "cp1251", $text);
и будет вам счастье. проверено 100%
|
|
|
|
|
Записан
|
|
|
|
old_style
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 39
|
 |
« Ответ #46 : 21.01.2011, 00:36:03 » |
|
Да, все работает (1.0 Лавра). Изменила файлы /includes/frontend.html.php, /includes/joomla.php и /includes/feedcreator.class.php. То, что в папке /includes/domit, не трогала (точнее попыталась, но лента новостей исчезла). Спасибо sarportal !
|
|
|
|
|
Записан
|
|
|
|
otshelnik
Осваиваюсь на форуме
 
Репутация: +5/-0
Offline
Сообщений: 142
|
 |
« Ответ #47 : 08.02.2011, 05:54:24 » |
|
Да, все работает (1.0 Лавра). Изменила файлы /includes/frontend.html.php, /includes/joomla.php и /includes/feedcreator.class.php. То, что в папке /includes/domit, не трогала (точнее попыталась, но лента новостей исчезла). Спасибо sarportal !
Да этот вариант сработал.
|
|
|
|
|
Записан
|
|
|
|
|