RSS Feed

Все моды, созданные нашим сообществом для phpBB 2.0.x, будут анонсированы тут. Вся техническая поддержка по этим модам оказывается в этом форуме.

Сообщение Егор Наклоняев 17.01.2005 14:52

Ну дак это заголовок http, а не XML. Так ведь?

Так! Виноват, искренне раскаиваюсь в содеянном, а также во всем том, чего не успел совершить по недостатку ума и времени.
Аватара пользователя
Егор Наклоняев
Moderator
 
Сообщения: 417
Зарегистрирован: 25.10.2004 2:27
Откуда: оттуда


Сообщение avm 17.01.2005 14:55

Да ладно (скромно так)
:oops:
выделенный сервер по цене обычного хостинга - менее 150 рублей в месяц
Благодарности принимаются в Яндекс.Деньгах на счет 4100143316948
Аватара пользователя
avm
phpBB 2.0.13
 
Сообщения: 636
Зарегистрирован: 16.01.2005 10:40
Откуда: Москва

Сообщение Егор Наклоняев 17.01.2005 23:30

Wizzz_art
:idea: Решение найдено.

Найти
Код: Выделить всё
//
// END Includes of phpBB scripts
//

Перед этим вставить
Код: Выделить всё
$nonascii=array();
for($i=0;$i<32;$i++)$nonascii[chr($i)]="";

Найти
Код: Выделить всё
'POST_TEXT' => htmlspecialchars($message),

Заменить на
Код: Выделить всё
'POST_TEXT' => htmlspecialchars(strtr($message,$nonascii)),


:!: Новая версия выйдет к следующему понедельнику, если не будет найдено критических ошибок, ибо планирую набрать поболе замечаний для исправления.
Аватара пользователя
Егор Наклоняев
Moderator
 
Сообщения: 417
Зарегистрирован: 25.10.2004 2:27
Откуда: оттуда

Сообщение izpitera 04.02.2005 15:50

Классный мод! Увага автору!

Самый главный вопрос:

Закрытые (приватные форумы) без авторизации в агрегаторе человек не сможет получать по RSS?
izpitera
phpBB 1.4.3
 
Сообщения: 65
Зарегистрирован: 21.12.2004 14:35

Сообщение Егор Наклоняев 05.02.2005 0:34

Закрытые (приватные форумы) без авторизации в агрегаторе человек не сможет получать по RSS?


Не сможет.

Добавлено спустя 4 часа 36 минут 2 секунды:

Сделал новую версию

Изменения в версии 2.1.4
- улучшена совместимость с PHP 3.0
- Добавлен новый ключ 'styled' , есть возможность автоматического применения стиля для MSIE
- исправлена ошибка, возникающая при наличии служебных символов в сообщении
- улучшено быстродействие
- разрешено использование куков для получения RSS
Аватара пользователя
Егор Наклоняев
Moderator
 
Сообщения: 417
Зарегистрирован: 25.10.2004 2:27
Откуда: оттуда

Сообщение Егор Наклоняев 07.02.2005 1:58

Исправил таблицу стилей, теперь работает и с Mozilla. Обновил общий архив. Отдельно стиль доступен здесь:

СКАЧАТЬ
Аватара пользователя
Егор Наклоняев
Moderator
 
Сообщения: 417
Зарегистрирован: 25.10.2004 2:27
Откуда: оттуда

Сообщение Егор Наклоняев 04.03.2005 23:39

Изменения в версии 2.2.0
- поддержка авторизации в PHP, установленного как CGI
- правильное формирование заголовков в PHP, установленного как CGI
решена проблема с "304 OK" выдаваемой сервером.
- для будущих разработок (RSS для фотоальбома, в частности) фаил разделен на 3: программа, функции и фаил конфигурации
- незначительные улучшения
- поддержка Page Generation Time от Smartor
- Автоматический двуязычный стиль

СКАЧАТЬ

Добавлено спустя 5 минут 53 секунды:

Рекомендации по обновлению в версии 2.1.4
Скопировать из начала файла rss.php настройки
Между
Код: Выделить всё
//
// BEGIN Configuration. Change values
//

и
Код: Выделить всё
//
//*** DON't MODIFY CODE BELOW ****************
//

И заменить в rss_config.php
Код между
Код: Выделить всё
// Copyright (c) 2004-2005, Egor Naklonyaeff 

и
Код: Выделить всё
// Config Page generation method


