/**
  * 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'));
 }