Trotor 27 04/29/2018 11:01 AM Самый простой вариантСпасибо, то что надо. Всё работает как надо и очень удобно. Но возникла смежная проблема, причём которая на всём ставит крест. Задача "Обновление RSS импорта" в диспетчере задач работает как то странно. В автоматическом режиме - не срабатывает. Запускаешь вручную - всё отлично.Скриншот прилагаю. Думал эту задачу запускать через крон ISP-manager, но не могу подобрать правильное значение. Share this post Link to post
newbie 1,723 04/30/2018 09:47 AM В автоматическом режиме - не срабатывает.А вообще задача полностью отрабатывает? Share this post Link to post
Trotor 27 04/30/2018 11:06 AM А вообще задача полностью отрабатывает? В том то и дело что в журнале задач фиксируется выполнения задачи этой. Share this post Link to post
newbie 1,723 04/30/2018 01:16 PM В том то и дело что в журнале задач фиксируется выполнения задачи этой.Запись в любом случае будет. Нужно пройтись по всем этапам. Откройте файл задачи. Найдите $rss->rssImportRebuildCache( implode( ",", $feeds_to_update), 0, 1 );Выше добавьте IPSDebug::addLogMessage('Rss Log', 'rsslog', $feeds_to_update, true); После нескольких запусков проверьте файл \cache\rsslog.cgi 1 Share this post Link to post
Trotor 27 05/01/2018 11:51 AM После нескольких запусков проверьте файл \cache\rsslog.cgi Вот результат: --------------------------------------------------------------------------------> Time: 1525117561 / Mon, 30 Apr 2018 19:46:01 +0000> URL: /index.php?app=core&module=task> Rss Logarray ( 0 => '1', 1 => '2',)--------------------------------------------------------------------------------> Time: 1525119361 / Mon, 30 Apr 2018 20:16:01 +0000> URL: /index.php?app=core&module=task> Rss Logarray ( 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 Logarray ( 0 => '1', 1 => '2',)--------------------------------------------------------------------------------> Time: 1525122960 / Mon, 30 Apr 2018 21:16:00 +0000> URL: /index.php?app=core&module=task> Rss Logarray ( 0 => '8',)--------------------------------------------------------------------------------> Time: 1525124761 / Mon, 30 Apr 2018 21:46:01 +0000> URL: /index.php?app=core&module=task> Rss Logarray ( 0 => '1', 1 => '2',)--------------------------------------------------------------------------------> Time: 1525126563 / Mon, 30 Apr 2018 22:16:03 +0000> URL: /index.php?app=core&module=task> Rss Logarray ( 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 Logarray ( 0 => '1', 1 => '2',)--------------------------------------------------------------------------------> Time: 1525131998 / Mon, 30 Apr 2018 23:46:38 +0000> URL: /index.php?app=core&module=task> Rss Logarray ( 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 Logarray ( 0 => '8', 1 => '1', 2 => '2',)--------------------------------------------------------------------------------> Time: 1525139164 / Tue, 01 May 2018 01:46:04 +0000> URL: /index.php?app=core&module=task> Rss Logarray ( 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 Logarray ( 0 => '1', 1 => '2',)--------------------------------------------------------------------------------> Time: 1525144574 / Tue, 01 May 2018 03:16:14 +0000> URL: /index.php?app=core&module=task> Rss Logarray ( 0 => '3', 1 => '4',)--------------------------------------------------------------------------------> Time: 1525146363 / Tue, 01 May 2018 03:46:03 +0000> URL: /index.php?app=core&module=task> Rss Logarray ( 0 => '1', 1 => '2',)--------------------------------------------------------------------------------> Time: 1525148163 / Tue, 01 May 2018 04:16:03 +0000> URL: /index.php?app=core&module=task> Rss Logarray ( 0 => '8', 1 => '1', 2 => '2',)--------------------------------------------------------------------------------> Time: 1525151764 / Tue, 01 May 2018 05:16:04 +0000> URL: /index.php?app=core&module=task> Rss Logarray ( 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 Logarray ( 0 => '1', 1 => '2',)--------------------------------------------------------------------------------> Time: 1525157164 / Tue, 01 May 2018 06:46:04 +0000> URL: /index.php?app=core&module=task> Rss Logarray ( 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 Logarray ( 0 => '8', 1 => '1', 2 => '2',)--------------------------------------------------------------------------------> Time: 1525164362 / Tue, 01 May 2018 08:46:02 +0000> URL: /index.php?app=core&module=task> Rss Logarray ( 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 Logarray ( 0 => '1', 1 => '2',)--------------------------------------------------------------------------------> Time: 1525167962 / Tue, 01 May 2018 09:46:02 +0000> URL: /index.php?app=core&module=task> Rss Logarray ( 0 => '1', 1 => '2',)--------------------------------------------------------------------------------> Time: 1525169765 / Tue, 01 May 2018 10:16:05 +0000> URL: /index.php?app=core&module=task> Rss Logarray ( 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 Logarray ( 0 => '8', 1 => '1', 2 => '2',)--------------------------------------------------------------------------------> Time: 1525175166 / Tue, 01 May 2018 11:46:06 +0000> URL: /index.php?app=core&module=task> Rss Logarray ( 0 => '1', 1 => '2',) Share this post Link to post
newbie 1,723 05/03/2018 07:16 AM Вот результат: Так тут Вам нужно посмотреть. Если есть 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 1 Share this post Link to post
Trotor 27 10/16/2018 11:12 AM rss.zip (13,9К) Можно вас попросить сделать такое же самое но для Экспорта? То есть что бы была возможность в настройках выставлять для экспорта не только разделов (то есть всех тем) а также и тем (сообщений)? Share this post Link to post
newbie 1,723 10/17/2018 09:31 AM Можно вас попросить сделать такое же самое но для Экспорта? То есть что бы была возможность в настройках выставлять для экспорта не только разделов (то есть всех тем) а также и тем (сообщений)? Так в RSS идут темы, а не посты. Share this post Link to post
Trotor 27 10/17/2018 12:48 PM Так в RSS идут темы, а не посты. Ну да. А мне бы хотелось что бы был такой же фикс как и в Импорте - что бы можно для экспорта указывать не только разделы, но и тему. Share this post Link to post
Trotor 27 10/23/2018 04:27 PM Ну да. А мне бы хотелось что бы был такой же фикс как и в Импорте - что бы можно для экспорта указывать не только разделы, но и тему. Я так понял что такое реализовать на IPB невозможно? :( Share this post Link to post
newbie 1,723 10/24/2018 07:03 AM Я так понял что такое реализовать на 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' ), 1 Share this post Link to post
Trotor 27 10/24/2018 01:39 PM @newbie, Большое спасибо за помощь! Чуть позднее потестю и отпишусь. Share this post Link to post
Trotor 27 10/25/2018 09:31 AM Поместил список тем в "Темы Укажите темы (через запятую) для экспорта."Однако в самом канале выдаёт сообщения не с списка указанных тем, а сообщение с темы, ид которой имеет ид канала RSS Share this post Link to post
newbie 1,723 10/25/2018 09:36 AM а сообщение с темы, ид которой имеет ид канала RSS Ссылку на рсс Share this post Link to post
Trotor 27 10/25/2018 11:26 AM Я сам ошибся. В поле я указывал не ссылки на темы, а их иды. Хотя если ставлю полную ссылку на тему, пишет такое - "Вы должны заполнить все поля. Попробуйте еще раз." Ссылка на RSS-канал - http://test.imtw.ru/rss/forums/30-testovaya/ Share this post Link to post