В случае, если PHP, установлен как CGI для авторизации нужен Apache mod_rewrite и доступ к .htaccess
Туда необходимо записать инструкции
Код: Выделить всё
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]
</IfModule>
Аватара пользователя
Егор Наклоняев
Moderator
 
Сообщения: 417
Зарегистрирован: 25.10.2004 2:27
Откуда: оттуда

Сообщение Егор Наклоняев 10.03.2005 2:28

Ну, шлифовка кода. Версия 2.2.1. Надеюсь, что на этом всё.
Все свои извращенные фантазии я осуществил: теперь даже распознает установленный албанский язык и выдает соответсвующий код языка для RSS.
Мод уже включает новый стиль с поддержкой RSS для фотоальбома.
Обратите внимание: двуязычный rss.xsl теперь лежит в папке Russian.

Кроме того, в довеске изменилась страница RSS_PAGE на -1169

А так, по мелочи: улучшил быстродействие одного SQL, форматирую дату для RSS с учетом временной зоны заказчика.
Аватара пользователя
Егор Наклоняев
Moderator
 
Сообщения: 417
Зарегистрирован: 25.10.2004 2:27
Откуда: оттуда

Сообщение Alexgraf 10.03.2005 17:05

Егор Наклоняев
Отличный мод, спасибо.
Выяснился небольшой недочёт - если в сообщении используется тэг [hide], то в rss-колонке отображется (без авторизации)
Код: Выделить всё
[hide:79a236ebcd] текст сообщения в форуме [/hide:79a236ebcd]

Понимаю, что это не стандартный тэг, но всё же...
Изображение
Alexgraf
phpBB 1.4.4
 
Сообщения: 81
Зарегистрирован: 05.11.2004 13:08

Сообщение Егор Наклоняев 10.03.2005 19:28

Понимаю, что это не стандартный тэг, но всё же...

Забавно. У меня на сайте установлено более десятка нестандартынх тэгов и все работают, благо вызываются одной функцией.

Может глюки всё же не у меня?
Аватара пользователя
Егор Наклоняев
Moderator
 
Сообщения: 417
Зарегистрирован: 25.10.2004 2:27
Откуда: оттуда

Сообщение Егор Наклоняев 21.03.2005 18:54

Получил я вот такое писбмо от полорогих буржуев.

MOD Database
Manager писал(а):
-------------------------------------------------------------------------------------
This PM is automatically generated. Please do not reply.
-------------------------------------------------------------------------------------

Hello,

As you may know, all MODs submitted to the phpBB MOD Database must be validated and approved by members of the phpBB Team.

Upon validating your MOD, the phpBB MOD Team regrets to inform you that we have had to deny your MOD.

To correct the problem(s) with your MOD, please following the below instructions:
  1. Make the necessary changes to correct any problems (listed below) that resulted in your MOD being denied.
  2. Increase your version number. (See Knowledge Base Article 43 for help.)
  3. Change the filename. (For example, my_mod_1.0.0.zip would become my_mod_1.0.1.zip.)
  4. Re-upload your MOD into our MOD Database.
Please ensure you tested your MOD on the latest version of phpBB (see the Downloads page) before you reupload your MOD.

Before you resubmit your MOD, please check your MOD Syntax via our MOD Syntax Validator to ensure your MOD is using the correct MOD Template Syntax.

Here is a report on why your MOD was denied:
-------------------------------------------------------------------------------------

Instead of using header to redirect, you needs to use phpBB's redirect function.

Short var ($_SERVER) is not acceptable.
Код: Выделить всё
$useragent = (isset($_SERVER["HTTP_USER_AGENT"]) ) ? $_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT;


htmlspecialchars() on $HTTP_SERVER_VARS['QUERY_STRING']
Код: Выделить всё
         header('Location: ' .$index_url."rss.".$phpEx."?".$HTTP_SERVER_VARS['QUERY_STRING'].'&login');


One of the addon has russian changed inside the main MOD. Because of the new guideline, you need to put non-english changes into a separate file. Please read: http://www.phpbb.com/phpBB/viewtopic.php?t=160827
Код: Выделить всё
#
#-----[ OPEN ]-------------------------------------------------------
#
language/lang_russian/lang_main.php

#
#-----[ FIND ]----------------------------------------
#
$lang['Viewing_FAQ'] = 'Viewing FAQ';

#
#-----[ AFTER, ADD ]----------------------------------
#
$lang['Viewing_RSS'] = 'RSS feed';  // RSS Feed Mod


~Mac

