osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

3 Pages V  < 1 2 3  
Reply to this topicStart new topic
> [installation] Cybermut - CIC (creload5)
Mi6
posté 17 May 2004, 13:23
Message #51


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 260
Inscrit : 29-July 03
Membre no 1348



Bonjour,

au niveau du serveur ça tourne sous Linux 2.4.26-mutu-piv.
Mon os commerce est ms2 et j'ai utilisé la contribution cybermut_open1.02.zip

En faite ça coince vraiment au niveau du retour de la banque, j'ai bien donné la bonne adresse à la banque et le problème vient de la contribution.

D'après le cic, le soucis vient de là :

<b>Warning</b>: main(includes/add_ccgvdc_application_top.php): failed to open stream: No such file or directory in <b>/home/alice/www/sites/gemeco-boutique/cmcic_response.php</b> on line <b>24</b><br />
<br />
<b>Fatal error</b>: main(): Failed opening required 'includes/add_ccgvdc_application_top.php' (include_path='.:/usr/local/lib/php') in <b>/home/alice/www/sites/gemeco-boutique/cmcic_response.php</b> on line <b>24</b><br />


Merci par avance.
David


--------------------
Version utilisée : ms2
Go to the top of the page
 
ipolis
posté 17 May 2004, 14:28
Message #52


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 81
Inscrit : 9-May 04
Lieu : Poitou-Charentes
Membre no 2448



Tu as tout a fait raison bioskop sur la localisation de mon problème (contrib plus haut) et je t'en remercie vivement pour ta lecture éclairée.

Je viens de demander sur le champ les modifications par Mail au CIC (CM)
pour renvoyer sur le bon lien le cmcic_response.php

Je tiens au courant le forum de "mes avancées".

----------------------------------------------------------------------

2eme INTEROGGATION au sujet du Paiement Cybermut

J'ai des sites situés sur le meme hébargement et localisés dans des sous-repertoires différents (pour le meme commercant)

www.site1.com
www.site1com/site_os_commerce/
(accessible par www.site2.com)
www.site1.com/site_petites_annonces_pro_payantes/
(accessible par www.site3.com)

En lisant les docs envoyés par le CIC - CM, ils me disent qu'un meme TPE commercant (fichier xxxxxx.key) peut servir au meme commercant pour plusieurs sites.

Ma question :
Quelqu'un utilise t'il CIC-CM sur le FORUM pour un site Os-COmmerce et un autre site payant du meme commercant ??

Précaution, comment mettre en place, info a fournir au CIC-CM, etc...
Merci de votre experience sur le sujet.

--------------------
* Sous CreLoad5 de ciju et Delaballe


--------------------
MS2 2.3 FR avec des contribs ajoutées et du code, du code, du code.. :
Contribs: Module livraison par Pays et Zones, Autosauve, low stock,Product description, Google Position, seo, Google XML Sitemap - Admin 2.x, dhtmlcategories10, product-tabsv1-3_french, Products On Order 1.2 - Heb: Mutualisé OVH PRO
Go to the top of the page
 
ipolis
posté 17 May 2004, 15:01
Message #53


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 81
Inscrit : 9-May 04
Lieu : Poitou-Charentes
Membre no 2448



inho,

regarde du cote de l'intégration de la contribution [ccgvdc]
(Il soit s'agir des conditions générale de Vente.)

Sous Crelaod 5, c'est une contrib a rajouter (erreus possibles à l'intégration de ton coté)
Sous MS2, c'est natif à priori, non ?

A suivre..

Ipolis.


--------------------
MS2 2.3 FR avec des contribs ajoutées et du code, du code, du code.. :
Contribs: Module livraison par Pays et Zones, Autosauve, low stock,Product description, Google Position, seo, Google XML Sitemap - Admin 2.x, dhtmlcategories10, product-tabsv1-3_french, Products On Order 1.2 - Heb: Mutualisé OVH PRO
Go to the top of the page
 
ipolis
posté 17 May 2004, 15:51
Message #54


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 81
Inscrit : 9-May 04
Lieu : Poitou-Charentes
Membre no 2448




Bonjour ou bonsoir,

{ Crelaod 5 Fr et CIC - CM }

Le CIC - CM a fait les Modifs sur le lien de retour.

Ca fonctionne partielement ENFIN cote retour 'cmcic_response.php '
vu et trouvé. MERCI Bioskop

cà plante maintenant dans la suite au niveau des Sessions :

