/** * Initialize the object one time * @return object */ public static function getInstance() { if (!self::$c_instance) { self::$c_instance = new self(); } return self::$c_instance; }
<?php /** * Form posting handler */ require_once '../../../wp-load.php'; require_once TMM_PAYPAL_PLUGIN_PATH . '/classes/paypalConfig.php'; require_once TMM_PAYPAL_PLUGIN_PATH . '/classes/paypalApi.php'; if (isset($_POST['func']) && $_POST['func'] === 'start') { paypalApi::startExpressCheckout(); } else { if (isset($_GET['func']) && $_GET['func'] == 'confirm' && isset($_GET['token']) && isset($_GET['PayerID'])) { $message_num = 0; $paypal_data = paypalApi::confirmExpressCheckout(); $config = paypalConfig::getInstance(); if (isset($paypal_data['ACK']) && ($paypal_data['ACK'] == 'Success' || $paypal_data['ACK'] == 'SuccessWithWarning')) { $message_num = TMM_Cardealer_User::user_paid_money($paypal_data); header('Location: ' . $config->getItem('success_page')); } else { $message_num = $paypal_data['L_ERRORCODE0']; header('Location: ' . $config->getItem('cancel_page') . '?errorcode=' . $message_num); } } else { header('Location: ' . $config->getItem('cancel_page')); } }
/** * @param $fields * @return mixed */ static function doCurlRequest($fields) { if (!function_exists('curl_init')) { return false; } $fields_string = http_build_query($fields); $config = paypalConfig::getInstance(); $ch = curl_init(); if (get_option('paypal_environment') == 'sandbox') { curl_setopt($ch, CURLOPT_URL, $config->getItem('paypal_sandbox_api_url')); } elseif (get_option('paypal_environment') == 'live') { curl_setopt($ch, CURLOPT_URL, $config->getItem('paypal_live_api_url')); } curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch, CURLOPT_CAINFO, $config->getItem('curl_certificate_path')); $result = curl_exec($ch); curl_close($ch); parse_str($result, $result); return $result; }
/** * Admin interface > payments history */ public static function adminHistory() { global $wpdb; $config = paypalConfig::getInstance(); $params = array(); $config_saved = false; $allowed_statuses = array('success', 'pending', 'failed'); if (count($_POST) && isset($_POST['status']) && in_array($_POST['status'], $allowed_statuses) && isset($_POST['id']) && is_numeric($_POST['id']) && $_POST['id'] > 0) { $config_saved = TRUE; $update_data = array('status' => $_POST['status']); $where = array('id' => $_POST['id']); $update_format = array('%s'); $wpdb->update('tmm_cars_hccoder_paypal', $update_data, $where, $update_format); } if (isset($_GET['action']) && $_GET['action'] == 'details' && is_numeric($_GET['id']) && $_GET['id'] > 0) { $details = $wpdb->get_row('SELECT tmm_cars_hccoder_paypal.id, tmm_cars_hccoder_paypal.amount, tmm_cars_hccoder_paypal.currency, tmm_cars_hccoder_paypal.packet_id, tmm_cars_hccoder_paypal.status, tmm_cars_hccoder_paypal.firstname, tmm_cars_hccoder_paypal.lastname, tmm_cars_hccoder_paypal.email, tmm_cars_hccoder_paypal.description, tmm_cars_hccoder_paypal.summary, tmm_cars_hccoder_paypal.created FROM tmm_cars_hccoder_paypal WHERE tmm_cars_hccoder_paypal.id = ' . (int) $_GET['id']); $path = 'adminhistorydetails'; $params['details'] = $details; } elseif (isset($_GET['action']) && $_GET['action'] == 'edit' && is_numeric($_GET['id']) && $_GET['id'] > 0) { $details = $wpdb->get_row('SELECT tmm_cars_hccoder_paypal.status FROM tmm_cars_hccoder_paypal WHERE tmm_cars_hccoder_paypal.id = ' . (int) $_GET['id']); $path = 'adminhistoryedit'; $params['details'] = $details; } else { $limit = $config->getItem('history_page_pagination_limit'); $pagenum = 0; if (isset($_REQUEST['paged'])) { $pagenum = (int) $_REQUEST['paged'] - 1; if ($pagenum < 0) { $pagenum = 0; } } $order = 'DESC'; if (isset($_REQUEST['order'])) { $order = $_REQUEST['order']; } $orderby = 'created'; if (isset($_REQUEST['orderby'])) { $orderby = $_REQUEST['orderby']; } $user_email = ''; if (isset($_REQUEST['user_email'])) { $user_email = $_REQUEST['user_email']; $_GET['user_email'] = $user_email; } $year = -1; if (isset($_REQUEST['y'])) { $year = $_REQUEST['y']; $_GET['y'] = $year; } $month = -1; if (isset($_REQUEST['m'])) { $month = $_REQUEST['m']; $_GET['m'] = $month; } //*** $time_from = 0; $time_to = 0; if ($year > -1 or $month > -1) { if ($month > -1 and $year == -1) { $year = intval(date('Y')); } } if ($month == -1) { //see for full year $time_from = mktime(0, 0, 0, 1, 1, $year); $time_to = mktime(0, 0, 0, 12, 31, $year); } if ($month != -1) { //see for full year $time_from = mktime(0, 0, 0, $month + 1, 1, $year); $time_to = mktime(0, 0, 0, $month + 1, 31, $year); } $rows_count = $wpdb->get_var('SELECT COUNT(*) FROM tmm_cars_hccoder_paypal WHERE 1=1 ' . ($time_from > 0 ? ' ' . 'AND created>=' . $time_from . ' ' . 'AND created<=' . $time_to : '') . ' ' . (!empty($user_email) ? 'AND email LIKE "%' . $user_email . '%"' : '')); $rows = $wpdb->get_results('SELECT tmm_cars_hccoder_paypal.id, tmm_cars_hccoder_paypal.amount, tmm_cars_hccoder_paypal.currency, tmm_cars_hccoder_paypal.packet_id, tmm_cars_hccoder_paypal.status, tmm_cars_hccoder_paypal.firstname, tmm_cars_hccoder_paypal.lastname, tmm_cars_hccoder_paypal.email, tmm_cars_hccoder_paypal.description, tmm_cars_hccoder_paypal.summary, tmm_cars_hccoder_paypal.created FROM tmm_cars_hccoder_paypal WHERE 1=1 ' . ($time_from > 0 ? ' ' . 'AND created>=' . $time_from . ' ' . 'AND created<=' . $time_to : '') . ' ' . (!empty($user_email) ? 'AND email LIKE "%' . $user_email . '%"' : '') . ' ORDER BY tmm_cars_hccoder_paypal.' . $orderby . ' ' . $order . ' LIMIT ' . $pagenum * $limit . ',' . $limit); $path = 'adminhistory'; if (isset($details)) { $params['details'] = $details; } $params['limit'] = $limit; $params['pagenum'] = $pagenum + 1; $params['order'] = $order; $params['rows_count'] = $rows_count; $params['rows'] = $rows; $params['user_email'] = $user_email; $params['year'] = $year; $params['month'] = $month; } $params['config_saved'] = $config_saved; if (isset($path)) { self::includeView($path, $params); } }
/** * Check currency. * If currency is not supported by Paypal convert it to default */ function tmm_paypal_currency($currency, $amount) { $config = paypalConfig::getInstance(); if (!in_array($currency, $config->getItem('supported_currencies'))) { $def_currency = get_option('paypal_currency'); if ($def_currency) { $currency = $def_currency; $new_amount = tmm_get_currency_rate($amount, $currency, $def_currency); if ((double) $new_amount) { $amount = $new_amount; $currency = $def_currency; } } } return array('currency' => $currency, 'amount' => $amount); }