// Store the unescaped version
$unescaped = $arr;
- dbesc_array($arr);
+ dbm::esc_array($arr, true);
logger('item_store: ' . print_r($arr,true), LOGGER_DATA);
$r = dbq("INSERT INTO `item` (`"
. implode("`, `", array_keys($arr))
- . "`) VALUES ('"
- . implode("', '", array_values($arr))
- . "')");
+ . "`) VALUES ("
+ . implode(", ", array_values($arr))
+ . ")");
// And restore it
$arr = $unescaped;
}
// Now we store the data in the spool directory
- $file = 'item-'.round(microtime(true) * 10000).".msg";
- $spool = get_spoolpath().'/'.$file;
- file_put_contents($spool, json_encode($arr));
- logger("Item wasn't stored - Item was spooled into file ".$file, LOGGER_DEBUG);
+ // We use "microtime" to keep the arrival order and "mt_rand" to avoid duplicates
+ $file = 'item-'.round(microtime(true) * 10000).'-'.mt_rand().'.msg';
+
+ $spoolpath = get_spoolpath();
+ if ($spoolpath != "") {
+ $spool = $spoolpath.'/'.$file;
+ file_put_contents($spool, json_encode($arr));
+ logger("Item wasn't stored - Item was spooled into file ".$file, LOGGER_DEBUG);
+ }
return 0;
}