Publish entries in the dashboard

This commit is contained in:
onli 2014-02-08 16:48:48 +01:00
parent 283c9b5922
commit 1f63b68908
3 changed files with 47 additions and 2 deletions

View File

@ -5,12 +5,32 @@ if (IN_serendipity !== true) {
} }
global $serendipity; global $serendipity;
$data = array();
switch($serendipity['POST']['adminAction']) {
case 'publish':
if (!serendipity_checkFormToken()) {
break;
}
$success = serendipity_updertEntry(array(
'id' => htmlspecialchars($serendipity['POST']['id']),
'timestamp' => time(),
'isdraft' => 0
));
if (is_numeric($success)) {
$data['published'] = $success;
} else {
$data['error_publish'] = $success;
}
break;
}
$user = serendipity_fetchAuthor($serendipity['authorid']); $user = serendipity_fetchAuthor($serendipity['authorid']);
// chrome-compatible, from Oliver Gassner, adapted from TextPattern. Hi guys, keep it up. :-) // chrome-compatible, from Oliver Gassner, adapted from TextPattern. Hi guys, keep it up. :-)
$bookmarklet = "javascript:var%20d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f='" . $serendipity['baseURL'] . "',l=d.location,e=encodeURIComponent,p='serendipity_admin.php?serendipity[adminModule]=entries&serendipity[adminAction]=new&serendipity[title]='+e(d.title)+'&serendipity[body]='+e(s)+'&serendipity[url]='+location.href,u=f+p;a=function(){%20%20if(!w.open(u,'t','toolbar=0,resizable=1,scrollbars=1,status=1,width=800,height=800'))%20%20%20%20l.href=u;};if(/Firefox/.test(navigator.userAgent))%20%20setTimeout(a,0);else%20%20a();void(0)"; $bookmarklet = "javascript:var%20d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f='" . $serendipity['baseURL'] . "',l=d.location,e=encodeURIComponent,p='serendipity_admin.php?serendipity[adminModule]=entries&serendipity[adminAction]=new&serendipity[title]='+e(d.title)+'&serendipity[body]='+e(s)+'&serendipity[url]='+location.href,u=f+p;a=function(){%20%20if(!w.open(u,'t','toolbar=0,resizable=1,scrollbars=1,status=1,width=800,height=800'))%20%20%20%20l.href=u;};if(/Firefox/.test(navigator.userAgent))%20%20setTimeout(a,0);else%20%20a();void(0)";
$data = array();
$data['bookmarklet'] = $bookmarklet; $data['bookmarklet'] = $bookmarklet;
$data['username'] = $user[0]['realname']; $data['username'] = $user[0]['realname'];
@ -80,6 +100,7 @@ if ($entriesAmount < 5) {
$data['entries'] = $entries; $data['entries'] = $entries;
$data['urltoken'] = serendipity_setFormToken('url'); $data['urltoken'] = serendipity_setFormToken('url');
$data['token'] = serendipity_setFormToken();
echo serendipity_smarty_show('admin/overview.inc.tpl', $data); echo serendipity_smarty_show('admin/overview.inc.tpl', $data);

View File

@ -4,6 +4,13 @@
</div> </div>
{$backend_frontpage_display} {$backend_frontpage_display}
<div id="dashboard" class="clearfix"> <div id="dashboard" class="clearfix">
{if $published}
<span class="msg_success"><span class="icon-ok-circled"></span> Entry #{$published} published</span> {* i18n *}
{/if}
{if $error_publish}
<span class="msg_error"><span class="icon-attention-circled"></span> Error publishing entry: {$error_publish}</span> {* i18n *}
{/if}
{if $update} {if $update}
<section id="dashboard_update"> <section id="dashboard_update">
<h3>Update notification</h3> {* i18n *} <h3>Update notification</h3> {* i18n *}
@ -56,6 +63,17 @@
<ul class="plainList actions"> <ul class="plainList actions">
<li><a class="button_link" href="?serendipity[action]=admin&amp;serendipity[adminModule]=entries&amp;serendipity[adminAction]=preview&amp;{$urltoken}&amp;serendipity[id]={$entry.id}" title="{$CONST.PREVIEW} #{$entry.id}"><span class="icon-zoom-in"></span><span class="visuallyhidden"> {$CONST.PREVIEW}</span></a></li> <li><a class="button_link" href="?serendipity[action]=admin&amp;serendipity[adminModule]=entries&amp;serendipity[adminAction]=preview&amp;{$urltoken}&amp;serendipity[id]={$entry.id}" title="{$CONST.PREVIEW} #{$entry.id}"><span class="icon-zoom-in"></span><span class="visuallyhidden"> {$CONST.PREVIEW}</span></a></li>
<li><a class="button_link" href="?serendipity[action]=admin&amp;serendipity[adminModule]=entries&amp;serendipity[adminAction]=edit&amp;serendipity[id]={$entry.id}" title="{$CONST.EDIT} #{$entry.id}"><span class="icon-edit"></span><span class="visuallyhidden"> {$CONST.EDIT}</span></a></li> <li><a class="button_link" href="?serendipity[action]=admin&amp;serendipity[adminModule]=entries&amp;serendipity[adminAction]=edit&amp;serendipity[id]={$entry.id}" title="{$CONST.EDIT} #{$entry.id}"><span class="icon-edit"></span><span class="visuallyhidden"> {$CONST.EDIT}</span></a></li>
{if $entry.isdraft == "true"}
<li>
<form method="POST" class="overviewListForm">
<input type="hidden" name="serendipity[adminAction]" value="publish" />
<input type="hidden" name="serendipity[id]" value="{$entry.id}" />
{$token}
<button type="submit">{$CONST.PUBLISH}</button>
</form>
</li>
{/if}
</ul> </ul>
{if !$showFutureEntries && ($entry.timestamp >= $serverOffsetHour) && $entry.isdraft == "false"} {if !$showFutureEntries && ($entry.timestamp >= $serverOffsetHour) && $entry.isdraft == "false"}
<span class="entry_status status_future">Scheduled{* $CONST.ENTRY_PUBLISHED_FUTURE *}</span>{* i18n *} <span class="entry_status status_future">Scheduled{* $CONST.ENTRY_PUBLISHED_FUTURE *}</span>{* i18n *}

View File

@ -437,7 +437,8 @@ form > button,
#dashboard_entries .entry_status, #dashboard_entries .entry_status,
.comment_status, .comment_status,
.tabs > ul > li, .tabs > ul > li,
#maintenance > section > .button_link { #maintenance > section > .button_link,
.overviewListForm {
display: inline-block; display: inline-block;
} }
@ -491,6 +492,11 @@ form > button {
margin-bottom: 1.5em; margin-bottom: 1.5em;
} }
.overviewListForm > button {
margin-top: 0;
margin-bottom: 0;
}
#categories, #categories,
#categories ul, #categories ul,
#serendipity_image_folders, #serendipity_image_folders,