- do {
- $where = "type=".sql_quote($set['type'])
- ." AND id_objet=".intval($set['id_objet'])
- ." AND id_parent=".intval($set['id_parent'])
- ." AND url LIKE ";
- if (
- !is_dir(_DIR_RACINE.$set['url']) AND !file_exists(_DIR_RACINE.$set['url'])
- AND sql_countsel('spip_urls', $where .url_sql_quote_like($set['url']))) {
- sql_updateq('spip_urls', array('url'=>$set['url'], 'date' => date('Y-m-d H:i:s')), $where .url_sql_quote_like($set['url']));
- spip_log("reordonne ".$set['type']." ".$set['id_objet']);
- $redate = false;
- continue;
+ $where = "type=" . sql_quote($set['type'])
+ . " AND id_objet=" . intval($set['id_objet'])
+ . " AND id_parent=" . intval($set['id_parent'])
+ . " AND url LIKE ";
+ if (
+ !is_dir(_DIR_RACINE . $set['url']) and !file_exists(_DIR_RACINE . $set['url'])
+ and $existing = sql_fetsel('*','spip_urls', $where . url_sql_quote_like($set['url']))
+ ) {
+ $refresh = array(
+ 'url' => $set['url'],
+ 'date' => date('Y-m-d H:i:s'),
+ );
+ // si c'est une URL avec langue est qu'ici on a pas de langue, on ecrase
+ if ($existing['langue']) {
+ if (!$set['langue']){
+ $refresh['langue'] = '';
+ }
+ elseif($set['langue'] !== $existing['langue']) {
+ $set['url'] .= $separateur . $set['langue'];
+ return url_insert_replay($set, $confirmer, $separateur, $has_parent, $perma);
+ }