. * */ /** * Class for logging features * */ class OC_LOG { /** * array to define different log types * */ public static $TYPE = array ( 1=>'login', 2=>'logout', 3=>'read', 4=>'write', ); /** * log an event * * @param username $user * @param type $type * @param message $message */ public static function event($user, $type, $message){ global $CONFIG_DBTABLEPREFIX; $dbTableLog = $CONFIG_DBTABLEPREFIX . 'log'; $query = 'insert into ' . $dbTableLog . ' (timestamp,user,type,message) values ("' . time() . '","' . addslashes($user) . '","' . addslashes($type) . '","' . addslashes($message) . '")'; $result = OC_DB::query($query); OC_DB::free_result($result); } /** * show the log entries in a web GUI * */ public static function show(){ global $CONFIG_DATEFORMAT; global $CONFIG_DBTABLEPREFIX; echo('
'); $dbTableLog = $CONFIG_DBTABLEPREFIX . 'log'; if(OC_USER::ingroup($_SESSION['username_clean'],'admin')){ $query = "select timestamp,user,type,message from $dbTableLog order by timestamp desc limit 20"; }else{ $user = $_SESSION['username_clean']; $query = "select timestamp,user,type,message from $dbTableLog where user='$user' order by timestamp desc limit 20"; } $result = OC_DB::select($query); foreach($result as $entry){ echo(''); echo(''); echo(''); echo(''); echo(''); echo(''); } echo('
'.date($CONFIG_DATEFORMAT,$entry['timestamp']).''.OC_LOG::$TYPE[$entry['type']].''.$entry['user'].''.$entry['message'].'
'); } } ?>