| 
<?phpnamespace 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 );
 }
 }
 |