summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
authorChristopher Smith <chris@jalakai.co.uk>2013-02-25 14:50:59 +0000
committerChristopher Smith <chris@jalakai.co.uk>2013-02-25 14:50:59 +0000
commit1fe0882c56ea31e738540e942b743966927415fd (patch)
treec3324566ada64f09775b35bc989592c7701c32d4 /inc
parent177daee5492e8c3cdfdb950cdf61a6798f7a9586 (diff)
parent058fd09655df42c72f3c447e3b9561e4909e978d (diff)
downloadrpg-1fe0882c56ea31e738540e942b743966927415fd.tar.gz
rpg-1fe0882c56ea31e738540e942b743966927415fd.tar.bz2
Merge branch 'master' into FS#2415
Diffstat (limited to 'inc')
-rw-r--r--inc/DifferenceEngine.php76
-rw-r--r--inc/actions.php6
-rw-r--r--inc/auth.php10
-rw-r--r--inc/common.php21
-rw-r--r--inc/html.php48
-rw-r--r--inc/httputils.php71
-rw-r--r--inc/io.php19
-rw-r--r--inc/lang/af/lang.php2
-rw-r--r--inc/lang/ar/lang.php4
-rw-r--r--inc/lang/az/lang.php2
-rw-r--r--inc/lang/bg/lang.php2
-rw-r--r--inc/lang/ca-valencia/lang.php2
-rw-r--r--inc/lang/ca/lang.php2
-rw-r--r--inc/lang/cs/lang.php2
-rw-r--r--inc/lang/da/lang.php2
-rw-r--r--inc/lang/el/lang.php6
-rw-r--r--inc/lang/eo/lang.php2
-rw-r--r--inc/lang/es/lang.php4
-rw-r--r--inc/lang/et/lang.php2
-rw-r--r--inc/lang/eu/lang.php2
-rw-r--r--inc/lang/fa/lang.php4
-rw-r--r--inc/lang/fi/lang.php2
-rw-r--r--inc/lang/fo/lang.php2
-rw-r--r--inc/lang/gl/lang.php4
-rw-r--r--inc/lang/he/lang.php3
-rw-r--r--inc/lang/hi/lang.php1
-rw-r--r--inc/lang/hr/lang.php2
-rw-r--r--inc/lang/hu/lang.php2
-rw-r--r--inc/lang/ia/lang.php4
-rw-r--r--inc/lang/id/lang.php2
-rw-r--r--inc/lang/is/lang.php2
-rw-r--r--inc/lang/it/lang.php12
-rw-r--r--inc/lang/ja/lang.php2
-rw-r--r--inc/lang/km/lang.php2
-rw-r--r--inc/lang/ku/lang.php2
-rw-r--r--inc/lang/la/lang.php4
-rw-r--r--inc/lang/lb/lang.php2
-rw-r--r--inc/lang/lt/lang.php2
-rw-r--r--inc/lang/lv/lang.php2
-rw-r--r--inc/lang/mg/lang.php2
-rw-r--r--inc/lang/mk/lang.php4
-rw-r--r--inc/lang/mr/lang.php1
-rw-r--r--inc/lang/ms/lang.php2
-rw-r--r--inc/lang/ne/lang.php1
-rw-r--r--inc/lang/nl/lang.php2
-rw-r--r--inc/lang/no/lang.php5
-rw-r--r--inc/lang/pl/lang.php4
-rw-r--r--inc/lang/pt/lang.php2
-rw-r--r--inc/lang/ro/lang.php2
-rw-r--r--inc/lang/ru/lang.php4
-rw-r--r--inc/lang/sl/lang.php2
-rw-r--r--inc/lang/sq/lang.php4
-rw-r--r--inc/lang/sr/lang.php2
-rw-r--r--inc/lang/th/lang.php2
-rw-r--r--inc/lang/tr/lang.php2
-rw-r--r--inc/lang/uk/lang.php2
-rw-r--r--inc/lang/vi/lang.php2
-rw-r--r--inc/lang/zh-tw/lang.php2
-rw-r--r--inc/lang/zh/lang.php3
-rw-r--r--inc/media.php26
-rw-r--r--inc/parser/code.php2
-rw-r--r--inc/parser/xhtml.php4
-rw-r--r--inc/parserutils.php78
-rw-r--r--inc/plugin.php7
-rw-r--r--inc/search.php192
-rw-r--r--inc/template.php8
66 files changed, 272 insertions, 436 deletions
diff --git a/inc/DifferenceEngine.php b/inc/DifferenceEngine.php
index 1b68cf6d3..e0fbf8e03 100644
--- a/inc/DifferenceEngine.php
+++ b/inc/DifferenceEngine.php
@@ -797,7 +797,7 @@ class DiffFormatter {
function _lines($lines, $prefix = ' ') {
foreach ($lines as $line)
- echo "$prefix $line\n";
+ echo "$prefix ".$this->_escape($line)."\n";
}
function _context($lines) {
@@ -816,6 +816,10 @@ class DiffFormatter {
echo "---\n";
$this->_added($closing);
}
+
+ function _escape($str){
+ return $str;
+ }
}
/**
@@ -871,13 +875,13 @@ class _HWLDF_WordAccumulator {
function _flushGroup($new_tag) {
if ($this->_group !== '') {
if ($this->_tag == 'mark')
- $this->_line .= '<strong '.HTMLDiff::css('diff-mark').'>'.$this->_group.'</strong>';
+ $this->_line .= '<strong '.HTMLDiff::css('diff-mark').'>'.$this->_escape($this->_group).'</strong>';
elseif ($this->_tag == 'add')
- $this->_line .= '<span '.HTMLDiff::css('diff-addedline').'>'.$this->_group.'</span>';
+ $this->_line .= '<span '.HTMLDiff::css('diff-addedline').'>'.$this->_escape($this->_group).'</span>';
elseif ($this->_tag == 'del')
- $this->_line .= '<span '.HTMLDiff::css('diff-deletedline').'><del>'.$this->_group.'</del></span>';
+ $this->_line .= '<span '.HTMLDiff::css('diff-deletedline').'><del>'.$this->_escape($this->_group).'</del></span>';
else
- $this->_line .= $this->_group;
+ $this->_line .= $this->_escape($this->_group);
}
$this->_group = '';
$this->_tag = $new_tag;
@@ -912,6 +916,10 @@ class _HWLDF_WordAccumulator {
$this->_flushLine('~done');
return $this->_lines;
}
+
+ function _escape($str){
+ return hsc($str);
+ }
}
class WordLevelDiff extends MappedDiff {
@@ -1029,6 +1037,7 @@ class UnifiedDiffFormatter extends DiffFormatter {
*
*/
class TableDiffFormatter extends DiffFormatter {
+ var $colspan = 2;
function __construct() {
$this->leading_context_lines = 2;
@@ -1053,8 +1062,8 @@ class TableDiffFormatter extends DiffFormatter {
global $lang;
$l1 = $lang['line'].' '.$xbeg;
$l2 = $lang['line'].' '.$ybeg;
- $r = '<tr><td '.HTMLDiff::css('diff-blockheader').' colspan="2">'.$l1.":</td>\n".
- '<td '.HTMLDiff::css('diff-blockheader').' colspan="2">'.$l2.":</td>\n".
+ $r = '<tr><td '.HTMLDiff::css('diff-blockheader').' colspan="'.$this->colspan.'">'.$l1.":</td>\n".
+ '<td '.HTMLDiff::css('diff-blockheader').' colspan="'.$this->colspan.'">'.$l2.":</td>\n".
"</tr>\n";
return $r;
}
@@ -1069,25 +1078,38 @@ class TableDiffFormatter extends DiffFormatter {
function _lines($lines, $prefix=' ', $color="white") {
}
- function addedLine($line) {
- return '<td>+</td><td '.HTMLDiff::css('diff-addedline').'>' . $line.'</td>';
+ function addedLine($line,$escaped=false) {
+ if (!$escaped){
+ $line = $this->_escape($line);
+ }
+ return '<td '.HTMLDiff::css('diff-lineheader').'>+</td>'.
+ '<td '.HTMLDiff::css('diff-addedline').'>' . $line.'</td>';
}
- function deletedLine($line) {
- return '<td>-</td><td '.HTMLDiff::css('diff-deletedline').'>' . $line.'</td>';
+ function deletedLine($line,$escaped=false) {
+ if (!$escaped){
+ $line = $this->_escape($line);
+ }
+ return '<td '.HTMLDiff::css('diff-lineheader').'>-</td>'.
+ '<td '.HTMLDiff::css('diff-deletedline').'>' . $line.'</td>';
}
function emptyLine() {
- return '<td colspan="2">&#160;</td>';
+ return '<td colspan="'.$this->colspan.'">&#160;</td>';
}
function contextLine($line) {
- return '<td> </td><td '.HTMLDiff::css('diff-context').'>'.$line.'</td>';
+ return '<td '.HTMLDiff::css('diff-lineheader').'>&#160;</td>'.
+ '<td '.HTMLDiff::css('diff-context').'>'.$this->_escape($line).'</td>';
}
function _added($lines) {
+ $this->_addedLines($lines,false);
+ }
+
+ function _addedLines($lines,$escaped=false){
foreach ($lines as $line) {
- print('<tr>' . $this->emptyLine() . $this->addedLine($line) . "</tr>\n");
+ print('<tr>' . $this->emptyLine() . $this->addedLine($line,$escaped) . "</tr>\n");
}
}
@@ -1104,15 +1126,19 @@ class TableDiffFormatter extends DiffFormatter {
}
function _changed($orig, $closing) {
- $diff = new WordLevelDiff($orig, $closing);
+ $diff = new WordLevelDiff($orig, $closing); // this escapes the diff data
$del = $diff->orig();
$add = $diff->closing();
while ($line = array_shift($del)) {
$aline = array_shift($add);
- print('<tr>' . $this->deletedLine($line) . $this->addedLine($aline) . "</tr>\n");
+ print('<tr>' . $this->deletedLine($line,true) . $this->addedLine($aline,true) . "</tr>\n");
}
- $this->_added($add); # If any leftovers
+ $this->_addedLines($add,true); # If any leftovers
+ }
+
+ function _escape($str) {
+ return hsc($str);
}
}
@@ -1121,7 +1147,7 @@ class TableDiffFormatter extends DiffFormatter {
*
*/
class InlineDiffFormatter extends DiffFormatter {
- var $colspan = 4;
+ var $colspan = 2;
function __construct() {
$this->leading_context_lines = 2;
@@ -1167,28 +1193,32 @@ class InlineDiffFormatter extends DiffFormatter {
function _added($lines) {
foreach ($lines as $line) {
- print('<tr><td colspan="'.$this->colspan.'" '.HTMLDiff::css('diff-addedline').'>'. $line . "</td></tr>\n");
+ print('<tr><td '.HTMLDiff::css('diff-lineheader').'>&#160;</td><td '.HTMLDiff::css('diff-addedline').'>'. $this->_escape($line) . "</td></tr>\n");
}
}
function _deleted($lines) {
foreach ($lines as $line) {
- print('<tr><td colspan="'.$this->colspan.'" '.HTMLDiff::css('diff-deletedline').'><del>' . $line . "</del></td></tr>\n");
+ print('<tr><td '.HTMLDiff::css('diff-lineheader').'>&#160;</td><td '.HTMLDiff::css('diff-deletedline').'><del>' . $this->_escape($line) . "</del></td></tr>\n");
}
}
function _context($lines) {
foreach ($lines as $line) {
- print('<tr><td colspan="'.$this->colspan.'" '.HTMLDiff::css('diff-context').'>'.$line."</td></tr>\n");
+ print('<tr><td '.HTMLDiff::css('diff-lineheader').'>&#160;</td><td '.HTMLDiff::css('diff-context').'>'. $this->_escape($line) ."</td></tr>\n");
}
}
function _changed($orig, $closing) {
- $diff = new InlineWordLevelDiff($orig, $closing);
+ $diff = new InlineWordLevelDiff($orig, $closing); // this escapes the diff data
$add = $diff->inline();
foreach ($add as $line)
- print('<tr><td colspan="'.$this->colspan.'">'.$line."</td></tr>\n");
+ print('<tr><td '.HTMLDiff::css('diff-lineheader').'>&#160;</td><td>'.$line."</td></tr>\n");
+ }
+
+ function _escape($str) {
+ return hsc($str);
}
}
diff --git a/inc/actions.php b/inc/actions.php
index e0ad908b7..da3414eb2 100644
--- a/inc/actions.php
+++ b/inc/actions.php
@@ -172,7 +172,7 @@ function act_dispatch(){
$evt->advise_after();
// Make sure plugs can handle 'denied'
if($conf['send404'] && $ACT == 'denied') {
- header('HTTP/1.0 403 Forbidden');
+ http_status(403);
}
unset($evt);
@@ -658,7 +658,7 @@ function act_sitemap($act) {
global $conf;
if ($conf['sitemap'] < 1 || !is_numeric($conf['sitemap'])) {
- header("HTTP/1.0 404 Not Found");
+ http_status(404);
print "Sitemap generation is disabled.";
exit;
}
@@ -690,7 +690,7 @@ function act_sitemap($act) {
exit;
}
- header("HTTP/1.0 500 Internal Server Error");
+ http_status(500);
print "Could not read the sitemap file - bad permissions?";
exit;
}
diff --git a/inc/auth.php b/inc/auth.php
index 7f427bd8d..68b6b438d 100644
--- a/inc/auth.php
+++ b/inc/auth.php
@@ -54,16 +54,17 @@ function auth_setup() {
}
}
- if(!$auth){
+ if(!isset($auth) || !$auth){
msg($lang['authtempfail'], -1);
return false;
}
- if ($auth && $auth->success == false) {
+ if ($auth->success == false) {
// degrade to unauthenticated user
unset($auth);
auth_logoff();
msg($lang['authtempfail'], -1);
+ return false;
}
// do the login either by cookie or provided credentials XXX
@@ -91,7 +92,7 @@ function auth_setup() {
// apply cleaning
if (true === $auth->success) {
- $_REQUEST['u'] = $auth->cleanUser($_REQUEST['u']);
+ $INPUT->set('u', $auth->cleanUser($INPUT->str('u')));
}
if($INPUT->str('authtok')) {
@@ -267,7 +268,7 @@ function auth_login($user, $pass, $sticky = false, $silent = false) {
function auth_validateToken($token) {
if(!$token || $token != $_SESSION[DOKU_COOKIE]['auth']['token']) {
// bad token
- header("HTTP/1.0 401 Unauthorized");
+ http_status(401);
print 'Invalid auth token - maybe the session timed out';
unset($_SESSION[DOKU_COOKIE]['auth']['token']); // no second chance
exit;
@@ -311,7 +312,6 @@ function auth_browseruid() {
$uid = '';
$uid .= $_SERVER['HTTP_USER_AGENT'];
$uid .= $_SERVER['HTTP_ACCEPT_ENCODING'];
- $uid .= $_SERVER['HTTP_ACCEPT_LANGUAGE'];
$uid .= $_SERVER['HTTP_ACCEPT_CHARSET'];
$uid .= substr($ip, 0, strpos($ip, '.'));
$uid = strtolower($uid);
diff --git a/inc/common.php b/inc/common.php
index 5c28cf9c3..83c4557c6 100644
--- a/inc/common.php
+++ b/inc/common.php
@@ -1207,27 +1207,6 @@ function getGoogleQuery() {
}
/**
- * Try to set correct locale
- *
- * @deprecated No longer used
- * @author Andreas Gohr <andi@splitbrain.org>
- */
-function setCorrectLocale() {
- global $conf;
- global $lang;
-
- $enc = strtoupper($lang['encoding']);
- foreach($lang['locales'] as $loc) {
- //try locale
- if(@setlocale(LC_ALL, $loc)) return;
- //try loceale with encoding
- if(@setlocale(LC_ALL, "$loc.$enc")) return;
- }
- //still here? try to set from environment
- @setlocale(LC_ALL, "");
-}
-
-/**
* Return the human readable size of a file
*
* @param int $size A file size
diff --git a/inc/html.php b/inc/html.php
index ddaed2261..59415f7da 100644
--- a/inc/html.php
+++ b/inc/html.php
@@ -1003,14 +1003,16 @@ function html_backlinks(){
* @param string $r_rev Right revision
* @param string $id Page id, if null $ID is used
* @param bool $media If it is for media files
+ * @param bool $inline Return the header on a single line
* @return array HTML snippets for diff header
*/
-function html_diff_head($l_rev, $r_rev, $id = null, $media = false) {
+function html_diff_head($l_rev, $r_rev, $id = null, $media = false, $inline = false) {
global $lang;
if ($id === null) {
global $ID;
$id = $ID;
}
+ $head_separator = $inline ? ' ' : '<br />';
$media_or_wikiFN = $media ? 'mediaFN' : 'wikiFN';
$ml_or_wl = $media ? 'ml' : 'wl';
$l_minor = $r_minor = '';
@@ -1032,7 +1034,7 @@ function html_diff_head($l_rev, $r_rev, $id = null, $media = false) {
$l_head_title = ($media) ? dformat($l_rev) : $id.' ['.dformat($l_rev).']';
$l_head = '<a class="wikilink1" href="'.$ml_or_wl($id,"rev=$l_rev").'">'.
$l_head_title.'</a>'.
- '<br />'.$l_user.' '.$l_sum;
+ $head_separator.$l_user.' '.$l_sum;
}
if($r_rev){
@@ -1050,7 +1052,7 @@ function html_diff_head($l_rev, $r_rev, $id = null, $media = false) {
$r_head_title = ($media) ? dformat($r_rev) : $id.' ['.dformat($r_rev).']';
$r_head = '<a class="wikilink1" href="'.$ml_or_wl($id,"rev=$r_rev").'">'.
$r_head_title.'</a>'.
- '<br />'.$r_user.' '.$r_sum;
+ $head_separator.$r_user.' '.$r_sum;
}elseif($_rev = @filemtime($media_or_wikiFN($id))){
$_info = getRevisionInfo($id,$_rev,true, $media);
if($_info['user']){
@@ -1067,7 +1069,7 @@ function html_diff_head($l_rev, $r_rev, $id = null, $media = false) {
$r_head = '<a class="wikilink1" href="'.$ml_or_wl($id).'">'.
$r_head_title.'</a> '.
'('.$lang['current'].')'.
- '<br />'.$_user.' '.$_sum;
+ $head_separator.$_user.' '.$_sum;
}else{
$r_head = '&mdash; ('.$lang['current'].')';
}
@@ -1160,10 +1162,10 @@ function html_diff($text='',$intro=true,$type=null){
}
$r_text = rawWiki($ID,$r_rev);
- list($l_head, $r_head, $l_minor, $r_minor) = html_diff_head($l_rev, $r_rev);
+ list($l_head, $r_head, $l_minor, $r_minor) = html_diff_head($l_rev, $r_rev, null, false, $type == 'inline');
}
- $df = new Diff(explode("\n",hsc($l_text)),explode("\n",hsc($r_text)));
+ $df = new Diff(explode("\n",$l_text),explode("\n",$r_text));
if($type == 'inline'){
$tdf = new InlineDiffFormatter();
@@ -1205,6 +1207,18 @@ function html_diff($text='',$intro=true,$type=null){
?>
<div class="table">
<table class="diff diff_<?php echo $type?>">
+ <?php if ($type == 'inline') { ?>
+ <tr>
+ <th class="diff-lineheader">-</th><th <?php echo $l_minor?>>
+ <?php echo $l_head?>
+ </th>
+ </tr>
+ <tr>
+ <th class="diff-lineheader">+</th><th <?php echo $r_minor?>>
+ <?php echo $r_head?>
+ </th>
+ </tr>
+ <?php } else { ?>
<tr>
<th colspan="2" <?php echo $l_minor?>>
<?php echo $l_head?>
@@ -1213,7 +1227,8 @@ function html_diff($text='',$intro=true,$type=null){
<?php echo $r_head?>
</th>
</tr>
- <?php echo html_insert_softbreaks($tdf->format($df)); ?>
+ <?php }
+ echo html_insert_softbreaks($tdf->format($df)); ?>
</table>
</div>
<?php
@@ -1238,8 +1253,8 @@ function html_softbreak_callback($match){
&\#?\\w{1,6};) # ... for html entities - we don't want to split them (ok to catch some invalid combinations)
&\#?\\w{1,6}; # yes pattern - a quicker match for the html entity, since we know we have one
|
-[?/,&\#;:]+ # no pattern - any other group of 'special' characters to insert a breaking character after
-) # end conditional expression
+[?/,&\#;:] # no pattern - any other group of 'special' characters to insert a breaking character after
+)+ # end conditional expression
REGEX;
return preg_replace('<'.$regex.'>xu','\0&#8203;',$match[0]);
@@ -1636,11 +1651,16 @@ function html_admin(){
}
// data security check
- // @todo: could be checked and only displayed if $conf['savedir'] is under the web root
- echo '<a style="border:none; float:right;"
- href="http://www.dokuwiki.org/security#web_access_security">
- <img src="data/security.png" alt="Your data directory seems to be protected properly."
- onerror="this.parentNode.style.display=\'none\'" /></a>';
+ // simple check if the 'savedir' is relative and accessible when appended to DOKU_URL
+ // it verifies either:
+ // 'savedir' has been moved elsewhere, or
+ // has protection to prevent the webserver serving files from it
+ if (substr($conf['savedir'],0,2) == './'){
+ echo '<a style="border:none; float:right;"
+ href="http://www.dokuwiki.org/security#web_access_security">
+ <img src="'.DOKU_URL.$conf['savedir'].'/security.png" alt="Your data directory seems to be protected properly."
+ onerror="this.parentNode.style.display=\'none\'" /></a>';
+ }
print p_locale_xhtml('admin');
diff --git a/inc/httputils.php b/inc/httputils.php
index 4ba287eb5..d3f3cdde2 100644
--- a/inc/httputils.php
+++ b/inc/httputils.php
@@ -250,6 +250,11 @@ function http_cached_finish($file, $content) {
}
}
+/**
+ * Fetches raw, unparsed POST data
+ *
+ * @return string
+ */
function http_get_raw_post_data() {
static $postData = null;
if ($postData === null) {
@@ -257,3 +262,69 @@ function http_get_raw_post_data() {
}
return $postData;
}
+
+/**
+ * Set the HTTP response status and takes care of the used PHP SAPI
+ *
+ * Inspired by CodeIgniter's set_status_header function
+ *
+ * @param int $code
+ * @param string $text
+ */
+function http_status($code = 200, $text = '') {
+ static $stati = array(
+ 200 => 'OK',
+ 201 => 'Created',
+ 202 => 'Accepted',
+ 203 => 'Non-Authoritative Information',
+ 204 => 'No Content',
+ 205 => 'Reset Content',
+ 206 => 'Partial Content',
+
+ 300 => 'Multiple Choices',
+ 301 => 'Moved Permanently',
+ 302 => 'Found',
+ 304 => 'Not Modified',
+ 305 => 'Use Proxy',
+ 307 => 'Temporary Redirect',
+
+ 400 => 'Bad Request',
+ 401 => 'Unauthorized',
+ 403 => 'Forbidden',
+ 404 => 'Not Found',
+ 405 => 'Method Not Allowed',
+ 406 => 'Not Acceptable',
+ 407 => 'Proxy Authentication Required',
+ 408 => 'Request Timeout',
+ 409 => 'Conflict',
+ 410 => 'Gone',
+ 411 => 'Length Required',
+ 412 => 'Precondition Failed',
+ 413 => 'Request Entity Too Large',
+ 414 => 'Request-URI Too Long',
+ 415 => 'Unsupported Media Type',
+ 416 => 'Requested Range Not Satisfiable',
+ 417 => 'Expectation Failed',
+
+ 500 => 'Internal Server Error',
+ 501 => 'Not Implemented',
+ 502 => 'Bad Gateway',
+ 503 => 'Service Unavailable',
+ 504 => 'Gateway Timeout',
+ 505 => 'HTTP Version Not Supported'
+ );
+
+ if($text == '' && isset($stati[$code])) {
+ $text = $stati[$code];
+ }
+
+ $server_protocol = (isset($_SERVER['SERVER_PROTOCOL'])) ? $_SERVER['SERVER_PROTOCOL'] : false;
+
+ if(substr(php_sapi_name(), 0, 3) == 'cgi') {
+ header("Status: {$code} {$text}", true);
+ } elseif($server_protocol == 'HTTP/1.1' OR $server_protocol == 'HTTP/1.0') {
+ header($server_protocol." {$code} {$text}", true, $code);
+ } else {
+ header("HTTP/1.1 {$code} {$text}", true, $code);
+ }
+}
diff --git a/inc/io.php b/inc/io.php
index 5ecc79703..4bd7c3364 100644
--- a/inc/io.php
+++ b/inc/io.php
@@ -529,25 +529,6 @@ function io_rename($from,$to){
return true;
}
-
-/**
- * Runs an external command and returns its output as string
- *
- * @author Harry Brueckner <harry_b@eml.cc>
- * @author Andreas Gohr <andi@splitbrain.org>
- * @deprecated
- */
-function io_runcmd($cmd){
- $fh = popen($cmd, "r");
- if(!$fh) return false;
- $ret = '';
- while (!feof($fh)) {
- $ret .= fread($fh, 8192);
- }
- pclose($fh);
- return $ret;
-}
-
/**
* Runs an external command with input and output pipes.
* Returns the exit code from the process.
diff --git a/inc/lang/af/lang.php b/inc/lang/af/lang.php
index 6de891a63..ab8e5177b 100644
--- a/inc/lang/af/lang.php
+++ b/inc/lang/af/lang.php
@@ -55,7 +55,7 @@ $lang['current'] = 'huidige';
$lang['line'] = 'Streak';
$lang['youarehere'] = 'Jy is hier';
$lang['by'] = 'by';
-$lang['restored'] = 'Het terug gegaan na vroeëre weergawe';
+$lang['restored'] = 'Het terug gegaan na vroeëre weergawe (%s)';
$lang['summary'] = 'Voorskou';
$lang['qb_bold'] = 'Vetdruk';
$lang['qb_italic'] = 'Skuinsdruk';
diff --git a/inc/lang/ar/lang.php b/inc/lang/ar/lang.php
index 4928b3dbd..5b72e0a51 100644
--- a/inc/lang/ar/lang.php
+++ b/inc/lang/ar/lang.php
@@ -181,7 +181,7 @@ $lang['lastmod'] = 'آخر تعديل';
$lang['by'] = 'بواسطة';
$lang['deleted'] = 'حذفت';
$lang['created'] = 'اُنشئت';
-$lang['restored'] = 'استعيدت نسخة قديمة';
+$lang['restored'] = 'استعيدت نسخة قديمة (%s)';
$lang['external_edit'] = 'تحرير خارجي';
$lang['summary'] = 'ملخص التحرير';
$lang['noflash'] = 'تحتاج إلى<a href="http://www.adobe.com/products/flashplayer/">ملحق فلاش أدوبي</a> لعرض هذا المحتوى.';
@@ -258,8 +258,6 @@ $lang['subscr_m_unsubscribe'] = 'ألغ الاشتراك';
$lang['subscr_m_subscribe'] = 'اشترك';
$lang['subscr_m_receive'] = 'استقبال';
$lang['subscr_style_every'] = 'بريدا على كل تغيير';
-$lang['subscr_style_digest'] = 'بريد ملخص عن تغييرات كل صفحة';
-$lang['subscr_style_list'] = 'قائمة بالصفحات المتغيرة منذ آخر بريد';
$lang['authmodfailed'] = 'إعدادات تصريح فاسدة، يرجى مراسلة المدير.';
$lang['authtempfail'] = 'تصريح المشترك غير متوفر مؤقتاً، إن استمرت هذه الحالة يرجى مراسلة المدير';
$lang['authpwdexpire'] = 'ستنتهي صلاحية كلمة السر في %d . عليك بتغييرها سريعا.';
diff --git a/inc/lang/az/lang.php b/inc/lang/az/lang.php
index 6df15a83e..5084d9f60 100644
--- a/inc/lang/az/lang.php
+++ b/inc/lang/az/lang.php
@@ -136,7 +136,7 @@ $lang['lastmod'] = 'Son dəyişiklər';
$lang['by'] = ' Kimdən';
$lang['deleted'] = 'silinib';
$lang['created'] = 'yaranıb';
-$lang['restored'] = 'köhnə versiya qaytarıldı';
+$lang['restored'] = 'köhnə versiya qaytarıldı (%s)';
$lang['external_edit'] = 'bayırdan dəyişik';
$lang['summary'] = 'Dəyişiklər xülasəsi';
$lang['noflash'] = 'Bu məzmuna baxmaq üçün <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> tələb olunur.';
diff --git a/inc/lang/bg/lang.php b/inc/lang/bg/lang.php
index 47d83c62f..3c0a17a72 100644
--- a/inc/lang/bg/lang.php
+++ b/inc/lang/bg/lang.php
@@ -190,7 +190,7 @@ $lang['lastmod'] = 'Последна промяна';
$lang['by'] = 'от';
$lang['deleted'] = 'изтрита';
$lang['created'] = 'създадена';
-$lang['restored'] = 'възстановена предишна версия';
+$lang['restored'] = 'възстановена предишна версия (%s)';
$lang['external_edit'] = 'външна редакция';
$lang['summary'] = 'Обобщение';
$lang['noflash'] = 'Необходим е <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> за изобразяване на съдържанието.';
diff --git a/inc/lang/ca-valencia/lang.php b/inc/lang/ca-valencia/lang.php
index 532f6c73d..6e7438f53 100644
--- a/inc/lang/ca-valencia/lang.php
+++ b/inc/lang/ca-valencia/lang.php
@@ -137,7 +137,7 @@ $lang['lastmod'] = 'Última modificació el';
$lang['by'] = 'per';
$lang['deleted'] = 'borrat';
$lang['created'] = 'creat';
-$lang['restored'] = 'restaurada l\'última versió';
+$lang['restored'] = 'restaurada l\'última versió (%s)';
$lang['external_edit'] = 'edició externa';
$lang['summary'] = 'Editar sumari';
$lang['noflash'] = 'Necessita el <a href="http://www.adobe.com/products/flashplayer/">plúgin d\'Adobe Flash</a> per a vore este contingut.';
diff --git a/inc/lang/ca/lang.php b/inc/lang/ca/lang.php
index cb2b64686..a429dc06a 100644
--- a/inc/lang/ca/lang.php
+++ b/inc/lang/ca/lang.php
@@ -180,7 +180,7 @@ $lang['lastmod'] = 'Darrera modificació';
$lang['by'] = 'per';
$lang['deleted'] = 'suprimit';
$lang['created'] = 'creat';
-$lang['restored'] = 's\'ha restaurat una versió anterior';
+$lang['restored'] = 's\'ha restaurat una versió anterior %s';
$lang['external_edit'] = 'edició externa';
$lang['summary'] = 'Resum d\'edició';
$lang['noflash'] = 'Per a visualitzar aquest contingut necessiteu el <a href="http://www.adobe.com/products/flashplayer/">connector d\'Adobe Flash</a>.';
diff --git a/inc/lang/cs/lang.php b/inc/lang/cs/lang.php
index af94424ac..f0b8f3ba4 100644
--- a/inc/lang/cs/lang.php
+++ b/inc/lang/cs/lang.php
@@ -188,7 +188,7 @@ $lang['lastmod'] = 'Poslední úprava';
$lang['by'] = 'autor:';
$lang['deleted'] = 'odstraněno';
$lang['created'] = 'vytvořeno';
-$lang['restored'] = 'stará verze byla obnovena';
+$lang['restored'] = 'stará verze byla obnovena (%s)';
$lang['external_edit'] = 'upraveno mimo DokuWiki';
$lang['summary'] = 'Komentář k úpravám';
$lang['noflash'] = 'Pro přehrání obsahu potřebujete <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a>.';
diff --git a/inc/lang/da/lang.php b/inc/lang/da/lang.php
index f132c133b..022de8127 100644
--- a/inc/lang/da/lang.php
+++ b/inc/lang/da/lang.php
@@ -188,7 +188,7 @@ $lang['lastmod'] = 'Sidst ændret';
$lang['by'] = 'af';
$lang['deleted'] = 'slettet';
$lang['created'] = 'oprettet';
-$lang['restored'] = 'gammel udgave reetableret';
+$lang['restored'] = 'gammel udgave reetableret (%s)';
$lang['external_edit'] = 'ekstern redigering';
$lang['summary'] = 'Redigerings resumé';
$lang['noflash'] = 'Den <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> er nødvendig til at vise denne indehold.';
diff --git a/inc/lang/el/lang.php b/inc/lang/el/lang.php
index 55b70074f..0fe343026 100644
--- a/inc/lang/el/lang.php
+++ b/inc/lang/el/lang.php
@@ -148,7 +148,6 @@ $lang['uploadsucc'] = 'Επιτυχής φόρτωση';
$lang['uploadfail'] = 'Η μεταφόρτωση απέτυχε. Πιθανόν αυτό να οφείλεται στις ρυθμίσεις πρόσβασης του αρχείου.';
$lang['uploadwrong'] = 'Η μεταφόρτωση δεν έγινε δεκτή. Δεν επιτρέπονται αρχεία αυτού του τύπου!';
$lang['uploadexist'] = 'Το αρχείο ήδη υπάρχει. Δεν έγινε καμία αλλαγή.';
-$lang['uploadbadcontent'] = 'Το περιεχόμενο του αρχείου δεν ταιριάζει με την επέκτασή του.';
$lang['uploadspam'] = 'Η μεταφόρτωση ακυρώθηκε από το φίλτρο spam.';
$lang['uploadxss'] = 'Η μεταφόρτωση ακυρώθηκε λόγω πιθανού επικίνδυνου περιεχομένου.';
$lang['uploadsize'] = 'Το αρχείο ήταν πολύ μεγάλο. (μέγιστο %s)';
@@ -184,7 +183,7 @@ $lang['lastmod'] = 'Τελευταία τροποποίηση';
$lang['by'] = 'από';
$lang['deleted'] = 'διαγράφηκε';
$lang['created'] = 'δημιουργήθηκε';
-$lang['restored'] = 'παλαιότερη έκδοση επαναφέρθηκε';
+$lang['restored'] = 'παλαιότερη έκδοση επαναφέρθηκε (%s)';
$lang['external_edit'] = 'εξωτερική τροποποίηση';
$lang['summary'] = 'Επεξεργασία σύνοψης';
$lang['noflash'] = 'Το <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> απαιτείται για την προβολή αυτού του στοιχείου.';
@@ -314,8 +313,7 @@ $lang['media_upload'] = 'Φόρτωση στο <strong>%s</strong> φά
$lang['media_search'] = 'Αναζήτηση στο <strong>%s</strong> φάκελο.';
$lang['media_view'] = '%s';
$lang['media_viewold'] = '%s στα %s';
-$lang['media_edit'] = 'Επεξεργασία';
-$lang['media_history'] = 'Αυτές είναι οι παλαιότερες αναθεωρήσεις του αρχείου.';
+$lang['media_edit'] = 'Επεξεργασία %s';
$lang['media_meta_edited'] = 'τα μεταδεδομένα επεξεργάστηκαν';
$lang['media_perm_read'] = 'Συγνώμη, δεν έχετε επαρκή διακαιώματα για να διαβάσετε αυτά τα αρχεία.';
$lang['media_perm_upload'] = 'Συγνώμη, δεν έχετε επαρκή διακαιώματα για να φορτώσετε αυτά τα αρχεία.';
diff --git a/inc/lang/eo/lang.php b/inc/lang/eo/lang.php
index 1c3b6f519..2d9b03148 100644
--- a/inc/lang/eo/lang.php
+++ b/inc/lang/eo/lang.php
@@ -184,7 +184,7 @@ $lang['lastmod'] = 'Lastaj ŝanĝoj';
$lang['by'] = 'de';
$lang['deleted'] = 'forigita';
$lang['created'] = 'kreita';
-$lang['restored'] = 'malnova revizio restarigita';
+$lang['restored'] = 'malnova revizio restarigita (%s)';
$lang['external_edit'] = 'ekstera redakto';
$lang['summary'] = 'Bulteno de ŝanĝoj';
$lang['noflash'] = 'La <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> necesas por montri tiun ĉi enhavon.';
diff --git a/inc/lang/es/lang.php b/inc/lang/es/lang.php
index 20d0284bc..193ec9a7d 100644
--- a/inc/lang/es/lang.php
+++ b/inc/lang/es/lang.php
@@ -203,7 +203,7 @@ $lang['lastmod'] = 'Última modificación';
$lang['by'] = 'por';
$lang['deleted'] = 'borrado';
$lang['created'] = 'creado';
-$lang['restored'] = 'se ha restaurado la vieja versión';
+$lang['restored'] = 'se ha restaurado la vieja versión (%s)';
$lang['external_edit'] = 'editor externo';
$lang['summary'] = 'Resumen de la edición';
$lang['noflash'] = 'Para mostrar este contenido es necesario el <a href="http://www.adobe.com/products/flashplayer/">Plugin Adobe Flash</a>.';
@@ -280,8 +280,6 @@ $lang['subscr_m_unsubscribe'] = 'Darse de baja';
$lang['subscr_m_subscribe'] = 'Suscribirse';
$lang['subscr_m_receive'] = 'Recibir';
$lang['subscr_style_every'] = 'enviar correo en cada cambio';
-$lang['subscr_style_digest'] = 'recopilar correo de cambios por cada página';
-$lang['subscr_style_list'] = 'lista de páginas con cambios desde el último correo';
$lang['authmodfailed'] = 'Está mal configurada la autenticación de usuarios. Por favor, avisa al administrador del wiki.';
$lang['authtempfail'] = 'La autenticación de usuarios no está disponible temporalmente. Si esta situación persiste, por favor avisa al administrador del wiki.';
$lang['authpwdexpire'] = 'Su contraseña caducara en %d días, debería cambiarla lo antes posible';
diff --git a/inc/lang/et/lang.php b/inc/lang/et/lang.php
index 8ae61558a..0a0310832 100644
--- a/inc/lang/et/lang.php
+++ b/inc/lang/et/lang.php
@@ -163,7 +163,7 @@ $lang['lastmod'] = 'Viimati muutnud';
$lang['by'] = 'persoon';
$lang['deleted'] = 'eemaldatud';
$lang['created'] = 'tekitatud';
-$lang['restored'] = 'vana versioon taastatud';
+$lang['restored'] = 'vana versioon taastatud (%s)';
$lang['external_edit'] = 'väline muutmine';
$lang['summary'] = 'kokkuvõte muudatustest';
$lang['mail_newpage'] = 'leht lisatud:';
diff --git a/inc/lang/eu/lang.php b/inc/lang/eu/lang.php
index 5b03dcb97..7aab8b44c 100644
--- a/inc/lang/eu/lang.php
+++ b/inc/lang/eu/lang.php
@@ -178,7 +178,7 @@ $lang['lastmod'] = 'Azken aldaketa';
$lang['by'] = 'egilea:';
$lang['deleted'] = 'ezabatua';
$lang['created'] = 'sortua';
-$lang['restored'] = 'bertsio zaharra berrezarria';
+$lang['restored'] = 'bertsio zaharra berrezarria (%s)';
$lang['external_edit'] = 'kanpoko aldaketa';
$lang['summary'] = 'Aldatu laburpena';
$lang['noflash'] = '<a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> beharrezkoa da eduki hau bistaratzeko.';
diff --git a/inc/lang/fa/lang.php b/inc/lang/fa/lang.php
index 026d6499a..eb828a472 100644
--- a/inc/lang/fa/lang.php
+++ b/inc/lang/fa/lang.php
@@ -189,7 +189,7 @@ $lang['lastmod'] = 'آخرین ویرایش';
$lang['by'] = 'توسط';
$lang['deleted'] = 'حذف شد';
$lang['created'] = 'ایجاد شد';
-$lang['restored'] = 'یک نگارش پیشین واگردانی شد.';
+$lang['restored'] = 'یک نگارش پیشین واگردانی شد. (%s)';
$lang['external_edit'] = 'ویرایش خارجی';
$lang['summary'] = 'پیش‌نمایش';
$lang['noflash'] = 'برای نمایش محتویات <a href="http://www.adobe.com/products/flashplayer/">افزونه‌ی فلش</a> مورد نیاز است.';
@@ -266,8 +266,6 @@ $lang['subscr_m_unsubscribe'] = 'لغو آبونه';
$lang['subscr_m_subscribe'] = 'آبونه شدن';
$lang['subscr_m_receive'] = 'دریافت کردن';
$lang['subscr_style_every'] = 'ارسال رای‌نامه در تمامی تغییرات';
-$lang['subscr_style_digest'] = 'ارسال ایمیل‌های فشرده برای تغییرات هر صفحه';
-$lang['subscr_style_list'] = 'لیست صفحات تغییر داده شده از آخرین رای‌نامه';
$lang['authmodfailed'] = 'اشکال در نوع معتبرسازی کاربران، مدیر ویکی را باخبر سازید.';
$lang['authtempfail'] = 'معتبرسازی کابران موقتن مسدود می‌باشد. اگر این حالت پایدار بود، مدیر ویکی را باخبر سازید.';
$lang['authpwdexpire'] = 'کلمه عبور شما در %d روز منقضی خواهد شد ، شما باید آن را زود تغییر دهید';
diff --git a/inc/lang/fi/lang.php b/inc/lang/fi/lang.php
index 73eb3d4cc..59e4dc6cb 100644
--- a/inc/lang/fi/lang.php
+++ b/inc/lang/fi/lang.php
@@ -183,7 +183,7 @@ $lang['lastmod'] = 'Viimeksi muutettu';
$lang['by'] = '/';
$lang['deleted'] = 'poistettu';
$lang['created'] = 'luotu';
-$lang['restored'] = 'vanha versio palautettu';
+$lang['restored'] = 'vanha versio palautettu (%s)';
$lang['external_edit'] = 'ulkoinen muokkaus';
$lang['summary'] = 'Yhteenveto muokkauksesta';
$lang['noflash'] = 'Tarvitset <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash-liitännäisen</a> nähdäksesi tämän sisällön.';
diff --git a/inc/lang/fo/lang.php b/inc/lang/fo/lang.php
index 14ec8c56b..9f51824db 100644
--- a/inc/lang/fo/lang.php
+++ b/inc/lang/fo/lang.php
@@ -130,7 +130,7 @@ $lang['lastmod'] = 'Seinast broytt';
$lang['by'] = 'av';
$lang['deleted'] = 'strika';
$lang['created'] = 'stovna';
-$lang['restored'] = 'gomul útgáva endurstovna';
+$lang['restored'] = 'gomul útgáva endurstovna (%s)';
$lang['summary'] = 'Samandráttur';
$lang['mail_newpage'] = 'skjal skoyta uppí:';
$lang['mail_changed'] = 'skjal broytt:';
diff --git a/inc/lang/gl/lang.php b/inc/lang/gl/lang.php
index 7cc06a833..fa49c1121 100644
--- a/inc/lang/gl/lang.php
+++ b/inc/lang/gl/lang.php
@@ -181,7 +181,7 @@ $lang['lastmod'] = 'Última modificación';
$lang['by'] = 'por';
$lang['deleted'] = 'eliminado';
$lang['created'] = 'creado';
-$lang['restored'] = 'revisión antiga restaurada';
+$lang['restored'] = 'revisión antiga restaurada (%s)';
$lang['external_edit'] = 'edición externa';
$lang['summary'] = 'Resumo da edición';
$lang['noflash'] = 'Precísase o <a href="http://www.adobe.com/products/flashplayer/">Extensión Adobe Flash</a> para amosar este contido.';
@@ -258,8 +258,6 @@ $lang['subscr_m_unsubscribe'] = 'Desubscribir';
$lang['subscr_m_subscribe'] = 'Subscribir';
$lang['subscr_m_receive'] = 'Recibir';
$lang['subscr_style_every'] = 'correo-e en cada troco';
-$lang['subscr_style_digest'] = 'correo-e con resumo de trocos para cada páxina';
-$lang['subscr_style_list'] = 'lista de páxinas mudadas dende o último correo-e';
$lang['authmodfailed'] = 'Configuración de autenticación de usuario incorrecta. Por favor, informa ao Administrador do teu Wiki.';
$lang['authtempfail'] = 'A autenticación de usuario non está dispoñible de xeito temporal. De persistir esta situación, por favor, informa ao Administrador do teu Wiki.';
$lang['authpwdexpire'] = 'A túa contrasinal expirará en %d días, deberías cambiala pronto.';
diff --git a/inc/lang/he/lang.php b/inc/lang/he/lang.php
index e474501ae..4853a0e2b 100644
--- a/inc/lang/he/lang.php
+++ b/inc/lang/he/lang.php
@@ -165,7 +165,7 @@ $lang['lastmod'] = 'מועד השינוי האחרון';
$lang['by'] = 'על ידי';
$lang['deleted'] = 'נמחק';
$lang['created'] = 'נוצר';
-$lang['restored'] = 'שוחזר';
+$lang['restored'] = 'שוחזר (%s)';
$lang['external_edit'] = 'עריכה חיצונית';
$lang['summary'] = 'תקציר העריכה';
$lang['noflash'] = '<a href="http://www.adobe.com/products/flashplayer/">תוסף פלאש לדפדפן</a> נדרש כדי להציג תוכן זה.';
@@ -243,7 +243,6 @@ $lang['i_modified'] = 'משיקולי אבטחה סקריפט זה י
עליך לחלץ שנית את הקבצים מהחבילה שהורדה או להיעזר בדף
<a href="http://dokuwiki.org/install">Dokuwiki installation instructions</a>';
$lang['i_funcna'] = 'פונקציית ה-PHP&rlm; <code>%s</code> אינה זמינה. יתכן כי מארח האתר חסם אותה מסיבה כלשהי?';
-$lang['i_phpver'] = 'גרסת ה־PHP שלך <code>%s</code> נמוכה מהדרוש. עליך לשדרג את התקנת ה־PHP שלך.';
$lang['i_permfail'] = '<code>%s</code> אינה ניתנת לכתיבה על ידי DokuWiki. עליך לשנות הרשאות תיקייה זו!';
$lang['i_confexists'] = '<code>%s</code> כבר קיים';
$lang['i_writeerr'] = 'אין אפשרות ליצור את <code>%s</code>. נא לבדוק את הרשאות הקובץ/תיקייה וליצור את הקובץ ידנית.';
diff --git a/inc/lang/hi/lang.php b/inc/lang/hi/lang.php
index 893457066..d2021fcae 100644
--- a/inc/lang/hi/lang.php
+++ b/inc/lang/hi/lang.php
@@ -84,7 +84,6 @@ $lang['lastmod'] = 'अंतिम बार संशोधि
$lang['by'] = 'के द्वारा';
$lang['deleted'] = 'हटाया';
$lang['created'] = 'निर्मित';
-$lang['restored'] = 'पुराने संशोधन बहाल';
$lang['external_edit'] = 'बाह्य सम्पादित';
$lang['summary'] = 'सारांश संपादित करें';
$lang['mail_newpage'] = 'पृष्ठ जोड़ा:';
diff --git a/inc/lang/hr/lang.php b/inc/lang/hr/lang.php
index 97f4cf0c2..a607210d7 100644
--- a/inc/lang/hr/lang.php
+++ b/inc/lang/hr/lang.php
@@ -165,7 +165,7 @@ $lang['lastmod'] = 'Zadnja izmjena';
$lang['by'] = 'od';
$lang['deleted'] = 'obrisano';
$lang['created'] = 'stvoreno';
-$lang['restored'] = 'vraćena prijašnja inačica';
+$lang['restored'] = 'vraćena prijašnja inačica (%s)';
$lang['external_edit'] = 'vanjsko uređivanje';
$lang['summary'] = 'Sažetak izmjena';
$lang['noflash'] = 'Za prikazivanje ovog sadržaja potreban je <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a>';
diff --git a/inc/lang/hu/lang.php b/inc/lang/hu/lang.php
index c59cace77..275fb15d5 100644
--- a/inc/lang/hu/lang.php
+++ b/inc/lang/hu/lang.php
@@ -169,7 +169,7 @@ $lang['lastmod'] = 'Utolsó módosítás';
$lang['by'] = 'szerkesztette:';
$lang['deleted'] = 'eltávolítva';
$lang['created'] = 'létrehozva';
-$lang['restored'] = 'az előző változat helyreállítva';
+$lang['restored'] = 'az előző változat helyreállítva (%s)';
$lang['external_edit'] = 'külső szerkesztés';
$lang['summary'] = 'A változások összefoglalása';
$lang['noflash'] = 'Ennek a tartalomnak a megtekintéséhez <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> szükséges.';
diff --git a/inc/lang/ia/lang.php b/inc/lang/ia/lang.php
index a9d5c376c..fd63fb5ef 100644
--- a/inc/lang/ia/lang.php
+++ b/inc/lang/ia/lang.php
@@ -163,7 +163,7 @@ $lang['lastmod'] = 'Ultime modification';
$lang['by'] = 'per';
$lang['deleted'] = 'removite';
$lang['created'] = 'create';
-$lang['restored'] = 'ancian version restaurate';
+$lang['restored'] = 'ancian version restaurate (%s)';
$lang['external_edit'] = 'modification externe';
$lang['summary'] = 'Modificar summario';
$lang['noflash'] = 'Le <a href="http://www.adobe.com/products/flashplayer/">plug-in Flash de Adobe</a> es necessari pro monstrar iste contento.';
@@ -227,8 +227,6 @@ $lang['subscr_m_unsubscribe'] = 'Cancellar subscription';
$lang['subscr_m_subscribe'] = 'Subscriber';
$lang['subscr_m_receive'] = 'Reciper';
$lang['subscr_style_every'] = 'un message pro cata modification';
-$lang['subscr_style_digest'] = 'un digesto de modificationes pro cata pagina';
-$lang['subscr_style_list'] = 'lista de paginas modificate depost le ultime e-mail';
$lang['authmodfailed'] = 'Configuration incorrecte de authentication de usator. Per favor informa le administrator de tu wiki.';
$lang['authtempfail'] = 'Le authentication de usator temporarimente non es disponibile. Si iste situation persiste, per favor informa le administrator de tu wiki.';
$lang['i_chooselang'] = 'Selige tu lingua';
diff --git a/inc/lang/id/lang.php b/inc/lang/id/lang.php
index 91ed38e31..e14b9d9f5 100644
--- a/inc/lang/id/lang.php
+++ b/inc/lang/id/lang.php
@@ -125,7 +125,7 @@ $lang['lastmod'] = 'Terakhir diubah';
$lang['by'] = 'oleh';
$lang['deleted'] = 'terhapus';
$lang['created'] = 'dibuat';
-$lang['restored'] = 'revisi lama ditampilkan kembali';
+$lang['restored'] = 'revisi lama ditampilkan kembali (%s)';
$lang['external_edit'] = 'Perubahan eksternal';
$lang['summary'] = 'Edit summary';
$lang['mail_newpage'] = 'Halaman ditambahkan:';
diff --git a/inc/lang/is/lang.php b/inc/lang/is/lang.php
index be20da6b3..78ae7e249 100644
--- a/inc/lang/is/lang.php
+++ b/inc/lang/is/lang.php
@@ -134,7 +134,7 @@ $lang['lastmod'] = 'Síðast breytt';
$lang['by'] = 'af';
$lang['deleted'] = 'eytt';
$lang['created'] = 'myndað';
-$lang['restored'] = 'Breytt aftur til fyrri útgáfu';
+$lang['restored'] = 'Breytt aftur til fyrri útgáfu (%s)';
$lang['external_edit'] = 'utanaðkomandi breyta';
$lang['summary'] = 'Forskoða';
$lang['noflash'] = 'Það þarf <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash viðbót</a> til að sýna sumt efnið á þessari síðu';
diff --git a/inc/lang/it/lang.php b/inc/lang/it/lang.php
index 1ad5ae1bb..92bf5fea8 100644
--- a/inc/lang/it/lang.php
+++ b/inc/lang/it/lang.php
@@ -187,7 +187,7 @@ $lang['lastmod'] = 'Ultima modifica';
$lang['by'] = 'da';
$lang['deleted'] = 'eliminata';
$lang['created'] = 'creata';
-$lang['restored'] = 'versione precedente ripristinata';
+$lang['restored'] = 'versione precedente ripristinata (%s)';
$lang['external_edit'] = 'modifica esterna';
$lang['summary'] = 'Oggetto della modifica';
$lang['noflash'] = 'E\' necessario <a href="http://www.adobe.com/products/flashplayer/">il plugin Adobe Flash</a> per visualizzare questo contenuto.';
@@ -205,6 +205,7 @@ $lang['mail_new_user'] = 'nuovo utente:';
$lang['mail_upload'] = 'file caricato:';
$lang['changes_type'] = 'Guarda cambiamenti di';
$lang['pages_changes'] = 'Pagine';
+$lang['media_changes'] = 'File multimediali';
$lang['both_changes'] = 'Sia pagine che media files';
$lang['qb_bold'] = 'Grassetto';
$lang['qb_italic'] = 'Corsivo';
@@ -263,8 +264,8 @@ $lang['subscr_m_unsubscribe'] = 'Rimuovi sottoscrizione';
$lang['subscr_m_subscribe'] = 'Sottoscrivi';
$lang['subscr_m_receive'] = 'Ricevi';
$lang['subscr_style_every'] = 'email per ogni modifica';
-$lang['subscr_style_digest'] = 'email riassuntiva delle modifiche di ogni pagina';
-$lang['subscr_style_list'] = 'elenco delle pagine modificate dall\'ultima email';
+$lang['subscr_style_digest'] = 'email di riassunto dei cambiamenti per ogni pagina (ogni %.2f giorni)';
+$lang['subscr_style_list'] = 'lista delle pagine cambiate dall\'ultima email (ogni %.2f giorni)';
$lang['authmodfailed'] = 'La configurazione dell\'autenticazione non è corretta. Informa l\'amministratore di questo wiki.';
$lang['authtempfail'] = 'L\'autenticazione è temporaneamente non disponibile. Se questa situazione persiste, informa l\'amministratore di questo wiki.';
$lang['authpwdexpire'] = 'La tua password scadrà in %d giorni, dovresti cambiarla quanto prima.';
@@ -292,6 +293,9 @@ $lang['i_pol1'] = 'Wiki Pubblico (lettura per tutti, scrittura e
$lang['i_pol2'] = 'Wiki Chiuso (lettura, scrittura, caricamento file solamente per gli utenti registrati)';
$lang['i_retry'] = 'Riprova';
$lang['i_license'] = 'Per favore scegli la licenza sotto cui vuoi rilasciare il contenuto:';
+$lang['i_license_none'] = 'Non mostrare informazioni sulla licenza';
+$lang['i_pop_field'] = 'Per favore, aiutaci ad incrementare la conoscenza di DokuWiki:';
+$lang['i_pop_label'] = 'Mensilmente invia una statistica d\'uso anonima di DokuWiki agli sviluppatori';
$lang['recent_global'] = 'Stai attualmente vedendo le modifiche effettuate nell\'area <b>%s</b>. Puoi anche <a href="%s">vedere le modifiche recenti dell\'intero wiki</a>.';
$lang['years'] = '%d anni fa';
$lang['months'] = '%d mesi fa';
@@ -316,8 +320,10 @@ $lang['media_files'] = 'File in %s';
$lang['media_upload'] = 'Upload al %s';
$lang['media_search'] = 'Cerca in %s';
$lang['media_view'] = '%s';
+$lang['media_viewold'] = '%s a %s';
$lang['media_edit'] = 'Modifica %s';
$lang['media_history'] = 'Storia di %s';
+$lang['media_meta_edited'] = 'metadata modificati';
$lang['media_perm_read'] = 'Spiacente, non hai abbastanza privilegi per leggere i files.';
$lang['media_perm_upload'] = 'Spiacente, non hai abbastanza privilegi per caricare files.';
$lang['media_update'] = 'Carica nuova versione';
diff --git a/inc/lang/ja/lang.php b/inc/lang/ja/lang.php
index 66de0dab5..7997889e4 100644
--- a/inc/lang/ja/lang.php
+++ b/inc/lang/ja/lang.php
@@ -181,7 +181,7 @@ $lang['lastmod'] = '最終更新';
$lang['by'] = 'by';
$lang['deleted'] = '削除';
$lang['created'] = '作成';
-$lang['restored'] = '以前のバージョンを復元';
+$lang['restored'] = '以前のバージョンを復元 (%s)';
$lang['external_edit'] = '外部編集';
$lang['summary'] = '編集の概要';
$lang['noflash'] = 'この内容を表示するためには <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> が必要です。';
diff --git a/inc/lang/km/lang.php b/inc/lang/km/lang.php
index 6a5fa223f..85bb6afba 100644
--- a/inc/lang/km/lang.php
+++ b/inc/lang/km/lang.php
@@ -132,7 +132,6 @@ $lang['lastmod'] = 'ពេលកែចុងក្រោយ';
$lang['by'] = 'និពន្ឋដោយ';
$lang['deleted'] = 'យកចេញ';
$lang['created'] = 'បង្កើត';
-$lang['restored'] = 'ស្ដារបុនរាព្រឹតចាស់';
$lang['external_edit'] = 'កំរេពីក្រៅ';
$lang['summary'] = 'កែតម្រា';
@@ -207,7 +206,6 @@ $lang['i_superuser'] = 'អ្នកកំពូល';
$lang['i_problems'] = 'កម្មវិធី​ដំឡើងបានប៉ះឧបសគ្គ។ អ្នកមិនអាចបន្តទៅទៀត ដល់អ្នកជួសជុលវា។';
$lang['i_modified'] = '';
$lang['i_funcna'] = '<code>%s</code> ';
-$lang['i_phpver'] = 'PHP ប្រវត់លេខ<code>%s</code> ជា';
$lang['i_permfail'] = '<code>%s</code> មិនអាចសាស';
$lang['i_confexists'] = '<code>%s</code> មានហាយ';
$lang['i_writeerr'] = 'មិនអាចបណ្កើ<code>%s</code>។ អ្នកត្រវការពិនិត្យអធិក្រឹតិរបស់ថតនឹងឯកសារ។';
diff --git a/inc/lang/ku/lang.php b/inc/lang/ku/lang.php
index 63ccafa35..c9d658c6d 100644
--- a/inc/lang/ku/lang.php
+++ b/inc/lang/ku/lang.php
@@ -95,7 +95,7 @@ $lang['lastmod'] = 'Guherandina dawî';
$lang['by'] = 'by';
$lang['deleted'] = 'hat jê birin';
$lang['created'] = 'hat afirandin';
-$lang['restored'] = 'old revision restored';
+$lang['restored'] = 'old revision restored (%s)';
$lang['summary'] = 'Kurteya guhartinê';
$lang['mail_newpage'] = 'page added:';
diff --git a/inc/lang/la/lang.php b/inc/lang/la/lang.php
index 77fec8362..bea921abc 100644
--- a/inc/lang/la/lang.php
+++ b/inc/lang/la/lang.php
@@ -131,7 +131,6 @@ $lang['uploadsucc'] = 'Oneratum perfectum';
$lang['uploadfail'] = 'Error onerandi.';
$lang['uploadwrong'] = 'Onerare non potest. Genus documenti non legitimum!';
$lang['uploadexist'] = 'Documentum iam est.';
-$lang['uploadbadcontent'] = 'Documentum oneratum cum genere documenti non congruit.';
$lang['uploadspam'] = 'Onerare non potest: nam in indice perscriptionis documentum est.';
$lang['uploadxss'] = 'Onerare non potest: nam forsitan malum scriptum in documento est.';
$lang['uploadsize'] = 'Documentum onerandum ponderosius est. (Maxime "%s")';
@@ -164,7 +163,7 @@ $lang['lastmod'] = 'Extrema mutatio';
$lang['by'] = 'a(b)';
$lang['deleted'] = 'deletur';
$lang['created'] = 'creatur';
-$lang['restored'] = 'Recensio uetus restituta';
+$lang['restored'] = 'Recensio uetus restituta (%s)';
$lang['external_edit'] = 'Externe recensere';
$lang['summary'] = 'Indicem recensere';
$lang['noflash'] = '<a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> necessarium est.';
@@ -254,7 +253,6 @@ $lang['i_pol1'] = 'Publicus uicis (omnes legere, Sodales scribere
$lang['i_pol2'] = 'Clausus uicis (Soli Sodales legere scribere et onerare poccunt)';
$lang['i_retry'] = 'Rursum temptas';
$lang['i_license'] = 'Elige facultatem sub qua tuus uicis est:';
-$lang['recent_global'] = 'Mutatione in hoc genere uides. Recentiores mutationes quoque uidere <a href="%s">potes</a>';
$lang['years'] = 'ab annis %d';
$lang['months'] = 'a mensibus %d';
$lang['weeks'] = 'a septimanis %d';
diff --git a/inc/lang/lb/lang.php b/inc/lang/lb/lang.php
index e6409b7ff..bced5a50a 100644
--- a/inc/lang/lb/lang.php
+++ b/inc/lang/lb/lang.php
@@ -124,7 +124,7 @@ $lang['lastmod'] = 'Fir d\'lescht g\'ännert';
$lang['by'] = 'vun';
$lang['deleted'] = 'geläscht';
$lang['created'] = 'erstallt';
-$lang['restored'] = 'al Versioun zeréckgeholl';
+$lang['restored'] = 'al Versioun zeréckgeholl (%s)';
$lang['external_edit'] = 'extern Ännerung';
$lang['summary'] = 'Resumé vun den Ännerungen';
$lang['noflash'] = 'Den <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> get gebraucht fir dësen Inhalt unzeweisen.';
diff --git a/inc/lang/lt/lang.php b/inc/lang/lt/lang.php
index 13ff8c305..8a4c4e6a5 100644
--- a/inc/lang/lt/lang.php
+++ b/inc/lang/lt/lang.php
@@ -132,7 +132,7 @@ $lang['lastmod'] = 'Keista';
$lang['by'] = 'vartotojo';
$lang['deleted'] = 'ištrintas';
$lang['created'] = 'sukurtas';
-$lang['restored'] = 'atstatyta sena versija';
+$lang['restored'] = 'atstatyta sena versija (%s)';
$lang['external_edit'] = 'redaguoti papildomomis priemonėmis';
$lang['summary'] = 'Redaguoti santrauką';
$lang['noflash'] = '<a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> reikalingas šios medžiagos peržiūrai.';
diff --git a/inc/lang/lv/lang.php b/inc/lang/lv/lang.php
index 671e5f52a..2027b87ba 100644
--- a/inc/lang/lv/lang.php
+++ b/inc/lang/lv/lang.php
@@ -178,7 +178,7 @@ $lang['lastmod'] = 'Labota';
$lang['by'] = ', labojis';
$lang['deleted'] = 'dzēsts';
$lang['created'] = 'izveidots';
-$lang['restored'] = 'vecā versija atjaunota';
+$lang['restored'] = 'vecā versija atjaunota (%s)';
$lang['external_edit'] = 'ārpussistēmas labojums';
$lang['summary'] = 'Anotācija';
$lang['noflash'] = 'Lai attēlotu lapas saturu, vajag <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a>.';
diff --git a/inc/lang/mg/lang.php b/inc/lang/mg/lang.php
index 4142f00d0..95589ab21 100644
--- a/inc/lang/mg/lang.php
+++ b/inc/lang/mg/lang.php
@@ -88,7 +88,7 @@ $lang['lastmod'] = 'Novaina farany:';
$lang['by'] = '/';
$lang['deleted'] = 'voafafa';
$lang['created'] = 'Voamboatra';
-$lang['restored'] = 'Naverina tamin\'ny kinova taloha';
+$lang['restored'] = 'Naverina tamin\'ny kinova taloha (%s)';
$lang['summary'] = 'Fanovana teo';
$lang['mail_newpage'] = 'pejy niampy:';
diff --git a/inc/lang/mk/lang.php b/inc/lang/mk/lang.php
index 7482f2512..44bd489b7 100644
--- a/inc/lang/mk/lang.php
+++ b/inc/lang/mk/lang.php
@@ -136,7 +136,7 @@ $lang['lastmod'] = 'Последно изменета';
$lang['by'] = 'од';
$lang['deleted'] = 'отстранета';
$lang['created'] = 'креирана';
-$lang['restored'] = 'обновена е стара ревизија';
+$lang['restored'] = 'обновена е стара ревизија (%s)';
$lang['external_edit'] = 'надворешно уредување';
$lang['summary'] = 'Уреди го изводот';
$lang['noflash'] = '<a href="http://www.adobe.com/products/flashplayer/">Adobe Flash приклучокот</a> е потребен за да се прикаже оваа содржина.';
@@ -196,8 +196,6 @@ $lang['subscr_m_unsubscribe'] = 'Отплатување';
$lang['subscr_m_subscribe'] = 'Претплата';
$lang['subscr_m_receive'] = 'Прими';
$lang['subscr_style_every'] = 'е-пошта за секоја промена';
-$lang['subscr_style_digest'] = 'е-пошта со преглед од промените за секоја страница';
-$lang['subscr_style_list'] = 'листа на променети страници од последната е-пошта';
$lang['authmodfailed'] = 'Лоша конфигурација за автентикација на корисник. Ве молам информирајте го вики администратор.';
$lang['authtempfail'] = 'Автентикација на корисник е привремено недостапна. Ако оваа ситуација истрајува, ве молам известете го вики администратор.';
$lang['i_chooselang'] = 'Избере јазик';
diff --git a/inc/lang/mr/lang.php b/inc/lang/mr/lang.php
index b754a3f1c..d95813efa 100644
--- a/inc/lang/mr/lang.php
+++ b/inc/lang/mr/lang.php
@@ -180,7 +180,6 @@ $lang['lastmod'] = 'सर्वात शेवटचा बद
$lang['by'] = 'द्वारा';
$lang['deleted'] = 'काढून टाकले';
$lang['created'] = 'निर्माण केले';
-$lang['restored'] = 'जुनी आवृत्ति पुनर्स्थापित केली';
$lang['external_edit'] = 'बाहेरून संपादित';
$lang['summary'] = 'सारांश बदला';
$lang['noflash'] = 'ही माहिती दाखवण्यासाठी <a href="http://www.adobe.com/products/flashplayer/">अडोब फ्लॅश प्लेअर</a> ची गरज आहे.';
diff --git a/inc/lang/ms/lang.php b/inc/lang/ms/lang.php
index 92dc86b5a..02c0e2c91 100644
--- a/inc/lang/ms/lang.php
+++ b/inc/lang/ms/lang.php
@@ -93,5 +93,5 @@ $lang['uploadfail'] = 'Ralat muat naik';
$lang['uploadxss'] = 'Fail ini mengandungi kod HTML atau kod skrip yang mungkin boleh disalah tafsir oleh pelayar web.';
$lang['toc'] = 'Jadual Kandungan';
$lang['current'] = 'kini';
-$lang['restored'] = 'Telah dikembalikan ke semakan sebelumnya';
+$lang['restored'] = 'Telah dikembalikan ke semakan sebelumnya (%s)';
$lang['summary'] = 'Paparan';
diff --git a/inc/lang/ne/lang.php b/inc/lang/ne/lang.php
index fa6d2f705..b7ca14b0a 100644
--- a/inc/lang/ne/lang.php
+++ b/inc/lang/ne/lang.php
@@ -128,7 +128,6 @@ $lang['lastmod'] = 'अन्तिम पटक सच्या
$lang['by'] = 'द्वारा ';
$lang['deleted'] = 'हटाइएको';
$lang['created'] = 'निर्माण गरिएको';
-$lang['restored'] = 'पुरानो संस्करण पुनर्‌प्रयोग गरिएको';
$lang['external_edit'] = 'बाह्य सम्पादन';
$lang['summary'] = 'सम्पादनको बारेमा';
$lang['mail_newpage'] = 'थपिएको पृष्ठ';
diff --git a/inc/lang/nl/lang.php b/inc/lang/nl/lang.php
index 0241eab2f..f6192a99b 100644
--- a/inc/lang/nl/lang.php
+++ b/inc/lang/nl/lang.php
@@ -192,7 +192,7 @@ $lang['lastmod'] = 'Laatst gewijzigd';
$lang['by'] = 'door';
$lang['deleted'] = 'verwijderd';
$lang['created'] = 'aangemaakt';
-$lang['restored'] = 'oude revisie hersteld';
+$lang['restored'] = 'oude revisie hersteld (%s)';
$lang['external_edit'] = 'Externe bewerking';
$lang['summary'] = 'Samenvatting wijziging';
$lang['noflash'] = 'De <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> is vereist om de pagina te kunnen weergeven.';
diff --git a/inc/lang/no/lang.php b/inc/lang/no/lang.php
index 9aa11ac87..8235bfb91 100644
--- a/inc/lang/no/lang.php
+++ b/inc/lang/no/lang.php
@@ -190,7 +190,7 @@ $lang['lastmod'] = 'Sist endret';
$lang['by'] = 'av';
$lang['deleted'] = 'fjernet';
$lang['created'] = 'opprettet';
-$lang['restored'] = 'gjenopprettet til en tidligere versjon';
+$lang['restored'] = 'gjenopprettet til en tidligere versjon (%s)';
$lang['external_edit'] = 'ekstern redigering';
$lang['summary'] = 'Redigeringskommentar';
$lang['noflash'] = 'For at dette innholdet skal vises må du ha <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a>.';
@@ -316,8 +316,7 @@ $lang['media_upload'] = 'Last opp til navnerommet <strong>%s</strong>.'
$lang['media_search'] = 'Søk i navnerommet <strong>%s</strong>.';
$lang['media_view'] = '%s';
$lang['media_viewold'] = '%s på %s';
-$lang['media_edit'] = 'Rediger';
-$lang['media_history'] = 'Dette er de tidligere versjonene av filen.';
+$lang['media_edit'] = 'Rediger %s';
$lang['media_meta_edited'] = 'metadata er endra';
$lang['media_perm_read'] = 'Beklager, du har ikke tilgang til å lese filer.';
$lang['media_perm_upload'] = 'Beklager, du har ikke tilgang til å laste opp filer.';
diff --git a/inc/lang/pl/lang.php b/inc/lang/pl/lang.php
index cf9fc6a16..51149e88f 100644
--- a/inc/lang/pl/lang.php
+++ b/inc/lang/pl/lang.php
@@ -189,7 +189,7 @@ $lang['lastmod'] = 'ostatnio zmienione';
$lang['by'] = 'przez';
$lang['deleted'] = 'usunięto';
$lang['created'] = 'utworzono';
-$lang['restored'] = 'przywrócono poprzednią wersję';
+$lang['restored'] = 'przywrócono poprzednią wersję (%s)';
$lang['external_edit'] = 'edycja zewnętrzna';
$lang['summary'] = 'Opis zmian';
$lang['noflash'] = 'Plugin <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> jest niezbędny do obejrzenia tej zawartości.';
@@ -265,8 +265,6 @@ $lang['subscr_m_unsubscribe'] = 'Zrezygnuj z subskrypcji';
$lang['subscr_m_subscribe'] = 'Subskrybuj';
$lang['subscr_m_receive'] = 'Otrzymuj';
$lang['subscr_style_every'] = 'email przy każdej zmianie';
-$lang['subscr_style_digest'] = 'email ze streszczeniem zmian dla każdej ze stron';
-$lang['subscr_style_list'] = 'lista zmienionych stron od czasu ostatniego emaila';
$lang['authmodfailed'] = 'Błąd uwierzytelnienia. Powiadom administratora tego wiki.';
$lang['authtempfail'] = 'Uwierzytelnienie użytkownika jest w tej chwili niemożliwe. Jeśli ta sytuacja się powtórzy, powiadom administratora tego wiki.';
$lang['authpwdexpire'] = 'Twoje hasło wygaśnie za %d dni. Należy je zmienić w krótkim czasie.';
diff --git a/inc/lang/pt/lang.php b/inc/lang/pt/lang.php
index 1555889f6..ac9c59c3e 100644
--- a/inc/lang/pt/lang.php
+++ b/inc/lang/pt/lang.php
@@ -179,7 +179,7 @@ $lang['lastmod'] = 'Esta página foi modificada pela última vez e
$lang['by'] = 'por';
$lang['deleted'] = 'Documento automaticamente removido.';
$lang['created'] = 'Criação deste novo documento.';
-$lang['restored'] = 'Versão anterior restaurada.';
+$lang['restored'] = 'Versão anterior restaurada (%s)';
$lang['external_edit'] = 'Edição externa';
$lang['summary'] = 'Sumário da Edição';
$lang['noflash'] = 'O <a href="http://www.adobe.com/products/flashplayer/">Plugin Adobe Flash</a> é necessário para exibir este conteúdo.';
diff --git a/inc/lang/ro/lang.php b/inc/lang/ro/lang.php
index d6bfcad3a..8b2483daf 100644
--- a/inc/lang/ro/lang.php
+++ b/inc/lang/ro/lang.php
@@ -184,7 +184,7 @@ $lang['lastmod'] = 'Ultima modificare';
$lang['by'] = 'de către';
$lang['deleted'] = 'şters';
$lang['created'] = 'creat';
-$lang['restored'] = 'versiune veche restaurată';
+$lang['restored'] = 'versiune veche restaurată (%s)';
$lang['external_edit'] = 'editare externă';
$lang['summary'] = 'Editează sumarul';
$lang['noflash'] = 'Plugin-ul <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> este necesar pentru afişarea corectă a conţinutului.';
diff --git a/inc/lang/ru/lang.php b/inc/lang/ru/lang.php
index c391bc6a5..52e0ef3d6 100644
--- a/inc/lang/ru/lang.php
+++ b/inc/lang/ru/lang.php
@@ -193,7 +193,7 @@ $lang['lastmod'] = 'Последние изменения';
$lang['by'] = ' —';
$lang['deleted'] = 'удалено';
$lang['created'] = 'создано';
-$lang['restored'] = 'старая ревизия восстановлена';
+$lang['restored'] = 'старая ревизия восстановлена (%s)';
$lang['external_edit'] = 'внешнее изменение';
$lang['summary'] = 'Сводка изменений';
$lang['noflash'] = 'Для просмотра этого содержимого требуется <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a>.';
@@ -270,8 +270,6 @@ $lang['subscr_m_unsubscribe'] = 'Отменить подписку';
$lang['subscr_m_subscribe'] = 'Подписаться';
$lang['subscr_m_receive'] = 'Получить';
$lang['subscr_style_every'] = 'уведомлять о каждом изменении';
-$lang['subscr_style_digest'] = 'сводка изменений по каждой странице';
-$lang['subscr_style_list'] = 'перечислять изменившиеся страницы с прошлого уведомления';
$lang['authmodfailed'] = 'Неправильная конфигурация аутентификации пользователя. Пожалуйста, сообщите об этом своему администратору вики.';
$lang['authtempfail'] = 'Аутентификация пользователей временно недоступна. Если проблема продолжается какое-то время, пожалуйста, сообщите об этом своему администратору вики.';
$lang['authpwdexpire'] = 'Действие вашего пароля истекает через %d дней. Вы должны изменить его как можно скорее';
diff --git a/inc/lang/sl/lang.php b/inc/lang/sl/lang.php
index 81220b8a2..5c4316b01 100644
--- a/inc/lang/sl/lang.php
+++ b/inc/lang/sl/lang.php
@@ -177,7 +177,7 @@ $lang['lastmod'] = 'Zadnja sprememba';
$lang['by'] = 'uporabnika';
$lang['deleted'] = 'odstranjena';
$lang['created'] = 'ustvarjena';
-$lang['restored'] = 'povrnjena stara različica';
+$lang['restored'] = 'povrnjena stara različica (%s)';
$lang['external_edit'] = 'urejanje v zunanjem urejevalniku';
$lang['summary'] = 'Povzetek urejanja';
$lang['noflash'] = 'Za prikaz vsebine je treba namestiti <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a>';
diff --git a/inc/lang/sq/lang.php b/inc/lang/sq/lang.php
index e190d8404..212f10607 100644
--- a/inc/lang/sq/lang.php
+++ b/inc/lang/sq/lang.php
@@ -140,7 +140,7 @@ $lang['lastmod'] = 'Redaktuar për herë të fundit';
$lang['by'] = 'nga';
$lang['deleted'] = 'u fshi';
$lang['created'] = 'u krijua';
-$lang['restored'] = 'Kthehu tek një version i vjetër';
+$lang['restored'] = 'Kthehu tek një version i vjetër (%s)';
$lang['external_edit'] = 'redaktim i jashtëm';
$lang['summary'] = 'Përmbledhja redaktimit';
$lang['noflash'] = 'Nevojitet <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> për të paraqitur këtë përmbajtje.';
@@ -204,8 +204,6 @@ $lang['subscr_m_unsubscribe'] = 'Fshi Abonimin';
$lang['subscr_m_subscribe'] = 'Abonohu';
$lang['subscr_m_receive'] = 'Mer';
$lang['subscr_style_every'] = 'email mbi çdo ndryshim';
-$lang['subscr_style_digest'] = 'pasqyro email-e ndryshimi pér çdo faqe';
-$lang['subscr_style_list'] = 'listë e faqeve të ndryshuara që nga emaili i fundit';
$lang['authmodfailed'] = 'Konfigurim i gabuar i autentikimit të përdoruesit. Ju lutem informoni Administratorin tuaj të Wiki-it.';
$lang['authtempfail'] = 'Autentikimi i përdoruesve është përkohësisht i padisponueshëm. Nëse kjo gjendje vazhdon, ju lutemi të informoni Administratorin tuaj të Wiki-it.';
$lang['i_chooselang'] = 'Zgjidhni gjuhën tuaj';
diff --git a/inc/lang/sr/lang.php b/inc/lang/sr/lang.php
index d7f594511..7fbdf1985 100644
--- a/inc/lang/sr/lang.php
+++ b/inc/lang/sr/lang.php
@@ -162,7 +162,7 @@ $lang['lastmod'] = 'Последњи пут мењано';
$lang['by'] = 'од';
$lang['deleted'] = 'избрисано';
$lang['created'] = 'направљено';
-$lang['restored'] = 'стара верзија повраћена';
+$lang['restored'] = 'стара верзија повраћена (%s)';
$lang['external_edit'] = 'спољна измена';
$lang['summary'] = 'Сажетак измене';
$lang['noflash'] = 'За приказивање ове врсте материјала потребан вам је <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a>.';
diff --git a/inc/lang/th/lang.php b/inc/lang/th/lang.php
index c9d526436..627484eab 100644
--- a/inc/lang/th/lang.php
+++ b/inc/lang/th/lang.php
@@ -144,7 +144,7 @@ $lang['lastmod'] = 'แก้ไขครั้งล่าสุ
$lang['by'] = 'โดย';
$lang['deleted'] = 'ถูกถอดออก';
$lang['created'] = 'ถูกสร้าง';
-$lang['restored'] = 'ย้อนไปรุ่นก่อนหน้า';
+$lang['restored'] = 'ย้อนไปรุ่นก่อนหน้า (%s)';
$lang['external_edit'] = 'แก้ไขภายนอก';
$lang['summary'] = 'สรุป(หมายเหตุ)การแก้ไขนี้';
$lang['noflash'] = 'ต้องการตัวเล่นแฟลช <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> เพื่อแสดงผลเนื้อหานี้';
diff --git a/inc/lang/tr/lang.php b/inc/lang/tr/lang.php
index 5430905b1..c6edf74c6 100644
--- a/inc/lang/tr/lang.php
+++ b/inc/lang/tr/lang.php
@@ -176,7 +176,7 @@ $lang['lastmod'] = 'Son değiştirilme';
$lang['by'] = 'Değiştiren:';
$lang['deleted'] = 'silindi';
$lang['created'] = 'oluşturuldu';
-$lang['restored'] = 'eski sürüme dönüldü';
+$lang['restored'] = 'eski sürüme dönüldü (%s)';
$lang['external_edit'] = 'Dışarıdan düzenle';
$lang['summary'] = 'Özeti düzenle';
$lang['noflash'] = 'Bu içeriği göstermek için <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Eklentisi</a> gerekmektedir.';
diff --git a/inc/lang/uk/lang.php b/inc/lang/uk/lang.php
index 5274a4210..6aa468c50 100644
--- a/inc/lang/uk/lang.php
+++ b/inc/lang/uk/lang.php
@@ -169,7 +169,7 @@ $lang['lastmod'] = 'В останнє змінено';
$lang['by'] = ' ';
$lang['deleted'] = 'знищено';
$lang['created'] = 'створено';
-$lang['restored'] = 'відновлено стару ревізію';
+$lang['restored'] = 'відновлено стару ревізію (%s)';
$lang['external_edit'] = 'зовнішнє редагування';
$lang['summary'] = 'Підсумок змін';
$lang['noflash'] = 'Для перегляду цієї сторінки необхідно встановити <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a>.';
diff --git a/inc/lang/vi/lang.php b/inc/lang/vi/lang.php
index 99c4d47e4..c439ca534 100644
--- a/inc/lang/vi/lang.php
+++ b/inc/lang/vi/lang.php
@@ -176,7 +176,7 @@ $lang['lastmod'] = 'Thời điểm thay đổi';
$lang['by'] = 'do';
$lang['deleted'] = 'bị xoá';
$lang['created'] = 'được tạo ra';
-$lang['restored'] = 'phiên bản cũ đã được khôi phục';
+$lang['restored'] = 'phiên bản cũ đã được khôi phục (%s)';
$lang['external_edit'] = 'external edit';
$lang['summary'] = 'Tóm tắt biên soạn';
$lang['noflash'] = '<a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> cần được cài để có thể xem nội dung này.';
diff --git a/inc/lang/zh-tw/lang.php b/inc/lang/zh-tw/lang.php
index ddb35617e..536266971 100644
--- a/inc/lang/zh-tw/lang.php
+++ b/inc/lang/zh-tw/lang.php
@@ -186,7 +186,7 @@ $lang['lastmod'] = '上一次變更';
$lang['by'] = '由';
$lang['deleted'] = '移除';
$lang['created'] = '建立';
-$lang['restored'] = '恢復為舊版';
+$lang['restored'] = '恢復為舊版 (%s)';
$lang['external_edit'] = '外部編輯';
$lang['summary'] = '編輯摘要';
$lang['noflash'] = '顯示此內容需要 <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash 附加元件</a>。';
diff --git a/inc/lang/zh/lang.php b/inc/lang/zh/lang.php
index e6e568cb5..f404010ba 100644
--- a/inc/lang/zh/lang.php
+++ b/inc/lang/zh/lang.php
@@ -298,6 +298,9 @@ $lang['i_pol1'] = '公共的维基(任何人都有读的权限
$lang['i_pol2'] = '关闭的维基(只有注册用户才有读、写、上传的权限)';
$lang['i_retry'] = '重试';
$lang['i_license'] = '请选择您希望的内容发布许可协议:';
+$lang['i_license_none'] = '不要显示任何许可协议信息';
+$lang['i_pop_field'] = '请帮助我们改进 Dokuwiki 的体验:';
+$lang['i_pop_label'] = '每个月向 Dokuwiki 开发者发送匿名的使用数据';
$lang['recent_global'] = '您当前看到的是<b>%s</b> 名称空间的变动。你还可以在<a href="%s">查看整个维基的近期变动</a>。';
$lang['years'] = '%d年前';
$lang['months'] = '%d月前';
diff --git a/inc/media.php b/inc/media.php
index bd80db577..db1ca0d57 100644
--- a/inc/media.php
+++ b/inc/media.php
@@ -1686,18 +1686,36 @@ function media_nstree($ns){
$ns = cleanID($ns);
if(empty($ns)){
global $ID;
- $ns = dirname(str_replace(':','/',$ID));
- if($ns == '.') $ns ='';
+ $ns = (string)getNS($ID);
}
- $ns = utf8_encodeFN(str_replace(':','/',$ns));
+
+ $ns_dir = utf8_encodeFN(str_replace(':','/',$ns));
$data = array();
- search($data,$conf['mediadir'],'search_index',array('ns' => $ns, 'nofiles' => true));
+ search($data,$conf['mediadir'],'search_index',array('ns' => $ns_dir, 'nofiles' => true));
// wrap a list with the root level around the other namespaces
array_unshift($data, array('level' => 0, 'id' => '', 'open' =>'true',
'label' => '['.$lang['mediaroot'].']'));
+ // insert the current ns into the hierarchy if it isn't already part of it
+ $ns_parts = explode(':', $ns);
+ $tmp_ns = '';
+ $pos = 0;
+ foreach ($ns_parts as $level => $part) {
+ if ($tmp_ns) $tmp_ns .= ':'.$part;
+ else $tmp_ns = $part;
+
+ // find the namespace parts or insert them
+ while ($data[$pos]['id'] != $tmp_ns) {
+ if ($pos >= count($data) || ($data[$pos]['level'] <= $level+1 && strnatcmp(utf8_encodeFN($data[$pos]['id']), utf8_encodeFN($tmp_ns)) > 0)) {
+ array_splice($data, $pos, 0, array(array('level' => $level+1, 'id' => $tmp_ns, 'open' => 'true')));
+ break;
+ }
+ ++$pos;
+ }
+ }
+
echo html_buildlist($data,'idx','media_nstree_item','media_nstree_li');
}
diff --git a/inc/parser/code.php b/inc/parser/code.php
index 21fb0dc3c..43d8d703f 100644
--- a/inc/parser/code.php
+++ b/inc/parser/code.php
@@ -43,7 +43,7 @@ class Doku_Renderer_code extends Doku_Renderer {
* This should never be reached, if it is send a 404
*/
function document_end() {
- header("HTTP/1.0 404 Not Found");
+ http_status(404);
echo '404 - Not found';
exit;
}
diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php
index 71f3aa4bf..84a999e56 100644
--- a/inc/parser/xhtml.php
+++ b/inc/parser/xhtml.php
@@ -803,7 +803,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
$class = preg_replace('/[^_\-a-z0-9]+/i','_',$ext);
$link['class'] .= ' mediafile mf_'.$class;
$link['url'] = ml($src,array('id'=>$ID,'cache'=>$cache),true);
- $link['title'] .= ' (' . filesize_h(filesize(mediaFN($src))).')';
+ if ($exists) $link['title'] .= ' (' . filesize_h(filesize(mediaFN($src))).')';
}
if($hash) $link['url'] .= '#'.$hash;
@@ -889,7 +889,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
// title is escaped by SimplePie, we unescape here because it
// is escaped again in externallink() FS#1705
$this->externallink($item->get_permalink(),
- htmlspecialchars_decode($item->get_title()));
+ html_entity_decode($item->get_title(), ENT_QUOTES, 'UTF-8'));
}else{
$this->doc .= ' '.$item->get_title();
}
diff --git a/inc/parserutils.php b/inc/parserutils.php
index 1733fcf09..56161af44 100644
--- a/inc/parserutils.php
+++ b/inc/parserutils.php
@@ -86,67 +86,6 @@ function p_wiki_xhtml($id, $rev='', $excuse=true){
}
/**
- * Returns starting summary for a page (e.g. the first few
- * paragraphs), marked up in XHTML.
- *
- * If $excuse is true an explanation is returned if the file
- * wasn't found
- *
- * @param string $id wiki page id
- * @param string $title populated with page title from heading or page id
- * @param string $rev revision string
- * @param bool $excuse if an excuse shall be renderer when no content is found
- * @return string xhtml code
- * @deprecated
- * @author Harry Fuecks <hfuecks@gmail.com>
- */
-function p_wiki_xhtml_summary($id, &$title, $rev='', $excuse=true){
- $file = wikiFN($id,$rev);
- $ret = '';
- $ins = null;
-
- //ensure $id is in global $ID (needed for parsing)
- global $ID;
- $keep = $ID;
- $ID = $id;
-
- if($rev){
- if(@file_exists($file)){
- //no caching on old revisions
- $ins = p_get_instructions(io_readWikiPage($file,$id,$rev));
- }elseif($excuse){
- $ret = p_locale_xhtml('norev');
- //restore ID (just in case)
- $ID = $keep;
- return $ret;
- }
-
- }else{
-
- if(@file_exists($file)){
- // The XHTML for a summary is not cached so use the instruction cache
- $ins = p_cached_instructions($file);
- }elseif($excuse){
- $ret = p_locale_xhtml('newpage');
- //restore ID (just in case)
- $ID = $keep;
- return $ret;
- }
- }
-
- $ret = p_render('xhtmlsummary',$ins,$info);
-
- if ( $info['sum_pagetitle'] ) {
- $title = $info['sum_pagetitle'];
- } else {
- $title = $id;
- }
-
- $ID = $keep;
- return $ret;
-}
-
-/**
* Returns the specified local text in parsed format
*
* @author Andreas Gohr <andi@splitbrain.org>
@@ -158,23 +97,6 @@ function p_locale_xhtml($id){
}
/**
- * *** DEPRECATED ***
- *
- * use p_cached_output()
- *
- * Returns the given file parsed to XHTML
- *
- * Uses and creates a cachefile
- *
- * @deprecated
- * @author Andreas Gohr <andi@splitbrain.org>
- * @todo rewrite to use mode instead of hardcoded XHTML
- */
-function p_cached_xhtml($file){
- return p_cached_output($file);
-}
-
-/**
* Returns the given file parsed into the requested output format
*
* @author Andreas Gohr <andi@splitbrain.org>
diff --git a/inc/plugin.php b/inc/plugin.php
index cd6bd5ac7..4d3d45f62 100644
--- a/inc/plugin.php
+++ b/inc/plugin.php
@@ -258,11 +258,4 @@ class DokuWiki_Plugin {
function isSingleton() {
return true;
}
-
- // deprecated functions
- function plugin_localFN($id) { return $this->localFN($id); }
- function plugin_locale_xhtml($id) { return $this->locale_xhtml($id); }
- function plugin_email($e, $n='', $c='', $m='') { return $this->email($e, $n, $c, $m); }
- function plugin_link($l, $t='', $c='', $to='', $m='') { return $this->external_link($l, $t, $c, $to, $m); }
- function plugin_render($t, $f='xhtml') { return $this->render($t, $f); }
}
diff --git a/inc/search.php b/inc/search.php
index cc3e79006..6927fff5f 100644
--- a/inc/search.php
+++ b/inc/search.php
@@ -62,15 +62,6 @@ function search(&$data,$base,$func,$opts,$dir='',$lvl=1,$sort='natural'){
}
/**
- * Wrapper around call_user_func_array.
- *
- * @deprecated
- */
-function search_callback($func,&$data,$base,$file,$type,$lvl,$opts){
- return call_user_func_array($func, array(&$data,$base,$file,$type,$lvl,$opts));
-}
-
-/**
* The following functions are userfunctions to use with the search
* function above. This function is called for every found file or
* directory. When a directory is given to the function it has to
@@ -252,8 +243,8 @@ function search_pagename(&$data,$base,$file,$type,$lvl,$opts){
function search_allpages(&$data,$base,$file,$type,$lvl,$opts){
if(isset($opts['depth']) && $opts['depth']){
$parts = explode('/',ltrim($file,'/'));
- if(($type == 'd' && count($parts) > $opts['depth'])
- || ($type != 'd' && count($parts) > $opts['depth'] + 1)){
+ if(($type == 'd' && count($parts) >= $opts['depth'])
+ || ($type != 'd' && count($parts) > $opts['depth'])){
return false; // depth reached
}
}
@@ -283,125 +274,25 @@ function search_allpages(&$data,$base,$file,$type,$lvl,$opts){
}
/**
- * Search for backlinks to a given page
+ * Reference search
+ * This fuction searches for existing references to a given media file
+ * and returns an array with the found pages. It doesn't pay any
+ * attention to ACL permissions to find every reference. The caller
+ * must check if the user has the appropriate rights to see the found
+ * page and eventually have to prevent the result from displaying.
*
- * $opts['ns'] namespace of the page
- * $opts['name'] name of the page without namespace
+ * @param array $data Reference to the result data structure
+ * @param string $base Base usually $conf['datadir']
+ * @param string $file current file or directory relative to $base
+ * @param char $type Type either 'd' for directory or 'f' for file
+ * @param int $lvl Current recursion depht
+ * @param mixed $opts option array as given to search()
*
- * @author Andreas Gohr <andi@splitbrain.org>
- * @deprecated Replaced by ft_backlinks()
- */
-function search_backlinks(&$data,$base,$file,$type,$lvl,$opts){
- //we do nothing with directories
- if($type == 'd') return true;
- //only search txt files
- if(substr($file,-4) != '.txt') return true;
-
- //absolute search id
- $sid = cleanID($opts['ns'].':'.$opts['name']);
-
- //current id and namespace
- $cid = pathID($file);
- $cns = getNS($cid);
-
- //check ACL
- if(auth_quickaclcheck($cid) < AUTH_READ){
- return false;
- }
-
- //fetch instructions
- $instructions = p_cached_instructions($base.$file,true);
- if(is_null($instructions)) return false;
-
- global $conf;
- //check all links for match
- foreach($instructions as $ins){
- if($ins[0] == 'internallink' || ($conf['camelcase'] && $ins[0] == 'camelcaselink') ){
- $mid = $ins[1][0];
- resolve_pageid($cns,$mid,$exists); //exists is not used
- if($mid == $sid){
- //we have a match - finish
- $data[]['id'] = $cid;
- break;
- }
- }
- }
-
- return false;
-}
-
-/**
- * Fulltextsearch
- *
- * $opts['query'] is the search query
+ * $opts['query'] is the demanded media file name
*
* @author Andreas Gohr <andi@splitbrain.org>
- * @deprecated - fulltext indexer is used instead
+ * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
*/
-function search_fulltext(&$data,$base,$file,$type,$lvl,$opts){
- //we do nothing with directories
- if($type == 'd') return true;
- //only search txt files
- if(substr($file,-4) != '.txt') return true;
-
- //check ACL
- $id = pathID($file);
- if(auth_quickaclcheck($id) < AUTH_READ){
- return false;
- }
-
- //create regexp from queries
- $poswords = array();
- $negwords = array();
- $qpreg = preg_split('/\s+/',$opts['query']);
-
- foreach($qpreg as $word){
- switch(substr($word,0,1)){
- case '-':
- if(strlen($word) > 1){ // catch single '-'
- array_push($negwords,preg_quote(substr($word,1),'#'));
- }
- break;
- case '+':
- if(strlen($word) > 1){ // catch single '+'
- array_push($poswords,preg_quote(substr($word,1),'#'));
- }
- break;
- default:
- array_push($poswords,preg_quote($word,'#'));
- break;
- }
- }
-
- // a search without any posword is useless
- if (!count($poswords)) return true;
-
- $reg = '^(?=.*?'.join(')(?=.*?',$poswords).')';
- $reg .= count($negwords) ? '((?!'.join('|',$negwords).').)*$' : '.*$';
- search_regex($data,$base,$file,$reg,$poswords);
- return true;
- }
-
- /**
- * Reference search
- * This fuction searches for existing references to a given media file
- * and returns an array with the found pages. It doesn't pay any
- * attention to ACL permissions to find every reference. The caller
- * must check if the user has the appropriate rights to see the found
- * page and eventually have to prevent the result from displaying.
- *
- * @param array $data Reference to the result data structure
- * @param string $base Base usually $conf['datadir']
- * @param string $file current file or directory relative to $base
- * @param char $type Type either 'd' for directory or 'f' for file
- * @param int $lvl Current recursion depht
- * @param mixed $opts option array as given to search()
- *
- * $opts['query'] is the demanded media file name
- *
- * @author Andreas Gohr <andi@splitbrain.org>
- * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
- */
function search_reference(&$data,$base,$file,$type,$lvl,$opts){
global $conf;
@@ -424,57 +315,6 @@ function search_reference(&$data,$base,$file,$type,$lvl,$opts){
/* ------------- helper functions below -------------- */
/**
- * fulltext search helper
- * searches a text file with a given regular expression
- * no ACL checks are performed. This have to be done by
- * the caller if necessary.
- *
- * @param array $data reference to array for results
- * @param string $base base directory
- * @param string $file file name to search in
- * @param string $reg regular expression to search for
- * @param array $words words that should be marked in the results
- *
- * @author Andreas Gohr <andi@splitbrain.org>
- * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
- *
- * @deprecated - fulltext indexer is used instead
- */
-function search_regex(&$data,$base,$file,$reg,$words){
-
- //get text
- $text = io_readfile($base.'/'.$file);
- //lowercase text (u modifier does not help with case)
- $lctext = utf8_strtolower($text);
-
- //do the fulltext search
- $matches = array();
- if($cnt = preg_match_all('#'.$reg.'#usi',$lctext,$matches)){
- //this is not the best way for snippet generation but the fastest I could find
- $q = $words[0]; //use first word for snippet creation
- $p = utf8_strpos($lctext,$q);
- $f = $p - 100;
- $l = utf8_strlen($q) + 200;
- if($f < 0) $f = 0;
- $snippet = '<span class="search_sep"> ... </span>'.
- htmlspecialchars(utf8_substr($text,$f,$l)).
- '<span class="search_sep"> ... </span>';
- $mark = '('.join('|', $words).')';
- $snippet = preg_replace('#'.$mark.'#si','<strong class="search_hit">\\1</strong>',$snippet);
-
- $data[] = array(
- 'id' => pathID($file),
- 'count' => preg_match_all('#'.$mark.'#usi',$lctext,$matches),
- 'poswords' => join(' ',$words),
- 'snippet' => $snippet,
- );
- }
-
- return true;
-}
-
-
-/**
* fulltext sort
*
* Callback sort function for use with usort to sort the data
diff --git a/inc/template.php b/inc/template.php
index a5bcabf1e..415b56de7 100644
--- a/inc/template.php
+++ b/inc/template.php
@@ -764,7 +764,7 @@ function tpl_searchform($ajax = true, $autocomplete = true) {
global $QUERY;
// don't print the search form if search action has been disabled
- if(!actionOk('search')) return false;
+ if(!actionOK('search')) return false;
print '<form action="'.wl().'" accept-charset="utf-8" class="search" id="dw__search" method="get"><div class="no">';
print '<input type="hidden" name="do" value="search" />';
@@ -1373,11 +1373,13 @@ function tpl_actiondropdown($empty = '', $button = '&gt;') {
global $REV;
global $lang;
- echo '<form action="'.DOKU_SCRIPT.'" method="post" accept-charset="utf-8">';
+ echo '<form action="'.DOKU_SCRIPT.'" method="get" accept-charset="utf-8">';
echo '<div class="no">';
echo '<input type="hidden" name="id" value="'.$ID.'" />';
if($REV) echo '<input type="hidden" name="rev" value="'.$REV.'" />';
- echo '<input type="hidden" name="sectok" value="'.getSecurityToken().'" />';
+ if ($_SERVER['REMOTE_USER']) {
+ echo '<input type="hidden" name="sectok" value="'.getSecurityToken().'" />';
+ }
echo '<select name="do" class="edit quickselect" title="'.$lang['tools'].'">';
echo '<option value="">'.$empty.'</option>';