summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--_test/bootstrap.php7
-rw-r--r--_test/tests/inc/mailer.test.php63
-rw-r--r--_test/tests/inc/pageutils_clean_id.test.php3
-rw-r--r--_test/tests/inc/parser/parser_table.test.php58
-rw-r--r--_test/tests/lib/exe/css_css_compress.test.php40
-rw-r--r--feed.php27
-rw-r--r--inc/Mailer.class.php22
-rw-r--r--inc/RemoteAPICore.php1
-rw-r--r--inc/SimplePie.php6
-rw-r--r--inc/auth.php1
-rw-r--r--inc/common.php3
-rw-r--r--inc/fulltext.php1
-rw-r--r--inc/html.php2
-rw-r--r--inc/infoutils.php1
-rw-r--r--inc/init.php4
-rw-r--r--inc/lang/cs/lang.php3
-rw-r--r--inc/lang/cs/registermail.txt2
-rw-r--r--inc/lang/da/lang.php13
-rw-r--r--inc/lang/es/lang.php6
-rw-r--r--inc/lang/fa/lang.php16
-rw-r--r--inc/lang/hi/diff.txt3
-rw-r--r--inc/lang/hi/lang.php18
-rw-r--r--inc/lang/hu/lang.php12
-rw-r--r--inc/lang/ja/lang.php11
-rw-r--r--inc/lang/ko/lang.php9
-rw-r--r--inc/lang/nl/lang.php3
-rw-r--r--inc/lang/pt-br/lang.php4
-rw-r--r--inc/lang/sk/lang.php14
-rw-r--r--inc/lang/zh/lang.php11
-rw-r--r--inc/pageutils.php2
-rw-r--r--inc/parser/handler.php7
-rw-r--r--inc/parser/metadata.php1
-rw-r--r--inc/parser/parser.php1
-rw-r--r--inc/parser/xhtml.php26
-rw-r--r--inc/plugin.php2
-rw-r--r--inc/plugincontroller.class.php116
-rw-r--r--inc/pluginutils.php61
-rw-r--r--inc/search.php26
-rw-r--r--lib/exe/css.php38
-rw-r--r--lib/exe/js.php7
-rw-r--r--lib/plugins/acl/admin.php4
-rw-r--r--lib/plugins/acl/lang/da/lang.php4
-rw-r--r--lib/plugins/acl/lang/fa/lang.php5
-rw-r--r--lib/plugins/acl/lang/hu/lang.php5
-rw-r--r--lib/plugins/acl/lang/sk/lang.php4
-rw-r--r--lib/plugins/acl/style.css2
-rw-r--r--lib/plugins/authad/lang/da/settings.php10
-rw-r--r--lib/plugins/authad/lang/es/settings.php13
-rw-r--r--lib/plugins/authad/lang/hu/settings.php5
-rw-r--r--lib/plugins/authad/lang/ja/settings.php4
-rw-r--r--lib/plugins/authad/lang/sk/settings.php15
-rw-r--r--lib/plugins/authldap/auth.php4
-rw-r--r--lib/plugins/authldap/lang/hu/settings.php5
-rw-r--r--lib/plugins/authldap/lang/ja/settings.php22
-rw-r--r--lib/plugins/authldap/lang/sk/settings.php21
-rw-r--r--lib/plugins/authmysql/lang/en/settings.php4
-rw-r--r--lib/plugins/authmysql/lang/hu/settings.php5
-rw-r--r--lib/plugins/authmysql/lang/sk/settings.php38
-rw-r--r--lib/plugins/authpgsql/lang/en/settings.php2
-rw-r--r--lib/plugins/authpgsql/lang/hu/settings.php5
-rw-r--r--lib/plugins/authpgsql/lang/sk/settings.php37
-rw-r--r--lib/plugins/config/settings/config.class.php2
-rw-r--r--lib/plugins/config/settings/config.metadata.php1
-rw-r--r--lib/plugins/info/syntax.php39
-rw-r--r--lib/plugins/plugin/admin.php1
-rw-r--r--lib/plugins/plugin/classes/ap_info.class.php1
-rw-r--r--lib/plugins/plugin/lang/cs/lang.php1
-rw-r--r--lib/plugins/plugin/lang/da/lang.php4
-rw-r--r--lib/plugins/plugin/lang/fa/lang.php5
-rw-r--r--lib/plugins/plugin/lang/hi/lang.php5
-rw-r--r--lib/plugins/plugin/lang/hu/lang.php5
-rw-r--r--lib/plugins/plugin/lang/sk/lang.php5
-rw-r--r--lib/plugins/popularity/action.php1
-rw-r--r--lib/plugins/popularity/lang/da/lang.php5
-rw-r--r--lib/plugins/popularity/lang/fa/lang.php5
-rw-r--r--lib/plugins/popularity/lang/hi/lang.php5
-rw-r--r--lib/plugins/popularity/lang/hu/lang.php5
-rw-r--r--lib/plugins/popularity/lang/sk/lang.php5
-rw-r--r--lib/plugins/revert/admin.php1
-rw-r--r--lib/plugins/revert/lang/cs/lang.php1
-rw-r--r--lib/plugins/revert/lang/da/lang.php5
-rw-r--r--lib/plugins/revert/lang/fa/lang.php5
-rw-r--r--lib/plugins/revert/lang/hu/lang.php5
-rw-r--r--lib/plugins/revert/lang/sk/intro.txt3
-rw-r--r--lib/plugins/revert/lang/sk/lang.php7
-rw-r--r--lib/plugins/syntax.php4
-rw-r--r--lib/plugins/usermanager/admin.php225
-rw-r--r--lib/plugins/usermanager/lang/da/lang.php5
-rw-r--r--lib/plugins/usermanager/lang/en/lang.php5
-rw-r--r--lib/plugins/usermanager/lang/fa/lang.php5
-rw-r--r--lib/plugins/usermanager/lang/hu/import.txt9
-rw-r--r--lib/plugins/usermanager/lang/hu/lang.php24
-rw-r--r--lib/plugins/usermanager/lang/ja/import.txt10
-rw-r--r--lib/plugins/usermanager/lang/ja/lang.php20
-rw-r--r--lib/plugins/usermanager/lang/ko/lang.php6
-rw-r--r--lib/plugins/usermanager/lang/nl/lang.php6
-rw-r--r--lib/plugins/usermanager/lang/pt-br/lang.php15
-rw-r--r--lib/plugins/usermanager/lang/sk/import.txt9
-rw-r--r--lib/plugins/usermanager/lang/sk/lang.php23
-rw-r--r--lib/plugins/usermanager/lang/zh/lang.php7
-rw-r--r--lib/scripts/cookie.js2
-rw-r--r--lib/scripts/linkwiz.js1
-rw-r--r--lib/scripts/textselection.js2
-rw-r--r--lib/tpl/dokuwiki/css/_forms.css1
-rw-r--r--lib/tpl/dokuwiki/css/_media_fullscreen.css1
-rw-r--r--lib/tpl/dokuwiki/detail.php6
-rw-r--r--lib/tpl/dokuwiki/main.php6
107 files changed, 1076 insertions, 303 deletions
diff --git a/_test/bootstrap.php b/_test/bootstrap.php
index 732fef9ed..3f59db515 100644
--- a/_test/bootstrap.php
+++ b/_test/bootstrap.php
@@ -68,6 +68,13 @@ $default_server_vars = array(
'REQUEST_TIME' => time(),
);
+// fixup for $_SERVER when run from CLI,
+// some values should be mocked for use by inc/init.php which is called here
+// [ $_SERVER is also mocked in TestRequest::execute() ]
+if (php_sapi_name() == 'cli') {
+ $_SERVER = array_merge($default_server_vars, $_SERVER);
+}
+
// create temp directories
mkdir(TMP_DIR);
diff --git a/_test/tests/inc/mailer.test.php b/_test/tests/inc/mailer.test.php
index ef78692b3..3a89413b4 100644
--- a/_test/tests/inc/mailer.test.php
+++ b/_test/tests/inc/mailer.test.php
@@ -156,5 +156,68 @@ class mailer_test extends DokuWikiTest {
$this->assertEquals(0, preg_match('/(^|\n)Bcc: (\n|$)/', $header), 'Bcc found in headers.');
$this->assertEquals(0, preg_match('/(^|\n)Cc: (\n|$)/', $header), 'Bcc found in headers.');
}
+
+ /**
+ * @group internet
+ */
+ function test_lint(){
+ // prepare a simple multipart message
+ $mail = new TestMailer();
+ $mail->to(array('Möp <moep@example.com> ',' foo <foo@example.com>'));
+ $mail->from('Me <test@example.com>');
+ $mail->subject('This is a töst');
+ $mail->setBody('Hello Wörld,
+
+ please don\'t burn, okay?
+ ');
+ $mail->attachContent('some test data', 'text/plain', 'a text.txt');
+ $msg = $mail->dump();
+ $msglines = explode("\n", $msg);
+
+ //echo $msg;
+
+ // ask message lint if it is okay
+ $html = new HTTPClient();
+ $results = $html->post('http://tools.ietf.org/tools/msglint/msglint', array('msg'=>$msg));
+ $this->assertTrue($results !== false);
+
+ // parse the result lines
+ $lines = explode("\n", $results);
+ $rows = count($lines);
+ $i=0;
+ while(trim($lines[$i]) != '-----------' && $i<$rows) $i++; //skip preamble
+ for($i=$i+1; $i<$rows; $i++){
+ $line = trim($lines[$i]);
+ if($line == '-----------') break; //skip appendix
+
+ // get possible continuation of the line
+ while($lines[$i+1][0] == ' '){
+ $line .= ' '.trim($lines[$i+1]);
+ $i++;
+ }
+
+ // check the line for errors
+ if(substr($line,0,5) == 'ERROR' || substr($line,0,7) == 'WARNING'){
+ // ignore some errors
+ if(strpos($line, "missing mandatory header 'return-path'")) continue; #set by MDA
+ if(strpos($line, "bare newline in text body decoded")) continue; #seems to be false positive
+
+ // get the context in which the error occured
+ $errorin = '';
+ if(preg_match('/line (\d+)$/', $line, $m)){
+ $errorin .= "\n".$msglines[$m[1] - 1];
+ }
+ if(preg_match('/lines (\d+)-(\d+)$/', $line, $m)){
+ for($x=$m[1]-1; $x<$m[2]; $x++){
+ $errorin .= "\n".$msglines[$x];
+ }
+ }
+
+ // raise the error
+ throw new Exception($line.$errorin);
+ }
+ }
+
+ }
}
//Setup VIM: ex: et ts=4 :
diff --git a/_test/tests/inc/pageutils_clean_id.test.php b/_test/tests/inc/pageutils_clean_id.test.php
index 478fd2bc4..f67109ba3 100644
--- a/_test/tests/inc/pageutils_clean_id.test.php
+++ b/_test/tests/inc/pageutils_clean_id.test.php
@@ -43,6 +43,9 @@ class init_clean_id_test extends DokuWikiTest {
$tests[] = array('ns._#!ns:page','false','ns._ns:page');
$tests[] = array('ns_:page',false,'ns:page');
$tests[] = array('page...page','false','page...page');
+ $tests[] = array('page---page','false','page---page');
+ $tests[] = array('page___page','false','page_page');
+ $tests[] = array('page_-.page','false','page_-.page');
$tests[] = array(':page',false,'page');
$tests[] = array(':ns:page',false,'ns:page');
$tests[] = array('page:',false,'page');
diff --git a/_test/tests/inc/parser/parser_table.test.php b/_test/tests/inc/parser/parser_table.test.php
index 96789c38c..542a307b8 100644
--- a/_test/tests/inc/parser/parser_table.test.php
+++ b/_test/tests/inc/parser/parser_table.test.php
@@ -270,6 +270,64 @@ def');
);
$this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
}
+
+ function testCellRowSpanFirstRow() {
+ $this->P->addMode('table',new Doku_Parser_Mode_Table());
+ $this->P->parse('
+abc
+|::: ^ d:::^:::| ::: |
+| b ^ e | | ::: |
+|c ^ ::: | |:::|
+def');
+
+ $calls = array (
+ array('document_start',array()),
+ array('p_open',array()),
+ array('cdata',array("\n\nabc")),
+ array('p_close',array()),
+ array('table_open',array(4, 3, 6)),
+ array('tablerow_open',array()),
+ array('tablecell_open',array(1,NULL,1)),
+ array('cdata',array('')),
+ array('tablecell_close',array()),
+ array('tableheader_open',array(1,'right',1)),
+ array('cdata',array(' d:::')),
+ array('tableheader_close',array()),
+ array('tableheader_open',array(1,NULL,1)),
+ array('cdata',array('')),
+ array('tableheader_close',array()),
+ array('tablecell_open',array(1,NULL,3)),
+ array('cdata',array('')),
+ array('tablecell_close',array()),
+ array('tablerow_close',array()),
+ array('tablerow_open',array()),
+ array('tablecell_open',array(1,NULL,1)),
+ array('cdata',array(' b ')),
+ array('tablecell_close',array()),
+ array('tableheader_open',array(1,'left',2)),
+ array('cdata',array(' e ')),
+ array('tableheader_close',array()),
+ array('tablecell_open',array(1,NULL,1)),
+ array('cdata',array(' ')),
+ array('tablecell_close',array()),
+ array('tablerow_close',array()),
+ array('tablerow_open',array()),
+ array('tablecell_open',array(1,'left',1)),
+ array('cdata',array('c ')),
+ array('tablecell_close',array()),
+ array('tablecell_open',array(1,NULL,1)),
+ array('cdata',array(' ')),
+ array('tablecell_close',array()),
+ array('tablerow_close',array()),
+
+ array('table_close',array(69)),
+ array('p_open',array()),
+ array('cdata',array('def')),
+ array('p_close',array()),
+ array('document_end',array()),
+ );
+ $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
+ }
function testCellAlignmentFormatting() {
$this->P->addMode('table',new Doku_Parser_Mode_Table());
diff --git a/_test/tests/lib/exe/css_css_compress.test.php b/_test/tests/lib/exe/css_css_compress.test.php
index a7c87b6a7..a614ea2fd 100644
--- a/_test/tests/lib/exe/css_css_compress.test.php
+++ b/_test/tests/lib/exe/css_css_compress.test.php
@@ -62,6 +62,46 @@ class css_css_compress_test extends DokuWikiTest {
$this->assertEquals(css_compress($text), 'a{left:20px;top:20px}');
}
+ function test_shortening() {
+ $input = array(
+ 'margin:0em 0em 0em 0em ul.test margin:0em :0em div#FFFFFF {',
+ 'margin: 1px 1px 1px 1px;',
+ 'padding: 1px 2px 1px 2px;',
+ 'margin: 1px 2px 3px 1px;',
+ 'padding: 1px 2px 3px 4px;',
+ 'margin: 00.00em 0em 01.00px 0em;',
+ 'padding: 0010em 0010.00em 00.00em 00.00100em;',
+ 'padding: 0010% 0010.00% 00.00% 00.00100xxx;',
+ 'padding: 0.0em .0em 0.em 00.00em;',
+ 'padding: 01.0em;',
+ 'color: #FFFFFF;',
+ 'color: #777777;',
+ 'color: #123456;',
+ 'border: 01.0em solid #ffffff;',
+ );
+
+ $expected = array(
+ 'margin:0em 0em 0em 0em ul.test margin:0em :0em div#FFFFFF{',
+ 'margin:1px;',
+ 'padding:1px 2px;',
+ 'margin:1px 2px 3px 1px;',
+ 'padding:1px 2px 3px 4px;',
+ 'margin:0 0 1px 0;',
+ 'padding:10em 10em 0 .001em;',
+ 'padding:10% 10% 0 00.00100xxx;',
+ 'padding:0;',
+ 'padding:1em;',
+ 'color:#FFF;',
+ 'color:#777;',
+ 'color:#123456;',
+ 'border:1em solid #fff;',
+ );
+
+ $input = array_map('css_compress', $input);
+
+ $this->assertEquals($expected, $input);
+ }
+
}
//Setup VIM: ex: et ts=4 :
diff --git a/feed.php b/feed.php
index 8d1dcea6a..77c8b28df 100644
--- a/feed.php
+++ b/feed.php
@@ -429,19 +429,22 @@ function rss_buildItems(&$rss, &$data, $opt) {
$cat = getNS($id);
if($cat) $item->category = $cat;
}
-
- // finally add the item to the feed object, after handing it to registered plugins
- $evdata = array(
- 'item' => &$item,
- 'opt' => &$opt,
- 'ditem' => &$ditem,
- 'rss' => &$rss
- );
- $evt = new Doku_Event('FEED_ITEM_ADD', $evdata);
- if($evt->advise_before()) {
- $rss->addItem($item);
+
+ // Add only visible items
+ if(isVisiblePage($id)) {
+ // finally add the item to the feed object, after handing it to registered plugins
+ $evdata = array(
+ 'item' => &$item,
+ 'opt' => &$opt,
+ 'ditem' => &$ditem,
+ 'rss' => &$rss
+ );
+ $evt = new Doku_Event('FEED_ITEM_ADD', $evdata);
+ if($evt->advise_before()) {
+ $rss->addItem($item);
+ }
+ $evt->advise_after(); // for completeness
}
- $evt->advise_after(); // for completeness
}
}
$event->advise_after();
diff --git a/inc/Mailer.class.php b/inc/Mailer.class.php
index 0f3321bb9..6a6468ab4 100644
--- a/inc/Mailer.class.php
+++ b/inc/Mailer.class.php
@@ -41,9 +41,10 @@ class Mailer {
global $conf;
$server = parse_url(DOKU_URL, PHP_URL_HOST);
+ if(strpos($server,'.') === false) $server = $server.'.localhost';
$this->partid = md5(uniqid(rand(), true)).'@'.$server;
- $this->boundary = '----------'.md5(uniqid(rand(), true));
+ $this->boundary = '__________'.md5(uniqid(rand(), true));
$listid = join('.', array_reverse(explode('/', DOKU_BASE))).$server;
$listid = strtolower(trim($listid, '.'));
@@ -57,6 +58,7 @@ class Mailer {
$this->setHeader('X-DokuWiki-Server', $server);
$this->setHeader('X-Auto-Response-Suppress', 'OOF');
$this->setHeader('List-Id', $conf['title'].' <'.$listid.'>');
+ $this->setHeader('Date', date('r'), false);
}
/**
@@ -417,6 +419,8 @@ class Mailer {
$part = 1;
// embedded attachments
foreach($this->attach as $media) {
+ $media['name'] = str_replace(':', '_', cleanID($media['name'], true));
+
// create content id
$cid = 'part'.$part.'.'.$this->partid;
@@ -426,13 +430,14 @@ class Mailer {
}
$mime .= '--'.$this->boundary.MAILHEADER_EOL;
- $mime .= 'Content-Type: '.$media['mime'].';'.MAILHEADER_EOL;
+ $mime .= 'Content-Type: '.$media['mime'].';'.MAILHEADER_EOL.
+ ' id="'.$cid.'"'.MAILHEADER_EOL;
$mime .= 'Content-Transfer-Encoding: base64'.MAILHEADER_EOL;
$mime .= "Content-ID: <$cid>".MAILHEADER_EOL;
if($media['embed']) {
- $mime .= 'Content-Disposition: inline; filename="'.$media['name'].'"'.MAILHEADER_EOL;
+ $mime .= 'Content-Disposition: inline; filename='.$media['name'].''.MAILHEADER_EOL;
} else {
- $mime .= 'Content-Disposition: attachment; filename="'.$media['name'].'"'.MAILHEADER_EOL;
+ $mime .= 'Content-Disposition: attachment; filename='.$media['name'].''.MAILHEADER_EOL;
}
$mime .= MAILHEADER_EOL; //end of headers
$mime .= chunk_split(base64_encode($media['data']), 74, MAILHEADER_EOL);
@@ -469,7 +474,7 @@ class Mailer {
if(!$this->html && !count($this->attach)) { // we can send a simple single part message
$this->headers['Content-Type'] = 'text/plain; charset=UTF-8';
$this->headers['Content-Transfer-Encoding'] = 'base64';
- $body .= chunk_split(base64_encode($this->text), 74, MAILHEADER_EOL);
+ $body .= chunk_split(base64_encode($this->text), 72, MAILHEADER_EOL);
} else { // multi part it is
$body .= "This is a multi-part message in MIME format.".MAILHEADER_EOL;
@@ -484,10 +489,11 @@ class Mailer {
$body .= 'Content-Type: text/plain; charset=UTF-8'.MAILHEADER_EOL;
$body .= 'Content-Transfer-Encoding: base64'.MAILHEADER_EOL;
$body .= MAILHEADER_EOL;
- $body .= chunk_split(base64_encode($this->text), 74, MAILHEADER_EOL);
+ $body .= chunk_split(base64_encode($this->text), 72, MAILHEADER_EOL);
$body .= '--'.$this->boundary.'XX'.MAILHEADER_EOL;
$body .= 'Content-Type: multipart/related;'.MAILHEADER_EOL.
- ' boundary="'.$this->boundary.'"'.MAILHEADER_EOL;
+ ' boundary="'.$this->boundary.'";'.MAILHEADER_EOL.
+ ' type="text/html"'.MAILHEADER_EOL;
$body .= MAILHEADER_EOL;
}
@@ -495,7 +501,7 @@ class Mailer {
$body .= 'Content-Type: text/html; charset=UTF-8'.MAILHEADER_EOL;
$body .= 'Content-Transfer-Encoding: base64'.MAILHEADER_EOL;
$body .= MAILHEADER_EOL;
- $body .= chunk_split(base64_encode($this->html), 74, MAILHEADER_EOL);
+ $body .= chunk_split(base64_encode($this->html), 72, MAILHEADER_EOL);
$body .= MAILHEADER_EOL;
$body .= $attachments;
$body .= '--'.$this->boundary.'--'.MAILHEADER_EOL;
diff --git a/inc/RemoteAPICore.php b/inc/RemoteAPICore.php
index 3a713baca..74c6689ac 100644
--- a/inc/RemoteAPICore.php
+++ b/inc/RemoteAPICore.php
@@ -333,7 +333,6 @@ class RemoteAPICore {
if (!is_array($options)) $options = array();
$options['skipacl'] = 0; // no ACL skipping for XMLRPC
-
if(auth_quickaclcheck($ns.':*') >= AUTH_READ) {
$dir = utf8_encodeFN(str_replace(':', '/', $ns));
diff --git a/inc/SimplePie.php b/inc/SimplePie.php
index fd69b4b09..8a9060509 100644
--- a/inc/SimplePie.php
+++ b/inc/SimplePie.php
@@ -16579,7 +16579,11 @@ class SimplePie_Sanitize
if ($type & (SIMPLEPIE_CONSTRUCT_HTML | SIMPLEPIE_CONSTRUCT_XHTML))
{
-
+ if (!class_exists('DOMDocument'))
+ {
+ $this->registry->call('Misc', 'error', array('DOMDocument not found, unable to use sanitizer', E_USER_WARNING, __FILE__, __LINE__));
+ return '';
+ }
$document = new DOMDocument();
$document->encoding = 'UTF-8';
$data = $this->preprocess($data, $type);
diff --git a/inc/auth.php b/inc/auth.php
index 8be270bfc..36fc7d086 100644
--- a/inc/auth.php
+++ b/inc/auth.php
@@ -391,7 +391,6 @@ function auth_randombytes($length) {
}
}
-
// If no strong randoms available, try OS the specific ways
if(!$strong) {
// Unix/Linux platform
diff --git a/inc/common.php b/inc/common.php
index 3312141c8..866e0aadd 100644
--- a/inc/common.php
+++ b/inc/common.php
@@ -1625,7 +1625,8 @@ function set_doku_pref($pref, $val) {
}
if (!empty($cookieVal)) {
- setcookie('DOKU_PREFS', $cookieVal, time()+365*24*3600, DOKU_BASE, '', ($conf['securecookie'] && is_ssl()));
+ $cookieDir = empty($conf['cookiedir']) ? DOKU_REL : $conf['cookiedir'];
+ setcookie('DOKU_PREFS', $cookieVal, time()+365*24*3600, $cookieDir, '', ($conf['securecookie'] && is_ssl()));
}
}
diff --git a/inc/fulltext.php b/inc/fulltext.php
index c03126994..bd8e6b866 100644
--- a/inc/fulltext.php
+++ b/inc/fulltext.php
@@ -395,7 +395,6 @@ function ft_snippet_re_preprocess($term) {
$BR = '\b';
}
-
if(substr($term,0,2) == '\\*'){
$term = substr($term,2);
}else{
diff --git a/inc/html.php b/inc/html.php
index 03e9dc751..a13c9e58c 100644
--- a/inc/html.php
+++ b/inc/html.php
@@ -428,7 +428,7 @@ function html_revisions($first=0, $media_id = false){
global $conf;
global $lang;
$id = $ID;
- /* we need to get one additionally log entry to be able to
+ /* we need to get one additional log entry to be able to
* decide if this is the last page or is there another one.
* see html_recent()
*/
diff --git a/inc/infoutils.php b/inc/infoutils.php
index 4c279e692..7358955a0 100644
--- a/inc/infoutils.php
+++ b/inc/infoutils.php
@@ -193,7 +193,6 @@ function check(){
msg('Valid locale '.hsc($loc).' found.', 1);
}
-
if($conf['allowdebug']){
msg('Debugging support is enabled. If you don\'t need it you should set $conf[\'allowdebug\'] = 0',-1);
}else{
diff --git a/inc/init.php b/inc/init.php
index 30eb1b251..248d27b9c 100644
--- a/inc/init.php
+++ b/inc/init.php
@@ -267,10 +267,10 @@ function init_lang($langCode) {
$lang = array();
//load the language files
- require_once(DOKU_INC.'inc/lang/en/lang.php');
+ require(DOKU_INC.'inc/lang/en/lang.php');
if ($langCode && $langCode != 'en') {
if (file_exists(DOKU_INC."inc/lang/$langCode/lang.php")) {
- require_once(DOKU_INC."inc/lang/$langCode/lang.php");
+ require(DOKU_INC."inc/lang/$langCode/lang.php");
}
}
}
diff --git a/inc/lang/cs/lang.php b/inc/lang/cs/lang.php
index 77dfdc787..56ffd91de 100644
--- a/inc/lang/cs/lang.php
+++ b/inc/lang/cs/lang.php
@@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
* @author Bohumir Zamecnik <bohumir@zamecnik.org>
* @author Tomas Valenta <t.valenta@sh.cvut.cz>
* @author Tomas Valenta <tomas@valenta.cz>
@@ -15,6 +15,7 @@
* @author Jakub A. Těšínský (j@kub.cz)
* @author mkucera66@seznam.cz
* @author Zbyněk Křivka <krivka@fit.vutbr.cz>
+ * @author Gerrit Uitslag <klapinklapin@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
diff --git a/inc/lang/cs/registermail.txt b/inc/lang/cs/registermail.txt
index 7f5e4feb1..201e7b779 100644
--- a/inc/lang/cs/registermail.txt
+++ b/inc/lang/cs/registermail.txt
@@ -7,7 +7,7 @@ E-mail : @NEWEMAIL@
Datum : @DATE@
Prohlížeč : @BROWSER@
IP adresa : @IPADDRESS@
-Hostitel : @HOSTNAME
+Hostitel : @HOSTNAME@
--
Tento email byl automaticky vygenerován systémem DokuWiki
diff --git a/inc/lang/da/lang.php b/inc/lang/da/lang.php
index f36c43fdb..6fe56929d 100644
--- a/inc/lang/da/lang.php
+++ b/inc/lang/da/lang.php
@@ -1,8 +1,8 @@
<?php
+
/**
- * danish language file
- *
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author koeppe <koeppe@kazur.dk>
* @author Jon Bendtsen <bendtsen@diku.dk>
* @author Lars Næsbye Christensen <larsnaesbye@stud.ku.dk>
@@ -14,6 +14,7 @@
* @author rasmus@kinnerup.com
* @author Michael Pedersen subben@gmail.com
* @author Mikael Lyngvig <mikael@lyngvig.org>
+ * @author Soren Birk <soer9648@hotmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@@ -57,6 +58,7 @@ $lang['btn_revert'] = 'Reetablér';
$lang['btn_register'] = 'Registrér';
$lang['btn_apply'] = 'Anvend';
$lang['btn_media'] = 'Media Manager';
+$lang['btn_deleteuser'] = 'Fjern Min Konto';
$lang['loggedinas'] = 'Logget ind som';
$lang['user'] = 'Brugernavn';
$lang['pass'] = 'Adgangskode';
@@ -68,6 +70,7 @@ $lang['fullname'] = 'Fulde navn';
$lang['email'] = 'E-mail';
$lang['profile'] = 'Brugerprofil';
$lang['badlogin'] = 'Brugernavn eller adgangskode var forkert.';
+$lang['badpassconfirm'] = 'Kodeordet var desværre forkert';
$lang['minoredit'] = 'Mindre ændringer';
$lang['draftdate'] = 'Kladde automatisk gemt d.';
$lang['nosecedit'] = 'Siden blev ændret i mellemtiden, sektions information var for gammel, hentede hele siden i stedet.';
@@ -84,6 +87,9 @@ $lang['profna'] = 'Denne wiki understøtter ikke ændring af prof
$lang['profnochange'] = 'Ingen ændringer, intet modificeret.';
$lang['profnoempty'] = 'Tomt navn eller e-mail adresse er ikke tilladt.';
$lang['profchanged'] = 'Brugerprofil opdateret korrekt.';
+$lang['profnodelete'] = 'Denne wiki supporterer ikke sletning af brugere';
+$lang['profdeleteuser'] = 'Slet Konto';
+$lang['profdeleted'] = 'Din brugerkonto er blevet slettet fra denne wiki';
$lang['pwdforget'] = 'Har du glemt dit adgangskode? Få et nyt';
$lang['resendna'] = 'Denne wiki understøtter ikke udsendelse af nyt adgangskode.';
$lang['resendpwd'] = 'Vælg ny adgangskode for';
@@ -198,6 +204,7 @@ $lang['user_tools'] = 'Brugerværktøjer';
$lang['site_tools'] = 'Webstedsværktøjer';
$lang['page_tools'] = 'Sideværktøjer';
$lang['skip_to_content'] = 'hop til indhold';
+$lang['sidebar'] = 'Sidebjælke';
$lang['mail_newpage'] = 'dokument tilføjet:';
$lang['mail_changed'] = 'dokument ændret:';
$lang['mail_subscribe_list'] = 'sider ændret i navnerum';
@@ -292,6 +299,8 @@ $lang['i_pol1'] = 'Offentlig Wiki (alle kan læse, kun registrere
$lang['i_pol2'] = 'Lukket Wiki (kun for registerede brugere kan læse, skrive og overføre)';
$lang['i_retry'] = 'Forsøg igen';
$lang['i_license'] = 'Vælg venligst licensen du vil tilføje dit indhold under:';
+$lang['i_license_none'] = 'Vis ikke licensinformationer';
+$lang['i_pop_field'] = 'Hjælp os venligst med at forbedre oplevelsen af DokuWiki:';
$lang['recent_global'] = 'Du ser lige nu ændringerne i <b>%s</b> navnerummet. Du kan også <a href="%s">se de sidste ændringer for hele wiki siden </a>';
$lang['years'] = '%d år siden';
$lang['months'] = '%d måned siden';
diff --git a/inc/lang/es/lang.php b/inc/lang/es/lang.php
index 2f54a3c27..0764621b0 100644
--- a/inc/lang/es/lang.php
+++ b/inc/lang/es/lang.php
@@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
* @author Zigor Astarbe <zigor@astarbe.com>
* @author Adrián Ariza <adrian_ariza.ciudad.com.ar>
* @author Gabiel Molina <gabriel191@gmail.com>
@@ -29,6 +29,7 @@
* @author Gerardo Zamudio <gerardo@gerardozamudio.net>
* @author Mercè López mercelz@gmail.com
* @author r0sk <r0sk10@gmail.com>
+ * @author monica <may.dorado@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@@ -105,6 +106,7 @@ $lang['profnodelete'] = 'Este wiki no soporta el borrado de usuarios';
$lang['profdeleteuser'] = 'Eliminar Cuenta';
$lang['profdeleted'] = 'Tu cuenta de usuario ha sido eliminada de este wiki';
$lang['profconfdelete'] = 'Deseo eliminar mi cuenta de este wiki. <br /> Esta acción es irreversible.';
+$lang['profconfdeletemissing'] = 'Casilla de verificación no activada.';
$lang['pwdforget'] = '¿Has olvidado tu contraseña? Consigue una nueva';
$lang['resendna'] = 'Este wiki no brinda la posibilidad de reenvío de contraseña.';
$lang['resendpwd'] = 'Establecer nueva contraseña para';
@@ -287,6 +289,8 @@ $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'] = 'Resumen de correo electrónico de cambios por cada página (cada %.2f días)';
+$lang['subscr_style_list'] = 'lista de páginas modificadas desde el último correo electrónico (cada %.2f días)';
$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';
$lang['i_chooselang'] = 'Elija su idioma';
diff --git a/inc/lang/fa/lang.php b/inc/lang/fa/lang.php
index febb07088..6cb5164d8 100644
--- a/inc/lang/fa/lang.php
+++ b/inc/lang/fa/lang.php
@@ -1,19 +1,15 @@
<?php
+
/**
- * fa language file
- *
- * This file was initially built by fetching translations from other
- * Wiki projects. See the @url lines below. Additional translations
- * and fixes where done for DokuWiki by the people mentioned in the
- * lines starting with @author
- *
- * @url http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/languages/messages/MessagesFa.php?view=co
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author behrad eslamifar <behrad_es@yahoo.com)
* @author Mohsen Firoozmandan <info@mambolearn.com>
* @author Omid Mottaghi <omidmr@gmail.com>
* @author Mohammad Reza Shoaei <shoaei@gmail.com>
* @author Milad DZand <M.DastanZand@gmail.com>
* @author AmirH Hassaneini <mytechmix@gmail.com>
+ * @author mehrdad <mehrdad.jafari.bojd@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'rtl';
@@ -57,6 +53,7 @@ $lang['btn_revert'] = 'بازیابی';
$lang['btn_register'] = 'یک حساب جدید بسازید';
$lang['btn_apply'] = 'اعمال کن';
$lang['btn_media'] = 'مدیریت محتوای چند رسانه ای';
+$lang['btn_deleteuser'] = 'حذف حساب کاربری خود';
$lang['loggedinas'] = 'به عنوان کاربر روبرو وارد شده‌اید:';
$lang['user'] = 'نام کاربری:';
$lang['pass'] = 'گذرواژه‌ی شما';
@@ -68,6 +65,7 @@ $lang['fullname'] = '*نام واقعی شما';
$lang['email'] = 'ایمیل شما*';
$lang['profile'] = 'پروفایل کاربر';
$lang['badlogin'] = 'خطا در ورود به سیستم';
+$lang['badpassconfirm'] = 'متاسفم ، رمز عبور اشتباه است';
$lang['minoredit'] = 'این ویرایش خُرد است';
$lang['draftdate'] = 'ذخیره خودکار پیش‌نویس';
$lang['nosecedit'] = 'این صفحه در این میان تغییر کرده است، اطلاعات بخش قدیمی شده است، در عوض محتوای کل نمایش داده می‌شود.';
@@ -84,6 +82,8 @@ $lang['profna'] = 'این ویکی اجازه ویرایش پرو
$lang['profnochange'] = 'تغییری صورت نگرفت';
$lang['profnoempty'] = 'نام و آدرس ایمیل باید پر شود';
$lang['profchanged'] = 'پروفایل کاربر با موفقیت به روز شد';
+$lang['profnodelete'] = 'ویکی توانایی پشتیبانی از حذف کاربران را ندارد';
+$lang['profdeleteuser'] = 'حذف حساب کاربری';
$lang['pwdforget'] = 'گذرواژه‌ی خود را فراموش کرده‌اید؟ جدید دریافت کنید';
$lang['resendna'] = 'این ویکی ارسال مجدد گذرواژه را پشتیبانی نمی‌کند';
$lang['resendpwd'] = 'تعیین کلمه عبور جدید برای ';
diff --git a/inc/lang/hi/diff.txt b/inc/lang/hi/diff.txt
new file mode 100644
index 000000000..6f88c1985
--- /dev/null
+++ b/inc/lang/hi/diff.txt
@@ -0,0 +1,3 @@
+======असमानता======
+
+यह आपको पृष्ठ के दो संस्करणों के बीच असमानता को दर्शाता है. \ No newline at end of file
diff --git a/inc/lang/hi/lang.php b/inc/lang/hi/lang.php
index d2021fcae..184eeedbc 100644
--- a/inc/lang/hi/lang.php
+++ b/inc/lang/hi/lang.php
@@ -1,15 +1,11 @@
<?php
+
/**
- * hi language file
- *
- * This file was initially built by fetching translations from other
- * Wiki projects. See the @url lines below. Additional translations
- * and fixes where done for DokuWiki by the people mentioned in the
- * lines starting with @author
- *
- * @url http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/languages/messages/MessagesHi.php?view=co
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Abhinav Tyagi <abhinavtyagi11@gmail.com>
* @author yndesai@gmail.com
+ * @author Santosh Joshi <sanjujoshhi@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@@ -44,6 +40,12 @@ $lang['btn_backlink'] = 'पिछली कड़ियाँ';
$lang['btn_backtomedia'] = 'मीडिया फाइल चयन पर पीछे जायें';
$lang['btn_subscribe'] = 'सदस्यता प्रबंधन';
$lang['btn_profile'] = 'परिचय संपादित करें';
+$lang['btn_resendpwd'] = 'नया पासवर्ड सेट करें';
+$lang['btn_draft'] = 'प्रारूप सम्पादित करें';
+$lang['btn_draftdel'] = 'प्रारूप मिटायें';
+$lang['btn_revert'] = 'वापस लौटाएं';
+$lang['btn_apply'] = 'लागू करें';
+$lang['btn_deleteuser'] = 'खाता मिटायें';
$lang['user'] = 'उपयोगकर्ता का नाम';
$lang['pass'] = 'गुप्त शब्द';
$lang['newpass'] = 'नव गुप्त शब्द';
diff --git a/inc/lang/hu/lang.php b/inc/lang/hu/lang.php
index 6b950744e..2622934c2 100644
--- a/inc/lang/hu/lang.php
+++ b/inc/lang/hu/lang.php
@@ -1,8 +1,8 @@
<?php
+
/**
- * Hungarian language file
- *
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Ziegler Gábor <gziegler@freemail.hu>
* @author Sandor TIHANYI <stihanyi+dw@gmail.com>
* @author Siaynoq Mage <siaynoqmage@gmail.com>
@@ -11,6 +11,7 @@
* @author Sándor TIHANYI <stihanyi+dw@gmail.com>
* @author David Szabo <szabo.david@gyumolcstarhely.hu>
* @author Marton Sebok <sebokmarton@gmail.com>
+ * @author Serenity87HUN <anikototh87@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@@ -54,6 +55,7 @@ $lang['btn_revert'] = 'Helyreállítás';
$lang['btn_register'] = 'Regisztráció';
$lang['btn_apply'] = 'Alkalmaz';
$lang['btn_media'] = 'Médiakezelő';
+$lang['btn_deleteuser'] = 'Felhasználói fiókom eltávolítása';
$lang['loggedinas'] = 'Belépett felhasználó: ';
$lang['user'] = 'Azonosító';
$lang['pass'] = 'Jelszó';
@@ -65,6 +67,7 @@ $lang['fullname'] = 'Teljes név';
$lang['email'] = 'E-Mail';
$lang['profile'] = 'Személyes beállítások';
$lang['badlogin'] = 'Sajnáljuk, az azonosító vagy a jelszó nem jó.';
+$lang['badpassconfirm'] = 'Hibás jelszó';
$lang['minoredit'] = 'Apróbb változások';
$lang['draftdate'] = 'Piszkozat elmentve:';
$lang['nosecedit'] = 'Időközben megváltozott az oldal, emiatt a szakasz nem friss. Töltsd újra az egész oldalt!';
@@ -81,6 +84,11 @@ $lang['profna'] = 'Ez a wiki nem támogatja a személyes beállí
$lang['profnochange'] = 'Nem történt változás.';
$lang['profnoempty'] = 'A név és e-mail mező nem maradhat üresen!';
$lang['profchanged'] = 'A személyes beállítások változtatása megtörtént.';
+$lang['profnodelete'] = 'Ez a wiki nem támogatja a felhasználói fiókok törlését';
+$lang['profdeleteuser'] = 'Felhasználói fiók törlése';
+$lang['profdeleted'] = 'Felhasználói fiókodat eltávolítottuk erről a wiki-ről.';
+$lang['profconfdelete'] = 'Szeretném eltávolítani a felhasználói fiókomat erről a wikiről. <br/> Ez a cselekvés nem visszavonható.';
+$lang['profconfdeletemissing'] = 'A megerősítő négyzet nincs bepipálva';
$lang['pwdforget'] = 'Elfelejtetted a jelszavad? Itt kérhetsz újat';
$lang['resendna'] = 'Ez a wiki nem támogatja a jelszó újraküldést.';
$lang['resendpwd'] = 'Új jelszó beállítása a következőhöz:';
diff --git a/inc/lang/ja/lang.php b/inc/lang/ja/lang.php
index 12a95b1ab..b032e1ce5 100644
--- a/inc/lang/ja/lang.php
+++ b/inc/lang/ja/lang.php
@@ -10,6 +10,7 @@
* @author Taisuke Shimamoto <dentostar@gmail.com>
* @author Satoshi Sahara <sahara.satoshi@gmail.com>
* @author Hideaki SAWADA <chuno@live.jp>
+ * @author Hideaki SAWADA <sawadakun@live.jp>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@@ -53,6 +54,7 @@ $lang['btn_revert'] = '元に戻す';
$lang['btn_register'] = 'ユーザー登録';
$lang['btn_apply'] = '適用';
$lang['btn_media'] = 'メディアマネージャー';
+$lang['btn_deleteuser'] = '自分のアカウントの抹消';
$lang['loggedinas'] = 'ようこそ';
$lang['user'] = 'ユーザー名';
$lang['pass'] = 'パスワード';
@@ -64,6 +66,7 @@ $lang['fullname'] = 'フルネーム';
$lang['email'] = 'メールアドレス';
$lang['profile'] = 'ユーザー情報';
$lang['badlogin'] = 'ユーザー名かパスワードが違います。';
+$lang['badpassconfirm'] = 'パスワードが間違っています。';
$lang['minoredit'] = '小変更';
$lang['draftdate'] = 'ドラフト保存日時:';
$lang['nosecedit'] = 'ページ内容が変更されていますがセクション情報が古いため、代わりにページ全体をロードしました。';
@@ -80,6 +83,11 @@ $lang['profna'] = 'ユーザー情報の変更は出来ません'
$lang['profnochange'] = '変更点はありませんでした。';
$lang['profnoempty'] = 'ユーザー名とメールアドレスを入力して下さい。';
$lang['profchanged'] = 'ユーザー情報は更新されました。';
+$lang['profnodelete'] = 'この wiki はユーザーを削除できない。';
+$lang['profdeleteuser'] = 'アカウントの削除';
+$lang['profdeleted'] = 'このwikiからあなたのユーザーアカウントは削除済です。';
+$lang['profconfdelete'] = 'このwikiから自分のアカウント抹消を希望します。<br/> この操作は取消すことができません。';
+$lang['profconfdeletemissing'] = '確認のチェックボックスがチェックされていません。';
$lang['pwdforget'] = 'パスワードをお忘れですか?パスワード再発行';
$lang['resendna'] = 'パスワードの再発行は出来ません。';
$lang['resendpwd'] = '新しいパスワードをセット';
@@ -288,6 +296,9 @@ $lang['i_pol1'] = 'パブリック Wiki(閲覧は全ての人
$lang['i_pol2'] = 'クローズド Wiki (登録ユーザーにのみ使用を許可)';
$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">Wiki全体の最近の変更点の確認</a>もできます。';
$lang['years'] = '%d年前';
$lang['months'] = '%dカ月前';
diff --git a/inc/lang/ko/lang.php b/inc/lang/ko/lang.php
index 14c2eea29..e6cae3db0 100644
--- a/inc/lang/ko/lang.php
+++ b/inc/lang/ko/lang.php
@@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
* @author Hyun Kim <lawfully@gmail.com>
* @author jk Lee
* @author dongnak@gmail.com
@@ -10,6 +10,7 @@
* @author Seung-Chul Yoo <dryoo@live.com>
* @author erial2@gmail.com
* @author Myeongjin <aranet100@gmail.com>
+ * @author Gerrit Uitslag <klapinklapin@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@@ -95,8 +96,8 @@ $lang['resendpwdnouser'] = '죄송하지만 데이터베이스에서 이
$lang['resendpwdbadauth'] = '죄송하지만 인증 코드가 올바르지 않습니다. 잘못된 확인 링크인지 확인하세요.';
$lang['resendpwdconfirm'] = '확인 링크를 이메일로 보냈습니다.';
$lang['resendpwdsuccess'] = '새 비밀번호를 이메일로 보냈습니다.';
-$lang['license'] = '별도로 라이선스를 알리지 않을 경우, 이 위키의 내용은 다음의 라이선스에 따라 사용할 수 있습니다:';
-$lang['licenseok'] = '참고: 이 문서를 편집할 경우 다음의 라이선스에 따라 배포하는 데에 동의합니다:';
+$lang['license'] = '별도로 명시하지 않을 경우, 이 위키의 내용은 다음의 라이선스에 따라 사용할 수 있습니다:';
+$lang['licenseok'] = '참고: 이 문서를 편집하면 내용은 다음 라이선스에 따라 사용 허가에 동의합니다:';
$lang['searchmedia'] = '파일 이름 찾기:';
$lang['searchmedia_in'] = '%s에서 찾기';
$lang['txt_upload'] = '올릴 파일 선택';
@@ -321,7 +322,7 @@ $lang['media_files'] = '%s에 있는 파일';
$lang['media_upload'] = '%s에 올리기';
$lang['media_search'] = '%s에서 찾기';
$lang['media_view'] = '%s';
-$lang['media_viewold'] = '%s (%s에 있음)';
+$lang['media_viewold'] = '%2$s (%1$s에 있음)';
$lang['media_edit'] = '%s 편집';
$lang['media_history'] = '%s의 내역';
$lang['media_meta_edited'] = '메타데이터 편집됨';
diff --git a/inc/lang/nl/lang.php b/inc/lang/nl/lang.php
index 79d543206..96f29f686 100644
--- a/inc/lang/nl/lang.php
+++ b/inc/lang/nl/lang.php
@@ -19,6 +19,7 @@
* @author Gerrit <klapinklapin@gmail.com>
* @author mprins <mprins@users.sf.net>
* @author Gerrit Uitslag <klapinklapin@gmail.com>
+ * @author Klap-in <klapinklapin@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@@ -94,7 +95,7 @@ $lang['profchanged'] = 'Gebruikersprofiel succesvol aangepast';
$lang['profnodelete'] = 'Deze wiki heeft biedt geen ondersteuning voor verwijdering van gebruikers';
$lang['profdeleteuser'] = 'Verwijder gebruiker';
$lang['profdeleted'] = 'Uw gebruikersaccount is verwijderd van deze wiki';
-$lang['profconfdelete'] = 'Ik wik mijn gebruikersaccount verwijderen van deze wiki. <br/> Deze actie kan niet ongedaan gemaakt worden.';
+$lang['profconfdelete'] = 'Ik wil mijn gebruikersaccount verwijderen van deze wiki. <br/> Deze actie kan niet ongedaan gemaakt worden.';
$lang['profconfdeletemissing'] = 'Bevestigingsvinkje niet gezet';
$lang['pwdforget'] = 'Je wachtwoord vergeten? Vraag een nieuw wachtwoord aan';
$lang['resendna'] = 'Deze wiki ondersteunt het verzenden van wachtwoorden niet';
diff --git a/inc/lang/pt-br/lang.php b/inc/lang/pt-br/lang.php
index 3a92b06bf..812799f04 100644
--- a/inc/lang/pt-br/lang.php
+++ b/inc/lang/pt-br/lang.php
@@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
* @author Luis Fernando Enciso <lfenciso@certto.com.br>
* @author Alauton/Loug
* @author Frederico Gonçalves Guimarães <frederico@teia.bio.br>
@@ -20,6 +20,8 @@
* @author Frederico Guimarães <frederico@teia.bio.br>
* @author Balaco Baco <balacobaco@imap.cc>
* @author Victor Westmann <victor.westmann@gmail.com>
+ * @author Leone Lisboa Magevski <leone1983@gmail.com>
+ * @author Dário Estevão <darioems@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
diff --git a/inc/lang/sk/lang.php b/inc/lang/sk/lang.php
index a1cb96de5..e8c1151d5 100644
--- a/inc/lang/sk/lang.php
+++ b/inc/lang/sk/lang.php
@@ -1,8 +1,8 @@
<?php
+
/**
- * Slovak language file
- *
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Ondrej Vegh <ov@vsieti.sk> with help of the scholars from Zdruzena stredna skola polygraficka in Bratislava
* @author Michal Mesko <michal.mesko@gmail.com>
* @author exusik@gmail.com
@@ -50,6 +50,7 @@ $lang['btn_revert'] = 'Obnoviť';
$lang['btn_register'] = 'Registrovať';
$lang['btn_apply'] = 'Použiť';
$lang['btn_media'] = 'Správa médií';
+$lang['btn_deleteuser'] = 'Zrušiť môj účet';
$lang['loggedinas'] = 'Prihlásený(á) ako';
$lang['user'] = 'Užívateľské meno';
$lang['pass'] = 'Heslo';
@@ -61,6 +62,7 @@ $lang['fullname'] = 'Celé meno';
$lang['email'] = 'E-Mail';
$lang['profile'] = 'Užívateľský profil';
$lang['badlogin'] = 'Zadané užívateľské meno a heslo nie je správne.';
+$lang['badpassconfirm'] = 'Ľutujem, heslo bolo nesprávne.';
$lang['minoredit'] = 'Menšie zmeny';
$lang['draftdate'] = 'Koncept automaticky uložený';
$lang['nosecedit'] = 'Stránka bola medzičasom zmenená, informácie o sekcii sú zastaralé a z tohto dôvodu bola nahraná celá stránka.';
@@ -77,6 +79,11 @@ $lang['profna'] = 'Táto wiki nepodporuje zmenu profilu';
$lang['profnochange'] = 'Žiadne zmeny, nie je čo robiť.';
$lang['profnoempty'] = 'Prázdne meno alebo mailová adresa nie sú povolené.';
$lang['profchanged'] = 'Užívateľský účet úspešne zmenený.';
+$lang['profnodelete'] = 'Táto wiki neumožňuje zrušenie používateľov.';
+$lang['profdeleteuser'] = 'Zrušiť účet';
+$lang['profdeleted'] = 'Váš účet bol zrušený v tejto wiki.';
+$lang['profconfdelete'] = 'Chcem odstrániť môj účet z tejto wiki. <br/> Táto operácia je nevratná.';
+$lang['profconfdeletemissing'] = 'Nebolo zavolené potvrdzovacie políčko';
$lang['pwdforget'] = 'Zabudli ste heslo? Získajte nové!';
$lang['resendna'] = 'Táto wiki nepodporuje opätovné zasielanie hesla.';
$lang['resendpwd'] = 'Nastaviť nové heslo pre';
@@ -285,6 +292,9 @@ $lang['i_pol1'] = 'Verejná Wiki (čítanie pre každého, zápis
$lang['i_pol2'] = 'Uzatvorená Wiki (čítanie, zápis a nahrávanie len pre registrovaných užívateľov)';
$lang['i_retry'] = 'Skúsiť znovu';
$lang['i_license'] = 'Vyberte licenciu, pod ktorou chcete uložiť váš obsah:';
+$lang['i_license_none'] = 'Nezobrazovať žiadne licenčné informácie';
+$lang['i_pop_field'] = 'Prosím pomôžte nám zlepšiť prácu s DokuWiki:';
+$lang['i_pop_label'] = 'Raz mesačne zaslať anonymné údaje vývojárom DokuWiki';
$lang['recent_global'] = 'Práve prehliadate zmeny v mennom priestore <b>%s</b>. Môžete si tiež pozrieť <a href="%s">aktuálne zmeny celej wiki</a>.';
$lang['years'] = 'pred %d rokmi';
$lang['months'] = 'pred %d mesiacmi';
diff --git a/inc/lang/zh/lang.php b/inc/lang/zh/lang.php
index f761c2cb8..a125e11e7 100644
--- a/inc/lang/zh/lang.php
+++ b/inc/lang/zh/lang.php
@@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
* @author ZDYX <zhangduyixiong@gmail.com>
* @author http://www.chinese-tools.com/tools/converter-tradsimp.html
* @author George Sheraton <guxd@163.com>
@@ -16,6 +16,8 @@
* @author lainme993@gmail.com
* @author Shuo-Ting Jian <shoting@gmail.com>
* @author Rachel <rzhang0802@gmail.com>
+ * @author Donald <donaldtcong@gmail.com>
+ * @author Yangyu Huang <yangyu.huang@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@@ -59,6 +61,7 @@ $lang['btn_revert'] = '恢复';
$lang['btn_register'] = '注册';
$lang['btn_apply'] = '应用';
$lang['btn_media'] = '媒体管理器';
+$lang['btn_deleteuser'] = '移除我的账户';
$lang['loggedinas'] = '登录为';
$lang['user'] = '用户名';
$lang['pass'] = '密码';
@@ -70,6 +73,7 @@ $lang['fullname'] = '全名';
$lang['email'] = 'E-Mail';
$lang['profile'] = '用户信息';
$lang['badlogin'] = '对不起,用户名或密码错误。';
+$lang['badpassconfirm'] = '对不起,密码错误';
$lang['minoredit'] = '细微修改';
$lang['draftdate'] = '草稿自动保存于';
$lang['nosecedit'] = '在您编辑期间本页刚被他人修改过,局部信息已过期,故载入全页。';
@@ -86,6 +90,11 @@ $lang['profna'] = '本维基不支持修改个人信息';
$lang['profnochange'] = '没有改动,不进行操作。';
$lang['profnoempty'] = '不允许使用空的用户名或邮件地址。';
$lang['profchanged'] = '用户信息更新成功。';
+$lang['profnodelete'] = '这个 wiki 不支持删除用户';
+$lang['profdeleteuser'] = '删除账号';
+$lang['profdeleted'] = '你的用户已经从这个 wiki 中删除';
+$lang['profconfdelete'] = '我希望删除我的账户。<br/>这项操作无法撤销。';
+$lang['profconfdeletemissing'] = '确认框未勾选';
$lang['pwdforget'] = '忘记密码?立即获取新密码';
$lang['resendna'] = '本维基不支持二次发送密码。';
$lang['resendpwd'] = '设置新密码用于';
diff --git a/inc/pageutils.php b/inc/pageutils.php
index 5043d2263..bf79daa7d 100644
--- a/inc/pageutils.php
+++ b/inc/pageutils.php
@@ -366,7 +366,7 @@ function mediaFN($id, $rev=''){
*/
function localeFN($id,$ext='txt'){
global $conf;
- $file = DOKU_CONF.'/lang/'.$conf['lang'].'/'.$id.'.'.$ext;
+ $file = DOKU_CONF.'lang/'.$conf['lang'].'/'.$id.'.'.$ext;
if(!@file_exists($file)){
$file = DOKU_INC.'inc/lang/'.$conf['lang'].'/'.$id.'.'.$ext;
if(!@file_exists($file)){
diff --git a/inc/parser/handler.php b/inc/parser/handler.php
index 6e6cca1a9..1de981b48 100644
--- a/inc/parser/handler.php
+++ b/inc/parser/handler.php
@@ -618,7 +618,6 @@ function Doku_Handler_Parse_Media($match) {
// Split title from URL
$link = explode('|',$link,2);
-
// Check alignment
$ralign = (bool)preg_match('/^ /',$link[0]);
$lalign = (bool)preg_match('/ $/',$link[0]);
@@ -1341,7 +1340,6 @@ class Doku_Handler_Table {
break;
}
-
}
}
@@ -1368,13 +1366,13 @@ class Doku_Handler_Table {
break;
}
-
}
}
if (is_null($spanning_cell)) {
// No spanning cell found, so convert this cell to
// an empty one to avoid broken tables
- $this->tableCells[$key][1][1] = '';
+ $this->tableCalls[$key][0] = 'cdata';
+ $this->tableCalls[$key][1][0] = '';
continue;
}
$this->tableCalls[$cellKey[$spanning_cell][$lastCell]][1][2]++;
@@ -1403,7 +1401,6 @@ class Doku_Handler_Table {
}
}
-
// condense cdata
$cnt = count($this->tableCalls);
for( $key = 0; $key < $cnt; $key++){
diff --git a/inc/parser/metadata.php b/inc/parser/metadata.php
index 094c3ad05..437559370 100644
--- a/inc/parser/metadata.php
+++ b/inc/parser/metadata.php
@@ -292,7 +292,6 @@ class Doku_Renderer_metadata extends Doku_Renderer {
$id = $parts[0];
}
-
$default = $this->_simpleTitle($id);
// first resolve and clean up the $id
diff --git a/inc/parser/parser.php b/inc/parser/parser.php
index 3caad834a..e39a4daf5 100644
--- a/inc/parser/parser.php
+++ b/inc/parser/parser.php
@@ -807,7 +807,6 @@ class Doku_Parser_Mode_quotes extends Doku_Parser_Mode {
"\"",$mode,'doublequoteclosing'
);
-
}
function getSort() {
diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php
index e269563fe..fd02c0ce0 100644
--- a/inc/parser/xhtml.php
+++ b/inc/parser/xhtml.php
@@ -33,6 +33,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
private $lastsecid = 0; // last section edit id, used by startSectionEdit
var $headers = array();
+ /** @var array a list of footnotes, list starts at 1! */
var $footnotes = array();
var $lastlevel = 0;
var $node = array(0,0,0,0,0);
@@ -100,10 +101,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
if ( count ($this->footnotes) > 0 ) {
$this->doc .= '<div class="footnotes">'.DOKU_LF;
- $id = 0;
- foreach ( $this->footnotes as $footnote ) {
- $id++; // the number of the current footnote
-
+ foreach ( $this->footnotes as $id => $footnote ) {
// check its not a placeholder that indicates actual footnote text is elsewhere
if (substr($footnote, 0, 5) != "@@FNT") {
@@ -118,8 +116,8 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
if (count($alt)) {
foreach ($alt as $ref) {
// set anchor and backlink for the other footnotes
- $this->doc .= ', <sup><a href="#fnt__'.($ref+1).'" id="fn__'.($ref+1).'" class="fn_bot">';
- $this->doc .= ($ref+1).')</a></sup> '.DOKU_LF;
+ $this->doc .= ', <sup><a href="#fnt__'.($ref).'" id="fn__'.($ref).'" class="fn_bot">';
+ $this->doc .= ($ref).')</a></sup> '.DOKU_LF;
}
}
@@ -295,6 +293,10 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
* @author Andreas Gohr
*/
function footnote_close() {
+ /** @var $fnid int takes track of seen footnotes, assures they are unique even across multiple docs FS#2841 */
+ static $fnid = 0;
+ // assign new footnote id (we start at 1)
+ $fnid++;
// recover footnote into the stack and restore old content
$footnote = $this->doc;
@@ -306,17 +308,14 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
if ($i === false) {
// its a new footnote, add it to the $footnotes array
- $id = count($this->footnotes)+1;
- $this->footnotes[count($this->footnotes)] = $footnote;
+ $this->footnotes[$fnid] = $footnote;
} else {
- // seen this one before, translate the index to an id and save a placeholder
- $i++;
- $id = count($this->footnotes)+1;
- $this->footnotes[count($this->footnotes)] = "@@FNT".($i);
+ // seen this one before, save a placeholder
+ $this->footnotes[$fnid] = "@@FNT".($i);
}
// output the footnote reference and link
- $this->doc .= '<sup><a href="#fn__'.$id.'" id="fnt__'.$id.'" class="fn_top">'.$id.')</a></sup>';
+ $this->doc .= '<sup><a href="#fn__'.$fnid.'" id="fnt__'.$fnid.'" class="fn_top">'.$fnid.')</a></sup>';
}
function listu_open() {
@@ -737,7 +736,6 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
$link['class'] = 'media';
}
-
$link['title'] = $this->_xmlEntities($url);
$url = str_replace('\\','/',$url);
$url = 'file:///'.$url;
diff --git a/inc/plugin.php b/inc/plugin.php
index 422b82534..dccd37bd9 100644
--- a/inc/plugin.php
+++ b/inc/plugin.php
@@ -97,7 +97,7 @@ class DokuWiki_Plugin {
function localFN($id) {
global $conf;
$plugin = $this->getPluginName();
- $file = DOKU_CONF.'/plugin_lang/'.$plugin.'/'.$conf['lang'].'/'.$id.'.txt';
+ $file = DOKU_CONF.'plugin_lang/'.$plugin.'/'.$conf['lang'].'/'.$id.'.txt';
if (!@file_exists($file)){
$file = DOKU_PLUGIN.$plugin.'/lang/'.$conf['lang'].'/'.$id.'.txt';
if(!@file_exists($file)){
diff --git a/inc/plugincontroller.class.php b/inc/plugincontroller.class.php
index c825870cd..33d8c92cd 100644
--- a/inc/plugincontroller.class.php
+++ b/inc/plugincontroller.class.php
@@ -11,15 +11,15 @@ if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
class Doku_Plugin_Controller {
- var $list_bytype = array();
- var $tmp_plugins = array();
- var $plugin_cascade = array('default'=>array(),'local'=>array(),'protected'=>array());
- var $last_local_config_file = '';
+ protected $list_bytype = array();
+ protected $tmp_plugins = array();
+ protected $plugin_cascade = array('default'=>array(),'local'=>array(),'protected'=>array());
+ protected $last_local_config_file = '';
/**
* Populates the master list of plugins
*/
- function __construct() {
+ public function __construct() {
$this->loadConfig();
$this->_populateMasterList();
}
@@ -34,11 +34,13 @@ class Doku_Plugin_Controller {
* false to only return enabled plugins,
* true to return both enabled and disabled plugins
*
- * @return array of plugin names
+ * @return array of
+ * - plugin names when $type = ''
+ * - or plugin component names when a $type is given
*
* @author Andreas Gohr <andi@splitbrain.org>
*/
- function getList($type='',$all=false){
+ public function getList($type='',$all=false){
// request the complete list
if (!$type) {
@@ -64,9 +66,9 @@ class Doku_Plugin_Controller {
* @param $name string name of the plugin to load
* @param $new bool true to return a new instance of the plugin, false to use an already loaded instance
* @param $disabled bool true to load even disabled plugins
- * @return objectreference the plugin object or null on failure
+ * @return DokuWiki_Plugin|DokuWiki_Syntax_Plugin|null the plugin object or null on failure
*/
- function load($type,$name,$new=false,$disabled=false){
+ public function load($type,$name,$new=false,$disabled=false){
//we keep all loaded plugins available in global scope for reuse
global $DOKU_PLUGINS;
@@ -108,26 +110,59 @@ class Doku_Plugin_Controller {
return $DOKU_PLUGINS[$type][$name];
}
- function isdisabled($plugin) {
+ /**
+ * Whether plugin is disabled
+ *
+ * @param string $plugin name of plugin
+ * @return bool; true disabled, false enabled
+ */
+ public function isdisabled($plugin) {
return empty($this->tmp_plugins[$plugin]);
}
- function disable($plugin) {
+ /**
+ * Disable the plugin
+ *
+ * @param string $plugin name of plugin
+ * @return bool; true saving succeed, false saving failed
+ */
+ public function disable($plugin) {
if(array_key_exists($plugin,$this->plugin_cascade['protected'])) return false;
$this->tmp_plugins[$plugin] = 0;
return $this->saveList();
}
- function enable($plugin) {
+ /**
+ * Enable the plugin
+ *
+ * @param string $plugin name of plugin
+ * @return bool; true saving succeed, false saving failed
+ */
+ public function enable($plugin) {
if(array_key_exists($plugin,$this->plugin_cascade['protected'])) return false;
$this->tmp_plugins[$plugin] = 1;
return $this->saveList();
}
- function get_directory($plugin) {
+ /**
+ * Returns directory name of plugin
+ *
+ * @param string $plugin name of plugin
+ * @return string name of directory
+ */
+ public function get_directory($plugin) {
return $plugin;
}
+ /**
+ * Returns cascade of the config files
+ *
+ * @return array with arrays of plugin configs
+ */
+ public function getCascade() {
+ return $this->plugin_cascade;
+ }
+
protected function _populateMasterList() {
global $conf;
@@ -169,6 +204,13 @@ class Doku_Plugin_Controller {
}
}
+ /**
+ * Includes the plugin config $files
+ * and returns the entries of the $plugins array set in these files
+ *
+ * @param array $files list of files to include, latter overrides previous
+ * @return array with entries of the $plugins arrays of the included files
+ */
protected function checkRequire($files) {
$plugins = array();
foreach($files as $file) {
@@ -179,14 +221,15 @@ class Doku_Plugin_Controller {
return $plugins;
}
- function getCascade() {
- return $this->plugin_cascade;
- }
-
/**
* Save the current list of plugins
+ *
+ * @param bool $forceSave;
+ * false to save only when config changed
+ * true to always save
+ * @return bool; true saving succeed, false saving failed
*/
- function saveList($forceSave = false) {
+ protected function saveList($forceSave = false) {
global $conf;
if (empty($this->tmp_plugins)) return false;
@@ -216,9 +259,10 @@ class Doku_Plugin_Controller {
/**
* Rebuild the set of local plugins
+ *
* @return array array of plugins to be saved in end($config_cascade['plugins']['local'])
*/
- function rebuildLocal() {
+ protected function rebuildLocal() {
//assign to local variable to avoid overwriting
$backup = $this->tmp_plugins;
//Can't do anything about protected one so rule them out completely
@@ -238,7 +282,7 @@ class Doku_Plugin_Controller {
* Build the list of plugins and cascade
*
*/
- function loadConfig() {
+ protected function loadConfig() {
global $config_cascade;
foreach(array('default','protected') as $type) {
if(array_key_exists($type,$config_cascade['plugins']))
@@ -253,7 +297,18 @@ class Doku_Plugin_Controller {
$this->tmp_plugins = array_merge($this->plugin_cascade['default'],$this->plugin_cascade['local'],$this->plugin_cascade['protected']);
}
- function _getListByType($type, $enabled) {
+ /**
+ * Returns a list of available plugin components of given type
+ *
+ * @param string $type, plugin_type name;
+ * the type of plugin to return,
+ * @param bool $enabled;
+ * true to return enabled plugins,
+ * false to return disabled plugins
+ *
+ * @return array of plugin components of requested type
+ */
+ protected function _getListByType($type, $enabled) {
$master_list = $enabled ? array_keys(array_filter($this->tmp_plugins)) : array_keys(array_filter($this->tmp_plugins,array($this,'negate')));
$plugins = array();
@@ -278,14 +333,29 @@ class Doku_Plugin_Controller {
return $plugins;
}
- function _splitName($name) {
+ /**
+ * Split name in a plugin name and a component name
+ *
+ * @param string $name
+ * @return array with
+ * - plugin name
+ * - and component name when available, otherwise empty string
+ */
+ protected function _splitName($name) {
if (array_search($name, array_keys($this->tmp_plugins)) === false) {
return explode('_',$name,2);
}
return array($name,'');
}
- function negate($input) {
+
+ /**
+ * Returns inverse boolean value of the input
+ *
+ * @param mixed $input
+ * @return bool inversed boolean value of input
+ */
+ protected function negate($input) {
return !(bool) $input;
}
}
diff --git a/inc/pluginutils.php b/inc/pluginutils.php
index 7c37d4f7f..894bbefb6 100644
--- a/inc/pluginutils.php
+++ b/inc/pluginutils.php
@@ -14,31 +14,92 @@ if(!defined('DOKU_PLUGIN_NAME_REGEX')) define('DOKU_PLUGIN_NAME_REGEX', '[a-zA-Z
/**
* Original plugin functions, remain for backwards compatibility
*/
+
+/**
+ * Return list of available plugins
+ *
+ * @param string $type type of plugins; empty string for all
+ * @param bool $all; true to retrieve all, false to retrieve only enabled plugins
+ * @return array with plugin names or plugin component names
+ */
function plugin_list($type='',$all=false) {
+ /** @var $plugin_controller Doku_Plugin_Controller */
global $plugin_controller;
return $plugin_controller->getList($type,$all);
}
+
+/**
+ * Returns plugin object
+ * Returns only new instances of a plugin when $new is true or if plugin is not Singleton,
+ * otherwise an already loaded instance.
+ *
+ * @param $type string type of plugin to load
+ * @param $name string name of the plugin to load
+ * @param $new bool true to return a new instance of the plugin, false to use an already loaded instance
+ * @param $disabled bool true to load even disabled plugins
+ * @return DokuWiki_Plugin|DokuWiki_Syntax_Plugin|null the plugin object or null on failure
+ */
function plugin_load($type,$name,$new=false,$disabled=false) {
+ /** @var $plugin_controller Doku_Plugin_Controller */
global $plugin_controller;
return $plugin_controller->load($type,$name,$new,$disabled);
}
+
+/**
+ * Whether plugin is disabled
+ *
+ * @param string $plugin name of plugin
+ * @return bool; true disabled, false enabled
+ */
function plugin_isdisabled($plugin) {
+ /** @var $plugin_controller Doku_Plugin_Controller */
global $plugin_controller;
return $plugin_controller->isdisabled($plugin);
}
+
+/**
+ * Enable the plugin
+ *
+ * @param string $plugin name of plugin
+ * @return bool; true saving succeed, false saving failed
+ */
function plugin_enable($plugin) {
+ /** @var $plugin_controller Doku_Plugin_Controller */
global $plugin_controller;
return $plugin_controller->enable($plugin);
}
+
+/**
+ * Disable the plugin
+ *
+ * @param string $plugin name of plugin
+ * @return bool; true saving succeed, false saving failed
+ */
function plugin_disable($plugin) {
+ /** @var $plugin_controller Doku_Plugin_Controller */
global $plugin_controller;
return $plugin_controller->disable($plugin);
}
+
+/**
+ * Returns directory name of plugin
+ *
+ * @param string $plugin name of plugin
+ * @return string name of directory
+ */
function plugin_directory($plugin) {
+ /** @var $plugin_controller Doku_Plugin_Controller */
global $plugin_controller;
return $plugin_controller->get_directory($plugin);
}
+
+/**
+ * Returns cascade of the config files
+ *
+ * @return array with arrays of plugin configs
+ */
function plugin_getcascade() {
+ /** @var $plugin_controller Doku_Plugin_Controller */
global $plugin_controller;
return $plugin_controller->getCascade();
}
diff --git a/inc/search.php b/inc/search.php
index 884aa7b23..cd36feeab 100644
--- a/inc/search.php
+++ b/inc/search.php
@@ -9,14 +9,15 @@
if(!defined('DOKU_INC')) die('meh.');
/**
- * recurse direcory
+ * Recurse directory
*
* This function recurses into a given base directory
* and calls the supplied function for each file and directory
*
- * @param array ref $data The results of the search are stored here
+ * @param array &$data The results of the search are stored here
* @param string $base Where to start the search
* @param callback $func Callback (function name or array with object,method)
+ * @param array $opts option array will be given to the Callback
* @param string $dir Current directory beyond $base
* @param int $lvl Recursion Level
* @param mixed $sort 'natural' to use natural order sorting (default); 'date' to sort by filemtime; leave empty to skip sorting.
@@ -68,12 +69,12 @@ function search(&$data,$base,$func,$opts,$dir='',$lvl=1,$sort='natural'){
* decide if this directory should be traversed (true) or not (false)
* The function has to accept the following parameters:
*
- * &$data - Reference to the result data structure
- * $base - Base usually $conf['datadir']
- * $file - current file or directory relative to $base
- * $type - Type either 'd' for directory or 'f' for file
- * $lvl - Current recursion depht
- * $opts - option array as given to search()
+ * array &$data - Reference to the result data structure
+ * string $base - Base usually $conf['datadir']
+ * string $file - current file or directory relative to $base
+ * string $type - Type either 'd' for directory or 'f' for file
+ * int $lvl - Current recursion depht
+ * array $opts - option array as given to search()
*
* return values for files are ignored
*
@@ -334,6 +335,15 @@ function pathID($path,$keeptxt=false){
* showhidden bool show hidden files too
* firsthead bool return first heading for pages
*
+ * @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 string $type - Type either 'd' for directory or 'f' for file
+ * @param int $lvl - Current recursion depht
+ * @param array $opts - option array as given to search()
+ * @return bool if this directory should be traversed (true) or not (false)
+ * return value is ignored for files
+ *
* @author Andreas Gohr <gohr@cosmocode.de>
*/
function search_universal(&$data,$base,$file,$type,$lvl,$opts){
diff --git a/lib/exe/css.php b/lib/exe/css.php
index 60e17ae82..6dfdf06e8 100644
--- a/lib/exe/css.php
+++ b/lib/exe/css.php
@@ -148,9 +148,6 @@ function css_out(){
// parse less
$css = css_parseless($css);
- // place all remaining @import statements at the top of the file
- $css = css_moveimports($css);
-
// compress whitespace and comments
if($conf['compress']){
$css = css_compress($css);
@@ -460,28 +457,6 @@ function css_pluginstyles($mediatype='screen'){
}
/**
- * Move all @import statements in a combined stylesheet to the top so they
- * aren't ignored by the browser.
- *
- * @author Gabriel Birke <birke@d-scribe.de>
- */
-function css_moveimports($css) {
- if(!preg_match_all('/@import\s+(?:url\([^)]+\)|"[^"]+")\s*[^;]*;\s*/', $css, $matches, PREG_OFFSET_CAPTURE)) {
- return $css;
- }
- $newCss = "";
- $imports = "";
- $offset = 0;
- foreach($matches[0] as $match) {
- $newCss .= substr($css, $offset, $match[1] - $offset);
- $imports .= $match[0];
- $offset = $match[1] + strlen($match[0]);
- }
- $newCss .= substr($css, $offset);
- return $imports.$newCss;
-}
-
-/**
* Very simple CSS optimizer
*
* @author Andreas Gohr <andi@splitbrain.org>
@@ -498,8 +473,19 @@ function css_compress($css){
$css = preg_replace('/ ?([;,{}\/]) ?/','\\1',$css);
$css = preg_replace('/ ?: /',':',$css);
+ // number compression
+ $css = preg_replace('/([: ])0+(\.\d+?)0*((?:pt|pc|in|mm|cm|em|ex|px)\b|%)(?=[^\{]*[;\}])/', '$1$2$3', $css); // "0.1em" to ".1em", "1.10em" to "1.1em"
+ $css = preg_replace('/([: ])\.(0)+((?:pt|pc|in|mm|cm|em|ex|px)\b|%)(?=[^\{]*[;\}])/', '$1$2', $css); // ".0em" to "0"
+ $css = preg_replace('/([: ]0)0*(\.0*)?((?:pt|pc|in|mm|cm|em|ex|px)(?=[^\{]*[;\}])\b|%)/', '$1', $css); // "0.0em" to "0"
+ $css = preg_replace('/([: ]\d+)(\.0*)((?:pt|pc|in|mm|cm|em|ex|px)(?=[^\{]*[;\}])\b|%)/', '$1$3', $css); // "1.0em" to "1em"
+ $css = preg_replace('/([: ])0+(\d+|\d*\.\d+)((?:pt|pc|in|mm|cm|em|ex|px)(?=[^\{]*[;\}])\b|%)/', '$1$2$3', $css); // "001em" to "1em"
+
+ // shorten attributes (1em 1em 1em 1em -> 1em)
+ $css = preg_replace('/(?<![\w\-])((?:margin|padding|border|border-(?:width|radius)):)([\w\.]+)( \2)+(?=[;\}]| !)/', '$1$2', $css); // "1em 1em 1em 1em" to "1em"
+ $css = preg_replace('/(?<![\w\-])((?:margin|padding|border|border-(?:width)):)([\w\.]+) ([\w\.]+) \2 \3(?=[;\}]| !)/', '$1$2 $3', $css); // "1em 2em 1em 2em" to "1em 2em"
+
// shorten colors
- $css = preg_replace("/#([0-9a-fA-F]{1})\\1([0-9a-fA-F]{1})\\2([0-9a-fA-F]{1})\\3/", "#\\1\\2\\3",$css);
+ $css = preg_replace("/#([0-9a-fA-F]{1})\\1([0-9a-fA-F]{1})\\2([0-9a-fA-F]{1})\\3(?=[^\{]*[;\}])/", "#\\1\\2\\3", $css);
return $css;
}
diff --git a/lib/exe/js.php b/lib/exe/js.php
index 76238a81b..040b8874d 100644
--- a/lib/exe/js.php
+++ b/lib/exe/js.php
@@ -86,15 +86,20 @@ function js_out(){
// start output buffering and build the script
ob_start();
+ $json = new JSON();
// add some global variables
print "var DOKU_BASE = '".DOKU_BASE."';";
print "var DOKU_TPL = '".tpl_basedir()."';";
+ print "var DOKU_COOKIE_PARAM = " . $json->encode(
+ array(
+ 'path' => empty($conf['cookiedir']) ? DOKU_REL : $conf['cookiedir'],
+ 'secure' => $conf['securecookie'] && is_ssl()
+ )).";";
// FIXME: Move those to JSINFO
print "var DOKU_UHN = ".((int) useHeading('navigation')).";";
print "var DOKU_UHC = ".((int) useHeading('content')).";";
// load JS specific translations
- $json = new JSON();
$lang['js']['plugins'] = js_pluginstrings();
$templatestrings = js_templatestrings();
if(!empty($templatestrings)) {
diff --git a/lib/plugins/acl/admin.php b/lib/plugins/acl/admin.php
index 50377da81..5ab73670d 100644
--- a/lib/plugins/acl/admin.php
+++ b/lib/plugins/acl/admin.php
@@ -61,7 +61,6 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin {
// fresh 1:1 copy without replacements
$AUTH_ACL = file($config_cascade['acl']['default']);
-
// namespace given?
if($INPUT->str('ns') == '*'){
$this->ns = '*';
@@ -386,7 +385,6 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin {
echo '<legend>'.$this->getLang('acl_mod').'</legend>';
}
-
echo $this->_html_checkboxes($current,empty($this->ns),'acl');
if(is_null($current)){
@@ -686,7 +684,6 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin {
if($acl_level > AUTH_EDIT) $acl_level = AUTH_EDIT;
}
-
$new_acl = "$acl_scope\t$acl_user\t$acl_level\n";
$new_config = $acl_config.$new_acl;
@@ -775,7 +772,6 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin {
$inlist = true;
}
-
echo '<select name="acl_t" class="edit">'.NL;
echo ' <option value="__g__" class="aclgroup"'.$gsel.'>'.$this->getLang('acl_group').':</option>'.NL;
echo ' <option value="__u__" class="acluser"'.$usel.'>'.$this->getLang('acl_user').':</option>'.NL;
diff --git a/lib/plugins/acl/lang/da/lang.php b/lib/plugins/acl/lang/da/lang.php
index 4a9d11448..2558795fd 100644
--- a/lib/plugins/acl/lang/da/lang.php
+++ b/lib/plugins/acl/lang/da/lang.php
@@ -1,8 +1,8 @@
<?php
+
/**
- * Danish language file
- *
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author koeppe <koeppe@kazur.dk>
* @author Jon Bendtsen <bendtsen@diku.dk>
* @author Lars Næsbye Christensen <larsnaesbye@stud.ku.dk>
diff --git a/lib/plugins/acl/lang/fa/lang.php b/lib/plugins/acl/lang/fa/lang.php
index 7fe0f2c43..24bebaeaf 100644
--- a/lib/plugins/acl/lang/fa/lang.php
+++ b/lib/plugins/acl/lang/fa/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Persian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author behrad eslamifar <behrad_es@yahoo.com)
* @author Mohsen Firoozmandan <info@mambolearn.com>
* @author omidmr@gmail.com
diff --git a/lib/plugins/acl/lang/hu/lang.php b/lib/plugins/acl/lang/hu/lang.php
index 9565eddc3..cc35243e1 100644
--- a/lib/plugins/acl/lang/hu/lang.php
+++ b/lib/plugins/acl/lang/hu/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Hungarian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Sandor TIHANYI <stihanyi+dw@gmail.com>
* @author Siaynoq Mage <siaynoqmage@gmail.com>
* @author schilling.janos@gmail.com
diff --git a/lib/plugins/acl/lang/sk/lang.php b/lib/plugins/acl/lang/sk/lang.php
index 398f8c63d..51837d4b4 100644
--- a/lib/plugins/acl/lang/sk/lang.php
+++ b/lib/plugins/acl/lang/sk/lang.php
@@ -1,8 +1,8 @@
<?php
+
/**
- * Slovak language file
- *
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Ondrej Vegh <ov@vsieti.sk>
* @author Michal Mesko <michal.mesko@gmail.com>
* @author exusik@gmail.com
diff --git a/lib/plugins/acl/style.css b/lib/plugins/acl/style.css
index d8f0b53f3..a53a03450 100644
--- a/lib/plugins/acl/style.css
+++ b/lib/plugins/acl/style.css
@@ -1,4 +1,3 @@
-
#acl__tree {
font-size: 90%;
width: 25%;
@@ -138,4 +137,3 @@
#acl_manager table tr:hover {
background-color: __background_alt__;
}
-
diff --git a/lib/plugins/authad/lang/da/settings.php b/lib/plugins/authad/lang/da/settings.php
new file mode 100644
index 000000000..958c41cf5
--- /dev/null
+++ b/lib/plugins/authad/lang/da/settings.php
@@ -0,0 +1,10 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Soren Birk <soer9648@hotmail.com>
+ */
+$lang['admin_password'] = 'Kodeordet til den ovenstående bruger.';
+$lang['use_ssl'] = 'Benyt SSL forbindelse? hvis ja, vælg ikke TLS herunder.';
+$lang['use_tls'] = 'Benyt TLS forbindelse? hvis ja, vælg ikke SSL herover.';
diff --git a/lib/plugins/authad/lang/es/settings.php b/lib/plugins/authad/lang/es/settings.php
new file mode 100644
index 000000000..9d0aa80ac
--- /dev/null
+++ b/lib/plugins/authad/lang/es/settings.php
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author monica <may.dorado@gmail.com>
+ */
+$lang['account_suffix'] = 'Su cuenta, sufijo. Ejem. <code> @ my.domain.org </ code>';
+$lang['base_dn'] = 'Su base DN. Ejem. <code>DC=my,DC=dominio,DC=org</code>';
+$lang['domain_controllers'] = 'Una lista separada por coma de los controladores de dominios. Ejem. <code>srv1.dominio.org,srv2.dominio.org</code>';
+$lang['admin_username'] = 'Un usuario con privilegios de Active Directory con acceso a los datos de cualquier otro usuario. Opcional, pero es necesario para determinadas acciones como el envío de suscripciones de correos electrónicos.';
+$lang['admin_password'] = 'La contraseña del usuario anterior.';
+$lang['sso'] = 'En caso de inicio de sesión usará ¿Kerberos o NTLM?';
diff --git a/lib/plugins/authad/lang/hu/settings.php b/lib/plugins/authad/lang/hu/settings.php
index c2cab410f..1510e1756 100644
--- a/lib/plugins/authad/lang/hu/settings.php
+++ b/lib/plugins/authad/lang/hu/settings.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Hungarian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Marton Sebok <sebokmarton@gmail.com>
*/
$lang['account_suffix'] = 'Felhasználói azonosító végződése, pl. <code>@my.domain.org</code>.';
diff --git a/lib/plugins/authad/lang/ja/settings.php b/lib/plugins/authad/lang/ja/settings.php
index 72e5cc76e..f308249ef 100644
--- a/lib/plugins/authad/lang/ja/settings.php
+++ b/lib/plugins/authad/lang/ja/settings.php
@@ -11,6 +11,10 @@ $lang['base_dn'] = 'ベースDN。例:<code>DC=my,DC=domain,DC=o
$lang['domain_controllers'] = 'ドメインコントローラのカンマ区切り一覧。例:<code>srv1.domain.org,srv2.domain.org</code>';
$lang['admin_username'] = '全ユーザーデータへのアクセス権のある特権Active Directoryユーザー。任意ですが、メール通知の登録等の特定の動作に必要。';
$lang['admin_password'] = '上記ユーザーのパスワード';
+$lang['sso'] = 'Kerberos か NTLM を使ったシングルサインオン(SSO)をしますか?';
+$lang['real_primarygroup'] = '"Domain Users" を仮定する代わりに本当のプライマリグループを解決する(低速)';
+$lang['use_ssl'] = 'SSL接続を使用しますか?使用した場合、下のSSLを有効にしないでください。';
+$lang['use_tls'] = 'TLS接続を使用しますか?使用した場合、上のSSLを有効にしないでください。';
$lang['debug'] = 'エラー時に追加のデバッグ出力を表示する?';
$lang['expirywarn'] = '何日前からパスワードの有効期限をユーザーに警告する。0 の場合は無効';
$lang['additional'] = 'ユーザデータから取得する追加AD属性のカンマ区切り一覧。いくつかのプラグインが使用する。';
diff --git a/lib/plugins/authad/lang/sk/settings.php b/lib/plugins/authad/lang/sk/settings.php
new file mode 100644
index 000000000..55f266dd6
--- /dev/null
+++ b/lib/plugins/authad/lang/sk/settings.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Martin Michalek <michalek.dev@gmail.com>
+ */
+$lang['account_suffix'] = 'Prípona používateľského účtu. Napr. <code>@my.domain.org</code>';
+$lang['admin_username'] = 'Privilegovaný používateľ Active Directory s prístupom ku všetkým dátam ostatných používateľov. Nepovinné nastavenie, ale potrebné pre určité akcie ako napríklad zasielanie mailov o zmenách.';
+$lang['admin_password'] = 'Heslo vyššie uvedeného používateľa.';
+$lang['sso'] = 'Použiť Single-Sign-On cez Kerberos alebo NTLM?';
+$lang['use_ssl'] = 'Použiť SSL pripojenie? Ak áno, nepovoľte TLS nižšie.';
+$lang['use_tls'] = 'Použiť TLS pripojenie? Ak áno, nepovoľte SSL vyššie.';
+$lang['debug'] = 'Zobraziť doplňujúce ladiace informácie pri chybe?';
+$lang['additional'] = 'Zoznam dodatočných AD atribútov oddelených čiarkou získaných z údajov používateľa. Používané niektorými pluginmi.';
diff --git a/lib/plugins/authldap/auth.php b/lib/plugins/authldap/auth.php
index 6a967a6d4..de1332282 100644
--- a/lib/plugins/authldap/auth.php
+++ b/lib/plugins/authldap/auth.php
@@ -208,8 +208,8 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin {
if(is_array($key)) {
// use regexp to clean up user_result
list($key, $regexp) = each($key);
- if($user_result[$key]) foreach($user_result[$key] as $grp) {
- if(preg_match($regexp, $grp, $match)) {
+ if($user_result[$key]) foreach($user_result[$key] as $grpkey => $grp) {
+ if($grpkey !== 'count' && preg_match($regexp, $grp, $match)) {
if($localkey == 'grps') {
$info[$localkey][] = $match[1];
} else {
diff --git a/lib/plugins/authldap/lang/hu/settings.php b/lib/plugins/authldap/lang/hu/settings.php
index b4b28d0a0..041f82755 100644
--- a/lib/plugins/authldap/lang/hu/settings.php
+++ b/lib/plugins/authldap/lang/hu/settings.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Hungarian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Marton Sebok <sebokmarton@gmail.com>
*/
$lang['server'] = 'LDAP-szerver. Hosztnév (<code>localhost</code>) vagy abszolút URL portszámmal (<code>ldap://server.tld:389</code>)';
diff --git a/lib/plugins/authldap/lang/ja/settings.php b/lib/plugins/authldap/lang/ja/settings.php
index fdc6fc434..6dec9a576 100644
--- a/lib/plugins/authldap/lang/ja/settings.php
+++ b/lib/plugins/authldap/lang/ja/settings.php
@@ -1,6 +1,24 @@
<?php
+
/**
- * Japanese language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Satoshi Sahara <sahara.satoshi@gmail.com>
+ * @author Hideaki SAWADA <sawadakun@live.jp>
+ * @author Hideaki SAWADA <chuno@live.jp>
*/
+$lang['server'] = 'LDAPサーバー。ホスト名(<code>localhost</code)又は完全修飾URL(<code>ldap://server.tld:389</code>)';
+$lang['port'] = '上記が完全修飾URLでない場合、LDAPサーバーポート';
+$lang['usertree'] = 'ユーザーアカウントを探す場所。例:<code>ou=People, dc=server, dc=tld</code>';
+$lang['grouptree'] = 'ユーザーグループを探す場所。例:<code>ou=Group, dc=server, dc=tld</code>';
+$lang['userfilter'] = 'ユーザーアカウントを探すためのLDAP抽出条件。例:<code>(&amp;(uid=%{user})(objectClass=posixAccount))</code>';
+$lang['groupfilter'] = 'グループを探すLDAP抽出条件。例:<code>(&amp;(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>';
+$lang['version'] = '使用するプロトコルのバージョン。<code>3</code>を設定する必要がある場合があります。';
+$lang['starttls'] = 'TLS接続を使用しますか?';
+$lang['binddn'] = '匿名バインドでは不十分な場合、オプションバインドユーザーのDN。例:<code>cn=admin, dc=my, dc=home</code>';
+$lang['bindpw'] = '上記ユーザーのパスワード';
+$lang['debug'] = 'エラーに関して追加のデバッグ情報を表示する。';
+$lang['deref_o_0'] = 'LDAP_DEREF_NEVER';
+$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING';
+$lang['deref_o_2'] = 'LDAP_DEREF_FINDING';
+$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS';
diff --git a/lib/plugins/authldap/lang/sk/settings.php b/lib/plugins/authldap/lang/sk/settings.php
new file mode 100644
index 000000000..48bd37395
--- /dev/null
+++ b/lib/plugins/authldap/lang/sk/settings.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Martin Michalek <michalek.dev@gmail.com>
+ */
+$lang['server'] = 'LDAP server. Adresa (<code>localhost</code>) alebo úplné URL (<code>ldap://server.tld:389</code>)';
+$lang['port'] = 'Port LDAP servera, ak nebolo vyššie zadané úplné URL';
+$lang['usertree'] = 'Umiestnenie účtov používateľov. Napr. <code>ou=People, dc=server, dc=tld</code>';
+$lang['grouptree'] = 'Umiestnenie skupín používateľov. Napr. <code>ou=Group, dc=server, dc=tld</code>';
+$lang['userfilter'] = 'LDAP filter pre vyhľadávanie používateľských účtov. Napr. <code>(&amp;(uid=%{user})(objectClass=posixAccount))</code>';
+$lang['groupfilter'] = 'LDAP filter pre vyhľadávanie skupín. Napr. <code>(&amp;(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>';
+$lang['version'] = 'Použitá verzia protokolu. Možno bude potrebné nastaviť na hodnotu <code>3</code>';
+$lang['starttls'] = 'Použiť TLS pripojenie?';
+$lang['bindpw'] = 'Heslo vyššie uvedeného používateľa';
+$lang['debug'] = 'Zobraziť doplňujúce ladiace informácie pri chybe';
+$lang['deref_o_0'] = 'LDAP_DEREF_NEVER';
+$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING';
+$lang['deref_o_2'] = 'LDAP_DEREF_FINDING';
+$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS';
diff --git a/lib/plugins/authmysql/lang/en/settings.php b/lib/plugins/authmysql/lang/en/settings.php
index 77e4806b9..b95f39701 100644
--- a/lib/plugins/authmysql/lang/en/settings.php
+++ b/lib/plugins/authmysql/lang/en/settings.php
@@ -19,7 +19,7 @@ $lang['FilterGroup'] = 'SQL clause for filtering users by group membership'
$lang['SortOrder'] = 'SQL clause to sort users';
$lang['addUser'] = 'SQL statement to add a new user';
$lang['addGroup'] = 'SQL statement to add a new group';
-$lang['addUserGroup'] = 'SQL statment to add a user to an existing group';
+$lang['addUserGroup'] = 'SQL statement to add a user to an existing group';
$lang['delGroup'] = 'SQL statement to remove a group';
$lang['getUserID'] = 'SQL statement to get the primary key of a user';
$lang['delUser'] = 'SQL statement to delete a user';
@@ -36,4 +36,4 @@ $lang['getGroupID'] = 'SQL statement to get the primary key of a given gro
$lang['debug_o_0'] = 'none';
$lang['debug_o_1'] = 'on errors only';
-$lang['debug_o_2'] = 'all SQL queries'; \ No newline at end of file
+$lang['debug_o_2'] = 'all SQL queries';
diff --git a/lib/plugins/authmysql/lang/hu/settings.php b/lib/plugins/authmysql/lang/hu/settings.php
index 9489c73f9..4edceae1e 100644
--- a/lib/plugins/authmysql/lang/hu/settings.php
+++ b/lib/plugins/authmysql/lang/hu/settings.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Hungarian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Marton Sebok <sebokmarton@gmail.com>
*/
$lang['server'] = 'MySQL-szerver';
diff --git a/lib/plugins/authmysql/lang/sk/settings.php b/lib/plugins/authmysql/lang/sk/settings.php
new file mode 100644
index 000000000..8c52f905e
--- /dev/null
+++ b/lib/plugins/authmysql/lang/sk/settings.php
@@ -0,0 +1,38 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Martin Michalek <michalek.dev@gmail.com>
+ */
+$lang['server'] = 'MySQL server';
+$lang['user'] = 'Meno používateľa MySQL';
+$lang['password'] = 'Heslo pre vyššie uvedeného používateľa';
+$lang['database'] = 'Použiť databázu';
+$lang['charset'] = 'Znaková sada databázy';
+$lang['debug'] = 'Zobraziť doplňujúce ladiace informácie';
+$lang['forwardClearPass'] = 'Posielať heslo ako nezakódovaný text nižšie uvedenému SQL príkazu namiesto použitia kódovania';
+$lang['TablesToLock'] = 'Zoznam tabuliek oddelených čiarkou, ktoré by mali byť uzamknuté pri operáciách zápisu';
+$lang['checkPass'] = 'SQL príkaz pre kontrolu hesla';
+$lang['getUserInfo'] = 'SQL príkaz pre získanie informácií o používateľovi';
+$lang['getGroups'] = 'SQL príkaz pre získanie informácií o skupinách používateľa';
+$lang['getUsers'] = 'SQL príkaz pre získanie zoznamu používateľov';
+$lang['FilterLogin'] = 'SQL podmienka pre filtrovanie používateľov podľa prihlasovacieho mena';
+$lang['FilterName'] = 'SQL podmienka pre filtrovanie používateľov podľa mena a priezviska';
+$lang['FilterEmail'] = 'SQL podmienka pre filtrovanie používateľov podľa emailovej adresy';
+$lang['FilterGroup'] = 'SQL podmienka pre filtrovanie používateľov podľa skupiny';
+$lang['SortOrder'] = 'SQL podmienka pre usporiadenia používateľov';
+$lang['addUser'] = 'SQL príkaz pre pridanie nového používateľa';
+$lang['addGroup'] = 'SQL príkaz pre pridanie novej skupiny';
+$lang['addUserGroup'] = 'SQL príkaz pre pridanie používateľa do existujúcej skupiny';
+$lang['delGroup'] = 'SQL príkaz pre zrušenie skupiny';
+$lang['getUserID'] = 'SQL príkaz pre získanie primárneho klúča používateľa';
+$lang['delUser'] = 'SQL príkaz pre zrušenie používateľa';
+$lang['delUserRefs'] = 'SQL príkaz pre vyradenie používateľa zo všetkých skupín';
+$lang['updateUser'] = 'SQL príkaz pre aktualizáciu informácií o používateľovi';
+$lang['UpdateLogin'] = 'SQL podmienka pre aktualizáciu prihlasovacieho mena používateľa';
+$lang['UpdatePass'] = 'SQL podmienka pre aktualizáciu hesla používateľa';
+$lang['UpdateEmail'] = 'SQL podmienka pre aktualizáciu emailovej adresy používateľa';
+$lang['UpdateName'] = 'SQL podmienka pre aktualizáciu mena a priezviska používateľa';
+$lang['delUserGroup'] = 'SQL príkaz pre vyradenie používateľa z danej skupiny';
+$lang['getGroupID'] = 'SQL príkaz pre získanie primárneho kľúča skupiny';
diff --git a/lib/plugins/authpgsql/lang/en/settings.php b/lib/plugins/authpgsql/lang/en/settings.php
index e67235cfa..cfb2686cb 100644
--- a/lib/plugins/authpgsql/lang/en/settings.php
+++ b/lib/plugins/authpgsql/lang/en/settings.php
@@ -18,7 +18,7 @@ $lang['FilterGroup'] = 'SQL clause for filtering users by group membership'
$lang['SortOrder'] = 'SQL clause to sort users';
$lang['addUser'] = 'SQL statement to add a new user';
$lang['addGroup'] = 'SQL statement to add a new group';
-$lang['addUserGroup'] = 'SQL statment to add a user to an existing group';
+$lang['addUserGroup'] = 'SQL statement to add a user to an existing group';
$lang['delGroup'] = 'SQL statement to remove a group';
$lang['getUserID'] = 'SQL statement to get the primary key of a user';
$lang['delUser'] = 'SQL statement to delete a user';
diff --git a/lib/plugins/authpgsql/lang/hu/settings.php b/lib/plugins/authpgsql/lang/hu/settings.php
index 7b9393256..ff62a7016 100644
--- a/lib/plugins/authpgsql/lang/hu/settings.php
+++ b/lib/plugins/authpgsql/lang/hu/settings.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Hungarian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Marton Sebok <sebokmarton@gmail.com>
*/
$lang['server'] = 'PostgreSQL-szerver';
diff --git a/lib/plugins/authpgsql/lang/sk/settings.php b/lib/plugins/authpgsql/lang/sk/settings.php
new file mode 100644
index 000000000..9d656415d
--- /dev/null
+++ b/lib/plugins/authpgsql/lang/sk/settings.php
@@ -0,0 +1,37 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Martin Michalek <michalek.dev@gmail.com>
+ */
+$lang['server'] = 'PostgreSQL server';
+$lang['port'] = 'Port PostgreSQL servera';
+$lang['user'] = 'Meno používateľa PostgreSQL';
+$lang['password'] = 'Heslo pre vyššie uvedeného používateľa';
+$lang['database'] = 'Použiť databázu';
+$lang['debug'] = 'Zobraziť doplňujúce ladiace informácie';
+$lang['forwardClearPass'] = 'Posielať heslo ako nezakódovaný text nižšie uvedenému SQL príkazu namiesto použitia kódovania';
+$lang['checkPass'] = 'SQL príkaz pre kontrolu hesla';
+$lang['getUserInfo'] = 'SQL príkaz pre získanie informácií o používateľovi';
+$lang['getGroups'] = 'SQL príkaz pre získanie informácií o skupinách používateľa';
+$lang['getUsers'] = 'SQL príkaz pre získanie zoznamu používateľov';
+$lang['FilterLogin'] = 'SQL podmienka pre filtrovanie používateľov podľa prihlasovacieho mena';
+$lang['FilterName'] = 'SQL podmienka pre filtrovanie používateľov podľa mena a priezviska';
+$lang['FilterEmail'] = 'SQL podmienka pre filtrovanie používateľov podľa emailovej adresy';
+$lang['FilterGroup'] = 'SQL podmienka pre filtrovanie používateľov podľa skupiny';
+$lang['SortOrder'] = 'SQL podmienka pre usporiadenia používateľov';
+$lang['addUser'] = 'SQL príkaz pre pridanie nového používateľa';
+$lang['addGroup'] = 'SQL príkaz pre pridanie novej skupiny';
+$lang['addUserGroup'] = 'SQL príkaz pre pridanie používateľa do existujúcej skupiny';
+$lang['delGroup'] = 'SQL príkaz pre zrušenie skupiny';
+$lang['getUserID'] = 'SQL príkaz pre získanie primárneho klúča používateľa';
+$lang['delUser'] = 'SQL príkaz pre zrušenie používateľa';
+$lang['delUserRefs'] = 'SQL príkaz pre vyradenie používateľa zo všetkých skupín';
+$lang['updateUser'] = 'SQL príkaz pre aktualizáciu informácií o používateľovi';
+$lang['UpdateLogin'] = 'SQL podmienka pre aktualizáciu prihlasovacieho mena používateľa';
+$lang['UpdatePass'] = 'SQL podmienka pre aktualizáciu hesla používateľa';
+$lang['UpdateEmail'] = 'SQL podmienka pre aktualizáciu emailovej adresy používateľa';
+$lang['UpdateName'] = 'SQL podmienka pre aktualizáciu mena a priezviska používateľa';
+$lang['delUserGroup'] = 'SQL príkaz pre vyradenie používateľa z danej skupiny';
+$lang['getGroupID'] = 'SQL príkaz pre získanie primárneho kľúča skupiny';
diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php
index 182a4c65f..1d2173706 100644
--- a/lib/plugins/config/settings/config.class.php
+++ b/lib/plugins/config/settings/config.class.php
@@ -176,12 +176,10 @@ if (!class_exists('configuration')) {
for ($i=0; $i<count($matches); $i++) {
$value = $matches[$i][2];
-
// correct issues with the incoming data
// FIXME ... for now merge multi-dimensional array indices using ____
$key = preg_replace('/.\]\[./',CM_KEYMARKER,$matches[$i][1]);
-
// handle arrays
if(preg_match('/^array ?\((.*)\)/', $value, $match)){
$arr = explode(',', $match[1]);
diff --git a/lib/plugins/config/settings/config.metadata.php b/lib/plugins/config/settings/config.metadata.php
index f4c2ed265..f9dabfeb0 100644
--- a/lib/plugins/config/settings/config.metadata.php
+++ b/lib/plugins/config/settings/config.metadata.php
@@ -48,6 +48,7 @@
* 'compression' - no additional parameters. checks php installation supports possible compression alternatives
* 'licence' - as multichoice, selection constructed from licence strings in language files
* 'renderer' - as multichoice, selection constructed from enabled renderer plugins which canRender()
+ * 'authtype' - as multichoice, selection constructed from the enabled auth plugins
*
* Any setting commented or missing will use 'setting' class - text input, minimal validation, quoted output
*
diff --git a/lib/plugins/info/syntax.php b/lib/plugins/info/syntax.php
index 5e7543603..5d969d7a2 100644
--- a/lib/plugins/info/syntax.php
+++ b/lib/plugins/info/syntax.php
@@ -48,7 +48,7 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
/**
* Handle the match
*/
- function handle($match, $state, $pos, &$handler){
+ function handle($match, $state, $pos, Doku_Handler &$handler){
$match = substr($match,7,-2); //strip ~~INFO: from start and ~~ from end
return array(strtolower($match));
}
@@ -56,7 +56,7 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
/**
* Create output
*/
- function render($format, &$renderer, $data) {
+ function render($format, Doku_Renderer &$renderer, $data) {
if($format == 'xhtml'){
//handle various info stuff
switch ($data[0]){
@@ -112,7 +112,7 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
// remove subparts
foreach($plugins as $p){
- if (!$po =& plugin_load($type,$p)) continue;
+ if (!$po = plugin_load($type,$p)) continue;
list($name,$part) = explode('_',$p,2);
$plginfo[$name] = $po->getInfo();
}
@@ -146,7 +146,7 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
$plugins = plugin_list('helper');
foreach($plugins as $p){
- if (!$po =& plugin_load('helper',$p)) continue;
+ if (!$po = plugin_load('helper',$p)) continue;
if (!method_exists($po, 'getMethods')) continue;
$methods = $po->getMethods();
@@ -156,7 +156,7 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
$doc = '<h2><a name="'.$hid.'" id="'.$hid.'">'.hsc($info['name']).'</a></h2>';
$doc .= '<div class="level2">';
$doc .= '<p>'.strtr(hsc($info['desc']), array("\n"=>"<br />")).'</p>';
- $doc .= '<pre class="code">$'.$p." =& plugin_load('helper', '".$p."');</pre>";
+ $doc .= '<pre class="code">$'.$p." = plugin_load('helper', '".$p."');</pre>";
$doc .= '</div>';
foreach ($methods as $method){
$title = '$'.$p.'->'.$method['name'].'()';
@@ -215,11 +215,36 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
*/
function _syntaxmodes_xhtml(){
$modes = p_get_parsermodes();
+
+ $compactmodes = array();
+ foreach($modes as $mode){
+ $compactmodes[$mode['sort']][] = $mode['mode'];
+ }
$doc = '';
+ $doc .= '<div class="table"><table class="inline"><tbody>';
+
+ foreach($compactmodes as $sort => $modes){
+ $rowspan = '';
+ if(count($modes) > 1) {
+ $rowspan = ' rowspan="'.count($modes).'"';
+ }
- foreach ($modes as $mode){
- $doc .= $mode['mode'].' ('.$mode['sort'].'), ';
+ foreach($modes as $index => $mode) {
+ $doc .= '<tr>';
+ $doc .= '<td class="leftalign">';
+ $doc .= $mode;
+ $doc .= '</td>';
+
+ if($index === 0) {
+ $doc .= '<td class="rightalign" '.$rowspan.'>';
+ $doc .= $sort;
+ $doc .= '</td>';
+ }
+ $doc .= '</tr>';
+ }
}
+
+ $doc .= '</tbody></table></div>';
return $doc;
}
diff --git a/lib/plugins/plugin/admin.php b/lib/plugins/plugin/admin.php
index 72c58620d..3f019d5e2 100644
--- a/lib/plugins/plugin/admin.php
+++ b/lib/plugins/plugin/admin.php
@@ -65,7 +65,6 @@ class admin_plugin_plugin extends DokuWiki_Admin_Plugin {
// enable direct access to language strings
$this->setupLocale();
-
$fn = $INPUT->param('fn');
if (is_array($fn)) {
$this->cmd = key($fn);
diff --git a/lib/plugins/plugin/classes/ap_info.class.php b/lib/plugins/plugin/classes/ap_info.class.php
index dfeb52b9d..b3826b944 100644
--- a/lib/plugins/plugin/classes/ap_info.class.php
+++ b/lib/plugins/plugin/classes/ap_info.class.php
@@ -13,7 +13,6 @@ class ap_info extends ap_manage {
$component_list = $this->get_plugin_components($this->manager->plugin);
usort($component_list, array($this,'component_sort'));
-
foreach ($component_list as $component) {
if (($obj = &plugin_load($component['type'],$component['name'],false,true)) === null) continue;
diff --git a/lib/plugins/plugin/lang/cs/lang.php b/lib/plugins/plugin/lang/cs/lang.php
index a92f8b1c2..fb8b6cc4e 100644
--- a/lib/plugins/plugin/lang/cs/lang.php
+++ b/lib/plugins/plugin/lang/cs/lang.php
@@ -15,6 +15,7 @@
* @author Jakub A. Těšínský (j@kub.cz)
* @author mkucera66@seznam.cz
* @author Zbyněk Křivka <krivka@fit.vutbr.cz>
+ * @author Gerrit Uitslag <klapinklapin@gmail.com>
*/
$lang['menu'] = 'Správa pluginů';
$lang['download'] = 'Stáhnout a instalovat plugin';
diff --git a/lib/plugins/plugin/lang/da/lang.php b/lib/plugins/plugin/lang/da/lang.php
index d1deb6310..d2751fa1b 100644
--- a/lib/plugins/plugin/lang/da/lang.php
+++ b/lib/plugins/plugin/lang/da/lang.php
@@ -1,8 +1,8 @@
<?php
+
/**
- * Danish language file
- *
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Lars Næsbye Christensen <larsnaesbye@stud.ku.dk>
* @author Kalle Sommer Nielsen <kalle@php.net>
* @author Esben Laursen <hyber@hyber.dk>
diff --git a/lib/plugins/plugin/lang/fa/lang.php b/lib/plugins/plugin/lang/fa/lang.php
index bc43ee3ef..0a8fadb3c 100644
--- a/lib/plugins/plugin/lang/fa/lang.php
+++ b/lib/plugins/plugin/lang/fa/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Persian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author behrad eslamifar <behrad_es@yahoo.com)
* @author Mohsen Firoozmandan <info@mambolearn.com>
* @author omidmr@gmail.com
diff --git a/lib/plugins/plugin/lang/hi/lang.php b/lib/plugins/plugin/lang/hi/lang.php
index 67b177256..89d27cee1 100644
--- a/lib/plugins/plugin/lang/hi/lang.php
+++ b/lib/plugins/plugin/lang/hi/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Hindi language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Abhinav Tyagi <abhinavtyagi11@gmail.com>
* @author yndesai@gmail.com
*/
diff --git a/lib/plugins/plugin/lang/hu/lang.php b/lib/plugins/plugin/lang/hu/lang.php
index 235d33a0e..b8fa2cdbe 100644
--- a/lib/plugins/plugin/lang/hu/lang.php
+++ b/lib/plugins/plugin/lang/hu/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Hungarian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Sandor TIHANYI <stihanyi+dw@gmail.com>
* @author Siaynoq Mage <siaynoqmage@gmail.com>
* @author schilling.janos@gmail.com
diff --git a/lib/plugins/plugin/lang/sk/lang.php b/lib/plugins/plugin/lang/sk/lang.php
index 5024872f1..35c07cf80 100644
--- a/lib/plugins/plugin/lang/sk/lang.php
+++ b/lib/plugins/plugin/lang/sk/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Slovak language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Ondrej Végh <ov@vsieti.sk>
* @author Michal Mesko <michal.mesko@gmail.com>
* @author exusik@gmail.com
diff --git a/lib/plugins/popularity/action.php b/lib/plugins/popularity/action.php
index f0cbb771b..9e2e78d11 100644
--- a/lib/plugins/popularity/action.php
+++ b/lib/plugins/popularity/action.php
@@ -35,7 +35,6 @@ class action_plugin_popularity extends Dokuwiki_Action_Plugin {
//Actually send it
$status = $this->helper->sendData( $this->helper->gatherAsString() );
-
if ( $status !== '' ){
//If an error occured, log it
io_saveFile( $this->helper->autosubmitErrorFile, $status );
diff --git a/lib/plugins/popularity/lang/da/lang.php b/lib/plugins/popularity/lang/da/lang.php
index bbf2a1ab4..78c447197 100644
--- a/lib/plugins/popularity/lang/da/lang.php
+++ b/lib/plugins/popularity/lang/da/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Danish language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Kalle Sommer Nielsen <kalle@php.net>
* @author Esben Laursen <hyber@hyber.dk>
* @author Harith <haj@berlingske.dk>
diff --git a/lib/plugins/popularity/lang/fa/lang.php b/lib/plugins/popularity/lang/fa/lang.php
index 6a0529891..d2f071b07 100644
--- a/lib/plugins/popularity/lang/fa/lang.php
+++ b/lib/plugins/popularity/lang/fa/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Persian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author behrad eslamifar <behrad_es@yahoo.com)
* @author Mohsen Firoozmandan <info@mambolearn.com>
* @author omidmr@gmail.com
diff --git a/lib/plugins/popularity/lang/hi/lang.php b/lib/plugins/popularity/lang/hi/lang.php
index c0085d72a..c818c7a1e 100644
--- a/lib/plugins/popularity/lang/hi/lang.php
+++ b/lib/plugins/popularity/lang/hi/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Hindi language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Abhinav Tyagi <abhinavtyagi11@gmail.com>
* @author yndesai@gmail.com
*/
diff --git a/lib/plugins/popularity/lang/hu/lang.php b/lib/plugins/popularity/lang/hu/lang.php
index 5ee40eacc..213d22655 100644
--- a/lib/plugins/popularity/lang/hu/lang.php
+++ b/lib/plugins/popularity/lang/hu/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Hungarian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Sandor TIHANYI <stihanyi+dw@gmail.com>
* @author Siaynoq Mage <siaynoqmage@gmail.com>
* @author schilling.janos@gmail.com
diff --git a/lib/plugins/popularity/lang/sk/lang.php b/lib/plugins/popularity/lang/sk/lang.php
index bc46b03c5..ab7accf0c 100644
--- a/lib/plugins/popularity/lang/sk/lang.php
+++ b/lib/plugins/popularity/lang/sk/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Slovak language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Michal Mesko <michal.mesko@gmail.com>
* @author exusik@gmail.com
* @author Martin Michalek <michalek.dev@gmail.com>
diff --git a/lib/plugins/revert/admin.php b/lib/plugins/revert/admin.php
index b65472e4c..423d67449 100644
--- a/lib/plugins/revert/admin.php
+++ b/lib/plugins/revert/admin.php
@@ -120,7 +120,6 @@ class admin_plugin_revert extends DokuWiki_Admin_Plugin {
$recents = getRecents(0,$this->max_lines);
echo '<ul>';
-
$cnt = 0;
foreach($recents as $recent){
if($filter){
diff --git a/lib/plugins/revert/lang/cs/lang.php b/lib/plugins/revert/lang/cs/lang.php
index d918e2e69..b9e7284d4 100644
--- a/lib/plugins/revert/lang/cs/lang.php
+++ b/lib/plugins/revert/lang/cs/lang.php
@@ -14,6 +14,7 @@
* @author Jakub A. Těšínský (j@kub.cz)
* @author mkucera66@seznam.cz
* @author Zbyněk Křivka <krivka@fit.vutbr.cz>
+ * @author Gerrit Uitslag <klapinklapin@gmail.com>
*/
$lang['menu'] = 'Obnova zaspamovaných stránek';
$lang['filter'] = 'Hledat zaspamované stránky';
diff --git a/lib/plugins/revert/lang/da/lang.php b/lib/plugins/revert/lang/da/lang.php
index a76541a78..bb311f18f 100644
--- a/lib/plugins/revert/lang/da/lang.php
+++ b/lib/plugins/revert/lang/da/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Danish language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Kalle Sommer Nielsen <kalle@php.net>
* @author Esben Laursen <hyber@hyber.dk>
* @author Harith <haj@berlingske.dk>
diff --git a/lib/plugins/revert/lang/fa/lang.php b/lib/plugins/revert/lang/fa/lang.php
index ba20313a3..c6ce6176f 100644
--- a/lib/plugins/revert/lang/fa/lang.php
+++ b/lib/plugins/revert/lang/fa/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Persian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author behrad eslamifar <behrad_es@yahoo.com)
* @author Mohsen Firoozmandan <info@mambolearn.com>
* @author omidmr@gmail.com
diff --git a/lib/plugins/revert/lang/hu/lang.php b/lib/plugins/revert/lang/hu/lang.php
index 051e7b7d7..d16764a35 100644
--- a/lib/plugins/revert/lang/hu/lang.php
+++ b/lib/plugins/revert/lang/hu/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Hungarian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Sandor TIHANYI <stihanyi+dw@gmail.com>
* @author Siaynoq Mage <siaynoqmage@gmail.com>
* @author schilling.janos@gmail.com
diff --git a/lib/plugins/revert/lang/sk/intro.txt b/lib/plugins/revert/lang/sk/intro.txt
index e69de29bb..aa75a2c10 100644
--- a/lib/plugins/revert/lang/sk/intro.txt
+++ b/lib/plugins/revert/lang/sk/intro.txt
@@ -0,0 +1,3 @@
+====== Obnova dát ======
+
+Táto stránka slúži na automatické obnovenie obsahu stránok po útoku spamom. Pre identifikáciu napadnutých stránok zadajte vyhľadávací reťazec (napr. spam URL), potom potvrďte, že nájdené stránky sú skutočne napadnuté, a zrušte posledné zmeny. \ No newline at end of file
diff --git a/lib/plugins/revert/lang/sk/lang.php b/lib/plugins/revert/lang/sk/lang.php
index 368d2d929..7ab21f287 100644
--- a/lib/plugins/revert/lang/sk/lang.php
+++ b/lib/plugins/revert/lang/sk/lang.php
@@ -1,12 +1,13 @@
<?php
+
/**
- * Slovaklanguage file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Michal Mesko <michal.mesko@gmail.com>
* @author exusik@gmail.com
* @author Martin Michalek <michalek.dev@gmail.com>
*/
-$lang['menu'] = 'Reverzný manažér';
+$lang['menu'] = 'Obnova dát';
$lang['filter'] = 'Hľadať spamerské stránky';
$lang['revert'] = 'Vrátiť vybrané stránky';
$lang['reverted'] = '%s vrátená na revíziu %s';
diff --git a/lib/plugins/syntax.php b/lib/plugins/syntax.php
index 6aa403b61..8df5abb08 100644
--- a/lib/plugins/syntax.php
+++ b/lib/plugins/syntax.php
@@ -216,12 +216,12 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode {
global $conf; // definitely don't invoke "global $lang"
$path = DOKU_PLUGIN.$this->getPluginName().'/lang/';
-
+
$lang = array();
// don't include once, in case several plugin components require the same language file
@include($path.'en/lang.php');
if ($conf['lang'] != 'en') @include($path.$conf['lang'].'/lang.php');
-
+
$this->lang = $lang;
$this->localised = true;
}
diff --git a/lib/plugins/usermanager/admin.php b/lib/plugins/usermanager/admin.php
index 3dba5a86e..c4d71cb22 100644
--- a/lib/plugins/usermanager/admin.php
+++ b/lib/plugins/usermanager/admin.php
@@ -21,29 +21,30 @@ if(!defined('DOKU_PLUGIN_IMAGES')) define('DOKU_PLUGIN_IMAGES',DOKU_BASE.'lib/pl
*/
class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
- var $_auth = null; // auth object
- var $_user_total = 0; // number of registered users
- var $_filter = array(); // user selection filter(s)
- var $_start = 0; // index of first user to be displayed
- var $_last = 0; // index of the last user to be displayed
- var $_pagesize = 20; // number of users to list on one page
- var $_edit_user = ''; // set to user selected for editing
- var $_edit_userdata = array();
- var $_disabled = ''; // if disabled set to explanatory string
- var $_import_failures = array();
+ protected $_auth = null; // auth object
+ protected $_user_total = 0; // number of registered users
+ protected $_filter = array(); // user selection filter(s)
+ protected $_start = 0; // index of first user to be displayed
+ protected $_last = 0; // index of the last user to be displayed
+ protected $_pagesize = 20; // number of users to list on one page
+ protected $_edit_user = ''; // set to user selected for editing
+ protected $_edit_userdata = array();
+ protected $_disabled = ''; // if disabled set to explanatory string
+ protected $_import_failures = array();
/**
* Constructor
*/
- function admin_plugin_usermanager(){
+ public function admin_plugin_usermanager(){
+ /** @var DokuWiki_Auth_Plugin $auth */
global $auth;
$this->setupLocale();
if (!isset($auth)) {
- $this->disabled = $this->lang['noauth'];
+ $this->_disabled = $this->lang['noauth'];
} else if (!$auth->canDo('getUsers')) {
- $this->disabled = $this->lang['nosupport'];
+ $this->_disabled = $this->lang['nosupport'];
} else {
// we're good to go
@@ -58,27 +59,27 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
}
/**
- * return prompt for admin menu
+ * Return prompt for admin menu
*/
- function getMenuText($language) {
+ public function getMenuText($language) {
if (!is_null($this->_auth))
return parent::getMenuText($language);
- return $this->getLang('menu').' '.$this->disabled;
+ return $this->getLang('menu').' '.$this->_disabled;
}
/**
* return sort order for position in admin menu
*/
- function getMenuSort() {
+ public function getMenuSort() {
return 2;
}
/**
- * handle user request
+ * Handle user request
*/
- function handle() {
+ public function handle() {
global $INPUT;
if (is_null($this->_auth)) return false;
@@ -122,12 +123,13 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
case 'last' : $this->_start = $this->_user_total; break;
}
$this->_validatePagination();
+ return true;
}
/**
- * output appropriate html
+ * Output appropriate html
*/
- function html() {
+ public function html() {
global $ID;
if(is_null($this->_auth)) {
@@ -136,13 +138,12 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
}
$user_list = $this->_auth->retrieveUsers($this->_start, $this->_pagesize, $this->_filter);
- $users = array_keys($user_list);
$page_buttons = $this->_pagination();
$delete_disable = $this->_auth->canDo('delUser') ? '' : 'disabled="disabled"';
$editable = $this->_auth->canDo('UserMod');
- $export_label = empty($this->_filter) ? $this->lang['export_all'] : $this->lang[export_filtered];
+ $export_label = empty($this->_filter) ? $this->lang['export_all'] : $this->lang['export_filtered'];
print $this->locale_xhtml('intro');
print $this->locale_xhtml('list');
@@ -153,7 +154,12 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
if ($this->_user_total > 0) {
ptln("<p>".sprintf($this->lang['summary'],$this->_start+1,$this->_last,$this->_user_total,$this->_auth->getUserCount())."</p>");
} else {
- ptln("<p>".sprintf($this->lang['nonefound'],$this->_auth->getUserCount())."</p>");
+ if($this->_user_total < 0) {
+ $allUserTotal = 0;
+ } else {
+ $allUserTotal = $this->_auth->getUserCount();
+ }
+ ptln("<p>".sprintf($this->lang['nonefound'], $allUserTotal)."</p>");
}
ptln("<form action=\"".wl($ID)."\" method=\"post\">");
formSecurityToken();
@@ -177,6 +183,12 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
ptln(" <tbody>");
foreach ($user_list as $user => $userinfo) {
extract($userinfo);
+ /**
+ * @var string $name
+ * @var string $pass
+ * @var string $mail
+ * @var array $grps
+ */
$groups = join(', ',$grps);
ptln(" <tr class=\"user_info\">");
ptln(" <td class=\"centeralign\"><input type=\"checkbox\" name=\"delete[".$user."]\" ".$delete_disable." /></td>");
@@ -251,13 +263,18 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
$this->_htmlImportForm();
}
ptln("</div>");
+ return true;
}
-
/**
- * @todo disable fields which the backend can't change
+ * Display form to add or modify a user
+ *
+ * @param string $cmd 'add' or 'modify'
+ * @param string $user id of user
+ * @param array $userdata array with name, mail, pass and grps
+ * @param int $indent
*/
- function _htmlUserForm($cmd,$user='',$userdata=array(),$indent=0) {
+ protected function _htmlUserForm($cmd,$user='',$userdata=array(),$indent=0) {
global $conf;
global $ID;
@@ -327,7 +344,17 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
ptln("</form>",$indent);
}
- function _htmlInputField($id, $name, $label, $value, $cando, $indent=0) {
+ /**
+ * Prints a inputfield
+ *
+ * @param string $id
+ * @param string $name
+ * @param string $label
+ * @param string $value
+ * @param bool $cando whether auth backend is capable to do this action
+ * @param int $indent
+ */
+ protected function _htmlInputField($id, $name, $label, $value, $cando, $indent=0) {
$class = $cando ? '' : ' class="disabled"';
echo str_pad('',$indent);
@@ -342,7 +369,6 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
$autocomp = '';
}
-
echo "<tr $class>";
echo "<td><label for=\"$id\" >$label: </label></td>";
echo "<td>";
@@ -356,12 +382,23 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
echo "</tr>";
}
- function _htmlFilter($key) {
+ /**
+ * Returns htmlescaped filter value
+ *
+ * @param string $key name of search field
+ * @return string html escaped value
+ */
+ protected function _htmlFilter($key) {
if (empty($this->_filter)) return '';
return (isset($this->_filter[$key]) ? hsc($this->_filter[$key]) : '');
}
- function _htmlFilterSettings($indent=0) {
+ /**
+ * Print hidden inputs with the current filter values
+ *
+ * @param int $indent
+ */
+ protected function _htmlFilterSettings($indent=0) {
ptln("<input type=\"hidden\" name=\"start\" value=\"".$this->_start."\" />",$indent);
@@ -370,7 +407,12 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
}
}
- function _htmlImportForm($indent=0) {
+ /**
+ * Print import form and summary of previous import
+ *
+ * @param int $indent
+ */
+ protected function _htmlImportForm($indent=0) {
global $ID;
$failure_download_link = wl($ID,array('do'=>'admin','page'=>'usermanager','fn[importfails]'=>1));
@@ -379,7 +421,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
print $this->locale_xhtml('import');
ptln(' <form action="'.wl($ID).'" method="post" enctype="multipart/form-data">',$indent);
formSecurityToken();
- ptln(' <label>User list file (csv): <input type="file" name="import" /></label>',$indent);
+ ptln(' <label>'.$this->lang['import_userlistcsv'].'<input type="file" name="import" /></label>',$indent);
ptln(' <input type="submit" name="fn[import]" value="'.$this->lang['import'].'" />',$indent);
ptln(' <input type="hidden" name="do" value="admin" />',$indent);
ptln(' <input type="hidden" name="page" value="usermanager" />',$indent);
@@ -392,7 +434,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
if ($this->_import_failures) {
$digits = strlen(count($this->_import_failures));
ptln('<div class="level3 import_failures">',$indent);
- ptln(' <h3>Most Recent Import - Failures</h3>');
+ ptln(' <h3>'.$this->lang['import_header'].'</h3>');
ptln(' <table class="import_failures">',$indent);
ptln(' <thead>',$indent);
ptln(' <tr>',$indent);
@@ -417,13 +459,18 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
}
ptln(' </tbody>',$indent);
ptln(' </table>',$indent);
- ptln(' <p><a href="'.$failure_download_link.'">Download Failures as CSV for correction</a></p>');
+ ptln(' <p><a href="'.$failure_download_link.'">'.$this->lang['import_downloadfailures'].'</a></p>');
ptln('</div>');
}
}
- function _addUser(){
+ /**
+ * Add an user to auth backend
+ *
+ * @return bool whether succesful
+ */
+ protected function _addUser(){
global $INPUT;
if (!checkSecurityToken()) return false;
if (!$this->_auth->canDo('addUser')) return false;
@@ -484,9 +531,11 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
}
/**
- * Delete user
+ * Delete user from auth backend
+ *
+ * @return bool whether succesful
*/
- function _deleteUser(){
+ protected function _deleteUser(){
global $conf, $INPUT;
if (!checkSecurityToken()) return false;
@@ -519,12 +568,14 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
/**
* Edit user (a user has been selected for editing)
+ *
+ * @param string $param id of the user
+ * @return bool whether succesful
*/
- function _editUser($param) {
+ protected function _editUser($param) {
if (!checkSecurityToken()) return false;
if (!$this->_auth->canDo('UserMod')) return false;
-
- $user = cleanID(preg_replace('/.*:/','',$param));
+ $user = $this->_auth->cleanUser(preg_replace('/.*[:\/]/','',$param));
$userdata = $this->_auth->getUserData($user);
// no user found?
@@ -540,16 +591,18 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
}
/**
- * Modify user (modified user data has been recieved)
+ * Modify user in the auth backend (modified user data has been recieved)
+ *
+ * @return bool whether succesful
*/
- function _modifyUser(){
+ protected function _modifyUser(){
global $conf, $INPUT;
if (!checkSecurityToken()) return false;
if (!$this->_auth->canDo('UserMod')) return false;
// get currently valid user data
- $olduser = cleanID(preg_replace('/.*:/','',$INPUT->str('userid_old')));
+ $olduser = $this->_auth->cleanUser(preg_replace('/.*[:\/]/','',$INPUT->str('userid_old')));
$oldinfo = $this->_auth->getUserData($olduser);
// get new user data subject to change
@@ -610,9 +663,14 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
}
/**
- * send password change notification email
+ * Send password change notification email
+ *
+ * @param string $user id of user
+ * @param string $password plain text
+ * @param bool $status_alert whether status alert should be shown
+ * @return bool whether succesful
*/
- function _notifyUser($user, $password, $status_alert=true) {
+ protected function _notifyUser($user, $password, $status_alert=true) {
if ($sent = auth_sendPassword($user,$password)) {
if ($status_alert) {
@@ -628,11 +686,13 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
}
/**
- * retrieve & clean user data from the form
+ * Retrieve & clean user data from the form
*
+ * @param bool $clean whether the cleanUser method of the authentication backend is applied
* @return array (user, password, full name, email, array(groups))
*/
- function _retrieveUser($clean=true) {
+ protected function _retrieveUser($clean=true) {
+ /** @var DokuWiki_Auth_Plugin $auth */
global $auth;
global $INPUT;
@@ -651,7 +711,12 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
return $user;
}
- function _setFilter($op) {
+ /**
+ * Set the filter with the current search terms or clear the filter
+ *
+ * @param string $op 'new' or 'clear'
+ */
+ protected function _setFilter($op) {
$this->_filter = array();
@@ -665,7 +730,12 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
}
}
- function _retrieveFilter() {
+ /**
+ * Get the current search terms
+ *
+ * @return array
+ */
+ protected function _retrieveFilter() {
global $INPUT;
$t_filter = $INPUT->arr('filter');
@@ -681,7 +751,10 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
return $filter;
}
- function _validatePagination() {
+ /**
+ * Validate and improve the pagination values
+ */
+ protected function _validatePagination() {
if ($this->_start >= $this->_user_total) {
$this->_start = $this->_user_total - $this->_pagesize;
@@ -691,10 +764,12 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
$this->_last = min($this->_user_total, $this->_start + $this->_pagesize);
}
- /*
- * return an array of strings to enable/disable pagination buttons
+ /**
+ * Return an array of strings to enable/disable pagination buttons
+ *
+ * @return array with enable/disable attributes
*/
- function _pagination() {
+ protected function _pagination() {
$disabled = 'disabled="disabled"';
@@ -710,10 +785,10 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
return $buttons;
}
- /*
- * export a list of users in csv format using the current filter criteria
+ /**
+ * Export a list of users in csv format using the current filter criteria
*/
- function _export() {
+ protected function _export() {
// list of users for export - based on current filter criteria
$user_list = $this->_auth->retrieveUsers(0, 0, $this->_filter);
$column_headings = array(
@@ -742,12 +817,14 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
die;
}
- /*
- * import a file of users in csv format
+ /**
+ * Import a file of users in csv format
*
* csv file should have 4 columns, user_id, full name, email, groups (comma separated)
+ *
+ * @return bool whether succesful
*/
- function _import() {
+ protected function _import() {
// check we are allowed to add users
if (!checkSecurityToken()) return false;
if (!$this->_auth->canDo('addUser')) return false;
@@ -807,9 +884,17 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
$_SESSION['import_failures'] = $this->_import_failures;
session_write_close();
}
+ return true;
}
- function _cleanImportUser($candidate, & $error){
+ /**
+ * Returns cleaned user data
+ *
+ * @param array $candidate raw values of line from input file
+ * @param $error
+ * @return array|bool cleaned data or false
+ */
+ protected function _cleanImportUser($candidate, & $error){
global $INPUT;
// kludgy ....
@@ -848,7 +933,16 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
return $cleaned;
}
- function _addImportUser($user, & $error){
+ /**
+ * Adds imported user to auth backend
+ *
+ * Required a check of canDo('addUser') before
+ *
+ * @param array $user data of user
+ * @param string &$error reference catched error message
+ * @return bool whether succesful
+ */
+ protected function _addImportUser($user, & $error){
if (!$this->_auth->triggerUserMod('create', $user)) {
$error = $this->lang['import_error_create'];
return false;
@@ -857,7 +951,10 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
return true;
}
- function _downloadImportFailures(){
+ /**
+ * Downloads failures as csv file
+ */
+ protected function _downloadImportFailures(){
// ==============================================================================================
// GENERATE OUTPUT
@@ -869,7 +966,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
// output the csv
$fd = fopen('php://output','w');
- foreach ($this->_import_failures as $line => $fail) {
+ foreach ($this->_import_failures as $fail) {
fputs($fd, $fail['orig']);
}
fclose($fd);
diff --git a/lib/plugins/usermanager/lang/da/lang.php b/lib/plugins/usermanager/lang/da/lang.php
index 845457f7e..6b615b51d 100644
--- a/lib/plugins/usermanager/lang/da/lang.php
+++ b/lib/plugins/usermanager/lang/da/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Danish language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Lars Næsbye Christensen <larsnaesbye@stud.ku.dk>
* @author Kalle Sommer Nielsen <kalle@php.net>
* @author Esben Laursen <hyber@hyber.dk>
diff --git a/lib/plugins/usermanager/lang/en/lang.php b/lib/plugins/usermanager/lang/en/lang.php
index 69119e196..f87c77afb 100644
--- a/lib/plugins/usermanager/lang/en/lang.php
+++ b/lib/plugins/usermanager/lang/en/lang.php
@@ -61,7 +61,9 @@ $lang['add_fail'] = 'User addition failed';
$lang['notify_ok'] = 'Notification email sent';
$lang['notify_fail'] = 'Notification email could not be sent';
-// import errors
+// import & errors
+$lang['import_userlistcsv'] = 'User list file (CSV): ';
+$lang['import_header'] = 'Most Recent Import - Failures';
$lang['import_success_count'] = 'User Import: %d users found, %d imported successfully.';
$lang['import_failure_count'] = 'User Import: %d failed. Failures are listed below.';
$lang['import_error_fields'] = "Insufficient fields, found %d, require 4.";
@@ -72,5 +74,6 @@ $lang['import_error_upload'] = 'Import Failed. The csv file could not be upload
$lang['import_error_readfail'] = 'Import Failed. Unable to read uploaded file.';
$lang['import_error_create'] = 'Unable to create the user';
$lang['import_notify_fail'] = 'Notification message could not be sent for imported user, %s with email %s.';
+$lang['import_downloadfailures'] = 'Download Failures as CSV for correction';
diff --git a/lib/plugins/usermanager/lang/fa/lang.php b/lib/plugins/usermanager/lang/fa/lang.php
index 8176b776b..a6a484411 100644
--- a/lib/plugins/usermanager/lang/fa/lang.php
+++ b/lib/plugins/usermanager/lang/fa/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Persian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author behrad eslamifar <behrad_es@yahoo.com)
* @author Mohsen Firoozmandan <info@mambolearn.com>
* @author omidmr@gmail.com
diff --git a/lib/plugins/usermanager/lang/hu/import.txt b/lib/plugins/usermanager/lang/hu/import.txt
new file mode 100644
index 000000000..5a4bc8b1c
--- /dev/null
+++ b/lib/plugins/usermanager/lang/hu/import.txt
@@ -0,0 +1,9 @@
+==== Felhasználók tömeges importálása ====
+
+Egy, legalább 4 oszlopot tartalmazó, felhasználóikat tartalmazó fájl szükséges hozzá.
+Az oszlopok kötelező tartalma, megfelelő sorrendben: felhasználói azonosító, teljes név, e-mailcím és csoportjai.
+A CSV mezőit vesszővel (,) kell elválasztani, a szövegeket idézőjelek ("") közé kell foglalni.
+Mintafájl megtekintéséhez próbáld ki a fenti, "Felhasználók exportálása" funkciót. A fordított törtvonallal (\) lehet kilépni.
+Megegyező felhasználói azonosítók esetén, nem kerülnek feldolgozásra.
+
+Minden sikeresen importált felhasználó kap egy e-mailt, amiben megtalálja a generált jelszavát. \ No newline at end of file
diff --git a/lib/plugins/usermanager/lang/hu/lang.php b/lib/plugins/usermanager/lang/hu/lang.php
index 71a5b4bc9..dd76bfd50 100644
--- a/lib/plugins/usermanager/lang/hu/lang.php
+++ b/lib/plugins/usermanager/lang/hu/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Hungarian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Sandor TIHANYI <stihanyi+dw@gmail.com>
* @author Siaynoq Mage <siaynoqmage@gmail.com>
* @author schilling.janos@gmail.com
@@ -9,6 +10,7 @@
* @author Sándor TIHANYI <stihanyi+dw@gmail.com>
* @author David Szabo <szabo.david@gyumolcstarhely.hu>
* @author Marton Sebok <sebokmarton@gmail.com>
+ * @author Serenity87HUN <anikototh87@gmail.com>
*/
$lang['menu'] = 'Felhasználók kezelése';
$lang['noauth'] = '(A felhasználói azonosítás nem működik.)';
@@ -31,6 +33,11 @@ $lang['search'] = 'Keresés';
$lang['search_prompt'] = 'Keresés';
$lang['clear'] = 'Keresési szűrés törlése';
$lang['filter'] = 'Szűrés';
+$lang['export_all'] = 'Összes felhasználó exportálása (CSV)';
+$lang['export_filtered'] = 'Kiválasztott felhasználók exportálása (CSV)';
+$lang['import'] = 'Új felhasználók importálása';
+$lang['line'] = 'Sor száma';
+$lang['error'] = 'Hibaüzenet';
$lang['summary'] = '%1$d-%2$d. felhasználók megjelenítése a(z) %3$d megtalált felhasználóból. %4$d felhasználó van összesen.';
$lang['nonefound'] = 'Nincs ilyen felhasználó. %d felhasználó van összesen.';
$lang['delete_ok'] = '%d felhasználó törölve.';
@@ -51,3 +58,16 @@ $lang['add_ok'] = 'A felhasználó sikeresen hozzáadva.';
$lang['add_fail'] = 'A felhasználó hozzáadása nem sikerült.';
$lang['notify_ok'] = 'Értesítő levél elküldve.';
$lang['notify_fail'] = 'Nem sikerült az értesítő levelet elküldeni.';
+$lang['import_userlistcsv'] = 'Felhasználók listája fájl (CSV)';
+$lang['import_header'] = 'Legutóbbi importálás - Hibák';
+$lang['import_success_count'] = 'Felhasználók importálása: %d felhasználót találtunk, ebből %d sikeresen importálva.';
+$lang['import_failure_count'] = 'Felhasználók importálása: %d sikertelen. A sikertelenség okait lejjebb találod.';
+$lang['import_error_fields'] = 'Túl kevés mezőt adtál meg, %d darabot találtunk, legalább 4-re van szükség.';
+$lang['import_error_baduserid'] = 'Felhasználói azonosító hiányzik';
+$lang['import_error_badname'] = 'Nem megfelelő név';
+$lang['import_error_badmail'] = 'Nem megfelelő e-mailcím';
+$lang['import_error_upload'] = 'Sikertelen importálás. A csv fájl nem feltölthető vagy üres.';
+$lang['import_error_readfail'] = 'Sikertelen importálás. A feltöltött fájl nem olvasható.';
+$lang['import_error_create'] = 'Ez a felhasználó nem hozható létre';
+$lang['import_notify_fail'] = 'Az értesítő e-mail nem küldhető el az alábbi importált felhasználónak: %s e-mailcíme: %s.';
+$lang['import_downloadfailures'] = 'Töltsd le a hibákat tartalmazó fájlt CSV formátumban, hogy ki tudd javítani a hibákat';
diff --git a/lib/plugins/usermanager/lang/ja/import.txt b/lib/plugins/usermanager/lang/ja/import.txt
new file mode 100644
index 000000000..d4f7d08bf
--- /dev/null
+++ b/lib/plugins/usermanager/lang/ja/import.txt
@@ -0,0 +1,10 @@
+===== 一括ユーザーインポート =====
+
+少なくとも4列のユーザーCSVファイルが必要です。
+列の順序:ユーザーID、氏名、電子メールアドレス、グループ。
+CSVフィールドはカンマ(,)区切り、文字列は引用符("")区切りです。
+エスケープにバックスラッシュ(\)を使用できます。
+適切なファイル例は、上記の"エクスポートユーザー"機能で試して下さい。
+重複するユーザーIDは無視されます。
+
+正常にインポートされたユーザー毎に、パスワードを作成し、電子メールで送付します。 \ No newline at end of file
diff --git a/lib/plugins/usermanager/lang/ja/lang.php b/lib/plugins/usermanager/lang/ja/lang.php
index 8b85ee9fd..0830416f3 100644
--- a/lib/plugins/usermanager/lang/ja/lang.php
+++ b/lib/plugins/usermanager/lang/ja/lang.php
@@ -10,6 +10,8 @@
* @author Kazutaka Miyasaka <kazmiya@gmail.com>
* @author Taisuke Shimamoto <dentostar@gmail.com>
* @author Satoshi Sahara <sahara.satoshi@gmail.com>
+ * @author Hideaki SAWADA <sawadakun@live.jp>
+ * @author Hideaki SAWADA <chuno@live.jp>
*/
$lang['menu'] = 'ユーザー管理';
$lang['noauth'] = '(ユーザー認証が無効です)';
@@ -32,6 +34,11 @@ $lang['search'] = '検索';
$lang['search_prompt'] = '検索を実行';
$lang['clear'] = '検索フィルターをリセット';
$lang['filter'] = 'フィルター';
+$lang['export_all'] = '全ユーザーのエクスポート(CSV)';
+$lang['export_filtered'] = '抽出したユーザー一覧のエクスポート(CSV)';
+$lang['import'] = '新規ユーザーのインポート';
+$lang['line'] = '行番号';
+$lang['error'] = 'エラーメッセージ';
$lang['summary'] = 'ユーザー %1$d-%2$d / %3$d, 総ユーザー数 %4$d';
$lang['nonefound'] = 'ユーザーが見つかりません, 総ユーザー数 %d';
$lang['delete_ok'] = '%d ユーザーが削除されました';
@@ -52,3 +59,16 @@ $lang['add_ok'] = 'ユーザーを登録しました';
$lang['add_fail'] = 'ユーザーの登録に失敗しました';
$lang['notify_ok'] = '通知メールを送信しました';
$lang['notify_fail'] = '通知メールを送信できませんでした';
+$lang['import_userlistcsv'] = 'ユーザー一覧ファイル(CSV):';
+$lang['import_header'] = '最新インポート - 失敗';
+$lang['import_success_count'] = 'ユーザーインポート:ユーザーが%d件あり、%d件正常にインポートされました。';
+$lang['import_failure_count'] = 'ユーザーインポート:%d件が失敗しました。失敗は次のとおりです。';
+$lang['import_error_fields'] = '列の不足(4列必要)が%d件ありました。';
+$lang['import_error_baduserid'] = '欠落したユーザーID';
+$lang['import_error_badname'] = '不正な氏名';
+$lang['import_error_badmail'] = '不正な電子メールアドレス';
+$lang['import_error_upload'] = 'インポートが失敗しました。CSVファイルをアップロードできなかったか、ファイルが空です。';
+$lang['import_error_readfail'] = 'インポートが失敗しました。アップロードされたファイルが読込できません。';
+$lang['import_error_create'] = 'ユーザーが作成できません。';
+$lang['import_notify_fail'] = '通知メッセージがインポートされたユーザー(%s)・電子メールアドレス(%s)に送信できませんでした。';
+$lang['import_downloadfailures'] = '修正用に失敗を CSVファイルとしてダウンロードする。';
diff --git a/lib/plugins/usermanager/lang/ko/lang.php b/lib/plugins/usermanager/lang/ko/lang.php
index f2116f688..1905fadc2 100644
--- a/lib/plugins/usermanager/lang/ko/lang.php
+++ b/lib/plugins/usermanager/lang/ko/lang.php
@@ -9,6 +9,7 @@
* @author Seung-Chul Yoo <dryoo@live.com>
* @author erial2@gmail.com
* @author Myeongjin <aranet100@gmail.com>
+ * @author Gerrit Uitslag <klapinklapin@gmail.com>
*/
$lang['menu'] = '사용자 관리자';
$lang['noauth'] = '(사용자 인증이 불가능합니다)';
@@ -56,6 +57,8 @@ $lang['add_ok'] = '사용자를 성공적으로 추가했습니
$lang['add_fail'] = '사용자 추가를 실패했습니다';
$lang['notify_ok'] = '알림 이메일을 성공적으로 보냈습니다';
$lang['notify_fail'] = '알림 이메일을 보낼 수 없습니다';
+$lang['import_userlistcsv'] = '사용자 목록 파일 (CSV):';
+$lang['import_header'] = '가장 최근 가져오기 - 실패';
$lang['import_success_count'] = '사용자 가져오기: 사용자 %d명을 찾았고, %d명을 성공적으로 가져왔습니다.';
$lang['import_failure_count'] = '사용자 가져오기: %d명을 가져오지 못했습니다. 실패는 아래에 나타나 있습니다.';
$lang['import_error_fields'] = '충분하지 않은 필드로, %d개를 찾았고, 4개가 필요합니다.';
@@ -65,4 +68,5 @@ $lang['import_error_badmail'] = '잘못된 이메일 주소';
$lang['import_error_upload'] = '가져오기를 실패했습니다. csv 파일을 올릴 수 없거나 비어 있습니다.';
$lang['import_error_readfail'] = '가져오기를 실패했습니다. 올린 파일을 읽을 수 없습니다.';
$lang['import_error_create'] = '사용자를 만들 수 없습니다.';
-$lang['import_notify_fail'] = '알림 메시지를 가져온 %s (이메일: %s ) 사용자에게 보낼 수 없습니다.';
+$lang['import_notify_fail'] = '알림 메시지를 가져온 %2$s (이메일: %1$s ) 사용자에게 보낼 수 없습니다.';
+$lang['import_downloadfailures'] = '교정을 위한 CSV로 다운로드 실패';
diff --git a/lib/plugins/usermanager/lang/nl/lang.php b/lib/plugins/usermanager/lang/nl/lang.php
index 7be10c16a..5cebede89 100644
--- a/lib/plugins/usermanager/lang/nl/lang.php
+++ b/lib/plugins/usermanager/lang/nl/lang.php
@@ -14,7 +14,6 @@
* @author Timon Van Overveldt <timonvo@gmail.com>
* @author Jeroen
* @author Ricardo Guijt <ricardoguijt@gmail.com>
- * @author Gerrit <klapinklapin@gmail.com>
* @author Gerrit Uitslag <klapinklapin@gmail.com>
*/
$lang['menu'] = 'Gebruikersmanager';
@@ -39,7 +38,7 @@ $lang['search_prompt'] = 'Voer zoekopdracht uit';
$lang['clear'] = 'Verwijder zoekfilter';
$lang['filter'] = 'Filter';
$lang['export_all'] = 'Exporteer Alle Gebruikers (CSV)';
-$lang['export_filtered'] = 'Exporteer de lijst van Gefilterde Gebruikers (CSV)';
+$lang['export_filtered'] = 'Exporteer Gefilterde Gebruikers (CSV)';
$lang['import'] = 'Importeer Nieuwe Gebruikers';
$lang['line'] = 'Regelnummer';
$lang['error'] = 'Foutmelding';
@@ -63,6 +62,8 @@ $lang['add_ok'] = 'Gebruiker succesvol toegevoegd';
$lang['add_fail'] = 'Gebruiker kon niet worden toegevoegd';
$lang['notify_ok'] = 'Notificatie-e-mail verzonden';
$lang['notify_fail'] = 'Notificatie-e-mail kon niet worden verzonden';
+$lang['import_userlistcsv'] = 'Gebruikerslijst (CSV-bestand):';
+$lang['import_header'] = 'Meest recente import - Gevonden fouten';
$lang['import_success_count'] = 'Gebruikers importeren: %d gebruikers gevonden, %d geïmporteerd';
$lang['import_failure_count'] = 'Gebruikers importeren: %d mislukt. Fouten zijn hieronder weergegeven.';
$lang['import_error_fields'] = 'Onvoldoende velden, gevonden %d, nodig 4.';
@@ -73,3 +74,4 @@ $lang['import_error_upload'] = 'Importeren mislukt. Het CSV bestand kon niet w
$lang['import_error_readfail'] = 'Importeren mislukt. Lezen van het geüploade bestand is mislukt.';
$lang['import_error_create'] = 'Aanmaken van de gebruiker was niet mogelijk.';
$lang['import_notify_fail'] = 'Notificatiebericht kon niet naar de geïmporteerde gebruiker worden verstuurd, %s met e-mail %s.';
+$lang['import_downloadfailures'] = 'Download de gevonden fouten als CSV voor correctie';
diff --git a/lib/plugins/usermanager/lang/pt-br/lang.php b/lib/plugins/usermanager/lang/pt-br/lang.php
index 8beae392f..9bb37742a 100644
--- a/lib/plugins/usermanager/lang/pt-br/lang.php
+++ b/lib/plugins/usermanager/lang/pt-br/lang.php
@@ -18,6 +18,8 @@
* @author Isaias Masiero Filho <masiero@masiero.org>
* @author Balaco Baco <balacobaco@imap.cc>
* @author Victor Westmann <victor.westmann@gmail.com>
+ * @author Leone Lisboa Magevski <leone1983@gmail.com>
+ * @author Dário Estevão <darioems@gmail.com>
*/
$lang['menu'] = 'Gerenciamento de Usuários';
$lang['noauth'] = '(o gerenciamento de usuários não está disponível)';
@@ -40,6 +42,10 @@ $lang['search'] = 'Pesquisar';
$lang['search_prompt'] = 'Executar a pesquisa';
$lang['clear'] = 'Limpar o filtro de pesquisa';
$lang['filter'] = 'Filtro';
+$lang['export_all'] = 'Exportar Todos Usuários (CSV)';
+$lang['import'] = 'Importar Novos Usuários';
+$lang['line'] = 'Linha Nº.';
+$lang['error'] = 'Mensagem de Erro';
$lang['summary'] = 'Exibindo usuários %1$d-%2$d de %3$d encontrados. %4$d usuários no total.';
$lang['nonefound'] = 'Nenhum usuário encontrado. %d usuários no total.';
$lang['delete_ok'] = '%d usuários excluídos';
@@ -60,3 +66,12 @@ $lang['add_ok'] = 'O usuário foi adicionado com sucesso';
$lang['add_fail'] = 'O usuário não foi adicionado';
$lang['notify_ok'] = 'O e-mail de notificação foi enviado';
$lang['notify_fail'] = 'Não foi possível enviar o e-mail de notificação';
+$lang['import_success_count'] = 'Importação de Usuário: %d usuário (s) encontrado (s), %d importado (s) com sucesso.';
+$lang['import_failure_count'] = 'Importação de Usuário: %d falhou. As falhas estão listadas abaixo.';
+$lang['import_error_fields'] = 'Campos insuficientes, encontrado (s) %d, necessário 4.';
+$lang['import_error_baduserid'] = 'Id do usuário não encontrado.';
+$lang['import_error_badname'] = 'Nome errado';
+$lang['import_error_badmail'] = 'Endereço de email errado';
+$lang['import_error_upload'] = 'Falha na Importação: O arquivo csv não pode ser carregado ou está vazio.';
+$lang['import_error_readfail'] = 'Falha na Importação: Habilitar para ler o arquivo a ser carregado.';
+$lang['import_error_create'] = 'Habilitar para criar o usuário.';
diff --git a/lib/plugins/usermanager/lang/sk/import.txt b/lib/plugins/usermanager/lang/sk/import.txt
new file mode 100644
index 000000000..91fa3e370
--- /dev/null
+++ b/lib/plugins/usermanager/lang/sk/import.txt
@@ -0,0 +1,9 @@
+===== Hromadný import používateľov =====
+
+Vyžaduje CSV súbor používateľov s minimálne 4 stĺpcami.
+Stĺpce musia obsahovať postupne: ID používateľa, meno a priezvisko, emailová adresa a skupiny.
+CVS záznamy by mali byť oddelené čiarkou (,) a reťazce uzavreté úvodzovkami (""). Znak (\) sa používa v spojení so špeciálnymi znakmi.
+Príklad vhodného súboru je možné získať funkciou "Export používateľov".
+Duplicitné ID používateľov budú ignorované.
+
+Každému úspešne importovanému používateľovi bude vygenerované heslo a zaslaný email. \ No newline at end of file
diff --git a/lib/plugins/usermanager/lang/sk/lang.php b/lib/plugins/usermanager/lang/sk/lang.php
index 54ed374c6..9aadbb53a 100644
--- a/lib/plugins/usermanager/lang/sk/lang.php
+++ b/lib/plugins/usermanager/lang/sk/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Slovak language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Ondrej Végh <ov@vsieti.sk>
* @author Michal Mesko <michal.mesko@gmail.com>
* @author exusik@gmail.com
@@ -28,6 +29,11 @@ $lang['search'] = 'Hľadať';
$lang['search_prompt'] = 'Vykonať vyhľadávanie';
$lang['clear'] = 'Vynulovať vyhľadávací filter';
$lang['filter'] = 'Filter';
+$lang['export_all'] = 'Export všetkých používateľov (CSV)';
+$lang['export_filtered'] = 'Export zoznamu používateľov na základe filtra (CSV)';
+$lang['import'] = 'Import nových používateľov';
+$lang['line'] = 'Riadok č.';
+$lang['error'] = 'Chybová správa';
$lang['summary'] = 'Zobrazenie užívateľov %1$d-%2$d z %3$d nájdených. %4$d užívateľov celkom.';
$lang['nonefound'] = 'Žiadni užívatelia nenájdení. %d užívateľov celkom.';
$lang['delete_ok'] = '%d užívateľov zmazaných';
@@ -48,3 +54,16 @@ $lang['add_ok'] = 'Používateľ úspešne pridaný';
$lang['add_fail'] = 'Pridávanie užívateľa nebolo úspešné';
$lang['notify_ok'] = 'Notifikačný e-mail bol poslaný';
$lang['notify_fail'] = 'Notifikačný e-mail nemohol byť poslaný';
+$lang['import_userlistcsv'] = 'Súbor so zoznamov používateľov (CSV):';
+$lang['import_header'] = 'Chyby pri poslednom importe';
+$lang['import_success_count'] = 'Import používateľov: %d nájdených, %d úspešne importovaných.';
+$lang['import_failure_count'] = 'Import používateľov: %d neúspešných. Problámy vypísané nižšie.';
+$lang['import_error_fields'] = 'Neúplné záznamy, %d nájdené, 4 požadované.';
+$lang['import_error_baduserid'] = 'Chýba ID používateľa';
+$lang['import_error_badname'] = 'Nesprávne meno';
+$lang['import_error_badmail'] = 'Nesprávna emailová adresa';
+$lang['import_error_upload'] = 'Import neúspešný. CSV súbor nemohol byť nahraný alebo je prázdny.';
+$lang['import_error_readfail'] = 'Import neúspešný. Nie je možné prečítať nahraný súbor.';
+$lang['import_error_create'] = 'Nie je možné vytvoriť pouzívateľa';
+$lang['import_notify_fail'] = 'Správa nemohla byť zaslaná importovanému používatelovi, %s s emailom %s.';
+$lang['import_downloadfailures'] = 'Stiahnuť chyby vo formáte CSV za účelom opravy';
diff --git a/lib/plugins/usermanager/lang/zh/lang.php b/lib/plugins/usermanager/lang/zh/lang.php
index 2674983b2..06656110f 100644
--- a/lib/plugins/usermanager/lang/zh/lang.php
+++ b/lib/plugins/usermanager/lang/zh/lang.php
@@ -16,6 +16,7 @@
* @author lainme993@gmail.com
* @author Shuo-Ting Jian <shoting@gmail.com>
* @author Rachel <rzhang0802@gmail.com>
+ * @author Yangyu Huang <yangyu.huang@gmail.com>
*/
$lang['menu'] = '用户管理器';
$lang['noauth'] = '(用户认证不可用)';
@@ -38,6 +39,8 @@ $lang['search'] = '搜索';
$lang['search_prompt'] = '进行搜索';
$lang['clear'] = '重置搜索过滤器';
$lang['filter'] = '过滤器';
+$lang['export_all'] = '导出所有用户(CSV)';
+$lang['export_filtered'] = '导出已筛选的用户列表(CSV)';
$lang['import'] = '请输入新用户名';
$lang['line'] = '行号';
$lang['error'] = '信息错误';
@@ -61,6 +64,10 @@ $lang['add_ok'] = '用户添加成功';
$lang['add_fail'] = '用户添加失败';
$lang['notify_ok'] = '通知邮件已发送';
$lang['notify_fail'] = '通知邮件无法发送';
+$lang['import_userlistcsv'] = '用户列表文件(CSV)';
+$lang['import_header'] = '最近一次导入 - 失败';
+$lang['import_success_count'] = '用户导入:找到了 %d 个用户,%d 个用户被成功导入。';
+$lang['import_failure_count'] = '用户导入:%d 个用户导入失败。下面列出了失败的用户。';
$lang['import_error_baduserid'] = '用户ID丢失';
$lang['import_error_badname'] = '名称错误';
$lang['import_error_badmail'] = '邮件地址错误';
diff --git a/lib/scripts/cookie.js b/lib/scripts/cookie.js
index 3ad67bfa4..8417d2064 100644
--- a/lib/scripts/cookie.js
+++ b/lib/scripts/cookie.js
@@ -30,7 +30,7 @@ var DokuCookie = {
text.push(encodeURIComponent(key)+'#'+encodeURIComponent(val));
}
});
- jQuery.cookie(this.name, text.join('#'), {expires: 365, path: DOKU_BASE});
+ jQuery.cookie(this.name, text.join('#'), {expires: 365, path: DOKU_COOKIE_PARAM.path, secure: DOKU_COOKIE_PARAM.secure});
},
/**
diff --git a/lib/scripts/linkwiz.js b/lib/scripts/linkwiz.js
index 875d4a995..f6ac9b032 100644
--- a/lib/scripts/linkwiz.js
+++ b/lib/scripts/linkwiz.js
@@ -237,7 +237,6 @@ var dw_linkwiz = {
link = ':' + link;
}
-
var so = link.length;
var eo = 0;
if(dw_linkwiz.val){
diff --git a/lib/scripts/textselection.js b/lib/scripts/textselection.js
index bd80e9341..26b4196f2 100644
--- a/lib/scripts/textselection.js
+++ b/lib/scripts/textselection.js
@@ -104,7 +104,6 @@ function getSelection(textArea) {
}
} while ((!before_finished || !selection_finished));
-
// count number of newlines in str to work around stupid IE selection bug
var countNL = function(str) {
var m = str.split("\r\n");
@@ -230,4 +229,3 @@ function insertAtCarret(textAreaID, text){
var selection = getSelection(txtarea);
pasteText(selection,text,{nosel: true});
}
-
diff --git a/lib/tpl/dokuwiki/css/_forms.css b/lib/tpl/dokuwiki/css/_forms.css
index 4d3f2b97a..522f9ed4d 100644
--- a/lib/tpl/dokuwiki/css/_forms.css
+++ b/lib/tpl/dokuwiki/css/_forms.css
@@ -1,4 +1,3 @@
-
/* TODO: this file is not up to the best standards and will be fixed after an overhaul of the form code */
/**
diff --git a/lib/tpl/dokuwiki/css/_media_fullscreen.css b/lib/tpl/dokuwiki/css/_media_fullscreen.css
index 28e347882..31b71897b 100644
--- a/lib/tpl/dokuwiki/css/_media_fullscreen.css
+++ b/lib/tpl/dokuwiki/css/_media_fullscreen.css
@@ -501,4 +501,3 @@
width: 100%;
max-width: none;
}
-
diff --git a/lib/tpl/dokuwiki/detail.php b/lib/tpl/dokuwiki/detail.php
index 9c04ba8e7..c602830f7 100644
--- a/lib/tpl/dokuwiki/detail.php
+++ b/lib/tpl/dokuwiki/detail.php
@@ -122,11 +122,11 @@ header('X-UA-Compatible: IE=edge,chrome=1');
// Back to [ID]; @todo: transfer logic to backend
$data['img_backto'] = '<li><a href="'.wl($ID).'" class="back"><span>'.$lang['img_backto'].' '.$ID.'</span></a></li>';
- // the page tools can be ammended through a custom plugin hook
+ // the page tools can be amended through a custom plugin hook
// if you're deriving from this template and your design is close enough to
// the dokuwiki template you might want to trigger a DOKUWIKI event instead
- // of using $conf['tpl'] here
- $hook = 'TEMPLATE_'.strtoupper($conf['tpl']).'_PAGETOOLS_DISPLAY';
+ // of using $conf['template'] here
+ $hook = 'TEMPLATE_'.strtoupper($conf['template']).'_PAGETOOLS_DISPLAY';
$evt = new Doku_Event($hook, $data);
if($evt->advise_before()){
foreach($evt->data as $k => $html) echo $html;
diff --git a/lib/tpl/dokuwiki/main.php b/lib/tpl/dokuwiki/main.php
index 9e507d86d..f6ca4ed86 100644
--- a/lib/tpl/dokuwiki/main.php
+++ b/lib/tpl/dokuwiki/main.php
@@ -83,11 +83,11 @@ $showSidebar = $hasSidebar && ($ACT=='show');
'top' => tpl_action('top', 1, 'li', 1, '<span>', '</span>')
);
- // the page tools can be ammended through a custom plugin hook
+ // the page tools can be amended through a custom plugin hook
// if you're deriving from this template and your design is close enough to
// the dokuwiki template you might want to trigger a DOKUWIKI event instead
- // of using $conf['tpl'] here
- $hook = 'TEMPLATE_'.strtoupper($conf['tpl']).'_PAGETOOLS_DISPLAY';
+ // of using $conf['template'] here
+ $hook = 'TEMPLATE_'.strtoupper($conf['template']).'_PAGETOOLS_DISPLAY';
$evt = new Doku_Event($hook, $data);
if($evt->advise_before()){
foreach($evt->data as $k => $html) echo $html;