phpDocumentor lodel-logic
[ class tree: lodel-logic ] [ index: lodel-logic ] [ all elements ]

Class: DataLogic

Source Location: /lodel/scripts/logic/class.data.php

Class DataLogic

Class Overview

Classe de logique permettant de gérer les backup et import de données et de ME

Located in /lodel/scripts/logic/class.data.php [line 59]



		
				Author(s):
		
  • Pierre-Alain Mignot
  • Jean Lamy
  • Sophie Malafosse
API Tags:
See:  backupfunc.php, pma/sql-modified.php

Information Tags:
Copyright:  2003, Ghislain Picard, Marin Dacos, Luc Santeramo, Nicolas Nutten, Anne Gentil-Beccot
Copyright:  2001-2002, Ghislain Picard, Marin Dacos
Copyright:  2004, Ghislain Picard, Marin Dacos, Luc Santeramo, Anne Gentil-Beccot, Bruno Cénou
Copyright:  2005, Ghislain Picard, Marin Dacos, Luc Santeramo, Gautier Poupeau, Jean Lamy, Bruno Cénou
Copyright:  2006, Marin Dacos, Luc Santeramo, Bruno Cénou, Jean Lamy, Mikaël Cixous, Sophie Malafosse
Copyright:  2007, Marin Dacos, Bruno Cénou, Sophie Malafosse, Pierre-Alain Mignot
Since:  Classe ajoutée depuis la version 0.8

Properties

Methods

[ Top ]
Property Summary
string   $fileExtension   Extension du fichier d'import
string   $filePrefix   Prefix du fichier (pour l'import de ME et l'import de données)
string   $fileRegexp   Expression utilisée pour filtrer les fichiers pour un import
array   $_changedFields   Liste des champs différents entre chaque table SQL/XML
array   $_changedTables   Liste des tables différentes entre SQL/XML
array   $_changedTypes   Tableau des types (entité ou entrée) n'ayant pas trouvé leur équivalent dans le XML
array   $_fieldsToKeep   Tableau des champs absent du XML mais présent dans la base
array   $_recordedTables   Tables enregistrées lors du parsage du fichier XML
array   $_sql   Tableau des requêtes à effectuer
array   $_sqlStruct   Structure de la base SQL
array   $_tables   Tables correspondantes au ME
array   $_tableToCreate   Tables à créer (présentes dans le XML et non dans la base)
array   $_xmlDatas   Donnés récupérées dans le XML
array   $_xmlStruct   Structure de la base XML

[ Top ]
Method Summary
DataLogic   DataLogic()   Constructeur
void   backupAction()   Sauvegarde des données
le   backupmodelAction()   Sauvegarde du modèle éditorial
void   backupxmlmodelAction()   Backup du ME sous format XML
le   globalbackupAction()   Backup global des données. Seulement autorisé pour un admin lodel
void   importAction()   Importation des données
le   importmodelAction()   Importation du modèle éditorial
string   importxmlmodelAction()   Met à jour le ME en fonction d'un fichier XML
le   _backupME()   Crée un fichier ZIP du ME contenant le fichier SQL/XML et éventuellement les répertoires images, css, js et tpl et lodel/icons
void   _checkFiles()   Vérifie les fichiers CACHE et .htaccess et recrée les .htaccess.
void   _dump()   Dump SQL d'un site donné
void   _executeSQL()   Execute une série de requêtes SQL
true   _execute_dump()   Execute un dump (fichier SQL) pointé par $url
le   _extractImport()   Extraction du fichier ZIP d'import du ME
void   _generateXML()   Génération du ME XML
void   _getEMTables()   Récupération des tables du ME
void   _getModifiedStruct()   Compare la structure XML et SQL du ME
un   _isimportmodelallowed()   Est-ce que l'on peut importer un ME ?
void   _manageFields()   Met à jour la base de données SQL
void   _manageTables()   Met à jour la base de données SQL
void   _parseSQL()   Récupère la structure des tables du ME
void   _parseXML()   Parse le fichier XML à l'import du ME
void   _reinitobjetstable()   Réinitialisation de la table des objets
void   _updateDatabase()   Met à jour la base de données SQL
void   _updateTypes()   Met à jour la base de données SQL

[ Top ]
Properties
string   $fileExtension [line 78]

Extension du fichier d'import


[ Top ]
string   $filePrefix [line 66]

Prefix du fichier (pour l'import de ME et l'import de données)


[ Top ]
string   $fileRegexp [line 72]

Expression utilisée pour filtrer les fichiers pour un import


[ Top ]
array   $_changedFields [line 115]

Liste des champs différents entre chaque table SQL/XML

API Tags:
Access:  private


[ Top ]
array   $_changedTables [line 109]

Liste des tables différentes entre SQL/XML

API Tags:
Access:  private


[ Top ]
array   $_changedTypes [line 145]

Tableau des types (entité ou entrée) n'ayant pas trouvé leur équivalent dans le XML

API Tags:
Access:  private


[ Top ]
array   $_fieldsToKeep [line 139]

Tableau des champs absent du XML mais présent dans la base

