Valider 90cc48ea rédigé par marcimat's avatar marcimat
Parcourir les fichiers

Ajouter les paramètres "sS" au preg_replace de la regexp qui extrait les...

Ajouter les paramètres "sS" au preg_replace de la regexp qui extrait les multis en SQLite, comme dans la fonction extraire_multi. Les multis sur plusieurs lignes semblaient ignorés autrement.
parent 854e311c
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+15 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -33,6 +33,7 @@ function _sqlite_init_functions(&$sqlite){
		'DATE_FORMAT'	=> array( '_sqlite_func_strftime'		,2),
		'DAYOFMONTH'	=> array( '_sqlite_func_dayofmonth'		,1),

		'EXTRAIRE_MULTI' => array( '_sqlite_func_extraire_multi', 2), // specifique a SPIP/sql_multi()
		'EXP'			=> array( 'exp'							,1),//exponentielle
		'FIND_IN_SET'	=> array( '_sqlite_func_find_in_set'	,2),
		'FLOOR'      => array( '_sqlite_func_floor', 1), // absent de sqlite2
@@ -201,6 +202,19 @@ function _sqlite_func_preg_replace($quoi, $cherche, $remplace) {
	return $return;
}

/**
 * Extrait une langue d'un texte <multi>[fr] xxx [en] yyy</multi>
 * 
 * @param string $quoi le texte contenant ou non un multi
 * @param string $lang la langue a extraire
 * @return string, l'extrait trouve.
**/
function _sqlite_func_extraire_multi($quoi, $lang) {
	$cherche = "<multi>.*[\[]" . $lang . "[\]]([^\[]*).*</multi>";  
	$return = preg_replace('%'.$cherche.'%sS', '$1', $quoi);
	return $return;
}


// http://doc.spip.org/@_sqlite_func_rand
function _sqlite_func_rand() {
+3 −2
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -959,11 +959,12 @@ function spip_sqlite_listdbs($serveur = '', $requeter = true){

// http://doc.spip.org/@spip_sqlite_multi
function spip_sqlite_multi($objet, $lang){
	$r = "PREG_REPLACE("
	/*$r = "PREG_REPLACE("
	     .$objet
	     .",'<multi>.*[\[]"
	     .$lang
	     ."[\]]([^\[]*).*</multi>', '$1') AS multi";
	     ."[\]]([^\[]*).*</multi>', '$1') AS multi";*/
	 $r = "EXTRAIRE_MULTI(" . $objet . ", '" . $lang . "') AS multi";
	return $r;
}