Visiblement des <br /> qui devrait etre des <br>
Mais ces <br /> proviennent du 'cmcic_response.php' que je joint en annexe 2
(j'a tout checké, je ne vois pas d'erreur en / ou encore en \ ...

Merci de m'aider pour achever cela.
Bien à toi,
Ipolis.
____________________________________________________________________
ANNEXE 1
------------
REPONSE DE VOTRE CGI DE CONFIRMATION :
HTTP/1.1 200 OK
Date: Mon, 17 May 2004 14:23:22 GMT
Server: Apache
X-Powered-By: PHP/4.3.6
Connection: close
Content-Type: text/html


<br />
<b>Warning</b>: session_start(): open(SESSION_WRITE_DIRECTORY/sess_1f051c232b461215fba8650550808387, O_RDWR) failed: No such file or directory (2) in <b>/home/aathems/www/megasieges/includes/functions/sessions.php</b> on line <b>60</b><br />
<br />
<b>Warning</b>: session_start(): Cannot send session cookie - headers already sent by (output started at /home/aathems/www/megasieges/includes/functions/sessions.php:60) in <b>/home/aathems/www/megasieges/includes/functions/sessions.php</b> on line <b>60</b><br />
<br />
<b>Warning</b>: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/aathems/www/megasieges/includes/functions/sessions.php:60) in <b>/home/aathems/www/megasieges/includes/functions/sessions.php</b> on line <b>60</b><br />
<br />
<b>Warning</b>: reset(): Passed variable is not an array or object in <b>/home/aathems/www/megasieges/includes/modules/order_total/ot_tax.php</b> on line <b>22</b><br />
<br />
<b>Warning</b>: Variable passed to each() is not an array or object in <b>/home/aathems/www/megasieges/includes/modules/order_total/ot_tax.php</b> on line <b>23</b><br />
Content-type: text/plain
Version: 1
OK<br />
<b>Warning</b>: Unknown(): open(SESSION_WRITE_DIRECTORY/sess_1f051c232b461215fba8650550808387, O_RDWR) failed: No such file or directory (2) in <b>Unknown</b> on line <b>0</b><br />
<br />
<b>Warning</b>: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (SESSION_WRITE_DIRECTORY) in <b>Unknown</b> on line <b>0</b><br />
_______________________
ANNEXE 2
------------

<?php

/**
* Traite la reponse de la banque au commercant, renvoi sur checkout_process pour validation de la commande
*
* $Id$ cmcic_response.php v 1.0 30/01/2004
*
* Contribution par E. DA MOTA aka Vilain Mamuth (vilain_mamuth@yahoo.com)
* Copyright 2003 MaCCS - Body's Cult http://www.bodyscult.com
*/
// remplace application top, enleve la contrainte du cookie qui n'existe pas lorsque le serveur de la banque envoi son code retour
// l'id de session est recupere à partir du champ texte-libre renvoyé par CM - CIC

// set the level of error reporting
error_reporting(E_ALL &~E_NOTICE);

//recuparation des données renvoyées par la banque
$request_method = $HTTP_SERVER_VARS["REQUEST_METHOD"];
$wRequestVars = "HTTP_" . $request_method . "_VARS";
$RequestVars = ${$wRequestVars};


// include server parameters
require('includes/configure.php');

if ($request_type == 'NONSSL') {
define('DIR_WS_CATALOG', DIR_WS_HTTP_CATALOG);
} else {
define('DIR_WS_CATALOG', DIR_WS_HTTPS_CATALOG);
}
// include the list of project filenames

//require(DIR_WS_INCLUDES . 'filenames.php');

define('FILENAME_ACCOUNT', 'account.php');
define('FILENAME_ACCOUNT_EDIT', 'account_edit.php');
define('FILENAME_ACCOUNT_EDIT_PROCESS', 'account_edit_process.php');
define('FILENAME_ACCOUNT_HISTORY', 'account_history.php');
define('FILENAME_ACCOUNT_HISTORY_INFO', 'account_history_info.php');
define('FILENAME_ADDRESS_BOOK', 'address_book.php');
define('FILENAME_ADDRESS_BOOK_PROCESS', 'address_book_process.php');
define('FILENAME_ADVANCED_SEARCH', 'advanced_search.php');
define('FILENAME_ADVANCED_SEARCH_RESULT', 'advanced_search_result.php');
define('FILENAME_ALSO_PURCHASED_PRODUCTS', 'also_purchased_products.php'); // This is the bottom of product_info.php (found in modules)
define('FILENAME_CCVAL_FUNCTION', 'ccval.php');
define('FILENAME_CHECKOUT_ADDRESS', 'checkout_address.php');
define('FILENAME_CHECKOUT_CONFIRMATION', 'checkout_confirmation.php');
define('FILENAME_CHECKOUT_PAYMENT', 'checkout_payment.php');
define('FILENAME_CHECKOUT_PAYMENT_ADDRESS', 'checkout_payment_address.php');
define('FILENAME_CHECKOUT_PROCESS', 'checkout_process.php');
define('FILENAME_CHECKOUT_SHIPPING', 'checkout_shipping.php');
define('FILENAME_CHECKOUT_SHIPPING_ADDRESS', 'checkout_shipping_address.php');
define('FILENAME_CHECKOUT_SUCCESS', 'checkout_success.php');
define('FILENAME_CONTACT_US', 'contact_us.php');
define('FILENAME_CONDITIONS', 'conditions.php');
define('FILENAME_CREATE_ACCOUNT', 'create_account.php');
define('FILENAME_CREATE_ACCOUNT_PROCESS', 'create_account_process.php');
define('FILENAME_CREATE_ACCOUNT_SUCCESS', 'create_account_success.php');
define('FILENAME_DEFAULT', 'default.php');
define('FILENAME_DOWNLOAD', 'download.php');
define('FILENAME_INFO_SHOPPING_CART', 'info_shopping_cart.php');
define('FILENAME_LOGIN', 'login.php');
define('FILENAME_LOGOFF', 'logoff.php');
define('FILENAME_NEW_PRODUCTS', 'new_products.php'); // This is the middle of default.php (found in modules)
define('FILENAME_PASSWORD_CRYPT', 'password_funcs.php');

