en | fr  | Contact  | Print  | Share

FrameBeurk File

Fmbk/Module/Beurk/configBeurk_final.php

<?php //FrameBeurk V0.65 Copyright ToolOscope 2016. Licence CeCILL-C.

// Finalisation de la configuration du module Beurk (à éxécuter en fin de configuration)

$CONFIG['Controle']['Id'] = array();

// ------------------- chargement des super-terminaux en $CONFIG ---------------------------------
$result db_QUERY("SELECT T1.IdTerminal, T1.Terminal FROM Beurk_Terminal T1
 WHERE T1.Terminal IN ('Relation', 'Entite', 'Action', 'Module', 'Etat')"
);
while (list(
$IdTerminal$Terminal) = db_FETCH_ROW($result)) {
    
$CONFIG['Controle']['Terminal'][$Terminal] = array('Id' => $IdTerminal'Type' => 'Super');
    
$CONFIG['Controle']['Id'][$IdTerminal] = array('Terminal' => $Terminal'Type' => 'Super');
    
$CONFIG['Super'][$Terminal]['Id'] = $IdTerminal;
}
// ----------------------- chargement des terminaux en $CONFIG ---------------------------------
    
    // chargement des id des terminaux en $CONFIG (optimisation)
    
$result db_QUERY("SELECT R.IdNoeud, T1.Terminal, T3.Terminal
 FROM Beurk_Lien R
 LEFT JOIN Beurk_Terminal T1 ON T1.IdTerminal = R.IdNoeud
 LEFT JOIN Beurk_Terminal T2 ON T2.IdTerminal = R.IdRelation
 LEFT JOIN Beurk_Terminal T3 ON T3.IdTerminal = R.IdLie
 WHERE T2.Terminal = 'estDeType'
 AND T3.Terminal IN ('Relation', 'Entite', 'Action', 'Module', 'Etat')
 ORDER BY T1.Terminal"
);
    while (list(
$IdNoeud$TermNoeud$TermLie) = db_FETCH_ROW($result)) {
        
$CONFIG['Controle']['Terminal'][$TermNoeud] = array('Id' => $IdNoeud'Type' => $TermLie);
        
$CONFIG['Controle']['Id'][$IdNoeud] = array('Terminal' => $TermNoeud'Type' => $TermLie);
        
        
//tableaux dédiés par SuperTerminal
        
switch ($TermLie) {
            case 
'Module':
                
$CONFIG['Module'][$TermNoeud]['Id'] = $IdNoeud;                // déjà déclaré
                
break;
            case 
'Entite':
                
$CONFIG['Entite'][$TermNoeud]['Id'] = $IdNoeud;
                break;
            case 
'Relation':
                
$CONFIG['Relation'][$TermNoeud] = array('Id' => $IdNoeud);        // création du tableau
                
break;
            case 
'Action':
                
$CONFIG['Action'][$TermNoeud] = array('Id' => $IdNoeud);
                break;
            case 
'Etat':
                
$CONFIG['Etat'][$TermNoeud] = array('Id' => $IdNoeud);
                break;
        }
    }
    
db_FREE($result);

    
// ---------------------- chargement des parents des entités en $CONFIG (optimisation) -------------------------------------
    
$result db_QUERY("SELECT R1.IdNoeud, R1.IdLie
 FROM Beurk_Lien R1
 LEFT JOIN Beurk_Lien R2 ON R1.IdNoeud = R2.IdNoeud
 LEFT JOIN Beurk_Terminal T ON T.IdTerminal = R2.IdLie
 WHERE R1.IdRelation = '" 
$CONFIG['Relation']['estElementDe']['Id'] . "'
 AND R2.IdRelation = '" 
$CONFIG['Relation']['estDeType']['Id'] . "'
 AND T.Terminal IN ('Relation', 'Entite', 'Action', 'Module', 'Etat')"
);
    while (list(
$IdNoeud$IdParent) = db_FETCH_ROW($result)) {
        
$CONFIG['Controle']['Id'][$IdNoeud]['estElementDe'] = $IdParent;
        
$CONFIG['Controle']['Terminal'][ $CONFIG['Controle']['Id'][$IdNoeud]['Terminal'] ]['estElementDe'] = $IdParent;
    }
    
db_FREE($result);

// -------------------- initialisation des clefs des actions par défaut (s'appliquent aux Vues) ------------------------------
foreach($CONFIG['Action'] as $action => &$param) {
    if (
$action == 'cree') {
        
$param['ClefVue'] = array('IdRef');                // IdRef est l'entité à laquelle sera reliée l'entité crée par la relation 'estElementDe'
        
$param['ClefMaj'] = array('IdRef');    
    } elseif (
$action == 'deplace') {
        
$param['ClefVue'] = array();
        
$param['ClefMaj'] = array('IdLie');                // IdLie est l'entité à laquelle sera reliée l'entité crée par la relation 'estElementDe'
    
} elseif ($action == 'associe') {
        
$param['ClefVue'] = array('IdNoeud');            // IdNoeud est l'entité qu'on va associer
        
$param['ClefMaj'] = array('IdNoeud''IdLie');    // IdLie est l'entité à laquelle sera reliée IdNoeud par la relation 'estAssocieA'
    
} else {
        
$param['ClefVue'] = array();
        
$param['ClefMaj'] = array();
    }
}
unset(
$action$param$IdNoeud$TermNoeud$TermLie);
    


© 2010-2015 by ToolOscope SASU. © 2016-2018 by Arnaud De Rette. All rights reserved