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

Welcome PM, приветственное сообщение новичкам


Spectr00m

Вопрос

Вот у меня есть вопрос.

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

Так вотсобственно назрел вопрос.

Можно ли как то сделать, чтобы сразу после регистрации к примеру вылетал поп-ап и предлагалось пройти в первую очередь в такие топики.

Чтобы просто как то тыкать их туда носои, ибо большинство этих разделов не видит сначала. Или может вписать куда то в файлик, чтобы после подтверждения регистрации переносило не на главную страницу, а на страницу где указывалась к примеру линк на обшие правила, на разделы для новичков и тому подобное. Можно ли как то это воплотить в жинь ? И в каких тогда файлах нужна копаться чтобы это сделать ?

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

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

  • 0

mods.invisionize.com

Ищем моды Welcome PM, Welcome Message.

 

И у нас даже есть для старой версии:

Приветствие новых пользователей на ПМ

 

+ вот моя доработка, которая стоит здесь, на нашем форуме:

/---------------------------------------------------/
// Auto Send PM to New Users
// Adapted for IBF 1.1 Beta 4 by RockStarCrest (rockstarcrest@yahoo.ca
// Originally written for 1.0.1 by SirReal (SirReal@clangrounds.com)
//
// When a user registers they will receive an
// editable welcome message pm from the admin 
/---------------------------------------------------/