define('FILENAME_PASSWORD_FORGOTTEN', 'password_forgotten.php');
define('FILENAME_POPUP_IMAGE', 'popup_image.php');
define('FILENAME_POPUP_SEARCH_HELP', 'popup_search_help.php');
define('FILENAME_PRIVACY', 'privacy.php');
define('FILENAME_POLLCOLLECT', 'pollcollect.php');
define('FILENAME_PRODUCT_INFO', 'product_info.php');
define('FILENAME_PRODUCT_LISTING', 'product_listing_col.php');
define('FILENAME_PRODUCT_NOTIFICATIONS', 'product_notifications.php');
define('FILENAME_PRODUCT_REVIEWS', 'product_reviews.php');
define('FILENAME_PRODUCT_REVIEWS_INFO', 'product_reviews_info.php');
define('FILENAME_PRODUCT_REVIEWS_WRITE', 'product_reviews_write.php');
define('FILENAME_PRODUCTS_NEW', 'products_new.php');
define('FILENAME_REDIRECT', 'redirect.php');
define('FILENAME_REVIEWS', 'reviews.php');
define('FILENAME_SHIPPING', 'shipping.php');
define('FILENAME_SHOPPING_CART', 'shopping_cart.php');
define('FILENAME_SPECIALS', 'specials.php');
define('FILENAME_DEFAULT_SPECIALS', 'default_specials.php');
define('FILENAME_TELL_A_FRIEND', 'tell_a_friend.php');
define('FILENAME_TLD', 'tld.txt');
define('FILENAME_UPCOMING_PRODUCTS', 'upcoming_products.php'); // This is the bottom of default.php (found in modules)
define('FILENAME_MEMBERS', 'members.php');

//require(DIR_WS_INCLUDES . 'database_tables.php');

define('TABLE_ADDRESS_BOOK', 'address_book');
define('TABLE_ADDRESS_FORMAT', 'address_format');
define('TABLE_BANNERS', 'banners');
define('TABLE_BANNERS_HISTORY', 'banners_history');
define('TABLE_BRANDING_LANGUAGES', 'branding_languages');
define('TABLE_BRANDING_LANGUAGES_TEXT', 'branding_languages_text');
define('TABLE_CATEGORIES', 'categories');
define('TABLE_CATEGORIES_DESCRIPTION', 'categories_description');
define('TABLE_CONFIGURATION', 'configuration');
define('TABLE_CONFIGURATION_GROUP', 'configuration_group');
define('TABLE_COUNTER', 'counter');
define('TABLE_COUNTER_HISTORY', 'counter_history');
define('TABLE_COUNTRIES', 'countries');
define('TABLE_CURRENCIES', 'currencies');
define('TABLE_CUSTOMERS', 'customers');
define('TABLE_CUSTOMERS_BASKET', 'customers_basket');
define('TABLE_CUSTOMERS_BASKET_ATTRIBUTES', 'customers_basket_attributes');
define('TABLE_CUSTOMERS_INFO', 'customers_info');
define('TABLE_LANGUAGES', 'languages');
define('TABLE_MANUFACTURERS', 'manufacturers');
define('TABLE_MANUFACTURERS_INFO', 'manufacturers_info');
define('TABLE_ORDERS', 'orders');
define('TABLE_ORDERS_PRODUCTS', 'orders_products');
define('TABLE_ORDERS_PRODUCTS_ATTRIBUTES', 'orders_products_attributes');
define('TABLE_ORDERS_PRODUCTS_DOWNLOAD', 'orders_products_download');
define('TABLE_ORDERS_STATUS', 'orders_status');
define('TABLE_ORDERS_STATUS_HISTORY', 'orders_status_history');
define('TABLE_ORDERS_TOTAL', 'orders_total');
define('TABLE_PRODUCTS', 'products');
define('TABLE_PRODUCTS_ATTRIBUTES', 'products_attributes');
define('TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD', 'products_attributes_download');
define('TABLE_PRODUCTS_DESCRIPTION', 'products_description');
define('TABLE_PRODUCTS_NOTIFICATIONS', 'products_notifications');
define('TABLE_PRODUCTS_OPTIONS', 'products_options');
define('TABLE_PRODUCTS_OPTIONS_VALUES', 'products_options_values');
define('TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS', 'products_options_values_to_products_options');
define('TABLE_PRODUCTS_TO_CATEGORIES', 'products_to_categories');
define('TABLE_REVIEWS', 'reviews');
define('TABLE_REVIEWS_DESCRIPTION', 'reviews_description');
define('TABLE_SESSIONS', 'sessions');
define('TABLE_SPECIALS', 'specials');
define('TABLE_TAX_CLASS', 'tax_class');
define('TABLE_TAX_RATES', 'tax_rates');
define('TABLE_GEO_ZONES', 'geo_zones');
define('TABLE_ZONES_TO_GEO_ZONES', 'zones_to_geo_zones');
define('TABLE_WHOS_ONLINE', 'whos_online');
define('TABLE_ZONES', 'zones');