-------------------------------------------------------------------------------------
Please refer to the following links before you reupload your MOD:
For further reading, you may want to review the following:

For help with writing phpBB MODs, the following resources exists:

Should you have any questions, please contact us at: mod-team@phpbb.com
If you feel this denial was not warranted, you can contact the MOD Team Leader, wGEric.

Thank You,
phpBB MOD Team

-------------------------------------------------------------------------------------

If you wish to discuss anything in this PM please contact: ycl6

-------------------------------------------------------------------------------------


На что с присущей мне тактичностью ответил:

Instead of using header to redirect, you needs to use phpBB's redirect function.

No. I don't need It.
I need to redirect RSS Agregator AND CHANGE LINK in it
so I use HTTP header '301 Moved Permanently'

Short var ($_SERVER) is not acceptable.
Код: Выделить всё
$useragent = (isset($_SERVER["HTTP_USER_AGENT"]) ) ? $_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT;


It's code from page_header.php.:
Код: Выделить всё
$do_gzip_compress = FALSE;
if ( $board_config['gzip_compress'] )
{
   $phpver = phpversion();

   $useragent = (isset($_SERVER["HTTP_USER_AGENT"]) ) ? $_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT;


htmlspecialchars() on $HTTP_SERVER_VARS['QUERY_STRING']
Код: Выделить всё
header('Location: ' .$index_url."rss.".$phpEx."?".$HTTP_SERVER_VARS['QUERY_STRING'].'&login');


And? After that as I think '&' became '&amp;' and GET string will have error.

One of the addon has russian changed inside the main MOD. Because of the new guideline, you need to put non-english changes into a separate file. Please read: http://www.phpbb.com/phpBB/viewtopic.php?t=160827


Ok. I remove this code. As I see It's only one that I must to do.
Аватара пользователя
Егор Наклоняев
Moderator
 
Сообщения: 417
Зарегистрирован: 25.10.2004 2:27
Откуда: оттуда

Сообщение Coagulant 21.03.2005 21:57

Нетщательно проверяют, находят несуществующие ошибки :( Я вот уже месяц никак не могу свой мод добавить в базу phpbb...

Мод отличный - давно пора его зарелизить в мировом масштабе :)
Аватара пользователя
Coagulant
phpBB 2.0.17
 
Сообщения: 1030
Зарегистрирован: 10.01.2005 19:43
Откуда: Москва

Сообщение Егор Наклоняев 21.03.2005 22:56

Мод отличный - давно пора его зарелизить в мировом масштабе

Спасибо за комплимент, но, увы, я бы его очередной раз переписал ;)
Давеча хотел сделать Add-On для Atachment Mod и с тоскою увидел, что из-за того, что пытался на начальной стадии добиться совместимости с предыдущим RSS теперь эта невинная операция требует большого количества ритуальных танцев. А если исправить имена полей в шаблоне в соответствии view_topic.tpl , то нужно будет вставить всего одну строку в код. Вот и думаю: делать версию 2.3 или успокоиться на достигнутом.
Потому как осталась только косметика.
Аватара пользователя
Егор Наклоняев
Moderator
 
Сообщения: 417
Зарегистрирован: 25.10.2004 2:27
Откуда: оттуда

Сообщение Егор Наклоняев 22.03.2005 9:13

Вторая часть марлезонского балета. Нам пишут:
ycl6 писал(а):Hi

I've consulted with our team leader wGEric about the header redirection issue.

Код: Выделить всё
         header('Location: ' .$index_url."rss.".$phpEx."?".$HTTP_SERVER_VARS['QUERY_STRING'].'&login');
             ExitWithHeader("301 Moved Permanently");

With the above, I don't get it why he is redirecting when he doesn't need to. Just see if they are logged in near the top of the script. There is no need to redirect to the same page but with a varaible added to the url.

I hope you understand this.

login.php may offer you an example how redirect can be done, and also use str_replace together with htmlspecialchars to secure your variable.

Код: Выделить всё
                  $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&amp;', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx";
                  redirect(append_sid($url, true));


~Mac


Ну, а мы не остаёмся в долгу.
============================

I'm sorry, but do you see any difference between POST and GET methods and how to work HTTP protocol?

Please, open function.php, find redirect function and show me any calling htmlspecialchars in code.

How it work, for example:
=>
GET /rss.php?f=1 HTTP/1.1
Host: myhost.com

I this example I don't use login key for private forum. It's not correct URL and program try to change it.

