/** * Sends order mail * @param $order_number * @param $order_type * @param $customer_id */ public static function SendOrderEmail($order_number, $order_type = 'accepted', $customer_id = '') { global $objSettings; $currencyFormat = get_currency_format(); $order_details = ''; // send email to customer $sql = 'SELECT o.*, CASE WHEN o.payment_type = 0 THEN "' . _ONLINE_ORDER . '" WHEN o.payment_type = 1 THEN "' . _PAYPAL . '" WHEN o.payment_type = 2 THEN "2CO" WHEN o.payment_type = 3 THEN "Authorize.Net" ELSE "' . _UNKNOWN . '" END as m_payment_type, CASE WHEN o.payment_method = 0 THEN "' . _PAYMENT_COMPANY_ACCOUNT . '" WHEN o.payment_method = 1 THEN "' . _CREDIT_CARD . '" WHEN o.payment_method = 2 THEN "E-Check" ELSE "' . _UNKNOWN . '" END as m_payment_method, CASE WHEN o.status = 0 THEN "<span style=color:#960000>' . _PREPARING . '</span>" WHEN o.status = 1 THEN "<span style=color:#FF9966>' . _PENDING . '</span>" WHEN o.status = 2 THEN "<span style=color:#336699>' . _PAID . '</span>" WHEN o.status = 3 THEN "<span style=color:#009600>' . _COMPLETED . '</span>" WHEN o.status = 4 THEN "<span style=color:#969600>' . _REFUNDED . '</span>" ELSE "' . _UNKNOWN . '" END as m_status, c.first_name, c.last_name, c.user_name as customer_name, c.preferred_language, c.email, c.b_address, c.b_address_2, c.b_city, c.b_state, count.name as b_country, c.b_zipcode, c.phone, c.fax, cur.symbol, cur.symbol_placement FROM ' . TABLE_ORDERS . ' o LEFT OUTER JOIN ' . TABLE_CURRENCIES . ' cur ON o.currency = cur.code LEFT OUTER JOIN ' . TABLE_CUSTOMERS . ' c ON o.customer_id = c.id LEFT OUTER JOIN ' . TABLE_COUNTRIES . ' count ON c.b_country = count.abbrv WHERE o.customer_id = ' . (int) $customer_id . ' AND o.order_number = "' . $order_number . '"'; $result = database_query($sql, DATA_AND_ROWS, FIRST_ROW_ONLY); if ($result[1] > 0) { $plan_info = AdvertisePlans::GetPlanInfo($result[0]['advertise_plan_id']); if (ModulesSettings::Get('payments', 'mode') == 'TEST MODE') { $order_details .= '<div style="text-align:center;padding:10px;color:#a60000;border:1px dashed #a60000;width:100px">TEST MODE!</div><br />'; } // Personal Info $order_details .= '<b>' . _PERSONAL_INFORMATION . ':</b><br />'; $order_details .= _FIRST_NAME . ' : ' . $result[0]['first_name'] . '<br />'; $order_details .= _LAST_NAME . ' : ' . $result[0]['last_name'] . '<br />'; $order_details .= _EMAIL_ADDRESS . ' : ' . $result[0]['email'] . '<br />'; $order_details .= '<br />'; // Billing Info $order_details .= '<b>' . _BILLING_INFORMATION . ':</b><br />'; $order_details .= _ADDRESS . ': ' . $result[0]['b_address'] . '<br />'; $order_details .= _ADDRESS_2 . ': ' . $result[0]['b_address_2'] . '<br />'; $order_details .= _CITY . ': ' . $result[0]['b_city'] . '<br />'; $order_details .= _STATE_PROVINCE . ': ' . $result[0]['b_state'] . '<br />'; $order_details .= _COUNTRY . ': ' . $result[0]['b_country'] . '<br />'; $order_details .= _ZIP_CODE . ': ' . $result[0]['b_zipcode'] . '<br />'; if (!empty($result[0]['phone'])) { $order_details .= _PHONE . ' : ' . $result[0]['phone'] . '<br />'; } if (!empty($result[0]['fax'])) { $order_details .= _FAX . ' : ' . $result[0]['fax'] . '<br />'; } $order_details .= '<br />'; // Order Details $order_details .= '<b>' . _ORDER_DETAILS . ':</b><br />'; $order_details .= _ORDER_DESCRIPTION . ': ' . $result[0]['order_description'] . '<br />'; $order_details .= _ADVERTISE_PLAN . ': ' . (isset($plan_info[0]['plan_name']) ? $plan_info[0]['plan_name'] : '') . '<br />'; $order_details .= _LISTINGS_COUNT . ': ' . $result[0]['listings_amount'] . '<br />'; $order_details .= _CURRENCY . ': ' . $result[0]['currency'] . '<br />'; $order_details .= _CREATED_DATE . ': ' . format_datetime($result[0]['created_date']) . '<br />'; $order_details .= _PAYMENT_DATE . ': ' . format_datetime($result[0]['payment_date']) . '<br />'; $order_details .= _PAYMENT_TYPE . ': ' . $result[0]['m_payment_type'] . '<br />'; $order_details .= _PAYMENT_METHOD . ': ' . $result[0]['m_payment_method'] . '<br />'; //$order_details .= (($result[0]['campaign_name'] != '') ? _DISCOUNT_CAMPAIGN.': '.$result[0]['campaign_name'].' ('.$result[0]['discount_percent'].'%)' : '').'<br />'; $order_details .= _ORDER_PRICE . ': ' . Currencies::PriceFormat($result[0]['order_price'], $result[0]['symbol'], $result[0]['symbol_placement'], $currencyFormat) . '<br />'; $order_details .= _VAT . ': ' . Currencies::PriceFormat($result[0]['vat_fee'], $result[0]['symbol'], $result[0]['symbol_placement'], $currencyFormat) . ' (' . $result[0]['vat_percent'] . '%)' . '<br />'; $order_details .= _TOTAL_PRICE . ': ' . Currencies::PriceFormat($result[0]['total_price'], $result[0]['symbol'], $result[0]['symbol_placement'], $currencyFormat) . '<br />'; //$order_details .= _ADDITIONAL_INFO.': '.nl2br($result[0]['additional_info']).'<br /><br />'; $send_order_copy_to_admin = ModulesSettings::Get('payments', 'send_order_copy_to_admin'); //////////////////////////////////////////////////////////// $sender = $objSettings->GetParameter('admin_email'); $recipient = $result[0]['email']; if ($order_type == 'completed') { // exit if email was already sent if ($result[0]['email_sent'] == '1') { return true; } $email_template = 'order_paid'; $admin_copy_subject = 'Client order has been paid (admin copy)'; } else { $email_template = 'order_accepted_online'; $admin_copy_subject = 'Client has placed online order (admin copy)'; } //////////////////////////////////////////////////////////// send_email($recipient, $sender, $email_template, array('{FIRST NAME}' => $result[0]['first_name'], '{LAST NAME}' => $result[0]['last_name'], '{ORDER NUMBER}' => $order_number, '{ORDER DETAILS}' => $order_details), $result[0]['preferred_language'], $send_order_copy_to_admin == 'yes' ? $sender : '', $send_order_copy_to_admin == 'yes' ? $admin_copy_subject : ''); //////////////////////////////////////////////////////////// if ($order_type == 'completed') { $sql = 'UPDATE ' . TABLE_ORDERS . ' SET email_sent = 1 WHERE order_number = \'' . $order_number . '\''; database_void_query($sql); } //////////////////////////////////////////////////////////// return true; } else { ///echo $sql; ///echo mysql_error(); } return false; }
function __construct() { parent::__construct(); $this->params = array(); if (isset($_POST['name'])) { $this->params['name'] = prepare_input($_POST['name']); } if (isset($_POST['symbol'])) { $this->params['symbol'] = prepare_input($_POST['symbol']); } if (isset($_POST['symbol_placement'])) { $this->params['symbol_placement'] = prepare_input($_POST['symbol_placement']); } if (isset($_POST['code'])) { $this->params['code'] = prepare_input($_POST['code']); } if (isset($_POST['rate'])) { $this->params['rate'] = prepare_input($_POST['rate']); } if (isset($_POST['decimals'])) { $this->params['decimals'] = prepare_input($_POST['decimals']); } if (isset($_POST['primary_order'])) { $this->params['primary_order'] = (int) $_POST['primary_order']; } // for checkboxes if (isset($_POST['is_default'])) { $this->params['is_default'] = (int) $_POST['is_default']; } else { $this->params['is_default'] = '0'; } if (isset($_POST['is_active'])) { $this->params['is_active'] = (int) $_POST['is_active']; } else { $this->params['is_active'] = '0'; } $this->params['language_id'] = MicroGrid::GetParameter('language_id'); $this->primaryKey = 'id'; $this->tableName = TABLE_CURRENCIES; $this->dataSet = array(); $this->error = ''; if (self::$PROJECT == 'HotelSite') { $this->formActionURL = 'index.php?admin=mod_booking_currencies'; } else { if (self::$PROJECT == 'ShoppingCart') { $this->formActionURL = 'index.php?admin=mod_catalog_currencies'; } else { if (self::$PROJECT == 'BusinessDirectory') { $this->formActionURL = 'index.php?admin=mod_payments_currencies'; } else { if (self::$PROJECT == 'MedicalAppointments') { $this->formActionURL = 'index.php?admin=mod_appointments_currencies'; } } } } $this->actions = array('add' => true, 'edit' => true, 'details' => true, 'delete' => true); $this->actionIcons = true; $this->allowRefresh = true; $this->allowLanguages = false; $this->languageId = ''; // ($this->params['language_id'] != '') ? $this->params['language_id'] : Languages::GetDefaultLang(); $this->WHERE_CLAUSE = ''; // WHERE .... / 'WHERE language_id = \''.$this->languageId.'\''; $this->ORDER_CLAUSE = 'ORDER BY ' . $this->tableName . '.primary_order ASC'; // ORDER BY date_created DESC $this->isAlterColorsAllowed = true; $this->isPagingAllowed = true; $this->pageSize = 20; $this->isSortingAllowed = true; $this->isFilteringAllowed = false; // define filtering fields ///$this->arrFilteringFields = array( /// 'parameter1' => array('title'=>'', 'type'=>'text', 'sign'=>'=|like%|%like|%like%', 'width'=>'80px'), /// 'parameter2' => array('title'=>'', 'type'=>'text', 'sign'=>'=|like%|%like|%like%', 'width'=>'80px'), ///); $currency_format = get_currency_format(); $arr_is_active = array('0' => '<span class=no>' . _NO . '</span>', '1' => '<span class=yes>' . _YES . '</span>'); $arr_is_default = array('0' => '<span class=gray>' . _NO . '</span>', '1' => '<span class=yes>' . _YES . '</span>'); $arr_decimals = array('0' => '0', '1' => '1', '2' => '2'); $arr_symbol_placement = array('left' => _LEFT, 'right' => _RIGHT); // prepare languages array /// $total_languages = Languages::GetAllActive(); /// $arr_languages = array(); /// foreach($total_languages[0] as $key => $val){ /// $arr_languages[$val['abbreviation']] = $val['lang_name']; /// } //---------------------------------------------------------------------- // VIEW MODE //---------------------------------------------------------------------- $this->VIEW_MODE_SQL = 'SELECT ' . $this->primaryKey . ', name, symbol, symbol_placement, code, rate, decimals, primary_order, is_default, is_active FROM ' . $this->tableName; // define view mode fields $this->arrViewModeFields = array('name' => array('title' => _NAME, 'type' => 'label', 'align' => 'left', 'width' => '', 'height' => '', 'maxlength' => ''), 'symbol' => array('title' => _SYMBOL, 'type' => 'label', 'align' => 'center', 'width' => '90px', 'height' => '', 'maxlength' => ''), 'code' => array('title' => _CODE, 'type' => 'label', 'align' => 'center', 'width' => '90px', 'height' => '', 'maxlength' => ''), 'rate' => array('title' => _RATE, 'type' => 'label', 'align' => 'center', 'width' => '90px', 'height' => '', 'maxlength' => '', 'format' => 'currency', 'format_parameter' => $currency_format . '|4'), 'decimals' => array('title' => _DECIMALS, 'type' => 'label', 'align' => 'center', 'width' => '80px', 'height' => '', 'maxlength' => ''), 'primary_order' => array('title' => _ORDER, 'type' => 'label', 'align' => 'center', 'width' => '80px', 'height' => '', 'maxlength' => '', 'movable' => true), 'is_default' => array('title' => _DEFAULT, 'type' => 'enum', 'align' => 'center', 'width' => '80px', 'sortable' => true, 'nowrap' => '', 'visible' => true, 'source' => $arr_is_default), 'is_active' => array('title' => _ACTIVE, 'type' => 'enum', 'align' => 'center', 'width' => '80px', 'sortable' => true, 'nowrap' => '', 'visible' => true, 'source' => $arr_is_active)); //---------------------------------------------------------------------- // ADD MODE //---------------------------------------------------------------------- // define add mode fields $this->arrAddModeFields = array('name' => array('title' => _NAME, 'type' => 'textbox', 'width' => '210px', 'required' => true, 'readonly' => false, 'maxlength' => '50', 'validation_type' => 'text'), 'symbol' => array('title' => _SYMBOL, 'type' => 'textbox', 'width' => '50px', 'required' => true, 'readonly' => false, 'maxlength' => '5', 'validation_type' => 'text'), 'symbol_placement' => array('title' => _SYMBOL_PLACEMENT, 'type' => 'enum', 'required' => true, 'readonly' => false, 'width' => '100px', 'source' => $arr_symbol_placement), 'code' => array('title' => _CODE, 'type' => 'textbox', 'width' => '50px', 'required' => true, 'readonly' => false, 'maxlength' => '3', 'validation_type' => 'alpha'), 'rate' => array('title' => _RATE, 'type' => 'textbox', 'width' => '80px', 'required' => true, 'readonly' => false, 'maxlength' => '10', 'validation_type' => 'float', 'validation_maximum' => '999999'), 'decimals' => array('title' => _DECIMALS, 'type' => 'enum', 'required' => true, 'readonly' => false, 'width' => '80px', 'source' => $arr_decimals, 'default' => '2'), 'primary_order' => array('title' => _ORDER, 'type' => 'textbox', 'width' => '40px', 'required' => true, 'readonly' => false, 'maxlength' => '2', 'validation_type' => 'numeric'), 'is_default' => array('title' => _DEFAULT, 'type' => 'checkbox', 'readonly' => false, 'default' => '0', 'true_value' => '1', 'false_value' => '0'), 'is_active' => array('title' => _ACTIVE, 'type' => 'checkbox', 'readonly' => false, 'default' => '1', 'true_value' => '1', 'false_value' => '0')); //---------------------------------------------------------------------- // EDIT MODE //---------------------------------------------------------------------- $this->EDIT_MODE_SQL = 'SELECT ' . $this->primaryKey . ', name, symbol, symbol_placement, code, rate, decimals, primary_order, is_default, is_active FROM ' . $this->tableName . ' WHERE ' . $this->tableName . '.' . $this->primaryKey . ' = _RID_'; $rid = MicroGrid::GetParameter('rid'); $sql = 'SELECT is_default FROM ' . TABLE_CURRENCIES . ' WHERE id = ' . (int) $rid; $readonly = false; if ($result = database_query($sql, DATA_ONLY, FIRST_ROW_ONLY)) { $readonly = isset($result['is_default']) && $result['is_default'] == '1' ? true : false; } // define edit mode fields $this->arrEditModeFields = array('name' => array('title' => _NAME, 'type' => 'textbox', 'width' => '210px', 'required' => true, 'readonly' => false, 'maxlength' => '50', 'validation_type' => 'text'), 'symbol' => array('title' => _SYMBOL, 'type' => 'textbox', 'width' => '50px', 'required' => true, 'readonly' => false, 'maxlength' => '5', 'validation_type' => 'text'), 'symbol_placement' => array('title' => _SYMBOL_PLACEMENT, 'type' => 'enum', 'required' => true, 'readonly' => false, 'width' => '100px', 'source' => $arr_symbol_placement), 'code' => array('title' => _CODE, 'type' => 'textbox', 'width' => '50px', 'required' => true, 'readonly' => false, 'maxlength' => '3', 'validation_type' => 'alpha'), 'rate' => array('title' => _RATE, 'type' => 'textbox', 'width' => '80px', 'required' => true, 'readonly' => $readonly, 'maxlength' => '10', 'validation_type' => 'float', 'validation_maximum' => '999999'), 'decimals' => array('title' => _DECIMALS, 'type' => 'enum', 'required' => true, 'readonly' => false, 'width' => '80px', 'source' => $arr_decimals), 'primary_order' => array('title' => _ORDER, 'type' => 'textbox', 'width' => '40px', 'required' => true, 'readonly' => false, 'maxlength' => '2', 'validation_type' => 'numeric'), 'is_default' => array('title' => _DEFAULT, 'type' => 'checkbox', 'readonly' => $readonly, 'default' => '0', 'true_value' => '1', 'false_value' => '0'), 'is_active' => array('title' => _ACTIVE, 'type' => 'checkbox', 'readonly' => $readonly, 'default' => '1', 'true_value' => '1', 'false_value' => '0')); //---------------------------------------------------------------------- // DETAILS MODE //---------------------------------------------------------------------- $this->DETAILS_MODE_SQL = $this->EDIT_MODE_SQL; $this->arrDetailsModeFields = array('name' => array('title' => _NAME, 'type' => 'label'), 'symbol' => array('title' => _SYMBOL, 'type' => 'label'), 'symbol_placement' => array('title' => _SYMBOL_PLACEMENT, 'type' => 'label'), 'code' => array('title' => _CODE, 'type' => 'label'), 'rate' => array('title' => _RATE, 'type' => 'label', 'format' => 'currency', 'format_parameter' => $currency_format . '|4'), 'decimals' => array('title' => _DECIMALS, 'type' => 'enum', 'source' => $arr_decimals), 'primary_order' => array('title' => _ORDER, 'type' => 'label'), 'is_default' => array('title' => _DEFAULT, 'type' => 'enum', 'source' => $arr_is_default), 'is_active' => array('title' => _ACTIVE, 'type' => 'enum', 'source' => $arr_is_active)); }
/** * Draw prepayment info * @param $draw */ public static function DrawPrepayment($plan_id = '', $payment_type = '', $currency = '', $draw = true) { global $objSettings, $objLogin; $plan_id = empty($plan_id) ? MicroGrid::GetParameter('plan_id', false) : $plan_id; $payment_type = empty($payment_type) ? MicroGrid::GetParameter('payment_type', false) : $payment_type; $currency = empty($currency) ? MicroGrid::GetParameter('currency', false) : $currency; $output = ''; // retrieve module parameters $paypal_email = ModulesSettings::Get('payments', 'paypal_email'); $collect_credit_card = ModulesSettings::Get('payments', 'online_collect_credit_card'); $two_checkout_vendor = ModulesSettings::Get('payments', 'two_checkout_vendor'); $authorize_login_id = ModulesSettings::Get('payments', 'authorize_login_id'); $authorize_transaction_key = ModulesSettings::Get('payments', 'authorize_transaction_key'); $mode = ModulesSettings::Get('payments', 'mode'); $vat_value = ModulesSettings::Get('payments', 'vat_value'); // retrieve credit card info $cc_type = isset($_REQUEST['cc_type']) ? prepare_input($_REQUEST['cc_type']) : ''; $cc_holder_name = isset($_POST['cc_holder_name']) ? prepare_input($_POST['cc_holder_name']) : ''; $cc_number = isset($_POST['cc_number']) ? prepare_input($_POST['cc_number']) : ""; $cc_expires_month = isset($_POST['cc_expires_month']) ? prepare_input($_POST['cc_expires_month']) : "1"; $cc_expires_year = isset($_POST['cc_expires_year']) ? prepare_input($_POST['cc_expires_year']) : date("Y"); $cc_cvv_code = isset($_POST['cc_cvv_code']) ? prepare_input($_POST['cc_cvv_code']) : ""; // prepare datetime format $field_date_format = get_datetime_format(); $currency_format = get_currency_format(); $arr_durations = self::PrepareDurationsArray(); // prepare clients info $sql = 'SELECT * FROM ' . TABLE_CUSTOMERS . ' WHERE id = ' . (int) $objLogin->GetLoggedID(); $result = database_query($sql, DATA_AND_ROWS, FIRST_ROW_ONLY); $client_info = array(); $client_info['first_name'] = isset($result[0]['first_name']) ? $result[0]['first_name'] : ''; $client_info['last_name'] = isset($result[0]['last_name']) ? $result[0]['last_name'] : ''; $client_info['address1'] = isset($result[0]['b_address']) ? $result[0]['b_address'] : ''; $client_info['address2'] = isset($result[0]['b_address2']) ? $result[0]['b_address2'] : ''; $client_info['city'] = isset($result[0]['b_city']) ? $result[0]['b_city'] : ''; $client_info['state'] = isset($result[0]['b_state']) ? $result[0]['b_state'] : ''; $client_info['zip'] = isset($result[0]['b_zipcode']) ? $result[0]['b_zipcode'] : ''; $client_info['country'] = isset($result[0]['b_country']) ? $result[0]['b_country'] : ''; $client_info['email'] = isset($result[0]['email']) ? $result[0]['email'] : ''; $client_info['company'] = isset($result[0]['company']) ? $result[0]['company'] : ''; $client_info['phone'] = isset($result[0]['phone']) ? $result[0]['phone'] : ''; $client_info['fax'] = isset($result[0]['fax']) ? $result[0]['fax'] : ''; if ($cc_holder_name == '') { if ($objLogin->IsLoggedIn()) { $cc_holder_name = $objLogin->GetLoggedFirstName() . ' ' . $objLogin->GetLoggedLastName(); } else { $cc_holder_name = $client_info['first_name'] . ' ' . $client_info['last_name']; } } // get order number $sql = 'SELECT id, order_number FROM ' . TABLE_ORDERS . ' WHERE customer_id = ' . (int) $objLogin->GetLoggedID() . ' AND status = 0 ORDER BY id DESC'; $result = database_query($sql, DATA_AND_ROWS, FIRST_ROW_ONLY); if ($result[1] > 0) { $order_number = $result[0]['order_number']; } else { $order_number = strtoupper(get_random_string(10)); } $additional_info = ''; $cart_total_wo_vat = 0; $vat_cost = 0; $cart_total = 0; $sql = 'SELECT ap.id, ap.listings_count, ap.price, ap.duration, ap.is_default, apd.name, apd.description FROM ' . TABLE_ADVERTISE_PLANS . ' ap LEFT OUTER JOIN ' . TABLE_ADVERTISE_PLANS_DESCRIPTION . ' apd ON ap.id = apd.advertise_plan_id AND apd.language_id = \'' . Application::Get('lang') . '\' WHERE ap.id = ' . (int) $plan_id; $result = database_query($sql, DATA_AND_ROWS, FIRST_ROW_ONLY); $fisrt_part = '<table border="0" width="97%" align="center"> <tr><td colspan="3"><h4>' . _ORDER_DESCRIPTION . '</h4></td></tr> <tr><td width="20%">' . _ORDER_DATE . ' </td><td width="2%"> : </td><td> ' . format_datetime(date('Y-m-d H:i:s'), $field_date_format) . '</td></tr>'; if ($result[1] > 0) { if ($result[0]['price'] == 0) { $payment_type = 'online'; $collect_credit_card = 'no'; } $cart_total_wo_vat = $result[0]['price'] * Application::Get('currency_rate'); $vat_cost = $cart_total_wo_vat * ($vat_value / 100); $cart_total = $cart_total_wo_vat + $vat_cost; $duration = isset($arr_durations[$result[0]['duration']]) ? $arr_durations[$result[0]['duration']] : ''; $fisrt_part .= '<tr><td>' . _ADVERTISE_PLAN . ' </td><td width="2%"> : </td><td> ' . $result[0]['name'] . '</td></tr>'; $fisrt_part .= '<tr><td>' . _DURATION . ' </td><td width="2%"> : </td><td> ' . $duration . '</td></tr>'; $fisrt_part .= '<tr><td>' . _LISTINGS . ' </td><td width="2%"> : </td><td> ' . $result[0]['listings_count'] . '</td></tr>'; $fisrt_part .= '<tr><td>' . _PRICE . ' </td><td width="2%"> : </td><td> ' . Currencies::PriceFormat($cart_total_wo_vat) . '</td></tr>'; $fisrt_part .= '<tr><td>' . _DESCRIPTION . ' </td><td width="2%"> : </td><td> ' . $result[0]['description'] . '</td></tr>'; } $pp_params = array('api_login' => '', 'transaction_key' => '', 'order_number' => $order_number, 'address1' => $client_info['address1'], 'address2' => $client_info['address2'], 'city' => $client_info['city'], 'zip' => $client_info['zip'], 'country' => $client_info['country'], 'state' => $client_info['state'], 'first_name' => $client_info['first_name'], 'last_name' => $client_info['last_name'], 'email' => $client_info['email'], 'company' => $client_info['company'], 'phone' => $client_info['phone'], 'fax' => $client_info['fax'], 'notify' => '', 'return' => 'index.php?page=payment_return', 'cancel_return' => 'index.php?page=payment_cancel', 'paypal_form_type' => '', 'paypal_form_fields' => '', 'paypal_form_fields_count' => '', 'collect_credit_card' => $collect_credit_card, 'cc_type' => '', 'cc_holder_name' => '', 'cc_number' => '', 'cc_cvv_code' => '', 'cc_expires_month' => '', 'cc_expires_year' => '', 'currency_code' => Application::Get('currency_code'), 'additional_info' => $additional_info, 'discount_value' => '', 'extras_param' => '', 'extras_sub_total' => '', 'vat_cost' => $vat_cost, 'cart_total' => number_format((double) $cart_total, (int) Application::Get('currency_decimals'), '.', ','), 'is_prepayment' => false, 'pre_payment_type' => '', 'pre_payment_value' => 0); $fisrt_part .= ' <tr><td colspan="3" nowrap="nowrap" height="10px"></td></tr> <tr><td colspan="3"><h4>' . _TOTAL . '</h4></td></tr> <tr><td>' . _SUBTOTAL . ' </td><td> : </td><td> ' . Currencies::PriceFormat($cart_total_wo_vat, '', '', $currency_format) . '</td></tr>'; $fisrt_part .= '<tr><td>' . _VAT . ' (' . $vat_value . '%) </td><td> : </td><td> ' . Currencies::PriceFormat($vat_cost, '', '', $currency_format) . '</td></tr>'; $fisrt_part .= '<tr><td>' . _PAYMENT_SUM . ' </td><td> : </td><td> <b>' . Currencies::PriceFormat($cart_total, '', '', $currency_format) . '</b></td></tr>'; $fisrt_part .= '<tr><td colspan="3" nowrap="nowrap" height="0px"></td></tr>'; $fisrt_part .= '<tr><td colspan="3">'; //if($additional_info != ''){ // $fisrt_part .= '<tr><td colspan="3" nowrap height="10px"></td></tr>'; // $fisrt_part .= '<tr><td colspan="3"><h4>'._ADDITIONAL_INFO.'</h4>'.$additional_info.'</td></tr>'; //} $second_part = ' </td></tr> </table><br />'; if ($payment_type == 'online') { $output .= $fisrt_part; $pp_params['credit_card_required'] = $collect_credit_card; $pp_params['cc_type'] = $cc_type; $pp_params['cc_holder_name'] = $cc_holder_name; $pp_params['cc_number'] = $cc_number; $pp_params['cc_cvv_code'] = $cc_cvv_code; $pp_params['cc_expires_month'] = $cc_expires_month; $pp_params['cc_expires_year'] = $cc_expires_year; $output .= PaymentIPN::DrawPaymentForm('online', $pp_params, $mode == 'TEST MODE' ? 'test' : 'real', false); $output .= $second_part; } else { if ($payment_type == 'paypal') { $output .= $fisrt_part; $pp_params['api_login'] = $paypal_email; $pp_params['notify'] = 'index.php?page=payment_notify_paypal'; $pp_params['paypal_form_type'] = 'single'; $pp_params['paypal_form_fields'] = ''; $pp_params['paypal_form_fields_count'] = ''; $output .= PaymentIPN::DrawPaymentForm('paypal', $pp_params, $mode == 'TEST MODE' ? 'test' : 'real', false); $output .= $second_part; } else { if ($payment_type == '2co') { $output .= $fisrt_part; $pp_params['api_login'] = $two_checkout_vendor; $pp_params['notify'] = 'index.php?page=payment_notify_2co'; $output .= PaymentIPN::DrawPaymentForm('2co', $pp_params, $mode == 'TEST MODE' ? 'test' : 'real', false); $output .= $second_part; } else { if ($payment_type == 'authorize') { $output .= $fisrt_part; $pp_params['api_login'] = $authorize_login_id; $pp_params['transaction_key'] = $authorize_transaction_key; $pp_params['notify'] = 'index.php?page=payment_notify_autorize_net'; // authorize.net accepts only USD, so we need to convert the sum into USD $pp_params['cart_total'] = number_format($pp_params['cart_total'] * Application::Get('currency_rate'), '2', '.', ','); $output .= PaymentIPN::DrawPaymentForm('authorize.net', $pp_params, $mode == 'TEST MODE' ? 'test' : 'real', false); $output .= $second_part; } } } } if ($draw) { echo $output; } else { $output; } }