dbprefix}system_log where 1 "; foreach ($where as $w) $query .= " and $w"; $query .= " order by time_created desc"; $query .= " limit $offset, $limit"; // Add order and limit return get_data($query); } /** * Log a system event related to a specific object. * * This is called by the event system and should not be called directly. * * @param $object The object you're talking about. * @param $event String The event being logged */ function system_log($object, $event) { global $CONFIG; if ($object instanceof Loggable) { // Has loggable interface, extract the necessary information and store $object_id = (int)$object->getSystemLogID(); $object_class = $object->getClassName(); $event = sanitise_string($event); $time = time(); $performed_by = (int)$_SESSION['guid']; // Create log return insert_data("INSERT into {$CONFIG->dbprefix}system_log (object_id, object_class, event, performed_by_guid, time_created) VALUES ('$object_id','$object_class','$event',$performed_by, '$time')"); } } /** * System log listener. * This function listens to all events in the system and logs anything appropriate. * * @param String $event * @param String $object_type * @param mixed $object */ function system_log_listener($event, $object_type, $object) { system_log($object, $event); return true; } /** Register event to listen to all events **/ register_event_handler('all','all','system_log_listener', 400); ?>