Recherche avancée

Médias (91)

Autres articles (111)

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Script d’installation automatique de MediaSPIP

    25 avril 2011, par

    Afin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
    Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
    La documentation de l’utilisation du script d’installation (...)

Sur d’autres sites (13201)

  • Anomalie #4245 (Fermé) : Petit bug de sous_repertoire()

    11 décembre 2018

    Découvert hier, un enchaînement tueur :

    1. <span class="CodeRay"><span class="local-variable">$demo</span> = sous_repertoire(_DIR_TMP, <span class="string"><span class="delimiter">'</span><span class="content">demo_</span><span class="delimiter">'</span></span>);
    2. <span class="comment">// $demo = 'tmp/demo_'</span>
    3. <span class="local-variable">$bug</span> = sous_repertoire(<span class="local-variable">$demo</span>, <span class="string"><span class="delimiter">'</span><span class="content">potiron</span><span class="delimiter">'</span></span>);
    4. </span>

    Télécharger

    Le système a rencontré une erreur lors de l’écriture du fichier tmp/demo/potiron/.plat.

    En fait, lors de l’appel de sous_repertoire($base, $subdir), la fonction vire les / et _ finaux de $base (mais pas le _ final éventuel de $subdir).
    Il se retrouve ici à vouloir créer le répertoire tmp/demo/potiron au lieu de tmp/demo_/potiron et n’y arrive pas, vu que le répertoire parent (demo) n’existe pas.

    Histoire

    Après quelques fouilles archéologiques, il se trouve que le problème survient probablement avec r8196 qui refactore différemment le code de r6395 :
    - 6395 fil@rezo.n     if (!preg_match(',[/_]$,', $base)) $base .= '/';
    - 8196 esj@rezo.n     if (preg_match(',[/_]$,', $base)) $base = substr($base,0,-1);
    - 16035 fil@rezo.n     $base = rtrim($base, '/_');

    Le tout devait être, je suppose, pour prendre en compte les excentriques répertoires "plats" (dépendants maintenant de la présence de la constante _CREER_DIR_PLAT).

    Corrections

    Plusieurs corrections possibles :
    - A) virer la constante _CREER_DIR_PLAT et ses actions, et le rtrim de ce souligné (on est en 2018…).
    - B) simplement appliquer le rtrim du souligné si _CREER_DIR_PLAT est présent (ça corrige pas le bug que $subdir n’aurait alors pas ce rtrim non plus !)
    - C) B + corriger le rtrim pour $subdir de la même manière.

    Je suis partisan de A) sur le trunk, et B) ou C) sur 3.2 et 3.1.

    Des avis ?

  • Anomalie #4831 (Nouveau) : URLs arbo non mise à jour au changement de rubrique

    23 juin 2021, par Julien Tessier

    Etapes pour reproduire :

    • Utiliser les URL arbos
    • Créer un article "Lorem ipsum" dans la rubrique 1
    • Publier l’article, son URL est /rubrique-1/lorem-ipsum
    • Créer un article "Lorem ipsum" dans la rubrique 2
    • Proposer l’article à la publication, son URL est /rubrique-2/lorem-ipsum
    • Déplacer l’article dans la rubrique 1
    • SPIP génère une erreur dans les logs :
      2021-06-23 11:32:54 127.0.0.1 (pid 498) :Pri:ERREUR : Erreur 1062 de mysql : Duplicate entry ’1-lorem-ipsum’ for key ’PRIMARY’
      in .../plugins-dist/urls_etendues/action/editer_url.php L155 [sql_insertq(),url_insert(),declarer_url_arbo(),_generer_url_arbo(),urls_arbo_dist(),generer_url_entite(),html_af5c93b1e9d12543df40c819344ffc73(),public_parametrer_dist(),public_produire_page_dist(),inclure_page(),evaluer_fond(),recuperer_fond(),urls_afficher_fiche_objet(),minipipe(),execute_pipeline_afficher_fiche_objet(),pipeline(),f_afficher_blocs_ecrire(),f_recuperer_fond(),minipipe(),execute_pipeline_recuperer_fond(),pipeline(),recuperer_fond(),traiter_appels_inclusions_ajax()]
      
    • Publier l’article
    • L’URL du nouvel article est inchangée donc il est inaccessible (= son URL a déjà été "prise" par un autre)

    Comportement attendu

    Au changement de rubrique, URL arbos regénère une URL unique (avec l’ID donc).

    Résolution temporaire

    J’ai réglé ça de la manière suivante, via un plugin et la pipeline post_edition :

    1. <span class="CodeRay"><span class="keyword">function</span> <span class="function">plugin_post_edition</span>(<span class="local-variable">$e</span>) {
    2.     <span class="keyword">switch</span> (objet_type(<span class="local-variable">$e</span>[<span class="string"><span class="delimiter">'</span><span class="content">args</span><span class="delimiter">'</span></span>][<span class="string"><span class="delimiter">'</span><span class="content">table</span><span class="delimiter">'</span></span>])) {
    3.         <span class="keyword">case</span> <span class="string"><span class="delimiter">'</span><span class="content">article</span><span class="delimiter">'</span></span>;
    4.             <span class="keyword">if</span> (!<span class="predefined">empty</span>(<span class="local-variable">$e</span>[<span class="string"><span class="delimiter">'</span><span class="content">data</span><span class="delimiter">'</span></span>][<span class="string"><span class="delimiter">'</span><span class="content">id_rubrique</span><span class="delimiter">'</span></span>])) {
    5.                 <span class="local-variable">$id_rubrique</span> = <span class="predefined">intval</span>(<span class="local-variable">$e</span>[<span class="string"><span class="delimiter">'</span><span class="content">data</span><span class="delimiter">'</span></span>][<span class="string"><span class="delimiter">'</span><span class="content">id_rubrique</span><span class="delimiter">'</span></span>]);
    6.                 <span class="local-variable">$id_article</span> = <span class="predefined">intval</span>(<span class="local-variable">$e</span>[<span class="string"><span class="delimiter">'</span><span class="content">args</span><span class="delimiter">'</span></span>][<span class="string"><span class="delimiter">'</span><span class="content">id_objet</span><span class="delimiter">'</span></span>]);
    7.                 <span class="keyword">if</span> (<span class="local-variable">$url</span> = sql_fetsel(<span class="string"><span class="delimiter">'</span><span class="content">url</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">spip_urls</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">type = 'article' AND id_objet = </span><span class="local-variable">$id_article</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">perma DESC, date DESC</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">1</span><span class="delimiter">'</span></span>)) {
    8.                     <span class="local-variable">$url</span> = <span class="local-variable">$url</span>[<span class="string"><span class="delimiter">'</span><span class="content">url</span><span class="delimiter">'</span></span>];
    9.                     <span class="keyword">if</span> (sql_countsel(<span class="string"><span class="delimiter">'</span><span class="content">spip_urls</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">url = </span><span class="delimiter">"</span></span>.sql_quote(<span class="local-variable">$url</span>).<span class="string"><span class="delimiter">"</span><span class="content"> AND type = 'article' AND id_parent = </span><span class="local-variable">$id_rubrique</span><span class="content"> AND id_objet != </span><span class="local-variable">$id_article</span><span class="delimiter">"</span></span>)) {
    10.                         sql_delete(<span class="string"><span class="delimiter">'</span><span class="content">spip_urls</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">type = 'article' AND id_objet = </span><span class="local-variable">$id_article</span><span class="content"> AND url = </span><span class="delimiter">"</span></span>.sql_quote(<span class="local-variable">$url</span>));
    11.                     }
    12.                 }
    13.             }
    14.             <span class="keyword">break</span>;
    15.         <span class="keyword">default</span>:
    16.             <span class="keyword">break</span>;
    17.     }
    18.     <span class="keyword">return</span> <span class="local-variable">$e</span>;
    19. }
    20. </span>

    Télécharger

    Ce n’est peut être pas élégant mais ça marche en attendant un fix :)

  • java.io.IOException : Cannot run program "/data/user/0/packagename/files/ffmpeg" : FFMPEG error=13, Permission denied in android Q API level 29

    11 septembre 2020, par Android198

    I am using FFMPEG since long and using internal file location for inputs its working fine if i build apk with API level 28 but in API level 29 its give error=13 permission denied. I opted out scoped storage by android:requestLegacyExternalStorage="true" in manifest though this error is coming.

    &#xA;

    `java.io.IOException: Cannot run program "/data/user/0/packagename/files/ffmpeg": error=13, Permission denied&#xA;        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1050)&#xA;        at java.lang.Runtime.exec(Runtime.java:698)&#xA;        at java.lang.Runtime.exec(Runtime.java:563)&#xA;        at e.h.a.a.n.a(:10)&#xA;        at e.h.a.a.f.b(:38)&#xA;        at e.h.a.a.f.doInBackground(:10)&#xA;        at android.os.AsyncTask$3.call(AsyncTask.java:378)&#xA;        at java.util.concurrent.FutureTask.run(FutureTask.java:266)&#xA;        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)&#xA;        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)&#xA;        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)&#xA;        at java.lang.Thread.run(Thread.java:919)&#xA;     Caused by: java.io.IOException: error=13, Permission denied&#xA;        at java.lang.UNIXProcess.forkAndExec(Native Method)&#xA;        at java.lang.UNIXProcess.<init>(UNIXProcess.java:133)&#xA;        at java.lang.ProcessImpl.start(ProcessImpl.java:141)&#xA;        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)&#xA;        at java.lang.Runtime.exec(Runtime.java:698)&#xA0;&#xA;        at java.lang.Runtime.exec(Runtime.java:563)&#xA0;&#xA;        at e.h.a.a.n.a(:10)&#xA0;&#xA;        at e.h.a.a.f.b(:38)&#xA0;&#xA;        at e.h.a.a.f.doInBackground(:10)&#xA0;&#xA;        at android.os.AsyncTask$3.call(AsyncTask.java:378)&#xA0;&#xA;        at java.util.concurrent.FutureTask.run(FutureTask.java:266)&#xA0;&#xA;        at android.os.AsyncTas k$SerialExecutor$1.run(AsyncTask.java:289)&#xA0;&#xA;        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)&#xA0;&#xA;        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)&#xA0;&#xA;        at java.lang.Thread.run(Thread.java:919)&#xA0;&#xA;2020-09-09 14:37:27.079 22619-22619/E/MediaMetadataRetriever: setDataSource - FileNotFoundException`&#xA;</init>

    &#xA;

    my command is

    &#xA;

    command : [-i, /data/user/0/videomaker.videostatusmaker.photo.to.video.maker.lyrical.lyrically/files/Lyrically_data/93_garmi/img_0.jpg, -i, /data/user/0/videomaker.videostatusmaker.photo.to.video.maker.lyrical.lyrically/cache/PictureCrop1599802574.jpg, -i, /data/user/0/videomaker.videostatusmaker.photo.to.video.maker.lyrical.lyrically/files/Lyrically_data/93_garmi/img_2.jpg, -i, /data/user/0/videomaker.videostatusmaker.photo.to.video.maker.lyrical.lyrically/files/Lyrically_data/93_garmi/background_video.mp4, -filter_complex, [3]split=2[color][alpha] ;[color]crop=iw/2:ih:0:0[color] ;[alpha]crop=iw/2:ih:iw/2:0[alpha] ;[color][alpha]alphamerge[ovrly] ;[0]scale=540:960,setsar=1[0_scalled] ;[1]scale=540:960,setsar=1[1_scalled] ;[2]scale=540:960,setsar=1[2_scalled] ;[0_scalled]zoompan=z='if(lte(zoom,-1.0),1.2,min(zoom+0.0006,1.2))':d=2510.41:s=540x960[v0] ;[1_scalled]zoompan=z='if(lte(zoom,1.0),1.2,max(1.001,zoom-0.0008))':d=2510.65:s=540x960[v1] ;[2_scalled]zoompan=z='if(lte(zoom,-1.0),1.2,min(zoom+0.0008,1.2))':d=25*9.94:s=540x960[v2] ;[v0][v1][v2]concat=n=3:v=1:a=0,format=yuv420p[concatenated_video] ;[concatenated_video][ovrly]overlay=0:0, -t, 31, -strict, -2, -c:a, copy, -flags, +global_header, /data/user/0/videomaker.videostatusmaker.photo.to.video.maker.lyrical.lyrically/files/Lyrically/Lyrically_1599802581317.mp4]

    &#xA;