// include the database functions
require(DIR_WS_FUNCTIONS . 'database.php');
// make a connection to the database... now
tep_db_connect() or die('Unable to connect to database server!');
// set the application parameters
$configuration_query = tep_db_query('select configuration_key as cfgKey, configuration_value as cfgValue from ' . TABLE_CONFIGURATION);
while ($configuration = tep_db_fetch_array($configuration_query)) {
define($configuration['cfgKey'], $configuration['cfgValue']);
}
// define general functions used application-wide
require(DIR_WS_FUNCTIONS . 'general.php');
require(DIR_WS_FUNCTIONS . 'html_output.php');
require(DIR_WS_FUNCTIONS . 'webmakers_added_functions.php');
// include shopping cart class
require(DIR_WS_CLASSES . 'shopping_cart.php');
// check if sessions are supported, otherwise use the php3 compatible session class
if (!function_exists('session_start')) {
define('PHP_SESSION_NAME', 'osCsid');
define('PHP_SESSION_PATH', $cookie_path);
define('PHP_SESSION_DOMAIN', $cookie_domain);
define('PHP_SESSION_SAVE_PATH', SESSION_WRITE_DIRECTORY);

include(DIR_WS_CLASSES . 'sessions.php');
}
// define how the session functions will be used
require(DIR_WS_FUNCTIONS . 'sessions.php');
// set the session name and save path
tep_session_name('osCsid');
tep_session_save_path(SESSION_WRITE_DIRECTORY);
// ********************************************************************************************************************
// recuperation de l'id de session contenu dans texte-libre
tep_session_id($RequestVars['texte-libre']);
// ********************************************************************************************************************
// start the session
$session_started = false;
tep_session_start();
$session_started = true;
// create the shopping cart & fix the cart if necesary
if (tep_session_is_registered('cart') && is_object($cart)) {
if (PHP_VERSION < 4) {
$broken_cart = $cart;
$cart = new shoppingCart;
$cart->unserialize($broken_cart);
}
} else {
tep_session_register('cart');
$cart = new shoppingCart;
}
// include currencies class and create an instance
require(DIR_WS_CLASSES . 'currencies.php');
$currencies = new currencies();
// include the mail classes
require(DIR_WS_CLASSES . 'mime.php');
require(DIR_WS_CLASSES . 'email.php');
// set the language
if (!tep_session_is_registered('language') || isset($HTTP_GET_VARS['language'])) {
if (!tep_session_is_registered('language')) {
tep_session_register('language');
tep_session_register('languages_id');
}

include(DIR_WS_CLASSES . 'language.php');
$lng = new language();

if (isset($HTTP_GET_VARS['language']) && tep_not_null($HTTP_GET_VARS['language'])) {
$lng->set_language($HTTP_GET_VARS['language']);
} else {
$lng->get_browser_language();
}

$language = $lng->language['directory'];
$languages_id = $lng->language['id'];
}
// include the language translations
require(DIR_WS_LANGUAGES . $language . '.php');
// currency
if (!tep_session_is_registered('currency') || isset($HTTP_GET_VARS['currency']) || ((USE_DEFAULT_LANGUAGE_CURRENCY == 'true') && (LANGUAGE_CURRENCY != $currency))) {
if (!tep_session_is_registered('currency')) tep_session_register('currency');

if (isset($HTTP_GET_VARS['currency'])) {
if (!$currency = tep_currency_exists($HTTP_GET_VARS['currency'])) $currency = (USE_DEFAULT_LANGUAGE_CURRENCY == 'true') ? LANGUAGE_CURRENCY : DEFAULT_CURRENCY;
} else {
$currency = (USE_DEFAULT_LANGUAGE_CURRENCY == 'true') ? LANGUAGE_CURRENCY : DEFAULT_CURRENCY;
}
}
// ________________________________________________________________________________________________________________
include(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_PROCESS);
// load selected payment module
include(DIR_WS_MODULES . 'payment/cmcic.php');
$payment_modules = new cmcic();

