From 80a34b036df8f076afac841943195562d72bd7ea Mon Sep 17 00:00:00 2001 From: onli Date: Sun, 23 Jun 2013 19:47:14 +0200 Subject: [PATCH] Implement Dashboard into the core Update-Notifier, future Entries, new comments so far --- include/admin/overview.inc.php | 53 ++++++++-------- include/functions_installer.inc.php | 18 ++++++ templates/2k11/admin/overview.inc.tpl | 91 ++++++++++++++++++++++++--- templates/2k11/admin/style.css | 4 ++ 4 files changed, 131 insertions(+), 35 deletions(-) diff --git a/include/admin/overview.inc.php b/include/admin/overview.inc.php index a0ed7c8b..e6724695 100644 --- a/include/admin/overview.inc.php +++ b/include/admin/overview.inc.php @@ -4,41 +4,40 @@ if (IN_serendipity !== true) { die ("Don't hack!"); } +global $serendipity; + $user = serendipity_fetchAuthor($serendipity['authorid']); - -// old s9y variant -// $bookmarklet = "javascript:bm=document.selection?document.selection.createRange().text:document.getSelection();void(newwin=open('" . $serendipity['baseURL'] . "serendipity_admin.php?serendipity[adminModule]=entries&serendipity[adminAction]=new&serendipity[title]='+escape(document.title)+'&serendipity[body]='+escape(bm)+'&serendipity[url]='+escape(location.href),'new_log_entry','resizable=yes,scrollbars=yes,width=800,height=600,location=yes,status=yes'));newwin.focus();"; - -// non-popup variant -$bookmarklet = "javascript:if(navigator.userAgent.indexOf('Safari')%20>=%200){Q=getSelection();}else{Q=document.selection?document.selection.createRange().text:document.getSelection();}location.href='" . $serendipity['baseURL'] . "'+encodeURIComponent(document.title)+'encodeURIComponent(Q)+''+encodeURIComponent(location.href)"; - // 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)"; -$output = array( - 'welcome' => WELCOME_BACK . ' ' . htmlspecialchars($user[0]['realname']), - 'show_links' => true, - 'links_title' => FURTHER_LINKS, - 'bookmarklet' => $bookmarklet, - 'links' => array( - '' . FURTHER_LINKS_S9Y . '', - '' . FURTHER_LINKS_S9Y_DOCS . '', - '' . FURTHER_LINKS_S9Y_BLOG . '', - '' . FURTHER_LINKS_S9Y_FORUMS . '', - '' . FURTHER_LINKS_S9Y_SPARTACUS . '', - '' . FURTHER_LINKS_S9Y_BOOKMARKLET . '' - ), - 'links_css' => 'further_links', - 'more' => '' -); +$data = array(); +$data['bookmarklet'] = $bookmarklet; +$data['username'] = $user[0]['realname']; +$output = array(); serendipity_plugin_api::hook_event('backend_frontpage_display', $output); +$data['backend_frontpage_display'] = $output['more']; -$data['output'] = $output; +$data['curVersion'] = serendipity_getCurrentVersion(); +$data['usedVersion'] = $serendipity['version']; +$data['update'] = version_compare($data['usedVersion'], $data['curVersion'], '<'); -if (!is_object($serendipity['smarty'])) { - serendipity_smarty_init(); -} + +$data['comments'] = serendipity_db_query("SELECT c.*, e.title FROM {$serendipity['dbPrefix']}comments c + LEFT JOIN {$serendipity['dbPrefix']}entries e ON (e.id = c.entry_id) + ORDER BY c.id DESC LIMIT 5"); + +$data['entries'] = serendipity_fetchEntries( + false, + false, + 5, + true, + false, + 'timestamp DESC', + 'e.timestamp >= ' . serendipity_serverOffsetHour() + ); + +$data['token'] = serendipity_setFormToken('url'); echo serendipity_smarty_show('admin/overview.inc.tpl', $data); diff --git a/include/functions_installer.inc.php b/include/functions_installer.inc.php index 89dabe4a..6f877c03 100644 --- a/include/functions_installer.inc.php +++ b/include/functions_installer.inc.php @@ -1195,4 +1195,22 @@ function serendipity_verifyFTPChecksums() { return $badsums; } + +function serendipity_getCurrentVersion() { + $updateURL = 'https://raw.github.com/s9y/Serendipity/master/docs/RELEASE'; + + $file = fopen($updateURL, 'r'); + if (!$file) { + return; + } + + while (!feof($file)) { + $line = fgets($file); + + if (preg_match('/stable:(.+$)/', $line, $match)) { + return $match[1]; + } + } +} + /* vim: set sts=4 ts=4 sw=4 expandtab : */ diff --git a/templates/2k11/admin/overview.inc.tpl b/templates/2k11/admin/overview.inc.tpl index f8c91b7e..1c5a5fe0 100644 --- a/templates/2k11/admin/overview.inc.tpl +++ b/templates/2k11/admin/overview.inc.tpl @@ -1,13 +1,88 @@ -

{$output.welcome}

-{$output.more} -{if $output.show_links} -