/**
  * Returns an array of all the revision data for a draft or version.
  *
  * @param EntryDraftModel|EntryVersionModel $revision
  *
  * @return array
  */
 private function _getRevisionData($revision)
 {
     $revisionData = array('typeId' => $revision->typeId, 'authorId' => $revision->authorId, 'title' => $revision->title, 'slug' => $revision->slug, 'postDate' => $revision->postDate ? $revision->postDate->getTimestamp() : null, 'expiryDate' => $revision->expiryDate ? $revision->expiryDate->getTimestamp() : null, 'enabled' => $revision->enabled, 'parentId' => $revision->parentId, 'fields' => array());
     $content = $revision->getContentFromPost();
     foreach (craft()->fields->getAllFields() as $field) {
         if (isset($content[$field->handle]) && $content[$field->handle] !== null) {
             $revisionData['fields'][$field->id] = $content[$field->handle];
         }
     }
     return $revisionData;
 }