Forum : Contribuer Aide

Forums » Contribuer » Mediboard debian 9.2 et PHP7.2

Mediboard debian 9.2 et PHP7.2


gabybob France

Bonjour à tous

Par chance la sortie de PHP 7.2 en version stable le 01/12/2017 a coïncidé avec nos tests des versions php 7.0 - 7.1 puis en dernier en php 7.2

un tutos assez cool pour l'install de la bête.

https://www.colinodell.com/blog/201711/installing-php-72 (external link)

Première impression; cela fonctionne pas mal, j'ai deux correctifs à proposer:

1) sur la classe root/modules/search/classes/CSearch.class.php

méthode searchQueryString ajouter le paramètre "$operator" les arguments ne correspondent pas aux paramètres des méthodes appelantes, le prototypes est fixé par la gauche ou aussi par le début des arguments,

2) classe root/modules/dPfiles/classes/CDocumentItem.class.php

au niveau de la méthode loadDocItemsByObject

// Ajout des fichiers dans le tableau

$patch = $order_by[$_file->_class];// fix BYOOS
      $affichageFile[$cat_id]["items"][$_file->$patch . "-$_file->_guid"] = $_file;

puis pour les documents

// Ajout des document dans le tableau

$patch = $order_by[$_doc->_class];// fix BYOOS
      $affichageFile[$cat_id]["items"][$_doc->$patch . "-$_doc->_guid"] = $_doc;
appliquer le correctif que je dépose sur le site http://byoos.net/ (external link)

ceci est dû au fait que PHP7 ne traite pas l'indexation d'un tableau de la même façon que php5 pour sortir une chaine correspondant à l'index d'un autre tableau.

v oici la portion de code qui pose problème

$_file->$order_by[$_file->_class]

voir ce sujet

https://stackoverflow.com/questions/35906624/php-notice-array-to-string-conversion-only-on-php-7 (external link)

j'ai encore quelques alarmes que je corrige au fil de l'eau... bon le sujet reste ouvert.

bon dimanche Gabriel



Bonjour Gabriel,

La notice dans la classe CDocumentItem est corrigée (elle ne provoquait avec surprise aucun message en php 5.X alors que c'est effectivement une véritable erreur).

Cordialement,



gabybob France

bonjout Flavien,

Bien reçu pour le correctif, apparemment le serveur SVN est à l'arrêt ???

https://svn.openxtrem.com/mediboard/trunk/ (external link)

Y aura t-il un nouveau commit avec les correctifs ?

P.S serait-il possible de gérer un format de code postal sur 15 positions au format "string" ( str ) car un code au format "integer" ( num ) est contraignant pour l’international.

bien cordialement Gabriel




Bonjour Gabriel,

L'adresse du reposotiry a été modifiée en effet : https://svn.openxtrem.com/gpl/

Pour le format du code postal, ce n'est effectivement par encore prévu d'augmenter à 15 caractères. Cependant il est bien au format str pour le patient par exemple.

Cordialement,




gabybob France

Flavien,

Avec de notre ami Youssef du Maroc nous avons lancé une série de test en installation 'FromScratch" autrement dit à partir de zéro... Effectivement il y a des lustres que je ne suis pas lancé dans une telle épreuve, s'en fût une!!!

afin de sortir proprement de la zone d'install il y a plusieurs correctifs à appliquer.

le root/modules/stock/setup.php comporte une erreur liée à la disparition du module dPmedicament

ligne 1102

$default_bdm = CModule

getActive("dPmedicament") ? CMedicament
getBase() : "";





gabybob France

le root/modules/system/setup.php a besoin de qq correctifs afin de terminer proprement l'install

à noter que nous sommes sur le PHP 7.2

le script setup/php corrigé ci-joint

cordialement Gabriel




Gabriel,

Le setup du module stock est corrigé.

Concernant le setup du module system. Mes remarques quant aux corrections proposées :

- le ";" de la ligne 445 => OK

- l'ajout de "authentication_factor_id" ligne 1773 : ce champ a été ajouté dans la requête de la version 1.0.54 du module admin

- les champs ajoutés pour l'insert ligne 1789 semblent incohérent : id_address vs user_city, session_id VS user_country

Merci en tout cas pour les soucis remontés :-)

Et meilleurs voeux au passage !



gabybob France

Flavien Bonsoir,

Merci pour les bons voeux 2018 reçois aussi les miens en retour,

OUI merci aussi pour la prise en compte des correctifs proposés et je reconnais que la modif proposé en ligne 1789 est tirée par les cheveux mais j'ai choisi cette option car comme le script vient de créer la table celle ci est vide et comme le modèle de données n'accepte pas de valeur NULL pour ces deux champs donc j'ai pris deux autres qui ne sont pas utilisécry.

Voire à arranger cela pour un correctif définitif.

Pour info j'ai pris l'option de rétrograder mon serveur de développement et le CLOUD en PHP 7.0.27 afin de limiter les alarmes.

j'ai adapté le code de la facturation version BYOOS aux nouvelles spécifications javascript, car pour moi issue du build 335, tout est migré au build554 et cela donne satisfaction.

configuration DEBIAN 9.3 pHP 7.0.27

ci joint la compile des modifications apportées au module facturation afin de gérer les prestations par item et suivre les recettes de caisse par session de facturation et contrôle final du régisseur.

Très utile si l'établissement supporte une dizaine de caisses voir+

compile très simple à implémenter - tous les scripts avec l'extension _added sont des ajout à reporter dans le script d'origine les autres scripts sont des créations qui vont se loger dans leurs répertoires cibles.

il manque la mise à jour de "root/install/includes/mediboard.sql" car le nombre de profil est passé de 22 à 26 + ajout des droits à l'installation, actuellement il s'agit de la version 1.0 du custom, il pourra s'améliorer, l'avantage de cette petite compile est quelle peut s'appliquer aux versions suivantes de Mediboard pour un minimum de travail.

compatible à partir du build 554

bonne soirée à tous Gabriel

PS les adaptations sont testables en ligne http://byoos.eu (external link)




gabybob France

Bonjour,

Suite des essais d'installation "FromScrach" c'est à dire à partir de zéro ...

config LINUX Debian 9.3 php7.0.27 mediboard "build" => 568, //Exporté à la révision 43430.

en 1) au post précédent j'ai omis de signaler toujours au niveau du module "system/setup.php" une petite correction SQL

$this->makeRevision("1.0.16"); ..... ..... .....

$query = "ALTER TABLE `modules` DROP PRIMARY KEY, ADD PRIMARY KEY (`mod_id`) USING BTREE,

afin d'effacer l'index PRIMARY car à ligne du dessous nous souhaitons écraser le champ DROP `mod_directory`, alors que celui-ci est une clé primaire

OK c'est tester cela fonctionne

en 2)

$this->makeRevision("1.1.59");

je reviens sur ma modif tirée par les cheveux, elle fonctionne

$query = "INSERT INTO `user_authentication` (`user_id`, `auth_method`, `datetime_login`, `id_address`, `session_id`)

SELECT `user_id`, 'basic', `user_last_login`, `user_city`, `user_country` FROM `users` WHERE `user_last_login` IS NOT NULL";

s'il y a mieux je prends...

ci-joint le system/setup.php corrigé



Afficher les articles:
Aller au forum:

Sponsors privilégiés

Mediboard project