libreavous/libreavous_fonctions.php

255 lines
7.6 KiB
PHP
Raw Normal View History

<?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;
}
2021-06-21 10:00:24 +02:00
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;
}
}
2021-06-21 10:00:24 +02:00
// 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;
}
2021-09-02 20:04:44 +02:00
function titre_chronique_court($titre) {
$sans = array(
"Chronique dIsabella Vanni sur ",
"Chronique dIsabella Vanni : ",
"Chronique dIsabella Vanni ",
"Chronique dIsabella Vanni : ",
"Chronique dIsabella 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 dAntanak sur ",
"Chronique dEmmanuel Revah sur ",
"Chronique dIsabella Vanni sur ",
"Chronique de Noémie Bergez sur ",
);
$titrecourt = str_replace($sans,'',$titre);
return $titrecourt;
}
2021-06-21 10:00:24 +02:00
function radiolive() {
$dateetheure= time();
$h1=strtotime("15:15:00");
$h2=strtotime(date ('H:i:s',$dateetheure));
$radio = '';
if((date("w", $dateetheure ) == 2) && ($h2 >= $h1) && (date("G", $dateetheure ) < 17)) {
// $radio = 'live';
$radio = '
<div style="text-align:center;">
<div style="font-family: sans-serif; text-align: center;
background-color: white; padding: 2px; border: 4px solid #ee5921;
color: black; margin-top: 1em; width: 90%; min-width: 260px; max-width: 400px; margin: 1em auto; -webkit-border-radius: 4px;
-moz-border-radius: 2px; border-radius: 4px;" >
<h4>Écoutez le direct (mardi 15h30 à 17h)</h4>
<audio controls> <source src="https://icecast.libre-a-toi.org:8444/voixdulat_mp3" type="audio/mpeg">.Votre navigateur ne supporte pas l\'élément <code>audio</code> : <a href="https://icecast.libre-a-toi.org:8444/voixdulat_mp3">écoutez l\'émission</a>.</audio>
</div>
</div>';
}
return $radio;
}