Перейти к контенту
  • 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

Spectr00m

Это доработка для 1.3. Ибо под 1.1 и 2.0 эти моды есть на invisionize.com.

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

  • 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

 

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

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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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