API Tags:
Access:  private


[ Top ]
array   $_recordedTables [line 91]

Tables enregistrées lors du parsage du fichier XML

API Tags:
Access:  private


[ Top ]
array   $_sql [line 133]

Tableau des requêtes à effectuer

API Tags:
Access:  private


[ Top ]
array   $_sqlStruct [line 103]

Structure de la base SQL

API Tags:
Access:  private


[ Top ]
array   $_tables [line 85]

Tables correspondantes au ME

API Tags:
Access:  private


[ Top ]
array   $_tableToCreate [line 127]

Tables à créer (présentes dans le XML et non dans la base)

API Tags:
Access:  private


[ Top ]
array   $_xmlDatas [line 121]

Donnés récupérées dans le XML

API Tags:
Access:  private


[ Top ]
array   $_xmlStruct [line 97]

Structure de la base XML

API Tags:
Access:  private


[ Top ]
Methods
Constructor DataLogic  [line 153]

  DataLogic DataLogic( )

Constructeur

Interdit l'accès aux utilisateurs qui ne sont pas ADMIN



[ Top ]
backupAction  [line 237]

  void backupAction( &$context, &$error, array $context, array $error  )

Sauvegarde des données

Fait un dump de la base de données du site et si indiqué sauve aussi les fichiers annexes et source.

Parameters:
array   $context:  le contexte passé par référence
array   $error:  les éventuelles erreurs, passées par référence
   &$context: 
   &$error: 


[ Top ]
backupmodelAction  [line 546]

  le backupmodelAction( &$context, &$error, array $context, array $error  )

Sauvegarde du modèle éditorial

Sauve les tables du ME dans un dump SQL (table lodel + table créées). Si demandé inclut aussi les templates, les css, les images et les scripts javascript. Le fichier créé est de la forme <em>model-site-date.zip</em>.

Parameters:
array   $context:  le contexte passé par référence
array   $error:  les éventuelles erreurs, passées par référence
   &$context: 
   &$error: 

API Tags:
Return:  nom du template utilisé pour cette action : backupmodel


[ Top ]
backupxmlmodelAction  [line 977]

  void backupxmlmodelAction( &$context, &$error, array $context, array $error  )

Backup du ME sous format XML

Parameters:
array   $context:  le contexte passé par référence
array   $error:  les éventuelles erreurs, passées par référence
   &$context: 
   &$error: 

API Tags:
Access:  public


[ Top ]
globalbackupAction  [line 382]

  le globalbackupAction( &$context, &$error, array $context, array $error  )

Backup global des données. Seulement autorisé pour un admin lodel

Cela crée un backup de la base principale mais aussi de tous les sites

Parameters:
array   $context:  le contexte passé par référence
array   $error:  les éventuelles erreurs, passées par référence
   &$context: 
   &$error: 

API Tags:
Return:  nom du template utilisé pour cette action : backup

Information Tags:
Todo:  Trouver une alternative à la commande système tar

[ Top ]
importAction  [line 174]

  void importAction( &$context, &$error, array $context, array $error  )

Importation des données

Cette fonction importe les données issus d'un backup de lodel : le dump SQL, les fichiers associés (si ils ont été sauvegardés).

Parameters:
array   $context:  le contexte passé par référence
array   $error:  les éventuelles erreur, passées par référence
   &$context: 
   &$error: 


[ Top ]
importmodelAction  [line 469]

  le importmodelAction( &$context, &$error, array $context, array $error  )

Importation du modèle éditorial

Importe les données contenu dans un fichier ZIP de sauvegarde du ME

Parameters:
array   $context:  le contexte passé par référence
array   $error:  les éventuelles erreurs, passées par référence
   &$context: 
   &$error: 

API Tags:
Return:  nom du template utilisé pour cette action : importmodel


[ Top ]
importxmlmodelAction  [line 1028]

  string importxmlmodelAction( &$context, &$error, array $context, array $error  )

Met à jour le ME en fonction d'un fichier XML

Parameters:
array   $context:  le contexte passé par référence
array   $error:  les éventuelles erreurs, passées par référence
   &$context: 
   &$error: 

API Tags:
Return:  nom du template à afficher
Access:  public


[ Top ]
_backupME  [line 773]

  le _backupME( string $sqlfile, [array $dirs = array()]  )

Crée un fichier ZIP du ME contenant le fichier SQL/XML et éventuellement les répertoires images, css, js et tpl et lodel/icons

Parameters:
string   $sqlfile:  le fichier dump SQL/XML
array   $dirs:  la liste des répertoires à inclure.

API Tags:
Return:  nom du fichier ZIP
Access:  private


[ Top ]
_checkFiles  [line 742]

  void _checkFiles( &$context, array $context  )

Vérifie les fichiers CACHE et .htaccess et recrée les .htaccess.

Parameters:
array   $context:  le contexte passé par référence.
   &$context: 


[ Top ]
_dump  [line 669]

  void _dump( string $site, string $outfile, &$error, [resource $fh = 0], array $error  )

Dump SQL d'un site donné

