function notify_users($message_id, $mgs)
 {
     $domain_name = preg_replace('/^www\\./', '', $_SERVER['SERVER_NAME']);
     $usersarray = get_users("orderby=ID");
     $to = fep_get_option('ann_to', get_bloginfo('admin_email'));
     $from = 'noreply@' . $domain_name;
     $bcc = array();
     foreach ($usersarray as $user) {
         $notify = fep_get_user_option('allow_ann', 1, $user->ID);
         if ($notify == '1') {
             $bcc[] = $user->user_email;
         }
     }
     //var_dump($bcc);
     $chunked_bcc = array_chunk($bcc, 25);
     $subject = get_bloginfo("name") . ': ' . __('New Announcement', 'fep');
     $message = __('A new Announcement is Published in ', 'fep') . "\r\n";
     $message .= get_bloginfo("name") . "\r\n";
     $message .= sprintf(__("Title: %s", 'fep'), $mgs['message_title']) . "\r\n";
     $message .= __('Please Click the following link to view full Announcement.', 'fep') . "\r\n";
     $message .= fep_action_url('announcements') . "\r\n";
     foreach ($chunked_bcc as $bcc_chunk) {
         $headers = array();
         $headers['From'] = 'From: ' . get_bloginfo("name") . '<' . $from . '>';
         $headers['Bcc'] = 'Bcc: ' . implode(', ', $bcc_chunk);
         wp_mail($to, $subject, $message, $headers);
     }
     return;
 }
 function user_settings()
 {
     echo "<input type='checkbox' name='allow_ann' value='1' " . checked(fep_get_user_option('allow_ann', 1), '1', false) . "/> <i>" . __("Email me when New announcement is published?", 'fep') . "</i><br/>";
 }
Example #3
0
 function check_message()
 {
     global $wpdb, $user_ID;
     $errors = new WP_Error();
     $message = $_POST;
     // print var_dump($_POST);
     if (!empty($message['message_to'])) {
         $preTo = $message['message_to'];
     } else {
         $preTo = isset($message['message_top']) ? esc_html($message['message_top']) : '';
     }
     $preTo = apply_filters('fep_preto_filter', $preTo);
     $message['to'] = fep_get_userdata($preTo);
     $message['send_date'] = current_time('mysql');
     //Check for errors first
     if (!$message['to']) {
         $errors->add('invalidTo', __('You must enter a valid recipient!', 'fep'));
     }
     if (!$message['message_title']) {
         $errors->add('invalidSub', __('You must enter subject.', 'fep'));
     }
     if (!$message['message_content']) {
         $errors->add('invalidMgs', __('You must enter some message content!', 'fep'));
     }
     if ($message['message_from'] != $user_ID || $message['to'] == $user_ID) {
         $errors->add('NoPermission', __("You do not have permission to send this message!", 'fep'));
     }
     if (fep_get_user_option('allow_messages', 1, $message['to']) != '1') {
         $errors->add('ToDisallow', __("This user does not want to receive messages!", 'fep'));
     }
     if (fep_is_message_box_full($message['to'], fep_get_option('num_messages', 50), $message['parent_id'])) {
         $errors->add('MgsBoxFull', __("Your or Recipients Message Box Is Full!", 'fep'));
     }
     if (fep_is_user_blocked()) {
         $errors->add('Blocked', __("You cannot send messages because you are blocked by administrator!", 'fep'));
     }
     $timeDelay = $this->TimeDelay(fep_get_option('time_delay', 0));
     if ($timeDelay['diffr'] < fep_get_option('time_delay') && !current_user_can('manage_options')) {
         $errors->add('TimeDiff', sprintf(__("Please wait at least more %s to send another message!", 'fep'), $timeDelay['time']));
     }
     if (!fep_verify_nonce($message['token'], 'new_message')) {
         $errors->add('InvalidToken', __("Invalid Token. Please try again!", 'fep'));
     }
     if ($message['parent_id'] != 0) {
         $mgsInfo = $wpdb->get_row($wpdb->prepare("SELECT to_user, from_user FROM " . FEP_MESSAGES_TABLE . " WHERE id = %d", $message['parent_id']));
         if ($mgsInfo->to_user != $user_ID && $mgsInfo->from_user != $user_ID && !current_user_can('manage_options')) {
             $errors->add('OthersMgs', __("You do not have permission to send this message!", 'fep'));
         }
         do_action('fep_before_send_new_reply', $errors);
     } else {
         do_action('fep_before_send_new_message', $errors);
     }
     // This action hook is DEPRECATED since version 3.4. Use following filter hook instead
     do_action('fep_action_message_before_send', $errors);
     $message = apply_filters('fep_filter_message_before_send', $message, $errors);
     //arg $errors added since version 3.4
     //If no errors then continue on
     if (count($errors->get_error_codes()) == 0) {
         if ($message['parent_id'] == 0) {
             $wpdb->insert(FEP_MESSAGES_TABLE, array('from_user' => $message['message_from'], 'to_user' => $message['to'], 'message_title' => $message['message_title'], 'message_contents' => $message['message_content'], 'parent_id' => $message['parent_id'], 'last_sender' => $message['message_from'], 'send_date' => $message['send_date'], 'last_date' => $message['send_date']), array('%d', '%d', '%s', '%s', '%d', '%d', '%s', '%s'));
             $message_id = $wpdb->insert_id;
             do_action('fep_after_send_new_message', $message_id);
         } else {
             $wpdb->insert(FEP_MESSAGES_TABLE, array('from_user' => $message['message_from'], 'to_user' => $message['to'], 'message_title' => $message['message_title'], 'message_contents' => $message['message_content'], 'parent_id' => $message['parent_id'], 'send_date' => $message['send_date']), array('%d', '%d', '%s', '%s', '%d', '%s'));
             $message_id = $wpdb->insert_id;
             $wpdb->update(FEP_MESSAGES_TABLE, array('status' => 0, 'last_sender' => $message['message_from'], 'last_date' => $message['send_date'], 'to_del' => 0, 'from_del' => 0), array('id' => $message['parent_id']), array('%d', '%d', '%s', '%d', '%d'), array('%d'));
             do_action('fep_after_send_new_reply', $message_id);
         }
         do_action('fep_action_message_after_send', $message_id, $message);
     }
     return $errors;
 }