MDL-17038 - truncate overlength varchar fields before attempting to insert

Signed-off-by: Peter Bulmer <[email protected]>


Author: Peter Bulmer <[email protected]>
This commit is contained in:
peterbulmer
2008-10-30 01:39:45 +00:00
parent d5942d6a6f
commit 00959494a6
+20
View File
@@ -886,6 +886,7 @@ class auth_plugin_mnet extends auth_plugin_base {
unset($logEntryObj->username);
$logEntryObj = $this->trim_logline($logEntryObj);
$insertok = insert_record('mnet_log', addslashes_object($logEntryObj), false);
if ($insertok) {
@@ -1352,6 +1353,25 @@ class auth_plugin_mnet extends auth_plugin_base {
}
}
/**
* Trims a log line from mnet peer to limit each part to a length which can be stored in our DB
*
* @param object $logline The log information to be trimmed
* @return object The passed logline object trimmed to not exceed storable limits
*/
function trim_logline ($logline) {
$limits = array('ip' => 15, 'coursename' => 40, 'module' => 20, 'action' => 40,
'url' => 255);
foreach ($limits as $property => $limit) {
if (isset($logline->$property)) {
$logline->$property = substr($logline->$property, 0, $limit);
}
}
return $logline;
}
}
?>