
Recherche avancée
Autres articles (69)
-
Les vidéos
21 avril 2011, parComme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...) -
Keeping control of your media in your hands
13 avril 2011, parThe vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)
Sur d’autres sites (6842)
-
Evolution #4271 (Nouveau) : valider_url_distante => pouvoir déclarer des domaines distants et pas ...
21 janvier 2019, par - EquipementBonjour,
La fonction valider_url_distante permet de déclarer des hosts distants :
- <span class="CodeRay"><span class="local-variable">$known_hosts</span> = pipeline(<span class="string"><span class="delimiter">'</span><span class="content">declarer_hosts_distants</span><span class="delimiter">'</span></span>, <span class="local-variable">$known_hosts</span>);
- </span>
C’est très bien, mais avec plusieurs centaines de hosts à déclarer (dont la liste varie dans le temps), cela devient compliqué à gérer.
Serait-il possible d’avoir, en plus, la possibilité de déclarer des domaines distants ?
Une première piste serait de pouvoir déclarer .example.com dans le pipeline pour inclure tous les *.example.com au lieu des les énumérer un par un.
Une seconde piste consisterait à s’inspirer de la function need_proxy (via une constante avec la même syntaxe que pour le http_noproxy) :
// Pour mémoire code actuel à conserver ...
- <span class="CodeRay"> <span class="local-variable">$is_known_host</span> = <span class="predefined-constant">false</span>;
- <span class="keyword">foreach</span> (<span class="local-variable">$known_hosts</span> <span class="keyword">as</span> <span class="local-variable">$known_host</span>) {
- <span class="local-variable">$parse_known</span> = <span class="predefined">parse_url</span>(<span class="local-variable">$known_host</span>);
- <span class="keyword">if</span> (<span class="local-variable">$parse_known</span>
- <span class="keyword">and</span> <span class="predefined">strtolower</span>(<span class="local-variable">$parse_known</span>[<span class="string"><span class="delimiter">'</span><span class="content">host</span><span class="delimiter">'</span></span>]) === <span class="predefined">strtolower</span>(<span class="local-variable">$parsed_url</span>[<span class="string"><span class="delimiter">'</span><span class="content">host</span><span class="delimiter">'</span></span>])) {
- <span class="local-variable">$is_known_host</span> = <span class="predefined-constant">true</span>;
- <span class="keyword">break</span>;
- }
- }
- </span>
// ... que l’on pourrait faire suivre de ce code (complètement inspiré de function need_proxy) :
- <span class="CodeRay"> <span class="keyword">if</span> (!<span class="local-variable">$is_known_host</span>) {
- <span class="local-variable">$known_domaines</span> = _DECLARER_DOMAINES_DISTANTS;
- <span class="local-variable">$known_domaines</span> = <span class="predefined">str_replace</span>(<span class="string"><span class="delimiter">"</span><span class="char">\n</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content"> </span><span class="delimiter">"</span></span>, <span class="local-variable">$known_domaines</span>);
- <span class="local-variable">$known_domaines</span> = <span class="predefined">str_replace</span>(<span class="string"><span class="delimiter">"</span><span class="char">\r</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content"> </span><span class="delimiter">"</span></span>, <span class="local-variable">$known_domaines</span>);
- <span class="local-variable">$known_domaines</span> = <span class="string"><span class="delimiter">"</span><span class="content"> </span><span class="local-variable">$known_domaines</span><span class="content"> </span><span class="delimiter">"</span></span>;
- <span class="local-variable">$domain</span> = <span class="predefined">strtolower</span>(<span class="local-variable">$parsed_url</span>[<span class="string"><span class="delimiter">'</span><span class="content">host</span><span class="delimiter">'</span></span>]);
- <span class="keyword">if</span> (<span class="predefined">strpos</span>(<span class="local-variable">$known_domaines</span>, <span class="string"><span class="delimiter">"</span><span class="content"> </span><span class="local-variable">$domain</span><span class="content"> </span><span class="delimiter">"</span></span>) !== <span class="predefined-constant">false</span>){
- <span class="local-variable">$is_known_host</span> = <span class="predefined-constant">true</span>;
- }
- <span class="keyword">while</span> (<span class="predefined">strpos</span>(<span class="local-variable">$domain</span>, <span class="string"><span class="delimiter">'</span><span class="content">.</span><span class="delimiter">'</span></span>) !== <span class="predefined-constant">false</span>) {
- <span class="local-variable">$domain</span> = <span class="predefined">explode</span>(<span class="string"><span class="delimiter">'</span><span class="content">.</span><span class="delimiter">'</span></span>, <span class="local-variable">$domain</span>);
- <span class="predefined">array_shift</span>(<span class="local-variable">$domain</span>);
- <span class="local-variable">$domain</span> = <span class="predefined">implode</span>(<span class="string"><span class="delimiter">'</span><span class="content">.</span><span class="delimiter">'</span></span>, <span class="local-variable">$domain</span>);
- <span class="keyword">if</span> (<span class="predefined">strpos</span>(<span class="local-variable">$known_domaines</span>, <span class="string"><span class="delimiter">"</span><span class="content"> .</span><span class="local-variable">$domain</span><span class="content"> </span><span class="delimiter">"</span></span>) !== <span class="predefined-constant">false</span>) {
- <span class="local-variable">$is_known_host</span> = <span class="predefined-constant">true</span>;
- }
- }
- }
- </span>
Cordialement
Equipement -
Evolution #4271 : valider_url_distante => pouvoir déclarer des domaines distants et pas seulement ...
22 janvier 2019, par - EquipementPour la première piste, qui consiste à pouvoir déclarer ’.example.com’ dans le pipeline pour inclure tous les *.example.com au lieu des les énumérer un par un, ci-dessous un exemple de code que j’ai testé. Il consiste à remplacer la partie de code actuel de la fonction valider_url_distante :
- <span class="CodeRay"> <span class="local-variable">$is_known_host</span> = <span class="predefined-constant">false</span>;
- <span class="keyword">foreach</span> (<span class="local-variable">$known_hosts</span> <span class="keyword">as</span> <span class="local-variable">$known_host</span>) {
- <span class="local-variable">$parse_known</span> = <span class="predefined">parse_url</span>(<span class="local-variable">$known_host</span>);
- <span class="keyword">if</span> (<span class="local-variable">$parse_known</span>
- <span class="keyword">and</span> <span class="predefined">strtolower</span>(<span class="local-variable">$parse_known</span>[<span class="string"><span class="delimiter">'</span><span class="content">host</span><span class="delimiter">'</span></span>]) === <span class="predefined">strtolower</span>(<span class="local-variable">$parsed_url</span>[<span class="string"><span class="delimiter">'</span><span class="content">host</span><span class="delimiter">'</span></span>])) {
- <span class="local-variable">$is_known_host</span> = <span class="predefined-constant">true</span>;
- <span class="keyword">break</span>;
- }
- }
- </span>
par le code suivant :
- <span class="CodeRay"> <span class="local-variable">$is_known_host</span> = <span class="predefined-constant">false</span>;
- <span class="keyword">foreach</span> (<span class="local-variable">$known_hosts</span> <span class="keyword">as</span> <span class="local-variable">$known_host</span>) {
- <span class="keyword">if</span> (<span class="predefined">substr</span>(<span class="local-variable">$known_host</span>,<span class="integer">0</span>,<span class="integer">1</span>)==<span class="string"><span class="delimiter">'</span><span class="content">.</span><span class="delimiter">'</span></span>){
- <span class="comment">// cas d'un domaine</span>
- <span class="keyword">if</span> (<span class="predefined">strtolower</span>(<span class="local-variable">$known_host</span>) === <span class="predefined">strtolower</span>(<span class="predefined">substr</span>(<span class="local-variable">$parsed_url</span>[<span class="string"><span class="delimiter">'</span><span class="content">host</span><span class="delimiter">'</span></span>],-<span class="predefined">strlen</span>(<span class="local-variable">$known_host</span>)))) {
- <span class="local-variable">$is_known_host</span> = <span class="predefined-constant">true</span>;
- <span class="keyword">break</span>;
- }
- } <span class="keyword">else</span> {
- <span class="local-variable">$parse_known</span> = <span class="predefined">parse_url</span>(<span class="local-variable">$known_host</span>);
- <span class="keyword">if</span> (<span class="local-variable">$parse_known</span>
- <span class="keyword">and</span> <span class="predefined">strtolower</span>(<span class="local-variable">$parse_known</span>[<span class="string"><span class="delimiter">'</span><span class="content">host</span><span class="delimiter">'</span></span>]) === <span class="predefined">strtolower</span>(<span class="local-variable">$parsed_url</span>[<span class="string"><span class="delimiter">'</span><span class="content">host</span><span class="delimiter">'</span></span>])) {
- <span class="local-variable">$is_known_host</span> = <span class="predefined-constant">true</span>;
- <span class="keyword">break</span>;
- }
- }
- }
- </span>
-
Anomalie #4368 (Nouveau) : Filtres image_* et espaces dans les noms de fichiers
7 août 2019, par nicod _Suite à un passage de 3.0 à 3.2, plein d’images cassées sur le site, qui affichait le nom du fichier au lieu de la vignette.
Après investigation, c’est dû à des espaces dans les noms de fichiers.
Exemple : [(#CHEMINIMG/festivals/affiche 2019.jpg|image_reduire200,200)] ne marche pas (affiche le nom du fichier)
Le fichier existe bien, c’est un jpeg valide.
Ce n’est pas dû à #CHEMIN, dans mon squelette les chemins remontent avec des balises de champs sql (genre #AFFICHE)
Avec un |balise_img ça fonctionne : [(#CHEMINIMG/festivals/affiche 2019.jpg|balise_img|image_reduire200,200)]
PS : discuté sur IRC et confirmé par cy_altern, qui précise : "si j’appelle le filtre sur un #FICHIER avec espace ça plante aussi"