Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Импорт RSS не в разделы а в темы

Опубликовано:

Возможно ли импорт RSS для разделов, настроить так что бы при импорте информация генерировалась не новой темой, а указывалась тема куда будет генерироваться новое сообщение?

Рекомендованные сообщения

Опубликовано:

В автоматическом режиме - не срабатывает.

А вообще задача полностью отрабатывает?

Опубликовано:
  • Автор

А вообще задача полностью отрабатывает?

В том то и дело что в журнале задач фиксируется выполнения задачи этой.

Опубликовано:
В том то и дело что в журнале задач фиксируется выполнения задачи этой.

Запись в любом случае будет. Нужно пройтись по всем этапам.

 

Откройте файл задачи.

Найдите

$rss->rssImportRebuildCache( implode( ",", $feeds_to_update), 0, 1 );

Выше добавьте

IPSDebug::addLogMessage('Rss Log', 'rsslog', $feeds_to_update, true);

 

После нескольких запусков проверьте файл \cache\rsslog.cgi

Опубликовано:
  • Автор

После нескольких запусков проверьте файл \cache\rsslog.cgi

Вот результат:

 

 

 

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

> Time: 1525117561 / Mon, 30 Apr 2018 19:46:01 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '1',

1 => '2',

)

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

> Time: 1525119361 / Mon, 30 Apr 2018 20:16:01 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '3',

1 => '4',

2 => '1',

3 => '2',

)

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

> Time: 1525121162 / Mon, 30 Apr 2018 20:46:02 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '1',

1 => '2',

)

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

> Time: 1525122960 / Mon, 30 Apr 2018 21:16:00 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '8',

)

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

> Time: 1525124761 / Mon, 30 Apr 2018 21:46:01 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '1',

1 => '2',

)

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

> Time: 1525126563 / Mon, 30 Apr 2018 22:16:03 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '5',

1 => '6',

2 => '7',

3 => '1',

4 => '2',

)

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

> Time: 1525130166 / Mon, 30 Apr 2018 23:16:06 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '1',

1 => '2',

)

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

> Time: 1525131998 / Mon, 30 Apr 2018 23:46:38 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '3',

1 => '4',

2 => '1',

3 => '2',

)

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

> Time: 1525135563 / Tue, 01 May 2018 00:46:03 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '8',

1 => '1',

2 => '2',

)

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

> Time: 1525139164 / Tue, 01 May 2018 01:46:04 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '5',

1 => '6',

2 => '7',

3 => '1',

4 => '2',

)

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

> Time: 1525142778 / Tue, 01 May 2018 02:46:18 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '1',

1 => '2',

)

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

> Time: 1525144574 / Tue, 01 May 2018 03:16:14 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '3',

1 => '4',

)

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

> Time: 1525146363 / Tue, 01 May 2018 03:46:03 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '1',

1 => '2',

)

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

> Time: 1525148163 / Tue, 01 May 2018 04:16:03 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '8',

1 => '1',

2 => '2',

)

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

> Time: 1525151764 / Tue, 01 May 2018 05:16:04 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '5',

1 => '6',

2 => '7',

3 => '1',

4 => '2',

)

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

> Time: 1525153565 / Tue, 01 May 2018 05:46:05 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '1',

1 => '2',

)

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

> Time: 1525157164 / Tue, 01 May 2018 06:46:04 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '3',

1 => '4',

2 => '1',

3 => '2',

)

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

> Time: 1525160764 / Tue, 01 May 2018 07:46:04 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '8',

1 => '1',

2 => '2',

)

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

> Time: 1525164362 / Tue, 01 May 2018 08:46:02 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '5',

1 => '6',

2 => '7',

3 => '1',

4 => '2',

)

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

> Time: 1525166162 / Tue, 01 May 2018 09:16:02 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '1',

1 => '2',

)

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

> Time: 1525167962 / Tue, 01 May 2018 09:46:02 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '1',

1 => '2',

)

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

> Time: 1525169765 / Tue, 01 May 2018 10:16:05 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '3',

1 => '4',

2 => '1',

3 => '2',

)

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

> Time: 1525173363 / Tue, 01 May 2018 11:16:03 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '8',

1 => '1',

2 => '2',

)

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

> Time: 1525175166 / Tue, 01 May 2018 11:46:06 +0000

> URL: /index.php?app=core&module=task

> Rss Log

array (

0 => '1',

1 => '2',

)

 

 

Опубликовано:

Вот результат:

 

Так тут Вам нужно посмотреть. Если есть ID'шник "проблемного" RSS в логах, то импорт происходит, и нужно дальше искать причину.

Добавить в файл импорта в разные места по порядку.

