mirror of
https://github.com/YunoHost-Apps/spip_ynh.git
synced 2024-09-03 20:25:59 +02:00
commit
2974ce8afd
239 changed files with 4917 additions and 1387 deletions
|
@ -1,4 +1,244 @@
|
||||||
|
|
||||||
|
SPIP-Core spip-3.0.20 -> spip-3.0.21 31 octobre 2015
|
||||||
|
-------------------------------------------------------------
|
||||||
|
|
||||||
|
r22267 | cedric | (mer. 24 juin 2015) | Quand la source image est dans IMG/ et contient une query-string complexe et que le fichier existe sans la query-string, on l'ignore. Repare le traitement des images qui ont une URL restreinte basee sur la query-string+htaccess
|
||||||
|
r22282 | fil | (lun. 29 juin 2015) | report de #22281 (https://core.spip.net/issues/3456)
|
||||||
|
r22315 | cedric | (lun. 20 juil. 2015) | Reparer la desinstallation des plugins dans _DIR_PLUGINS_SUPPL
|
||||||
|
r22326 | cedric | (ven. 24 juil. 2015) | Report de r22325 : Fix #3504 : purge des autosave cvt en session
|
||||||
|
r22327 | cedric | (ven. 24 juil. 2015) | Report de r21817 : 0 est une valeur acceptable pour un champ obligatoire (Frederic, Pierretux)
|
||||||
|
r22342 | cedric | (sam. 25 juil. 2015) | Fix #3510 : parametre_url sur les arguments de type tableau. On backporte la version du trunk 3.1 sur laquelle le bug a ete corrige
|
||||||
|
r22344 | cedric | (dim. 26 juil. 2015) | Report de r22343 : Fix #3494 : quand la date de redaction anterieure est utilisee, il faut pouvoir l'editer sur un article en cours de redaction, comme avant, mais sans permettre l'edition de la date.On robustifie traiter() en verifiant le droit a edition qui a ete calcule dans charger() avant de prendre en compte les request, ce qui evite tout risque de manipulation du form et d'injection d'input en html+ Report de r22338 au passage
|
||||||
|
r22362 | kent1 | (mar. 28 juil. 2015) | Récupérer le title et le hreflang du lien entourant un modèle cf #3516
|
||||||
|
r22384 | kent1 | (mer. 12 août 2015) | Gros bug sur r22282 (cf #3456)Le passage en liens absolus se faisait uniquement sur le premier href ou src, remplaçant le premier href ou src par le dernier href / src présent dans le texte...On ne remplaçait plus lien par lien
|
||||||
|
r22392 | erational | (mar. 25 août 2015) | report de c22360
|
||||||
|
r22393 | erational | (mar. 25 août 2015) | arménien en code HTML
|
||||||
|
r22402 | rasta | (jeu. 03 sept. 2015) | RAH. On corrige enfin ce fichu gros bug du compilateur qui faisait qu'on ne pouvait pas avoir un critère conditionnel ET plusieurs arguments.Ça marchait pour les critères sans arguments ou avec un seul argument.La raison ? Non-factorisation et doublonnage de code : actuellement, les critères mêmes persos (pas juste les trucs SQL) qui ont 0 ou 1 arguments, ne passent PAS par le même code que ceux avec 2 ou plus. Alors qu'ensuite le traitement et la regex associée sont quasiment les mêmes… mais pas tout à fait, puisque dans le cas 2 ou plus ça ne cherchait pas le "?".Pour l'instant on corrige juste le bug, mais il faudrait nettoyer le code et factoriser pour ne plus générer d'erreur de ce genre…Au passage, pour SPIP 3.0, on backport la correction du "_" manquant qui faisait, là aussi qu'avec 2 arguments ou plus, on avait pas le droit d'avoir des critères avec_plusieurs_mots, alors qu'on peut avec 0 ou 1 argument. Même raison : code fait deux fois différemment, dont la regex.
|
||||||
|
r22434 | erational | (ven. 16 oct. 2015) | pas d'accent sur Kreyòl (Peyi Dayiti)
|
||||||
|
r22436 | cedric | (lun. 19 oct. 2015) | On ajoute l'heure de publication au survol de la date, cela est utile pour faire de la programmation intensive d'article a l'avance
|
||||||
|
r22442 | cedric | (mar. 27 oct. 2015) | Report de r22441 : r17234 a introduit un include_spip() au debut de base/connect_sql.php, ce qui etait une erreur car ce fichier est inclus par inc_version avant toute initialisation du core et chargement des caches.Du coup chaque hit provoquait une invalidation du chemin car find_in_path appele trop tot croyait que son find etait nouveau, donc le hit se finissait par une ecriture du fichier tmp/cache/chemin.txt.Comme ce fichier peut etre assez gros (>100ko) et ecrit en posant un verrou, cela impactait la performance par un debit d'ecriture sur le disque et des possibles attentes entre hit concourants.Bug repere par nicod en 3.0 et confirme par RealET en 3.1
|
||||||
|
r22444 | cedric | (mar. 27 oct. 2015) | Report de r22443 : Complement a r22441 : ne pas lever le flag en cas de find_in_path appele trop tot si le fichier n'est pas trouve
|
||||||
|
r22449 | cedric | (jeu. 29 oct. 2015) | Report de r22427 : #3371 Les squelettes de l'espace prive recoivent un flag espace_prive=1 a toute fin utile
|
||||||
|
r22450 | cedric | (jeu. 29 oct. 2015) | Report de r22428 : Fix #3371 : dans la fonction typo, si un flag espace_prive=1 est present dans le env, on echappe tout html suspect, ie qui ne passe pas a travers safehtml sans censure. Pour limiter l'impact perfo on conditionne l'echappement a la presence des caracteres < et = dans le texte, c'est a dire une balise avec un attribut, ce qui ne traitera donc quasiment aucun contenu par defaut, sauf quelques rares <span lang='en'> ou autre curiosite de ce type
|
||||||
|
r22451 | cedric | (jeu. 29 oct. 2015) | Report de r22429 : oups oubli dans r22428 : cas de typo appele en php depuis l'espace prive
|
||||||
|
r22452 | b_b | (jeu. 29 oct. 2015) | report de r22346Fix #3430 : les boucles avec langue utilisaient lang_select_public() qui changeait sauvagement la langue en debut de boucle, sans la restaurer en fin de boucle, provoquant des bugs de contexteOn modifie la compulation des boucles : lang_select_public() appelle toujours lang_select(...) avec eventuellement la langue inchangee, et la boucle finit par un lang_select() qui depile et restaure la langue pour l'iteration suivante.
|
||||||
|
|
||||||
|
SPIP-plugins-dist spip-3.0.20 -> spip-3.0.21 31 octobre 2015
|
||||||
|
-------------------------------------------------------------
|
||||||
|
|
||||||
|
r91143 | kent1 | (mar. 28 juil. 2015) | Récupérer le title et le hreflang du lien entourant un modèle cf #3516
|
||||||
|
r91205 | cedric | (jeu. 30 juil. 2015) | bug lors d'une erreur a la creation d'un mot (confirmation sur un doublon par exexemple)
|
||||||
|
r91206 | cedric | (jeu. 30 juil. 2015) | complement a r91205
|
||||||
|
r91209 | cy_altern | (jeu. 30 juil. 2015) | report de 91148 (acces de google bot aux js et css)
|
||||||
|
r91271 | cedric | (mer. 05 août 2015) | On ne verifie et alerte sur le doublon de titre de mot cle uniquement si c'est un nouveau mot cle ou si on retitre un mot cle existant, sinon c'est penible
|
||||||
|
r91274 | cedric | (mer. 05 août 2015) | ne pas syndiquer un site en refuse
|
||||||
|
r91290 | real3t | (ven. 07 août 2015) | Mise à jour pour la reconnaissance des moteurs de recherche. Reportable en 2.1.
|
||||||
|
r91384 | real3t | (dim. 16 août 2015) | Un paramètre de plus reconnu pour Google
|
||||||
|
r91608 | kent1 | (jeu. 03 sept. 2015) | Report de la fonctionnalité de z91607"Faire prendre en compte à la prévisu l'hypothétique dir="ltr" ou dir="rtl" sur le textarea"
|
||||||
|
r91797 | marcimat | (sam. 12 sept. 2015) | Report de r91796 : Le pipeline "afficher_contenu_objet" n'était pas appelé pour l'affichage des groupes de mots sur la page exec=mots.
|
||||||
|
r92079 | chankalan | (mar. 29 sept. 2015) | pour affichage des colonnes des visites, report de http://zone.spip.org/trac/spip-zone/changeset/91091/ et http://zone.spip.org/trac/spip-zone/changeset/91404/
|
||||||
|
r92236 | cedric | (sam. 10 oct. 2015) | Report de r92235 : soyons un peu moins bisounours : les diff necessitent aussi un interdire_scripts comme tous les contenus affiches dans l'espace prive
|
||||||
|
r92513 | b_b | (jeu. 29 oct. 2015) | Report de r92512 : éviter d'afficher le script d'autosave dans la prévisu d'un forum quand le site est en mode parano avec $filtrer_javascript = -1;Ref https://core.spip.net/issues/3413 merci Équipement
|
||||||
|
r92523 | b_b | (jeu. 29 oct. 2015) | report de r92522 : éviter une erreur PHP Strict Standards: Only variables should be passed by reference (Eric Camus)Ref https://core.spip.net/issues/3373
|
||||||
|
r92525 | b_b | (jeu. 29 oct. 2015) | version 0.80.27 : report de r92524fix installation d'un plugin qui nécessite un plugin du core sur un site neuf, https://core.spip.net/issues/3572À la fin de svp_ajouter_depot(), utiliser svp_actualiser_paquets_locaux(true) qui, comme son nom l'indique, actualise les paquets locaux puis supprime les paquets locaux avec l'option true.Merci marcimat :)
|
||||||
|
r92568 | real3t | (sam. 31 oct. 2015) | Et report en 3.0
|
||||||
|
r92576 | real3t | (sam. 31 oct. 2015) | Sur une suggestion de Franck, intégration de Haosou dont parle cet article.
|
||||||
|
r92578 | Francky | (sam. 31 oct. 2015) | Il semble que sogou soit un moteur en chinehttp://www.journaldunet.com/solutions/expert/59882/haosoule-moteur-de-recherche-qui-pourrait-changer-le-monde-du-seo-chinois.shtml
|
||||||
|
r92580 | Francky | (sam. 31 oct. 2015) | Rangement alphabétique
|
||||||
|
|
||||||
|
SPIP-Core spip-3.0.19 -> spip-3.0.20 23 juin 2015
|
||||||
|
-------------------------------------------------------------
|
||||||
|
r22106 | ben | (sam. 09 mai 2015) | 3.0.20 dev
|
||||||
|
r22111 | cedric | (sam. 09 mai 2015) | #3418 : loger les creations de table pour debusquer le bug
|
||||||
|
r22112 | cedric | (sam. 09 mai 2015) | #3418 : purger les opcode cache y compris sur php-fpm (a valider) / Credits pour le patch https://www.drupal.org/node/779482
|
||||||
|
r22121 | cedric | (dim. 10 mai 2015) | Report de r22115 : realpath pour faire un clear opcode cache
|
||||||
|
r22122 | cedric | (dim. 10 mai 2015) | Report de r22116 : #3418 : Octave utilise une configuration foireuse de opcode cache, qui persiste 2s apres modification du fichier sans possibilite de l'invalider manuellement. On essaye donc de detecter cette configuration et de faire un sleep() le temps que le cache soit invalide
|
||||||
|
r22123 | cedric | (dim. 10 mai 2015) | Report de r22118 : Affectation de variable inutile (inutilisée) dans r22116.
|
||||||
|
r22124 | cedric | (dim. 10 mai 2015) | Report de r22119 : Complement a r22116 : deplacer les de code dans une fonction qui peut resservir dans un plugin si necessaire
|
||||||
|
r22125 | cedric | (dim. 10 mai 2015) | Report de r22120 : Commenter les logs inutiles de r22111, on conserve la verification et seconde tentative de creation de table en cas d'echec
|
||||||
|
r22155 | erational | (lun. 18 mai 2015) | un warning de moins.
|
||||||
|
r22204 | b_b | (ven. 05 juin 2015)| Report de r22203 / Fix #3440 : éviter la disparition du texte du troisième onglet de l'installation sous firefox win$ (merci à Franck pour le signalement)
|
||||||
|
r22208 | b_b | (mar. 09 juin 2015)| report de r22201 / Fixe #3418 : complément à r22119 ajouter une seconde à la durée de opcache.revalidate_freq, sans quoi on retombe dans le cache
|
||||||
|
r22246 | cedric | (ven. 19 juin 2015)| Report de r22245 : une option mtime sur purger_repertoire pour supprimer uniquement les fichiers plus anciens que filemtime donne
|
||||||
|
r22247 | rasta | (ven. 19 juin 2015)| Charger la l'API autoriser avant de l'utiliser… On rappelle que SPIP n'utilise pas d'autoload, et que donc on DOIT TOUJOURS penser à charger les API avant de les utiliser. :)
|
||||||
|
r22252 | toutati | (dim. 21 juin 2015)| un petit {tout} qui permet d'afficher la liste des traductions, même si l'article a une rubrique en -1 (cas du plugin pages uniques)
|
||||||
|
|
||||||
|
SPIP-plugins-dist spip-3.0.19 -> spip-3.0.20 23 juin 2015
|
||||||
|
-------------------------------------------------------------
|
||||||
|
r89160 | eric | (ven. 08 mai 2015) | Le décideur prend la première version compatible des plugins dépendants si plusieurs sont disponibles. Autant prendre la version la plus élevée.
|
||||||
|
r89163 | eric | (ven. 08 mai 2015) | oubli d'incrément.
|
||||||
|
r89165 | cedric | (ven. 08 mai 2015) | Fix https://core.spip.net/issues/3398 : date_thread ne doit etre mis a jour que si le message est publie
|
||||||
|
r89169 | franck | (ven. 08 mai 2015) | Ce n'est plus http://core.spip.org mais https://core.spip.net
|
||||||
|
r89230 | cedric | (sam. 09 mai 2015) | Report de r89229 : Fix https://core.spip.net/issues/2899 : erreur 404 mal geree en urls propres
|
||||||
|
r89281 | marcimat | (dim. 10 mai 2015) | Corriger #3416 : ne pas afficher obsolète un plugin local en présence d'une version plus élevée du même plugin, mais non compatible avec ce SPIP.Notons que le terme 'obsolète' ne convient pas vraiment. En effet, dans le cas suivants, tous 2 compatibles avec notre SPIP :A : prefixe TOTO | v1.0.0 | stableB : prefixe TOTO | v1.1.0 | stableC : prefixe TOTO | v1.1.1 | testAlors - A est considéré obsolète (OK)- B n'est pas considéré obsolète (OK)- C est considéré obsolète (hum…)En fait un terme 'prioritaire' sur B à true, et false sur les autres aurait été plus adapté. Parce que C n'est pas tellement obsolète,juste plus à jour, mais d'un état inférieur.
|
||||||
|
r89311 | marcimat | (mar. 12 mai 2015) | Report de r85634 : Eviter des "Warning: Illegal string offset..." (Oxymore)(JandB)
|
||||||
|
r89345 | marcimat | (jeu. 14 mai 2015) | Report de r89344 : Fermer véritablement #3398 car la correction r89165 n'avait pas vu un piège et créait un beau warning :$t, censé être un tableau, était réaffecté au dessus pour recevoir l'identifiant du thread.On nomme pour ce cas correctement la variable.
|
||||||
|
r89347 | marcimat | (jeu. 14 mai 2015) | Report de r89346 : Ferme #3443 et suite de #3380 , qui complète r89155 (et 89157) : il faut que l'autorisation d'associer des documents, tout commele fait déjà la nouvelle autorisation de dissocier des documents, prenne en compte les identifiants négatifs.Ils correspondent à l'ajout d'un document sur un nouvel article encore en édition et non encore enregistré (pas d'id_article connu),ce qui affecte le document avec 0-$id_auteur qui l'a envoyé.
|
||||||
|
r89691 | marcimat | (mer. 27 mai 2015) | Correction d'un cas très particulier lors de l'installation de SPIP et du plugin organiseur, si un pluginappelle la fonction 'creer_base()' avant l'installation du plugin organiseur. (Cas qui peut arriversi quelqu'un ajoute au moins un plugin dans plugins-dist qui fait cela, avant d'avoir installé SPIP)Dans ce cas, la table 'spip_messages' est déjà créée, et Organiseur croit que l'on vient d'une mise à jourd'un vieux SPIP. Et à ce moment là, il ne crée pas les colonnes nécessaires (imessage et messagerie) dans SPIP auteurs,mais par contre il fait toutes les procédures de mises à jour.Du coup, on ajoute une procédure de mise à jour qui peut créer ces champs s'ils manquent.Corrige une erreur «Critère inconnu =» sur le squelettes prive/objets/liste/auteurs-enligne à l'installation.À noter que ce squelette dans SPIP fait appel à la colonne imessage depuis https://core.spip.net/projects/spip/repository/revisions/21401 , alors que ce champ estdéclaré dans ce plugin. Peut être faudrait il surcharger le squelette dans ce plugin pour permettre à SPIP de pouvoir fonctionner sans.
|
||||||
|
r89923 | real3t | (ven. 05 juin 2015)| Ce bouton actualiser la liste des plugins était tellement bas que j'étais passé à côté (merci Marcimat pour le signalement)
|
||||||
|
r89933 | real3t | (ven. 05 juin 2015)| Revert à la demande d'Eric : une boite d'info, c'est dans la navigation (bon, moi, je pense que c'est une boite de raccourcis, mais...)
|
||||||
|
r90060 | b_b | (mar. 09 juin 2015)| Report de r90059Fix https://core.spip.net/issues/3452 : rétablir la possibilité de joindre un document sur un forumSuite à r89155, il faut définir les autorisation autoriser_forum_associerdocuments_dist et autoriser_forum_dissocierdocuments_dist pour permettre de lier/délier un document à un message de forum. Les deux fonctions renvoient toujours true pour que cela fonctionne, voir remarques ici https://core.spip.net/issues/3452#note-4
|
||||||
|
r90353 | cedric | (ven. 19 juin 2015)| Report de r90352 : Detection des flooders : quand un utilisateur comptabilise plus de 200 visites d'articles dans une visite,on note son IP dans le dossier tmp/flood/Au bout de 24H (redefinissable via la constante _IP_FLOOD_TTL) on la supprime de tmp/flood/Ces IP reperees peuvent ensuite etre considerees comme des BOT ou meme kickee temporairement, au choix, action a ajouter dans le mes_options.php par exemple
|
||||||
|
r90358 | real3t | (ven. 19 juin 2015)| Report de [90354] et [90356] : Retour sur [89155] : il est autorise d'associer des documents a d'autres documents, certains plugins le font deja, evitons la casse pas trop justifiee (b_b, kent1, RealET)
|
||||||
|
|
||||||
|
|
||||||
|
SPIP-Core spip-3.0.17 -> spip-3.0.19 08 mai 2015
|
||||||
|
-------------------------------------------------------------
|
||||||
|
r21519 | ben | (mer. 13 août 2014) | Allez reparton(ton) en dev pour un tour
|
||||||
|
r21529 | ben | (jeu. 21 août 2014) | Pas d'onglet dans le nom de la fonction d'autorisation. Permet à un redacteur de pouvoir remodifier la langue et la couleur dans l'espace privé
|
||||||
|
r21531 | eric | (ven. 22 août 2014) | Eviter des "illegal offset" si l'utilisateur n'est pas connecté (déjà corrigé en 3.1).
|
||||||
|
r21536 | rasta | (ven. 05 sept. 2014) | Oups : mauvais "type" appelé pour la fonction d'autorisation pour celleux qui veulent la personnaliser : il ne faut pas garder le "configurer_" qui est déjà dans le "faire" !Cela ne change rien à la sécurité, c'est toujours l'autorisation "configurer" qui est appelée par défaut.
|
||||||
|
r21539 | cedric | (mar. 09 sept. 2014) | Fix #2013 : le filtrage /auteur du statut de previsu introduit par r21500 n'etait pas pris en compte dans autoriser_previsualiser_dist() ce qui ne rendait plus visible le lien de prévisu sur les articles en cours de redaction.
|
||||||
|
r21542 | b_b | (mar. 09 sept. 2014) | report de r21541 : maj url contrib (Francky)
|
||||||
|
r21543 | suske | (mer. 10 sept. 2014) | Suite à forum.spip.net/fr_258607.html, retour partiel sur http://core.spip.org/projects/spip/repository/revisions/21272. On retire <math> de _PROTEGE_BLOCS car cela casse le fonctionnement annoncé dans la doc (http://www.spip.net/fr_article3016.html: "on peut en réalité ajouter <math>...</math> de manière très large (en clair : on peut ajouter <math> tout au début du texte, et </math> tout à la fin...).). L'incompatibilité perdure en 3.1-dev => revoir la doc ou revoir la rupture de compat ou proposer une màj élégante dans les textes ?
|
||||||
|
r21544 | b_b | (mer. 10 sept. 2014) | pétouille (d'ailleurs je me demande pourquoi on ne colle toujours pas d'accents dans nos commentaires ?)
|
||||||
|
r21555 | cedric | (jeu. 18 sept. 2014) | accessibilité : ce onkeypress provoquait un submit lorsqu'on quittait le focus de la recherche, en navigation au clavier. Il n'est pas necessaire, on le vire (Armony)
|
||||||
|
r21556 | cedric | (ven. 19 sept. 2014) | la page infos_perso est une variante de la page auteur avec un id_auteur implicite. On la traite de maniere derogatoire pour que les plugins y ajoutent leurs blocs comme sur la page auteur (Philippe)
|
||||||
|
r21557 | cedric | (sam. 20 sept. 2014) | Accessibilité : quand un formulaire est dans une zone aria-live="true", le screen reader vocalise chaque frappe de caractere par une relecture complete du bloc, ce qui est absolument insupportable. On devrait pouvoir ameliorer cela avec un aria-relevant adapté sur la zone, mais à tester/affiner. En attendant on pose un aria-live="off" sur les balises <form> contenues dans les blocs ajax, ce qui rétablit un confort d'utilisation acceptable (Armony) On pose tous ces attributs aria en JS, pour ne pas risquer d'avoir l'un sans l'autre.
|
||||||
|
r21558 | cedric | (sam. 20 sept. 2014) | Accessibilité : expliciter la fonction du bouton qui fixe la reference des traductions (balise alt de <img> et title du <button> qui le contient) (Armony)
|
||||||
|
r21559 | cedric | (sam. 20 sept. 2014) | Accessibilité : il y a plusieurs liens "Changer" sur la page article, qui ne sont pas contextualisés quand lus par un lecteur d'écran. On ajoute en complément ce sur quoi chacun porte, en class="over" car ils ne sont pas visuellement nécessaires (Armony)
|
||||||
|
r21560 | cedric | (sam. 20 sept. 2014) | Accessibilite : ajouter un <h2> en tete de la zone wysiwyg pour permettre d'y acceder rapidement avec un lecteur d'ecran (Armony)Il faudra revoir la structure des hn mais c'est deja mieux comme ca.
|
||||||
|
r21568 | cedric | (lun. 22 sept. 2014) | eviter que la liste devienne impraticable si un article a une centaine d'auteurs (ou plus)
|
||||||
|
r21570 | cedric | (mer. 24 sept. 2014) | complement a r21568 : annuler un eventuel border et background sur le .inner (provient des box) (b_b)
|
||||||
|
r21575 | cedric | (ven. 03 oct. 2014) | Lorsque le cron a plus de 5min de retard, on double la requete http par une image background (ou un lancement force si c'est un bot) car c'est sans doute que l'hebergement n'autorise pas les http sortantDevrait ameliorer le fonctionnement des crons sur les sites a faible trafic ou hebergement limite
|
||||||
|
r21589 | marcimat | (jeu. 09 oct. 2014) | Report de r21588 : Lors de l'utilisation dans un squelette d'un filtre '|Classe::methode{...}' une erreur bloquante était générée par PHP. Ferme #3282 (merci witi).
|
||||||
|
r21595 | cedric | (sam. 11 oct. 2014) | Report de r21528 : #2884 : les modeles block interrompent les enumerations parce que le <div class="base64" ..> qui les echappe est suivi de \n\n interprete comme une fin de listeil suffit de ne pas inserer ces deux retour qui etaient initialement la pour aider le paragraphage mais ne s'averent plus necessaires pour le bon fonctionnement de tous les raccourcisLes tests de textwheel permettent de verifier qu'on ne casse rien
|
||||||
|
r21596 | cedric | (sam. 11 oct. 2014) | Fix #3276 : quand on a trop de sessions ouvertes (plus de 1000, personalisable par la constante _MAX_NB_SESSIONS_OUVERTES) on purge toutes les sessions anonymes de plus de 3h pour ne pas flooder le tmp/sessions.(Mecanisme de protection contre les bots qui postent sur le formulaire d'abonnement newsletter qui provoque la creation d'une session anonyme avec session_email)Cela permet de ne pas changer le comportement par defaut des sessions anonymes sauf en cas d'attaque/spam. Les gros sites pourront augmenter le seuil si besoin.
|
||||||
|
r21612 | kent1 | (lun. 13 oct. 2014) | Le khmer c'est le khmer
|
||||||
|
r21616 | cedric | (mer. 15 oct. 2014) | Fix #3099 : 2 fichiers _fonctions manquant pour le selecteur ajax en squelette (patch plus doux que la version 3.1)
|
||||||
|
r21646 | marcimat | (mer. 22 oct. 2014) | Report de r21645 : coquille et notice php en moins. Le sql_mode à la création d'une table mysql n'était pas ajouté.
|
||||||
|
r21647 | marcimat | (mer. 22 oct. 2014) | Le doit être défini ici.
|
||||||
|
r21664 | marcimat | (mer. 22 oct. 2014) | Report de r21663 : #3309 : mettre un fil d'ariane vide pour la page infos_perso
|
||||||
|
r21672 | b_b | (jeu. 23 oct. 2014) | report de r21633 : report ameliore de r21572 pour lire correctement les index a longueur fixee, et conserver la longueur qui est utile pour re-creer la table lors d'un dump par exemple cf #3260
|
||||||
|
r21687 | cedric | (ven. 24 oct. 2014) | Bugfix : certains raccourisseurs d'URL transorment les ?articleXX en ?articleXX= ce qui provoquait le bug suivant quand on demande spip.php?article6434 :- on regarde le cache : rien en cache- du coup on analyse l'URL : ça matche articleXXX donc on redirige vers l'article XXXquand on demande spip.php?article6434= (noter le "=" à la fin de l'URL)- on regarde le cache : rien en cache- du coup on analyse l'URL : ça matche PAS articleXXX à cause du "="- on calcule la page => pas d'id article en url ni autre => page sommaire- on met en cacheLe coup suivant, on demande spip.php?article6434- on regarde en cache : et là subtilité, le contexte du cache est le même que pour l'URL spip.php?article6434= :array('article6434' => '', 'lang'=>'fr')du coup on a bien une page en cache, on la ressort et on l'envoie. Manque de bol c'était le sommaire !
|
||||||
|
r21712 | b_b | (sam. 25 oct. 2014) | Report de r21706 : Bugfix de la regexp introduite par r21633 et r21572 utilisee par show_table ; elle ne savait pas lire une table simple sans aucun index (une seule parenthèse)
|
||||||
|
r21735 | cedric | (mar. 28 oct. 2014) | Report partiel de r21734 : bugfix sur le selecteur ajax de rubriques quand la page contient plusieurs input id_parent
|
||||||
|
r21747 | guytarr | (jeu. 30 oct. 2014) | Ferme #3289 : report de r21746, l'icone d'aide rtl n'était pas utilisée (George)
|
||||||
|
r21752 | cedric | (jeu. 30 oct. 2014) | Report de r21750 : Un bug serieux sur la sauvegarde : lors de l'insertion on ne comptait pas sur la table destination mais sur la table source, ce qui entrainait systematiquement une double insertion (une fois en multi puis une fois un par un)Pouvait provoquer une erreur avec abandon qui manquait de log et n'etait pas signale dans le status. On corrige donc les consequences d'une telle erreur.
|
||||||
|
r21754 | cedric | (jeu. 30 oct. 2014) | Report de r21753 : Fix #3327 : Respecter les CACA et les PROUT de Rastapopoulos dans la pagination (dont le modele peut être dynamique)(ie argumenter_inclure ignorait tous les arguments dynamiques qui suivaient un argument sans partie "x=", comme #INCLURE{#ENV{X,inclure/pied},id_article} qui est une inclusion directe d'un fichier, dont le contenu brut du fichier #ENV{X,inclure/pied} est importé, le reste du contexte ne servant pas+ un modificateur m manquant sur la regexp pour ne pas ingorer les valeurs multilignes)
|
||||||
|
r21756 | guytarr | (jeu. 30 oct. 2014) | Report de r21755 : ferme #3326, on repasse par email_valide dans le traiter pour enregistrer en base un email "valide" et éviter les "Marie Toto <Marie@toto.com>" ou "Marie@toto.com "
|
||||||
|
r21758 | cedric | (ven. 31 oct. 2014) | Report de r21751 : Une fonction base_prefixe_tables pour afficher le prefixe de la table sauvegardee dans l'interface
|
||||||
|
r21759 | cedric | (ven. 31 oct. 2014) | Quand table_spip=false, ne pas se rabattre sur la description declaree dans l'API SPIP, ni essayer de prefixer par spip_+ flag exist true/false dans le resultat pour distinguer quand on a pris la declaration fallback ou quand on a trouve la table
|
||||||
|
r21760 | cedric | (ven. 31 oct. 2014) | Fix #3270 (enfin) : trouver la description de la vraie table meme si le prefixe n'est pas spip_Faisait echouer les backup apres migration a cause du champ extra dans la vraie table mais pas dans la declaration sur laquelle on se basait
|
||||||
|
r21767 | cedric | (ven. 31 oct. 2014) | Report de r21764 : Fix #3325 : cast recursif sur le object -> array en sortie de YQL
|
||||||
|
r21768 | cedric | (sam. 01 nov. 2014) | r21759 modifie le comportement du flag exist et perturbe l'installation des extensions. On evite donc de risquer de la casse dans la version 3.0.x et on continue a ne peupler le flag exist que si il vaut true
|
||||||
|
r21794 | cedric | (mer. 12 nov. 2014) | bug js potentiel sur le formulaire de login : il attendre document.ready pour manipuler le DOM (Alexis)
|
||||||
|
r21798 | cedric | (jeu. 13 nov. 2014) | Report de r21797 : suite de r21795 : simplifier car l'imbrication (function($){$(function(){ console.log($);})})(jQuery) renvoit jQl et pas jQuery quand elle est lancee par jQl (a resoudre, Alexis)
|
||||||
|
r21803 | cedric | (sam. 15 nov. 2014) | Report de r21802 : Report de http://zone.spip.org/trac/spip-zone/changeset/85675/
|
||||||
|
r21807 | cedric | (sam. 15 nov. 2014) | Report de r21804 : le define _IS_BOT de fallback est fait apres l'inclusion de l'eventuel ecran de securite, qui est toujours plus a jour
|
||||||
|
r21808 | cedric | (sam. 15 nov. 2014) | Report de r21805 : 2 bots de plus detectes par le radar : Genieo et InfegyAtlas
|
||||||
|
r21809 | cedric | (sam. 15 nov. 2014) | Report de r21806 : Mise a jour de la detection des bots d'apres celle de l'ecran de securite
|
||||||
|
r21813 | rasta | (lun. 17 nov. 2014) | Fix #3339 : Correction des autorisations pour configurer ses infos persos : pour voir les deux formulaires configurer_langage et configurer_preferences c'est toujours ok. Pour voir les deux onglets des pages qui les contiennent, on calque les autorisations sur les deux précédentes.
|
||||||
|
r21814 | rasta | (lun. 17 nov. 2014) | ortho
|
||||||
|
r21820 | b_b | (ven. 21 nov. 2014) | report de r21818 : La globale "visiteur_session" doit être initialisée au tableau vide et non à la chaîne vide, sinon on se prend un avertissemnent "Illegal string offset" dans les squelettes l'utilisant sur un visiteur non authentifié.
|
||||||
|
r21833 | b_b | (mar. 25 nov. 2014) | fix #3353 : report de r21168 notice php en moins
|
||||||
|
r21837 | kent1 | (mer. 26 nov. 2014) | Indentation
|
||||||
|
r21838 | kent1 | (mer. 26 nov. 2014) | Indentation également
|
||||||
|
r21840 | kent1 | (mer. 26 nov. 2014) | Report de c21839Permettre de passer valider via pipeline si par exemple on est amené à rajouter des champs dans ce formulaire
|
||||||
|
r21844 | cedric | (lun. 01 déc. 2014) | - MSIE 6.0 est un botnet, on le traite comme un bot- securite sur une variable mal protegee du plugin contact (il faut upgrader le plugin pour retrouver toutes les fonctionnalites)
|
||||||
|
r21845 | cedric | (lun. 01 déc. 2014) | date
|
||||||
|
r21849 | b_b | (lun. 01 déc. 2014) | report de r21848 : n'abbusons pas du b ^^
|
||||||
|
r21851 | b_b | (lun. 01 déc. 2014) | report de r21850 : coquille de commentaire
|
||||||
|
r21852 | cedric | (mar. 02 déc. 2014) | L'ouverture/fermeture immédiate d'une socket pour lancer le cron en async peut bloquer un process apache sur le serveur, qui reste en attente betement. Il suffit alors d'avoir beaucoup de site sur un serveur pour arriver parfois à consommer le MaxClient Apache, ce qui est embêtant.On essaye donc autant que possible de lire la réponse du serveur pour fermer proprement et libererer la connexion, en se donnant un timeout de 200ms. De temps en temps il arrivera qu'on parte comme un sauvage sans le faire, mais tant que ça reste statistiquement occasionnel c'est pas grave.
|
||||||
|
r21857 | cedric | (dim. 07 déc. 2014) | Report de r21856 : oubli dans r21764 qui provoquait une erreur fatale
|
||||||
|
r21859 | cedric | (dim. 07 déc. 2014) | Report de r21858 : Oups, pas de var_dump (shame)
|
||||||
|
r21861 | kent1 | (mer. 10 déc. 2014) | Report de r21860Le Dari (http://fr.wikipedia.org/wiki/Dari) est aussi une langue rtl
|
||||||
|
r21880 | cedric | (lun. 15 déc. 2014) | id_table_objet() sur les tables non spip ne trouvait plus la clé primaire depuis r20312, un peu trop restrictif. On corrige en regardant la cle primaire du moment que la table est dans la base, qu'elle soit SPIP ou non
|
||||||
|
r21885 | b_b | (sam. 20 déc. 2014) | report de r21884 / Fix #3367 : réparer l'affectation de rubriques à un auteur cassée par r21734
|
||||||
|
r21887 | b_b | (sam. 20 déc. 2014) | report de r21886 / simplification (nicod)
|
||||||
|
r21894 | cedric | (mer. 21 janv. 2015) | Si une fonction wrap_embed_html est definie, on l'appelle en lui passant le contenu source et le html qu'on s'apprete a embed dans le contenu riche. Cette fonction peut etre utilisee pour encapsuler ce contenu dans un markup qui l'indique comme non editable dans un editeur wysiwyg et qui porte la trace du raccourci source pour permettre la conversion html=>raccourcis SPIP
|
||||||
|
r21899 | cedric | (sam. 07 févr. 2015) | perf issue : eviter une requete SQL a chaque affichage du formulaire de login anonyme
|
||||||
|
r21900 | ben | (mar. 10 févr. 2015) | Voir le lien ajouter une image dans le cas de deux icones sur la même ligne #3384
|
||||||
|
r21903 | fil | (sam. 14 févr. 2015) | nissart mistralien (report de [21902])
|
||||||
|
r21911 | kent1 | (lun. 16 févr. 2015) | typo et indentation
|
||||||
|
r21918 | cedric | (lun. 23 févr. 2015) | Bugfix : un unset sur une valeur de session ne doit pas generer un cache de session pour un visiteur anonyme sans session (effet papillon d'un petit bug sur session_set qui provoque une generation du cache à l'infini). Cas typique : - le plugin panier verifie a chaque hit si le visiteur a un panier en session et sinon par precaution appelle session_set('id_panier') pour unset une evenuelle valeur- session_set peuple la valeur a null et appelle ajouter_session()- ajouter_session voit que le visiteur n'a pas de cookie session et genere un hash de session- il inspecte le tableau de session voit qu'il n'y a rien a enregistrer et rend la main ni vu ni connu (croyait-il).Mais comme on a renseigne $_COOKIE[spip_session] celui-ci est pris en compte dans la fonction spip_session() et genere un cache sessionné. Le plus drole c'est qu'on ne pose le cookie. Donc on recommence au hit suivant avec un nouvel identifiant de session, ce qui est une catastrophe en performance si le site utilise des balises #SESSION. Chaque hit sur le site génére un nouveau cache (donc calcul, donc ecriture sur le disque, donc gonflement du cache etc.)Pour mémoire quand on joue avec les sessions dans les plugins et les squelettes il faut toujours verifier que au final un curl anonyme sur le site est servi sans aucun "Calcul" ni "Ecriture du cache" dans spip.log.
|
||||||
|
r21919 | cedric | (lun. 23 févr. 2015) | oups sur r21918, on ne sort que si $auteur_verif est vide
|
||||||
|
r21959 | cedric | (mer. 25 mars 2015) | ssl:// a vecu, il faut utiliser tls:// car sinon les requetes https ne passent plus sur les serveurs avec une lib OpenSSL recente
|
||||||
|
r21965 | eric | (dim. 29 mars 2015) | Eviter une notice dans le critère par si il est composé uniquement de deux éléments (ce qui est le cas le plus fréquent).
|
||||||
|
r21967 | eric | (dim. 29 mars 2015) | Insérer la date du log en y intégrant clairement l'année : c'est plus lisible.
|
||||||
|
r21975 | kent1 | (mer. 08 avril 2015) | win_width.htc n'existe pas (enfin si, mais dans squelettes-dist) et donc il renvoie des erreurs 404 ici et à priori, celui de squelettes-dist ne concerne que ie5.5 à priori, je pense donc qu'il n'est pas pertinent de le dupliquer pour ce navigateur seulement
|
||||||
|
r21984 | b_b | (ven. 10 avril 2015) | report de r21983 : spécifier l'unité des valeurs pour left et top appliqués au p inséré par ajaxcallback en fin de page (chankalan)
|
||||||
|
r21985 | cedric | (sam. 11 avril 2015) | Une constante pour le timeout de connexion a la socket (par defaut a 10s au lieu de 30s)+ une globale pour interdire le fallback par fopen quand on ne veut pas risquer un double timeout si on sait que le host peut nous bloquer avec son firewall
|
||||||
|
r22001 | erationa | (mer. 22 avril 2015) | dans certains cas particuliers, les filtres ne sont pas chargés par le selecteur. on les charge donc.corrige https://core.spip.net/issues/3381(en SPIP 3.1, le chargement est global sur le selecteur et permet d'éviter le problème)
|
||||||
|
r22006 | b_b | (sam. 25 avril 2015) | report tardif de r19980 : corriger le title du lien vers la config du site dans le bandeau (klaus)
|
||||||
|
r22007 | ben | (dim. 26 avril 2015) | Report de lang avant 3.0.18 ~/svn/spip-zone/_outils_/CReportLangTrunk30.ksh
|
||||||
|
r22008 | ben | (dim. 26 avril 2015) | Report de lang avant 3.0.18 ~/svn/spip-zone/_outils_/CReportLangTrunk30.ksh
|
||||||
|
r22009 | ben | (dim. 26 avril 2015) | SPIP 3.0.18
|
||||||
|
r22010 | ben | (dim. 26 avril 2015) | SPIP 3.0.18
|
||||||
|
r22012 | ben | (dim. 26 avril 2015) | Changelog ok SPIP 3.0.18( francky / maieul)
|
||||||
|
r22016 | b_b | (dim. 26 avril 2015) | revert de r22007 (plus de reports de langues de 3.1 vers 3.0)
|
||||||
|
r22017 | b_b | (dim. 26 avril 2015) | retour sur r22016 : cette modif n'avais rien à faire dans le revert
|
||||||
|
r22019 | ben | (dim. 26 avril 2015) | oc_ni
|
||||||
|
r22036 | gilles | (mer. 29 avril 2015) | corriger le bug des espaces dans les mots de passe : https://core.spip.net/issues/3409
|
||||||
|
r22049 | eric | (dim. 03 mai 2015) | Reporter une vieille modif de la 3.1 (20373) concernant la surcharge par local_xx en 3.0.
|
||||||
|
r22069 | kent1 | (jeu. 07 mai 2015) | L'arménien s'écrit Հայերեն dans sa langue
|
||||||
|
r22079 | cedric | (ven. 08 mai 2015) | Revert de r22019 : les nouveaux fichiers de langue sont pour SPIP 3.1
|
||||||
|
|
||||||
|
SPIP-plugins-dist spip-3.0.17 -> spip-3.0.19 08 mai 2015
|
||||||
|
-------------------------------------------------------------
|
||||||
|
|
||||||
|
r84541 | frank | (mar. 09 sept. 2014) | Ce n'est plus spip-contrib.mais contrib.spip
|
||||||
|
r84552 | cedric | (mer. 10 sept. 2014) | presenter les groupes dans l'ordre de la numerotation, puis par multi titre si pas de numerotation
|
||||||
|
r84853 | cedric | (mer. 24 sept. 2014) | image_recadre peut recadrer une image pour respecter une proportion. Le premier argument est le ratio largeur:hauteur demandé, le second argument est alors un '+' pour agrandir avec des bandes ou un '-' pour reduire l'image.Exemple[(#LOGO_ARTICLE|image_recadre{16:9,'-'})]Permet d'avoir un logo au format 16:9 en recadrant l'image le moins possible.Cela permet de conserver l'image la plus grande possible qui respecte une proportion.
|
||||||
|
r84938 | cedric | (mer. 01 oct. 2014) | Fix http://core.spip.org/issues/3278 : utiliser :hover et pas .hover comme selecteur CSS
|
||||||
|
r84939 | cedric | (mer. 01 oct. 2014) | n'initialiser le padding de la box qu'au premier lancement et pas au chargement de la page car sinon certains navigateurs chargeent les images de background au chargement de la page, meme si la box ne sert jamais
|
||||||
|
r84940 | cedric | (mer. 01 oct. 2014) | initialisation des dimensions de la box ne se faisait pas dans le cas modalbox, on deplace cette initialisation
|
||||||
|
r84942 | cedric | (mer. 01 oct. 2014) | r83376 avait ressucité du code mort, mais manque de chance c'etait un bug en puissance et pas une feature : le resultat de la fonction depend d'un define qui n'est pas un argument de la fonction, on ne peut donc pas memoizer en fonction de ses arguments. Cela empechait la mise a jour des URLs, on retire donc cette appel (go0uz)
|
||||||
|
r84944 | b_b | (mer. 01 oct. 2014) | report de r84899 / version 1.4.25: passer la taille max des urls propres et arbos à 80 caractères
|
||||||
|
r84996 | cedric | (sam. 04 oct. 2014) | Ferme http://core.spip.org/issues/3272 : utiliser |ancre_url pour poser une ancre
|
||||||
|
r85114 | cedric | (sam. 11 oct. 2014) | Fix http://core.spip.org/issues/3263 : les vignettes se calculent par leur URL, pas par le nom en clair du site (il est identique pour les sites courants mais pas pour les moteurs de recherche connus)
|
||||||
|
r85122 | marcimat | (sam. 11 oct. 2014) | Report de r85121 : Chaîne de langue manquante
|
||||||
|
r85219 | b_b | (mar. 14 oct. 2014) | version 0.8.9 : r83397 était insuffisant, il faut aussi définir cette propriété pour cboxLoadedContent (on pourrait l'appliquer directement à tous les éléments contenus dans la box mais ça peut poser problème)
|
||||||
|
r85743 | cedric | (ven. 31 oct. 2014) | Report de r85728 : Quand on backup un SPIP qui utilise un prefixe de tables différent de 'spip', l'afficher pour rassurer le webmestre qui sait qu' il y a un prefixe et qui s'inquiète de ce que SPIP sauvegarde bien les bonnes tables.
|
||||||
|
r85745 | cedric | (ven. 31 oct. 2014) | Report de r85731 : Afficher les erreurs rencontrees lors de la sauvegarde au lieu d'un message de reussite en cas d'echec
|
||||||
|
r85750 | cedric | (ven. 31 oct. 2014) | eviter une erreur fatale eventuelle (si plugin migration present dans une vieille version)
|
||||||
|
r85789 | cedric | (sam. 01 nov. 2014) | Tester l'existence du flag exist ET sa valeur
|
||||||
|
r85817 | b_b | (mar. 04 nov. 2014) | version 0.8.10 : oubli dans r83397 et r85219, fix du box sizing aussi pour les boxes en rtl
|
||||||
|
r85967 | maieul | (mar. 11 nov. 2014) | pas de raison que les forums privés ne réagissent pas au réglage de taille minimale
|
||||||
|
r85968 | b_b | (mar. 11 nov. 2014) | revert de r85967 par svn merge -c -85967 .
|
||||||
|
r85969 | maieul | (mar. 11 nov. 2014) | nous disons donc : pas de raison que les ofrums de l'espace privé échappe aux règles sur la longueur minimal. Merci à b_b pour le revert du commit trop fort
|
||||||
|
r85973 | gilles | (mar. 11 nov. 2014) | report de [85972]
|
||||||
|
r86007 | cedric | (mer. 12 nov. 2014) | Report de r86006 : ne pas generer une session anonyme a chaque POST de forum mais uniquement si un fichier a ete poste et si c'est une option autorisee+ generer toute de suite une erreur si un POST a ete fait alors que l'option n'est pas autorisee (car des BOTs qui spamment)(evite de generer des sessions anonymes en nombre pour rien)
|
||||||
|
r86014 | cedric | (mer. 12 nov. 2014) | Report de r86013 : la bonne inclusion sur memoization (depuis http://zone.spip.org/trac/spip-zone/changeset/71370/_plugins_/memoization)
|
||||||
|
r86132 | marcimat | (lun. 17 nov. 2014) | Report de r86131 : Résoudre une partie de #3345 : une url http://domain.tld/?2 acceptait par erreur (avec MYSQL) une url propre pouvant être "2-truc"
|
||||||
|
r86211 | cedric | (ven. 21 nov. 2014) | report de r85649
|
||||||
|
r86358 | tetue | (sam. 29 nov. 2014) | coquille
|
||||||
|
r86393 | kent1 | (lun. 01 déc. 2014) | Ne pas surcharger non plus ce formulaire
|
||||||
|
r86394 | kent1 | (lun. 01 déc. 2014) | oups
|
||||||
|
r86418 | cedric | (mar. 02 déc. 2014) | Report de r86336 : Le header X-Spip-Visites ne fonctionnait plus depuis SPIP 3.0 suite a une salade de variables dans le pipeline affichage_entetes_final. On corrige.
|
||||||
|
r86419 | cedric | (mar. 02 déc. 2014) | oups, mauvais numero de version dans r86418
|
||||||
|
r86545 | cedric | (mar. 09 déc. 2014) | Bugfix temporisation 10s sur les revisions enfin trouve : la comparaison 0.0+titre_version < $date etait parfois vrai avec poutant titre_version qui contient $date, on rajoute donc une condition de non egalite au format texte pour exclure ce cas
|
||||||
|
r86681 | cedric | (jeu. 11 déc. 2014) | eviter une erreur si extension n'est pas renseigne (cas tordus)
|
||||||
|
r86686 | cedric | (ven. 12 déc. 2014) | Quand on minifie une CSS squelette, il faut prendre l'url de cette css, et pas l'url de la page courante comme base pour les urls absolues
|
||||||
|
r86688 | cedric | (ven. 12 déc. 2014) | Retour sur r86686 : il faut fournir une url de 1er niveau publique si on est dans le public, et ecrire/ si on est dans ecrire/ puisque le fond css est calculé dans ce cas depuis ecrire/ et donc avec des urls relatives a ecrire/
|
||||||
|
r86810 | xdjuj | (lun. 22 déc. 2014) | #3368 [Bug] [XML] [Validation] les urls de la forme http://domaine.com/spip.php?page=article&id_article=24 posent un problème de validation, les liens doivent être de la forme http://domaine.com/spip.php?page=article&id_article=24 — problème également présent sur SPIP 2.x
|
||||||
|
r86970 | cedric | (lun. 05 janv. 2015) | bugfix avec legendes longues sur la mediabox black-simple
|
||||||
|
r87125 | cedric | (sam. 17 janv. 2015) | Un cache CSS qui ne dependait pas du host en cours, et donc qui entrainait parfois des injection croisees de domaine dans les css pour les sites etant visites sur plusieurs domaines
|
||||||
|
r87162 | cedric | (mer. 21 janv. 2015) | Si une fonction wrap_embed_html est definie, on l'appelle en lui passant le contenu source et le html qu'on s'apprete a embed dans le contenu riche. Cette fonction peut etre utilisee pour encapsuler ce contenu dans un markup qui l'indique comme non editable dans un editeur wysiwyg et qui porte la trace du raccourci source pour permettre la conversion html=>raccourcis SPIP
|
||||||
|
r87248 | cedric | (ven. 30 janv. 2015) | bugfix formulaire edition sur les modeles emb qui ont du js ou php
|
||||||
|
r87340 | cedric | (mar. 03 févr. 2015) | Gerer une erreur eventuelle sur le formulaire mot de passe au lieu de faire croire que tout s'est bien passe
|
||||||
|
r87399 | cedric | (mar. 10 févr. 2015) | Quand on vient de saisir 2 fois son nouveau mot de passe, on peut faire le cadeau de connexter directement l'utilisateur plutot que lui demander de le saisir une 3eme fois dans le formulaire de login (puisque de toute facon on lui rappelle son login, il a bien tout ce qu'il faut pour se connecter)
|
||||||
|
r87400 | cedric | (mar. 10 févr. 2015) | Quand on vient de saisir 2 fois son nouveau mot de passe, on peut faire le cadeau de connexter directement l'utilisateur plutot que lui demander de le saisir une 3eme fois dans le formulaire de login (puisque de toute facon on lui rappelle son login, il a bien tout ce qu'il faut pour se connecter)
|
||||||
|
r87489 | cedric | (mar. 17 févr. 2015) | Bugfix : sur les secteurs on affiche une icone pour voir tous les forums proposes sur les articles du secteur mais la page controler_forum n'affichait pas les resultats correspondants- on declare la jointure sur spip_articles pour le critere id_secteur- on filtre les messages sur id_secteur quand il est dans l'URL- on modifie l'url du lien pour passer les bons arguments et arriver sur les messages proposes dont le decompte correspond a ce qui est annonce sur l'icone
|
||||||
|
r87514 | real3t | (mer. 18 févr. 2015) | Ajout du moteur de recherche Wow.com
|
||||||
|
r87634 | cedric | (mer. 25 févr. 2015) | Les raccourcis glossaires sont deja personalisables avec une fonction glossaire_xxxx quand on mets une ancre #xxxx sur le raccourci glossaire.On etend un peu pour que si une ancre inconnue est passee on se rabatte sur la fonction glossaire_ si elle existe (c'est deja elle qui etait appelee si elle existait, en l'absence d'ancre)Du coup on passe l'ancre en 3eme argument pour que la fonction standard puisse l'utiliser pour savoir quoi faire.Exemple d'usage :<pre>define('_RACCOURCI_GLOSSAIRE', "/\[(@[^][<>]+)\]/S");function glossaire_($terme,$id,$ancre=null){ if ($ancre AND $ancre!="twitter") return $terme; return glossaire_twitter($terme,$id,$ancre);}function glossaire_twitter($terme,$id,$ancre=null){ $terme = rawurlencode(ltrim($terme,"@")); return "https://twitter.com/$terme";}function glossaire_seenthis($terme,$id,$ancre=null){ $terme = rawurlencode(ltrim($terme,"@")); return "http://seenthis.net/people/$terme";}</pre>Et dans le texte on utilise[@spip] pour avoir un lien vers https://twitter.com/spip et [@spip#seenthis] pour avoir un lien vers http://senthis.net/people/spipdeclinable/personalisable a l'envie. Et si je mets [@spip#gplus] qui n'est pas defini je tombe sur @spip relative a mon site
|
||||||
|
r87721 | pierrekuhn| (mar. 03 mars 2015) | Ajout du moteur de recherche Assentice.com
|
||||||
|
r87758 | marcimat | (ven. 06 mars 2015) | Report de r87757 : Déclarer le pipeline 'renseigner_document' ajouté par r74520.
|
||||||
|
r87854 | cedric | (mer. 11 mars 2015) | Retablir l'affichage du message d'erreur quand le lien de changeemnt de mot de passe est invalide
|
||||||
|
r88103 | erational | (ven. 20 mars 2015) | report de z88102. autoriser la lecture de css pour l'évalution du site en "mobile friendly"ttps://www.google.com/webmasters/tools/mobile-friendly/
|
||||||
|
r88571 | maieul | (sam. 11 avril 2015) | nous disions : #DESCRIPTION passe déjà par propre, pas la peine de le faire 2 fois (pas de report en 3.1 parce que celle-ci utilise #DESCRIPTION*)
|
||||||
|
r88815 | ben | (dim. 26 avril 2015) | Report de lang avant 3.0.18 ~/svn/spip-zone/_outils_/CReportLangTrunk30.ksh
|
||||||
|
r88831 | b_b | (dim. 26 avril 2015) | revert de r88815 : plus de reports de langues de la 3.1 vers la 3.0
|
||||||
|
r88861 | arno | (mar. 28 avril 2015) | Vignettes des portfolios en 150x150 (au lieu de 60x60).
|
||||||
|
r88869 | arno | (mar. 28 avril 2015) | Corriger placement des vignettes (ajouter une classe .vignette).
|
||||||
|
r88961 | franck | (sam. 02 mai 2015) | Evitons une redirection, ce n'est plus http://doc.spip.org mais http://code.spip.net
|
||||||
|
r88974 | eric | (sam. 02 mai 2015) | Report de 88958 et 88962.Par défaut, la recherche des plugins se fait sur tous les états et non plus les états stables.Une classe nonstable est ajoutée sur les plugins trouvés dont l'état n'est pas stable.Cela permet de styler ces plugins pour l'instant juste avec une opacity moindre mais on pourra améliorer.
|
||||||
|
r89102 | eric | (mer. 06 mai 2015) | On backporte la fonction de calcul de l'url de démo introduite en 3.1 afin de permettre que les plugins utilise cette nouvelle feature en 3.0 aussi sans poser de souci sur Plugins SPIP.Pour l'instant étant donné que l'on ne dispose pas d'item de langue demo en 3.0 dans SVP ou dans SPIP on n'affiche pas le lien (à voir avant de releaser)
|
||||||
|
r89145 | gilles | (ven. 08 mai 2015) | Toute petite modification de la couleur recuperee par couleur_extraire => mise a jour du tests
|
||||||
|
r89155 | cedric | (ven. 08 mai 2015) | Fix https://core.spip.net/issues/3380 : il faut verifier les droits d'associer/dissocier les documents a un objet dans le formulaire editer objet.Pour cela on cree 2 autorisations associerdocuments et dissocierdocuments qui par defaut reposent sur autoriser(modifier).+ n'afficher le lien 'modifier' sur un document que si on a bien le droit de le modifier
|
||||||
|
r89156 | cedric | (ven. 08 mai 2015) | increment version
|
||||||
|
|
||||||
|
|
||||||
SPIP-Core spip-3.0.16 -> spip-3.0.17 13 août 2014
|
SPIP-Core spip-3.0.16 -> spip-3.0.17 13 août 2014
|
||||||
-------------------------------------------------------------
|
-------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
* ------------------
|
* ------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
define('_ECRAN_SECURITE', '1.1.9'); // 2014-03-13
|
define('_ECRAN_SECURITE', '1.2.2'); // 2014-12-01
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Documentation : http://www.spip.net/fr_article4200.html
|
* Documentation : http://www.spip.net/fr_article4200.html
|
||||||
|
@ -26,8 +26,10 @@ if (!defined('_IS_BOT'))
|
||||||
AND preg_match(
|
AND preg_match(
|
||||||
// mots generiques
|
// mots generiques
|
||||||
',bot|slurp|crawler|spider|webvac|yandex|'
|
',bot|slurp|crawler|spider|webvac|yandex|'
|
||||||
|
// MSIE 6.0 est un botnet 99,9% du temps, on traite donc ce USER_AGENT comme un bot
|
||||||
|
. 'MSIE 6\.0|'
|
||||||
// UA plus cibles
|
// UA plus cibles
|
||||||
. '80legs|accoona|AltaVista|ASPSeek|Baidu|Charlotte|EC2LinkFinder|eStyle|Google|INA dlweb|Java VM|LiteFinder|Lycos|Rambler|Scooter|ScrubbyBloglines|Yahoo|Yeti'
|
. '80legs|accoona|AltaVista|ASPSeek|Baidu|Charlotte|EC2LinkFinder|eStyle|Google|Genieo|INA dlweb|InfegyAtlas|Java VM|LiteFinder|Lycos|Rambler|Scooter|ScrubbyBloglines|Yahoo|Yeti'
|
||||||
. ',i',(string) $_SERVER['HTTP_USER_AGENT'])
|
. ',i',(string) $_SERVER['HTTP_USER_AGENT'])
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -36,15 +38,19 @@ if (!defined('_IS_BOT'))
|
||||||
* soit pas numérique (ce qui bloque l'exploitation de divers trous
|
* soit pas numérique (ce qui bloque l'exploitation de divers trous
|
||||||
* de sécurité, dont celui de toutes les versions < 1.8.2f)
|
* de sécurité, dont celui de toutes les versions < 1.8.2f)
|
||||||
* (sauf pour id_table, qui n'est pas numérique jusqu'à [5743])
|
* (sauf pour id_table, qui n'est pas numérique jusqu'à [5743])
|
||||||
|
* (id_base est une variable de la config des widgets de WordPress)
|
||||||
*/
|
*/
|
||||||
foreach ($_GET as $var => $val)
|
foreach ($_GET as $var => $val)
|
||||||
if ($_GET[$var] AND strncmp($var,"id_",3)==0 AND $var!='id_table')
|
if ($_GET[$var] AND strncmp($var,"id_",3)==0
|
||||||
|
AND !in_array($var, array('id_table','id_base')))
|
||||||
$_GET[$var] = is_array($_GET[$var])?@array_map('intval',$_GET[$var]):intval($_GET[$var]);
|
$_GET[$var] = is_array($_GET[$var])?@array_map('intval',$_GET[$var]):intval($_GET[$var]);
|
||||||
foreach ($_POST as $var => $val)
|
foreach ($_POST as $var => $val)
|
||||||
if ($_POST[$var] AND strncmp($var,"id_",3)==0 AND $var!='id_table')
|
if ($_POST[$var] AND strncmp($var,"id_",3)==0
|
||||||
|
AND !in_array($var, array('id_table','id_base')))
|
||||||
$_POST[$var] = is_array($_POST[$var])?@array_map('intval',$_POST[$var]):intval($_POST[$var]);
|
$_POST[$var] = is_array($_POST[$var])?@array_map('intval',$_POST[$var]):intval($_POST[$var]);
|
||||||
foreach ($GLOBALS as $var => $val)
|
foreach ($GLOBALS as $var => $val)
|
||||||
if ($GLOBALS[$var] AND strncmp($var,"id_",3)==0 AND $var!='id_table')
|
if ($GLOBALS[$var] AND strncmp($var,"id_",3)==0
|
||||||
|
AND !in_array($var, array('id_table','id_base')))
|
||||||
$GLOBALS[$var] = is_array($GLOBALS[$var])?@array_map('intval',$GLOBALS[$var]):intval($GLOBALS[$var]);
|
$GLOBALS[$var] = is_array($GLOBALS[$var])?@array_map('intval',$GLOBALS[$var]):intval($GLOBALS[$var]);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -224,6 +230,15 @@ if (count($_FILES)){
|
||||||
unset($_FILES[$k]);
|
unset($_FILES[$k]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
* et Contact trop laxiste avec une variable externe
|
||||||
|
* on bloque pas le post pour eviter de perdre des donnees mais on unset la variable et c'est tout
|
||||||
|
*/
|
||||||
|
if (isset($_REQUEST['pj_enregistrees_nom']) AND $_REQUEST['pj_enregistrees_nom']){
|
||||||
|
unset($_REQUEST['pj_enregistrees_nom']);
|
||||||
|
unset($_GET['pj_enregistrees_nom']);
|
||||||
|
unset($_POST['pj_enregistrees_nom']);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* reinstall=oui un peu trop permissif
|
* reinstall=oui un peu trop permissif
|
||||||
|
|
|
@ -22,7 +22,7 @@ function action_desinstaller_plugin_dist() {
|
||||||
if (defined('_DIR_PLUGINS_SUPPL') AND $dir_plugins==_DIR_PLUGINS_SUPPL)
|
if (defined('_DIR_PLUGINS_SUPPL') AND $dir_plugins==_DIR_PLUGINS_SUPPL)
|
||||||
$dir_type = "_DIR_PLUGINS_SUPPL";
|
$dir_type = "_DIR_PLUGINS_SUPPL";
|
||||||
$installer_plugins = charger_fonction('installer', 'plugins');
|
$installer_plugins = charger_fonction('installer', 'plugins');
|
||||||
$infos = $installer_plugins($plugin, 'uninstall');
|
$infos = $installer_plugins($plugin, 'uninstall',$dir_type);
|
||||||
if ($infos AND !$infos['install_test'][0]) {
|
if ($infos AND !$infos['install_test'][0]) {
|
||||||
include_spip('inc/plugin');
|
include_spip('inc/plugin');
|
||||||
ecrire_plugin_actifs(array($plugin),false,'enleve');
|
ecrire_plugin_actifs(array($plugin),false,'enleve');
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
if (!defined('_ECRIRE_INC_VERSION')) return;
|
if (!defined('_ECRIRE_INC_VERSION')) return;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Definir le lien de traduction ver sun objet de reference
|
* Definir le lien de traduction vers un objet de reference
|
||||||
* si id_trad=0 : dereference le lien de traduction de id_objet
|
* si id_trad=0 : dereference le lien de traduction de id_objet
|
||||||
* si id_trad=NN : reference le lien de traduction de id_objet vers NN
|
* si id_trad=NN : reference le lien de traduction de id_objet vers NN
|
||||||
* si id_objet=id_trad actuel et id_trad=new_id_trad : modifie la reference de tout le groupe de traduction
|
* si id_objet=id_trad actuel et id_trad=new_id_trad : modifie la reference de tout le groupe de traduction
|
||||||
|
@ -60,7 +60,7 @@ function action_referencer_traduction_dist($objet, $id_objet, $id_trad) {
|
||||||
// on a fourni un id_trad nul : sortir id_objet du groupe de trad
|
// on a fourni un id_trad nul : sortir id_objet du groupe de trad
|
||||||
else {
|
else {
|
||||||
$old_id_trad = sql_getfetsel('id_trad',$table_objet_sql,"$id_table_objet=".intval($id_objet));
|
$old_id_trad = sql_getfetsel('id_trad',$table_objet_sql,"$id_table_objet=".intval($id_objet));
|
||||||
// supprimer le lien de traduction
|
// supprimer le lien de traduction
|
||||||
sql_updateq($table_objet_sql, array("id_trad" => 0), "$id_table_objet=".intval($id_objet));
|
sql_updateq($table_objet_sql, array("id_trad" => 0), "$id_table_objet=".intval($id_objet));
|
||||||
|
|
||||||
// Verifier si l'ancien groupe ne comporte plus qu'un seul objet. Alors mettre a zero.
|
// Verifier si l'ancien groupe ne comporte plus qu'un seul objet. Alors mettre a zero.
|
||||||
|
|
|
@ -92,7 +92,14 @@ function auth_spip_formulaire_login($flux){
|
||||||
// faut il encore envoyer md5 ?
|
// faut il encore envoyer md5 ?
|
||||||
// on regarde si il reste des pass md5 en base pour des auteurs en statut pas poubelle
|
// on regarde si il reste des pass md5 en base pour des auteurs en statut pas poubelle
|
||||||
// les hash md5 ont une longueur 32, les sha 64
|
// les hash md5 ont une longueur 32, les sha 64
|
||||||
$compat_md5 = sql_countsel("spip_auteurs", "length(pass)=32 AND statut<>'poubelle'");
|
// en evitant une requete sql a chaque affichage du formulaire login sans session
|
||||||
|
// (perf issue pour les sites qui mettent le formulaire de login sur la home)
|
||||||
|
$compat_md5 = false;
|
||||||
|
if (!isset($GLOBALS['meta']['sha_256_only']) OR _request('var_mode')){
|
||||||
|
$compat_md5 = sql_countsel("spip_auteurs", "length(pass)=32 AND statut<>'poubelle'");
|
||||||
|
if ($compat_md5 AND isset($GLOBALS['meta']['sha_256_only'])) effacer_meta('sha_256_only');
|
||||||
|
if (!$compat_md5) ecrire_meta('sha_256_only','oui');
|
||||||
|
}
|
||||||
|
|
||||||
// javascript qui gere la securite du login en evitant de faire circuler le pass en clair
|
// javascript qui gere la securite du login en evitant de faire circuler le pass en clair
|
||||||
$flux['data'].=
|
$flux['data'].=
|
||||||
|
@ -106,13 +113,13 @@ function auth_spip_formulaire_login($flux){
|
||||||
."var informe_auteur_en_cours = false;"
|
."var informe_auteur_en_cours = false;"
|
||||||
."var attente_informe = 0;"
|
."var attente_informe = 0;"
|
||||||
."var compat_md5 = ".($compat_md5?"true;":"false;")
|
."var compat_md5 = ".($compat_md5?"true;":"false;")
|
||||||
."(function($){
|
."jQuery(function(){
|
||||||
$('#password')
|
jQuery('#password')
|
||||||
.after(\"<em id='pass_securise'><img src='".chemin_image('cadenas-16.png')."' width='16' height='16' alt='" . attribut_html(_T('login_securise')) . "' title='" . attribut_html(_T('login_securise')) . "' \/><\/em>\");
|
.after(\"<em id='pass_securise'><img src='".chemin_image('cadenas-16.png')."' width='16' height='16' alt='" . attribut_html(_T('login_securise')) . "' title='" . attribut_html(_T('login_securise')) . "' \/><\/em>\");
|
||||||
affiche_login_secure();
|
affiche_login_secure();
|
||||||
$('#var_login').change(actualise_auteur);
|
jQuery('#var_login').change(actualise_auteur);
|
||||||
$('form#formulaire_login').submit(login_submit);
|
jQuery('form#formulaire_login').submit(login_submit);
|
||||||
}(jQuery));"
|
});"
|
||||||
."/*]]>*/</script>";
|
."/*]]>*/</script>";
|
||||||
|
|
||||||
return $flux;
|
return $flux;
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
\***************************************************************************/
|
\***************************************************************************/
|
||||||
|
|
||||||
if (!defined('_ECRIRE_INC_VERSION')) return;
|
if (!defined('_ECRIRE_INC_VERSION')) return;
|
||||||
include_spip('base/objets');
|
require_once _ROOT_RESTREINT . 'base/objets.php';
|
||||||
|
|
||||||
//
|
//
|
||||||
// Utilitaires indispensables autour des serveurs SQL
|
// Utilitaires indispensables autour des serveurs SQL
|
||||||
|
|
|
@ -55,13 +55,33 @@ function base_determine_autoinc($table,$desc=array()){
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function creer_ou_upgrader_table($table,$desc,$autoinc,$upgrade=false,$serveur='') {
|
function creer_ou_upgrader_table($table,$desc,$autoinc,$upgrade=false,$serveur='') {
|
||||||
|
#spip_log("creer_ou_upgrader_table table=$table autoinc=$autoinc upgrade=$upgrade","dbinstall"._LOG_INFO_IMPORTANTE);
|
||||||
$sql_desc = $upgrade ? sql_showtable($table,true,$serveur) : false;
|
$sql_desc = $upgrade ? sql_showtable($table,true,$serveur) : false;
|
||||||
|
#if (!$sql_desc) $sql_desc = false;
|
||||||
|
#spip_log("table=$table sql_desc:$sql_desc","dbinstall"._LOG_INFO_IMPORTANTE);
|
||||||
if (!$sql_desc) {
|
if (!$sql_desc) {
|
||||||
if ($autoinc==='auto')
|
if ($autoinc==='auto')
|
||||||
$autoinc = base_determine_autoinc($table,$desc);
|
$autoinc = base_determine_autoinc($table,$desc);
|
||||||
|
#spip_log("sql_create $table autoinc=$autoinc","dbinstall"._LOG_INFO_IMPORTANTE);
|
||||||
sql_create($table, $desc['field'], $desc['key'], $autoinc, false, $serveur);
|
sql_create($table, $desc['field'], $desc['key'], $autoinc, false, $serveur);
|
||||||
|
// verifier la bonne installation de la table (php-fpm es-tu la ?)
|
||||||
|
$sql_desc = sql_showtable($table,true,$serveur);
|
||||||
|
#if (!$sql_desc) $sql_desc = false;
|
||||||
|
#spip_log("Resultat table=$table sql_desc:$sql_desc","dbinstall"._LOG_INFO_IMPORTANTE);
|
||||||
|
if (!$sql_desc){
|
||||||
|
// on retente avec un sleep ?
|
||||||
|
sleep(1);
|
||||||
|
sql_create($table, $desc['field'], $desc['key'], $autoinc, false, $serveur);
|
||||||
|
$sql_desc = sql_showtable($table,true,$serveur);
|
||||||
|
#if (!$sql_desc) $sql_desc = false;
|
||||||
|
#spip_log("Resultat table=$table sql_desc:$sql_desc","dbinstall"._LOG_INFO_IMPORTANTE);
|
||||||
|
if (!$sql_desc){
|
||||||
|
spip_log("Echec creation table $table","maj"._LOG_CRITIQUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
#spip_log("sql_alter $table ... (on s'en fiche)","dbinstall"._LOG_INFO_IMPORTANTE);
|
||||||
// ajouter les champs manquants
|
// ajouter les champs manquants
|
||||||
// on ne supprime jamais les champs, car c'est dangereux
|
// on ne supprime jamais les champs, car c'est dangereux
|
||||||
// c'est toujours a faire manuellement
|
// c'est toujours a faire manuellement
|
||||||
|
|
|
@ -78,6 +78,18 @@ function base_lister_toutes_tables($serveur='', $tables=array(), $exclude = arra
|
||||||
return $res;
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrouver le prefixe des tables
|
||||||
|
* @param string $serveur
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function base_prefixe_tables($serveur=''){
|
||||||
|
spip_connect($serveur);
|
||||||
|
$connexion = $GLOBALS['connexions'][$serveur ? $serveur : 0];
|
||||||
|
$prefixe = $connexion['prefixe'];
|
||||||
|
return $prefixe;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fabrique la liste a cocher des tables a traiter (copie, delete, sauvegarde)
|
* Fabrique la liste a cocher des tables a traiter (copie, delete, sauvegarde)
|
||||||
|
@ -510,9 +522,13 @@ function base_copier_tables($status_file, $tables, $serveur_source, $serveur_des
|
||||||
$trouver_table = charger_fonction('trouver_table','base');
|
$trouver_table = charger_fonction('trouver_table','base');
|
||||||
|
|
||||||
foreach ($tables as $table){
|
foreach ($tables as $table){
|
||||||
// en principe, pas de spip_ dans le nom de table passe a trouver_table
|
// si table commence par spip_ c'est une table SPIP, renommer le prefixe si besoin
|
||||||
$desc_source = $trouver_table(preg_replace(",^spip_,","",$table), $serveur_source, false);
|
// sinon chercher la vraie table
|
||||||
if (!$desc_source)
|
$desc_source = false;
|
||||||
|
if (strncmp($table,"spip_",5)==0){
|
||||||
|
$desc_source = $trouver_table(preg_replace(",^spip_,","",$table), $serveur_source, true);
|
||||||
|
}
|
||||||
|
if (!$desc_source OR !isset($desc_source['exist']) OR !$desc_source['exist'])
|
||||||
$desc_source = $trouver_table($table, $serveur_source, false);
|
$desc_source = $trouver_table($table, $serveur_source, false);
|
||||||
|
|
||||||
// verifier que la table est presente dans la base source
|
// verifier que la table est presente dans la base source
|
||||||
|
@ -550,6 +566,9 @@ function base_copier_tables($status_file, $tables, $serveur_source, $serveur_des
|
||||||
// mais si ca renvoie false c'est une erreur fatale => abandon
|
// mais si ca renvoie false c'est une erreur fatale => abandon
|
||||||
if ($inserer_copie($table,$rows,$desc_dest,$serveur_dest)===false) {
|
if ($inserer_copie($table,$rows,$desc_dest,$serveur_dest)===false) {
|
||||||
// forcer la sortie, charge a l'appelant de gerer l'echec
|
// forcer la sortie, charge a l'appelant de gerer l'echec
|
||||||
|
spip_log("Erreur fatale dans $inserer_copie table $table","dump"._LOG_ERREUR);
|
||||||
|
$status['errors'][] = "Erreur fatale lors de la copie de la table $table";
|
||||||
|
ecrire_fichier($status_file,serialize($status));
|
||||||
// copie finie
|
// copie finie
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -621,15 +640,23 @@ function base_copier_tables($status_file, $tables, $serveur_source, $serveur_des
|
||||||
function base_inserer_copie($table,$rows,$desc_dest,$serveur_dest){
|
function base_inserer_copie($table,$rows,$desc_dest,$serveur_dest){
|
||||||
|
|
||||||
// verifier le nombre d'insertion
|
// verifier le nombre d'insertion
|
||||||
$nb1 = sql_countsel($table);
|
$nb1 = sql_countsel($table,'','','',$serveur_dest);
|
||||||
// si l'enregistrement est deja en base, ca fera un echec ou un doublon
|
// si l'enregistrement est deja en base, ca fera un echec ou un doublon
|
||||||
$r = sql_insertq_multi($table,$rows,$desc_dest,$serveur_dest);
|
$r = sql_insertq_multi($table,$rows,$desc_dest,$serveur_dest);
|
||||||
$nb = sql_countsel($table);
|
$nb = sql_countsel($table,'','','',$serveur_dest);
|
||||||
if ($nb-$nb1<count($rows)){
|
if ($nb-$nb1<count($rows)){
|
||||||
|
spip_log("base_inserer_copie : ".($nb-$nb1)." insertions au lieu de ".count($rows).". On retente 1 par 1","dump"._LOG_INFO_IMPORTANTE);
|
||||||
foreach($rows as $row){
|
foreach($rows as $row){
|
||||||
// si l'enregistrement est deja en base, ca fera un echec ou un doublon
|
// si l'enregistrement est deja en base, ca fera un echec ou un doublon
|
||||||
$r = sql_insertq($table,$row,$desc_dest,$serveur_dest);
|
$r = sql_insertq($table,$row,$desc_dest,$serveur_dest);
|
||||||
}
|
}
|
||||||
|
// on reverifie le total
|
||||||
|
$r = 0;
|
||||||
|
$nb = sql_countsel($table,'','','',$serveur_dest);
|
||||||
|
if ($nb-$nb1<count($rows)){
|
||||||
|
spip_log("base_inserer_copie : ".($nb-$nb1)." insertions au lieu de ".count($rows)." apres insertion 1 par 1","dump"._LOG_ERREUR);
|
||||||
|
$r = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return $r;
|
return $r;
|
||||||
}
|
}
|
||||||
|
|
|
@ -828,6 +828,20 @@ function lister_tables_spip($serveur=''){
|
||||||
}
|
}
|
||||||
return $tables[$serveur];
|
return $tables[$serveur];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function lister_toutes_tables($serveur){
|
||||||
|
static $tables = array();
|
||||||
|
if (!isset($tables[$serveur])){
|
||||||
|
$tables[$serveur] = array();
|
||||||
|
if (!function_exists("sql_alltable"))
|
||||||
|
include_spip("base/abstract_sql");
|
||||||
|
$ts = sql_alltable('%',$serveur); // toutes les tables
|
||||||
|
foreach ($ts as $t){
|
||||||
|
$tables[$serveur][$t] = $t;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $tables[$serveur];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrouve le nom d'objet à partir de la table
|
* Retrouve le nom d'objet à partir de la table
|
||||||
|
@ -939,7 +953,8 @@ function id_table_objet($type,$serveur='') {
|
||||||
$trouver_table = charger_fonction('trouver_table', 'base');
|
$trouver_table = charger_fonction('trouver_table', 'base');
|
||||||
|
|
||||||
$ts=lister_tables_spip($serveur);
|
$ts=lister_tables_spip($serveur);
|
||||||
if (in_array($t,$ts)){
|
if (in_array($t,$ts)
|
||||||
|
OR in_array($t,lister_toutes_tables($serveur))){
|
||||||
$desc = $trouver_table($t,$serveur);
|
$desc = $trouver_table($t,$serveur);
|
||||||
if (isset($desc['key']['PRIMARY KEY']))
|
if (isset($desc['key']['PRIMARY KEY']))
|
||||||
return $desc['key']['PRIMARY KEY'];
|
return $desc['key']['PRIMARY KEY'];
|
||||||
|
|
|
@ -103,7 +103,7 @@ function base_trouver_table_dist($nom, $serveur='', $table_spip = true){
|
||||||
|
|
||||||
// base sous SPIP: gerer les abreviations explicites des noms de table
|
// base sous SPIP: gerer les abreviations explicites des noms de table
|
||||||
if ($connexion['spip_connect_version']) {
|
if ($connexion['spip_connect_version']) {
|
||||||
if (isset($table_des_tables[$nom])) {
|
if ($table_spip AND isset($table_des_tables[$nom])) {
|
||||||
$nom = $table_des_tables[$nom];
|
$nom = $table_des_tables[$nom];
|
||||||
$nom_sql = 'spip_' . $nom;
|
$nom_sql = 'spip_' . $nom;
|
||||||
}
|
}
|
||||||
|
@ -120,7 +120,7 @@ function base_trouver_table_dist($nom, $serveur='', $table_spip = true){
|
||||||
AND $desc_cache=unserialize($desc_cache))
|
AND $desc_cache=unserialize($desc_cache))
|
||||||
$connexion['tables'] = $desc_cache;
|
$connexion['tables'] = $desc_cache;
|
||||||
}
|
}
|
||||||
if (!isset($connexion['tables'][$nom_sql])) {
|
if ($table_spip AND !isset($connexion['tables'][$nom_sql])) {
|
||||||
|
|
||||||
if (isset($tables_principales[$nom_sql]))
|
if (isset($tables_principales[$nom_sql]))
|
||||||
$fdesc = $tables_principales[$nom_sql];
|
$fdesc = $tables_principales[$nom_sql];
|
||||||
|
@ -131,13 +131,11 @@ function base_trouver_table_dist($nom, $serveur='', $table_spip = true){
|
||||||
$nom_sql = 'spip_' . $nom;
|
$nom_sql = 'spip_' . $nom;
|
||||||
$fdesc = &$tables_principales[$nom_sql];
|
$fdesc = &$tables_principales[$nom_sql];
|
||||||
}
|
}
|
||||||
else {
|
elseif (isset($tables_auxiliaires[$n=$nom])
|
||||||
if (isset($tables_auxiliaires[$n=$nom])
|
OR isset($tables_auxiliaires[$n='spip_'.$nom])) {
|
||||||
OR isset($tables_auxiliaires[$n='spip_'.$nom])) {
|
$nom_sql = $n;
|
||||||
$nom_sql = $n;
|
$fdesc = &$tables_auxiliaires[$n];
|
||||||
$fdesc = &$tables_auxiliaires[$n];
|
} # table locale a cote de SPIP, comme non SPIP:
|
||||||
} # table locale a cote de SPIP, comme non SPIP:
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (!isset($connexion['tables'][$nom_sql])) {
|
if (!isset($connexion['tables'][$nom_sql])) {
|
||||||
|
|
||||||
|
@ -152,8 +150,9 @@ function base_trouver_table_dist($nom, $serveur='', $table_spip = true){
|
||||||
// on retombe sur la description donnee dans les fichiers spip
|
// on retombe sur la description donnee dans les fichiers spip
|
||||||
$desc = $fdesc;
|
$desc = $fdesc;
|
||||||
}
|
}
|
||||||
else
|
else {
|
||||||
$desc['exist'] = true;
|
$desc['exist'] = true;
|
||||||
|
}
|
||||||
|
|
||||||
$desc['table'] = $desc['table_sql'] = $nom_sql;
|
$desc['table'] = $desc['table_sql'] = $nom_sql;
|
||||||
$desc['connexion']= $serveur;
|
$desc['connexion']= $serveur;
|
||||||
|
|
|
@ -281,7 +281,12 @@ function autoriser_previsualiser_dist($faire, $type, $id, $qui, $opt) {
|
||||||
$champ = $c['champ'];
|
$champ = $c['champ'];
|
||||||
if (!isset($opt[$champ])) return false; // pas de champ passe a la demande => NIET
|
if (!isset($opt[$champ])) return false; // pas de champ passe a la demande => NIET
|
||||||
$previsu = explode(',',$c['previsu']);
|
$previsu = explode(',',$c['previsu']);
|
||||||
if (!in_array($opt[$champ],$previsu)) // le statut n'est pas dans ceux definis par la previsu => NIET
|
// regarder si ce statut est autorise pour l'auteur
|
||||||
|
if (in_array($opt[$champ]."/auteur",$previsu)){
|
||||||
|
if (!sql_countsel("spip_auteurs_liens","id_auteur=".intval($qui['id_auteur'])." AND objet=".sql_quote($type)." AND id_objet=".intval($id)))
|
||||||
|
return false; // pas auteur de cet objet => NIET
|
||||||
|
}
|
||||||
|
elseif (!in_array($opt[$champ],$previsu)) // le statut n'est pas dans ceux definis par la previsu => NIET
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1042,14 +1047,30 @@ function autoriser_base_reparer_dist($faire, $type, $id, $qui, $opt) {
|
||||||
* @param array $opt Options de cette autorisation
|
* @param array $opt Options de cette autorisation
|
||||||
* @return bool true s'il a le droit, false sinon
|
* @return bool true s'il a le droit, false sinon
|
||||||
**/
|
**/
|
||||||
function autoriser_infosperso_onglet_dist($faire,$type,$id,$qui,$opt) {
|
function autoriser_infosperso_dist($faire,$type,$id,$qui,$opt) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Autorisation de voir le formulaire configurer_langage
|
||||||
|
*
|
||||||
|
* Toujours OK
|
||||||
|
*
|
||||||
|
* @param string $faire Action demandée
|
||||||
|
* @param string $type Type d'objet sur lequel appliquer l'action
|
||||||
|
* @param int $id Identifiant de l'objet
|
||||||
|
* @param array $qui Description de l'auteur demandant l'autorisation
|
||||||
|
* @param array $opt Options de cette autorisation
|
||||||
|
* @return bool true s'il a le droit, false sinon
|
||||||
|
**/
|
||||||
|
function autoriser_langage_configurer_dist($faire,$type,$id,$qui,$opt) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Autorisation de voir l'onglet configurerlangage
|
* Autorisation de voir l'onglet configurerlangage
|
||||||
*
|
*
|
||||||
* Toujours OK
|
* Calquée sur l'autorisation de voir le formulaire configurer_langage
|
||||||
*
|
*
|
||||||
* @param string $faire Action demandée
|
* @param string $faire Action demandée
|
||||||
* @param string $type Type d'objet sur lequel appliquer l'action
|
* @param string $type Type d'objet sur lequel appliquer l'action
|
||||||
|
@ -1058,12 +1079,12 @@ function autoriser_infosperso_onglet_dist($faire,$type,$id,$qui,$opt) {
|
||||||
* @param array $opt Options de cette autorisation
|
* @param array $opt Options de cette autorisation
|
||||||
* @return bool true s'il a le droit, false sinon
|
* @return bool true s'il a le droit, false sinon
|
||||||
**/
|
**/
|
||||||
function autoriser_configurerlangage_onglet_dist($faire,$type,$id,$qui,$opt) {
|
function autoriser_configurerlangage_dist($faire,$type,$id,$qui,$opt) {
|
||||||
return true;
|
return autoriser('configurer', '_langage', $id, $qui, $opt);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Autorisation de voir l'onglet configurerpreferences
|
* Autorisation de voir le formulaire configurer_preferences
|
||||||
*
|
*
|
||||||
* Toujours OK
|
* Toujours OK
|
||||||
*
|
*
|
||||||
|
@ -1074,10 +1095,26 @@ function autoriser_configurerlangage_onglet_dist($faire,$type,$id,$qui,$opt) {
|
||||||
* @param array $opt Options de cette autorisation
|
* @param array $opt Options de cette autorisation
|
||||||
* @return bool true s'il a le droit, false sinon
|
* @return bool true s'il a le droit, false sinon
|
||||||
**/
|
**/
|
||||||
function autoriser_configurerpreferences_onglet_dist($faire,$type,$id,$qui,$opt) {
|
function autoriser_preferences_configurer_dist($faire,$type,$id,$qui,$opt) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Autorisation de voir l'onglet configurerpreferences
|
||||||
|
*
|
||||||
|
* Calquée sur l'autorisation de voir le formulaire configurer_preferences
|
||||||
|
*
|
||||||
|
* @param string $faire Action demandée
|
||||||
|
* @param string $type Type d'objet sur lequel appliquer l'action
|
||||||
|
* @param int $id Identifiant de l'objet
|
||||||
|
* @param array $qui Description de l'auteur demandant l'autorisation
|
||||||
|
* @param array $opt Options de cette autorisation
|
||||||
|
* @return bool true s'il a le droit, false sinon
|
||||||
|
**/
|
||||||
|
function autoriser_configurerpreferences_dist($faire,$type,$id,$qui,$opt) {
|
||||||
|
return autoriser('configurer', '_preferences', $id, $qui, $opt);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Autorisation de voir le menu auteurs
|
* Autorisation de voir le menu auteurs
|
||||||
*
|
*
|
||||||
|
|
|
@ -75,7 +75,9 @@ function cvtautosave_formulaire_traiter($flux){
|
||||||
if ($cle_autosave = _request('autosave')){
|
if ($cle_autosave = _request('autosave')){
|
||||||
include_spip('inc/session');
|
include_spip('inc/session');
|
||||||
session_set('session_autosave_'.$cle_autosave, null);
|
session_set('session_autosave_'.$cle_autosave, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($GLOBALS['visiteur_session']) AND $GLOBALS['visiteur_session']){
|
||||||
// delai par defaut avant purge d'un backup de form : 72H
|
// delai par defaut avant purge d'un backup de form : 72H
|
||||||
if (!defined('_AUTOSAVE_GB_DELAY')) define('_AUTOSAVE_GB_DELAY',72*3600);
|
if (!defined('_AUTOSAVE_GB_DELAY')) define('_AUTOSAVE_GB_DELAY',72*3600);
|
||||||
$time_too_old = time() - _AUTOSAVE_GB_DELAY;
|
$time_too_old = time() - _AUTOSAVE_GB_DELAY;
|
||||||
|
@ -92,6 +94,7 @@ function cvtautosave_formulaire_traiter($flux){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $flux;
|
return $flux;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ function cvtconf_formulaire_charger($flux){
|
||||||
) {
|
) {
|
||||||
// Pour tous les formulaires CONFIGURER, ayant une fonction charger ou pas, on teste si autorisé
|
// Pour tous les formulaires CONFIGURER, ayant une fonction charger ou pas, on teste si autorisé
|
||||||
include_spip('inc/autoriser');
|
include_spip('inc/autoriser');
|
||||||
if (!autoriser('configurer', "_$form")) {
|
if (!autoriser('configurer', '_'.substr($form,11))) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@ if (!defined('_INC_DISTANT_VERSION_HTTP')) define('_INC_DISTANT_VERSION_HTTP', "
|
||||||
if (!defined('_INC_DISTANT_CONTENT_ENCODING')) define('_INC_DISTANT_CONTENT_ENCODING', "gzip");
|
if (!defined('_INC_DISTANT_CONTENT_ENCODING')) define('_INC_DISTANT_CONTENT_ENCODING', "gzip");
|
||||||
if (!defined('_INC_DISTANT_USER_AGENT')) define('_INC_DISTANT_USER_AGENT', 'SPIP-' . $GLOBALS['spip_version_affichee'] . " (" . $GLOBALS['home_server'] . ")");
|
if (!defined('_INC_DISTANT_USER_AGENT')) define('_INC_DISTANT_USER_AGENT', 'SPIP-' . $GLOBALS['spip_version_affichee'] . " (" . $GLOBALS['home_server'] . ")");
|
||||||
if (!defined('_INC_DISTANT_MAX_SIZE')) define('_INC_DISTANT_MAX_SIZE',2097152);
|
if (!defined('_INC_DISTANT_MAX_SIZE')) define('_INC_DISTANT_MAX_SIZE',2097152);
|
||||||
|
if (!defined('_INC_DISTANT_CONNECT_TIMEOUT')) define('_INC_DISTANT_CONNECT_TIMEOUT',10);
|
||||||
|
|
||||||
define('_REGEXP_COPIE_LOCALE', ',' .
|
define('_REGEXP_COPIE_LOCALE', ',' .
|
||||||
preg_replace('@^https?:@', 'https?:', $GLOBALS['meta']['adresse_site'])
|
preg_replace('@^https?:@', 'https?:', $GLOBALS['meta']['adresse_site'])
|
||||||
|
@ -661,8 +662,8 @@ function init_http($method, $url, $refuse_gz = false, $referer = '', $datas = ""
|
||||||
$scheme = 'http';
|
$scheme = 'http';
|
||||||
$noproxy = '';
|
$noproxy = '';
|
||||||
} elseif ($t['scheme']=='https') {
|
} elseif ($t['scheme']=='https') {
|
||||||
$scheme = 'ssl';
|
$scheme = 'tls';
|
||||||
$noproxy = 'ssl://';
|
$noproxy = 'tls://';
|
||||||
if (!isset($t['port']) || !($port = $t['port'])) $t['port'] = 443;
|
if (!isset($t['port']) || !($port = $t['port'])) $t['port'] = 443;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -680,7 +681,8 @@ function init_http($method, $url, $refuse_gz = false, $referer = '', $datas = ""
|
||||||
if (!$f){
|
if (!$f){
|
||||||
// fallback : fopen
|
// fallback : fopen
|
||||||
if (!need_proxy($host)
|
if (!need_proxy($host)
|
||||||
AND !_request('tester_proxy')){
|
AND !_request('tester_proxy')
|
||||||
|
AND (!isset($GLOBALS['inc_distant_allow_fopen']) OR $GLOBALS['inc_distant_allow_fopen'])){
|
||||||
$f = @fopen($url, "rb");
|
$f = @fopen($url, "rb");
|
||||||
spip_log("connexion vers $url par simple fopen");
|
spip_log("connexion vers $url par simple fopen");
|
||||||
$fopen = true;
|
$fopen = true;
|
||||||
|
@ -702,14 +704,14 @@ function lance_requete($method, $scheme, $user, $host, $path, $port, $noproxy, $
|
||||||
|
|
||||||
$connect = "";
|
$connect = "";
|
||||||
if ($http_proxy){
|
if ($http_proxy){
|
||||||
if (defined('_PROXY_HTTPS_VIA_CONNECT') AND $scheme=="ssl"){
|
if (defined('_PROXY_HTTPS_VIA_CONNECT') AND $scheme=="tls"){
|
||||||
$path_host = (!$user ? '' : "$user@") . $host . (($port!=80) ? ":$port" : "");
|
$path_host = (!$user ? '' : "$user@") . $host . (($port!=80) ? ":$port" : "");
|
||||||
$connect = "CONNECT " .$path_host." $vers\r\n"
|
$connect = "CONNECT " .$path_host." $vers\r\n"
|
||||||
."Host: $path_host\r\n"
|
."Host: $path_host\r\n"
|
||||||
."Proxy-Connection: Keep-Alive\r\n";
|
."Proxy-Connection: Keep-Alive\r\n";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$path = (($scheme=='ssl') ? 'https://' : "$scheme://")
|
$path = (($scheme=='tls') ? 'https://' : "$scheme://")
|
||||||
. (!$user ? '' : "$user@")
|
. (!$user ? '' : "$user@")
|
||||||
. "$host" . (($port!=80) ? ":$port" : "") . $path;
|
. "$host" . (($port!=80) ? ":$port" : "") . $path;
|
||||||
}
|
}
|
||||||
|
@ -724,10 +726,10 @@ function lance_requete($method, $scheme, $user, $host, $path, $port, $noproxy, $
|
||||||
|
|
||||||
if ($connect){
|
if ($connect){
|
||||||
$streamContext = stream_context_create(array('ssl' => array('verify_peer' => false, 'allow_self_signed' => true)));
|
$streamContext = stream_context_create(array('ssl' => array('verify_peer' => false, 'allow_self_signed' => true)));
|
||||||
$f = @stream_socket_client("tcp://$first_host:$port", $nError, $sError, 10, STREAM_CLIENT_CONNECT, $streamContext);
|
$f = @stream_socket_client("tcp://$first_host:$port", $nError, $sError, _INC_DISTANT_CONNECT_TIMEOUT, STREAM_CLIENT_CONNECT, $streamContext);
|
||||||
spip_log("Recuperer $path sur $first_host:$port par $f (via CONNECT)","connect");
|
spip_log("Recuperer $path sur $first_host:$port par $f (via CONNECT)","connect");
|
||||||
if (!$f) return false;
|
if (!$f) return false;
|
||||||
stream_set_timeout($f, 10);
|
stream_set_timeout($f, _INC_DISTANT_CONNECT_TIMEOUT);
|
||||||
|
|
||||||
fputs($f, $connect);
|
fputs($f, $connect);
|
||||||
fputs($f, "\r\n");
|
fputs($f, "\r\n");
|
||||||
|
@ -746,9 +748,13 @@ function lance_requete($method, $scheme, $user, $host, $path, $port, $noproxy, $
|
||||||
spip_log("OK CONNECT sur $first_host:$port","connect");
|
spip_log("OK CONNECT sur $first_host:$port","connect");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$f = @fsockopen($first_host, $port);
|
$f = @fsockopen($first_host, $port, $errno, $errstr, _INC_DISTANT_CONNECT_TIMEOUT);
|
||||||
spip_log("Recuperer $path sur $first_host:$port par $f");
|
spip_log("Recuperer $path sur $first_host:$port par $f");
|
||||||
if (!$f) return false;
|
if (!$f) {
|
||||||
|
spip_log("Erreur connexion $errno $errstr",_LOG_ERREUR);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
stream_set_timeout($f, _INC_DISTANT_CONNECT_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
$site = $GLOBALS['meta']["adresse_site"];
|
$site = $GLOBALS['meta']["adresse_site"];
|
||||||
|
|
|
@ -69,7 +69,8 @@ function formulaires_editer_objet_verifier($type,$id='new', $oblis = array()){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
foreach($oblis as $obli) {
|
foreach($oblis as $obli) {
|
||||||
if (!_request($obli)) {
|
$value = _request($obli);
|
||||||
|
if (is_null($value) OR !(is_array($value)?count($value):strlen($value))) {
|
||||||
if (!isset($erreurs[$obli])) { $erreurs[$obli] = ''; }
|
if (!isset($erreurs[$obli])) { $erreurs[$obli] = ''; }
|
||||||
$erreurs[$obli] .= _T("info_obligatoire");
|
$erreurs[$obli] .= _T("info_obligatoire");
|
||||||
}
|
}
|
||||||
|
|
|
@ -1161,7 +1161,7 @@ function affdate_heure($numdate) {
|
||||||
* - Du 20 fevrier 2007 au 30 mars 2008
|
* - Du 20 fevrier 2007 au 30 mars 2008
|
||||||
* $horaire='oui' ou true permet d'afficher l'horaire, toute autre valeur n'indique que le jour
|
* $horaire='oui' ou true permet d'afficher l'horaire, toute autre valeur n'indique que le jour
|
||||||
* $forme peut contenir une ou plusieurs valeurs parmi
|
* $forme peut contenir une ou plusieurs valeurs parmi
|
||||||
* - abbr (afficher le nom des jours en abbrege)
|
* - abbr (afficher le nom des jours en abrege)
|
||||||
* - hcal (generer une date au format hcal)
|
* - hcal (generer une date au format hcal)
|
||||||
* - jour (forcer l'affichage des jours)
|
* - jour (forcer l'affichage des jours)
|
||||||
* - annee (forcer l'affichage de l'annee)
|
* - annee (forcer l'affichage de l'annee)
|
||||||
|
@ -1170,10 +1170,10 @@ function affdate_heure($numdate) {
|
||||||
* @param string $date_fin
|
* @param string $date_fin
|
||||||
* @param string $horaire
|
* @param string $horaire
|
||||||
* @param string $forme
|
* @param string $forme
|
||||||
* abbr pour afficher le nom du jour en abbrege (Dim. au lieu de Dimanche)
|
* abbr pour afficher le nom du jour en abrege (Dim. au lieu de Dimanche)
|
||||||
* annee pour forcer l'affichage de l'annee courante
|
* annee pour forcer l'affichage de l'annee courante
|
||||||
* jour pour forcer l'affichage du nom du jour
|
* jour pour forcer l'affichage du nom du jour
|
||||||
* hcal pour pour avoir un markup microformat abbr
|
* hcal pour avoir un markup microformat abbr
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function affdate_debut_fin($date_debut, $date_fin, $horaire = 'oui', $forme=''){
|
function affdate_debut_fin($date_debut, $date_fin, $horaire = 'oui', $forme=''){
|
||||||
|
@ -2557,8 +2557,7 @@ function encoder_contexte_ajax($c,$form='', $emboite=NULL, $ajaxid='') {
|
||||||
if ($ajaxid AND is_string($ajaxid)){
|
if ($ajaxid AND is_string($ajaxid)){
|
||||||
$class .= ' ajax-id-'.$ajaxid;
|
$class .= ' ajax-id-'.$ajaxid;
|
||||||
}
|
}
|
||||||
$compl = "aria-live='polite' aria-atomic='true' ";
|
return "<div class='$class' "."data-ajax-env='$env'$r>\n$emboite</div><!--ajaxbloc-->\n";
|
||||||
return "<div class='$class' ".$compl."data-ajax-env='$env'$r>\n$emboite</div><!--ajaxbloc-->\n";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// la procedure inverse de encoder_contexte_ajax()
|
// la procedure inverse de encoder_contexte_ajax()
|
||||||
|
|
|
@ -145,6 +145,11 @@ function _image_valeurs_trans($img, $effet, $forcer_format = false, $fonction_cr
|
||||||
} else {
|
} else {
|
||||||
// enlever le timestamp eventuel
|
// enlever le timestamp eventuel
|
||||||
$source=preg_replace(',[?][0-9]+$,','',$source);
|
$source=preg_replace(',[?][0-9]+$,','',$source);
|
||||||
|
if (strpos($source,"?")!==false
|
||||||
|
AND strncmp($source,_DIR_IMG,strlen(_DIR_IMG))==0
|
||||||
|
AND file_exists($f=preg_replace(',[?].*$,','',$source))){
|
||||||
|
$source = $f;
|
||||||
|
}
|
||||||
$fichier = $source;
|
$fichier = $source;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -100,22 +100,22 @@ function protocole_implicite($url_absolue){
|
||||||
// ne s'applique qu'aux textes contenant des liens
|
// ne s'applique qu'aux textes contenant des liens
|
||||||
// http://doc.spip.org/@liens_absolus
|
// http://doc.spip.org/@liens_absolus
|
||||||
function liens_absolus($texte, $base='') {
|
function liens_absolus($texte, $base='') {
|
||||||
if (preg_match_all(',(<(a|link|image)[[:space:]]+[^<>]*href=["\']?)([^"\' ><[:space:]]+)([^<>]*>),imsS',
|
if (preg_match_all(',(<(a|link|image|img|script)\s[^<>]*(href|src)=[^<>]*>),imsS',
|
||||||
$texte, $liens, PREG_SET_ORDER)) {
|
$texte, $liens, PREG_SET_ORDER)) {
|
||||||
foreach ($liens as $lien) {
|
foreach ($liens as $lien) {
|
||||||
$abs = url_absolue($lien[3], $base);
|
foreach(array('href', 'src') as $attr) {
|
||||||
if ($abs <> $lien[3] and !preg_match('/^#/',$lien[3]))
|
$href = extraire_attribut($lien[0], $attr);
|
||||||
$texte = str_replace($lien[0], $lien[1].$abs.$lien[4], $texte);
|
if (strlen($href)>0) {
|
||||||
}
|
$abs = url_absolue($href, $base);
|
||||||
}
|
if ($href != $abs and !preg_match('/^#/',$href)) {
|
||||||
if (preg_match_all(',(<(img|script)[[:space:]]+[^<>]*src=["\']?)([^"\' ><[:space:]]+)([^<>]*>),imsS',
|
$texte_lien = inserer_attribut($lien[0], $attr, $abs);
|
||||||
$texte, $liens, PREG_SET_ORDER)) {
|
$texte = str_replace($lien[0],$texte_lien,$texte);
|
||||||
foreach ($liens as $lien) {
|
}
|
||||||
$abs = url_absolue($lien[3], $base);
|
}
|
||||||
if ($abs <> $lien[3])
|
}
|
||||||
$texte = str_replace($lien[0], $lien[1].$abs.$lien[4], $texte);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $texte;
|
return $texte;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -181,8 +181,7 @@ function ecrire_fichier ($fichier, $contenu, $ignorer_echec = false, $truncate=t
|
||||||
// liberer le verrou et fermer le fichier
|
// liberer le verrou et fermer le fichier
|
||||||
@chmod($fichier, _SPIP_CHMOD & 0666);
|
@chmod($fichier, _SPIP_CHMOD & 0666);
|
||||||
if ($ok) {
|
if ($ok) {
|
||||||
if (!defined('_OPCACHE_BUG') AND function_exists('opcache_invalidate'))
|
spip_clear_opcode_cache(realpath($fichier));
|
||||||
opcache_invalidate($fichier, true);
|
|
||||||
return $ok;
|
return $ok;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -294,11 +293,64 @@ function spip_unlink($f) {
|
||||||
* @param null $filename
|
* @param null $filename
|
||||||
*/
|
*/
|
||||||
function spip_clearstatcache($clear_realpath_cache = false, $filename=null){
|
function spip_clearstatcache($clear_realpath_cache = false, $filename=null){
|
||||||
return (version_compare(PHP_VERSION, '5.3.0') >= 0)?
|
if (!defined('PHP_VERSION_ID') || PHP_VERSION_ID < 50300) {
|
||||||
clearstatcache($clear_realpath_cache,$filename):clearstatcache();
|
// Below PHP 5.3, clearstatcache does not accept any function parameters.
|
||||||
|
return clearstatcache();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return clearstatcache($clear_realpath_cache, $filename);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
|
/**
|
||||||
|
* Invalidates a PHP file from any active opcode caches.
|
||||||
|
*
|
||||||
|
* If the opcode cache does not support the invalidation of individual files,
|
||||||
|
* the entire cache will be flushed.
|
||||||
|
* kudo : http://cgit.drupalcode.org/drupal/commit/?id=be97f50
|
||||||
|
*
|
||||||
|
* @param string $filepath
|
||||||
|
* The absolute path of the PHP file to invalidate.
|
||||||
|
*/
|
||||||
|
function spip_clear_opcode_cache($filepath) {
|
||||||
|
spip_clearstatcache(TRUE, $filepath);
|
||||||
|
|
||||||
|
// Zend OPcache
|
||||||
|
if (function_exists('opcache_invalidate')) {
|
||||||
|
opcache_invalidate($filepath, TRUE);
|
||||||
|
}
|
||||||
|
// APC.
|
||||||
|
if (function_exists('apc_delete_file')) {
|
||||||
|
// apc_delete_file() throws a PHP warning in case the specified file was
|
||||||
|
// not compiled yet.
|
||||||
|
// @see http://php.net/apc-delete-file
|
||||||
|
@apc_delete_file($filepath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* si opcache est actif et en mode validate_timestamps
|
||||||
|
* le timestamp ne sera checke qu'apres revalidate_freq s
|
||||||
|
* il faut donc attendre ce temps la pour etre sur qu'on va bien beneficier de la recompilation
|
||||||
|
* NB c'est une config foireuse deconseillee de opcode cache mais malheureusement utilisee par Octave
|
||||||
|
* cf http://stackoverflow.com/questions/25649416/when-exactly-does-php-5-5-opcache-check-file-timestamp-based-on-revalidate-freq
|
||||||
|
* et http://wiki.mikejung.biz/PHP_OPcache
|
||||||
|
*
|
||||||
|
* Ne fait rien en dehors de ce cas
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
function spip_attend_invalidation_opcode_cache(){
|
||||||
|
if (function_exists('opcache_get_configuration')
|
||||||
|
AND @ini_get('opcache.enable')
|
||||||
|
AND @ini_get('opcache.validate_timestamps')
|
||||||
|
AND $duree = @ini_get('opcache.revalidate_freq') ) {
|
||||||
|
sleep($duree+1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
* Suppression complete d'un repertoire.
|
* Suppression complete d'un repertoire.
|
||||||
*
|
*
|
||||||
* http://www.php.net/manual/en/function.rmdir.php#92050
|
* http://www.php.net/manual/en/function.rmdir.php#92050
|
||||||
|
|
|
@ -88,12 +88,26 @@ function suivre_invalideur($cond, $modif=true) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Utilisee pour vider le cache depuis l'espace prive
|
/**
|
||||||
// (ou juste les squelettes si un changement de config le necessite)
|
* Purge un répertoire de ses fichiers
|
||||||
// si $atime est passee en argument, ne pas supprimer ce qui a servi
|
*
|
||||||
// plus recemment que cette date (via fileatime)
|
* Utilisée entre autres pour vider le cache depuis l'espace privé
|
||||||
// retourne le nombre de fichiers supprimes
|
*
|
||||||
// http://doc.spip.org/@purger_repertoire
|
* @uses supprimer_fichier()
|
||||||
|
*
|
||||||
|
* @param string $dir
|
||||||
|
* Chemin du répertoire à purger
|
||||||
|
* @param array $options
|
||||||
|
* Tableau des options. Peut être :
|
||||||
|
*
|
||||||
|
* - atime : timestamp pour ne supprimer que les fichiers antérieurs
|
||||||
|
* à cette date (via fileatime)
|
||||||
|
* - mtime : timestamp pour ne supprimer que les fichiers antérieurs
|
||||||
|
* à cette date (via filemtime)
|
||||||
|
* - limit : nombre maximum de suppressions
|
||||||
|
* @return int
|
||||||
|
* Nombre de fichiers supprimés
|
||||||
|
**/
|
||||||
function purger_repertoire($dir, $options=array()) {
|
function purger_repertoire($dir, $options=array()) {
|
||||||
$handle = @opendir($dir);
|
$handle = @opendir($dir);
|
||||||
if (!$handle) return;
|
if (!$handle) return;
|
||||||
|
@ -105,8 +119,9 @@ function purger_repertoire($dir, $options=array()) {
|
||||||
if ($fichier[0] == '.') continue;
|
if ($fichier[0] == '.') continue;
|
||||||
$chemin = "$dir/$fichier";
|
$chemin = "$dir/$fichier";
|
||||||
if (is_file($chemin)) {
|
if (is_file($chemin)) {
|
||||||
if (!isset($options['atime'])
|
if ( (!isset($options['atime']) OR (@fileatime($chemin) < $options['atime']))
|
||||||
OR (@fileatime($chemin) < $options['atime'])) {
|
AND (!isset($options['mtime']) OR (@filemtime($chemin) < $options['mtime']))
|
||||||
|
) {
|
||||||
supprimer_fichier($chemin);
|
supprimer_fichier($chemin);
|
||||||
$total ++;
|
$total ++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -110,7 +110,7 @@ function traduire_nom_langue($lang) {
|
||||||
// C'est utilise par #LANG_DIR, #LANG_LEFT, #LANG_RIGHT.
|
// C'est utilise par #LANG_DIR, #LANG_LEFT, #LANG_RIGHT.
|
||||||
// http://doc.spip.org/@lang_dir
|
// http://doc.spip.org/@lang_dir
|
||||||
function lang_dir($lang='', $droitier='ltr', $gaucher='rtl') {
|
function lang_dir($lang='', $droitier='ltr', $gaucher='rtl') {
|
||||||
static $lang_rtl = array('ar', 'fa', 'ku', 'ps', 'ur', 'he', 'heb', 'hbo', 'yi');
|
static $lang_rtl = array('ar', 'fa', 'ku', 'prs', 'ps', 'ur', 'he', 'heb', 'hbo', 'yi');
|
||||||
|
|
||||||
return in_array(($lang ? $lang : $GLOBALS['spip_lang']), $lang_rtl) ?
|
return in_array(($lang ? $lang : $GLOBALS['spip_lang']), $lang_rtl) ?
|
||||||
$gaucher : $droitier;
|
$gaucher : $droitier;
|
||||||
|
|
|
@ -33,7 +33,7 @@ $GLOBALS['codes_langues'] = array(
|
||||||
'ay' => "Aymara",
|
'ay' => "Aymara",
|
||||||
'az' => "Azərbaycan dili",
|
'az' => "Azərbaycan dili",
|
||||||
'ba' => "Bashkir",
|
'ba' => "Bashkir",
|
||||||
'be' => "Беларускі",
|
'be' => "Беларуская",
|
||||||
'ber_tam' => "Tamazigh",
|
'ber_tam' => "Tamazigh",
|
||||||
'ber_tam_tfng' => "Tamazigh tifinagh",
|
'ber_tam_tfng' => "Tamazigh tifinagh",
|
||||||
'bg' => "български",
|
'bg' => "български",
|
||||||
|
@ -48,7 +48,7 @@ $GLOBALS['codes_langues'] = array(
|
||||||
'co' => "corsu",
|
'co' => "corsu",
|
||||||
'cpf' => "Kréol réyoné",
|
'cpf' => "Kréol réyoné",
|
||||||
'cpf_dom' => "Kreyòl",
|
'cpf_dom' => "Kreyòl",
|
||||||
'cpf_hat' => "Kréyòl (Péyi Dayiti)",
|
'cpf_hat' => "Kreyòl (Peyi Dayiti)",
|
||||||
'cs' => "čeština",
|
'cs' => "čeština",
|
||||||
'cy' => "Cymraeg", # welsh, gallois
|
'cy' => "Cymraeg", # welsh, gallois
|
||||||
'da' => "dansk",
|
'da' => "dansk",
|
||||||
|
@ -91,7 +91,7 @@ $GLOBALS['codes_langues'] = array(
|
||||||
'hi' => "हिंदी",
|
'hi' => "हिंदी",
|
||||||
'hr' => "hrvatski",
|
'hr' => "hrvatski",
|
||||||
'hu' => "magyar",
|
'hu' => "magyar",
|
||||||
'hy' => "Armenian",
|
'hy' => "Հայերեն",// Arménien
|
||||||
'ia' => "Interlingua",
|
'ia' => "Interlingua",
|
||||||
'id' => "Indonesia",
|
'id' => "Indonesia",
|
||||||
'ie' => "Interlingue",
|
'ie' => "Interlingue",
|
||||||
|
@ -105,7 +105,7 @@ $GLOBALS['codes_langues'] = array(
|
||||||
'ka' => "ქართული",
|
'ka' => "ქართული",
|
||||||
'kk' => "қазақ тілі", // Kazakh
|
'kk' => "қазақ тілі", // Kazakh
|
||||||
'kl' => "kalaallisut",
|
'kl' => "kalaallisut",
|
||||||
'km' => "Cambodian",
|
'km' => "ភាសាខ្មែរ",// Khmer
|
||||||
'kn' => "Kannada",
|
'kn' => "Kannada",
|
||||||
'ko' => "한국어",
|
'ko' => "한국어",
|
||||||
'kok' => "कोंकणी", // Konkani
|
'kok' => "कोंकणी", // Konkani
|
||||||
|
@ -144,6 +144,7 @@ $GLOBALS['codes_langues'] = array(
|
||||||
'oc_lnc' => "òc lengadocian",
|
'oc_lnc' => "òc lengadocian",
|
||||||
'oc_ni' => "òc niçard",
|
'oc_ni' => "òc niçard",
|
||||||
'oc_ni_la' => "òc niçard (larg)",
|
'oc_ni_la' => "òc niçard (larg)",
|
||||||
|
'oc_ni_mis' => "òc nissart (mistralenc)",
|
||||||
'oc_prv' => "òc provençau",
|
'oc_prv' => "òc provençau",
|
||||||
'oc_gsc' => "òc gascon",
|
'oc_gsc' => "òc gascon",
|
||||||
'oc_lms' => "òc lemosin",
|
'oc_lms' => "òc lemosin",
|
||||||
|
|
|
@ -169,7 +169,7 @@ function traiter_lien_implicite ($ref, $texte='', $pour='url', $connect='')
|
||||||
// dans le cas d'un lien vers un doc, ajouter le type='mime/type'
|
// dans le cas d'un lien vers un doc, ajouter le type='mime/type'
|
||||||
if ($type == 'document'
|
if ($type == 'document'
|
||||||
AND $mime = sql_getfetsel('mime_type', 'spip_types_documents',
|
AND $mime = sql_getfetsel('mime_type', 'spip_types_documents',
|
||||||
"extension IN (SELECT extension FROM spip_documents where id_document =".sql_quote($id).")",
|
"extension IN (".sql_get_select("extension","spip_documents","id_document=".sql_quote($id)).")",
|
||||||
'','','','',$connect)
|
'','','','',$connect)
|
||||||
)
|
)
|
||||||
$r['mime'] = $mime;
|
$r['mime'] = $mime;
|
||||||
|
@ -240,6 +240,7 @@ function traiter_modeles($texte, $doublons=false, $echap='', $connect='', $liens
|
||||||
if (strpos($texte,"<")!==false AND
|
if (strpos($texte,"<")!==false AND
|
||||||
preg_match_all('/<[a-z_-]{3,}\s*[0-9|]+/iS', $texte, $matches, PREG_SET_ORDER)) {
|
preg_match_all('/<[a-z_-]{3,}\s*[0-9|]+/iS', $texte, $matches, PREG_SET_ORDER)) {
|
||||||
include_spip('public/assembler');
|
include_spip('public/assembler');
|
||||||
|
$wrap_embed_html = charger_fonction("wrap_embed_html","inc",true);
|
||||||
foreach ($matches as $match) {
|
foreach ($matches as $match) {
|
||||||
// Recuperer l'appel complet (y compris un eventuel lien)
|
// Recuperer l'appel complet (y compris un eventuel lien)
|
||||||
|
|
||||||
|
@ -254,7 +255,9 @@ function traiter_modeles($texte, $doublons=false, $echap='', $connect='', $liens
|
||||||
$lien = array(
|
$lien = array(
|
||||||
'href' => extraire_attribut($r[0],'href'),
|
'href' => extraire_attribut($r[0],'href'),
|
||||||
'class' => extraire_attribut($r[0],'class'),
|
'class' => extraire_attribut($r[0],'class'),
|
||||||
'mime' => extraire_attribut($r[0],'type')
|
'mime' => extraire_attribut($r[0],'type'),
|
||||||
|
'title' => extraire_attribut($r[0],'title'),
|
||||||
|
'hreflang' => extraire_attribut($r[0],'hreflang')
|
||||||
);
|
);
|
||||||
$n = strlen($r[0]);
|
$n = strlen($r[0]);
|
||||||
$a -= $n;
|
$a -= $n;
|
||||||
|
@ -274,7 +277,7 @@ function traiter_modeles($texte, $doublons=false, $echap='', $connect='', $liens
|
||||||
// dans les parametres, plutot que les liens echappes
|
// dans les parametres, plutot que les liens echappes
|
||||||
if (!is_null($liens))
|
if (!is_null($liens))
|
||||||
$params = str_replace($liens[0], $liens[1], $params);
|
$params = str_replace($liens[0], $liens[1], $params);
|
||||||
$modele = inclure_modele($type, $id, $params, $lien, $connect, $env);
|
$modele = inclure_modele($type, $id, $params, $lien, $connect, $env);
|
||||||
// en cas d'echec,
|
// en cas d'echec,
|
||||||
// si l'objet demande a une url,
|
// si l'objet demande a une url,
|
||||||
// creer un petit encadre vers elle
|
// creer un petit encadre vers elle
|
||||||
|
@ -300,6 +303,9 @@ function traiter_modeles($texte, $doublons=false, $echap='', $connect='', $liens
|
||||||
// le remplacer dans le texte
|
// le remplacer dans le texte
|
||||||
if ($modele !== false) {
|
if ($modele !== false) {
|
||||||
$modele = protege_js_modeles($modele);
|
$modele = protege_js_modeles($modele);
|
||||||
|
if ($wrap_embed_html){
|
||||||
|
$modele = $wrap_embed_html($mod,$modele);
|
||||||
|
}
|
||||||
$rempl = code_echappement($modele, $echap);
|
$rempl = code_echappement($modele, $echap);
|
||||||
$texte = substr($texte, 0, $a)
|
$texte = substr($texte, 0, $a)
|
||||||
. $rempl
|
. $rempl
|
||||||
|
|
|
@ -59,7 +59,7 @@ function inc_log_dist($message, $logname=NULL, $logdir=NULL, $logsuf=NULL) {
|
||||||
$debugverb = "$fi:L$l:$fu"."():";
|
$debugverb = "$fi:L$l:$fu"."():";
|
||||||
}
|
}
|
||||||
|
|
||||||
$m = date("M d H:i:s").' '.$GLOBALS['ip'].' '.$pid.' '
|
$m = date("Y-m-d H:i:s").' '.$GLOBALS['ip'].' '.$pid.' '
|
||||||
//distinguer les logs prives et publics dans les grep
|
//distinguer les logs prives et publics dans les grep
|
||||||
. $debugverb
|
. $debugverb
|
||||||
. (test_espace_prive()?':Pri:':':Pub:')
|
. (test_espace_prive()?':Pri:':':Pub:')
|
||||||
|
|
|
@ -119,10 +119,14 @@ function minipres($titre='', $corps="", $onload='', $all_inline = false)
|
||||||
$titre = ($titre == 'install')
|
$titre = ($titre == 'install')
|
||||||
? _T('avis_espace_interdit')
|
? _T('avis_espace_interdit')
|
||||||
: $titre . ' : '. _T('info_acces_interdit');
|
: $titre . ' : '. _T('info_acces_interdit');
|
||||||
|
|
||||||
|
$statut = isset($GLOBALS['visiteur_session']['statut']) ? $GLOBALS['visiteur_session']['statut'] : '';
|
||||||
|
$nom = isset($GLOBALS['visiteur_session']['nom']) ? $GLOBALS['visiteur_session']['nom'] : '';
|
||||||
|
|
||||||
$corps = generer_form_ecrire('accueil', '','',
|
$corps = generer_form_ecrire('accueil', '','',
|
||||||
$GLOBALS['visiteur_session']['statut']?_T('public:accueil_site'):_T('public:lien_connecter')
|
$statut ? _T('public:accueil_site') : _T('public:lien_connecter')
|
||||||
);
|
);
|
||||||
spip_log($GLOBALS['visiteur_session']['nom'] . " $titre " . $_SERVER['REQUEST_URI']);
|
spip_log($nom . " $titre " . $_SERVER['REQUEST_URI']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!_AJAX)
|
if (!_AJAX)
|
||||||
|
|
|
@ -213,7 +213,7 @@ function f_queue(&$texte){
|
||||||
|
|
||||||
// eviter une inclusion si rien a faire
|
// eviter une inclusion si rien a faire
|
||||||
if (_request('action')=='cron'
|
if (_request('action')=='cron'
|
||||||
OR queue_sleep_time_to_next_job()
|
OR queue_sleep_time_to_next_job()>0
|
||||||
OR defined('_DEBUG_BLOCK_QUEUE')){
|
OR defined('_DEBUG_BLOCK_QUEUE')){
|
||||||
return $texte;
|
return $texte;
|
||||||
}
|
}
|
||||||
|
|
|
@ -122,6 +122,10 @@ function f_afficher_blocs_ecrire($flux) {
|
||||||
if (!isset($o[$exec])){
|
if (!isset($o[$exec])){
|
||||||
$o[$exec] = trouver_objet_exec($exec);
|
$o[$exec] = trouver_objet_exec($exec);
|
||||||
}
|
}
|
||||||
|
// cas particulier
|
||||||
|
if ($exec=="infos_perso"){
|
||||||
|
$flux['args']['contexte']['id_auteur'] = $GLOBALS['visiteur_session']['id_auteur'];
|
||||||
|
}
|
||||||
$typepage = (isset($flux['args']['contexte']['type-page'])?$flux['args']['contexte']['type-page']:$exec);
|
$typepage = (isset($flux['args']['contexte']['type-page'])?$flux['args']['contexte']['type-page']:$exec);
|
||||||
if ($fond == "prive/squelettes/navigation/$typepage"){
|
if ($fond == "prive/squelettes/navigation/$typepage"){
|
||||||
$flux['data']['texte'] = pipeline('affiche_gauche',array('args'=>$flux['args']['contexte'],'data'=>$flux['data']['texte']));
|
$flux['data']['texte'] = pipeline('affiche_gauche',array('args'=>$flux['args']['contexte'],'data'=>$flux['data']['texte']));
|
||||||
|
@ -202,6 +206,11 @@ function f_queue_affiche_milieu($flux){
|
||||||
function trouver_objet_exec($exec){
|
function trouver_objet_exec($exec){
|
||||||
static $objet_exec=array();
|
static $objet_exec=array();
|
||||||
if (!$exec) return false;
|
if (!$exec) return false;
|
||||||
|
// cas particulier
|
||||||
|
if ($exec=="infos_perso"){
|
||||||
|
$exec = "auteur";
|
||||||
|
set_request('id_auteur',$GLOBALS['visiteur_session']['id_auteur']);
|
||||||
|
}
|
||||||
if (!isset($objet_exec[$exec])){
|
if (!isset($objet_exec[$exec])){
|
||||||
$objet_exec[$exec]=false;
|
$objet_exec[$exec]=false;
|
||||||
$infos = lister_tables_objets_sql();
|
$infos = lister_tables_objets_sql();
|
||||||
|
|
|
@ -518,9 +518,14 @@ function ecrire_plugin_actifs($plugin,$pipe_recherche=false,$operation='raz') {
|
||||||
// generer le fichier _CACHE_PIPELINE
|
// generer le fichier _CACHE_PIPELINE
|
||||||
pipeline_precompile();
|
pipeline_precompile();
|
||||||
|
|
||||||
// lancer et initialiser les nouveaux crons !
|
// attendre eventuellement l'invalidation du cache opcode
|
||||||
include_spip('inc/genie');
|
spip_attend_invalidation_opcode_cache();
|
||||||
genie_queue_watch_dist();
|
|
||||||
|
if (spip_connect()) {
|
||||||
|
// lancer et initialiser les nouveaux crons !
|
||||||
|
include_spip('inc/genie');
|
||||||
|
genie_queue_watch_dist();
|
||||||
|
}
|
||||||
|
|
||||||
return ($GLOBALS['meta']['plugin'] != $actifs_avant);
|
return ($GLOBALS['meta']['plugin'] != $actifs_avant);
|
||||||
}
|
}
|
||||||
|
@ -786,4 +791,4 @@ function ecrire_fichier_php($nom, $contenu, $comment='')
|
||||||
ecrire_fichier($nom,
|
ecrire_fichier($nom,
|
||||||
'<'.'?php' . "\n" . $comment ."\nif (defined('_ECRIRE_INC_VERSION')) {\n". $contenu . "}\n?".'>');
|
'<'.'?php' . "\n" . $comment ."\nif (defined('_ECRIRE_INC_VERSION')) {\n". $contenu . "}\n?".'>');
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
|
|
|
@ -1,213 +1,213 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/***************************************************************************\
|
/***************************************************************************\
|
||||||
* SPIP, Systeme de publication pour l'internet *
|
* SPIP, Systeme de publication pour l'internet *
|
||||||
* *
|
* *
|
||||||
* Copyright (c) 2001-2014 *
|
* Copyright (c) 2001-2014 *
|
||||||
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
|
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
|
||||||
* *
|
* *
|
||||||
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
|
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
|
||||||
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
|
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
|
||||||
\***************************************************************************/
|
\***************************************************************************/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fonctions d'affichage pour l'espace privé (hors squelettes)
|
* Fonctions d'affichage pour l'espace privé (hors squelettes)
|
||||||
*
|
*
|
||||||
* @package SPIP\Core\Affichage
|
* @package SPIP\Core\Affichage
|
||||||
**/
|
**/
|
||||||
if (!defined('_ECRIRE_INC_VERSION')) return;
|
if (!defined('_ECRIRE_INC_VERSION')) return;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Affiche un code html (echo) et log l'affichage car cet echo est anormal !
|
* Affiche un code html (echo) et log l'affichage car cet echo est anormal !
|
||||||
*
|
*
|
||||||
* Signale une fonction qui devrait retourner un contenu mais effectue
|
* Signale une fonction qui devrait retourner un contenu mais effectue
|
||||||
* un echo à la place pour compatibilité ascendante
|
* un echo à la place pour compatibilité ascendante
|
||||||
*
|
*
|
||||||
* @deprecated
|
* @deprecated
|
||||||
* Utiliser des squelettes pour l'affichage !
|
* Utiliser des squelettes pour l'affichage !
|
||||||
*
|
*
|
||||||
* @param string $f
|
* @param string $f
|
||||||
* Nom de la fonction
|
* Nom de la fonction
|
||||||
* @param string $ret
|
* @param string $ret
|
||||||
* Code HTML à afficher
|
* Code HTML à afficher
|
||||||
* @return void
|
* @return void
|
||||||
**/
|
**/
|
||||||
function echo_log($f, $ret) {
|
function echo_log($f, $ret) {
|
||||||
spip_log("Page " . self() . " function $f: echo ".substr($ret,0,50)."...",'echo');
|
spip_log("Page " . self() . " function $f: echo ".substr($ret,0,50)."...",'echo');
|
||||||
echo
|
echo
|
||||||
(_SIGNALER_ECHOS?"#Echo par $f#" :"")
|
(_SIGNALER_ECHOS?"#Echo par $f#" :"")
|
||||||
. $ret;
|
. $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne le code HTML d'un début de cadre pour le centre de page (haut de page)
|
* Retourne le code HTML d'un début de cadre pour le centre de page (haut de page)
|
||||||
* @return string Code HTML
|
* @return string Code HTML
|
||||||
*/
|
*/
|
||||||
function debut_grand_cadre(){ return "\n<div class='table_page'>\n";}
|
function debut_grand_cadre(){ return "\n<div class='table_page'>\n";}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne le code HTML d'une fin de cadre pour le centre de page (haut de page)
|
* Retourne le code HTML d'une fin de cadre pour le centre de page (haut de page)
|
||||||
* @return string Code HTML
|
* @return string Code HTML
|
||||||
*/
|
*/
|
||||||
function fin_grand_cadre(){ return "\n</div>";}
|
function fin_grand_cadre(){ return "\n</div>";}
|
||||||
|
|
||||||
// Debut de la colonne de gauche
|
// Debut de la colonne de gauche
|
||||||
// div navigation fermee par creer_colonne_droite qui ouvre
|
// div navigation fermee par creer_colonne_droite qui ouvre
|
||||||
// div extra lui-meme ferme par debut_droite qui ouvre
|
// div extra lui-meme ferme par debut_droite qui ouvre
|
||||||
// div contenu lui-meme ferme par fin_gauche() ainsi que
|
// div contenu lui-meme ferme par fin_gauche() ainsi que
|
||||||
// div conteneur
|
// div conteneur
|
||||||
// http://doc.spip.org/@debut_gauche
|
// http://doc.spip.org/@debut_gauche
|
||||||
/**
|
/**
|
||||||
* Retourne le code HTML du début de la colonne gauche
|
* Retourne le code HTML du début de la colonne gauche
|
||||||
* @return string Code HTML
|
* @return string Code HTML
|
||||||
*/
|
*/
|
||||||
function debut_gauche() { return "<div id='conteneur' class=''>\n<div id='navigation' class='lat' role='contentinfo'>\n";}
|
function debut_gauche() { return "<div id='conteneur' class=''>\n<div id='navigation' class='lat' role='contentinfo'>\n";}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne le code HTML de la fin de la colonne
|
* Retourne le code HTML de la fin de la colonne
|
||||||
* @return string Code HTML
|
* @return string Code HTML
|
||||||
*/
|
*/
|
||||||
function fin_gauche(){return "</div></div><br class='nettoyeur' />";}
|
function fin_gauche(){return "</div></div><br class='nettoyeur' />";}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne le code HTML du changement de colonne (passer de la gauche à la droite)
|
* Retourne le code HTML du changement de colonne (passer de la gauche à la droite)
|
||||||
* @return string Code HTML
|
* @return string Code HTML
|
||||||
*/
|
*/
|
||||||
function creer_colonne_droite(){
|
function creer_colonne_droite(){
|
||||||
static $deja_colonne_droite;
|
static $deja_colonne_droite;
|
||||||
if ($GLOBALS['spip_ecran']!='large' OR $deja_colonne_droite) return '';
|
if ($GLOBALS['spip_ecran']!='large' OR $deja_colonne_droite) return '';
|
||||||
$deja_colonne_droite = true;
|
$deja_colonne_droite = true;
|
||||||
return "\n</div><div id='extra' class='lat' role='complementary'>";
|
return "\n</div><div id='extra' class='lat' role='complementary'>";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne le code HTML de la colonne droite et du centre de page
|
* Retourne le code HTML de la colonne droite et du centre de page
|
||||||
* @return string Code HTML
|
* @return string Code HTML
|
||||||
*/
|
*/
|
||||||
function debut_droite() {
|
function debut_droite() {
|
||||||
return liste_objets_bloques(_request('exec'))
|
return liste_objets_bloques(_request('exec'))
|
||||||
. creer_colonne_droite()
|
. creer_colonne_droite()
|
||||||
. "</div>"
|
. "</div>"
|
||||||
. "\n<div id='contenu'>";
|
. "\n<div id='contenu'>";
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@liste_articles_bloques
|
// http://doc.spip.org/@liste_articles_bloques
|
||||||
function liste_objets_bloques($exec,$contexte=array(),$auteur=null){
|
function liste_objets_bloques($exec,$contexte=array(),$auteur=null){
|
||||||
$res = '';
|
$res = '';
|
||||||
if ($GLOBALS['meta']["articles_modif"] != "non") {
|
if ($GLOBALS['meta']["articles_modif"] != "non") {
|
||||||
include_spip('inc/drapeau_edition');
|
include_spip('inc/drapeau_edition');
|
||||||
if (is_null($auteur))
|
if (is_null($auteur))
|
||||||
$auteur = $GLOBALS['visiteur_session'];
|
$auteur = $GLOBALS['visiteur_session'];
|
||||||
if ($en_cours=trouver_objet_exec($exec)
|
if ($en_cours=trouver_objet_exec($exec)
|
||||||
AND $en_cours['edition']
|
AND $en_cours['edition']
|
||||||
AND $type = $en_cours['type']
|
AND $type = $en_cours['type']
|
||||||
AND ($id = $contexte[$en_cours['id_table_objet']] OR $id = _request($en_cours['id_table_objet']))) {
|
AND ($id = $contexte[$en_cours['id_table_objet']] OR $id = _request($en_cours['id_table_objet']))) {
|
||||||
// marquer le fait que l'objet est ouvert en edition par toto
|
// marquer le fait que l'objet est ouvert en edition par toto
|
||||||
// a telle date ; une alerte sera donnee aux autres redacteurs
|
// a telle date ; une alerte sera donnee aux autres redacteurs
|
||||||
signale_edition ($id, $auteur, $type);
|
signale_edition ($id, $auteur, $type);
|
||||||
}
|
}
|
||||||
|
|
||||||
$objets_ouverts = liste_drapeau_edition($auteur['id_auteur']);
|
$objets_ouverts = liste_drapeau_edition($auteur['id_auteur']);
|
||||||
if (count($objets_ouverts)) {
|
if (count($objets_ouverts)) {
|
||||||
$res .= recuperer_fond('prive/objets/liste/objets-en-edition',array(),array('ajax'=>true));
|
$res .= recuperer_fond('prive/objets/liste/objets-en-edition',array(),array('ajax'=>true));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $res;
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fin de page de l'interface privee.
|
// Fin de page de l'interface privee.
|
||||||
// Elle comporte une image invisible declenchant une tache de fond
|
// Elle comporte une image invisible declenchant une tache de fond
|
||||||
// http://doc.spip.org/@fin_page
|
// http://doc.spip.org/@fin_page
|
||||||
function fin_page(){
|
function fin_page(){
|
||||||
include_spip('inc/pipelines');
|
include_spip('inc/pipelines');
|
||||||
// avec &var_profile=1 on a le tableau de mesures SQL
|
// avec &var_profile=1 on a le tableau de mesures SQL
|
||||||
$debug = ((_request('exec') !== 'valider_xml')
|
$debug = ((_request('exec') !== 'valider_xml')
|
||||||
AND ((_request('var_mode') == 'debug')
|
AND ((_request('var_mode') == 'debug')
|
||||||
OR (isset($GLOBALS['tableau_des_temps']) AND $GLOBALS['tableau_des_temps'])
|
OR (isset($GLOBALS['tableau_des_temps']) AND $GLOBALS['tableau_des_temps'])
|
||||||
AND isset($_COOKIE['spip_admin'])));
|
AND isset($_COOKIE['spip_admin'])));
|
||||||
$t = '</div><div id="pied"><div class="largeur">'
|
$t = '</div><div id="pied"><div class="largeur">'
|
||||||
. recuperer_fond('prive/squelettes/inclure/pied')
|
. recuperer_fond('prive/squelettes/inclure/pied')
|
||||||
. "</div>"
|
. "</div>"
|
||||||
. "</div></div>" // cf. div#page et div.largeur ouvertes dans conmmencer_page()
|
. "</div></div>" // cf. div#page et div.largeur ouvertes dans conmmencer_page()
|
||||||
. ($debug?erreur_squelette():'')
|
. ($debug?erreur_squelette():'')
|
||||||
. "</body></html>\n";
|
. "</body></html>\n";
|
||||||
return f_queue($t);
|
return f_queue($t);
|
||||||
}
|
}
|
||||||
|
|
||||||
function html_tests_js(){
|
function html_tests_js(){
|
||||||
if (_SPIP_AJAX AND !defined('_TESTER_NOSCRIPT')) {
|
if (_SPIP_AJAX AND !defined('_TESTER_NOSCRIPT')) {
|
||||||
// pour le pied de page (deja defini si on est validation XML)
|
// pour le pied de page (deja defini si on est validation XML)
|
||||||
define('_TESTER_NOSCRIPT',
|
define('_TESTER_NOSCRIPT',
|
||||||
"<noscript>\n<div style='display:none;'><img src='"
|
"<noscript>\n<div style='display:none;'><img src='"
|
||||||
. generer_url_ecrire('test_ajax', 'js=-1')
|
. generer_url_ecrire('test_ajax', 'js=-1')
|
||||||
. "' width='1' height='1' alt='' /></div></noscript>\n");
|
. "' width='1' height='1' alt='' /></div></noscript>\n");
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
(defined('_SESSION_REJOUER') ? _SESSION_REJOUER : '')
|
(defined('_SESSION_REJOUER') ? _SESSION_REJOUER : '')
|
||||||
. (defined('_TESTER_NOSCRIPT') ? _TESTER_NOSCRIPT : '');
|
. (defined('_TESTER_NOSCRIPT') ? _TESTER_NOSCRIPT : '');
|
||||||
}
|
}
|
||||||
|
|
||||||
function info_maj_spip(){
|
function info_maj_spip(){
|
||||||
|
|
||||||
$maj = $GLOBALS['meta']['info_maj_spip'];
|
$maj = $GLOBALS['meta']['info_maj_spip'];
|
||||||
if (!$maj)
|
if (!$maj)
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
$maj = explode('|',$maj);
|
$maj = explode('|',$maj);
|
||||||
// c'est une ancienne notif, on a fait la maj depuis !
|
// c'est une ancienne notif, on a fait la maj depuis !
|
||||||
if ($GLOBALS['spip_version_branche']!==reset($maj))
|
if ($GLOBALS['spip_version_branche']!==reset($maj))
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
if (!autoriser('webmestre'))
|
if (!autoriser('webmestre'))
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
array_shift($maj);
|
array_shift($maj);
|
||||||
$maj = implode('|',$maj);
|
$maj = implode('|',$maj);
|
||||||
|
|
||||||
return "$maj<br />";
|
return "$maj<br />";
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@info_copyright
|
// http://doc.spip.org/@info_copyright
|
||||||
function info_copyright() {
|
function info_copyright() {
|
||||||
global $spip_version_affichee, $spip_lang;
|
global $spip_version_affichee, $spip_lang;
|
||||||
|
|
||||||
$version = $spip_version_affichee;
|
$version = $spip_version_affichee;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Mention, le cas echeant, de la revision SVN courante
|
// Mention, le cas echeant, de la revision SVN courante
|
||||||
//
|
//
|
||||||
if ($svn_revision = version_svn_courante(_DIR_RACINE)) {
|
if ($svn_revision = version_svn_courante(_DIR_RACINE)) {
|
||||||
$version .= ' ' . (($svn_revision < 0) ? 'SVN ':'')
|
$version .= ' ' . (($svn_revision < 0) ? 'SVN ':'')
|
||||||
. "[<a href='http://core.spip.org/trac/spip/changeset/"
|
. "[<a href='http://core.spip.net/projects/spip/repository/revisions/"
|
||||||
. abs($svn_revision) . "' onclick=\"window.open(this.href); return false;\">"
|
. abs($svn_revision) . "' onclick=\"window.open(this.href); return false;\">"
|
||||||
. abs($svn_revision) . "</a>]";
|
. abs($svn_revision) . "</a>]";
|
||||||
}
|
}
|
||||||
|
|
||||||
// et la version de l'ecran de securite
|
// et la version de l'ecran de securite
|
||||||
$secu = defined('_ECRAN_SECURITE')
|
$secu = defined('_ECRAN_SECURITE')
|
||||||
? "<br />"._T('ecran_securite',array('version'=>_ECRAN_SECURITE))
|
? "<br />"._T('ecran_securite',array('version'=>_ECRAN_SECURITE))
|
||||||
: '';
|
: '';
|
||||||
|
|
||||||
return _T('info_copyright',
|
return _T('info_copyright',
|
||||||
array('spip' => "<b>SPIP $version</b> ",
|
array('spip' => "<b>SPIP $version</b> ",
|
||||||
'lien_gpl' =>
|
'lien_gpl' =>
|
||||||
"<a href='". generer_url_ecrire("aide", "aide=licence&var_lang=$spip_lang") . "' onclick=\"window.open(this.href, 'spip_aide', 'scrollbars=yes,resizable=yes,width=740,height=580'); return false;\">" . _T('info_copyright_gpl')."</a>"))
|
"<a href='". generer_url_ecrire("aide", "aide=licence&var_lang=$spip_lang") . "' onclick=\"window.open(this.href, 'spip_aide', 'scrollbars=yes,resizable=yes,width=740,height=580'); return false;\">" . _T('info_copyright_gpl')."</a>"))
|
||||||
. $secu;
|
. $secu;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@formulaire_recherche
|
// http://doc.spip.org/@formulaire_recherche
|
||||||
function formulaire_recherche($page, $complement=""){
|
function formulaire_recherche($page, $complement=""){
|
||||||
$recherche = _request('recherche');
|
$recherche = _request('recherche');
|
||||||
$recherche_aff = entites_html($recherche);
|
$recherche_aff = entites_html($recherche);
|
||||||
if (!strlen($recherche)) {
|
if (!strlen($recherche)) {
|
||||||
$recherche_aff = _T('info_rechercher');
|
$recherche_aff = _T('info_rechercher');
|
||||||
$onfocus = " onfocus=\"this.value='';\"";
|
$onfocus = " onfocus=\"this.value='';\"";
|
||||||
} else $onfocus = '';
|
} else $onfocus = '';
|
||||||
|
|
||||||
$form = '<input type="text" size="10" value="'.$recherche_aff.'" name="recherche" class="recherche" accesskey="r"' . $onfocus . ' />';
|
$form = '<input type="text" size="10" value="'.$recherche_aff.'" name="recherche" class="recherche" accesskey="r"' . $onfocus . ' />';
|
||||||
$form .= "<input type='image' src='" . chemin_image('rechercher-20.png') . "' name='submit' class='submit' alt='"._T('info_rechercher')."' />";
|
$form .= "<input type='image' src='" . chemin_image('rechercher-20.png') . "' name='submit' class='submit' alt='"._T('info_rechercher')."' />";
|
||||||
return "<div class='spip_recherche'>".generer_form_ecrire($page, $form . $complement, " method='get'")."</div>";
|
return "<div class='spip_recherche'>".generer_form_ecrire($page, $form . $complement, " method='get'")."</div>";
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -267,7 +267,8 @@ function puce_statut_changement_rapide($id, $statut, $id_rubrique, $type='articl
|
||||||
$desc = lister_tables_objets_sql($table);
|
$desc = lister_tables_objets_sql($table);
|
||||||
if (!isset($desc['statut_textes_instituer']))
|
if (!isset($desc['statut_textes_instituer']))
|
||||||
return $inser_puce;
|
return $inser_puce;
|
||||||
|
|
||||||
|
include_spip('inc/autoriser');
|
||||||
// cas ou l'on a un parent connu (devrait disparaitre au profit du second cas plus generique)
|
// cas ou l'on a un parent connu (devrait disparaitre au profit du second cas plus generique)
|
||||||
if ($id_rubrique){
|
if ($id_rubrique){
|
||||||
if (!autoriser('publierdans', 'rubrique', $id_rubrique))
|
if (!autoriser('publierdans', 'rubrique', $id_rubrique))
|
||||||
|
|
|
@ -278,7 +278,7 @@ function queue_schedule($force_jobs = null){
|
||||||
}
|
}
|
||||||
|
|
||||||
// rien a faire si le prochain job est encore dans le futur
|
// rien a faire si le prochain job est encore dans le futur
|
||||||
if (queue_sleep_time_to_next_job() AND (!$force_jobs OR !count($force_jobs))){
|
if (queue_sleep_time_to_next_job()>0 AND (!$force_jobs OR !count($force_jobs))){
|
||||||
spip_log("queue_sleep_time_to_next_job",'jq'._LOG_DEBUG);
|
spip_log("queue_sleep_time_to_next_job",'jq'._LOG_DEBUG);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -477,7 +477,7 @@ function queue_set_next_job_time($next) {
|
||||||
// toujours relire la valeur pour comparer, pour tenir compte des maj concourrantes
|
// toujours relire la valeur pour comparer, pour tenir compte des maj concourrantes
|
||||||
// et ne mettre a jour que si il y a un interet a le faire
|
// et ne mettre a jour que si il y a un interet a le faire
|
||||||
// permet ausis d'initialiser le nom de fichier a coup sur
|
// permet ausis d'initialiser le nom de fichier a coup sur
|
||||||
$curr_next = $_SERVER['REQUEST_TIME'] + queue_sleep_time_to_next_job(true);
|
$curr_next = $_SERVER['REQUEST_TIME'] + max(0,queue_sleep_time_to_next_job(true));
|
||||||
if (
|
if (
|
||||||
($curr_next<=$time AND $next>$time) // le prochain job est dans le futur mais pas la date planifiee actuelle
|
($curr_next<=$time AND $next>$time) // le prochain job est dans le futur mais pas la date planifiee actuelle
|
||||||
OR $curr_next>$next // le prochain job est plus tot que la date planifiee actuelle
|
OR $curr_next>$next // le prochain job est plus tot que la date planifiee actuelle
|
||||||
|
@ -505,8 +505,9 @@ function queue_set_next_job_time($next) {
|
||||||
function queue_affichage_cron(){
|
function queue_affichage_cron(){
|
||||||
$texte = "";
|
$texte = "";
|
||||||
|
|
||||||
|
$time_to_next = queue_sleep_time_to_next_job();
|
||||||
// rien a faire si le prochain job est encore dans le futur
|
// rien a faire si le prochain job est encore dans le futur
|
||||||
if (queue_sleep_time_to_next_job() OR defined('_DEBUG_BLOCK_QUEUE'))
|
if ($time_to_next>0 OR defined('_DEBUG_BLOCK_QUEUE'))
|
||||||
return $texte;
|
return $texte;
|
||||||
|
|
||||||
// ne pas relancer si on vient de lancer dans la meme seconde par un hit concurent
|
// ne pas relancer si on vient de lancer dans la meme seconde par un hit concurent
|
||||||
|
@ -515,6 +516,11 @@ function queue_affichage_cron(){
|
||||||
@touch($lock);
|
@touch($lock);
|
||||||
|
|
||||||
// il y a des taches en attentes
|
// il y a des taches en attentes
|
||||||
|
// si depuis plus de 5min, on essaye de lancer le cron par tous les moyens pour rattraper le coup
|
||||||
|
// on est sans doute sur un site qui n'autorise pas http sortant ou avec peu de trafic
|
||||||
|
$urgent = false;
|
||||||
|
if ($time_to_next<-300)
|
||||||
|
$urgent = true;
|
||||||
|
|
||||||
$url_cron = generer_url_action('cron','',false,true);
|
$url_cron = generer_url_action('cron','',false,true);
|
||||||
|
|
||||||
|
@ -544,13 +550,25 @@ function queue_affichage_cron(){
|
||||||
$errno, $errstr, 1);
|
$errno, $errstr, 1);
|
||||||
|
|
||||||
if ($fp) {
|
if ($fp) {
|
||||||
|
$timeout = 200; // ms
|
||||||
|
stream_set_timeout($fp,0,$timeout * 1000);
|
||||||
$query = $parts['path'].($parts['query']?"?".$parts['query']:"");
|
$query = $parts['path'].($parts['query']?"?".$parts['query']:"");
|
||||||
$out = "GET ".$query." HTTP/1.1\r\n";
|
$out = "GET ".$query." HTTP/1.1\r\n";
|
||||||
$out.= "Host: ".$parts['host']."\r\n";
|
$out.= "Host: ".$parts['host']."\r\n";
|
||||||
$out.= "Connection: Close\r\n\r\n";
|
$out.= "Connection: Close\r\n\r\n";
|
||||||
fwrite($fp, $out);
|
fwrite($fp, $out);
|
||||||
|
spip_timer('read');
|
||||||
|
$t = 0;
|
||||||
|
// on lit la reponse si possible pour fermer proprement la connexion
|
||||||
|
// avec un timeout total de 200ms pour ne pas se bloquer
|
||||||
|
while (!feof($fp) AND $t<$timeout) {
|
||||||
|
@fgets($fp, 1024);
|
||||||
|
$t += spip_timer('read',true);
|
||||||
|
spip_timer('read');
|
||||||
|
}
|
||||||
fclose($fp);
|
fclose($fp);
|
||||||
return $texte;
|
if (!$urgent)
|
||||||
|
return $texte;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// si fsockopen n'est pas dispo on essaye cURL :
|
// si fsockopen n'est pas dispo on essaye cURL :
|
||||||
|
@ -562,12 +580,13 @@ function queue_affichage_cron(){
|
||||||
// cf bug : http://www.php.net/manual/en/function.curl-setopt.php#104597
|
// cf bug : http://www.php.net/manual/en/function.curl-setopt.php#104597
|
||||||
curl_setopt($ch, CURLOPT_NOSIGNAL, 1);
|
curl_setopt($ch, CURLOPT_NOSIGNAL, 1);
|
||||||
// valeur mini pour que la requete soit lancee
|
// valeur mini pour que la requete soit lancee
|
||||||
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 100);
|
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 200);
|
||||||
// lancer
|
// lancer
|
||||||
curl_exec($ch);
|
curl_exec($ch);
|
||||||
// fermer
|
// fermer
|
||||||
curl_close($ch);
|
curl_close($ch);
|
||||||
return $texte;
|
if (!$urgent)
|
||||||
|
return $texte;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$GLOBALS['visiteur_session'] = ''; # globale decrivant l'auteur
|
$GLOBALS['visiteur_session'] = array(); # globale decrivant l'auteur
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 3 actions sur les sessions, selon le type de l'argument:
|
* 3 actions sur les sessions, selon le type de l'argument:
|
||||||
|
@ -65,15 +65,25 @@ function inc_session_dist($auteur=false)
|
||||||
*/
|
*/
|
||||||
function supprimer_sessions($id_auteur, $toutes=true, $actives=true) {
|
function supprimer_sessions($id_auteur, $toutes=true, $actives=true) {
|
||||||
|
|
||||||
|
$nb_files = 0;
|
||||||
|
$nb_max_files = (defined('_MAX_NB_SESSIONS_OUVERTES')?_MAX_NB_SESSIONS_OUVERTES:1000);
|
||||||
spip_log("supprimer sessions auteur $id_auteur");
|
spip_log("supprimer sessions auteur $id_auteur");
|
||||||
if ($toutes OR $id_auteur!==$GLOBALS['visiteur_session']['id_auteur']) {
|
if ($toutes OR $id_auteur!==$GLOBALS['visiteur_session']['id_auteur']) {
|
||||||
if ($dir = opendir(_DIR_SESSIONS)){
|
if ($dir = opendir(_DIR_SESSIONS)){
|
||||||
$t = time() - (4*_RENOUVELLE_ALEA);
|
$t = $_SERVER['REQUEST_TIME'] - (4*_RENOUVELLE_ALEA); // 48h par defaut
|
||||||
|
$t_short = $_SERVER['REQUEST_TIME'] - max(_RENOUVELLE_ALEA/4,3*3600); // 3h par defaut
|
||||||
while(($f = readdir($dir)) !== false) {
|
while(($f = readdir($dir)) !== false) {
|
||||||
|
$nb_files++;
|
||||||
if (preg_match(",^[^\d-]*(-?\d+)_\w{32}\.php[3]?$,", $f, $regs)){
|
if (preg_match(",^[^\d-]*(-?\d+)_\w{32}\.php[3]?$,", $f, $regs)){
|
||||||
$f = _DIR_SESSIONS . $f;
|
$f = _DIR_SESSIONS . $f;
|
||||||
if (($actives AND $regs[1] == $id_auteur) OR ($t > filemtime($f)))
|
if (($actives AND $regs[1] == $id_auteur) OR ($t > filemtime($f))){
|
||||||
spip_unlink($f);
|
spip_unlink($f);
|
||||||
|
}
|
||||||
|
// si il y a trop de sessions ouvertes, on purge les sessions anonymes de plus de 3H
|
||||||
|
// cd http://core.spip.org/issues/3276
|
||||||
|
elseif($nb_files>$nb_max_files AND !intval($regs[1]) AND ($t_short > filemtime($f))){
|
||||||
|
spip_unlink($f);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -102,12 +112,7 @@ function ajouter_session($auteur) {
|
||||||
// Attention un visiteur peut avoir une session et un id=0,
|
// Attention un visiteur peut avoir une session et un id=0,
|
||||||
// => ne pas melanger les sessions des differents visiteurs
|
// => ne pas melanger les sessions des differents visiteurs
|
||||||
$id_auteur = intval($auteur['id_auteur']);
|
$id_auteur = intval($auteur['id_auteur']);
|
||||||
if (!isset($_COOKIE['spip_session'])
|
|
||||||
OR !preg_match(',^'.$id_auteur.'_,', $_COOKIE['spip_session']))
|
|
||||||
$_COOKIE['spip_session'] = $id_auteur.'_'.md5(uniqid(rand(),true));
|
|
||||||
|
|
||||||
$fichier_session = fichier_session('alea_ephemere');
|
|
||||||
|
|
||||||
// Si ce n'est pas un inscrit (les inscrits ont toujours des choses en session)
|
// Si ce n'est pas un inscrit (les inscrits ont toujours des choses en session)
|
||||||
// on va vérifier s'il y a vraiment des choses à écrire
|
// on va vérifier s'il y a vraiment des choses à écrire
|
||||||
if (!$id_auteur){
|
if (!$id_auteur){
|
||||||
|
@ -124,14 +129,28 @@ function ajouter_session($auteur) {
|
||||||
unset($auteur_verif[$variable]);
|
unset($auteur_verif[$variable]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Si après ça la session est vide et qu'on a pas de cookie session, on arrete
|
||||||
// Si après ça la session est vide alors on supprime l'éventuel fichier et on arrête là
|
if (!$auteur_verif AND !isset($_COOKIE['spip_session'])){
|
||||||
if (!$auteur_verif){
|
|
||||||
if (@file_exists($fichier_session)) spip_unlink($fichier_session);
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!isset($_COOKIE['spip_session'])
|
||||||
|
OR !preg_match(',^'.$id_auteur.'_,', $_COOKIE['spip_session'])){
|
||||||
|
$_COOKIE['spip_session'] = $id_auteur.'_'.md5(uniqid(rand(),true));
|
||||||
|
}
|
||||||
|
|
||||||
|
$fichier_session = fichier_session('alea_ephemere');
|
||||||
|
|
||||||
|
// Si la session est vide alors on supprime l'éventuel fichier et on arrête là
|
||||||
|
if (!$id_auteur AND !$auteur_verif){
|
||||||
|
if (@file_exists($fichier_session)) spip_unlink($fichier_session);
|
||||||
|
// unset le COOKIE de session
|
||||||
|
// car il est pris en compte dans spip_session() qui va croire a tort qu'on est pas un visiteur anonyme
|
||||||
|
unset($_COOKIE['spip_session']);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Maintenant on sait qu'on a des choses à écrire
|
// Maintenant on sait qu'on a des choses à écrire
|
||||||
// On s'assure d'avoir au moins ces valeurs
|
// On s'assure d'avoir au moins ces valeurs
|
||||||
$auteur['id_auteur'] = $id_auteur;
|
$auteur['id_auteur'] = $id_auteur;
|
||||||
|
@ -268,9 +287,17 @@ function session_get($nom) {
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function session_set($nom, $val=null) {
|
function session_set($nom, $val=null) {
|
||||||
// On ajoute la valeur dans la globale
|
|
||||||
$GLOBALS['visiteur_session'][$nom] = $val;
|
if (is_null($val)){
|
||||||
|
// rien a faire
|
||||||
|
if (!isset($GLOBALS['visiteur_session'][$nom])) return;
|
||||||
|
unset($GLOBALS['visiteur_session'][$nom]);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// On ajoute la valeur dans la globale
|
||||||
|
$GLOBALS['visiteur_session'][$nom] = $val;
|
||||||
|
}
|
||||||
|
|
||||||
ajouter_session($GLOBALS['visiteur_session']);
|
ajouter_session($GLOBALS['visiteur_session']);
|
||||||
actualiser_sessions($GLOBALS['visiteur_session']);
|
actualiser_sessions($GLOBALS['visiteur_session']);
|
||||||
}
|
}
|
||||||
|
|
|
@ -156,6 +156,7 @@ function typo($letexte, $echapper=true, $connect=null, $env=array()) {
|
||||||
if (is_null($connect)){
|
if (is_null($connect)){
|
||||||
$connect = '';
|
$connect = '';
|
||||||
$interdire_script = true;
|
$interdire_script = true;
|
||||||
|
$env['espace_prive'] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Echapper les codes <html> etc
|
// Echapper les codes <html> etc
|
||||||
|
@ -183,6 +184,12 @@ function typo($letexte, $echapper=true, $connect=null, $env=array()) {
|
||||||
if ($interdire_script)
|
if ($interdire_script)
|
||||||
$letexte = interdire_scripts($letexte);
|
$letexte = interdire_scripts($letexte);
|
||||||
|
|
||||||
|
// Dans l'espace prive on se mefie de tout contenu dangereux
|
||||||
|
// https://core.spip.net/issues/3371
|
||||||
|
if (isset($env['espace_prive']) AND $env['espace_prive']){
|
||||||
|
$letexte = echapper_html_suspect($letexte);
|
||||||
|
}
|
||||||
|
|
||||||
return $letexte;
|
return $letexte;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -75,12 +75,8 @@ function code_echappement($rempl, $source='', $no_transform=false, $mode=NULL) {
|
||||||
$return .= "<$mode class=\"base64$source\" title=\"$base64\"></$mode>";
|
$return .= "<$mode class=\"base64$source\" title=\"$base64\"></$mode>";
|
||||||
}
|
}
|
||||||
|
|
||||||
return $return
|
return $return;
|
||||||
. ((!$no_transform AND $mode == 'div')
|
|
||||||
? "\n\n"
|
|
||||||
: ''
|
|
||||||
);
|
|
||||||
;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -156,7 +152,7 @@ function traiter_echap_math_dist($regs) {
|
||||||
return $t;
|
return $t;
|
||||||
}
|
}
|
||||||
|
|
||||||
define('_PROTEGE_BLOCS', ',<(html|code|cadre|frame|script|math)(\s[^>]*)?>(.*)</\1>,UimsS');
|
define('_PROTEGE_BLOCS', ',<(html|code|cadre|frame|script)(\s[^>]*)?>(.*)</\1>,UimsS');
|
||||||
|
|
||||||
// - pour $source voir commentaire infra (echappe_retour)
|
// - pour $source voir commentaire infra (echappe_retour)
|
||||||
// - pour $no_transform voir le filtre post_autobr dans inc/filtres
|
// - pour $no_transform voir le filtre post_autobr dans inc/filtres
|
||||||
|
@ -385,15 +381,52 @@ function echapper_faux_tags($letexte){
|
||||||
$letexte = "";
|
$letexte = "";
|
||||||
while (count($textMatches)) {
|
while (count($textMatches)) {
|
||||||
// un texte a echapper
|
// un texte a echapper
|
||||||
$letexte .= str_replace(array("<"),array('<'),array_shift($textMatches));
|
$letexte .= str_replace("<",'<',array_shift($textMatches));
|
||||||
// un tag html qui a servit a faite le split
|
// un tag html qui a servit a faite le split
|
||||||
$letexte .= array_shift($textMatches);
|
$letexte .= array_shift($textMatches);
|
||||||
}
|
}
|
||||||
return $letexte;
|
return $letexte;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Securite : utiliser SafeHTML s'il est present dans ecrire/safehtml/
|
/**
|
||||||
// http://doc.spip.org/@safehtml
|
* Si le html contenu dans un texte ne passe pas sans transformation a travers safehtml
|
||||||
|
* on l'echappe
|
||||||
|
* si safehtml ne renvoie pas la meme chose on echappe les < en < pour montrer le contenu brut
|
||||||
|
*
|
||||||
|
* @param string $texte
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function echapper_html_suspect($texte){
|
||||||
|
if (strpos($texte,'<')===false OR strpos($texte,'=')===false)
|
||||||
|
return $texte;
|
||||||
|
|
||||||
|
// on teste sur strlen car safehtml supprime le contenu dangereux
|
||||||
|
// mais il peut aussi changer des ' en " sur les attributs html,
|
||||||
|
// donc un test d'egalite est trop strict
|
||||||
|
if (strlen(safehtml($texte))!==strlen($texte)){
|
||||||
|
$texte = str_replace("<","<",$texte);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $texte;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sécurise un texte HTML
|
||||||
|
*
|
||||||
|
* Échappe le code PHP et JS.
|
||||||
|
* Applique en plus safehtml si un plugin le définit dans inc/safehtml.php
|
||||||
|
*
|
||||||
|
* Permet de protéger les textes issus d'une origine douteuse (forums, syndications...)
|
||||||
|
*
|
||||||
|
* @filtre
|
||||||
|
* @link http://www.spip.net/4310
|
||||||
|
*
|
||||||
|
* @param string $t
|
||||||
|
* Texte à sécuriser
|
||||||
|
* @return string
|
||||||
|
* Texte sécurisé
|
||||||
|
**/
|
||||||
function safehtml($t) {
|
function safehtml($t) {
|
||||||
static $safehtml;
|
static $safehtml;
|
||||||
|
|
||||||
|
|
|
@ -140,9 +140,13 @@ function inc_traduire_dist($ori, $lang) {
|
||||||
if (empty($GLOBALS[$var])) {
|
if (empty($GLOBALS[$var])) {
|
||||||
charger_langue($lang, $module);
|
charger_langue($lang, $module);
|
||||||
|
|
||||||
// surcharge perso -- on cherche (lang/)local_xx.php ...
|
// surcharge perso
|
||||||
if (!isset($local['local_'.$lang]))
|
// -- on cherche (lang/)local_xx.php ...
|
||||||
|
if (!isset($local['local_'.$lang])) {
|
||||||
|
// redéfinir la langue en cours pour les surcharges (chercher_langue a pu le changer)
|
||||||
|
$GLOBALS['idx_lang']= $var;
|
||||||
$local['local_'.$lang] = chercher_module_lang('local', $lang);
|
$local['local_'.$lang] = chercher_module_lang('local', $lang);
|
||||||
|
}
|
||||||
if ($local['local_'.$lang])
|
if ($local['local_'.$lang])
|
||||||
surcharger_langue($local['local_'.$lang]);
|
surcharger_langue($local['local_'.$lang]);
|
||||||
// ... puis (lang/)local.php
|
// ... puis (lang/)local.php
|
||||||
|
|
|
@ -165,7 +165,7 @@ function nettoyer_url_page($url, $contexte=array())
|
||||||
$url_objets = urls_liste_objets();
|
$url_objets = urls_liste_objets();
|
||||||
$raccourci_url_page_html = ',^(?:[^?]*/)?('. $url_objets . ')([0-9]+)(?:\.html)?([?&].*)?$,';
|
$raccourci_url_page_html = ',^(?:[^?]*/)?('. $url_objets . ')([0-9]+)(?:\.html)?([?&].*)?$,';
|
||||||
$raccourci_url_page_id = ',^(?:[^?]*/)?('. $url_objets .')\.php3?[?]id_\1=([0-9]+)([?&].*)?$,';
|
$raccourci_url_page_id = ',^(?:[^?]*/)?('. $url_objets .')\.php3?[?]id_\1=([0-9]+)([?&].*)?$,';
|
||||||
$raccourci_url_page_spip = ',^(?:[^?]*/)?(?:spip[.]php)?[?]('. $url_objets .')([0-9]+)(&.*)?$,';
|
$raccourci_url_page_spip = ',^(?:[^?]*/)?(?:spip[.]php)?[?]('. $url_objets .')([0-9]+)=?(&.*)?$,';
|
||||||
|
|
||||||
if (preg_match($raccourci_url_page_html, $url, $regs)
|
if (preg_match($raccourci_url_page_html, $url, $regs)
|
||||||
OR preg_match($raccourci_url_page_id, $url, $regs)
|
OR preg_match($raccourci_url_page_id, $url, $regs)
|
||||||
|
|
|
@ -745,7 +745,7 @@ function queue_sleep_time_to_next_job($force=null) {
|
||||||
return null;
|
return null;
|
||||||
if (!$_SERVER['REQUEST_TIME'])
|
if (!$_SERVER['REQUEST_TIME'])
|
||||||
$_SERVER['REQUEST_TIME'] = time();
|
$_SERVER['REQUEST_TIME'] = time();
|
||||||
return max(0,$queue_next_job_time-$_SERVER['REQUEST_TIME']);
|
return $queue_next_job_time-$_SERVER['REQUEST_TIME'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -969,8 +969,11 @@ function find_in_path ($file, $dirname='', $include=false) {
|
||||||
include_once _ROOT_CWD . $a;
|
include_once _ROOT_CWD . $a;
|
||||||
$inc[$dirname][$file] = $inc[''][$dirname . $file] = true;
|
$inc[$dirname][$file] = $inc[''][$dirname . $file] = true;
|
||||||
}
|
}
|
||||||
if (!defined('_SAUVER_CHEMIN'))
|
if (!defined('_SAUVER_CHEMIN')){
|
||||||
define('_SAUVER_CHEMIN',true);
|
// si le chemin n'a pas encore ete charge, ne pas lever le flag, ne pas cacher
|
||||||
|
if (is_null($GLOBALS['path_files'])) return $a;
|
||||||
|
define('_SAUVER_CHEMIN', true);
|
||||||
|
}
|
||||||
return $GLOBALS['path_files'][$GLOBALS['path_sig']][$dirname][$file] = $GLOBALS['path_files'][$GLOBALS['path_sig']][''][$dirname . $file] = $a;
|
return $GLOBALS['path_files'][$GLOBALS['path_sig']][$dirname][$file] = $GLOBALS['path_files'][$GLOBALS['path_sig']][''][$dirname . $file] = $a;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -988,8 +991,11 @@ function find_in_path ($file, $dirname='', $include=false) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!defined('_SAUVER_CHEMIN'))
|
if (!defined('_SAUVER_CHEMIN')){
|
||||||
define('_SAUVER_CHEMIN',true);
|
// si le chemin n'a pas encore ete charge, ne pas lever le flag, ne pas cacher
|
||||||
|
if (is_null($GLOBALS['path_files'])) return false;
|
||||||
|
define('_SAUVER_CHEMIN', true);
|
||||||
|
}
|
||||||
return $GLOBALS['path_files'][$GLOBALS['path_sig']][$dirname][$file] = $GLOBALS['path_files'][$GLOBALS['path_sig']][''][$dirname . $file] = false;
|
return $GLOBALS['path_files'][$GLOBALS['path_sig']][$dirname][$file] = $GLOBALS['path_files'][$GLOBALS['path_sig']][''][$dirname . $file] = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1873,6 +1879,7 @@ function init_var_mode(){
|
||||||
if (!defined('_VAR_MODE')) define('_VAR_MODE',$_GET['var_mode']);
|
if (!defined('_VAR_MODE')) define('_VAR_MODE',$_GET['var_mode']);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if (isset($GLOBALS['visiteur_session']['nom']))
|
||||||
spip_log($GLOBALS['visiteur_session']['nom']
|
spip_log($GLOBALS['visiteur_session']['nom']
|
||||||
. " "._VAR_MODE);
|
. " "._VAR_MODE);
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,15 +84,19 @@ AND @file_exists($f = _ROOT_RACINE . _NOM_PERMANENTS_INACCESSIBLES . 'ecran_secu
|
||||||
include $f;
|
include $f;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* detecteur de robot d'indexation
|
* Détecteur de robot d'indexation
|
||||||
* utilise en divers endroits, centralise ici si l'ecran l'a pas deja fait
|
|
||||||
*/
|
*/
|
||||||
if (!defined('_IS_BOT'))
|
if (!defined('_IS_BOT')){
|
||||||
define('_IS_BOT',
|
define('_IS_BOT',
|
||||||
isset($_SERVER['HTTP_USER_AGENT'])
|
isset($_SERVER['HTTP_USER_AGENT'])
|
||||||
AND preg_match(',bot|slurp|crawler|spider|webvac|yandex|INA dlweb|EC2LinkFinder|80legs,i',
|
AND preg_match(
|
||||||
$_SERVER['HTTP_USER_AGENT'])
|
// mots generiques
|
||||||
|
',bot|slurp|crawler|spider|webvac|yandex|'
|
||||||
|
// UA plus cibles
|
||||||
|
. '80legs|accoona|AltaVista|ASPSeek|Baidu|Charlotte|EC2LinkFinder|eStyle|Google|Genieo|INA dlweb|InfegyAtlas|Java VM|LiteFinder|Lycos|Rambler|Scooter|ScrubbyBloglines|Yahoo|Yeti'
|
||||||
|
. ',i', (string)$_SERVER['HTTP_USER_AGENT'])
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// *** Parametrage par defaut de SPIP ***
|
// *** Parametrage par defaut de SPIP ***
|
||||||
|
@ -290,7 +294,7 @@ $liste_des_authentifications = array(
|
||||||
// pour specifier les versions de SPIP necessaires
|
// pour specifier les versions de SPIP necessaires
|
||||||
// il faut s'en tenir a un nombre de decimales fixe
|
// il faut s'en tenir a un nombre de decimales fixe
|
||||||
// ex : 2.0.0, 2.0.0-dev, 2.0.0-beta, 2.0.0-beta2
|
// ex : 2.0.0, 2.0.0-dev, 2.0.0-beta, 2.0.0-beta2
|
||||||
$spip_version_branche = "3.0.17";
|
$spip_version_branche = "3.0.21";
|
||||||
// version des signatures de fonctions PHP
|
// version des signatures de fonctions PHP
|
||||||
// (= numero SVN de leur derniere modif cassant la compatibilite et/ou necessitant un recalcul des squelettes)
|
// (= numero SVN de leur derniere modif cassant la compatibilite et/ou necessitant un recalcul des squelettes)
|
||||||
$spip_version_code = 17873;
|
$spip_version_code = 17873;
|
||||||
|
|
|
@ -411,7 +411,7 @@ class IterateurDATA implements Iterator {
|
||||||
$a = '.sprintf($tv,'$aa').';
|
$a = '.sprintf($tv,'$aa').';
|
||||||
$b = '.sprintf($tv,'$bb').';
|
$b = '.sprintf($tv,'$bb').';
|
||||||
if ($a <> $b)
|
if ($a <> $b)
|
||||||
return ($a ' . ($r[2] ? '>' : '<').' $b) ? -1 : 1;';
|
return ($a ' . ((isset($r[2]) and $r[2]) ? '>' : '<').' $b) ? -1 : 1;';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -518,7 +518,25 @@ function inc_plugins_to_array_dist() {
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
function inc_xml_to_array_dist($u) {
|
function inc_xml_to_array_dist($u) {
|
||||||
return @ObjectToArray(new SimpleXmlIterator($u));
|
return @XMLObjectToArray(new SimpleXmlIterator($u));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* object -> tableau
|
||||||
|
*
|
||||||
|
* @param object $object The object to convert
|
||||||
|
* @return array
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
function inc_object_to_array( $object ) {
|
||||||
|
if( !is_object( $object ) && !is_array( $object ) ) {
|
||||||
|
return $object;
|
||||||
|
}
|
||||||
|
if( is_object( $object ) ) {
|
||||||
|
$object = get_object_vars( $object );
|
||||||
|
}
|
||||||
|
return array_map( 'inc_object_to_array', $object );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -535,7 +553,7 @@ function inc_yql_to_array_dist($u) {
|
||||||
throw new Exception('YQL: réponse vide ou mal formée');
|
throw new Exception('YQL: réponse vide ou mal formée');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return (array) $w;
|
return inc_object_to_array($w);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -679,7 +697,7 @@ function inc_ls_to_array_dist($u) {
|
||||||
* @param Object $object
|
* @param Object $object
|
||||||
* @return array|bool
|
* @return array|bool
|
||||||
*/
|
*/
|
||||||
function ObjectToArray($object){
|
function XMLObjectToArray($object){
|
||||||
$xml_array = array();
|
$xml_array = array();
|
||||||
for( $object->rewind(); $object->valid(); $object->next() ) {
|
for( $object->rewind(); $object->valid(); $object->next() ) {
|
||||||
if(array_key_exists($key = $object->key(), $xml_array)){
|
if(array_key_exists($key = $object->key(), $xml_array)){
|
||||||
|
@ -690,7 +708,7 @@ function ObjectToArray($object){
|
||||||
foreach($vars['@attributes'] as $k => $v)
|
foreach($vars['@attributes'] as $k => $v)
|
||||||
$xml_array[$key][$k] = $v;
|
$xml_array[$key][$k] = $v;
|
||||||
if($object->hasChildren()){
|
if($object->hasChildren()){
|
||||||
$xml_array[$key][] = ObjectToArray(
|
$xml_array[$key][] = XMLObjectToArray(
|
||||||
$object->current());
|
$object->current());
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
|
|
@ -726,6 +726,7 @@ dans une couleur qui indique leur état :',
|
||||||
|
|
||||||
// N
|
// N
|
||||||
'nouvelle_version_spip' => 'La version @version@ de SPIP est disponible',
|
'nouvelle_version_spip' => 'La version @version@ de SPIP est disponible',
|
||||||
|
'nouvelle_version_spip_majeure' => 'Une nouvelle version majeure @version@ est disponible',
|
||||||
|
|
||||||
// O
|
// O
|
||||||
'onglet_contenu' => 'Contenu',
|
'onglet_contenu' => 'Contenu',
|
||||||
|
|
895
sources/ecrire/lang/ecrire_oc_ni_mis.php
Normal file
895
sources/ecrire/lang/ecrire_oc_ni_mis.php
Normal file
|
@ -0,0 +1,895 @@
|
||||||
|
<?php
|
||||||
|
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
|
||||||
|
// extrait automatiquement de http://trad.spip.net/tradlang_module/ecrire_?lang_cible=oc_ni_mis
|
||||||
|
// ** ne pas modifier le fichier **
|
||||||
|
|
||||||
|
if (!defined('_ECRIRE_INC_VERSION')) return;
|
||||||
|
|
||||||
|
$GLOBALS[$GLOBALS['idx_lang']] = array(
|
||||||
|
|
||||||
|
// A
|
||||||
|
'activer_plugin' => 'Ativà lou plugin',
|
||||||
|
'affichage' => 'Afichage',
|
||||||
|
'aide_non_disponible' => 'Aquela partida de l’ajuda en ligna es pas encara dispounibla per aquela lenga.',
|
||||||
|
'annuler_recherche' => 'Anulà la recerca',
|
||||||
|
'auteur' => 'Autour :',
|
||||||
|
'avis_acces_interdit' => 'Achès prouhibit.',
|
||||||
|
'avis_article_modifie' => 'Mèfi, @nom_auteur_modif@ a travalhat soubre aquel article @date_diff@ minuta fa',
|
||||||
|
'avis_aucun_resultat' => 'Mìnga resultat.',
|
||||||
|
'avis_base_inaccessible' => 'Empoussible de si counetà a la basa de dounada @base@.',
|
||||||
|
'avis_chemin_invalide_1' => 'Lou camin qu’avès chausit',
|
||||||
|
'avis_chemin_invalide_2' => 'noun sembla vàlidou. Vourguès tournà a la pàgina prechedenta e verificà li informacioun prouvedi.',
|
||||||
|
'avis_connexion_echec_1' => 'La counessioun a la basa de dounada a souhit.',
|
||||||
|
'avis_connexion_echec_2' => 'Tournàs à la pàgina anterioura, e verificàs li informacioun qu’avès prouvedi.',
|
||||||
|
'avis_connexion_echec_3' => '<b>N.B.</b> Soubre touplen de servidou, devès <b>demandà</b> l’ativacioun dóu vouòstre achès a la basa de dounada denant de la poudé utilisà. Se noun vi poudès counetà, verificàs qu’avès ben realisat aquela demarcha.',
|
||||||
|
'avis_connexion_erreur_creer_base' => 'La basa de dounada a pas pouscut estre creada.',
|
||||||
|
'avis_connexion_erreur_nom_base' => 'Lou noum de la basa de dounada pòu countenì que dei letra, dei chifra o dei ligneta',
|
||||||
|
'avis_connexion_ldap_echec_1' => 'La counessioun au servidou LDAP a souhit.',
|
||||||
|
'avis_connexion_ldap_echec_2' => 'Tournàs a la pàgina prechedenta, e verificàs li infourmacioun qu’avès prouvedi. ',
|
||||||
|
'avis_connexion_ldap_echec_3' => 'D’un biais alternatiéu, noun utilisàs lou supouart LDAP per impourtà d’utilisaire.',
|
||||||
|
'avis_deplacement_rubrique' => 'Mèfi ! Aquela rùbrica counten @contient_breves@ brèva @scb@ : se la desplaçàs, vourguès ben entacà aquela casa de counfirmacioun.',
|
||||||
|
'avis_erreur_connexion_mysql' => 'Errour de counessioun SQL',
|
||||||
|
'avis_espace_interdit' => '<b>Espaci prouhibit</b><div>SPIP es ja instalat.</div>',
|
||||||
|
'avis_lecture_noms_bases_1' => 'Lou prougrama d’instalacioun a pas pouscut legì lu noum dei basa de dounada instaladi.',
|
||||||
|
'avis_lecture_noms_bases_2' => 'Sìa minga de basa es dispounibla, sìa la founcioun que permete de listà li basa es estada desativada
|
||||||
|
per de rasoun de segurtà (cen qu’es lou cas de plusiur aubergadour).',
|
||||||
|
'avis_lecture_noms_bases_3' => 'En la segounda alternativa, es proubable qu’una basa que pouòrta lou vouòstre noum de counessioun sigue utilisabla :',
|
||||||
|
'avis_non_acces_page' => 'Noun avès achès en aquela pàgina.',
|
||||||
|
'avis_operation_echec' => 'L’ouperacioun a souhit.',
|
||||||
|
'avis_operation_impossible' => 'Ouperacioun empoussibla',
|
||||||
|
'avis_suppression_base' => 'MÈFI, la supressioun dei dounada es irreversibla',
|
||||||
|
|
||||||
|
// B
|
||||||
|
'bouton_acces_ldap' => 'Ajustà l’achès a LDAP',
|
||||||
|
'bouton_ajouter' => 'Ajustà',
|
||||||
|
'bouton_annuler' => 'Anulà',
|
||||||
|
'bouton_cache_activer' => 'Reativà l’amagadou',
|
||||||
|
'bouton_cache_desactiver' => 'Desativà tempourariamen l’amagadou',
|
||||||
|
'bouton_demande_publication' => 'Demandà la publicacioun d’aquel article',
|
||||||
|
'bouton_desactive_tout' => 'Desativà tout',
|
||||||
|
'bouton_desinstaller' => 'Desinstalà',
|
||||||
|
'bouton_effacer_tout' => 'Escassà TOUT',
|
||||||
|
'bouton_envoyer_message' => 'Message definitiéu : mandà',
|
||||||
|
'bouton_fermer' => 'Fermà',
|
||||||
|
'bouton_mettre_a_jour_base' => 'Metre a jou la basa de dounada',
|
||||||
|
'bouton_modifier' => 'Moudificà',
|
||||||
|
'bouton_radio_afficher' => 'Afichà',
|
||||||
|
'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Aparèisse en la lista dei redatour counectat',
|
||||||
|
'bouton_radio_envoi_annonces_adresse' => 'Mandà li anounça à l’adressa :',
|
||||||
|
'bouton_radio_envoi_liste_nouveautes' => 'Mandà la lista dei nouvità',
|
||||||
|
'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Noun aparèisse en la lista dei redatour',
|
||||||
|
'bouton_radio_non_envoi_annonces_editoriales' => 'Noun mandà d’anounça editouriali',
|
||||||
|
'bouton_redirection' => 'REDIRECIOUN',
|
||||||
|
'bouton_relancer_installation' => 'Relançà l’instalacioun',
|
||||||
|
'bouton_suivant' => 'Seguent',
|
||||||
|
'bouton_tenter_recuperation' => 'Prouvà una recuperacioun',
|
||||||
|
'bouton_test_proxy' => 'Prouvà lou proxy',
|
||||||
|
'bouton_vider_cache' => 'Vuà l’amagadou',
|
||||||
|
|
||||||
|
// C
|
||||||
|
'cache_modifiable_webmestre' => 'Lou webmestre dóu sit pòu modificà aquèu paramètre.',
|
||||||
|
'calendrier_synchro' => 'S’utilisàs un lougiciau d’agènda coumpatible embé <b>iCal</b>, lou poudès sincronisà embé li informacioun d’estou sit.',
|
||||||
|
'config_activer_champs' => 'Ativà lu camp segoun',
|
||||||
|
'config_choix_base_sup' => 'endicà una basa soubre aquestou servidou',
|
||||||
|
'config_erreur_base_sup' => 'SPIP a pas achès à la lista dei basa achessibli',
|
||||||
|
'config_info_base_sup' => 'Se avès d’autri basa de dounada da interrougà pèr SPIP, embé lou siéu servidou SQL o embé un autre, lou fourmulari aquì souta, vi permete de li declarà. Se laissàs d’uni camp vuèi, lu identificant de counessioun a la basa principala seran utilisat.',
|
||||||
|
'config_info_base_sup_disponibles' => 'Basa suplementari jà interogable :',
|
||||||
|
'config_info_enregistree' => 'La counfiguracioun nouvela es estada registrada',
|
||||||
|
'config_info_logos' => 'Cada elemen dóu site pòu avé un logou, e un « logou de survol »',
|
||||||
|
'config_info_logos_utiliser' => 'Utilisà lu logo',
|
||||||
|
'config_info_logos_utiliser_non' => 'Noun utilisà lu logo',
|
||||||
|
'config_info_logos_utiliser_survol' => 'Utilisà lu logo de survol',
|
||||||
|
'config_info_logos_utiliser_survol_non' => 'Noun utilisà lu logo de survol',
|
||||||
|
'config_info_redirection' => 'En ativant aquela oupcioun, poudès creà dei article virtual, simple referença d’article publicat soubre d’autre sit o fouòra de SPIP.',
|
||||||
|
'config_redirection' => 'Article virtual',
|
||||||
|
'config_titre_base_sup' => 'Declaracioun d’una basa suplementari',
|
||||||
|
'config_titre_base_sup_choix' => 'Chausissès una basa suplementari',
|
||||||
|
'connexion_ldap' => 'Counessioun :',
|
||||||
|
'creer_et_associer_un_auteur' => 'Creà et assoucià un autour',
|
||||||
|
|
||||||
|
// D
|
||||||
|
'date_mot_heures' => 'oura',
|
||||||
|
|
||||||
|
// E
|
||||||
|
'ecran_securite' => ' + ecran de segurtà @version@',
|
||||||
|
'email' => 'e-mail',
|
||||||
|
'email_2' => 'e-mail:',
|
||||||
|
'en_savoir_plus' => 'N’en saupre de mai',
|
||||||
|
'entree_adresse_annuaire' => 'Adressa de l’anuari',
|
||||||
|
'entree_adresse_email' => 'La vouòstra adressa e-mail',
|
||||||
|
'entree_adresse_email_2' => 'Adressa e-mail',
|
||||||
|
'entree_base_donnee_1' => 'Adressa de la basa de dounada',
|
||||||
|
'entree_base_donnee_2' => '(Souventi fès, aquela adressa courrespouònde en aquela dóu vouòstre sit, de còu courrespouònde à la mencioun « localhost », d’autre còu, es laissada vuèia coumpletamen.)',
|
||||||
|
'entree_biographie' => 'Biougrafìa brèva, en quauque mot.',
|
||||||
|
'entree_chemin_acces' => '<b>Entrà</b> lou camin d’achès :',
|
||||||
|
'entree_cle_pgp' => 'La vouòstra clau PGP',
|
||||||
|
'entree_cle_pgp_2' => 'Clau PGP',
|
||||||
|
'entree_contenu_rubrique' => '(Countengut de la rùbrica en quauque mot.)',
|
||||||
|
'entree_identifiants_connexion' => 'Lu vouòstre identificant de counessioun...',
|
||||||
|
'entree_identifiants_connexion_2' => 'Identificant de counessioun',
|
||||||
|
'entree_informations_connexion_ldap' => 'Vourguès entrà en aqueu fourmulari li informacioun de counessioun au vouòstre anuari LDAD.
|
||||||
|
Aqueli informacioun vi devon poudé estre prouvedi per l’aministratour dóu sistema, o de la taragnina.',
|
||||||
|
'entree_infos_perso' => 'Qu sias ?',
|
||||||
|
'entree_infos_perso_2' => 'Qu es l’autour ?',
|
||||||
|
'entree_interieur_rubrique' => 'Dintre la rùbrica:',
|
||||||
|
'entree_liens_sites' => '<b>Estac ipertèst</b> (referença, sit da visità...)',
|
||||||
|
'entree_login' => 'Lou vouòstre login',
|
||||||
|
'entree_login_connexion_1' => 'Lou login de counecioun',
|
||||||
|
'entree_login_connexion_2' => '(Courrespouònde de còu au vouòstre login d’accès FTP; de còu laissat vuèi)',
|
||||||
|
'entree_mot_passe' => 'Lou vouòstre mot de passa',
|
||||||
|
'entree_mot_passe_1' => 'Lou mot de passa de counecioun',
|
||||||
|
'entree_mot_passe_2' => '(Courrespouònde de còu au vouòstre mot de passa per lou FTP; de còu es laissat vuèi)',
|
||||||
|
'entree_nom_fichier' => 'Vourguès entrà lou noum dóu fichié @texte_compresse@:',
|
||||||
|
'entree_nom_pseudo' => 'Lou vouòstre noum o lou vouòstre pseudounime',
|
||||||
|
'entree_nom_pseudo_1' => '(Lou vouòstre noum o lou vouòstre pseudounime)',
|
||||||
|
'entree_nom_pseudo_2' => 'Noum o pseudounime',
|
||||||
|
'entree_nom_site' => 'Lou noum dóu vouòstre sit',
|
||||||
|
'entree_nom_site_2' => 'Noum dóu sit de l’autour',
|
||||||
|
'entree_nouveau_passe' => 'Mot de passa novèu',
|
||||||
|
'entree_passe_ldap' => 'Mot de passa',
|
||||||
|
'entree_port_annuaire' => 'Lou numerò de pouòrt de l’anuari',
|
||||||
|
'entree_signature' => 'Firma',
|
||||||
|
'entree_titre_obligatoire' => '<b>Titre</b> [Oubligatori]<br />',
|
||||||
|
'entree_url' => 'L’adressa (URL) dóu vouòstre sit',
|
||||||
|
'entree_url_2' => 'Adressa (URL) dóu sit',
|
||||||
|
'erreur_connect_deja_existant' => 'Un servidou esista jà embé aqueu noum',
|
||||||
|
'erreur_email_deja_existant' => 'Aquela adressa e-mail es jà registrada.',
|
||||||
|
'erreur_nom_connect_incorrect' => 'Aqueu noum de servidou noun es autourisat',
|
||||||
|
'erreur_plugin_attribut_balise_manquant' => 'Atribut @attribut@ mancant en la balisa @balise@.',
|
||||||
|
'erreur_plugin_desinstalation_echouee' => 'La desinstalacioun dóu plugin a souhit. Mà poudès lou desativà.',
|
||||||
|
'erreur_plugin_fichier_absent' => 'Fichié assent',
|
||||||
|
'erreur_plugin_fichier_def_absent' => 'Fichié de definicioun assent',
|
||||||
|
'erreur_plugin_nom_fonction_interdit' => 'Noum de founcioun prouhibit',
|
||||||
|
'erreur_plugin_nom_manquant' => 'Noum dóu plugin mancant',
|
||||||
|
'erreur_plugin_prefix_manquant' => 'Espaci de noumage dóu plugin noun definit',
|
||||||
|
'erreur_plugin_tag_plugin_absent' => '<plugin> assent dóu fichié de definicioun',
|
||||||
|
'erreur_plugin_version_manquant' => 'Mìnga versioun dóu plugin',
|
||||||
|
|
||||||
|
// H
|
||||||
|
'htaccess_a_simuler' => 'Avertissamen : la counfiguracioun dóu vouòstre servidou HTTP noun ten rasoun dei fichié @htaccess@. Per poudé assegurà una bouòna segurtà, vi cóu moudificà aquela counfiguracioun soubre aqueu pounch, o que li coustanta @constantes@ (definissable en lou fichié mes_options.php) aiguon dei repertori en defouòra de @document_root@ per valour.',
|
||||||
|
'htaccess_inoperant' => 'htaccess inouperant',
|
||||||
|
|
||||||
|
// I
|
||||||
|
'ical_info1' => 'Esta pàgina presenta de metoda diferenti da restà en countat embé la vida d’estou sit.',
|
||||||
|
'ical_info2' => 'Per avé mai d’informacioun soubre aqueli tècnica, noun esitàs de counsultà <a href="@spipnet@">la doucumentacioun de SPIP</a>.',
|
||||||
|
'ical_info_calendrier' => 'Li a doui calendari a la vouòstra dispousicioun. Lou premié es un plan dóu sit qu’anounça toui lu article publicat. Lou segount counten li anounça editoriali en mai dei vouòstre darrié message privat : v’es reservat graça a una clau persounala, que la poudès moudificà a cada moumen en renouvelant lou vouòstre mot de passa.',
|
||||||
|
'ical_methode_http' => 'Telecargamen',
|
||||||
|
'ical_methode_webcal' => 'Sincronisacioun (webcal://)',
|
||||||
|
'ical_texte_js' => 'Una ligna de javascript vi permete d’afichà simplamen, soubre toui lu vouòstre sit, lu article rechentamen publicat soubre estou sit. ',
|
||||||
|
'ical_texte_prive' => 'Estou calendari, d’usage estrech personal, v’infourma de l’atività editoriala privada d’estou sit (taca e apountamen persounal, article e brèva proupausat...).',
|
||||||
|
'ical_texte_public' => 'Estou calendari vi permete de sègre l’atività pùblica d’estou sit (article e brèva publicadi).',
|
||||||
|
'ical_texte_rss' => 'Poudès sindicà li nouvità d’estou sit en toui lu letour de fichié en format XML/RSS (Rich Site Summary). Es finda lou format que permete à SPIP de legì li nouvità publicadi soubre d’autre sit en utilisant un format d’escambi compatible (sit sindicat).',
|
||||||
|
'ical_titre_js' => 'Javascript',
|
||||||
|
'ical_titre_mailing' => 'Mailing-list',
|
||||||
|
'ical_titre_rss' => 'Fichié de sindicacioun',
|
||||||
|
'icone_accueil' => 'Acuèlh',
|
||||||
|
'icone_activer_cookie' => 'Ativà lou cookie de courrespoundença',
|
||||||
|
'icone_activite' => 'Atività',
|
||||||
|
'icone_admin_plugin' => 'Gestioun dei plugin',
|
||||||
|
'icone_administration' => 'Mantenença',
|
||||||
|
'icone_afficher_auteurs' => 'Afichà lu autour',
|
||||||
|
'icone_afficher_visiteurs' => 'Afichà lu visitaire',
|
||||||
|
'icone_arret_discussion' => 'Plus participà en aquela discussioun',
|
||||||
|
'icone_calendrier' => 'Calendari',
|
||||||
|
'icone_configuration' => 'Counfiguracioun',
|
||||||
|
'icone_creer_auteur' => 'Creà un nouvèl autour e l’assoucià en aquel article',
|
||||||
|
'icone_creer_mot_cle' => 'Creà un nouvèu mot clau e lou ligà en aquel article',
|
||||||
|
'icone_creer_rubrique_2' => 'Creà una novèla rùbrica',
|
||||||
|
'icone_developpement' => 'Desfouloupamen',
|
||||||
|
'icone_edition' => 'Edicioun',
|
||||||
|
'icone_ma_langue' => 'La mieu lenga',
|
||||||
|
'icone_mes_infos' => 'Li mieu infourmacioun',
|
||||||
|
'icone_mes_preferences' => 'Li mieu preferença',
|
||||||
|
'icone_modifier_article' => 'Moudificà aquel article',
|
||||||
|
'icone_modifier_rubrique' => 'Moudificà aquela rùbrica',
|
||||||
|
'icone_publication' => 'Publicacioun',
|
||||||
|
'icone_relancer_signataire' => 'Relançà lou signatari',
|
||||||
|
'icone_retour' => 'Retour',
|
||||||
|
'icone_retour_article' => 'Retour a l’article',
|
||||||
|
'icone_squelette' => 'Esquèletrou',
|
||||||
|
'icone_suivi_publication' => 'Segut de la publicacioun',
|
||||||
|
'icone_supprimer_cookie' => 'Suprimà lou cookie de courrespoundença',
|
||||||
|
'icone_supprimer_rubrique' => 'Suprimà aquela rùbrica',
|
||||||
|
'icone_supprimer_signature' => 'Suprimà aquela firma',
|
||||||
|
'icone_valider_signature' => 'Validà aquela firma',
|
||||||
|
'image_administrer_rubrique' => 'Poudès aministrà aquela rùbrica',
|
||||||
|
'info_1_article' => '1 article',
|
||||||
|
'info_1_auteur' => '1 autour',
|
||||||
|
'info_1_message' => '1 message',
|
||||||
|
'info_1_mot_cle' => '1 mot clau',
|
||||||
|
'info_1_rubrique' => '1 rùbrica',
|
||||||
|
'info_1_visiteur' => '1 visitour',
|
||||||
|
'info_activer_cookie' => 'Poudès ativà un <b>cookie de courrespoundença</b>; acò vi permeterà de passà facilamen dóu sit pùblicou au sit privat.',
|
||||||
|
'info_activer_menu_developpement' => 'Afichà lou menù Desfouloupamen',
|
||||||
|
'info_admin_etre_webmestre' => 'Mi dounà lu drech de webmestre',
|
||||||
|
'info_admin_gere_rubriques' => 'Aquel aministratour gèra li rùbrica seguenti:',
|
||||||
|
'info_admin_gere_toutes_rubriques' => 'Aquel aministratour gèra<b>touti li rùbrica</b>.',
|
||||||
|
'info_admin_gere_toutes_rubriques_2' => 'Gèri <b>touti li rùbrica</b>',
|
||||||
|
'info_admin_je_suis_webmestre' => 'Siéu <b>webmestre</b>',
|
||||||
|
'info_admin_statuer_webmestre' => 'Dounà en aquel aministratour lu drech de webmèstre',
|
||||||
|
'info_admin_webmestre' => 'Aquel aministratour es <b>webmestre</b>',
|
||||||
|
'info_administrateur' => 'Aministratour',
|
||||||
|
'info_administrateur_1' => 'Aministratour',
|
||||||
|
'info_administrateur_2' => 'dóu sit (<i>utilisàs embé precaucioun</i>)',
|
||||||
|
'info_administrateur_site_01' => 'Se siàs aministratour dóu sit, vourguès',
|
||||||
|
'info_administrateur_site_02' => 'clicà soubre aquel estac',
|
||||||
|
'info_administrateurs' => 'Aministratour',
|
||||||
|
'info_administrer_rubrique' => 'Poudès aministrà aquela rùbrica',
|
||||||
|
'info_adresse' => 'a l’adressa:',
|
||||||
|
'info_adresse_desinscription' => 'Adressa de desinscricioun',
|
||||||
|
'info_adresse_url' => 'Adressa (URL) dóu sit pùblicou',
|
||||||
|
'info_afficher_par_nb' => 'Afichà per',
|
||||||
|
'info_aide_en_ligne' => 'Ajuda en ligna SPIP',
|
||||||
|
'info_ajout_image' => 'Quoura ajustàs d’image couma doucumen jounch a un article,
|
||||||
|
SPIP pòu creà autoumaticamen, per vautre, de vigneta (miniatura) dei
|
||||||
|
image inseridi. Acò permet per isemple de creà
|
||||||
|
autoumaticamen una galarìa o un pouòrtafoliò.',
|
||||||
|
'info_ajouter_rubrique' => 'Ajustà un’autra rùbrica a aministrà:',
|
||||||
|
'info_annonce_nouveautes' => 'Anounça dei nouvità',
|
||||||
|
'info_article' => 'article',
|
||||||
|
'info_article_2' => 'article',
|
||||||
|
'info_article_a_paraitre' => 'Lu article post-datat per pareisse',
|
||||||
|
'info_articles_02' => 'article',
|
||||||
|
'info_articles_2' => 'Article',
|
||||||
|
'info_articles_auteur' => 'Lu article d’aquel autour',
|
||||||
|
'info_articles_miens' => 'Lu mieu article',
|
||||||
|
'info_articles_tous' => 'Toui lu article',
|
||||||
|
'info_articles_trouves' => 'Article troubat',
|
||||||
|
'info_attente_validation' => 'Lu vouòstre article en aspera de validacioun',
|
||||||
|
'info_aucun_article' => 'Mìnga article',
|
||||||
|
'info_aucun_auteur' => 'Mìnga autour',
|
||||||
|
'info_aucun_message' => 'Minga message',
|
||||||
|
'info_aucun_rubrique' => 'Mìnga rùbrica',
|
||||||
|
'info_aujourdhui' => 'Ancuei :',
|
||||||
|
'info_auteurs' => 'Lu autour',
|
||||||
|
'info_auteurs_par_tri' => 'autour@partri@',
|
||||||
|
'info_auteurs_trouves' => 'Autour troubat',
|
||||||
|
'info_authentification_externe' => 'Autentificacioun esterna',
|
||||||
|
'info_avertissement' => 'Avertissamen',
|
||||||
|
'info_barre_outils' => 'embé la siéu barra d’óutis ?',
|
||||||
|
'info_base_installee' => 'L’estrutura de la vouòstra basa de dounada es instalada.',
|
||||||
|
'info_bio' => 'Biougrafìa',
|
||||||
|
'info_cache_desactive' => 'L’amagadou es tempourariamen desativat.',
|
||||||
|
'info_chapeau' => 'Capèu',
|
||||||
|
'info_chapeau_2' => 'Capèu :',
|
||||||
|
'info_chemin_acces_1' => 'Oupcioun : <b>camin d’achès en l’anuari</b>',
|
||||||
|
'info_chemin_acces_2' => 'Devès ahura counfigurà lou camin d’accès ai infourmacioun en l’anuari. Aquela infourmacioun es necessari per legì lu proufiéu d’utilisaire amoulounat en l’anuari.',
|
||||||
|
'info_chemin_acces_annuaire' => 'Oupcioun: <b>camin d’accès en l’anuari</b>',
|
||||||
|
'info_choix_base' => 'Tèrsa tapa :',
|
||||||
|
'info_classement_1' => '<sup>é</sup> sus @liste@',
|
||||||
|
'info_classement_2' => '<sup>nt</sup> sus @liste@',
|
||||||
|
'info_code_acces' => 'Noun denembràs lu vouòtre code d’accès persounal!',
|
||||||
|
'info_compatibilite_html' => 'Nourma HTML da sègre',
|
||||||
|
'info_config_suivi' => 'S’aquela adressa courrespouònde a una mailing-list, poudès endicà aquì souta l’adressa que lu participant au sit si pouòdon inscriéure. Aquela adressa pòu estre una URL (per isemple la pàgina d’inscricioun a la lista per web), o una adressa e-mail embé un sujet especific (per isemple : <tt>@adresse_suivi@?subject=subscribe</tt>) :',
|
||||||
|
'info_config_suivi_explication' => 'Vi poudès abounà a la mailing-list d’estou sit. Receverès per courrié eletrounic li anounça dei article e brèva proupausat a la publicacioun.',
|
||||||
|
'info_confirmer_passe' => 'Counfirmà aqueu mot de passa nouvèu :',
|
||||||
|
'info_conflit_edition_avis_non_sauvegarde' => 'Mèfi, aquelu camp soun estat moudificat per quauqun. Vouòstri moudificacioun sus aquelu camp noun soun estadi registradi.',
|
||||||
|
'info_conflit_edition_differences' => 'Diferença :',
|
||||||
|
'info_conflit_edition_version_enregistree' => 'La versioun registrada :',
|
||||||
|
'info_conflit_edition_votre_version' => 'La vouòstra versioun :',
|
||||||
|
'info_connexion_base' => 'Prova de counessioun a la basa',
|
||||||
|
'info_connexion_base_donnee' => 'Counessioun a la vouòstra basa de dounada',
|
||||||
|
'info_connexion_ldap_ok' => '<b>La counessioun LDAP a reussit.</b><p> Poudès passà a la tapa seguenta.</p>',
|
||||||
|
'info_connexion_mysql' => 'La vouòstra counessioun SQL',
|
||||||
|
'info_connexion_ok' => 'La counessioun a reussit.',
|
||||||
|
'info_contact' => 'Countat',
|
||||||
|
'info_contenu_articles' => 'Countengut dei article',
|
||||||
|
'info_contributions' => 'Countribucioun',
|
||||||
|
'info_creation_paragraphe' => 'Per creà de paràgrafou, laissàs simplamen dei ligna vuèii.',
|
||||||
|
'info_creation_rubrique' => 'Denant de poudé escrieure d’article,<br /> devès creà au màncou una rùbrica.<br />',
|
||||||
|
'info_creation_tables' => 'Creacioun dei taula de la basa',
|
||||||
|
'info_creer_base' => '<b>Creà</b> una nouvela basa de dounada :',
|
||||||
|
'info_dans_rubrique' => 'En la rùbrica:',
|
||||||
|
'info_date_publication_anterieure' => 'Data anterioura de redacioun :',
|
||||||
|
'info_date_referencement' => 'DATA DE REFERENÇAMEN D’AQUEU SIT :',
|
||||||
|
'info_derniere_etape' => 'Es acabat !',
|
||||||
|
'info_descriptif' => 'Descritiéu :',
|
||||||
|
'info_desinstaller_plugin' => 'suprima li dounada e desativa lou plugin',
|
||||||
|
'info_discussion_cours' => 'Discussioun en cours',
|
||||||
|
'info_ecrire_article' => 'Denant de poudé escriéure d’article, devès au mancou creà una rùbrica.',
|
||||||
|
'info_email_envoi' => 'Adressa e-mail d’espedissioun (oupciounau)',
|
||||||
|
'info_email_envoi_txt' => 'Endicàs aquí l’adressa da utilisà per mandà lu e-mails (en mancança, s’utiliserà l’adressa destinatàri couma adressa d’espedissioun):',
|
||||||
|
'info_email_webmestre' => 'Adressa e-mail dau webmestre',
|
||||||
|
'info_envoi_email_automatique' => 'Espedissioun d’e-mails autoumatic',
|
||||||
|
'info_envoyer_maintenant' => 'Mandà ahura',
|
||||||
|
'info_etape_suivante' => 'Passà a la tapa seguenta',
|
||||||
|
'info_etape_suivante_1' => 'Poudès passà a la tapa seguenta.',
|
||||||
|
'info_etape_suivante_2' => 'Poudès passà a la tapa seguenta.',
|
||||||
|
'info_exceptions_proxy' => 'Ecepcioun per lou proxy',
|
||||||
|
'info_exportation_base' => 'Espourtacioun de la basa vers @archive@',
|
||||||
|
'info_facilite_suivi_activite' => 'Per fin de facilità lou segut de l’atività editouriala dóu sit, SPIP vi pòu fournì per e-mail, per isemple a una mailing-list dei redatour, l’anounça dei demanda de publicacioun e de validacioun d’article.',
|
||||||
|
'info_fichiers_authent' => 'Fichié d’autentificacioun « .htpasswd »',
|
||||||
|
'info_forums_abo_invites' => 'Lou vouòstre sit web counten de fòrou per lu abounat ; lu visitaire soun counvidat de si registrà sus lou sit public.',
|
||||||
|
'info_gauche_admin_tech' => '<b>Aquela pàgina es basta achessible ai respounsable dóu sit.</b><p> Douna achès ai diferenti founcioun de mantenença tecnica. D’uni d’entre eli implicoun un prouchedimen d’autentificacion especific, que
|
||||||
|
necessita d’avé un achès FTP au sit web.</p>',
|
||||||
|
'info_gauche_admin_vider' => '<b>Aquela pàgina es basta achessible ai respounsable dóu sit.</b><p> Douna achès ai diferenti founcioun de mantenença tecnica. D’uni d’entre eli implicoun un prouchedimen d’autentificacion especific, que necessita d’avé un achès FTP au sit web.</p>',
|
||||||
|
'info_gauche_auteurs' => 'Trouberès aquì toui lu autour dóu sit.
|
||||||
|
Lou sieu estatut es endicat per la coulou de la sieu icona (aministratour : verda; redatour : jauna).',
|
||||||
|
'info_gauche_auteurs_exterieurs' => 'Lu autour esteriour, sensa achès au sit, soun endicat per una icona blua ; lu autour escassat per una icona grìha.',
|
||||||
|
'info_gauche_messagerie' => 'La messagerìa vi permete d’escambià de message entre redatour, de counservà de nota de renembrança (per lou vouòstre usage persounal) o d’afichà d’anounça sus la pàgina d’acuèlh de l’espaci privat (se sias aministratour).',
|
||||||
|
'info_gauche_statistiques_referers' => 'Aquela pàgina presenta la lista dei <i>referit</i>, es a dire dei sit que countenon d’estac que menon drech au vouòstre sit, ma basta per ièr e ancuèi ; aquela lista es atualisada cada 24 oura.',
|
||||||
|
'info_gauche_visiteurs_enregistres' => 'Trouberès aquì lu visitour registrat en l’espaci public dóu sit (fòrou sus abounamen).',
|
||||||
|
'info_generation_miniatures_images' => 'Generacioun de miniatura dei image',
|
||||||
|
'info_gerer_trad_objets' => '@objets@ : gerà lu estac de traducioun',
|
||||||
|
'info_hebergeur_desactiver_envoi_email' => 'Lì soun d’aubergadour que desativon l’espedissioun autoumatica
|
||||||
|
d’e-mail dai sieu servidou. En aqueu cas, li founciounalità seguenti
|
||||||
|
de SPIP noun founciouneràn.',
|
||||||
|
'info_hier' => 'ièr :',
|
||||||
|
'info_identification_publique' => 'La vouòstra identitat publica...',
|
||||||
|
'info_image_process' => 'Vourguès seleciounà lou milhour mètodou de fabricacioun dei vigneta en clicant sus l’image courrespoundenta.',
|
||||||
|
'info_image_process2' => 'Se minga d’image parèisse, aloura lou servidou qu’auberga lou vouòstre sit noun es estat configurat per utilisà aquelu óutis. Se vourguès utilisà aqueli founcioun, contactàs lou respounsable tecnic e demandàs li estensioun « GD » o « Imagick ».',
|
||||||
|
'info_images_auto' => 'Image carculadi autoumaticamen',
|
||||||
|
'info_informations_personnelles' => 'Infourmacioun persounali',
|
||||||
|
'info_inscription' => 'Inscricioun lou',
|
||||||
|
'info_inscription_automatique' => 'Inscricioun autoumatica de redatour novèu',
|
||||||
|
'info_jeu_caractere' => 'Juèc de caratère dóu sit',
|
||||||
|
'info_jours' => 'jou',
|
||||||
|
'info_laisser_champs_vides' => 'laissà lu camp vuèi)',
|
||||||
|
'info_langues' => 'Lenga dóu sit',
|
||||||
|
'info_ldap_ok' => 'L’autentificacioun LDAP es instalada.',
|
||||||
|
'info_lien_hypertexte' => 'Estac ipertèst :',
|
||||||
|
'info_liste_nouveautes_envoyee' => 'La lista dei nouvità a estat mandada',
|
||||||
|
'info_liste_redacteurs_connectes' => 'Lista dei redatour counectat',
|
||||||
|
'info_login_existant' => 'Aqueu login jà esista.',
|
||||||
|
'info_login_trop_court' => 'Login tròu court.',
|
||||||
|
'info_login_trop_court_car_pluriel' => 'Le login déu countenì au mens @nb@ caratère.',
|
||||||
|
'info_logos' => 'Lu logou',
|
||||||
|
'info_maximum' => 'massimoum :',
|
||||||
|
'info_meme_rubrique' => 'En la mema rùbrica',
|
||||||
|
'info_message_en_redaction' => 'Lu vouòstre message en cours de redacioun',
|
||||||
|
'info_message_technique' => 'Message tècnicou :',
|
||||||
|
'info_messagerie_interne' => 'Messagerìa interna',
|
||||||
|
'info_mise_a_niveau_base' => 'Metuda à nivèu de la vouòstra basa SQL',
|
||||||
|
'info_mise_a_niveau_base_2' => '{{Mèfi!}} Avès instalat una versioun de fichié SPIP {anterioura} en aquela que si troubava avant soubre estou sit : la vouòstra basa de dounada risca d’estre perduda e lou vouòstre sit noun founciounerà plus.<br />{{Reinstalà lu fichié de SPIP.}}',
|
||||||
|
'info_modification_enregistree' => 'La vouòtra moudificacioun a estat registrada',
|
||||||
|
'info_modifier_auteur' => 'Moudificà l’autour :',
|
||||||
|
'info_modifier_rubrique' => 'Moudificà la rùbrica :',
|
||||||
|
'info_modifier_titre' => 'Moudificà: @titre@',
|
||||||
|
'info_mon_site_spip' => 'Lou mieu sit SPIP',
|
||||||
|
'info_moyenne' => 'mejana :',
|
||||||
|
'info_multi_cet_article' => 'Lenga d’aquest article :',
|
||||||
|
'info_multi_langues_choisies' => 'Vourguès seleciounà aquì souta li lenga que soun à dispousicioun dei redatour dóu vouòstre sit.
|
||||||
|
Li lenga ja emplegadi en lou vouòstre sit (afichadi en premié) noun si pouòdon desativà.',
|
||||||
|
'info_multi_objets' => '@objets@ : ativà lou menù de lenga',
|
||||||
|
'info_multi_secteurs' => '... basta per li rùbrica a la raïs dau sit ?',
|
||||||
|
'info_nb_articles' => '@nb@ article',
|
||||||
|
'info_nb_auteurs' => '@nb@ autour',
|
||||||
|
'info_nb_messages' => '@nb@ message',
|
||||||
|
'info_nb_mots_cles' => '@nb@ mot clau',
|
||||||
|
'info_nb_rubriques' => '@nb@ rùbrica',
|
||||||
|
'info_nb_visiteurs' => '@nb@ visitour',
|
||||||
|
'info_nom' => 'Noum',
|
||||||
|
'info_nom_destinataire' => 'Noum dau destinatàri',
|
||||||
|
'info_nom_pas_conforme' => 'lu tag html noun soun autourisat',
|
||||||
|
'info_nom_site' => 'Noum dóu vouòstre site',
|
||||||
|
'info_nombre_articles' => '@nb_articles@ article,',
|
||||||
|
'info_nombre_rubriques' => '@nb_rubriques@ rùbrica,',
|
||||||
|
'info_nombre_sites' => '@nb_sites@ sit,',
|
||||||
|
'info_non_deplacer' => 'Noun desplaçà...',
|
||||||
|
'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP pòu mandà regulieramen, l’anounça dei darrieri nouvità dóu sit (article e brèva publicadi darieramen).',
|
||||||
|
'info_non_envoi_liste_nouveautes' => 'Noun mandà la lista dei nouvità',
|
||||||
|
'info_non_modifiable' => 'noun pòu èstre modificat',
|
||||||
|
'info_non_suppression_mot_cle' => 'noun vouòli suprimà aqueu mot clau.',
|
||||||
|
'info_notes' => 'Nota',
|
||||||
|
'info_nouvel_article' => 'Article nòu',
|
||||||
|
'info_nouvelle_traduction' => 'nouvela traducioun :',
|
||||||
|
'info_numero_article' => 'ARTICLE NUMERÒ',
|
||||||
|
'info_obligatoire_02' => '(Oubligatori)',
|
||||||
|
'info_option_accepter_visiteurs' => 'Achetà l’inscricioun dei visitaire dóu sit public',
|
||||||
|
'info_option_ne_pas_accepter_visiteurs' => 'Refudà l’inscricioun dei visitour',
|
||||||
|
'info_options_avancees' => 'OUPCIOUN AVANÇADI',
|
||||||
|
'info_ou' => 'o... ',
|
||||||
|
'info_page_interdite' => 'Pàgina prouhibida',
|
||||||
|
'info_par_nom' => 'per noum',
|
||||||
|
'info_par_nombre_article' => 'per noumbre d’article',
|
||||||
|
'info_par_statut' => 'per estatut',
|
||||||
|
'info_par_tri' => '’(per @tri@)’',
|
||||||
|
'info_passe_trop_court' => 'Mot de passa tròu court.',
|
||||||
|
'info_passe_trop_court_car_pluriel' => 'Lou mot de passa dèu countenì au mens @nb@ caratère.',
|
||||||
|
'info_passes_identiques' => 'Li doui mot de passa noun soun identic.',
|
||||||
|
'info_plus_cinq_car' => 'mai de 5 caractère',
|
||||||
|
'info_plus_cinq_car_2' => '(mai de 5 caractère)',
|
||||||
|
'info_plus_trois_car' => '(mai de 3 caractère)',
|
||||||
|
'info_popularite' => 'poupularità : @popularite@ ; visita : @visites@',
|
||||||
|
'info_post_scriptum' => 'Post-Escrich',
|
||||||
|
'info_post_scriptum_2' => 'Post-Escrich :',
|
||||||
|
'info_pour' => 'per',
|
||||||
|
'info_preview_texte' => 'Es poussible de previsualisà lou sit couma se toui lu article e brèva (que àugue au màncou lou statut « proupausat ») èron publicat. Dèu aquela poussibilità estre duberda basta ai aministratour, a toui lu redatour, o a degun ?',
|
||||||
|
'info_procedez_par_etape' => 'proucedès tapa per tapa',
|
||||||
|
'info_procedure_maj_version' => 'la proucedura de metuda a jou dèu èstre lançada per adatà la basa de dounada a la nouvèla version de SPIP.',
|
||||||
|
'info_proxy_ok' => 'Prova dóu proxy ruèisset.',
|
||||||
|
'info_ps' => 'P.-S.',
|
||||||
|
'info_publier' => 'publicà',
|
||||||
|
'info_publies' => 'Lu vouòstre article publicat en ligna',
|
||||||
|
'info_question_accepter_visiteurs' => 'Se lu esquèletrou dóu vouòstre sit prevehon lou registramen de visitour sensa achès a l’espaci privat, vourguès ativà l’oupcioun seguenta :',
|
||||||
|
'info_question_inscription_nouveaux_redacteurs' => 'Achetàs li inscricioun de nouvèu redatour a
|
||||||
|
partì dau sit public ? Se l’achetàs, lu visitaire si pouran inscriéure
|
||||||
|
da un fourmulari autoumatisat e achederan aloura a l’espaci privat per
|
||||||
|
proupausà lu sieu article pròpi.<div class="notice">Dóu tems de la fasa d’inscricioun,
|
||||||
|
lu utilisaire recebon un courrié eletrounic automàticou
|
||||||
|
que li prouvedisse lu sieu code d’achès au sit privat. D’unu
|
||||||
|
aubergadour desativon l’espedissioun d’e-mails dai sieu servidou : en aqueu cas, l’inscricioun automatica es
|
||||||
|
empoussibla.</div>',
|
||||||
|
'info_qui_edite' => '@nom_auteur_modif@ a trabalhat sus aqueu countengut @date_diff@ minuta fa',
|
||||||
|
'info_racine_site' => 'Raìs dóu sit',
|
||||||
|
'info_recharger_page' => 'Vourguès recargà aquela pàgina en un moumentoun.',
|
||||||
|
'info_recherche_auteur_zero' => 'Minga de resultat troubat per « @cherche_auteur@ ».',
|
||||||
|
'info_recommencer' => 'Vourguès recoumençà.',
|
||||||
|
'info_redacteur_1' => 'Redatour',
|
||||||
|
'info_redacteur_2' => 'qu’a achès à l’espaci privat (<i>recoumandat</i>)',
|
||||||
|
'info_redacteurs' => 'Redatour',
|
||||||
|
'info_redaction_en_cours' => 'EN COURS DE REDACIOUN',
|
||||||
|
'info_redirection' => 'Redirecioun',
|
||||||
|
'info_redirection_activee' => 'La redirecioun es ativada.',
|
||||||
|
'info_redirection_boucle' => 'Prouvàs de redirigià l’article sus èu meme',
|
||||||
|
'info_redirection_desactivee' => 'La redirecioun a estat suprimada.',
|
||||||
|
'info_refuses' => 'Lu vouòstre article refudat',
|
||||||
|
'info_reglage_ldap' => 'Oupcioun: <b>Reglage de l’impourtacioun LDAP</b>',
|
||||||
|
'info_renvoi_article' => '<b>Redirecioun.</b> Aquel article remandà a la pàgina:',
|
||||||
|
'info_reserve_admin' => 'Lu aministratour soulet pouòdon moudificà aquela adressa.',
|
||||||
|
'info_restreindre_rubrique' => 'Restregne la gestioun a la rùbrica :',
|
||||||
|
'info_resultat_recherche' => 'Resultat de la recerca :',
|
||||||
|
'info_rubriques' => 'Rùbrica',
|
||||||
|
'info_rubriques_02' => ' rùbrica',
|
||||||
|
'info_rubriques_trouvees' => 'Rùbrica troubadi',
|
||||||
|
'info_sans_titre' => 'Sensa titre',
|
||||||
|
'info_selection_chemin_acces' => '<b>Seleciounàs</b> aquì souta lou camin d’achès en l’anuari :',
|
||||||
|
'info_signatures' => 'firma',
|
||||||
|
'info_site' => 'Sit',
|
||||||
|
'info_site_2' => 'sit : ',
|
||||||
|
'info_site_min' => 'sit',
|
||||||
|
'info_site_reference_2' => 'Sit referençat',
|
||||||
|
'info_site_web' => 'Sit Web :',
|
||||||
|
'info_sites' => ' sit',
|
||||||
|
'info_sites_lies_mot' => 'Lu sit referençat ligat en aqueu mot clau',
|
||||||
|
'info_sites_proxy' => 'Utilisà un proxy',
|
||||||
|
'info_sites_trouves' => 'Sit troubat',
|
||||||
|
'info_sous_titre' => 'Souta-titre :',
|
||||||
|
'info_statut_administrateur' => 'Aministratour',
|
||||||
|
'info_statut_auteur' => 'Estatut d’aquel autour :',
|
||||||
|
'info_statut_auteur_2' => 'Siéu',
|
||||||
|
'info_statut_auteur_a_confirmer' => 'Inscricioun de counfirmà',
|
||||||
|
'info_statut_auteur_autre' => 'Autre statut :',
|
||||||
|
'info_statut_redacteur' => 'Redatour',
|
||||||
|
'info_statut_utilisateurs_1' => 'Estatut predefinit dei utilisaire impourtat',
|
||||||
|
'info_statut_utilisateurs_2' => 'Chausissès lou statut qu’es atribuit ai persouna presenti en l’anuari LDAP coura si counetoun lou premié còu. Pi pourès moudificà aquela valour per cada autour au cas per cas.',
|
||||||
|
'info_suivi_activite' => 'Segut de l’atività editouriala',
|
||||||
|
'info_surtitre' => 'Soubretitre :',
|
||||||
|
'info_syndication_integrale_1' => 'Lou vouòstre sit proupausat de fichié de sindicacioun (veire « <a href="@url@">@titre@</a> »).',
|
||||||
|
'info_syndication_integrale_2' => 'Desiràs transmetre l’integralità dei article, o difusà lou coumpèndi de quauqui centena de caractère ?',
|
||||||
|
'info_table_prefix' => 'Poudès moudificà lou prefisse dóu noum dei taula de dounada (acò es indispensable quoura si vòu instalà plusiur sit en la mema basa de dounada). Aqueu prefisse s’ecriéu en letra minusculi, noun acentuadi, e sensa espaci.',
|
||||||
|
'info_taille_maximale_images' => 'SPIP va prouvà la talha massimala dei image que pòu tratà (en milioun de pixel).<br /> Lu image mai grani noun seran reduchi.',
|
||||||
|
'info_taille_maximale_vignette' => 'Talha massimala dei vigneta generadi per lou sistema :',
|
||||||
|
'info_terminer_installation' => 'Ahura poudès acabà la proucedura d’instalacioun estandarda.',
|
||||||
|
'info_texte' => 'Tèstou',
|
||||||
|
'info_texte_explicatif' => 'Tèstou espligatiéu',
|
||||||
|
'info_texte_long' => '(lou tèstou es lonc : aparèisse dounca en tros destint que seràn rempegat un còu validat.)',
|
||||||
|
'info_texte_message' => 'Tèstou dóu vouòstre message',
|
||||||
|
'info_texte_message_02' => 'Tèst dóu message',
|
||||||
|
'info_titre' => 'Titre :',
|
||||||
|
'info_total' => 'toutal : ',
|
||||||
|
'info_tous_articles_en_redaction' => 'Toi lu articles en cors de redaccion',
|
||||||
|
'info_tous_articles_presents' => 'Toui lu article publicat en aquela rùbrica',
|
||||||
|
'info_tous_articles_refuses' => 'Toui lu article refudat',
|
||||||
|
'info_tous_les' => 'toui lu :',
|
||||||
|
'info_tout_site' => 'Tout lou sit',
|
||||||
|
'info_tout_site2' => 'L’article noun a estat traduch en aquela lenga.',
|
||||||
|
'info_tout_site3' => 'L’article a estat traduch en aquela lenga, ma si pourtet puèi de moudificacioun a l’article de referença. La traducioun déu estre atualisada.',
|
||||||
|
'info_tout_site4' => 'L’article a estat traduch en aquela lenga, e la traducioun es atualisada.',
|
||||||
|
'info_tout_site5' => 'Article ouriginau.',
|
||||||
|
'info_tout_site6' => '<b>Mèfi :</b> soulamen lu article originau s’afichon.
|
||||||
|
Li traducioun soun assouciadi a l’ouriginau,
|
||||||
|
embé una coulou qu’endica lou sieu estat :',
|
||||||
|
'info_traductions' => 'Traducioun',
|
||||||
|
'info_travail_colaboratif' => 'Trabalh coulabouratiu sus lu article',
|
||||||
|
'info_un_article' => 'un article, ',
|
||||||
|
'info_un_site' => 'un sit, ',
|
||||||
|
'info_une_rubrique' => 'una rùbrica, ',
|
||||||
|
'info_une_rubrique_02' => '1 rùbrica',
|
||||||
|
'info_url' => 'URL :',
|
||||||
|
'info_url_proxy' => 'URL dóu proxy',
|
||||||
|
'info_url_site_pas_conforme' => 'l’URL dóu sit noun es valide.',
|
||||||
|
'info_url_test_proxy' => 'URL de prova',
|
||||||
|
'info_urlref' => 'Estac ipertèst :',
|
||||||
|
'info_utilisation_spip' => 'Ahura poudès coumençà d’utilisà lou sistema de publicacioun assistat...',
|
||||||
|
'info_visites_par_mois' => 'Afichage per mes :',
|
||||||
|
'info_visiteur_1' => 'Visitaire',
|
||||||
|
'info_visiteur_2' => 'dóu sit pùblicou',
|
||||||
|
'info_visiteurs' => 'Visitaire',
|
||||||
|
'info_visiteurs_02' => 'Visitaire dóu sit pùblicou',
|
||||||
|
'info_webmestre_forces' => 'Lu webmèstre soun atualamen definit en <tt>@file_options@</tt>.',
|
||||||
|
'install_adresse_base_hebergeur' => 'Adressa de la basa de dounada atribuit dau aubergadour',
|
||||||
|
'install_connect_ok' => 'La basa nova es ben estada declarada souta lou noum de servidou @connect@.',
|
||||||
|
'install_echec_annonce' => 'L’instalacioun va proubablamen souhì, o aboutì a un sit noun founciounal...',
|
||||||
|
'install_extension_mbstring' => 'SPIP noun founciouna embé :',
|
||||||
|
'install_extension_php_obligatoire' => 'SPIP esija l’estensioun PHP :',
|
||||||
|
'install_login_base_hebergeur' => 'Login de counecioun atribuit dau aubergadour',
|
||||||
|
'install_nom_base_hebergeur' => 'Noum de la basa atribuit dau aubergadour :',
|
||||||
|
'install_pas_table' => 'Basa atualamen sensa taula',
|
||||||
|
'install_pass_base_hebergeur' => 'Mot de passa de counecioun atribuit dau aubergadour',
|
||||||
|
'install_php_version' => 'PHP versioun @version@ insufisenta (minimum = @minimum@)',
|
||||||
|
'install_select_langue' => 'Seleciounàs una lenga pi clicàs sus lou boutoun « seguent » per coumença la proucedura d’instalacioun.',
|
||||||
|
'install_select_type_db' => 'endicà lou tipe de basa de dounada :',
|
||||||
|
'install_select_type_mysql' => 'MySQL',
|
||||||
|
'install_select_type_pg' => 'PostgreSQL',
|
||||||
|
'install_select_type_sqlite2' => 'SQLite 2',
|
||||||
|
'install_select_type_sqlite3' => 'SQLite 3',
|
||||||
|
'install_serveur_hebergeur' => 'Servidou de basa de dounada atribuit dau aubergadour',
|
||||||
|
'install_table_prefix_hebergeur' => 'Prefisse de taula atribuit dau aubergadour :',
|
||||||
|
'install_tables_base' => 'Taula de la basa',
|
||||||
|
'install_types_db_connus' => 'SPIP saup d’utilisà <b>MySQL</b> (lou mai repandut) e <b>SQLite</b>.',
|
||||||
|
'install_types_db_connus_avertissement' => 'Lou supouòrt de <b>PostgreSQL</b> es finda proupausat per fin d’esperimentacioun',
|
||||||
|
'instituer_erreur_statut_a_change' => 'L’estatut a jà estat moudificat',
|
||||||
|
'instituer_erreur_statut_non_autorise' => 'Noun poudès chausì aqueu estatut',
|
||||||
|
'intem_redacteur' => 'redatour',
|
||||||
|
'intitule_licence' => 'Licença',
|
||||||
|
'item_accepter_inscriptions' => 'Aceptà li inscricioun',
|
||||||
|
'item_activer_messages_avertissement' => 'Ativà lu message d’avertissamen',
|
||||||
|
'item_administrateur_2' => 'aministratour',
|
||||||
|
'item_afficher_calendrier' => 'Afichà en lou calendari',
|
||||||
|
'item_autoriser_syndication_integrale' => 'Difusì l’integralità dei article en lu fichié de sindicacioun',
|
||||||
|
'item_choix_administrateurs' => 'lu aministratour',
|
||||||
|
'item_choix_generation_miniature' => 'Generà autoumaticamen li miniatura dei image.',
|
||||||
|
'item_choix_non_generation_miniature' => 'Noun generà de miniatura dei image.',
|
||||||
|
'item_choix_redacteurs' => 'lu redatour',
|
||||||
|
'item_choix_visiteurs' => 'lu visitaire dóu sit pùblicou',
|
||||||
|
'item_creer_fichiers_authent' => 'Creà lu fichié .htpasswd',
|
||||||
|
'item_login' => 'Login',
|
||||||
|
'item_messagerie_agenda' => 'Ativà la messagerìa e l’agenda',
|
||||||
|
'item_mots_cles_association_articles' => 'ai article',
|
||||||
|
'item_mots_cles_association_rubriques' => 'ai rùbrica',
|
||||||
|
'item_mots_cles_association_sites' => 'ai sit referença o sindicat',
|
||||||
|
'item_non' => 'Noun',
|
||||||
|
'item_non_accepter_inscriptions' => 'Noun aceptà li inscricioun',
|
||||||
|
'item_non_activer_messages_avertissement' => 'Minga de message d’avertissamen',
|
||||||
|
'item_non_afficher_calendrier' => 'Noun afichà lou calendari',
|
||||||
|
'item_non_autoriser_syndication_integrale' => 'Difondre un coumpèndi soulamen',
|
||||||
|
'item_non_creer_fichiers_authent' => 'Noun creà aquelu fichié',
|
||||||
|
'item_non_messagerie_agenda' => 'Desativà la messagerìa et l’agenda',
|
||||||
|
'item_non_publier_articles' => 'Noun publicà lu article denant la data de publicacioun prevista.',
|
||||||
|
'item_nouvel_auteur' => 'Nouvel autour',
|
||||||
|
'item_nouvelle_rubrique' => 'Nouvela rùbrica',
|
||||||
|
'item_oui' => 'Ahì',
|
||||||
|
'item_publier_articles' => 'Publicà lu article, quauque sìgue la data de publicacioun',
|
||||||
|
'item_reponse_article' => 'Respouòsta a l’article',
|
||||||
|
'item_version_html_max_html4' => 'Si limità au HTML4 sus lou sit public',
|
||||||
|
'item_version_html_max_html5' => 'Autourisà lou HTML5',
|
||||||
|
'item_visiteur' => 'visitaire',
|
||||||
|
|
||||||
|
// J
|
||||||
|
'jour_non_connu_nc' => 'n.c.',
|
||||||
|
|
||||||
|
// L
|
||||||
|
'label_bando_outils' => 'Barra d’autis',
|
||||||
|
'label_bando_outils_afficher' => 'Afichà lu autis',
|
||||||
|
'label_bando_outils_masquer' => 'Mascà lu autis',
|
||||||
|
'label_choix_langue' => 'Seleciounàs la vouòstra lenga',
|
||||||
|
'label_nom_fichier_connect' => 'Endicàs lou noum utilisat per aqueu sevidour',
|
||||||
|
'label_slogan_site' => 'Eslougan dóu sit',
|
||||||
|
'label_taille_ecran' => 'Larguessa de l’ecran',
|
||||||
|
'label_texte_et_icones_navigation' => 'Menù de navigacioun',
|
||||||
|
'label_texte_et_icones_page' => 'Afichage en la pàgina',
|
||||||
|
'ldap_correspondance' => 'eritage dóu camp @champ@',
|
||||||
|
'ldap_correspondance_1' => 'Eritage dei camp LDAP',
|
||||||
|
'ldap_correspondance_2' => 'Per cada camp SPIP seguent, endicàs lou noum dóu camp LDAP courrespouòndant. Laissà vuèi per noun lou remplì, desseparà embé dei espaci o dei virgula per prouvà plusiur camp LDAP.',
|
||||||
|
'lien_ajouter_auteur' => 'Ajustà aquel autour',
|
||||||
|
'lien_ajouter_une_rubrique' => 'Ajoutà aquela rùbrica',
|
||||||
|
'lien_email' => 'e-mail',
|
||||||
|
'lien_nom_site' => 'NOUM DÓU SIT:',
|
||||||
|
'lien_retirer_auteur' => 'Retirà l’autour',
|
||||||
|
'lien_retirer_rubrique' => 'Retirà la rùbrica',
|
||||||
|
'lien_retirer_tous_auteurs' => 'Retirà toui lu autour',
|
||||||
|
'lien_retirer_toutes_rubriques' => 'Retirà touti li rùbrica toutes les rubriques',
|
||||||
|
'lien_site' => 'sit',
|
||||||
|
'lien_tout_decocher' => 'Destacà tout',
|
||||||
|
'lien_tout_deplier' => 'Desplegà tout',
|
||||||
|
'lien_tout_replier' => 'Repeglà tout',
|
||||||
|
'lien_tout_supprimer' => 'Suprimà tout',
|
||||||
|
'lien_trier_nom' => 'Trià per noum',
|
||||||
|
'lien_trier_nombre_articles' => 'Trià per noumbre d’article',
|
||||||
|
'lien_trier_statut' => 'Trià per estatut',
|
||||||
|
'lien_voir_en_ligne' => 'VEIRE EN LIGNA:',
|
||||||
|
'logo_article' => 'Logou de l’article',
|
||||||
|
'logo_auteur' => 'Logou de l’autour',
|
||||||
|
'logo_rubrique' => 'Logou de la rùbrica',
|
||||||
|
'logo_site' => 'Logou d’estou sit',
|
||||||
|
'logo_standard_rubrique' => 'Logou estandard dei rùbrica',
|
||||||
|
'logo_survol' => 'Logou per lou survol',
|
||||||
|
|
||||||
|
// M
|
||||||
|
'menu_aide_installation_choix_base' => 'Chausida de la vouòstra basa',
|
||||||
|
'module_fichier_langue' => 'Fichié de lenga',
|
||||||
|
'module_raccourci' => 'Escourcha',
|
||||||
|
'module_texte_affiche' => 'Tèstou afichat',
|
||||||
|
'module_texte_explicatif' => 'Poudès inserì li escorcha seguenti en lu esquèletrou dóu vouòstre sit public. Se tradureran autoumaticamen en li diferenti lenga per de li quali esista un fichié de lenga.',
|
||||||
|
'module_texte_traduction' => 'Aqueu fichié de lenga « @module@ » es dispounible en :',
|
||||||
|
'mois_non_connu' => 'noun counouissut',
|
||||||
|
|
||||||
|
// N
|
||||||
|
'nouvelle_version_spip' => 'La versioun @version@ de SPIP es dispounible',
|
||||||
|
|
||||||
|
// O
|
||||||
|
'onglet_contenu' => 'Countengut',
|
||||||
|
'onglet_declarer_une_autre_base' => 'Declarà un’autra basa',
|
||||||
|
'onglet_discuter' => 'Discutà',
|
||||||
|
'onglet_interactivite' => 'Interatività',
|
||||||
|
'onglet_proprietes' => 'Prouprietà',
|
||||||
|
'onglet_repartition_actuelle' => 'atualamen',
|
||||||
|
'onglet_sous_rubriques' => 'Souta-rùbrica',
|
||||||
|
|
||||||
|
// P
|
||||||
|
'page_pas_proxy' => 'Aquela pàgina noun déu passà dóu proxy',
|
||||||
|
'pas_de_proxy_pour' => 'Poudès endicàs li machina o lu doumani doun aqueu proxy noun déu s’aplicà (per isemple: @exemple@)',
|
||||||
|
'plugin_charge_paquet' => 'Cargamen dóu paquet @name@',
|
||||||
|
'plugin_charger' => 'Telecargà',
|
||||||
|
'plugin_erreur_charger' => 'errour : empoussible de cargà @zip@',
|
||||||
|
'plugin_erreur_droit1' => 'Lou repertori <code>@dest@</code> noun es accessible en escritura.',
|
||||||
|
'plugin_erreur_droit2' => 'Vourguès verificà lu drech sus aqueu repertori (e lou creà se besoun), o instalà lu fichié per FTP.',
|
||||||
|
'plugin_erreur_zip' => 'souhit pclzip : errour @status@',
|
||||||
|
'plugin_etat_developpement' => 'en desfouloupamen',
|
||||||
|
'plugin_etat_experimental' => 'esperimental',
|
||||||
|
'plugin_etat_stable' => 'estable',
|
||||||
|
'plugin_etat_test' => 'en prova',
|
||||||
|
'plugin_impossible_activer' => 'Empoussible d’ativà lou plugin @plugin@',
|
||||||
|
'plugin_info_automatique1' => 'Se souetàs autourisà l’instalacioun autoumatic dei plugin, vourguès :',
|
||||||
|
'plugin_info_automatique1_lib' => 'Se souetàs autourisà l’instalacioun autoumatic d’aquela biblioutéca, vourguès :',
|
||||||
|
'plugin_info_automatique2' => 'creà un repertori <code>@rep@</code> ;',
|
||||||
|
'plugin_info_automatique3' => 'verifica que lou servidou es autourisat a escrieure en aqueu repertori.',
|
||||||
|
'plugin_info_automatique_creer' => 'a creà a la raìs dau sit.',
|
||||||
|
'plugin_info_automatique_exemples' => 'isemple :',
|
||||||
|
'plugin_info_automatique_ftp' => 'Poudès instalà dei plugin, per FTP, en lou repertori <tt>@rep@</tt>',
|
||||||
|
'plugin_info_automatique_lib' => 'D’uni plugin necessiton de poudé telecargà dei fichié en lou repertori <code>lib/</code>, a creà se besoun a la raìs dau sit.',
|
||||||
|
'plugin_info_automatique_liste' => 'Lu vouòtre lista de plugin :',
|
||||||
|
'plugin_info_automatique_liste_officielle' => 'lu plugin óuficial',
|
||||||
|
'plugin_info_automatique_liste_update' => 'Metre a jou li lista',
|
||||||
|
'plugin_info_automatique_ou' => 'o...',
|
||||||
|
'plugin_info_automatique_select' => 'Seleciounàs aquì souta un plugin : SPIP lou telecarguera e l’instalera en lou repertori <code>@rep@</code> ; se aqueu plugin ja esistà, sera mes a jou.',
|
||||||
|
'plugin_info_credit' => 'Credit',
|
||||||
|
'plugin_info_erreur_xml' => 'La declaracioun d’aqueu plugin es ?! incorrecte ?!',
|
||||||
|
'plugin_info_install_ok' => 'Instalacioun rueisseda',
|
||||||
|
'plugin_info_necessite' => 'Necessita :',
|
||||||
|
'plugin_info_non_compatible_spip' => 'Aqueu plugin noun es coumpatible embé aquela versioun de SPIP',
|
||||||
|
'plugin_info_plugins_dist_1' => 'Lu plugin aquì souta soun cargat e ativat en lou repertori @plugins_dist@.',
|
||||||
|
'plugin_info_plugins_dist_2' => 'Noun soun deativable.',
|
||||||
|
'plugin_info_telecharger' => 'a telecargà sus @url@ e a instalà en @rep@',
|
||||||
|
'plugin_info_upgrade_ok' => 'Metuda a jou rueisseda',
|
||||||
|
'plugin_librairies_installees' => 'Biblioutéca instaladi',
|
||||||
|
'plugin_necessite_lib' => 'Aqueu plugin demanda la biblioutéca @lib@',
|
||||||
|
'plugin_necessite_plugin' => 'Demanda lou plugin @plugin@ en versioun @version@ minimum.',
|
||||||
|
'plugin_necessite_plugin_sans_version' => 'Demanda lou plugin @plugin@',
|
||||||
|
'plugin_necessite_spip' => 'Demanda SPIP en versioun @version@ minimum.',
|
||||||
|
'plugin_source' => 'source : ',
|
||||||
|
'plugin_titre_automatique' => 'Instalacioun autoumatic',
|
||||||
|
'plugin_titre_automatique_ajouter' => 'Ajustà dei plugin',
|
||||||
|
'plugin_titre_installation' => 'Instalacioun dóu plugin @plugin@',
|
||||||
|
'plugin_titre_modifier' => 'Lu miéu plugin',
|
||||||
|
'plugin_zip_active' => 'Countinuàs per l’ativà',
|
||||||
|
'plugin_zip_adresse' => 'endicàs aquì souta l’adressa d’un fichié zip de plugin a telecargà, o ben l’adressa d’una lista de plugin.',
|
||||||
|
'plugin_zip_adresse_champ' => 'Adressa dóu plugin o de la lista ',
|
||||||
|
'plugin_zip_content' => 'Counten lu fichié seguent (@taille@),<br />lest a instalà en lou repertori <code>@rep@</code>',
|
||||||
|
'plugin_zip_installe_finie' => 'Lou fichié @zip@ a estat deserat e instalat.',
|
||||||
|
'plugin_zip_installe_rep_finie' => 'Lou fichié @zip@ estat deserat e instalat en lou repertori @rep@',
|
||||||
|
'plugin_zip_installer' => 'Poudès ahura l’instalà.',
|
||||||
|
'plugin_zip_telecharge' => 'Lou fichié @zip@ a estat telecargat',
|
||||||
|
'plugins_actif_aucun' => 'Minga plugin ativat.',
|
||||||
|
'plugins_actif_un' => 'Un plugin ativat.',
|
||||||
|
'plugins_actifs' => '@count@ plugin ativat.',
|
||||||
|
'plugins_actifs_liste' => 'Atiéu',
|
||||||
|
'plugins_compte' => '@count@ plugin',
|
||||||
|
'plugins_disponible_un' => 'Un plugin dispounible.',
|
||||||
|
'plugins_disponibles' => '@count@ plugin dispounible.',
|
||||||
|
'plugins_erreur' => 'Errour en lu plugin : @plugins@',
|
||||||
|
'plugins_liste' => 'Lista dei plugin',
|
||||||
|
'plugins_liste_dist' => 'Plugin ferouiat',
|
||||||
|
'plugins_recents' => 'Plugin réchent.',
|
||||||
|
'plugins_tous_liste' => 'Toui',
|
||||||
|
'plugins_vue_hierarchie' => 'Gerarquìa',
|
||||||
|
'plugins_vue_liste' => 'Lista',
|
||||||
|
'protocole_ldap' => 'Versioun dóu proutoucole :',
|
||||||
|
|
||||||
|
// Q
|
||||||
|
'queue_executer_maintenant' => 'Eseguì ahura',
|
||||||
|
'queue_info_purger' => 'Poudès supprimà toui lu travai en aspera et reinicialisà la lista embé lu travai periòdicou',
|
||||||
|
'queue_nb_jobs_in_queue' => '@nb@ travai en aspera',
|
||||||
|
'queue_next_job_in_nb_sec' => 'Travai que ven en @nb@ s',
|
||||||
|
'queue_no_job_in_queue' => 'Minga travai en aspera',
|
||||||
|
'queue_one_job_in_queue' => '1 travai en aspera',
|
||||||
|
'queue_purger_queue' => 'Reinitialisà la lista dei travai',
|
||||||
|
'queue_titre' => 'Lista dei travai',
|
||||||
|
|
||||||
|
// R
|
||||||
|
'repertoire_plugins' => 'Repertori :',
|
||||||
|
'required' => ' (oubligatori)',
|
||||||
|
|
||||||
|
// S
|
||||||
|
'sans_heure' => 'sensa oura',
|
||||||
|
'statut_admin_restreint' => 'admin limitat',
|
||||||
|
'statut_webmestre' => 'webmestre',
|
||||||
|
|
||||||
|
// T
|
||||||
|
'tache_cron_asap' => 'Tàcha CRON @function@ (ASAP)',
|
||||||
|
'tache_cron_secondes' => 'Tàcha CRON @function@ (touti li @nb@ s)',
|
||||||
|
'taille_cache_image' => 'Lu image que SPIP a carculat autoumaticamen (vigneta dei doucumen, titre presentat en forma gràfica, founcioun matemàtiqui en forma TeX...) oucupon un toutal de @taille@ en lou repertori @dir@.',
|
||||||
|
'taille_cache_infinie' => 'Aqueu site noun preve de limitacioun de talha dóu repertori de l’amagadou.',
|
||||||
|
'taille_cache_maxi' => 'SPIP prouva de limità la talha dóu repertori de l’amagador d’estou sit a cìrca <b>@octets@</b> de dounada.',
|
||||||
|
'taille_cache_moins_de' => 'La talha de l’amagadou es màncou de @octets@.',
|
||||||
|
'taille_cache_octets' => 'Ahura la talha de l’amagador es cìrca de @octets@.',
|
||||||
|
'taille_cache_vide' => 'L’amagadou es vuèi.',
|
||||||
|
'taille_repertoire_cache' => 'Talha dóu repertori amagadou',
|
||||||
|
'text_article_propose_publication' => 'Article proupausat per la publicacioun.',
|
||||||
|
'texte_acces_ldap_anonyme_1' => 'Certen servidou LDAP achèton minga d’achès anounime. En aqueu cas, cau spechificà un identificant d’achès inicial per poudé pi recercà d’informacion en l’annuari. Lu camp seguent si pouràn laissà vuèi en la majour part dei cas.',
|
||||||
|
'texte_admin_effacer_01' => 'Aquela coumanda escafa <i>tout</i> lou countengut de la basa de dounada,
|
||||||
|
embé <i>toui</i> lu achès redatour e aministratour. Coura l’aurès eseguit, deurès
|
||||||
|
reinstalà SPIP per recreà una basa nouvèla couma pura un premié achès aministratour.',
|
||||||
|
'texte_adresse_annuaire_1' => '(Se lou vouòstre annuari es instalat soubre la mema màquina qu’estou sit web, si trata proubablamen de « localhost ».)',
|
||||||
|
'texte_ajout_auteur' => 'L’autour seguent es estat ajustat a l’article :',
|
||||||
|
'texte_annuaire_ldap_1' => 'S’avès achès a un annuari (LDAP), lou poudès utilisà per ',
|
||||||
|
'texte_article_statut' => 'Aquel article :',
|
||||||
|
'texte_article_virtuel' => 'Article virtual',
|
||||||
|
'texte_article_virtuel_reference' => '<b>Article virtual :</b> article referençat en lou vouòstre sit SPIP, mà redirigit vers una autra URL. Per suprimà la redirecioun, escassàs l’URL aquì soubre.',
|
||||||
|
'texte_aucun_resultat_auteur' => 'Minga resultat per « @cherche_auteur@ »',
|
||||||
|
'texte_auteur_messagerie' => 'Estou sit vi pòu endicà en permanença la lista dei redatour counetat, cen que vi permete d’escambià de message en diret. Poudès dechìdre de noun aparèisse en aquela lista (siès « invisible/a » dei autre utilisaire).',
|
||||||
|
'texte_auteurs' => 'LU AUTOUR',
|
||||||
|
'texte_choix_base_1' => 'Chausissès la vouòstra basa:',
|
||||||
|
'texte_choix_base_2' => 'Lou servidou SQL counten mai d’una basa de dounada.',
|
||||||
|
'texte_choix_base_3' => '<b>Chausissès</b> aquì souta aquela que lou vouòstre aubergadour v’a atribuit :',
|
||||||
|
'texte_choix_table_prefix' => 'Prefis dei taula :',
|
||||||
|
'texte_compatibilite_html' => 'Poudès demandà a SPIP de proudurre, sus lou sit pùblicou, de code coumptatible embé la norma <i>HTML 4</i>, o li permetre d’utilisà li poussibilità mai mouderni dóu <i>HTML 5</i>.',
|
||||||
|
'texte_compatibilite_html_attention' => 'Li a minga risc a ativà l’oupcioun <i>HTML 5>/i>, mà se lou fès, li pàgina dóu vouòstre sit deuran coumençà embé li mencioun seguent per està vàlidi : <code>< !DOCTYPE html></code>.',
|
||||||
|
'texte_compte_element' => '@count@ elemen',
|
||||||
|
'texte_compte_elements' => '@count@ elemen',
|
||||||
|
'texte_conflit_edition_correction' => 'Vourguès countroulà aquì souta li diferença tra li doui versioun dóu tèstou ; poudès finda coupià li vouòstri moudificacioun, pi recoumençà.',
|
||||||
|
'texte_connexion_mysql' => 'Counsultàs li infourmacioun que lou vouòstre aubergadour fournisse : li devès troubà lou servidou de basa de dounada que proupausa e lu identificant persounal per vi counetà.',
|
||||||
|
'texte_contenu_article' => '(Countengut de l’article en quauque mot.)',
|
||||||
|
'texte_contenu_articles' => 'Segoun la maqueta que lou vouòstre sit a adoutada, poudès dechidre
|
||||||
|
que d’unu elemen dei article noun soun utilisat.
|
||||||
|
Utilisàs la lista aquì souta per endicà quau elemen soun dispounible.',
|
||||||
|
'texte_crash_base' => 'Se la vouòstra basa de dounada s’es
|
||||||
|
encalada, poudès prouvà una reparacioun
|
||||||
|
autoumatica.',
|
||||||
|
'texte_creer_rubrique' => 'Denant de poudé escrieure d’articles<br/>, devès creà una rùbrica.',
|
||||||
|
'texte_date_creation_article' => 'DATA DE CREACIOUN DE L’ARTICLE:', # on ajoute le ":"
|
||||||
|
'texte_date_creation_objet' => 'Data de créacioun :', # on ajoute le ":"
|
||||||
|
'texte_date_publication_anterieure' => 'Data de redacioun anterioura :',
|
||||||
|
'texte_date_publication_anterieure_nonaffichee' => 'Noun faire aparèisse de data de redacioun anterioura.',
|
||||||
|
'texte_date_publication_article' => 'DATA DE PUBLICACIOUN EN LIGNA:',
|
||||||
|
'texte_date_publication_objet' => 'Data de publicacioun en ligna :',
|
||||||
|
'texte_descriptif_rapide' => 'Descritiu rapide',
|
||||||
|
'texte_effacer_base' => 'Escassà la basa de dounada SPIP',
|
||||||
|
'texte_effacer_statistiques' => 'Escassà li estatìstica',
|
||||||
|
'texte_en_cours_validation' => 'Lu countengut aquì souta asperoun d’estre validat.',
|
||||||
|
'texte_enrichir_mise_a_jour' => 'Poudès enriquì la coumpaginacioun dóu vouòstre tèstou en utilisant d’« escourcha tipougràfica »',
|
||||||
|
'texte_fichier_authent' => '<b>Déu SPIP creà de fichié especial
|
||||||
|
<tt>.htpasswd</tt> e <tt>.htpasswd-admin</tt> en lou repertori @dossier@ ?</b>
|
||||||
|
<p>Aquelu fichié vi pouòdon servì per restrègne l’achès ai autour e aministratour en d’autre luèc dóu vouòstre sit (prougrama estèrnou d’estatìstica, per isemple).</p>
|
||||||
|
<p>Se noun vi sièrve, poudès laissà aquesla oupcioun a la sieu valour predefinida (minga de creacioun de fichié).</p>',
|
||||||
|
'texte_informations_personnelles_1' => 'Ahura lou sistèma vi va creà un achès persounalisat au sit.',
|
||||||
|
'texte_informations_personnelles_2' => '(Nota : es una reinstalacioun, se lou vouòstre achès marcha encara, poudès',
|
||||||
|
'texte_introductif_article' => '(Test introdutiu de l’article.)',
|
||||||
|
'texte_jeu_caractere' => 'Es counsilhat d’emplegà, sus lou vouòstre sit, l’alfabet universal (<tt>utf-8</tt>) : permete d’afichà de tèstou en touti li lenga sensa proublema de coumpatibilitat embé lu navigatour mouderne.',
|
||||||
|
'texte_jeu_caractere_3' => 'Lou vouòstre sit es atualamen instalat dau juèc de carater :',
|
||||||
|
'texte_jeu_caractere_4' => 'En cas qu’aquò noun courrespouònde a la realità dei vouòstri dounada (après, per isemple, una restouracioun de basa de dounada), o <em>que coumencàs estou sit</em> e desiràs chausì un autre juèc de caracter, endicàs-lou aicí : ',
|
||||||
|
'texte_login_ldap_1' => '(Laissà vuèi per un achès anounime, o intrà lou camin coumplet, per isemple «<tt>uid=fabre, ou=users, dc=lou-mieu-doumìni, dc=com</tt>».)',
|
||||||
|
'texte_login_precaution' => 'Mèfi ! Aquò es lou login embé lou qual siès ahura counetat.
|
||||||
|
Utilisàs aqueu fourmulari embé precaucioun...',
|
||||||
|
'texte_messagerie_agenda' => 'Una messagerìa permete ai redatour dóu sit de coumunicà diretamen tra elu en l’espaci privat dóu sit. Es assouciada a un agènda.',
|
||||||
|
'texte_mise_a_niveau_base_1' => 'Venès de metre a jou lu fichié SPIP.
|
||||||
|
Ahura cau metre a nivèu la basa de dounada
|
||||||
|
dóu sit.',
|
||||||
|
'texte_modifier_article' => 'Moudificà l’article :',
|
||||||
|
'texte_multilinguisme' => 'Se vourguès gerà d’ouget en mai d’una lenga, embé una navigacioun complessa, poudès ajustà un menù de selecioun de lenga sus aquelu ouget, en founcioun de l’ourganisacioun dóu vouòstre sit.',
|
||||||
|
'texte_multilinguisme_trad' => 'Poudès finda ativà un sistema de gestioun dei estac tra li diferenti traducioun sus certen ouget.',
|
||||||
|
'texte_non_compresse' => '<i>noun coumprimat</i> (lou vouòstre servidou noun supouòrta aquela founciounalità)',
|
||||||
|
'texte_nouvelle_version_spip_1' => 'Avès instalat una nouvèla versioun de SPIP.',
|
||||||
|
'texte_nouvelle_version_spip_2' => 'Aquela versioun nouvèla demanda una metuda a jou mai coumpleta qu’a l’acoustumada. Se siès webmèstre dóu sit, vourguès escassà lou fichié @connect@ e repilhà l’instalacioun per fin d’atualisà lu vouòstre parametre de counessioun a la basa de dounada.<p> (NB: s’avès denembrat lu vouòstre parametre de counessioun, regarjàs lou fichié @connect@ denant de lou suprimà...)</p>',
|
||||||
|
'texte_operation_echec' => 'Tournàs a la pàgina prechedenta, chausissès una autra basa o creàs nen una nouvèla. Verificàs li infourmacioun que lou vouòstre aubergadour v’a fournidi.',
|
||||||
|
'texte_plus_trois_car' => 'mai de 3 caracter',
|
||||||
|
'texte_plusieurs_articles' => 'Plusiur autour troubat da « @cherche_auteur@ »:',
|
||||||
|
'texte_port_annuaire' => '(La valour predefinida counven generalamen.)',
|
||||||
|
'texte_presente_plugin' => 'Aquela pàgina lista lu plugin dispounible sus lou sit. Poudès ativà lu plugin necessari en entacant la casa courrespoundenta.',
|
||||||
|
'texte_proposer_publication' => 'Quoura lou vouòstre article sera acabat,<br /> pourès proupausà la siéu publicacioun.',
|
||||||
|
'texte_proxy' => 'De còu que lì a (intranet, rets protegidi...), lu sit distant (doucumentacioun de SPIP, sit sindicat, eca.) soun achessible qu’ a travès un <i>proxy</i>. En aquèu cas, endicàs aquì souta la siéu adressa coum’acò @proxy_en_cours@. En general, laisserès aquèla casa vuèia',
|
||||||
|
'texte_publication_articles_post_dates' => 'Couma SPIP si deu coumpourtà embé lu article que la sieu
|
||||||
|
data de publicacioun es fissada a una
|
||||||
|
escadença futura ?',
|
||||||
|
'texte_rappel_selection_champs' => '[Noun denembràs de seleciounà courretamen aqueu camp.]',
|
||||||
|
'texte_recalcul_page' => 'Se voulès
|
||||||
|
recarculà soulamen una pàgina, passàs pulèu per l’espaci public et utilisàs lou boutoun « recarculà ».',
|
||||||
|
'texte_recuperer_base' => 'Reparà la basa de dounada',
|
||||||
|
'texte_reference_mais_redirige' => 'article referençat en lou vouòstre sit SPIP, ma redirigiat vèrs un’autra URL.',
|
||||||
|
'texte_requetes_echouent' => '<b>Quoura certeni requesta SQL souhon
|
||||||
|
sistematicamen e sensa rasoun aparenta, si pòu
|
||||||
|
qu’acò vengue de la basa de dounada.</b><p>
|
||||||
|
Lou vouòstre servidou SQL a la facultà de reparà li sieu
|
||||||
|
taula quoura li soun estadi degalhadi per achident. Aquì poudès prouvà aquela reparacioun ; se
|
||||||
|
noun marcha, counservàs una còpia de l’afichage, que counten bessai
|
||||||
|
d’indìci de cen que noun marcha...</p><p>
|
||||||
|
Se lou proublema persiste, countactàs lou vouòstre
|
||||||
|
aubergadour.</p>',
|
||||||
|
'texte_selection_langue_principale' => 'Poudès seleciounà aquì souta la « lenga principala » dóu sit. Aquela chausida noun v’oubligia - gauch proun que noun - da escriéure lu vouòstre article en la lenga seleciounada, ma permete de determinà :
|
||||||
|
<ul><li> lou fourmat predefinit dei data soubre lou sit pùblicou ;</li>
|
||||||
|
<li> la natura dóu moutour tipougràficou que SPIP déu utilisà dau rendut dei tèstou;</li>
|
||||||
|
<li> la lenga utilisada en lu fourmulari dóu sit pùblicou;</li>
|
||||||
|
<li> la lenga presentada couma predefinida en l’espaci privat.</li></ul>',
|
||||||
|
'texte_sous_titre' => 'Souta-titre',
|
||||||
|
'texte_statistiques_visites' => '(barra founçadi : dimènegue / curva founçadi : evoulucioun de la mejàna)',
|
||||||
|
'texte_statut_attente_validation' => 'en aspèra de validacioun',
|
||||||
|
'texte_statut_publies' => 'publicat en ligna',
|
||||||
|
'texte_statut_refuses' => 'refudat',
|
||||||
|
'texte_suppression_fichiers' => 'Utilisàs aquela coumanda da suprimà toui lu fichié que si troubon
|
||||||
|
en l’amagadou SPIP. Acò permete per isemple de fourçà un nouvèu carcul de touti li pàgina
|
||||||
|
s’avès fach dei moudificacioun empourtanti de grafisme o d’estrutura dóu sit.',
|
||||||
|
'texte_sur_titre' => 'Soubre-titre',
|
||||||
|
'texte_table_ok' => ': aquela taula va ben.',
|
||||||
|
'texte_tentative_recuperation' => 'Tentativa de reparacioun',
|
||||||
|
'texte_tenter_reparation' => 'Prouvà de reparà la basa de dounada',
|
||||||
|
'texte_test_proxy' => 'Da prouvà aqueu proxy, endicàs aquì l’adressa d’un sit web
|
||||||
|
que lou vourias prouvà.',
|
||||||
|
'texte_titre_02' => 'Titre :',
|
||||||
|
'texte_titre_obligatoire' => '<b>Titre</b> [Oubligatori]',
|
||||||
|
'texte_travail_article' => '@nom_auteur_modif@ a trabalhat sus aquel article @date_diff@ minuta fa',
|
||||||
|
'texte_travail_collaboratif' => 'Quoura es frequent que mai d’un redatour
|
||||||
|
trabalhe sus lou meme article, lou sistema
|
||||||
|
pòu afichà lu article darieramen « dubèrt »
|
||||||
|
da evità li moudificacioun fach ensen.
|
||||||
|
Aquela oupcioun es desativada de maniera predefinida
|
||||||
|
da evità d’afichà de message d’avertimen
|
||||||
|
intempestiéu.',
|
||||||
|
'texte_vide' => 'vuèi',
|
||||||
|
'texte_vider_cache' => 'Vuà l’amagadou',
|
||||||
|
'titre_admin_tech' => 'Mantenença tècnica',
|
||||||
|
'titre_admin_vider' => 'Mantenença tècnica',
|
||||||
|
'titre_ajouter_un_auteur' => 'Ajustà un autour',
|
||||||
|
'titre_ajouter_un_mot' => 'Ajustà un mot-clau',
|
||||||
|
'titre_cadre_afficher_article' => 'Afichà lu article',
|
||||||
|
'titre_cadre_afficher_traductions' => 'Afichà l’estat dei traducioun dai lenga segenti :',
|
||||||
|
'titre_cadre_ajouter_auteur' => 'AJUSTÀ UN AUTOUR :',
|
||||||
|
'titre_cadre_interieur_rubrique' => 'En la rùbrica',
|
||||||
|
'titre_cadre_numero_auteur' => 'AUTOUR NÙMERO',
|
||||||
|
'titre_cadre_numero_objet' => '@objet@ NÙMERO :',
|
||||||
|
'titre_cadre_signature_obligatoire' => '<b>Firma</b> [Oubligatori]<br />',
|
||||||
|
'titre_config_contenu_notifications' => 'Noutificatioun',
|
||||||
|
'titre_config_contenu_prive' => 'En l’espaci privat',
|
||||||
|
'titre_config_contenu_public' => 'Soubre lou sit pùblicou',
|
||||||
|
'titre_config_fonctions' => 'Counfiguracioun dóu sit',
|
||||||
|
'titre_config_langage' => 'Counfigurà la lenga',
|
||||||
|
'titre_configuration' => 'Counfiguracioun dóu sit',
|
||||||
|
'titre_configurer_preferences' => 'Counfigurà li vouòstri preferença vos préférences',
|
||||||
|
'titre_conflit_edition' => 'Counflit dóu tems de l’edicioun',
|
||||||
|
'titre_connexion_ldap' => 'Oupcioun : <b>La vouòstra counessioun LDAP</b>',
|
||||||
|
'titre_groupe_mots' => 'GROUP DE MOT :',
|
||||||
|
'titre_identite_site' => 'Identità dóu sit',
|
||||||
|
'titre_langue_article' => 'Lenga de l’article',
|
||||||
|
'titre_langue_rubrique' => 'Lenga de la rùbrica',
|
||||||
|
'titre_langue_trad_article' => 'LENGA E TRADUCIOUN DE L’ARTICLE',
|
||||||
|
'titre_les_articles' => 'LU ARTICLE',
|
||||||
|
'titre_messagerie_agenda' => 'Messagerìa e agenda',
|
||||||
|
'titre_naviguer_dans_le_site' => 'Navigà en lou sit...',
|
||||||
|
'titre_nouvelle_rubrique' => 'Nouvèla rùbrica',
|
||||||
|
'titre_numero_rubrique' => 'RÙBRICA NÚMERO :',
|
||||||
|
'titre_page_articles_edit' => 'Moudificà : @titre@',
|
||||||
|
'titre_page_articles_page' => 'Lu article',
|
||||||
|
'titre_page_articles_tous' => 'Tout lou sit',
|
||||||
|
'titre_page_calendrier' => 'Calendari @nom_mois@ @annee@',
|
||||||
|
'titre_page_config_contenu' => 'Counfiguracioun dóu sit',
|
||||||
|
'titre_page_delete_all' => 'supressioun toutala e irreversibla',
|
||||||
|
'titre_page_recherche' => 'Resultat de la recerca @recherche@',
|
||||||
|
'titre_page_statistiques_referers' => 'Estatistica (estac intrant)',
|
||||||
|
'titre_page_upgrade' => 'Metuda a nivèu de SPIP',
|
||||||
|
'titre_publication_articles_post_dates' => 'Publicacioun dei article post-datat',
|
||||||
|
'titre_reparation' => 'Reparacioun',
|
||||||
|
'titre_suivi_petition' => 'Segut dei peticioun',
|
||||||
|
'tls_ldap' => 'Transport Layer Security :',
|
||||||
|
'trad_article_traduction' => 'Touti li versioun d’aquel article :',
|
||||||
|
'trad_delier' => 'Pus legà aquest article ai traducioun sieui',
|
||||||
|
'trad_lier' => 'Aquel article es una traducioun de l’article nùmero :',
|
||||||
|
'trad_new' => 'Escrieure una nouvèla traducioun',
|
||||||
|
|
||||||
|
// U
|
||||||
|
'utf8_convert_erreur_orig' => 'Errour : lou juèc de caractèr @charset@ es pas supourtat.',
|
||||||
|
|
||||||
|
// V
|
||||||
|
'version' => 'Versioun:'
|
||||||
|
);
|
||||||
|
|
||||||
|
?>
|
121
sources/ecrire/lang/public_hr.php
Normal file
121
sources/ecrire/lang/public_hr.php
Normal file
|
@ -0,0 +1,121 @@
|
||||||
|
<?php
|
||||||
|
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
|
||||||
|
// extrait automatiquement de http://trad.spip.net/tradlang_module/public?lang_cible=hr
|
||||||
|
// ** ne pas modifier le fichier **
|
||||||
|
|
||||||
|
if (!defined('_ECRIRE_INC_VERSION')) return;
|
||||||
|
|
||||||
|
$GLOBALS[$GLOBALS['idx_lang']] = array(
|
||||||
|
|
||||||
|
// A
|
||||||
|
'accueil_site' => 'Početna stranica',
|
||||||
|
'article' => 'Članak',
|
||||||
|
'articles' => 'Članci',
|
||||||
|
'articles_auteur' => 'Članci ovoga autora',
|
||||||
|
'articles_populaires' => 'Najpopularniji članci',
|
||||||
|
'articles_rubrique' => 'Članci u ovoj rubrici',
|
||||||
|
'aucun_article' => 'Na ovoj adresi ne postoji nijedan članak.',
|
||||||
|
'aucun_auteur' => 'Na ovoj adresi ne postoji nijedan autor.',
|
||||||
|
'aucun_site' => 'Na ovoj adresi ne postoji nijedna web stranica.',
|
||||||
|
'aucune_breve' => 'Na ovoj adresi ne postoji nijedna vijest.',
|
||||||
|
'aucune_rubrique' => 'Na ovoj adresi ne postoji nijedna rubrika.',
|
||||||
|
'auteur' => 'Autor',
|
||||||
|
'autres' => 'Ostale',
|
||||||
|
'autres_breves' => 'Ostale vijesti',
|
||||||
|
'autres_groupes_mots_clefs' => 'Ostale grupe ključnih riječi',
|
||||||
|
'autres_sites' => 'Ostale web stranice',
|
||||||
|
|
||||||
|
// B
|
||||||
|
'bonjour' => 'Dobar dan',
|
||||||
|
|
||||||
|
// C
|
||||||
|
'commenter_site' => 'Komentirati web stranice',
|
||||||
|
'contact' => 'Kontakt',
|
||||||
|
'copie_document_impossible' => 'Nemoguće kopirati dokument',
|
||||||
|
|
||||||
|
// D
|
||||||
|
'date' => 'Datum',
|
||||||
|
'dernier_ajout' => 'Posljednji upis',
|
||||||
|
'dernieres_breves' => 'Posljednje vijesti',
|
||||||
|
'derniers_articles' => 'Posljednji članci',
|
||||||
|
'derniers_commentaires' => 'Posljednji komentari',
|
||||||
|
'derniers_messages_forum' => 'Posljednji forumski prilozi',
|
||||||
|
|
||||||
|
// E
|
||||||
|
'edition_mode_texte' => 'Mijenjati tekst',
|
||||||
|
'en_reponse' => 'Odgovor na:',
|
||||||
|
'en_resume' => 'Kratak sadržaj',
|
||||||
|
'envoyer_message' => 'Poslati poruku',
|
||||||
|
'espace_prive' => 'Redakcija',
|
||||||
|
|
||||||
|
// F
|
||||||
|
'formats_acceptes' => 'Prihvaćen format : @format@.',
|
||||||
|
|
||||||
|
// H
|
||||||
|
'hierarchie_site' => 'Hijerarhija web stranica',
|
||||||
|
|
||||||
|
// J
|
||||||
|
'jours' => 'Dani',
|
||||||
|
|
||||||
|
// L
|
||||||
|
'lien_connecter' => 'Priključiti se',
|
||||||
|
|
||||||
|
// M
|
||||||
|
'meme_auteur' => 'Od istog autora',
|
||||||
|
'meme_rubrique' => 'U istoj rubrici',
|
||||||
|
'memes_auteurs' => 'Od istih autora',
|
||||||
|
'message' => 'Poruka',
|
||||||
|
'messages_forum' => 'Poruka na forumu',
|
||||||
|
'messages_recents' => 'Nove poruke na forumu',
|
||||||
|
'mots_clef' => 'Ključna riječ',
|
||||||
|
'mots_clefs' => 'Ključne riječi',
|
||||||
|
'mots_clefs_meme_groupe' => 'Ključne riječi u istoj grupi',
|
||||||
|
|
||||||
|
// N
|
||||||
|
'navigation' => 'Navigacija',
|
||||||
|
'nom' => 'Ime',
|
||||||
|
'nouveautes' => 'Novosti',
|
||||||
|
'nouveautes_web' => 'Novo u internetu (WWW)',
|
||||||
|
'nouveaux_articles' => 'Novi članci',
|
||||||
|
'nouvelles_breves' => 'Nove vijesti',
|
||||||
|
|
||||||
|
// P
|
||||||
|
'page_precedente' => 'prethodna stranica',
|
||||||
|
'page_suivante' => 'slijedeća stranica',
|
||||||
|
'par_auteur' => 'od autora ',
|
||||||
|
'participer_site' => 'I Vi možete surađivati na uređenju naših stranica. Dovoljno je da unesete Vašu mail adresu. Nakon toga ćete primiti mail sa podacima koji će Vam omogućiti pristup redakcijskom sistemu.',
|
||||||
|
'plan_site' => 'Mapa weba',
|
||||||
|
'popularite' => 'Popularnost',
|
||||||
|
'poster_message' => 'Objaviti poruku',
|
||||||
|
'proposer_site' => 'U ovoj rubrici možete predložiti jednu novu stranicu :',
|
||||||
|
|
||||||
|
// R
|
||||||
|
'repondre_article' => 'Odgovoriti na ovaj članak',
|
||||||
|
'repondre_breve' => 'Odgovoriti na ovu vijest',
|
||||||
|
'resultats_recherche' => 'Rezultati pretrage',
|
||||||
|
'retour_debut_forums' => 'Natrag na početak foruma',
|
||||||
|
'rubrique' => 'Rubrika',
|
||||||
|
'rubriques' => 'Rubrike',
|
||||||
|
|
||||||
|
// S
|
||||||
|
'signatures_petition' => 'Potpis',
|
||||||
|
'site_realise_avec_spip' => 'Ostvareno uz pomoć SPIP',
|
||||||
|
'sites_web' => 'Web stranice',
|
||||||
|
'sous_rubriques' => 'Podrubrike',
|
||||||
|
'spam' => 'Spam',
|
||||||
|
'suite' => 'dalje',
|
||||||
|
'sur_web' => 'u internetu (WWW)',
|
||||||
|
'syndiquer_rubrique' => 'Aktivirati RSS za ovu rubriku',
|
||||||
|
'syndiquer_site' => 'Aktivirati RSS za cijeli web',
|
||||||
|
|
||||||
|
// T
|
||||||
|
'texte_lettre_information' => 'Ovo je poruka sa novostima s web stranica',
|
||||||
|
'texte_lettre_information_2' => 'Ovaj mail sadrži pregled novosti poslije:',
|
||||||
|
|
||||||
|
// V
|
||||||
|
'ver_imprimer' => 'Verzija za tiskanje',
|
||||||
|
'voir_en_ligne' => 'Vidjeti on-line',
|
||||||
|
'voir_squelette' => 'Pogledati kostur ovih stranica'
|
||||||
|
);
|
||||||
|
|
||||||
|
?>
|
121
sources/ecrire/lang/public_oc_ni_mis.php
Normal file
121
sources/ecrire/lang/public_oc_ni_mis.php
Normal file
|
@ -0,0 +1,121 @@
|
||||||
|
<?php
|
||||||
|
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
|
||||||
|
// extrait automatiquement de http://trad.spip.net/tradlang_module/public?lang_cible=oc_ni_mis
|
||||||
|
// ** ne pas modifier le fichier **
|
||||||
|
|
||||||
|
if (!defined('_ECRIRE_INC_VERSION')) return;
|
||||||
|
|
||||||
|
$GLOBALS[$GLOBALS['idx_lang']] = array(
|
||||||
|
|
||||||
|
// A
|
||||||
|
'accueil_site' => 'Acuèlh',
|
||||||
|
'article' => 'Article',
|
||||||
|
'articles' => 'Article',
|
||||||
|
'articles_auteur' => 'Article d’aquel autour',
|
||||||
|
'articles_populaires' => 'Lu article lu mai poupulari',
|
||||||
|
'articles_rubrique' => 'Article d’aquela rùbrica',
|
||||||
|
'aucun_article' => 'Lì es mìnga d’article en aquela adressa',
|
||||||
|
'aucun_auteur' => 'Lì es mìnga d’autour en aquela adressa',
|
||||||
|
'aucun_site' => 'Lì es mìnga de sit en aquela adressa',
|
||||||
|
'aucune_breve' => 'Lì es mìnga de brèva en aquela adressa',
|
||||||
|
'aucune_rubrique' => 'Lì es mìnga de rùbrica en aquela adressa',
|
||||||
|
'auteur' => 'Autour',
|
||||||
|
'autres' => 'Autre',
|
||||||
|
'autres_breves' => 'Autri brèva',
|
||||||
|
'autres_groupes_mots_clefs' => 'Autre groupe de mot clau',
|
||||||
|
'autres_sites' => 'Autre sit',
|
||||||
|
|
||||||
|
// B
|
||||||
|
'bonjour' => 'Bouònjou',
|
||||||
|
|
||||||
|
// C
|
||||||
|
'commenter_site' => 'Coumentà aqueu sit',
|
||||||
|
'contact' => 'Countat',
|
||||||
|
'copie_document_impossible' => 'Empoussible de coupià lou doucumen',
|
||||||
|
|
||||||
|
// D
|
||||||
|
'date' => 'Data',
|
||||||
|
'dernier_ajout' => 'Darrié ajust',
|
||||||
|
'dernieres_breves' => 'Darrieri brèva',
|
||||||
|
'derniers_articles' => 'Darrié article',
|
||||||
|
'derniers_commentaires' => 'Darrié coumentari',
|
||||||
|
'derniers_messages_forum' => 'Darrié message publicat en lu fòrou',
|
||||||
|
|
||||||
|
// E
|
||||||
|
'edition_mode_texte' => 'Edicioun en mòdou tèst de',
|
||||||
|
'en_reponse' => 'En respouòsta a :',
|
||||||
|
'en_resume' => 'En coumpendiat',
|
||||||
|
'envoyer_message' => 'Mandà un message',
|
||||||
|
'espace_prive' => 'Espaci privat',
|
||||||
|
|
||||||
|
// F
|
||||||
|
'formats_acceptes' => 'Fourmat achetat : @formats@.',
|
||||||
|
|
||||||
|
// H
|
||||||
|
'hierarchie_site' => 'Ierarquìa dóu sit',
|
||||||
|
|
||||||
|
// J
|
||||||
|
'jours' => 'jou',
|
||||||
|
|
||||||
|
// L
|
||||||
|
'lien_connecter' => 'Si counetà',
|
||||||
|
|
||||||
|
// M
|
||||||
|
'meme_auteur' => 'Dóu meme autour',
|
||||||
|
'meme_rubrique' => 'En la mema rùbrica',
|
||||||
|
'memes_auteurs' => 'Dei meme autour',
|
||||||
|
'message' => 'Message',
|
||||||
|
'messages_forum' => 'Message',
|
||||||
|
'messages_recents' => 'Lu message de fòrou lu mai rechent',
|
||||||
|
'mots_clef' => 'Mot clau',
|
||||||
|
'mots_clefs' => 'Mot clau',
|
||||||
|
'mots_clefs_meme_groupe' => 'Mot clau en lou meme groupe',
|
||||||
|
|
||||||
|
// N
|
||||||
|
'navigation' => 'navigacioun',
|
||||||
|
'nom' => 'Noum',
|
||||||
|
'nouveautes' => 'Li nouvità',
|
||||||
|
'nouveautes_web' => 'Nouvità soubre lou web',
|
||||||
|
'nouveaux_articles' => 'Article nòu',
|
||||||
|
'nouvelles_breves' => 'Brèva nouvèli',
|
||||||
|
|
||||||
|
// P
|
||||||
|
'page_precedente' => 'pàgina anterioura',
|
||||||
|
'page_suivante' => 'pàgina seguenta',
|
||||||
|
'par_auteur' => 'per ',
|
||||||
|
'participer_site' => 'Poudès participà a la vida d’estou sit e proupausà lu vouòstre article en v’inscrivant aquì souta. Receverès un e-mail que v’endiquerà lu vouòstre code d’achès a l’espaci privat dóu sit.',
|
||||||
|
'plan_site' => 'Plan dóu sit',
|
||||||
|
'popularite' => 'Poupularità',
|
||||||
|
'poster_message' => 'Poustà un message',
|
||||||
|
'proposer_site' => 'Poudès prepauà un sit a ajustà en aquela rùbrica :',
|
||||||
|
|
||||||
|
// R
|
||||||
|
'repondre_article' => 'Respouòndre en aquel article',
|
||||||
|
'repondre_breve' => 'Respouòndre en aquela brèva',
|
||||||
|
'resultats_recherche' => 'Resultat de la recerca',
|
||||||
|
'retour_debut_forums' => 'Retour au principi dei fòrou',
|
||||||
|
'rubrique' => 'Rùbrica',
|
||||||
|
'rubriques' => 'Rùbrica',
|
||||||
|
|
||||||
|
// S
|
||||||
|
'signatures_petition' => 'Firma',
|
||||||
|
'site_realise_avec_spip' => 'Sit realisat embé SPIP',
|
||||||
|
'sites_web' => 'Sit web',
|
||||||
|
'sous_rubriques' => 'Souta-rùbricas',
|
||||||
|
'spam' => 'Spam',
|
||||||
|
'suite' => 'suita',
|
||||||
|
'sur_web' => 'Soubre lou web',
|
||||||
|
'syndiquer_rubrique' => 'Sindicà aquela rùbrica',
|
||||||
|
'syndiquer_site' => 'Sindicà tout lou sit',
|
||||||
|
|
||||||
|
// T
|
||||||
|
'texte_lettre_information' => 'Vequì la letra d’informacioun dóu sit',
|
||||||
|
'texte_lettre_information_2' => 'Aquela letra fa lou chensimen dei nouvità publicadi despì',
|
||||||
|
|
||||||
|
// V
|
||||||
|
'ver_imprimer' => 'Versioun d’estampà',
|
||||||
|
'voir_en_ligne' => 'Veire en ligna',
|
||||||
|
'voir_squelette' => 'Veire l’esquelètrou d’aquela pàgina'
|
||||||
|
);
|
||||||
|
|
||||||
|
?>
|
|
@ -675,6 +675,7 @@ et vous reconnecter au site.
|
||||||
'titre_titre_document' => 'Titre du document :',
|
'titre_titre_document' => 'Titre du document :',
|
||||||
'todo' => 'à venir',
|
'todo' => 'à venir',
|
||||||
'trad_reference' => '(référence des traductions)',
|
'trad_reference' => '(référence des traductions)',
|
||||||
|
'trad_definir_reference' => 'Choisir "@titre@" comme référence des traductions',
|
||||||
|
|
||||||
// Z
|
// Z
|
||||||
'zbug_balise_b_aval' => ' : balise B en aval',
|
'zbug_balise_b_aval' => ' : balise B en aval',
|
||||||
|
|
719
sources/ecrire/lang/spip_hr.php
Normal file
719
sources/ecrire/lang/spip_hr.php
Normal file
|
@ -0,0 +1,719 @@
|
||||||
|
<?php
|
||||||
|
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
|
||||||
|
// extrait automatiquement de http://trad.spip.net/tradlang_module/spip?lang_cible=hr
|
||||||
|
// ** ne pas modifier le fichier **
|
||||||
|
|
||||||
|
if (!defined('_ECRIRE_INC_VERSION')) return;
|
||||||
|
|
||||||
|
$GLOBALS[$GLOBALS['idx_lang']] = array(
|
||||||
|
|
||||||
|
// 0
|
||||||
|
'0_URL' => 'http://listes.rezo.net/mailman/listinfo/spip-dev',
|
||||||
|
'0_langue' => 'Hrvatski [hr]',
|
||||||
|
'0_liste' => 'spip-dev@rezo.net',
|
||||||
|
'0_mainteneur' => 'Alexander Gehrecke (a_gehrecke(at)ambinet.de)',
|
||||||
|
|
||||||
|
// A
|
||||||
|
'access_interface_graphique' => 'Natrag u potpuni grafički interface',
|
||||||
|
'access_mode_texte' => 'Pojednostavljeni text interface',
|
||||||
|
'admin_debug' => 'debug',
|
||||||
|
'admin_modifier_article' => 'Izmijeniti ovaj članak',
|
||||||
|
'admin_modifier_auteur' => 'Izmjeniti podatke ovoga autora',
|
||||||
|
'admin_modifier_breve' => 'Izmjeniti ovu vijest',
|
||||||
|
'admin_modifier_mot' => 'Izmjeniti ovu ključnu riječ',
|
||||||
|
'admin_modifier_rubrique' => 'Izmjeniti ovu rubriku',
|
||||||
|
'admin_recalculer' => 'Osvježiti ovu stranicu',
|
||||||
|
'afficher_calendrier' => 'Prikazati kalendar',
|
||||||
|
'afficher_trad' => 'pokaži prijevode',
|
||||||
|
'alerte_maj_impossible' => '<b>Pozor!</b> Neuspjeo pokušaj promjene verzije SQL baze podataka u verziju @version@, moguće uslijed nedostatnih prava. Molimo stupite u kontakt s Vašim ISP.',
|
||||||
|
'alerte_modif_info_concourante' => 'UPOZORENJE : Ova informacija je drugdje već promjenjena. Trenutna vrijednost je :',
|
||||||
|
'analyse_xml' => 'XML analiza',
|
||||||
|
'annuler' => 'Poništiti',
|
||||||
|
'antispam_champ_vide' => 'Molim ostavite ovo polje prazno:',
|
||||||
|
'articles_recents' => 'Najnoviji članci',
|
||||||
|
'avis_archive_incorrect' => 'datoteka (arhiva) nije ispravna SPIP datoteka',
|
||||||
|
'avis_archive_invalide' => 'datoteka (arhiva) nije ispravna',
|
||||||
|
'avis_attention' => 'POZOR!',
|
||||||
|
'avis_champ_incorrect_type_objet' => 'Nevaljan naziv polja @name@ za objekt vrste @type@',
|
||||||
|
'avis_colonne_inexistante' => 'Kolona @col@ ne postoji',
|
||||||
|
'avis_erreur' => 'Greška: vidi dolje',
|
||||||
|
'avis_erreur_connexion' => 'Greška pri priključivanju',
|
||||||
|
'avis_erreur_cookie' => 'problem sa cookiem',
|
||||||
|
'avis_erreur_fonction_contexte' => 'Programska greška. Ova funkcija ne smije biti pozvana u ovom kontekstu.',
|
||||||
|
'avis_erreur_mysql' => 'SQL greška',
|
||||||
|
'avis_erreur_sauvegarde' => 'Greška u sigurnosnoj kopiji (backup) (@type@ @id_objet@)!',
|
||||||
|
'avis_erreur_visiteur' => 'Problem pri ulasku u privatnu dio',
|
||||||
|
|
||||||
|
// B
|
||||||
|
'barre_a_accent_grave' => 'Umetnite veliko A sa silaznim akcentom',
|
||||||
|
'barre_aide' => 'Upotrijebite tipografske kratice da biste oplemenili izgled',
|
||||||
|
'barre_e_accent_aigu' => 'Umetnite veliko E s uzlaznim akcentom',
|
||||||
|
'barre_eo' => 'Umetnite oe-ligaturu',
|
||||||
|
'barre_eo_maj' => 'Umetnite veliku OE-ligaturu',
|
||||||
|
'barre_euro' => 'Umetnite € simbol',
|
||||||
|
'barre_gras' => 'koristite {{debelo otisnuta slova}}',
|
||||||
|
'barre_guillemets' => 'umetnite u "dvostruke navodnike"',
|
||||||
|
'barre_guillemets_simples' => 'umetnite u ‘jednostruke navodnike’',
|
||||||
|
'barre_intertitre' => 'promijenite u {{{podnaslov}}}',
|
||||||
|
'barre_italic' => 'koristite {kurziv}',
|
||||||
|
'barre_lien' => 'promjenite u [hiperlink->http://...]',
|
||||||
|
'barre_lien_input' => 'Unesite cilj hiperlinka (možete unijeti internet URL u obliku http://www.mysite.com ili jednostavno broj članka na ovim web stranicama).',
|
||||||
|
'barre_note' => 'Promjenite u [[napomenu]]',
|
||||||
|
'barre_paragraphe' => 'Napraviti paragraf',
|
||||||
|
'barre_quote' => '<quote>citirajte poruku</quote>',
|
||||||
|
'bouton_changer' => 'Izmjeniti',
|
||||||
|
'bouton_chercher' => 'Tražiti',
|
||||||
|
'bouton_choisir' => 'Birati',
|
||||||
|
'bouton_deplacer' => 'Premjestiti',
|
||||||
|
'bouton_download' => 'Preuzimanje',
|
||||||
|
'bouton_enregistrer' => 'Sačuvati',
|
||||||
|
'bouton_radio_desactiver_messagerie_interne' => 'Deaktivirati interne poruke',
|
||||||
|
'bouton_radio_envoi_annonces' => 'Poslati autorske objave',
|
||||||
|
'bouton_radio_non_envoi_annonces' => 'Ne slati nikakve objave',
|
||||||
|
'bouton_radio_non_envoi_liste_nouveautes' => 'Ne slati listu posljednjih vijesti',
|
||||||
|
'bouton_recharger_page' => 'osvježiti ovu stranicu',
|
||||||
|
'bouton_telecharger' => 'Otprema',
|
||||||
|
'bouton_upload' => 'uploadati',
|
||||||
|
'bouton_valider' => 'Potvrditi',
|
||||||
|
|
||||||
|
// C
|
||||||
|
'cal_apresmidi' => 'poslijepodne (p.m.)',
|
||||||
|
'cal_jour_entier' => 'cijeli dan',
|
||||||
|
'cal_matin' => 'prijepodne (a.m.)',
|
||||||
|
'cal_par_jour' => 'dnevni kalendar',
|
||||||
|
'cal_par_mois' => 'mjesečni kalendar',
|
||||||
|
'cal_par_semaine' => 'tjedni kalendar',
|
||||||
|
'choix_couleur_interface' => 'boja',
|
||||||
|
'choix_interface' => 'izbor sučelja',
|
||||||
|
'colonne' => 'Stupac',
|
||||||
|
'confirm_changer_statut' => 'Potrebna potvrda: Odabrali ste promjenu statusa ovoga članka. Želite li nastaviti?',
|
||||||
|
'correcte' => 'ispravno',
|
||||||
|
|
||||||
|
// D
|
||||||
|
'date_aujourdhui' => 'danas',
|
||||||
|
'date_avant_jc' => 'p.n.e.',
|
||||||
|
'date_dans' => 'u @delai@',
|
||||||
|
'date_de_mois_1' => '@j@ siječnja',
|
||||||
|
'date_de_mois_10' => '@j@ listopada',
|
||||||
|
'date_de_mois_11' => '@j@ studenog',
|
||||||
|
'date_de_mois_12' => '@j@ prosinca',
|
||||||
|
'date_de_mois_2' => '@j@ veljače',
|
||||||
|
'date_de_mois_3' => '@j@ ožujka',
|
||||||
|
'date_de_mois_4' => '@j@ travnja',
|
||||||
|
'date_de_mois_5' => '@j@ svibnja',
|
||||||
|
'date_de_mois_6' => '@j@ lipnja',
|
||||||
|
'date_de_mois_7' => '@j@ srpnja',
|
||||||
|
'date_de_mois_8' => '@j@ kolovoza',
|
||||||
|
'date_de_mois_9' => '@j@ rujna',
|
||||||
|
'date_demain' => 'sutra',
|
||||||
|
'date_fmt_heures_minutes' => '@h@:@m@',
|
||||||
|
'date_fmt_heures_minutes_court' => '@h@h@m@',
|
||||||
|
'date_fmt_jour' => '@nomjour@ @jour@',
|
||||||
|
'date_fmt_jour_heure' => '@jour@ u @heure@',
|
||||||
|
'date_fmt_jour_heure_debut_fin' => '@jour@ od @heure_debut@ do @heure_fin@', # MODIF
|
||||||
|
'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@ od @heure_debut@@dtabbr@ do @dtend@@heure_fin@@dtabbr@', # MODIF
|
||||||
|
'date_fmt_jour_mois' => '@jourmois@',
|
||||||
|
'date_fmt_jour_mois_annee' => '@jourmois@ @annee@',
|
||||||
|
'date_fmt_mois_annee' => '@nommois@ @annee@',
|
||||||
|
'date_fmt_nomjour' => '@nomjour@ @date@',
|
||||||
|
'date_fmt_nomjour_date' => '@nomjour@, @date@',
|
||||||
|
'date_fmt_periode' => 'Od @date_debut@ do @date_fin@',
|
||||||
|
'date_fmt_periode_abbr' => 'Od @dtart@@date_debut@@dtabbr@ do @dtend@@date_fin@@dtabbr@',
|
||||||
|
'date_fmt_periode_from' => 'Od',
|
||||||
|
'date_fmt_periode_to' => 'do',
|
||||||
|
'date_fmt_saison_annee' => '@saison@ @annee@',
|
||||||
|
'date_heures' => 'sati',
|
||||||
|
'date_hier' => 'jučer',
|
||||||
|
'date_il_y_a' => 'prije @delai@',
|
||||||
|
'date_jnum1' => '1.',
|
||||||
|
'date_jnum10' => '10.',
|
||||||
|
'date_jnum11' => '11.',
|
||||||
|
'date_jnum12' => '12.',
|
||||||
|
'date_jnum13' => '13.',
|
||||||
|
'date_jnum14' => '14.',
|
||||||
|
'date_jnum15' => '15.',
|
||||||
|
'date_jnum16' => '16.',
|
||||||
|
'date_jnum17' => '17.',
|
||||||
|
'date_jnum18' => '18.',
|
||||||
|
'date_jnum19' => '19.',
|
||||||
|
'date_jnum2' => '2.',
|
||||||
|
'date_jnum20' => '20.',
|
||||||
|
'date_jnum21' => '21.',
|
||||||
|
'date_jnum22' => '22.',
|
||||||
|
'date_jnum23' => '23.',
|
||||||
|
'date_jnum24' => '24.',
|
||||||
|
'date_jnum25' => '25.',
|
||||||
|
'date_jnum26' => '26.',
|
||||||
|
'date_jnum27' => '27.',
|
||||||
|
'date_jnum28' => '28.',
|
||||||
|
'date_jnum29' => '29.',
|
||||||
|
'date_jnum3' => '3.',
|
||||||
|
'date_jnum30' => '30.',
|
||||||
|
'date_jnum31' => '31.',
|
||||||
|
'date_jnum4' => '4.',
|
||||||
|
'date_jnum5' => '5.',
|
||||||
|
'date_jnum6' => '6.',
|
||||||
|
'date_jnum7' => '7.',
|
||||||
|
'date_jnum8' => '8.',
|
||||||
|
'date_jnum9' => '9.',
|
||||||
|
'date_jour_1' => 'Nedjelja',
|
||||||
|
'date_jour_1_abbr' => 'ne.',
|
||||||
|
'date_jour_1_initiale' => 'n.',
|
||||||
|
'date_jour_2' => 'Ponedjeljak',
|
||||||
|
'date_jour_2_abbr' => 'pon.',
|
||||||
|
'date_jour_2_initiale' => 'p.',
|
||||||
|
'date_jour_3' => 'Utorak',
|
||||||
|
'date_jour_3_abbr' => 'uto.',
|
||||||
|
'date_jour_3_initiale' => 'u.',
|
||||||
|
'date_jour_4' => 'Srijeda',
|
||||||
|
'date_jour_4_abbr' => 'sri.',
|
||||||
|
'date_jour_4_initiale' => 's.',
|
||||||
|
'date_jour_5' => 'Četvrtak',
|
||||||
|
'date_jour_5_abbr' => 'čet.',
|
||||||
|
'date_jour_5_initiale' => 'č.',
|
||||||
|
'date_jour_6' => 'Petak',
|
||||||
|
'date_jour_6_abbr' => 'pe.',
|
||||||
|
'date_jour_6_initiale' => 'p.',
|
||||||
|
'date_jour_7' => 'Subota',
|
||||||
|
'date_jour_7_abbr' => 'sub.',
|
||||||
|
'date_jour_7_initiale' => 's.',
|
||||||
|
'date_jours' => 'dana',
|
||||||
|
'date_minutes' => 'minuta',
|
||||||
|
'date_mois' => 'mjeseci',
|
||||||
|
'date_mois_1' => 'Sječanj',
|
||||||
|
'date_mois_10' => 'Listopad',
|
||||||
|
'date_mois_10_abbr' => 'list.',
|
||||||
|
'date_mois_11' => 'Studeni',
|
||||||
|
'date_mois_11_abbr' => 'stud.',
|
||||||
|
'date_mois_12' => 'Prosinac',
|
||||||
|
'date_mois_12_abbr' => 'pros.',
|
||||||
|
'date_mois_1_abbr' => 'sije.',
|
||||||
|
'date_mois_2' => 'Veljača',
|
||||||
|
'date_mois_2_abbr' => 'velj.',
|
||||||
|
'date_mois_3' => 'Ožujak',
|
||||||
|
'date_mois_3_abbr' => 'ožuj.',
|
||||||
|
'date_mois_4' => 'Travanj',
|
||||||
|
'date_mois_4_abbr' => 'trav.',
|
||||||
|
'date_mois_5' => 'Svibanj',
|
||||||
|
'date_mois_5_abbr' => 'svib.',
|
||||||
|
'date_mois_6' => 'Lipanj',
|
||||||
|
'date_mois_6_abbr' => 'lip.',
|
||||||
|
'date_mois_7' => 'Srpanj',
|
||||||
|
'date_mois_7_abbr' => 'srp.',
|
||||||
|
'date_mois_8' => 'Kolovoz',
|
||||||
|
'date_mois_8_abbr' => 'kolov.',
|
||||||
|
'date_mois_9' => 'Rujan',
|
||||||
|
'date_mois_9_abbr' => 'ruj.',
|
||||||
|
'date_saison_1' => 'zima',
|
||||||
|
'date_saison_2' => 'proljeće',
|
||||||
|
'date_saison_3' => 'ljeto',
|
||||||
|
'date_saison_4' => 'jesen',
|
||||||
|
'date_secondes' => 'sekunde',
|
||||||
|
'date_semaines' => 'tjedana',
|
||||||
|
'date_un_mois' => 'mjesec',
|
||||||
|
'date_une_heure' => 'sat',
|
||||||
|
'date_une_minute' => 'minuta',
|
||||||
|
'date_une_seconde' => 'sekundi',
|
||||||
|
'date_une_semaine' => 'tjedana',
|
||||||
|
'dirs_commencer' => ' da biste doista započeli instalaciju',
|
||||||
|
'dirs_preliminaire' => 'Priprema: <b>podešavanje dozvole pristupa</b>',
|
||||||
|
'dirs_probleme_droits' => 'Problem sa dozvolama pristupa',
|
||||||
|
'dirs_repertoires_absents' => '<p><b>Slijedeći direktoriji nisu nađeni: </b></p><ul>@bad_dirs@.</ul>
|
||||||
|
<p>Mogući uzrok može biti greška u pisanju malih / velikih slova.
|
||||||
|
Uvjerite se da su mala i velika slova ovih direktorija istovjetna sa gore prikazanim imenima. Ako to nije slučaj, promijenite nazive direktorija koristeći Vaš FTP program.</p>
|
||||||
|
<p>Kada to napravite, onda možete',
|
||||||
|
'dirs_repertoires_suivants' => '<p><b>U slijedeće direktorije nije moguće pisati: </b></p><ul>@bad_dirs@</ul>
|
||||||
|
<p>Da biste to promijenili, upotrijebite Vaš FTP program i promijenite dozvole pristupa za svaki od navedenih direktorija. Ovo je detaljno objašnjeno u uputi za instalaciju.</p>
|
||||||
|
<p>Kada to napravite, onda možete ',
|
||||||
|
'double_occurrence' => 'Dvije instance',
|
||||||
|
|
||||||
|
// E
|
||||||
|
'en_cours' => 'obrada',
|
||||||
|
'envoi_via_le_site' => 'Poslati preko web stranica',
|
||||||
|
'erreur' => 'Greška',
|
||||||
|
'erreur_balise_non_fermee' => 'poslednja oznaka nije zatvorena:',
|
||||||
|
'erreur_technique_ajaxform' => 'Ops. Neočekivana greška onemogućila je slanje formulara. Možete ponovno pokušati.',
|
||||||
|
'erreur_technique_enregistrement_champs' => 'Tehnička pogreška onemogućila je uredno pohranjivanje polja @champs@.',
|
||||||
|
'erreur_technique_enregistrement_impossible' => 'Tehnička pogreška onemogućila je uredno pohranjivanje.',
|
||||||
|
'erreur_texte' => 'greška/greške',
|
||||||
|
'etape' => 'Stupanj',
|
||||||
|
|
||||||
|
// F
|
||||||
|
'fichier_introuvable' => 'Datoteka nije pronađena: @fichier@',
|
||||||
|
'form_auteur_confirmation' => 'Potvrdite mail adresu',
|
||||||
|
'form_auteur_email_modifie' => 'Vaša mail adresa je promjenjena.',
|
||||||
|
'form_auteur_envoi_mail_confirmation' => 'Potvrda je upravo poslana putem elektroničke pošte na @email@. Otvorite navedenu web adresu iz poruke kako biste potvrdili potvrdili vašu mail adresu.',
|
||||||
|
'form_auteur_mail_confirmation' => 'Dobar dan,
|
||||||
|
|
||||||
|
Zatražili ste izmjenu vaše mail adrese.
|
||||||
|
Kako biste potvrdili svoju novu adresu, potrebno je samo pristupiti niže navedenoj adresi
|
||||||
|
(u protivnom će vaš upit biti zanemaren) :
|
||||||
|
|
||||||
|
@url@
|
||||||
|
',
|
||||||
|
'form_deja_inscrit' => 'Već ste se registrirali.',
|
||||||
|
'form_email_non_valide' => 'Vaša mail adresa je neispravna.',
|
||||||
|
'form_forum_access_refuse' => 'Više nemate pristupa ovime web stranicama.',
|
||||||
|
'form_forum_bonjour' => 'Dobar dan @nom@,',
|
||||||
|
'form_forum_confirmer_email' => 'Kako biste potvrdili vašu mail adresu, pođite na slijedeću adresu : @url_confirm@',
|
||||||
|
'form_forum_email_deja_enregistre' => 'Ova mail adresa je već registrirana, stoga možete koristiti Vašu uobičajenu lozinku.',
|
||||||
|
'form_forum_identifiant_mail' => 'Vaši novi podaci su vam upravo poslani na Vašu mail adresu.',
|
||||||
|
'form_forum_identifiants' => 'Osobni podaci',
|
||||||
|
'form_forum_indiquer_nom_email' => 'Unesite ovdje Vaše ime i mail adresu. Ubrzo ćete primiti mail sa Vašim osobnim podacima.',
|
||||||
|
'form_forum_login' => 'login:',
|
||||||
|
'form_forum_message_auto' => '(ovo je automatska poruka)',
|
||||||
|
'form_forum_pass' => 'lozinka:',
|
||||||
|
'form_forum_probleme_mail' => 'Problem sa mailom: lozinka Vam nije mogla biti poslana.',
|
||||||
|
'form_forum_voici1' => 'Ovdje su Vaši osobni podaci za pristup web stranicama
|
||||||
|
"@nom_site_spip@" (@adresse_site@):',
|
||||||
|
'form_forum_voici2' => 'Ovdje su Vaši osobni podaci za pisanje članaka na web stranicama
|
||||||
|
"@nom_site_spip@" (@adresse_login@):',
|
||||||
|
'form_indiquer_email' => 'Unesite Vašu mail adresu.',
|
||||||
|
'form_indiquer_nom' => 'Unesite Vaše ime.',
|
||||||
|
'form_indiquer_nom_site' => 'Unesite ime Vaših web stranica.',
|
||||||
|
'form_pet_deja_enregistre' => 'Ove web stranice su već registrirane',
|
||||||
|
'form_pet_signature_pasprise' => 'Vaš potpis je ignoriran.',
|
||||||
|
'form_prop_confirmer_envoi' => 'Potvrditi odašiljanje',
|
||||||
|
'form_prop_description' => 'opis / komentar',
|
||||||
|
'form_prop_enregistre' => 'Vaš prijedlog je upamćen, i bit će objavljen nakon što ga provjeri administrator ovih web stranica.',
|
||||||
|
'form_prop_envoyer' => 'poslati poruku',
|
||||||
|
'form_prop_indiquer_email' => 'Unesite ispravnu mail adresu',
|
||||||
|
'form_prop_indiquer_nom_site' => 'Unesite ime web stranica.',
|
||||||
|
'form_prop_indiquer_sujet' => 'Unesite temu',
|
||||||
|
'form_prop_message_envoye' => 'Poruka poslana',
|
||||||
|
'form_prop_non_enregistre' => 'Vaš prijedlog nije upamćen.',
|
||||||
|
'form_prop_sujet' => 'Tema',
|
||||||
|
'form_prop_url_site' => 'URL web stranica',
|
||||||
|
'forum_non_inscrit' => 'Ili još niste registrirani ili je adresa ili lozinka netočna.',
|
||||||
|
'forum_par_auteur' => '- @auteur@',
|
||||||
|
'forum_titre_erreur' => 'Greška...',
|
||||||
|
|
||||||
|
// I
|
||||||
|
'ical_texte_rss_articles' => 'Adresa "backend"-datoteke sa člancima ovih web stranica je:',
|
||||||
|
'ical_texte_rss_articles2' => 'Također, možete pristupiti "backend"-datotekama sa člancima pojedinačnih rubrika ovih web stranica:',
|
||||||
|
'ical_texte_rss_breves' => 'Osim toga, tu je i datoteka koja sadrži vijesti ovih web stranica. Odabiranjem rubrike ćete dobiti samo vijesti iz te rubrike.',
|
||||||
|
'icone_a_suivre' => 'aktivnosti',
|
||||||
|
'icone_admin_site' => 'administriranje stranica',
|
||||||
|
'icone_agenda' => 'kalendar',
|
||||||
|
'icone_aide_ligne' => 'pomoć',
|
||||||
|
'icone_articles' => 'članci',
|
||||||
|
'icone_auteurs' => 'autori',
|
||||||
|
'icone_brouteur' => 'brzi pregled',
|
||||||
|
'icone_configuration_site' => 'konfiguracija',
|
||||||
|
'icone_configurer_site' => 'konfigurirajte Vaše stranice',
|
||||||
|
'icone_creer_nouvel_auteur' => 'dodati novog autora',
|
||||||
|
'icone_creer_rubrique' => 'dodati novu rubriku',
|
||||||
|
'icone_creer_sous_rubrique' => 'dodati novu podrubriku',
|
||||||
|
'icone_deconnecter' => 'odjava',
|
||||||
|
'icone_discussions' => 'diskusije',
|
||||||
|
'icone_doc_rubrique' => 'pridruženi dokumenti',
|
||||||
|
'icone_ecrire_article' => 'napisati novi članak',
|
||||||
|
'icone_edition_site' => 'uređivanje stranica',
|
||||||
|
'icone_gestion_langues' => 'podešavanje jezika',
|
||||||
|
'icone_informations_personnelles' => 'osobni podaci',
|
||||||
|
'icone_interface_complet' => 'potpuni interface',
|
||||||
|
'icone_interface_simple' => 'pojednostavljeni interface',
|
||||||
|
'icone_maintenance_site' => 'održavanje web stranica',
|
||||||
|
'icone_messagerie_personnelle' => 'osobne poruke',
|
||||||
|
'icone_repartition_debut' => 'prikazati raspodjelu od početka',
|
||||||
|
'icone_rubriques' => 'rubrike',
|
||||||
|
'icone_sauver_site' => 'sigurnosna kopija web stranica',
|
||||||
|
'icone_site_entier' => 'sve web stranice',
|
||||||
|
'icone_sites_references' => 'preporučene web stranice',
|
||||||
|
'icone_statistiques' => 'statistika web stranica',
|
||||||
|
'icone_suivi_activite' => 'praćenje aktivnosti na web stranicama',
|
||||||
|
'icone_suivi_actualite' => 'statistika web stranica',
|
||||||
|
'icone_suivi_pettions' => 'upravljanje peticijama',
|
||||||
|
'icone_suivi_revisions' => 'revizije članaka',
|
||||||
|
'icone_supprimer_document' => 'obrisati ovaj dokument',
|
||||||
|
'icone_supprimer_image' => 'obrisati ovu sliku',
|
||||||
|
'icone_tous_articles' => 'svi Vaši članci',
|
||||||
|
'icone_tous_auteur' => 'svi autori',
|
||||||
|
'icone_tous_visiteur' => 'Svi posjetitelji',
|
||||||
|
'icone_visiter_site' => 'posjetiti web stranice',
|
||||||
|
'icone_voir_en_ligne' => 'promatrati on-line',
|
||||||
|
'img_indisponible' => 'slika nije na raspolaganju',
|
||||||
|
'impossible' => 'nije moguće',
|
||||||
|
'info_a_suivre' => 'AKTIVNOSTI»',
|
||||||
|
'info_acces_interdit' => 'pristup zabranjen',
|
||||||
|
'info_acces_refuse' => 'pristup odrečen',
|
||||||
|
'info_action' => 'aktivnost: @action@',
|
||||||
|
'info_administrer_rubriques' => 'Možete obrađivati ovu rubriku i njene podrubrike',
|
||||||
|
'info_adresse_non_indiquee' => 'Niste odredili adresu za testiranje!',
|
||||||
|
'info_aide' => 'POMOĆ:',
|
||||||
|
'info_ajouter_mot' => 'dodati ovu ključnu riječ',
|
||||||
|
'info_annonce' => 'OBJAVA',
|
||||||
|
'info_annonces_generales' => 'opće objave:',
|
||||||
|
'info_article_propose' => 'predložen članak',
|
||||||
|
'info_article_publie' => 'objavljen članak',
|
||||||
|
'info_article_redaction' => 'članak u obradi',
|
||||||
|
'info_article_refuse' => 'odbačen članak',
|
||||||
|
'info_article_supprime' => 'obrisan članak',
|
||||||
|
'info_articles' => 'članci',
|
||||||
|
'info_articles_a_valider' => 'članci za provjeru',
|
||||||
|
'info_articles_nb' => '@nb@ articles',
|
||||||
|
'info_articles_proposes' => 'podnešeni članci',
|
||||||
|
'info_articles_un' => '1 članak',
|
||||||
|
'info_auteurs_nombre' => 'autor(i):',
|
||||||
|
'info_authentification_ftp' => 'provjera identiteta (kroz FTP).',
|
||||||
|
'info_breves_2' => 'vijesti',
|
||||||
|
'info_breves_nb' => '@nb@ kratke vijesti',
|
||||||
|
'info_breves_un' => '1 kratke vijesti',
|
||||||
|
'info_connexion_refusee' => 'priključenje odbijeno',
|
||||||
|
'info_contact_developpeur' => 'Stupite u vezu s programerom.',
|
||||||
|
'info_contenance' => 'Ove stranice sadrže:',
|
||||||
|
'info_contribution' => 'forumski prilozi',
|
||||||
|
'info_copyright' => '@spip@ je besplatan softver u smislu @lien_gpl@.',
|
||||||
|
'info_copyright_doc' => 'Za daljnje informacije, vidi <a href="@spipnet@">http://www.spip.net</a>.',
|
||||||
|
'info_copyright_gpl' => 'GPL dozvole',
|
||||||
|
'info_cours_edition' => 'Vaši članci u obradi',
|
||||||
|
'info_creer_repertoire' => 'Napravite datoteku ili direktorij sa imenom:',
|
||||||
|
'info_creer_repertoire_2' => 'u poddirektoriju <b>@repertoire@</b>, i onda',
|
||||||
|
'info_creer_vignette' => 'automatska izrada male sličice',
|
||||||
|
'info_creerdansrubrique_non_autorise' => 'Nemate dovoljne ovlasti kako biste dodali sadržaj u ovu rubriku',
|
||||||
|
'info_deplier' => 'otvoriti',
|
||||||
|
'info_descriptif_nombre' => 'opis(i):',
|
||||||
|
'info_description' => 'opis:',
|
||||||
|
'info_description_2' => 'opis:',
|
||||||
|
'info_dimension' => 'veličina:',
|
||||||
|
'info_documents_nb' => '@nb@ dokumenti',
|
||||||
|
'info_documents_un' => '1 dokument',
|
||||||
|
'info_ecire_message_prive' => 'napisati privatnu poruku',
|
||||||
|
'info_email_invalide' => 'nepostojeća mail adresa.',
|
||||||
|
'info_en_cours_validation' => 'Vaši članci u obradi',
|
||||||
|
'info_en_ligne' => 'trenutačno on-line (priključeni):',
|
||||||
|
'info_envoyer_message_prive' => 'poslati privatnu poruku ovom autoru',
|
||||||
|
'info_erreur_requete' => 'greška u zahtjevu:',
|
||||||
|
'info_erreur_squelette2' => 'predložak <b>@fichier@</b> ne stoji na raspolaganju...',
|
||||||
|
'info_erreur_systeme' => 'greška u sistemu (broj @errsys@)',
|
||||||
|
'info_erreur_systeme2' => 'Disk je pun ili je baza podataka oštećena. <br />
|
||||||
|
<span style="color:red;">pokušajte <a href=\'@script@\'>popraviti bazu podataka</a>, ili stupite u vezu sa Vašim pružateljem usluga.</span>',
|
||||||
|
'info_fini' => 'učinjeno!',
|
||||||
|
'info_format_image' => 'format za stvaranje malih sličica: @gd_formats@.',
|
||||||
|
'info_format_non_defini' => 'nejasan format',
|
||||||
|
'info_grand_ecran' => 'veliki ekran',
|
||||||
|
'info_image_aide' => 'POMOĆ',
|
||||||
|
'info_image_process_titre' => 'kako izraditi male sličice',
|
||||||
|
'info_impossible_lire_page' => '<b>Greška!</b> Stranica <tt><html>@test_proxy@</html></tt> nije mogla biti pročitana preko proxy - računala',
|
||||||
|
'info_installation_systeme_publication' => 'instalacija redakcijskog sistema...',
|
||||||
|
'info_installer_documents' => 'Možete automatski instalirati sve dokumente koji se nalaze u direktoriju @upload@.',
|
||||||
|
'info_installer_ftp' => 'Kao administrator, možete (pomoću FTP) snimiti datoteke u direktorij @upload@, da biste ih poslije ovdje birali.',
|
||||||
|
'info_installer_images' => 'Možete instalirati slike u formatima JPEG, GIF ili PNG.',
|
||||||
|
'info_installer_images_dossier' => 'Snimite slike u direktorij @upload@ da bi ste ih poslije ovdje mogli odabrati.',
|
||||||
|
'info_interface_complete' => 'cjelokupni interface',
|
||||||
|
'info_interface_simple' => 'pojednostavljeni interface',
|
||||||
|
'info_joindre_document_article' => 'Vašem članku možete pridružiti dokumente tipova',
|
||||||
|
'info_joindre_document_rubrique' => 'Ovoj rubrici možete pridružiti dokumente tipova',
|
||||||
|
'info_joindre_documents_article' => 'Vašem članku možete pridružiti dokumente tipova:',
|
||||||
|
'info_l_article' => 'članak',
|
||||||
|
'info_la_breve' => 'vijest',
|
||||||
|
'info_la_rubrique' => 'rubrika',
|
||||||
|
'info_langue_principale' => 'glavni jezik web stranica',
|
||||||
|
'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ točaka',
|
||||||
|
'info_les_auteurs_1' => '- @les_auteurs@',
|
||||||
|
'info_logo_format_interdit' => 'Dozvoljeni su samo logotipovi formata @formats@.',
|
||||||
|
'info_logo_max_poids' => 'Veličina logotipa smije biti najviše @maxi@ (ova datoteka je veličine @actuel@).',
|
||||||
|
'info_mail_fournisseur' => 'vašeime@poslužitelj.hr',
|
||||||
|
'info_message_2' => 'PORUKA',
|
||||||
|
'info_message_supprime' => 'PORUKA OBRISANA',
|
||||||
|
'info_messages_nb' => '@nb@ poruka',
|
||||||
|
'info_messages_un' => '1 poruka',
|
||||||
|
'info_mise_en_ligne' => 'datum objavljivanja:',
|
||||||
|
'info_modification_parametres_securite' => 'promjena sigurnosnih parametara',
|
||||||
|
'info_mois_courant' => 'tjekom mjeseca:',
|
||||||
|
'info_mot_cle_ajoute' => 'slijedeća ključna riječ je pridodana',
|
||||||
|
'info_multi_herit' => 'uobičajeni jezik',
|
||||||
|
'info_multi_langues_soulignees' => '<u>Podvučeni jezici</u> sadrže potpun prijevod svih djelova sučelja. Odaberete li jedan od tih jezika, mnogi dijelovi javnog dijela weba će biti pisani tim jezikom (datumi, obrasci). Pri odabiru jezika koji nisu podvučeni će ti dijelovi biti pisani na glavnom jeziku weba.',
|
||||||
|
'info_multilinguisme' => 'višejezično',
|
||||||
|
'info_nom_non_utilisateurs_connectes' => 'Vaše ime se ne pojavljuje u listi spojenih korisnika.',
|
||||||
|
'info_nom_utilisateurs_connectes' => 'Vaše ime se pojavljuje u listi spojenih korisnika.',
|
||||||
|
'info_nombre_en_ligne' => 'trenutačno spojeni korisnici:',
|
||||||
|
'info_non_resultat' => 'nema rezultata za "@cherche_mot@"',
|
||||||
|
'info_non_utilisation_messagerie' => 'Vi ne koristite interne poruke na ovim web stranicama.',
|
||||||
|
'info_nouveau_message' => 'IMATE NOVU PORUKU',
|
||||||
|
'info_nouveaux_messages' => 'IMATE @total_messages@ NOVIH PORUKA',
|
||||||
|
'info_numero_abbreviation' => 'ne',
|
||||||
|
'info_obligatoire' => 'Ova informacija je neophodna',
|
||||||
|
'info_pense_bete' => 'BILJEŠKA',
|
||||||
|
'info_petit_ecran' => 'mali ekran',
|
||||||
|
'info_petition_close' => 'Peticija zatvorena',
|
||||||
|
'info_pixels' => 'točke',
|
||||||
|
'info_plusieurs_mots_trouves' => 'nekoliko ključnih riječi je pronađeno za "@cherche_mot@":',
|
||||||
|
'info_portfolio_automatique' => 'automatska mapa:',
|
||||||
|
'info_premier_resultat' => '[@debut_limit@ prvih rezultata od ukupno @total@]',
|
||||||
|
'info_premier_resultat_sur' => '[@debut_limit@ prvih rezultata od ukupno @total@]',
|
||||||
|
'info_propose_1' => '[@nom_site_spip@] predloženo od: @titre@',
|
||||||
|
'info_propose_2' => 'predložen članak
|
||||||
|
-----------------',
|
||||||
|
'info_propose_3' => 'članak "@titre@" je podnešen za objavljivanje.',
|
||||||
|
'info_propose_4' => 'pozvani ste pregledati ga i dati Vaše mišljenje',
|
||||||
|
'info_propose_5' => 'u odgovarajućem forumu. Nalazi se na adresi:',
|
||||||
|
'info_publie_01' => 'Članak "@titre@" je odobren od @connect_nom@.',
|
||||||
|
'info_publie_1' => '[@nom_site_spip@] OBJAVLJENO: @titre@',
|
||||||
|
'info_publie_2' => 'članak objavljen
|
||||||
|
-----------------',
|
||||||
|
'info_rechercher' => 'pretraga',
|
||||||
|
'info_rechercher_02' => 'pretraga:',
|
||||||
|
'info_remplacer_vignette' => 'Zamjenite standardnu sličicu sa Vašim logotipom:',
|
||||||
|
'info_rubriques_nb' => '@nb@ rubrike',
|
||||||
|
'info_rubriques_un' => '1 rubrika',
|
||||||
|
'info_sans_titre_2' => 'bez naslova',
|
||||||
|
'info_selectionner_fichier' => 'možete odabrati datoteku iz direktorija @upload@',
|
||||||
|
'info_selectionner_fichier_2' => 'odaberite datoteku:',
|
||||||
|
'info_sites_nb' => '@nb@ web stranica',
|
||||||
|
'info_sites_un' => '1 web stranica',
|
||||||
|
'info_supprimer_vignette' => 'obrisati sličicu',
|
||||||
|
'info_symbole_bleu' => 'Simbol <b>plave boje</b> označava <b>bilješku</b>: tojest poruku za Vašu osobnu upotrebu.',
|
||||||
|
'info_symbole_jaune' => 'Simbol <b>žute boje</b> označava <b>objavu svim autorima</b>: mogu je mijenjati svi administratori, a vidljiva je za sve autore.',
|
||||||
|
'info_symbole_vert' => 'Simbol <b>zelene boje</b> označava <b>poruke razmjenjene sa drugim korisnicima</b> web sajta.',
|
||||||
|
'info_telecharger_nouveau_logo' => 'otpremiti novi logotip:',
|
||||||
|
'info_telecharger_ordinateur' => 'otpremiti sa Vašeg računala:',
|
||||||
|
'info_tous_resultats_enregistres' => '[svi rezultati su obuhvaćeni]',
|
||||||
|
'info_tout_afficher' => 'pokazati sve',
|
||||||
|
'info_travaux_texte' => 'Ove web stranice još nisu postavljene. Posjetite nas nešto kasnije...',
|
||||||
|
'info_travaux_titre' => 'web stranice u izgradnji',
|
||||||
|
'info_trop_resultat' => 'previše rezultata za "@cherche_mot@"; molimo preciznije podatke.',
|
||||||
|
'info_utilisation_messagerie_interne' => 'Vi koristite interne poruke na ovom sajtu.',
|
||||||
|
'info_valider_lien' => 'odobriti ovaj link',
|
||||||
|
'info_verifier_image' => ', molimo provjerite da li su Vaše slike uspješno prenešene.',
|
||||||
|
'info_vignette_defaut' => 'standardna sličica',
|
||||||
|
'info_vignette_personnalisee' => 'prilagođena sličica',
|
||||||
|
'info_visite' => 'posjeta:',
|
||||||
|
'info_vos_rendez_vous' => 'Vaše zakazane obveze',
|
||||||
|
'infos_vos_pense_bete' => 'Vaše bilješke',
|
||||||
|
|
||||||
|
// L
|
||||||
|
'label_ajout_id_rapide' => 'Brzo dodavanje',
|
||||||
|
'label_poids_fichier' => 'Veličina',
|
||||||
|
'lien_afficher_icones_seuls' => 'prikazati samo sličice',
|
||||||
|
'lien_afficher_texte_icones' => 'prikazati sličice i tekst',
|
||||||
|
'lien_afficher_texte_seul' => 'prikazati samo tekst',
|
||||||
|
'lien_liberer' => 'odobriti',
|
||||||
|
'lien_liberer_tous' => 'odobriti ove članke',
|
||||||
|
'lien_nouvea_pense_bete' => 'NOVA BILJEŠKA',
|
||||||
|
'lien_nouveau_message' => 'NOVA PORUKA',
|
||||||
|
'lien_nouvelle_annonce' => 'NOVA OBJAVA',
|
||||||
|
'lien_petitions' => 'PETICIJA',
|
||||||
|
'lien_popularite' => 'popularnost: @popularite@%',
|
||||||
|
'lien_racine_site' => 'KORIJEN WEBA',
|
||||||
|
'lien_reessayer' => 'pokušati ponovo',
|
||||||
|
'lien_repondre_message' => 'odgovoriti na ovu poruku',
|
||||||
|
'lien_supprimer' => 'obrisati',
|
||||||
|
'lien_tout_afficher' => 'pokazati sve',
|
||||||
|
'lien_visite_site' => 'posjetiti ove web stranice',
|
||||||
|
'lien_visites' => '@visites@ posjeta',
|
||||||
|
'lien_voir_auteur' => 'prikazati ovog autora',
|
||||||
|
'ligne' => 'Linija',
|
||||||
|
'login' => 'Spajanje',
|
||||||
|
'login_acces_prive' => 'pristup redakcijskom sistemu',
|
||||||
|
'login_autre_identifiant' => 'prijava pod drugim imenom',
|
||||||
|
'login_cookie_accepte' => 'molimo, podesite Vaš browser da ih prihvati (barem za ove web stranice).',
|
||||||
|
'login_cookie_oblige' => 'da biste se pouzdano identificirali, Vaš browser mora prihvatiti cookie.',
|
||||||
|
'login_deconnexion_ok' => 'odjavljen.',
|
||||||
|
'login_erreur_pass' => 'pogrešna lozinka.',
|
||||||
|
'login_espace_prive' => 'redakcijski sistem',
|
||||||
|
'login_identifiant_inconnu' => 'korisnik "@login@" je nepoznat.',
|
||||||
|
'login_login' => 'prijava:',
|
||||||
|
'login_login2' => 'prijava (korisničko ime za pristup web stranicama):',
|
||||||
|
'login_login_pass_incorrect' => '(pogrešno korisničko ime ili lozinka).',
|
||||||
|
'login_motpasseoublie' => 'zaboravljena lozinka?',
|
||||||
|
'login_non_securise' => 'Oprez, ovaj formular nije siguran.
|
||||||
|
Ako želite da Vaša lozinka bude nevidljiva u mreži,
|
||||||
|
molimo aktivirajte JavaScript u Vašem browseru i',
|
||||||
|
'login_nouvelle_tentative' => 'novi pokušaj',
|
||||||
|
'login_par_ici' => 'Vi ste registrirani... idite ovamo...',
|
||||||
|
'login_pass2' => 'lozinka:',
|
||||||
|
'login_preferez_refuser' => '<b>Ako ne želite primiti cookie</b>, postoji drugi (manje siguran) način za spajanje:',
|
||||||
|
'login_recharger' => 'osvježiti ovu stranicu',
|
||||||
|
'login_rester_identifie' => 'upamti moj identitet nekoliko dana',
|
||||||
|
'login_retour_public' => 'natrag u javni dio weba',
|
||||||
|
'login_retour_site' => 'natrag u javni dio weba',
|
||||||
|
'login_retoursitepublic' => 'natrag u javni dio weba',
|
||||||
|
'login_sans_cookiie' => 'identifikacija bez cookie',
|
||||||
|
'login_securise' => 'Sigurnosna prijava',
|
||||||
|
'login_sinscrire' => 'prijava',
|
||||||
|
'login_test_navigateur' => 'ispitivanje browsera / ponovno spajanje',
|
||||||
|
'login_verifiez_navigateur' => '(međutim, provjerite da li je Vaš browser možda upamtio Vašu lozinku...)',
|
||||||
|
|
||||||
|
// M
|
||||||
|
'masquer_colonne' => 'Sakriti ovaj stupac',
|
||||||
|
'masquer_trad' => 'sakriti prijevode',
|
||||||
|
'module_fichiers_langues' => 'jezične datoteke',
|
||||||
|
|
||||||
|
// N
|
||||||
|
'navigateur_pas_redirige' => 'Ako Vas Vaš browser ne odvede dalje, kliknite ovdje za nastavak.',
|
||||||
|
'numero' => 'Broj',
|
||||||
|
|
||||||
|
// O
|
||||||
|
'occurence' => 'Instanca',
|
||||||
|
'onglet_affacer_base' => 'obrisati bazu podataka',
|
||||||
|
'onglet_auteur' => 'autor',
|
||||||
|
'onglet_contenu_site' => 'sadržaj weba',
|
||||||
|
'onglet_evolution_visite_mod' => 'razvitak posjeta',
|
||||||
|
'onglet_fonctions_avances' => 'napredne fukcije',
|
||||||
|
'onglet_informations_personnelles' => 'osobne informacije',
|
||||||
|
'onglet_interactivite' => 'interaktivnost',
|
||||||
|
'onglet_messagerie' => 'sistem za poruke',
|
||||||
|
'onglet_repartition_rubrique' => 'raspodjela po rubrikama',
|
||||||
|
'onglet_save_restaur_base' => 'snimiti / povratiti bazu podataka',
|
||||||
|
'onglet_vider_cache' => 'isprazniti cache',
|
||||||
|
|
||||||
|
// P
|
||||||
|
'pass_choix_pass' => 'unesite Vašu novu lozinku:',
|
||||||
|
'pass_erreur' => 'greška',
|
||||||
|
'pass_erreur_acces_refuse' => '<b>greška:</b> Vi nemate više pristup ovim web stranicama.',
|
||||||
|
'pass_erreur_code_inconnu' => '<b>greška:</b> ova oznaka ne odgovara niti jednom korisniku ovih web stranica.',
|
||||||
|
'pass_erreur_non_enregistre' => '<b>greška:</b> adresa <tt>@email_oubli@</tt> nije registrirana na ovim web stranicama.',
|
||||||
|
'pass_erreur_non_valide' => '<b>greška:</b> mail adresa <tt>@email_oubli@</tt> je neispravna!',
|
||||||
|
'pass_erreur_probleme_technique' => '<b>greška:</b> ovaj mail nije mogao biti poslan zbog tehničkih poteškoća.',
|
||||||
|
'pass_espace_prive_bla' => 'Redakcijski sistem je otvoren samo za registrirane korisnike.
|
||||||
|
Kad se registrirate, možete pregledati članke u obradi,
|
||||||
|
pisati nove članke i sudjelovati u svim forumima.',
|
||||||
|
'pass_forum_bla' => 'Zatražili ste sudjelovanje u forumu koji je
|
||||||
|
rezerviran samo za registrirane korisnike.',
|
||||||
|
'pass_indiquez_cidessous' => 'Unesite dolje mail adresu sa kojom se ste
|
||||||
|
ranije registrirali. Nakon toga ćete
|
||||||
|
dobiti mail sa uputama kako da ponovo
|
||||||
|
dobijete pristup.',
|
||||||
|
'pass_mail_passcookie' => '(ovo je automatska poruka)
|
||||||
|
|
||||||
|
Da biste ponovo dobili pristup web stranicama
|
||||||
|
@nom_site_spip@ (@adresse_site@)
|
||||||
|
|
||||||
|
idite na slijedeću adresu:
|
||||||
|
@sendcookie@
|
||||||
|
|
||||||
|
Tada možete unijeti novu lozinku i
|
||||||
|
ponovo dobiti pristup web stranicama.
|
||||||
|
',
|
||||||
|
'pass_mot_oublie' => 'lozinka zaboravljena',
|
||||||
|
'pass_nouveau_enregistre' => 'Vaša nova lozinka je upamćena.',
|
||||||
|
'pass_nouveau_pass' => 'nova lozinka',
|
||||||
|
'pass_ok' => 'OK',
|
||||||
|
'pass_oubli_mot' => 'lozinka zaboravljena',
|
||||||
|
'pass_procedure_changer' => 'Kako bismo promjenili vašu lozinku, moramo prvo provjeriti vaš identitet. Stoga nam morate navesti mail adresu pridruženu vašem korisničkom računu.',
|
||||||
|
'pass_quitter_fenetre' => 'napustiti ovaj prozor',
|
||||||
|
'pass_rappel_login' => 'podsjetnik: Vaše korisničko ime za prijavu (login) je "@login@".',
|
||||||
|
'pass_recevoir_mail' => 'Primit ćete mail sa uputama za povrat pristupa web stranicama.',
|
||||||
|
'pass_retour_public' => 'natrag u javno područje weba',
|
||||||
|
'pass_rien_a_faire_ici' => 'ovdje se nema što raditi.',
|
||||||
|
'pass_vousinscrire' => 'registrirati se na web stranicama',
|
||||||
|
'precedent' => 'prethodno',
|
||||||
|
'previsualisation' => 'provjeriti izgled',
|
||||||
|
'previsualiser' => 'pokazati izgled',
|
||||||
|
|
||||||
|
// R
|
||||||
|
'retour' => 'Povratak',
|
||||||
|
|
||||||
|
// S
|
||||||
|
'spip_conforme_dtd' => 'SPIP nalazi da je ova stranica u skladu sa njenim DOCTYPE:',
|
||||||
|
'squelette' => 'predložak',
|
||||||
|
'squelette_inclus_ligne' => 'sadržani predložak, linija',
|
||||||
|
'squelette_ligne' => 'predložak, linija',
|
||||||
|
'stats_visites_et_popularite' => 'posjete: @visites@; popularnost: @popularite@',
|
||||||
|
'suivant' => 'slijedeće',
|
||||||
|
|
||||||
|
// T
|
||||||
|
'taille_go' => '@taille@ Gb',
|
||||||
|
'taille_ko' => '@taille@ kb',
|
||||||
|
'taille_mo' => '@taille@ Mb',
|
||||||
|
'taille_octets' => '@taille@ bytes',
|
||||||
|
'texte_actualite_site_1' => 'Kad upoznate interface, kliknite na «',
|
||||||
|
'texte_actualite_site_2' => 'potpuni interface',
|
||||||
|
'texte_actualite_site_3' => '» da biste vidjeli više mogućnosti.',
|
||||||
|
'texte_creation_automatique_vignette' => 'Ovaj web automatski pravi male sličice. Ako pomoću ovog formulara instalirate slike formata @gd_formats@, od njih će biti automatski napravljene i male sličice veličine maksimalno @taille_preview@ točaka.',
|
||||||
|
'texte_documents_associes' => 'Slijedeći dokumenti pripadaju članku, ali nisu direkno uključeni u njega. Ovisno o izgledu javnog područja weba, oni se mogu tamo vidjeti kao pridruženi dokumenti.',
|
||||||
|
'texte_erreur_mise_niveau_base' => 'Greška u bazi podataka prilikom unapređenja verzije.
|
||||||
|
Slika <b>@fichier@</b> nije mogla biti preuzeta (članak @id_article@).<p>
|
||||||
|
Brižljivo zabilježite ove oznake, i zatim ponovo pokušajte unaprediti verziju.
|
||||||
|
Nakon toga provjerite da li se slike pojavljuju u člancima.',
|
||||||
|
'texte_erreur_visiteur' => 'Pokušali ste pristupiti privatnoj dijelu koristeći login koji to ne dozvoljava.',
|
||||||
|
'texte_inc_auth_1' => 'Vi se ste predstavili korisničkim imenom
|
||||||
|
<b>@auth_login@</b>, ali to korisničko ime ne postoji (više) u bazi podataka.
|
||||||
|
Pokušajte',
|
||||||
|
'texte_inc_auth_2' => 'se ponovo spojiti',
|
||||||
|
'texte_inc_auth_3' => ', nakon što ste zatvorili i ponovno pokrenuli Vaš browser.',
|
||||||
|
'texte_inc_config' => 'Izmjene u slijedećim podešavanjima imaju veliki utjecaj na funkcioniranje ovih web stranica. Savjetujemo Vam da ništa ne mijenjate, osim ako dobro poznajete ustrojstvo programa
|
||||||
|
SPIP. <br /><br /><b>Uopćeno rečeno, izričito vam savjetujemo da izmjene prepustite glavnom administratoru web stranica.</b>',
|
||||||
|
'texte_inc_meta_1' => 'Dogodila se greška prilikom pokušaja pisanja datoteke <code>@fichier@</code>. Ako ste Vi administrator, molim da',
|
||||||
|
'texte_inc_meta_2' => 'dozvole pristupa',
|
||||||
|
'texte_inc_meta_3' => 'za direktorij <code>@repertoire@</code>.',
|
||||||
|
'texte_statut_en_cours_redaction' => 'obrada u toku',
|
||||||
|
'texte_statut_poubelle' => 'obrisano',
|
||||||
|
'texte_statut_propose_evaluation' => 'podnešeno na provjeru',
|
||||||
|
'texte_statut_publie' => 'objavljeno',
|
||||||
|
'texte_statut_refuse' => 'odbačeno',
|
||||||
|
'titre_ajouter_mot_cle' => 'DODATI KLJUČNU RIJEČ:',
|
||||||
|
'titre_cadre_raccourcis' => 'PREČACI:',
|
||||||
|
'titre_changer_couleur_interface' => 'promjena boje interface-a',
|
||||||
|
'titre_image_admin_article' => 'Vi možete upravljati ovim člankom',
|
||||||
|
'titre_image_administrateur' => 'administrator',
|
||||||
|
'titre_image_aide' => 'pomoć za ovu stavku',
|
||||||
|
'titre_image_auteur_supprime' => 'autor obrisan',
|
||||||
|
'titre_image_redacteur' => 'autor bez pristupa',
|
||||||
|
'titre_image_redacteur_02' => 'autor',
|
||||||
|
'titre_image_selecteur' => 'Prikazati popis',
|
||||||
|
'titre_image_visiteur' => 'posjetitelj',
|
||||||
|
'titre_joindre_document' => 'PRIDRUŽITI DOKUMENT',
|
||||||
|
'titre_mots_cles' => 'KLJUČNE RIJEČI',
|
||||||
|
'titre_probleme_technique' => 'Upozorenje: tehnički problem (SQL poslužitelj) onemogućava pristup ovom dijelu weba. Hvala na razumijevanju.',
|
||||||
|
'titre_publier_document' => 'OBJAVITI DOKUMENT U OVOJ RUBRICI',
|
||||||
|
'titre_signatures_attente' => 'Potpisi koji čekaju na potvrdu',
|
||||||
|
'titre_signatures_confirmees' => 'Potvrđeni potpisi',
|
||||||
|
'titre_statistiques' => 'statistika web stranica',
|
||||||
|
'titre_titre_document' => 'naslov dokumenta:',
|
||||||
|
'todo' => 'u pripremi',
|
||||||
|
'trad_reference' => '(referentni članak)',
|
||||||
|
|
||||||
|
// Z
|
||||||
|
'zbug_balise_b_aval' => ': tag B se mora nalaziti prije petlje',
|
||||||
|
'zbug_balise_inexistante' => 'greška @from@: oznaka @balise@ ne postoji',
|
||||||
|
'zbug_balise_sans_argument' => 'Nedostaje parametar u oznaci @balise@',
|
||||||
|
'zbug_boucle' => 'petlja',
|
||||||
|
'zbug_boucle_recursive_undef' => 'nedefinirana rekurzivna petlja: @nom@',
|
||||||
|
'zbug_calcul' => 'proračun',
|
||||||
|
'zbug_champ_hors_boucle' => 'polje @champ@ van petlje',
|
||||||
|
'zbug_champ_hors_motif' => 'polje @champ@ van pripadajućeg konteksta (petlje) @motif@',
|
||||||
|
'zbug_code' => 'kod',
|
||||||
|
'zbug_critere_inconnu' => 'nepoznati kriterij @critere@',
|
||||||
|
'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} na tablici bez primarnog ključa',
|
||||||
|
'zbug_distant_interdit' => 'vanjski podaci zabranjeni',
|
||||||
|
'zbug_doublon_table_sans_cle_primaire' => 'Dvostruki zapisi u tablici koja ne posjeduje jednostavan primarni ključ',
|
||||||
|
'zbug_doublon_table_sans_index' => 'Dvostruki zapisi u tablici bez indeksa',
|
||||||
|
'zbug_erreur_boucle_double' => 'Petlja @id@: dvostruka definicija',
|
||||||
|
'zbug_erreur_boucle_fermant' => 'Petlja @id@: nedostaje zatvarajuća oznaka',
|
||||||
|
'zbug_erreur_boucle_syntaxe' => 'Nevaljana sintaksa petlje (BOUCLE) ',
|
||||||
|
'zbug_erreur_compilation' => 'Greška pri kompilaciji',
|
||||||
|
'zbug_erreur_execution_page' => 'Greška pri izvršenju',
|
||||||
|
'zbug_erreur_filtre' => 'Nedefiniran filter @filtre@',
|
||||||
|
'zbug_erreur_meme_parent' => '{meme_parent} je primjenljiv samo na (FORUMS) i (RUBRIQUES)',
|
||||||
|
'zbug_erreur_squelette' => 'greška (greške) u predlošku (template)',
|
||||||
|
'zbug_hors_compilation' => 'Nije kompilirano',
|
||||||
|
'zbug_info_erreur_squelette' => 'greška na web stranicama',
|
||||||
|
'zbug_inversion_ordre_inexistant' => 'Preokretanje nepostojećeg poretka',
|
||||||
|
'zbug_pagination_sans_critere' => 'Oznaka #PAGINATION bez kriterija {pagination}, ili korištena u rekurzivnoj petlji',
|
||||||
|
'zbug_parametres_inclus_incorrects' => 'Pogrešni parametri uključivanja: @param@',
|
||||||
|
'zbug_profile' => 'Vrijeme računanja: @time@',
|
||||||
|
'zbug_resultat' => 'rezultat',
|
||||||
|
'zbug_serveur_indefini' => 'SQL poslužitelj nedefiniran',
|
||||||
|
'zbug_statistiques' => 'Statistika SQL upita po redoslijedu trajanja',
|
||||||
|
'zbug_table_inconnue' => 'nepoznata SQL tabela "@table@"',
|
||||||
|
'zxml_connus_attributs' => 'poznata svojstva',
|
||||||
|
'zxml_de' => 'od',
|
||||||
|
'zxml_inconnu_attribut' => 'nepoznato svojstvo',
|
||||||
|
'zxml_inconnu_balise' => 'nepoznata oznaka',
|
||||||
|
'zxml_inconnu_entite' => 'nepoznati entitet',
|
||||||
|
'zxml_inconnu_id' => 'nepoznat ID',
|
||||||
|
'zxml_mais_de' => 'ali od',
|
||||||
|
'zxml_non_conforme' => 'ne odgovara načelu',
|
||||||
|
'zxml_non_fils' => 'nije dijete od',
|
||||||
|
'zxml_nonvide_balise' => 'oznaka nije prazna',
|
||||||
|
'zxml_obligatoire_attribut' => 'traženo svojstvo nedostaje u',
|
||||||
|
'zxml_succession_fils_incorrecte' => 'pogrešno naslijeđivanje',
|
||||||
|
'zxml_survoler' => 'da biste vidjeli ispravne, postavite kursor iznad ',
|
||||||
|
'zxml_valeur_attribut' => 'vrijednost svojstva',
|
||||||
|
'zxml_vide_balise' => 'prazna oznaka',
|
||||||
|
'zxml_vu' => 'već viđeno'
|
||||||
|
);
|
||||||
|
|
||||||
|
?>
|
735
sources/ecrire/lang/spip_oc_ni_mis.php
Normal file
735
sources/ecrire/lang/spip_oc_ni_mis.php
Normal file
|
@ -0,0 +1,735 @@
|
||||||
|
<?php
|
||||||
|
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
|
||||||
|
// extrait automatiquement de http://trad.spip.net/tradlang_module/spip?lang_cible=oc_ni_mis
|
||||||
|
// ** ne pas modifier le fichier **
|
||||||
|
|
||||||
|
if (!defined('_ECRIRE_INC_VERSION')) return;
|
||||||
|
|
||||||
|
$GLOBALS[$GLOBALS['idx_lang']] = array(
|
||||||
|
|
||||||
|
// 0
|
||||||
|
'0_URL' => 'http://listes.rezo.net/mailman/listinfo/spip-oc',
|
||||||
|
'0_langue' => 'Nissart (mistralenc) [oc_ni_mis]',
|
||||||
|
'0_liste' => 'spip-oc@rezo.net',
|
||||||
|
'0_mainteneur' => 'Sylvain Oliver : spip -at- oliver-fr.org',
|
||||||
|
|
||||||
|
// A
|
||||||
|
'access_interface_graphique' => 'Retour a l’interfaça gràfica coumpleta',
|
||||||
|
'access_mode_texte' => 'Afichà l’interfaça testuala simplificada',
|
||||||
|
'admin_debug' => 'debug',
|
||||||
|
'admin_modifier_article' => 'Moudificà aquel article',
|
||||||
|
'admin_modifier_auteur' => 'Moudificà aquel autour',
|
||||||
|
'admin_modifier_breve' => 'Moudificà aquela brèva',
|
||||||
|
'admin_modifier_mot' => 'Moudificà aqueu mot clau',
|
||||||
|
'admin_modifier_rubrique' => 'Moudificà aquela rùbrica',
|
||||||
|
'admin_recalculer' => 'Recarculà aquela pàgina',
|
||||||
|
'afficher_calendrier' => 'Afichà lou calendari',
|
||||||
|
'afficher_trad' => 'afichà li traducioun',
|
||||||
|
'alerte_maj_impossible' => '<b>Alèrta !</b> La metuda a jou de la basa SQL vers la versioun @version@ es empoussible ; magara que lì a un proublema relatiéu au drech de moudificà la basa de dounada. Vourguès countatà lou vouòstre aubergadour.',
|
||||||
|
'alerte_modif_info_concourante' => 'MÈFI : Aquela infourmacioun es estada moudificada d’un autre bias. La valour atuala es :',
|
||||||
|
'analyse_xml' => 'Analisa XML',
|
||||||
|
'annuler' => 'Anulà',
|
||||||
|
'antispam_champ_vide' => 'Vourguès laissà aqueu camp vuèi:',
|
||||||
|
'articles_recents' => 'Lu article mai rechent',
|
||||||
|
'avis_1_erreur_saisie' => 'Lì a 1 errour en la vouòstra sesìda, vourguès verificà li infourmacioun.',
|
||||||
|
'avis_archive_incorrect' => 'lou fichié arquivi noun es un fichié SPIP',
|
||||||
|
'avis_archive_invalide' => 'lou fichier arquivi noun es valid',
|
||||||
|
'avis_attention' => 'MÈFI !',
|
||||||
|
'avis_champ_incorrect_type_objet' => 'Noum de camp incourrect @name@ per un ouget de tìpou @type@',
|
||||||
|
'avis_colonne_inexistante' => 'La coulòna @col@ noun esista',
|
||||||
|
'avis_erreur' => 'Errour : veire aquì souta',
|
||||||
|
'avis_erreur_connexion' => 'Errour de counessioun',
|
||||||
|
'avis_erreur_cookie' => 'proublèma de cookie',
|
||||||
|
'avis_erreur_fonction_contexte' => 'Errour de prougramacioun. Noun apelà aquela founcioun en aqueu countest.',
|
||||||
|
'avis_erreur_mysql' => 'Errour SQL ',
|
||||||
|
'avis_erreur_sauvegarde' => 'Errour en la sauvagarda (@type@ @id_objet@) ! ',
|
||||||
|
'avis_erreur_visiteur' => 'Proublèma d’achès a l’espaci privat',
|
||||||
|
'avis_nb_erreurs_saisie' => 'Lì a @nb@ errour en la vouòstra sesìda, vourguès verificà li infourmacioun.',
|
||||||
|
|
||||||
|
// B
|
||||||
|
'barre_a_accent_grave' => 'Inscrì una A achèntou grave maiùscoula',
|
||||||
|
'barre_aide' => 'Utilisà li escourcha tipougràfiqui da enriquì la vouòstra coumpaginacioun',
|
||||||
|
'barre_e_accent_aigu' => 'Inscrì una E achèntou agut maiùscoula',
|
||||||
|
'barre_eo' => 'Inscrì una E en l’O',
|
||||||
|
'barre_eo_maj' => 'Inscrì una E en l’O maiùscoula',
|
||||||
|
'barre_euro' => 'Inscrì lou sìmbolou €',
|
||||||
|
'barre_gras' => 'Metre en {{gras}}',
|
||||||
|
'barre_guillemets' => 'Entourà embé de « virgouleta »',
|
||||||
|
'barre_guillemets_simples' => 'Entourà embé de “virgouleta de segount nivèu”',
|
||||||
|
'barre_intertitre' => 'Trasfourmà en {{{intertitre}}}',
|
||||||
|
'barre_italic' => 'Metre en {itàlicou}',
|
||||||
|
'barre_lien' => 'Trasfourmà en [estac ipertèst->http://...]',
|
||||||
|
'barre_lien_input' => 'Vourguès endicà l’adressa dóu vouòstre estac (poudès endicà una adressa web souta la forma http://www.loumieusit.com o simplamen endicà lou número d’un article d’aqueu sit).',
|
||||||
|
'barre_note' => 'Trasfourmà en [[Nota de bas de pàgina]]',
|
||||||
|
'barre_paragraphe' => 'Creà un paràgrafou',
|
||||||
|
'barre_quote' => '<quote>Cità un message</quote>',
|
||||||
|
'bouton_changer' => 'Cambià',
|
||||||
|
'bouton_chercher' => 'Cercà',
|
||||||
|
'bouton_choisir' => 'Chausì',
|
||||||
|
'bouton_deplacer' => 'Desplaçà',
|
||||||
|
'bouton_download' => 'Telecargà',
|
||||||
|
'bouton_enregistrer' => 'Registrà',
|
||||||
|
'bouton_radio_desactiver_messagerie_interne' => 'Desativà la messagerìa interna',
|
||||||
|
'bouton_radio_envoi_annonces' => 'Mandà lu anounci editourial',
|
||||||
|
'bouton_radio_non_envoi_annonces' => 'Noun mandà d’anounci',
|
||||||
|
'bouton_radio_non_envoi_liste_nouveautes' => 'Noun mandà la lista dei nouvità',
|
||||||
|
'bouton_recharger_page' => 'Recargà aquela pàgina',
|
||||||
|
'bouton_telecharger' => 'Telecargà',
|
||||||
|
'bouton_upload' => 'Televersà',
|
||||||
|
'bouton_valider' => 'Validà',
|
||||||
|
|
||||||
|
// C
|
||||||
|
'cal_apresmidi' => 'predinà',
|
||||||
|
'cal_jour_entier' => 'jou entié',
|
||||||
|
'cal_matin' => 'matin',
|
||||||
|
'cal_par_jour' => 'calendari per jou',
|
||||||
|
'cal_par_mois' => 'calendari per mès',
|
||||||
|
'cal_par_semaine' => 'calendari per semana',
|
||||||
|
'choix_couleur_interface' => 'coulou ',
|
||||||
|
'choix_interface' => 'chausida de l’interfaça',
|
||||||
|
'colonne' => 'Coulòna',
|
||||||
|
'confirm_changer_statut' => 'Mèfi, avès demandat de cambià l’estatut d’aquel elemen. Desiràs countinuà ?',
|
||||||
|
'correcte' => 'courret', # chaine utilisée dans le debugueur : "validation .. impossible" ou "validation .. correcte"
|
||||||
|
|
||||||
|
// D
|
||||||
|
'date_aujourdhui' => 'ancuèi',
|
||||||
|
'date_avant_jc' => 'avant lou Crist',
|
||||||
|
'date_dans' => 'en @delai@',
|
||||||
|
'date_de_mois_1' => '@j@ de genouié',
|
||||||
|
'date_de_mois_10' => '@j@ d’outobre',
|
||||||
|
'date_de_mois_11' => '@j@ de nouvembre',
|
||||||
|
'date_de_mois_12' => '@j@ de decembre',
|
||||||
|
'date_de_mois_2' => '@j@ de febrié',
|
||||||
|
'date_de_mois_3' => '@j@ de mars',
|
||||||
|
'date_de_mois_4' => '@j@ d’abriéu',
|
||||||
|
'date_de_mois_5' => '@j@ de mai',
|
||||||
|
'date_de_mois_6' => '@j@ de jugne',
|
||||||
|
'date_de_mois_7' => '@j@ de julhet',
|
||||||
|
'date_de_mois_8' => '@j@ d’aoust',
|
||||||
|
'date_de_mois_9' => '@j@ de setembre',
|
||||||
|
'date_demain' => 'deman',
|
||||||
|
'date_fmt_heures_minutes' => '@h@h@m@min',
|
||||||
|
'date_fmt_heures_minutes_court' => '@h@h@m@',
|
||||||
|
'date_fmt_jour' => '@nomjour@ @jour@',
|
||||||
|
'date_fmt_jour_heure' => '@jour@ à @heure@',
|
||||||
|
'date_fmt_jour_heure_debut_fin' => 'lou @jour@ de @heure_debut@ fin a @heure_fin@',
|
||||||
|
'date_fmt_jour_heure_debut_fin_abbr' => 'lou @dtstart@@jour@ de @heure_debut@@dtabbr@ fin a @dtend@@heure_fin@@dtabbr@',
|
||||||
|
'date_fmt_jour_mois' => 'lou @jourmois@',
|
||||||
|
'date_fmt_jour_mois_annee' => '@jourmois@ dóu @annee@',
|
||||||
|
'date_fmt_mois_annee' => '@nommois@ dóu @annee@',
|
||||||
|
'date_fmt_nomjour' => '@nomjour@ @date@',
|
||||||
|
'date_fmt_nomjour_date' => 'lou @nomjour@ @date@',
|
||||||
|
'date_fmt_periode' => 'Dau @date_debut@ fin a @date_fin@',
|
||||||
|
'date_fmt_periode_abbr' => 'Dau @dtart@@date_debut@@dtabbr@ fin a @dtend@@date_fin@@dtabbr@',
|
||||||
|
'date_fmt_periode_from' => 'Dau',
|
||||||
|
'date_fmt_periode_to' => 'fin a',
|
||||||
|
'date_fmt_saison_annee' => '@saison@ @annee@',
|
||||||
|
'date_heures' => 'oura',
|
||||||
|
'date_hier' => 'ier',
|
||||||
|
'date_il_y_a' => '@delai@ fa',
|
||||||
|
'date_jnum1' => '1er',
|
||||||
|
'date_jnum10' => '10',
|
||||||
|
'date_jnum11' => '11',
|
||||||
|
'date_jnum12' => '12',
|
||||||
|
'date_jnum13' => '13',
|
||||||
|
'date_jnum14' => '14',
|
||||||
|
'date_jnum15' => '15',
|
||||||
|
'date_jnum16' => '16',
|
||||||
|
'date_jnum17' => '17',
|
||||||
|
'date_jnum18' => '18',
|
||||||
|
'date_jnum19' => '19',
|
||||||
|
'date_jnum2' => '2',
|
||||||
|
'date_jnum20' => '20',
|
||||||
|
'date_jnum21' => '21',
|
||||||
|
'date_jnum22' => '22',
|
||||||
|
'date_jnum23' => '23',
|
||||||
|
'date_jnum24' => '24',
|
||||||
|
'date_jnum25' => '25',
|
||||||
|
'date_jnum26' => '26',
|
||||||
|
'date_jnum27' => '27',
|
||||||
|
'date_jnum28' => '28',
|
||||||
|
'date_jnum29' => '29',
|
||||||
|
'date_jnum3' => '3',
|
||||||
|
'date_jnum30' => '30',
|
||||||
|
'date_jnum31' => '31',
|
||||||
|
'date_jnum4' => '4',
|
||||||
|
'date_jnum5' => '5',
|
||||||
|
'date_jnum6' => '6',
|
||||||
|
'date_jnum7' => '7',
|
||||||
|
'date_jnum8' => '8',
|
||||||
|
'date_jnum9' => '9',
|
||||||
|
'date_jour_1' => 'dimènegue',
|
||||||
|
'date_jour_1_abbr' => 'dmg.',
|
||||||
|
'date_jour_1_initiale' => 'dg.',
|
||||||
|
'date_jour_2' => 'dilun',
|
||||||
|
'date_jour_2_abbr' => 'dil.',
|
||||||
|
'date_jour_2_initiale' => 'dl.',
|
||||||
|
'date_jour_3' => 'dimars',
|
||||||
|
'date_jour_3_abbr' => 'dmr.',
|
||||||
|
'date_jour_3_initiale' => 'dm.',
|
||||||
|
'date_jour_4' => 'dimècre',
|
||||||
|
'date_jour_4_abbr' => 'dmc.',
|
||||||
|
'date_jour_4_initiale' => 'dc.',
|
||||||
|
'date_jour_5' => 'dijòu',
|
||||||
|
'date_jour_5_abbr' => 'dij.',
|
||||||
|
'date_jour_5_initiale' => 'dj.',
|
||||||
|
'date_jour_6' => 'divendre',
|
||||||
|
'date_jour_6_abbr' => 'div.',
|
||||||
|
'date_jour_6_initiale' => 'dv.',
|
||||||
|
'date_jour_7' => 'dissata',
|
||||||
|
'date_jour_7_abbr' => 'dis.',
|
||||||
|
'date_jour_7_initiale' => 'ds.',
|
||||||
|
'date_jours' => 'jou',
|
||||||
|
'date_minutes' => 'minuta',
|
||||||
|
'date_mois' => 'mès',
|
||||||
|
'date_mois_1' => 'genouié',
|
||||||
|
'date_mois_10' => 'outobre',
|
||||||
|
'date_mois_10_abbr' => 'out.',
|
||||||
|
'date_mois_11' => 'nouvembre',
|
||||||
|
'date_mois_11_abbr' => 'nouv.',
|
||||||
|
'date_mois_12' => 'decembre',
|
||||||
|
'date_mois_12_abbr' => 'dec.',
|
||||||
|
'date_mois_1_abbr' => 'gen.',
|
||||||
|
'date_mois_2' => 'febrié',
|
||||||
|
'date_mois_2_abbr' => 'febr.',
|
||||||
|
'date_mois_3' => 'mars',
|
||||||
|
'date_mois_3_abbr' => 'mars',
|
||||||
|
'date_mois_4' => 'abriéu',
|
||||||
|
'date_mois_4_abbr' => 'abr.',
|
||||||
|
'date_mois_5' => 'mai',
|
||||||
|
'date_mois_5_abbr' => 'mai',
|
||||||
|
'date_mois_6' => 'jugne',
|
||||||
|
'date_mois_6_abbr' => 'jugne',
|
||||||
|
'date_mois_7' => 'julhet',
|
||||||
|
'date_mois_7_abbr' => 'julh.',
|
||||||
|
'date_mois_8' => 'aoust',
|
||||||
|
'date_mois_8_abbr' => 'aoust',
|
||||||
|
'date_mois_9' => 'setembre',
|
||||||
|
'date_mois_9_abbr' => 'set.',
|
||||||
|
'date_saison_1' => 'iver',
|
||||||
|
'date_saison_2' => 'prima',
|
||||||
|
'date_saison_3' => 'estiéu',
|
||||||
|
'date_saison_4' => 'autoun',
|
||||||
|
'date_secondes' => 'secounda',
|
||||||
|
'date_semaines' => 'semana',
|
||||||
|
'date_un_mois' => 'mès',
|
||||||
|
'date_une_heure' => 'oura',
|
||||||
|
'date_une_minute' => 'minuta',
|
||||||
|
'date_une_seconde' => 'secounda',
|
||||||
|
'date_une_semaine' => 'semana',
|
||||||
|
'dirs_commencer' => ' per fin de coumençà vertadieramen l’instalacioun',
|
||||||
|
'dirs_preliminaire' => 'Preliminari : <b>Reglà lu drech d’achès</b>',
|
||||||
|
'dirs_probleme_droits' => 'Proublèma de drech d’achès',
|
||||||
|
'dirs_repertoires_absents' => '<p><b>Lu repertori seguent noun soun estat troubat :</b></p><ul>@bad_dirs@.</ul>
|
||||||
|
<p>Si pòu que vengue d’un proublema de maiùscoula o minùscula mau metuda.
|
||||||
|
Verificàs que li minùscula e maiùscoula d’aquelu repertori courrespouòndon ben embé cen qu’es afichat
|
||||||
|
aquì soubre ; s’es pas lou cas, renoumàs lu repertori embé lou vouòstre lougiciau FTP per courregì l’errour.</p>
|
||||||
|
<p>Un còu qu’aurès fach acò, pourès ',
|
||||||
|
'dirs_repertoires_suivants' => '<p><b>Lu repertori seguent noun soun achessible en escritura :</b></p><ul>@bad_dirs@.</ul>
|
||||||
|
<p>Per lì remedià, utilisàs lou vouòstre client FTP per fin de reglà lu drech d’achès de cadun
|
||||||
|
d’aquelu repertori. La guida d’instalacioun espliga en detalh couma prouchedre.</p>
|
||||||
|
<p>Un còu aquesta manipulacioun facha, pourès ',
|
||||||
|
'double_occurrence' => 'Doubla ocurença de @balise@',
|
||||||
|
|
||||||
|
// E
|
||||||
|
'en_cours' => 'en cours',
|
||||||
|
'envoi_via_le_site' => 'Manda vìa lou sit web',
|
||||||
|
'erreur' => 'Errour',
|
||||||
|
'erreur_balise_non_fermee' => 'darrièra balisa noun clàusa :',
|
||||||
|
'erreur_technique_ajaxform' => 'Achident ! Una errour emprouvisa a empedit de soumetre lou fourmulari. Poudès encara prouvà.',
|
||||||
|
'erreur_technique_enregistrement_champs' => 'Una errour tecnicala a empedit de ben registrà lou camp @champs@.',
|
||||||
|
'erreur_technique_enregistrement_impossible' => 'Una errour tecnicala a empedit lou registramen.',
|
||||||
|
'erreur_texte' => 'errour',
|
||||||
|
'etape' => 'Tapa',
|
||||||
|
|
||||||
|
// F
|
||||||
|
'fichier_introuvable' => 'Fichié @fichier@ introuvable',
|
||||||
|
'form_auteur_confirmation' => 'Counfirmàs la vouòstra adressa email',
|
||||||
|
'form_auteur_email_modifie' => 'La vouòstra adressa email a estada moudificada.',
|
||||||
|
'form_auteur_envoi_mail_confirmation' => 'Un courrié electrònicou de counfirmacioun a estat mandat a @email@. Deurès visità l’adressa Web menciounada en aqueu courrié pèr validà la vouòstra adressa mail.',
|
||||||
|
'form_auteur_mail_confirmation' => 'Bouònjou,
|
||||||
|
|
||||||
|
Avès demandat à changà la vouòstra adressa e-mail.
|
||||||
|
Pèr counfirmà la vouòstra adressa nova, devès vi counetà pèr
|
||||||
|
l’adressa aquì souta (senoun la vouòstra demanda
|
||||||
|
sera ignourada) :
|
||||||
|
|
||||||
|
@url@
|
||||||
|
',
|
||||||
|
'form_deja_inscrit' => 'Sias ja inscrich.',
|
||||||
|
'form_email_non_valide' => 'La vouòstra adressa e-mail noun es valida.',
|
||||||
|
'form_forum_access_refuse' => 'Poudès pu achèdre en estou sit.',
|
||||||
|
'form_forum_bonjour' => 'Bouònjou,',
|
||||||
|
'form_forum_confirmer_email' => 'Pèr counfirmà la vouòstra adressa e-mail, anàs en aquela adressa : @url_confirm@',
|
||||||
|
'form_forum_email_deja_enregistre' => 'Aquela adressa e-mail es ja registrada, poudès dounca utilisà lou vouòstre mot de passa abitual.',
|
||||||
|
'form_forum_identifiant_mail' => 'Lou vouòstre nouvèl identificant ven de v’èstre mandat da e-mail.',
|
||||||
|
'form_forum_identifiants' => 'Identificant persounal',
|
||||||
|
'form_forum_indiquer_nom_email' => 'Endicàs aquí lou vouòstre noum e la vouòstra adressa e-mail. Lou vouòstre identificant persounal arriberà rapidamen, da courrié electrònicou.',
|
||||||
|
'form_forum_login' => 'login :',
|
||||||
|
'form_forum_message_auto' => '(aquò es un message automatic)',
|
||||||
|
'form_forum_pass' => 'mot de passa :',
|
||||||
|
'form_forum_probleme_mail' => 'Proublèma d’e-mail : l’identificant noun pòu estre mandat.',
|
||||||
|
'form_forum_voici1' => 'Vèqui lu vouòstre identificant pèr poudé participà à la vida dóu sit "@nom_site_spip@" (@adresse_site@) :',
|
||||||
|
'form_forum_voici2' => 'Vèqui lu vouòstre identificant pèr proupausà d’article
|
||||||
|
sus lou sit "@nom_site_spip@" (@adresse_login@) :',
|
||||||
|
'form_indiquer_email' => 'Vourguès endicà la vouòstra adressa e-mail.',
|
||||||
|
'form_indiquer_nom' => 'Vourguès endicà lou vouòstre noum.',
|
||||||
|
'form_indiquer_nom_site' => 'Vourguès endicà lou noum dóu vouòstre sit.',
|
||||||
|
'form_pet_deja_enregistre' => 'Aqueu sit es ja registrat',
|
||||||
|
'form_pet_signature_pasprise' => 'La vouòstra firma es pas pilhada en conte.',
|
||||||
|
'form_prop_confirmer_envoi' => 'Counfirmà l’espedissioun',
|
||||||
|
'form_prop_description' => 'Descricioun/coumentari',
|
||||||
|
'form_prop_enregistre' => 'La vouòstra proupòsta es registrada, apareisserà en ligna après validacioun dei respounsable dóu sit.',
|
||||||
|
'form_prop_envoyer' => 'Mandà un message',
|
||||||
|
'form_prop_indiquer_email' => 'Vourguès endicà una adressa e-mail valida',
|
||||||
|
'form_prop_indiquer_nom_site' => 'Vourguès endicà lou noum dóu sit.',
|
||||||
|
'form_prop_indiquer_sujet' => 'Vourguès endicà un soujet',
|
||||||
|
'form_prop_message_envoye' => 'Message mandat',
|
||||||
|
'form_prop_non_enregistre' => 'La vouòstra proupòsta es pas estada registrada.',
|
||||||
|
'form_prop_sujet' => 'Soujet',
|
||||||
|
'form_prop_url_site' => 'Adressa URL dóu sit',
|
||||||
|
'forum_non_inscrit' => 'Noun sias inscrich, o l’adressa o lou mot de passa es erróneou.',
|
||||||
|
'forum_par_auteur' => 'per @auteur@',
|
||||||
|
'forum_titre_erreur' => 'Errour...',
|
||||||
|
|
||||||
|
// I
|
||||||
|
'ical_texte_rss_articles' => 'Lou fichié « backend » dei article d’estou sit si troba a l’adressa :',
|
||||||
|
'ical_texte_rss_articles2' => 'Poudès finda outenì de fichié « backend » per lu article de cada rùbrica dóu sit :',
|
||||||
|
'ical_texte_rss_breves' => 'Esìsta de mai un fichié countenant li brèva dóu sit. En prechisant un nùmero de rùbrica, outendrès basta li brèva d’aquela rùbrica.',
|
||||||
|
'icone_a_suivre' => 'Da sègre',
|
||||||
|
'icone_admin_site' => 'Aministracioun dóu sit',
|
||||||
|
'icone_agenda' => 'Agenda',
|
||||||
|
'icone_aide_ligne' => 'Ajuda',
|
||||||
|
'icone_articles' => 'Article',
|
||||||
|
'icone_auteurs' => 'Autour',
|
||||||
|
'icone_brouteur' => 'Navigacioun rapida',
|
||||||
|
'icone_configuration_site' => 'Counfiguracioun',
|
||||||
|
'icone_configurer_site' => 'Counfigurà lou vouòstre sit',
|
||||||
|
'icone_creer_nouvel_auteur' => 'Creà un nouvel autour',
|
||||||
|
'icone_creer_rubrique' => 'Creà una rùbrica',
|
||||||
|
'icone_creer_sous_rubrique' => 'Creà una souta-rùbrica',
|
||||||
|
'icone_deconnecter' => 'Si descounetà',
|
||||||
|
'icone_discussions' => 'Discussioun',
|
||||||
|
'icone_doc_rubrique' => 'Doucumen dei rùbrica',
|
||||||
|
'icone_ecrire_article' => 'Escrieure un novèl article',
|
||||||
|
'icone_edition_site' => 'Edicioun',
|
||||||
|
'icone_gestion_langues' => 'Gestioun dei lenga',
|
||||||
|
'icone_informations_personnelles' => 'Infourmacioun persounali',
|
||||||
|
'icone_interface_complet' => 'interfaça coumpleta',
|
||||||
|
'icone_interface_simple' => 'Interfaça simplificada',
|
||||||
|
'icone_maintenance_site' => 'Mantenença dóu sit',
|
||||||
|
'icone_messagerie_personnelle' => 'Messagerìa persounala',
|
||||||
|
'icone_repartition_debut' => 'Afichà la reparticioun despì lou prencìpi',
|
||||||
|
'icone_rubriques' => 'Rùbrica',
|
||||||
|
'icone_sauver_site' => 'Sauvagarda dóu sit',
|
||||||
|
'icone_site_entier' => 'Tout lou sit',
|
||||||
|
'icone_sites_references' => 'Sit referençat',
|
||||||
|
'icone_statistiques' => 'Estatìstica dóu sit',
|
||||||
|
'icone_suivi_activite' => 'Sègre la vida dóu sit',
|
||||||
|
'icone_suivi_actualite' => 'Evoulucioun dóu sit',
|
||||||
|
'icone_suivi_pettions' => 'Sègre/gerà li peticioun',
|
||||||
|
'icone_suivi_revisions' => 'Moudificacioun dei article',
|
||||||
|
'icone_supprimer_document' => 'Suprimà aqueu doucumen',
|
||||||
|
'icone_supprimer_image' => 'Suprimà aquela image',
|
||||||
|
'icone_tous_articles' => 'Toui lu vouòstre article',
|
||||||
|
'icone_tous_auteur' => 'Toui lu autour',
|
||||||
|
'icone_tous_visiteur' => 'Toui lu visitaire',
|
||||||
|
'icone_visiter_site' => 'Veire lou sit pùblicou',
|
||||||
|
'icone_voir_en_ligne' => 'Veire en ligna',
|
||||||
|
'img_indisponible' => 'image indispounible',
|
||||||
|
'impossible' => 'empoussible',
|
||||||
|
'info_a_suivre' => 'DA SÈGRE »',
|
||||||
|
'info_acces_interdit' => 'Achès prouhibit',
|
||||||
|
'info_acces_refuse' => 'Achès refudat',
|
||||||
|
'info_action' => 'Acioun : @action@',
|
||||||
|
'info_administrer_rubriques' => 'Poudès aministrà aquela rùbrica e li sieu souta-rùbrica',
|
||||||
|
'info_adresse_non_indiquee' => 'Noun avès endicat d’adressa a prouvà !',
|
||||||
|
'info_aide' => 'AJUDA:',
|
||||||
|
'info_ajouter_mot' => 'Ajustà aqueu mot',
|
||||||
|
'info_annonce' => 'ANOUNCI',
|
||||||
|
'info_annonces_generales' => 'Anounci general :',
|
||||||
|
'info_article_propose' => 'Article proupausat',
|
||||||
|
'info_article_publie' => 'Article publicat',
|
||||||
|
'info_article_redaction' => 'Article en cours de redacioun',
|
||||||
|
'info_article_refuse' => 'Article refudat',
|
||||||
|
'info_article_supprime' => 'Article suprimat',
|
||||||
|
'info_articles' => 'Article',
|
||||||
|
'info_articles_a_valider' => 'Lu article a validà',
|
||||||
|
'info_articles_nb' => '@nb@ article',
|
||||||
|
'info_articles_proposes' => 'Article proupausat',
|
||||||
|
'info_articles_un' => '1 article',
|
||||||
|
'info_auteurs_nombre' => 'autour',
|
||||||
|
'info_authentification_ftp' => 'autentificacioun (da FTP).',
|
||||||
|
'info_breves_2' => 'brèva',
|
||||||
|
'info_breves_nb' => '@nb@ brèva',
|
||||||
|
'info_breves_un' => '1 brèva',
|
||||||
|
'info_connexion_refusee' => 'Counessioun refusada',
|
||||||
|
'info_contact_developpeur' => 'Vourguès countatà un desfouloupaire.',
|
||||||
|
'info_contenance' => 'Aqueu sit couten :',
|
||||||
|
'info_contribution' => 'countribucioun',
|
||||||
|
'info_copyright' => '@spip@ es un lougiciau lìberou distribuit @lien_gpl@.',
|
||||||
|
'info_copyright_doc' => 'Per mai d’infourmacioun, veire lou sit <a href="@spipnet@">@spipnet_affiche@</a>.',
|
||||||
|
'info_copyright_gpl' => 'souta lichença GPL',
|
||||||
|
'info_cours_edition' => 'Lu vouòstre article en cours de redacioun',
|
||||||
|
'info_creer_repertoire' => 'Vourguès creà un fichié o un repertori noumat',
|
||||||
|
'info_creer_repertoire_2' => 'en dintre dóu souta-repertori <b>@repertoire@</b>, pi :',
|
||||||
|
'info_creer_vignette' => 'creacioun autoumatica de la vigneta',
|
||||||
|
'info_creerdansrubrique_non_autorise' => 'Noun avès lu drech suficient pèr creà un countegut en aquela rùbrica',
|
||||||
|
'info_deplier' => 'Desplegà',
|
||||||
|
'info_descriptif_nombre' => 'descritiéu :',
|
||||||
|
'info_description' => 'Descricioun :',
|
||||||
|
'info_description_2' => 'Descricioun :',
|
||||||
|
'info_dimension' => 'Dimensioun :',
|
||||||
|
'info_documents_nb' => '@nb@ doucumen',
|
||||||
|
'info_documents_un' => '1 doucumen',
|
||||||
|
'info_ecire_message_prive' => 'Escrieure un message privat',
|
||||||
|
'info_email_invalide' => 'Adressa e-mail invalida',
|
||||||
|
'info_en_cours_validation' => 'Lu vouòstre article en cours de redacioun',
|
||||||
|
'info_en_ligne' => 'Ahura en ligna :',
|
||||||
|
'info_envoyer_message_prive' => 'Mandà un message privat en aquel autour',
|
||||||
|
'info_erreur_requete' => 'Errour en la requesta :',
|
||||||
|
'info_erreur_squelette2' => 'Minga d’esquèletrou <b>@fichier@</b> es dispounibla...',
|
||||||
|
'info_erreur_systeme' => 'Errour sistèma (errno @errsys@)',
|
||||||
|
'info_erreur_systeme2' => 'Bessai que lou disc dur es plen, o la basa de dounada es degalhada.<br />
|
||||||
|
<span style="color:red;">Prouvàs de <a href=\'@script@\'>reparà la basa</a>, o countatàs lou vouòstre aubergadour.</span>',
|
||||||
|
'info_fini' => 'Es acabat !',
|
||||||
|
'info_format_image' => 'Fourmat d’image que pouòdon èstre utilisat pèr creà de vigneta : @gd_formats@.',
|
||||||
|
'info_format_non_defini' => 'fourmat noun definit',
|
||||||
|
'info_grand_ecran' => 'Gran ecran',
|
||||||
|
'info_image_aide' => 'AJUDA',
|
||||||
|
'info_image_process_titre' => 'Mètodou de fabricacioun dei vigneta',
|
||||||
|
'info_impossible_lire_page' => '<b>Errour !</b> Empoussible de legì la pàgina <tt><html>@test_proxy@</html></tt> pèr lou proxy <tt>',
|
||||||
|
'info_installation_systeme_publication' => 'Instalacioun dóu sistema de publicacioun...',
|
||||||
|
'info_installer_documents' => 'Poudès instalà autoumaticamen toui lu doucumen contengut en lou doussié @upload@.',
|
||||||
|
'info_installer_ftp' => 'En la mesura doun sias aministratour, poudès instalà (per FTP) de fichié en lou doussié @upload@ pi lu seleciounà aquì.',
|
||||||
|
'info_installer_images' => 'Poudès instalà d’image ai fourmat JPEG, GIF e PNG.',
|
||||||
|
'info_installer_images_dossier' => 'Instalà d’image en lou doussié @upload@ per lu poudé seleciounà aquí.',
|
||||||
|
'info_interface_complete' => 'interfaça coumpleta',
|
||||||
|
'info_interface_simple' => 'Interfaça simplificada',
|
||||||
|
'info_joindre_document_article' => 'Poudès jougné en aquel article de doucumen de tìpou',
|
||||||
|
'info_joindre_document_rubrique' => 'Poudès jougné en aquela rùbrica de doucumen de tìpou',
|
||||||
|
'info_joindre_documents_article' => 'Poudès jougné dau vouòstre article de doucumen de tìpou :',
|
||||||
|
'info_l_article' => 'l’article',
|
||||||
|
'info_la_breve' => 'la brèva',
|
||||||
|
'info_la_rubrique' => 'la rùbrica',
|
||||||
|
'info_langue_principale' => 'Lenga principala dóu sit',
|
||||||
|
'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixel',
|
||||||
|
'info_les_auteurs_1' => 'per @les_auteurs@ ',
|
||||||
|
'info_logo_format_interdit' => 'Basta lu logo de fourmat @formats@ soun autourisat.',
|
||||||
|
'info_logo_max_poids' => 'Lu logo devon oubligatoriamen faire mens de @maxi@ (aquèu fichié fa @actuel@).',
|
||||||
|
'info_mail_fournisseur' => 'vous@fournissur.com',
|
||||||
|
'info_message_2' => 'MESSAGE',
|
||||||
|
'info_message_supprime' => 'MESSAGE SUPRIMAT',
|
||||||
|
'info_messages_nb' => '@nb@ message',
|
||||||
|
'info_messages_un' => '1 message',
|
||||||
|
'info_mise_en_ligne' => 'Data de metuda en ligna :',
|
||||||
|
'info_modification_parametres_securite' => 'modificacioun dei parametre de segurtà',
|
||||||
|
'info_mois_courant' => 'En cours de mes:',
|
||||||
|
'info_mot_cle_ajoute' => 'Lou mot clau seguent es estat ajustat a ',
|
||||||
|
'info_multi_herit' => 'Lenga predefinida',
|
||||||
|
'info_multi_langues_soulignees' => 'Li <u>lenga soulignada</u> beneficioun d’una traducioun toutala o partiala dei test de l’interfaça. Se seleciounàs aqueli lenga, touplen d’elemen dóu sit public (data, fourmulari) seran traduch autoumaticamen. Per li lenga noun soulinhadi, aquelu elemen apareisseran en la lenga principala dóu sit.',
|
||||||
|
'info_multilinguisme' => 'Multilenguisme',
|
||||||
|
'info_nom_non_utilisateurs_connectes' => 'Lou vouòstre noum noun aparèisse en la lista dei utilisaire counetat.',
|
||||||
|
'info_nom_utilisateurs_connectes' => 'Lou vouòstre noum aparèisse en la lista dei utilisaire counetat.',
|
||||||
|
'info_nombre_en_ligne' => 'Ahura en ligna :',
|
||||||
|
'info_non_resultat' => 'Minga de resultat per "@cherche_mot@"',
|
||||||
|
'info_non_utilisation_messagerie' => 'Noun utilisàs la messagerìa interna d’estou sit.',
|
||||||
|
'info_nouveau_message' => 'AVÈS UN NOUVÈU MESSAGE',
|
||||||
|
'info_nouveaux_messages' => 'AVÈS @total_messages@ NOUVÈU MESSAGE',
|
||||||
|
'info_numero_abbreviation' => 'N° ',
|
||||||
|
'info_obligatoire' => 'Aquela infourmacioun es oubligatorìa',
|
||||||
|
'info_pense_bete' => 'NOTA DE RENEMBRANÇA ',
|
||||||
|
'info_petit_ecran' => 'Pichoun ecran',
|
||||||
|
'info_petition_close' => 'Peticioun plugada',
|
||||||
|
'info_pixels' => 'pixel',
|
||||||
|
'info_plusieurs_mots_trouves' => 'Plusiur mot clau troubat per "@cherche_mot@":',
|
||||||
|
'info_portfolio_automatique' => 'Pouòrtafoliò automatic :',
|
||||||
|
'info_premier_resultat' => '[@debut_limit@ premié resultat de @total@]',
|
||||||
|
'info_premier_resultat_sur' => ' [@debut_limit@ premié resultat de @total@]',
|
||||||
|
'info_propose_1' => '[@nom_site_spip@] proupausa : @titre@',
|
||||||
|
'info_propose_2' => 'Article proupausat
|
||||||
|
----------------',
|
||||||
|
'info_propose_3' => 'L’article "@titre@" es proupausat a la publicacioun.',
|
||||||
|
'info_propose_4' => 'Sias counvidat a lou venì counsultà e a dounà la vouòstra oupinioun',
|
||||||
|
'info_propose_5' => 'en lou fòrou que li es estacat. Es dispounibla a l’adressa :',
|
||||||
|
'info_publie_01' => 'L’article "@titre@" es estat validat per @connect_nom@.',
|
||||||
|
'info_publie_1' => '[@nom_site_spip@] PUBLICA : @titre@',
|
||||||
|
'info_publie_2' => 'Article publicat
|
||||||
|
----------------',
|
||||||
|
'info_rechercher' => 'Recercà',
|
||||||
|
'info_rechercher_02' => 'Recercà :',
|
||||||
|
'info_remplacer_vignette' => 'Remplaçà la vigneta predefinida per un logo persounalisat :',
|
||||||
|
'info_rubriques_nb' => '@nb@ rùbrica',
|
||||||
|
'info_rubriques_un' => '1 rùbrica',
|
||||||
|
'info_sans_titre_2' => 'sensa titre',
|
||||||
|
'info_selectionner_fichier' => 'Poudès seleciounà un fichié dóu doussié @upload@',
|
||||||
|
'info_selectionner_fichier_2' => 'Seleciounà un fichié :',
|
||||||
|
'info_sites_nb' => '@nb@ sit',
|
||||||
|
'info_sites_un' => '1 sit',
|
||||||
|
'info_supprimer_vignette' => 'suprimà la vigneta',
|
||||||
|
'info_symbole_bleu' => 'Lou sìmbolou <b>blu</b> marca una <b>nota de renembrança</b> : es a dire un message dóu vouòstre usage persounal.',
|
||||||
|
'info_symbole_jaune' => 'Lou sìmbolou <b>jaune</b> marca un <b>anounci per toui lu redatour </b>: lu aministratour la pouòdon moudificà, cada redatour la pòu veire.',
|
||||||
|
'info_symbole_vert' => 'Lou sìmbolou <b>vert</b> marca lu <b>message cambiat embé d’autre utilisaire</b> dóu sit.',
|
||||||
|
'info_telecharger_nouveau_logo' => 'Telecargà un nouvèu logo :',
|
||||||
|
'info_telecharger_ordinateur' => 'Telecargà dau vouòstre ourdinatour :',
|
||||||
|
'info_tous_resultats_enregistres' => '[toui lu resultat soun registrat]',
|
||||||
|
'info_tout_afficher' => 'Tout afichà',
|
||||||
|
'info_travaux_texte' => 'Estou sit es pas encara counfigurat. Tournès pu tardi...',
|
||||||
|
'info_travaux_titre' => 'Sit en obra',
|
||||||
|
'info_trop_resultat' => 'Tròu de resultat per "@cherche_mot@" ; vourguès afinà la recercà.',
|
||||||
|
'info_utilisation_messagerie_interne' => 'Utilisàs la messagerìa interna d’estou sit.',
|
||||||
|
'info_valider_lien' => 'validà aquel estac',
|
||||||
|
'info_verifier_image' => ', vourguès verificà que li vouòstri image soun estadi trasferidi courretamen.',
|
||||||
|
'info_vignette_defaut' => 'Vigneta predefinida',
|
||||||
|
'info_vignette_personnalisee' => 'Vigneta persounalisada',
|
||||||
|
'info_visite' => 'visita :',
|
||||||
|
'info_vos_rendez_vous' => 'Lu vouòstre apountamen a venì',
|
||||||
|
'infos_vos_pense_bete' => 'Li vouòstri nota de renembrança ',
|
||||||
|
|
||||||
|
// L
|
||||||
|
'label_ajout_id_rapide' => 'Ajountamen rapide',
|
||||||
|
'label_poids_fichier' => 'Tàia',
|
||||||
|
'lien_afficher_icones_seuls' => 'Afichà li icona souleti',
|
||||||
|
'lien_afficher_texte_icones' => 'Afichà li icona e lou test',
|
||||||
|
'lien_afficher_texte_seul' => 'Afichà lou test soulet',
|
||||||
|
'lien_liberer' => 'liberà',
|
||||||
|
'lien_liberer_tous' => 'Liberà tout',
|
||||||
|
'lien_nouvea_pense_bete' => 'NOUVÈLA NOTA DE RENEMBRANÇA ',
|
||||||
|
'lien_nouveau_message' => 'NOVÈU MESSAGE',
|
||||||
|
'lien_nouvelle_annonce' => 'NOVÈL ANOUNCI',
|
||||||
|
'lien_petitions' => 'PETICIOUN',
|
||||||
|
'lien_popularite' => 'poupularità : @popularite@%',
|
||||||
|
'lien_racine_site' => 'RAÏS DÓU SIT',
|
||||||
|
'lien_reessayer' => 'reprouvà',
|
||||||
|
'lien_repondre_message' => 'Respouòndre en aqueu message',
|
||||||
|
'lien_supprimer' => 'suprimà',
|
||||||
|
'lien_tout_afficher' => 'Tout afichà',
|
||||||
|
'lien_visite_site' => 'visità aqueu sit',
|
||||||
|
'lien_visites' => '@visites@ visita',
|
||||||
|
'lien_voir_auteur' => 'Veire aquel autour',
|
||||||
|
'ligne' => 'Ligna',
|
||||||
|
'login' => 'Counessioun',
|
||||||
|
'login_acces_prive' => 'achès a l’espaci privat',
|
||||||
|
'login_autre_identifiant' => 'si counetà embé un autre identificant',
|
||||||
|
'login_cookie_accepte' => 'Vourguès counfigurà lou vouòstre navigatour per que lu acheta (au màncou per estou sit).',
|
||||||
|
'login_cookie_oblige' => 'Per v’identificà d’una manièra segura soubre estou sit, vi còu achetà lu cookie.',
|
||||||
|
'login_deconnexion_ok' => 'Descounessioun efetuada',
|
||||||
|
'login_erreur_pass' => 'Errour de mot de passa.',
|
||||||
|
'login_espace_prive' => 'espaci privat',
|
||||||
|
'login_identifiant_inconnu' => 'L’identificant « @login@ » es escounouissut.',
|
||||||
|
'login_login' => 'Login :',
|
||||||
|
'login_login2' => 'Login o adressa email:',
|
||||||
|
'login_login_pass_incorrect' => '(Login o mot de passa incourret.)',
|
||||||
|
'login_motpasseoublie' => 'mot de passa denembrat ?',
|
||||||
|
'login_non_securise' => 'Mèfi, qu’aqueu fourmulari es pas securisat.
|
||||||
|
Se noun voulès que lou vouòstre mot de passa sigue
|
||||||
|
interchetat sus la taragnina, vourguès ativà Javascript
|
||||||
|
en lou vouòstre navigatour e',
|
||||||
|
'login_nouvelle_tentative' => 'nouvèla tentativa',
|
||||||
|
'login_par_ici' => 'Sias registrat... per aquì...',
|
||||||
|
'login_pass2' => 'Mot de passa :',
|
||||||
|
'login_preferez_refuser' => '<b>Se preferas refudà lu cookie</b>, un autre mètodou de counessioun (mens securisat) es a la vouòstra dispousicioun :',
|
||||||
|
'login_recharger' => 'Recargà aquela pàgina',
|
||||||
|
'login_rester_identifie' => 'Restà identificat quauqu jou',
|
||||||
|
'login_retour_public' => 'Retour au sit pùblicou',
|
||||||
|
'login_retour_site' => 'Retour au sit pùblicou',
|
||||||
|
'login_retoursitepublic' => 'retour au sit pùblicou',
|
||||||
|
'login_sans_cookiie' => 'Identificacioun sensa cookie',
|
||||||
|
'login_securise' => 'Login securisat',
|
||||||
|
'login_sinscrire' => 's’inscriéure',
|
||||||
|
'login_test_navigateur' => 'prouva navigatour/recounessioun',
|
||||||
|
'login_verifiez_navigateur' => '(verificas pura que lou vouòstre navigatour noun àugue counservat lou mot de passa en memòria...)',
|
||||||
|
|
||||||
|
// M
|
||||||
|
'masquer_colonne' => 'Escoundre aquela coulòna',
|
||||||
|
'masquer_trad' => 'Escoundre li traducioun',
|
||||||
|
'module_fichiers_langues' => 'Fichié de lenga',
|
||||||
|
|
||||||
|
// N
|
||||||
|
'navigateur_pas_redirige' => 'Se lou vouòstre navigatour noun es redirigiat, clicàs aquí per continuà.',
|
||||||
|
'numero' => 'Nùmero',
|
||||||
|
|
||||||
|
// O
|
||||||
|
'occurence' => 'Ocurença',
|
||||||
|
'onglet_affacer_base' => 'Escassà la basa',
|
||||||
|
'onglet_auteur' => 'L’autour',
|
||||||
|
'onglet_contenu_site' => 'Countengut dóu sit',
|
||||||
|
'onglet_evolution_visite_mod' => 'Evoulucioun',
|
||||||
|
'onglet_fonctions_avances' => 'Founcioun avançadi',
|
||||||
|
'onglet_informations_personnelles' => 'Infourmacioun persounali',
|
||||||
|
'onglet_interactivite' => 'Interatività',
|
||||||
|
'onglet_messagerie' => 'Messagerìa',
|
||||||
|
'onglet_repartition_rubrique' => 'Reparticioun da rùbrica',
|
||||||
|
'onglet_save_restaur_base' => 'Sauvagardà/restaurà la basa',
|
||||||
|
'onglet_vider_cache' => 'Vuà l’amagadou',
|
||||||
|
|
||||||
|
// P
|
||||||
|
'pass_choix_pass' => 'Vourguès chausì lou vouòstre nouvèu mot de passa :',
|
||||||
|
'pass_erreur' => 'Errour',
|
||||||
|
'pass_erreur_acces_refuse' => '<b>Errour :</b> poudès plus achèdre en aqueu sit.',
|
||||||
|
'pass_erreur_code_inconnu' => '<b>Errour :</b> aquestou code courrespouònde a mìnga de visitaire qu’an achès en estou sit.',
|
||||||
|
'pass_erreur_non_enregistre' => '<b>Errour :</b> l’adressa <tt>@email_oubli@</tt> noun es registrada soubre estou sit.',
|
||||||
|
'pass_erreur_non_valide' => '<b>Errour :</b> aquel e-mail <tt>@email_oubli@</tt> noun es valid !',
|
||||||
|
'pass_erreur_probleme_technique' => '<b>Errour :</b> per l’encausa d’un proublema tècnicou, l’e-mail noun si pòu estre mandat. ',
|
||||||
|
'pass_espace_prive_bla' => 'L’espaci privat d’estou sit es dubèrt ai
|
||||||
|
visitaire que si soun inscrich. Un còu registrat,
|
||||||
|
pourès counsultà lu article en cours de redacioun,
|
||||||
|
proupausà d’article nouvèu e participà a toui lu fòrou.',
|
||||||
|
'pass_forum_bla' => 'Avès demandat d’intervenì en un fòrou
|
||||||
|
reservat ai visitaire registrat.',
|
||||||
|
'pass_indiquez_cidessous' => 'Endicàs aquì souta l’adressa e-mail qu’avès
|
||||||
|
prechendetemen registrat.
|
||||||
|
Receverès un e-mail que v’endiquerà couma
|
||||||
|
reavé lou vouòstre achès.',
|
||||||
|
'pass_mail_passcookie' => '(acò es un message autoumatic)
|
||||||
|
Per reavé lou vouòstre achès au sit
|
||||||
|
@nom_site_spip@ (@adresse_site@)
|
||||||
|
|
||||||
|
Vourguès anà a l’adressa seguenta:
|
||||||
|
|
||||||
|
@sendcookie@
|
||||||
|
|
||||||
|
Pouràs intrà un mot de passa nouvèu
|
||||||
|
e vi recounetà au sit.
|
||||||
|
|
||||||
|
',
|
||||||
|
'pass_mot_oublie' => 'Mot de passa denembrat',
|
||||||
|
'pass_nouveau_enregistre' => 'Lou vouòstre nouvèu mot de passa es estat registrat.',
|
||||||
|
'pass_nouveau_pass' => 'Mot de passa nouvèu',
|
||||||
|
'pass_ok' => 'OK',
|
||||||
|
'pass_oubli_mot' => 'Denembrança dóu mot de passa',
|
||||||
|
'pass_procedure_changer' => 'Per changà lou vouòstre mot de passa, deven en premié verificà la vouòstra identità. Per acò, endicàs l’adressa e-mail assouciada au vouòstre conte.',
|
||||||
|
'pass_quitter_fenetre' => 'Quitar aquesta fenèstra ',
|
||||||
|
'pass_rappel_login' => 'Renembrança: lo voastre identificant (login) es « @login@ ».',
|
||||||
|
'pass_recevoir_mail' => 'Receverès un e-mail que v’espliquerà couma retroubà lou vouòstre achès au sit.',
|
||||||
|
'pass_retour_public' => 'Retour soubre lou sit pùblicou',
|
||||||
|
'pass_rien_a_faire_ici' => 'Ren à faire aquì.',
|
||||||
|
'pass_vousinscrire' => 'V’inscriéure soubre estou sit',
|
||||||
|
'precedent' => 'prechedent',
|
||||||
|
'previsualisation' => 'Previsualisacioun',
|
||||||
|
'previsualiser' => 'Previsualisà',
|
||||||
|
|
||||||
|
// R
|
||||||
|
'retour' => 'Retour',
|
||||||
|
|
||||||
|
// S
|
||||||
|
'spip_conforme_dtd' => 'SPIP counsidèra aqueu doucumen couma counforme au sieu DOCTYPE :',
|
||||||
|
'squelette' => 'Esquèletrou',
|
||||||
|
'squelette_inclus_ligne' => 'esquèletrou enclus, ligna',
|
||||||
|
'squelette_ligne' => 'esquèletrou, ligna',
|
||||||
|
'stats_visites_et_popularite' => '@visites@ visita ; poupularità : @popularite@',
|
||||||
|
'suivant' => 'seguent',
|
||||||
|
|
||||||
|
// T
|
||||||
|
'taille_go' => '@taille@ Go',
|
||||||
|
'taille_ko' => '@taille@ Ko',
|
||||||
|
'taille_mo' => '@taille@ Mo',
|
||||||
|
'taille_octets' => '@taille@ octet',
|
||||||
|
'texte_actualite_site_1' => 'Quoura serès familharisat embé l’interfaça, pourès clicà sus « ',
|
||||||
|
'texte_actualite_site_2' => 'interfaça coumpleta',
|
||||||
|
'texte_actualite_site_3' => '» per avé mai de poussibilità.',
|
||||||
|
'texte_creation_automatique_vignette' => 'La creacioun autoumatica de vigneta de previsualisacioun es ativada soubre estou sit. S’instalàs d’image ai fourmat @gd_formats@ a partì d’estou fourmulari, seràn acoumpagnadi d’una vinheta d’una talha massimala de @taille_preview@ pixel.',
|
||||||
|
'texte_documents_associes' => 'Lu doucumen seguent soun assouciat dau article,
|
||||||
|
mà soun pas estat diretamen
|
||||||
|
inserat. Segoun la coumpaginacioun dóu sit public,
|
||||||
|
pouran aparèisse souta fourma de doucumen jounch.',
|
||||||
|
'texte_erreur_mise_niveau_base' => 'Errour de basa de dounada dóu tems de la metuda a nivèu.
|
||||||
|
L’image <b>@fichier@</b> es pas passada (article @id_article@).
|
||||||
|
Noutàs ben aquela referença, reprouvàs la metuda a
|
||||||
|
nivèu, e verificàs pi que lu image aparèisson
|
||||||
|
encara en lu article.',
|
||||||
|
'texte_erreur_visiteur' => 'Avès prouvat d’achèdre a l’espaci privat emb’un identificant que noun lou permete.',
|
||||||
|
'texte_inc_auth_1' => 'Sias identificat couma
|
||||||
|
<b>@auth_login@</b>, ma aquèu login noun esista o esista plus en la basa.
|
||||||
|
Prouvàs de vi',
|
||||||
|
'texte_inc_auth_2' => 'recounetà',
|
||||||
|
'texte_inc_auth_3' => ', après avé eventualamen quitat pi
|
||||||
|
relançat lou vouòstre navigatour.',
|
||||||
|
'texte_inc_config' => 'Li moudificacioun fachi en aqueli pàgina influissoun bravamen lou
|
||||||
|
founciounamen dóu vouòstre sit. Vi racoumanden de noun li intervenì tant que noun sias
|
||||||
|
familiarisat au founciounamen dóu sistèma SPIP. <br /><br /><b>
|
||||||
|
En general, es fouòrça counseiat
|
||||||
|
de laissà la carga d’aqueli pàgina au webmestre principal dóu vouòstre sit.</b>',
|
||||||
|
'texte_inc_meta_1' => 'Lou sistèma a rescountrat un errour dóu tems de l’escritura dóu fichié <code>@fichier@</code>. Vourguès, couma aministratour dóu sit,',
|
||||||
|
'texte_inc_meta_2' => 'verificà lu drech d’escritura',
|
||||||
|
'texte_inc_meta_3' => 'sus lou repertori <code>@repertoire@</code>.',
|
||||||
|
'texte_statut_en_cours_redaction' => 'en cours de redacioun',
|
||||||
|
'texte_statut_poubelle' => 'dai rementa',
|
||||||
|
'texte_statut_propose_evaluation' => 'proupausat per evaluacioun',
|
||||||
|
'texte_statut_publie' => 'publicat en ligna',
|
||||||
|
'texte_statut_refuse' => 'refudat',
|
||||||
|
'titre_ajouter_mot_cle' => 'AJUSTÀ UN MOT CLAU :',
|
||||||
|
'titre_cadre_raccourcis' => 'ESCOURCHA :',
|
||||||
|
'titre_changer_couleur_interface' => 'Changià la coulou de l’interfaça',
|
||||||
|
'titre_image_admin_article' => 'Poudès aministrà aquel article',
|
||||||
|
'titre_image_administrateur' => 'Aministratour',
|
||||||
|
'titre_image_aide' => 'D’ajuda sus aquel elemen',
|
||||||
|
'titre_image_auteur_supprime' => 'Autour suprimat',
|
||||||
|
'titre_image_redacteur' => 'Redatour sensa achès',
|
||||||
|
'titre_image_redacteur_02' => 'Redatour',
|
||||||
|
'titre_image_selecteur' => 'Afichà la lista',
|
||||||
|
'titre_image_visiteur' => 'Visitaire',
|
||||||
|
'titre_joindre_document' => 'JOUGNE UN DOUCUMEN',
|
||||||
|
'titre_mots_cles' => 'MOT CLAU',
|
||||||
|
'titre_probleme_technique' => 'Mèfi : un proublema tecnic (servidou SQL) empacha d’achedre en aquela part dóu sit. Mercì de la vouòstra indulgença.',
|
||||||
|
'titre_publier_document' => 'PUBLICÀ UN DOUCUMEN EN AQUELA RÙBRICA',
|
||||||
|
'titre_signatures_attente' => 'Firma en aspèra de validacioun',
|
||||||
|
'titre_signatures_confirmees' => 'Firma counfirmadi',
|
||||||
|
'titre_statistiques' => 'Estatistica dóu sit',
|
||||||
|
'titre_titre_document' => 'Titre dóu doucumen :',
|
||||||
|
'todo' => 'De venì',
|
||||||
|
'trad_definir_reference' => 'Chausì "@titre@" couma referença dei traducioun',
|
||||||
|
'trad_reference' => '(referença dei traducioun)',
|
||||||
|
|
||||||
|
// Z
|
||||||
|
'zbug_balise_b_aval' => ' : balisa B davau',
|
||||||
|
'zbug_balise_inexistante' => 'Balisa @balise@ mau declarada per @from@ ',
|
||||||
|
'zbug_balise_sans_argument' => 'Argumen mancant en la balisa @balise@',
|
||||||
|
'zbug_boucle' => 'blouca',
|
||||||
|
'zbug_boucle_recursive_undef' => 'blouca recursiva noun definida : @nom@',
|
||||||
|
'zbug_calcul' => 'carcul',
|
||||||
|
'zbug_champ_hors_boucle' => 'Camp @champ@ fouòra de blouca',
|
||||||
|
'zbug_champ_hors_motif' => 'Camp @champ@ fouòra d’un counteste @motif@',
|
||||||
|
'zbug_code' => 'code',
|
||||||
|
'zbug_critere_inconnu' => 'critèri escounouissut @critere@',
|
||||||
|
'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} sus una taula sensa clau primari atoumica',
|
||||||
|
'zbug_distant_interdit' => 'Estèrnou prouhibit', # Contexte : une base de données "externe", pas gérée par SPIP, mais que SPIP 1.8 sait utiliser dans ses boucles -- seul problèmes certaines manipulations sont interdites sur ces bases-là.
|
||||||
|
'zbug_doublon_table_sans_cle_primaire' => 'doubloun sus una taula sensa clau primari atoumica',
|
||||||
|
'zbug_doublon_table_sans_index' => 'doubloun sus una taula sensa ìndice',
|
||||||
|
'zbug_erreur_boucle_double' => 'Double definicioun de la blouca @id@',
|
||||||
|
'zbug_erreur_boucle_fermant' => 'Blouca @id@ noun fermada',
|
||||||
|
'zbug_erreur_boucle_syntaxe' => 'Sintassa de la blouca mau courreta',
|
||||||
|
'zbug_erreur_compilation' => 'Errour de coumpilacioun',
|
||||||
|
'zbug_erreur_execution_page' => 'errour d’esecucioun de la pàgina',
|
||||||
|
'zbug_erreur_filtre' => 'Errour : filtre <b>« @filtre@ »</b> noun definit',
|
||||||
|
'zbug_erreur_meme_parent' => '{meme_parent} s’aplica unicamen ai blouca (FORUMS) o (RUBRIQUES)',
|
||||||
|
'zbug_erreur_squelette' => 'Errour en l’esquelètrou',
|
||||||
|
'zbug_hors_compilation' => 'Fouòra Coumpilacioun',
|
||||||
|
'zbug_info_erreur_squelette' => 'Error soubre lou sit',
|
||||||
|
'zbug_inversion_ordre_inexistant' => 'inversioun d’un ordre inesistent',
|
||||||
|
'zbug_pagination_sans_critere' => 'Balisa #PAGINATION sensa critèri {pagination} o emplegada en una blouca recoursiva',
|
||||||
|
'zbug_parametres_inclus_incorrects' => 'Parametre d’enclusioun mau courret : @param@',
|
||||||
|
'zbug_profile' => 'Tems de carcul : @time@',
|
||||||
|
'zbug_resultat' => 'resultat',
|
||||||
|
'zbug_serveur_indefini' => 'servidou SQL indefinit',
|
||||||
|
'zbug_statistiques' => 'Estatìstica dei requesta SQL classificadi per durada',
|
||||||
|
'zbug_table_inconnue' => 'Taula SQL « @table@ » escounouissuda',
|
||||||
|
'zxml_connus_attributs' => 'atribut counouissut',
|
||||||
|
'zxml_de' => 'de',
|
||||||
|
'zxml_inconnu_attribut' => 'atribut escounouissut',
|
||||||
|
'zxml_inconnu_balise' => 'balisa escounouissuda',
|
||||||
|
'zxml_inconnu_entite' => 'entitat escounouissuda',
|
||||||
|
'zxml_inconnu_id' => 'ID escounouissut',
|
||||||
|
'zxml_mais_de' => 'mà de',
|
||||||
|
'zxml_non_conforme' => 'noun es counforme au moutiéu',
|
||||||
|
'zxml_non_fils' => 'noun es un enfant de',
|
||||||
|
'zxml_nonvide_balise' => 'balisa noun vuèia',
|
||||||
|
'zxml_obligatoire_attribut' => 'atribut oubligatori mà assent en',
|
||||||
|
'zxml_succession_fils_incorrecte' => 'suchessioun dei enfant mau courret',
|
||||||
|
'zxml_survoler' => 'survolà per veire lu courret',
|
||||||
|
'zxml_valeur_attribut' => 'valour de l’atribut',
|
||||||
|
'zxml_vide_balise' => 'balisa vuèia',
|
||||||
|
'zxml_vu' => 'vist adé'
|
||||||
|
);
|
||||||
|
|
||||||
|
?>
|
|
@ -1,7 +1,7 @@
|
||||||
<paquet
|
<paquet
|
||||||
prefix="spip"
|
prefix="spip"
|
||||||
categorie="outil"
|
categorie="outil"
|
||||||
version="3.0.17"
|
version="3.0.21"
|
||||||
etat="stable"
|
etat="stable"
|
||||||
compatibilite="];["
|
compatibilite="];["
|
||||||
schema="19268"
|
schema="19268"
|
||||||
|
|
|
@ -477,6 +477,8 @@ function inclure_modele($type, $id, $params, $lien, $connect='', $env=array()) {
|
||||||
$contexte['lien'] = str_replace(""",'"', $lien['href']);
|
$contexte['lien'] = str_replace(""",'"', $lien['href']);
|
||||||
$contexte['lien_class'] = $lien['class'];
|
$contexte['lien_class'] = $lien['class'];
|
||||||
$contexte['lien_mime'] = $lien['mime'];
|
$contexte['lien_mime'] = $lien['mime'];
|
||||||
|
$contexte['lien_title'] = $lien['title'];
|
||||||
|
$contexte['lien_hreflang'] = $lien['hreflang'];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Traiter les parametres
|
// Traiter les parametres
|
||||||
|
|
|
@ -72,10 +72,11 @@ function argumenter_inclure($params, $rejet_filtres, $p, &$boucles, $id_boucle,
|
||||||
$erreur_p_i_i = array('zbug_parametres_inclus_incorrects',
|
$erreur_p_i_i = array('zbug_parametres_inclus_incorrects',
|
||||||
array('param' => $var->nom_champ));
|
array('param' => $var->nom_champ));
|
||||||
erreur_squelette($erreur_p_i_i, $p);
|
erreur_squelette($erreur_p_i_i, $p);
|
||||||
} else $l[1] = calculer_liste($val, $p->descr, $boucles, $id_boucle);
|
break;
|
||||||
break;
|
}
|
||||||
|
else $l[1] = calculer_liste($val, $p->descr, $boucles, $id_boucle);
|
||||||
} else {
|
} else {
|
||||||
preg_match(",^([^=]*)(=?)(.*)$,", $var->texte,$m);
|
preg_match(",^([^=]*)(=?)(.*)$,m", $var->texte,$m);
|
||||||
$var = $m[1];
|
$var = $m[1];
|
||||||
$auto = false;;
|
$auto = false;;
|
||||||
if ($m[2]) {
|
if ($m[2]) {
|
||||||
|
@ -445,6 +446,7 @@ function calculer_boucle_nonrec($id_boucle, &$boucles, $trace) {
|
||||||
// afin que le corps de boucle affecte la globale directement
|
// afin que le corps de boucle affecte la globale directement
|
||||||
$init_lang = "lang_select(\$GLOBALS['spip_lang']);\n\t";
|
$init_lang = "lang_select(\$GLOBALS['spip_lang']);\n\t";
|
||||||
$fin_lang = "lang_select();\n\t";
|
$fin_lang = "lang_select();\n\t";
|
||||||
|
$fin_lang_select_public = "\n\t\tlang_select();";
|
||||||
|
|
||||||
$corps .=
|
$corps .=
|
||||||
"\n\t\tlang_select_public("
|
"\n\t\tlang_select_public("
|
||||||
|
@ -458,6 +460,7 @@ function calculer_boucle_nonrec($id_boucle, &$boucles, $trace) {
|
||||||
else {
|
else {
|
||||||
$init_lang = '';
|
$init_lang = '';
|
||||||
$fin_lang = '';
|
$fin_lang = '';
|
||||||
|
$fin_lang_select_public = '';
|
||||||
// sortir les appels au traducteur (invariants de boucle)
|
// sortir les appels au traducteur (invariants de boucle)
|
||||||
if (strpos($return, '?php') === false
|
if (strpos($return, '?php') === false
|
||||||
AND preg_match_all("/\W(_T[(]'[^']*'[)])/", $return, $r)) {
|
AND preg_match_all("/\W(_T[(]'[^']*'[)])/", $return, $r)) {
|
||||||
|
@ -502,6 +505,9 @@ function calculer_boucle_nonrec($id_boucle, &$boucles, $trace) {
|
||||||
. $boucle->partie
|
. $boucle->partie
|
||||||
. $corps;
|
. $corps;
|
||||||
|
|
||||||
|
// depiler la lang de la boucle si besoin
|
||||||
|
$corps .= $fin_lang_select_public;
|
||||||
|
|
||||||
// si le corps est une constante, ne pas appeler le serveur N fois!
|
// si le corps est une constante, ne pas appeler le serveur N fois!
|
||||||
|
|
||||||
if (preg_match(CODE_MONOTONE,str_replace("\\'",'',$corps), $r)) {
|
if (preg_match(CODE_MONOTONE,str_replace("\\'",'',$corps), $r)) {
|
||||||
|
|
|
@ -421,21 +421,22 @@ function lang_select_public($lang, $lang_select, $titre=null) {
|
||||||
// Cas 1. forcer_lang = true et pas de critere {lang_select}
|
// Cas 1. forcer_lang = true et pas de critere {lang_select}
|
||||||
if (isset($GLOBALS['forcer_lang']) AND $GLOBALS['forcer_lang']
|
if (isset($GLOBALS['forcer_lang']) AND $GLOBALS['forcer_lang']
|
||||||
AND $lang_select !== 'oui')
|
AND $lang_select !== 'oui')
|
||||||
return;
|
$lang = $GLOBALS['spip_lang'];
|
||||||
|
|
||||||
// Cas 2. l'objet n'a pas de langue definie (ou definie a '')
|
// Cas 2. l'objet n'a pas de langue definie (ou definie a '')
|
||||||
if (!strlen($lang))
|
elseif (!strlen($lang))
|
||||||
return;
|
$lang = $GLOBALS['spip_lang'];
|
||||||
|
|
||||||
// Cas 3. l'objet est multilingue !
|
// Cas 3. l'objet est multilingue !
|
||||||
if ($lang_select !== 'oui'
|
elseif ($lang_select !== 'oui'
|
||||||
AND strlen($titre) > 10
|
AND strlen($titre) > 10
|
||||||
AND strpos($titre, '<multi>') !== false
|
AND strpos($titre, '<multi>') !== false
|
||||||
AND strpos(echappe_html($titre), '<multi>') !== false)
|
AND strpos(echappe_html($titre), '<multi>') !== false)
|
||||||
return;
|
$lang = $GLOBALS['spip_lang'];
|
||||||
|
|
||||||
|
// faire un lang_select() eventuellement sur la langue inchangee
|
||||||
|
lang_select($lang);
|
||||||
|
|
||||||
// Tous les cas ayant ete elimines, faire le job
|
|
||||||
$GLOBALS['spip_lang'] = $lang;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -485,23 +485,24 @@ function phraser_criteres($params, &$result) {
|
||||||
$not = "";
|
$not = "";
|
||||||
} else {
|
} else {
|
||||||
// Le debut du premier argument est l'operateur
|
// Le debut du premier argument est l'operateur
|
||||||
preg_match("/^([!]?)([a-zA-Z][a-zA-Z0-9]*)[[:space:]]*(.*)$/ms", $param, $m);
|
preg_match("/^([!]?)([a-zA-Z][a-zA-Z0-9_]*)[[:space:]]*(\??)[[:space:]]*(.*)$/ms", $param, $m);
|
||||||
$op = $m[2];
|
$op = $m[2];
|
||||||
$not = $m[1];
|
$not = $m[1];
|
||||||
|
$cond = $m[3];
|
||||||
// virer le premier argument,
|
// virer le premier argument,
|
||||||
// et mettre son reliquat eventuel
|
// et mettre son reliquat eventuel
|
||||||
// Recopier pour ne pas alterer le texte source
|
// Recopier pour ne pas alterer le texte source
|
||||||
// utile au debusqueur
|
// utile au debusqueur
|
||||||
if ($m[3]) {
|
if ($m[4]) {
|
||||||
// une maniere tres sale de supprimer les "' autour de {critere "xxx","yyy"}
|
// une maniere tres sale de supprimer les "' autour de {critere "xxx","yyy"}
|
||||||
if (preg_match(',^(["\'])(.*)\1$,', $m[3])) {
|
if (preg_match(',^(["\'])(.*)\1$,', $m[4])) {
|
||||||
$c = null;
|
$c = null;
|
||||||
eval ('$c = '.$m[3].';');
|
eval ('$c = '.$m[4].';');
|
||||||
if (isset($c))
|
if (isset($c))
|
||||||
$m[3] = $c;
|
$m[4] = $c;
|
||||||
}
|
}
|
||||||
$texte = new Texte;
|
$texte = new Texte;
|
||||||
$texte->texte = $m[3];
|
$texte->texte = $m[4];
|
||||||
$v[1][0]= $texte;
|
$v[1][0]= $texte;
|
||||||
} else array_shift($v[1]);
|
} else array_shift($v[1]);
|
||||||
}
|
}
|
||||||
|
@ -509,6 +510,7 @@ function phraser_criteres($params, &$result) {
|
||||||
$crit = new Critere;
|
$crit = new Critere;
|
||||||
$crit->op = $op;
|
$crit->op = $op;
|
||||||
$crit->not = $not;
|
$crit->not = $not;
|
||||||
|
$crit->cond = $cond;
|
||||||
$crit->exclus ="";
|
$crit->exclus ="";
|
||||||
$crit->param = $v;
|
$crit->param = $v;
|
||||||
$args[] = $crit;
|
$args[] = $crit;
|
||||||
|
|
|
@ -50,7 +50,11 @@ function sandbox_composer_filtre($fonc, $code, $arglist, &$p){
|
||||||
elseif ($f = chercher_filtre($fonc)) {
|
elseif ($f = chercher_filtre($fonc)) {
|
||||||
// cas particulier : le filtre |set doit acceder a la $Pile
|
// cas particulier : le filtre |set doit acceder a la $Pile
|
||||||
// proto: filtre_set(&$Pile, $val, $args...)
|
// proto: filtre_set(&$Pile, $val, $args...)
|
||||||
$refl = new ReflectionFunction($f);
|
if (strpbrk($f, ':')) { // Class::method
|
||||||
|
$refl = new ReflectionMethod($f);
|
||||||
|
} else {
|
||||||
|
$refl = new ReflectionFunction($f);
|
||||||
|
}
|
||||||
$refs = $refl->getParameters();
|
$refs = $refl->getParameters();
|
||||||
if (isset($refs[0]) AND $refs[0]->name == 'Pile') {
|
if (isset($refs[0]) AND $refs[0]->name == 'Pile') {
|
||||||
$code = "$f(\$Pile,$code$arglist)";
|
$code = "$f(\$Pile,$code$arglist)";
|
||||||
|
|
|
@ -182,7 +182,7 @@ function spip_mysql_query($query, $serveur='',$requeter=true) {
|
||||||
// ajouter un debug utile dans log/mysql-slow.log ?
|
// ajouter un debug utile dans log/mysql-slow.log ?
|
||||||
$debug = '';
|
$debug = '';
|
||||||
if (defined('_DEBUG_SLOW_QUERIES') AND _DEBUG_SLOW_QUERIES){
|
if (defined('_DEBUG_SLOW_QUERIES') AND _DEBUG_SLOW_QUERIES){
|
||||||
if($GLOBALS['debug']['aucasou']){
|
if(isset($GLOBALS['debug']['aucasou'])){
|
||||||
list(,$id,, $infos) = $GLOBALS['debug']['aucasou'];
|
list(,$id,, $infos) = $GLOBALS['debug']['aucasou'];
|
||||||
$debug .= " BOUCLE$id @ ".$infos[0] ." | ";
|
$debug .= " BOUCLE$id @ ".$infos[0] ." | ";
|
||||||
}
|
}
|
||||||
|
@ -486,9 +486,9 @@ function spip_mysql_create($nom, $champs, $cles, $autoinc=false, $temporary=fals
|
||||||
return;
|
return;
|
||||||
|
|
||||||
$res = spip_mysql_query("SELECT version() as v");
|
$res = spip_mysql_query("SELECT version() as v");
|
||||||
if ($row = mysql_fetch_array($res)
|
if (($row = mysql_fetch_array($res)) && (version_compare($row['v'],'5.0','>='))) {
|
||||||
&& (version_compare($row['v'],'5.0','>=')))
|
spip_mysql_query("SET sql_mode=''", $serveur);
|
||||||
spip_mysql_query("SET sql_mode=''");
|
}
|
||||||
|
|
||||||
foreach($cles as $k => $v) {
|
foreach($cles as $k => $v) {
|
||||||
$keys .= "$s\n\t\t$k ($v)";
|
$keys .= "$s\n\t\t$k ($v)";
|
||||||
|
@ -639,6 +639,7 @@ function spip_mysql_repair($table, $serveur='',$requeter=true)
|
||||||
return spip_mysql_query("REPAIR TABLE `$table`", $serveur, $requeter);
|
return spip_mysql_query("REPAIR TABLE `$table`", $serveur, $requeter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
define('_MYSQL_RE_SHOW_TABLE', '/^[^(),]*\(((?:[^()]*\((?:[^()]*\([^()]*\))?[^()]*\)[^()]*)*[^()]*)\)[^()]*$/');
|
||||||
// Recupere la definition d'une table ou d'une vue MySQL
|
// Recupere la definition d'une table ou d'une vue MySQL
|
||||||
// colonnes, indexes, etc.
|
// colonnes, indexes, etc.
|
||||||
// au meme format que la definition des tables de SPIP
|
// au meme format que la definition des tables de SPIP
|
||||||
|
@ -656,11 +657,11 @@ function spip_mysql_showtable($nom_table, $serveur='',$requeter=true)
|
||||||
if (!$requeter) return $s;
|
if (!$requeter) return $s;
|
||||||
|
|
||||||
list(,$a) = mysql_fetch_array($s ,MYSQL_NUM);
|
list(,$a) = mysql_fetch_array($s ,MYSQL_NUM);
|
||||||
if (preg_match("/^[^(),]*\((([^()]*\([^()]*\)[^()]*)*)\)[^()]*$/", $a, $r)){
|
if (preg_match(_MYSQL_RE_SHOW_TABLE, $a, $r)){
|
||||||
$desc = $r[1];
|
$desc = $r[1];
|
||||||
// extraction d'une KEY éventuelle en prenant garde de ne pas
|
// extraction d'une KEY éventuelle en prenant garde de ne pas
|
||||||
// relever un champ dont le nom contient KEY (ex. ID_WHISKEY)
|
// relever un champ dont le nom contient KEY (ex. ID_WHISKEY)
|
||||||
if (preg_match("/^(.*?),([^,]*KEY[ (].*)$/s", $desc, $r)) {
|
if (preg_match("/^(.*?),([^,]*\sKEY[ (].*)$/s", $desc, $r)) {
|
||||||
$namedkeys = $r[2];
|
$namedkeys = $r[2];
|
||||||
$desc = $r[1];
|
$desc = $r[1];
|
||||||
}
|
}
|
||||||
|
@ -674,8 +675,8 @@ function spip_mysql_showtable($nom_table, $serveur='',$requeter=true)
|
||||||
}
|
}
|
||||||
$keys = array();
|
$keys = array();
|
||||||
|
|
||||||
foreach(preg_split('/\)\s*,?/',$namedkeys) as $v) {
|
foreach(preg_split('/\)\s*(,|$)/',$namedkeys) as $v) {
|
||||||
if (preg_match("/^\s*([^(]*)\((.*)$/",$v,$r)) {
|
if (preg_match("/^\s*([^(]*)\(([^(]*(\(\d+\))?)$/",$v,$r)) {
|
||||||
$k = str_replace("`", '', trim($r[1]));
|
$k = str_replace("`", '', trim($r[1]));
|
||||||
$t = strtolower(str_replace("`", '', $r[2]));
|
$t = strtolower(str_replace("`", '', $r[2]));
|
||||||
if ($k && !isset($keys[$k])) $keys[$k] = $t; else $keys[] = $t;
|
if ($k && !isset($keys[$k])) $keys[$k] = $t; else $keys[] = $t;
|
||||||
|
|
|
@ -43,15 +43,15 @@ function req_pg_dist($addr, $port, $login, $pass, $db='', $prefixe='') {
|
||||||
if ($p >0) $port = " port=$p" ; else $port = '';
|
if ($p >0) $port = " port=$p" ; else $port = '';
|
||||||
$erreurs = array();
|
$erreurs = array();
|
||||||
if ($db) {
|
if ($db) {
|
||||||
@$link = pg_connect("host=$host$port dbname=$db user=$login password=$pass", PGSQL_CONNECT_FORCE_NEW);
|
@$link = pg_connect("host=$host$port dbname=$db user=$login password='$pass'", PGSQL_CONNECT_FORCE_NEW);
|
||||||
} elseif (!@$link = pg_connect("host=$host$port user=$login password=$pass", PGSQL_CONNECT_FORCE_NEW)) {
|
} elseif (!@$link = pg_connect("host=$host$port user=$login password='$pass'", PGSQL_CONNECT_FORCE_NEW)) {
|
||||||
$erreurs[] = pg_last_error();
|
$erreurs[] = pg_last_error();
|
||||||
if (@$link = pg_connect("host=$host$port dbname=$login user=$login password=$pass", PGSQL_CONNECT_FORCE_NEW)) {
|
if (@$link = pg_connect("host=$host$port dbname=$login user=$login password='$pass'", PGSQL_CONNECT_FORCE_NEW)) {
|
||||||
$db = $login;
|
$db = $login;
|
||||||
} else {
|
} else {
|
||||||
$erreurs[] = pg_last_error();
|
$erreurs[] = pg_last_error();
|
||||||
$db = _DEFAULT_DB;
|
$db = _DEFAULT_DB;
|
||||||
$link = pg_connect("host=$host$port dbname=$db user=$login password=$pass", PGSQL_CONNECT_FORCE_NEW);
|
$link = pg_connect("host=$host$port dbname=$db user=$login password='$pass'", PGSQL_CONNECT_FORCE_NEW);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!$link) {
|
if (!$link) {
|
||||||
|
|
|
@ -1209,7 +1209,7 @@ function spip_sqlite_showbase($match, $serveur = '', $requeter = true){
|
||||||
return spip_sqlite_query("SELECT name FROM sqlite_master WHERE type='table' AND tbl_name REGEXP "._q($match), $serveur, $requeter);
|
return spip_sqlite_query("SELECT name FROM sqlite_master WHERE type='table' AND tbl_name REGEXP "._q($match), $serveur, $requeter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
define('_SQLITE_RE_SHOW_TABLE', '/^[^(),]*\(((?:[^()]*\((?:[^()]*\([^()]*\))?[^()]*\)[^()]*)*[^()]*)\)[^()]*$/');
|
||||||
// http://doc.spip.org/@spip_sqlite_showtable
|
// http://doc.spip.org/@spip_sqlite_showtable
|
||||||
function spip_sqlite_showtable($nom_table, $serveur = '', $requeter = true){
|
function spip_sqlite_showtable($nom_table, $serveur = '', $requeter = true){
|
||||||
$query =
|
$query =
|
||||||
|
@ -1229,13 +1229,13 @@ function spip_sqlite_showtable($nom_table, $serveur = '', $requeter = true){
|
||||||
// c'est une table
|
// c'est une table
|
||||||
// il faut parser le create
|
// il faut parser le create
|
||||||
if (!$vue){
|
if (!$vue){
|
||||||
if (!preg_match("/^[^(),]*\((([^()]*(\([^()]*\))?[^()]*)*)\)[^()]*$/", array_shift($a), $r))
|
if (!preg_match(_SQLITE_RE_SHOW_TABLE, array_shift($a), $r)){
|
||||||
return "";
|
return "";
|
||||||
else {
|
} else {
|
||||||
$desc = $r[1];
|
$desc = $r[1];
|
||||||
// extraction d'une KEY éventuelle en prenant garde de ne pas
|
// extraction d'une KEY éventuelle en prenant garde de ne pas
|
||||||
// relever un champ dont le nom contient KEY (ex. ID_WHISKEY)
|
// relever un champ dont le nom contient KEY (ex. ID_WHISKEY)
|
||||||
if (preg_match("/^(.*?),([^,]*KEY[ (].*)$/s", $desc, $r)){
|
if (preg_match("/^(.*?),([^,]*\sKEY[ (].*)$/s", $desc, $r)){
|
||||||
$namedkeys = $r[2];
|
$namedkeys = $r[2];
|
||||||
$desc = $r[1];
|
$desc = $r[1];
|
||||||
}
|
}
|
||||||
|
@ -1282,8 +1282,8 @@ function spip_sqlite_showtable($nom_table, $serveur = '', $requeter = true){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// key inclues dans la requete
|
// key inclues dans la requete
|
||||||
foreach (preg_split('/\)\s*,?/', $namedkeys) as $v){
|
foreach(preg_split('/\)\s*(,|$)/',$namedkeys) as $v) {
|
||||||
if (preg_match("/^\s*([^(]*)\((.*)$/", $v, $r)){
|
if (preg_match("/^\s*([^(]*)\(([^(]*(\(\d+\))?)$/",$v,$r)) {
|
||||||
$k = str_replace("`", '', trim($r[1]));
|
$k = str_replace("`", '', trim($r[1]));
|
||||||
$t = trim(strtolower(str_replace("`", '', $r[2])), '"');
|
$t = trim(strtolower(str_replace("`", '', $r[2])), '"');
|
||||||
if ($k && !isset($keys[$k])) $keys[$k] = $t; else $keys[] = $t;
|
if ($k && !isset($keys[$k])) $keys[$k] = $t; else $keys[] = $t;
|
||||||
|
@ -1304,8 +1304,9 @@ function spip_sqlite_showtable($nom_table, $serveur = '', $requeter = true){
|
||||||
$keys['KEY '.$key] = $colonnes;
|
$keys['KEY '.$key] = $colonnes;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// c'est une vue, on liste les champs disponibles simplement
|
}
|
||||||
} else {
|
// c'est une vue, on liste les champs disponibles simplement
|
||||||
|
else {
|
||||||
if ($res = sql_fetsel('*', $nom_table, '', '', '', '1', '', $serveur)){ // limit 1
|
if ($res = sql_fetsel('*', $nom_table, '', '', '', '1', '', $serveur)){ // limit 1
|
||||||
$fields = array();
|
$fields = array();
|
||||||
foreach ($res as $c => $v) $fields[$c] = '';
|
foreach ($res as $c => $v) $fields[$c] = '';
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
if (!defined("_ECRIRE_INC_VERSION")) return;
|
if (!defined("_ECRIRE_INC_VERSION")) return;
|
||||||
|
|
||||||
// http://doc.spip.org/@action_editer_breve_dist
|
// http://code.spip.net/@action_editer_breve_dist
|
||||||
function action_editer_breve_dist($arg=null) {
|
function action_editer_breve_dist($arg=null) {
|
||||||
|
|
||||||
if (is_null($arg)){
|
if (is_null($arg)){
|
||||||
|
@ -35,7 +35,7 @@ function action_editer_breve_dist($arg=null) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Inserer une breve en base
|
* Inserer une breve en base
|
||||||
* http://doc.spip.org/@insert_breve
|
* http://code.spip.net/@insert_breve
|
||||||
*
|
*
|
||||||
* @param int $id_rubrique
|
* @param int $id_rubrique
|
||||||
* @return int
|
* @return int
|
||||||
|
@ -89,7 +89,7 @@ function breve_inserer($id_rubrique) {
|
||||||
* Modifier une breve en base
|
* Modifier une breve en base
|
||||||
* $c est un contenu (par defaut on prend le contenu via _request())
|
* $c est un contenu (par defaut on prend le contenu via _request())
|
||||||
*
|
*
|
||||||
* http://doc.spip.org/@revisions_breves
|
* http://code.spip.net/@revisions_breves
|
||||||
*
|
*
|
||||||
* @param int $id_breve
|
* @param int $id_breve
|
||||||
* @param array $set
|
* @param array $set
|
||||||
|
|
|
@ -26,7 +26,7 @@ function breves_upgrade($nom_meta_base_version,$version_cible){
|
||||||
if (!isset($GLOBALS['meta'][$nom_meta_base_version])){
|
if (!isset($GLOBALS['meta'][$nom_meta_base_version])){
|
||||||
$trouver_table = charger_fonction('trouver_table','base');
|
$trouver_table = charger_fonction('trouver_table','base');
|
||||||
if ($desc = $trouver_table('spip_breves')
|
if ($desc = $trouver_table('spip_breves')
|
||||||
AND isset($desc['exist'])){
|
AND isset($desc['exist']) AND $desc['exist']){
|
||||||
ecrire_meta($nom_meta_base_version,'1.0.0');
|
ecrire_meta($nom_meta_base_version,'1.0.0');
|
||||||
}
|
}
|
||||||
// si pas de table en base, on fera une simple creation de base
|
// si pas de table en base, on fera une simple creation de base
|
||||||
|
|
|
@ -28,7 +28,7 @@ function autoriser_brevecreer_menu_dist($faire, $type, $id, $qui, $opt){
|
||||||
|
|
||||||
|
|
||||||
// Autoriser a creer une breve dans la rubrique $id
|
// Autoriser a creer une breve dans la rubrique $id
|
||||||
// http://doc.spip.org/@autoriser_rubrique_creerbrevedans_dist
|
// http://code.spip.net/@autoriser_rubrique_creerbrevedans_dist
|
||||||
function autoriser_rubrique_creerbrevedans_dist($faire, $type, $id, $qui, $opt) {
|
function autoriser_rubrique_creerbrevedans_dist($faire, $type, $id, $qui, $opt) {
|
||||||
$r = sql_fetsel("id_parent", "spip_rubriques", "id_rubrique=".intval($id));
|
$r = sql_fetsel("id_parent", "spip_rubriques", "id_rubrique=".intval($id));
|
||||||
return
|
return
|
||||||
|
@ -42,7 +42,7 @@ function autoriser_rubrique_creerbrevedans_dist($faire, $type, $id, $qui, $opt)
|
||||||
// Autoriser a modifier la breve $id
|
// Autoriser a modifier la breve $id
|
||||||
// = admins & redac si la breve n'est pas publiee
|
// = admins & redac si la breve n'est pas publiee
|
||||||
// = admins de rubrique parente si publiee
|
// = admins de rubrique parente si publiee
|
||||||
// http://doc.spip.org/@autoriser_breve_modifier_dist
|
// http://code.spip.net/@autoriser_breve_modifier_dist
|
||||||
function autoriser_breve_modifier_dist($faire, $type, $id, $qui, $opt) {
|
function autoriser_breve_modifier_dist($faire, $type, $id, $qui, $opt) {
|
||||||
$r = sql_fetsel("id_rubrique,statut", "spip_breves", "id_breve=".intval($id));
|
$r = sql_fetsel("id_rubrique,statut", "spip_breves", "id_breve=".intval($id));
|
||||||
return
|
return
|
||||||
|
|
|
@ -54,7 +54,7 @@ function formulaires_editer_breve_verifier_dist($id_breve='new', $id_rubrique=0,
|
||||||
return $erreurs;
|
return $erreurs;
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@inc_editer_article_dist
|
// http://code.spip.net/@inc_editer_article_dist
|
||||||
function formulaires_editer_breve_traiter_dist($id_breve='new', $id_rubrique=0, $retour='', $lier_trad=0, $config_fonc='breves_edit_config', $row=array(), $hidden=''){
|
function formulaires_editer_breve_traiter_dist($id_breve='new', $id_rubrique=0, $retour='', $lier_trad=0, $config_fonc='breves_edit_config', $row=array(), $hidden=''){
|
||||||
return formulaires_editer_objet_traiter('breve',$id_breve,$id_rubrique,$lier_trad,$retour,$config_fonc,$row,$hidden);
|
return formulaires_editer_objet_traiter('breve',$id_breve,$id_rubrique,$lier_trad,$retour,$config_fonc,$row,$hidden);
|
||||||
}
|
}
|
||||||
|
|
|
@ -224,12 +224,14 @@ function &compresseur_callback_prepare_css(&$css, $is_inline = false, $fonctions
|
||||||
if (!preg_match(',\.css$,i', $css, $r)) return $css;
|
if (!preg_match(',\.css$,i', $css, $r)) return $css;
|
||||||
|
|
||||||
$url_absolue_css = url_absolue($css);
|
$url_absolue_css = url_absolue($css);
|
||||||
|
// retirer le protocole de $url_absolue_css
|
||||||
|
$url_absolue_css_implicite = protocole_implicite($url_absolue_css);
|
||||||
|
|
||||||
if (!$fonctions) $fonctions = compresseur_liste_fonctions_prepare_css();
|
if (!$fonctions) $fonctions = compresseur_liste_fonctions_prepare_css();
|
||||||
elseif (is_string($fonctions)) $fonctions = array($fonctions);
|
elseif (is_string($fonctions)) $fonctions = array($fonctions);
|
||||||
|
|
||||||
$sign = implode(",",$fonctions);
|
$sign = implode(",",$fonctions);
|
||||||
$sign = substr(md5("$css-$sign"), 0,8);
|
$sign = substr(md5("$url_absolue_css_implicite-$sign"), 0,8);
|
||||||
|
|
||||||
$file = basename($css,'.css');
|
$file = basename($css,'.css');
|
||||||
$file = sous_repertoire (_DIR_VAR, 'cache-css')
|
$file = sous_repertoire (_DIR_VAR, 'cache-css')
|
||||||
|
@ -251,9 +253,7 @@ function &compresseur_callback_prepare_css(&$css, $is_inline = false, $fonctions
|
||||||
elseif (!lire_fichier($css, $contenu))
|
elseif (!lire_fichier($css, $contenu))
|
||||||
return $css;
|
return $css;
|
||||||
|
|
||||||
// retirer le protocole de $url_absolue_css
|
$contenu = compresseur_callback_prepare_css_inline($contenu, $url_absolue_css_implicite, $fonctions);
|
||||||
$url_absolue_css = protocole_implicite($url_absolue_css);
|
|
||||||
$contenu = compresseur_callback_prepare_css_inline($contenu, $url_absolue_css, $fonctions);
|
|
||||||
|
|
||||||
// ecrire la css
|
// ecrire la css
|
||||||
if (!ecrire_fichier($file, $contenu))
|
if (!ecrire_fichier($file, $contenu))
|
||||||
|
|
|
@ -86,7 +86,7 @@ function concatener_fichiers($files,$format='js', $callbacks = array()){
|
||||||
|
|
||||||
// preparer le contenu si necessaire
|
// preparer le contenu si necessaire
|
||||||
if ($callback_pre)
|
if ($callback_pre)
|
||||||
$contenu = $callback_pre($contenu, $url_base);
|
$contenu = $callback_pre($contenu, url_absolue(_DIR_RESTREINT?generer_url_public($file[0],$file[1]):$url_base));
|
||||||
// enlever le var_mode si present pour retrouver la css minifiee standard
|
// enlever le var_mode si present pour retrouver la css minifiee standard
|
||||||
if (strpos($file[1],'var_mode')!==false) {
|
if (strpos($file[1],'var_mode')!==false) {
|
||||||
if (!$files2) $files2 = $files;
|
if (!$files2) $files2 = $files;
|
||||||
|
|
|
@ -88,7 +88,7 @@ class JavaScriptPacker {
|
||||||
'High ASCII' => 95
|
'High ASCII' => 95
|
||||||
);
|
);
|
||||||
|
|
||||||
// http://doc.spip.org/@JavaScriptPacker
|
// http://code.spip.net/@JavaScriptPacker
|
||||||
function JavaScriptPacker($_script, $_encoding = 62, $_fastDecode = true, $_specialChars = false)
|
function JavaScriptPacker($_script, $_encoding = 62, $_fastDecode = true, $_specialChars = false)
|
||||||
{
|
{
|
||||||
$this->_script = $_script . "\n";
|
$this->_script = $_script . "\n";
|
||||||
|
@ -99,7 +99,7 @@ class JavaScriptPacker {
|
||||||
$this->_specialChars = $_specialChars;
|
$this->_specialChars = $_specialChars;
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@pack
|
// http://code.spip.net/@pack
|
||||||
function pack() {
|
function pack() {
|
||||||
$this->_addParser('_basicCompression');
|
$this->_addParser('_basicCompression');
|
||||||
if ($this->_specialChars)
|
if ($this->_specialChars)
|
||||||
|
@ -112,7 +112,7 @@ class JavaScriptPacker {
|
||||||
}
|
}
|
||||||
|
|
||||||
// apply all parsing routines
|
// apply all parsing routines
|
||||||
// http://doc.spip.org/@_pack
|
// http://code.spip.net/@_pack
|
||||||
function _pack($script) {
|
function _pack($script) {
|
||||||
for ($i = 0; isset($this->_parsers[$i]); $i++) {
|
for ($i = 0; isset($this->_parsers[$i]); $i++) {
|
||||||
$script = call_user_func(array(&$this,$this->_parsers[$i]), $script);
|
$script = call_user_func(array(&$this,$this->_parsers[$i]), $script);
|
||||||
|
@ -122,13 +122,13 @@ class JavaScriptPacker {
|
||||||
|
|
||||||
// keep a list of parsing functions, they'll be executed all at once
|
// keep a list of parsing functions, they'll be executed all at once
|
||||||
var $_parsers = array();
|
var $_parsers = array();
|
||||||
// http://doc.spip.org/@_addParser
|
// http://code.spip.net/@_addParser
|
||||||
function _addParser($parser) {
|
function _addParser($parser) {
|
||||||
$this->_parsers[] = $parser;
|
$this->_parsers[] = $parser;
|
||||||
}
|
}
|
||||||
|
|
||||||
// zero encoding - just removal of white space and comments
|
// zero encoding - just removal of white space and comments
|
||||||
// http://doc.spip.org/@_basicCompression
|
// http://code.spip.net/@_basicCompression
|
||||||
function _basicCompression($script) {
|
function _basicCompression($script) {
|
||||||
$parser = new ParseMaster();
|
$parser = new ParseMaster();
|
||||||
// make safe
|
// make safe
|
||||||
|
@ -164,7 +164,7 @@ class JavaScriptPacker {
|
||||||
return $parser->exec($script);
|
return $parser->exec($script);
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@_encodeSpecialChars
|
// http://code.spip.net/@_encodeSpecialChars
|
||||||
function _encodeSpecialChars($script) {
|
function _encodeSpecialChars($script) {
|
||||||
$parser = new ParseMaster();
|
$parser = new ParseMaster();
|
||||||
// replace: $name -> n, $$name -> na
|
// replace: $name -> n, $$name -> na
|
||||||
|
@ -187,7 +187,7 @@ class JavaScriptPacker {
|
||||||
return $parser->exec($script);
|
return $parser->exec($script);
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@_encodeKeywords
|
// http://code.spip.net/@_encodeKeywords
|
||||||
function _encodeKeywords($script) {
|
function _encodeKeywords($script) {
|
||||||
// escape high-ascii values already in the script (i.e. in strings)
|
// escape high-ascii values already in the script (i.e. in strings)
|
||||||
if ($this->_encoding > 62)
|
if ($this->_encoding > 62)
|
||||||
|
@ -217,7 +217,7 @@ class JavaScriptPacker {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@_analyze
|
// http://code.spip.net/@_analyze
|
||||||
function _analyze($script, $regexp, $encode) {
|
function _analyze($script, $regexp, $encode) {
|
||||||
// analyse
|
// analyse
|
||||||
// retreive all words in the script
|
// retreive all words in the script
|
||||||
|
@ -292,13 +292,13 @@ class JavaScriptPacker {
|
||||||
}
|
}
|
||||||
|
|
||||||
var $_count = array();
|
var $_count = array();
|
||||||
// http://doc.spip.org/@_sortWords
|
// http://code.spip.net/@_sortWords
|
||||||
function _sortWords($match1, $match2) {
|
function _sortWords($match1, $match2) {
|
||||||
return $this->_count[$match2] - $this->_count[$match1];
|
return $this->_count[$match2] - $this->_count[$match1];
|
||||||
}
|
}
|
||||||
|
|
||||||
// build the boot function used for loading and decoding
|
// build the boot function used for loading and decoding
|
||||||
// http://doc.spip.org/@_bootStrap
|
// http://code.spip.net/@_bootStrap
|
||||||
function _bootStrap($packed, $keywords) {
|
function _bootStrap($packed, $keywords) {
|
||||||
$ENCODE = $this->_safeRegExp('$encode\\($count\\)');
|
$ENCODE = $this->_safeRegExp('$encode\\($count\\)');
|
||||||
|
|
||||||
|
@ -378,17 +378,17 @@ class JavaScriptPacker {
|
||||||
}
|
}
|
||||||
|
|
||||||
var $buffer;
|
var $buffer;
|
||||||
// http://doc.spip.org/@_insertFastDecode
|
// http://code.spip.net/@_insertFastDecode
|
||||||
function _insertFastDecode($match) {
|
function _insertFastDecode($match) {
|
||||||
return '{' . $this->buffer . ';';
|
return '{' . $this->buffer . ';';
|
||||||
}
|
}
|
||||||
// http://doc.spip.org/@_insertFastEncode
|
// http://code.spip.net/@_insertFastEncode
|
||||||
function _insertFastEncode($match) {
|
function _insertFastEncode($match) {
|
||||||
return '{$encode=' . $this->buffer . ';';
|
return '{$encode=' . $this->buffer . ';';
|
||||||
}
|
}
|
||||||
|
|
||||||
// mmm.. ..which one do i need ??
|
// mmm.. ..which one do i need ??
|
||||||
// http://doc.spip.org/@_getEncoder
|
// http://code.spip.net/@_getEncoder
|
||||||
function _getEncoder($ascii) {
|
function _getEncoder($ascii) {
|
||||||
return $ascii > 10 ? $ascii > 36 ? $ascii > 62 ?
|
return $ascii > 10 ? $ascii > 36 ? $ascii > 62 ?
|
||||||
'_encode95' : '_encode62' : '_encode36' : '_encode10';
|
'_encode95' : '_encode62' : '_encode36' : '_encode10';
|
||||||
|
@ -396,21 +396,21 @@ class JavaScriptPacker {
|
||||||
|
|
||||||
// zero encoding
|
// zero encoding
|
||||||
// characters: 0123456789
|
// characters: 0123456789
|
||||||
// http://doc.spip.org/@_encode10
|
// http://code.spip.net/@_encode10
|
||||||
function _encode10($charCode) {
|
function _encode10($charCode) {
|
||||||
return $charCode;
|
return $charCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
// inherent base36 support
|
// inherent base36 support
|
||||||
// characters: 0123456789abcdefghijklmnopqrstuvwxyz
|
// characters: 0123456789abcdefghijklmnopqrstuvwxyz
|
||||||
// http://doc.spip.org/@_encode36
|
// http://code.spip.net/@_encode36
|
||||||
function _encode36($charCode) {
|
function _encode36($charCode) {
|
||||||
return base_convert($charCode, 10, 36);
|
return base_convert($charCode, 10, 36);
|
||||||
}
|
}
|
||||||
|
|
||||||
// hitch a ride on base36 and add the upper case alpha characters
|
// hitch a ride on base36 and add the upper case alpha characters
|
||||||
// characters: 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
|
// characters: 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
|
||||||
// http://doc.spip.org/@_encode62
|
// http://code.spip.net/@_encode62
|
||||||
function _encode62($charCode) {
|
function _encode62($charCode) {
|
||||||
$res = '';
|
$res = '';
|
||||||
if ($charCode >= $this->_encoding) {
|
if ($charCode >= $this->_encoding) {
|
||||||
|
@ -426,7 +426,7 @@ class JavaScriptPacker {
|
||||||
|
|
||||||
// use high-ascii values
|
// use high-ascii values
|
||||||
// characters: ¬°¬¢¬£¬§¬•¬¶¬ß¬®¬©¬™¬´¬¨¬≠¬Æ¬Ø¬∞¬±¬≤¬≥¬¥¬µ¬∂¬∑¬∏¬π¬∫¬ª¬º¬Ω¬æ¬ø√Ä√?√Ç√É√Ñ√Ö√Ü√á√à√â√ä√ã√å√?√é√?√?√ë√í√ì√î√ï√ñ√ó√ò√ô√ö√õ√ú√?√û√ü√†√°√¢√£√§√•√¶√ß√®√©√™√´√¨√≠√Æ√Ø√∞√±√≤√≥√¥√µ√∂√∑√∏√π√∫√ª√º√Ω√æ
|
// characters: ¬°¬¢¬£¬§¬•¬¶¬ß¬®¬©¬™¬´¬¨¬≠¬Æ¬Ø¬∞¬±¬≤¬≥¬¥¬µ¬∂¬∑¬∏¬π¬∫¬ª¬º¬Ω¬æ¬ø√Ä√?√Ç√É√Ñ√Ö√Ü√á√à√â√ä√ã√å√?√é√?√?√ë√í√ì√î√ï√ñ√ó√ò√ô√ö√õ√ú√?√û√ü√†√°√¢√£√§√•√¶√ß√®√©√™√´√¨√≠√Æ√Ø√∞√±√≤√≥√¥√µ√∂√∑√∏√π√∫√ª√º√Ω√æ
|
||||||
// http://doc.spip.org/@_encode95
|
// http://code.spip.net/@_encode95
|
||||||
function _encode95($charCode) {
|
function _encode95($charCode) {
|
||||||
$res = '';
|
$res = '';
|
||||||
if ($charCode >= $this->_encoding)
|
if ($charCode >= $this->_encoding)
|
||||||
|
@ -435,24 +435,24 @@ class JavaScriptPacker {
|
||||||
return $res . chr(($charCode % $this->_encoding) + 161);
|
return $res . chr(($charCode % $this->_encoding) + 161);
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@_safeRegExp
|
// http://code.spip.net/@_safeRegExp
|
||||||
function _safeRegExp($string) {
|
function _safeRegExp($string) {
|
||||||
return '/'.preg_replace('/\$/', '\\\$', $string).'/';
|
return '/'.preg_replace('/\$/', '\\\$', $string).'/';
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@_encodePrivate
|
// http://code.spip.net/@_encodePrivate
|
||||||
function _encodePrivate($charCode) {
|
function _encodePrivate($charCode) {
|
||||||
return "_" . $charCode;
|
return "_" . $charCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
// protect characters used by the parser
|
// protect characters used by the parser
|
||||||
// http://doc.spip.org/@_escape
|
// http://code.spip.net/@_escape
|
||||||
function _escape($script) {
|
function _escape($script) {
|
||||||
return preg_replace('/([\\\\\'])/', '\\\$1', $script);
|
return preg_replace('/([\\\\\'])/', '\\\$1', $script);
|
||||||
}
|
}
|
||||||
|
|
||||||
// protect high-ascii characters already in the script
|
// protect high-ascii characters already in the script
|
||||||
// http://doc.spip.org/@_escape95
|
// http://code.spip.net/@_escape95
|
||||||
function _escape95($script) {
|
function _escape95($script) {
|
||||||
return preg_replace_callback(
|
return preg_replace_callback(
|
||||||
'/[\\xa1-\\xff]/',
|
'/[\\xa1-\\xff]/',
|
||||||
|
@ -460,13 +460,13 @@ class JavaScriptPacker {
|
||||||
$script
|
$script
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
// http://doc.spip.org/@_escape95Bis
|
// http://code.spip.net/@_escape95Bis
|
||||||
function _escape95Bis($match) {
|
function _escape95Bis($match) {
|
||||||
return '\x'.((string)dechex(ord($match)));
|
return '\x'.((string)dechex(ord($match)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// http://doc.spip.org/@_getJSFunction
|
// http://code.spip.net/@_getJSFunction
|
||||||
function _getJSFunction($aName) {
|
function _getJSFunction($aName) {
|
||||||
$func = 'JSFUNCTION'.$aName;
|
$func = 'JSFUNCTION'.$aName;
|
||||||
if (isset($this->$func)){
|
if (isset($this->$func)){
|
||||||
|
@ -580,7 +580,7 @@ class ParseMaster {
|
||||||
var $QUOTE = '/\'/';
|
var $QUOTE = '/\'/';
|
||||||
var $DELETED = '/\\x01[^\\x01]*\\x01/';//g
|
var $DELETED = '/\\x01[^\\x01]*\\x01/';//g
|
||||||
|
|
||||||
// http://doc.spip.org/@add
|
// http://code.spip.net/@add
|
||||||
function add($expression, $replacement = '') {
|
function add($expression, $replacement = '') {
|
||||||
// count the number of sub-expressions
|
// count the number of sub-expressions
|
||||||
// - add one because each pattern is itself a sub-expression
|
// - add one because each pattern is itself a sub-expression
|
||||||
|
@ -614,7 +614,7 @@ class ParseMaster {
|
||||||
else $this->_add('/^$/', $replacement, $length);
|
else $this->_add('/^$/', $replacement, $length);
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@exec
|
// http://code.spip.net/@exec
|
||||||
function exec($string) {
|
function exec($string) {
|
||||||
// execute the global replacement
|
// execute the global replacement
|
||||||
$this->_escaped = array();
|
$this->_escaped = array();
|
||||||
|
@ -641,7 +641,7 @@ class ParseMaster {
|
||||||
return preg_replace($this->DELETED, '', $string);
|
return preg_replace($this->DELETED, '', $string);
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@reset
|
// http://code.spip.net/@reset
|
||||||
function reset() {
|
function reset() {
|
||||||
// clear the patterns collection so that this object may be re-used
|
// clear the patterns collection so that this object may be re-used
|
||||||
$this->_patterns = array();
|
$this->_patterns = array();
|
||||||
|
@ -652,14 +652,14 @@ class ParseMaster {
|
||||||
var $_patterns = array(); // patterns stored by index
|
var $_patterns = array(); // patterns stored by index
|
||||||
|
|
||||||
// create and add a new pattern to the patterns collection
|
// create and add a new pattern to the patterns collection
|
||||||
// http://doc.spip.org/@_add
|
// http://code.spip.net/@_add
|
||||||
function _add() {
|
function _add() {
|
||||||
$arguments = func_get_args();
|
$arguments = func_get_args();
|
||||||
$this->_patterns[] = $arguments;
|
$this->_patterns[] = $arguments;
|
||||||
}
|
}
|
||||||
|
|
||||||
// this is the global replace function (it's quite complicated)
|
// this is the global replace function (it's quite complicated)
|
||||||
// http://doc.spip.org/@_replacement
|
// http://code.spip.net/@_replacement
|
||||||
function _replacement($arguments) {
|
function _replacement($arguments) {
|
||||||
if (empty($arguments)) return '';
|
if (empty($arguments)) return '';
|
||||||
|
|
||||||
|
@ -692,7 +692,7 @@ class ParseMaster {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@_backReferences
|
// http://code.spip.net/@_backReferences
|
||||||
function _backReferences($match, $offset) {
|
function _backReferences($match, $offset) {
|
||||||
$replacement = $this->buffer['replacement'];
|
$replacement = $this->buffer['replacement'];
|
||||||
$quote = $this->buffer['quote'];
|
$quote = $this->buffer['quote'];
|
||||||
|
@ -703,14 +703,14 @@ class ParseMaster {
|
||||||
return $replacement;
|
return $replacement;
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@_replace_name
|
// http://code.spip.net/@_replace_name
|
||||||
function _replace_name($match, $offset){
|
function _replace_name($match, $offset){
|
||||||
$length = strlen($match[$offset + 2]);
|
$length = strlen($match[$offset + 2]);
|
||||||
$start = $length - max($length - strlen($match[$offset + 3]), 0);
|
$start = $length - max($length - strlen($match[$offset + 3]), 0);
|
||||||
return substr($match[$offset + 1], $start, $length) . $match[$offset + 4];
|
return substr($match[$offset + 1], $start, $length) . $match[$offset + 4];
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@_replace_encoded
|
// http://code.spip.net/@_replace_encoded
|
||||||
function _replace_encoded($match, $offset) {
|
function _replace_encoded($match, $offset) {
|
||||||
return $this->buffer[$match[$offset]];
|
return $this->buffer[$match[$offset]];
|
||||||
}
|
}
|
||||||
|
@ -721,7 +721,7 @@ class ParseMaster {
|
||||||
var $buffer;
|
var $buffer;
|
||||||
|
|
||||||
// encode escaped characters
|
// encode escaped characters
|
||||||
// http://doc.spip.org/@_escape
|
// http://code.spip.net/@_escape
|
||||||
function _escape($string, $escapeChar) {
|
function _escape($string, $escapeChar) {
|
||||||
if ($escapeChar) {
|
if ($escapeChar) {
|
||||||
$this->buffer = $escapeChar;
|
$this->buffer = $escapeChar;
|
||||||
|
@ -735,14 +735,14 @@ class ParseMaster {
|
||||||
return $string;
|
return $string;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// http://doc.spip.org/@_escapeBis
|
// http://code.spip.net/@_escapeBis
|
||||||
function _escapeBis($match) {
|
function _escapeBis($match) {
|
||||||
$this->_escaped[] = $match[1];
|
$this->_escaped[] = $match[1];
|
||||||
return $this->buffer;
|
return $this->buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
// decode escaped characters
|
// decode escaped characters
|
||||||
// http://doc.spip.org/@_unescape
|
// http://code.spip.net/@_unescape
|
||||||
function _unescape($string, $escapeChar) {
|
function _unescape($string, $escapeChar) {
|
||||||
if ($escapeChar) {
|
if ($escapeChar) {
|
||||||
$regexp = '/'.'\\'.$escapeChar.'/';
|
$regexp = '/'.'\\'.$escapeChar.'/';
|
||||||
|
@ -758,7 +758,7 @@ class ParseMaster {
|
||||||
return $string;
|
return $string;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// http://doc.spip.org/@_unescapeBis
|
// http://code.spip.net/@_unescapeBis
|
||||||
function _unescapeBis() {
|
function _unescapeBis() {
|
||||||
if (isset($this->_escaped[$this->buffer['i']])
|
if (isset($this->_escaped[$this->buffer['i']])
|
||||||
&& $this->_escaped[$this->buffer['i']] != '')
|
&& $this->_escaped[$this->buffer['i']] != '')
|
||||||
|
@ -771,7 +771,7 @@ class ParseMaster {
|
||||||
return $this->buffer['escapeChar'] . $temp;
|
return $this->buffer['escapeChar'] . $temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@_internalEscape
|
// http://code.spip.net/@_internalEscape
|
||||||
function _internalEscape($string) {
|
function _internalEscape($string) {
|
||||||
return preg_replace($this->ESCAPE, '', $string);
|
return preg_replace($this->ESCAPE, '', $string);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<paquet
|
<paquet
|
||||||
prefix="compresseur"
|
prefix="compresseur"
|
||||||
categorie="performance"
|
categorie="performance"
|
||||||
version="1.8.8"
|
version="1.8.11"
|
||||||
etat="stable"
|
etat="stable"
|
||||||
compatibilite="[3.0.0;3.1.*]"
|
compatibilite="[3.0.0;3.1.*]"
|
||||||
logo="images/compresseur-32.png"
|
logo="images/compresseur-32.png"
|
||||||
|
|
|
@ -21,11 +21,13 @@
|
||||||
[<span class='erreur_message'>(#GET{erreurs})</span>]
|
[<span class='erreur_message'>(#GET{erreurs})</span>]
|
||||||
<div class="choix">
|
<div class="choix">
|
||||||
<input type="checkbox" name="tout_sauvegarder" id="tout_sauvegarder" value="oui"[(#ENV{tout_sauvegarder}|oui)checked="checked"]
|
<input type="checkbox" name="tout_sauvegarder" id="tout_sauvegarder" value="oui"[(#ENV{tout_sauvegarder}|oui)checked="checked"]
|
||||||
onchange="jQuery(this).prop('checked')?jQuery('#liste_tables').hide('fast'):jQuery('#liste_tables').show('fast');" />
|
onclick="$(this).blur();"
|
||||||
<label for="tout_sauvegarder"><:dump:tout_sauvegarder:></label>
|
onchange="jQuery(this).prop('checked')?jQuery('#liste_tables').hide('fast'):jQuery('#liste_tables').show('fast');"
|
||||||
</div>
|
/><label for="tout_sauvegarder"><:dump:tout_sauvegarder:>[
|
||||||
<div id="liste_tables"[(#ENV{tout_sauvegarder}|oui)style="display:none;"]>
|
<br />\(<:texte_choix_table_prefix:><b> (#ENV{_prefixe}|=={spip}|non|?{#ENV{_prefixe}})</b>\)]</label>
|
||||||
(#ENV*{_tables})
|
<div id="liste_tables"[(#ENV{tout_sauvegarder}|oui)style="display:none;"]>
|
||||||
|
(#ENV*{_tables})
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>]
|
</li>]
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -34,4 +36,4 @@
|
||||||
<p class='boutons'><span class='image_loading'> </span><input type='submit' class='submit' value='<:dump:texte_sauvegarde_base:>' /></p>
|
<p class='boutons'><span class='image_loading'> </span><input type='submit' class='submit' value='<:dump:texte_sauvegarde_base:>' /></p>
|
||||||
</div></form>
|
</div></form>
|
||||||
]
|
]
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -35,6 +35,9 @@ function formulaires_sauvegarder_charger_dist(){
|
||||||
'_tables' => "<ol class='spip'><li class='choix'>\n" . join("</li>\n<li class='choix'>",
|
'_tables' => "<ol class='spip'><li class='choix'>\n" . join("</li>\n<li class='choix'>",
|
||||||
base_saisie_tables('tables', $tables, $exclude, _request('nom_sauvegarde')?(_request('tables')?_request('tables'):array()):null)
|
base_saisie_tables('tables', $tables, $exclude, _request('nom_sauvegarde')?(_request('tables')?_request('tables'):array()):null)
|
||||||
) . "</li></ol>\n",
|
) . "</li></ol>\n",
|
||||||
|
/* Si la fonction n'existe pas (vieux plugin migration actif), on met 'spip', ca n'affichera rien
|
||||||
|
mais ne perturbe pas la sauvegarde qui utilisera bien le bon prefixe */
|
||||||
|
'_prefixe' => function_exists('base_prefixe_tables')?base_prefixe_tables(''):'spip',
|
||||||
);
|
);
|
||||||
|
|
||||||
return $valeurs;
|
return $valeurs;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<paquet
|
<paquet
|
||||||
prefix="dump"
|
prefix="dump"
|
||||||
categorie="maintenance"
|
categorie="maintenance"
|
||||||
version="1.6.7"
|
version="1.6.9"
|
||||||
etat="stable"
|
etat="stable"
|
||||||
compatibilite="[3.0.0;3.0.*]"
|
compatibilite="[3.0.0;3.0.*]"
|
||||||
logo="prive/themes/spip/images/base-backup-32.png"
|
logo="prive/themes/spip/images/base-backup-32.png"
|
||||||
|
|
|
@ -23,15 +23,25 @@
|
||||||
[(#GET{fin}|oui)
|
[(#GET{fin}|oui)
|
||||||
<h1><:dump:info_sauvegarde:></h1>
|
<h1><:dump:info_sauvegarde:></h1>
|
||||||
|
|
||||||
|
#SET{erreurs,''}
|
||||||
#SET{taille,#ENV{status}|dump_taille_sauvegarde}
|
#SET{taille,#ENV{status}|dump_taille_sauvegarde}
|
||||||
[(#GET{taille}|non)
|
[(#GET{taille}|non)
|
||||||
#SET{archive,#VAL{'<b>'}|concat{#ENV{status}|dump_nom_sauvegarde|joli_repertoire}|concat{'</b>'}}
|
#SET{archive,#VAL{'<b>'}|concat{#ENV{status}|dump_nom_sauvegarde|joli_repertoire}|concat{'</b>'}}
|
||||||
|
#SET{erreurs,' '}
|
||||||
|
|
||||||
#BOITE_OUVRIR{'','error'}
|
#BOITE_OUVRIR{'','error'}
|
||||||
<:dump:erreur_taille_sauvegarde{fichier=#GET{archive}}:>
|
<:dump:erreur_taille_sauvegarde{fichier=#GET{archive}}:>
|
||||||
#BOITE_FERMER
|
#BOITE_FERMER
|
||||||
]
|
]
|
||||||
[(#GET{taille}|oui)
|
|
||||||
|
[
|
||||||
|
#BOITE_OUVRIR{'','error'}
|
||||||
|
#SET{erreurs,' '}
|
||||||
|
(#ENV{status}|dump_afficher_erreurs)
|
||||||
|
#BOITE_FERMER
|
||||||
|
]
|
||||||
|
|
||||||
|
[(#GET{erreurs}|non)
|
||||||
#BOITE_OUVRIR{'','success'}
|
#BOITE_OUVRIR{'','success'}
|
||||||
|
|
||||||
[(#SET{archive,[(#VAL{'<b>'}|concat{#ENV{status}|dump_nom_sauvegarde|joli_repertoire}|concat{'</b> ('}|concat{[(#GET{taille}|taille_en_octets)]}|concat{')'})]})]
|
[(#SET{archive,[(#VAL{'<b>'}|concat{#ENV{status}|dump_nom_sauvegarde|joli_repertoire}|concat{'</b> ('}|concat{[(#GET{taille}|taille_en_octets)]}|concat{')'})]})]
|
||||||
|
|
|
@ -43,4 +43,13 @@ function dump_afficher_tables_sauvegardees($status_file) {
|
||||||
return $corps;
|
return $corps;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function dump_afficher_erreurs($status_file) {
|
||||||
|
$erreurs = "";
|
||||||
|
$status = dump_lire_status($status_file);
|
||||||
|
if (isset($status['errors'])){
|
||||||
|
$erreurs = implode("<br />",$status['errors']);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $erreurs;
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -9,7 +9,7 @@ $file="[(#CHEMIN{apple-touch-icon[-(#ENV{size,''})].png}|sinon{[(#LOGO_SITE_SPIP
|
||||||
|image_passe_partout{[(#ENV{size,57}|intval)],[(#ENV{size,57}|intval)]}
|
|image_passe_partout{[(#ENV{size,57}|intval)],[(#ENV{size,57}|intval)]}
|
||||||
|image_recadre{[(#ENV{size,57}|intval)],[(#ENV{size,57}|intval)],center}
|
|image_recadre{[(#ENV{size,57}|intval)],[(#ENV{size,57}|intval)],center}
|
||||||
|image_aplatir{png,#ffffff}|extraire_attribut{src})]})]";
|
|image_aplatir{png,#ffffff}|extraire_attribut{src})]})]";
|
||||||
if ($cl = filesize(preg_replace(',[?].*$,','',$file)))
|
if ($cl = filesize($file=preg_replace(',[?].*$,','',$file)))
|
||||||
header("Content-Length: ". $cl);
|
header("Content-Length: ". $cl);
|
||||||
|
|
||||||
readfile($file);
|
readfile($file);
|
||||||
|
|
|
@ -20,7 +20,7 @@ include_spip('inc/filtres_images_lib_mini');
|
||||||
* - sont chainables les unes derrieres les autres dans toutes les combinaisons possibles
|
* - sont chainables les unes derrieres les autres dans toutes les combinaisons possibles
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// http://doc.spip.org/@couleur_extraire
|
// http://code.spip.net/@couleur_extraire
|
||||||
function couleur_extraire ($img, $x=10, $y=6) {
|
function couleur_extraire ($img, $x=10, $y=6) {
|
||||||
include_spip('filtres/images_lib');
|
include_spip('filtres/images_lib');
|
||||||
return _image_couleur_extraire($img, $x, $y);
|
return _image_couleur_extraire($img, $x, $y);
|
||||||
|
@ -28,7 +28,7 @@ function couleur_extraire ($img, $x=10, $y=6) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// http://doc.spip.org/@couleur_web
|
// http://code.spip.net/@couleur_web
|
||||||
function couleur_web($couleur) {
|
function couleur_web($couleur) {
|
||||||
include_spip('filtres/images_lib');
|
include_spip('filtres/images_lib');
|
||||||
$rvb = _couleur_hex_to_dec($couleur);
|
$rvb = _couleur_hex_to_dec($couleur);
|
||||||
|
@ -38,7 +38,7 @@ function couleur_web($couleur) {
|
||||||
return _couleur_dec_to_hex($rvb['red'],$rvb['green'],$rvb['blue']);
|
return _couleur_dec_to_hex($rvb['red'],$rvb['green'],$rvb['blue']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@couleur_4096
|
// http://code.spip.net/@couleur_4096
|
||||||
function couleur_4096($couleur) {
|
function couleur_4096($couleur) {
|
||||||
$r = (substr($couleur, 0, 1));
|
$r = (substr($couleur, 0, 1));
|
||||||
$v = (substr($couleur, 2, 1));
|
$v = (substr($couleur, 2, 1));
|
||||||
|
@ -48,7 +48,7 @@ function couleur_4096($couleur) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// http://doc.spip.org/@couleur_extreme
|
// http://code.spip.net/@couleur_extreme
|
||||||
function couleur_extreme ($couleur, $limite=0.5) {
|
function couleur_extreme ($couleur, $limite=0.5) {
|
||||||
// force la couleur au noir ou au blanc le plus proche
|
// force la couleur au noir ou au blanc le plus proche
|
||||||
// -> donc couleur foncee devient noire
|
// -> donc couleur foncee devient noire
|
||||||
|
@ -77,7 +77,7 @@ function couleur_extreme ($couleur, $limite=0.5) {
|
||||||
return $couleur_texte;
|
return $couleur_texte;
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@couleur_inverser
|
// http://code.spip.net/@couleur_inverser
|
||||||
function couleur_inverser ($couleur) {
|
function couleur_inverser ($couleur) {
|
||||||
$couleurs = _couleur_hex_to_dec($couleur);
|
$couleurs = _couleur_hex_to_dec($couleur);
|
||||||
$red = 255 - $couleurs["red"];
|
$red = 255 - $couleurs["red"];
|
||||||
|
@ -89,7 +89,7 @@ function couleur_inverser ($couleur) {
|
||||||
return $couleur;
|
return $couleur;
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@couleur_foncer_si_claire
|
// http://code.spip.net/@couleur_foncer_si_claire
|
||||||
function couleur_foncer_si_claire ($couleur, $seuil=122) {
|
function couleur_foncer_si_claire ($couleur, $seuil=122) {
|
||||||
// ne foncer que les couleurs claires
|
// ne foncer que les couleurs claires
|
||||||
// utile pour ecrire sur fond blanc,
|
// utile pour ecrire sur fond blanc,
|
||||||
|
@ -108,7 +108,7 @@ function couleur_foncer_si_claire ($couleur, $seuil=122) {
|
||||||
else return $couleur;
|
else return $couleur;
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@couleur_eclaircir_si_foncee
|
// http://code.spip.net/@couleur_eclaircir_si_foncee
|
||||||
function couleur_eclaircir_si_foncee ($couleur, $seuil=123) {
|
function couleur_eclaircir_si_foncee ($couleur, $seuil=123) {
|
||||||
$couleurs = _couleur_hex_to_dec($couleur);
|
$couleurs = _couleur_hex_to_dec($couleur);
|
||||||
$red = $couleurs["red"];
|
$red = $couleurs["red"];
|
||||||
|
@ -124,7 +124,7 @@ function couleur_eclaircir_si_foncee ($couleur, $seuil=123) {
|
||||||
else return $couleur;
|
else return $couleur;
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@couleur_saturation
|
// http://code.spip.net/@couleur_saturation
|
||||||
function couleur_saturation($couleur, $val) {
|
function couleur_saturation($couleur, $val) {
|
||||||
if ($couleur == "ffffff") $couleur = "eeeeee";
|
if ($couleur == "ffffff") $couleur = "eeeeee";
|
||||||
|
|
||||||
|
@ -145,7 +145,7 @@ function couleur_saturation($couleur, $val) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@couleur_luminance
|
// http://code.spip.net/@couleur_luminance
|
||||||
function couleur_luminance($couleur, $val) {
|
function couleur_luminance($couleur, $val) {
|
||||||
include_spip('filtres/images_lib');
|
include_spip('filtres/images_lib');
|
||||||
|
|
||||||
|
|
|
@ -224,7 +224,7 @@ function _couleur_hsl2rgb ($H,$S,$L) {
|
||||||
// renvoit sous la forme hexadecimale ("F26C4E" par exemple).
|
// renvoit sous la forme hexadecimale ("F26C4E" par exemple).
|
||||||
// Par defaut, la couleur choisie se trouve un peu au-dessus du centre de l'image.
|
// Par defaut, la couleur choisie se trouve un peu au-dessus du centre de l'image.
|
||||||
// On peut forcer un point en fixant $x et $y, entre 0 et 20.
|
// On peut forcer un point en fixant $x et $y, entre 0 et 20.
|
||||||
// http://doc.spip.org/@image_couleur_extraire
|
// http://code.spip.net/@image_couleur_extraire
|
||||||
|
|
||||||
function _image_couleur_extraire($img, $x=10, $y=6) {
|
function _image_couleur_extraire($img, $x=10, $y=6) {
|
||||||
static $couleur_extraite = array();
|
static $couleur_extraite = array();
|
||||||
|
|
|
@ -28,9 +28,9 @@ include_spip('inc/filtres_images_mini');
|
||||||
// pour le format gif, $qualite correspond au nombre de couleurs dans la palette (defaut 128)
|
// pour le format gif, $qualite correspond au nombre de couleurs dans la palette (defaut 128)
|
||||||
// pour le format png, $qualite correspond au nombre de couleur dans la palette ou si 0 a une image truecolor (defaut truecolor)
|
// pour le format png, $qualite correspond au nombre de couleur dans la palette ou si 0 a une image truecolor (defaut truecolor)
|
||||||
// attention, seul 128 est supporte en l'etat (production d'images avec palette reduite pas satisfaisante)
|
// attention, seul 128 est supporte en l'etat (production d'images avec palette reduite pas satisfaisante)
|
||||||
// http://doc.spip.org/@image_aplatir
|
// http://code.spip.net/@image_aplatir
|
||||||
// 3/ $transparence a "true" permet de conserver la transparence (utile pour conversion GIF)
|
// 3/ $transparence a "true" permet de conserver la transparence (utile pour conversion GIF)
|
||||||
// http://doc.spip.org/@image_aplatir
|
// http://code.spip.net/@image_aplatir
|
||||||
function image_aplatir($im, $format='jpg', $coul='000000', $qualite=NULL, $transparence=false)
|
function image_aplatir($im, $format='jpg', $coul='000000', $qualite=NULL, $transparence=false)
|
||||||
{
|
{
|
||||||
if ($qualite===NULL){
|
if ($qualite===NULL){
|
||||||
|
@ -159,7 +159,7 @@ function image_aplatir($im, $format='jpg', $coul='000000', $qualite=NULL, $trans
|
||||||
// Enregistrer une image dans un format donne
|
// Enregistrer une image dans un format donne
|
||||||
// (conserve la transparence gif, png, ico)
|
// (conserve la transparence gif, png, ico)
|
||||||
// utilise [->@image_aplatir]
|
// utilise [->@image_aplatir]
|
||||||
// http://doc.spip.org/@image_format
|
// http://code.spip.net/@image_format
|
||||||
function image_format($img, $format='png') {
|
function image_format($img, $format='png') {
|
||||||
$qualite = null;
|
$qualite = null;
|
||||||
if ($format=='png8') {$format='png';$qualite=128;}
|
if ($format=='png8') {$format='png';$qualite=128;}
|
||||||
|
@ -170,7 +170,7 @@ function image_format($img, $format='png') {
|
||||||
// Transforme l'image en PNG transparent
|
// Transforme l'image en PNG transparent
|
||||||
// alpha = 0: aucune transparence
|
// alpha = 0: aucune transparence
|
||||||
// alpha = 127: completement transparent
|
// alpha = 127: completement transparent
|
||||||
// http://doc.spip.org/@image_alpha
|
// http://code.spip.net/@image_alpha
|
||||||
function image_alpha($im, $alpha = 63)
|
function image_alpha($im, $alpha = 63)
|
||||||
{
|
{
|
||||||
$fonction = array('image_alpha', func_get_args());
|
$fonction = array('image_alpha', func_get_args());
|
||||||
|
@ -231,7 +231,24 @@ function image_alpha($im, $alpha = 63)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@image_recadre
|
/**
|
||||||
|
*
|
||||||
|
* http://code.spip.net/@image_recadre
|
||||||
|
*
|
||||||
|
* @param string $im
|
||||||
|
* @param string|int $width
|
||||||
|
* largeur du recadrage
|
||||||
|
* ou ratio sous la forme "16:9"
|
||||||
|
* @param string|int $height
|
||||||
|
* hauteur du recadrage
|
||||||
|
* ou "+" (agrandir) ou "-" (reduire) si un ratio est fourni pour width
|
||||||
|
* @param string $position
|
||||||
|
* center, left, right, top, bottom, ou combinaisons ("top left")
|
||||||
|
* @param string $background_color
|
||||||
|
* couleur de fond si on agrandit l'image
|
||||||
|
* @return string
|
||||||
|
* balise image recadree
|
||||||
|
*/
|
||||||
function image_recadre($im,$width,$height,$position='center', $background_color='white')
|
function image_recadre($im,$width,$height,$position='center', $background_color='white')
|
||||||
{
|
{
|
||||||
$fonction = array('image_recadre', func_get_args());
|
$fonction = array('image_recadre', func_get_args());
|
||||||
|
@ -248,6 +265,23 @@ function image_recadre($im,$width,$height,$position='center', $background_color=
|
||||||
return _image_tag_changer_taille($im,$width,$height);
|
return _image_tag_changer_taille($im,$width,$height);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// on recadre pour respecter un ratio ?
|
||||||
|
// width : "16:9"
|
||||||
|
// height : "+" pour agrandir l'image et "-" pour la croper
|
||||||
|
if (strpos($width,":")!==false){
|
||||||
|
list($wr,$hr) = explode(":",$width);
|
||||||
|
$hm = $x_i / $wr * $hr;
|
||||||
|
$ym = $y_i / $hr * $wr;
|
||||||
|
if ($height=="+"?($y_i<$hm):($y_i>$hm)){
|
||||||
|
$width = $x_i;
|
||||||
|
$height = $hm;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$width = $ym;
|
||||||
|
$height = $y_i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($width==0) $width=$x_i;
|
if ($width==0) $width=$x_i;
|
||||||
if ($height==0) $height=$y_i;
|
if ($height==0) $height=$y_i;
|
||||||
|
|
||||||
|
@ -415,7 +449,7 @@ function image_recadre_mini($im)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// http://doc.spip.org/@image_flip_vertical
|
// http://code.spip.net/@image_flip_vertical
|
||||||
function image_flip_vertical($im)
|
function image_flip_vertical($im)
|
||||||
{
|
{
|
||||||
$fonction = array('image_flip_vertical', func_get_args());
|
$fonction = array('image_flip_vertical', func_get_args());
|
||||||
|
@ -454,7 +488,7 @@ function image_flip_vertical($im)
|
||||||
return _image_ecrire_tag($image,array('src'=>$dest));
|
return _image_ecrire_tag($image,array('src'=>$dest));
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@image_flip_horizontal
|
// http://code.spip.net/@image_flip_horizontal
|
||||||
function image_flip_horizontal($im)
|
function image_flip_horizontal($im)
|
||||||
{
|
{
|
||||||
$fonction = array('image_flip_horizontal', func_get_args());
|
$fonction = array('image_flip_horizontal', func_get_args());
|
||||||
|
@ -492,7 +526,7 @@ function image_flip_horizontal($im)
|
||||||
return _image_ecrire_tag($image,array('src'=>$dest));
|
return _image_ecrire_tag($image,array('src'=>$dest));
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@image_masque
|
// http://code.spip.net/@image_masque
|
||||||
function image_masque($im, $masque, $pos="") {
|
function image_masque($im, $masque, $pos="") {
|
||||||
// Passer, en plus de l'image d'origine,
|
// Passer, en plus de l'image d'origine,
|
||||||
// une image de "masque": un fichier PNG24 transparent.
|
// une image de "masque": un fichier PNG24 transparent.
|
||||||
|
@ -904,7 +938,7 @@ function image_masque($im, $masque, $pos="") {
|
||||||
// un noir & blanc "photo" n'est pas "neutre": les composantes de couleur sont
|
// un noir & blanc "photo" n'est pas "neutre": les composantes de couleur sont
|
||||||
// ponderees pour obtenir le niveau de gris;
|
// ponderees pour obtenir le niveau de gris;
|
||||||
// on peut ici regler cette ponderation en "pour mille"
|
// on peut ici regler cette ponderation en "pour mille"
|
||||||
// http://doc.spip.org/@image_nb
|
// http://code.spip.net/@image_nb
|
||||||
function image_nb($im, $val_r = 299, $val_g = 587, $val_b = 114)
|
function image_nb($im, $val_r = 299, $val_g = 587, $val_b = 114)
|
||||||
{
|
{
|
||||||
$fonction = array('image_nb', func_get_args());
|
$fonction = array('image_nb', func_get_args());
|
||||||
|
@ -960,7 +994,7 @@ function image_nb($im, $val_r = 299, $val_g = 587, $val_b = 114)
|
||||||
return _image_ecrire_tag($image,array('src'=>$dest));
|
return _image_ecrire_tag($image,array('src'=>$dest));
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@image_flou
|
// http://code.spip.net/@image_flou
|
||||||
function image_flou($im,$niveau=3)
|
function image_flou($im,$niveau=3)
|
||||||
{
|
{
|
||||||
// Il s'agit d'une modification du script blur qu'on trouve un peu partout:
|
// Il s'agit d'une modification du script blur qu'on trouve un peu partout:
|
||||||
|
@ -1088,7 +1122,7 @@ function image_flou($im,$niveau=3)
|
||||||
return _image_ecrire_tag($image,array('src'=>$dest,'width'=>($x_i+$niveau),'height'=>($y_i+$niveau)));
|
return _image_ecrire_tag($image,array('src'=>$dest,'width'=>($x_i+$niveau),'height'=>($y_i+$niveau)));
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@image_RotateBicubic
|
// http://code.spip.net/@image_RotateBicubic
|
||||||
function image_RotateBicubic($src_img, $angle, $bicubic=0) {
|
function image_RotateBicubic($src_img, $angle, $bicubic=0) {
|
||||||
include_spip('filtres/images_lib');
|
include_spip('filtres/images_lib');
|
||||||
|
|
||||||
|
@ -1267,7 +1301,7 @@ function image_RotateBicubic($src_img, $angle, $bicubic=0) {
|
||||||
|
|
||||||
// permet de faire tourner une image d'un angle quelconque
|
// permet de faire tourner une image d'un angle quelconque
|
||||||
// la fonction "crop" n'est pas implementee...
|
// la fonction "crop" n'est pas implementee...
|
||||||
// http://doc.spip.org/@image_rotation
|
// http://code.spip.net/@image_rotation
|
||||||
function image_rotation($im, $angle, $crop=false)
|
function image_rotation($im, $angle, $crop=false)
|
||||||
{
|
{
|
||||||
$fonction = array('image_rotation', func_get_args());
|
$fonction = array('image_rotation', func_get_args());
|
||||||
|
@ -1282,7 +1316,7 @@ function image_rotation($im, $angle, $crop=false)
|
||||||
if ($creer) {
|
if ($creer) {
|
||||||
$effectuer_gd = true;
|
$effectuer_gd = true;
|
||||||
|
|
||||||
if(is_callable(array('Imagick','rotateImage'))){
|
if(method_exists('Imagick','rotateImage')){
|
||||||
$imagick = new Imagick();
|
$imagick = new Imagick();
|
||||||
$imagick->readImage($im);
|
$imagick->readImage($im);
|
||||||
$imagick->rotateImage(new ImagickPixel('none'), $angle);
|
$imagick->rotateImage(new ImagickPixel('none'), $angle);
|
||||||
|
@ -1338,7 +1372,7 @@ function image_rotation($im, $angle, $crop=false)
|
||||||
// Permet d'appliquer un filtre php_imagick a une image
|
// Permet d'appliquer un filtre php_imagick a une image
|
||||||
// par exemple: [(#LOGO_ARTICLE|image_imagick{imagick_wave,20,60})]
|
// par exemple: [(#LOGO_ARTICLE|image_imagick{imagick_wave,20,60})]
|
||||||
// liste des fonctions: http://www.linux-nantes.org/~fmonnier/doc/imagick/
|
// liste des fonctions: http://www.linux-nantes.org/~fmonnier/doc/imagick/
|
||||||
// http://doc.spip.org/@image_imagick
|
// http://code.spip.net/@image_imagick
|
||||||
function image_imagick () {
|
function image_imagick () {
|
||||||
$tous = func_get_args();
|
$tous = func_get_args();
|
||||||
$img = $tous[0];
|
$img = $tous[0];
|
||||||
|
@ -1378,7 +1412,7 @@ function image_imagick () {
|
||||||
// Permet de rendre une image
|
// Permet de rendre une image
|
||||||
// plus claire (gamma > 0)
|
// plus claire (gamma > 0)
|
||||||
// ou plus foncee (gamma < 0)
|
// ou plus foncee (gamma < 0)
|
||||||
// http://doc.spip.org/@image_gamma
|
// http://code.spip.net/@image_gamma
|
||||||
function image_gamma($im, $gamma = 0){
|
function image_gamma($im, $gamma = 0){
|
||||||
include_spip('filtres/images_lib');
|
include_spip('filtres/images_lib');
|
||||||
$fonction = array('image_gamma', func_get_args());
|
$fonction = array('image_gamma', func_get_args());
|
||||||
|
@ -1430,7 +1464,7 @@ function image_gamma($im, $gamma = 0){
|
||||||
// On peut fixer les valeurs RGB
|
// On peut fixer les valeurs RGB
|
||||||
// de la couleur "complementaire" pour forcer une dominante
|
// de la couleur "complementaire" pour forcer une dominante
|
||||||
//function image_sepia($im, $dr = 137, $dv = 111, $db = 94)
|
//function image_sepia($im, $dr = 137, $dv = 111, $db = 94)
|
||||||
// http://doc.spip.org/@image_sepia
|
// http://code.spip.net/@image_sepia
|
||||||
function image_sepia($im, $rgb = "896f5e"){
|
function image_sepia($im, $rgb = "896f5e"){
|
||||||
include_spip('filtres/images_lib');
|
include_spip('filtres/images_lib');
|
||||||
|
|
||||||
|
@ -1496,7 +1530,7 @@ function image_sepia($im, $rgb = "896f5e"){
|
||||||
|
|
||||||
|
|
||||||
// Renforcer la nettete d'une image
|
// Renforcer la nettete d'une image
|
||||||
// http://doc.spip.org/@image_renforcement
|
// http://code.spip.net/@image_renforcement
|
||||||
function image_renforcement($im, $k=0.5)
|
function image_renforcement($im, $k=0.5)
|
||||||
{
|
{
|
||||||
$fonction = array('image_flou', func_get_args());
|
$fonction = array('image_flou', func_get_args());
|
||||||
|
|
|
@ -18,7 +18,7 @@ include_spip('inc/filtres_images_mini');
|
||||||
// Image typographique
|
// Image typographique
|
||||||
// Fonctions pour l'arabe
|
// Fonctions pour l'arabe
|
||||||
|
|
||||||
// http://doc.spip.org/@rtl_mb_ord
|
// http://code.spip.net/@rtl_mb_ord
|
||||||
function rtl_mb_ord($char){
|
function rtl_mb_ord($char){
|
||||||
|
|
||||||
if (($c = ord($char)) < 216) return $c;
|
if (($c = ord($char)) < 216) return $c;
|
||||||
|
@ -32,7 +32,7 @@ function rtl_mb_ord($char){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// http://doc.spip.org/@rtl_reverse
|
// http://code.spip.net/@rtl_reverse
|
||||||
function rtl_reverse($mot, $rtl_global) {
|
function rtl_reverse($mot, $rtl_global) {
|
||||||
$rtl_prec = $rtl_global;
|
$rtl_prec = $rtl_global;
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ function rtl_reverse($mot, $rtl_global) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// http://doc.spip.org/@rtl_visuel
|
// http://code.spip.net/@rtl_visuel
|
||||||
function rtl_visuel($texte, $rtl_global) {
|
function rtl_visuel($texte, $rtl_global) {
|
||||||
// hebreu + arabe: 54928 => 56767
|
// hebreu + arabe: 54928 => 56767
|
||||||
// hebreu + presentation A: 15707294 => 15710140
|
// hebreu + presentation A: 15707294 => 15710140
|
||||||
|
@ -395,7 +395,7 @@ function rtl_visuel($texte, $rtl_global) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// http://doc.spip.org/@printWordWrapped
|
// http://code.spip.net/@printWordWrapped
|
||||||
function printWordWrapped($image, $top, $left, $maxWidth, $font, $couleur, $text, $textSize, $align="left", $hauteur_ligne = 0) {
|
function printWordWrapped($image, $top, $left, $maxWidth, $font, $couleur, $text, $textSize, $align="left", $hauteur_ligne = 0) {
|
||||||
static $memps = array();
|
static $memps = array();
|
||||||
|
|
||||||
|
@ -508,7 +508,7 @@ function printWordWrapped($image, $top, $left, $maxWidth, $font, $couleur, $text
|
||||||
//array imagefttext ( resource image, float size, float angle, int x, int y, int col, string font_file, string text [, array extrainfo] )
|
//array imagefttext ( resource image, float size, float angle, int x, int y, int col, string font_file, string text [, array extrainfo] )
|
||||||
//array imagettftext ( resource image, float size, float angle, int x, int y, int color, string fontfile, string text )
|
//array imagettftext ( resource image, float size, float angle, int x, int y, int color, string fontfile, string text )
|
||||||
|
|
||||||
// http://doc.spip.org/@produire_image_typo
|
// http://code.spip.net/@produire_image_typo
|
||||||
function produire_image_typo() {
|
function produire_image_typo() {
|
||||||
/*
|
/*
|
||||||
arguments autorises:
|
arguments autorises:
|
||||||
|
|
|
@ -41,13 +41,13 @@ function image_valeurs_trans($img, $effet, $forcer_format = false, $fonction_cre
|
||||||
|
|
||||||
// Pour assurer la compatibilite avec les anciens nom des filtres image_xxx
|
// Pour assurer la compatibilite avec les anciens nom des filtres image_xxx
|
||||||
// commencent par "image_"
|
// commencent par "image_"
|
||||||
// http://doc.spip.org/@reduire_image
|
// http://code.spip.net/@reduire_image
|
||||||
function reduire_image($texte, $taille = -1, $taille_y = -1) {
|
function reduire_image($texte, $taille = -1, $taille_y = -1) {
|
||||||
return filtrer('image_graver',
|
return filtrer('image_graver',
|
||||||
filtrer('image_reduire',$texte, $taille, $taille_y)
|
filtrer('image_reduire',$texte, $taille, $taille_y)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
// http://doc.spip.org/@valeurs_image_trans
|
// http://code.spip.net/@valeurs_image_trans
|
||||||
function valeurs_image_trans($img, $effet, $forcer_format = false) {
|
function valeurs_image_trans($img, $effet, $forcer_format = false) {
|
||||||
include_spip('inc/filtres_images_lib_mini');
|
include_spip('inc/filtres_images_lib_mini');
|
||||||
return _image_valeurs_trans($img, $effet, $forcer_format = false);
|
return _image_valeurs_trans($img, $effet, $forcer_format = false);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<paquet
|
<paquet
|
||||||
prefix="images"
|
prefix="images"
|
||||||
categorie="multimedia"
|
categorie="multimedia"
|
||||||
version="1.1.9"
|
version="1.1.10"
|
||||||
etat="stable"
|
etat="stable"
|
||||||
compatibilite="[3.0.0;3.0.*]"
|
compatibilite="[3.0.0;3.0.*]"
|
||||||
logo="images/image_filtre-32.png"
|
logo="images/image_filtre-32.png"
|
||||||
|
|
|
@ -33,12 +33,12 @@
|
||||||
$essais = array (
|
$essais = array (
|
||||||
0 =>
|
0 =>
|
||||||
array (
|
array (
|
||||||
0 => '739cc8',
|
0 => '759bc8',
|
||||||
1 => url_absolue(find_in_path('tests/degrade-bleu.jpg'),$GLOBALS['meta']['adresse_site'].'/'),
|
1 => url_absolue(find_in_path('tests/degrade-bleu.jpg'),$GLOBALS['meta']['adresse_site'].'/'),
|
||||||
),
|
),
|
||||||
1 =>
|
1 =>
|
||||||
array (
|
array (
|
||||||
0 => '739cc8',
|
0 => '759bc8',
|
||||||
1 => find_in_path('tests/degrade-bleu.jpg'),
|
1 => find_in_path('tests/degrade-bleu.jpg'),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
@ -49,4 +49,4 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -15,7 +15,7 @@ include_spip('inc/modifier');
|
||||||
|
|
||||||
// Nota: quand on edite un forum existant, il est de bon ton d'appeler
|
// Nota: quand on edite un forum existant, il est de bon ton d'appeler
|
||||||
// au prealable conserver_original($id_forum)
|
// au prealable conserver_original($id_forum)
|
||||||
// http://doc.spip.org/@revision_forum
|
// http://code.spip.net/@revision_forum
|
||||||
if(!function_exists('revision_forum')){
|
if(!function_exists('revision_forum')){
|
||||||
function revision_forum($id_forum, $c=false) {
|
function revision_forum($id_forum, $c=false) {
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ if(!function_exists('revision_forum')){
|
||||||
),
|
),
|
||||||
$c);
|
$c);
|
||||||
|
|
||||||
$t = $t["id_thread"];
|
$id_thread = $t["id_thread"];
|
||||||
$cles = array();
|
$cles = array();
|
||||||
foreach (array('id_objet', 'objet') as $k) {
|
foreach (array('id_objet', 'objet') as $k) {
|
||||||
if (isset($c[$k]) AND $c[$k]) $cles[$k] = $c[$k];
|
if (isset($c[$k]) AND $c[$k]) $cles[$k] = $c[$k];
|
||||||
|
@ -54,15 +54,15 @@ if(!function_exists('revision_forum')){
|
||||||
// Modification des id_article etc
|
// Modification des id_article etc
|
||||||
// (non autorise en standard mais utile pour des crayons)
|
// (non autorise en standard mais utile pour des crayons)
|
||||||
// on deplace tout le thread {sauf les originaux}.
|
// on deplace tout le thread {sauf les originaux}.
|
||||||
if (count($cles) AND $t) {
|
if (count($cles) AND $id_thread) {
|
||||||
spip_log("update thread id_thread=$t avec ".var_export($cles,1),'forum.'. _LOG_INFO_IMPORTANTE);
|
spip_log("update thread id_thread=$id_thread avec ".var_export($cles,1),'forum.'. _LOG_INFO_IMPORTANTE);
|
||||||
sql_updateq("spip_forum", $cles, "id_thread=".intval($t)." AND statut!='original'");
|
sql_updateq("spip_forum", $cles, "id_thread=".$id_thread." AND statut!='original'");
|
||||||
// on n'affecte pas $r, car un deplacement ne change pas l'auteur
|
// on n'affecte pas $r, car un deplacement ne change pas l'auteur
|
||||||
}
|
}
|
||||||
|
|
||||||
// s'il y a vraiment eu une modif, on
|
// s'il y a vraiment eu une modif et que le message est public
|
||||||
// enregistre le nouveau date_thread
|
// on enregistre le nouveau date_thread
|
||||||
if ($err==='') {
|
if ($err==='' AND $t['statut'] == 'publie') {
|
||||||
// on ne stocke ni le numero IP courant ni le nouvel id_auteur
|
// on ne stocke ni le numero IP courant ni le nouvel id_auteur
|
||||||
// dans le message modifie (trop penible a l'usage) ; mais du
|
// dans le message modifie (trop penible a l'usage) ; mais du
|
||||||
// coup attention a la responsabilite editoriale
|
// coup attention a la responsabilite editoriale
|
||||||
|
@ -71,7 +71,7 @@ if(!function_exists('revision_forum')){
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// & meme ca ca pourrait etre optionnel
|
// & meme ca ca pourrait etre optionnel
|
||||||
sql_updateq("spip_forum", array("date_thread" => date('Y-m-d H:i:s')), "id_thread=".$t);
|
sql_updateq("spip_forum", array("date_thread" => date('Y-m-d H:i:s')), "id_thread=".$id_thread);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
if (!defined("_ECRIRE_INC_VERSION")) return;
|
if (!defined("_ECRIRE_INC_VERSION")) return;
|
||||||
|
|
||||||
// http://doc.spip.org/@action_instituer_forum_dist
|
// http://code.spip.net/@action_instituer_forum_dist
|
||||||
function action_instituer_forum_dist($arg=null) {
|
function action_instituer_forum_dist($arg=null) {
|
||||||
|
|
||||||
if (is_null($arg)){
|
if (is_null($arg)){
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
if (!defined("_ECRIRE_INC_VERSION")) return;
|
if (!defined("_ECRIRE_INC_VERSION")) return;
|
||||||
|
|
||||||
// http://doc.spip.org/@action_instituer_forum_dist
|
// http://code.spip.net/@action_instituer_forum_dist
|
||||||
function action_instituer_lot_forum_dist($arg=null) {
|
function action_instituer_lot_forum_dist($arg=null) {
|
||||||
|
|
||||||
if (is_null($arg)){
|
if (is_null($arg)){
|
||||||
|
|
|
@ -29,7 +29,7 @@ include_spip('inc/forum');
|
||||||
* #FORMULAIRE_FORUM seul calcule (objet, id_objet) depuis la boucle parente
|
* #FORMULAIRE_FORUM seul calcule (objet, id_objet) depuis la boucle parente
|
||||||
* #FORMULAIRE_FORUM{#SELF} pour forcer l'url de retour
|
* #FORMULAIRE_FORUM{#SELF} pour forcer l'url de retour
|
||||||
* #FORMULAIRE_FORUM{#SELF, article, 3} pour forcer l'objet et son identifiant
|
* #FORMULAIRE_FORUM{#SELF, article, 3} pour forcer l'objet et son identifiant
|
||||||
* http://doc.spip.org/@balise_FORMULAIRE_FORUM
|
* http://code.spip.net/@balise_FORMULAIRE_FORUM
|
||||||
*
|
*
|
||||||
* @param Object $p
|
* @param Object $p
|
||||||
* @return Object
|
* @return Object
|
||||||
|
@ -81,7 +81,7 @@ function balise_FORMULAIRE_FORUM ($p) {
|
||||||
/**
|
/**
|
||||||
* Chercher l'objet/id_objet et la configuration du forum
|
* Chercher l'objet/id_objet et la configuration du forum
|
||||||
*
|
*
|
||||||
* http://doc.spip.org/@balise_FORMULAIRE_FORUM_stat
|
* http://code.spip.net/@balise_FORMULAIRE_FORUM_stat
|
||||||
*
|
*
|
||||||
* @param array $args
|
* @param array $args
|
||||||
* @param array $context_compil
|
* @param array $context_compil
|
||||||
|
|
|
@ -29,7 +29,7 @@ include_spip('inc/forum');
|
||||||
* #FORMULAIRE_FORUM_PRIVE seul calcule (objet, id_objet) depuis la boucle parente
|
* #FORMULAIRE_FORUM_PRIVE seul calcule (objet, id_objet) depuis la boucle parente
|
||||||
* #FORMULAIRE_FORUM_PRIVE{#SELF} pour forcer l'url de retour
|
* #FORMULAIRE_FORUM_PRIVE{#SELF} pour forcer l'url de retour
|
||||||
* #FORMULAIRE_FORUM_PRIVE{#SELF, article, 3} pour forcer l'objet et son identifiant
|
* #FORMULAIRE_FORUM_PRIVE{#SELF, article, 3} pour forcer l'objet et son identifiant
|
||||||
* http://doc.spip.org/@balise_FORMULAIRE_FORUM_PRIVE
|
* http://code.spip.net/@balise_FORMULAIRE_FORUM_PRIVE
|
||||||
*
|
*
|
||||||
* @param Object $p
|
* @param Object $p
|
||||||
* @return Object
|
* @return Object
|
||||||
|
@ -79,7 +79,7 @@ function balise_FORMULAIRE_FORUM_PRIVE ($p) {
|
||||||
/**
|
/**
|
||||||
* Chercher l'objet/id_objet et la configuration du forum
|
* Chercher l'objet/id_objet et la configuration du forum
|
||||||
*
|
*
|
||||||
* http://doc.spip.org/@balise_FORMULAIRE_FORUM_PRIVE_stat
|
* http://code.spip.net/@balise_FORMULAIRE_FORUM_PRIVE_stat
|
||||||
*
|
*
|
||||||
* @param array $args
|
* @param array $args
|
||||||
* @param array $context_compil
|
* @param array $context_compil
|
||||||
|
|
|
@ -27,6 +27,7 @@ function forum_declarer_tables_interfaces($interfaces){
|
||||||
$interfaces['exceptions_des_tables']['forums']['email']='email_auteur';
|
$interfaces['exceptions_des_tables']['forums']['email']='email_auteur';
|
||||||
|
|
||||||
// il ne faut pas essayer de chercher le forum du mot cle, mais bien le mot cle associe au forum
|
// il ne faut pas essayer de chercher le forum du mot cle, mais bien le mot cle associe au forum
|
||||||
|
$interfaces['exceptions_des_jointures']['spip_forum']['id_secteur'] = array('spip_articles','id_secteur');
|
||||||
$interfaces['exceptions_des_jointures']['spip_forum']['id_mot'] = array('spip_mots','id_mot');
|
$interfaces['exceptions_des_jointures']['spip_forum']['id_mot'] = array('spip_mots','id_mot');
|
||||||
$interfaces['exceptions_des_jointures']['spip_forum']['titre_mot'] = array('spip_mots','titre');
|
$interfaces['exceptions_des_jointures']['spip_forum']['titre_mot'] = array('spip_mots','titre');
|
||||||
$interfaces['exceptions_des_jointures']['spip_forum']['type_mot'] = array('spip_mots','type');
|
$interfaces['exceptions_des_jointures']['spip_forum']['type_mot'] = array('spip_mots','type');
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
if (!defined("_ECRIRE_INC_VERSION")) return;
|
if (!defined("_ECRIRE_INC_VERSION")) return;
|
||||||
|
|
||||||
// Recuperer le reglage des forums publics de l'article x
|
// Recuperer le reglage des forums publics de l'article x
|
||||||
// http://doc.spip.org/@get_forums_publics
|
// http://code.spip.net/@get_forums_publics
|
||||||
function get_forums_publics($id_objet=0, $objet='article') {
|
function get_forums_publics($id_objet=0, $objet='article') {
|
||||||
|
|
||||||
if ($objet=='article' AND $id_objet) {
|
if ($objet=='article' AND $id_objet) {
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
<input type='hidden' name='nom_site' value="#ENV{nom_site}" />
|
<input type='hidden' name='nom_site' value="#ENV{nom_site}" />
|
||||||
[<input type="hidden" name="id_forum" value="(#ENV*{id_forum})" />]
|
[<input type="hidden" name="id_forum" value="(#ENV*{id_forum})" />]
|
||||||
[(#INCLURE{fond=formulaires/inc-forum_ajouter_mot, ajouter_mot})]
|
[(#INCLURE{fond=formulaires/inc-forum_ajouter_mot, ajouter_mot})]
|
||||||
(#ENV*{erreurs}|table_valeur{previsu})
|
(#ENV**{erreurs}|table_valeur{previsu})
|
||||||
</div>
|
</div>
|
||||||
</form>]
|
</form>]
|
||||||
|
|
||||||
|
|
|
@ -162,7 +162,7 @@ function formulaires_forum_charger_dist($objet, $id_objet, $id_forum,
|
||||||
* Ce systeme n'est pas fonctionnel pour les forums sans previsu (notamment
|
* Ce systeme n'est pas fonctionnel pour les forums sans previsu (notamment
|
||||||
* si $afficher_previsu = 'non')
|
* si $afficher_previsu = 'non')
|
||||||
*
|
*
|
||||||
* http://doc.spip.org/@forum_fichier_tmp
|
* http://code.spip.net/@forum_fichier_tmp
|
||||||
*
|
*
|
||||||
* @param $arg
|
* @param $arg
|
||||||
* @return int
|
* @return int
|
||||||
|
@ -211,6 +211,7 @@ function formulaires_forum_verifier_dist($objet, $id_objet, $id_forum,
|
||||||
include_spip('base/abstract_sql');
|
include_spip('base/abstract_sql');
|
||||||
|
|
||||||
$erreurs = array();
|
$erreurs = array();
|
||||||
|
$doc = array();
|
||||||
|
|
||||||
// desactiver id_rubrique si un id_article ou autre existe dans le contexte
|
// desactiver id_rubrique si un id_article ou autre existe dans le contexte
|
||||||
// if ($id_article OR $id_breve OR $id_forum OR $id_syndic)
|
// if ($id_article OR $id_breve OR $id_forum OR $id_syndic)
|
||||||
|
@ -219,33 +220,34 @@ function formulaires_forum_verifier_dist($objet, $id_objet, $id_forum,
|
||||||
// stocker un eventuel document dans un espace temporaire
|
// stocker un eventuel document dans un espace temporaire
|
||||||
// portant la cle du formulaire ; et ses metadonnees avec
|
// portant la cle du formulaire ; et ses metadonnees avec
|
||||||
|
|
||||||
if (!isset($GLOBALS['visiteur_session']['tmp_forum_document']))
|
|
||||||
session_set('tmp_forum_document',
|
|
||||||
sous_repertoire(_DIR_TMP, 'documents_forum') . md5(uniqid(rand())));
|
|
||||||
$tmp = $GLOBALS['visiteur_session']['tmp_forum_document'];
|
|
||||||
$doc = &$_FILES['ajouter_document'];
|
|
||||||
if (isset($_FILES['ajouter_document'])
|
if (isset($_FILES['ajouter_document'])
|
||||||
AND $_FILES['ajouter_document']['tmp_name']
|
AND $_FILES['ajouter_document']['tmp_name']){
|
||||||
){
|
|
||||||
// securite :
|
$acceptes = forum_documents_acceptes();
|
||||||
// verifier si on possede la cle (ie on est autorise a poster)
|
if (
|
||||||
// (sinon tant pis) ; cf. charger.php pour la definition de la cle
|
// si on a poste un $_FILES mais que l'option n'est pas active : cas produit par les bots qui spamment automatiquement
|
||||||
if (_request('cle_ajouter_document')!=calculer_cle_action($a = "ajouter-document-$objet-$id_objet")){
|
!count($acceptes)
|
||||||
|
// securite :
|
||||||
|
// verifier si on possede la cle (ie on est autorise a poster)
|
||||||
|
// (sinon tant pis) ; cf. charger.php pour la definition de la cle
|
||||||
|
OR _request('cle_ajouter_document')!=calculer_cle_action($a = "ajouter-document-$objet-$id_objet")
|
||||||
|
){
|
||||||
$erreurs['document_forum'] = _T('forum:documents_interdits_forum');
|
$erreurs['document_forum'] = _T('forum:documents_interdits_forum');
|
||||||
unset($_FILES['ajouter_document']);
|
unset($_FILES['ajouter_document']);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
if (!isset($GLOBALS['visiteur_session']['tmp_forum_document']))
|
||||||
|
session_set('tmp_forum_document', sous_repertoire(_DIR_TMP, 'documents_forum') . md5(uniqid(rand())));
|
||||||
|
|
||||||
|
$tmp = $GLOBALS['visiteur_session']['tmp_forum_document'];
|
||||||
|
$doc = &$_FILES['ajouter_document'];
|
||||||
|
|
||||||
include_spip('inc/joindre_document');
|
include_spip('inc/joindre_document');
|
||||||
include_spip('action/ajouter_documents');
|
include_spip('action/ajouter_documents');
|
||||||
list($extension, $doc['name']) = fixer_extension_document($doc);
|
list($extension, $doc['name']) = fixer_extension_document($doc);
|
||||||
$acceptes = forum_documents_acceptes();
|
|
||||||
|
|
||||||
if (!in_array($extension, $acceptes)){
|
if (!in_array($extension, $acceptes)){
|
||||||
# normalement on n'arrive pas ici : pas d'upload si aucun format
|
$erreurs['document_forum'] = _T('public:formats_acceptes', array('formats' => join(', ', $acceptes)));
|
||||||
if (!$formats = join(', ', $acceptes)){
|
|
||||||
$formats = '-'; //_L('aucun');
|
|
||||||
}
|
|
||||||
$erreurs['document_forum'] = _T('public:formats_acceptes', array('formats' => $formats));
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
include_spip('inc/getdocument');
|
include_spip('inc/getdocument');
|
||||||
|
@ -261,19 +263,22 @@ function formulaires_forum_verifier_dist($objet, $id_objet, $id_forum,
|
||||||
if (isset($erreurs['document_forum'])){
|
if (isset($erreurs['document_forum'])){
|
||||||
spip_unlink($tmp . '.bin');
|
spip_unlink($tmp . '.bin');
|
||||||
unset ($_FILES['ajouter_document']);
|
unset ($_FILES['ajouter_document']);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
$doc['tmp_name'] = $tmp . '.bin';
|
$doc['tmp_name'] = $tmp . '.bin';
|
||||||
ecrire_fichier($tmp . '.txt', serialize($doc));
|
ecrire_fichier($tmp . '.txt', serialize($doc));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // restaurer le document uploade au tour precedent
|
}
|
||||||
elseif (file_exists($tmp . '.bin')){
|
// restaurer/supprimer le document eventuellement uploade au tour precedent
|
||||||
|
elseif (isset($GLOBALS['visiteur_session']['tmp_forum_document'])
|
||||||
|
AND $tmp = $GLOBALS['visiteur_session']['tmp_forum_document']
|
||||||
|
AND file_exists($tmp . '.bin')){
|
||||||
if (_request('supprimer_document_ajoute')){
|
if (_request('supprimer_document_ajoute')){
|
||||||
spip_unlink($tmp . '.bin');
|
spip_unlink($tmp . '.bin');
|
||||||
spip_unlink($tmp . '.txt');
|
spip_unlink($tmp . '.txt');
|
||||||
}
|
}
|
||||||
elseif (lire_fichier($tmp . '.txt', $meta)){
|
elseif (lire_fichier($tmp . '.txt', $meta)){
|
||||||
|
$doc = &$_FILES['ajouter_document'];
|
||||||
$doc = @unserialize($meta);
|
$doc = @unserialize($meta);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -359,7 +364,7 @@ function forum_documents_acceptes(){
|
||||||
/**
|
/**
|
||||||
* Preparer la previsu d'un message de forum
|
* Preparer la previsu d'un message de forum
|
||||||
*
|
*
|
||||||
* http://doc.spip.org/@inclure_previsu
|
* http://code.spip.net/@inclure_previsu
|
||||||
*
|
*
|
||||||
* @param string $texte
|
* @param string $texte
|
||||||
* @param string $titre
|
* @param string $titre
|
||||||
|
|
|
@ -73,8 +73,12 @@ function formulaires_forum_prive_verifier_dist($objet, $id_objet, $id_forum, $af
|
||||||
|
|
||||||
$erreurs = array();
|
$erreurs = array();
|
||||||
|
|
||||||
if (strlen($texte = _request('texte')) < 10 AND $GLOBALS['meta']['forums_texte'] == 'oui')
|
$min_length = (defined('_FORUM_LONGUEUR_MINI') ? _FORUM_LONGUEUR_MINI : 10);
|
||||||
$erreurs['texte'] = _T('forum:forum_attention_dix_caracteres');
|
if (strlen($texte = _request('texte'))<$min_length
|
||||||
|
AND !$ajouter_mot AND $GLOBALS['meta']['forums_texte']=='oui'
|
||||||
|
){
|
||||||
|
$erreurs['texte'] = _T($min_length==10 ? 'forum:forum_attention_dix_caracteres' : 'forum:forum_attention_nb_caracteres_mini', array('min' => $min_length));
|
||||||
|
}
|
||||||
else if (defined('_FORUM_LONGUEUR_MAXI')
|
else if (defined('_FORUM_LONGUEUR_MAXI')
|
||||||
AND _FORUM_LONGUEUR_MAXI > 0
|
AND _FORUM_LONGUEUR_MAXI > 0
|
||||||
AND strlen($texte) > _FORUM_LONGUEUR_MAXI)
|
AND strlen($texte) > _FORUM_LONGUEUR_MAXI)
|
||||||
|
@ -83,7 +87,6 @@ function formulaires_forum_prive_verifier_dist($objet, $id_objet, $id_forum, $af
|
||||||
'compte' => strlen($texte),
|
'compte' => strlen($texte),
|
||||||
'max' => _FORUM_LONGUEUR_MAXI
|
'max' => _FORUM_LONGUEUR_MAXI
|
||||||
));
|
));
|
||||||
|
|
||||||
if (strlen($titre=_request('titre')) < 3
|
if (strlen($titre=_request('titre')) < 3
|
||||||
AND $GLOBALS['meta']['forums_titre'] == 'oui')
|
AND $GLOBALS['meta']['forums_titre'] == 'oui')
|
||||||
$erreurs['titre'] = _T('forum:forum_attention_trois_caracteres');
|
$erreurs['titre'] = _T('forum:forum_attention_trois_caracteres');
|
||||||
|
|
|
@ -31,7 +31,7 @@ function autoriser_forumreactions_menu_dist($faire, $type='', $id=0, $qui = NULL
|
||||||
// Moderer le forum ?
|
// Moderer le forum ?
|
||||||
// = modifier l'objet correspondant (si forum attache a un objet)
|
// = modifier l'objet correspondant (si forum attache a un objet)
|
||||||
// = droits par defaut sinon (admin complet pour moderation complete)
|
// = droits par defaut sinon (admin complet pour moderation complete)
|
||||||
// http://doc.spip.org/@autoriser_modererforum_dist
|
// http://code.spip.net/@autoriser_modererforum_dist
|
||||||
function autoriser_modererforum_dist($faire, $type, $id, $qui, $opt) {
|
function autoriser_modererforum_dist($faire, $type, $id, $qui, $opt) {
|
||||||
return $type ? autoriser('modifier', $type, $id, $qui, $opt):autoriser('moderer', 'forum', 0, $qui, $opt);
|
return $type ? autoriser('modifier', $type, $id, $qui, $opt):autoriser('moderer', 'forum', 0, $qui, $opt);
|
||||||
}
|
}
|
||||||
|
@ -63,14 +63,14 @@ function autoriser_forum_moderer_dist($faire, $type, $id, $qui, $opt){
|
||||||
|
|
||||||
// Modifier un forum ?
|
// Modifier un forum ?
|
||||||
// = jamais !
|
// = jamais !
|
||||||
// http://doc.spip.org/@autoriser_forum_modifier_dist
|
// http://code.spip.net/@autoriser_forum_modifier_dist
|
||||||
function autoriser_forum_modifier_dist($faire, $type, $id, $qui, $opt) {
|
function autoriser_forum_modifier_dist($faire, $type, $id, $qui, $opt) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Consulter le forum des admins ?
|
// Consulter le forum des admins ?
|
||||||
// admins y compris restreints
|
// admins y compris restreints
|
||||||
// http://doc.spip.org/@autoriser_forum_admin_dist
|
// http://code.spip.net/@autoriser_forum_admin_dist
|
||||||
function autoriser_forum_admin_dist($faire, $type, $id, $qui, $opt) {
|
function autoriser_forum_admin_dist($faire, $type, $id, $qui, $opt) {
|
||||||
return $qui['statut'] == '0minirezo';
|
return $qui['statut'] == '0minirezo';
|
||||||
}
|
}
|
||||||
|
@ -82,6 +82,38 @@ function autoriser_forum_autoassocierdocument_dist($faire, $type, $id, $qui, $op
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Autorisation d'association de documents sur des forum
|
||||||
|
*
|
||||||
|
* Toujours
|
||||||
|
*
|
||||||
|
* @param string $faire Action demandée
|
||||||
|
* @param string $type Type d'objet sur lequel appliquer l'action
|
||||||
|
* @param int $id Identifiant de l'objet
|
||||||
|
* @param array $qui Description de l'auteur demandant l'autorisation
|
||||||
|
* @param array $opt Options de cette autorisation
|
||||||
|
* @return bool true s'il a le droit, false sinon
|
||||||
|
*/
|
||||||
|
function autoriser_forum_associerdocuments_dist($faire, $type, $id, $qui, $opt) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Autorisation de dissociation de documents sur des forum
|
||||||
|
*
|
||||||
|
* Toujours
|
||||||
|
*
|
||||||
|
* @param string $faire Action demandée
|
||||||
|
* @param string $type Type d'objet sur lequel appliquer l'action
|
||||||
|
* @param int $id Identifiant de l'objet
|
||||||
|
* @param array $qui Description de l'auteur demandant l'autorisation
|
||||||
|
* @param array $opt Options de cette autorisation
|
||||||
|
* @return bool true s'il a le droit, false sinon
|
||||||
|
*/
|
||||||
|
function autoriser_forum_dissocierdocuments_dist($faire, $type, $id, $qui, $opt) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Autoriser a participer au forum des admins
|
* Autoriser a participer au forum des admins
|
||||||
*
|
*
|
||||||
|
|
|
@ -125,7 +125,7 @@ function forum_afficher_fiche_objet($flux){
|
||||||
else
|
else
|
||||||
$n_forums = 0;
|
$n_forums = 0;
|
||||||
if ($n_forums)
|
if ($n_forums)
|
||||||
$flux['data'] .= icone_verticale(_T('forum:icone_suivi_forum', array('nb_forums' => $n_forums)), generer_url_ecrire("controler_forum","objet=rubrique&id_objet=$id_rubrique"), "forum-24.png", "", 'center');
|
$flux['data'] .= icone_verticale(_T('forum:icone_suivi_forum', array('nb_forums' => $n_forums)), generer_url_ecrire("controler_forum","objet=article&id_secteur=$id_rubrique&statut=prop"), "forum-24.png", "", 'center');
|
||||||
}
|
}
|
||||||
return $flux;
|
return $flux;
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,45 +13,50 @@
|
||||||
if (!defined("_ECRIRE_INC_VERSION")) return;
|
if (!defined("_ECRIRE_INC_VERSION")) return;
|
||||||
include_spip('inc/actions');
|
include_spip('inc/actions');
|
||||||
|
|
||||||
// recuperer le critere SQL qui selectionne nos forums
|
/**
|
||||||
// http://doc.spip.org/@critere_statut_controle_forum
|
* recuperer le critere SQL qui selectionne nos forums
|
||||||
function critere_statut_controle_forum($type, $id_rubrique=0, $recherche='') {
|
* http://code.spip.net/@critere_statut_controle_forum
|
||||||
|
*
|
||||||
|
* @param string $type
|
||||||
|
* @param int|array $id_secteur
|
||||||
|
* @param string $recherche
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
function critere_statut_controle_forum($type, $id_secteur=0, $recherche='') {
|
||||||
|
|
||||||
if (is_array($id_rubrique)) $id_rubrique = join(',',$id_rubrique);
|
if (!$id_secteur) {
|
||||||
if (!$id_rubrique) {
|
|
||||||
$from = 'spip_forum AS F';
|
$from = 'spip_forum AS F';
|
||||||
$where = "";
|
$where = "";
|
||||||
$and = "";
|
$and = "";
|
||||||
} else {
|
} else {
|
||||||
if (strpos($id_rubrique,','))
|
if (!is_array($id_secteur)){
|
||||||
$eq = " IN ($id_rubrique)";
|
$id_secteur = explode(',',$id_secteur);
|
||||||
else $eq = "=$id_rubrique";
|
}
|
||||||
|
|
||||||
$from = 'spip_forum AS F, spip_articles AS A';
|
$from = 'spip_forum AS F, spip_articles AS A';
|
||||||
$where = "A.id_secteur$eq AND F.objet='article' AND F.id_objet=A.id_article";
|
$where = sql_in("A.id_secteur",$id_secteur)." AND F.objet='article' AND F.id_objet=A.id_article";
|
||||||
$and = ' AND ';
|
$and = ' AND ';
|
||||||
}
|
}
|
||||||
|
|
||||||
switch ($type) {
|
switch ($type) {
|
||||||
case 'public':
|
case 'public':
|
||||||
$and .= "F.statut IN ('publie', 'off', 'prop', 'spam') AND F.texte!=''";
|
$and .= "F.statut IN ('publie', 'off', 'prop', 'spam') AND F.texte!=''";
|
||||||
break;
|
break;
|
||||||
case 'prop':
|
case 'prop':
|
||||||
$and .= "F.statut='prop'";
|
$and .= "F.statut='prop'";
|
||||||
break;
|
break;
|
||||||
case 'spam':
|
case 'spam':
|
||||||
$and .= "F.statut='spam'";
|
$and .= "F.statut='spam'";
|
||||||
break;
|
break;
|
||||||
case 'interne':
|
case 'interne':
|
||||||
$and .= "F.statut IN ('prive', 'privrac', 'privoff', 'privadm') AND F.texte!=''";
|
$and .= "F.statut IN ('prive', 'privrac', 'privoff', 'privadm') AND F.texte!=''";
|
||||||
break;
|
break;
|
||||||
case 'vide':
|
case 'vide':
|
||||||
$and .= "F.statut IN ('publie', 'off', 'prive', 'privrac', 'privoff', 'privadm') AND F.texte=''";
|
$and .= "F.statut IN ('publie', 'off', 'prive', 'privrac', 'privoff', 'privadm') AND F.texte=''";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
$where = '0=1';
|
$where = '0=1';
|
||||||
$and ='';
|
$and ='';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($recherche) {
|
if ($recherche) {
|
||||||
|
@ -75,7 +80,7 @@ function critere_statut_controle_forum($type, $id_rubrique=0, $recherche='') {
|
||||||
// obsolete, remplace par l'appel systematique a 2 invalideurs :
|
// obsolete, remplace par l'appel systematique a 2 invalideurs :
|
||||||
// - forum/id_forum
|
// - forum/id_forum
|
||||||
// - objet/id_objet
|
// - objet/id_objet
|
||||||
// http://doc.spip.org/@calcul_index_forum
|
// http://code.spip.net/@calcul_index_forum
|
||||||
function calcul_index_forum($objet,$id_objet) {
|
function calcul_index_forum($objet,$id_objet) {
|
||||||
return substr($objet,0,1).$id_objet;
|
return substr($objet,0,1).$id_objet;
|
||||||
}
|
}
|
||||||
|
@ -83,7 +88,7 @@ function calcul_index_forum($objet,$id_objet) {
|
||||||
//
|
//
|
||||||
// Recalculer tous les threads
|
// Recalculer tous les threads
|
||||||
//
|
//
|
||||||
// http://doc.spip.org/@calculer_threads
|
// http://code.spip.net/@calculer_threads
|
||||||
function calculer_threads() {
|
function calculer_threads() {
|
||||||
// fixer les id_thread des debuts de discussion
|
// fixer les id_thread des debuts de discussion
|
||||||
sql_update('spip_forum', array('id_thread'=>'id_forum'), "id_parent=0");
|
sql_update('spip_forum', array('id_thread'=>'id_forum'), "id_parent=0");
|
||||||
|
@ -107,7 +112,7 @@ function calculer_threads() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calculs des URLs des forums (pour l'espace public)
|
// Calculs des URLs des forums (pour l'espace public)
|
||||||
// http://doc.spip.org/@racine_forum
|
// http://code.spip.net/@racine_forum
|
||||||
function racine_forum($id_forum){
|
function racine_forum($id_forum){
|
||||||
if (!$id_forum = intval($id_forum)) return false;
|
if (!$id_forum = intval($id_forum)) return false;
|
||||||
|
|
||||||
|
@ -123,7 +128,7 @@ function racine_forum($id_forum){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// http://doc.spip.org/@parent_forum
|
// http://code.spip.net/@parent_forum
|
||||||
function parent_forum($id_forum) {
|
function parent_forum($id_forum) {
|
||||||
if (!$id_forum = intval($id_forum)) return;
|
if (!$id_forum = intval($id_forum)) return;
|
||||||
$row = sql_fetsel("id_parent, objet, id_objet", "spip_forum", "id_forum=".$id_forum);
|
$row = sql_fetsel("id_parent, objet, id_objet", "spip_forum", "id_forum=".$id_forum);
|
||||||
|
@ -149,7 +154,7 @@ function generer_url_forum_dist($id_forum, $args='', $ancre='') {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// http://doc.spip.org/@generer_url_forum_parent
|
// http://code.spip.net/@generer_url_forum_parent
|
||||||
function generer_url_forum_parent($id_forum) {
|
function generer_url_forum_parent($id_forum) {
|
||||||
if ($id_forum = intval($id_forum)) {
|
if ($id_forum = intval($id_forum)) {
|
||||||
list($type, $id) = parent_forum($id_forum);
|
list($type, $id) = parent_forum($id_forum);
|
||||||
|
@ -162,7 +167,7 @@ function generer_url_forum_parent($id_forum) {
|
||||||
|
|
||||||
// Quand on edite un forum, on tient a conserver l'original
|
// Quand on edite un forum, on tient a conserver l'original
|
||||||
// sous forme d'un forum en reponse, de statut 'original'
|
// sous forme d'un forum en reponse, de statut 'original'
|
||||||
// http://doc.spip.org/@conserver_original
|
// http://code.spip.net/@conserver_original
|
||||||
function conserver_original($id_forum) {
|
function conserver_original($id_forum) {
|
||||||
$s = sql_fetsel("id_forum", "spip_forum", "id_parent=".intval($id_forum)." AND statut='original'");
|
$s = sql_fetsel("id_forum", "spip_forum", "id_parent=".intval($id_forum)." AND statut='original'");
|
||||||
|
|
||||||
|
@ -184,7 +189,7 @@ function conserver_original($id_forum) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// appelle conserver_original(), puis modifie le contenu via l'API inc/modifier
|
// appelle conserver_original(), puis modifie le contenu via l'API inc/modifier
|
||||||
// http://doc.spip.org/@enregistre_et_modifie_forum
|
// http://code.spip.net/@enregistre_et_modifie_forum
|
||||||
function enregistre_et_modifie_forum($id_forum, $c=false) {
|
function enregistre_et_modifie_forum($id_forum, $c=false) {
|
||||||
if ($err = conserver_original($id_forum)) {
|
if ($err = conserver_original($id_forum)) {
|
||||||
spip_log("erreur de sauvegarde de l'original, $err");
|
spip_log("erreur de sauvegarde de l'original, $err");
|
||||||
|
@ -242,7 +247,7 @@ function forum_recuperer_titre_dist($objet, $id_objet, $id_forum=0, $publie = tr
|
||||||
* pri: a priori, doivent etre valides par un admin
|
* pri: a priori, doivent etre valides par un admin
|
||||||
* abo: les personnes doivent au prealable etre identifiees
|
* abo: les personnes doivent au prealable etre identifiees
|
||||||
*
|
*
|
||||||
* http://doc.spip.org/@controler_forum
|
* http://code.spip.net/@controler_forum
|
||||||
*
|
*
|
||||||
* @param string $objet
|
* @param string $objet
|
||||||
* objet a tester
|
* objet a tester
|
||||||
|
@ -266,7 +271,7 @@ function controler_forum($objet, $id_objet) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Verifier la presence du jeton de secu post previsu
|
* Verifier la presence du jeton de secu post previsu
|
||||||
* http://doc.spip.org/@forum_insert_noprevisu
|
* http://code.spip.net/@forum_insert_noprevisu
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
function forum_insert_noprevisu(){
|
function forum_insert_noprevisu(){
|
||||||
|
@ -320,7 +325,7 @@ function forum_get_objets_depuis_env() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// http://doc.spip.org/@reduce_strlen
|
// http://code.spip.net/@reduce_strlen
|
||||||
function reduce_strlen($n, $c)
|
function reduce_strlen($n, $c)
|
||||||
{
|
{
|
||||||
return $n - (is_string($c) ? strlen($c) : 0);
|
return $n - (is_string($c) ? strlen($c) : 0);
|
||||||
|
|
|
@ -17,7 +17,7 @@ include_spip('inc/actions');
|
||||||
|
|
||||||
// Ce fichier est inclus par dist/formulaires/forum.php
|
// Ce fichier est inclus par dist/formulaires/forum.php
|
||||||
|
|
||||||
// http://doc.spip.org/@mots_du_forum
|
// http://code.spip.net/@mots_du_forum
|
||||||
function mots_du_forum($ajouter_mot, $id_message)
|
function mots_du_forum($ajouter_mot, $id_message)
|
||||||
{
|
{
|
||||||
include_spip('action/editer_mot');
|
include_spip('action/editer_mot');
|
||||||
|
@ -26,7 +26,7 @@ function mots_du_forum($ajouter_mot, $id_message)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// http://doc.spip.org/@tracer_erreur_forum
|
// http://code.spip.net/@tracer_erreur_forum
|
||||||
function tracer_erreur_forum($type='') {
|
function tracer_erreur_forum($type='') {
|
||||||
spip_log("erreur forum ($type): ".print_r($_POST, true));
|
spip_log("erreur forum ($type): ".print_r($_POST, true));
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ function tracer_erreur_forum($type='') {
|
||||||
/**
|
/**
|
||||||
* Un parametre permet de forcer le statut (exemple: plugin antispam)
|
* Un parametre permet de forcer le statut (exemple: plugin antispam)
|
||||||
*
|
*
|
||||||
* http://doc.spip.org/@inc_forum_insert_dist
|
* http://code.spip.net/@inc_forum_insert_dist
|
||||||
*
|
*
|
||||||
* @param $objet
|
* @param $objet
|
||||||
* @param $id_objet
|
* @param $id_objet
|
||||||
|
@ -98,7 +98,7 @@ function inc_forum_insert_dist($objet, $id_objet, $id_forum, $force_statut = NUL
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://doc.spip.org/@forum_insert_base
|
// http://code.spip.net/@forum_insert_base
|
||||||
function forum_insert_base($c, $id_forum, $objet, $id_objet, $statut, $ajouter_mot = false)
|
function forum_insert_base($c, $id_forum, $objet, $id_objet, $statut, $ajouter_mot = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -164,7 +164,7 @@ function forum_insert_base($c, $id_forum, $objet, $id_objet, $statut, $ajouter_m
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// http://doc.spip.org/@forum_insert_statut
|
// http://code.spip.net/@forum_insert_statut
|
||||||
function forum_insert_statut($champs, $forcer_statut=NULL)
|
function forum_insert_statut($champs, $forcer_statut=NULL)
|
||||||
{
|
{
|
||||||
include_spip('inc/forum');
|
include_spip('inc/forum');
|
||||||
|
|
|
@ -13,7 +13,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
|
||||||
* dans ecrire/inc/forum_insert.php ; ici on va notifier ceux qui ne l'ont
|
* dans ecrire/inc/forum_insert.php ; ici on va notifier ceux qui ne l'ont
|
||||||
* pas ete a la notification forumposte (sachant que les deux peuvent se
|
* pas ete a la notification forumposte (sachant que les deux peuvent se
|
||||||
* suivre si le forum est valide directement ('pos' ou 'abo')
|
* suivre si le forum est valide directement ('pos' ou 'abo')
|
||||||
* http://doc.spip.org/@notifications_forumvalide_dist
|
* http://code.spip.net/@notifications_forumvalide_dist
|
||||||
*
|
*
|
||||||
* @param string $quoi
|
* @param string $quoi
|
||||||
* @param int $id_forum
|
* @param int $id_forum
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<paquet
|
<paquet
|
||||||
prefix="forum"
|
prefix="forum"
|
||||||
categorie="communication"
|
categorie="communication"
|
||||||
version="1.8.34"
|
version="1.8.41"
|
||||||
etat="stable"
|
etat="stable"
|
||||||
compatibilite="[3.0.0;3.0.*]"
|
compatibilite="[3.0.0;3.0.*]"
|
||||||
logo="prive/themes/spip/images/forum-32.png"
|
logo="prive/themes/spip/images/forum-32.png"
|
||||||
|
|
|
@ -61,22 +61,22 @@
|
||||||
#FORMULAIRE_RECHERCHE_ECRIRE{#GET{self},ajax}
|
#FORMULAIRE_RECHERCHE_ECRIRE{#GET{self},ajax}
|
||||||
[<h2><:resultats_recherche:> « (#ENV{recherche}) »</h2>]
|
[<h2><:resultats_recherche:> « (#ENV{recherche}) »</h2>]
|
||||||
|
|
||||||
<B_forum>
|
<B_forums>
|
||||||
<h3>[(#GRAND_TOTAL|singulier_ou_pluriel{forum:info_1_message_forum,forum:info_nb_messages_forum}|sinon{<:forum:aucun_message_forum:>})]</h3>
|
<h3>[(#GRAND_TOTAL|singulier_ou_pluriel{forum:info_1_message_forum,forum:info_nb_messages_forum}|sinon{<:forum:aucun_message_forum:>})]</h3>
|
||||||
<div class="clear"></div>
|
<div class="clear"></div>
|
||||||
|
|
||||||
[<p class='pagination'>(#PAGINATION{prive})</p>]
|
[<p class='pagination'>(#PAGINATION{prive})</p>]
|
||||||
<ul class='liste-items forums'>
|
<ul class='liste-items forums'>
|
||||||
<BOUCLE_forum(FORUMS){id_forum?}{id_objet?}{objet?}{id_auteur?}{auteur?}{email_auteur?}{ip?}{!par id_forum}{pagination #ENV{nb,10}}{statut?}{statut LIKE #GET{prive}}{statut !LIKE #GET{public}}{texte LIKE #GET{vide}}{recherche?}>
|
<BOUCLE_forums(FORUMS){id_forum?}{id_objet?}{id_secteur?}{objet?}{id_auteur?}{auteur?}{email_auteur?}{ip?}{!par id_forum}{pagination #ENV{nb,10}}{statut?}{statut LIKE #GET{prive}}{statut !LIKE #GET{public}}{texte LIKE #GET{vide}}{recherche?}>
|
||||||
<li class="item forum[ (#EXPOSE)] statut_#STATUT[ (#COMPTEUR_BOUCLE|alterner{'','odd'})]" id='forum#ID_FORUM' data-id='#ID_FORUM'
|
<li class="item forum[ (#EXPOSE)] statut_#STATUT[ (#COMPTEUR_BOUCLE|alterner{'','odd'})]" id='forum#ID_FORUM' data-id='#ID_FORUM'
|
||||||
onclick="jQuery(this).toggleClass('hover');">
|
onclick="jQuery(this).toggleClass('hover');">
|
||||||
[(#INCLURE{fond=prive/modeles/forum, id_forum, self})]
|
[(#INCLURE{fond=prive/modeles/forum, id_forum, self})]
|
||||||
</li>
|
</li>
|
||||||
</BOUCLE_forum>
|
</BOUCLE_forums>
|
||||||
</ul>
|
</ul>
|
||||||
[<p class='pagination'>(#PAGINATION{prive})</p>]
|
[<p class='pagination'>(#PAGINATION{prive})</p>]
|
||||||
</B_forum>
|
</B_forums>
|
||||||
|
|
||||||
<h3><:forum:aucun_message_forum:></h3>
|
<h3><:forum:aucun_message_forum:></h3>
|
||||||
|
|
||||||
<//B_forum>
|
<//B_forums>
|
|
@ -8,19 +8,19 @@
|
||||||
<li>[(#GET{self}|parametre_url{statut,''}|lien_ou_expose{<:forum:messages_tous:>,#ENV{statut,''}|=={''},ajax})]</li>
|
<li>[(#GET{self}|parametre_url{statut,''}|lien_ou_expose{<:forum:messages_tous:>,#ENV{statut,''}|=={''},ajax})]</li>
|
||||||
|
|
||||||
#SET{statut,#ENV{type_message,public}|=={interne}|?{'prive','publie'}}
|
#SET{statut,#ENV{type_message,public}|=={interne}|?{'prive','publie'}}
|
||||||
<BOUCLE_cpt_1(FORUMS){id_forum?}{id_auteur?}{id_objet?}{objet?}{auteur?}{email_auteur?}{ip?}{statut=#GET{statut}}{statut !LIKE #GET{public}}{texte LIKE #GET{vide}}{recherche?} />
|
<BOUCLE_cpt_1(FORUMS){id_forum?}{id_auteur?}{id_objet?}{objet?}{id_secteur?}{auteur?}{email_auteur?}{ip?}{statut=#GET{statut}}{statut !LIKE #GET{public}}{texte LIKE #GET{vide}}{recherche?} />
|
||||||
[(#TOTAL_BOUCLE|oui) <li class='#GET{statut}'>[(#GET{self}|parametre_url{statut,#GET{statut}}|lien_ou_expose{#VAL{forum:messages_#GET{statut}}|_T|concat{' (',#TOTAL_BOUCLE,')'},#ENV{statut,''}|=={#GET{statut}},'ajax'})]</li>]<//B_cpt_1>
|
[(#TOTAL_BOUCLE|oui) <li class='#GET{statut}'>[(#GET{self}|parametre_url{statut,#GET{statut}}|lien_ou_expose{#VAL{forum:messages_#GET{statut}}|_T|concat{' (',#TOTAL_BOUCLE,')'},#ENV{statut,''}|=={#GET{statut}},'ajax'})]</li>]<//B_cpt_1>
|
||||||
|
|
||||||
#SET{statut,#ENV{type_message,public}|=={interne}|?{'privrac','prop'}}
|
#SET{statut,#ENV{type_message,public}|=={interne}|?{'privrac','prop'}}
|
||||||
<BOUCLE_cpt_2(FORUMS){id_forum?}{id_auteur?}{id_objet?}{objet?}{auteur?}{email_auteur?}{ip?}{statut=#GET{statut}}{statut !LIKE #GET{public}}{texte LIKE #GET{vide}}{recherche?} />
|
<BOUCLE_cpt_2(FORUMS){id_forum?}{id_auteur?}{id_objet?}{objet?}{id_secteur?}{auteur?}{email_auteur?}{ip?}{statut=#GET{statut}}{statut !LIKE #GET{public}}{texte LIKE #GET{vide}}{recherche?} />
|
||||||
[(#TOTAL_BOUCLE|oui) <li class='#GET{statut}'>[(#GET{self}|parametre_url{statut,#GET{statut}}|lien_ou_expose{#VAL{forum:messages_#GET{statut}}|_T|concat{' (',#TOTAL_BOUCLE,')'},#ENV{statut,''}|=={#GET{statut}},'ajax'})]</li>]<//B_cpt_2>
|
[(#TOTAL_BOUCLE|oui) <li class='#GET{statut}'>[(#GET{self}|parametre_url{statut,#GET{statut}}|lien_ou_expose{#VAL{forum:messages_#GET{statut}}|_T|concat{' (',#TOTAL_BOUCLE,')'},#ENV{statut,''}|=={#GET{statut}},'ajax'})]</li>]<//B_cpt_2>
|
||||||
|
|
||||||
#SET{statut,#ENV{type_message,public}|=={interne}|?{'privadm','spam'}}
|
#SET{statut,#ENV{type_message,public}|=={interne}|?{'privadm','spam'}}
|
||||||
<BOUCLE_cpt_3(FORUMS){id_forum?}{id_auteur?}{id_objet?}{objet?}{auteur?}{email_auteur?}{ip?}{statut=#GET{statut}}{statut !LIKE #GET{public}}{texte LIKE #GET{vide}}{recherche?} />
|
<BOUCLE_cpt_3(FORUMS){id_forum?}{id_auteur?}{id_objet?}{objet?}{id_secteur?}{auteur?}{email_auteur?}{ip?}{statut=#GET{statut}}{statut !LIKE #GET{public}}{texte LIKE #GET{vide}}{recherche?} />
|
||||||
[(#TOTAL_BOUCLE|oui) <li class='#GET{statut}'>[(#GET{self}|parametre_url{statut,#GET{statut}}|lien_ou_expose{#VAL{forum:messages_#GET{statut}}|_T|concat{' (',#TOTAL_BOUCLE,')'},#ENV{statut,''}|=={#GET{statut}},'ajax'})]</li>]<//B_cpt_3>
|
[(#TOTAL_BOUCLE|oui) <li class='#GET{statut}'>[(#GET{self}|parametre_url{statut,#GET{statut}}|lien_ou_expose{#VAL{forum:messages_#GET{statut}}|_T|concat{' (',#TOTAL_BOUCLE,')'},#ENV{statut,''}|=={#GET{statut}},'ajax'})]</li>]<//B_cpt_3>
|
||||||
|
|
||||||
#SET{statut,#ENV{type_message,public}|=={interne}|?{'privoff','off'}}
|
#SET{statut,#ENV{type_message,public}|=={interne}|?{'privoff','off'}}
|
||||||
<BOUCLE_cpt_4(FORUMS){id_forum?}{id_auteur?}{id_objet?}{objet?}{auteur?}{email_auteur?}{ip?}{statut=#GET{statut}}{statut !LIKE #GET{public}}{texte LIKE #GET{vide}}{recherche?} />
|
<BOUCLE_cpt_4(FORUMS){id_forum?}{id_auteur?}{id_objet?}{objet?}{id_secteur?}{auteur?}{email_auteur?}{ip?}{statut=#GET{statut}}{statut !LIKE #GET{public}}{texte LIKE #GET{vide}}{recherche?} />
|
||||||
[(#TOTAL_BOUCLE|oui) <li class='#GET{statut}'>[(#GET{self}|parametre_url{statut,#GET{statut}}|lien_ou_expose{#VAL{forum:messages_#GET{statut}}|_T|concat{' (',#TOTAL_BOUCLE,')'},#ENV{statut,''}|=={#GET{statut}},'ajax'})]</li>]<//B_cpt_4>
|
[(#TOTAL_BOUCLE|oui) <li class='#GET{statut}'>[(#GET{self}|parametre_url{statut,#GET{statut}}|lien_ou_expose{#VAL{forum:messages_#GET{statut}}|_T|concat{' (',#TOTAL_BOUCLE,')'},#ENV{statut,''}|=={#GET{statut}},'ajax'})]</li>]<//B_cpt_4>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
|
@ -15,7 +15,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
|
||||||
//
|
//
|
||||||
// <BOUCLE(FORUMS)>
|
// <BOUCLE(FORUMS)>
|
||||||
//
|
//
|
||||||
// http://doc.spip.org/@boucle_FORUMS_dist
|
// http://code.spip.net/@boucle_FORUMS_dist
|
||||||
function boucle_FORUMS_dist($id_boucle, &$boucles) {
|
function boucle_FORUMS_dist($id_boucle, &$boucles) {
|
||||||
$boucle = &$boucles[$id_boucle];
|
$boucle = &$boucles[$id_boucle];
|
||||||
$id_table = $boucle->id_table;
|
$id_table = $boucle->id_table;
|
||||||
|
@ -36,7 +36,7 @@ function boucle_FORUMS_dist($id_boucle, &$boucles) {
|
||||||
|
|
||||||
// {meme_parent}
|
// {meme_parent}
|
||||||
// http://www.spip.net/@meme_parent
|
// http://www.spip.net/@meme_parent
|
||||||
// http://doc.spip.org/@critere_meme_parent_dist
|
// http://code.spip.net/@critere_meme_parent_dist
|
||||||
function critere_FORUMS_meme_parent_dist($idb, &$boucles, $crit) {
|
function critere_FORUMS_meme_parent_dist($idb, &$boucles, $crit) {
|
||||||
global $exceptions_des_tables;
|
global $exceptions_des_tables;
|
||||||
$boucle = &$boucles[$idb];
|
$boucle = &$boucles[$idb];
|
||||||
|
@ -79,7 +79,7 @@ function public_critere_secteur_forums_dist($idb, &$boucles, $val, $crit)
|
||||||
// par exemple en tete de inc-forums.html ; impossible donc de
|
// par exemple en tete de inc-forums.html ; impossible donc de
|
||||||
// savoir a quel objet elle va s'appliquer, ca dependra du contexte
|
// savoir a quel objet elle va s'appliquer, ca dependra du contexte
|
||||||
//
|
//
|
||||||
// http://doc.spip.org/@balise_PARAMETRES_FORUM_dist
|
// http://code.spip.net/@balise_PARAMETRES_FORUM_dist
|
||||||
function balise_PARAMETRES_FORUM_dist($p) {
|
function balise_PARAMETRES_FORUM_dist($p) {
|
||||||
|
|
||||||
// s'il y a un id_article dans le contexte, regarder le statut
|
// s'il y a un id_article dans le contexte, regarder le statut
|
||||||
|
@ -213,7 +213,7 @@ function quete_accepter_forum($id_article) {
|
||||||
// pour une boucle forum sans id_article ou id_rubrique donne par le contexte
|
// pour une boucle forum sans id_article ou id_rubrique donne par le contexte
|
||||||
// et c'est signale par un message d'erreur abscons: "table inconnue forum".
|
// et c'est signale par un message d'erreur abscons: "table inconnue forum".
|
||||||
//
|
//
|
||||||
// http://doc.spip.org/@lang_parametres_forum
|
// http://code.spip.net/@lang_parametres_forum
|
||||||
function lang_parametres_forum($qs, $lang) {
|
function lang_parametres_forum($qs, $lang) {
|
||||||
if (is_array($lang) AND preg_match(',id_([a-z_]+)=([0-9]+),', $qs, $r)) {
|
if (is_array($lang) AND preg_match(',id_([a-z_]+)=([0-9]+),', $qs, $r)) {
|
||||||
$id = 'id_' . $r[1];
|
$id = 'id_' . $r[1];
|
||||||
|
@ -231,7 +231,7 @@ function lang_parametres_forum($qs, $lang) {
|
||||||
// Pour que le compilo ajoute un invalideur a la balise #PARAMETRES_FORUM
|
// Pour que le compilo ajoute un invalideur a la balise #PARAMETRES_FORUM
|
||||||
// Noter l'invalideur de la page contenant ces parametres,
|
// Noter l'invalideur de la page contenant ces parametres,
|
||||||
// en cas de premier post sur le forum
|
// en cas de premier post sur le forum
|
||||||
// http://doc.spip.org/@code_invalideur_forums
|
// http://code.spip.net/@code_invalideur_forums
|
||||||
function code_invalideur_forums_dist($p, $code) {
|
function code_invalideur_forums_dist($p, $code) {
|
||||||
return $code;
|
return $code;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
if (!defined("_ECRIRE_INC_VERSION")) return;
|
if (!defined("_ECRIRE_INC_VERSION")) return;
|
||||||
|
|
||||||
// http://doc.spip.org/@generer_url_ecrire_forum
|
// http://code.spip.net/@generer_url_ecrire_forum
|
||||||
function urls_generer_url_ecrire_forum_dist($id, $args='', $ancre='', $public=null, $connect='') {
|
function urls_generer_url_ecrire_forum_dist($id, $args='', $ancre='', $public=null, $connect='') {
|
||||||
$a = "id_forum=" . intval($id);
|
$a = "id_forum=" . intval($id);
|
||||||
if (is_null($public) AND !$connect)
|
if (is_null($public) AND !$connect)
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
The following rules are the styles that are consistant between themes.
|
The following rules are the styles that are consistant between themes.
|
||||||
Avoid changing this area to maintain compatability with future versions of ColorBox.
|
Avoid changing this area to maintain compatability with future versions of ColorBox.
|
||||||
*/
|
*/
|
||||||
#colorbox {-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;}
|
#colorbox, #cboxLoadedContent {-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;}
|
||||||
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:4999; overflow:hidden;}
|
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:4999; overflow:hidden;}
|
||||||
#cboxOverlay{position:fixed; width:100%; height:100%;}
|
#cboxOverlay{position:fixed; width:100%; height:100%;}
|
||||||
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
|
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
|
||||||
|
@ -41,13 +41,13 @@
|
||||||
|
|
||||||
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{position:absolute; bottom:-29px; background:url(images/controls.png) 0px 0px no-repeat; width:23px; height:23px; text-indent:-9999px;}
|
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{position:absolute; bottom:-29px; background:url(images/controls.png) 0px 0px no-repeat; width:23px; height:23px; text-indent:-9999px;}
|
||||||
#cboxPrevious{left:0px; background-position: -51px -25px;}
|
#cboxPrevious{left:0px; background-position: -51px -25px;}
|
||||||
#cboxPrevious.hover{background-position:-51px 0px;}
|
#cboxPrevious:hover{background-position:-51px 0px;}
|
||||||
#cboxNext{left:27px; background-position:-75px -25px;}
|
#cboxNext{left:27px; background-position:-75px -25px;}
|
||||||
#cboxNext.hover{background-position:-75px 0px;}
|
#cboxNext:hover{background-position:-75px 0px;}
|
||||||
#cboxClose{right:0; background-position:-100px -25px;}
|
#cboxClose{right:0; background-position:-100px -25px;}
|
||||||
#cboxClose.hover{background-position:-100px 0px;}
|
#cboxClose:hover{background-position:-100px 0px;}
|
||||||
|
|
||||||
.cboxSlideshow_on #cboxSlideshow{background-position:-150px -25px; right:27px;}
|
.cboxSlideshow_on #cboxSlideshow{background-position:-150px -25px; right:27px;}
|
||||||
.cboxSlideshow_on #cboxSlideshow.hover{background-position:-150px 0px;}
|
.cboxSlideshow_on #cboxSlideshow:hover{background-position:-150px 0px;}
|
||||||
.cboxSlideshow_off #cboxSlideshow{background-position:-125px -25px; right:27px;}
|
.cboxSlideshow_off #cboxSlideshow{background-position:-125px -25px; right:27px;}
|
||||||
.cboxSlideshow_off #cboxSlideshow.hover{background-position:-125px 0px;}
|
.cboxSlideshow_off #cboxSlideshow:hover{background-position:-125px 0px;}
|
|
@ -3,6 +3,7 @@
|
||||||
The following rules are the styles that are consistant between themes.
|
The following rules are the styles that are consistant between themes.
|
||||||
Avoid changing this area to maintain compatability with future versions of ColorBox.
|
Avoid changing this area to maintain compatability with future versions of ColorBox.
|
||||||
*/
|
*/
|
||||||
|
#colorbox, #cboxLoadedContent {-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;}
|
||||||
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:4999; overflow:hidden;}
|
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:4999; overflow:hidden;}
|
||||||
#cboxOverlay{position:fixed; width:100%; height:100%;}
|
#cboxOverlay{position:fixed; width:100%; height:100%;}
|
||||||
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
|
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
|
||||||
|
@ -40,13 +41,13 @@
|
||||||
|
|
||||||
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{position:absolute; bottom:-29px; background:url(images/controls.png) 0px 0px no-repeat; width:23px; height:23px; text-indent:-9999px;}
|
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{position:absolute; bottom:-29px; background:url(images/controls.png) 0px 0px no-repeat; width:23px; height:23px; text-indent:-9999px;}
|
||||||
#cboxPrevious{right:0px; background-position: -75px -25px;}
|
#cboxPrevious{right:0px; background-position: -75px -25px;}
|
||||||
#cboxPrevious.hover{background-position:-75px 0px;}
|
#cboxPrevious:hover{background-position:-75px 0px;}
|
||||||
#cboxNext{right:27px; background-position:-51px -25px;}
|
#cboxNext{right:27px; background-position:-51px -25px;}
|
||||||
#cboxNext.hover{background-position:-51px 0px;}
|
#cboxNext:hover{background-position:-51px 0px;}
|
||||||
#cboxClose{left:0; background-position:-100px -25px;}
|
#cboxClose{left:0; background-position:-100px -25px;}
|
||||||
#cboxClose.hover{background-position:-100px 0px;}
|
#cboxClose:hover{background-position:-100px 0px;}
|
||||||
|
|
||||||
.cboxSlideshow_on #cboxSlideshow{background-position:-150px -25px; left:27px;}
|
.cboxSlideshow_on #cboxSlideshow{background-position:-150px -25px; left:27px;}
|
||||||
.cboxSlideshow_on #cboxSlideshow.hover{background-position:-150px 0px;}
|
.cboxSlideshow_on #cboxSlideshow:hover{background-position:-150px 0px;}
|
||||||
.cboxSlideshow_off #cboxSlideshow{background-position:-225px -25px; left:27px;}
|
.cboxSlideshow_off #cboxSlideshow{background-position:-225px -25px; left:27px;}
|
||||||
.cboxSlideshow_off #cboxSlideshow.hover{background-position:-225px 0px;}
|
.cboxSlideshow_off #cboxSlideshow:hover{background-position:-225px 0px;}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
The following rules are the styles that are consistant between themes.
|
The following rules are the styles that are consistant between themes.
|
||||||
Avoid changing this area to maintain compatability with future versions of ColorBox.
|
Avoid changing this area to maintain compatability with future versions of ColorBox.
|
||||||
*/
|
*/
|
||||||
#colorbox {-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;}
|
#colorbox, #cboxLoadedContent {-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;}
|
||||||
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:4999; overflow:hidden;}
|
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:4999; overflow:hidden;}
|
||||||
#cboxOverlay{position:fixed; width:100%; height:100%;}
|
#cboxOverlay{position:fixed; width:100%; height:100%;}
|
||||||
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
|
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
|
||||||
|
@ -26,14 +26,14 @@
|
||||||
#colorbox{}
|
#colorbox{}
|
||||||
#cboxContent{margin-top:20px;}
|
#cboxContent{margin-top:20px;}
|
||||||
#cboxLoadedContent{background:#000; padding:5px;}
|
#cboxLoadedContent{background:#000; padding:5px;}
|
||||||
#cboxTitle{position:absolute; top:-20px; left:0; color:#ccc;}
|
#cboxTitle{position:absolute; top:-21px; left:0; right:0;color:#ccc;background:rgba(0,0,0,0.6);padding:1px 5px;padding-right: 50px;float: none !important;}
|
||||||
#cboxCurrent{position:absolute; top:-20px; right:0px; color:#ccc;}
|
#cboxCurrent{position:absolute; top:-20px; right:5px; color:#ccc;}
|
||||||
#cboxSlideshow{position:absolute; top:-20px; right:90px; color:#fff;}
|
#cboxSlideshow{position:absolute; top:-20px; right:90px; color:#fff;}
|
||||||
#cboxPrevious{position:absolute; top:50%; left:5px; margin-top:-32px; background:url(images/controls.png) top left no-repeat; width:28px; height:65px; text-indent:-9999px;}
|
#cboxPrevious{position:absolute; top:50%; left:5px; margin-top:-32px; background:url(images/controls.png) top left no-repeat; width:28px; height:65px; text-indent:-9999px;}
|
||||||
#cboxPrevious.hover{background-position:bottom left;}
|
#cboxPrevious:hover{background-position:bottom left;}
|
||||||
#cboxNext{position:absolute; top:50%; right:5px; margin-top:-32px; background:url(images/controls.png) top right no-repeat; width:28px; height:65px; text-indent:-9999px;}
|
#cboxNext{position:absolute; top:50%; right:5px; margin-top:-32px; background:url(images/controls.png) top right no-repeat; width:28px; height:65px; text-indent:-9999px;}
|
||||||
#cboxNext.hover{background-position:bottom right;}
|
#cboxNext:hover{background-position:bottom right;}
|
||||||
#cboxLoadingOverlay{background:#000;}
|
#cboxLoadingOverlay{background:#000;}
|
||||||
#cboxLoadingGraphic{background:url(images/loading.gif) center center no-repeat;}
|
#cboxLoadingGraphic{background:url(images/loading.gif) center center no-repeat;}
|
||||||
#cboxClose{position:absolute; top:5px; right:5px; display:block; background:url(images/controls.png) top center no-repeat; width:38px; height:19px; text-indent:-9999px;}
|
#cboxClose{position:absolute; top:5px; right:5px; display:block; background:url(images/controls.png) top center no-repeat; width:38px; height:19px; text-indent:-9999px;}
|
||||||
#cboxClose.hover{background-position:bottom center;}
|
#cboxClose:hover{background-position:bottom center;}
|
|
@ -3,6 +3,7 @@
|
||||||
The following rules are the styles that are consistant between themes.
|
The following rules are the styles that are consistant between themes.
|
||||||
Avoid changing this area to maintain compatability with future versions of ColorBox.
|
Avoid changing this area to maintain compatability with future versions of ColorBox.
|
||||||
*/
|
*/
|
||||||
|
#colorbox, #cboxLoadedContent {-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;}
|
||||||
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:4999; overflow:hidden;}
|
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:4999; overflow:hidden;}
|
||||||
#cboxOverlay{position:fixed; width:100%; height:100%;}
|
#cboxOverlay{position:fixed; width:100%; height:100%;}
|
||||||
#cboxMiddleLeft, #cboxBottomLeft{clear:right;}
|
#cboxMiddleLeft, #cboxBottomLeft{clear:right;}
|
||||||
|
@ -25,14 +26,14 @@
|
||||||
#colorbox{}
|
#colorbox{}
|
||||||
#cboxContent{margin-top:20px;}
|
#cboxContent{margin-top:20px;}
|
||||||
#cboxLoadedContent{background:#000; padding:5px;}
|
#cboxLoadedContent{background:#000; padding:5px;}
|
||||||
#cboxTitle{position:absolute; top:-20px; right:0; color:#ccc;}
|
#cboxTitle{position:absolute; top:-21px; left:0; right:0;color:#ccc;background:rgba(0,0,0,0.6);padding:1px 5px;padding-left: 50px;float: none !important;}
|
||||||
#cboxCurrent{position:absolute; top:-20px; left:0px; color:#ccc;}
|
#cboxCurrent{position:absolute; top:-20px; left:5px; color:#ccc;}
|
||||||
#cboxSlideshow{position:absolute; top:-20px; left:90px; color:#fff;}
|
#cboxSlideshow{position:absolute; top:-20px; left:90px; color:#fff;}
|
||||||
#cboxPrevious{position:absolute; top:50%; right:5px; margin-top:-32px; background:url(images/controls.png) top right no-repeat; width:28px; height:65px; text-indent:-9999px;}
|
#cboxPrevious{position:absolute; top:50%; right:5px; margin-top:-32px; background:url(images/controls.png) top right no-repeat; width:28px; height:65px; text-indent:-9999px;}
|
||||||
#cboxPrevious.hover{background-position:bottom right;}
|
#cboxPrevious:hover{background-position:bottom right;}
|
||||||
#cboxNext{position:absolute; top:50%; left:5px; margin-top:-32px; background:url(images/controls.png) top left no-repeat; width:28px; height:65px; text-indent:-9999px;}
|
#cboxNext{position:absolute; top:50%; left:5px; margin-top:-32px; background:url(images/controls.png) top left no-repeat; width:28px; height:65px; text-indent:-9999px;}
|
||||||
#cboxNext.hover{background-position:bottom left;}
|
#cboxNext:hover{background-position:bottom left;}
|
||||||
#cboxLoadingOverlay{background:#000;}
|
#cboxLoadingOverlay{background:#000;}
|
||||||
#cboxLoadingGraphic{background:url(images/loading.gif) center center no-repeat;}
|
#cboxLoadingGraphic{background:url(images/loading.gif) center center no-repeat;}
|
||||||
#cboxClose{position:absolute; top:5px; left:5px; display:block; background:url(images/controls.png) top center no-repeat; width:38px; height:19px; text-indent:-9999px;}
|
#cboxClose{position:absolute; top:5px; left:5px; display:block; background:url(images/controls.png) top center no-repeat; width:38px; height:19px; text-indent:-9999px;}
|
||||||
#cboxClose.hover{background-position:bottom center;}
|
#cboxClose:hover{background-position:bottom center;}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue