/** * Charger les informations contenues dans le yaml d'une vérification * * @param string $type_verif * Le type de la vérification * * @param string $repertoire * Dans quel repertoire chercher les yaml. * * @return array Un tableau contenant le YAML décodé */ function verifier_charger_infos($type_verif, $repertoire = 'verifier') { include_spip('inc/yaml'); $fichier = find_in_path("{$repertoire}/{$type_verif}.yaml"); $verif = yaml_decode_file($fichier); if (is_array($verif)) { $verif['titre'] = (isset($verif['titre']) and $verif['titre']) ? _T_ou_typo($verif['titre']) : $type_verif; $verif['description'] = (isset($verif['description']) and $verif['description']) ? _T_ou_typo($verif['description']) : ''; $verif['icone'] = (isset($verif['icone']) and $verif['icone']) ? _T_ou_typo($verif['icone']) : ''; } return $verif; }
function construire_configuration_saisie($saisie, $avec_nom = 'non') { include_spip('inc/yaml'); $configuration_saisie = yaml_decode_file(find_in_path('saisies/' . $saisie . '.yaml')); if (is_array($configuration_saisie)) { $configuration_saisie = $configuration_saisie['options']; // On ne met le premier champ permettant de configurer le "name" seulement si on le demande explicitement if ($avec_nom == 'oui') { array_unshift($configuration_saisie[0]['contenu'], array('saisie' => 'input', 'options' => array('nom' => 'nom', 'label' => '<:saisies:option_nom_label:>', 'explication' => '<:saisies:option_nom_explication:>', 'obligatoire' => 'oui'), 'verifier' => array('type' => 'regex', 'options' => array('modele' => '/^[\\w]+$/')))); } } else { $configuration_saisie = array(); } return $configuration_saisie; }
/** * Charger les informations contenues dans le YAML d'une saisie. * * @param string $type_saisie Le type de la saisie * * @return array Un tableau contenant le YAML décodé */ function saisies_charger_infos($type_saisie,$saisies_repertoire = "saisies") { if (defined('_DIR_PLUGIN_YAML')) { include_spip('inc/yaml'); $fichier = find_in_path("$saisies_repertoire/$type_saisie.yaml"); $saisie = yaml_decode_file($fichier); if (is_array($saisie)) { $saisie['titre'] = (isset($saisie['titre']) and $saisie['titre']) ? _T_ou_typo($saisie['titre']) : $type_saisie; $saisie['description'] = (isset($saisie['description']) and $saisie['description']) ? _T_ou_typo($saisie['description']) : ''; $saisie['icone'] = (isset($saisie['icone']) and $saisie['icone']) ? find_in_path($saisie['icone']) : ''; } } else { $saisie = array(); } return $saisie; }
function decoder_yaml($fichier) { include_spip('inc/yaml'); return yaml_decode_file($fichier); }
function yaml_charger_inclusions($tableau) { if (is_array($tableau)) { $retour = array(); foreach ($tableau as $cle => $valeur) { if (is_string($valeur) && substr($valeur, 0, 8) == 'inclure:' && substr($valeur, -5) == '.yaml') { $retour = array_merge($retour, yaml_charger_inclusions(yaml_decode_file(find_in_path(substr($valeur, 8))))); } elseif (is_array($valeur)) { $retour = array_merge($retour, array($cle => yaml_charger_inclusions($valeur))); } else { $retour = array_merge($retour, array($cle => $valeur)); } } return $retour; } elseif (is_string($tableau) && substr($tableau, 0, 8) == 'inclure:' && substr($tableau, -5) == '.yaml') { return yaml_charger_inclusions(yaml_decode_file(find_in_path(substr($tableau, 8)))); } else { return $tableau; } }
<?php error_reporting(0); require 'helpers.php'; $time = milliseconds(); # Load our items $path = dirname(__FILE__); $items = yaml_decode_file("{$path}/items.yml"); # Now sort them, newest to oldest... $items = array_reverse(array_sort_by_key($items, 'published_at')); # ...and skip forward-dated items $items = array_reject($items, '$item[\'published_at\'] <= ' . time());