array( 'className' => 'Monitor', 'foreignKey' => 'MonitorId', 'conditions' => '', 'fields' => '', 'order' => '' ), 'Storage' => array( 'className' => 'Storage', 'joinTable' => 'Storage', 'foreignKey' => 'StorageId', 'conditions' => '', 'fields' => '', 'order' => '' ) ); /** * hasMany associations * * @var array */ public $hasMany = array( 'Frame' => array( 'className' => 'Frame', 'foreignKey' => 'EventId', 'dependent' => true, 'conditions' => '', 'fields' => '', 'order' => '', 'limit' => '', 'offset' => '', 'exclusive' => 'true', 'finderQuery' => '', 'counterQuery' => '' ) ); /** * * * hasMany associations * * * * * * @var array * * */ public $hasAndBelongsToMany = array( 'Group' => array( 'className' => 'Group', 'joinTable' => 'Groups_Monitors', 'foreignKey' => 'MonitorId', 'associationForeignKey' => 'MonitorId', 'unique' => true, 'dependent' => false, 'conditions' => '', 'fields' => '', 'order' => '', 'limit' => '', 'offset' => '', 'exclusive' => '', 'finderQuery' => '', 'counterQuery' => '' ), ); public function Relative_Path() { $Event = new ZM\Event($this->id); return $Event->Relative_Path(); } // end function Relative_Path() public function Path() { $Event = new ZM\Event($this->id); return $Event->Path(); } public function Link_Path() { $Event = new ZM\Event($this->id); return $Event->Link_Path(); } public function fileExists($event) { //$data = $this->findById($id); //return $data['Event']['dataset_filename']; $storage = $this->Storage->findById($event['StorageId']); if ( $event['DefaultVideo'] ) { if ( file_exists($this->Path().'/'.$event['DefaultVideo']) ) { return 1; } else { ZM\Logger::Debug('File does not exist at ' . $this->Path().'/'.$event['DefaultVideo'] ); } } else { ZM\Logger::Debug('No DefaultVideo in Event' . $this->Event); return 0; } } // end function fileExists($event) public function fileSize($event) { return filesize($this->Path().'/'.$event['DefaultVideo']); } public function beforeDelete($cascade=true) { $Event = new ZM\Event($this->id); $Event->delete(); // Event->delete() will do it all, so cake doesn't have to do anything. return false; } // end function afterDelete }