/** * 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; }
/** * Sets a draft's attributes from the post data. * * @param EntryDraftModel $draft * * @return null */ private function _setDraftAttributesFromPost(EntryDraftModel $draft) { $draft->typeId = craft()->request->getPost('typeId'); $draft->slug = craft()->request->getPost('slug'); $draft->postDate = ($postDate = craft()->request->getPost('postDate')) ? DateTime::createFromString($postDate, craft()->timezone) : $draft->postDate; $draft->expiryDate = ($expiryDate = craft()->request->getPost('expiryDate')) ? DateTime::createFromString($expiryDate, craft()->timezone) : null; $draft->enabled = (bool) craft()->request->getPost('enabled'); $draft->getContent()->title = craft()->request->getPost('title'); // Author $authorId = craft()->request->getPost('author', $draft->authorId ? $draft->authorId : craft()->userSession->getUser()->id); if (is_array($authorId)) { $authorId = isset($authorId[0]) ? $authorId[0] : null; } $draft->authorId = $authorId; // Parent $parentId = craft()->request->getPost('parentId'); if (is_array($parentId)) { $parentId = isset($parentId[0]) ? $parentId[0] : null; } $draft->parentId = $parentId; }
/** * Sets the draft model's values from the post data. * * @access private * @param EntryDraftModel $draft */ private function _setDraftValuesFromPost(EntryDraftModel $draft) { $draft->slug = craft()->request->getPost('slug'); $draft->postDate = craft()->request->getPost('postDate'); $draft->expiryDate = craft()->request->getPost('expiryDate'); $draft->enabled = (bool) craft()->request->getPost('enabled'); $draft->getContent()->title = craft()->request->getPost('title'); $fields = craft()->request->getPost('fields'); $draft->getContent()->setAttributes($fields); if (Craft::hasPackage(CraftPackage::Users)) { $draft->authorId = craft()->request->getPost('author'); } else { $draft->authorId = craft()->userSession->getUser()->id; } }
/** * Sets a draft's attributes from the post data. * * @param EntryDraftModel $draft * * @return null */ private function _setDraftAttributesFromPost(EntryDraftModel $draft) { $draft->typeId = craft()->request->getPost('typeId'); $draft->slug = craft()->request->getPost('slug'); $draft->postDate = craft()->request->getPost('postDate'); $draft->expiryDate = craft()->request->getPost('expiryDate'); $draft->enabled = (bool) craft()->request->getPost('enabled'); $draft->authorId = craft()->request->getPost('author'); $draft->getContent()->title = craft()->request->getPost('title'); }
public function actionDrafts() { $records = EntryDraftRecord::model()->findAll(); $drafts = EntryDraftModel::populateModels($records); $this->renderTemplate('workflow/drafts', array('entries' => $drafts)); }