Browse Source

Storage API : Correct handling of magic quotes.

jkbockstael 13 years ago
parent
commit
89c9035e28
1 changed files with 18 additions and 4 deletions
  1. 18 4
      main/newscorm/storageapi.php

+ 18 - 4
main/newscorm/storageapi.php

@@ -64,7 +64,12 @@ function storage_get($sv_user, $sv_course, $sv_sco, $sv_key) {
 	$res = Database::query($sql);
 	if (mysql_num_rows($res) > 0) {
 		$row = Database::fetch_assoc($res);
-		return stripslashes($row['sv_value']);
+		if (get_magic_quotes_gpc()) {
+			return stripslashes($row['sv_value']);
+		}
+		else {
+			return $row['sv_value'];
+		}
 	}
 	else {
 		return null;
@@ -90,7 +95,9 @@ function storage_getall($sv_user, $sv_course, $sv_sco) {
 	$res = Database::query($sql);
 	$data = array();
 	while ($row = Database::fetch_assoc($res)) {
-		$row['sv_value'] = stripslashes($row['sv_value']);
+		if (get_magic_quotes_gpc()) {
+			$row['sv_value'] = stripslashes($row['sv_value']);
+		}
 		$data[] = $row;
 	}
 	return json_encode($data);
@@ -147,7 +154,12 @@ function storage_stack_pop($sv_user, $sv_course, $sv_sco, $sv_key) {
 	$resdelete = Database::query($sqldelete);
 	if ($resselect && $resdelete) {
 		Database::query("commit");
-		return stripslashes($rowselect['sv_value']);
+		if (get_magic_quotes_gpc()) {
+			return stripslashes($rowselect['sv_value']);
+		}
+		else {
+			return $rowselect['sv_value'];
+		}
 	}
 	else {
 		Database::query("rollback");
@@ -188,7 +200,9 @@ function storage_stack_getall($sv_user, $sv_course, $sv_sco, $sv_key) {
 	$res = Database::query($sql);
 	$results = array();
 	while ($row = Database::fetch_assoc($res)) {
-		$row['value'] = stripslashes($row['value']);
+		if (get_magic_quotes_gpc()) {
+			$row['value'] = stripslashes($row['value']);
+		}
 		$results[] = $row;
 	}
 	return json_encode($results);