230 lines
6.6 KiB
PHP
230 lines
6.6 KiB
PHP
<?php
|
||
if (!defined('_ECRIRE_INC_VERSION')) {
|
||
return;
|
||
}
|
||
|
||
|
||
|
||
function filtre_escape_json($texte) {
|
||
return str_replace("\"", "\\\"", str_replace("\n", "\\n", str_replace("\n\n", "\n<br><br>\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<br>" ;
|
||
}
|
||
} 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']."<br>" ;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
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;
|
||
}
|
||
|
||
function titre_chronique_court($titre) {
|
||
$sans = array(
|
||
"Chronique d’Isabella Vanni sur ",
|
||
"Chronique d’Isabella Vanni : ",
|
||
"Chronique d’Isabella Vanni ",
|
||
"Chronique d’Isabella Vanni : ",
|
||
"Chronique d’Isabella sur ",
|
||
"Chronique de Xavier Berne sur ",
|
||
"Chronique de Laurent et Lorette Costy sur le thème ",
|
||
"Chronique de Luk sur le thème ",
|
||
"Chronique de Véronique Bonnet sur le thème ",
|
||
"Chronique d’Éric Fraudain sur ",
|
||
"Chronique de Jean-Christophe Becquet sur ",
|
||
"Chronique de Marie-Odile Morandi sur ",
|
||
"Chronique de Vincent Calame sur ",
|
||
"Chronique d’Antanak sur ",
|
||
"Chronique d’Emmanuel Revah sur ",
|
||
"Chronique d’Isabella Vanni sur ",
|
||
"Chronique de Noémie Bergez sur ",
|
||
);
|
||
$titrecourt = str_replace($sans,'',$titre);
|
||
return $titrecourt;
|
||
}
|
||
|
||
|
||
|