1. La version 4.7

1.1. Les nouveautés de la version 4.7

  • Amélioration de l’ergonomie : Suppression de l’affichage du formulaire désactivé lors de la validation avec succès d’un formulaire (on revient directement à l’écran du lien retour) [#8957]
  • Ajout d’une classe permettant les appels à des services REST [#8933]
  • Réorganisation du code, nettoyage et suppression de fichiers inutiles
    • [#8894] Suppression du script css/main.css non utilisé
    • [#8895] Suppression du script css/layout_jquerymobile_after.css non utilisé
    • [#8896] Suppression du widget de formulaire comboc non fonctionnel
    • [#8897] Suppression de la fonction adresse_postale non fonctionnelle
    • [#8965] Gestion des snippets de formulaires
    • [#8966] Supprimer les répertoires scr/ et spg/
    • [#8962] Supprimer la fonction genaff
    • [#8959] Rendre optionnelles les surcharges des classes du framework
    • [#8961] Factoriser du code en créant la classe om_base
    • [#8963] Déplacer les web assets vers le répertoire lib/
    • [#8964] Déplacer la fonction direct_link de spg -> core

1.2. Mettre à niveau depuis openMairie 4.6 vers 4.7

1.2.1. Mettre à jour la base de données

La structure de la base de données d’openMairie n’a pas changée depuis la version 4.6.0. Si ça avait été le cas, pour mettre à jour la base de données depuis cette version il aurait fallu exécuter le script SQL data/pgsql/v4.7.0.sql.

1.2.2. Lancer une regénération complète

Cette nouvelle version comprend des modifications du générateur. Une regénération complète est nécessaire pour le bon fonctionnement de la nouvelle version.

1.2.3. Gestion de la suppression des répertoires scr/ et spg/

Pour éviter les multiples points d’entrées, et éviter de récupérer des répertoires inutilement depuis le framework. Nous avons supprimé le répertoire scr/. Il y a désormais un point d’entrée unique que l’on peut créer n’importe où, par défaut : app/index.php.

<?php
/**
 * Ce script permet d'interfacer l'application.
 *
 * @package openmairie_exemple
 * @version SVN : $Id$
 */

require_once "../obj/utils.class.php";
$flag = filter_input(INPUT_GET, 'module');
if (in_array($flag, array("login", "logout", )) === false) {
    $flag = "nohtml";
}
$f = new utils($flag);
$f->view_main();

?>

Ce script permet de remplacer tous les scripts présents dans le répertoire scr/.

Remplacement de tous les liens dans le code PHP :

  • "../scr/form.php?" par OM_ROUTE_FORM."&",
  • "../scr/tab.php?" par OM_ROUTE_TAB."&",
  • "../scr/dashboard.php" par OM_ROUTE_DASHBOARD,
  • "../scr/tab_sig.php?" par OM_ROUTE_MAP."&mode=tab_sig&",

Remplacement de tous les liens dans le code javascript :

  • "../scr/form.php?" par "../app/index.php?module=form&"
  • "../scr/tab.php?" par "../app/index.php?module=tab&"

Remplacement de tous les éléments ‘open’ dans dyn/menu.inc.php. Par exemple :

<?php
...
   "open" => array(
       "|concessionnaire_archive",
    ),
...
?>

se remplace par :

<?php
...
   "open" => array(
       "index.php|concessionnaire_archive[module=tab]",
       "index.php|concessionnaire_archive[module=form]",
    ),
...
?>

Remplacement de tous les liens vers les scripts du répertoire spg/ vers le nouveau point d’entrée :

  • "../spg/file.php?" par "".OM_ROUTE_FORM."&snippet=file&" ou "../app/index.php?module=form&snippet=file&"
  • "../spg/voir.php?" par "".OM_ROUTE_FORM."&snippet=voir&" ou "../app/index.php?module=form&snippet=voir&"
  • "../spg/combo.php?" par "".OM_ROUTE_FORM."&snippet=combo&" ou "../app/index.php?module=form&snippet=combo&"
  • "../spg/autocomplete.php?" par "".OM_ROUTE_FORM."&snippet=autocomplete&" ou "../app/index.php?module=form&snippet=autocomplete&"
  • "../spg/localisation.php?" par "".OM_ROUTE_FORM."&snippet=localisation&" ou "../app/index.php?module=form&snippet=localisation&"
  • "../spg/upload.php?" par "".OM_ROUTE_FORM."&snippet=upload&" ou "../app/index.php?module=form&snippet=upload&"
  • "../spg/direct_link.php?" par "".OM_ROUTE_FORM."&direct_link=true&" ou "../app/index.php?module=form&direct_link=true&"
  • "../spg/map_*.php?" par "".OM_ROUTE_MAP."&mode=*&" ou "../app/index.php?module=map&mode=*"

1.2.4. Utilisation d’une méthode d’instanciation des classes om_*

Remplacer :

require_once « ../core/om_reqmo.class.php »; $inst_reqmo = new reqmo();

par :

$inst_reqmo = $f->get_inst__om_reqmo();