Example #1
0
function appthemes_bank_transfer_pending_email($post)
{
    $content = '';
    $content .= html('p', __('A new order is waiting to be processed. Once you recieve payment, you should mark the order as completed.', APP_TD));
    $order_link = html_link(get_edit_post_link($post), __('Review this order', APP_TD));
    $all_orders = html_link(admin_url('edit.php?post_status=tr_pending&post_type=transaction'), __('review all pending orders', APP_TD));
    // translators: <Single Order Link> or <Link to All Orders>
    $content .= html('p', sprintf(__('%1$s or %2$s', APP_TD), $order_link, $all_orders));
    $subject = sprintf(__('[%1$s] Pending Order #%2$d', APP_TD), get_bloginfo('name'), $post->ID);
    if (!function_exists('appthemes_send_email')) {
        return false;
    }
    $email = array('to' => get_option('admin_email'), 'subject' => $subject, 'message' => $content);
    $email = apply_filters('appthemes_email_admin_bt_pending', $email, $post);
    appthemes_send_email($email['to'], $email['subject'], $email['message']);
}
Example #2
0
 /**
  * Sends notification to admin
  *
  * @param object $report
  *
  * @return void
  */
 public static function notify_admin($report)
 {
     $options = appthemes_load_reports_options();
     if (!$options->get(array('reports', 'send_email'))) {
         return;
     }
     // notify only once per post about report
     $reports = appthemes_get_post_reports($report->get_post_ID());
     if (count($reports->reports) > 1) {
         return;
     }
     $emails = apply_filters('comment_notification_recipients', array(), $report->get_id());
     $subject = apply_filters('comment_notification_subject', '', $report->get_id());
     $notify_message = apply_filters('comment_notification_text', '', $report->get_id());
     foreach ($emails as $email) {
         appthemes_send_email($email, $subject, $notify_message);
     }
 }
Example #3
0
/**
 * Sends email notification to admin if listing require moderation.
 *
 * @param object $post
 */
function cp_notify_admin_moderated_listing($post)
{
    global $cp_options;
    if ($post->post_type != APP_POST_TYPE) {
        return;
    }
    if (!$cp_options->ad_edit || !$cp_options->moderate_edited_ads) {
        return;
    }
    // don't notify admin when he changing post status in wp-admin
    if (is_admin() && current_user_can('manage_options')) {
        return;
    }
    $blogname = wp_specialchars_decode(get_bloginfo('name'), ENT_QUOTES);
    $subject = sprintf(__('[%s] Ad listing awaiting your review', APP_TD), $blogname);
    $content = html('p', __('Dear Admin,', APP_TD)) . PHP_EOL;
    $content .= html('p', sprintf(__('Ad listing, "%s" has been edited and awaiting your review.', APP_TD), $post->post_title)) . PHP_EOL;
    $content .= html('p', sprintf(__('Please <a href="%s">review this listing</a>, and approve it.', APP_TD), get_permalink($post->ID))) . PHP_EOL;
    $email = array('to' => get_option('admin_email'), 'subject' => $subject, 'message' => $content);
    $email = apply_filters('cp_email_admin_moderated_listing', $email, $post);
    appthemes_send_email($email['to'], $email['subject'], $email['message']);
}
Example #4
0
function cp_membership_reminder_cron()
{
    global $wpdb, $cp_options;
    if (!$cp_options->membership_ending_reminder_email) {
        return;
    }
    $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
    $subject = sprintf(__('Membership Subscription Ending on %s', APP_TD), $blogname);
    $siteurl = home_url('/');
    $days_before = $cp_options->membership_ending_reminder_days;
    $days_before = is_numeric($days_before) ? $days_before : 7;
    $timestamp = wp_next_scheduled('cp_send_membership_reminder');
    $timestamp = $timestamp - 1 * 24 * 60 * 60 + get_option('gmt_offset') * 3600;
    // minus 1 day to get current schedule time, plus GMT offset
    $date_max = date('Y-m-d H:i:s', $timestamp + $days_before * 24 * 60 * 60);
    $date_min = date('Y-m-d H:i:s', $timestamp + ($days_before - 1) * 24 * 60 * 60);
    $query_users = $wpdb->prepare("SELECT {$wpdb->users}.ID FROM {$wpdb->users}\n\t\tLEFT JOIN {$wpdb->usermeta} ON {$wpdb->users}.ID = {$wpdb->usermeta}.user_id\n\t\tWHERE {$wpdb->usermeta}.meta_key = 'membership_expires'\n\t\tAND {$wpdb->usermeta}.meta_value < %s\n\t\tAND {$wpdb->usermeta}.meta_value > %s\n\t\t", $date_max, $date_min);
    $userids = $wpdb->get_col($query_users);
    if (!$userids) {
        return;
    }
    foreach ($userids as $user_id) {
        $user = get_userdata($user_id);
        $mailto = $user->user_email;
        $user_login = appthemes_clean($user->user_login);
        $membership = get_pack($user->active_membership_pack);
        $membership_pack_name = appthemes_clean($membership->pack_name);
        $membership_expires = appthemes_display_date($user->membership_expires);
        $message = html('p', sprintf(__('Hi %s,', APP_TD), $user_login)) . PHP_EOL;
        $message .= html('p', sprintf(__('Your membership pack will expire in %d days! Please renew your membership to continue posting classified ads.', APP_TD), $days_before)) . PHP_EOL;
        $message_details = __('Membership Details', APP_TD) . '<br />';
        $message_details .= __('-----------------', APP_TD) . '<br />';
        $message_details .= sprintf(__('Membership Pack: %s', APP_TD), $membership_pack_name) . '<br />';
        $message_details .= sprintf(__('Membership Expires: %s', APP_TD), $membership_expires) . '<br />';
        $message_details .= sprintf(__('Renew Your Membership Pack: %s', APP_TD), CP_MEMBERSHIP_PURCHASE_URL) . '<br />';
        $message .= html('p', $message_details) . PHP_EOL;
        $message .= html('p', sprintf(__('For questions or problems, please contact us directly at %s', APP_TD), get_option('admin_email')));
        $message .= html('p', __('Regards,', APP_TD) . '<br />' . sprintf(__('Your %s Team', APP_TD), $blogname));
        $message .= html('p', $siteurl);
        $email = array('to' => $mailto, 'subject' => $subject, 'message' => $message);
        $email = apply_filters('cp_email_user_membership_reminder', $email, $order);
        appthemes_send_email($email['to'], $email['subject'], $email['message']);
    }
}
Example #5
0
/**
 * Sends email reminder about ending membership plan, default is 7 days before expire.
 * Cron jobs execute the following function once per day.
 *
 * @return void
 */
