Erreur de personnalisation d'urls propres

Stephane Santon <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <[email protected]>
Bonjour,

J'ai créé une personnalisation d'url propres par un pipeline dédié dans 
mon plugin :

function objets_abreges_urls_dist() {
	$lasTab = array(
		'article' => 'art',
		'rubrique' => 'rub',
		'auteur' => 'aut',
		'mot' => 'mot',
		'site' => 'sit',
		'groupe_mot' => 'grp',
		'contact' => 'cnt',
		'organisation' => 'org',
		'newsletter' => 'nlt',
		'plugin' => 'plg',
	);

	return $lasTab;
}

function bsantonum_propres_creer_chaine_url( $x) {
  $objet = $x['objet'];

  $lasAbreges = objets_abreges_urls_dist();
  if (isset( $lasAbreges[ $objet['type']])) {
   $lsSuffixe = $lasAbreges[ $objet['type']];
  } else {
   $lsSuffixe = $objet['type'];
  }

  $x['data'] .= '-'. $lsSuffixe. str_pad($objet['id_objet'], 3, "0", 
STR_PAD_LEFT);
  $x['data'] = strtolower( $x['data']);

  return $x;
}

Ça fonctionnait bien pendant des années. Maintenant ça ne va plus, 
peut-être depuis que j'ai ajouté le plugin ciarchive
https://contrib.spip.net/ciarchive-statut-archive-pour-les-articles
et mis des articles en statut /Archivé/.

Effet : ma fonction pipeline doit planter, et ne surcharge pas le flux 
passé en paramètre, renvoie donc l'url propre fournie par le flux, sans 
ajouter mes suffixes de type et numéro d'objet.

En allant voir spip.log, je trouve ceci :

2021-01-22 23:10:06 :Pri:!INFO: reattribue url Bienvenue de article#69 
(parent 0) A article#1 (parent 0)
2021-01-22 23:10:06 :Pri:ERREUR: Erreur mysql 1062
2021-01-22 23:10:06 :Pri:ERREUR: Erreur mysql 1062
2021-01-22 23:10:06 :Pri:ERREUR: Erreur 1062 de mysql: Duplicate entry 
'0-Bernard-Palissy' for key 'PRIMARY'
in /home/.../plugins-dist/urls_etendues/action/editer_url.php L155 
[sql_insertq(),url_insert(),declarer_url_propre(),_generer_url_propre(),urls_propres_dist(),urls_explicites_dist(),generer_url_entite(),action_urls_actualiser_dist(),traiter_appels_actions()]
INSERT INTO www20_urls (url,type,id_objet,id_parent,segments,langue) 
VALUES ('Bernard-Palissy','article',7,0,1,'')
2021-01-22 23:10:06 2a01:cb18:c25:eb00:4861:5ac1:9375:9f38 (pid 3598) 
:Pri:ERREUR: Erreur mysql 1062
2021-01-22 23:10:06 :Pri:ERREUR: Erreur mysql 1062
2021-01-22 23:10:06 :Pri:ERREUR: Erreur 1062 de mysql: Duplicate entry 
'0-Organigramme' for key 'PRIMARY'
in /home/.../plugins-dist/urls_etendues/action/editer_url.php L155 
[sql_insertq(),url_insert(),declarer_url_propre(),_generer_url_propre(),urls_propres_dist(),urls_explicites_dist(),generer_url_entite(),action_urls_actualiser_dist(),traiter_appels_actions()]
INSERT INTO www20_urls (url,type,id_objet,id_parent,segments,langue) 
VALUES ('Organigramme','article',8,0,1,'')
2021-01-22 23:10:06 :Pri:ERREUR: Erreur mysql 1062
2021-01-22 23:10:06 :Pri:ERREUR: Erreur mysql 1062
2021-01-22 23:10:06 :Pri:ERREUR: Erreur 1062 de mysql: Duplicate entry 
'0-Plan-d-acces' for key 'PRIMARY'
in /home/.../plugins-dist/urls_etendues/action/editer_url.php L155 
[sql_insertq(),url_insert(),declarer_url_propre(),_generer_url_propre(),urls_propres_dist(),urls_explicites_dist(),generer_url_entite(),action_urls_actualiser_dist(),traiter_appels_actions()]
INSERT INTO www20_urls (url,type,id_objet,id_parent,segments,langue) 
VALUES ('Plan-d-acces','article',10,0,1,'')
2021-01-22 23:10:06 :Pri:ERREUR: Erreur mysql 1062
2021-01-22 23:10:06 :Pri:ERREUR: Erreur mysql 1062
2021-01-22 23:10:06 :Pri:ERREUR: Erreur 1062 de mysql: Duplicate entry 
'0-Charte-informatique' for key 'PRIMARY'
in /home/.../plugins-dist/urls_etendues/action/editer_url.php L155 
[sql_insertq(),url_insert(),declarer_url_propre(),_generer_url_propre(),urls_propres_dist(),urls_explicites_dist(),generer_url_entite(),action_urls_actualiser_dist(),traiter_appels_actions()]
INSERT INTO www20_urls (url,type,id_objet,id_parent,segments,langue) 
VALUES ('Charte-informatique','article',12,0,1,'')

donc des entrées d'urls propres commençant per '0-' ... qui déclenchent 
un Erreur 1062 de mysql: Duplicate entry

Et je ne comprends pas le premier log "reattribue url Bienvenue de 
article#69 ..."

Et là je ne sais plus où chercher...

Quelqu'un peut-il m'aider...

Merci


-- 
Stéphane
17 Charente-Maritime
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.