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/>"; }
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; }