Subversion Repositories eFlore/Archives.eflore-consultation-v2

Compare Revisions

Ignore whitespace Rev 105 → Rev 106

/trunk/serveur/bibliotheque/classes/eribo_collection_block.class.php
44,23 → 44,27
return $this->erreur;
}
function afficherPattern($chemin, $nom_fonction, $recuperer_descendance = FALSE, $aso_parametres = array())
function afficherPattern($chemin, $nom_fonction, $aso_parametres = array(), $recuperer_ascendance = FALSE, &$aso_donnees = array())
{
$retour = '';
$collection = $this->recupererBlocksDeDonnees();
for($i = 0; $i < count($collection); $i++) {
$block_donnees = $collection[$i];
$retour .= $block_donnees->afficherPattern($chemin, $nom_fonction, $recuperer_descendance, $aso_parametres);
$block = $collection[$i];
if ($recuperer_ascendance == TRUE) {
$retour .= $block->afficherPattern($chemin, $nom_fonction, $aso_parametres, $recuperer_ascendance, $aso_donnees);
} else {
$retour .= $block->afficherPattern($chemin, $nom_fonction, $aso_parametres);
}
}
return $retour;
}
function attribuerContexte($chemin, $cle_contexte, $cle_donnee)
function attribuerContexteSql($chemin, $cle_contexte, $cle_donnee)
{
for($i = 0; $i < count($this->collection); $i++) {
$block_donnees = $this->collection[$i];
$donnees = null;
$donnees = $block_donnees->attribuerContexte($chemin, $cle_contexte, $cle_donnee);
$donnees = $block_donnees->attribuerContexteSql($chemin, $cle_contexte, $cle_donnee);
if (isset($donnees)) {
return $donnees;
}
68,6 → 72,19
return null;
}
function attribuerContexteValeur($chemin, $cle_contexte, $valeur = null)
{
for($i = 0; $i < count($this->collection); $i++) {
$block_donnees = $this->collection[$i];
$donnees = null;
$donnees = $block_donnees->attribuerContexteValeur($chemin, $cle_contexte, $valeur);
if (isset($donnees)) {
return $donnees;
}
}
return null;
}
function afficher()
{
echo '<li><b>'.$this->identifiant.'</b></li>';
/trunk/serveur/bibliotheque/classes/eribo_block.class.php
29,27 → 29,34
$this->donnees = $donnees;
}
function recupererDonnees($bool_descendance = FALSE)
function recupererDonnees()
{
if ($bool_descendance == TRUE) {
$aso_donnees = array();
$aso_donnees[$this->recupererIdentifiant()] = $this->donnees;
$collections_blocks_fils = $this->recupererCollectionBlockFils();
if (is_array($collections_blocks_fils)) {
for($i = 0; $i < count($collections_blocks_fils); $i++) {
$collection = $collections_blocks_fils[$i];
$blocks_de_donnees = $collection->recupererBlocksDeDonnees();
for($j = 0; $j < count($blocks_de_donnees); $j++) {
$block = $blocks_de_donnees[$j];
$donnees = $block->recupererDonnees();
$aso_donnees[$this->recupererIdentifiant()][$block->recupererIdentifiant()] = $donnees;
return $this->donnees;
}
function recupererDonneesRecursivement($tab_chemin, $aso_retour = array())
{
if ($tab_chemin[0] == $this->recupererIdentifiant()) {
return $aso_retour[$this->recupererIdentifiant()] = $this->donnees;
$collection_block_fils = $this->recupererCollectionBlockFils();
for($i = 0; $i < count($collection_block_fils); $i++) {
$collection = $collection_block_fils[$i];
if ($collection->recupererIdentifiant() == $tab_chemin[1]) {
$blocks = $collection->recupererBlocksDeDonnees();
for($j = 0; $j < count($blocks); $j++) {
$block = $blocks[$j];
$block->recupererDonneesRecursivement(array_shift($tab_chemin), $aso_retour);
}
}
}
return $aso_donnees;
} else {
return $this->donnees;
}
return $aso_retour;
}
function ajouterDonnee($clef, $valeur)
77,20 → 84,30
return $this->collectionBlocksfils;
}
function afficherPattern($chemin, $nom_fonction, $recuperer_descendance = FALSE, $aso_parametres = array())
function afficherPattern($chemin, $nom_fonction, $aso_parametres = array(), $recuperer_ascendance = FALSE, &$aso_donnees = array())
{
$retour = '';
if($chemin == $this->recupererIdentifiant()) {
$retour .= call_user_func($nom_fonction, $this->recupererDonnees($recuperer_descendance), $aso_parametres);
if ($recuperer_ascendance == TRUE) {
$aso_donnees[$this->recupererIdentifiant()] = $this->recupererDonnees();
}
if ($chemin == $this->recupererIdentifiant() && $recuperer_ascendance == TRUE) {
$retour .= call_user_func($nom_fonction, $aso_donnees, $aso_parametres);
} else if ($chemin == $this->recupererIdentifiant()) {
$retour .= call_user_func($nom_fonction, $this->recupererDonnees(), $aso_parametres);
} else {
$etape_chemin = explode('>', $chemin);
if($this->identifiant == $etape_chemin[0]) {
$tab_etape_chemin = explode('>', $chemin);
if($this->recupererIdentifiant() == $tab_etape_chemin[0]) {
$collection_block_fils = $this->recupererCollectionBlockFils();
for($i = 0; $i < count($collection_block_fils); $i++) {
$collection = $collection_block_fils[$i];
if ($collection->recupererIdentifiant() == $etape_chemin[1]) {
array_shift($etape_chemin);
$retour .= $collection->afficherPattern(implode('>', $etape_chemin), $nom_fonction, $recuperer_descendance, $aso_parametres);
if ($collection->recupererIdentifiant() == $tab_etape_chemin[1]) {
array_shift($tab_etape_chemin);
if ($recuperer_ascendance == TRUE) {
$retour .= $collection->afficherPattern(implode('>', $tab_etape_chemin), $nom_fonction, $aso_parametres, $recuperer_ascendance, $aso_donnees);
} else {
$retour .= $collection->afficherPattern(implode('>', $tab_etape_chemin), $nom_fonction, $aso_parametres);
}
}
}
}
98,7 → 115,7
return $retour;
}
function attribuerContexte($chemin, $cle_contexte, $cle_donnee)
function attribuerContexteSql($chemin, $cle_contexte, $cle_donnee)
{
if ($chemin == $this->recupererIdentifiant()) {
$donnees = $this->recupererDonnees();
112,7 → 129,7
if ($collection->recupererIdentifiant() == $etape_chemin[1]) {
array_shift($etape_chemin);
$donnees = null;
$donnees = $collection->attribuerContexte(implode('>', $etape_chemin), $cle_contexte, $cle_donnee);
$donnees = $collection->attribuerContexteSql(implode('>', $etape_chemin), $cle_contexte, $cle_donnee);
if (isset($donnees)) {
$i = count($collection_block_fils);
}
124,6 → 141,31
return null;
}
function attribuerContexteValeur($chemin, $cle_contexte, $valeur = null)
{
if ($chemin == $this->recupererIdentifiant()) {
$this->ajouterDonnee($cle_contexte, $valeur);
return null;
} else {
$etape_chemin = explode('>', $chemin);
if($this->identifiant == $etape_chemin[0]) {
$collection_block_fils = $this->recupererCollectionBlockFils();
for($i = 0; $i < count($collection_block_fils); $i++) {
$collection = $collection_block_fils[$i];
if ($collection->recupererIdentifiant() == $etape_chemin[1]) {
array_shift($etape_chemin);
$donnees = null;
$donnees = $collection->attribuerContexteValeur(implode('>', $etape_chemin), $cle_contexte, $valeur);
if (isset($donnees)) {
$i = count($collection_block_fils);
}
}
}
}
}
return null;
}
function afficher()
{
echo '<ol>';