<=
HTTP/1.x 301 Moved Permanently
Location: http://myhost.com/rss.php?f=1&login


NB! [url=http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2]301 Moved Permanently
The requested resource has been assigned a new permanent URI and any future references to this resource SHOULD use one of the returned URIs. Clients with link editing capabilities ought to automatically re-link references to the Request-URI to one or more of the new references returned by the server, where possible. This response is cacheable unless indicated otherwise.
[/url]
But if I use function redirect from function.php header will be HTTP/1.x 302 Found and aggreg don't permanent change link for private forum.

=>
GET /rss.php?f=1&login HTTP/1.1
Host: myhost.com

<=
HTTP/1.x 401 Authorization Required
WWW-Authenticate: Basic realm="For registred users only"


=>
GET /rss.php?f=1&login HTTP/1.1
Host: myhost.com
Authorization: Basic ****************


If user haven't permission to see forum:
<=
HTTP/1.x 404 Not Found
Аватара пользователя
Егор Наклоняев
Moderator
 
Сообщения: 417
Зарегистрирован: 25.10.2004 2:27
Откуда: оттуда

Сообщение Егор Наклоняев 22.03.2005 19:28

Ниже публикуется возможное решение, позволяющее корректно использовать идентификацию пользователя в Opera.
К сожалению, оно не универсально и требуется задавать кодировку сервера (в данном случае windows-1251) и наличие функции iconv
Посему в релиз оно входить не будет. Однако вполне рабочее, кому нужно - пользуйтесь.
Нужно заменить функцию в файле rss_functions.php

Код: Выделить всё
function rss_get_user()
{
   global $db, $HTTP_SERVER_VARS, $HTTP_GET_VARS,$useragent;
   if((!isset($HTTP_SERVER_VARS['PHP_AUTH_USER']) || !isset($HTTP_SERVER_VARS['PHP_AUTH_PW']))
      && isset($HTTP_SERVER_VARS['REMOTE_USER']) && preg_match('/Basic\s+(.*)$/i', $HTTP_SERVER_VARS['REMOTE_USER'], $matches)) {
      list($name, $password) = explode(':', base64_decode($matches[1]), 2);
      $HTTP_SERVER_VARS['PHP_AUTH_USER'] = strip_tags($name);
      $HTTP_SERVER_VARS['PHP_AUTH_PW']   = strip_tags($password);
   }
   if (isset($HTTP_SERVER_VARS['PHP_AUTH_USER']) && isset($HTTP_SERVER_VARS['PHP_AUTH_PW'])) {
        if((function_exists("iconv")) && (strpos($useragent,'Opera')!==false))
            {
              $HTTP_SERVER_VARS['PHP_AUTH_USER']=iconv("utf-8","windows-1251",$HTTP_SERVER_VARS['PHP_AUTH_USER']);
              $HTTP_SERVER_VARS['PHP_AUTH_PW']=iconv("utf-8","windows-1251",$HTTP_SERVER_VARS['PHP_AUTH_PW']);
            }
      $username=(function_exists("phpbb_clean_username"))? phpbb_clean_username($HTTP_SERVER_VARS['PHP_AUTH_USER']):$HTTP_SERVER_VARS['PHP_AUTH_USER'];
      $password=md5($HTTP_SERVER_VARS['PHP_AUTH_PW']);
      if(isset($HTTP_GET_VARS['uid'])){
         $uid=intval($HTTP_GET_VARS['uid']);
            $sql = "SELECT * FROM " . USERS_TABLE . " WHERE user_id = $uid";
         }
         else
            $sql = "SELECT user_id, username, user_password, user_active, user_level
         FROM " . USERS_TABLE . "
         WHERE username = '" . str_replace("\\'", "''", $username) . "'";

      if ( !($result = $db->sql_query($sql)) )
      {
         message_die(GENERAL_ERROR, 'Error in obtaining userdata', '', __LINE__, __FILE__, $sql);
      }
      if( $row = $db->sql_fetchrow($result) )
        {
         if( $password == $row['user_password'] && $row['user_active'] )
         {
         // Yes!!!  It's good user
           return $row['user_id'];
         }
           else GetHTTPPasswd();
    }
    }
   else GetHTTPPasswd();
   return ANONYMOUS;
}
Аватара пользователя
Егор Наклоняев
Moderator
 
Сообщения: 417
Зарегистрирован: 25.10.2004 2:27
Откуда: оттуда

Пред.След.

Вернуться в Анонсы и поддержка модов для phpBB 2.0.x

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0