summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnika Henke <anika@selfthinker.org>2014-02-17 01:46:56 +0000
committerAnika Henke <anika@selfthinker.org>2014-02-17 01:46:56 +0000
commit98a6b21422744d0a705ef5afe6983e2797135d99 (patch)
tree155c390e792eb5ec7d73cab38cf8f385d085ed99
parentad9453f4c77a19d4a6537a37a742c2ebe588c5b3 (diff)
downloadrpg-98a6b21422744d0a705ef5afe6983e2797135d99.tar.gz
rpg-98a6b21422744d0a705ef5afe6983e2797135d99.tar.bz2
roughly styled diff nav row
-rw-r--r--inc/html.php37
-rw-r--r--lib/tpl/dokuwiki/css/_diff.css38
2 files changed, 58 insertions, 17 deletions
diff --git a/inc/html.php b/inc/html.php
index 3accaa038..ad72b78a6 100644
--- a/inc/html.php
+++ b/inc/html.php
@@ -1203,12 +1203,14 @@ function html_diff($text='',$intro=true,$type=null){
ptln('<p>');
// link to exactly this view FS#2835
- html_diff_navigationlink($type, $lang['difflink'], $l_rev, $r_rev ? $r_rev : $INFO['lastmod']);
- ptln('</p><br />');
+ html_diff_navigationlink($type, 'difflink', $l_rev, $r_rev ? $r_rev : $INFO['lastmod']);
+ ptln('</p>');
/*
* Revisions navigation
*/
+ ptln('<div class="diffnav">');
+
$r_rev = $r_rev ? $r_rev : $INFO['meta']['last_change']['date']; //last timestamp is not in changelog
list($l_revs, $r_revs) = $pagelog->getRevisionsAround($l_rev, $r_rev);
$l_revisions = array();
@@ -1239,8 +1241,8 @@ function html_diff($text='',$intro=true,$type=null){
//move back
if($l_prev) {
- html_diff_navigationlink($type, $lang['diffbothprevrev'], $l_prev, $r_prev);
- html_diff_navigationlink($type, $lang['diffprevrev'], $l_prev, $r_rev);
+ html_diff_navigationlink($type, 'diffbothprevrev', $l_prev, $r_prev);
+ html_diff_navigationlink($type, 'diffprevrev', $l_prev, $r_rev);
}
//left dropdown
$form = new Doku_Form(array('action'=>wl()));
@@ -1259,10 +1261,10 @@ function html_diff($text='',$intro=true,$type=null){
//move forward/back
if($l_next < $r_rev) {
- html_diff_navigationlink($type, $lang['diffnextrev'], $l_next, $r_rev);
+ html_diff_navigationlink($type, 'diffnextrev', $l_next, $r_rev);
}
if($l_rev < $r_prev) {
- html_diff_navigationlink($type, $lang['diffprevrev'], $l_rev, $r_prev);
+ html_diff_navigationlink($type, 'diffprevrev', $l_rev, $r_prev);
}
//rigth dropdown
$form = new Doku_Form(array('action'=>wl()));
@@ -1281,14 +1283,15 @@ function html_diff($text='',$intro=true,$type=null){
//move forward
if($r_next) {
if($pagelog->isCurrentRevision($r_next)) {
- html_diff_navigationlink($type, $lang['difflastrev'], $l_rev); //last revision is diff with current page
+ html_diff_navigationlink($type, 'difflastrev', $l_rev); //last revision is diff with current page
} else {
- html_diff_navigationlink($type, $lang['diffnextrev'], $l_rev, $r_next);
+ html_diff_navigationlink($type, 'diffnextrev', $l_rev, $r_next);
}
- html_diff_navigationlink($type, $lang['diffbothnextrev'], $l_next, $r_next);
+ html_diff_navigationlink($type, 'diffbothnextrev', $l_next, $r_next);
}
- ptln('</div>');
+ ptln('</div>'); // .diffnav
+ ptln('</div>'); // .diffoptions
}
/*
* Diff view
@@ -1326,29 +1329,29 @@ function html_diff($text='',$intro=true,$type=null){
/**
* Create html link to a diff defined by two revisions
*
- * @param string $type display type
+ * @param string $difftype display type
+ * @param string $linktype
* @param int $lrev oldest revision
* @param int $rrev newest revision or null for diff with current revision
- * @param string $name
* @return string html of link to a diff
*/
-function html_diff_navigationlink($type, $name, $lrev, $rrev = null) {
- global $ID;
+function html_diff_navigationlink($difftype, $linktype, $lrev, $rrev = null) {
+ global $ID, $lang;
if($rrev === null) {
$urlparam = array(
'do' => 'diff',
'rev' => $lrev,
- 'difftype' => $type,
+ 'difftype' => $difftype,
);
} else {
$urlparam = array(
'do' => 'diff',
'rev2[0]' => $lrev,
'rev2[1]' => $rrev,
- 'difftype' => $type,
+ 'difftype' => $difftype,
);
}
- ptln('<a class="wikilink1" href="' . wl($ID, $urlparam) . '">' . $name . '</a>');
+ ptln('<a class="'.$linktype.'" href="' . wl($ID, $urlparam) . '" title="' . $lang[$linktype] . '"><span>' . $lang[$linktype] . '</span></a>');
}
function html_insert_softbreaks($diffhtml) {
diff --git a/lib/tpl/dokuwiki/css/_diff.css b/lib/tpl/dokuwiki/css/_diff.css
index b7c82d829..28cde7786 100644
--- a/lib/tpl/dokuwiki/css/_diff.css
+++ b/lib/tpl/dokuwiki/css/_diff.css
@@ -73,3 +73,41 @@
background-color: inherit;
font-weight: bold;
}
+
+/* diff nav */
+
+.dokuwiki .diffnav a {
+ display: inline-block;
+ vertical-align: middle;
+}
+.dokuwiki .diffnav a span {
+ display: none;
+}
+
+.dokuwiki .diffnav a:before {
+ font-size: 1.2em;
+ display: inline-block;
+ line-height: 1;
+ padding: .1em .2em;
+ border: 1px solid @ini_border;
+ border-radius: 2px;
+ color: @ini_text;
+}
+
+.dokuwiki .diffnav a.diffprevrev:before {
+ content: '\25C0'; /* left triangle */
+}
+.dokuwiki .diffnav a.diffnextrev:before,
+.dokuwiki .diffnav a.difflastrev:before {
+ content: '\25B6'; /* right triangle */
+}
+.dokuwiki .diffnav a.diffbothprevrev:before {
+ content: '\25C0\25C0';
+}
+.dokuwiki .diffnav a.diffbothnextrev:before {
+ content: '\25B6\25B6';
+}
+
+.dokuwiki .diffnav select {
+ width: 15em;
+}