Parameters:
string   $site:  le nom du site
string   $outfile:  le fichier dans lequel écrire le dump SQL
resource   $fh:  le descripteur de fichier (par défaut 0)
array   $error:  tableau des erreurs
   &$error: 

API Tags:
Access:  private


[ Top ]
_executeSQL  [line 1450]

  void _executeSQL( [bool $differed = false]  )

Execute une série de requêtes SQL

Parameters:
bool   $differed:  doit-on effectuer les requêtes différées ($this->_sql['differed']) ou les requêtes en cours ($this->_sql) ?

API Tags:
Access:  private


[ Top ]
_execute_dump  [line 714]

  true _execute_dump( string $url, [ $ignoreerrors = false], boolean $ignoreerrors.  )

Execute un dump (fichier SQL) pointé par $url

Parameters:
string   $url:  le fichier SQL
boolean   $ignoreerrors.:  false par défaut
   $ignoreerrors: 

API Tags:
Return:  si le dump a bien été executé
Access:  private

Information Tags:
Todo:  vérifier que cette fonction ne prends pas trop de place en mémoire.

[ Top ]
_extractImport  [line 879]

  le _extractImport( &$context, string $footprint, array $context, string $ext  )

Extraction du fichier ZIP d'import du ME

Parameters:
string   $footprint:  le prefix qui doit être contenu dans le nom du fichier
array   $context:  le contexte passé par référence
string   $ext:  l'extension du fichier, par défaut .zip
   &$context: 

API Tags:
Return:  nom du fichier d'import


[ Top ]
_generateXML  [line 1784]

  void _generateXML( &$context, array $context  )

Génération du ME XML

Parameters:
array   $context:  le contexte passé par référence
   &$context: 

API Tags:
Access:  private


[ Top ]
_getEMTables  [line 1189]

  void _getEMTables( )

Récupération des tables du ME

Cette fonction stock dans $this->_tables les noms des tables du ME (statiques ou dynamiques)


API Tags:
Access:  private


[ Top ]
_getModifiedStruct  [line 1382]

  void _getModifiedStruct( string $table  )

Compare la structure XML et SQL du ME

Stock la comparaison dans $this->_changedFields pour chaque table

Parameters:
string   $table:  la table courante

API Tags:
Access:  private


[ Top ]
_isimportmodelallowed  [line 852]

  un _isimportmodelallowed( )

Est-ce que l'on peut importer un ME ?

Vérifie si le site est vide, pour permettre l'import d'un ME


API Tags:
Return:  booleen false si impossible, le nom de la table sinon
Access:  private


[ Top ]
_manageFields  [line 1739]

  void _manageFields( &$context, &$error, array $context, array $error  )

Met à jour la base de données SQL

Modifie ou crée les champs des tables

Parameters:
array   $context:  le contexte passé par référence
array   $error:  les éventuelles erreurs, passées par référence
   &$context: 
   &$error: 

API Tags:
Access:  private


[ Top ]
_manageTables  [line 1492]

  void _manageTables( &$context, &$error, array $context, array $error  )

Met à jour la base de données SQL

Modifie ou crée les tables et insère les éventuelles données

Parameters:
array   $context:  le contexte passé par référence
array   $error:  les éventuelles erreurs, passées par référence
   &$context: 
   &$error: 

API Tags:
Access:  private


[ Top ]
_parseSQL  [line 1333]

  void _parseSQL( array $tables  )

Récupère la structure des tables du ME

Stock la structure dans $this->_sqlStruct

Parameters:
array   $tables:  on peut spécifier quelles tables en particulier parser

API Tags:
Access:  private


[ Top ]
_parseXML  [line 1211]

  void _parseXML( string $file, &$error, string $error  )

Parse le fichier XML à l'import du ME

Stock la structure dans $this->_xmlStruct et les éventuelles données dans $this->_xmlDatas

Parameters:
string   $file:  lien vers le fichier XML
string   $error:  erreur passée en référence
   &$error: 

API Tags:
Access:  private


[ Top ]
_reinitobjetstable  [line 912]

  void _reinitobjetstable( )

Réinitialisation de la table des objets



[ Top ]
_updateDatabase  [line 1571]

  void _updateDatabase( &$context, &$error, array $context, array $error  )

Met à jour la base de données SQL

Termine la mise à jour de la base (clés, options des tables et éventuelles données)

Parameters:
array   $context:  le contexte passé par référence
array   $error:  les éventuelles erreurs, passées par référence
   &$context: 
   &$error: 

API Tags:
Access:  private


[ Top ]
_updateTypes  [line 1643]

  void _updateTypes( [$datas $datas = array()], [$error &$error = '']  )

Met à jour la base de données SQL

Ajuste les idtypes après import XML du ME

Parameters:
$datas   $datas:  optionnel : quand présent, MAJ des types suivant choix utilisateur
$error   &$error:  erreur passée en référence

API Tags:
Access:  private


[ Top ]

Documentation generated on Thu, 24 Jul 2008 05:07:26 +0200 by phpDocumentor 1.4.0a2