summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
Diffstat (limited to 'inc')
-rw-r--r--inc/HTTPClient.php7
-rw-r--r--inc/html.php11
-rw-r--r--inc/lang/de/lang.php2
-rw-r--r--inc/lang/en/lang.php2
-rw-r--r--inc/plugin.php6
-rw-r--r--inc/template.php32
6 files changed, 41 insertions, 19 deletions
diff --git a/inc/HTTPClient.php b/inc/HTTPClient.php
index 0d7b80cf8..3964c8fbc 100644
--- a/inc/HTTPClient.php
+++ b/inc/HTTPClient.php
@@ -806,12 +806,7 @@ class HTTPClient {
* @author Andreas Gohr <andi@splitbrain.org>
*/
function _postEncode($data){
- $url = '';
- foreach($data as $key => $val){
- if($url) $url .= '&';
- $url .= urlencode($key).'='.urlencode($val);
- }
- return $url;
+ return http_build_query($data,'','&');
}
/**
diff --git a/inc/html.php b/inc/html.php
index 53f4c45ff..614cf172c 100644
--- a/inc/html.php
+++ b/inc/html.php
@@ -854,12 +854,17 @@ function html_index($ns){
* @author Andreas Gohr <andi@splitbrain.org>
*/
function html_list_index($item){
- global $ID;
+ global $ID, $conf;
+
+ // prevent searchbots needlessly following links
+ $nofollow = ($ID != $conf['start'] || $conf['sitemap']) ? ' rel="nofollow"' : '';
+
$ret = '';
$base = ':'.$item['id'];
$base = substr($base,strrpos($base,':')+1);
if($item['type']=='d'){
- $ret .= '<a href="'.wl($ID,'idx='.rawurlencode($item['id'])).'" title="' . $item['id'] . '" class="idx_dir"><strong>';
+ // FS#2766, no need for search bots to follow namespace links in the index
+ $ret .= '<a href="'.wl($ID,'idx='.rawurlencode($item['id'])).'" title="' . $item['id'] . '" class="idx_dir"' . $nofollow . '><strong>';
$ret .= $base;
$ret .= '</strong></a>';
}else{
@@ -1492,7 +1497,7 @@ function html_edit(){
echo 'textChanged = ' . ($mod ? 'true' : 'false');
echo '/*!]]>*/</script>' . NL;
} ?>
- <div class="editBox">
+ <div class="editBox" role="application">
<div class="toolbar group">
<div id="draft__status"><?php if(!empty($INFO['draft'])) echo $lang['draftdate'].' '.dformat();?></div>
diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php
index 329d9691a..b914f01aa 100644
--- a/inc/lang/de/lang.php
+++ b/inc/lang/de/lang.php
@@ -235,7 +235,7 @@ $lang['qb_extlink'] = 'Externer Link';
$lang['qb_hr'] = 'Horizontale Linie';
$lang['qb_ol'] = 'Nummerierter Listenpunkt';
$lang['qb_ul'] = 'Listenpunkt';
-$lang['qb_media'] = 'Bilder und andere Dateien hinzufügen';
+$lang['qb_media'] = 'Bilder und andere Dateien hinzufügen (öffnet sich in einem neuen Fenster)';
$lang['qb_sig'] = 'Unterschrift einfügen';
$lang['qb_smileys'] = 'Smileys';
$lang['qb_chars'] = 'Sonderzeichen';
diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php
index cdad6c9a6..00e71d254 100644
--- a/inc/lang/en/lang.php
+++ b/inc/lang/en/lang.php
@@ -234,7 +234,7 @@ $lang['qb_extlink'] = 'External Link';
$lang['qb_hr'] = 'Horizontal Rule';
$lang['qb_ol'] = 'Ordered List Item';
$lang['qb_ul'] = 'Unordered List Item';
-$lang['qb_media'] = 'Add Images and other files';
+$lang['qb_media'] = 'Add Images and other files (opens in a new window)';
$lang['qb_sig'] = 'Insert Signature';
$lang['qb_smileys'] = 'Smileys';
$lang['qb_chars'] = 'Special Chars';
diff --git a/inc/plugin.php b/inc/plugin.php
index 4d3d45f62..422b82534 100644
--- a/inc/plugin.php
+++ b/inc/plugin.php
@@ -199,11 +199,7 @@ class DokuWiki_Plugin {
* @return object helper plugin object
*/
function loadHelper($name, $msg = true){
- if (!plugin_isdisabled($name)){
- $obj = plugin_load('helper',$name);
- }else{
- $obj = null;
- }
+ $obj = plugin_load('helper',$name);
if (is_null($obj) && $msg) msg("Helper plugin $name is not available or invalid.",-1);
return $obj;
}
diff --git a/inc/template.php b/inc/template.php
index b8129f914..bb5f2cd53 100644
--- a/inc/template.php
+++ b/inc/template.php
@@ -541,6 +541,7 @@ function tpl_actionlink($type, $pre = '', $suf = '', $inner = '', $return = fals
* @var string $accesskey
* @var string $id
* @var string $method
+ * @var bool $nofollow
* @var array $params
*/
extract($data);
@@ -555,10 +556,11 @@ function tpl_actionlink($type, $pre = '', $suf = '', $inner = '', $return = fals
$akey = 'accesskey="'.$accesskey.'" ';
$addTitle = ' ['.strtoupper($accesskey).']';
}
+ $rel = $nofollow ? 'rel="nofollow" ' : '';
$out = tpl_link(
$linktarget, $pre.(($inner) ? $inner : $caption).$suf,
'class="action '.$type.'" '.
- $akey.'rel="nofollow" '.
+ $akey.$rel.
'title="'.hsc($caption).$addTitle.'"', 1
);
}
@@ -595,6 +597,7 @@ function tpl_get_action($type) {
global $INFO;
global $REV;
global $ACT;
+ global $conf;
// check disabled actions and fix the badly named ones
if($type == 'history') $type = 'revisions';
@@ -604,6 +607,7 @@ function tpl_get_action($type) {
$id = $ID;
$method = 'get';
$params = array('do' => $type);
+ $nofollow = true;
switch($type) {
case 'edit':
// most complicated type - we need to decide on current action
@@ -641,6 +645,10 @@ function tpl_get_action($type) {
break;
case 'index':
$accesskey = 'x';
+ // allow searchbots to get to the sitemap from the homepage (when dokuwiki isn't providing a sitemap.xml)
+ if ($conf['start'] == $ID && !$conf['sitemap']) {
+ $nofollow = false;
+ }
break;
case 'top':
$accesskey = 't';
@@ -711,7 +719,7 @@ function tpl_get_action($type) {
return '[unknown %s type]';
break;
}
- return compact('accesskey', 'type', 'id', 'method', 'params');
+ return compact('accesskey', 'type', 'id', 'method', 'params', 'nofollow');
}
/**
@@ -764,7 +772,7 @@ function tpl_searchform($ajax = true, $autocomplete = true) {
// don't print the search form if search action has been disabled
if(!actionOK('search')) return false;
- print '<form action="'.wl().'" accept-charset="utf-8" class="search" id="dw__search" method="get"><div class="no">';
+ print '<form action="'.wl().'" accept-charset="utf-8" class="search" id="dw__search" method="get" role="search"><div class="no">';
print '<input type="hidden" name="do" value="search" />';
print '<input type="text" ';
if($ACT == 'search') print 'value="'.htmlspecialchars($QUERY).'" ';
@@ -1746,5 +1754,23 @@ function tpl_media() {
echo '</div>'.NL;
}
+/**
+ * Return useful layout classes
+ *
+ * @author Anika Henke <anika@selfthinker.org>
+ */
+function tpl_classes() {
+ global $ACT, $conf, $ID, $INFO;
+ $classes = array(
+ 'dokuwiki',
+ 'mode_'.$ACT,
+ 'tpl_'.$conf['template'],
+ $_SERVER['REMOTE_USER'] ? 'loggedIn' : '',
+ $INFO['exists'] ? '' : 'notFound',
+ ($ID == $conf['start']) ? 'home' : '',
+ );
+ return join(' ', $classes);
+}
+
//Setup VIM: ex: et ts=4 :