// load selected payment module
// require(DIR_WS_CLASSES . 'payment.php');
// $payment_modules = new payment($payment);


// load the selected shipping module
require(DIR_WS_CLASSES . 'shipping.php');
$shipping_modules = new shipping($shipping);


require(DIR_WS_CLASSES . 'order.php');
$order = new order;

require(DIR_WS_CLASSES . 'order_total.php');
$order_total_modules = new order_total;
// on verifie que c bien la banque qui repond par le check du MAC
if (!$payment_modules->checkMAC($RequestVars)) {
// qqch ne va pas dans la requete, on previent la banque et on arrete tout
$payment_modules->sendAR("NotValid");
} else {
// le MAC est correct, on regarde le code retour
switch ($RequestVars['code-retour']) {
case "Annulation" :
tep_mail(STORE_NAME . ': CYBERMUT', STORE_OWNER_EMAIL_ADDRESS , "Commande Annulée : " . $RequestVars['reference'],
"Cette commande a été annulée", STORE_NAME, STORE_OWNER_EMAIL_ADDRESS);
$payment_modules->sendAR("Valid");
break;
case "payetest":
case "paiement":
// on procede à la validation de la commande et on envoi l'accusé de réception;
// ------------------ copie du code de checkout_process, uniquement ce qu'il faut pour valider la commande ----------------
// attention à certaines contributions qui sont suceptibles de demander la modification de checkout_process, les modifs sont à apporter aussi ici
// Validation de la commande
$order_totals = $order_total_modules->process();

$sql_data_array = array('customers_id' => $customer_id,
'customers_name' => $order->customer['firstname'] . ' ' . $order->customer['lastname'],
'customers_company' => $order->customer['company'],
'customers_street_address' => $order->customer['street_address'],
'customers_suburb' => $order->customer['suburb'],
'customers_city' => $order->customer['city'],
'customers_postcode' => $order->customer['postcode'],
'customers_state' => $order->customer['state'],
'customers_country' => $order->customer['country']['title'],
'customers_telephone' => $order->customer['telephone'],
'customers_email_address' => $order->customer['email_address'],
'customers_address_format_id' => $order->customer['format_id'],
'delivery_name' => $order->delivery['firstname'] . ' ' . $order->delivery['lastname'],
'delivery_company' => $order->delivery['company'],
'delivery_street_address' => $order->delivery['street_address'],
'delivery_suburb' => $order->delivery['suburb'],
'delivery_city' => $order->delivery['city'],
'delivery_postcode' => $order->delivery['postcode'],
'delivery_state' => $order->delivery['state'],
'delivery_country' => $order->delivery['country']['title'],
'delivery_address_format_id' => $order->delivery['format_id'],
'billing_name' => $order->billing['firstname'] . ' ' . $order->billing['lastname'],
'billing_company' => $order->billing['company'],
'billing_street_address' => $order->billing['street_address'],
'billing_suburb' => $order->billing['suburb'],
'billing_city' => $order->billing['city'],
'billing_postcode' => $order->billing['postcode'],
'billing_state' => $order->billing['state'],
'billing_country' => $order->billing['country']['title'],
'billing_address_format_id' => $order->billing['format_id'],
'payment_method' => $order->info['payment_method'],
'cc_type' => $order->info['cc_type'],
'cc_owner' => $order->info['cc_owner'],
'cc_number' => $order->info['cc_number'],
'cc_expires' => $order->info['cc_expires'],
'date_purchased' => 'now()',
'orders_status' => $order->info['order_status'],
'currency' => $order->info['currency'],
'currency_value' => $order->info['currency_value']);
tep_db_perform(TABLE_ORDERS, $sql_data_array);
$insert_id = tep_db_insert_id();
for ($i=0; $i<sizeof($order_totals); $i++) {
$sql_data_array = array('orders_id' => $insert_id,
'title' => $order_totals[$i]['title'],
'text' => $order_totals[$i]['text'],
'value' => $order_totals[$i]['value'],
'class' => $order_totals[$i]['code'],
'sort_order' => $order_totals[$i]['sort_order']);
tep_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array);
}

$customer_notification = (SEND_EMAILS == 'true') ? '1' : '0';
$sql_data_array = array('orders_id' => $insert_id,
'orders_status_id' => $order->info['order_status'],
'date_added' => 'now()',
'customer_notified' => $customer_notification,
'comments' => $order->info['comments']);
tep_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array);
// initialized for the email confirmation
$products_ordered = '';
$subtotal = 0;
$total_tax = 0;