Доработал для 1.3 theIggs ( http://www.ibresource.ru/ )


// Register.php
// Find:

  $member = array(
       'id'              => $member_id,
       'name'            => $in_username,
       'password'        => $in_password,
       'email'           => $in_email,
       'mgroup'          => $mem_group,
       'posts'           => 0,
       'avatar'          => 'noavatar',
       'joined'          => time(),
       'ip_address'      => $ibforums->input['IP_ADDRESS'],
       'time_offset'     => $ibforums->vars['time_offset'],
       'view_sigs'       => 1,
       'email_pm'        => 1,
       'view_img'        => 1,
       'view_avs'        => 1,
       'restrict_post'   => 0,
       'view_pop'        => 1,
       'vdirs'           => "in:Inbox|sent:Sent Items",
       'msg_total'       => 0,
       'new_msg'         => 0,
       'coppa_user'      => $coppa,
       'language'        => $ibforums->vars['default_language'],
        );

// Add ABOVE:

  if ($ibforums->vars['pm_send'] == '1')
  {
  	$now = time();
  	$new_subject = str_replace("%USER%",$in_username,$ibforums->vars['pm_subject']);
  	$new_message = str_replace("%USER%",$in_username,$ibforums->vars['pm_msg']);
  	
  	$DB->query("INSERT INTO ibf_messages (msg_date, read_state, title, message, from_id, vid, member_id, recipient_id )
      VALUES ($now, 0, '$new_subject', '$new_message', '{$ibforums->vars['pm_id']}', 'in', '$member_id', '$member_id')");
  	
  	$msg_msg_id = $DB->get_insert_id();
  	
  	$member = array(
        'id'              => $member_id,
        'name'            => $in_username,
        'password'        => $in_password,
        'email'           => $in_email,
        'mgroup'          => $mem_group,
        'posts'           => 0,
        'avatar'          => 'noavatar',
        'joined'          => time(),
        'ip_address'      => $ibforums->input['IP_ADDRESS'],
        'time_offset'     => $ibforums->vars['time_offset'],
        'view_sigs'       => 1,
        'email_pm'        => 1,
        'view_img'        => 1,
        'view_avs'        => 1,
        'restrict_post'   => 0,
        'view_pop'        => 1,
        'vdirs'           => "in:Inbox|sent:Sent Items",
        'msg_total'       => 1, //New Msg on register
        'new_msg'         => 1,
        'msg_from_id'     => $ibforums->vars['pm_id'],
        'msg_msg_id'      => $msg_msg_id,
        'show_popup'      => 1,
        'coppa_user'      => $coppa,
        'language'        => $ibforums->vars['default_language'],
         );
  }
  else
  {

// AND add below:

  }

//----------------------------------------------
// Note: I replaced:
//----------------------------------------------
//        'msg_total'       => 0,
//       'new_msg'         => 0,
//----------------------------------------------
// with:
//----------------------------------------------
//        'msg_total'       => 1, //New Msg on register
//        'new_msg'         => 1,
//        'msg_from_id'     => $ibforums->vars['pm_id'],
//        'msg_msg_id'      => $msg_msg_id,
//        'show_popup'      => 1,
//----------------------------------------------

// ad_settings.php
// Find:

'debug_level', 'sql_debug'

// Add after:

, 'pm_send', 'pm_id', 'pm_subject', 'pm_msg'

// Find:

  $ADMIN->html .= $SKIN->add_td_row( array( "<b>Number Formatting</b><br>You may choose which character to separate thousands from hundreds<br>(EG: USA & UK use a comma)" ,
            $SKIN->form_dropdown( 'number_format', 
                   array(
                    	0 => array( 'none', 'Don\'t format' ),
                    	1 => array( 'space' , 'Space' ),
                    	2 => array( ',' , ',' ),
                    	3 => array( '.' , '.' ),
                      ),
                   $INFO['number_format']  )
         )      );

// Add below:

  //-----------------------------------------------------------------------------------------------------------       
  
  $ADMIN->html .= $SKIN->add_td_basic( 'Авто-ПМ новым пользователям', 'left', 'catrow2' );
  
  //-----------------------------------------------------------------------------------------------------------
  
  $ADMIN->html .= $SKIN->add_td_row( array( "<b>Включить систему?</b>" ,
            $SKIN->form_yes_no( "pm_send", $INFO['pm_send'] )
         )      );
         
  $ADMIN->html .= $SKIN->add_td_row( array( "<b>От кого присылать ПМ</b><br>ID в численном формате 8)" ,
            $SKIN->form_input( "pm_id", $INFO['pm_id']  )
         )      );
         
  $ADMIN->html .= $SKIN->add_td_row( array( "<b>Заголовок сообщения</b><br>%USER% автоматически превратится в имя пользователя" ,
            $SKIN->form_input( "pm_subject", $INFO['pm_subject']  )
         )      );
         
  $ADMIN->html .= $SKIN->add_td_row( array( "<b>Текст сообщения</b><br>%USER% автоматически превратится в имя пользователя<br>Можно использовать IB-коды" ,
            $SKIN->form_textarea( "pm_msg", $INFO['pm_msg']  )
         )      );

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

  • 0

theIggs

Спасибо.

 

Но есть вопрос...

Моды расчмтаны на версию 1.1

На 1.3 они тоже без проблем подойдут ?

И что то я не совсем понял что делать с твоей дороботкой ? Куда её пихать ?

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

  • 0
Я так посмотрю что для того что бы отправлять ПМ пользователю необходимо отрегить всего 2 файла Register.php и ad_settings.php :D
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Dekker

Спасиб. Скачал твой файлик. Сделал всё как написано. В админке появился Отсылка Авто ПМ. Всё сделал... заполнил.

Решил проверить зарегистрировав нового пользователя, но при нажатии на линк "Регистрация нового пользователя" попадаю на пустой белый лист. В чём может быть трабла ?

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

  • 0
нет, проблема не в этом точно, если у тебя в админке все отображаеться. по поводу белой страницы ... может тема в FAQ поможет ? потому что поставился он у меня абсолютно без проблем, на обоих версиях 1.1/1.2
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Такой вопрос по данной теме:

 

Как сделать дополнительное автоПМ,

которое юзер получит после набора N постов?

 

Для чего это?

Например, можно поздравлять с присвоением нового статуса, переводом в новую группу,

информировать о новых появившихся возможностях,

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

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

  • 0

Diam

root/modules/ipb_member_sync.php

там программируешь событие onGroupChange() - это при смене группы.

При наборе постов, тоже можно, но нужно почти во всех файлах папки lib/

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

  • 0
Сначала поставил мод Dekkerа - работает. Потом поставил мод theIggsа - тоже работает. Они несколько отличаются друг от друга, как мне показалось, только в виде отображения самого сообщения. Так, что на любителя :D
Ссылка на комментарий
Поделиться на других сайтах

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

  • 0

Ребята, у меня другого рода ошибка возникла. Мод работает отлично. Но при посылке сообщения новым пользователям, сразу внизу под самим сообщением, оно пишет:

 

http://img377.imageshack.us/img377/9497/gluk5sa.jpg

 

1336 - это кол-во моих общих сообщений, а не тех, которые я отправил этому пользователю. Таким образом, люди заходят и приходят в ужасс, с какой это радости я им отправил столько сообщений.

 

Сам код мода выглядит так

 

if ($ibforums->vars['send_welcome_pm'] == 1)
 {

 $ibforums->vars['welcome_pm_msg'] = eregi_replace("%USER%", $member['name'],  $ibforums->vars['welcome_pm_msg']);

 // Insert it into the database

 	$DB->do_insert( 'message_text', array( 
   'msg_date' => time(),
   'msg_post' => $ibforums->vars['welcome_pm_msg'], 
   'msg_sent_to_count' => 1, 
   'msg_deleted_count' => 0, 
   'msg_post_key' => md5(microtime()), 
   'msg_author_id' => 1,
   ) );

 	$DB->do_insert( 'message_topics', array(
   'mt_msg_id'     => $DB->get_insert_id(),
   'mt_date'       => time(),
   'mt_title'      => $ibforums->vars['welcome_pm_title'],
   'mt_from_id'    => 1,
   'mt_to_id'      => $member['id'],
   'mt_vid_folder' => 'in',
   'mt_hide_cc'    => 0,
   'mt_tracking'   => 0,
   'mt_hasattach'  => 0,
   'mt_owner_id'   => $member['id'],
   'mt_hide_cc'    => 0,
   ) );


$DB->simple_construct( array( 'update' => 'members', 'set' => 'new_msg = new_msg + 1, msg_total = msg_total + 1, show_popup=1', 'where' => "id = {$member['id']}") );

$DB->simple_exec();

 }

 

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

 

Жду ответа (заранее благодарен).

 

 

Забыл добавить - версия IPB 2.0.3. Я знаю что я не по адресу чуть-чуть, но т.к. увидел здесь людей, которые разбираются, решил напрямую и без стыда.

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

  • 0

msg_total = msg_total + 1

 

ПМки за полноценные сабжи считаются? Хмм..

 

Вообще с 1.х, вроде как за сам ПМ сабж отвечает:

$DB->do_insert( 'message_text', array( 
  'msg_date' => time(),
  'msg_post' => $ibforums->vars['welcome_pm_msg'], 
  'msg_sent_to_count' => 1, 
  'msg_deleted_count' => 0, 
  'msg_post_key' => md5(microtime()), 
  'msg_author_id' => 1,
  ) );

Соответсвенно попробуй перед этим написать:

print_r(array( 
  'msg_date' => time(),
  'msg_post' => $ibforums->vars['welcome_pm_msg'], 
  'msg_sent_to_count' => 1, 
  'msg_deleted_count' => 0, 
  'msg_post_key' => md5(microtime()), 
  'msg_author_id' => 1,
  ));
die();

И иди регайся, потом скажешь, что он напишет.

 

PS: 'msg_post_key' => md5(microtime()), - не знаю, что это, но я бы делал это так:

'msg_post_key' => md5(Random(0,microtime())),

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

  • 0

Плюется:

 

Parse error: parse error, unexpected ';' in /var/www/html/modules/ipb_member_sync.php on line 103

 

101 'msg_post_key' => md5(microtime()), 
102                                'msg_author_id' => 1,
103                                [b]));[/b]
104 die();

[1130474188:1130475037]Я пробывал удалить строку

 

msg_total = msg_total + 1

 

ноль на массу.

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

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

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

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

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

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

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

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

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

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

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

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