0 ){ return $actions[ 0 ]; } return null; } public function __construct($id = null) { parent::__construct(); $this ->table('driver_log') ->idVar('id_driver_log') ->load($id); } public function AllByDriver( $id_admin ){ $logs = []; if( $id_admin ){ $_logs = Cockpit_Driver_Log::q( 'SELECT * FROM driver_log dl WHERE dl.id_admin = "' . $id_admin . '" ORDER BY dl.id_driver_log ASC' ); foreach( $_logs as $log ){ $logs[] = $log->exports(); } } return $logs; } public function byDriver( $id_admin ){ $logs = []; if( $id_admin ){ $_logs = Cockpit_Driver_Log::q( 'SELECT * FROM driver_log dl INNER JOIN ( SELECT MAX(id_driver_log) AS id_driver_log FROM driver_log WHERE id_admin = "' . $id_admin . '" GROUP BY action ) filter ON filter.id_driver_log = dl.id_driver_log ORDER BY dl.id_driver_log DESC' ); foreach( $_logs as $log ){ $logs[] = $log->exports(); } } return $logs; } public function description( $action ){ switch ( $action ) { case Cockpit_Driver_Log::ACTION_CREATED_DRIVER: return 'driver registered'; break; case Cockpit_Driver_Log::ACTION_CREATED_COCKIPT: return 'driver created at cockpit'; break; case Cockpit_Driver_Log::ACTION_UPDATED_COCKIPT: return 'driver info updated'; break; case Cockpit_Driver_Log::ACTION_NOTIFIED_SETUP: return 'driver notified'; break; case Cockpit_Driver_Log::ACTION_DOCUMENT_SENT: return 'document sent'; break; case Cockpit_Driver_Log::ACTION_ACCOUNT_SETUP: return 'setup finished'; break; } } public function date(){ if( !$this->_date ){ $this->_date = new DateTime($this->datetime, new DateTimeZone(c::config()->timezone)); } return $this->_date; } public function exports(){ $out = $this->properties(); if( $out[ 'action' ] ){ $date = $this->date(); $out[ 'desc' ] = $this->description( $out[ 'action' ] ); $out[ 'date' ] = $date->format('M jS Y g:i:s A'); } return $out; } }