function cp_membership_reminder_cron()
{
    global $wpdb, $cp_options;
    if (!$cp_options->membership_ending_reminder_email) {
        return;
    }
    $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
    $subject = sprintf(__('Membership Subscription Ending on %s', APP_TD), $blogname);
    $siteurl = home_url('/');
    $days_before = $cp_options->membership_ending_reminder_days;
    $days_before = is_numeric($days_before) ? $days_before : 7;
    $timestamp = wp_next_scheduled('cp_send_membership_reminder');
    $timestamp = $timestamp - 1 * 24 * 60 * 60 + get_option('gmt_offset') * 3600;
    // minus 1 day to get current schedule time, plus GMT offset
    $date_max = date('Y-m-d H:i:s', $timestamp + $days_before * 24 * 60 * 60);
    $date_min = date('Y-m-d H:i:s', $timestamp + ($days_before - 1) * 24 * 60 * 60);
    $query_users = $wpdb->prepare("SELECT {$wpdb->users}.ID FROM {$wpdb->users}\n\t\tLEFT JOIN {$wpdb->usermeta} ON {$wpdb->users}.ID = {$wpdb->usermeta}.user_id\n\t\tWHERE {$wpdb->usermeta}.meta_key = 'membership_expires'\n\t\tAND {$wpdb->usermeta}.meta_value < %s\n\t\tAND {$wpdb->usermeta}.meta_value > %s\n\t\t", $date_max, $date_min);
    $userids = $wpdb->get_col($query_users);
    if (!$userids) {
        return;
    }
    $users = array();
    foreach ($userids as $user_id) {
        $user = get_userdata($user_id);
        $mailto = $user->user_email;
        $user_login = appthemes_clean($user->user_login);
        $membership = cp_get_membership_package($user->active_membership_pack);
        $membership_pack_name = appthemes_clean($membership->pack_name);
        $membership_expires = appthemes_display_date($user->membership_expires);
        $message = html('p', sprintf(__('Hi %s,', APP_TD), $user_login)) . PHP_EOL;
        $message .= html('p', sprintf(__('Your membership pack will expire in %d days! Please renew your membership to continue posting classified ads.', APP_TD), $days_before)) . PHP_EOL;
        $message_details = __('Membership Details', APP_TD) . '<br />';
        $message_details .= __('-----------------', APP_TD) . '<br />';
        $message_details .= sprintf(__('Membership Pack: %s', APP_TD), $membership_pack_name) . '<br />';
        $message_details .= sprintf(__('Membership Expires: %s', APP_TD), $membership_expires) . '<br />';
        $message_details .= sprintf(__('Renew Your Membership Pack: %s', APP_TD), html_link(CP_MEMBERSHIP_PURCHASE_URL)) . '<br />';
        $message .= html('p', $message_details) . PHP_EOL;
        $message .= html('p', sprintf(__('For questions or problems, please contact us directly at %s', APP_TD), get_option('admin_email')));
        $message .= html('p', __('Regards,', APP_TD) . '<br />' . sprintf(__('Your %s Team', APP_TD), $blogname));
        $message .= html('p', html_link($siteurl));
        $email = array('to' => $mailto, 'subject' => $subject, 'message' => $message);
        $email = apply_filters('cp_email_user_membership_reminder', $email, $user_id);
        appthemes_send_email($email['to'], $email['subject'], $email['message']);
        $users[$user_id] = array('user' => html_link(sprintf('mailto:%s', $user->user_email), $user->user_login), 'membership' => $membership->pack_name, 'expires' => $user->membership_expires);
    }
    // allow overriding admin notifications
    if (!apply_filters('cp_admin_membership_reminder', true, $users)) {
        return;
    }
    ### notify admin
    // loop through the users again to notify the admin about expiring memberships
    foreach ($users as $user_id => $data) {
        $items[] = $data;
    }
    if (!empty($items)) {
        $table = new APP_Email_Table($items);
        $admin_email = get_option('admin_email');
        $message = html('p', __('Dear Admin,', APP_TD)) . PHP_EOL;
        $message .= html('p', sprintf(__('Membership pack for these users expire in %d days! These users will need to renew their membership to continue posting classified ads on your site:', APP_TD), $days_before)) . PHP_EOL;
        $message .= html('p', $table->display()) . PHP_EOL;
        $email = array('to' => $admin_email, 'subject' => $subject, 'message' => $message);
        appthemes_send_email($email['to'], $email['subject'], $email['message']);
    }
}