<?php
namespace App\Models;
use \Jackbooted\Util\Log4PHP;
use \Jackbooted\DB\ORM;
use \Jackbooted\DB\DB;
use \Jackbooted\Time\Stopwatch;
class Alerts extends ORM {
const TYPE_DEBUG = 'debug';
const TYPE_ERROR = 'error';
const TYPE_INFO = 'info';
const TYPE_CRIT = 'critical';
public static $typeList = [ self::TYPE_DEBUG, self::TYPE_ERROR, self::TYPE_INFO, self::TYPE_CRIT, ];
const STATUS_NEW = 'new';
const STATUS_SEEN = 'seen';
const STATUS_FAV = 'fav';
public static $statusList = [ self::STATUS_NEW, self::STATUS_SEEN, self::STATUS_FAV, ];
private static $log = null;
private static $dao = null;
public static function init () {
self::$log = Log4PHP::logFactory ( __CLASS__ );
self::$dao = new AlertsDAO ();
}
public static function debug( $process, $description, $errNum=0 ) {
self::create([ 'errorID'=> $errNum, 'type'=> self::TYPE_DEBUG, 'process'=> $process, 'description'=> $description, ]);
self::$log->debug( "({$process}) $description #{$errNum}" );
}
public static function error( $process, $description, $errNum=0 ) {
self::create([ 'errorID'=> $errNum, 'type'=> self::TYPE_ERROR, 'process'=> $process, 'description'=> $description, ]);
self::$log->error( "({$process}) $description #{$errNum}" );
}
public static function info( $process, $description, $errNum=0 ) {
self::create([ 'errorID'=> $errNum, 'type'=> self::TYPE_INFO, 'process'=> $process, 'description'=> $description, ]);
self::$log->info( "({$process}) $description #{$errNum}" );
}
public static function critical( $process, $description, $errNum=0 ) {
self::create([ 'errorID'=> $errNum, 'type'=> self::TYPE_CRIT, 'process'=> $process, 'description'=> $description, ]);
self::$log->fatal( "({$process}) $description #{$errNum}" );
}
public static function get( $id ) {
if ( ( $row = self::$dao->oneRow ( $id ) ) == false ) return false;
return new Alerts ( $row );
}
public static function cleanup( $numDays=5 ) {
$oneDay = 60 * 60 * 24;
time() - ( $numDays * $oneDay );
DB::exec( DB::DEF,
'DELETE FROM ' . self::$dao->tableName . ' WHERE fldTimeStamp<?',
Stopwatch::timeToDB(time() - ( $numDays * $oneDay ) ) );
}
public function __construct( $data ) {
parent::__construct ( self::$dao, $data );
}
}
|