Changeset 113499 in spip-zone
- Timestamp:
- Jan 18, 2019, 7:51:09 PM (5 weeks ago)
- Location:
- _plugins_/noizetier/trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/noizetier/trunk/inc/noizetier_conteneur.php
r113001 r113499 35 35 $conteneur = array(); 36 36 37 // Construction du tableau associatif du conteneur.37 // Construction du tableau associatif canonique du conteneur. 38 38 if (!empty($noisette['type_noisette']) and !empty($noisette['id_noisette'])) { 39 39 // Le conteneur est une noisette. … … 42 42 if (is_array($page_ou_objet)) { 43 43 // Le conteneur est un objet. 44 $conteneur['objet'] = $page_ou_objet['objet']; 45 $conteneur['id_objet'] = $page_ou_objet['id_objet']; 44 $conteneur = $page_ou_objet; 46 45 $conteneur['squelette'] = "${bloc}/{$page_ou_objet['objet']}"; 47 46 } -
_plugins_/noizetier/trunk/ncore/noizetier.php
r113497 r113499 337 337 ); 338 338 339 // On desérialise le conteneur et après on traite les compléments. 340 $conteneur = unserialize($description['conteneur']); 341 342 // Détermination du complément en fonction du fait que le conteneur soit une noisette ou pas. 343 include_spip('inc/ncore_conteneur'); 344 if (conteneur_est_noisette('noizetier', $conteneur)) { 345 // -- si le conteneur est une noisette on récupère les informations de son conteneur. Comme les noisettes 346 // sont insérées par niveau on duplique forcément les informations du bloc supérieur à chaque imbrication. 347 // Il est donc inutile de remonter au bloc racine. 348 $select = array_keys($complement); 349 $where = array('id_noisette=' . intval($conteneur['id_noisette']), 'plugin=' . sql_quote($plugin)); 350 // Il est possible que le conteneur ne soit pas déjà en base (cas improbable) et donc pour éviter une 351 // notice on fait en sorte que $complement soit toujours un tableau. 352 if ($informations_bloc = sql_fetsel($select, 'spip_noisettes', $where)) { 353 $complement = $informations_bloc; 354 } 355 } else { 356 // -- si le conteneur n'est pas une noisette, le complément se déduit du conteneur lui-même. 357 if (!empty($conteneur['squelette'])) { 358 list($bloc, ) = explode('/', $conteneur['squelette']); 359 if (!empty($conteneur['objet']) and !empty($conteneur['id_objet']) and ($id = intval($conteneur['id_objet']))) { 360 // Objet 361 $complement['objet'] = $conteneur['objet']; 362 $complement['id_objet'] = $id; 363 $complement['bloc'] = isset($conteneur['bloc']) ? $conteneur['bloc'] : $bloc; 364 } else { 365 $squelette = $conteneur['squelette']; 366 $page = basename($squelette); 367 $identifiants_page = explode('-', $page, 2); 368 if (!empty($identifiants_page[1])) { 369 // Forcément une composition 370 $complement['type'] = $identifiants_page[0]; 371 $complement['composition'] = $identifiants_page[1]; 372 } else { 373 // Page simple 374 $complement['type'] = $identifiants_page[0]; 375 } 376 $complement['bloc'] = isset($conteneur['bloc']) ? $conteneur['bloc'] : $bloc; 377 } 378 } 339 // La description de la noisette contient l'id du conteneur : on le décompose car il contient certains 340 // des champs complémentaires. 341 $id_conteneur = $description['id_conteneur']; 342 $conteneur_etendu = noizetier_conteneur_decomposer($id_conteneur); 343 344 if ($conteneur_etendu) { 345 // On ajoute les index manquants avec leur valeur par défaut 346 $conteneur_etendu = array_merge($complement, $conteneur_etendu); 347 // On filtre les index inutiles comme squelette par exemple. 348 $complement = array_intersect_key($conteneur_etendu, $complement); 379 349 } 380 350 -
_plugins_/noizetier/trunk/paquet.xml
r113481 r113499 2 2 prefix="noizetier" 3 3 categorie="maintenance" 4 version="3.0.6 8"4 version="3.0.69" 5 5 etat="dev" 6 6 compatibilite="[3.2.0;3.2.*]"
Note: See TracChangeset
for help on using the changeset viewer.