Rendre compatible la MS 2.2 avec PHP 5.4 |
Bienvenue invité ( Connexion | Inscription )
Rendre compatible la MS 2.2 avec PHP 5.4 |
6 Jan 2014, 11:16
Message
#1
|
|
Ceinture jaune+ OSC Groupe : Membres Messages : 82 Inscrit : 7-January 09 Membre no 24145 |
Bonjour,
j'ai commencé à travailler sur une MS 2.2 pour la rendre compatible avec php5.4 cela deviens urgent. J'ai fais a peu prés la compatibilité avec 5.3 remplacement des ereg et eregi. Je m'attaque au problème des textes accentuées qui disparaissent du backoffice à cause des htmlentities qui sont gérées différemment en php5.4. Ma priorité va au fichier orders.php du backoffice afin que les commentaires des commandes soient affichés. Est ce que vous avez une idée ou l'avez déjà fait ? Note je veux bien regrouper les infos sur ce post et en faire un documen ressource pour le passage à PHP5.4. Merci. -------------------- osCommerce Online Merchant v2.2 RC1 W3C Valid FR largement modifiée avec quelques codes perso et des contrib telles que mondial relay, editer facture, multi image, seo url, reclamaposteetc ...
|
|
6 Jan 2014, 11:25
Message
#2
|
|
Ceinture marron OSC Groupe : Modérateurs Messages : 1543 Inscrit : 30-May 06 Lieu : Vichy (03) Membre no 10583 |
Bonjour,
Pour htmlentities, dans la doc php il est marqué : Citation htmlentities() prend un troisième argument optionnel encoding qui définit l'encodage utilisé durant la conversion. Si omis, la valeur par défaut de cet argument est ISO-8859-1 pour les versions antérieures à la version 5.4.0 de PHP, et UTF-8 à partir de la version 5.4.0. Malgré le fait que cet argument soit techniquement optionnel, vous êtes vivement encouragé à spécifier une valeur correcte pour votre code. As-tu essayé d'ajouter systématiquement ce 3ème argument ? EDIT : je viens de regarder mon code de ma MS2, htmlentities n'apparaît qu'une seule fois dans admin/includes/functions/general.php et a bien le 3ème paramètre : Code function wd_remove_accents($str, $charset='utf-8')
{ $str = htmlentities($str, ENT_NOQUOTES, $charset); ... Ce message a été modifié par Bonbec - 6 Jan 2014, 12:58. -------------------- 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 |
|
7 Jan 2014, 10:40
Message
#3
|
|
Ceinture jaune+ OSC Groupe : Membres Messages : 82 Inscrit : 7-January 09 Membre no 24145 |
Déjà j'ai vu dans le code de le page orders.php que l'on était en iso8859 il faut commencer par là non ? Je veux dire le passeer en utf8, mais il faut aussi le faire sur la base de donnée ?
Citation <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html dir="ltr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
Ce message a été modifié par skieur - 7 Jan 2014, 11:11. -------------------- osCommerce Online Merchant v2.2 RC1 W3C Valid FR largement modifiée avec quelques codes perso et des contrib telles que mondial relay, editer facture, multi image, seo url, reclamaposteetc ...
|
|
7 Jan 2014, 13:18
Message
#4
|
|
Ceinture marron OSC Groupe : Modérateurs Messages : 1543 Inscrit : 30-May 06 Lieu : Vichy (03) Membre no 10583 |
Bonjour,
Vu qu'à partir d'Osc 2.3 tout passe en UTF-8, effectivement tu as intérêt à passer ton site en UTF-8. Si tu commences par un fichier, il te faudra TOUT passer en UTF-8 sans BOM : répertoires catalog, admin et BDD. Les pages regorgent d'include ... Ce n'est pas insurmontable mais c'est un peu long et répétitif. J'ai passé mon site MS2 en UTF-8 et il est adapté au php 5.3 (pas encore fait le 5.4 vu que je risque de passer en Osc 2.3.3.4 si mes tests continuent à être bons). Il y a de nombreux fils sur le passage en UTF-8, lis les et si tu as besoin d'aide, tu poses la ou les questions nécessaires que je regarde mes fichiers de ma MS2. PS : il se peut que la FAQ de ton hébergeur te donne de précieuses infos, comme le mien par exemple. -------------------- 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 |
|
16 Aug 2014, 21:23
Message
#5
|
|
Ceinture jaune+ OSC Groupe : Membres Messages : 82 Inscrit : 7-January 09 Membre no 24145 |
Il y a un petit truc que je ne comprend pas
Travaillant sur un serveur avec PHP 5.4 Lorsque l'on exécute orders.php le contenu de la base de donnée accentué est correctement restitué. lorsque l'on exécute orders.php?page=...=...&action=edit le contenu de la base de donnée qui comporte des accents n'est pas restitué. Qu'est ce qui est à la base de cette différence de traitement ? Merci. -------------------- osCommerce Online Merchant v2.2 RC1 W3C Valid FR largement modifiée avec quelques codes perso et des contrib telles que mondial relay, editer facture, multi image, seo url, reclamaposteetc ...
|
|
17 Aug 2014, 15:46
Message
#6
|
|
Ceinture jaune+ OSC Groupe : Membres Messages : 82 Inscrit : 7-January 09 Membre no 24145 |
Je me répond à moi même c'est à cause du htmlspecialchars dans admin/includes.functions/general.php en php 5.4 l'encoding est defini par défaut à UTF 8 (tout comme l'avait dit bonbec d'ailleurs )
Comme j'ai pas envie de passer tout le site en UTF 8 voila ce que je vais faire pour rendre compatible ma MS 2.2 avec php 5.4. Je mettrai à jour mon post. C'est pas du codage propre, je ne sais pas si cela vous servira mais cela m'aurait servit de le trouver : mettre un serveur de dev en mode verbose et remplacer toutes les ereg functions par des preg functionslà où il y a des erreurs tout comme indiqué là : https://github.com/osCommerce/oscommerce2/c...77ce02480b49ffe et https://github.com/osCommerce/oscommerce2/c...93f1de8aa6a6770 fichier admin/includes.functions/general.php trouver (function tep_output_string : ligne environ 41 chez moi) Code return htmlspecialchars($string); remplacer par Code return htmlspecialchars($string, ENT_COMPAT | ENT_HTML401, 'ISO-8859-1'); du coup idem dans general.php coté front office trouver ( function tep_output_string : ligne 46 environ chez moi) Code return htmlspecialchars($string); remplacer par Code return htmlspecialchars($string, ENT_COMPAT | ENT_HTML401, 'ISO-8859-1'); fichier admin/includes.functions/database.php trouver ( function tep_db_output($string) { : ligne 128 environ chez moi) Code return htmlspecialchars($string); remplacer par Code return htmlspecialchars($string, ENT_COMPAT | ENT_HTML401, 'ISO-8859-1'); fichier admin/categories.php traiter htmlspecialchars lignes environ 11153, 1159,1160,1161,1162,1163,1164 Ce message a été modifié par skieur - 23 Aug 2014, 22:12. -------------------- osCommerce Online Merchant v2.2 RC1 W3C Valid FR largement modifiée avec quelques codes perso et des contrib telles que mondial relay, editer facture, multi image, seo url, reclamaposteetc ...
|
|
22 Nov 2014, 17:26
Message
#7
|
|
Ceinture orange OSC Groupe : Membres Messages : 198 Inscrit : 9-December 02 Lieu : Bordeaux Membre no 654 |
Salut,
J'avais le même problème d'affichage que toi dans admin suite au changement d'hébergeur de mon site. Je n'arrive pas à configurer la version de php sur le nouveau hébergeur. J'avais déjà le site compatible 5.3 (modification des ereg....) et je me suis attaqué au passage en UTF8 : * toutes les tables et la base complète * tous les fichiers ouvert et enregistré en UTF8 s'il ne l'étaient pas * modif du charset dans header et ça a marché d'une coup simplement en rajoutant les mysql_set_charset('utf8', $$link); dans fonction/database Je n'ai pas fait de changement dans les trim().... à moins de l'avoir fait au passage en 5.3 Ça semble bien marcher coté boutique publique sans passer à UTF8 (pour plus tard tant qu'à faire). En tous cas, merci d'avoir soulever le problème qui m'a permis de faire les corrections. Ce message a été modifié par Dudule - 23 Nov 2014, 02:30. -------------------- osCommerce Online Merchant v2.2 RC1 W3C Valid FR en prod en PHP5.2.14 chez O2Switch
|
|
10 Oct 2015, 17:04
Message
#8
|
|
Ceinture jaune+ OSC Groupe : Membres Messages : 96 Inscrit : 1-March 05 Lieu : dans les nuages Membre no 4971 |
bonjour à tous,
Désolé de déterrer ce vieux post, @skieur disait : Déjà j'ai vu dans le code de le page orders.php que l'on était en iso8859 il faut commencer par là non ? Je veux dire le passeer en utf8, mais il faut aussi le faire sur la base de donnée ? Citation <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html dir="ltr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> mais dans la page orders.php chez moi, il y a ça : Citation <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html <?php echo HTML_PARAMS; ?>> <head> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> ----- </head> ma question est : où est défini CHARSET ? comme TITLE ou HTML_PARAMS .... j'ai un trou je retourne les fichiers dans tous les sens Merci -------------------- osCommerce V2.2 RC1 W3C Valid FR V3 | HeadTags_SEO_V_3.2.4 | Ultimate_SEO_URLs_v22d10
|
|
10 Oct 2015, 22:01
Message
#9
|
|
Ceinture marron OSC Groupe : Modérateurs Messages : 1543 Inscrit : 30-May 06 Lieu : Vichy (03) Membre no 10583 |
Bonsoir,
Cela se trouve dans les fichiers de langue : catalog/includes/languages/french.php par exmple pour la langue française. -------------------- 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 |
|
11 Oct 2015, 10:00
Message
#10
|
|
Ceinture jaune+ OSC Groupe : Membres Messages : 96 Inscrit : 1-March 05 Lieu : dans les nuages Membre no 4971 |
Bonjour et Merci @Bonbec,
Je m'atèle au passage php5 un peu en retard mais ... je vais sûrement rencontrer des problèmes et je vais revenir vous appeler à l'aide. -------------------- osCommerce V2.2 RC1 W3C Valid FR V3 | HeadTags_SEO_V_3.2.4 | Ultimate_SEO_URLs_v22d10
|
|
30 Sep 2016, 21:28
Message
#11
|
|
Ceinture blanche+ OSC Groupe : Membres Messages : 30 Inscrit : 5-May 04 Membre no 2416 |
Déjà j'ai vu dans le code de le page orders.php que l'on était en iso8859 il faut commencer par là non ? Je veux dire le passeer en utf8, mais il faut aussi le faire sur la base de donnée ? Citation <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html dir="ltr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> Bonjour, Je suis en train de passer à php5.4, tous va bien sauf passage en UTF-8: sous php5.4, il y a des problèmes d’affichage pour lettres accentués, et le symbole € n’affiche pas correctement non plus. J’ai essaie de regarder mon database : Code character_set_database latin1 Voila mes questions: 1. Est-ce que il faut changer « latin1 » à « utf-8 » ? 2. Comment faire pour changer « latin1 » à « utf-8 » ? 3. Est-ce que il y a d’autre chose à corriger dans database ? 4. Comment faire pour « passer un fichier en UTF-8 sans BOM » ? Pouvez vous me dire comment faire ? Merci beaucoup pour votre gentille aide. |
|
2 Jan 2018, 00:56
Message
#12
|
|
Ceinture jaune+ OSC Groupe : Membres Messages : 91 Inscrit : 16-May 10 Membre no 27574 |
Bonjour,
J'ai une version de osCommerce Online Merchant v2.2 RC1 W3C Valid FR et une version php 4.4.9 et je souhaite passer à une version de PHP >= à la 5.4.0. J'ai vu sur mon hebergeur OVH que je pouvais choisir la version de PHP pas de pb jusque là. J'ai aussi vu differents posts dans le forum qui parlaient de modifications à faire. Je n'ai pas tout compris car c'était plus des réponses à des problèmes rencontrés. Quelqu'un peut il me guider et me donner les étapes à réaliser svp? Merci d'avance. -------------------- oscommerce-2.2rc1-FR-w3c-3; Customer Add Product 1.4.3; flash_bannersv2_1; HeaderTags_SEO_V_3.2.3; Make An Offer V3.1; new_products_glide - V2; osC-CenterShop v3.0 for MS2; Ultimate_SEO_URLSv22d_10; Unlimited products to manufacturers
|
|
8 Feb 2018, 08:02
Message
#13
|
|
Ceinture blanche OSC Groupe : Membres Messages : 11 Inscrit : 26-January 18 Membre no 32912 |
Attention au version!!
OVH Dit Il est conseillé d’utiliser les versions les plus récentes de PHP (5.6 ou 7.0) pour profiter des meilleures performances et d’une sécurité renforcée. L’usage des versions obsolètes de PHP (5.4, ou 5.5) est fortement déconseillé et vous expose à des possibles failles de sécurité. PHP 7.0 (version par défaut, meilleures performances) PHP 5.6 (supportée jusqu’au 31-12-2018) PHP 5.5 (obsolète, non recommandée) https://docs.ovh.com/fr/hosting/activer-lop...-mutualise-ovh/ |
|
Version bas débit | Nous sommes le : 29th March 2024 - 08:28 |
Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |