/**
  * Returns a draft by its offset.
  *
  * @param int $entryId
  * @param int $offset
  * @return EntryDraftModel|null
  */
 public function getDraftByOffset($entryId, $offset = 0)
 {
     $draftRecord = EntryDraftRecord::model()->find(array('condition' => 'entryId = :entryId AND locale = :locale', 'params' => array(':entryId' => $entryId, ':locale' => craft()->i18n->getPrimarySiteLocale()), 'offset' => $offset));
     if ($draftRecord) {
         return EntryDraftModel::populateModel($draftRecord);
     }
 }
 /**
  * Returns drafts of a given entry.
  *
  * @param int    $entryId
  * @param string $localeId
  *
  * @return array
  */
 public function getDraftsByEntryId($entryId, $localeId = null)
 {
     if (!$localeId) {
         $localeId = craft()->i18n->getPrimarySiteLocale();
     }
     $drafts = array();
     $results = craft()->db->createCommand()->select('*')->from('entrydrafts')->where(array('and', 'entryId = :entryId', 'locale = :locale'), array(':entryId' => $entryId, ':locale' => $localeId))->order('name asc')->queryAll();
     foreach ($results as $result) {
         $result['data'] = JsonHelper::decode($result['data']);
         // Don't initialize the content
         unset($result['data']['fields']);
         $drafts[] = EntryDraftModel::populateModel($result);
     }
     return $drafts;
 }