- mars 20, 2024
-
-
Lorsqu’on supprime un lien, par exemple un document depuis `action_supprimer_document_dist`, on appelle la fonction ```php objet_dissocier(['document' => $id_document], '*', ['role' => '*']); ``` Si la table de lien dispose d’une colonne `rang_lien`, un recalcul des rangs est effectué. Cependant ce recalcul s’applique pour tous les objets liés (à tort), pas seulement ceux concernés spécifiquement par la suppression. On corrige ce point, ce qui accélère grandement le processus de recalcul du rang pour ces cas là, en plus de corriger un mauvais calcul de rang.
-
- jan. 19, 2024
-
-
marcimat a rédigé
fix: Éviter une fatale SQL lors de l’optimisation de liens avec des objets éditoriaux qui ne sont plus déclarés Refs: #5837
-
- jan. 10, 2024
-
-
marcimat a rédigé
-
- juin 11, 2023
-
-
marcimat a rédigé
-
- mars 22, 2023
- jan. 08, 2023
-
- jan. 14, 2022
-
-
marcimat a rédigé
-
- déc. 23, 2021
-
-
marcimat a rédigé
pour tester la présence d’une table. On ajoute une fonction sql_table_exists('nom_de_la_table') pour cela.
-
- sept. 02, 2021
-
-
cerdic a rédigé
Fix #4866 : tous les comptages de rang se font avec un where calcule via la fonction lien_rang_where() qui par defaut calcule un where correspondant a "tous les id_xx associes a objet-id_objet" mais dont le comportement peut etre personalise au cas par cas via une fonction perso lien_rang_where_{$table_lien}() Par ailleurs si un rang_lien est fourni lors de l'appel a objet_associer() il est directement pris en compte pour l'insertion du lien plutot que de calculer un rang automatique, inserer avec ce rang, puis modifier ensuite Enfin, dans ce dernier cas, on appelle pas lien_ordonner() immediatement apres l'insertion, mais on laisse d'abord lien_set() faire son job (a savoir eventuellement mettre le meme rang sur les autres liens id_xx/objet/id_objet identiques mais avec un role different), et finalement finir par un lien_ordonner() Additionnellement, la fonction lien_ordonner() ne presume plus du mode de comptage des rangs : - elle se repose aussi sur la fonction lien_rang_where() - elle utilise les infos des liens trouves - elle note les liens deja ordonnes pour eviter un double recomptage (notamment si on l'appelle avec plusieurs objets/id_objets qui sont tous comptes en une seule fois parce que c'est le primary qui sert de regroupement) (finger crossed)
-
- août 30, 2021
-
-
JamesRezo a rédigé
* Passe 1 : le Spacing générique et les déclarations de classes et de fonctions 1217 fixes dans 158 fichiers * Passe 2 : Structures de contrôle (if, for, etc.) 967 fixes dans 168 fichiers * Passe 3 : Appels de fonctions, instanciations de classes 1810 fixes dans 128 fichiers * Passe 4 : Quotes, Double-quotes 3179 fixes dans 174 fichiers * Passe 5 : Short Array syntax 2697 fixes dans 248 fichiers Co-authored-by:
JamesRezo <james@rezo.net> Reviewed-on: https://git.spip.net/spip/spip/pulls/4868 Co-authored-by:
JamesRezo <jamesrezo@noreply.git.spip.net> Co-committed-by:
JamesRezo <jamesrezo@noreply.git.spip.net>
-
- sept. 28, 2020
-
- sept. 11, 2020
-
-
cerdic a rédigé
Ajouter des logs sur le genie optimiser, dans un log dedie, c'est bien le moins qu'on puisse faire pour savoir un peu ce qui s'est passe
-
- août 05, 2019
-
-
cerdic a rédigé
ne pas optimiser le logo general des rubriques non plus (et derogations idemn site=0 pour les liens en general)
-
- juil. 30, 2019
-
-
cerdic a rédigé
-
- juil. 26, 2019
-
-
cerdic a rédigé
-
- mars 13, 2019
-
-
cerdic a rédigé
respecter les arguments et dans objet_dupliquer_liens(), y compris quand ca concerne un lien qui part de l'objet source
-
cerdic a rédigé
Attention au cas ou * en second argument de l'appel de la fonction objet_trouver_lien(), ce qui se produit malheureusement dans la fonction objet_dupliquer_liens()
-
- mars 11, 2019
-
-
marcimat@rezo.net a rédigé
Lorsqu’on définit un rang, sa valeur est attribuée pour tous les roles de ce lien, pas uniquement pour le role en cours de qualification. C’est un choix d’implémentation, mais il est cohérent avec les interfaces que l’on a d’ajout de roles sur les liens. Permet de faire fonctionner les boutons "Ordonner les auteurs" et "Réinisialiser l’ordre" sur le plugin roles_auteurs (v2). https://zone.spip.net/trac/spip-zone/changeset/114438
-
- mars 07, 2019
-
-
marcimat@rezo.net a rédigé
-
- mars 06, 2019
-
-
https://core.spip.net/issues/4305cerdic a rédigé
gestion generique du champ rang_lien sur les tables de liens dans l'API editer_liens: * numerotation automatique a l'insertion si un des lien est deja numerote (par defaut non, donc) * renumerotation a la suppression d'un lien (si les liens sont numerotes) * renumerotation quand on modifie le rang_lien d'un lien via objet_qualifier_liens() (sauf quand on met a zero un rang) * prise en compte de la variable postee ordonner_lien dans le formulaires pour permettre de changer le rang d'un lien * prise en compte de la variable postee desordonner_liens pour remettre tous les rang a zero Evolution de la balise #RANG pour afficher le rang du lien quand il est disponible dans la boucle, ou dans le formulaire d'edition des liens Pas d'interface ni d'utilisation dans le core : l'esprit de SPIP n'etant pas de hierarchiser les auteurs on reste par defaut sans ordre, c'est un plugin de la zone qui implemente ca https://zone.spip.net/trac/spip-zone/browser/_plugins_/rang_auteurs
-
- jan. 08, 2019
-
-
Cerdic a rédigé
-
- mars 26, 2018
-
-
erational a rédigé
-
- juin 15, 2017
-
-
Fil a rédigé
-
- jan. 01, 2016
-
-
denisb a rédigé
-
- déc. 13, 2015
-
-
marcimat a rédigé
Fixer operators_spaces : espace de part et d'autre des opérateurs binaires (règle SPIP sur les - + * / etc...)
-
marcimat a rédigé
doivraient être en minuscule.
-
marcimat a rédigé
- encoding (utf8) - eof_ending (saut le ligne en fin de fichier) - elseif (pas else if) - function_call_space (espaces sur fonctions) - function_declaration (pareil) - function_typehint_space (pareil)
-
marcimat a rédigé
-
- nov. 22, 2015
-
-
gilles.vincent a rédigé
Regles : - un espace après chaque virgule - un espace avant et apres chaque '='
-
- nov. 08, 2015
-
-
amemo a rédigé
- objet_dissocier (par pierretux) : Meilleurs visibilité et accents - url_de_base (par pierretux) : ortographe Relecteur : Matthieu Marcillaud
-
- sept. 25, 2015
-
-
amemo a rédigé
- objet_associer (par pierretux) : Rajout d'accent - translitteration_complexe (par Ybbet) : Correction de l'accent du a` confondu avec un code markdown - ecrire_meta (par Ybbet) : Faute de frappe - verifier_session (par pierretux) : Lien vers la doc inutile - nettoyer_uri (par Ybbet) : L'url vers code.spip.net cassait la mise en page sur le site. Relecteur : Matthieu Marcillaud
-
- mai 08, 2015
-
-
http://contrib.spip.net/Des-roles-sur-des-liensmarcimat a rédigé
les pipelines pre_edition_lien et post_edition_lien ne fonctionnent pas comme pre_edition et post_edition dans le sens où ils ne transmettent pas dans $flux['data'] la liste des champs impactés par l’insertion ou la suppression, mais seulement l'identifiant de l'objet concerné. On corrige ce point pour rendre les fonctionnements identiques et homogènes en transmettant tout le tableau des champs modifiés aux pipelines pre_edition_liens et post_edition_liens. Les 3 plugins de la zone qui utilisent post_edition_liens ne sont pas impactés par ces modifications (ils utilisent ces pipelines un peu comme des triggers sans utiliser la valeur 'data'.).
-
marcimat a rédigé
avec des rôles. On intègre l'API présente actuellement dans le plugin Rôles, en modifiant un peu les fonctions d'édition de liens. Celles-ci permettent maintenant d'éditer des liens ayant donc des rôles. Ces différents rôles et le nom de la colonne SQL qui les reçoit, s'ils sont utilisés, doivent être déclarés avec la déclaration de l'objet éditorial correspondant. Un exemple est donné avec le plugin «Roles auteurs» qui définit quelques rôles. Les champs décrivant les rôles : `roles_colonne`, `roles_titres` et `roles_objets` doivent être déclarés (via le pipeline declarer_tables_objets_sql). ``` "roles_colonne" => "role", "roles_titres" => array( 'redacteur' => 'info_statut_redacteur', 'traducteur' => 'roles_auteurs:traducteur', 'correcteur' => 'roles_auteurs:correcteur', 'relecteur' => 'roles_auteurs:relecteur', ), "roles_objets" => array( 'articles' => array( 'choix' => array('redacteur', 'traducteur', 'correcteur', 'relecteur'), 'defaut' => 'redacteur' ) #'*' => array() ) ``` Une fois déclaré, on peut appeler les fonctions d'édition de lien en transmettant des valeurs de rôles, tel que : ``` objet_associer( array('auteur' => 3), array('article' => 11), array('role' => 'correcteur') ); // utilisera le rôle par défaut objet_associer( array('auteur' => 3), array('article' => 11) ); ``` Si aucun rôle n'est indiqué, le rôle par défaut est appliqué. Dans le cas d'une dissociation également, si aucun rôle n'est indiqué, seuls les liaisons avec le rôle par défaut seront supprimés ; pour supprimer tous les rôles, il faut à ce moment là indiquer '*' : ``` objet_dissocier( array('auteur' => 3), array('article' => 11), array('role' => 'correcteur') ); // utilisera le rôle par défaut objet_dissocier( array('auteur' => 3), array('article' => 11) ); // enlèvera tous les rôles objet_dissocier( array('auteur' => 3), array('article' => 11), array('role' => '*') ); ``` Le formulaire d'édition de liens n'utilisera pas les mêmes squelettes de liaison lorsqu'une colonne de rôle est déclarée. Ainsi dans cet exemple, au lieu de `prive/objets/liste/auteurs_lies.html` et `auteurs_associer.html`, cela utiliserait `prive/objets/liste/auteurs_roles_lies.html` et `auteurs_roles_associer.html`. Il faut donc créer ces squelettes. Ces squelettes peuvent poster les valeurs au formulaire pour insérer de nouveaux liens, de la forme `qualifier_lien[auteur-3-article-11][role]` en postant `redacteur` par exemple. Il est possible au passage de poster en plus d'autres valeurs, qui seront intégrées dans l'enregistrement du lien. Ainsi, poster en même temps `qualifier_lien[auteur-3-article-11][valeur]` = `50` enregistrera la valeur 50 dans la colonne `valeur` de la table de lien (qui doit exister !). D'autres informations sont présentes dans http://contrib.spip.net/Des-roles-sur-des-liens, http://zone.spip.org/trac/spip-zone/browser/_plugins_/roles_auteurs ou encore http://zone.spip.org/trac/spip-zone/browser/_plugins_/roles
-
- mars 18, 2015
-
-
cerdic a rédigé
Unification avec le plugin roles, mais sans evolution fonctionnelle : PHPDoc, format du code et un hash d'optimisation (simplifie le diff)
-
- jan. 01, 2014
-
-
denisb a rédigé
-
- mars 12, 2013
-
-
cerdic a rédigé
Report de r20196 : objet_dupliquer_liens prend 2 arguments optionnels supplementaires qui permet de lister les types des objets lies a prendre en compte ou a exclure. Par defaut il copie tous les liens, et l'on peut donc se limiter a certain types de liens ou au contraire exclure certains types de lien. La valeur null pour chacun des deux arguments supplementaires est ignorée.
-
- mars 06, 2013
-
-
marcimat a rédigé
Corrections de notices PHP + réparer le test unitaire sur expliquer_config qui retournait un casier NULL lorsqu'une chaîne vide est transmise.
-
- août 21, 2012
-
-
marcimat a rédigé
(et @package SPIP\y\x pour les plugins)
-