Перейти к контенту
  • 0

поиск и удаление неактивных юзеров


WildCat

Вопрос

Попадалась кому-нить такая компонента, которая позволяет по крону осуществлять поиск юзеров с заданными параметрами и последующим действием над найденными? В данном случае меня интересуют юзеры, которые в течение Х дней после регистрации не оставили ни одного сообщения и только зря занимают ники. Нужно чтобы задача отлавливала их и удаляла (в идеале - делалось бы еще и уведомление на мыло о причине удаления)
Ссылка на комментарий
Поделиться на других сайтах

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

  • 0

вот помню же, что видел где-то.... поиск по словам "удаление неактивных" ничего не дал :D

мерси!

Ссылка на комментарий
Поделиться на других сайтах

  • 0

есть в этом моде одна оч. странная штуковина

 

админ получает уведомление о предупреждении участника моментально (зависит как настроите работу в менеджере задач), а сам участник получает это предупреждение только через 2-3 дня :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0
админ получает уведомление о предупреждении участника моментально (зависит как настроите работу в менеджере задач), а сам участник получает это предупреждение только через 2-3 дня

Это из-за того, что админу письмо одно и оно отправляется сразу через библиотечную функцию форума, а удалённых может быть много, поэтому письма для них ставятся в очередь и отправляются когда кто-то заходит на форум.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

тогда получается, что мод совершенно бесполезен !

 

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

 

и в чем тогда смысл уведомлений? чтоб об этом знал админ??

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Не конкретный юзер, а любой хит форума. Сообщения сохраняются в базе и при загрузке форума по одному скорее всего за хит отправляются. Т.е. на более посещаемом форуме быстрее все письма отправятся.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

хочешь - можно сделать через крон, и не будет необходимости делать хиты для отправки сообщения

как сделать через крон не знаю, т.к. никогда сам не делал

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Если отправлять все письма за раз, то может timelimit'а не хватить.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

что значит все письма за раз? у вас на форуме пачками появляются неактивные юзеры?? нужно сотнями уведомлений их предупреждать??

 

1-но, максимум 2 сообщения в сутки.. это если двое зарегились вместе и неактивны!!

 

этож не массовая рассылка форумом мессаджей. там фильтр по времени регистрации пропорционален времени неактивности

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Я akura отвечал, ещё твоего поста не было :D Имеется в виду если отправлять из мода письма, туго серверу может быть.

 

Ну вот, пока писал, вы ещё 2 поста набить успели ;)

Изменено пользователем Sannis
Ссылка на комментарий
Поделиться на других сайтах

  • 0

а у меня были единицы.. и всё равно уведомление получают на 2-3 дня позже, чем я получил, что они уведомлены

 

Я akura отвечал, ещё твоего поста не было :D Имеется в виду если отправлять из мода письма, туго серверу может быть.

да я понял ;)

 

вобщем там просто так скрипт срабатывает.. почему - непонятно

Ссылка на комментарий
Поделиться на других сайтах

  • 0

ну я думаю, что еслиб был тяжелый путь или почтальон пьян )), то все письма бы шли с опозданием.. то что отправляется на email, все уведомления об лс.. etc

 

а то ведь всё приходит моментально, в течении нескольких секунд, а это уведомление идет несколько суток

Ссылка на комментарий
Поделиться на других сайтах

  • 0

я понял

 

смотри

мемберов предупреждают так

 $this->ipsclass->DB->do_insert( 'mail_queue', array( 'mail_date '		=> time(),
												 'mail_to'		   => $r['email'],
												 'mail_from'		 => $this->ipsclass->vars['email_in'],
												 'mail_subject'	  => $title,
												 'mail_content'	  => $message, ) );

а админа так

			require_once $this->root_path.'sources/classes/class_email.php';
		$email = new emailer;
		$email->ipsclass =& $this->ipsclass;
		$email->email_init();

		$log = eregi_replace("<br />", "\n", $log);

		$email->from	= $this->ipsclass->vars['email_in'];
		$email->to	  = $this->ipsclass->vars['email_in'];
		$email->message = "Hello Mr. Admin Sir!\n\n".$log;
		$email->subject = "Prune Inactive Log";
		$email->send_mail();

 

первое означает, что мемберы ставятся в рассылку, а рассылка запускается через таск, который срабатывает

Динамически назначается, нет необходимости изменять

а второе - сразу же

 

так

рассылка происходит знаешь как...

 

в ipsclass при срабатывании my_deconstructor

 

он срабатывает из class_display в случае, если USE_SHUTDOWN == 1

 

а оно таким становится когда IPB_THIS_SCRIPT == public

 

тоесть каждый раз при срабатывании index.php

 

но это не главное

 

отправка собственно происходит, когда

$this->cache['systemvars']['mail_queue'] > 0

а оно таким становится когда выполяется topic_tracker или forum_tracker из class_post.php

 

а он выполняется ... эээ... короче

 

ща скажу как лечить

 

файл deleteinactive.php из комплекта мода

ищем

				$this->ipsclass->DB->do_insert( 'mail_queue', array( 'mail_date '		=> time(),
												 'mail_to'		   => $r['email'],
												 'mail_from'		 => $this->ipsclass->vars['email_in'],
												 'mail_subject'	  => $title,
												 'mail_content'	  => $message, ) );

			$names_a[] = $r['members_display_name']." (".$r['name'].", ".$r['id'].", ".$r['posts'].", ".$this->ipsclass->get_date( $r[$period_type], 'LONG', 1 ).")";

добавляем после

			$count++;

ищем

		if (!empty($names_a))
	{
			$names = implode(",<br />", $names_a);
	}

добавляем

		$this->ipsclass->cache['systemvars']['mail_queue'] += $count;
	$this->ipsclass->DB->do_update( 'cache_store', array( 'cs_array' => 1, 'cs_value' => addslashes(serialize($this->ipsclass->cache['systemvars'])) ), "cs_key='systemvars'" );

 

index.php

найти

"idx"		=> array( "boards"			 , 'boards'	   , array('chatting','birthdays',

 

добавить

'systemvars',

 

пробуем

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.