# 
#----------[ OPEN ]------------------------------------- 
# 

includes/functions_kb.php 

# 
#----------[ FIND ]------------------------------------- 
# 

function kb_mailer( 
   $to_id, 
   $message, 
   $subject, 
   $from_id, 
   $html_on = 0, 
   $bbcode_on = 1, 
   $smilies_on = 1) 
{ 
   global $db, $lang, $user_ip, $board_config, $userdata, $phpbb_root_path, $phpEx; 

   if ( !$from_id ) 
   { 
      $from_id = $userdata['user_id']; 
   } 

   //get varibles ready 
   $to_id = intval($to_id); 
   $from_id = intval($from_id); 
   $msg_time = time(); 
   $attach_sig = $userdata['user_attachsig']; 
    
   //get to users info 
   $sql = "SELECT user_id, user_notify_pm, user_email, user_lang, user_active 
      FROM " . USERS_TABLE . " 
      WHERE user_id = '$to_id' 
         AND user_id <> " . ANONYMOUS; 
   if ( !($result = $db->sql_query($sql)) ) 
   { 
      $error = TRUE; 
      $error_msg = $lang['No_such_user']; 
   } 

   $to_userdata = $db->sql_fetchrow($result); 

   $privmsg_subject = trim(strip_tags($subject)); 
   if ( empty($privmsg_subject) ) 
   { 
      $error = TRUE; 
      $error_msg .= ( ( !empty($error_msg) ) ? '<br />' : '' ) . $lang['Empty_subject']; 
   } 

   if ( !empty($message) ) 
   { 
      if ( !$error ) 
      { 
         if ( $bbcode_on ) 
         { 
            $bbcode_uid = make_bbcode_uid(); 
         } 

         $privmsg_message = prepare_message($message, $html_on, $bbcode_on, $smilies_on, $bbcode_uid); 
         $privmsg_message = str_replace('\\\n', '\n', $privmsg_message); 

      } 
   } 
   else 
   { 
      $error = TRUE; 
      $error_msg .= ( ( !empty($error_msg) ) ? '<br />' : '' ) . $lang['Empty_message']; 
   } 

    
   $script_name = preg_replace('/^\/?(.*?)\/?$/', "\\1", trim($board_config['script_path'])); 
    $script_name = ( $script_name != '' ) ? $script_name . '/privmsg.'.$phpEx : 'privmsg.'.$phpEx; 
    $server_name = trim($board_config['server_name']); 
    $server_protocol = ( $board_config['cookie_secure'] ) ? 'https://' : 'http://'; 
    $server_port = ( $board_config['server_port'] <> 80 ) ? ':' . trim($board_config['server_port']) . '/' : '/'; 

    include($phpbb_root_path . 'includes/emailer.'.$phpEx); 
    $emailer = new emailer($board_config['smtp_delivery']); 
                
    $emailer->from( $board_config['board_email'] ); 
    $emailer->replyto( $board_config['board_email'] ); 

    $emailer->email_address($to_userdata['user_email'] ); 
    $emailer->set_subject( $privmsg_subject ); 
   $emailer->msg = $privmsg_message; 

    $emailer->send(); 
    $emailer->reset(); 
} 
// get categories for index 

# 
#----------[ REPLACE WITH ]----------------------------- 
# 

function kb_mailer($to_id, $message, $subject, $from_id, $html_on = 0, $bbcode_on = 1, $smilies_on = 1) 
{ 
   global $db, $lang, $user_ip, $board_config, $userdata, $phpbb_root_path, $phpEx; 

   if ( !$from_id ) 
   { 
      $from_id = $userdata['user_id']; 
   } 

   //get varibles ready 
   $to_id = intval($to_id); 
   $from_id = intval($from_id); 
   $msg_time = time(); 
   $attach_sig = $userdata['user_attachsig']; 

   //get to users info 
   $sql = "SELECT user_id, username, user_notify_pm, user_email, user_lang, user_active 
   FROM " . USERS_TABLE . " 
      WHERE user_id = '$to_id' 
         AND user_id <> " . ANONYMOUS; 
   if ( !($result = $db->sql_query($sql)) ) 
   { 
      $error = TRUE; 
      $error_msg = $lang['No_such_user']; 
   } 

   $to_userdata = $db->sql_fetchrow($result); 

   $privmsg_subject = trim(strip_tags($subject)); 
   if ( empty($privmsg_subject) ) 
   { 
      $error = TRUE; 
      $error_msg .= ( ( !empty($error_msg) ) ? '<br />' : '' ) . $lang['Empty_subject']; 
   } 

   if ( !empty($message) ) 
   { 
      if ( !$error ) 
      { 
         $message = strip_tags($message); 
         $message = str_replace("[i]", '', $message); 
         $message = str_replace("[/i]", '', $message); 
         $message = str_replace("[b]", '', $message); 
         $message = str_replace("[/b]", '', $message); 
         $message = str_replace('[url=', '', $message); 
         $message = str_replace('[/url]', ')', $message); 
         $message = str_replace(']', ' (', $message); 

         $message = unprepare_message($message); 
		 $message = preg_replace('/&#40;/', '(', $message);
		 $message = preg_replace('/&#41;/', ')', $message);
		 $message = preg_replace('/&#58;/', ':', $message);
		 $message = preg_replace('/&#91;/', '[', $message);
		 $message = preg_replace('/&#93;/', ']', $message);
		 $message = preg_replace('/&#123;/', '{', $message);
		 $message = preg_replace('/&#125;/', '}', $message);
         $message = str_replace('\n', "\n", $message); 
      } 
   } 
   else 
   { 
      $error = TRUE; 
      $error_msg .= ( ( !empty($error_msg) ) ? '<br />' : '' ) . $lang['Empty_message']; 
   } 

   $script_name = preg_replace('/^\/?(.*?)\/?$/', "\\1", trim($board_config['script_path'])); 
   $script_name = ( $script_name != '' ) ? $script_name . '/kb.'.$phpEx : 'kb.'.$phpEx; 
   $server_name = trim($board_config['server_name']); 
   $server_protocol = ( $board_config['cookie_secure'] ) ? 'https://' : 'http://'; 
   $server_port = ( $board_config['server_port'] <> 80 ) ? ':' . trim($board_config['server_port']) . '/' : '/'; 

   include($phpbb_root_path . 'includes/emailer.'.$phpEx); 
   $emailer = new emailer($board_config['smtp_delivery']); 

   $emailer->from( $board_config['board_email'] ); 
   $emailer->replyto( $board_config['board_email'] ); 

   $emailer->email_address($to_userdata['user_email'] ); 
   $emailer->set_subject( $privmsg_subject ); 

   $emailer->use_template('kb_notify', $to_userdata['user_lang']); 

   $emailer->assign_vars(array( 
      'USERNAME' => $to_userdata['username'], 
      'SITENAME' => $board_config['sitename'], 
      'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '', 
      'MESSAGE' => $message) 
   ); 

   $emailer->send(); 
   $emailer->reset(); 
} 
// get categories for index 

# 
#----------[ SAVE AND CLOSE ALL FILES ]----------------- 
# 
# EoM