[RESOLU] Approbation Client, Module pour approuver les clients après leur enregistrement |
Bienvenue invité ( Connexion | Inscription )
[RESOLU] Approbation Client, Module pour approuver les clients après leur enregistrement |
29 Sep 2015, 14:36
Message
#1
|
|
Ceinture blanche OSC Groupe : Membres Messages : 15 Inscrit : 25-September 15 Membre no 32660 |
Bonjour,
je suis avec la v2.3.4 et je tente d'adapter la contribe [ Member Approval 1.6 ] J'ai un petit souci avec la page "catalog/login.php" , le code entant bien différent de la contrib à la v2.3.4 . Y a t' il une bonne âme qui ce serai déjà penché sur le sujet ? Voici les modifs à apporter : Code #### [ OPEN ] ################################################################## catalog/login.php ################################################################## ## Find this: [line 28] ################################ $check_customer_query = tep_db_query("select customers_id, customers_firstname, customers_password, customers_email_address, customers_default_address_id from " . TABLE_CUSTOMERS . " where customers_email_address = '" . tep_db_input($email_address) . "'"); ## Replace with this: ################################ //+Member Approval v1.5.1 $check_customer_query = tep_db_query("select customers_id, customers_firstname, customers_password, customers_email_address, customers_default_address_id, member_level from " . TABLE_CUSTOMERS . " where customers_email_address = '" . tep_db_input($email_address) . "'"); //-Member Approval v1.5.1 ## and after this [approx line 36]: ################################ if (!tep_validate_password($password, $check_customer['customers_password'])) { $error = true; } else { ## insert this: ################################ //+Member Approval v1.5.1 if ($check_customer['member_level'] == 0 ) { $HTTP_GET_VARS['login'] = 'invalid'; $messageStack->add('login', TEXT_NOT_APPROVED); } else { //-Member Approval v1.5.1 ## Find this [approx line 80]: ################################ } else { tep_redirect(tep_href_link(FILENAME_DEFAULT)); } } } } if ($error == true) { ## Replace with this: ################################ //+Member Approval v1.5.1 } else { tep_redirect(tep_href_link(FILENAME_DEFAULT)); } } } } } if ($error == true) { //-Member Approval v1.5.1 Et voici la page login.php en question : Code <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2014 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); // redirect the customer to a friendly cookie-must-be-enabled page if cookies are disabled (or the session has not started) if ($session_started == false) { if ( !isset($HTTP_GET_VARS['cookie_test']) ) { $all_get = tep_get_all_get_params(); tep_redirect(tep_href_link(FILENAME_LOGIN, $all_get . (empty($all_get) ? '' : '&') . 'cookie_test=1', 'SSL')); } tep_redirect(tep_href_link(FILENAME_COOKIE_USAGE)); } // login content module must return $login_customer_id as an integer after successful customer authentication $login_customer_id = false; $page_content = $oscTemplate->getContent('login'); if ( is_int($login_customer_id) && ($login_customer_id > 0) ) { if (SESSION_RECREATE == 'True') { tep_session_recreate(); } $customer_info_query = tep_db_query("select c.customers_firstname, c.customers_default_address_id, ab.entry_country_id, ab.entry_zone_id from " . TABLE_CUSTOMERS . " c left join " . TABLE_ADDRESS_BOOK . " ab on (c.customers_id = ab.customers_id and c.customers_default_address_id = ab.address_book_id) where c.customers_id = '" . (int)$login_customer_id . "'"); $customer_info = tep_db_fetch_array($customer_info_query); $customer_id = $login_customer_id; tep_session_register('customer_id'); $customer_default_address_id = $customer_info['customers_default_address_id']; tep_session_register('customer_default_address_id'); $customer_first_name = $customer_info['customers_firstname']; tep_session_register('customer_first_name'); $customer_country_id = $customer_info['entry_country_id']; tep_session_register('customer_country_id'); $customer_zone_id = $customer_info['entry_zone_id']; tep_session_register('customer_zone_id'); tep_db_query("update " . TABLE_CUSTOMERS_INFO . " set customers_info_date_of_last_logon = now(), customers_info_number_of_logons = customers_info_number_of_logons+1, password_reset_key = null, password_reset_date = null where customers_info_id = '" . (int)$customer_id . "'"); // reset session token $sessiontoken = md5(tep_rand() . tep_rand() . tep_rand() . tep_rand()); // restore cart contents $cart->restore_contents(); if (sizeof($navigation->snapshot) > 0) { $origin_href = tep_href_link($navigation->snapshot['page'], tep_array_to_string($navigation->snapshot['get'], array(tep_session_name())), $navigation->snapshot['mode']); $navigation->clear_snapshot(); tep_redirect($origin_href); } tep_redirect(tep_href_link(FILENAME_DEFAULT)); } require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_LOGIN); $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_LOGIN, '', 'SSL')); require(DIR_WS_INCLUDES . 'template_top.php'); ?> <h1><?php echo HEADING_TITLE; ?></h1> <?php if ($messageStack->size('login') > 0) { echo $messageStack->output('login'); } ?> <div id="loginModules"> <?php echo $page_content; ?> </div> <script type="text/javascript"> var login_modules_counter = 0; var login_modules_total = $('#loginModules .contentContainer').length; $('#loginModules .contentContainer').each(function(index, element) { login_modules_counter++; if ( login_modules_counter == 1 ) { if ( $(this).hasClass('grid_8') && ((index+1) != login_modules_total) ) { $(this).addClass('alpha'); } else { login_modules_counter = 0; } } else { if ( $(this).hasClass('grid_8') ) { $(this).addClass('omega'); } login_modules_counter = 0; } }); </script> <?php require(DIR_WS_INCLUDES . 'template_bottom.php'); require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> Merci d'avance. A bientôt. Ce message a été modifié par Xavduck - 14 Oct 2015, 10:18. -------------------- osCommerce 2.3.4 - Member Approval perso - Limitation des pages pour les non-clients perso - Paiement par chèque ou virement bancaire perso - Site Fr + Eng - Livraison (Collissimo) selon pays perso - Modif apparences facture admin - Theme switcher |
|
2 Oct 2015, 10:22
Message
#2
|
|
Ceinture blanche OSC Groupe : Membres Messages : 15 Inscrit : 25-September 15 Membre no 32660 |
Me revoilà,
Après un "petit" moment, j'ai réussi à encoder la page. J'ai du aussi remonté dans la page le "define" de la langue pour que le message d'erreur puisse s'afficher correctement à la place de la variable "TEXT_NOT_APPROVED". Voilà le résultat : Code <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2014 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_LOGIN); // redirect the customer to a friendly cookie-must-be-enabled page if cookies are disabled (or the session has not started) if ($session_started == false) { if ( !isset($HTTP_GET_VARS['cookie_test']) ) { $all_get = tep_get_all_get_params(); tep_redirect(tep_href_link(FILENAME_LOGIN, $all_get . (empty($all_get) ? '' : '&') . 'cookie_test=1', 'SSL')); } tep_redirect(tep_href_link(FILENAME_COOKIE_USAGE)); } // login content module must return $login_customer_id as an integer after successful customer authentication $login_customer_id = false; $page_content = $oscTemplate->getContent('login'); if ( is_int($login_customer_id) && ($login_customer_id > 0) ) { if (SESSION_RECREATE == 'True') { tep_session_recreate(); } //+Member Approval v2.3.4 $customer_info_query = tep_db_query("select c.customers_firstname, c.customers_default_address_id, c.member_level, ab.entry_country_id, ab.entry_zone_id from " . TABLE_CUSTOMERS . " c left join " . TABLE_ADDRESS_BOOK . " ab on (c.customers_id = ab.customers_id and c.customers_default_address_id = ab.address_book_id) where c.customers_id = '" . (int)$login_customer_id . "'"); /* $customer_info_query = tep_db_query("select c.customers_firstname, c.customers_default_address_id, ab.entry_country_id, ab.entry_zone_id from " . TABLE_CUSTOMERS . " c left join " . TABLE_ADDRESS_BOOK . " ab on (c.customers_id = ab.customers_id and c.customers_default_address_id = ab.address_book_id) where c.customers_id = '" . (int)$login_customer_id . "'"); */ //-Member Approval v2.3.4 $customer_info = tep_db_fetch_array($customer_info_query); $customer_id = $login_customer_id; tep_session_register('customer_id'); $customer_default_address_id = $customer_info['customers_default_address_id']; tep_session_register('customer_default_address_id'); $customer_first_name = $customer_info['customers_firstname']; tep_session_register('customer_first_name'); $customer_country_id = $customer_info['entry_country_id']; tep_session_register('customer_country_id'); $customer_zone_id = $customer_info['entry_zone_id']; tep_session_register('customer_zone_id'); //+Member Approval v2.3.4 if ($customer_info['member_level'] == 0 ) { $HTTP_GET_VARS['login'] = 'invalid'; $messageStack->add('login', TEXT_NOT_APPROVED); } else { //-Member Approval v2.3.4 tep_db_query("update " . TABLE_CUSTOMERS_INFO . " set customers_info_date_of_last_logon = now(), customers_info_number_of_logons = customers_info_number_of_logons+1, password_reset_key = null, password_reset_date = null where customers_info_id = '" . (int)$customer_id . "'"); // reset session token $sessiontoken = md5(tep_rand() . tep_rand() . tep_rand() . tep_rand()); // restore cart contents $cart->restore_contents(); if (sizeof($navigation->snapshot) > 0) { $origin_href = tep_href_link($navigation->snapshot['page'], tep_array_to_string($navigation->snapshot['get'], array(tep_session_name())), $navigation->snapshot['mode']); $navigation->clear_snapshot(); tep_redirect($origin_href); } tep_redirect(tep_href_link(FILENAME_DEFAULT)); } //+Member Approval v2.3.4 } //-Member Approval v2.3.4 $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_LOGIN, '', 'SSL')); require(DIR_WS_INCLUDES . 'template_top.php'); ?> <h1><?php echo HEADING_TITLE; ?></h1> <?php if ($messageStack->size('login') > 0) { echo $messageStack->output('login'); } ?> <div id="loginModules"> <?php echo $page_content; ?> </div> <script type="text/javascript"> var login_modules_counter = 0; var login_modules_total = $('#loginModules .contentContainer').length; $('#loginModules .contentContainer').each(function(index, element) { login_modules_counter++; if ( login_modules_counter == 1 ) { if ( $(this).hasClass('grid_8') && ((index+1) != login_modules_total) ) { $(this).addClass('alpha'); } else { login_modules_counter = 0; } } else { if ( $(this).hasClass('grid_8') ) { $(this).addClass('omega'); } login_modules_counter = 0; } }); </script> <?php require(DIR_WS_INCLUDES . 'template_bottom.php'); require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> Par contre maintenant je bute sur la partie "admin/index.php" Le login ce passe correctement mais la page index bug, l'affichage s’arrête à la barre de menu (admin, catalogue, Site off). Si quelqu'un est intéressée par cette contribe, nous pourrions avancer ensemble, sinon je vous tiendrais au courant de l'avancement... @+ -------------------- osCommerce 2.3.4 - Member Approval perso - Limitation des pages pour les non-clients perso - Paiement par chèque ou virement bancaire perso - Site Fr + Eng - Livraison (Collissimo) selon pays perso - Modif apparences facture admin - Theme switcher |
|
2 Oct 2015, 14:44
Message
#3
|
|
Ceinture marron OSC Groupe : Modérateurs Messages : 1543 Inscrit : 30-May 06 Lieu : Vichy (03) Membre no 10583 |
Bonjour,
Il existe déjà une version pour la 2.3.4 ici : http://addons.oscommerce.com/info/1691 Par contre je ne l'ai pas testée. Ce message a été modifié par Bonbec - 2 Oct 2015, 14:45. -------------------- Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse) Config 2 en local avec UwAmp : Osc Phoenix |
|
2 Oct 2015, 15:14
Message
#4
|
|
Ceinture blanche OSC Groupe : Membres Messages : 15 Inscrit : 25-September 15 Membre no 32660 |
Merci ,
je vais y jeter un oeil... Bien que je ne sois pas sur des versions... Apparemment la version que tu me propose serait pour 2.2 et on pour la 2.3 .... Ce message a été modifié par Xavduck - 2 Oct 2015, 15:23. -------------------- osCommerce 2.3.4 - Member Approval perso - Limitation des pages pour les non-clients perso - Paiement par chèque ou virement bancaire perso - Site Fr + Eng - Livraison (Collissimo) selon pays perso - Modif apparences facture admin - Theme switcher |
|
2 Oct 2015, 15:43
Message
#5
|
|
Ceinture marron OSC Groupe : Modérateurs Messages : 1543 Inscrit : 30-May 06 Lieu : Vichy (03) Membre no 10583 |
Re,
Je maintiens que la dernière mise à jour de cette contrib concerne la 2.3.4 Quand tu es sur la page de la contrib, regarde l'onglet "history". Ce message a été modifié par Bonbec - 2 Oct 2015, 15:44. -------------------- Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse) Config 2 en local avec UwAmp : Osc Phoenix |
|
6 Oct 2015, 07:13
Message
#6
|
|
Ceinture blanche OSC Groupe : Membres Messages : 15 Inscrit : 25-September 15 Membre no 32660 |
Ca y est !!!
Hourra !! J'ai enfin trouvé, du coup je maintient que ta contrib n'est pas valide pour la 2.3.4, les codes étant relativement différents et de plus il y à trop de bouts de contribs dans certain fichier qui n'ont rien a voir avec la "member approval". L’erreur venait du code du fichier "admin/includes/boxes/customers.php" Le code donné dans le fichier readme était faux : Code #### [ OPEN ] ################################################################## admin/includes/boxes/customers.php ################################################################## ## After this: ################################ array( 'code' => FILENAME_CUSTOMERS, 'title' => BOX_CUSTOMERS_CUSTOMERS, 'link' => tep_href_link(FILENAME_CUSTOMERS) ), ## Insert this: ################################ //+Member Approval v1.5.1 array( 'code' => FILENAME_MEMBERS, 'title' => BOX_CUSTOMERS_APPROVAL, 'link' => tep_href_link(FILENAME_MEMBERS) ), //-Member Approval v1.5.1 juste une histoire de virgule : 1 mal placée et 1 en trop, le bon code étant donc : Code #### [ OPEN ] ################################################################## admin/includes/boxes/customers.php ################################################################## ## find this: ################################ array( 'code' => FILENAME_CUSTOMERS, 'title' => BOX_CUSTOMERS_CUSTOMERS, 'link' => tep_href_link(FILENAME_CUSTOMERS) ) ## replace by this: ################################ array( 'code' => FILENAME_CUSTOMERS, 'title' => BOX_CUSTOMERS_CUSTOMERS, 'link' => tep_href_link(FILENAME_CUSTOMERS) ), //+Member Approval v1.5.1 array( 'code' => FILENAME_MEMBERS, 'title' => BOX_CUSTOMERS_APPROVAL, 'link' => tep_href_link(FILENAME_MEMBERS) ) //-Member Approval v1.5.1 Et voilà, ça marche. -------------------- osCommerce 2.3.4 - Member Approval perso - Limitation des pages pour les non-clients perso - Paiement par chèque ou virement bancaire perso - Site Fr + Eng - Livraison (Collissimo) selon pays perso - Modif apparences facture admin - Theme switcher |
|
Version bas débit | Nous sommes le : 28th March 2024 - 18:03 |
Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |