public function widget($model, RM_User_Services $service, $request, $params)
 {
     if ($params['user'] instanceof WP_User) {
         $data = new stdClass();
         $submissions = $service->get_submissions_by_email($params['user']->user_email, 10);
         $sub_data = array();
         $count = 0;
         if ($submissions) {
             foreach ($submissions as $submission) {
                 //echo "<br>ID: ".$submission->form_id." : ".RM_Utilities::localize_time($submission->submitted_on, 'M dS Y, h:ia')." : ";
                 $name = $service->get('FORMS', array('form_id' => $submission->form_id), array('%d'), 'var', 0, 10, 'form_name');
                 $date = RM_Utilities::localize_time($submission->submitted_on, 'M dS Y, h:ia');
                 $payment_status = $service->get('PAYPAL_LOGS', array('submission_id' => $submission->submission_id), array('%d'), 'var', 0, 10, 'status');
                 $sub_data[] = (object) array('submission_id' => $submission->submission_id, 'name' => $name, 'date' => $date, 'payment_status' => $payment_status);
                 $count++;
             }
         }
         $data->submissions = $sub_data;
         $data->total_sub = $count;
         $view = $this->mv_handler->setView('user_edit_widget');
         $view->render($data);
     }
 }
 public function callback($payment_status, $rm_pproc_id)
 {
     switch ($payment_status) {
         case 'success':
             if ($rm_pproc_id) {
                 $log_id = $rm_pproc_id;
                 $log = RM_DBManager::get_row('PAYPAL_LOGS', $log_id);
                 if ($log) {
                     if ($log->log) {
                         $paypal_log = maybe_unserialize($log->log);
                         $payment_status = $paypal_log['payment_status'];
                         if ($payment_status == 'Completed') {
                             echo '<div id="rmform">';
                             echo "<div class='rminfotextfront'>" . RM_UI_Strings::get("MSG_PAYMENT_SUCCESS") . "</br>";
                             echo '</div></div>';
                             return 'success';
                         } else {
                             if ($payment_status == 'Denied' || $payment_status == 'Failed' || $payment_status == 'Refunded' || $payment_status == 'Reversed' || $payment_status == 'Voided') {
                                 echo '<div id="rmform">';
                                 echo "<div class='rminfotextfront'>" . RM_UI_Strings::get("MSG_PAYMENT_FAILED") . "</br>";
                                 echo '</div></div>';
                                 return 'failed';
                             } else {
                                 if ($payment_status == 'In-Progress' || $payment_status == 'Pending' || $payment_status == 'Processed') {
                                     echo '<div id="rmform">';
                                     echo "<div class='rminfotextfront'>" . RM_UI_Strings::get("MSG_PAYMENT_PENDING") . "</br>";
                                     echo '</div></div>';
                                     return 'pending';
                                 } else {
                                     if ($payment_status == 'Canceled_Reversal') {
                                         return 'canceled_reversal';
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
             return false;
         case 'cancel':
             echo '<div id="rmform">';
             echo "<div class='rminfotextfront'>" . RM_UI_Strings::get("MSG_PAYMENT_CANCEL") . "</br>";
             echo '</div></div>';
             return;
         case 'ipn':
             $trasaction_id = $_POST["txn_id"];
             $payment_status = $_POST["payment_status"];
             $cstm = $_POST["custom"];
             $abcd = explode("|", $cstm);
             $user_id = (int) $abcd[1];
             $acbd = explode("|", $cstm);
             $log_entry_id = (int) $acbd[0];
             //$_POST["custom"];
             $log_array = maybe_serialize($_POST);
             $curr_date = RM_Utilities::get_current_time();
             // date_i18n(get_option('date_format'));
             RM_DBManager::update_row('PAYPAL_LOGS', $log_entry_id, array('status' => $payment_status, 'txn_id' => $trasaction_id, 'posted_date' => $curr_date, 'log' => $log_array), array('%s', '%s', '%s', '%s'));
             if ($this->paypal->validate_ipn()) {
                 //IPN is valid, check payment status and process logic
                 if ($payment_status == 'Completed') {
                     if ($user_id) {
                         $gopt = new RM_Options();
                         if ($gopt->get_value_of('user_auto_approval') == "yes") {
                             $user_service = new RM_User_Services();
                             $user_service->activate_user_by_id($user_id);
                         }
                     }
                     return 'success';
                 } else {
                     if ($payment_status == 'Denied' || $payment_status == 'Failed' || $payment_status == 'Refunded' || $payment_status == 'Reversed' || $payment_status == 'Voided') {
                         return 'failed';
                     } else {
                         if ($payment_status == 'In-Progress' || $payment_status == 'Pending' || $payment_status == 'Processed') {
                             return 'pending';
                         } else {
                             if ($payment_status == 'Canceled_Reversal') {
                                 return 'canceled_reversal';
                             }
                         }
                     }
                 }
                 return 'unknown';
             }
             return 'invalid_ipn';
     }
 }
 public static function link_activate_user()
 {
     $req = $_GET['user'];
     $user_service = new RM_User_Services();
     $req_deco = self::dec_str($req);
     $user_data = json_decode($req_deco);
     if (!function_exists('get_user_by')) {
         require_once ABSPATH . 'wp-includes/pluggable.php';
     }
     echo '<!DOCTYPE html>
                 <html>
                 <head>
                   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
                   <meta http-equiv="Content-Style-Type" content="text/css">
                     <meta name="viewport" content="width=device-width, initial-scale=1.0">
                   <title></title>
                   <meta name="Generator" content="Cocoa HTML Writer">
                   <meta name="CocoaVersion" content="1404.34">
                     <link rel="stylesheet" type="text/css" href="' . RM_BASE_URL . 'admin/css/style_rm_admin.css">
                 </head>
                 <body>
     <div class="rmagic">';
     echo '<div class="rm_user_activation_msg">';
     if ($user_data->activation_code == get_user_meta($user_data->user_id, 'rm_activation_code', true)) {
         if (!delete_user_meta($user_data->user_id, 'rm_activation_code')) {
             echo '<div class="rm_fail_del">' . RM_UI_Strings::get('ACT_AJX_FAILED_DEL') . '</div>';
             die;
         }
         if ($user_service->activate_user_by_id($user_data->user_id)) {
             echo '<h1 class="rm_user_msg_ajx">' . RM_UI_Strings::get('ACT_AJX_ACTIVATED') . '</h1>';
             $user = get_user_by('id', $user_data->user_id);
             echo '<div class = rm_user_info><div class="rm_field_cntnr"><div class="rm_user_label">' . RM_UI_Strings::get('LABEL_USER_NAME') . ' : </div><div class="rm_label_value">' . $user->user_login . '</div></div><div class="rm_field_cntnr"><div class="rm_user_label">' . RM_UI_Strings::get('LABEL_USEREMAIL') . ' : </div><div class="rm_label_value">' . $user->user_email . '</div></div></div>';
             echo '<div class="rm_user_msg_ajx">' . RM_UI_Strings::get('ACT_AJX_ACTIVATED2') . '</div>';
         } else {
             echo '<div class="rm_not_authorized_ajax rm_act_fl">' . RM_UI_Strings::get('ACT_AJX_ACTIVATE_FAIL') . '</div>';
         }
     } else {
         echo '<div class="rm_not_authorized_ajax">' . RM_UI_Strings::get('ACT_AJX_NO_ACCESS') . '</div>';
     }
     echo '</div></div></html></body>';
     /* ?>
        <button type="button" onclick="window.location.reload()">Retry</button>
        <button type="button" onclick="window.history.back()">GO BACK</button>
        <?php */
     die;
 }