en | fr  | Contact  | Print  | Share

FrameBeurk File

Fmbk/Module/Beurk/Entite/Vue/relationsEntite.php

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

// affichage des relations du noeud demandé dans l'explorer

if (! isset($sufxCss))
    
$sufxCss 1;
$vide true;

// relations où le noeud est initial
$result db_QUERY("SELECT IdRelation, count(*) FROM Beurk_Lien WHERE IdNoeud = '" $IdVue "' GROUP BY IdRelation");

while (list(
$IdRelation$nbRelations) = db_FETCH_ROW($result)) {
    
    echo 
'<div class="Relation_l'$sufxCss'">
<span class="expFerme" data-basculeCharge="' 
Beurk_jsURL(array('ActVue' => 'ascendants''IdVue' => $IdVue'IdRelation' => $IdRelation))
                . 
'" data-ajax="' . ($cleAct Beurk_JetonAleatoire(10true)) . '" title="' $IdVue '-' $IdRelation '-*">
'
, (($relation Beurk_Terminal($IdRelationfalse)) ? $relation : ('Relation ' $IdRelation)), ($nbRelations 1) ? 
(
' (' $nbRelations ')') : '''
</span>
'
Beurk_divAccueil($cleAct),    // sortie de la div d'accueil pour ascendants
        
'</div>
'
;
    
$sufxCss $sufxCss;
    
$vide false;
}

// relations où le noeud est final : on affiche la relation réciproque...
// ... mais les relations réciproques ne sont pas stockées en double dans la table des liens, et on ne sait pas si on a R1-estReciproqueDe-R2 ou R2-estReciproqueDe-R1,
// donc on va chercher les 2
$result db_QUERY("SELECT L.IdRelation, R1.IdLie, R2.IdNoeud, count(*) FROM Beurk_Lien L
 LEFT JOIN Beurk_Lien R1 ON R1.IdNoeud = L.IdRelation AND R1.IdRelation = '" 
$CONFIG['Relation']['estReciproqueDe']['Id'] . "'
 LEFT JOIN Beurk_Lien R2 ON R2.IdLie = L.IdRelation AND R2.IdRelation = '" 
$CONFIG['Relation']['estReciproqueDe']['Id'] . "'
 WHERE L.IdLie = '" 
$IdVue "' GROUP BY IdRelation, IdNoeud");

while (list(
$IdRelation$IdReciproque1$IdReciproque2$nbRelations) = db_FETCH_ROW($result)) {
    
    if (
$IdReciproque1 != 0) {
        if (! 
$relation Beurk_terminal($IdReciproque1false))
            
$relation 'Relation ' $IdReciproque1 . ('reciproque 1');    // la relation n'a pas pas de terminal
    
} elseif ($IdReciproque2 != 0)  {
        if (! 
$relation Beurk_terminal($IdReciproque2false))
            
$relation 'Relation ' $IdReciproque2 . ('reciproque 2');    // la relation n'a pas pas de terminal
    
} else
        
$relation 'Relation ' $IdRelation;
        
    echo 
'<div class="Relation_l'$sufxCss'">
<span class="expFerme" data-basculeCharge="' 
Beurk_jsURL($cleAct = array('ActVue' => 'descendants''IdVue' => $IdVue'IdRelation' => $IdRelation))
                . 
'" data-ajax="' . ($cleAct Beurk_JetonAleatoire(10true)) . '" title="*-' $IdRelation '-' $IdVue '">
'
$relation, ($nbRelations 1) ? 
(
' (' $nbRelations ')') : '''
</span>
'
Beurk_divAccueil($cleAct),    // sortie de la div d'accueil pour descendants
        
'</div>
'
;
    
$sufxCss $sufxCss;
    
$vide false;
}

// si aucune relation trouvée ?!?!
if ($vide)
    echo 
'<div class="erreur">'Beurk_traduit('Aucune relation''Beurk'), '</div>';


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