Example #1
0
function JB_expire_membership(&$invoice_row, $send_email = true)
{
    $now = gmdate("Y-m-d H:i:s");
    $sql = "UPDATE membership_invoices SET `status`='Expired', member_end='{$now}' WHERE invoice_id='" . JB_escape_sql($invoice_row['invoice_id']) . "' ";
    JB_mysql_query($sql) or JB_mail_error(mysql_error() . $sql);
    JB_stop_membership($invoice_row);
    if (JB_EMAIL_MEMBER_EXP_SWITCH == 'YES' && $send_email) {
        if ($invoice_row['user_type'] == 'E') {
            // employers
            $sql = "Select * from employers WHERE ID='" . JB_escape_sql($invoice_row['user_id']) . "'";
        } elseif ($invoice_row['user_type'] == 'C') {
            $sql = "Select * from users WHERE ID='" . JB_escape_sql($invoice_row['user_id']) . "'";
        }
        $result = JB_mysql_query($sql) or JB_mail_error(mysql_error() . $sql);
        $e_row = mysql_fetch_array($result, MYSQL_ASSOC);
        //$invoice_row = JB_get_subscription_invoice_row ($row['invoice_id']); // reload invoice
        $template_r = JB_get_email_template(120, $e_row['lang']);
        $template = mysql_fetch_array($template_r);
        $msg = $template['EmailText'];
        $from = $template['EmailFromAddress'];
        $from_name = $template['EmailFromName'];
        $subject = $template['EmailSubject'];
        $msg = str_replace("%FNAME%", $e_row['FirstName'], $msg);
        $msg = str_replace("%LNAME%", $e_row['LastName'], $msg);
        $msg = str_replace("%SITE_NAME%", JB_SITE_NAME, $msg);
        $msg = str_replace("%INVOICE_CODE%", "S" . $invoice_row['invoice_id'], $msg);
        $msg = str_replace("%ITEM_NAME%", $invoice_row['item_name'], $msg);
        $msg = str_replace("%MEM_START%", JB_get_formatted_time(JB_get_local_time($invoice_row['member_date'])), $msg);
        $msg = str_replace("%MEM_END%", JB_get_formatted_time(JB_get_local_time($invoice_row['member_end'])), $msg);
        $msg = str_replace("%MEM_DURATION%", $invoice_row['months_duration'], $msg);
        $msg = str_replace("%INVOICE_AMOUNT%", JB_convert_to_default_currency_formatted($invoice_row['currency_code'], $invoice_row['amount']), $msg);
        $msg = str_replace("%PAYMENT_METHOD%", $invoice_row['payment_method'], $msg);
        $msg = str_replace("%SITE_CONTACT_EMAIL%", JB_SITE_CONTACT_EMAIL, $msg);
        $msg = str_replace("%SITE_URL%", JB_BASE_HTTP_PATH, $msg);
        $to = $e_row['Email'];
        $to_name = jb_get_formatted_name($e_row['FirstName'], $e_row['LastName']);
        $email_id = JB_queue_mail($to, $to_name, $from, $from_name, $subject, $msg, '', 120);
        JB_process_mail_queue(1, $email_id);
    }
}
function JB_reverse_membership_invoice($invoice_id, $reason)
{
    $invoice_row = JB_get_membership_invoice_row($invoice_id);
    if ($invoice_row['status'] == 'Completed') {
        $sql = "UPDATE membership_invoices SET `status`='Reversed', reason='" . jb_escape_sql($reason) . "' WHERE invoice_id='" . jb_escape_sql($invoice_id) . "'";
        $result = JB_mysql_query($sql) or JB_mail_error("[{$sql}]" . mysql_error());
        // Deactivate the memberships:
        if ($invoice_row['user_type'] == 'E') {
            // employers
            $sql = "UPDATE `employers` SET  membership_active = 'N' WHERE ID='" . jb_escape_sql($invoice_row['user_id']) . "' ";
            JB_mysql_query($sql) or JB_mail_error("[{$sql}]" . mysql_error());
        } elseif ($invoice_row['user_type'] == 'C') {
            // candidates
            $sql = "UPDATE `users` SET  membership_active = 'N' WHERE ID='" . jb_escape_sql($invoice_row['user_id']) . "' ";
            JB_mysql_query($sql) or JB_mail_error("[{$sql}]" . mysql_error());
        }
        JB_stop_membership($invoice_row);
    }
}