From 270af63abc7166ac800d1e6389826062d12de776 Mon Sep 17 00:00:00 2001 From: Vincent Calame Date: Fri, 5 Nov 2021 12:51:53 +0100 Subject: [PATCH 01/13] =?UTF-8?q?Ajout=20d'un=20test=20suppl=C3=A9mentaire?= =?UTF-8?q?=20pour=20am=C3=A9liorer=20le=20rapport=20d'erreur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- action/importer_emission.php | 13 +++++++++---- libreavous_fonctions.php | 13 +++++++++---- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/action/importer_emission.php b/action/importer_emission.php index 3302398..4c4f334 100644 --- a/action/importer_emission.php +++ b/action/importer_emission.php @@ -34,10 +34,15 @@ function action_importer_emission_dist($arg = null) { $ogg_size = ""; $mp3_size = ""; try { - $jsonContents = file_get_contents("https://forge.april.org/libreavous/lav-outils/raw/branch/master/podcasts/config/lav-".$code_emission.".json"); - $json = json_decode($jsonContents, true); - if (!$json) { - $erreurs[] = "JSON incorrect : https://forge.april.org/libreavous/lav-outils/raw/branch/master/podcasts/config/lav-".$code_emission.".json"; + $jsonUrl = "https://forge.april.org/libreavous/lav-outils/raw/branch/master/podcasts/config/lav-".$code_emission.".json"; + $jsonContents = file_get_contents($jsonUrl); + if ($jsonContents === false) { + $erreurs[] = "Erreur d'accès au fichier JSON :".$jsonUrl; + } else { + $json = json_decode($jsonContents, true); + if (!$json) { + $erreurs[] = "JSON incorrect :".$jsonUrl; + } } } catch (Exception $e) { $erreurs[] = $e->getMessage(); diff --git a/libreavous_fonctions.php b/libreavous_fonctions.php index 0e2159e..0cec66b 100644 --- a/libreavous_fonctions.php +++ b/libreavous_fonctions.php @@ -99,10 +99,15 @@ function libreavous_import_run($id_article) { $ogg_size = ""; $mp3_size = ""; try { - $jsonContents = file_get_contents("https://forge.april.org/libreavous/lav-outils/raw/branch/master/podcasts/config/lav-".$code_emission.".json"); - $json = json_decode($jsonContents, true); - if (!$json) { - $erreurs[] = "JSON incorrect : https://forge.april.org/libreavous/lav-outils/raw/branch/master/podcasts/config/lav-".$code_emission.".json"; + $jsonUrl = "https://forge.april.org/libreavous/lav-outils/raw/branch/master/podcasts/config/lav-".$code_emission.".json"; + $jsonContents = file_get_contents($jsonUrl); + if ($jsonContents === false) { + $erreurs[] = "Erreur d'accès au fichier JSON :".$jsonUrl; + } else { + $json = json_decode($jsonContents, true); + if (!$json) { + $erreurs[] = "JSON incorrect :".$jsonUrl; + } } } catch (Exception $e) { $erreurs[] = $e->getMessage(); From 26e9f720218a8408064819de0b5ae1c973ac3a4e Mon Sep 17 00:00:00 2001 From: Vincent Calame Date: Fri, 5 Nov 2021 14:21:46 +0100 Subject: [PATCH 02/13] =?UTF-8?q?Suppression=20de=20l'ancienne=20proc?= =?UTF-8?q?=C3=A9dure=20d'importation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- action/importer_emission.php | 9 +- libreavous_fonctions.php | 235 ----------------------------------- squelettes/importjson.html | 8 -- 3 files changed, 6 insertions(+), 246 deletions(-) delete mode 100644 squelettes/importjson.html diff --git a/action/importer_emission.php b/action/importer_emission.php index 4c4f334..f0f7298 100644 --- a/action/importer_emission.php +++ b/action/importer_emission.php @@ -15,8 +15,12 @@ function action_importer_emission_dist($arg = null) { $securiser_action = charger_fonction('securiser_action', 'inc'); $arg = $securiser_action(); } - $id_article = $arg; + $texteReponse = libreavous_import_run($id_article); + ajax_retour($texteReponse, false); +} + +function libreavous_import_run($id_article) { $existant = sql_select("podcast_code","spip_articles","id_article=".$id_article); if ($existant and sql_count($existant)>0) { $r = sql_fetch($existant); @@ -176,8 +180,7 @@ function action_importer_emission_dist($arg = null) { } $texteReponse .= ""; } -// return $texteReponse; - ajax_retour($texteReponse, false); + return $texteReponse; } function libreavous_import_getDuration($code_emission, $code_sujet) { diff --git a/libreavous_fonctions.php b/libreavous_fonctions.php index 0cec66b..1e02e86 100644 --- a/libreavous_fonctions.php +++ b/libreavous_fonctions.php @@ -63,238 +63,3 @@ function libreavous_aveczerod($chaine) { } return $chaineaveczero; } - - -/*************************************** -* Importation du JSON des chapitres -* et des autres informations (durée, taille, etc) -***************************************/ - -function balise_LIBREAVOUS_IMPORT($p) { - $id_article = "''"; - if (($v = interprete_argument_balise(1,$p))!==NULL){ - $id_article = $v; - } - $p->code = "libreavous_import_run($id_article)"; - return $p; -} - -function libreavous_import_run($id_article) { - $id_article = intval($id_article); - $existant = sql_select("podcast_code,titre","spip_articles","id_article=".$id_article); - if ($existant and sql_count($existant)>0) { - $r = sql_fetch($existant); - $code_emission = $r["podcast_code"]; - $titre_emission = $r["titre"]; - if(strlen($code_emission) == 0) { - return "Le code de l'émission n'est pas renseigné"; - } - } else { - return "Émission inconnue = ".$id_article; - } - $erreurs = array(); - $logs = array(); - $json = false; - $podcast_duree = ""; - $ogg_size = ""; - $mp3_size = ""; - try { - $jsonUrl = "https://forge.april.org/libreavous/lav-outils/raw/branch/master/podcasts/config/lav-".$code_emission.".json"; - $jsonContents = file_get_contents($jsonUrl); - if ($jsonContents === false) { - $erreurs[] = "Erreur d'accès au fichier JSON :".$jsonUrl; - } else { - $json = json_decode($jsonContents, true); - if (!$json) { - $erreurs[] = "JSON incorrect :".$jsonUrl; - } - } - } catch (Exception $e) { - $erreurs[] = $e->getMessage(); - } - try { - $podcast_duree = libreavous_import_getDuration($code_emission, null); - } catch (Exception $e) { - $erreurs[] = $e->getMessage(); - } - try { - $ogg_size = libreavous_import_getSize($code_emission, null, "ogg"); - } catch (Exception $e) { - $erreurs[] = $e->getMessage(); - } - try { - $mp3_size = libreavous_import_getSize($code_emission, null, "mp3"); - } catch (Exception $e) { - $erreurs[] = $e->getMessage(); - } - $chapitres = array(); - if (array_key_exists("chapters", $json)) { - $chapters = $json["chapters"]; - $count = count($chapters); - if ($count > 0) { - $duree_sujetlong = 30 * 60; - $sujetlongIndex = -1; - for($i = 0; $i < $count; $i++) { - $chapter = $chapters[$i]; - $chapter["type"] = ""; - $debutSecondes = libreavous_import_toSeconde($chapter["start_timestamp"]); - $finSecondes = libreavous_import_toSeconde($chapter["end_timestamp"]); - if ($debutSecondes === false) { - $erreurs[] = "start_timestamp incorrect : ".$chapter["start_timestamp"]; - } else if ($finSecondes === false) { - $erreurs[] = "end_timestamp incorrect : ".$chapter["end_timestamp"]; - } else if ($debutSecondes == $finSecondes) { - $erreurs[] = "start_timestamp et end_timestamp identiques : ".$chapter["end_timestamp"]; - } else { - $duree = $finSecondes - $debutSecondes; - if ($duree > $duree_sujetlong) { - $sujetlongIndex = $i; - $duree_sujetlong = $duree; - } - $chapter["duree"] = $duree; - } - - if (!array_key_exists("chapter_title", $chapter)) { - $chapter["chapter_title"] = ""; - $erreurs[] = "Titre de chapitre manquant"; - } - $chapter["ogg_size"] = ""; - $chapter["mp3_size"] = ""; - if (!array_key_exists("short_chapter_name", $chapter)) { - $chapter["short_chapter_name"] = ""; - $erreurs[] = "Nom de fichier manquant"; - } else { - try { - $chapter["ogg_size"] = libreavous_import_getSize($code_emission, $chapter["short_chapter_name"], "ogg"); - } catch (Exception $e) { - $erreurs[] = $e->getMessage(); - } - try { - $chapter["mp3_size"] = libreavous_import_getSize($code_emission, $chapter["short_chapter_name"], "mp3"); - } catch (Exception $e) { - $erreurs[] = $e->getMessage(); - } - } - $chapter["chronique"]=""; - $chapitres[] = $chapter; - } - for($i = 0; $i < count($chapitres); $i++) { - if ($i == $sujetlongIndex) { - $chapitres[$i]["type"] = "SL"; - } else { - $array = libreavous_import_checkType($chapitres[$i]); - $chapitres[$i]["type"] = $array[0]; - if (count($array) > 1) { - $chapitres[$i]["chronique"] = $array[1]; - } - } - } - } - } - $emissionArray = array( - 'podcast_duree' =>$podcast_duree, - 'podcast_mp3' => $mp3_size, - 'podcast_ogg' => $ogg_size - ); - $logs[] = sql_updateq("spip_articles", $emissionArray, "id_article=".$id_article,'','',false); - sql_updateq("spip_articles", $emissionArray, "id_article=".$id_article); - foreach ($chapitres as $chapitre) { - $code_chapitre = $chapitre["short_chapter_name"]; - $chapitreArray = array( - 'titre' => $chapitre["chapter_title"], - 'code' => $code_chapitre, - 'id_article' => $id_article, - 'code_fichier' => $chapitre["short_chapter_name"], - 'code_podcast' => $code_emission, - 'debut' => $chapitre["start_timestamp"], - 'fin' => $chapitre["end_timestamp"], - 'type_sujet' => $chapitre["type"], - 'chronique' => $chapitre["chronique"], - 'mp3' => $chapitre["mp3_size"], - 'ogg' => $chapitre["ogg_size"] - ); - $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"]; - $logs[] = sql_updateq("spip_chapitres", $chapitreArray, "id_chapitre=".$id_chapitre,'','',false); - sql_updateq("spip_chapitres", $chapitreArray, "id_chapitre=".$id_chapitre); - } else { - $logs[] = sql_insertq("spip_chapitres", $chapitreArray, '', '', false); - $id_nouveau_chapitre = sql_insertq("spip_chapitres", $chapitreArray); - } - } - $texteReponse = "

Émission traitée : ". $code_emission." / ".$titre_emission."

"; - if (count($erreurs) > 0) { - $texteReponse .= "

Erreurs

"; - $texteReponse .= ""; - } - if (count($logs) > 0) { - $texteReponse .= "

Requêtes effectuées

"; - $texteReponse .= ""; - } - return $texteReponse; -} - -function libreavous_import_getDuration($code_emission, $code_sujet) { - $fileName = "libre-a-vous-".$code_emission; - if ($code_sujet) { - $fileName .= "-".$code_sujet; - } - $fileName .= ".ogg.duration"; - return libreavous_import_getMediaFileContent($code_emission, $fileName); -} - -function libreavous_import_getSize($code_emission, $code_sujet, $extension) { - $fileName = "libre-a-vous-".$code_emission; - if ($code_sujet) { - $fileName .= "-".$code_sujet; - } - $fileName .= ".".$extension.".size"; - return libreavous_import_getMediaFileContent($code_emission, $fileName); -} - -function libreavous_import_getMediaFileContent($code, $fileName) { - $url = "https://media.april.org/audio/radio-cause-commune/libre-a-vous/emissions/".$code."/".$fileName; - $contents = file_get_contents($url); - $resultat = trim($contents); - if (strlen($resultat) == 0) { - throw new Exception("Fichier manquant ou vide : ".$url); - } - return $resultat; -} - -function libreavous_import_toSeconde($time) { - $test = preg_match('/^(\d+):(\d+):(\d+)/', $time, $matches); - if ($test !== false) { - return ($matches[1] * 60 * 60) + ($matches[2] * 60) + ($matches[3]); - } else { - return false; - } -} - -function libreavous_import_checkType($chapitre) { - $code = $chapitre["short_chapter_name"]; - $result = array(); - if ($code == "annonces") { - $result[] = "AN"; - } else { - $idx = strpos($code, "chronique-"); - if ($idx === 0) { - $result[] = "CH"; - $nom_chronique = substr($code, strlen("chronique-")); - $result[] = $nom_chronique; - } else { - $result[] = "SC"; - } - } - return $result; -} diff --git a/squelettes/importjson.html b/squelettes/importjson.html deleted file mode 100644 index 09360ad..0000000 --- a/squelettes/importjson.html +++ /dev/null @@ -1,8 +0,0 @@ - - -Import - - -#LIBREAVOUS_IMPORT{#ENV{id_article}} - - From f26da901ada3e6b088c8c4815cacc15d852adac4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Couchet?= Date: Fri, 5 Nov 2021 15:23:46 +0100 Subject: [PATCH 03/13] =?UTF-8?q?Gestion=20de=20l'annonce=20de=20l'=C3=A9m?= =?UTF-8?q?ission=20=C3=A0=20venir?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- squelettes/inc-rss-item.html | 17 ++++++++++++++--- squelettes/podcasts.html | 4 ++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/squelettes/inc-rss-item.html b/squelettes/inc-rss-item.html index eeea873..cafefe8 100644 --- a/squelettes/inc-rss-item.html +++ b/squelettes/inc-rss-item.html @@ -19,7 +19,12 @@ ] [(#TITRE|texte_backend)] - [(#PODCAST_SOMMAIRE|propre|texte_backend)]

Pour retrouver toutes les informations concernant cette émission ainsi que les références citées,rendez-vous sur la page dédiée

+[(#SET{debut_emission,[(#DATE|annee)-][(#DATE|mois)-][(#DATE|jour|libreavous_aveczerod) ]15:30:00})] + +[(#ENV{date}|<={#GET{debut_emission}}|oui) + [(#PODCAST_SOMMAIRE|propre|texte_backend)]] +[(#ENV{date}|>{#GET{debut_emission}}|oui) + [(#PODCAST_SOMMAIRE|propre|texte_backend)]

Pour retrouver toutes les informations concernant cette émission ainsi que les références citées,rendez-vous sur la page dédiée

] [(#REM) Le bloc qui suit diffuse la rubrique et les mots-cles @@ -39,8 +44,14 @@ Fonction desactivable depuis les reglages du site. ][ (#CONFIG{syndication_integrale}|=={oui}|?{' ',''})[(#LOGO_ARTICLE{right}|image_reduire{150,150}|texte_backend) - ][<div class='rss_chapo'>(#PODCAST_SOMMAIRE|propre|texte_backend)<p>Pour retrouver toutes les informations concernant l'émission, <a href="[(#URL_ARTICLE|url_absolue)]">rendez-vous sur la page dédiée</a></p>.</div> - ][<div class='rss_texte'>(#TEXTE| + ] +[(#SET{debut_emission,[(#DATE|annee)-][(#DATE|mois)-][(#DATE|jour|libreavous_aveczerod) ]15:30:00})] + +[(#ENV{date}|>{#GET{debut_emission}}|oui) + [<div class='rss_chapo'>(#PODCAST_SOMMAIRE|propre|texte_backend)<p>Pour retrouver toutes les informations concernant l'émission, <a href="[(#URL_ARTICLE|url_absolue)]">rendez-vous sur la page dédiée</a></p>.</div> + ] + ] + [<div class='rss_texte'>(#TEXTE| image_reduire{500,0}|texte_backend)</div> ][<div class="hyperlien"><:voir_en_ligne|html2unicode:> : <a href="(#URL_SITE)" class="spip_out">[(#NOM_SITE|sinon{[(#URL_SITE|couper{80})]}|texte_backend)]</a></div> ][<hr /> diff --git a/squelettes/podcasts.html b/squelettes/podcasts.html index 831ebff..bcc4c1b 100644 --- a/squelettes/podcasts.html +++ b/squelettes/podcasts.html @@ -23,11 +23,11 @@ https://april.org/libre-a-vous - + - + From 728ab0d890557ad7377f09fe6423ac7ff3b5cc64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Couchet?= Date: Sat, 6 Nov 2021 14:53:50 +0100 Subject: [PATCH 04/13] Modifications pour la gestion du signalement des nouveaux podcasts --- squelettes/inc-rss-item.html | 35 ++++------------------------------- 1 file changed, 4 insertions(+), 31 deletions(-) diff --git a/squelettes/inc-rss-item.html b/squelettes/inc-rss-item.html index cafefe8..e451c26 100644 --- a/squelettes/inc-rss-item.html +++ b/squelettes/inc-rss-item.html @@ -2,41 +2,14 @@ [(#TITRE|attribut_html|texte_backend)] [(#URL_ARTICLE|url_absolue)] - -[(#REM) - [(#DRUPAL_PUBDATE)] -] [(#DRUPAL_PUBDATE|choixsivide{[(#DATE|date_822)],#DRUPAL_PUBDATE})] - - [(#DRUPAL_GUID|choixsivide{[(#URL_ARTICLE|url_absolue)],#DRUPAL_GUID})] - + [(#DRUPAL_GUID|non)[(#PODCAST_DUREE|oui)[(#URL_ARTICLE|url_absolue)]]] + [(#DRUPAL_GUID|oui)#DRUPAL_GUID] [(#PODCAST_DUREE|choixsivide{"", })] - -[(#REM) - Le bloc qui suit diffuse les mots-cles a la mode RSS - -] - [(#TITRE|texte_backend)] - [(#SET{debut_emission,[(#DATE|annee)-][(#DATE|mois)-][(#DATE|jour|libreavous_aveczerod) ]15:30:00})] - -[(#ENV{date}|<={#GET{debut_emission}}|oui) - [(#PODCAST_SOMMAIRE|propre|texte_backend)]] -[(#ENV{date}|>{#GET{debut_emission}}|oui) - [(#PODCAST_SOMMAIRE|propre|texte_backend)]

Pour retrouver toutes les informations concernant cette émission ainsi que les références citées,rendez-vous sur la page dédiée

] - -[(#REM) - Le bloc qui suit diffuse la rubrique et les mots-cles - sous forme de "microformats" - -]- -[<a href="[(#URL_RUBRIQUE|url_absolue)]" rel="directory">(#TITRE|supprimer_tags|texte_backend)</a>] - -/ -[<a href="[(#URL_MOT|url_absolue)]" rel="tag">(#TITRE|texte_backend)</a>] - -
+[(#ENV{date}|<={#GET{debut_emission}}|oui)[(#PODCAST_SOMMAIRE|propre|texte_backend)]] +[(#ENV{date}|>{#GET{debut_emission}}|oui)[(#PODCAST_SOMMAIRE|propre|texte_backend)]

Pour retrouver toutes les informations concernant cette émission ainsi que les références citées,rendez-vous sur la page dédiée

]
[(#REM) Le bloc qui suit diffuse aussi le texte integral de l'article, From 312aaada5be582f5fee701da2c7e978bae6880fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Couchet?= Date: Sat, 6 Nov 2021 19:24:55 +0100 Subject: [PATCH 05/13] =?UTF-8?q?Ajout=20d'une=20phrase=20pour=20signaler?= =?UTF-8?q?=20la=20disponibilit=C3=A9=20des=20podcasts=20(pour=20Liferea?= =?UTF-8?q?=20par=20exemple).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- squelettes/inc-rss-item.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/squelettes/inc-rss-item.html b/squelettes/inc-rss-item.html index e451c26..dc8d1e2 100644 --- a/squelettes/inc-rss-item.html +++ b/squelettes/inc-rss-item.html @@ -8,8 +8,8 @@ [(#PODCAST_DUREE|choixsivide{"", })] [(#SET{debut_emission,[(#DATE|annee)-][(#DATE|mois)-][(#DATE|jour|libreavous_aveczerod) ]15:30:00})] -[(#ENV{date}|<={#GET{debut_emission}}|oui)[(#PODCAST_SOMMAIRE|propre|texte_backend)]] -[(#ENV{date}|>{#GET{debut_emission}}|oui)[(#PODCAST_SOMMAIRE|propre|texte_backend)]

Pour retrouver toutes les informations concernant cette émission ainsi que les références citées,rendez-vous sur la page dédiée

]
+[(#ENV{date}|<={#GET{debut_emission}}|oui)[(#DESCRIPTION_RSS|propre|texte_backend)] [(#PODCAST_SOMMAIRE|propre|texte_backend)]] +[(#ENV{date}|>{#GET{debut_emission}}|oui)[(#PODCAST_DUREE|oui)

Les podcasts de l'émission sont disponibles.

][(#DESCRIPTION_RSS|propre|texte_backend)][(#PODCAST_SOMMAIRE|propre|texte_backend)]

Pour retrouver toutes les informations concernant cette émission ainsi que les références citées,rendez-vous sur la page dédiée.

]
[(#REM) Le bloc qui suit diffuse aussi le texte integral de l'article, @@ -21,7 +21,7 @@ [(#SET{debut_emission,[(#DATE|annee)-][(#DATE|mois)-][(#DATE|jour|libreavous_aveczerod) ]15:30:00})] [(#ENV{date}|>{#GET{debut_emission}}|oui) - [<div class='rss_chapo'>(#PODCAST_SOMMAIRE|propre|texte_backend)<p>Pour retrouver toutes les informations concernant l'émission, <a href="[(#URL_ARTICLE|url_absolue)]">rendez-vous sur la page dédiée</a></p>.</div> + [<div class='rss_chapo'>[(#PODCAST_DUREE|oui)<p>Les podcasts de l'émission sont disponibles.</p>][(#DESCRIPTION_RSS|propre|texte_backend)](#PODCAST_SOMMAIRE|propre|texte_backend)<p>Pour retrouver toutes les informations concernant l'émission, <a href="[(#URL_ARTICLE|url_absolue)]">rendez-vous sur la page dédiée</a>.</p></div> ] ] [<div class='rss_texte'>(#TEXTE| From 3de6b717bab6c4c26096ba35388205f20a9b95ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Couchet?= Date: Sun, 7 Nov 2021 11:45:55 +0100 Subject: [PATCH 06/13] =?UTF-8?q?Ajout=20de=20la=20dur=C3=A9e=20du=20podca?= =?UTF-8?q?st=20de=20l'=C3=A9mission=20complete.=20Pas=20encore=20r=C3=A9u?= =?UTF-8?q?ssi=20pour=20la=20dur=C3=A9e=20des=20podcasts=20individuels.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- squelettes/inc-rss-item.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/squelettes/inc-rss-item.html b/squelettes/inc-rss-item.html index dc8d1e2..ccc31e7 100644 --- a/squelettes/inc-rss-item.html +++ b/squelettes/inc-rss-item.html @@ -6,7 +6,8 @@ [(#DRUPAL_GUID|non)[(#PODCAST_DUREE|oui)[(#URL_ARTICLE|url_absolue)]]] [(#DRUPAL_GUID|oui)#DRUPAL_GUID] [(#PODCAST_DUREE|choixsivide{"", - })] + + #PODCAST_DUREE})] [(#SET{debut_emission,[(#DATE|annee)-][(#DATE|mois)-][(#DATE|jour|libreavous_aveczerod) ]15:30:00})] [(#ENV{date}|<={#GET{debut_emission}}|oui)[(#DESCRIPTION_RSS|propre|texte_backend)] [(#PODCAST_SOMMAIRE|propre|texte_backend)]] [(#ENV{date}|>{#GET{debut_emission}}|oui)[(#PODCAST_DUREE|oui)

Les podcasts de l'émission sont disponibles.

][(#DESCRIPTION_RSS|propre|texte_backend)][(#PODCAST_SOMMAIRE|propre|texte_backend)]

Pour retrouver toutes les informations concernant cette émission ainsi que les références citées,rendez-vous sur la page dédiée.

]
From edeb4fe2aeb434d87681c823af8240eccef5ba7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Couchet?= Date: Sun, 7 Nov 2021 21:37:41 +0100 Subject: [PATCH 07/13] =?UTF-8?q?Ajout=20de=20la=20dur=C3=A9e=20des=20podc?= =?UTF-8?q?asts=20(ticket=2071)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- squelettes/inc-rss-item.html | 1 + 1 file changed, 1 insertion(+) diff --git a/squelettes/inc-rss-item.html b/squelettes/inc-rss-item.html index ccc31e7..2d6a61c 100644 --- a/squelettes/inc-rss-item.html +++ b/squelettes/inc-rss-item.html @@ -53,6 +53,7 @@ [(#DRUPAL_GUID|choixsivide{[(#URL_CHAPITRE|url_absolue)],#DRUPAL_GUID})] + [(#DEBUT|oui)[(#FIN|oui)[(#DEBUT|libreavous_duree_podcast{#FIN})]]] [(#DESCRIPTION_RSS|propre|texte_backend)] [(#REFERENCES_SUJET|choixsivide{"",Les références : [(#REFERENCES_SUJET|propre|texte_backend)]})] [(#REM) Le bloc qui suit diffuse la rubrique et les mots-cles From 65aafab2ef01d3e9a72c868d692179c2d9fa20a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Couchet?= Date: Sun, 7 Nov 2021 21:38:12 +0100 Subject: [PATCH 08/13] =?UTF-8?q?Ajout=20d'une=20fonction=20pour=20l'ajout?= =?UTF-8?q?=20de=20la=20dur=C3=A9e=20d'un=20podcast=20(ticket=2071)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libreavous_fonctions.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/libreavous_fonctions.php b/libreavous_fonctions.php index 1e02e86..99eca40 100644 --- a/libreavous_fonctions.php +++ b/libreavous_fonctions.php @@ -49,6 +49,19 @@ function libreavous_duree($start,$end) { return $duree; +} +// calculer la durée d'un chapitre +// $start et $end sous form hh:mm:ss +// renvoi dans un format hh:mm:ss (pour le champ itunes:duration +function libreavous_duree_podcast($start,$end) { + + $timestart = new DateTime($start); + $timeend = new DateTime($end); + $timeduree = $timestart->diff($timeend); + $duree = $timeduree->format('%H:%I:%S'); + + return $duree; + } // retirer l'heure si 0 h dans la duree function libreavous_sanszeroh($chaine) { From e3b82b61665fdd9ae39d63098b0041a56a664c09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Couchet?= Date: Sun, 7 Nov 2021 22:09:27 +0100 Subject: [PATCH 09/13] Modification pour validation du flux --- squelettes/podcasts.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/squelettes/podcasts.html b/squelettes/podcasts.html index bcc4c1b..7f48c7d 100644 --- a/squelettes/podcasts.html +++ b/squelettes/podcasts.html @@ -12,15 +12,15 @@ Libre à vous ! L'émission de l'April, l'association de promotion et de défense du logiciel libre, sur radio Cause Commune. Prenez le contrôle de vos libertés informatiques, découvrez les enjeux et l’actualité du Libre. April - contact-libreavous@april.org + bonjour@libreavous.org no fr - Libre à vous ! + Libre à vous ! April et Cause Commune https://april.org/files/libre-a-vous/banniere-libre-a-vous-flux-rss-1400x1400.png - https://april.org/libre-a-vous + #URL_SITE_SPIP/ From dc883551f8d0880df86bd0c8a527f12f1a71ac22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Couchet?= Date: Sun, 7 Nov 2021 22:56:30 +0100 Subject: [PATCH 10/13] =?UTF-8?q?Ajout=20d'un=20flux=20pour=20les=20actual?= =?UTF-8?q?it=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- squelettes/actualites.html | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 squelettes/actualites.html diff --git a/squelettes/actualites.html b/squelettes/actualites.html new file mode 100644 index 0000000..bf6075d --- /dev/null +++ b/squelettes/actualites.html @@ -0,0 +1,27 @@ +[(#HTTP_HEADER{Content-type: text/xml[; charset=(#CHARSET)]})] + + + + + Libre à vous ! April et Cause Commune + #URL_SITE_SPIP/ +

Chaque mardi de 15 h 30 à 17 h 00, l'April, l'association de promotion et de défense du logiciel libre, propose une émission de radio d'explications et d'échanges concernant les dossiers politiques et juridiques que l'association traite et les actions qu'elle mène : Libre à vous !. Une partie de l'émission est également consacrée aux actualités et actions de type sensibilisation. L'émission est diffusée sur radio Cause Commune sur la bande FM en Île-de-France (93.1) et sur le site web de la radio.

Donner à chacun et chacune, de manière simple et accessible les clefs pour comprendre les enjeux mais aussi proposer des moyens d'action, tel est l'objectif de l'émission.

+ SPIP - www.spip.net + fr + + Libre à vous ! + https://april.org/files/libre-a-vous/banniere-libre-a-vous-flux-rss-1400x1400.png + https://april.org/libre-a-vous + + + + + + + + + + +
+ +
From 08fcf4898dec850d7626ab3aff6399629444e0f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Couchet?= Date: Mon, 8 Nov 2021 09:37:23 +0100 Subject: [PATCH 11/13] =?UTF-8?q?Ajout=20d'une=20fonction=20pour=20retirer?= =?UTF-8?q?=20les=20microsecondes=20d'une=20dur=C3=A9e.=20Pour=20les=20flu?= =?UTF-8?q?x=20RSS,=20la=20sp=C3=A9cification=20indique=20que=20le=20forma?= =?UTF-8?q?t=20doit=20=C3=AAtre=20hh:mm:ss.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libreavous_fonctions.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libreavous_fonctions.php b/libreavous_fonctions.php index 99eca40..fae9998 100644 --- a/libreavous_fonctions.php +++ b/libreavous_fonctions.php @@ -63,6 +63,14 @@ function libreavous_duree_podcast($start,$end) { return $duree; } +// retirer les microseconds d'une durée +function libreavous_remove_microseconds ($duration) { + + $durationobject = new DateTime($duration); + $newduration = $durationobject->format('H:i:s'); + + return $newduration; +} // retirer l'heure si 0 h dans la duree function libreavous_sanszeroh($chaine) { $chaine = str_replace('0 h ','',$chaine); From 9670966432f692e08b69f9b8140a80b1b2b69be9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Couchet?= Date: Mon, 8 Nov 2021 09:38:20 +0100 Subject: [PATCH 12/13] =?UTF-8?q?Ajout=20d'une=20fonction=20pour=20retirer?= =?UTF-8?q?=20les=20microsecondes=20d'une=20dur=C3=A9e.=20Pour=20les=20flu?= =?UTF-8?q?x=20RSS,=20la=20sp=C3=A9cification=20indique=20que=20le=20forma?= =?UTF-8?q?t=20doit=20=C3=AAtre=20hh:mm:ss.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- squelettes/inc-rss-item.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/squelettes/inc-rss-item.html b/squelettes/inc-rss-item.html index 2d6a61c..79b3ff6 100644 --- a/squelettes/inc-rss-item.html +++ b/squelettes/inc-rss-item.html @@ -7,7 +7,7 @@ [(#DRUPAL_GUID|oui)#DRUPAL_GUID] [(#PODCAST_DUREE|choixsivide{"", - #PODCAST_DUREE})] + [(#PODCAST_DUREE|libreavous_remove_microseconds)]})] [(#SET{debut_emission,[(#DATE|annee)-][(#DATE|mois)-][(#DATE|jour|libreavous_aveczerod) ]15:30:00})] [(#ENV{date}|<={#GET{debut_emission}}|oui)[(#DESCRIPTION_RSS|propre|texte_backend)] [(#PODCAST_SOMMAIRE|propre|texte_backend)]] [(#ENV{date}|>{#GET{debut_emission}}|oui)[(#PODCAST_DUREE|oui)

Les podcasts de l'émission sont disponibles.

][(#DESCRIPTION_RSS|propre|texte_backend)][(#PODCAST_SOMMAIRE|propre|texte_backend)]

Pour retrouver toutes les informations concernant cette émission ainsi que les références citées,rendez-vous sur la page dédiée.

]
From 206acb7445bb9339b1ebc2f2ae7bd63581388dbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Couchet?= Date: Mon, 8 Nov 2021 10:33:24 +0100 Subject: [PATCH 13/13] Test pour validation RSS --- squelettes/inc-rss-item.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/squelettes/inc-rss-item.html b/squelettes/inc-rss-item.html index 79b3ff6..8941d83 100644 --- a/squelettes/inc-rss-item.html +++ b/squelettes/inc-rss-item.html @@ -5,8 +5,8 @@ [(#DRUPAL_PUBDATE|choixsivide{[(#DATE|date_822)],#DRUPAL_PUBDATE})] [(#DRUPAL_GUID|non)[(#PODCAST_DUREE|oui)[(#URL_ARTICLE|url_absolue)]]] [(#DRUPAL_GUID|oui)#DRUPAL_GUID] - [(#PODCAST_DUREE|choixsivide{"", - + [(#PODCAST_DUREE|choixsivide{"", + [(#PODCAST_DUREE|libreavous_remove_microseconds)]})] [(#SET{debut_emission,[(#DATE|annee)-][(#DATE|mois)-][(#DATE|jour|libreavous_aveczerod) ]15:30:00})] [(#ENV{date}|<={#GET{debut_emission}}|oui)[(#DESCRIPTION_RSS|propre|texte_backend)] [(#PODCAST_SOMMAIRE|propre|texte_backend)]] @@ -51,8 +51,8 @@ [(#URL_ARTICLE|url_absolue)] [(#DRUPAL_PUBDATE|choixsivide{[(#DATE|date_822)],#DRUPAL_PUBDATE})] [(#DRUPAL_GUID|choixsivide{[(#URL_CHAPITRE|url_absolue)],#DRUPAL_GUID})] - - + + [(#DEBUT|oui)[(#FIN|oui)[(#DEBUT|libreavous_duree_podcast{#FIN})]]] [(#DESCRIPTION_RSS|propre|texte_backend)] [(#REFERENCES_SUJET|choixsivide{"",Les références : [(#REFERENCES_SUJET|propre|texte_backend)]})] [(#REM)