summaryrefslogtreecommitdiff
path: root/inc/parser/xhtml.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/parser/xhtml.php')
-rw-r--r--inc/parser/xhtml.php14
1 files changed, 11 insertions, 3 deletions
diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php
index 23e351b84..b85aa911e 100644
--- a/inc/parser/xhtml.php
+++ b/inc/parser/xhtml.php
@@ -391,7 +391,7 @@ class Doku_Renderer_XHTML extends Doku_Renderer {
function internallink($id, $name = NULL) {
global $conf;
- $name = $this->__getLinkTitle($name, $this->__simpleTitle($id), $isImage);
+ $name = $this->__getLinkTitle($name, $this->__simpleTitle($id), $isImage, $id);
resolve_pageid($id,$exists);
if ( !$isImage ) {
@@ -857,11 +857,19 @@ class Doku_Renderer_XHTML extends Doku_Renderer {
print '<!-- SECTION ['.$f.'-'.$t.'] -->';
}
- function __getLinkTitle($title, $default, & $isImage) {
+ function __getLinkTitle($title, $default, & $isImage, $id=NULL) {
+ global $conf;
+
$isImage = FALSE;
if ( is_null($title) ) {
- return $this->__xmlEntities($default);
+ if ($conf['useheading'] && $id) {
+ $heading = p_get_first_heading($id);
+ if ($heading) {
+ return $this->__xmlEntities($heading);
+ }
+ }
+ return $this->__xmlEntities($default);
} else if ( is_string($title) ) {