Автоматическое перемещение тем - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

задачи

Страница 1 из 1

Автоматическое перемещение тем

#1 Пользователь на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 396
  • Регистрация: 27-Март 16
  • Репутация: 29
  • IPB version:3.4.x
 

Отправлено 20 Июль 2016 - 11:53

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

Есть ли такой хук/реализация?
0

#2 Пользователь на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 713
  • Регистрация: 20-Март 09
  • Репутация: 2 266
  • IPB version:3.1.x
 

Отправлено 20 Июль 2016 - 12:06

Самый простой вариант написать задачу которая темы из этого раздела по прошествию определенного времени после даты создания будет переводить в другой раздел. Насчет готовых реализаций не знаю, не встречал.
0

#3 Пользователь на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 396
  • Регистрация: 27-Март 16
  • Репутация: 29
  • IPB version:3.4.x
 

Отправлено 20 Июль 2016 - 12:15

А как эту задачу написать, не подскажете, пожалуйста? Я с планировщиком еще не работал.
0

#4 Пользователь на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 713
  • Регистрация: 20-Март 09
  • Репутация: 2 266
  • IPB version:3.1.x
 

Отправлено 20 Июль 2016 - 12:19

http://ipbskins.ru/f...topic13812.html
http://ipbskins.ru/f...topic13722.html
0

#5 Пользователь на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 396
  • Регистрация: 27-Март 16
  • Репутация: 29
  • IPB version:3.4.x
 

Отправлено 20 Июль 2016 - 12:33

Спасибо. А Вы не могли бы помочь написать скрипт, пожалуйста?
0

#6 Пользователь на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 396
  • Регистрация: 27-Март 16
  • Репутация: 29
  • IPB version:3.4.x
 

Отправлено 20 Июль 2016 - 16:47

Никак не пойму, как сделать этот скрипт. Как пример взял этот http://ipbskins.ru/f...dpost__p__92366

Но он не подходит, там удаление картинок из галереи выполняется, а мне нужно перемещение тем... Как это реализовать?
0

#7 Пользователь на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 713
  • Регистрация: 20-Март 09
  • Репутация: 2 266
  • IPB version:3.1.x
 

Отправлено 20 Июль 2016 - 22:14

Логика примерно следующая, sql запросом меняете ид форума у тем которые находятся в определенном форуме, потом обновляете статистику форума куда была перемещена тема.
2

#8 Пользователь на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 396
  • Регистрация: 27-Март 16
  • Репутация: 29
  • IPB version:3.4.x
 

Отправлено 20 Июль 2016 - 22:19

Дело в том, что я полный ноль в написании таких скриптов :) Я даже не знаю, как задачу сделать... А функция эта нужна, без нее новости не будут работать.

Если это Вас не затруднит, Вы не могли бы, пожалуйста, хотя бы набросать этот скрипт?
0

#9 Пользователь на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 713
  • Регистрация: 20-Март 09
  • Репутация: 2 266
  • IPB version:3.1.x
 

Отправлено 20 Июль 2016 - 22:31

Когда буду за компьютером наброшу вам скрипт.
1

#10 Пользователь на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 396
  • Регистрация: 27-Март 16
  • Репутация: 29
  • IPB version:3.4.x
 

Отправлено 20 Июль 2016 - 22:33

Просмотреть сообщениеsiv1987 20 Июль 2016 - 22:31 сказал(а):

Когда буду за компьютером наброшу вам скрипт.

Большое спасибо! Пока попробую разобраться, как задачу сделать :) Тоже не знаю пока.
0

#11 Пользователь на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 713
  • Регистрация: 20-Март 09
  • Репутация: 2 266
  • IPB version:3.1.x
 

Отправлено 23 Июль 2016 - 23:45

Задача

<?php

class task_item
{
	protected $class;
	protected $task = array();
	protected $registry;
	protected $DB;
	protected $lang;

	public function __construct( ipsRegistry $registry, $class, $task )
	{
		$this->registry	= $registry;
		$this->DB		= $registry->DB();
		$this->lang		= $this->registry->getClass('class_localization');

		$this->class	= $class;
		$this->task		= $task;
	}

	public function runTask()
	{
		$from_id = 1; // откуда
		$to_id   = 5; // куда
		$older   = 2 * 86400; // старше чем, сек

		$this->DB->update( 'topics', 'forum_id='.$to_id, 'start_date < '. ( IPS_UNIX_TIME_NOW - $older ) . ' AND forum_id='.$from_id );

		if( ( $count = $this->DB->getAffectedRows() ) > 0 )
		{
			$classToLoad = IPSLib::loadLibrary( IPSLib::getAppDir( 'forums' ) . '/sources/classes/moderate.php', 'moderatorLibrary', 'forums' );
			$modfunc =  new $classToLoad( $this->registry );
			
			$modfunc->forumRecount( $from_id );
			$modfunc->forumRecount( $to_id );
		}

		$this->class->appendTaskLog( $this->task, 'Moved topics: ' . $count );

		//-----------------------------------------
		// Unlock Task: REQUIRED!
		//-----------------------------------------

		$this->class->unlockTask( $this->task );
	}
}

2

#12 Пользователь на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 396
  • Регистрация: 27-Март 16
  • Репутация: 29
  • IPB version:3.4.x
 

Отправлено 24 Июль 2016 - 00:40

Большое Вам спасибо!
Этот .php файл нужно положить в папку /admin/applications/forums/tasks, и все, задача будет автоматически сама работать? Или ее еще нужно как-то активировать в планировщике?
0

#13 Пользователь на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 713
  • Регистрация: 20-Март 09
  • Репутация: 2 266
  • IPB version:3.1.x
 

Отправлено 24 Июль 2016 - 08:43

Нужно добавить в менеджере задач и настроить время выполнения.
1

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна