/** * Return last revision * * @param void * @return Attachment */ function getLastRevision() { if ($this->last_revision === false) { if ($this->revisions === false) { $this->last_revision = Attachments::find(array('conditions' => array('parent_id = ? AND parent_type = ? AND attachment_type = ?', $this->getId(), get_class($this), ATTACHMENT_TYPE_FILE_REVISION), 'order' => 'created_on DESC', 'offset' => 0, 'limit' => 1, 'one' => true)); } else { $this->last_revision = is_array($this->revisions) && isset($this->revisions[0]) ? $this->revisions[0] : null; } // if } // if return $this->last_revision; }
/** * Find last attachment for a given object * * @param ApplicationObject $object * @return Attachment */ function findLastByObject($object) { return Attachments::find(array('conditions' => array('parent_id = ? AND parent_type = ?', $object->getId(), get_class($object)), 'order' => 'created_on DESC', 'limit' => 1, 'one' => true)); }
/** * Find file revisions * * @param File $file * @return array */ function findRevisions($file) { return Attachments::find(array('conditions' => array('parent_id = ? AND parent_type = ?', $file->getId(), 'File'), 'order' => 'created_on DESC')); }