for ($i=0; $i<sizeof($order->products); $i++) {
// Stock Update - Joao Correia
if (STOCK_LIMITED == 'true') {
if ((DOWNLOAD_ENABLED == 'true') && isset($attributes_values['products_attributes_filename']) && tep_not_null($attributes_values['products_attributes_filename'])) {
$stock_query_raw = "SELECT products_quantity, pad.products_attributes_filename
FROM " . TABLE_PRODUCTS . " p
LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES . " pa
ON p.products_id=pa.products_id
LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad
ON pa.products_attributes_id=pad.products_attributes_id
WHERE p.products_id = '" . tep_get_prid($order->products[$i]['id']) . "'";
// Will work with only one option for downloadable products
// otherwise, we have to build the query dynamically with a loop
$products_attributes = $order->products[$i]['attributes'];
if (is_array($products_attributes)) {
$stock_query_raw .= " AND pa.options_id = '" . $products_attributes[0]['option_id'] . "' AND pa.options_values_id = '" . $products_attributes[0]['value_id'] . "'";
}
$stock_query = tep_db_query($stock_query_raw);
} else {
$stock_query = tep_db_query("select products_quantity from " . TABLE_PRODUCTS . " where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");
}
if (tep_db_num_rows($stock_query) > 0) {
$stock_values = tep_db_fetch_array($stock_query);
// do not decrement quantities if products_attributes_filename exists
if ((DOWNLOAD_ENABLED != 'true') || (!$stock_values['products_attributes_filename'])) {
$stock_left = $stock_values['products_quantity'] - $order->products[$i]['qty'];
} else {
$stock_left = $stock_values['products_quantity'];
}
tep_db_query("update " . TABLE_PRODUCTS . " set products_quantity = '" . $stock_left . "' where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");
if ($stock_left < 1) {
tep_db_query("update " . TABLE_PRODUCTS . " set products_status = '0' where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");
}
}
}
// Update products_ordered (for bestsellers list)
tep_db_query("update " . TABLE_PRODUCTS . " set products_ordered = products_ordered + " . sprintf('%d', $order->products[$i]['qty']) . " where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");

$sql_data_array = array('orders_id' => $insert_id,
'products_id' => tep_get_prid($order->products[$i]['id']),
'products_model' => $order->products[$i]['model'],
'products_name' => $order->products[$i]['name'],
'products_price' => $order->products[$i]['price'],
'final_price' => $order->products[$i]['final_price'],
'products_tax' => $order->products[$i]['tax'],
'products_quantity' => $order->products[$i]['qty']);
tep_db_perform(TABLE_ORDERS_PRODUCTS, $sql_data_array);
$order_products_id = tep_db_insert_id();
$order_total_modules->update_credit_account($i);//ICW ADDED FOR ORDER_TOTAL CREDIT SYSTEM
//------insert customer choosen option to order--------
$attributes_exist = '0';
$products_ordered_attributes = '';
if ($order->products[$i]['attributes']) {
$attributes_exist = '1';
for ($j=0; $j<sizeof($order->products[$i]['attributes']); $j++) {
if (DOWNLOAD_ENABLED == 'true') {
$attributes_query = "select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix, pad.products_attributes_maxdays, pad.products_attributes_maxcount , pad.products_attributes_filename
from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa
left join " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad
on pa.products_attributes_id=pad.products_attributes_id
where pa.products_id = '" . $order->products[$i]['id'] . "'
and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "'
and pa.options_id = popt.products_options_id
and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "'
and pa.options_values_id = poval.products_options_values_id
and popt.language_id = '" . $languages_id . "'
and poval.language_id = '" . $languages_id . "'";
$attributes = tep_db_query($attributes_query);
} else {
$attributes = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_id = '" . $order->products[$i]['id'] . "' and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . $languages_id . "' and poval.language_id = '" . $languages_id . "'");
}
$attributes_values = tep_db_fetch_array($attributes);

$sql_data_array = array('orders_id' => $insert_id,
'orders_products_id' => $order_products_id,
'products_options' => $attributes_values['products_options_name'],
'products_options_values' => $attributes_values['products_options_values_name'],
'options_values_price' => $attributes_values['options_values_price'],
'price_prefix' => $attributes_values['price_prefix']);
tep_db_perform(TABLE_ORDERS_PRODUCTS_ATTRIBUTES, $sql_data_array);

if (DOWNLOAD_ENABLED == 'true') {
$sql_data_array = array('orders_id' => $insert_id,
'orders_products_id' => $order_products_id,
'orders_products_filename' => $attributes_values['products_attributes_filename'],
'download_maxdays' => $attributes_values['products_attributes_maxdays'],
'download_count' => $attributes_values['products_attributes_maxcount']);
tep_db_perform(TABLE_ORDERS_PRODUCTS_DOWNLOAD, $sql_data_array);
}
$products_ordered_attributes .= "\n\t" . $attributes_values['products_options_name'] . ' ' . $attributes_values['products_options_values_name'];
}
}
//------insert customer choosen option eof ----
$total_weight += ($order->products[$i]['qty'] * $order->products[$i]['weight']);
$total_tax += tep_calculate_tax($total_products_price, $products_tax) * $order->products[$i]['qty'];
$total_cost += $total_products_price;

