Recherche avancée

Médias (29)

Mot : - Tags -/Musique

Autres articles (29)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • 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

Sur d’autres sites (6548)

  • 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 #3236 (Nouveau) : opendir et readdir

    27 juin 2014, par Ybbet SPIP
  • Anomalie #3697 : Bug svn10000 SPIP 3

    14 février 2016, par MiKaël Navarro

    Cependant je m’étonne que cette erreur là « remplissent les logs du serveur Web », d’autant que l’erreur n’est pas critique.
    Normalement le if ($dir = opendir(...)) n’entre pas dans le if si opendir retourne false. Par contre, oui ça créait une erreur PHP si le dossier n’existait pas, mais qui ne devrait pas perturber il me semble la suite du processus de mise à jour. Je n’ai pas été vérifier cependant.

    Effectivement le if ($dir = opendir(...)) n’entre pas dans le if si opendir retourne false, mais ce n’est pas le code que j’ai dans l’archive spip-3.1.zip (r22707 aujourd’hui en date du 6 janvier), au lieu de ça j’ai seulement (sans le if) :

    $dir = opendir($base) ;
    while (($f = readdir($dir)) !== false) 
    ...
    

    De plus je suis d’accord, ce n’est pas une Erreur mais un simple Warning que l’on retrouve dans /var/log/nginx/error.log :

    2016/02/14 12:36:04 [error] 1141#0 : *197 FastCGI sent in stderr : "PHP message : PHP Warning :  opendir(baddir/) : failed to open dir : No such file or directory in /home/mickey/public_html/test-opendir.php on line 2
    PHP message : PHP Warning :  readdir() expects parameter 1 to be resource, boolean given in /home/mickey/public_html/test-opendir.php on line 3" while reading response header from upstream, client : 127.0.0.1, server : localhost, request : "GET / mickey/test-opendir.php HTTP/1.1", upstream : "fastcgi ://unix :/var/run/php5-fpm.sock :", host : "localhost" 
    


    Ensuite le test while (($f = readdir($dir)) !== false) rentre dans une boucle infinie et c’est avec ça que j’ai créé un log de plus de 2Go !

    D’après les commit, je vois que c’était déjà corrigé dans la version SVN, mais un test supplémentaire mange pas de pain ça sera plus robuste et évitera l’écriture d’un Warning dans les logs pour rien :)

    En tout cas merci pour votre réactivité.