code = 'paypal'; $this->title = $aLang['module_payment_paypal_text_title']; $this->description = $aLang['module_payment_paypal_text_description']; $this->sort_order = MODULE_PAYMENT_PAYPAL_SORT_ORDER; $this->enabled = ((MODULE_PAYMENT_PAYPAL_STATUS == 'True') ? true : false); if ((int)MODULE_PAYMENT_PAYPAL_ORDER_STATUS_ID > 0) { $this->order_status = MODULE_PAYMENT_PAYPAL_ORDER_STATUS_ID; } if (is_object($order)) $this->update_status(); # $this->form_action_url = 'https://www.paypal.com/de/cgi-bin/webscr'; } // class methods function update_status() { global $order; if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_PAYPAL_ZONE > 0) ) { $check_flag = false; $db =& oosDBGetConn(); $oosDBTable = oosDBGetTables(); $check_result = $db->Execute("SELECT zone_id FROM " . $oosDBTable['zones_to_geo_zones'] . " WHERE geo_zone_id = '" . MODULE_PAYMENT_PAYPAL_ZONE . "' AND zone_country_id = '" . $order->billing['country']['id'] . "' ORDER BY zone_id"); while ($check = $check_result->fields) { if ($check['zone_id'] < 1) { $check_flag = true; break; } elseif ($check['zone_id'] == $order->billing['zone_id']) { $check_flag = true; break; } $check_result->MoveNext(); } if ($check_flag == false) { $this->enabled = false; } } } function javascript_validation() { return false; } function selection() { return array('id' => $this->code, 'module' => $this->title); } function pre_confirmation_check() { return false; } function confirmation() { return false; } function process_button() { return false; } function before_process() { return false; } function after_process() { global $oOrder, $oCurrencies; $my_currency = 'EUR'; $aFilename = oos_get_filename(); $aModules = oos_get_modules(); $sAmount = number_format(($oOrder->info['total'] - $oOrder->info['shipping_cost']) * $oCurrencies->get_value($my_currency), $oCurrencies->get_decimal_places($my_currency)); $sShipping = number_format($oOrder->info['shipping_cost'] * $oCurrencies->get_value($my_currency), $oCurrencies->get_decimal_places($my_currency)); $sReturn = oos_link($aModules['checkout'], $aFilename['checkout_success'], '', 'SSL'); $sCancel_return = oos_link($aModules['checkout'], $aFilename['checkout_payment'], '', 'SSL'); $sLink = 'https://www.paypal.com/de/cgi-bin/webscr?cmd=_xclick&business=' . MODULE_PAYMENT_PAYPAL_ID . '&item_name= Pop Art von ' . STORE_NAME . '&amount=' . urlencode($sAmount) . '&shipping=' . urlencode($sShipping) . '&return=' . urlencode($sReturn) . '&cancel_return=' . urlencode($sCancel_return) . '¤cy_code=EUR'; oos_redirect($sLink); return false; } function output_error() { return false; } function check() { if (!isset($this->_check)) { $db =& oosDBGetConn(); $oosDBTable = oosDBGetTables(); $check_result = $db->Execute("SELECT configuration_value FROM " . $oosDBTable['configuration'] . " WHERE configuration_key = 'MODULE_PAYMENT_PAYPAL_STATUS'"); $this->_check = $check_result->RecordCount(); } return $this->_check; } function install() { $db =& oosDBGetConn(); $oosDBTable = oosDBGetTables(); $db->Execute("INSERT INTO " . $oosDBTable['configuration'] . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) VALUES ('MODULE_PAYMENT_PAYPAL_STATUS', 'True', '6', '3', 'oosCfgSelectOption(array(\'True\', \'False\'), ', now())"); $db->Execute("INSERT INTO " . $oosDBTable['configuration'] . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) VALUES ('MODULE_PAYMENT_PAYPAL_ID', 'you@yourbusiness.com', '6', '4', now())"); $db->Execute("INSERT INTO " . $oosDBTable['configuration'] . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) VALUES ('MODULE_PAYMENT_PAYPAL_CURRENCY', 'Selected Currency', '6', '6', 'oosCfgSelectOption(array(\'Selected Currency\',\'Only USD\',\'Only CAD\',\'Only EUR\',\'Only GBP\',\'Only JPY\'), ', now())"); $db->Execute("INSERT INTO " . $oosDBTable['configuration'] . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) VALUES ('MODULE_PAYMENT_PAYPAL_SORT_ORDER', '0', '6', '0', now())"); $db->Execute("INSERT INTO " . $oosDBTable['configuration'] . " (configuration_key, configuration_value, configuration_group_id, sort_order, use_function, set_function, date_added) VALUES ('MODULE_PAYMENT_PAYPAL_ZONE', '0', '6', '2', 'oosCfgGetZoneClassTitle', 'oosCfgPullDownZoneClasses(', now())"); $db->Execute("INSERT INTO " . $oosDBTable['configuration'] . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, use_function, date_added) VALUES ('MODULE_PAYMENT_PAYPAL_ORDER_STATUS_ID', '0', '6', '0', 'oosCfgPullDownOrderStatuses(', 'oosCfgGetOrderStatusName', now())"); } function remove() { $db =& oosDBGetConn(); $oosDBTable = oosDBGetTables(); $db->Execute("DELETE FROM " . $oosDBTable['configuration'] . " WHERE configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys() { return array('MODULE_PAYMENT_PAYPAL_STATUS', 'MODULE_PAYMENT_PAYPAL_ID', 'MODULE_PAYMENT_PAYPAL_CURRENCY', 'MODULE_PAYMENT_PAYPAL_ZONE', 'MODULE_PAYMENT_PAYPAL_ORDER_STATUS_ID', 'MODULE_PAYMENT_PAYPAL_SORT_ORDER'); } } ?>