$products_ordered .= $order->products[$i]['qty'] . ' x ' . $order->products[$i]['name'] . ' (' . $order->products[$i]['model'] . ') = ' . $currencies->display_price($order->products[$i]['final_price'], $order->products[$i]['tax'], $order->products[$i]['qty']) . $products_ordered_attributes . "\n";
}
$order_total_modules->apply_credit();//ICW ADDED FOR ORDER_TOTAL CREDIT SYSTEM
// lets start with the email confirmation
$email_order = STORE_NAME . "\n" .
EMAIL_SEPARATOR . "\n" .
EMAIL_TEXT_ORDER_NUMBER . ' ' . $insert_id . "\n" .
EMAIL_TEXT_INVOICE_URL . ' ' . tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $insert_id, 'SSL', false) . "\n" .
EMAIL_TEXT_DATE_ORDERED . ' ' . strftime(DATE_FORMAT_LONG) . "\n\n";
if ($order->info['comments']) {
+ $email_order .= tep_db_output($order->info['comments']) . "\n\n";
}
$email_order .= EMAIL_TEXT_PRODUCTS . "\n" .
EMAIL_SEPARATOR . "\n" .
$products_ordered .
EMAIL_SEPARATOR . "\n";

for ($i=0; $i<sizeof($order_totals); $i++) {
$email_order .= strip_tags($order_totals[$i]['title']) . ' ' . strip_tags($order_totals[$i]['text']) . "\n";
}

if ($order->content_type != 'virtual') {
$email_order .= "\n" . EMAIL_TEXT_DELIVERY_ADDRESS . "\n" .
EMAIL_SEPARATOR . "\n" .
tep_address_label($customer_id, $sendto, 0, '', "\n") . "\n";
}

$email_order .= "\n" . EMAIL_TEXT_BILLING_ADDRESS . "\n" .

EMAIL_SEPARATOR . "\n" .
tep_address_label($customer_id, $billto, 0, '', "\n") . "\n\n";
if (is_object($$payment)) {
$email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" .
EMAIL_SEPARATOR . "\n";
$payment_class = $$payment;
$email_order .= $payment_class->title . "\n\n";
if ($payment_class->email_footer) {
$email_order .= $payment_class->email_footer . "\n\n";
}
}
tep_mail($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, nl2br($email_order), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, '');

// send emails to other people
if (SEND_EXTRA_ORDER_EMAILS_TO != '') {
tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_TEXT_SUBJECT, nl2br($email_order), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, '');
}

// load the after_process function from the payment modules
$payment_modules->after_process();

$cart->reset(TRUE);

// unregister session variables used during checkout
tep_session_unregister('sendto');
tep_session_unregister('billto');
tep_session_unregister('shipping');
tep_session_unregister('payment');
$order_total_modules->clear_posts();//ICW ADDED FOR ORDER_TOTAL CREDIT SYSTEM
tep_session_unregister('comments');
// ________________________________________________________________________________________________________________
// on enregistre la valeur de la derniere commande
$order_id = $insert_id;
tep_session_register('order_id');
tep_db_perform('cmcic_reference', array('order_id' => $order_id), 'update', "ref_number='". $RequestVars['reference']. "'");

// traitement terminé, on envoi l'accusé
$payment_modules->sendAR("Valid");
break;
default:
$payment_modules->sendAR("NotValid");
} // switch
// remplacement de application bottom
// close session (store variables)
tep_session_close();
}

?>


