intval(reset($url)),'url'=>end($url)); if (!sql_updateq('spip_urls',$set,"id_parent=".intval($row['id_parent'])." AND url=".sql_quote($row['url']))){ if ($set['id_parent']==0 AND sql_countsel('spip_urls',"id_parent=".intval($set['id_parent'])." AND url=".sql_quote($set['url'])." AND type=".sql_quote($row['type'])." AND id_objet=".sql_quote($row['id_objet']))){ spip_log('suppression url doublon '.var_export($row,1),'urls.'._LOG_INFO_IMPORTANTE); sql_delete('spip_urls',"id_parent=".intval($row['id_parent'])." AND url=".sql_quote($row['url'])); } else { spip_log('Impossible de convertir url doublon '.var_export($row,1),'urls.'._LOG_ERREUR); echo "Impossible de convertir l'url ".$row['url'].". Verifiez manuellement dans spip_urls"; } } if (time() >= _TIME_OUT){ sql_free($res); return; } } } function urls_migre_urls_segments(){ sql_updateq('spip_urls',array('segments'=>1),"segments<1 OR NOT(url REGEXP '\/')"); $res = sql_select('DISTINCT url','spip_urls',"url REGEXP '\/' AND segments=1"); while($row = sql_fetch($res)){ $segments = count(explode('/',$row['url'])); sql_updateq('spip_urls',array('segments'=>$segments),"url=".sql_quote($row['url'])); if (time() >= _TIME_OUT){ sql_free($res); return; } } } /** * Desinstallation/suppression des tables urls * * @param string $nom_meta_base_version */ function urls_vider_tables($nom_meta_base_version) { // repasser dans les urls par defaut ecrire_meta('type_urls','page'); sql_drop_table("spip_urls"); effacer_meta($nom_meta_base_version); } ?>