// start a new sticky form session in case of failure
elgg_make_sticky_form('blog');
+// save or preview
+$save = (bool)get_input('save');
+
// store errors to pass along
$error = FALSE;
$error_forward_url = REFERER;
}
}
+// if preview, force status to be draft
+if ($save == false) {
+ $values['status'] = 'draft';
+}
+
// assign values to the entity, stopping on error.
if (!$error) {
foreach ($values as $name => $value) {
));
}
- if ($blog->status == 'published') {
+ if ($blog->status == 'published' || $save == false) {
forward($blog->getURL());
} else {
forward("blog/edit/$blog->guid");
* @package Blog
*/
+$blog = get_entity($vars['guid']);
+
$draft_warning = $vars['draft_warning'];
if ($draft_warning) {
$draft_warning = '<span class="message warning">' . $draft_warning . '</span>';
$action_buttons = '';
$delete_link = '';
+$preview_button = '';
if ($vars['guid']) {
// add a delete button if editing
));
}
-$save_button = elgg_view('input/submit', array('value' => elgg_echo('save')));
-$action_buttons = $save_button . $delete_link;
+// published blogs do not get the preview button
+if (!$vars['guid'] || ($blog && $blog->status != 'published')) {
+ $preview_button = elgg_view('input/submit', array(
+ 'value' => elgg_echo('preview'),
+ 'name' => 'preview',
+ 'class' => 'mls',
+ ));
+}
+
+$save_button = elgg_view('input/submit', array(
+ 'value' => elgg_echo('save'),
+ 'name' => 'save',
+));
+$action_buttons = $save_button . $preview_button . $delete_link;
$title_label = elgg_echo('title');
$title_input = elgg_view('input/text', array(