if ($row['rss_import_id'] == X)
{
   IPSDebug::addLogMessage("Point 1", 'rsslog', false, true);
}

if ($row['rss_import_id'] == X)
{
   IPSDebug::addLogMessage("Point 2", 'rsslog', false, true);
}

и т.д.

X - ID Rss

  • 5 месяцев спустя...
Опубликовано:
  • Автор

rss.zip (13,9К)

Можно вас попросить сделать такое же самое но для Экспорта? То есть что бы была возможность в настройках выставлять для экспорта не только разделов (то есть всех тем) а также и тем (сообщений)?

Опубликовано:

Можно вас попросить сделать такое же самое но для Экспорта? То есть что бы была возможность в настройках выставлять для экспорта не только разделов (то есть всех тем) а также и тем (сообщений)?

Так в RSS идут темы, а не посты.

Опубликовано:
  • Автор

Так в RSS идут темы, а не посты.

Ну да. А мне бы хотелось что бы был такой же фикс как и в Импорте - что бы можно для экспорта указывать не только разделы, но и тему.

Опубликовано:
  • Автор

Ну да. А мне бы хотелось что бы был такой же фикс как и в Импорте - что бы можно для экспорта указывать не только разделы, но и тему.

Я так понял что такое реализовать на IPB невозможно? :(

Опубликовано:

Я так понял что такое реализовать на IPB невозможно?

 

 

 

Выполнить запрос

ALTER TABLE rss_export ADD rss_export_tids TEXT NULL DEFAULT NULL;

######################################################################################################################################################

 

\admin\applications\forums\skin_cp\cp_skin_rss.php

Найти

			<li>
			<label>{$this->lang->words['rss_ex_cache']}<span class='desctext'>{$this->lang->words['rss_ex_cache_info']}</span></label>
			{$form['rss_export_cache_time']}
		</li>

Выше добавить

			<li>
			<label>Темы<span class='desctext'>Укажите темы (через запятую) для экспорта.</span></label>
			{$form['rss_export_tids']}
		</li>

######################################################################################################################################################

 

\admin\applications\forums\modules_admin\rss\export.php

Найти

		$form['rss_export_forums']       = $this->registry->output->formMultiDropdown(  'rss_export_forums[]', $dropdown, explode( ",", $rss_export_forums ), 7 );

Ниже добавить

		$form['rss_export_tids']         = $this->registry->output->formInput('rss_export_tids', (isset($this->request['rss_export_tids']) and $this->request['rss_export_tids']) ? $this->request['rss_export_tids'] : $rssstream['rss_export_tids']);

Найти

		$rss_export_order        = trim( $this->request['rss_export_order'] );

Ниже добавить

		$rss_export_tids         = implode(',', array_map('trim', array_filter(explode(',', $this->request['rss_export_tids']), 'is_numeric')));

Найти

						'rss_export_order'        => $rss_export_order,

Ниже добавить

						'rss_export_tids'         => $rss_export_tids,

Найти

		if ( ! $rss_export_title OR ! $rss_export_count OR ! $rss_export_forums )

Заменить на

		$fidsOrTids = false;

	if ($rss_export_forums)
	{
		$fidsOrTids = true;
	}
	elseif ($rss_export_tids)
	{
		$fidsOrTids = true;

		if (!$rss_export_forums)
		{
			$rss_export_forums = 0;
		}
	}

	if ( ! $rss_export_title OR ! $rss_export_count OR ! $fidsOrTids )

 

Найти

					if ( $row['rss_export_include_post'] )
				{
					$this->DB->build( array( 
													'select' => 't.*',
													'from'   => array( 'topics' => 't' ),
													'where'  => "t.forum_id IN( " . $row['rss_export_forums'] . " ) AND t.state != 'link' AND t.approved=1",
													'order'  => 't.' . $row['rss_export_order'] . ' ' . $row['rss_export_sort'],
													'limit'  => array( 0, $row['rss_export_count'] ),
													'add_join' => array( array( 
																				'select' => 'p.pid, p.post, p.use_emo, p.post_htmlstate',
																				'from'   => array( 'posts' => 'p' ),
																				'where'  => 't.topic_firstpost=p.pid',
																				'type'   => 'left'
																	)		)
										)	);
				}
				else
				{
					$this->DB->build( array( 
													'select' => '*',
													'from'   => 'topics',
													'where'  => "forum_id IN( ".$row['rss_export_forums']." ) AND state != 'link' AND approved=1",
													'order'  => $row['rss_export_order'].' '. $row['rss_export_sort'],
													'limit'  => array( 0, $row['rss_export_count'] )
										)		);
				}

Заменить на

				if ($row['rss_export_tids'])
			{
					$this->DB->build( array( 
													'select' => 't.*',
													'from'   => array( 'topics' => 't' ),
													'where'  => "t.tid IN( " . $row['rss_export_tids'] . " ) AND t.state != 'link' AND t.approved=1 AND p.queued=0",
													'order'  => 'p.post_date' . ' ' . $row['rss_export_sort'],
													'limit'  => array( 0, $row['rss_export_count'] ),
													'add_join' => array( array( 
																				'select' => 'p.post_date, p.pid, p.post, p.use_emo, p.post_htmlstate',
																				'from'   => array( 'posts' => 'p' ),
																				'where'  => 't.tid=p.topic_id',
																				'type'   => 'left'
																	)		)
										)	);					
			}				
			else
			{
				if ( $row['rss_export_include_post'] )
				{
					$this->DB->build( array( 
													'select' => 't.*',
													'from'   => array( 'topics' => 't' ),
													'where'  => "t.forum_id IN( " . $row['rss_export_forums'] . " ) AND t.state != 'link' AND t.approved=1",
													'order'  => 't.' . $row['rss_export_order'] . ' ' . $row['rss_export_sort'],
													'limit'  => array( 0, $row['rss_export_count'] ),
													'add_join' => array( array( 
																				'select' => 'p.pid, p.post, p.use_emo, p.post_htmlstate',
																				'from'   => array( 'posts' => 'p' ),
																				'where'  => 't.topic_firstpost=p.pid',
																				'type'   => 'left'
																	)		)
										)	);
				}
				else
				{
					$this->DB->build( array( 
													'select' => '*',
													'from'   => 'topics',
													'where'  => "forum_id IN( ".$row['rss_export_forums']." ) AND state != 'link' AND approved=1",
													'order'  => $row['rss_export_order'].' '. $row['rss_export_sort'],
													'limit'  => array( 0, $row['rss_export_count'] )
										)		);
				}
			}

 

Найти

																	  'link'        => $this->registry->output->buildSEOUrl( 'showtopic=' . $topic['tid'], 'publicNoSession', $topic['title_seo'], 'showtopic' ),

Заменить на

																	  'link'        => $row['rss_export_tids'] ? $this->registry->output->buildSEOUrl( "showtopic={$topic['tid']}&view=findpost&p={$topic['pid']}", "publicNoSession", $topic['title_seo'], 'showtopic' ) : $this->registry->output->buildSEOUrl( 'showtopic=' . $topic['tid'], 'publicNoSession', $topic['title_seo'], 'showtopic' ),

 

Найти

																	  'pubDate'	    => $class_rss->formatDate( $row['rss_export_order'] == 'last_post' ? $topic['last_post'] : $topic['start_date'] ),

Заменить на

																	  'pubDate'	    => $row['rss_export_tids'] ? $class_rss->formatDate($topic['post_date']) : ($class_rss->formatDate($row['rss_export_order'] == 'last_post' ? $topic['last_post'] : $topic['start_date'])),

 

Найти

																	  'guid'        => $this->registry->output->buildSEOUrl( 'showtopic=' . $topic['tid'], 'publicNoSession', $topic['title_seo'], 'showtopic' )

Заменить на

																	  'guid'        => $row['rss_export_tids'] ? $this->registry->output->buildSEOUrl( "showtopic={$topic['tid']}&view=findpost&p={$topic['pid']}", "publicNoSession", $topic['title_seo'], 'showtopic' ) : $this->registry->output->buildSEOUrl( 'showtopic=' . $topic['tid'], 'publicNoSession', $topic['title_seo'], 'showtopic' ),

 

 

Опубликовано:
  • Автор

@newbie,

Большое спасибо за помощь!

 

Чуть позднее потестю и отпишусь.

Опубликовано:
  • Автор

Поместил список тем в "Темы Укажите темы (через запятую) для экспорта."

Однако в самом канале выдаёт сообщения не с списка указанных тем, а сообщение с темы, ид которой имеет ид канала RSS

Опубликовано:

а сообщение с темы, ид которой имеет ид канала RSS

Ссылку на рсс

Опубликовано:
  • Автор

Я сам ошибся. В поле я указывал не ссылки на темы, а их иды. Хотя если ставлю полную ссылку на тему, пишет такое - "Вы должны заполнить все поля. Попробуйте еще раз."

 

Ссылка на RSS-канал - http://test.imtw.ru/rss/forums/30-testovaya/

Опубликовано:
Я сам ошибся. В поле я указывал не ссылки на темы, а их иды. Хотя если ставлю полную ссылку на тему, пишет такое - "Вы должны заполнить все поля. Попробуйте еще раз."

Писать нужно ID'шники через запятую

Сейчас, судя по всему, там указан 30

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.