
Recherche avancée
Médias (91)
-
#3 The Safest Place
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#4 Emo Creates
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#2 Typewriter Dance
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#1 The Wires
11 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
ED-ME-5 1-DVD
11 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Audio
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (106)
-
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
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 (10171)
-
Evolution #4471 (Nouveau) : singulier_ou_pluriel pour l’arabe
13 avril 2020, par George KandalaftVoici le filtre singulier_ou_pluriel adapté à l’arabe (qui a plusieurs formes de pluriels suivant le nombre d’objets) :
- <span class="CodeRay"><span class="comment">/**
- * Afficher un message "un truc"/("deux trucs" pour l'arabe)/"N trucs"
- * Les items sont à indiquer comme pour la fonction _T() sous la forme :
- * "module:chaine"
- *
- * @param int $nb : le nombre
- * @param string $chaine_un : l'item de langue si $nb vaut un (ou $nb > 10 pour l'arabe)
- * @param string $chaine_plusieurs : l'item de lanque si $nb > 1 ($nb est compris entre 3 et 10 pour l'arabe)
- * @param string $var : La variable à remplacer par $nb dans l'item de langue (facultatif, défaut "nb")
- * @param array $vars : Les autres variables nécessaires aux chaines de langues (facultatif)
- * @return string : la chaine de langue finale en utilisant la fonction _T()
- */</span>
- <span class="keyword">function</span> <span class="function">ar_singulier_ou_pluriel</span>(<span class="local-variable">$nb</span>, <span class="local-variable">$chaine_un</span>, <span class="local-variable">$chaine_plusieurs</span>, <span class="local-variable">$var</span> = <span class="string"><span class="delimiter">'</span><span class="content">nb</span><span class="delimiter">'</span></span>, <span class="local-variable">$vars</span> = <span class="predefined">array</span>()) {
- <span class="keyword">if</span> (!<span class="local-variable">$nb</span> = <span class="predefined">intval</span>(<span class="local-variable">$nb</span>)) {
- <span class="keyword">return</span> <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>;
- }
- <span class="keyword">if</span> (!<span class="predefined">is_array</span>(<span class="local-variable">$vars</span>)) {
- <span class="keyword">return</span> <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>;
- }
- <span class="local-variable">$vars</span>[<span class="local-variable">$var</span>] = <span class="local-variable">$nb</span>;
- <span class="keyword">if</span> (<span class="predefined">$GLOBALS</span>[<span class="string"><span class="delimiter">'</span><span class="content">spip_lang</span><span class="delimiter">'</span></span>] == <span class="string"><span class="delimiter">'</span><span class="content">ar</span><span class="delimiter">'</span></span>) {
- <span class="local-variable">$fem</span> = <span class="predefined">substr</span>(<span class="local-variable">$chaine_un</span>, -<span class="integer">2</span>);
- <span class="keyword">switch</span> (<span class="predefined-constant">true</span>) {
- <span class="keyword">case</span> (<span class="local-variable">$nb</span> == <span class="integer">1</span>):
- <span class="keyword">if</span> (<span class="local-variable">$fem</span> == <span class="string"><span class="delimiter">'</span><span class="content">ة</span><span class="delimiter">'</span></span>) {
- <span class="local-variable">$chaine_un</span> = <span class="local-variable">$chaine_un</span> . <span class="string"><span class="delimiter">'</span><span class="content"> واحدة</span><span class="delimiter">'</span></span>;
- } <span class="keyword">else</span> {
- <span class="local-variable">$chaine_un</span> = <span class="local-variable">$chaine_un</span> . <span class="string"><span class="delimiter">'</span><span class="content"> واحد</span><span class="delimiter">'</span></span>;
- }
- <span class="keyword">return</span> _T(<span class="local-variable">$chaine_un</span>, <span class="local-variable">$vars</span>);
- <span class="keyword">break</span>;
- <span class="keyword">case</span> (<span class="local-variable">$nb</span> == <span class="integer">2</span>):
- <span class="keyword">if</span> (<span class="local-variable">$fem</span> == <span class="string"><span class="delimiter">'</span><span class="content">ة</span><span class="delimiter">'</span></span>) {
- <span class="local-variable">$chaine_deux</span> = <span class="predefined">rtrim</span>(<span class="local-variable">$chaine_un</span>, <span class="local-variable">$fem</span>) . <span class="string"><span class="delimiter">'</span><span class="content">تان</span><span class="delimiter">'</span></span>;
- } <span class="keyword">else</span> {
- <span class="local-variable">$chaine_deux</span> = <span class="local-variable">$chaine_un</span> . <span class="string"><span class="delimiter">'</span><span class="content">ان</span><span class="delimiter">'</span></span>;
- }
- <span class="keyword">return</span> _T(<span class="local-variable">$chaine_deux</span>, <span class="local-variable">$vars</span>);
- <span class="keyword">break</span>;
- <span class="keyword">case</span> (<span class="local-variable">$nb</span> ><span class="integer">2</span> && <span class="local-variable">$nb</span> < <span class="integer">11</span>):
- <span class="keyword">return</span> _T(<span class="local-variable">$chaine_plusieurs</span>, <span class="local-variable">$vars</span>);
- <span class="keyword">break</span>;
- <span class="keyword">default</span>:
- <span class="local-variable">$chaine_un</span> = <span class="local-variable">$nb</span> . <span class="string"><span class="delimiter">'</span><span class="content"> </span><span class="delimiter">'</span></span> . <span class="local-variable">$chaine_un</span>;
- <span class="keyword">return</span> _T(<span class="local-variable">$chaine_un</span>, <span class="local-variable">$vars</span>);
- }
- } <span class="keyword">else</span> {
- <span class="keyword">if</span> (<span class="local-variable">$nb</span> > <span class="integer">1</span>) {
- <span class="keyword">return</span> _T(<span class="local-variable">$chaine_plusieurs</span>, <span class="local-variable">$vars</span>);
- } <span class="keyword">else</span> {
- <span class="keyword">return</span> _T(<span class="local-variable">$chaine_un</span>, <span class="local-variable">$vars</span>);
- }
- }
- }
- </span>
-
Anomalie #4537 (Nouveau) : {tri} oubli d’implémenter "sinum" qui existe pour {par}
10 août 2020, par RastaPopoulos ♥Normalement, on doit pouvoir trier pareil, à part que tri est mieux car dynamique. Mais tri sinum XXX plante avec Unknown column ’sinumXXX’ in ’order clause’
Car la fonction tri_champ_order() implémente "multi", "num", mais pas "sinum". Vu qu’on s’attend logiquement à pouvoir utiliser pile la même chose dans les deux critères, d’après moi c’est bien un bug que ça ne marche pas comme attendu (et pas un truc manquant à faire évoluer).
https://git.spip.net/SPIP/spip/src/branch/master/ecrire/public/fonctions.php#L262C’est d’ailleurs un peu dommage de pas pouvoir mutualiser du code et de devoir implémenter à chaque fois deux fois les différents cas, une fois pour par puis une fois pour tri. :(
Mais bon comme c’est vraiment pas fait pareil apparemment… -
Evolution #4548 (Nouveau) : Améliorer _request et set_request pour prendre en compte les champs qu...
9 septembre 2020, par RastaPopoulos ♥Dans la norme HTML, tout champ posté dans un formulaire peut être un tableau, même très profond.
Dans ce cas la norme est que le nom du champ dans le code soit name="tableau[index][index]".Dans Saisies c’est plus ou moins bien pris en compte avec une surcharge saisies_request et saisies_set_request, qui gère aussi le cas où on doit chercher ou enregistrer la valeur dans un sous-index du champ racine. Mais cela n’a strictement aucune spécificité à Saisies. N’importe quel formulaire HTML, fait de n’importe quelle façon, peut avoir des champs qu’on veut enregistrer dans des sous-index.
Je pense donc que _request() et set_request() devraient directement le prendre en compte dans le core.
Il faut au moins gérer la notation officielle des champs de ce type gérés par HTML. Si on fait
_request('tableau[index]')
alors ça ne doit PAS chercher cette chaine telle quelle dans le tableau, ce qui n’a jamais aucun sens, mais bien chercher "tableau", puis si c’est bien un tableau, chercher "index" à l’intérieur, et renvoyer cette valeur là.De même pour set_request() dans l’autre sens.
Pour compléter, ces deux fonctions devraient aussi prendre en compte la notation qu’on utilise aussi partout ailleurs : tableau/index/index.
Cela ferait une mutualisation à priori simple, et éviterait à chaque formulaire de gérer ces cas, en étant raccord à la fois avec la notation HTML et l’autre que l’on utilise partout.