Code Duplication    Length = 17-27 lines in 2 locations

ecrire/req/sqlite_generique.php 2 locations

@@ 696-722 (lines=27) @@
693
 * @return string
694
 * 		erreur eventuelle
695
 **/
696
function spip_sqlite_error($query = '', $serveur = ''){
697
	$link = _sqlite_link($serveur);
698
699
	if (_sqlite_is_version(3, $link)){
700
		$errs = $link->errorInfo();
701
		/*
702
			$errs[0]
703
				numero SQLState ('HY000' souvent lors d'une erreur)
704
				http://www.easysoft.com/developer/interfaces/odbc/sqlstate_status_return_codes.html
705
			$errs[1]
706
				numéro d'erreur SQLite (souvent 1 lors d'une erreur)
707
				http://www.sqlite.org/c3ref/c_abort.html
708
			$errs[2]
709
				Le texte du message d'erreur
710
		*/
711
		$s = '';
712
		if (ltrim($errs[0],'0')) { // 00000 si pas d'erreur
713
			$s = "$errs[2]";
714
		}
715
	} elseif ($link) {
716
		$s = sqlite_error_string(sqlite_last_error($link));
717
	} else {
718
		$s = ": aucune ressource sqlite (link)";
719
	}
720
	if ($s) spip_log("$s - $query", 'sqlite.'._LOG_ERREUR);
721
	return $s;
722
}
723
724
/**
725
 * Retourne le numero de la dernière erreur SQL
@@ 737-753 (lines=17) @@
734
 * 		1 ou autre erreur (en sqlite 2)
735
 * 		'HY000/1' : numéro de l'erreur SQLState / numéro d'erreur interne SQLite (en sqlite 3)
736
 **/
737
function spip_sqlite_errno($serveur = ''){
738
	$link = _sqlite_link($serveur);
739
740
	if (_sqlite_is_version(3, $link)){
741
		$t = $link->errorInfo();
742
		$s = ltrim($t[0],'0'); // 00000 si pas d'erreur
743
		if ($s) $s .= ' / ' . $t[1]; // ajoute l'erreur du moteur SQLite
744
	} elseif ($link) {
745
		$s = sqlite_last_error($link);
746
	} else {
747
		$s = ": aucune ressource sqlite (link)";
748
	}
749
750
	if ($s) spip_log("Erreur sqlite $s", 'sqlite.'._LOG_ERREUR);
751
752
	return $s ? $s : 0;
753
}
754
755
756
// http://doc.spip.org/@spip_sqlite_explain