
Recherche avancée
Autres articles (59)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Possibilité de déploiement en ferme
12 avril 2011, parMediaSPIP peut être installé comme une ferme, avec un seul "noyau" hébergé sur un serveur dédié et utilisé par une multitude de sites différents.
Cela permet, par exemple : de pouvoir partager les frais de mise en œuvre entre plusieurs projets / individus ; de pouvoir déployer rapidement une multitude de sites uniques ; d’éviter d’avoir à mettre l’ensemble des créations dans un fourre-tout numérique comme c’est le cas pour les grandes plate-formes tout public disséminées sur le (...) -
Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs
12 avril 2011, parLa manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.
Sur d’autres sites (11866)
-
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 #3055 (En cours) : Autorisation sur les listes d’objets
5 mai 2015, par Eric LupinacciEn fait, c’est à mon avis un problème plus général, de rigueur dans l’appel des autorisations en entrée des pages mais aussi de stratégie de définition des autorisations qui sont malheureusement assez rarement arborescentes.
Si on prend les pages objet comme article, rubrique et auteur par exemple, elle commencent toutes par une autorisation :
(#AUTORISERvoir,article,#ID_ARTICLE ou (#AUTORISERvoir,rubrique,#ID_RUBRIQUE ou (#AUTORISERvoir,auteur,#ID_AUTEUR
Cependant d’ailleurs seul l’autorisation article_voir est définie, les autres renvoyant sur l’autorisation par défaut. Mais au moins une autorisation est appelée systématiquement quelque soit le moyen avec lequel on arrive sur cette page.
A partir de là si il existe un bouton qui envoie sur cette page il faut le conditionner par cette autorisation (code HTML) et si c’est un menu créé automatiquement alors là il faut créer une autorisation de menu qui appelle l’autorisation de voir et pas le contraire à mon avis.Donc si on étend ça aux pages articles, auteurs et rubriques je suis d’accord qu’il faudrait une autorisation voir_xxxx (ce qui n’est pas le cas actuellement) qui serait appelée en entrée de la page comme l’exemple ci-dessous pour la page articles :
(#AUTORISERvoir,_articles
et il faudrait alors coder l’autorisation du menu Articles de cette façon :function autoriser_articles_menu_dist($faire, $type, $id, $qui, $opt) return autoriser(’voir’, ’_articles’) ;
En effet, la décision d’afficher ou pas le menu est indépendante du fait de voir ou pas la page articles mais doit s’appuyer dessus si on décide de ne pas présenter un lien qui mène vers une page interdite.
Et il faudrait systématiser cela pour tous les plugins objet du core à mon avis.En second lieu il faudrait faire une passe sur le code des autorisations actuelles pour imbriquer un peu plus les autorisations de façon arborescente ce qui leur donnerait plus de lisibilité car parfois elles sont identiques sans qu’on s’en rende compte car le code est dupliqué.
-
Copying avcodec parameters
4 juin 2020, par AyxanI am trying to use libav to convert an MP4 file to an MP3 file. Basically trying to achieve what
ffmpeg -i filename.mp4 filename.mp3
does. I've found this official example. But when I run it with an input MP4 and an output MP3 I get an error :




Invalid audio stream. Exactly one MP3 audio stream is required.





I am not at all familiar with this library but I think I have narrowed the problem down to this line :



ret = avcodec_parameters_copy(out_stream->codecpar, in_codecpar);




It seems to copy all streams for a video file but we only need one for the MP3 file ? I am not sure. There doesn't seem to be a function to copy only the parameters relevant to audio. I checked the sources,
avcodec_parameters_copy
does a simplememcpy
.


Questions :



- 

- Is this the actual problem ?
- How do I solve it ?
- Am I on the right track to achieve the goal of extracting audio from a video file ? I've seen this question (and other similar questions like this and this) on here but none seem to have a complete code example. The C API documentation for this library is also a little lacking.