diff options
Diffstat (limited to 'lib/log.php')
-rw-r--r-- | lib/log.php | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/lib/log.php b/lib/log.php deleted file mode 100644 index 1ed8e0e33c2..00000000000 --- a/lib/log.php +++ /dev/null @@ -1,151 +0,0 @@ -<?php -/** - * ownCloud - * - * @author Frank Karlitschek - * @author Jakob Sack - * @copyright 2010 Frank Karlitschek karlitschek@kde.org - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this library. If not, see <http://www.gnu.org/licenses/>. - * - */ -/* - * - * The following SQL statement is just a help for developers and will not be - * executed! - * - * CREATE TABLE `log` ( - * `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , - * `moment` DATETIME NOT NULL , - * `appid` VARCHAR( 255 ) NOT NULL , - * `user` VARCHAR( 255 ) NOT NULL , - * `action` VARCHAR( 255 ) NOT NULL , - * `info` TEXT NOT NULL - * ) ENGINE = MYISAM ; - * - */ - -/** - * This class is for logging - */ -class OC_Log { - /** - * @brief adds an entry to the log - * @param $appid id of the app - * @param $subject username - * @param $predicate action - * @param $object = null; additional information - * @returns true/false - * - * This function adds another entry to the log database - */ - public static function add( $appid, $subject, $predicate, $object = ' ' ){ - $query=OC_DB::prepare("INSERT INTO `*PREFIX*log`(moment,appid,`user`,action,info) VALUES(NOW(),?,?,?,?)"); - $result=$query->execute(array($appid,$subject,$predicate,$object)); - // Die if we have an error - if( PEAR::isError($result)) { - $entry = 'DB Error: "'.$result->getMessage().'"<br />'; - $entry .= 'Offending command was: '.$query.'<br />'; - error_log( $entry ); - die( $entry ); - } - return true; - } - - /** - * @brief Fetches log entries - * @param $filter = array(); array with filter options - * @returns array with entries - * - * This function fetches the log entries according to the filter options - * passed. - * - * $filter is an associative array. - * The following keys are optional: - * - from: all entries after this date - * - until: all entries until this date - * - user: username (default: current user) - * - app: only entries for this app - */ - public static function get( $filter = array()){ - $queryString='SELECT * FROM `*PREFIX*log` WHERE 1=1 ORDER BY moment DESC'; - $params=array(); - if(isset($filter['from'])){ - $queryString.='AND moment>? '; - array_push($params,$filter('from')); - } - if(isset($filter['until'])){ - $queryString.='AND moment<? '; - array_push($params,$filter('until')); - } - if(isset($filter['user'])){ - $queryString.='AND `user`=? '; - array_push($params,$filter('user')); - } - if(isset($filter['app'])){ - $queryString.='AND appid=? '; - array_push($params,$filter('app')); - } - $query=OC_DB::prepare($queryString); - $result=$query->execute($params)->fetchAll(); - if(count($result)>0 and is_numeric($result[0]['moment'])){ - foreach($result as &$row){ - $row['moment']=OC_Util::formatDate($row['moment']); - } - } - return $result; - - } - - /** - * @brief removes log entries - * @param $date delete entries older than this date - * @returns true/false - * - * This function deletes all entries that are older than $date. - */ - public static function deleteBefore( $date ){ - $query=OC_DB::prepare("DELETE FROM `*PREFIX*log` WHERE moment<?"); - $query->execute(array($date)); - return true; - } - - /** - * @brief removes all log entries - * @returns true/false - * - * This function deletes all log entries. - */ - public static function deleteAll(){ - $query=OC_DB::prepare("DELETE FROM `*PREFIX*log`"); - $query->execute(); - return true; - } - - /** - * @brief filter an array of log entries on action - * @param array $logs the log entries to filter - * @param array $actions an array of actions to filter for - * @returns array - */ - public static function filterAction($logs,$actions){ - $filteredLogs=array(); - foreach($logs as $log){ - if(array_search($log['action'],$actions)!==false){ - $filteredLogs[]=$log; - } - } - return $filteredLogs; - } -} |