aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/exe/css.php41
-rw-r--r--lib/exe/js.php26
-rw-r--r--lib/images/fileicons/index.php2
-rw-r--r--lib/images/smileys/index.php2
-rw-r--r--lib/plugins/acl/admin.php12
-rw-r--r--lib/plugins/acl/lang/fi/lang.php5
-rw-r--r--lib/plugins/acl/lang/id/lang.php2
-rw-r--r--lib/plugins/acl/script.js4
-rw-r--r--lib/plugins/authad/lang/de/settings.php2
-rw-r--r--lib/plugins/authad/lang/fi/lang.php2
-rw-r--r--lib/plugins/authad/lang/fi/settings.php2
-rw-r--r--lib/plugins/authad/lang/ja/settings.php1
-rw-r--r--lib/plugins/authldap/lang/cs/settings.php2
-rw-r--r--lib/plugins/authldap/lang/de/settings.php2
-rw-r--r--lib/plugins/authldap/lang/es/settings.php3
-rw-r--r--lib/plugins/authldap/lang/fi/settings.php2
-rw-r--r--lib/plugins/authldap/lang/ja/settings.php1
-rw-r--r--lib/plugins/authldap/lang/nl/settings.php2
-rw-r--r--lib/plugins/authldap/lang/pt-br/settings.php2
-rw-r--r--lib/plugins/authplain/lang/fi/lang.php2
-rw-r--r--lib/plugins/authplain/lang/id/lang.php3
-rw-r--r--lib/plugins/config/core/Setting/SettingSepchar.php2
-rw-r--r--lib/plugins/config/lang/cs/lang.php5
-rw-r--r--lib/plugins/config/lang/de/lang.php6
-rw-r--r--lib/plugins/config/lang/en/lang.php4
-rw-r--r--lib/plugins/config/lang/es/lang.php2
-rw-r--r--lib/plugins/config/lang/fi/lang.php8
-rw-r--r--lib/plugins/config/lang/fr/lang.php4
-rw-r--r--lib/plugins/config/lang/id/intro.txt6
-rw-r--r--lib/plugins/config/lang/ja/lang.php2
-rw-r--r--lib/plugins/config/lang/nl/lang.php3
-rw-r--r--lib/plugins/config/lang/no/lang.php2
-rw-r--r--lib/plugins/config/lang/pt-br/lang.php3
-rw-r--r--lib/plugins/config/lang/pt/lang.php4
-rw-r--r--lib/plugins/config/lang/ru/lang.php3
-rw-r--r--lib/plugins/config/lang/sk/lang.php5
-rw-r--r--lib/plugins/config/settings/config.metadata.php8
-rw-r--r--lib/plugins/extension/action.php5
-rw-r--r--lib/plugins/extension/admin.php69
-rw-r--r--lib/plugins/extension/helper/extension.php55
-rw-r--r--lib/plugins/extension/helper/gui.php78
-rw-r--r--lib/plugins/extension/helper/list.php298
-rw-r--r--lib/plugins/extension/lang/de-informal/lang.php10
-rw-r--r--lib/plugins/extension/lang/de/lang.php10
-rw-r--r--lib/plugins/extension/lang/fi/lang.php2
-rw-r--r--lib/plugins/extension/lang/pt/lang.php2
-rw-r--r--lib/plugins/extension/script.js14
-rw-r--r--lib/plugins/info/syntax.php2
-rw-r--r--lib/plugins/popularity/lang/fi/lang.php2
-rw-r--r--lib/plugins/revert/lang/cs/lang.php1
-rw-r--r--lib/plugins/revert/lang/fi/lang.php5
-rw-r--r--lib/plugins/revert/lang/no/lang.php2
-rw-r--r--lib/plugins/styling/lang/sk/lang.php5
-rw-r--r--lib/plugins/styling/script.js2
-rw-r--r--lib/plugins/usermanager/_test/csv_import.test.php45
-rw-r--r--lib/plugins/usermanager/lang/cs/lang.php3
-rw-r--r--lib/plugins/usermanager/lang/fi/lang.php5
-rw-r--r--lib/plugins/usermanager/lang/id/lang.php2
-rw-r--r--lib/plugins/usermanager/lang/pt/lang.php2
-rw-r--r--lib/plugins/usermanager/lang/sk/lang.php2
-rw-r--r--lib/plugins/usermanager/script.js2
-rw-r--r--lib/scripts/behaviour.js24
-rw-r--r--lib/scripts/edit.js9
-rw-r--r--lib/scripts/editor.js4
-rw-r--r--lib/scripts/fileuploaderextended.js2
-rw-r--r--lib/scripts/linkwiz.js2
-rw-r--r--lib/scripts/media.js8
-rw-r--r--lib/scripts/page.js10
-rw-r--r--lib/scripts/qsearch.js4
-rw-r--r--lib/scripts/script.js2
-rw-r--r--lib/scripts/search.js2
-rw-r--r--lib/tpl/dokuwiki/lang/sk/lang.php2
-rw-r--r--lib/tpl/dokuwiki/main.php1
-rw-r--r--lib/tpl/dokuwiki/script.js11
-rw-r--r--lib/tpl/index.php2
75 files changed, 527 insertions, 366 deletions
diff --git a/lib/exe/css.php b/lib/exe/css.php
index 40de4b828..2ea2c0963 100644
--- a/lib/exe/css.php
+++ b/lib/exe/css.php
@@ -470,7 +470,7 @@ class DokuCssFile {
if (preg_match('#^(/|data:|https?://)#', $match[3])) { // not a relative url? - no adjustment required
return $match[0];
} elseif (substr($match[3], -5) == '.less') { // a less file import? - requires a file system location
- if ($match[3]{0} != '/') {
+ if ($match[3][0] != '/') {
$match[3] = $this->getRelativePath() . '/' . $match[3];
}
} else { // everything else requires a url adjustment
@@ -543,10 +543,20 @@ function css_pluginstyles($mediatype='screen'){
* @return string
*/
function css_compress($css){
- //strip comments through a callback
+ // replace quoted strings with placeholder
+ $quote_storage = [];
+
+ $quote_cb = function ($match) use (&$quote_storage) {
+ $quote_storage[] = $match[0];
+ return '"STR'.(count($quote_storage)-1).'"';
+ };
+
+ $css = preg_replace_callback('/(([\'"]).*?(?<!\\\\)\2)/', $quote_cb, $css);
+
+ // strip comments through a callback
$css = preg_replace_callback('#(/\*)(.*?)(\*/)#s','css_comment_cb',$css);
- //strip (incorrect but common) one line comments
+ // strip (incorrect but common) one line comments
$css = preg_replace_callback('/^.*\/\/.*$/m','css_onelinecomment_cb',$css);
// strip whitespaces
@@ -600,6 +610,14 @@ function css_compress($css){
$css
);
+ // replace back protected strings
+ $quote_back_cb = function ($match) use (&$quote_storage) {
+ return $quote_storage[$match[1]];
+ };
+
+ $css = preg_replace_callback('/"STR(\d+)"/', $quote_back_cb, $css);
+ $css = trim($css);
+
return $css;
}
@@ -642,23 +660,6 @@ function css_onelinecomment_cb($matches) {
break;
}
- // keep any quoted string that starts before a comment
- $nextsqt = strpos($line, "'", $i);
- $nextdqt = strpos($line, '"', $i);
- if(min($nextsqt, $nextdqt) < $nextcom) {
- $skipto = false;
- if($nextsqt !== false && ($nextdqt === false || $nextsqt < $nextdqt)) {
- $skipto = strpos($line, "'", $nextsqt+1) +1;
- } else if ($nextdqt !== false) {
- $skipto = strpos($line, '"', $nextdqt+1) +1;
- }
-
- if($skipto !== false) {
- $i = $skipto;
- continue;
- }
- }
-
if($nexturl === false || $nextcom < $nexturl) {
// no url anymore, strip comment and be done
$i = $nextcom;
diff --git a/lib/exe/js.php b/lib/exe/js.php
index ae6a6366f..04abec6c0 100644
--- a/lib/exe/js.php
+++ b/lib/exe/js.php
@@ -184,7 +184,7 @@ function js_load($file){
$loaded[$base] = true;
}
- if($ifile{0} != '/') $ifile = dirname($file).'/'.$ifile;
+ if($ifile[0] != '/') $ifile = dirname($file).'/'.$ifile;
if(file_exists($ifile)){
$idata = io_readFile($ifile);
@@ -362,13 +362,13 @@ function js_compress($s){
// reserved word (e.g. "for", "else", "if") or a
// variable/object/method (e.g. "foo.color")
while ($i < $slen && (strpos($chars,$s[$i]) === false) ){
- $result .= $s{$i};
+ $result .= $s[$i];
$i = $i + 1;
}
- $ch = $s{$i};
+ $ch = $s[$i];
// multiline comments (keeping IE conditionals)
- if($ch == '/' && $s{$i+1} == '*' && $s{$i+2} != '@'){
+ if($ch == '/' && $s[$i+1] == '*' && $s[$i+2] != '@'){
$endC = strpos($s,'*/',$i+2);
if($endC === false) trigger_error('Found invalid /*..*/ comment', E_USER_ERROR);
@@ -387,7 +387,7 @@ function js_compress($s){
}
// singleline
- if($ch == '/' && $s{$i+1} == '/'){
+ if($ch == '/' && $s[$i+1] == '/'){
$endC = strpos($s,"\n",$i+2);
if($endC === false) trigger_error('Invalid comment', E_USER_ERROR);
$i = $endC;
@@ -398,15 +398,15 @@ function js_compress($s){
if($ch == '/'){
// rewind, skip white space
$j = 1;
- while(in_array($s{$i-$j}, $whitespaces_chars)){
+ while(in_array($s[$i-$j], $whitespaces_chars)){
$j = $j + 1;
}
- if( in_array($s{$i-$j}, $regex_starters) ){
+ if( in_array($s[$i-$j], $regex_starters) ){
// yes, this is an re
// now move forward and find the end of it
$j = 1;
- while($s{$i+$j} != '/'){
- if($s{$i+$j} == '\\') $j = $j + 2;
+ while($s[$i+$j] != '/'){
+ if($s[$i+$j] == '\\') $j = $j + 2;
else $j++;
}
$result .= substr($s,$i,$j+1);
@@ -418,8 +418,8 @@ function js_compress($s){
// double quote strings
if($ch == '"'){
$j = 1;
- while( $s{$i+$j} != '"' && ($i+$j < $slen)){
- if( $s{$i+$j} == '\\' && ($s{$i+$j+1} == '"' || $s{$i+$j+1} == '\\') ){
+ while( ($i+$j < $slen) && $s[$i+$j] != '"' ){
+ if( $s[$i+$j] == '\\' && ($s[$i+$j+1] == '"' || $s[$i+$j+1] == '\\') ){
$j += 2;
}else{
$j += 1;
@@ -436,8 +436,8 @@ function js_compress($s){
// single quote strings
if($ch == "'"){
$j = 1;
- while( $s{$i+$j} != "'" && ($i+$j < $slen)){
- if( $s{$i+$j} == '\\' && ($s{$i+$j+1} == "'" || $s{$i+$j+1} == '\\') ){
+ while( ($i+$j < $slen) && $s[$i+$j] != "'" ){
+ if( $s[$i+$j] == '\\' && ($s[$i+$j+1] == "'" || $s[$i+$j+1] == '\\') ){
$j += 2;
}else{
$j += 1;
diff --git a/lib/images/fileicons/index.php b/lib/images/fileicons/index.php
index 8ec577593..d1f233e48 100644
--- a/lib/images/fileicons/index.php
+++ b/lib/images/fileicons/index.php
@@ -3,7 +3,7 @@
<head>
<title>Filetype icons</title>
- <style type="text/css">
+ <style>
body {
background-color: #ccc;
font-family: Arial;
diff --git a/lib/images/smileys/index.php b/lib/images/smileys/index.php
index c9c74872f..574966628 100644
--- a/lib/images/smileys/index.php
+++ b/lib/images/smileys/index.php
@@ -3,7 +3,7 @@
<head>
<title>Smileys</title>
- <style type="text/css">
+ <style>
body {
background-color: #ccc;
font-family: Arial;
diff --git a/lib/plugins/acl/admin.php b/lib/plugins/acl/admin.php
index 4c7f96388..02842fd4b 100644
--- a/lib/plugins/acl/admin.php
+++ b/lib/plugins/acl/admin.php
@@ -132,7 +132,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin
$lines = array();
// keep header
foreach ($AUTH_ACL as $line) {
- if ($line{0} == '#') {
+ if ($line[0] == '#') {
$lines[] = $line;
} else {
break;
@@ -443,7 +443,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin
}
// prepare who to check
- if ($who{0} == '@') {
+ if ($who[0] == '@') {
$user = '';
$groups = array(ltrim($who, '@'));
} else {
@@ -657,7 +657,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin
echo '</td>';
echo '<td>';
- if ($who{0} == '@') {
+ if ($who[0] == '@') {
echo '<span class="aclgroup">'.hsc($who).'</span>';
} else {
echo '<span class="acluser">'.hsc($who).'</span>';
@@ -804,7 +804,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin
if ($this->who &&
!in_array($this->who, $this->usersgroups) &&
!in_array($this->who, $this->specials)) {
- if ($this->who{0} == '@') {
+ if ($this->who[0] == '@') {
$gsel = ' selected="selected"';
} else {
$usel = ' selected="selected"';
@@ -826,7 +826,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin
$sel = '';
}
- if ($ug{0} == '@') {
+ if ($ug[0] == '@') {
echo ' <option value="'.hsc($ug).'" class="aclgroup"'.$sel.'>'.hsc($ug).'</option>'.NL;
} else {
echo ' <option value="'.hsc($ug).'" class="acluser"'.$sel.'>'.hsc($ug).'</option>'.NL;
@@ -844,7 +844,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin
$sel = '';
}
- if ($ug{0} == '@') {
+ if ($ug[0] == '@') {
echo ' <option value="'.hsc($ug).'" class="aclgroup"'.$sel.'>'.hsc($ug).'</option>'.NL;
} else {
echo ' <option value="'.hsc($ug).'" class="acluser"'.$sel.'>'.hsc($ug).'</option>'.NL;
diff --git a/lib/plugins/acl/lang/fi/lang.php b/lib/plugins/acl/lang/fi/lang.php
index 2dfc35801..f680f2905 100644
--- a/lib/plugins/acl/lang/fi/lang.php
+++ b/lib/plugins/acl/lang/fi/lang.php
@@ -2,9 +2,8 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
- * @author otto@valjakko.net
- * @author Otto Vainio <otto@valjakko.net>
+ *
+ * @author otto <otto@valjakko.net>
* @author Teemu Mattila <ghcsystems@gmail.com>
* @author Sami Olmari <sami@olmari.fi>
*/
diff --git a/lib/plugins/acl/lang/id/lang.php b/lib/plugins/acl/lang/id/lang.php
index 3b0ecf446..93e3f4125 100644
--- a/lib/plugins/acl/lang/id/lang.php
+++ b/lib/plugins/acl/lang/id/lang.php
@@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
* @author mubaidillah <mubaidillah@gmail.com>
* @author Yustinus Waruwu <juswaruwu@gmail.com>
*/
diff --git a/lib/plugins/acl/script.js b/lib/plugins/acl/script.js
index 86badffdd..95621a255 100644
--- a/lib/plugins/acl/script.js
+++ b/lib/plugins/acl/script.js
@@ -15,8 +15,8 @@ var dw_acl = {
return;
}
- jQuery('#acl__user select').change(dw_acl.userselhandler);
- jQuery('#acl__user button').click(dw_acl.loadinfo);
+ jQuery('#acl__user select').on('change', dw_acl.userselhandler);
+ jQuery('#acl__user button').on('click', dw_acl.loadinfo);
$tree = jQuery('#acl__tree');
$tree.dw_tree({toggle_selector: 'img',
diff --git a/lib/plugins/authad/lang/de/settings.php b/lib/plugins/authad/lang/de/settings.php
index 5708411d2..5d8d9b8de 100644
--- a/lib/plugins/authad/lang/de/settings.php
+++ b/lib/plugins/authad/lang/de/settings.php
@@ -3,6 +3,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author C!own77 <clown77@posteo.de>
* @author Frank Loizzi <contact@software.bacal.de>
* @author Matthias Schulte <dokuwiki@lupo49.de>
* @author Ben Fey <benedikt.fey@beck-heun.de>
@@ -24,3 +25,4 @@ $lang['expirywarn'] = 'Tage im Voraus um Benutzer über ablaufende Pa
$lang['additional'] = 'Eine Komma-separierte Liste von zusätzlichen AD-Attributen, die von den Benutzerobjekten abgefragt werden. Wird von einigen Plugins benutzt.';
$lang['update_name'] = 'Benutzern erlauben, ihren AD Anzeige-Namen zu ändern?';
$lang['update_mail'] = 'Benutzern erlauben, ihre E-Mail-Adresse zu ändern?';
+$lang['recursive_groups'] = 'Auflösen verschachtelter Gruppen für ihre jeweiligen Mitglieder (langsamer).';
diff --git a/lib/plugins/authad/lang/fi/lang.php b/lib/plugins/authad/lang/fi/lang.php
index 88a87b87c..776e68a86 100644
--- a/lib/plugins/authad/lang/fi/lang.php
+++ b/lib/plugins/authad/lang/fi/lang.php
@@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
* @author Jussi Takala <jussi.takala@live.fi>
*/
$lang['authpwdexpire'] = 'Salasanasi vanhenee %d pv:n päästä, vaihda salasanasi pikaisesti.';
diff --git a/lib/plugins/authad/lang/fi/settings.php b/lib/plugins/authad/lang/fi/settings.php
index e2f432f36..f0b5276e7 100644
--- a/lib/plugins/authad/lang/fi/settings.php
+++ b/lib/plugins/authad/lang/fi/settings.php
@@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
* @author Otto Vainio <otto@valjakko.net>
*/
$lang['debug'] = 'Näytä lisää debug-koodia virheistä?';
diff --git a/lib/plugins/authad/lang/ja/settings.php b/lib/plugins/authad/lang/ja/settings.php
index cb263122f..84f09b469 100644
--- a/lib/plugins/authad/lang/ja/settings.php
+++ b/lib/plugins/authad/lang/ja/settings.php
@@ -23,3 +23,4 @@ $lang['expirywarn'] = '何日前からパスワードの有効期限
$lang['additional'] = 'ユーザデータから取得する追加AD属性のカンマ区切り一覧(一部プラグインが使用します。)';
$lang['update_name'] = 'ユーザー自身にAD表示名の変更を許可する';
$lang['update_mail'] = 'ユーザー自身にメールアドレスの変更を許可する';
+$lang['recursive_groups'] = 'それぞれのメンバーについて入れ子のグループを解決する(動作が遅くなります)';
diff --git a/lib/plugins/authldap/lang/cs/settings.php b/lib/plugins/authldap/lang/cs/settings.php
index 741a56a62..1bdaf29ba 100644
--- a/lib/plugins/authldap/lang/cs/settings.php
+++ b/lib/plugins/authldap/lang/cs/settings.php
@@ -3,6 +3,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author Petr Kajzar <petr.kajzar@lf1.cuni.cz>
* @author mkucera66 <mkucera66@seznam.cz>
* @author Jaroslav Lichtblau <jlichtblau@seznam.cz>
* @author Martin Růžička <martinr@post.cz>
@@ -19,6 +20,7 @@ $lang['referrals'] = 'Přeposílat odkazy?';
$lang['deref'] = 'Jak rozlišovat aliasy?';
$lang['binddn'] = 'Doménový název DN volitelně připojeného uživatele, pokus anonymní připojení není vyhovující, tj. <code>cn=admin, dc=muj, dc=domov</code>';
$lang['bindpw'] = 'Heslo uživatele výše';
+$lang['attributes'] = 'Atributy k načtení pomocí vyhledávání LDAP.';
$lang['userscope'] = 'Omezení rozsahu vyhledávání uživatele';
$lang['groupscope'] = 'Omezení rozsahu vyhledávání skupiny';
$lang['userkey'] = 'Atribut označující uživatelské jméno; musí být konzistetní s uživatelským filtrem.';
diff --git a/lib/plugins/authldap/lang/de/settings.php b/lib/plugins/authldap/lang/de/settings.php
index f1bfc00fd..b6622d543 100644
--- a/lib/plugins/authldap/lang/de/settings.php
+++ b/lib/plugins/authldap/lang/de/settings.php
@@ -3,6 +3,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author C!own77 <clown77@posteo.de>
* @author Matthias Schulte <dokuwiki@lupo49.de>
* @author christian studer <cstuder@existenz.ch>
* @author Philip Knack <p.knack@stollfuss.de>
@@ -21,6 +22,7 @@ $lang['referrals'] = 'Weiterverfolgen von LDAP-Referrals (Verweise)?
$lang['deref'] = 'Wie sollen Aliase aufgelöst werden?';
$lang['binddn'] = 'DN eines optionalen Benutzers, wenn der anonyme Zugriff nicht ausreichend ist. Zum Beispiel: <code>cn=admin, dc=my, dc=home</code>.';
$lang['bindpw'] = 'Passwort des angegebenen Benutzers.';
+$lang['attributes'] = 'Attribute, die mit der LDAP-Suche abgerufen werden sollen.';
$lang['userscope'] = 'Die Suchweite nach Benutzeraccounts.';
$lang['groupscope'] = 'Die Suchweite nach Benutzergruppen.';
$lang['userkey'] = 'Attribut, das den Benutzernamen enthält; muss konsistent zum userfilter sein.';
diff --git a/lib/plugins/authldap/lang/es/settings.php b/lib/plugins/authldap/lang/es/settings.php
index ba8f41e59..7a4090fe2 100644
--- a/lib/plugins/authldap/lang/es/settings.php
+++ b/lib/plugins/authldap/lang/es/settings.php
@@ -3,11 +3,11 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author Domingo Redal <docxml@gmail.com>
* @author Antonio Bueno <atnbueno@gmail.com>
* @author Eloy <ej.perezgomez@gmail.com>
* @author Alejandro Nunez <nunez.alejandro@gmail.com>
* @author Enny Rodriguez <aquilez.4@gmail.com>
- * @author Domingo Redal <docxml@gmail.com>
*/
$lang['server'] = 'Tu servidor LDAP. Puede ser el nombre del host (<code>localhost</code>) o una URL completa (<code>ldap://server.tld:389</code>)';
$lang['port'] = 'Servidor LDAP en caso de que no se diera la URL completa anteriormente.';
@@ -21,6 +21,7 @@ $lang['referrals'] = '¿Deben ser seguidas las referencias?';
$lang['deref'] = '¿Cómo desreferenciar los alias?';
$lang['binddn'] = 'DN de un usuario de enlace opcional si el enlace anónimo no es suficiente. P. ej. <code>cn=admin, dc=my, dc=home</code>';
$lang['bindpw'] = 'Contraseña del usuario de arriba.';
+$lang['attributes'] = 'Atributos a recuperar de la búsqueda en LDAP.';
$lang['userscope'] = 'Limitar ámbito de búsqueda para búsqueda de usuarios';
$lang['groupscope'] = 'Limitar ámbito de búsqueda para búsqueda de grupos';
$lang['userkey'] = 'Atributo que denota el nombre de usuario; debe ser coherente con el filtro.';
diff --git a/lib/plugins/authldap/lang/fi/settings.php b/lib/plugins/authldap/lang/fi/settings.php
index b15d8c676..c322d245c 100644
--- a/lib/plugins/authldap/lang/fi/settings.php
+++ b/lib/plugins/authldap/lang/fi/settings.php
@@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
* @author Otto Vainio <otto@valjakko.net>
*/
$lang['starttls'] = 'Käytä TLS yhteyttä';
diff --git a/lib/plugins/authldap/lang/ja/settings.php b/lib/plugins/authldap/lang/ja/settings.php
index e92fd4c6c..f9d16e7d3 100644
--- a/lib/plugins/authldap/lang/ja/settings.php
+++ b/lib/plugins/authldap/lang/ja/settings.php
@@ -22,6 +22,7 @@ $lang['referrals'] = '紹介に従う';
$lang['deref'] = 'どのように間接参照のエイリアスにするか';
$lang['binddn'] = '匿名バインドでは不十分な場合の、オプションバインドユーザーのDN(例:<code>cn=admin, dc=my, dc=home</code>)';
$lang['bindpw'] = '上記ユーザーのパスワード';
+$lang['attributes'] = 'LDAP検索で取得する属性。';
$lang['userscope'] = 'ユーザー検索の範囲を限定させる';
$lang['groupscope'] = 'グループ検索の範囲を限定させる';
$lang['userkey'] = 'ユーザー名を示す属性(userfilter と一致している必要があります。)';
diff --git a/lib/plugins/authldap/lang/nl/settings.php b/lib/plugins/authldap/lang/nl/settings.php
index 1f80b0251..1a3120291 100644
--- a/lib/plugins/authldap/lang/nl/settings.php
+++ b/lib/plugins/authldap/lang/nl/settings.php
@@ -3,6 +3,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author PBU <pbu@xs4all.nl>
* @author Gerrit Uitslag <klapinklapin@gmail.com>
* @author Remon <no@email.local>
* @author Johan Wijnker <johan@wijnker.eu>
@@ -19,6 +20,7 @@ $lang['referrals'] = 'Moeten verwijzingen worden gevolgd?';
$lang['deref'] = 'Hoe moeten de verwijzing van aliases worden bepaald?';
$lang['binddn'] = 'DN van een optionele bind gebruiker als anonieme bind niet genoeg is. Bijv. <code>cn=beheer, dc=mijn, dc=thuis</code>';
$lang['bindpw'] = 'Wachtwoord van bovenstaande gebruiker';
+$lang['attributes'] = 'Welke onderdelen moeten in LDAP gezocht worden';
$lang['userscope'] = 'Beperken scope van zoekfuncties voor gebruikers';
$lang['groupscope'] = 'Beperken scope van zoekfuncties voor groepen';
$lang['userkey'] = 'Attribuut aanduiding van de gebruikersnaam; moet consistent zijn met userfilter.';
diff --git a/lib/plugins/authldap/lang/pt-br/settings.php b/lib/plugins/authldap/lang/pt-br/settings.php
index 03469e5c0..8b5cb378b 100644
--- a/lib/plugins/authldap/lang/pt-br/settings.php
+++ b/lib/plugins/authldap/lang/pt-br/settings.php
@@ -3,6 +3,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author Schopf <pschopf@gmail.com>
* @author Victor Westmann <victor.westmann@gmail.com>
* @author Frederico Guimarães <frederico@teia.bio.br>
* @author Hudson FAS <hudsonfas@gmail.com>
@@ -19,6 +20,7 @@ $lang['referrals'] = 'Permitir que as referências sejam seguidas?';
$lang['deref'] = 'Como dereferenciar os aliases?';
$lang['binddn'] = 'DN de um vínculo opcional de usuário se vínculo anônimo não for suficiente. Eg. <code>cn=admin, dc=my, dc=home</code>';
$lang['bindpw'] = 'Senha do usuário acima';
+$lang['attributes'] = 'Atributos a serem recuperados com a pesquisa LDAP.';
$lang['userscope'] = 'Limitar escopo da busca para busca de usuário';
$lang['groupscope'] = 'Limitar escopo da busca para busca de grupo';
$lang['userkey'] = 'Atributo que indica o nome do usuário; deve ser consistente com userfilter.';
diff --git a/lib/plugins/authplain/lang/fi/lang.php b/lib/plugins/authplain/lang/fi/lang.php
index abdaf6720..efd96eaae 100644
--- a/lib/plugins/authplain/lang/fi/lang.php
+++ b/lib/plugins/authplain/lang/fi/lang.php
@@ -2,6 +2,6 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
*/
$lang['userexists'] = 'Käyttäjä tällä käyttäjänimellä on jo olemassa.';
diff --git a/lib/plugins/authplain/lang/id/lang.php b/lib/plugins/authplain/lang/id/lang.php
index 5e6a99830..e01136655 100644
--- a/lib/plugins/authplain/lang/id/lang.php
+++ b/lib/plugins/authplain/lang/id/lang.php
@@ -1,6 +1,7 @@
<?php
+
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*/
-$lang['userexists'] = 'Maaf, user dengan user login ini telah ada.';
+$lang['userexists'] = 'Maaf, user dengan user login ini telah ada.';
diff --git a/lib/plugins/config/core/Setting/SettingSepchar.php b/lib/plugins/config/core/Setting/SettingSepchar.php
index 2d64eb08b..57cd0ae92 100644
--- a/lib/plugins/config/core/Setting/SettingSepchar.php
+++ b/lib/plugins/config/core/Setting/SettingSepchar.php
@@ -10,7 +10,7 @@ class SettingSepchar extends SettingMultichoice {
/** @inheritdoc */
public function __construct($key, $param = null) {
$str = '_-.';
- for($i = 0; $i < strlen($str); $i++) $this->choices[] = $str{$i};
+ for($i = 0; $i < strlen($str); $i++) $this->choices[] = $str[$i];
// call foundation class constructor
parent::__construct($key, $param);
diff --git a/lib/plugins/config/lang/cs/lang.php b/lib/plugins/config/lang/cs/lang.php
index 2b97117d3..77517816b 100644
--- a/lib/plugins/config/lang/cs/lang.php
+++ b/lib/plugins/config/lang/cs/lang.php
@@ -3,6 +3,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author Petr Kajzar <petr.kajzar@lf1.cuni.cz>
* @author Robert Surý <rsurycz@seznam.cz>
* @author Martin Hořínek <hev@hev.cz>
* @author Jonáš Dyba <jonas.dyba@gmail.com>
@@ -50,6 +51,7 @@ $lang['_advanced'] = 'Pokročilá nastavení';
$lang['_network'] = 'Nastavení sítě';
$lang['_msg_setting_undefined'] = 'Chybí metadata položky.';
$lang['_msg_setting_no_class'] = 'Chybí třída položky.';
+$lang['_msg_setting_no_known_class'] = 'Konfigurační třída není dostupná.';
$lang['_msg_setting_no_default'] = 'Chybí výchozí hodnota položky.';
$lang['title'] = 'Název celé wiki';
$lang['start'] = 'Název úvodní stránky';
@@ -101,7 +103,7 @@ $lang['disableactions'] = 'Vypnout DokuWiki akce';
$lang['disableactions_check'] = 'Zkontrolovat';
$lang['disableactions_subscription'] = 'Přihlásit se/Odhlásit se ze seznamu pro odběr změn';
$lang['disableactions_wikicode'] = 'Prohlížet zdrojové kódy/Export wiki textu';
-$lang['disableactions_profile_delete'] = 'Smazat vlasní účet';
+$lang['disableactions_profile_delete'] = 'Smazat vlastní účet';
$lang['disableactions_other'] = 'Další akce (oddělené čárkou)';
$lang['disableactions_rss'] = 'XMS syndikace (RSS)';
$lang['auth_security_timeout'] = 'Časový limit pro autentikaci (v sekundách)';
@@ -170,6 +172,7 @@ $lang['search_fragment_o_exact'] = 'přesný';
$lang['search_fragment_o_starts_with'] = 'začíná s';
$lang['search_fragment_o_ends_with'] = 'končí s';
$lang['search_fragment_o_contains'] = 'obsahuje';
+$lang['trustedproxy'] = 'Důvěřovat proxy serverům odpovídajícím tomuto regulárním výrazu ohledně skutečné IP adresy klienta, kterou hlásí. Výchozí hodnota odpovídá místním sítím. Ponechejte prázdné, pokud nechcete důvěřovat žádné proxy.';
$lang['dnslookups'] = 'DokuWiki zjišťuje DNS jména pro vzdálené IP adresy uživatelů, kteří editují stránky. Pokud máte pomalý, nebo nefunkční DNS server, nebo nepotřebujete tuto funkci, tak tuto volbu zrušte.';
$lang['jquerycdn'] = 'Mají být skripty jQuery a jQuery UI načítány z CDN?
Vzniknou tím další HTTP dotazy, ale soubory se mohou načíst rychleji a uživatelé je už mohou mít ve vyrovnávací paměti.';
diff --git a/lib/plugins/config/lang/de/lang.php b/lib/plugins/config/lang/de/lang.php
index 78f8f1cb5..98c8aac3c 100644
--- a/lib/plugins/config/lang/de/lang.php
+++ b/lib/plugins/config/lang/de/lang.php
@@ -3,6 +3,8 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author Eric Haberstroh <ehaberstroh@gmail.com>
+ * @author C!own77 <clown77@posteo.de>
* @author Alex Beck <alex@4becks.com>
* @author Jürgen Fredriksson <jfriedrich@gmx.at>
* @author Michael Bohn <mjbohn@gmail.com>
@@ -52,6 +54,7 @@ $lang['_advanced'] = 'Erweitert';
$lang['_network'] = 'Netzwerk';
$lang['_msg_setting_undefined'] = 'Keine Konfigurationsmetadaten.';
$lang['_msg_setting_no_class'] = 'Keine Konfigurationsklasse.';
+$lang['_msg_setting_no_known_class'] = 'Setting-Klasse nicht verfügbar.';
$lang['_msg_setting_no_default'] = 'Kein Standardwert.';
$lang['title'] = 'Titel des Wikis';
$lang['start'] = 'Startseitenname';
@@ -167,8 +170,9 @@ $lang['search_fragment_o_exact'] = 'genaue Treffer';
$lang['search_fragment_o_starts_with'] = 'beginnt mit';
$lang['search_fragment_o_ends_with'] = 'endet mit';
$lang['search_fragment_o_contains'] = 'enthält';
+$lang['trustedproxy'] = 'Vertrauen Sie Weiterleitungs-Proxys, welche dem regulärem Ausdruck entsprechen, hinsichtlich der angegebenen Client-ID. Der Standardwert entspricht dem lokalem Netzwerk. Leer lassen um jedem Proxy zu vertrauen.';
$lang['dnslookups'] = 'DokuWiki löst die IP-Adressen von Benutzern zu deren Hostnamen auf. Wenn Sie einen langsamen oder unzuverlässigen DNS-Server verwenden oder die Funktion nicht benötigen, dann sollte diese Option deaktiviert sein.';
-$lang['jquerycdn'] = 'Sollen jQuery und jQuery UI Skriptdateien von einem CDN (Contend Delivery Network) geladen werden? Dadurch entstehen zusätzliche HTTP-Anfragen, aber die Daten werden voraussichtlich schneller geladen und eventuell sind sie auch schon beim Benutzer im Cache.';
+$lang['jquerycdn'] = 'Sollen jQuery und jQuery UI Skriptdateien von einem CDN (Content Delivery Network) geladen werden? Dadurch entstehen zusätzliche HTTP-Anfragen, aber die Daten werden voraussichtlich schneller geladen und eventuell sind sie auch schon beim Benutzer im Cache.';
$lang['jquerycdn_o_0'] = 'Kein CDN, ausschließlich lokale Auslieferung';
$lang['jquerycdn_o_jquery'] = 'CDN von code.jquery.com';
$lang['jquerycdn_o_cdnjs'] = 'CDN von cdnjs.com';
diff --git a/lib/plugins/config/lang/en/lang.php b/lib/plugins/config/lang/en/lang.php
index c48885c8d..3a408e0e3 100644
--- a/lib/plugins/config/lang/en/lang.php
+++ b/lib/plugins/config/lang/en/lang.php
@@ -185,6 +185,10 @@ $lang['search_fragment_o_exact'] = 'exact';
$lang['search_fragment_o_starts_with'] = 'starts with';
$lang['search_fragment_o_ends_with'] = 'ends with';
$lang['search_fragment_o_contains'] = 'contains';
+$lang['trustedproxy'] = 'Trust forwarding proxies matching this regular expression about the true client IP they report. The default matches local networks. Leave empty to trust no proxy.';
+
+$lang['_feature_flags'] = 'Feature Flags';
+$lang['defer_js'] = 'Defer javascript to be execute after the page\'s HTML has been parsed. Improves perceived page speed but could break a small number of plugins.';
/* Network Options */
$lang['dnslookups'] = 'DokuWiki will lookup hostnames for remote IP addresses of users editing pages. If you have a slow or non working DNS server or don\'t want this feature, disable this option';
diff --git a/lib/plugins/config/lang/es/lang.php b/lib/plugins/config/lang/es/lang.php
index 6da3c35ea..97b5540d1 100644
--- a/lib/plugins/config/lang/es/lang.php
+++ b/lib/plugins/config/lang/es/lang.php
@@ -51,6 +51,7 @@ $lang['_advanced'] = 'Parámetros Avanzados';
$lang['_network'] = 'Parámetros de Red';
$lang['_msg_setting_undefined'] = 'Sin parámetros de metadata.';
$lang['_msg_setting_no_class'] = 'Sin clase establecida.';
+$lang['_msg_setting_no_known_class'] = 'Configuración de la clase no disponible.';
$lang['_msg_setting_no_default'] = 'Sin valor por defecto.';
$lang['title'] = 'Título del wiki';
$lang['start'] = 'Nombre de la página inicial';
@@ -166,6 +167,7 @@ $lang['search_fragment_o_exact'] = 'exacto';
$lang['search_fragment_o_starts_with'] = 'comienza con';
$lang['search_fragment_o_ends_with'] = 'termina con';
$lang['search_fragment_o_contains'] = 'contiene';
+$lang['trustedproxy'] = 'Confíe en los proxys de reenvío que coincidan con esta expresión regular acerca de la IP verdadera del cliente que referencia. El valor predeterminado coincide con las redes locales. Dejar en blanco para no confiar en ningún proxy.';
$lang['dnslookups'] = 'DokuWiki buscara los hostnames para usuarios editando las páginas con IP remota. Si usted tiene un servidor DNS bastante lento o que no funcione, favor de desactivar esta opción.';
$lang['jquerycdn'] = '¿Deberían cargarse los ficheros de script jQuery y jQuery UI desde un CDN? Esto añade peticiones HTTP adicionales, pero los ficheros se pueden cargar más rápido y los usuarios pueden tenerlas ya almacenadas en caché.';
$lang['jquerycdn_o_0'] = 'No CDN, sólo entrega local';
diff --git a/lib/plugins/config/lang/fi/lang.php b/lib/plugins/config/lang/fi/lang.php
index b2a97facd..e8d7c8f4c 100644
--- a/lib/plugins/config/lang/fi/lang.php
+++ b/lib/plugins/config/lang/fi/lang.php
@@ -3,8 +3,8 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
- * @author otto@valjakko.net
- * @author Otto Vainio <otto@valjakko.net>
+ * @author Tuomo Hartikainen <tuomo.hartikainen@heksia.fi>
+ * @author otto <otto@valjakko.net>
* @author Teemu Mattila <ghcsystems@gmail.com>
* @author Sami Olmari <sami@olmari.fi>
* @author Wiki Doku <SugarKidder@mailinator.com>
@@ -42,7 +42,7 @@ $lang['title'] = 'Wikin nimi';
$lang['start'] = 'Alkusivun nimi';
$lang['lang'] = 'Kieli';
$lang['template'] = 'Sivumalli';
-$lang['tagline'] = 'Apuotsikko - slogan sivustonimen yhteysteen (jos template käyttää)';
+$lang['tagline'] = 'Apuotsikko - slogan sivustonimen yhteyteen (jos template tukee)';
$lang['sidebar'] = 'Sivupalkin sivunimi (jos template tukee sitä), tyhjä arvo poistaa sivupalkin';
$lang['license'] = 'Millä lisenssillä sisältö pitäisi julkaista?';
$lang['savedir'] = 'Hakemisto tietojen tallennukseen.';
@@ -114,7 +114,7 @@ $lang['subscribe_time'] = 'Aika jonka jälkeen tilauslinkit ja yhteenveto
$lang['notify'] = 'Lähetä muutosilmoitukset tähän osoitteeseen';
$lang['registernotify'] = 'Lähetä ilmoitus uusista rekisteröitymisistä tähän osoitteeseen';
$lang['mailfrom'] = 'Sähköpostiosoite automaattisia postituksia varten';
-$lang['mailprefix'] = 'Etuliite automaattisesti lähetettyihin dähköposteihin';
+$lang['mailprefix'] = 'Etuliite automaattisesti lähetettyihin sähköposteihin';
$lang['htmlmail'] = 'Lähetä paremman näköisiä, mutta isompia HTML multipart sähköposteja. Ota pois päältä, jos haluat vain tekstimuotoisia posteja.';
$lang['sitemap'] = 'Luo Google sitemap (päiviä)';
$lang['rss_type'] = 'XML-syötteen tyyppi';
diff --git a/lib/plugins/config/lang/fr/lang.php b/lib/plugins/config/lang/fr/lang.php
index dc645ed44..88e105059 100644
--- a/lib/plugins/config/lang/fr/lang.php
+++ b/lib/plugins/config/lang/fr/lang.php
@@ -3,8 +3,8 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author Schplurtz le Déboulonné <Schplurtz@laposte.net>
* @author PaliPalo <palipalo@hotmail.fr>
- * @author Schplurtz le Déboulonné <schplurtz@laposte.net>
* @author Laurent Ponthieu <contact@coopindus.fr>
* @author Damien Regad <dregad@mantisbt.org>
* @author Michael Bohn <mjbohn@gmail.com>
@@ -57,6 +57,7 @@ $lang['_advanced'] = 'Paramètres avancés';
$lang['_network'] = 'Paramètres réseaux';
$lang['_msg_setting_undefined'] = 'Pas de définition de métadonnées';
$lang['_msg_setting_no_class'] = 'Pas de définition de paramètres.';
+$lang['_msg_setting_no_known_class'] = 'Classe de réglage non disponible.';
$lang['_msg_setting_no_default'] = 'Pas de valeur par défaut.';
$lang['title'] = 'Titre du wiki (nom du wiki)';
$lang['start'] = 'Nom de la page d\'accueil à utiliser pour toutes les catégories';
@@ -173,6 +174,7 @@ $lang['search_fragment_o_exact'] = 'exact';
$lang['search_fragment_o_starts_with'] = 'commence par';
$lang['search_fragment_o_ends_with'] = 'se termine par';
$lang['search_fragment_o_contains'] = 'contient';
+$lang['trustedproxy'] = 'Faire confiance aux mandataires qui correspondent à cette expression régulière pour l\'adresse IP réelle des clients qu\'ils rapportent. La valeur par défaut correspond aux réseaux locaux. Laisser vide pour ne faire confiance à aucun mandataire.';
$lang['dnslookups'] = 'DokuWiki effectuera une résolution du nom d\'hôte sur les adresses IP des utilisateurs modifiant des pages. Si vous ne possédez pas de serveur DNS, que ce dernier est lent ou que vous ne souhaitez pas utiliser cette fonctionnalité : désactivez-la.';
$lang['jquerycdn'] = 'Faut-il distribuer les scripts JQuery et JQuery UI depuis un CDN ? Cela ajoute une requête HTTP, mais les fichiers peuvent se charger plus vite et les internautes les ont peut-être déjà en cache.';
$lang['jquerycdn_o_0'] = 'Non : utilisation de votre serveur.';
diff --git a/lib/plugins/config/lang/id/intro.txt b/lib/plugins/config/lang/id/intro.txt
index 296206d02..c5a9297df 100644
--- a/lib/plugins/config/lang/id/intro.txt
+++ b/lib/plugins/config/lang/id/intro.txt
@@ -1,5 +1,7 @@
====== Manajemen Konfigurasi ======
-Gunakan halaman ini untuk mengatur konfigurasi instalasi DokuWiki Anda. Untuk bantuan dalam konfigurasi, silahkan lihat di [[doku>config]]. Unuk mengetahui lebih lanjut tentang plugin in silahkan lihat [[doku>plugin:config]].
+Gunakan halaman ini untuk mengontrol pengaturan instalasi DokuWiki anda. Untuk bantuan tentang pengaturan individual, lihat [[doku>config]]. Untuk detail lebih lanjut tentang plugin ini lihat [[doku>plugin:config]].
-Konfigurasi dengan warna merah dilindungi dan tidak bisa diubah dengan plugin ini. Konfigurasi dengan warna biru adalah nilai default, dan konfigurasi dengan latar putih telah diset khusus untuk instalasi ini. Konfigurasi berwarna putih atau b
+Pengaturan yang ditunjukkan dengan latar belakang merah muda dilindungi dan tidak dapat diubah dengan plugin ini. Pengaturan yang ditunjukkan dengan latar belakang biru adalah nilai bawaan (default) dan pengaturan yang ditunjukkan dengan latar belakang putih telah diatur secara lokal oleh anda. Pengaturan biru dan putih dapat diubah.
+
+Ingatlah untuk menekan tombol **Simpan** sebelum meninggalkan halaman ini, jika tidak perubahan anda akan hilang. \ No newline at end of file
diff --git a/lib/plugins/config/lang/ja/lang.php b/lib/plugins/config/lang/ja/lang.php
index 7af791e3f..d00e4c456 100644
--- a/lib/plugins/config/lang/ja/lang.php
+++ b/lib/plugins/config/lang/ja/lang.php
@@ -42,6 +42,7 @@ $lang['_advanced'] = '高度な設定';
$lang['_network'] = 'ネットワーク';
$lang['_msg_setting_undefined'] = '設定のためのメタデータがありません。';
$lang['_msg_setting_no_class'] = '設定クラスがありません。';
+$lang['_msg_setting_no_known_class'] = 'クラス設定が利用出来ません。';
$lang['_msg_setting_no_default'] = '初期値が設定されていません。';
$lang['title'] = 'Wikiタイトル(あなたのWikiの名前)';
$lang['start'] = 'スタートページ名(各名前空間の始点として使われるページ名)';
@@ -157,6 +158,7 @@ $lang['search_fragment_o_exact'] = '完全一致';
$lang['search_fragment_o_starts_with'] = '前方一致';
$lang['search_fragment_o_ends_with'] = '後方一致';
$lang['search_fragment_o_contains'] = '部分一致';
+$lang['trustedproxy'] = '報告される真のクライアントIPに関して、ここで指定する正規表現に合う転送プロキシを信頼します。あらゆるプロキシを信頼する場合は、何も入力しないでおいて下さい。';
$lang['dnslookups'] = 'ページを編集しているユーザーのIPアドレスからホスト名を逆引きする(利用できるDNSサーバーがない、あるいはこの機能が不要な場合にはオフにします。)';
$lang['jquerycdn'] = 'コンテンツ・デリバリー・ネットワーク (CDN) の選択(jQuery と jQuery UI スクリプトを CDN からロードさせる場合には、追加的な HTTP リクエストが発生しますが、ブラウザキャッシュが使用されるため、表示速度の向上が期待できます。)';
$lang['jquerycdn_o_0'] = 'CDN を使用せず、ローカルデリバリーのみ使用する';
diff --git a/lib/plugins/config/lang/nl/lang.php b/lib/plugins/config/lang/nl/lang.php
index d7c799026..6346143b6 100644
--- a/lib/plugins/config/lang/nl/lang.php
+++ b/lib/plugins/config/lang/nl/lang.php
@@ -3,6 +3,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author PBU <pbu@xs4all.nl>
* @author Gerrit Uitslag <klapinklapin@gmail.com>
* @author Harriet Neitz <harrietneitz@gmail.com>
* @author mark prins <mprins@users.sf.net>
@@ -43,6 +44,7 @@ $lang['_advanced'] = 'Geavanceerde instellingen';
$lang['_network'] = 'Netwerkinstellingen';
$lang['_msg_setting_undefined'] = 'Geen metadata voor deze instelling.';
$lang['_msg_setting_no_class'] = 'Geen class voor deze instelling.';
+$lang['_msg_setting_no_known_class'] = 'Setting class niet beschikbaar';
$lang['_msg_setting_no_default'] = 'Geen standaard waarde.';
$lang['title'] = 'Titel van de wiki';
$lang['start'] = 'Naam startpagina';
@@ -158,6 +160,7 @@ $lang['search_fragment_o_exact'] = 'exact';
$lang['search_fragment_o_starts_with'] = 'begint met';
$lang['search_fragment_o_ends_with'] = 'eindigt op';
$lang['search_fragment_o_contains'] = 'bevat';
+$lang['trustedproxy'] = 'Vertrouw op doorstuurproxy\'s die overeenkomen met deze reguliere expressie over het echte client-IP dat ze rapporteren. De standaard komt overeen met lokale netwerken. Laat leeg om geen proxy te vertrouwen.';
$lang['dnslookups'] = 'DokuWiki zoekt de hostnamen van IP-adressen van gebruikers die pagina wijzigen op. Schakel deze optie uit als je geen of een langzame DNS server hebt.';
$lang['jquerycdn'] = 'Moet er een CDN gebruikt worden om de jQuery en jQuery UI bestanden te laden. Dit zorgt voor extra HTTP verzoeken, maar bestanden laden mogelijk sneller en zitten misschien al in de cache van de gebruiker.';
$lang['jquerycdn_o_0'] = 'Geen CDN gebruiken';
diff --git a/lib/plugins/config/lang/no/lang.php b/lib/plugins/config/lang/no/lang.php
index 093af8016..a20415f0e 100644
--- a/lib/plugins/config/lang/no/lang.php
+++ b/lib/plugins/config/lang/no/lang.php
@@ -3,8 +3,8 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
- * @author Rut Kristin Aanestad <dark@met.no>
* @author Torgeir Blesvik <bletor@banenor.no>
+ * @author Rut Kristin Aanestad <dark@met.no>
* @author ThorPrestboen <thor.erling.prestboen@gmail.com>
* @author Christian McKenna <mckchr@banenor.no>
* @author Thomas Nygreen <nygreen@gmail.com>
diff --git a/lib/plugins/config/lang/pt-br/lang.php b/lib/plugins/config/lang/pt-br/lang.php
index 28826d951..26eeaf28f 100644
--- a/lib/plugins/config/lang/pt-br/lang.php
+++ b/lib/plugins/config/lang/pt-br/lang.php
@@ -3,6 +3,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author Schopf <pschopf@gmail.com>
* @author Frederico Gonçalves Guimarães <frederico@teia.bio.br>
* @author Márcio Gomes Gonçalves <gomes@metha.com.br>
* @author Felipe Castro <fefcas@gmail.com>
@@ -47,6 +48,7 @@ $lang['_advanced'] = 'Configurações avançadas';
$lang['_network'] = 'Configurações de rede';
$lang['_msg_setting_undefined'] = 'Nenhum metadado configurado.';
$lang['_msg_setting_no_class'] = 'Nenhuma classe definida.';
+$lang['_msg_setting_no_known_class'] = 'Classe de configuração não disponível.';
$lang['_msg_setting_no_default'] = 'Nenhum valor padrão.';
$lang['title'] = 'Título do wiki';
$lang['start'] = 'Nome da página inicial';
@@ -162,6 +164,7 @@ $lang['search_fragment_o_exact'] = 'exato';
$lang['search_fragment_o_starts_with'] = 'começa com';
$lang['search_fragment_o_ends_with'] = 'termina com';
$lang['search_fragment_o_contains'] = 'contém';
+$lang['trustedproxy'] = 'Confie nos proxies de encaminhamento que correspondem a essa expressão regular sobre o verdadeiro IP do cliente que eles relatam. O padrão corresponde às redes locais. Deixe em branco para não confiar em proxy.';
$lang['dnslookups'] = 'O DokuWiki procurará pelo nome de host dos endereços IP remotos dos usuários que estão editando as páginas. Caso você tenha um DNS lento, ele não esteja funcionando ou, ainda, você não queira esse recurso, desabilite essa opção.';
$lang['jquerycdn'] = 'Os scripts jQuery e jQuery UI devem ser carregados a partir de uma CND? Isso adiciona requisições HTTP adicionais, mas os arquivos podem carregar mais rapidamente e os usuários podem já tê-los no cache.';
$lang['jquerycdn_o_0'] = 'Sem CDN, somente entrega local';
diff --git a/lib/plugins/config/lang/pt/lang.php b/lib/plugins/config/lang/pt/lang.php
index 7a8f21104..435c31eb0 100644
--- a/lib/plugins/config/lang/pt/lang.php
+++ b/lib/plugins/config/lang/pt/lang.php
@@ -3,8 +3,8 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author Schopf <pschopf@gmail.com>
* @author Mario AlexandTeixeira dos Santos <masterofclan@gmail.com>
- * @author Paulo Ricardo Schopf <pschopf@gmail.com>
* @author Maykon Oliveira <maykonoliveira850@gmail.com>
* @author José Vieira <jmsv63@gmail.com>
* @author José Monteiro <Jose.Monteiro@DoWeDo-IT.com>
@@ -43,6 +43,7 @@ $lang['_advanced'] = 'Configurações Avançadas';
$lang['_network'] = 'Configuração de Rede';
$lang['_msg_setting_undefined'] = 'Nenhum metadado configurado.';
$lang['_msg_setting_no_class'] = 'Nenhuma classe definida.';
+$lang['_msg_setting_no_known_class'] = 'Classe de configuração não disponível.';
$lang['_msg_setting_no_default'] = 'Sem valor por omissão.';
$lang['title'] = 'Título deste Wiki';
$lang['start'] = 'Nome da Página Inicial';
@@ -158,6 +159,7 @@ $lang['search_fragment_o_exact'] = 'exato';
$lang['search_fragment_o_starts_with'] = 'começa com';
$lang['search_fragment_o_ends_with'] = 'termina com';
$lang['search_fragment_o_contains'] = 'contém';
+$lang['trustedproxy'] = 'Confie nos proxies de encaminhamento que correspondem a essa expressão regular sobre o verdadeiro IP do cliente que eles relatam. O padrão corresponde às redes locais. Deixe em branco para não confiar em proxy.';
$lang['dnslookups'] = 'O DokuWiki irá procurar nomes de host para endereços IP remotos de usuários editando páginas. Se você tiver um servidor DNS lento, inoperante ou não quiser esse recurso, desabilite essa opção';
$lang['jquerycdn'] = 'Os arquivos de script jQuery e jQuery UI devem ser carregados de um CDN? Isso gera solicitações HTTP adicionais mas os arquivos são carregados mais rapidamente e os usuários já podem tê-los armazenados em cache.';
$lang['jquerycdn_o_0'] = 'Sem CDN, somente entrega local';
diff --git a/lib/plugins/config/lang/ru/lang.php b/lib/plugins/config/lang/ru/lang.php
index 6be33f5ca..067d9ddc6 100644
--- a/lib/plugins/config/lang/ru/lang.php
+++ b/lib/plugins/config/lang/ru/lang.php
@@ -3,9 +3,9 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author Yuriy Skalko <yuriy.skalko@gmail.com>
* @author Aleksandr Selivanov <alexgearbox@yandex.ru>
* @author Vyacheslav Strenadko <vyacheslav.strenadko@gmail.com>
- * @author Yuriy Skalko <yuriy.skalko@gmail.com>
* @author Zhassulan <zyesmukanov@gmail.com>
* @author Denis Simakov <akinoame1@gmail.com>
* @author Andrew Pleshakov <beotiger@mail.ru>
@@ -164,6 +164,7 @@ $lang['search_fragment_o_exact'] = 'точно';
$lang['search_fragment_o_starts_with'] = 'начинается на';
$lang['search_fragment_o_ends_with'] = 'заканчивается';
$lang['search_fragment_o_contains'] = 'содержит';
+$lang['trustedproxy'] = 'Доверять прокси-серверам, соответствующим этому регулярному выражению, в отношении реального IP-адреса клиента, который они сообщают. Значение по умолчанию соответствует локальным сетям. Оставьте пустым, чтобы не доверять никаким прокси-серверам.';
$lang['dnslookups'] = '«Докувики» ищет DNS-имена пользователей, редактирующих страницы. Если у вас нет DNS-сервера или он работает медленно, рекомендуем отключить эту опцию.';
$lang['jquerycdn'] = 'Требуется ли загрузка jQuery-скриптов (включая jQuery UI-скрипты) из CDN сети? Данная функция увеличивает количество HTTP запросов, но загрузка файлов будет проходить быстрее и пользователи смогут кэшировать запросы.';
$lang['jquerycdn_o_0'] = 'Не использовать CDN. Использовать только локальную доставку';
diff --git a/lib/plugins/config/lang/sk/lang.php b/lib/plugins/config/lang/sk/lang.php
index bbfa97a25..c69605dad 100644
--- a/lib/plugins/config/lang/sk/lang.php
+++ b/lib/plugins/config/lang/sk/lang.php
@@ -3,6 +3,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author Peter Mydliar <peto.mydliar@gmail.com>
* @author Martin Michalek <michalek.dev@gmail.com>
* @author Tibor Repček <tiborepcek@gmail.com>
* @author Michal Mesko <michal.mesko@gmail.com>
@@ -83,6 +84,7 @@ $lang['disableactions_subscription'] = 'Povoliť/Zrušiť informovanie o zmenác
$lang['disableactions_wikicode'] = 'Pozrieť zdroj/Exportovať zdroj';
$lang['disableactions_profile_delete'] = 'Zrušenie vlastného účtu';
$lang['disableactions_other'] = 'Iné akcie (oddelené čiarkou)';
+$lang['disableactions_rss'] = 'RSS';
$lang['auth_security_timeout'] = 'Časový limit pri prihlasovaní (v sekundách)';
$lang['securecookie'] = 'Mal by prehliadač posielať cookies nastavené cez HTTPS posielať iba cez HTTPS (bezpečné) pripojenie? Vypnite túto voľbu iba v prípade, ak je prihlasovanie do Vašej wiki zabezpečené SSL, ale prezeranie wiki je nezabezpečené.';
$lang['remote'] = 'Povolenie vzdialeného API. Umožnuje iným aplikáciám pristupovať k wiki cez XML-RPC alebo iným spôsobom.';
@@ -122,6 +124,9 @@ $lang['rss_content'] = 'Čo zobrazovať v XML feede?';
$lang['rss_update'] = 'Časový interval obnovy XML feedu (sek.)';
$lang['rss_show_summary'] = 'XML zdroj ukáže prehľad v názve';
$lang['rss_media'] = 'Aký typ zmien by mal byť zobrazený v XML feede?';
+$lang['rss_media_o_both'] = 'oboje';
+$lang['rss_media_o_pages'] = 'strany';
+$lang['rss_media_o_media'] = 'média';
$lang['updatecheck'] = 'Kontrolovať aktualizácie a bezpečnostné upozornenia? DokuWiki potrebuje pre túto funkciu prístup k update.dokuwiki.org.';
$lang['userewrite'] = 'Používať nice URLs';
$lang['useslash'] = 'Používať lomku (/) ako oddeľovač v URL';
diff --git a/lib/plugins/config/settings/config.metadata.php b/lib/plugins/config/settings/config.metadata.php
index 9a9b6d901..cd818cb88 100644
--- a/lib/plugins/config/settings/config.metadata.php
+++ b/lib/plugins/config/settings/config.metadata.php
@@ -125,7 +125,8 @@ $meta['autopasswd'] = array('onoff');
$meta['authtype'] = array('authtype','_caution' => 'danger');
$meta['passcrypt'] = array('multichoice','_choices' => array(
'smd5','md5','apr1','sha1','ssha','lsmd5','crypt','mysql','my411','kmd5','pmd5','hmd5',
- 'mediawiki','bcrypt','djangomd5','djangosha1','djangopbkdf2_sha1','djangopbkdf2_sha256','sha512'
+ 'mediawiki','bcrypt','djangomd5','djangosha1','djangopbkdf2_sha1','djangopbkdf2_sha256',
+ 'sha512','argon2i','argon2id'
));
$meta['defaultgroup']= array('string');
$meta['superuser'] = array('string','_caution' => 'danger');
@@ -227,6 +228,10 @@ $meta['renderer_xhtml'] = array('renderer','_format' => 'xhtml','_choices' => ar
$meta['readdircache'] = array('numeric');
$meta['search_nslimit'] = array('numeric', '_min' => 0);
$meta['search_fragment'] = array('multichoice','_choices' => array('exact', 'starts_with', 'ends_with', 'contains'),);
+$meta['trustedproxy'] = array('regex');
+
+$meta['_feature_flags'] = ['fieldset'];
+$meta['defer_js'] = ['onoff'];
$meta['_network'] = array('fieldset');
$meta['dnslookups'] = array('onoff');
@@ -237,4 +242,3 @@ $meta['proxy____user'] = array('string');
$meta['proxy____pass'] = array('password','_code' => 'base64');
$meta['proxy____ssl'] = array('onoff');
$meta['proxy____except'] = array('string');
-
diff --git a/lib/plugins/extension/action.php b/lib/plugins/extension/action.php
index 3255f24b0..3bb044825 100644
--- a/lib/plugins/extension/action.php
+++ b/lib/plugins/extension/action.php
@@ -16,7 +16,6 @@ class action_plugin_extension extends DokuWiki_Action_Plugin
*/
public function register(Doku_Event_Handler $controller)
{
-
$controller->register_hook('AJAX_CALL_UNKNOWN', 'BEFORE', $this, 'info');
}
@@ -26,7 +25,7 @@ class action_plugin_extension extends DokuWiki_Action_Plugin
* @param Doku_Event $event
* @param $param
*/
- public function info(Doku_Event &$event, $param)
+ public function info(Doku_Event $event, $param)
{
global $USERINFO;
global $INPUT;
@@ -69,7 +68,7 @@ class action_plugin_extension extends DokuWiki_Action_Plugin
);
header('Content-Type: application/json');
- json_encode($return);
+ echo json_encode($return);
break;
case 'info':
diff --git a/lib/plugins/extension/admin.php b/lib/plugins/extension/admin.php
index 421b7138f..ded688a9b 100644
--- a/lib/plugins/extension/admin.php
+++ b/lib/plugins/extension/admin.php
@@ -51,9 +51,11 @@ class admin_plugin_extension extends DokuWiki_Admin_Plugin
/* @var helper_plugin_extension_repository $repository */
$repository = $this->loadHelper('extension_repository');
- if(!$repository->hasAccess(!$INPUT->bool('purge'))) {
- $url = $this->gui->tabURL('', array('purge' => 1));
- msg($this->getLang('repo_error').' [<a href="'.$url.'">'.$this->getLang('repo_retry').'</a>]', -1);
+ if (!$repository->hasAccess(!$INPUT->bool('purge'))) {
+ $url = $this->gui->tabURL('', ['purge' => 1], '&');
+ msg($this->getLang('repo_error').
+ ' [<a href="'.$url.'">'.$this->getLang('repo_retry').'</a>]', -1
+ );
}
if (!in_array('ssl', stream_get_transports())) {
@@ -75,12 +77,9 @@ class admin_plugin_extension extends DokuWiki_Admin_Plugin
$extension->setExtension($extname);
$installed = $extension->installOrUpdate();
foreach ($installed as $ext => $info) {
- msg(
- sprintf(
- $this->getLang('msg_' . $info['type'] . '_' . $info['action'] . '_success'),
- $info['base']
- ),
- 1
+ msg(sprintf(
+ $this->getLang('msg_'.$info['type'].'_'.$info['action'].'_success'),
+ $info['base']), 1
);
}
break;
@@ -88,20 +87,14 @@ class admin_plugin_extension extends DokuWiki_Admin_Plugin
$extension->setExtension($extname);
$status = $extension->uninstall();
if ($status) {
- msg(
- sprintf(
- $this->getLang('msg_delete_success'),
- hsc($extension->getDisplayName())
- ),
- 1
+ msg(sprintf(
+ $this->getLang('msg_delete_success'),
+ hsc($extension->getDisplayName())), 1
);
} else {
- msg(
- sprintf(
- $this->getLang('msg_delete_failed'),
- hsc($extension->getDisplayName())
- ),
- -1
+ msg(sprintf(
+ $this->getLang('msg_delete_failed'),
+ hsc($extension->getDisplayName())), -1
);
}
break;
@@ -111,7 +104,10 @@ class admin_plugin_extension extends DokuWiki_Admin_Plugin
if ($status !== true) {
msg($status, -1);
} else {
- msg(sprintf($this->getLang('msg_enabled'), hsc($extension->getDisplayName())), 1);
+ msg(sprintf(
+ $this->getLang('msg_enabled'),
+ hsc($extension->getDisplayName())), 1
+ );
}
break;
case 'disable':
@@ -120,29 +116,38 @@ class admin_plugin_extension extends DokuWiki_Admin_Plugin
if ($status !== true) {
msg($status, -1);
} else {
- msg(sprintf($this->getLang('msg_disabled'), hsc($extension->getDisplayName())), 1);
+ msg(sprintf(
+ $this->getLang('msg_disabled'),
+ hsc($extension->getDisplayName())), 1
+ );
}
break;
}
}
}
- send_redirect($this->gui->tabURL('', array(), '&', true));
+ send_redirect($this->gui->tabURL('', [], '&', true));
} elseif ($INPUT->post->str('installurl') && checkSecurityToken()) {
$installed = $extension->installFromURL($INPUT->post->str('installurl'));
foreach ($installed as $ext => $info) {
- msg(sprintf($this->getLang('msg_'.$info['type'].'_'.$info['action'].'_success'), $info['base']), 1);
+ msg(sprintf(
+ $this->getLang('msg_'.$info['type'].'_'.$info['action'].'_success'),
+ $info['base']), 1
+ );
}
- send_redirect($this->gui->tabURL('', array(), '&', true));
+ send_redirect($this->gui->tabURL('', [], '&', true));
} elseif (isset($_FILES['installfile']) && checkSecurityToken()) {
$installed = $extension->installFromUpload('installfile');
foreach ($installed as $ext => $info) {
- msg(sprintf($this->getLang('msg_'.$info['type'].'_'.$info['action'].'_success'), $info['base']), 1);
+ msg(sprintf(
+ $this->getLang('msg_'.$info['type'].'_'.$info['action'].'_success'),
+ $info['base']), 1
+ );
}
- send_redirect($this->gui->tabURL('', array(), '&', true));
+ send_redirect($this->gui->tabURL('', [], '&', true));
}
} catch (Exception $e) {
msg($e->getMessage(), -1);
- send_redirect($this->gui->tabURL('', array(), '&', true));
+ send_redirect($this->gui->tabURL('', [], '&', true));
}
}
@@ -151,8 +156,8 @@ class admin_plugin_extension extends DokuWiki_Admin_Plugin
*/
public function html()
{
- ptln('<h1>'.$this->getLang('menu').'</h1>');
- ptln('<div id="extension__manager">');
+ echo '<h1>'.$this->getLang('menu').'</h1>'.DOKU_LF;
+ echo '<div id="extension__manager">'.DOKU_LF;
$this->gui->tabNavigation();
@@ -171,7 +176,7 @@ class admin_plugin_extension extends DokuWiki_Admin_Plugin
$this->gui->tabPlugins();
}
- ptln('</div>');
+ echo '</div>'.DOKU_LF;
}
}
diff --git a/lib/plugins/extension/helper/extension.php b/lib/plugins/extension/helper/extension.php
index 0186620d0..3e7087eba 100644
--- a/lib/plugins/extension/helper/extension.php
+++ b/lib/plugins/extension/helper/extension.php
@@ -126,11 +126,11 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin
return in_array(
$this->id,
array(
- 'authad', 'authldap', 'authmysql', 'authpdo',
- 'authpgsql', 'authplain', 'acl', 'info', 'extension',
- 'revert', 'popularity', 'config', 'safefnrecode', 'styling',
- 'testing', 'template:dokuwiki'
- )
+ 'authad', 'authldap', 'authpdo', 'authplain',
+ 'acl', 'config', 'extension', 'info', 'popularity', 'revert',
+ 'safefnrecode', 'styling', 'testing', 'usermanager',
+ 'template:dokuwiki',
+ )
);
}
@@ -306,7 +306,8 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin
public function getURL()
{
if (!empty($this->localInfo['url'])) return $this->localInfo['url'];
- return 'https://www.dokuwiki.org/'.($this->isTemplate() ? 'template' : 'plugin').':'.$this->getBase();
+ return 'https://www.dokuwiki.org/'.
+ ($this->isTemplate() ? 'template' : 'plugin').':'.$this->getBase();
}
/**
@@ -772,8 +773,8 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin
if (is_readable($infopath)) {
$this->localInfo = confToHash($infopath);
} elseif (!$this->isTemplate() && $this->isEnabled()) {
- $path = $this->getInstallDir().'/';
- $plugin = null;
+ $path = $this->getInstallDir().'/';
+ $plugin = null;
foreach (PluginController::PLUGIN_TYPES as $type) {
if (file_exists($path.$type.'.php')) {
@@ -895,7 +896,8 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin
* @param string $defaultName fallback for name of download
* @return bool|string if failed false, otherwise true or the name of the file in the given dir
*/
- protected function downloadToFile($url,$file,$defaultName=''){
+ protected function downloadToFile($url, $file, $defaultName = '')
+ {
global $conf;
$http = new DokuHTTPClient();
$http->max_bodysize = 0;
@@ -909,10 +911,10 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin
$name = '';
if (isset($http->resp_headers['content-disposition'])) {
$content_disposition = $http->resp_headers['content-disposition'];
- $match=array();
+ $match = array();
if (is_string($content_disposition) &&
- preg_match('/attachment;\s*filename\s*=\s*"([^"]*)"/i', $content_disposition, $match)) {
-
+ preg_match('/attachment;\s*filename\s*=\s*"([^"]*)"/i', $content_disposition, $match)
+ ) {
$name = \dokuwiki\Utf8\PhpString::basename($match[1]);
}
@@ -927,10 +929,10 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin
$fileexists = file_exists($file);
$fp = @fopen($file,"w");
- if(!$fp) return false;
- fwrite($fp,$data);
+ if (!$fp) return false;
+ fwrite($fp, $data);
fclose($fp);
- if(!$fileexists and $conf['fperm']) chmod($file, $conf['fperm']);
+ if (!$fileexists and $conf['fperm']) chmod($file, $conf['fperm']);
return $name;
}
@@ -964,7 +966,9 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin
// download
if (!$file = $this->downloadToFile($url, $tmp.'/', $file)) {
io_rmdir($tmp, true);
- throw new Exception(sprintf($this->getLang('error_download'), '<bdi>'.hsc($url).'</bdi>'));
+ throw new Exception(sprintf($this->getLang('error_download'),
+ '<bdi>'.hsc($url).'</bdi>')
+ );
}
return $tmp.'/'.$file;
@@ -1055,7 +1059,9 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin
'action' => $action
);
} else {
- throw new Exception(sprintf($this->getLang('error_copy').DOKU_LF, '<bdi>'.$item['base'].'</bdi>'));
+ throw new Exception(sprintf($this->getLang('error_copy').DOKU_LF,
+ '<bdi>'.$item['base'].'</bdi>')
+ );
}
}
@@ -1129,13 +1135,13 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin
// files where found but no info.txt - use old method
if ($found_files) {
- $info = array();
- $info['tmp'] = $this_dir;
+ $info = array();
+ $info['tmp'] = $this_dir;
// does this look like a template or should we use the default type?
if ($found_template_parts >= 2) {
- $info['type'] = 'template';
+ $info['type'] = 'template';
} else {
- $info['type'] = $default_type;
+ $info['type'] = $default_type;
}
$result['old'][] = $info;
@@ -1187,7 +1193,8 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin
return true;
}
- // the only case when we don't get one of the recognized archive types is when the archive file can't be read
+ // the only case when we don't get one of the recognized archive types is
+ // when the archive file can't be read
throw new Exception($this->getLang('error_decompress').' Couldn\'t read archive file');
}
@@ -1238,10 +1245,10 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin
closedir($dh);
return $ok;
} else {
- $exists = file_exists($dst);
+ $existed = file_exists($dst);
if (!@copy($src, $dst)) return false;
- if (!$exists && !empty($conf['fperm'])) chmod($dst, $conf['fperm']);
+ if (!$existed && $conf['fperm']) chmod($dst, $conf['fperm']);
@touch($dst, filemtime($src));
}
diff --git a/lib/plugins/extension/helper/gui.php b/lib/plugins/extension/helper/gui.php
index aa9e2ec45..d02c02a89 100644
--- a/lib/plugins/extension/helper/gui.php
+++ b/lib/plugins/extension/helper/gui.php
@@ -6,14 +6,13 @@
* @author Andreas Gohr <andi@splitbrain.org>
*/
-use dokuwiki\Extension\PluginController;
+use dokuwiki\Form\Form;
/**
* Class helper_plugin_extension_list takes care of the overall GUI
*/
class helper_plugin_extension_gui extends DokuWiki_Plugin
{
-
protected $tabs = array('plugins', 'templates', 'search', 'install');
/** @var string the extension that should have an open info window FIXME currently broken */
@@ -35,26 +34,28 @@ class helper_plugin_extension_gui extends DokuWiki_Plugin
*/
public function tabPlugins()
{
- /* @var PluginController $plugin_controller */
- global $plugin_controller;
-
echo '<div class="panelHeader">';
echo $this->locale_xhtml('intro_plugins');
echo '</div>';
- $pluginlist = $plugin_controller->getList('', true);
- sort($pluginlist);
+ $pluginlist = plugin_list('', true);
/* @var helper_plugin_extension_extension $extension */
$extension = $this->loadHelper('extension_extension');
/* @var helper_plugin_extension_list $list */
$list = $this->loadHelper('extension_list');
+
+ $form = new Form([
+ 'action' => $this->tabURL('', [], '&'),
+ 'id' => 'extension__list',
+ ]);
$list->startForm();
foreach ($pluginlist as $name) {
$extension->setExtension($name);
$list->addRow($extension, $extension->getID() == $this->infoFor);
}
$list->endForm();
- $list->render();
+ $form->addHTML($list->render(true));
+ echo $form->toHTML();
}
/**
@@ -75,13 +76,19 @@ class helper_plugin_extension_gui extends DokuWiki_Plugin
$extension = $this->loadHelper('extension_extension');
/* @var helper_plugin_extension_list $list */
$list = $this->loadHelper('extension_list');
+
+ $form = new Form([
+ 'action' => $this->tabURL('', [], '&'),
+ 'id' => 'extension__list',
+ ]);
$list->startForm();
foreach ($tpllist as $name) {
$extension->setExtension("template:$name");
$list->addRow($extension, $extension->getID() == $this->infoFor);
}
$list->endForm();
- $list->render();
+ $form->addHTML($list->render(true));
+ echo $form->toHTML();
}
/**
@@ -94,10 +101,18 @@ class helper_plugin_extension_gui extends DokuWiki_Plugin
echo $this->locale_xhtml('intro_search');
echo '</div>';
- $form = new Doku_Form(array('action' => $this->tabURL('', array(), '&'), 'class' => 'search'));
- $form->addElement(form_makeTextField('q', $INPUT->str('q'), $this->getLang('search_for')));
- $form->addElement(form_makeButton('submit', '', $this->getLang('search')));
- $form->printForm();
+ $form = new Form([
+ 'action' => $this->tabURL('', [], '&'),
+ 'class' => 'search',
+ ]);
+ $form->addTagOpen('div')->addClass('no');
+ $form->addTextInput('q', $this->getLang('search_for'))
+ ->addClass('edit')
+ ->val($INPUT->str('q'));
+ $form->addButton('submit', $this->getLang('search'))
+ ->attrs(['type' => 'submit', 'title' => $this->getLang('search')]);
+ $form->addTagClose('div');
+ echo $form->toHTML();
if (!$INPUT->bool('q')) return;
@@ -109,6 +124,11 @@ class helper_plugin_extension_gui extends DokuWiki_Plugin
$extension = $this->loadHelper('extension_extension');
/* @var helper_plugin_extension_list $list */
$list = $this->loadHelper('extension_list');
+
+ $form = new Form([
+ 'action' => $this->tabURL('', [], '&'),
+ 'id' => 'extension__list',
+ ]);
$list->startForm();
if ($result) {
foreach ($result as $name) {
@@ -119,7 +139,8 @@ class helper_plugin_extension_gui extends DokuWiki_Plugin
$list->nothingFound();
}
$list->endForm();
- $list->render();
+ $form->addHTML($list->render(true));
+ echo $form->toHTML();
}
/**
@@ -131,17 +152,24 @@ class helper_plugin_extension_gui extends DokuWiki_Plugin
echo $this->locale_xhtml('intro_install');
echo '</div>';
- $form = new Doku_Form(
- array(
- 'action' => $this->tabURL('', array(), '&'),
+ $form = new Form([
+ 'action' => $this->tabURL('', [], '&'),
'enctype' => 'multipart/form-data',
- 'class' => 'install'
- )
- );
- $form->addElement(form_makeTextField('installurl', '', $this->getLang('install_url'), '', 'block'));
- $form->addElement(form_makeFileField('installfile', $this->getLang('install_upload'), '', 'block'));
- $form->addElement(form_makeButton('submit', '', $this->getLang('btn_install')));
- $form->printForm();
+ 'class' => 'install',
+ ]);
+ $form->addTagOpen('div')->addClass('no');
+ $form->addTextInput('installurl', $this->getLang('install_url'))
+ ->addClass('block')
+ ->attrs(['type' => 'url']);
+ $form->addTag('br');
+ $form->addTextInput('installfile', $this->getLang('install_upload'))
+ ->addClass('block')
+ ->attrs(['type' => 'file']);
+ $form->addTag('br');
+ $form->addButton('', $this->getLang('btn_install'))
+ ->attrs(['type' => 'submit', 'title' => $this->getLang('btn_install')]);
+ $form->addTagClose('div');
+ echo $form->toHTML();
}
/**
@@ -187,7 +215,7 @@ class helper_plugin_extension_gui extends DokuWiki_Plugin
* @param bool $absolute create absolute URLs?
* @return string
*/
- public function tabURL($tab = '', $params = array(), $sep = '&amp;', $absolute = false)
+ public function tabURL($tab = '', $params = [], $sep = '&', $absolute = false)
{
global $ID;
global $INPUT;
diff --git a/lib/plugins/extension/helper/list.php b/lib/plugins/extension/helper/list.php
index d895941cb..647575b10 100644
--- a/lib/plugins/extension/helper/list.php
+++ b/lib/plugins/extension/helper/list.php
@@ -30,13 +30,6 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
*/
public function startForm()
{
- $this->form .= '<form id="extension__list" accept-charset="utf-8" method="post" action="">';
- $hidden = array(
- 'do'=>'admin',
- 'page'=>'extension',
- 'sectok'=>getSecurityToken()
- );
- $this->addHidden($hidden);
$this->form .= '<ul class="extensionList">';
}
@@ -96,7 +89,6 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
public function endForm()
{
$this->form .= '</ul>';
- $this->form .= '</form>'.DOKU_LF;
}
/**
@@ -110,9 +102,12 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
/**
* Print the form
+ *
+ * @param bool $returnonly whether to return html or print
*/
- public function render()
+ public function render($returnonly = false)
{
+ if ($returnonly) return $this->form;
echo $this->form;
}
@@ -153,13 +148,30 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
*/
public function makeHomepageLink(helper_plugin_extension_extension $extension)
{
- $text = $this->getLang('homepage_link');
- $url = hsc($extension->getURL());
- return '<a href="'.$url.'" title="'.$url.'" class ="urlextern">'.$text.'</a> ';
+ global $conf;
+ $url = $extension->getURL();
+ if (strtolower(parse_url($url, PHP_URL_HOST)) == 'www.dokuwiki.org') {
+ $linktype = 'interwiki';
+ } else {
+ $linktype = 'extern';
+ }
+ $param = array(
+ 'href' => $url,
+ 'title' => $url,
+ 'class' => ($linktype == 'extern') ? 'urlextern' : 'interwiki iw_doku',
+ 'target' => $conf['target'][$linktype],
+ 'rel' => ($linktype == 'extern') ? 'noopener' : '',
+ );
+ if ($linktype == 'extern' && $conf['relnofollow']) {
+ $param['rel'] = implode(' ', [$param['rel'], 'ugc nofollow']);
+ }
+ $html = ' <a '. buildAttributes($param, true).'>'.
+ $this->getLang('homepage_link').'</a>';
+ return $html;
}
/**
- * Generate the class name for the row of the extensio
+ * Generate the class name for the row of the extension
*
* @param helper_plugin_extension_extension $extension The extension object
* @return string The class name
@@ -190,14 +202,18 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
$mailid = $extension->getEmailID();
if ($mailid) {
$url = $this->gui->tabURL('search', array('q' => 'authorid:'.$mailid));
- return '<bdi><a href="'.$url.'" class="author" title="'.$this->getLang('author_hint').'" >'.
- '<img src="//www.gravatar.com/avatar/'.$mailid.'?s=20&amp;d=mm" width="20" height="20" alt="" /> '.
- hsc($extension->getAuthor()).'</a></bdi>';
+ $html = '<a href="'.$url.'" class="author" title="'.$this->getLang('author_hint').'" >'.
+ '<img src="//www.gravatar.com/avatar/'.$mailid.
+ '?s=20&amp;d=mm" width="20" height="20" alt="" /> '.
+ hsc($extension->getAuthor()).'</a>';
} else {
- return '<bdi><span class="author">'.hsc($extension->getAuthor()).'</span></bdi>';
+ $html = '<span class="author">'.hsc($extension->getAuthor()).'</span>';
}
+ $html = '<bdi>'.$html.'</bdi>';
+ } else {
+ $html = '<em class="author">'.$this->getLang('unknown_author').'</em>'.DOKU_LF;
}
- return "<em class=\"author\">".$this->getLang('unknown_author')."</em>".DOKU_LF;
+ return $html;
}
/**
@@ -227,7 +243,8 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
$img = '<img alt="" width="120" height="70" src="'.DOKU_BASE.
'lib/plugins/extension/images/plugin.png" />';
}
- return '<div class="screenshot" >'.$img.'<span></span></div>'.DOKU_LF;
+ $html = '<div class="screenshot" >'.$img.'<span></span></div>'.DOKU_LF;
+ return $html;
}
/**
@@ -239,33 +256,33 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
*/
public function makeLegend(helper_plugin_extension_extension $extension, $showinfo = false)
{
- $return = '<div>';
- $return .= '<h2>';
- $return .= sprintf(
+ $html = '<div>';
+ $html .= '<h2>';
+ $html .= sprintf(
$this->getLang('extensionby'),
'<bdi>'.hsc($extension->getDisplayName()).'</bdi>',
$this->makeAuthor($extension)
);
- $return .= '</h2>'.DOKU_LF;
+ $html .= '</h2>'.DOKU_LF;
- $return .= $this->makeScreenshot($extension);
+ $html .= $this->makeScreenshot($extension);
$popularity = $extension->getPopularity();
if ($popularity !== false && !$extension->isBundled()) {
$popularityText = sprintf($this->getLang('popularity'), round($popularity*100, 2));
- $return .= '<div class="popularity" title="'.$popularityText.'">'.
+ $html .= '<div class="popularity" title="'.$popularityText.'">'.
'<div style="width: '.($popularity * 100).'%;">'.
'<span class="a11y">'.$popularityText.'</span>'.
'</div></div>'.DOKU_LF;
}
if ($extension->getDescription()) {
- $return .= '<p><bdi>';
- $return .= hsc($extension->getDescription()).' ';
- $return .= '</bdi></p>'.DOKU_LF;
+ $html .= '<p><bdi>';
+ $html .= hsc($extension->getDescription()).' ';
+ $html .= '</bdi></p>'.DOKU_LF;
}
- $return .= $this->makeLinkbar($extension);
+ $html .= $this->makeLinkbar($extension);
if ($showinfo) {
$url = $this->gui->tabURL('');
@@ -274,16 +291,16 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
$url = $this->gui->tabURL('', array('info' => $extension->getID()));
$class = '';
}
- $return .= ' <a href="'.$url.'#extensionplugin__'.$extension->getID().
+ $html .= ' <a href="'.$url.'#extensionplugin__'.$extension->getID().
'" class="info '.$class.'" title="'.$this->getLang('btn_info').
'" data-extid="'.$extension->getID().'">'.$this->getLang('btn_info').'</a>';
if ($showinfo) {
- $return .= $this->makeInfo($extension);
+ $html .= $this->makeInfo($extension);
}
- $return .= $this->makeNoticeArea($extension);
- $return .= '</div>'.DOKU_LF;
- return $return;
+ $html .= $this->makeNoticeArea($extension);
+ $html .= '</div>'.DOKU_LF;
+ return $html;
}
/**
@@ -294,29 +311,46 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
*/
public function makeLinkbar(helper_plugin_extension_extension $extension)
{
- $return = '<div class="linkbar">';
- $return .= $this->makeHomepageLink($extension);
- if ($extension->getBugtrackerURL()) {
- $return .= ' <a href="'.hsc($extension->getBugtrackerURL()).
- '" title="'.hsc($extension->getBugtrackerURL()).'" class ="bugs">'.
- $this->getLang('bugs_features').'</a> ';
+ global $conf;
+ $html = '<div class="linkbar">';
+ $html .= $this->makeHomepageLink($extension);
+
+ $bugtrackerURL = $extension->getBugtrackerURL();
+ if ($bugtrackerURL) {
+ if (strtolower(parse_url($bugtrackerURL, PHP_URL_HOST)) == 'www.dokuwiki.org') {
+ $linktype = 'interwiki';
+ } else {
+ $linktype = 'extern';
+ }
+ $param = array(
+ 'href' => $bugtrackerURL,
+ 'title' => $bugtrackerURL,
+ 'class' => 'bugs',
+ 'target' => $conf['target'][$linktype],
+ 'rel' => ($linktype == 'extern') ? 'noopener' : '',
+ );
+ if ($conf['relnofollow']) {
+ $param['rel'] = implode(' ', [$param['rel'], 'ugc nofollow']);
+ }
+ $html .= ' <a '.buildAttributes($param, true).'>'.
+ $this->getLang('bugs_features').'</a>';
}
if ($extension->getTags()) {
$first = true;
- $return .= '<span class="tags">'.$this->getLang('tags').' ';
+ $html .= ' <span class="tags">'.$this->getLang('tags').' ';
foreach ($extension->getTags() as $tag) {
if (!$first) {
- $return .= ', ';
+ $html .= ', ';
} else {
$first = false;
}
- $url = $this->gui->tabURL('search', array('q' => 'tag:'.$tag));
- $return .= '<bdi><a href="'.$url.'">'.hsc($tag).'</a></bdi>';
+ $url = $this->gui->tabURL('search', ['q' => 'tag:'.$tag]);
+ $html .= '<bdi><a href="'.$url.'">'.hsc($tag).'</a></bdi>';
}
- $return .= '</span>';
+ $html .= '</span>';
}
- $return .= '</div>'.DOKU_LF;
- return $return;
+ $html .= '</div>'.DOKU_LF;
+ return $html;
}
/**
@@ -327,10 +361,10 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
*/
public function makeNoticeArea(helper_plugin_extension_extension $extension)
{
- $return = '';
+ $html = '';
$missing_dependencies = $extension->getMissingDependencies();
if (!empty($missing_dependencies)) {
- $return .= '<div class="msg error">' .
+ $html .= '<div class="msg error">' .
sprintf(
$this->getLang('missing_dependency'),
'<bdi>' . implode(', ', $missing_dependencies) . '</bdi>'
@@ -338,7 +372,7 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
'</div>';
}
if ($extension->isInWrongFolder()) {
- $return .= '<div class="msg error">' .
+ $html .= '<div class="msg error">' .
sprintf(
$this->getLang('wrong_folder'),
'<bdi>' . hsc($extension->getInstallName()) . '</bdi>',
@@ -347,22 +381,22 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
'</div>';
}
if (($securityissue = $extension->getSecurityIssue()) !== false) {
- $return .= '<div class="msg error">'.
+ $html .= '<div class="msg error">'.
sprintf($this->getLang('security_issue'), '<bdi>'.hsc($securityissue).'</bdi>').
'</div>';
}
if (($securitywarning = $extension->getSecurityWarning()) !== false) {
- $return .= '<div class="msg notify">'.
+ $html .= '<div class="msg notify">'.
sprintf($this->getLang('security_warning'), '<bdi>'.hsc($securitywarning).'</bdi>').
'</div>';
}
if ($extension->updateAvailable()) {
- $return .= '<div class="msg notify">'.
+ $html .= '<div class="msg notify">'.
sprintf($this->getLang('update_available'), hsc($extension->getLastUpdate())).
'</div>';
}
if ($extension->hasDownloadURLChanged()) {
- $return .= '<div class="msg notify">' .
+ $html .= '<div class="msg notify">' .
sprintf(
$this->getLang('url_change'),
'<bdi>' . hsc($extension->getDownloadURL()) . '</bdi>',
@@ -370,7 +404,7 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
) .
'</div>';
}
- return $return.DOKU_LF;
+ return $html.DOKU_LF;
}
/**
@@ -392,7 +426,8 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
$name = shorten($base, $long, 55);
- return '<a href="'.hsc($url).'" class="urlextern">'.hsc($name).'</a>';
+ $html = '<a href="'.hsc($url).'" class="urlextern">'.hsc($name).'</a>';
+ return $html;
}
/**
@@ -404,88 +439,98 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
public function makeInfo(helper_plugin_extension_extension $extension)
{
$default = $this->getLang('unknown');
- $return = '<dl class="details">';
+ $html = '<dl class="details">';
- $return .= '<dt>'.$this->getLang('status').'</dt>';
- $return .= '<dd>'.$this->makeStatus($extension).'</dd>';
+ $html .= '<dt>'.$this->getLang('status').'</dt>';
+ $html .= '<dd>'.$this->makeStatus($extension).'</dd>';
if ($extension->getDonationURL()) {
- $return .= '<dt>'.$this->getLang('donate').'</dt>';
- $return .= '<dd>';
- $return .= '<a href="'.$extension->getDonationURL().'" class="donate">'.
+ $html .= '<dt>'.$this->getLang('donate').'</dt>';
+ $html .= '<dd>';
+ $html .= '<a href="'.$extension->getDonationURL().'" class="donate">'.
$this->getLang('donate_action').'</a>';
- $return .= '</dd>';
+ $html .= '</dd>';
}
if (!$extension->isBundled()) {
- $return .= '<dt>'.$this->getLang('downloadurl').'</dt>';
- $return .= '<dd><bdi>';
- $return .= ($extension->getDownloadURL() ? $this->shortlink($extension->getDownloadURL()) : $default);
- $return .= '</bdi></dd>';
-
- $return .= '<dt>'.$this->getLang('repository').'</dt>';
- $return .= '<dd><bdi>';
- $return .= ($extension->getSourcerepoURL() ? $this->shortlink($extension->getSourcerepoURL()) : $default);
- $return .= '</bdi></dd>';
+ $html .= '<dt>'.$this->getLang('downloadurl').'</dt>';
+ $html .= '<dd><bdi>';
+ $html .= ($extension->getDownloadURL()
+ ? $this->shortlink($extension->getDownloadURL())
+ : $default);
+ $html .= '</bdi></dd>';
+
+ $html .= '<dt>'.$this->getLang('repository').'</dt>';
+ $html .= '<dd><bdi>';
+ $html .= ($extension->getSourcerepoURL()
+ ? $this->shortlink($extension->getSourcerepoURL())
+ : $default);
+ $html .= '</bdi></dd>';
}
if ($extension->isInstalled()) {
if ($extension->getInstalledVersion()) {
- $return .= '<dt>'.$this->getLang('installed_version').'</dt>';
- $return .= '<dd>';
- $return .= hsc($extension->getInstalledVersion());
- $return .= '</dd>';
+ $html .= '<dt>'.$this->getLang('installed_version').'</dt>';
+ $html .= '<dd>';
+ $html .= hsc($extension->getInstalledVersion());
+ $html .= '</dd>';
}
if (!$extension->isBundled()) {
- $return .= '<dt>'.$this->getLang('install_date').'</dt>';
- $return .= '<dd>';
- $return .= ($extension->getUpdateDate() ? hsc($extension->getUpdateDate()) : $this->getLang('unknown'));
- $return .= '</dd>';
+ $html .= '<dt>'.$this->getLang('install_date').'</dt>';
+ $html .= '<dd>';
+ $html .= ($extension->getUpdateDate()
+ ? hsc($extension->getUpdateDate())
+ : $this->getLang('unknown'));
+ $html .= '</dd>';
}
}
if (!$extension->isInstalled() || $extension->updateAvailable()) {
- $return .= '<dt>'.$this->getLang('available_version').'</dt>';
- $return .= '<dd>';
- $return .= ($extension->getLastUpdate() ? hsc($extension->getLastUpdate()) : $this->getLang('unknown'));
- $return .= '</dd>';
+ $html .= '<dt>'.$this->getLang('available_version').'</dt>';
+ $html .= '<dd>';
+ $html .= ($extension->getLastUpdate()
+ ? hsc($extension->getLastUpdate())
+ : $this->getLang('unknown'));
+ $html .= '</dd>';
}
- $return .= '<dt>'.$this->getLang('provides').'</dt>';
- $return .= '<dd><bdi>';
- $return .= ($extension->getTypes() ? hsc(implode(', ', $extension->getTypes())) : $default);
- $return .= '</bdi></dd>';
+ $html .= '<dt>'.$this->getLang('provides').'</dt>';
+ $html .= '<dd><bdi>';
+ $html .= ($extension->getTypes()
+ ? hsc(implode(', ', $extension->getTypes()))
+ : $default);
+ $html .= '</bdi></dd>';
if (!$extension->isBundled() && $extension->getCompatibleVersions()) {
- $return .= '<dt>'.$this->getLang('compatible').'</dt>';
- $return .= '<dd>';
+ $html .= '<dt>'.$this->getLang('compatible').'</dt>';
+ $html .= '<dd>';
foreach ($extension->getCompatibleVersions() as $date => $version) {
- $return .= '<bdi>'.$version['label'].' ('.$date.')</bdi>, ';
+ $html .= '<bdi>'.$version['label'].' ('.$date.')</bdi>, ';
}
- $return = rtrim($return, ', ');
- $return .= '</dd>';
+ $html = rtrim($html, ', ');
+ $html .= '</dd>';
}
if ($extension->getDependencies()) {
- $return .= '<dt>'.$this->getLang('depends').'</dt>';
- $return .= '<dd>';
- $return .= $this->makeLinkList($extension->getDependencies());
- $return .= '</dd>';
+ $html .= '<dt>'.$this->getLang('depends').'</dt>';
+ $html .= '<dd>';
+ $html .= $this->makeLinkList($extension->getDependencies());
+ $html .= '</dd>';
}
if ($extension->getSimilarExtensions()) {
- $return .= '<dt>'.$this->getLang('similar').'</dt>';
- $return .= '<dd>';
- $return .= $this->makeLinkList($extension->getSimilarExtensions());
- $return .= '</dd>';
+ $html .= '<dt>'.$this->getLang('similar').'</dt>';
+ $html .= '<dd>';
+ $html .= $this->makeLinkList($extension->getSimilarExtensions());
+ $html .= '</dd>';
}
if ($extension->getConflicts()) {
- $return .= '<dt>'.$this->getLang('conflicts').'</dt>';
- $return .= '<dd>';
- $return .= $this->makeLinkList($extension->getConflicts());
- $return .= '</dd>';
+ $html .= '<dt>'.$this->getLang('conflicts').'</dt>';
+ $html .= '<dd>';
+ $html .= $this->makeLinkList($extension->getConflicts());
+ $html .= '</dd>';
}
- $return .= '</dl>'.DOKU_LF;
- return $return;
+ $html .= '</dl>'.DOKU_LF;
+ return $html;
}
/**
@@ -496,12 +541,13 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
*/
public function makeLinkList($ext)
{
- $return = '';
+ $html = '';
foreach ($ext as $link) {
- $return .= '<bdi><a href="'.
- $this->gui->tabURL('search', array('q'=>'ext:'.$link)).'">'.hsc($link).'</a></bdi>, ';
+ $html .= '<bdi><a href="'.
+ $this->gui->tabURL('search', array('q'=>'ext:'.$link)).'">'.
+ hsc($link).'</a></bdi>, ';
}
- return rtrim($return, ', ');
+ return rtrim($html, ', ');
}
/**
@@ -513,19 +559,19 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
public function makeActions(helper_plugin_extension_extension $extension)
{
global $conf;
- $return = '';
+ $html = '';
$errors = '';
if ($extension->isInstalled()) {
if (($canmod = $extension->canModify()) === true) {
if (!$extension->isProtected()) {
- $return .= $this->makeAction('uninstall', $extension);
+ $html .= $this->makeAction('uninstall', $extension);
}
if ($extension->getDownloadURL()) {
if ($extension->updateAvailable()) {
- $return .= $this->makeAction('update', $extension);
+ $html .= $this->makeAction('update', $extension);
} else {
- $return .= $this->makeAction('reinstall', $extension);
+ $html .= $this->makeAction('reinstall', $extension);
}
}
} else {
@@ -534,9 +580,9 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
if (!$extension->isProtected() && !$extension->isTemplate()) { // no enable/disable for templates
if ($extension->isEnabled()) {
- $return .= $this->makeAction('disable', $extension);
+ $html .= $this->makeAction('disable', $extension);
} else {
- $return .= $this->makeAction('enable', $extension);
+ $html .= $this->makeAction('enable', $extension);
}
}
@@ -553,7 +599,7 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
} else {
if (($canmod = $extension->canModify()) === true) {
if ($extension->getDownloadURL()) {
- $return .= $this->makeAction('install', $extension);
+ $html .= $this->makeAction('install', $extension);
}
} else {
$errors .= '<div class="permerror">'.$this->getLang($canmod).'</div>';
@@ -561,13 +607,13 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
}
if (!$extension->isInstalled() && $extension->getDownloadURL()) {
- $return .= ' <span class="version">'.$this->getLang('available_version').' ';
- $return .= ($extension->getLastUpdate()
+ $html .= ' <span class="version">'.$this->getLang('available_version').' ';
+ $html .= ($extension->getLastUpdate()
? hsc($extension->getLastUpdate())
: $this->getLang('unknown')).'</span>';
}
- return $return.' '.$errors.DOKU_LF;
+ return $html.' '.$errors.DOKU_LF;
}
/**
@@ -591,8 +637,9 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
$classes = 'button '.$action;
$name = 'fn['.$action.']['.hsc($extension->getID()).']';
- return '<button class="'.$classes.'" name="'.$name.'" type="submit" '.$title.'>'.
+ $html = '<button class="'.$classes.'" name="'.$name.'" type="submit" '.$title.'>'.
$this->getLang('btn_'.$action).'</button> ';
+ return $html;
}
/**
@@ -605,7 +652,6 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
{
$status = array();
-
if ($extension->isInstalled()) {
$status[] = $this->getLang('status_installed');
if ($extension->isProtected()) {
@@ -620,7 +666,9 @@ class helper_plugin_extension_list extends DokuWiki_Plugin
}
if (!$extension->canModify()) $status[] = $this->getLang('status_unmodifiable');
if ($extension->isBundled()) $status[] = $this->getLang('status_bundled');
- $status[] = $extension->isTemplate() ? $this->getLang('status_template') : $this->getLang('status_plugin');
- return join(', ', $status);
+ $status[] = $extension->isTemplate()
+ ? $this->getLang('status_template')
+ : $this->getLang('status_plugin');
+ return implode(', ', $status);
}
}
diff --git a/lib/plugins/extension/lang/de-informal/lang.php b/lib/plugins/extension/lang/de-informal/lang.php
index 4daec7f65..10401061e 100644
--- a/lib/plugins/extension/lang/de-informal/lang.php
+++ b/lib/plugins/extension/lang/de-informal/lang.php
@@ -77,19 +77,19 @@ $lang['security_issue'] = '<strong>Sicherheitsproblem:</strong> %s';
$lang['security_warning'] = '<strong>Sicherheitswarnung:</strong> %s';
$lang['update_available'] = '<strong>Update:</strong> Version %s steht zum Download bereit.';
$lang['wrong_folder'] = '<strong>Plugin wurde nicht korrekt installiert:</strong> Benenne das Plugin-Verzeichnis "%s" in "%s" um.';
-$lang['url_change'] = '<strong>URL geändert:</strong> Die Download URL wurde seit dem letzten Download geändert. Internetadresse vor Aktualisierung der Erweiterung auf Gültigkeit prüfen.<br />Neu: %s<br />Alt: %s';
+$lang['url_change'] = '<strong>URL geändert:</strong> Die Download-URL wurde seit dem letzten Download geändert. Internetadresse vor Aktualisierung der Erweiterung auf Gültigkeit prüfen.<br />Neu: %s<br />Alt: %s';
$lang['error_badurl'] = 'URLs sollten mit http oder https beginnen';
$lang['error_dircreate'] = 'Temporärer Ordner konnte nicht erstellt werden um Download zu abzuspeichern';
$lang['error_download'] = 'Download der Datei: %s nicht möglich.';
-$lang['error_decompress'] = 'Die heruntergeladene Datei konnte nicht entpackt werden. Dies kann die Folge eines fehlerhaften Downloads sein. In diesem Fall solltest du versuchen den Vorgang zu wiederholen. Es kann auch die Folge eines unbekannten Kompressionsformates sein, in diesem ​​Fall musst du die Datei selber herunterladen und manuell installieren.';
+$lang['error_decompress'] = 'Die heruntergeladene Datei konnte nicht entpackt werden. Dies kann die Folge eines fehlerhaften Downloads sein. In diesem Fall solltest du versuchen den Vorgang zu wiederholen. Es kann auch die Folge eines unbekannten Kompressionsformates sein, in diesem Fall musst du die Datei selber herunterladen und manuell installieren.';
$lang['error_findfolder'] = 'Das Erweiterungs-Verzeichnis konnte nicht identifiziert werden, lade die Datei herunter und installiere sie manuell.';
$lang['error_copy'] = 'Beim Versuch Dateien in den Ordner <em>%s</em>: zu installieren trat ein Kopierfehler auf. Die Dateizugriffsberechtigungen könnten falsch sein. Dies kann an einem unvollständig installierten Plugin liegen und beeinträchtigt somit die Stabilität deiner Wiki-Installation.';
$lang['noperms'] = 'Das Erweiterungs-Verzeichnis ist schreibgeschützt';
$lang['notplperms'] = 'Das Template-Verzeichnis ist schreibgeschützt';
$lang['nopluginperms'] = 'Das Plugin-Verzeichnis ist schreibgeschützt';
$lang['git'] = 'Diese Erweiterung wurde über git installiert und sollte daher nicht hier aktualisiert werden.';
-$lang['auth'] = 'Dieses Auth Plugin ist in der Konfiguration nicht aktiviert, Du solltest es deaktivieren.';
+$lang['auth'] = 'Dieses Auth-Plugin ist in der Konfiguration nicht aktiviert, Du solltest es deaktivieren.';
$lang['install_url'] = 'Von URL installieren:';
$lang['install_upload'] = 'Erweiterung hochladen:';
-$lang['repo_error'] = 'Es konnte keine Verbindung zum Plugin-Verzeichnis hergestellt werden. Stelle sicher dass der Server Verbindung mit www.dokuwiki.org aufnehmen darf und überprüfe deine Proxy-Einstellungen.';
-$lang['nossl'] = 'Deine PHP-Installation scheint SSL nicht zu unterstützen. Das Herunterladen vieler DokuWiki Erweiterungen wird scheitern.';
+$lang['repo_error'] = 'Es konnte keine Verbindung zum Plugin-Verzeichnis hergestellt werden. Stelle sicher, dass der Server Verbindung mit www.dokuwiki.org aufnehmen darf und überprüfe deine Proxy-Einstellungen.';
+$lang['nossl'] = 'Deine PHP-Installation scheint SSL nicht zu unterstützen. Das Herunterladen vieler DokuWiki-Erweiterungen wird scheitern.';
diff --git a/lib/plugins/extension/lang/de/lang.php b/lib/plugins/extension/lang/de/lang.php
index 4a34f5955..f2dd77cc4 100644
--- a/lib/plugins/extension/lang/de/lang.php
+++ b/lib/plugins/extension/lang/de/lang.php
@@ -85,19 +85,19 @@ $lang['security_issue'] = '<strong>Sicherheitsproblem:</strong> %s';
$lang['security_warning'] = '<strong>Sicherheitswarnung:</strong> %s';
$lang['update_available'] = '<strong>Update:</strong> Version %s steht zum Download bereit.';
$lang['wrong_folder'] = '<strong>Plugin wurde nicht korrekt installiert:</strong> Benennen Sie das Plugin-Verzeichnis "%s" in "%s" um.';
-$lang['url_change'] = '<strong>URL geändert:</strong> Die Download URL wurde seit dem letzten Download geändert. Internetadresse vor Aktualisierung der Erweiterung auf Gültigkeit prüfen.<br />Neu: %s<br />Alt: %s';
+$lang['url_change'] = '<strong>URL geändert:</strong> Die Download-URL wurde seit dem letzten Download geändert. Internetadresse vor Aktualisierung der Erweiterung auf Gültigkeit prüfen.<br />Neu: %s<br />Alt: %s';
$lang['error_badurl'] = 'URLs sollten mit http oder https beginnen';
$lang['error_dircreate'] = 'Temporärer Ordner konnte nicht erstellt werden, um Download zu abzuspeichern';
$lang['error_download'] = 'Download der Datei: %s nicht möglich.';
-$lang['error_decompress'] = 'Die heruntergeladene Datei konnte nicht entpackt werden. Dies kann die Folge eines fehlerhaften Downloads sein. In diesem Fall sollten Sie versuchen den Vorgang zu wiederholen. Es kann auch die Folge eines unbekannten Kompressionsformates sein, in diesem ​​Fall müssen Sie die Datei selber herunterladen und manuell installieren.';
+$lang['error_decompress'] = 'Die heruntergeladene Datei konnte nicht entpackt werden. Dies kann die Folge eines fehlerhaften Downloads sein. In diesem Fall sollten Sie versuchen den Vorgang zu wiederholen. Es kann auch die Folge eines unbekannten Kompressionsformates sein, in diesem Fall müssen Sie die Datei selber herunterladen und manuell installieren.';
$lang['error_findfolder'] = 'Das Erweiterungs-Verzeichnis konnte nicht identifiziert werden, laden und installieren Sie die Datei manuell.';
$lang['error_copy'] = 'Beim Versuch Dateien in den Ordner <em>%s</em>: zu installieren trat ein Kopierfehler auf. Die Dateizugriffsberechtigungen könnten falsch sein. Dies kann an einem unvollständig installierten Plugin liegen und beeinträchtigt somit die Stabilität Ihre Wiki-Installation.';
$lang['noperms'] = 'Das Erweiterungs-Verzeichnis ist schreibgeschützt';
$lang['notplperms'] = 'Das Template-Verzeichnis ist schreibgeschützt';
$lang['nopluginperms'] = 'Das Plugin-Verzeichnis ist schreibgeschützt';
$lang['git'] = 'Diese Erweiterung wurde über git installiert und sollte daher nicht hier aktualisiert werden.';
-$lang['auth'] = 'Dieses Auth Plugin ist in der Konfiguration nicht aktiviert, Sie sollten es deaktivieren.';
+$lang['auth'] = 'Dieses Auth-Plugin ist in der Konfiguration nicht aktiviert, Sie sollten es deaktivieren.';
$lang['install_url'] = 'Von Webadresse (URL) installieren';
$lang['install_upload'] = 'Erweiterung hochladen:';
-$lang['repo_error'] = 'Es konnte keine Verbindung zum Plugin-Verzeichnis hergestellt werden. Stellen sie sicher das der Server Verbindung mit www.dokuwiki.org aufnehmen darf und überprüfen sie ihre Proxy Einstellungen.';
-$lang['nossl'] = 'Ihr PHP scheint SSL nicht zu unterstützen. Das Herunterladen vieler DokuWiki Erweiterungen wird scheitern.';
+$lang['repo_error'] = 'Es konnte keine Verbindung zum Plugin-Verzeichnis hergestellt werden. Stellen Sie sicher, dass der Server Verbindung mit www.dokuwiki.org aufnehmen darf und überprüfen Sie ihre Proxy-Einstellungen.';
+$lang['nossl'] = 'Ihr PHP scheint SSL nicht zu unterstützen. Das Herunterladen vieler DokuWiki-Erweiterungen wird scheitern.';
diff --git a/lib/plugins/extension/lang/fi/lang.php b/lib/plugins/extension/lang/fi/lang.php
index a154f2563..08052fe47 100644
--- a/lib/plugins/extension/lang/fi/lang.php
+++ b/lib/plugins/extension/lang/fi/lang.php
@@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
* @author Jussi Takala <jussi.takala@live.fi>
*/
$lang['tab_plugins'] = 'Asennetut liitännäiset';
diff --git a/lib/plugins/extension/lang/pt/lang.php b/lib/plugins/extension/lang/pt/lang.php
index ee2f1ad1d..fbc98f347 100644
--- a/lib/plugins/extension/lang/pt/lang.php
+++ b/lib/plugins/extension/lang/pt/lang.php
@@ -3,8 +3,8 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author Schopf <pschopf@gmail.com>
* @author Mario AlexandTeixeira dos Santos <masterofclan@gmail.com>
- * @author Paulo Ricardo Schopf <pschopf@gmail.com>
* @author Maykon Oliveira <maykonoliveira850@gmail.com>
* @author José Vieira <jmsv63@gmail.com>
* @author Guido Salatino <guidorafael23@gmail.com>
diff --git a/lib/plugins/extension/script.js b/lib/plugins/extension/script.js
index 8627db420..7c915808e 100644
--- a/lib/plugins/extension/script.js
+++ b/lib/plugins/extension/script.js
@@ -5,7 +5,7 @@ jQuery(function(){
/**
* Confirm uninstalling
*/
- $extmgr.find('button.uninstall').click(function(e){
+ $extmgr.find('button.uninstall').on('click', function(e){
if(!window.confirm(LANG.plugins.extension.reallydel)){
e.preventDefault();
return false;
@@ -17,7 +17,7 @@ jQuery(function(){
* very simple lightbox
* @link http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/super-simple-lightbox-with-css-and-jquery/
*/
- $extmgr.find('a.extension_screenshot').click(function(e) {
+ $extmgr.find('a.extension_screenshot').on('click', function(e) {
e.preventDefault();
//Get clicked link href
@@ -29,7 +29,7 @@ jQuery(function(){
$lightbox = jQuery('<div id="plugin__extensionlightbox"><p>Click to close</p><div></div></div>')
.appendTo(jQuery('body'))
.hide()
- .click(function(){
+ .on('click', function(){
$lightbox.hide();
});
}
@@ -46,7 +46,7 @@ jQuery(function(){
/**
* Enable/Disable extension via AJAX
*/
- $extmgr.find('button.disable, button.enable').click(function (e) {
+ $extmgr.find('button.disable, button.enable').on('click', function (e) {
e.preventDefault();
var $btn = jQuery(this);
@@ -85,7 +85,7 @@ jQuery(function(){
/**
* AJAX detail infos
*/
- $extmgr.find('a.info').click(function(e){
+ $extmgr.find('a.info').on('click', function(e){
e.preventDefault();
var $link = jQuery(this);
@@ -129,12 +129,12 @@ jQuery(function(){
var $label = jQuery( '<label></label>' )
.appendTo($displayOpts);
var $input = jQuery( '<input />', { type: 'checkbox', name: chkName })
- .change(displayOptionsHandler)
+ .on('change', displayOptionsHandler)
.appendTo($label);
var previous = DokuCookie.getValue('ext_'+chkName);
if(typeof previous === "undefined" || previous == '1') {
- $input.click();
+ $input.trigger('click');
}
jQuery( '<span/>' )
diff --git a/lib/plugins/info/syntax.php b/lib/plugins/info/syntax.php
index 3fa35e733..19e49bfcd 100644
--- a/lib/plugins/info/syntax.php
+++ b/lib/plugins/info/syntax.php
@@ -189,7 +189,7 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin
foreach ($method['params'] as $desc => $type) {
$params[] = hsc($desc).'</td><td>'.hsc($type);
}
- $doc .= join($params, '</td></tr><tr><td>').'</td></tr>';
+ $doc .= join('</td></tr><tr><td>', $params).'</td></tr>';
}
if ($method['return']) {
$doc .= '<tr><th>Return value</th><td>'.hsc(key($method['return'])).
diff --git a/lib/plugins/popularity/lang/fi/lang.php b/lib/plugins/popularity/lang/fi/lang.php
index ec0fc4071..bea4f758b 100644
--- a/lib/plugins/popularity/lang/fi/lang.php
+++ b/lib/plugins/popularity/lang/fi/lang.php
@@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
* @author Otto Vainio <otto@valjakko.net>
* @author Teemu Mattila <ghcsystems@gmail.com>
* @author Sami Olmari <sami@olmari.fi>
diff --git a/lib/plugins/revert/lang/cs/lang.php b/lib/plugins/revert/lang/cs/lang.php
index 7ea496b8b..cd833e465 100644
--- a/lib/plugins/revert/lang/cs/lang.php
+++ b/lib/plugins/revert/lang/cs/lang.php
@@ -3,6 +3,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author Petr Kajzar <petr.kajzar@lf1.cuni.cz>
* @author Robert Surý <rsurycz@seznam.cz>
* @author Martin Hořínek <hev@hev.cz>
* @author Jonáš Dyba <jonas.dyba@gmail.com>
diff --git a/lib/plugins/revert/lang/fi/lang.php b/lib/plugins/revert/lang/fi/lang.php
index d14f527f9..02b4d35b2 100644
--- a/lib/plugins/revert/lang/fi/lang.php
+++ b/lib/plugins/revert/lang/fi/lang.php
@@ -2,9 +2,8 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
- * @author otto@valjakko.net
- * @author Otto Vainio <otto@valjakko.net>
+ *
+ * @author otto <otto@valjakko.net>
* @author Teemu Mattila <ghcsystems@gmail.com>
* @author Sami Olmari <sami@olmari.fi>
*/
diff --git a/lib/plugins/revert/lang/no/lang.php b/lib/plugins/revert/lang/no/lang.php
index 942d54a94..3e65a94b5 100644
--- a/lib/plugins/revert/lang/no/lang.php
+++ b/lib/plugins/revert/lang/no/lang.php
@@ -3,8 +3,8 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
- * @author Rut Kristin Aanestad <dark@met.no>
* @author Torgeir Blesvik <bletor@banenor.no>
+ * @author Rut Kristin Aanestad <dark@met.no>
* @author ThorPrestboen <thor.erling.prestboen@gmail.com>
* @author Christian McKenna <mckchr@banenor.no>
* @author Thomas Nygreen <nygreen@gmail.com>
diff --git a/lib/plugins/styling/lang/sk/lang.php b/lib/plugins/styling/lang/sk/lang.php
index 005835898..fcc32ad69 100644
--- a/lib/plugins/styling/lang/sk/lang.php
+++ b/lib/plugins/styling/lang/sk/lang.php
@@ -3,11 +3,16 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author Peter Mydliar <peto.mydliar@gmail.com>
* @author Martin Michalek <michalek.dev@gmail.com>
*/
+$lang['menu'] = 'Nastavenie typov šablón';
+$lang['js']['popup'] = 'Otvor vo vyskakovacom okne';
+$lang['error'] = 'Táto šablóna nepodporuje túto funkciu.';
$lang['btn_preview'] = 'Náhľad zmien';
$lang['btn_save'] = 'Uloženie zmien';
$lang['btn_reset'] = 'Zruš prevedené zmeny';
+$lang['btn_revert'] = 'Vrátiť späť k základnej šablóne.';
$lang['__text__'] = 'Primárna farba textu';
$lang['__background__'] = 'Primárna farba pozadia';
$lang['__text_alt__'] = 'Alternatívna farba textu';
diff --git a/lib/plugins/styling/script.js b/lib/plugins/styling/script.js
index 3859190c7..909e999b8 100644
--- a/lib/plugins/styling/script.js
+++ b/lib/plugins/styling/script.js
@@ -64,7 +64,7 @@ jQuery(function () {
var $btn = jQuery('<button>' + LANG.plugins.styling.popup + '</button>');
$form.prepend($btn);
- $btn.click(function (e) {
+ $btn.on('click', function (e) {
var windowFeatures = "menubar=no,location=no,resizable=yes,scrollbars=yes,status=false,width=500,height=500";
window.open(DOKU_BASE + 'lib/plugins/styling/popup.php', 'styling_popup', windowFeatures);
e.preventDefault();
diff --git a/lib/plugins/usermanager/_test/csv_import.test.php b/lib/plugins/usermanager/_test/csv_import.test.php
index 299e0183d..13034a012 100644
--- a/lib/plugins/usermanager/_test/csv_import.test.php
+++ b/lib/plugins/usermanager/_test/csv_import.test.php
@@ -14,13 +14,14 @@ require_once(dirname(__FILE__).'/mocks.class.php');
*
* At present, users imported in individual tests remain in the user list for subsequent tests
*/
-class plugin_usermanager_csv_import_test extends DokuWikiTest {
-
+class plugin_usermanager_csv_import_test extends DokuWikiTest
+{
private $old_files;
protected $usermanager;
protected $importfile;
- function setUp() {
+ public function setUp()
+ {
$this->importfile = tempnam(TMP_DIR, 'csv');
$this->old_files = $_FILES;
@@ -38,22 +39,27 @@ class plugin_usermanager_csv_import_test extends DokuWikiTest {
parent::setUp();
}
- function tearDown() {
+ public function tearDown()
+ {
$_FILES = $this->old_files;
parent::tearDown();
}
- function doImportTest($importCsv, $expectedResult, $expectedNewUsers, $expectedFailures) {
+ public function doImportTest($importCsv, $expectedResult, $expectedNewUsers, $expectedFailures)
+ {
global $auth;
$before_users = $auth->retrieveUsers();
- io_savefile($this->importfile, $importCsv);
+ io_saveFile($this->importfile, $importCsv);
$result = $this->usermanager->tryImport();
$after_users = $auth->retrieveUsers();
+
+ $before_users = array_map('serialize', $before_users);
+ $after_users = array_map('serialize', $after_users);
$import_count = count($after_users) - count($before_users);
- $new_users = array_diff_key($after_users, $before_users);
- $diff_users = array_diff_assoc($after_users, $before_users);
+ $new_users = array_map('unserialize', array_diff_key($after_users, $before_users));
+ $diff_users = array_map('unserialize', array_diff_assoc($after_users, $before_users));
$expectedCount = count($expectedNewUsers);
@@ -66,7 +72,8 @@ class plugin_usermanager_csv_import_test extends DokuWikiTest {
$this->assertEquals($expectedFailures, $this->usermanager->getImportFailures()); // failures as expected
}
- function test_cantImport(){
+ public function test_cantImport()
+ {
global $auth;
$oldauth = $auth;
@@ -82,7 +89,8 @@ importuser,"Ford Prefect",ford@example.com,user
$auth = $oldauth;
}
- function test_import() {
+ public function test_import()
+ {
$csv = 'User,"Real Name",Email,Groups
importuser,"Ford Prefect",ford@example.com,user
';
@@ -97,7 +105,8 @@ importuser,"Ford Prefect",ford@example.com,user
$this->doImportTest($csv, true, $expected, array());
}
- function test_importExisting() {
+ public function test_importExisting()
+ {
$csv = 'User,"Real Name",Email,Groups
importuser,"Ford Prefect",ford@example.com,user
';
@@ -117,7 +126,8 @@ importuser,"Ford Prefect",ford@example.com,user
$this->doImportTest($csv, true, array(), $failures);
}
- function test_importUtf8() {
+ public function test_importUtf8()
+ {
$csv = 'User,"Real Name",Email,Groups
importutf8,"Førd Prefect",ford@example.com,user
';
@@ -135,7 +145,8 @@ importutf8,"Førd Prefect",ford@example.com,user
/**
* utf8: u+00F8 (ø) <=> 0xF8 :iso-8859-1
*/
- function test_importIso8859() {
+ public function test_importIso8859()
+ {
$csv = 'User,"Real Name",Email,Groups
importiso8859,"F'.chr(0xF8).'rd Prefect",ford@example.com,user
';
@@ -150,14 +161,16 @@ importiso8859,"F'.chr(0xF8).'rd Prefect",ford@example.com,user
$this->doImportTest($csv, true, $expected, array());
}
- private function stripPasswords($array){
+ private function stripPasswords($array)
+ {
foreach ($array as $user => $data) {
unset($array[$user]['pass']);
}
return $array;
}
- private function countPasswords($array){
+ private function countPasswords($array)
+ {
$count = 0;
foreach ($array as $user => $data) {
if (!empty($data['pass'])) {
@@ -166,6 +179,4 @@ importiso8859,"F'.chr(0xF8).'rd Prefect",ford@example.com,user
}
return $count;
}
-
}
-
diff --git a/lib/plugins/usermanager/lang/cs/lang.php b/lib/plugins/usermanager/lang/cs/lang.php
index 3ed18006a..326ae7edf 100644
--- a/lib/plugins/usermanager/lang/cs/lang.php
+++ b/lib/plugins/usermanager/lang/cs/lang.php
@@ -3,6 +3,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author Petr Kajzar <petr.kajzar@lf1.cuni.cz>
* @author Tomas Valenta <t.valenta@sh.cvut.cz>
* @author Zbynek Krivka <zbynek.krivka@seznam.cz>
* @author Bohumir Zamecnik <bohumir@zamecnik.org>
@@ -75,7 +76,7 @@ $lang['import_error_upload'] = 'Import selhal. CSV soubor nemohl být nahrán
$lang['import_error_readfail'] = 'Import selhal. Nelze číst nahraný soubor.';
$lang['import_error_create'] = 'Nelze vytvořit uživatele';
$lang['import_notify_fail'] = 'Importovanému uživateli %s s e-mailem %s nemohlo být zasláno upozornění.';
-$lang['import_downloadfailures'] = 'Stáhnout chyby pro nápravu jako CVS';
+$lang['import_downloadfailures'] = 'Stáhnout chyby pro nápravu jako CSV';
$lang['addUser_error_missing_pass'] = 'Buď prosím nastavte heslo nebo aktivujte upozorňování uživatel aby fungovalo vytváření hesel.';
$lang['addUser_error_pass_not_identical'] = 'Zadaná hesla nebyla shodná.';
$lang['addUser_error_modPass_disabled'] = 'Změna hesel je momentálně zakázána.';
diff --git a/lib/plugins/usermanager/lang/fi/lang.php b/lib/plugins/usermanager/lang/fi/lang.php
index dba67fb61..d376c8100 100644
--- a/lib/plugins/usermanager/lang/fi/lang.php
+++ b/lib/plugins/usermanager/lang/fi/lang.php
@@ -2,9 +2,8 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
- * @author otto@valjakko.net
- * @author Otto Vainio <otto@valjakko.net>
+ *
+ * @author otto <otto@valjakko.net>
* @author Teemu Mattila <ghcsystems@gmail.com>
* @author Sami Olmari <sami@olmari.fi>
* @author Jussi Takala <jussi.takala@live.fi>
diff --git a/lib/plugins/usermanager/lang/id/lang.php b/lib/plugins/usermanager/lang/id/lang.php
index 425b2ff59..0fa847a94 100644
--- a/lib/plugins/usermanager/lang/id/lang.php
+++ b/lib/plugins/usermanager/lang/id/lang.php
@@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
* @author Irwan Butar Butar <irwansah.putra@gmail.com>
* @author Yustinus Waruwu <juswaruwu@gmail.com>
*/
diff --git a/lib/plugins/usermanager/lang/pt/lang.php b/lib/plugins/usermanager/lang/pt/lang.php
index 86bbe9de5..0af594f6c 100644
--- a/lib/plugins/usermanager/lang/pt/lang.php
+++ b/lib/plugins/usermanager/lang/pt/lang.php
@@ -3,8 +3,8 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author Schopf <pschopf@gmail.com>
* @author Mario AlexandTeixeira dos Santos <masterofclan@gmail.com>
- * @author Paulo Ricardo Schopf <pschopf@gmail.com>
* @author Maykon Oliveira <maykonoliveira850@gmail.com>
* @author José Vieira <jmsv63@gmail.com>
* @author José Monteiro <Jose.Monteiro@DoWeDo-IT.com>
diff --git a/lib/plugins/usermanager/lang/sk/lang.php b/lib/plugins/usermanager/lang/sk/lang.php
index 96f8fb60e..d244408a7 100644
--- a/lib/plugins/usermanager/lang/sk/lang.php
+++ b/lib/plugins/usermanager/lang/sk/lang.php
@@ -3,6 +3,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author Peter Mydliar <peto.mydliar@gmail.com>
* @author Martin Michalek <michalek.dev@gmail.com>
* @author Ondrej Végh <ov@vsieti.sk>
* @author Michal Mesko <michal.mesko@gmail.com>
@@ -67,6 +68,7 @@ $lang['import_error_readfail'] = 'Import neúspešný. Nie je možné prečíta
$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';
+$lang['addUser_error_pass_not_identical'] = 'Zadané heslo nie je identické.';
$lang['addUser_error_modPass_disabled'] = 'Zmena hesla nie je momentálne povolená';
$lang['addUser_error_name_missing'] = 'Prosím zadajte meno nového používateľa.';
$lang['addUser_error_modName_disabled'] = 'Zmena mena nie je momentálne povolená.';
diff --git a/lib/plugins/usermanager/script.js b/lib/plugins/usermanager/script.js
index de013242b..3b7ad0964 100644
--- a/lib/plugins/usermanager/script.js
+++ b/lib/plugins/usermanager/script.js
@@ -2,7 +2,7 @@
* Add JavaScript confirmation to the User Delete button
*/
jQuery(function(){
- jQuery('#usrmgr__del').click(function(){
+ jQuery('#usrmgr__del').on('click', function(){
return confirm(LANG.del_confirm);
});
});
diff --git a/lib/scripts/behaviour.js b/lib/scripts/behaviour.js
index 18308d68a..f9aad3d02 100644
--- a/lib/scripts/behaviour.js
+++ b/lib/scripts/behaviour.js
@@ -85,14 +85,14 @@ var dw_behaviour = {
* Looks for an element with the ID focus__this at sets focus to it
*/
focusMarker: function(){
- jQuery('#focus__this').focus();
+ jQuery('#focus__this').trigger('focus');
},
/**
* Remove all search highlighting when clicking on a highlighted term
*/
removeHighlightOnClick: function(){
- jQuery('span.search_hit').click(
+ jQuery('span.search_hit').on('click',
function(e){
jQuery(e.target).removeClass('search_hit', 1000);
}
@@ -110,7 +110,7 @@ var dw_behaviour = {
*/
quickSelect: function(){
jQuery('select.quickselect')
- .change(function(e){ e.target.form.submit(); })
+ .on('change', function(e){ e.target.form.submit(); })
.closest('form').find(':button').not('.show').hide();
},
@@ -120,7 +120,7 @@ var dw_behaviour = {
* @author Michael Klier <chi@chimeric.de>
*/
checkWindowsShares: function() {
- if(!LANG.nosmblinks || navigator.userAgent.match(/(Trident|MSIE)/)) {
+ if(!LANG.nosmblinks || navigator.userAgent.match(/(Trident|MSIE|Edge)/)) {
// No warning requested or none necessary
return;
}
@@ -146,7 +146,7 @@ var dw_behaviour = {
$digest = $form.find("input[name='sub_style'][value='digest']");
$form.find("input[name='sub_target']")
- .click(
+ .on('click',
function () {
var $this = jQuery(this), show_list;
if (!$this.prop('checked')) {
@@ -161,7 +161,7 @@ var dw_behaviour = {
}
)
.filter(':checked')
- .click();
+ .trigger('click');
},
/**
@@ -177,15 +177,15 @@ var dw_behaviour = {
var $button = jQuery('button', $revisions);
if($checked.length < 2) {
- $all.removeAttr('disabled');
- $button.attr('disabled', true);
+ $all.prop('disabled', false);
+ $button.prop('disabled', true);
} else {
- $all.attr('disabled', true);
- $button.removeAttr('disabled');
+ $all.prop('disabled', true);
+ $button.prop('disabled', false);
$checked.each(function(i) {
- jQuery(this).removeAttr('disabled');
+ jQuery(this).prop('disabled', false);
if(i>1) {
- jQuery(this).attr('checked', false);
+ jQuery(this).prop('checked', false);
}
});
}
diff --git a/lib/scripts/edit.js b/lib/scripts/edit.js
index 87490d9eb..f53a6d4ae 100644
--- a/lib/scripts/edit.js
+++ b/lib/scripts/edit.js
@@ -238,7 +238,7 @@ jQuery(function () {
sel.start = 0;
sel.end = 0;
DWsetSelection(sel);
- $edit_text.focus();
+ $edit_text.trigger('focus');
doku_edit_text_content = $edit_text.val();
}
@@ -260,13 +260,13 @@ jQuery(function () {
window.onunload = deleteDraft;
// reset change memory var on submit
- jQuery('#edbtn__save').click(
+ jQuery('#edbtn__save').on('click',
function() {
window.onbeforeunload = '';
textChanged = false;
}
);
- jQuery('#edbtn__preview').click(
+ jQuery('#edbtn__preview').on('click',
function() {
window.onbeforeunload = '';
textChanged = false;
@@ -275,8 +275,7 @@ jQuery(function () {
);
var $summary = jQuery('#edit__summary');
- $summary.change(doku_summaryCheck);
- $summary.keyup(doku_summaryCheck);
+ $summary.on('change keyup', doku_summaryCheck);
if (textChanged) doku_summaryCheck();
});
diff --git a/lib/scripts/editor.js b/lib/scripts/editor.js
index c9cb312b0..0df556172 100644
--- a/lib/scripts/editor.js
+++ b/lib/scripts/editor.js
@@ -60,7 +60,7 @@ var dw_editor = {
jQuery(document.createElement('img'))
.attr('src', DOKU_BASE+'lib/images/' + img[0] + '.gif')
.attr('alt', '')
- .click(img[1])
+ .on('click', img[1])
.appendTo($ctl);
});
},
@@ -140,7 +140,7 @@ var dw_editor = {
if((e.keyCode == 13 || e.keyCode == 10) && e.ctrlKey) { // Ctrl-Enter (With Chrome workaround)
// Submit current edit
- jQuery('#edbtn__save').click();
+ jQuery('#edbtn__save').trigger('click');
e.preventDefault(); // prevent enter key
return false;
}else if(e.keyCode == 13){ // Enter
diff --git a/lib/scripts/fileuploaderextended.js b/lib/scripts/fileuploaderextended.js
index ba2aa3ea5..b7f9f5f30 100644
--- a/lib/scripts/fileuploaderextended.js
+++ b/lib/scripts/fileuploaderextended.js
@@ -149,7 +149,7 @@ qq.extend(qq.FileUploaderExtended.prototype, {
self._handler._options.onUpload();
jQuery(".qq-upload-name-input").each(function (i) {
- jQuery(this).attr('disabled', 'disabled');
+ jQuery(this).prop('disabled', true);
});
});
},
diff --git a/lib/scripts/linkwiz.js b/lib/scripts/linkwiz.js
index da1e072a1..d82ca9681 100644
--- a/lib/scripts/linkwiz.js
+++ b/lib/scripts/linkwiz.js
@@ -57,7 +57,7 @@ var dw_linkwiz = {
}
// attach event handlers
- jQuery('#link__wiz .ui-dialog-titlebar-close').click(dw_linkwiz.hide);
+ jQuery('#link__wiz .ui-dialog-titlebar-close').on('click', dw_linkwiz.hide);
dw_linkwiz.$entry.keyup(dw_linkwiz.onEntry);
jQuery(dw_linkwiz.result).on('click', 'a', dw_linkwiz.onResultClick);
},
diff --git a/lib/scripts/media.js b/lib/scripts/media.js
index e61cedeee..6f36d3b2e 100644
--- a/lib/scripts/media.js
+++ b/lib/scripts/media.js
@@ -107,7 +107,7 @@ var dw_mediamanager = {
dw_mediamanager.update_resizable();
dw_mediamanager.layout_width = $page.width();
- jQuery(window).resize(dw_mediamanager.window_resize);
+ jQuery(window).on('resize', dw_mediamanager.window_resize);
},
init_options: function () {
@@ -194,7 +194,7 @@ var dw_mediamanager = {
.addClass('button')
.attr('id', "media__" + opt.id + "btn" + (i + 1))
.attr('title', LANG['media' + text])
- .click(bind(dw_mediamanager.setOpt, opt.id));
+ .on('click', bind(dw_mediamanager.setOpt, opt.id));
$img = jQuery(document.createElement('img'))
.attr('src', DOKU_BASE + 'lib/images/media_' + opt.id + '_' + text + '.png');
@@ -735,7 +735,7 @@ var dw_mediamanager = {
// remove old callback from the insert button and set the new one.
var $sendbtn = jQuery('#media__sendbtn');
- $sendbtn.off().click(bind(dw_mediamanager.insert, id));
+ $sendbtn.off().on('click', bind(dw_mediamanager.insert, id));
dw_mediamanager.unforbid('ext');
if (ext === '.swf') {
@@ -801,7 +801,7 @@ var dw_mediamanager = {
$box = jQuery(document.createElement('input'))
.attr('type', 'checkbox')
.attr('id', 'media__' + opt[0])
- .click(bind(dw_mediamanager.toggleOption, opt[0]));
+ .on('click', bind(dw_mediamanager.toggleOption, opt[0]));
if (DokuCookie.getValue(opt[0])) {
$box.prop('checked', true);
diff --git a/lib/scripts/page.js b/lib/scripts/page.js
index 2332af4de..284c2038b 100644
--- a/lib/scripts/page.js
+++ b/lib/scripts/page.js
@@ -9,7 +9,7 @@ dw_page = {
*/
init: function(){
dw_page.sectionHighlight();
- jQuery('a.fn_top').mouseover(dw_page.footnoteDisplay);
+ jQuery('a.fn_top').on('mouseover', dw_page.footnoteDisplay);
dw_page.makeToggle('#dw__toc h3','#dw__toc > div');
},
@@ -20,7 +20,7 @@ dw_page = {
*/
sectionHighlight: function() {
jQuery('form.btn_secedit')
- .mouseover(function(){
+ .on('mouseover', function(){
var $tgt = jQuery(this).parent(),
nr = $tgt.attr('class').match(/(\s+|^)editbutton_(\d+)(\s+|$)/)[2],
$highlight = jQuery(), // holder for elements in the section to be highlighted
@@ -36,7 +36,7 @@ dw_page = {
// and move the elements to be highlighted inside the section highlight wrapper
$highlight.detach().appendTo($highlightWrap);
})
- .mouseout(function(){
+ .on('mouseout', function(){
// find the section highlight wrapper...
var $highlightWrap = jQuery('.section_highlight');
// ...move its children in front of it (as siblings)...
@@ -63,7 +63,7 @@ dw_page = {
.attr('id', popup_id)
.addClass('insitu-footnote JSpopup')
.attr('aria-hidden', 'true')
- .mouseleave(function () {jQuery(this).hide().attr('aria-hidden', 'true');})
+ .on('mouseleave', function () {jQuery(this).hide().attr('aria-hidden', 'true');})
.attr('role', 'tooltip');
jQuery('.dokuwiki:first').append($fndiv);
}
@@ -179,7 +179,7 @@ dw_page = {
// click function
$handle.css('cursor','pointer')
- .click($handle[0].setState)
+ .on('click', $handle[0].setState)
.prepend($clicky);
// initial state
diff --git a/lib/scripts/qsearch.js b/lib/scripts/qsearch.js
index 18e51506c..f95515b93 100644
--- a/lib/scripts/qsearch.js
+++ b/lib/scripts/qsearch.js
@@ -57,7 +57,7 @@ jQuery.fn.dw_qsearch = function (overrides) {
);
};
- dw_qsearch.$inObj.keyup(
+ dw_qsearch.$inObj.on('keyup',
function () {
if (dw_qsearch.timer) {
window.clearTimeout(dw_qsearch.timer);
@@ -68,7 +68,7 @@ jQuery.fn.dw_qsearch = function (overrides) {
);
// attach eventhandler to output field
- dw_qsearch.$outObj.click(dw_qsearch.clear_results);
+ dw_qsearch.$outObj.on('click', dw_qsearch.clear_results);
},
/**
diff --git a/lib/scripts/script.js b/lib/scripts/script.js
index 97edef0b7..0e03dcf37 100644
--- a/lib/scripts/script.js
+++ b/lib/scripts/script.js
@@ -26,5 +26,5 @@ function closePopups(){
}
jQuery(function () {
- jQuery(document).click(closePopups);
+ jQuery(document).on('click', closePopups);
});
diff --git a/lib/scripts/search.js b/lib/scripts/search.js
index 540165255..111dca99a 100644
--- a/lib/scripts/search.js
+++ b/lib/scripts/search.js
@@ -30,7 +30,7 @@ jQuery(function () {
});
if (DokuCookie.getValue('sa') === 'on') {
- $toggleAssistanceButton.click();
+ $toggleAssistanceButton.trigger('click');
}
$searchForm.find('.advancedOptions .toggle div.current').on('click', function () {
diff --git a/lib/tpl/dokuwiki/lang/sk/lang.php b/lib/tpl/dokuwiki/lang/sk/lang.php
index 72a070544..5b27ba213 100644
--- a/lib/tpl/dokuwiki/lang/sk/lang.php
+++ b/lib/tpl/dokuwiki/lang/sk/lang.php
@@ -3,6 +3,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
+ * @author Peter Mydliar <peto.mydliar@gmail.com>
* @author Martin Michalek <michalek.dev@gmail.com>
*/
$lang['__background_site__'] = 'Farba základného pozadia (za oknom s obsahom)';
@@ -13,3 +14,4 @@ $lang['__site_width__'] = 'Šírka stránky (môže byť ľubovoľná jed
$lang['__sidebar_width__'] = 'Šírka bočného panela (môže byť ľubovoľná jednotka dĺžky: %, px, em, ...}';
$lang['__tablet_width__'] = 'Nižšia šírka stránky prepne zobrazenie do režimu tabletu';
$lang['__phone_width__'] = 'Nižšia šírka stránky prepne zobrazenie do režimu telefónu';
+$lang['__theme_color__'] = 'Farba témy pre webovú aplikáciu';
diff --git a/lib/tpl/dokuwiki/main.php b/lib/tpl/dokuwiki/main.php
index 2d2151f9c..67b6e61de 100644
--- a/lib/tpl/dokuwiki/main.php
+++ b/lib/tpl/dokuwiki/main.php
@@ -9,7 +9,6 @@
*/
if (!defined('DOKU_INC')) die(); /* must be run from within DokuWiki */
-header('X-UA-Compatible: IE=edge,chrome=1');
$hasSidebar = page_findnearest($conf['sidebar']);
$showSidebar = $hasSidebar && ($ACT=='show');
diff --git a/lib/tpl/dokuwiki/script.js b/lib/tpl/dokuwiki/script.js
index 5a68e8b9c..88dae9023 100644
--- a/lib/tpl/dokuwiki/script.js
+++ b/lib/tpl/dokuwiki/script.js
@@ -71,10 +71,15 @@ jQuery(function(){
);
// increase sidebar length to match content (desktop mode only)
- var $sidebar = jQuery('.desktop #dokuwiki__aside');
- if($sidebar.length) {
+ var sidebar_height = jQuery('.desktop #dokuwiki__aside').height();
+ var pagetool_height = jQuery('.desktop #dokuwiki__pagetools ul:first').height();
+ // pagetools div has no height; ul has a height
+ var content_min = Math.max(sidebar_height || 0, pagetool_height || 0);
+
+ var content_height = jQuery('#dokuwiki__content div.page').height();
+ if(content_min && content_min > content_height) {
var $content = jQuery('#dokuwiki__content div.page');
- $content.css('min-height', $sidebar.height());
+ $content.css('min-height', content_min);
}
// blur when clicked
diff --git a/lib/tpl/index.php b/lib/tpl/index.php
index a3e9a8849..4d48d5127 100644
--- a/lib/tpl/index.php
+++ b/lib/tpl/index.php
@@ -18,7 +18,7 @@ require_once(DOKU_INC.'inc/init.php');
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Template Replacements</title>
- <style type="text/css">
+ <style>
body {
background-color: #fff;
color: #000;