Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
449
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.35 KB | None | 0 0
  1. <?php
  2. // ***************************************************************
  3. // ***************************************************************
  4. // ***************************************************************
  5. // Memeber Mail Functions
  6.  
  7.  
  8. // ***************************************************************
  9. // ***************************************************************
  10. // Member Mail Send
  11. // Sends a member an email, saves he email to the database
  12. // all member mailing should go through here
  13.  
  14. function member_mail_send( $from_member_id, $from_network_id, $subject, $message, $type = 'mail', $reply_id = 0, $to_array = null )
  15. {
  16.     global $link;
  17.     global $memberinfo;
  18.    
  19.     //save the mail record to the internal email
  20.     $query='INSERT INTO tool_member_mail (
  21.              mail_from_member_id,
  22.              mail_from_network_id,
  23.              mail_reply_id,
  24.              mail_subject,
  25.              mail_message,
  26.              mail_type,
  27.              mail_date_added
  28.         ) VALUES (
  29.             "'.$from_member_id.'",
  30.             "'.$from_network_id.'",
  31.             "'.$reply_id.'",
  32.             "'.mysql_real_escape_string( $subject ).'",
  33.             "'.mysql_real_escape_string( $message ).'",
  34.             "'.$type.'",
  35.             "'.time().'"
  36.         )';
  37.     mysql_query( $query, $link ) or mysql_error_handler( $query );
  38.  
  39.     // Add to records
  40.     if( $reply_id == 0 )
  41.     {
  42.         // Get message id
  43.         $message_id = mysql_insert_id();
  44.    
  45.         // Add from member to array
  46.         $query = 'INSERT INTO tool_member_mail_to (
  47.                     to_mail_id,
  48.                     to_member_id,
  49.                     to_network_id,
  50.                     to_read,
  51.                     to_delete_mail_id
  52.                 ) VALUES (
  53.                     "'.$message_id.'",
  54.                     "'.$from_member_id.'",
  55.                     "'.$from_network_id.'",
  56.                     "Yes",
  57.                     NULL
  58.                 )';
  59.        
  60.         // Loop throut the $to array and add to records
  61.         foreach( $to_array as $to )
  62.         {
  63.             $query .= ',(
  64.                     "'.$message_id.'",
  65.                     "'.$to['member'].'",
  66.                     "'.$to['network'].'",
  67.                     "No",
  68.                     NULL
  69.                 )';
  70.         }
  71.        
  72.         // Run query
  73.         mysql_query( $query, $link ) or mysql_error_handler( $query );
  74.     }
  75.    
  76.     // Clear to records for existing messages
  77.     else
  78.     {
  79.         $query = 'UPDATE tool_member_mail_to SET
  80.             to_read = "No",
  81.             to_delete_mail_id = NULL
  82.             WHERE to_mail_id = "'.$reply_id.'"';
  83.         mysql_query( $query, $link ) or mysql_error_handler( $query );
  84.         $message_id = $reply_id;
  85.     }
  86.    
  87.     // From
  88.     $from = 'Who\'s In Your City <no-reply@whosinyourcity.com>';
  89.    
  90.     // Subject
  91.     $query='SELECT member_firstname, member_lastname
  92.         FROM tool_member
  93.         WHERE member_id = "'.$from_member_id.'"
  94.         LIMIT 1';
  95.     $result_name = mysql_query( $query, $link ) or mysql_error_handler( $query );
  96.     if( mysql_num_rows( $result_name ) )
  97.     {
  98.         $record_name = mysql_fetch_assoc( $result_name );
  99.         $subject = $record_name['member_firstname'].' '.$record_name['member_lastname'].' Sent you a message on Who\'s In Your City';
  100.     }
  101.     else
  102.     {
  103.         $subject = 'New mail from Who\'s In Your City';
  104.     }
  105.    
  106.     // Select all members but the sending member
  107.     $query = 'SELECT *
  108.         FROM tool_member
  109.         INNER JOIN tool_member_mail_to ON to_member_id = member_id
  110.         WHERE to_mail_id = "'.$message_id.'"
  111.         AND member_id <> "'.$from_member_id.'"';
  112.     $result_member = mysql_query( $query, $link ) or mysql_error_handler( $query );
  113.    
  114.     if( mysql_num_rows( $result_member ) )
  115.     {
  116.         while( $record_member = mysql_fetch_assoc( $result_member ) )
  117.         {
  118.             $to = $record_member['member_firstname'].' '.$record_member['member_lastname'].' <'.$record_member['member_email'].'>';    
  119.             $msg = array();
  120.             //$msg['html'] = '';
  121.             $msg['html'] = str_replace( array( "\n\r", "\n", "\r", "\r\n", chr(13) ), '<br/>', $message ); 
  122.             send_mail( $to, $from, $subject, $msg, null, true, 'default-mail' );
  123.         }
  124.     }
  125.    
  126.     return $message_id;
  127. }
  128.  
  129.  
  130. // ***************************************************************
  131. // ***************************************************************
  132. // Mark email as read
  133.  
  134. function member_mail_mark_read( $member_id, $mail_id )
  135. {
  136.     global $link;
  137.    
  138.     $query = 'UPDATE  tool_member_mail_to SET
  139.         to_read = "Yes"
  140.         WHERE to_member_id = "'.$member_id.'"
  141.         AND to_mail_id = "'.$mail_id.'"
  142.         LIMIT 1';
  143.     mysql_query( $query, $link ) or mysql_error_handler( $query ); 
  144.    
  145.     return true;
  146. }
  147.  
  148. // ***************************************************************
  149. // ***************************************************************
  150. // Get Mail Count
  151.  
  152. function member_mail_unread_count( $member_id, $from_network=null )
  153. {
  154.     global $link;
  155.    
  156.     $query='SELECT a.*,b.to_id, b.to_read,d.*,
  157.             (
  158.                 SELECT to_network_id
  159.                 FROM tool_member_mail_to
  160.                 WHERE to_mail_id = a.mail_id
  161.                 AND to_member_id = "'.$member_id.'"
  162.                 LIMIT 1
  163.             ) AS to_network_id
  164.             FROM tool_member_mail AS a
  165.             INNER JOIN tool_member_mail_to AS b ON to_mail_id = a.mail_id ';
  166.        
  167.     if( isset( $from_network ) && !empty( $from_network ) )
  168.         $query .= ' AND to_network_id = "'.$from_network.'" ';
  169.    
  170.     $query.='INNER JOIN tool_network AS d
  171.                 ON to_network_id = network_id  
  172.              INNER JOIN tool_member
  173.                 ON member_id = mail_from_member_id
  174.            
  175.             -- Get main MAIL messages only
  176.             WHERE a.mail_reply_id = 0
  177.             AND mail_type="Mail"
  178.            
  179.             -- Mail is to current member and not deleted and not read
  180.             AND to_delete_mail_id IS NULL
  181.             AND to_read = "No"
  182.             AND to_member_id = "'.$member_id.'"
  183.             GROUP BY a.mail_id  ';
  184.    
  185.     $result_mail = mysql_query( $query, $link ) or mysql_error_handler( $query );  
  186.     $rows = mysql_num_rows( $result_mail );
  187.    
  188.     mysql_free_result( $result_mail );
  189.     return $rows;
  190.    
  191. }
  192.  
  193. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement