Advertisement
Guest User

Untitled

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