\n", $texte))); } function filtre_decode_html($texte) { return html_entity_decode($texte); } function filtre_libreavous_supp_numero($texte) { $idx = strpos($texte, "-"); return trim(substr($texte, $idx +1)); } function balise_LIBREAVOUS_IMPORT($p) { $id_rubrique = "''"; $id_secteur = "''"; if (($v = interprete_argument_balise(1,$p))!==NULL){ $id_rubrique = $v; if (($v = interprete_argument_balise(2,$p))!==NULL) { $id_secteur = $v; } } $p->code = "libreavous_Import()"; return $p; } function libreavous_Import_Historique() { $historique = simplexml_load_file ("/var/www/exemole.fr/libreavous/historique.xml"); foreach ($historique->item as $item) { $code = $item['code']; $array = array( 'drupal_guid' => $item['guid'], 'drupal_pubdate' => $item['pubdate'] ); $type = $item['type']; if ($type == 'emission') { $existant = sql_select("id_article","spip_articles","podcast_code=".sql_quote($code)); if ($existant and sql_count($existant)>0) { $r = sql_fetch($existant); $id_article = $r["id_article"]; sql_updateq("spip_articles", $array, "id_article=".$id_article); } else { echo "Émission inconnue = $code
" ; } } else { $chapitreExistant = sql_select("id_chapitre","spip_chapitres",array("code_podcast=".sql_quote($code), "code_fichier=".sql_quote($item['chapitre']))); if ($chapitreExistant and sql_count($chapitreExistant)>0) { $r = sql_fetch($chapitreExistant); $id_chapitre = $r["id_chapitre"]; sql_updateq("spip_chapitres", $array, "id_chapitre=".$id_chapitre); } else { echo "Chapitre inconnu = $code / fichier = ".$item['chapitre']."
" ; } } } } function libreavous_Import($id_rubrique, $id_secteur) { $emissions = simplexml_load_file ("/var/www/exemole.fr/libreavous/verspip.xml"); foreach ($emissions->emission as $emission) { $code = $emission["code"]; $emissionArray = array( 'lang' => 'fr', 'surtitre' => $emission["numero"], 'titre' => $emission["numero"].' - '.$emission["titre"], 'soustitre' => "", 'id_rubrique' => $id_rubrique, 'id_secteur' => $id_secteur, 'descriptif' => $emission["description"], 'chapo' => $emission["programme"], 'texte' => $emission["references"], 'ps' => "", 'statut' => 'publie', 'accepter_forum' => 'non', 'date' => libreavous_toDateIso($emission["code"]), 'podcast_code' => $emission["code"], 'podcast_duree' => $emission["duree"], 'podcast_mp3' => $emission["mp3"], 'podcast_ogg' => $emission["ogg"], 'podcast_transcription' => $emission["transcription"], 'podcast_personnes' => $emission["personnes"], 'podcast_galeriephotos' => $emission["galeriephotos"], 'podcast_musique' => $emission["musique"] ); $existant = sql_select("id_article","spip_articles","podcast_code=".sql_quote($code)); if ($existant and sql_count($existant)>0) { $r = sql_fetch($existant); $id_article = $r["id_article"]; sql_updateq("spip_articles", $emissionArray, "id_article=".$id_article); } else { $id_article = sql_insertq("spip_articles", $emissionArray); } foreach ($emission->chapitre as $chapitre) { $code_chapitre = $chapitre["code"]; $chapitreArray = array( 'titre' => $chapitre["titre"], 'code' => $chapitre["code"], 'id_article' => $id_article, 'code_fichier' => $chapitre["fichier"], 'code_podcast' => $emission["code"], 'debut' => $chapitre["debut"], 'fin' => $chapitre["fin"], 'type_sujet' => $chapitre["type"], 'chronique' => $chapitre["chronique"], 'mp3' => $chapitre["mp3"], 'ogg' => $chapitre["ogg"], 'references_sujet' => $chapitre["references"] ); $chapitreExistant = sql_select("id_chapitre","spip_chapitres",array("id_article=".$id_article, "code=".sql_quote($code_chapitre))); if ($chapitreExistant and sql_count($chapitreExistant)>0) { $r = sql_fetch($chapitreExistant); $id_chapitre = $r["id_chapitre"]; sql_updateq("spip_chapitres", $chapitreArray, "id_chapitre=".$id_chapitre); } else { $id_nouveau_chapitre = sql_insertq("spip_chapitres", $chapitreArray); } } } } function libreavous_toDateIso($code) { $texte = substr($code, 0, 4)."-".substr($code,4,2)."-".substr($code,6,2)." 15:30:00"; return $texte; } function libreavous_conversionDrupal($shortdate) { $annee = substr($shortdate, 0, 4); $mois = substr($shortdate, 4, 2); $jour = substr($shortdate, 6, 2); if (substr($jour, 0, 1) == "0") { $jour = substr($jour, 1, 1); } return $jour."-".libreavous_conversionMoisDrupal($mois)."-".$annee; } function libreavous_conversionMoisDrupal($mois) { switch($mois) { case "01": return "janvier"; case "02": return "fevrier"; case "03": return "mars"; case "04": return "avril"; case "05": return "mai"; case "06": return "juin"; case "07": return "juillet"; case "08": return "aout"; case "09": return "septembre"; case "10": return "octobre"; case "11": return "novembre"; case "12": return "decembre"; default: return "XX"; } } function libreavous_nomtypesujet($abbr) { switch($abbr) { case "CH": return "Chronique"; case "SL": return "Sujet libre"; case "AN": return "Annonce"; default: return $abbr; } } // plutot utiliser la fonction spip taille_en_octets function libreavous_mio($number) { $mio = round($number / (1024 * 1024), 1); if ($mio < 10) { $mio = round($mio, 2); return number_format($mio, 2, ',', ' '); } else if ($mio < 100) { $mio = round($mio, 1); return number_format($mio, 1, ',', ' '); } else { $mio = round($mio, 0); return number_format($mio, 0, ',', ' '); } return $mio; }