--------------------
MS2 2.3 FR avec des contribs ajoutées et du code, du code, du code.. :
Contribs: Module livraison par Pays et Zones, Autosauve, low stock,Product description, Google Position, seo, Google XML Sitemap - Admin 2.x, dhtmlcategories10, product-tabsv1-3_french, Products On Order 1.2 - Heb: Mutualisé OVH PRO
Go to the top of the page
 
khatrine
posté 17 May 2004, 17:32
Message #55


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 168
Inscrit : 14-January 04
Membre no 1831



slt,
Tes sessions sont elles bien sur la base Mysql ?
regarde ds ton configure.php

tu dois avoir define('STORE_SESSIONS', 'mysql');


--------------------
Creload6 + patchs + cybermut
Go to the top of the page
 
Mi6
posté 17 May 2004, 17:38
Message #56


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 260
Inscrit : 29-July 03
Membre no 1348



Oui j'ai vérifier et c'est bien stocké de le msql sad.gif

j'ai encore passé 3h dessus aujourd'hui et j'ai toujours pas trouvé...


--------------------
Version utilisée : ms2
Go to the top of the page
 
khatrine
posté 17 May 2004, 18:13
Message #57


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 168
Inscrit : 14-January 04
Membre no 1831



Ce que je peux te dire ce soir c'est que j ai eu des erreurs de sessions quand j'etais sur la version delaballe suite et je dis bien suite a une erreur de proxy qui garder en memoire.
la seconde j avais pas mis cette option (Mysql)
Une fois tt ces problemes rectifiés cela fonctionné a merveille
Si je peux me permettre suis l intégration de bioskop a la lettre avec les modifs et cela va fonctionner.

Bon courage.


--------------------
Creload6 + patchs + cybermut
Go to the top of the page
 
ipolis
posté 17 May 2004, 21:37
Message #58


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 81
Inscrit : 9-May 04
Lieu : Poitou-Charentes
Membre no 2448





Merci Khatrine, merci Bioskop !!

Ca fonctionne enfin en TEST à 100% (tout est stocké dans la BD + email ok, etc...)
(Creload 5 Delaballe)

Je n'avais pas de stockage des sessions sur la base Mysql..

>>slt,
>>Tes sessions sont elles bien sur la base Mysql ?
>>regarde ds ton configure.php
>>tu dois avoir define('STORE_SESSIONS', 'mysql');

Bonne fin de soirée .
biggrin.gif
Ipolis.


--------------------
MS2 2.3 FR avec des contribs ajoutées et du code, du code, du code.. :
Contribs: Module livraison par Pays et Zones, Autosauve, low stock,Product description, Google Position, seo, Google XML Sitemap - Admin 2.x, dhtmlcategories10, product-tabsv1-3_french, Products On Order 1.2 - Heb: Mutualisé OVH PRO
Go to the top of the page
 
muksu
posté 5 Apr 2005, 18:04
Message #59


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 3
Inscrit : 30-May 04
Membre no 2557



Salut,

Je galére grave pour intégrer ce module CyberMut su une creload 5 et je n'y arrive pas.

Quelqu'un peut il m'aider, je peut rémunérer 50 Euros via PayPal pour ca (ou en chèque)

Si ca interesse quelqu'un. ===> aymeric@virtuavia.com

J'ai ma clef .KEY, nom de société, n° de TPE code FTP et tout et tout

je paie quand ca marche promis

Merci d'avance

Aymeric JALABERT
aymeric@virtuavia.com
Go to the top of the page
 
bioskop
posté 7 Apr 2005, 10:26
Message #60


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 64
Inscrit : 14-April 03
Membre no 1060



Bonjour Aymeric,

Avant de tout déléguer, as-tu essayé de suivre pas-à-pas mon tuto qui se trouve dans ce fil de discussion et qui commence au 9ème posts environ ?

Si oui, indique moi ce qui bloque, et j'essayerai de t'aider (bien que c'est un peu loin tout ça pour moi !!!).

Relis les explications pas à pas et donne nous de tes nouvelles !

Vincent


--------------------
OSC 2.2
Go to the top of the page
 
Mmehdi
posté 5 May 2006, 16:57
Message #61


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 4
Inscrit : 7-March 06
Membre no 9325



Bonjour,

J'ai installé le module CyberMut sur une creload 5 en suivant les instructions de Bioskop.
Seulement j'ai toujours le même problème :

Mon CGI 2 de test renvoie un accusé invalide et ma commande est validée.

Je n'ai rien en dessous de cette ligne dans le mail de retour :

"REPONSE DE VOTRE CGI DE CONFIRMATION : "

De plus mon caddie ne se vide pas et ma comande n'est pas prise en compte.

Quelqu'un aurait il une idée ???

Merci
Go to the top of the page
 

3 Pages V  < 1 2 3
Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 23rd May 2013 - 05:09
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)