
commit
ee9aedcb63
24 changed files with 915 additions and 0 deletions
@ -0,0 +1,24 @@
|
||||
* text=auto !eol |
||||
base/podcast_base.php -text |
||||
controleurs/explicit.html -text |
||||
controleurs/podcast.html -text |
||||
formulaires/configurer_podcast.html -text |
||||
images/icon_channels.png -text svneol=unset#image/png |
||||
images/icon_miro.png -text svneol=unset#image/png |
||||
images/podcast_100.png -text svneol=unset#image/png |
||||
images/podcast_24.png -text svneol=unset#image/png |
||||
images/podcast_64.png -text svneol=unset#image/png |
||||
inclure/formulaire_document_saisies.html -text |
||||
inclure/podcast_item_mrss.html -text |
||||
inclure/podcast_items.html -text |
||||
inclure/podcasts_liens.html -text |
||||
lang/paquet-podcast_en.php -text |
||||
lang/paquet-podcast_fr.php -text |
||||
lang/podcast_en.php -text |
||||
lang/podcast_fr.php -text |
||||
/paquet.xml -text |
||||
/podcast.html -text |
||||
/podcast_administrations.php -text |
||||
/podcast_pipelines.php -text |
||||
prive/squelettes/contenu/configurer_podcast.html -text |
||||
saisies/itunes_categories.html -text |
@ -0,0 +1,34 @@
|
||||
<?php |
||||
/** |
||||
* Plugin Podcast |
||||
* par kent1 |
||||
* |
||||
* Copyright (c) 2010 |
||||
* Logiciel libre distribué sous licence GNU/GPL. |
||||
* |
||||
* Définition des tables |
||||
* |
||||
**/ |
||||
|
||||
if (!defined("_ECRIRE_INC_VERSION")) return; |
||||
|
||||
function podcast_declarer_tables_principales($tables_principales){ |
||||
|
||||
$tables_principales['spip_documents']['field']['explicit'] = "VARCHAR(5) DEFAULT 'clean' NOT NULL"; |
||||
$tables_principales['spip_documents']['field']['podcast'] = "VARCHAR(3) DEFAULT 'oui' NOT NULL"; |
||||
|
||||
return $tables_principales; |
||||
} |
||||
|
||||
/** |
||||
* Insertion dans le pipeline declarer_tables_objets_sql (SPIP) |
||||
* On ajoute nos champs dans les champs editables de la table spip_documents |
||||
*/ |
||||
function podcast_declarer_tables_objets_sql($tables){ |
||||
$tables['spip_documents']['champs_editables'][] = 'explicit'; |
||||
$tables['spip_documents']['champs_editables'][] = 'podcast'; |
||||
|
||||
return $tables; |
||||
} |
||||
|
||||
?> |
@ -0,0 +1,15 @@
|
||||
[(#REM) |
||||
|
||||
Controleur pour le crayon 'explicit' sur un document |
||||
|
||||
]<BOUCLE_d(DOCUMENTS){id_document}{tout}> |
||||
<select class="crayon-active" name="#ENV{name_explicit}" |
||||
style="width:#ENV{largeur}px;#ENV{style}"> |
||||
<option value="yes"[ |
||||
(#EXPLICIT|=={oui}|?{selected="selected"})]><:item_oui:></option> |
||||
<option value="clean"[ |
||||
(#EXPLICIT|=={clean}|?{selected="selected"})]><:podcast:valeur_clean:></option> |
||||
<option value="no"[ |
||||
(#EXPLICIT|=={no}|?{selected="selected"})]><:item_non:></option> |
||||
</select> |
||||
</BOUCLE_d> |
@ -0,0 +1,13 @@
|
||||
[(#REM) |
||||
|
||||
Controleur pour le crayon 'podcast' sur un document |
||||
|
||||
]<BOUCLE_d(DOCUMENTS){id_document}{tout}> |
||||
<select class="crayon-active" name="#ENV{name_podcast}" |
||||
style="width:#ENV{largeur}px;#ENV{style}"> |
||||
<option value="oui"[ |
||||
(#PODCAST|=={oui}|?{selected="selected"})]><:item_oui:></option> |
||||
<option value="non"[ |
||||
(#PODCAST|=={non}|?{selected="selected"})]><:item_non:></option> |
||||
</select> |
||||
</BOUCLE_d> |
@ -0,0 +1,107 @@
|
||||
<div class="formulaire_spip formulaire_config formulaire_#FORM"> |
||||
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>] |
||||
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] |
||||
|
||||
<form method="post" action="#ENV{action}"> |
||||
<div> |
||||
#ACTION_FORMULAIRE{#ENV{action}} |
||||
<ul> |
||||
[(#SAISIE{radio, podcast_auto, |
||||
label=<:podcast:label_podcast_auto:>, |
||||
explication=<:podcast:explication_podcast_auto:>, |
||||
defaut=oui, |
||||
datas=#ARRAY{ |
||||
oui,<:item_oui:>, |
||||
non,<:item_non:>}})] |
||||
[(#SAISIE{checkbox, podcast_types, |
||||
label=<:podcast:label_podcast_types:>, |
||||
explication=<:podcast:explication_podcast_types:>, |
||||
datas=#ARRAY{ |
||||
channels,<:podcast:valeur_channels:>, |
||||
itunes,<:podcast:valeur_itunes:>, |
||||
miro,<:podcast:valeur_miro:>, |
||||
mrss,<:podcast:valeur_mrss:>}})] |
||||
[(#SAISIE{input,titre_podcast, |
||||
explication=<:podcast:explication_titre:>, |
||||
label=<:podcast:label_titre:>, |
||||
class=multilang, |
||||
obligatoire=non})] |
||||
[(#SAISIE{input,nom_auteur_podcast, |
||||
explication=<:podcast:explication_nom_auteur:>, |
||||
class=multilang, |
||||
label=<:podcast:label_nom_auteur:>, |
||||
obligatoire=non})] |
||||
[(#SAISIE{input,email_auteur_podcast, |
||||
explication=<:podcast:explication_email_auteur:>, |
||||
label=<:podcast:label_email_auteur:>, |
||||
obligatoire=non})] |
||||
[(#SAISIE{input,copyright_podcast, |
||||
explication=<:podcast:explication_copyright:>, |
||||
class=multilang, |
||||
label=<:podcast:label_copyright:>, |
||||
obligatoire=non})] |
||||
[(#SAISIE{textarea, resume_podcast, |
||||
explication=<:podcast:explication_resume:>, |
||||
class=multilang inserer_barre_edition, |
||||
label=<:podcast:label_resume:>, |
||||
rows=4, |
||||
obligatoire=non})] |
||||
[(#SAISIE{textarea, description_podcast, |
||||
explication=<:podcast:explication_description:>, |
||||
class=multilang inserer_barre_edition, |
||||
label=<:podcast:label_description:>, |
||||
obligatoire=non})] |
||||
[(#SAISIE{textarea, keywords_podcast, |
||||
class=multilang, |
||||
explication=<:podcast:explication_keywords:>, |
||||
label=<:podcast:label_keywords:>, |
||||
rows=4, |
||||
obligatoire=non})] |
||||
<li class="fieldset"> |
||||
<fieldset> |
||||
<h3 class="legend"><:podcast:legend_itunes:></h3> |
||||
<ul> |
||||
[(#SAISIE{radio, explicit_defaut, |
||||
label=<:podcast:label_explicit:>, |
||||
explication=<:podcast:explication_explicit:>, |
||||
defaut=clean, |
||||
datas=#ARRAY{ |
||||
yes,<:item_oui:>, |
||||
clean,<:podcast:valeur_clean:>, |
||||
no,<:item_non:>}})] |
||||
#SET{itunes_categories_hassub,#ARRAY{ |
||||
0,Arts, |
||||
1,Business, |
||||
2,Education, |
||||
3,Games & Hobbies, |
||||
4,Government & Organizations, |
||||
5,Health, |
||||
6,Religion & Spirituality, |
||||
7,Science & Medicine, |
||||
8,Society & Culture, |
||||
9,Sports & Recreation, |
||||
10,Technology}} |
||||
[(#SAISIE{itunes_categories,itunes_categories_principales, |
||||
explication=<:podcast:explication_itunes_categories_principales:>, |
||||
label=<:podcast:label_itunes_categories_principales:>, |
||||
type=main})] |
||||
<BOUCLE_souscategories(POUR){tableau #CONFIG{podcast/itunes_categories_principales}}> |
||||
[(#VALEUR|in_array{#GET{itunes_categories_hassub}}|oui) |
||||
[(#SET{type,[(#VALEUR|strtolower|replace{' ','_'})]})] |
||||
[(#SET{cat,[(#VAL{podcast:itunes_cat_[(#VALEUR|strtolower|replace{' ','_'}|replace{'_&',''})]}_T)]})] |
||||
[(#SET{label,[(#VAL{podcast:label_itunes_sous_categories}_T{#ARRAY{cat,#GET{cat}}})]})] |
||||
[(#SAISIE{itunes_categories,itunes_categories_#GET{type}, |
||||
label=#GET{label}, |
||||
type=#GET{type}})] |
||||
] |
||||
</BOUCLE_souscategories> |
||||
</ul> |
||||
</fieldset> |
||||
</li> |
||||
</ul> |
||||
<p class="boutons"> |
||||
<input type="submit" class="submit" value="<:bouton_valider:>" /> |
||||
</p> |
||||
</div> |
||||
</form> |
||||
</div> |
After Width: | Height: | Size: 910 B |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 4.0 KiB |
@ -0,0 +1,15 @@
|
||||
<BOUCLE_doc(DOCUMENTS){id_document}{tout}> |
||||
[(#SAISIE{radio, podcast, |
||||
label=<:podcast:label_dans_podcast:>, |
||||
defaut=#PODCAST, |
||||
datas=#ARRAY{ |
||||
oui,<:item_oui:>, |
||||
non,<:item_non:>}})] |
||||
[(#SAISIE{radio, explicit, |
||||
label=<:podcast:label_contenu_explicit:>, |
||||
defaut=#EXPLICIT, |
||||
datas=#ARRAY{ |
||||
yes,<:item_oui:>, |
||||
clean,<:podcast:valeur_clean:>, |
||||
no,<:item_non:>}})] |
||||
</BOUCLE_doc> |
@ -0,0 +1,61 @@
|
||||
<BOUCLE_document(DOCUMENTS){id_document}> |
||||
#SET{id_article,''} |
||||
#SET{category_string,' '} |
||||
#SET{url_document,#URL_DOCUMENT|url_absolue} |
||||
#SET{itunes_formats,#ARRAY|push{pdf}|push{m4a}|push{mov}|push{mp3}|push{mp4}} |
||||
<B_article> |
||||
<item> |
||||
<BOUCLE_article(ARTICLES){id_document}{0,1}> |
||||
<title>[(#TITRE|texte_backend)]</title> |
||||
[<link>(#URL_ARTICLE|url_absolue)</link>] |
||||
[<guid>(#URL_ARTICLE|parametre_url{id_document,#_document:ID_DOCUMENT}|url_absolue)</guid>] |
||||
[<comments>(#URL_ARTICLE|url_absolue)#comments</comments>] |
||||
[<pubDate>(#DATE|affdate{r})</pubDate>] |
||||
[(#SET{description,[(#_document:DESCRIPTIF|?{[(#_document:DESCRIPTIF|supprimer_tags|filtrer_entites)],[(#TEXTE|?{[(#TEXTE|supprimer_tags|filtrer_entites)],''})]})]})] |
||||
<BOUCLE_desc(CONDITION){si #GET{description}|strlen}> |
||||
<description><![CDATA[#GET{description}]]></description></BOUCLE_desc> |
||||
<BOUCLE_mots(MOTS){id_article}>[(#COMPTEUR_BOUCLE|=={#TOTAL_BOUCLE}|non)#SET{category_string,#GET{category_string}|concat{#TITRE|texte_backend}|concat{', '}}][(#COMPTEUR_BOUCLE|=={#TOTAL_BOUCLE}|oui) #SET{category_string,#GET{category_string}|concat{#TITRE|texte_backend}}] |
||||
<category><![CDATA[#TITRE]]></category></BOUCLE_mots> |
||||
[<itunes:keywords>(#GET{category_string}|trim)</itunes:keywords>] |
||||
[<media:keywords>(#GET{category_string}|trim)</media:keywords>] |
||||
<BOUCLE_type(CONDITION){si #ENV{type}|=={itunes}|et{#_document:EXTENSION|in_array{#GET{itunes_formats}}|non}}> |
||||
<BOUCLE_doc_itunes(DOCUMENTS){objet = document}{id_objet=#_document:ID_DOCUMENT}{extension IN #GET{itunes_formats}}{tout}{0,1}> |
||||
[<enclosure url="(#URL_DOCUMENT|url_absolue)"[ length="(#_document:TAILLE)"][ type="(#_document:MIME_TYPE)"] />] |
||||
</BOUCLE_doc_itunes> |
||||
[<enclosure url="(#URL_DOCUMENT|url_absolue)"[ length="(#_document:TAILLE)"][ type="(#_document:MIME_TYPE)"] />] |
||||
<//B_doc_itunes> |
||||
</BOUCLE_type> |
||||
[<enclosure url="(#GET{url_document})"[ length="(#_document:TAILLE)"][ type="(#_document:MIME_TYPE)"] />] |
||||
<//B_type> |
||||
#SET{id_article,#ID_ARTICLE} |
||||
<media:hash algo="md5">[(#FICHIER|md5)]</media:hash> |
||||
<media:content |
||||
url="[(#GET{url_document})]"[ |
||||
fileSize="(#_document:TAILLE)"][ |
||||
type="(#_document:MIME_TYPE)"] |
||||
isDefault="true" |
||||
expression="full"[ |
||||
width="(#_document:LARGEUR|>{0}|?{#_document:LARGEUR,''})"][ |
||||
height="(#_document:HAUTEUR|>{0}|?{#_document:HAUTEUR,''})"][ |
||||
lang="(#LANG)"] |
||||
/> |
||||
<BOUCLE_auteurs(AUTEURS){id_article}> |
||||
<media:credit>#NOM</media:credit> |
||||
</BOUCLE_auteurs>[ |
||||
<itunes:author>(#LESAUTEURS|supprimer_tags|texte_backend)</itunes:author>][ |
||||
[<itunes:explicit>(#EXPLICIT)</itunes:explicit>] |
||||
<media:thumbnail url="(#LOGO_DOCUMENT|extraire_attribut{src}|url_absolue)" />] |
||||
[(#PLUGIN{licence}|oui)#MODELE{licence,id_licence=#ID_LICENCE,modele_type=mrss,cacher_defaut=oui}] |
||||
<BOUCLE_point(GIS?){id_article}{0,1}> |
||||
<media:location[ description="(#TITRE|texte_script)"]> |
||||
<georss:where> |
||||
<gml:Point> |
||||
<gml:pos>#LAT #LON</gml:pos> |
||||
</gml:Point> |
||||
</georss:where> |
||||
</media:location> |
||||
</BOUCLE_point> |
||||
</BOUCLE_article> |
||||
</item> |
||||
</B_article> |
||||
</BOUCLE_document> |
@ -0,0 +1,3 @@
|
||||
<BOUCLE_documents_podcasts(DOCUMENTS){podcast=oui}{par date}{inverse}{0,25}> |
||||
#INCLURE{fond=inclure/podcast_item_mrss,id_document=#ID_DOCUMENT,env} |
||||
</BOUCLE_documents_podcasts> |
@ -0,0 +1,34 @@
|
||||
[(#REM) |
||||
|
||||
Squelette affichant les liens de podcasts |
||||
|
||||
Paramètres d'environnement utilisés si disponibles : |
||||
- podcast_types : un array des type de flux à mettre à disposition |
||||
|
||||
]#SET{podcast_flux,#ENV{podcast_types,#CONFIG{podcast/podcast_types,#ARRAY}}}[(#GET{podcast_flux}|count|>{0}|oui) |
||||
<ul class="menu-liste"> |
||||
[(#VAL{channels}|in_array{#GET{podcast_flux}}|oui) |
||||
<li class="item"> |
||||
<a href="http://www.channels.com/autosubscribe?feed_url=[(#URL_PAGE{podcast}|url_absolue)]"> |
||||
[(#CHEMIN{images/icon_channels.png}|image_reduire{16,16}|inserer_attribut{alt,''})] Channels.com |
||||
</a> |
||||
</li>] |
||||
[(#VAL{itunes}|in_array{#GET{podcast_flux}}|oui) |
||||
<li class="item"> |
||||
<a href="[(#URL_PAGE{podcast}|parametre_url{type,itunes}|url_absolue|replace{http://,itpc://})]"> |
||||
[(#CHEMIN{images/podcast_24.png}|image_reduire{16,16}|inserer_attribut{alt,''})] iTunes |
||||
</a> |
||||
</li>] |
||||
[(#VAL{miro}|in_array{#GET{podcast_flux}}|oui) |
||||
<li class="item"> |
||||
<a href="http://subscribe.getmiro.com/?url1=[(#URL_PAGE{podcast}|url_absolue)]"> |
||||
[(#CHEMIN{images/icon_miro.png}|image_reduire{16,16}|inserer_attribut{alt,''})] Miro |
||||
</a> |
||||
</li>] |
||||
[(#VAL{mrss}|in_array{#GET{podcast_flux}}|oui) |
||||
<li class="item"> |
||||
<a href="[(#URL_PAGE{podcast}|url_absolue)]"> |
||||
[(#CHEMIN{feed.png}|image_reduire{16,16}|inserer_attribut{alt,''})] Media RSS |
||||
</a> |
||||
</li>] |
||||
</ul>] |
@ -0,0 +1,13 @@
|
||||
<?php |
||||
// This is a SPIP language file -- Ceci est un fichier langue de SPIP |
||||
// Fichier source, a modifier dans http://svn.aires-de-confluxence.info/svn/plugins_spip/podcast/lang |
||||
if (!defined('_ECRIRE_INC_VERSION')) return; |
||||
|
||||
$GLOBALS[$GLOBALS['idx_lang']] = array( |
||||
// P |
||||
'podcast_description' => 'A plugin to provide one or several podcasts feeds on the site', |
||||
'podcast_nom' => 'Podcasts', |
||||
'podcast_slogan' => 'One or several podcasts feeds on the site', |
||||
); |
||||
|
||||
?> |
@ -0,0 +1,13 @@
|
||||
<?php |
||||
// This is a SPIP language file -- Ceci est un fichier langue de SPIP |
||||
// Fichier source, a modifier dans http://svn.aires-de-confluxence.info/svn/plugins_spip/podcast/lang |
||||
if (!defined('_ECRIRE_INC_VERSION')) return; |
||||
|
||||
$GLOBALS[$GLOBALS['idx_lang']] = array( |
||||
// P |
||||
'podcast_description' => 'Un plugin pour mettre à disposition un ou plusieurs flux de podcast sur son site', |
||||
'podcast_nom' => 'Podcasts', |
||||
'podcast_slogan' => 'Un ou plusieurs flux de podcast sur son site', |
||||
); |
||||
|
||||
?> |
@ -0,0 +1,126 @@
|
||||
<?php |
||||
// This is a SPIP language file -- Ceci est un fichier langue de SPIP |
||||
// extrait automatiquement de http://trad.mediaspip.net/spip.php?page=tradlang |
||||
// ** ne pas modifier le fichier ** |
||||
|
||||
if (!defined('_ECRIRE_INC_VERSION')) return; |
||||
|
||||
$GLOBALS[$GLOBALS['idx_lang']] = array( |
||||
|
||||
// C |
||||
'cfg_titre_podcast' => 'Podcasts', |
||||
|
||||
// D |
||||
'descriptif_flux_defaut' => '@site@ - Recents medias', |
||||
|
||||
// E |
||||
'explication_copyright' => 'A sentence explaining the rights of the podcast feed.', |
||||
'explication_description' => 'Description of the podcast feed. If this field is not filled, the description of the site will be used. Otherwise a generic sentence is used.', |
||||
'explication_email_auteur' => 'Generic email address of the author / owner of the podcast. If this field is left blank, the email of the webmaster of the site will be used.', |
||||
'explication_explicit' => 'Default value for the "explicit" value in the podcast feed for each item.', |
||||
'explication_itunes_categories_principales' => 'These categories allow you to classify feeds into the Apple Store. Some of them may contain sub-categories.', |
||||
'explication_keywords' => 'Keywords associated with the feed. Limit to 12 and separate them by commas.', |
||||
'explication_nom_auteur' => 'Generic name of the author and owner of the podcast. Useful for its referencing.', |
||||
'explication_podcast_auto' => 'Documents added to the site are automatically included in the podcast feed (It is possible to delete or add them later).', |
||||
'explication_podcast_types' => 'What types of feeds are available to visitors.', |
||||
'explication_resume' => 'Short summary of the content of the podcast feed. If this field is not filled, the slogan of the site will be used. If the latter is not available, a default sentence take their place.', |
||||
'explication_titre' => 'If this field is left blank, the name of the site will be used.', |
||||
|
||||
// I |
||||
'itunes_cat_alternative_health' => 'Alternative Health', |
||||
'itunes_cat_amateur' => 'Amateur', |
||||
'itunes_cat_arts' => 'Arts', |
||||
'itunes_cat_automotive' => 'Automotive', |
||||
'itunes_cat_aviation' => 'Aviation', |
||||
'itunes_cat_buddhism' => 'Buddhism', |
||||
'itunes_cat_business' => 'Business', |
||||
'itunes_cat_business_news' => 'Business News', |
||||
'itunes_cat_business_shopping' => 'Shopping', |
||||
'itunes_cat_careers' => 'Careers', |
||||
'itunes_cat_christianity' => 'Christianity', |
||||
'itunes_cat_college_high_school' => 'College & High School', |
||||
'itunes_cat_comedy' => 'Comedy', |
||||
'itunes_cat_design' => 'Design', |
||||
'itunes_cat_education' => 'Education', |
||||
'itunes_cat_education_technology' => 'Education Technology', |
||||
'itunes_cat_fashion_beauty' => 'Fashion & Beauty', |
||||
'itunes_cat_fitness_nutrition' => 'Fitness & Nutrition', |
||||
'itunes_cat_food' => 'Food', |
||||
'itunes_cat_gadgets' => 'Gadgets', |
||||
'itunes_cat_games_hobbies' => 'Games & Hobbies', |
||||
'itunes_cat_government_organizations' => 'Government & Organizations', |
||||
'itunes_cat_health' => 'Health', |
||||
'itunes_cat_higher_education' => 'Higher Education', |
||||
'itunes_cat_hinduism' => 'Hinduism', |
||||
'itunes_cat_history' => 'History', |
||||
'itunes_cat_hobbies' => 'Hobbies', |
||||
'itunes_cat_investing' => 'Investing', |
||||
'itunes_cat_islam' => 'Islam', |
||||
'itunes_cat_judaism' => 'Judaism', |
||||
'itunes_cat_k_12' => 'K-12', |
||||
'itunes_cat_kids_family' => 'Kids & Family', |
||||
'itunes_cat_language_courses' => 'Language Courses', |
||||
'itunes_cat_literature' => 'Literature', |
||||
'itunes_cat_local' => 'Local', |
||||
'itunes_cat_management_marketting' => 'Management & Marketing', |
||||
'itunes_cat_medicine' => 'Medicine', |
||||
'itunes_cat_music' => 'Music', |
||||
'itunes_cat_national' => 'National', |
||||
'itunes_cat_natural_sciences' => 'Natural Sciences', |
||||
'itunes_cat_news_politics' => 'News & Politics', |
||||
'itunes_cat_non_profit' => 'Non-Profit', |
||||
'itunes_cat_other' => 'Other', |
||||
'itunes_cat_other_games' => 'Other Games', |
||||
'itunes_cat_outdoor' => 'Outdoor', |
||||
'itunes_cat_performing_arts' => 'Performing Arts', |
||||
'itunes_cat_personnal_journals' => 'Personal Journals', |
||||
'itunes_cat_philosophy' => 'Philosophy', |
||||
'itunes_cat_places_travel' => 'Places & Travel', |
||||
'itunes_cat_podcasting' => 'Podcasting', |
||||
'itunes_cat_professional' => 'Professional', |
||||
'itunes_cat_regional' => 'Regional', |
||||
'itunes_cat_religion_spirituality' => 'Religion & Spirituality', |
||||
'itunes_cat_science_medicine' => 'Science & Medicine', |
||||
'itunes_cat_self_help' => 'Self-Help', |
||||
'itunes_cat_sexuality' => 'Sexuality', |
||||
'itunes_cat_social_sciences' => 'Social Sciences', |
||||
'itunes_cat_society_culture' => 'Society & Culture', |
||||
'itunes_cat_software_how_to' => 'Software How-To', |
||||
'itunes_cat_spirituality' => 'Spirituality', |
||||
'itunes_cat_sports_recreation' => 'Sports & Recreation', |
||||
'itunes_cat_tech_news' => 'Tech News', |
||||
'itunes_cat_technology' => 'Technology', |
||||
'itunes_cat_training' => 'Training', |
||||
'itunes_cat_tv_film' => 'TV & Film', |
||||
'itunes_cat_video_games' => 'Video Games', |
||||
'itunes_cat_visual_arts' => 'Visual Arts', |
||||
|
||||
// L |
||||
'label_contenu_explicit' => 'Explicit content', |
||||
'label_copyright' => 'Feed copyright', |
||||
'label_dans_podcast' => 'In the podcast feed', |
||||
'label_description' => 'Description of the podcast feed', |
||||
'label_email_auteur' => 'Author\'s email / owner', |
||||
'label_explicit' => 'Explicit content', |
||||
'label_itunes_categories_principales' => 'Main categories for iTunes', |
||||
'label_itunes_sous_categories' => 'Subcategories of "@cat@"', |
||||
'label_keywords' => 'Keywords', |
||||
'label_nom_auteur' => 'Author\'s name / owner', |
||||
'label_podcast_auto' => 'Automatic podcast', |
||||
'label_podcast_types' => 'Feeds types enabled', |
||||
'label_resume' => 'Summary of the podcast feed', |
||||
'label_titre' => 'Title of the podcast feed', |
||||
'legend_itunes' => 'Specific configuration for iTunes', |
||||
'legend_mrss' => 'Specific configuration for Media RSS', |
||||
|
||||
// V |
||||
'valeur_channels' => 'Channels.com', |
||||
'valeur_clean' => 'clean', |
||||
'valeur_itunes' => 'iTunes', |
||||
'valeur_miro' => 'Miro', |
||||
'valeur_mrss' => 'Media RSS', |
||||
'valeur_no' => 'No', |
||||
'valeur_yes' => 'Yes' |
||||
); |
||||
|
||||
?> |
@ -0,0 +1,124 @@
|
||||
<?php |
||||
// This is a SPIP language file -- Ceci est un fichier langue de SPIP |
||||
// Fichier source, a modifier dans http://svn.aires-de-confluxence.info/svn/plugins_spip/podcast/lang |
||||
if (!defined('_ECRIRE_INC_VERSION')) return; |
||||
|
||||
$GLOBALS[$GLOBALS['idx_lang']] = array( |
||||
|
||||
// C |
||||
'cfg_titre_podcast' => 'Podcasts', |
||||
|
||||
// D |
||||
'descriptif_flux_defaut' => '@site@ - Médias récents', |
||||
|
||||
// E |
||||
'explication_copyright' => 'Une phrase explicitant les droits du flux de podcast', |
||||
'explication_description' => 'Description du flux de podcast. Si ce champ n\'est pas rempli, le descriptif du site sera utilisé. À défaut une phrase générique sera utilisée.', |
||||
'explication_email_auteur' => 'Email générique de l\'auteur / propriétaire du podcast. Si ce champ est laissé vide, l\'email du webmaster du site sera utilisé.', |
||||
'explication_explicit' => 'Valeur par défaut pour la valeur "explicit" dans le flux de podcast pour chaque élément.', |
||||
'explication_itunes_categories_principales' => 'Ces catégories permettent de classifier votre flux dans l\'Apple Store. Elles agrémentent les balises >itunes:category< des flux. Certaines d\'entre elles peuvent contenir des sous-catégories.', |
||||
'explication_keywords' => 'Mots clés associés au flux. Limitez les à 12 et séparez les par des virgules.', |
||||
'explication_nom_auteur' => 'Nom générique de l\'auteur et propriétaire du podcast. Utile pour son référencement.', |
||||
'explication_podcast_auto' => 'Les documents ajoutés au site sont automatiquement intégrés au flux de podcast (Il reste possible de les y supprimer ou ajouter par la suite).', |
||||
'explication_podcast_types' => 'Quels types de flux sont mis à disposition des visiteurs.', |
||||
'explication_resume' => 'Court résumé du contenu du flux de podcast. Si ce champ n\'est pas rempli, le slogan du site sera utilisé. Si ce dernier n\'est pas disponible, une phrase par défaut prendra leur place.', |
||||
'explication_titre' => 'Si ce champ est laissé vide, le nom du site sera utilisé.', |
||||
|
||||
// I |
||||
'itunes_cat_alternative_health' => 'Médecine parallèle', |
||||
'itunes_cat_amateur' => 'Sports amateur', |
||||
'itunes_cat_arts' => 'Arts', |
||||
'itunes_cat_automotive' => 'Automobile', |
||||
'itunes_cat_aviation' => 'Aviation', |
||||
'itunes_cat_buddhism' => 'Bouddhisme', |
||||
'itunes_cat_business' => 'Économie et entreprise', |
||||
'itunes_cat_business_news' => 'L\'actualité commerciale', |
||||
'itunes_cat_business_shopping' => 'Shopping', |
||||
'itunes_cat_careers' => 'Emplois', |
||||
'itunes_cat_christianity' => 'Christianisme', |
||||
'itunes_cat_college_high_school' => 'Sports scolaires et universitaires', |
||||
'itunes_cat_comedy' => 'Comédie', |
||||
'itunes_cat_design' => 'Design', |
||||
'itunes_cat_education' => 'Enseignement', |
||||
'itunes_cat_education_technology' => 'Formation en ligne', |
||||
'itunes_cat_fashion_beauty' => 'Mode et beauté', |
||||
'itunes_cat_fitness_nutrition' => 'Fitness et nutrition', |
||||
'itunes_cat_food' => 'Gastronomie', |
||||
'itunes_cat_gadgets' => 'Gadgets', |
||||
'itunes_cat_games_hobbies' => 'Jeux et loisirs', |
||||
'itunes_cat_government_organizations' => 'Gouvernement et ONG', |
||||
'itunes_cat_health' => 'Santé', |
||||
'itunes_cat_higher_education' => 'Enseignement supérieur', |
||||
'itunes_cat_hinduism' => 'Hindouisme', |
||||
'itunes_cat_history' => 'Histoire', |
||||
'itunes_cat_hobbies' => 'Loisirs', |
||||
'itunes_cat_investing' => 'Investissements', |
||||
'itunes_cat_islam' => 'Islam', |
||||
'itunes_cat_judaism' => 'Judaïsme', |
||||
'itunes_cat_k_12' => 'Primaire et secondaire', |
||||
'itunes_cat_kids_family' => 'Enfants et famille', |
||||
'itunes_cat_language_courses' => 'Cours de langue', |
||||
'itunes_cat_literature' => 'Littérature', |
||||
'itunes_cat_local' => 'Locaux', |
||||
'itunes_cat_management_marketting' => 'Gestion et marketting', |
||||
'itunes_cat_medicine' => 'Médecine', |
||||
'itunes_cat_music' => 'Musique', |
||||
'itunes_cat_national' => 'Nationaux', |
||||
'itunes_cat_natural_sciences' => 'Sciences naturelles', |
||||
'itunes_cat_news_politics' => 'Actualités et politique', |
||||
'itunes_cat_non_profit' => 'À but non lucratif', |
||||
'itunes_cat_other' => 'Autres', |
||||
'itunes_cat_other_games' => 'Autres jeux', |
||||
'itunes_cat_outdoor' => 'Plein air', |
||||
'itunes_cat_performing_arts' => 'Arts du spectacle', |
||||
'itunes_cat_personnal_journals' => 'Journaux personnels', |
||||
'itunes_cat_philosophy' => 'Philosophie', |
||||
'itunes_cat_places_travel' => 'Destinations et voyages', |
||||
'itunes_cat_podcasting' => 'Podcasts', |
||||
'itunes_cat_professional' => 'Sports professionnels', |
||||
'itunes_cat_regional' => 'Régionaux', |
||||
'itunes_cat_religion_spirituality' => 'Religion et spiritualité', |
||||
'itunes_cat_science_medicine' => 'Science et médecine', |
||||
'itunes_cat_self_help' => 'Autothérapie', |
||||
'itunes_cat_sexuality' => 'Sexualité', |
||||
'itunes_cat_social_sciences' => 'Sciences sociales', |
||||
'itunes_cat_society_culture' => 'Culture et société', |
||||
'itunes_cat_software_how_to' => 'Didacticiels', |
||||
'itunes_cat_spirituality' => 'Spiritualité', |
||||
'itunes_cat_sports_recreation' => 'Sport', |
||||
'itunes_cat_tech_news' => 'L\'actualité techno', |
||||
'itunes_cat_technology' => 'Technologie', |
||||
'itunes_cat_training' => 'Formation', |
||||
'itunes_cat_tv_film' => 'Séries TV et films', |
||||
'itunes_cat_video_games' => 'Jeux vidéos', |
||||
'itunes_cat_visual_arts' => 'Arts visuels', |
||||
|
||||
// L |
||||
'label_contenu_explicit' => 'Contenu explicite', |
||||
'label_copyright' => 'Copyright du flux', |
||||
'label_dans_podcast' => 'Dans le flux de podcast', |
||||
'label_description' => 'Description du podcast', |
||||
'label_email_auteur' => 'Email de l\'auteur / propriétaire', |
||||
'label_explicit' => 'Contenu explicite', |
||||
'label_itunes_categories_principales' => 'Catégories principales iTunes', |
||||
'label_itunes_sous_categories' => 'Sous catégories de "@cat@"', |
||||
'label_keywords' => 'Mots clés', |
||||
'label_nom_auteur' => 'Nom de l\'auteur / propriétaire', |
||||
'label_podcast_auto' => 'Podcast automatique', |
||||
'label_podcast_types' => 'Types de flux mis à disposition', |
||||
'label_resume' => 'Résumé du flux de podcast', |
||||
'label_titre' => 'Titre du flux de podcast', |
||||
'legend_itunes' => 'Configuration spécifique pour iTunes', |
||||
'legend_mrss' => 'Configuration spécifique pour Media RSS', |
||||
|
||||
// V |
||||
'valeur_channels' => 'Channels.com', |
||||
'valeur_clean' => 'clean', |
||||
'valeur_itunes' => 'iTunes', |
||||
'valeur_miro' => 'Miro', |
||||
'valeur_mrss' => 'Media RSS', |
||||
'valeur_no' => 'Non', |
||||
'valeur_yes' => 'Oui' |
||||
); |
||||
|
||||
?> |
@ -0,0 +1,29 @@
|
||||
<paquet |
||||
prefix="podcast" |
||||
categorie="multimedia" |
||||
version="0.2.0" |
||||
etat="stable" |
||||
compatibilite="[3.0.0;3.0.99]" |
||||
logo="images/podcast_64.png" |
||||
schema="0.1.0" |
||||
documentation="http://www.mediaspip.net/technical-documentation/plugins-used-by-mediaspip/article/le-plugin-podcasts" |
||||
demonstration="http://www.mediaspip.net" |
||||
developpement="http://www.mediaspip.net/spip.php?page=tickets&composant=plugins%20-%20podcasts" |
||||
> |
||||
|
||||
<nom>Podcasts</nom> |
||||
|
||||
<auteur lien="http://www.kent1.info" mail="kent1@arscenic.info">kent1</auteur> |
||||
|
||||
<copyright>2010-2012</copyright> |
||||
|
||||
<licence lien="http://www.gnu.org/licenses/gpl-3.0.html">GPL 3</licence> |
||||
|
||||
<pipeline nom="declarer_tables_principales" inclure="base/podcast_base.php" /> |
||||
<pipeline nom="declarer_tables_objets_sql" inclure="base/podcast_base.php" /> |
||||
<pipeline nom="pre_edition" inclure="podcast_pipelines.php" /> |
||||
<pipeline nom="post_edition" inclure="podcast_pipelines.php" /> |
||||
<pipeline nom="editer_contenu_objet" inclure="podcast_pipelines.php" /> |
||||
|
||||
<necessite nom="saisies" compatibilite='[1.7.6;[' /> |
||||
</paquet> |
@ -0,0 +1,46 @@
|
||||
#CACHE{3600}[(#HTTP_HEADER{Content-type: text/xml[; charset=(#CHARSET)]})]<?xml version="1.0" encoding="#CHARSET" ?> |
||||
<rss version="2.0" |
||||
xmlns:media="http://search.yahoo.com/mrss/" |
||||
xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" |
||||
xmlns:atom="http://www.w3.org/2005/Atom"> |
||||
<channel> |
||||
[<title>(#CONFIG{podcast/titre_podcast,#NOM_SITE_SPIP}|supprimer_tags|texte_backend)</title>] |
||||
<atom:link href="[(#SELF|url_absolue)]" rel="self" type="application/rss+xml" /> |
||||
[<link>(#URL_SITE_SPIP)</link>] |
||||
[<lastBuildDate>(#ENV{date}|affdate{r})</lastBuildDate>] |
||||
[<pubDate>(#ENV{date}|affdate{r})</pubDate>] |
||||
[<itunes:image href="(#LOGO_SITE_SPIP|extraire_attribut{src}|url_absolue)"/>][ |
||||
[<itunes:explicit>(#CONFIG{podcast/explicit_defaut,clean})</itunes:explicit>] |
||||
<image> |
||||
<url>(#LOGO_SITE_SPIP|image_passe_partout{144,400}|image_aplatir{jpg,ffffff}|extraire_attribut{src}|url_absolue)</url> |
||||
[<height>(#LOGO_SITE_SPIP|image_passe_partout{144,400}|extraire_attribut{height})</height>] |
||||
[<width>(#LOGO_SITE_SPIP|image_passe_partout{144,400}|extraire_attribut{width})</width>] |
||||
[<title>(#NOM_SITE_SPIP)</title>] |
||||
[<link>(#URL_SITE_SPIP)</link>] |
||||
</image>][ |
||||
<managingEditor>(#CONFIG{podcast/email_auteur_podcast,#EMAIL_WEBMASTER}|supprimer_tags|texte_backend)[ ((#CONFIG{podcast/nom_auteur_podcast}|supprimer_tags|texte_backend))]</managingEditor>][ |
||||
<itunes:author>(#CONFIG{podcast/nom_auteur_podcast}|supprimer_tags|texte_backend)</itunes:author>][ |
||||
<itunes:owner>[ |
||||
<itunes:name>(#CONFIG{podcast/nom_auteur_podcast}|supprimer_tags|texte_backend)</itunes:name>] |
||||
<itunes:email>(#CONFIG{podcast/email_auteur_podcast,#EMAIL_WEBMASTER}|supprimer_tags|texte_backend)</itunes:email> |
||||
</itunes:owner>][ |
||||
<copyright>(#CONFIG{podcast/copyright_podcast}|supprimer_tags|texte_backend)</copyright>][ |
||||
<description>(#CONFIG{podcast/description_podcast,#DESCRIPTIF_SITE_SPIP}|sinon{<:podcast:descriptif_flux_defaut{site=#NOM_SITE_SPIP}:>}|supprimer_tags|texte_backend)</description>][ |
||||
<itunes:summary>(#CONFIG{podcast/description_podcast,#DESCRIPTIF_SITE_SPIP}|sinon{<:podcast:descriptif_flux_defaut{site=#NOM_SITE_SPIP}:>}|supprimer_tags|texte_backend)</itunes:summary>][ |
||||
<itunes:subtitle>(#CONFIG{podcast/resume_podcast,#SLOGAN_SITE_SPIP}|sinon{<:podcast:resume_flux_defaut{site=#NOM_SITE_SPIP}:>}|supprimer_tags|texte_backend)</itunes:subtitle>][ |
||||
<language>(#ENV{lang})</language>] |
||||
<generator>#NOM_SITE_SPIP (SPIP - http://www.spip.net)</generator> |
||||
<ttl>3600</ttl>[ |
||||
<itunes:keywords>(#CONFIG{podcast/keywords_podcast}|supprimer_tags|texte_backend)</itunes:keywords>] |
||||
<BOUCLE_categories_principales(POUR){tableau #CONFIG{podcast/itunes_categories_principales,#ARRAY}}> |
||||
[(#SET{type,[(#VALEUR|strtolower|replace{' ','_'})]})] |
||||
<B_categories_enfants>[ |
||||
<itunes:category text="(#VALEUR|texte_backend)">] |
||||
<BOUCLE_categories_enfants(POUR){tableau #CONFIG{podcast/itunes_categories_#GET{type},#ARRAY}}>[ |
||||
<itunes:category text="(#VALEUR|texte_backend)"/>]</BOUCLE_categories_enfants> |
||||
</itunes:category></B_categories_enfants>[ |
||||
<itunes:category text="(#VALEUR|texte_backend)"/>]<//B_categories_enfants> |
||||
</BOUCLE_categories_principales> |
||||
<INCLURE{fond=inclure/podcast_items,env}> |
||||
</channel> |
||||
</rss> |
@ -0,0 +1,34 @@
|
||||
<?php |
||||
/** |
||||
* Plugin Podcast |
||||
* par kent1 |
||||
* |
||||
* Copyright (c) 2010-2012 |
||||
* Logiciel libre distribué sous licence GNU/GPL. |
||||
* |
||||
* Installation |
||||
* |
||||
**/ |
||||
if (!defined("_ECRIRE_INC_VERSION")) return; |
||||
|
||||
function podcast_upgrade($nom_meta_base_version,$version_cible){ |
||||
$maj = array(); |
||||
|
||||
$maj['create'] = array( |
||||
array('maj_tables',array('spip_documents')) |
||||
); |
||||
|
||||
include_spip('base/upgrade'); |
||||
maj_plugin($nom_meta_base_version, $version_cible, $maj); |
||||
} |
||||
|
||||
/** |
||||
* Fonction de désinstallation |
||||
* - on vire la meta d'installation |
||||
* - on vire la meta de configuration |
||||
*/ |
||||
function podcast_vider_tables($nom_meta_base_version) { |
||||
effacer_meta($nom_meta_base_version); |
||||
effacer_meta('podcast'); |
||||
} |
||||
?> |
@ -0,0 +1,92 @@
|
||||
<?php |
||||
|
||||
if (!defined("_ECRIRE_INC_VERSION")) return; |
||||
|
||||
/** |
||||
* Insertion dans le pipeline editer_contenu_objet |
||||
* |
||||
* Affiche les boutons supplémentaires de : |
||||
* - changement de la valeur de podcast |
||||
* - changement de la valeur de explicit |
||||
* |
||||
* @param array $flux Le contexte du pipeline |
||||
* @return $flux Le contexte du pipeline complété |
||||
*/ |
||||
function podcast_editer_contenu_objet($flux){ |
||||
$type_form = $flux['args']['type']; |
||||
$id_document = $flux['args']['id']; |
||||
if(in_array($type_form,array('document'))){ |
||||
if(preg_match(",<li [^>]*class=[\"']editer_credits.*>(.*)<\/li>,Uims",$flux['data'],$regs)){ |
||||
$ajouts .= recuperer_fond('inclure/formulaire_document_saisies',array('id_document'=>$id_document)); |
||||
$flux['data'] = preg_replace(",($regs[1]),Uims","\\1".$ajouts,$flux['data']); |
||||
} |
||||
} |
||||
return $flux; |
||||
} |
||||
|
||||
/** |
||||
* Insertion dans le pipeline pre_edition |
||||
*/ |
||||
function podcast_pre_edition($flux){ |
||||
if(($flux['args']['type'] == 'document') && ($flux['args']['action'] == 'modifier') && _request('podcast')){ |
||||
$flux['data']['podcast'] = _request('podcast'); |
||||
$flux['data']['explicit'] = _request('explicit'); |
||||
} |
||||
return $flux; |
||||
} |
||||
|
||||
/** |
||||
* Insertion dans le pipeline post-edition |
||||
* |
||||
* Intervient à chaque modification d'un objet de SPIP |
||||
* notamment lors de l'ajout d'un document |
||||
* |
||||
* - On met la valeur de podcast en fonction de la conf (oui/non) |
||||
* - On met la valeur de explicit en fonction de la conf (oui/non) |
||||
* |
||||
* @return $flux Le contexte de pipeline complété |
||||
* @param array $flux Le contexte du pipeline |
||||
*/ |
||||
function podcast_post_edition($flux){ |
||||
/** |
||||
* On n'intervient que sur les actions d'ajout de document |
||||
*/ |
||||
if(in_array($flux['args']['operation'], array('ajouter_document'))){ |
||||
$id_document = $flux['args']['id_objet']; |
||||
$infos_doc = sql_fetsel('fichier,mode,distant','spip_documents','id_document='.intval($id_document)); |
||||
|
||||
$valeur_podcast = lire_config('podcast/podcast_auto'); // oui ou non |
||||
$valeur_explicit = lire_config('podcast/explicit_defaut'); // yes / clean / no |
||||
|
||||
/** |
||||
* On intervient uniquement lorsque : |
||||
* - les valeurs sont différentes de celles par défaut |
||||
* - que l'on ne soit pas en mode vignette |
||||
*/ |
||||
if(($infos_doc['mode'] != 'vignette') && |
||||
((isset($valeur_podcast) && ($valeur_podcast != 'oui')) |
||||
OR (isset($valeur_explicit) && ($valeur_explicit != 'clean')))){ |
||||
|
||||
/** |
||||
* Mise à jour du document |
||||
*/ |
||||
include_spip('inc/modifier'); |
||||
if(isset($valeur_explicit) && ($valeur_explicit != 'clean')){ |
||||
$infos['explicit'] = $valeur_explicit; |
||||
} |
||||
if(isset($valeur_podcast) && ($valeur_podcast != 'oui')){ |
||||
$infos['podcast'] = $valeur_podcast; |
||||
} |
||||
revision_document($id_document, $infos); |
||||
|
||||
/** |
||||
* On invalide le cache de cet élément si nécessaire |
||||
*/ |
||||
include_spip('inc/invalideur'); |
||||
suivre_invalideur("id='id_document/$id'"); |
||||
} |
||||
} |
||||
return $flux; |
||||
} |
||||
|
||||
?> |
@ -0,0 +1,6 @@
|
||||
[(#AUTORISER{configurer,podcast}|sinon_interdire_acces)] |
||||
<h1 class="grostitre"><:podcast:cfg_titre_podcast:></h1> |
||||
|
||||
<div class="ajax"> |
||||
#FORMULAIRE_CONFIGURER_PODCAST |
||||
</div> |
@ -0,0 +1,126 @@
|
||||
[(#REM) |
||||
|
||||
### /!\ boucle POUR (spip Bonux) ### |
||||
|
||||
Parametres : |
||||
- ** datas : tableau de donnees cle=>valeur |
||||
- option_intro : chaine de langue de la premiere ligne vide ? (defaut:"") |
||||
- cacher_option_intro : pas de premier option vide (defaut:"") |
||||
- class : classe(s) css ajoutes au select |
||||
|
||||
Exemple d'appel : |
||||
[(#SAISIE{itunes_categories,category, |
||||
label=<:podcast:label_categories:>, |
||||
type=main})] |
||||
] |
||||
|
||||
[(#SET{datas_main, [(#ARRAY{ |
||||
Arts,<:podcast:itunes_cat_arts:>, |
||||
Business,<:podcast:itunes_cat_business:>, |
||||
Comedy,<:podcast:itunes_cat_comedy:>, |
||||
Education,<:podcast:itunes_cat_education:>, |
||||
Games & Hobbies,<:podcast:itunes_cat_games_hobbies:>, |
||||
Government & Organizations,<:podcast:itunes_cat_government_organizations:>, |
||||
Health,<:podcast:itunes_cat_health:>, |
||||
Kids & Family,<:podcast:itunes_cat_kids_family:>, |
||||
Music,<:podcast:itunes_cat_music:>, |
||||
News & Politics,<:podcast:itunes_cat_news_politics:>, |
||||
Religion & Spirituality,<:podcast:itunes_cat_religion_spirituality:>, |
||||
Science & Medicine,<:podcast:itunes_cat_science_medicine:>, |
||||
Society & Culture,<:podcast:itunes_cat_society_culture:>, |
||||
Sports & Recreation,<:podcast:itunes_cat_sports_recreation:>, |
||||
Technology,<:podcast:itunes_cat_technology:>, |
||||
TV & Film,<:podcast:itunes_cat_tv_film:> |
||||
})]})] |
||||
|
||||
[(#SET{datas_arts, [(#ARRAY{ |
||||
Design,<:podcast:itunes_cat_design:>, |
||||
Fashion & Beauty,<:podcast:itunes_cat_fashion_beauty:>, |
||||
Food,<:podcast:itunes_cat_food:>, |
||||
Literature,<:podcast:itunes_cat_literature:>, |
||||
Performing Arts,<:podcast:itunes_cat_performing_arts:>, |
||||
Visual Arts,<:podcast:itunes_cat_visual_arts:> |
||||
})]})] |
||||
|
||||
[(#SET{datas_business, [(#ARRAY{ |
||||
Business News,<:podcast:itunes_cat_business_news:>, |
||||
Careers,<:podcast:itunes_cat_careers:>, |
||||
Investing,<:podcast:itunes_cat_investing:>, |
||||
Management & Marketing,<:podcast:itunes_cat_management_marketting:>, |
||||
Shopping,<:podcast:itunes_cat_business_shopping:> |
||||
})]})] |
||||
|
||||
[(#SET{datas_education, [(#ARRAY{ |
||||
Education Technology,<:podcast:itunes_cat_education_technology:>, |
||||
Higher Education,<:podcast:itunes_cat_higher_education:>, |
||||
K-12,<:podcast:itunes_cat_k_12:>, |
||||
Language Courses,<:podcast:itunes_cat_language_courses:>, |
||||
Training,<:podcast:itunes_cat_training:> |
||||
})]})] |
||||
|
||||
[(#SET{datas_games_&_hobbies, [(#ARRAY{ |
||||
Automotive,<:podcast:itunes_cat_automotive:>, |
||||
Aviation,<:podcast:itunes_cat_aviation:>, |
||||
Hobbies,<:podcast:itunes_cat_hobbies:>, |
||||
Other Games,<:podcast:itunes_cat_other_games:>, |
||||
Video Games,<:podcast:itunes_cat_video_games:> |
||||
})]})] |
||||
|
||||
[(#SET{datas_government_&_organizations, [(#ARRAY{ |
||||
Local,<:podcast:itunes_cat_local:>, |
||||
National,<:podcast:itunes_cat_national:>, |
||||
Non-Profit,<:podcast:itunes_cat_non_profit:>, |
||||
Regional,<:podcast:itunes_cat_regional:> |
||||
})]})] |
||||
|
||||
[(#SET{datas_health, [(#ARRAY{ |
||||
Alternative Health,<:podcast:itunes_cat_alternative_health:>, |
||||
Fitness & Nutrition,<:podcast:itunes_cat_fitness_nutrition:>, |
||||
Self-Help,<:podcast:itunes_cat_self_help:>, |
||||
Sexuality,<:podcast:itunes_cat_sexuality:> |
||||
})]})] |
||||
|
||||
[(#SET{datas_religion_&_spirituality, [(#ARRAY{ |
||||
Buddhism,<:podcast:itunes_cat_buddhism:>, |
||||
Christianity,<:podcast:itunes_cat_christianity:>, |
||||
Hinduism,<:podcast:itunes_cat_hinduism:>, |
||||
Islam,<:podcast:itunes_cat_islam:>, |
||||
Judaism,<:podcast:itunes_cat_judaism:>, |
||||
Other,<:podcast:itunes_cat_other:>, |
||||
Spirituality,<:podcast:itunes_cat_spirituality:> |
||||
})]})] |
||||
|
||||
[(#SET{datas_science_&_medicine, [(#ARRAY{ |
||||
Medicine,<:podcast:itunes_cat_medicine:>, |
||||
Natural Sciences,<:podcast:itunes_cat_natural_sciences:>, |
||||
Social Sciences,<:podcast:itunes_cat_social_sciences:> |
||||
})]})] |
||||
|
||||
[(#SET{datas_society_&_culture, [(#ARRAY{ |
||||
History,<:podcast:itunes_cat_history:>, |
||||
Personal Journals,<:podcast:itunes_cat_personnal_journals:>, |
||||
Philosophy,<:podcast:itunes_cat_philosophy:>, |
||||
Places & Travel,<:podcast:itunes_cat_places_travel:> |
||||
})]})] |
||||
|
||||
[(#SET{datas_sports_&_recreation, [(#ARRAY{ |
||||
Amateur,<:podcast:itunes_cat_amateur:>, |
||||
College & High School,<:podcast:itunes_cat_college_high_school:>, |
||||
Outdoor,<:podcast:itunes_cat_outdoor:>, |
||||
Professional,<:podcast:itunes_cat_professional:> |
||||
})]})] |
||||
|
||||
[(#SET{datas_technology, [(#ARRAY{ |
||||
Gadgets,<:podcast:itunes_cat_gadgets:>, |
||||
Tech News,<:podcast:itunes_cat_tech_news:>, |
||||
Podcasting,<:podcast:itunes_cat_podcasting:>, |
||||
Software How-To,<:podcast:itunes_cat_software_how_to:> |
||||
})]})] |
||||
|
||||
#SET{datas,#GET{datas_#ENV{type}}} |
||||
|
||||
<select name="#ENV{nom}[]" id="champ_#ENV{nom}"[ class="(#ENV{class})"][ disabled="(#ENV{disable})"][ readonly="(#ENV{readonly})"] multiple="multiple"> |
||||
<BOUCLE_categorie(POUR){tableau #GET{datas}}> |
||||
<option value="#CLE"[(#CLE|in_array{#ENV{valeur,#ARRAY}}|oui) selected="selected"]>#VALEUR</option> |
||||
</BOUCLE_categorie> |
||||
</select> |
Loading…
Reference in new issue