1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| //
// assemble du squelette
//
function assembler_squelette($sortie='direct')
{
global $db;
$squelette = '';
$liste_feuille= array();
$sql = 'SELECT modele, f.id_feuille, id_bloc, a.id_mod , nom
FROM '. ARCADE_FEUILLE .' as f LEFT JOIN '. ARCADE_BLOCS .' as b
ON f.id_feuille=b.id_feuille
LEFT JOIN '. ARCADE_MODELE .' as m
ON f.id_modele=m.id_modele
LEFT JOIN '.ARCADE_MODS.' as a
ON b.id_mod=a.id_mod
WHERE id_squelette='.$this->id_squelette.'
ORDER BY position ASC
';
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Impossible d'obtenir des infos sur les feuilles", '', __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
if (!in_array($row['id_feuille'],$liste_feuille))
{
$liste_feuille[] = $row['id_feuille'];
$squelette .= stripslashes($row['modele']);
}
if ($sortie == 'cache')
{
$this->liste_blocs[] = '{'.$row['nom'].'}';
if ($row['nom'] != '') $this->liste_mods[] = $row['nom'];
}else{
$this->liste_blocs[] = '%'.$row['id_bloc'].'%';
$this->liste_mods[] = $row['id_mod'];
}
}
$squelette = ereg_replace("%[^s]","percent",$squelette);
$squelette = vsprintf($squelette,$this->liste_blocs);
$this->squelette = str_replace("percent","%",$squelette);
if ($sortie == 'cache') $this->squelette = str_replace("{}","",$this->squelette);
} |
Partager