summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/exe/indexer.php2
-rw-r--r--lib/exe/js.php26
-rw-r--r--lib/plugins/acl/lang/lt/lang.php4
-rw-r--r--lib/plugins/auth.php2
-rw-r--r--lib/plugins/authad/auth.php180
-rw-r--r--lib/plugins/authad/lang/ar/lang.php2
-rw-r--r--lib/plugins/authad/lang/bg/lang.php8
-rw-r--r--lib/plugins/authad/lang/ca/lang.php8
-rw-r--r--lib/plugins/authad/lang/cs/lang.php2
-rw-r--r--lib/plugins/authad/lang/da/lang.php10
-rw-r--r--lib/plugins/authad/lang/de-informal/lang.php8
-rw-r--r--lib/plugins/authad/lang/de/lang.php1
-rw-r--r--lib/plugins/authad/lang/el/lang.php8
-rw-r--r--lib/plugins/authad/lang/en/lang.php6
-rw-r--r--lib/plugins/authad/lang/eo/lang.php1
-rw-r--r--lib/plugins/authad/lang/es/lang.php2
-rw-r--r--lib/plugins/authad/lang/et/lang.php8
-rw-r--r--lib/plugins/authad/lang/eu/lang.php8
-rw-r--r--lib/plugins/authad/lang/fa/lang.php2
-rw-r--r--lib/plugins/authad/lang/fi/lang.php8
-rw-r--r--lib/plugins/authad/lang/fr/lang.php2
-rw-r--r--lib/plugins/authad/lang/gl/lang.php8
-rw-r--r--lib/plugins/authad/lang/he/lang.php8
-rw-r--r--lib/plugins/authad/lang/hr/lang.php1
-rw-r--r--lib/plugins/authad/lang/hu/lang.php1
-rw-r--r--lib/plugins/authad/lang/it/lang.php8
-rw-r--r--lib/plugins/authad/lang/ja/lang.php2
-rw-r--r--lib/plugins/authad/lang/ka/lang.php8
-rw-r--r--lib/plugins/authad/lang/ko/lang.php1
-rw-r--r--lib/plugins/authad/lang/lv/lang.php1
-rw-r--r--lib/plugins/authad/lang/nl/lang.php2
-rw-r--r--lib/plugins/authad/lang/no/lang.php5
-rw-r--r--lib/plugins/authad/lang/no/settings.php3
-rw-r--r--lib/plugins/authad/lang/pl/lang.php8
-rw-r--r--lib/plugins/authad/lang/pt-br/lang.php2
-rw-r--r--lib/plugins/authad/lang/pt/lang.php2
-rw-r--r--lib/plugins/authad/lang/ro/lang.php8
-rw-r--r--lib/plugins/authad/lang/ru/lang.php1
-rw-r--r--lib/plugins/authad/lang/sk/lang.php8
-rw-r--r--lib/plugins/authad/lang/sl/lang.php8
-rw-r--r--lib/plugins/authad/lang/sv/lang.php8
-rw-r--r--lib/plugins/authad/lang/tr/lang.php8
-rw-r--r--lib/plugins/authad/lang/zh-tw/lang.php2
-rw-r--r--lib/plugins/authad/lang/zh/lang.php1
-rw-r--r--lib/plugins/authldap/auth.php13
-rw-r--r--lib/plugins/authldap/conf/default.php4
-rw-r--r--lib/plugins/authldap/conf/metadata.php4
-rw-r--r--lib/plugins/authldap/lang/cs/settings.php4
-rw-r--r--lib/plugins/authldap/lang/da/settings.php5
-rw-r--r--lib/plugins/authldap/lang/de/settings.php2
-rw-r--r--lib/plugins/authldap/lang/en/lang.php11
-rw-r--r--lib/plugins/authldap/lang/en/settings.php2
-rw-r--r--lib/plugins/authldap/lang/es/settings.php5
-rw-r--r--lib/plugins/authldap/lang/fr/settings.php2
-rw-r--r--lib/plugins/authldap/lang/ko/settings.php5
-rw-r--r--lib/plugins/authldap/lang/nl/settings.php6
-rw-r--r--lib/plugins/authldap/lang/pt-br/settings.php6
-rw-r--r--lib/plugins/authldap/lang/pt/settings.php4
-rw-r--r--lib/plugins/authldap/lang/ru/settings.php9
-rw-r--r--lib/plugins/authmysql/auth.php19
-rw-r--r--lib/plugins/authmysql/lang/da/settings.php4
-rw-r--r--lib/plugins/authmysql/lang/en/lang.php13
-rw-r--r--lib/plugins/authmysql/lang/es/settings.php5
-rw-r--r--lib/plugins/authpgsql/lang/ru/settings.php2
-rw-r--r--lib/plugins/authplain/_test/escaping.test.php2
-rw-r--r--lib/plugins/authplain/auth.php33
-rw-r--r--lib/plugins/authplain/lang/af/lang.php6
-rw-r--r--lib/plugins/authplain/lang/ar/lang.php6
-rw-r--r--lib/plugins/authplain/lang/az/lang.php6
-rw-r--r--lib/plugins/authplain/lang/bg/lang.php6
-rw-r--r--lib/plugins/authplain/lang/bn/lang.php6
-rw-r--r--lib/plugins/authplain/lang/ca-valencia/lang.php6
-rw-r--r--lib/plugins/authplain/lang/ca/lang.php6
-rw-r--r--lib/plugins/authplain/lang/cs/lang.php6
-rw-r--r--lib/plugins/authplain/lang/da/lang.php6
-rw-r--r--lib/plugins/authplain/lang/de-informal/lang.php6
-rw-r--r--lib/plugins/authplain/lang/de/lang.php6
-rw-r--r--lib/plugins/authplain/lang/el/lang.php6
-rw-r--r--lib/plugins/authplain/lang/en/lang.php8
-rw-r--r--lib/plugins/authplain/lang/eo/lang.php6
-rw-r--r--lib/plugins/authplain/lang/es/lang.php6
-rw-r--r--lib/plugins/authplain/lang/et/lang.php6
-rw-r--r--lib/plugins/authplain/lang/eu/lang.php6
-rw-r--r--lib/plugins/authplain/lang/fa/lang.php6
-rw-r--r--lib/plugins/authplain/lang/fi/lang.php6
-rw-r--r--lib/plugins/authplain/lang/fo/lang.php6
-rw-r--r--lib/plugins/authplain/lang/fr/lang.php6
-rw-r--r--lib/plugins/authplain/lang/gl/lang.php6
-rw-r--r--lib/plugins/authplain/lang/he/lang.php6
-rw-r--r--lib/plugins/authplain/lang/hr/lang.php6
-rw-r--r--lib/plugins/authplain/lang/hu/lang.php6
-rw-r--r--lib/plugins/authplain/lang/ia/lang.php6
-rw-r--r--lib/plugins/authplain/lang/id-ni/lang.php6
-rw-r--r--lib/plugins/authplain/lang/id/lang.php6
-rw-r--r--lib/plugins/authplain/lang/is/lang.php6
-rw-r--r--lib/plugins/authplain/lang/it/lang.php6
-rw-r--r--lib/plugins/authplain/lang/ja/lang.php6
-rw-r--r--lib/plugins/authplain/lang/ka/lang.php6
-rw-r--r--lib/plugins/authplain/lang/kk/lang.php6
-rw-r--r--lib/plugins/authplain/lang/km/lang.php6
-rw-r--r--lib/plugins/authplain/lang/ko/lang.php6
-rw-r--r--lib/plugins/authplain/lang/ku/lang.php6
-rw-r--r--lib/plugins/authplain/lang/la/lang.php6
-rw-r--r--lib/plugins/authplain/lang/lb/lang.php6
-rw-r--r--lib/plugins/authplain/lang/lt/lang.php6
-rw-r--r--lib/plugins/authplain/lang/lv/lang.php6
-rw-r--r--lib/plugins/authplain/lang/mg/lang.php6
-rw-r--r--lib/plugins/authplain/lang/mk/lang.php6
-rw-r--r--lib/plugins/authplain/lang/mr/lang.php6
-rw-r--r--lib/plugins/authplain/lang/ms/lang.php6
-rw-r--r--lib/plugins/authplain/lang/ne/lang.php6
-rw-r--r--lib/plugins/authplain/lang/nl/lang.php6
-rw-r--r--lib/plugins/authplain/lang/no/lang.php6
-rw-r--r--lib/plugins/authplain/lang/pl/lang.php6
-rw-r--r--lib/plugins/authplain/lang/pt-br/lang.php6
-rw-r--r--lib/plugins/authplain/lang/pt/lang.php6
-rw-r--r--lib/plugins/authplain/lang/ro/lang.php6
-rw-r--r--lib/plugins/authplain/lang/ru/lang.php6
-rw-r--r--lib/plugins/authplain/lang/sk/lang.php6
-rw-r--r--lib/plugins/authplain/lang/sl/lang.php6
-rw-r--r--lib/plugins/authplain/lang/sq/lang.php6
-rw-r--r--lib/plugins/authplain/lang/sr/lang.php6
-rw-r--r--lib/plugins/authplain/lang/sv/lang.php6
-rw-r--r--lib/plugins/authplain/lang/th/lang.php6
-rw-r--r--lib/plugins/authplain/lang/tr/lang.php6
-rw-r--r--lib/plugins/authplain/lang/uk/lang.php6
-rw-r--r--lib/plugins/authplain/lang/vi/lang.php6
-rw-r--r--lib/plugins/authplain/lang/zh-tw/lang.php6
-rw-r--r--lib/plugins/authplain/lang/zh/lang.php6
-rw-r--r--lib/plugins/config/_test/configuration.test.php6
-rw-r--r--lib/plugins/extension/lang/da/intro_install.txt1
-rw-r--r--lib/plugins/extension/lang/da/intro_plugins.txt1
-rw-r--r--lib/plugins/extension/lang/da/intro_templates.txt1
-rw-r--r--lib/plugins/extension/lang/da/lang.php56
-rw-r--r--lib/plugins/extension/lang/fr/lang.php4
-rw-r--r--lib/plugins/extension/lang/nl/lang.php3
-rw-r--r--lib/plugins/extension/lang/pt-br/lang.php17
-rw-r--r--lib/plugins/extension/lang/pt/lang.php1
-rw-r--r--lib/plugins/extension/lang/ru/lang.php3
-rw-r--r--lib/plugins/popularity/lang/lt/lang.php5
-rw-r--r--lib/plugins/revert/lang/no/lang.php1
-rw-r--r--lib/plugins/usermanager/admin.php33
-rw-r--r--lib/plugins/usermanager/lang/lt/lang.php5
-rw-r--r--lib/plugins/usermanager/lang/pt-br/import.txt9
-rw-r--r--lib/plugins/usermanager/lang/pt/lang.php1
-rw-r--r--lib/scripts/linkwiz.js10
-rw-r--r--lib/scripts/toolbar.js15
-rw-r--r--lib/tpl/dokuwiki/css/mixins.less15
-rw-r--r--lib/tpl/dokuwiki/css/structure.less15
149 files changed, 1050 insertions, 94 deletions
diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php
index 330b8498d..d2a4d45f7 100644
--- a/lib/exe/indexer.php
+++ b/lib/exe/indexer.php
@@ -199,7 +199,7 @@ function sendGIF(){
header('Content-Length: '.strlen($img));
header('Connection: Close');
print $img;
- flush();
+ tpl_flush();
// Browser should drop connection after this
// Thinks it's got the whole image
}
diff --git a/lib/exe/js.php b/lib/exe/js.php
index 06d0dda55..2df2d0ba6 100644
--- a/lib/exe/js.php
+++ b/lib/exe/js.php
@@ -30,9 +30,14 @@ function js_out(){
global $conf;
global $lang;
global $config_cascade;
+ global $INPUT;
+
+ // decide from where to get the template
+ $tpl = trim(preg_replace('/[^\w-]+/','',$INPUT->str('t')));
+ if(!$tpl) $tpl = $conf['template'];
// The generated script depends on some dynamic options
- $cache = new cache('scripts'.$_SERVER['HTTP_HOST'].$_SERVER['SERVER_PORT'],'.js');
+ $cache = new cache('scripts'.$_SERVER['HTTP_HOST'].$_SERVER['SERVER_PORT'].DOKU_BASE.$tpl,'.js');
$cache->_event = 'JS_CACHE_USE';
// load minified version for some files
@@ -67,7 +72,7 @@ function js_out(){
# disabled for FS#1958 DOKU_INC.'lib/scripts/hotkeys.js',
DOKU_INC.'lib/scripts/behaviour.js',
DOKU_INC.'lib/scripts/page.js',
- tpl_incdir().'script.js',
+ tpl_incdir($tpl).'script.js',
);
// add possible plugin scripts and userscript
@@ -92,7 +97,7 @@ function js_out(){
$json = new JSON();
// add some global variables
print "var DOKU_BASE = '".DOKU_BASE."';";
- print "var DOKU_TPL = '".tpl_basedir()."';";
+ print "var DOKU_TPL = '".tpl_basedir($tpl)."';";
print "var DOKU_COOKIE_PARAM = " . $json->encode(
array(
'path' => empty($conf['cookiedir']) ? DOKU_REL : $conf['cookiedir'],
@@ -104,7 +109,7 @@ function js_out(){
// load JS specific translations
$lang['js']['plugins'] = js_pluginstrings();
- $templatestrings = js_templatestrings();
+ $templatestrings = js_templatestrings($tpl);
if(!empty($templatestrings)) {
$lang['js']['template'] = $templatestrings;
}
@@ -240,19 +245,20 @@ function js_pluginstrings() {
* - $lang['js'] must be an array.
* - Nothing is returned for template without an entry for $lang['js']
*
+ * @param string $tpl
* @return array
*/
-function js_templatestrings() {
+function js_templatestrings($tpl) {
global $conf;
$templatestrings = array();
- if (file_exists(tpl_incdir()."lang/en/lang.php")) {
- include tpl_incdir()."lang/en/lang.php";
+ if (file_exists(tpl_incdir($tpl)."lang/en/lang.php")) {
+ include tpl_incdir($tpl)."lang/en/lang.php";
}
- if (isset($conf['lang']) && $conf['lang']!='en' && file_exists(tpl_incdir()."lang/".$conf['lang']."/lang.php")) {
- include tpl_incdir()."lang/".$conf['lang']."/lang.php";
+ if (isset($conf['lang']) && $conf['lang']!='en' && file_exists(tpl_incdir($tpl)."lang/".$conf['lang']."/lang.php")) {
+ include tpl_incdir($tpl)."lang/".$conf['lang']."/lang.php";
}
if (isset($lang['js'])) {
- $templatestrings[$conf['template']] = $lang['js'];
+ $templatestrings[$tpl] = $lang['js'];
}
return $templatestrings;
}
diff --git a/lib/plugins/acl/lang/lt/lang.php b/lib/plugins/acl/lang/lt/lang.php
index ef339177b..2a1748abc 100644
--- a/lib/plugins/acl/lang/lt/lang.php
+++ b/lib/plugins/acl/lang/lt/lang.php
@@ -1,8 +1,8 @@
<?php
+
/**
- * lithuanian language file
- *
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Linas Valiukas <shirshegsm@gmail.com>
* @author audrius.klevas@gmail.com
* @author Arunas Vaitekunas <aras@fan.lt>
diff --git a/lib/plugins/auth.php b/lib/plugins/auth.php
index 4799b3a38..036cb0d77 100644
--- a/lib/plugins/auth.php
+++ b/lib/plugins/auth.php
@@ -295,7 +295,7 @@ class DokuWiki_Auth_Plugin extends DokuWiki_Plugin {
*/
public function deleteUsers($users) {
msg("authorisation method does not allow deleting of users", -1);
- return false;
+ return 0;
}
/**
diff --git a/lib/plugins/authad/auth.php b/lib/plugins/authad/auth.php
index 88b56046c..60c68efc4 100644
--- a/lib/plugins/authad/auth.php
+++ b/lib/plugins/authad/auth.php
@@ -3,6 +3,7 @@
if(!defined('DOKU_INC')) die();
require_once(DOKU_PLUGIN.'authad/adLDAP/adLDAP.php');
+require_once(DOKU_PLUGIN.'authad/adLDAP/classes/adLDAPUtils.php');
/**
* Active Directory authentication backend for DokuWiki
@@ -67,6 +68,10 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
*/
protected $_pattern = array();
+ protected $_actualstart = 0;
+
+ protected $_grpsusers = array();
+
/**
* Constructor
*/
@@ -116,6 +121,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
// other can do's are changed in $this->_loadServerConfig() base on domain setup
$this->cando['modName'] = true;
$this->cando['modMail'] = true;
+ $this->cando['getUserCount'] = true;
}
/**
@@ -252,7 +258,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
($info['expiresin'] <= $this->conf['expirywarn']) &&
!$this->msgshown
) {
- $msg = sprintf($lang['authpwdexpire'], $info['expiresin']);
+ $msg = sprintf($this->getLang('authpwdexpire'), $info['expiresin']);
if($this->canDo('modPass')) {
$url = wl($ID, array('do'=> 'profile'));
$msg .= ' <a href="'.$url.'">'.$lang['btn_profile'].'</a>';
@@ -326,14 +332,137 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
}
/**
+ * Create a Search-String useable by adLDAPUsers::all($includeDescription = false, $search = "*", $sorted = true)
+ *
+ * @param array $filter
+ * @return string
+ */
+ protected function _constructSearchString($filter){
+ if (!$filter){
+ return '*';
+ }
+ $adldapUtils = new adLDAPUtils($this->_adldap(null));
+ $result = '*';
+ if (isset($filter['name'])) {
+ $result .= ')(displayname=*' . $adldapUtils->ldapSlashes($filter['name']) . '*';
+ unset($filter['name']);
+ }
+
+ if (isset($filter['user'])) {
+ $result .= ')(samAccountName=*' . $adldapUtils->ldapSlashes($filter['user']) . '*';
+ unset($filter['user']);
+ }
+
+ if (isset($filter['mail'])) {
+ $result .= ')(mail=*' . $adldapUtils->ldapSlashes($filter['mail']) . '*';
+ unset($filter['mail']);
+ }
+ return $result;
+ }
+
+ /**
+ * Return a count of the number of user which meet $filter criteria
+ *
+ * @param array $filter $filter array of field/pattern pairs, empty array for no filter
+ * @return int number of users
+ */
+ public function getUserCount($filter = array()) {
+ $adldap = $this->_adldap(null);
+ if(!$adldap) {
+ dbglog("authad/auth.php getUserCount(): _adldap not set.");
+ return -1;
+ }
+ if ($filter == array()) {
+ $result = $adldap->user()->all();
+ } else {
+ $searchString = $this->_constructSearchString($filter);
+ $result = $adldap->user()->all(false, $searchString);
+ if (isset($filter['grps'])) {
+ $this->users = array_fill_keys($result, false);
+ $usermanager = plugin_load("admin", "usermanager", false);
+ $usermanager->setLastdisabled(true);
+ if (!isset($this->_grpsusers[$this->_filterToString($filter)])){
+ $this->_fillGroupUserArray($filter,$usermanager->getStart() + 3*$usermanager->getPagesize());
+ } elseif (count($this->_grpsusers[$this->_filterToString($filter)]) < $usermanager->getStart() + 3*$usermanager->getPagesize()) {
+ $this->_fillGroupUserArray($filter,$usermanager->getStart() + 3*$usermanager->getPagesize() - count($this->_grpsusers[$this->_filterToString($filter)]));
+ }
+ $result = $this->_grpsusers[$this->_filterToString($filter)];
+ } else {
+ $usermanager = plugin_load("admin", "usermanager", false);
+ $usermanager->setLastdisabled(false);
+ }
+
+ }
+
+ if (!$result) {
+ return 0;
+ }
+ return count($result);
+ }
+
+ /**
+ *
+ * create a unique string for each filter used with a group
+ *
+ * @param array $filter
+ * @return string
+ */
+ protected function _filterToString ($filter) {
+ $result = '';
+ if (isset($filter['user'])) {
+ $result .= 'user-' . $filter['user'];
+ }
+ if (isset($filter['name'])) {
+ $result .= 'name-' . $filter['name'];
+ }
+ if (isset($filter['mail'])) {
+ $result .= 'mail-' . $filter['mail'];
+ }
+ if (isset($filter['grps'])) {
+ $result .= 'grps-' . $filter['grps'];
+ }
+ return $result;
+ }
+
+ /**
+ * Create an array of $numberOfAdds users passing a certain $filter, including belonging
+ * to a certain group and save them to a object-wide array. If the array
+ * already exists try to add $numberOfAdds further users to it.
+ *
+ * @param array $filter
+ * @param int $numberOfAdds additional number of users requested
+ * @return int number of Users actually add to Array
+ */
+ protected function _fillGroupUserArray($filter, $numberOfAdds){
+ $this->_grpsusers[$this->_filterToString($filter)];
+ $i = 0;
+ $count = 0;
+ $this->_constructPattern($filter);
+ foreach ($this->users as $user => &$info) {
+ if($i++ < $this->_actualstart) {
+ continue;
+ }
+ if($info === false) {
+ $info = $this->getUserData($user);
+ }
+ if($this->_filter($user, $info)) {
+ $this->_grpsusers[$this->_filterToString($filter)][$user] = $info;
+ if(($numberOfAdds > 0) && (++$count >= $numberOfAdds)) break;
+ }
+ }
+ $this->_actualstart = $i;
+ return $count;
+ }
+
+ /**
* Bulk retrieval of user data
*
* @author Dominik Eckelmann <dokuwiki@cosmocode.de>
*
- * @param int $start index of first user to be returned
- * @param int $limit max number of users to be returned
- * @param array $filter array of field/pattern pairs, null for no filter
- * @return array userinfo (refer getUserData for internal userinfo details)
+ * @param int $start index of first user to be returned
+ * @param int $limit max number of users to be returned
+ * @param array $filter array of field/pattern pairs, null for no filter
+ * @return array userinfo (refer getUserData for internal userinfo details)
*/
public function retrieveUsers($start = 0, $limit = 0, $filter = array()) {
$adldap = $this->_adldap(null);
@@ -341,27 +470,44 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
if(!$this->users) {
//get info for given user
- $result = $adldap->user()->all();
+ $result = $adldap->user()->all(false, $this->_constructSearchString($filter));
if (!$result) return array();
$this->users = array_fill_keys($result, false);
}
$i = 0;
$count = 0;
- $this->_constructPattern($filter);
$result = array();
- foreach($this->users as $user => &$info) {
- if($i++ < $start) {
- continue;
+ if (!isset($filter['grps'])) {
+ $usermanager = plugin_load("admin", "usermanager", false);
+ $usermanager->setLastdisabled(false);
+ $this->_constructPattern($filter);
+ foreach($this->users as $user => &$info) {
+ if($i++ < $start) {
+ continue;
+ }
+ if($info === false) {
+ $info = $this->getUserData($user);
+ }
+ $result[$user] = $info;
+ if(($limit > 0) && (++$count >= $limit)) break;
}
- if($info === false) {
- $info = $this->getUserData($user);
+ } else {
+ $usermanager = plugin_load("admin", "usermanager", false);
+ $usermanager->setLastdisabled(true);
+ if (!isset($this->_grpsusers[$this->_filterToString($filter)]) || count($this->_grpsusers[$this->_filterToString($filter)]) < ($start+$limit)) {
+ $this->_fillGroupUserArray($filter,$start+$limit - count($this->_grpsusers[$this->_filterToString($filter)]) +1);
}
- if($this->_filter($user, $info)) {
+ if (!$this->_grpsusers[$this->_filterToString($filter)]) return false;
+ foreach($this->_grpsusers[$this->_filterToString($filter)] as $user => &$info) {
+ if($i++ < $start) {
+ continue;
+ }
$result[$user] = $info;
if(($limit > 0) && (++$count >= $limit)) break;
}
+
}
return $result;
}
@@ -376,7 +522,10 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
public function modifyUser($user, $changes) {
$return = true;
$adldap = $this->_adldap($this->_userDomain($user));
- if(!$adldap) return false;
+ if(!$adldap) {
+ msg($this->getLang('connectfail'), -1);
+ return false;
+ }
// password changing
if(isset($changes['pass'])) {
@@ -386,7 +535,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
if ($this->conf['debug']) msg('AD Auth: '.$e->getMessage(), -1);
$return = false;
}
- if(!$return) msg('AD Auth: failed to change the password. Maybe the password policy was not met?', -1);
+ if(!$return) msg($this->getLang('passchangefail'), -1);
}
// changing user data
@@ -408,6 +557,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
if ($this->conf['debug']) msg('AD Auth: '.$e->getMessage(), -1);
$return = false;
}
+ if(!$return) msg($this->getLang('userchangefail'), -1);
}
return $return;
diff --git a/lib/plugins/authad/lang/ar/lang.php b/lib/plugins/authad/lang/ar/lang.php
index e0ba7681a..173c80f0c 100644
--- a/lib/plugins/authad/lang/ar/lang.php
+++ b/lib/plugins/authad/lang/ar/lang.php
@@ -4,5 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Mohamed Belhsine <b.mohamed897@gmail.com>
+ * @author Usama Akkad <uahello@gmail.com>
*/
$lang['domain'] = 'مجال تسجيل الدخول';
+$lang['authpwdexpire'] = 'ستنتهي صلاحية كلمة السر في %d . عليك بتغييرها سريعا.';
diff --git a/lib/plugins/authad/lang/bg/lang.php b/lib/plugins/authad/lang/bg/lang.php
new file mode 100644
index 000000000..3de5df65f
--- /dev/null
+++ b/lib/plugins/authad/lang/bg/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Kiril <neohidra@gmail.com>
+ */
+$lang['authpwdexpire'] = 'Срока на паролата ви ще изтече след %d дни. Препоръчително е да я смените по-скоро.';
diff --git a/lib/plugins/authad/lang/ca/lang.php b/lib/plugins/authad/lang/ca/lang.php
new file mode 100644
index 000000000..abe25a5f2
--- /dev/null
+++ b/lib/plugins/authad/lang/ca/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Daniel López Prat <daniel@6temes.cat>
+ */
+$lang['authpwdexpire'] = 'La vostra contrasenya caducarà en %d dies, l\'hauríeu de canviar aviat.';
diff --git a/lib/plugins/authad/lang/cs/lang.php b/lib/plugins/authad/lang/cs/lang.php
index 8119d208a..ad141153f 100644
--- a/lib/plugins/authad/lang/cs/lang.php
+++ b/lib/plugins/authad/lang/cs/lang.php
@@ -4,5 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Jaroslav Lichtblau <jlichtblau@seznam.cz>
+ * @author Miroslav Svoboda <msv@email.cz>
*/
$lang['domain'] = 'Přihlašovací doména';
+$lang['authpwdexpire'] = 'Platnost vašeho hesla vyprší za %d dní, měli byste ho změnit co nejdříve.';
diff --git a/lib/plugins/authad/lang/da/lang.php b/lib/plugins/authad/lang/da/lang.php
new file mode 100644
index 000000000..3d0730216
--- /dev/null
+++ b/lib/plugins/authad/lang/da/lang.php
@@ -0,0 +1,10 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Jacob Palm <mail@jacobpalm.dk>
+ * @author Mikael Lyngvig <mikael@lyngvig.org>
+ */
+$lang['domain'] = 'Logondomæne';
+$lang['authpwdexpire'] = 'Din adgangskode vil udløbe om %d dage, du bør ændre det snart.';
diff --git a/lib/plugins/authad/lang/de-informal/lang.php b/lib/plugins/authad/lang/de-informal/lang.php
new file mode 100644
index 000000000..e9361d5fe
--- /dev/null
+++ b/lib/plugins/authad/lang/de-informal/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Andreas Gohr <gohr@cosmocode.de>
+ */
+$lang['authpwdexpire'] = 'Dein Passwort läuft in %d Tag(en) ab. Du solltest es es frühzeitig ändern.';
diff --git a/lib/plugins/authad/lang/de/lang.php b/lib/plugins/authad/lang/de/lang.php
index eea511d1b..11f52a414 100644
--- a/lib/plugins/authad/lang/de/lang.php
+++ b/lib/plugins/authad/lang/de/lang.php
@@ -6,3 +6,4 @@
* @author Andreas Gohr <gohr@cosmocode.de>
*/
$lang['domain'] = 'Anmelde-Domäne';
+$lang['authpwdexpire'] = 'Ihr Passwort läuft in %d Tag(en) ab. Sie sollten es frühzeitig ändern.';
diff --git a/lib/plugins/authad/lang/el/lang.php b/lib/plugins/authad/lang/el/lang.php
new file mode 100644
index 000000000..39e3283cc
--- /dev/null
+++ b/lib/plugins/authad/lang/el/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Vasileios Karavasilis vasileioskaravasilis@gmail.com
+ */
+$lang['authpwdexpire'] = 'Ο κωδικός πρόσβασης θα λήξει σε %d ημέρες. Προτείνουμε να τον αλλάξετε σύντομα.';
diff --git a/lib/plugins/authad/lang/en/lang.php b/lib/plugins/authad/lang/en/lang.php
index e2967d662..751aa9f47 100644
--- a/lib/plugins/authad/lang/en/lang.php
+++ b/lib/plugins/authad/lang/en/lang.php
@@ -1,10 +1,14 @@
<?php
/**
* English language file for addomain plugin
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Andreas Gohr <gohr@cosmocode.de>
*/
-$lang['domain'] = 'Logon Domain';
+$lang['domain'] = 'Logon Domain';
+$lang['authpwdexpire'] = 'Your password will expire in %d days, you should change it soon.';
+$lang['passchangefail'] = 'Failed to change the password. Maybe the password policy was not met?';
+$lang['connectfail'] = 'Failed to connect to Active Directory server.';
//Setup VIM: ex: et ts=4 :
diff --git a/lib/plugins/authad/lang/eo/lang.php b/lib/plugins/authad/lang/eo/lang.php
index be4abc123..e738323da 100644
--- a/lib/plugins/authad/lang/eo/lang.php
+++ b/lib/plugins/authad/lang/eo/lang.php
@@ -6,3 +6,4 @@
* @author Robert Bogenschneider <bogi@uea.org>
*/
$lang['domain'] = 'Ensaluta domajno';
+$lang['authpwdexpire'] = 'Via pasvorto malvalidos post %d tagoj, prefere ŝanĝu ĝin baldaũ.';
diff --git a/lib/plugins/authad/lang/es/lang.php b/lib/plugins/authad/lang/es/lang.php
index c5b242cba..ffbff49a1 100644
--- a/lib/plugins/authad/lang/es/lang.php
+++ b/lib/plugins/authad/lang/es/lang.php
@@ -4,5 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Juan De La Cruz <juann.dlc@gmail.com>
+ * @author Gerardo Zamudio <gerardo@gerardozamudio.net>
*/
$lang['domain'] = 'Dominio de inicio';
+$lang['authpwdexpire'] = 'Su contraseña caducara en %d días, debería cambiarla lo antes posible';
diff --git a/lib/plugins/authad/lang/et/lang.php b/lib/plugins/authad/lang/et/lang.php
new file mode 100644
index 000000000..6dda19360
--- /dev/null
+++ b/lib/plugins/authad/lang/et/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Janar Leas <janar.leas@eesti.ee>
+ */
+$lang['authpwdexpire'] = 'Sinu salasõna aegub %päeva pärast, võiksid seda peatselt muuta.';
diff --git a/lib/plugins/authad/lang/eu/lang.php b/lib/plugins/authad/lang/eu/lang.php
new file mode 100644
index 000000000..454e3be34
--- /dev/null
+++ b/lib/plugins/authad/lang/eu/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Zigor Astarbe <astarbe@gmail.com>
+ */
+$lang['authpwdexpire'] = 'Zure pasahitza %d egun barru iraungiko da, laster aldatu beharko zenuke.';
diff --git a/lib/plugins/authad/lang/fa/lang.php b/lib/plugins/authad/lang/fa/lang.php
index 1ea73cfdb..646142331 100644
--- a/lib/plugins/authad/lang/fa/lang.php
+++ b/lib/plugins/authad/lang/fa/lang.php
@@ -4,5 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Hamid <zarrabi@sharif.edu>
+ * @author Milad DZand <M.DastanZand@gmail.com>
*/
$lang['domain'] = 'دامنه‌ی ورود';
+$lang['authpwdexpire'] = 'کلمه عبور شما در %d روز منقضی خواهد شد ، شما باید آن را زود تغییر دهید';
diff --git a/lib/plugins/authad/lang/fi/lang.php b/lib/plugins/authad/lang/fi/lang.php
new file mode 100644
index 000000000..650d44f7a
--- /dev/null
+++ b/lib/plugins/authad/lang/fi/lang.php
@@ -0,0 +1,8 @@
+<?php
+/**
+ * @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/fr/lang.php b/lib/plugins/authad/lang/fr/lang.php
index 2de362e41..4999967dc 100644
--- a/lib/plugins/authad/lang/fr/lang.php
+++ b/lib/plugins/authad/lang/fr/lang.php
@@ -4,5 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author ggallon <gwenael.gallon@mac.com>
+ * @author Yannick Aure <yannick.aure@gmail.com>
*/
$lang['domain'] = 'Domaine de connexion';
+$lang['authpwdexpire'] = 'Votre mot de passe expirera dans %d jours, vous devriez le changer bientôt.';
diff --git a/lib/plugins/authad/lang/gl/lang.php b/lib/plugins/authad/lang/gl/lang.php
new file mode 100644
index 000000000..b10126a88
--- /dev/null
+++ b/lib/plugins/authad/lang/gl/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Rodrigo Rega <rodrigorega@gmail.com>
+ */
+$lang['authpwdexpire'] = 'A túa contrasinal expirará en %d días, deberías cambiala pronto.';
diff --git a/lib/plugins/authad/lang/he/lang.php b/lib/plugins/authad/lang/he/lang.php
new file mode 100644
index 000000000..21fd98aef
--- /dev/null
+++ b/lib/plugins/authad/lang/he/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author tomer <tomercarolldergicz@gmail.com>
+ */
+$lang['authpwdexpire'] = 'הסיסמה שלך תפוג ב% d ימים, אתה צריך לשנות את זה בקרוב.';
diff --git a/lib/plugins/authad/lang/hr/lang.php b/lib/plugins/authad/lang/hr/lang.php
index f750c91b5..8652c69ed 100644
--- a/lib/plugins/authad/lang/hr/lang.php
+++ b/lib/plugins/authad/lang/hr/lang.php
@@ -6,3 +6,4 @@
* @author Davor Turkalj <turki.bsc@gmail.com>
*/
$lang['domain'] = 'Domena za prijavu';
+$lang['authpwdexpire'] = 'Vaša lozinka će isteći za %d dana, trebate ju promijeniti.';
diff --git a/lib/plugins/authad/lang/hu/lang.php b/lib/plugins/authad/lang/hu/lang.php
index 7bb6084b0..f5692de04 100644
--- a/lib/plugins/authad/lang/hu/lang.php
+++ b/lib/plugins/authad/lang/hu/lang.php
@@ -6,3 +6,4 @@
* @author Marton Sebok <sebokmarton@gmail.com>
*/
$lang['domain'] = 'Bejelentkezési tartomány';
+$lang['authpwdexpire'] = 'A jelszavad %d nap múlva lejár, hamarosan meg kell változtatnod.';
diff --git a/lib/plugins/authad/lang/it/lang.php b/lib/plugins/authad/lang/it/lang.php
new file mode 100644
index 000000000..5f1a03cd4
--- /dev/null
+++ b/lib/plugins/authad/lang/it/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Matteo Pasotti <matteo@xquiet.eu>
+ */
+$lang['authpwdexpire'] = 'La tua password scadrà in %d giorni, dovresti cambiarla quanto prima.';
diff --git a/lib/plugins/authad/lang/ja/lang.php b/lib/plugins/authad/lang/ja/lang.php
index b40aa5da3..91c4f046a 100644
--- a/lib/plugins/authad/lang/ja/lang.php
+++ b/lib/plugins/authad/lang/ja/lang.php
@@ -4,5 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author PzF_X <jp_minecraft@yahoo.co.jp>
+ * @author Osaka <mr.osaka@gmail.com>
*/
$lang['domain'] = 'ログオン時のドメイン';
+$lang['authpwdexpire'] = 'あなたのパスワードは、あと%d日で有効期限が切れます。パスワードを変更してください。';
diff --git a/lib/plugins/authad/lang/ka/lang.php b/lib/plugins/authad/lang/ka/lang.php
new file mode 100644
index 000000000..ab0c86902
--- /dev/null
+++ b/lib/plugins/authad/lang/ka/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Luka Lejava <luka.lejava@gmail.com>
+ */
+$lang['authpwdexpire'] = 'თქვენს პაროლს ვადა გაუვა %d დღეში, მალე შეცვლა მოგიწევთ.';
diff --git a/lib/plugins/authad/lang/ko/lang.php b/lib/plugins/authad/lang/ko/lang.php
index 5a2416b2c..c119fabc5 100644
--- a/lib/plugins/authad/lang/ko/lang.php
+++ b/lib/plugins/authad/lang/ko/lang.php
@@ -6,3 +6,4 @@
* @author Myeongjin <aranet100@gmail.com>
*/
$lang['domain'] = '로그온 도메인';
+$lang['authpwdexpire'] = '비밀번호를 바꾼지 %d일이 지났으며, 비밀번호를 곧 바꿔야 합니다.';
diff --git a/lib/plugins/authad/lang/lv/lang.php b/lib/plugins/authad/lang/lv/lang.php
index 74becf756..a208ac949 100644
--- a/lib/plugins/authad/lang/lv/lang.php
+++ b/lib/plugins/authad/lang/lv/lang.php
@@ -6,3 +6,4 @@
* @author Aivars Miška <allefm@gmail.com>
*/
$lang['domain'] = 'Iežurnālēšanās domēns';
+$lang['authpwdexpire'] = 'Tavai parolei pēc %d dienām biegsies termiņš, tā drīzumā jānomaina.';
diff --git a/lib/plugins/authad/lang/nl/lang.php b/lib/plugins/authad/lang/nl/lang.php
index ea8419069..bd241a0a9 100644
--- a/lib/plugins/authad/lang/nl/lang.php
+++ b/lib/plugins/authad/lang/nl/lang.php
@@ -4,5 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Rene <wllywlnt@yahoo.com>
+ * @author Dion Nicolaas <dion@nicolaas.net>
*/
$lang['domain'] = 'Inlog Domein';
+$lang['authpwdexpire'] = 'Je wachtwoord verloopt in %d dagen, je moet het binnenkort veranderen';
diff --git a/lib/plugins/authad/lang/no/lang.php b/lib/plugins/authad/lang/no/lang.php
index a1c9c7e8a..b497c4719 100644
--- a/lib/plugins/authad/lang/no/lang.php
+++ b/lib/plugins/authad/lang/no/lang.php
@@ -4,5 +4,10 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Patrick <spill.p@hotmail.com>
+ * @author Thomas Juberg <Thomas.Juberg@Gmail.com>
+ * @author Danny Buckhof <daniel.raknes@hotmail.no>
*/
$lang['domain'] = 'Loggpå-domene';
+$lang['authpwdexpire'] = 'Ditt passord går ut om %d dager, du bør endre det snarest.';
+$lang['passchangefail'] = 'Feil ved endring av passord. Det kan være at passordet ikke er i tråd med passordpolicyen ';
+$lang['connectfail'] = 'Feil ved kontakt med Active Directory serveren.';
diff --git a/lib/plugins/authad/lang/no/settings.php b/lib/plugins/authad/lang/no/settings.php
index f309ead50..727f6611d 100644
--- a/lib/plugins/authad/lang/no/settings.php
+++ b/lib/plugins/authad/lang/no/settings.php
@@ -5,7 +5,10 @@
*
* @author Christopher Schive <chschive@frisurf.no>
* @author Patrick <spill.p@hotmail.com>
+ * @author Danny Buckhof <daniel.raknes@hotmail.no>
*/
$lang['account_suffix'] = 'Ditt konto-suffiks F. Eks. <code>@my.domain.org</code>';
$lang['admin_password'] = 'Passordet til brukeren over.';
+$lang['use_ssl'] = 'Bruk SSL tilknytning? Hvis denne brukes, ikke aktiver TLS nedenfor.';
+$lang['use_tls'] = 'Bruk TLS tilknytning? Hvis denne brukes, ikke aktiver SSL over.';
$lang['expirywarn'] = 'Antall dager på forhånd brukeren varsles om at passordet utgår. 0 for å deaktivere.';
diff --git a/lib/plugins/authad/lang/pl/lang.php b/lib/plugins/authad/lang/pl/lang.php
new file mode 100644
index 000000000..645b46afa
--- /dev/null
+++ b/lib/plugins/authad/lang/pl/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Aoi Karasu <aoikarasu@gmail.com>
+ */
+$lang['authpwdexpire'] = 'Twoje hasło wygaśnie za %d dni. Należy je zmienić w krótkim czasie.';
diff --git a/lib/plugins/authad/lang/pt-br/lang.php b/lib/plugins/authad/lang/pt-br/lang.php
index 5fa963d4e..9dc731b05 100644
--- a/lib/plugins/authad/lang/pt-br/lang.php
+++ b/lib/plugins/authad/lang/pt-br/lang.php
@@ -4,5 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Felipe Castro <fefcas@gmail.com>
+ * @author Frederico Gonçalves Guimarães <frederico@teia.bio.br>
*/
$lang['domain'] = 'Domínio de "Logon"';
+$lang['authpwdexpire'] = 'Sua senha vai expirar em %d dias. Você deve mudá-la assim que for possível.';
diff --git a/lib/plugins/authad/lang/pt/lang.php b/lib/plugins/authad/lang/pt/lang.php
index f307bc901..919534231 100644
--- a/lib/plugins/authad/lang/pt/lang.php
+++ b/lib/plugins/authad/lang/pt/lang.php
@@ -4,5 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Paulo Silva <paulotsilva@yahoo.com>
+ * @author André Neves <drakferion@gmail.com>
*/
$lang['domain'] = 'Domínio de Início de Sessão';
+$lang['authpwdexpire'] = 'A sua senha expirará dentro de %d dias, deve mudá-la em breve.';
diff --git a/lib/plugins/authad/lang/ro/lang.php b/lib/plugins/authad/lang/ro/lang.php
new file mode 100644
index 000000000..28a0e1e64
--- /dev/null
+++ b/lib/plugins/authad/lang/ro/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Razvan Deaconescu <razvan.deaconescu@cs.pub.ro>
+ */
+$lang['authpwdexpire'] = 'Parola va expira în %d zile, ar trebui să o schimbi în curând.';
diff --git a/lib/plugins/authad/lang/ru/lang.php b/lib/plugins/authad/lang/ru/lang.php
index 6f3c03e39..6a3f6e995 100644
--- a/lib/plugins/authad/lang/ru/lang.php
+++ b/lib/plugins/authad/lang/ru/lang.php
@@ -6,3 +6,4 @@
* @author Aleksandr Selivanov <alexgearbox@yandex.ru>
*/
$lang['domain'] = 'Домен';
+$lang['authpwdexpire'] = 'Действие вашего пароля истекает через %d дней. Вы должны изменить его как можно скорее';
diff --git a/lib/plugins/authad/lang/sk/lang.php b/lib/plugins/authad/lang/sk/lang.php
new file mode 100644
index 000000000..cb0698f46
--- /dev/null
+++ b/lib/plugins/authad/lang/sk/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Martin Michalek <michalek.dev@gmail.com>
+ */
+$lang['authpwdexpire'] = 'Platnosť hesla vyprší za %d dní, mali by ste ho zmeniť čo najskôr.';
diff --git a/lib/plugins/authad/lang/sl/lang.php b/lib/plugins/authad/lang/sl/lang.php
new file mode 100644
index 000000000..dc7b3567a
--- /dev/null
+++ b/lib/plugins/authad/lang/sl/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author matej <mateju@svn.gnome.org>
+ */
+$lang['authpwdexpire'] = 'Geslo bo poteklo v %d dneh. Priporočljivo ga je zamenjati.';
diff --git a/lib/plugins/authad/lang/sv/lang.php b/lib/plugins/authad/lang/sv/lang.php
new file mode 100644
index 000000000..f253ae7fe
--- /dev/null
+++ b/lib/plugins/authad/lang/sv/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Smorkster Andersson smorkster@gmail.com
+ */
+$lang['authpwdexpire'] = 'Ditt lösenord kommer att bli ogiltigt om %d dagar, du bör ändra det snart.';
diff --git a/lib/plugins/authad/lang/tr/lang.php b/lib/plugins/authad/lang/tr/lang.php
new file mode 100644
index 000000000..2336e0f0c
--- /dev/null
+++ b/lib/plugins/authad/lang/tr/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author farukerdemoncel@gmail.com
+ */
+$lang['authpwdexpire'] = 'Şifreniz %d gün sonra geçersiz hale gelecek, yakın bir zamanda değiştirmelisiniz.';
diff --git a/lib/plugins/authad/lang/zh-tw/lang.php b/lib/plugins/authad/lang/zh-tw/lang.php
index 6ad0947a2..b2ce48535 100644
--- a/lib/plugins/authad/lang/zh-tw/lang.php
+++ b/lib/plugins/authad/lang/zh-tw/lang.php
@@ -4,5 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author June-Hao Hou <junehao@gmail.com>
+ * @author syaoranhinata@gmail.com
*/
$lang['domain'] = '登入網域';
+$lang['authpwdexpire'] = '您的密碼將在 %d 天內到期,請馬上更換新密碼。';
diff --git a/lib/plugins/authad/lang/zh/lang.php b/lib/plugins/authad/lang/zh/lang.php
index 2a05aa168..4f3794999 100644
--- a/lib/plugins/authad/lang/zh/lang.php
+++ b/lib/plugins/authad/lang/zh/lang.php
@@ -6,3 +6,4 @@
* @author lainme <lainme993@gmail.com>
*/
$lang['domain'] = '登录域';
+$lang['authpwdexpire'] = '您的密码将在 %d 天内过期,请尽快更改';
diff --git a/lib/plugins/authldap/auth.php b/lib/plugins/authldap/auth.php
index 50735882f..247a0fec2 100644
--- a/lib/plugins/authldap/auth.php
+++ b/lib/plugins/authldap/auth.php
@@ -37,7 +37,7 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin {
}
// Add the capabilities to change the password
- $this->cando['modPass'] = true;
+ $this->cando['modPass'] = $this->getConf('modPass');
}
/**
@@ -281,14 +281,14 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin {
// open the connection to the ldap
if(!$this->_openLDAP()){
- msg('LDAP cannot connect: '. htmlspecialchars(ldap_error($this->con)));
+ $this->_debug('LDAP cannot connect: '. htmlspecialchars(ldap_error($this->con)), 0, __LINE__, __FILE__);
return false;
}
// find the information about the user, in particular the "dn"
$info = $this->getUserData($user,true);
if(empty($info['dn'])) {
- msg('LDAP cannot find your user dn');
+ $this->_debug('LDAP cannot find your user dn', 0, __LINE__, __FILE__);
return false;
}
$dn = $info['dn'];
@@ -301,7 +301,7 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin {
// bind with the ldap
if(!@ldap_bind($this->con, $dn, $pass)){
- msg('LDAP user bind failed: '. htmlspecialchars($dn) .': '.htmlspecialchars(ldap_error($this->con)), 0, __LINE__, __FILE__);
+ $this->_debug('LDAP user bind failed: '. htmlspecialchars($dn) .': '.htmlspecialchars(ldap_error($this->con)), 0, __LINE__, __FILE__);
return false;
}
} elseif ($this->getConf('binddn') && $this->getConf('bindpw')) {
@@ -322,7 +322,7 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin {
// change the password
if(!@ldap_mod_replace($this->con, $dn,array('userpassword' => $hash))){
- msg('LDAP mod replace failed: '. htmlspecialchars($dn) .': '.htmlspecialchars(ldap_error($this->con)));
+ $this->_debug('LDAP mod replace failed: '. htmlspecialchars($dn) .': '.htmlspecialchars(ldap_error($this->con)), 0, __LINE__, __FILE__);
return false;
}
@@ -360,8 +360,9 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin {
$sr = ldap_search($this->con, $this->getConf('usertree'), $all_filter);
$entries = ldap_get_entries($this->con, $sr);
$users_array = array();
+ $userkey = $this->getConf('userkey');
for($i = 0; $i < $entries["count"]; $i++) {
- array_push($users_array, $entries[$i]["uid"][0]);
+ array_push($users_array, $entries[$i][$userkey][0]);
}
asort($users_array);
$result = $users_array;
diff --git a/lib/plugins/authldap/conf/default.php b/lib/plugins/authldap/conf/default.php
index c2e462c5c..116cb9d3f 100644
--- a/lib/plugins/authldap/conf/default.php
+++ b/lib/plugins/authldap/conf/default.php
@@ -16,5 +16,7 @@ $conf['bindpw'] = '';
//$conf['mapping']['grps'] unsupported in config manager
$conf['userscope'] = 'sub';
$conf['groupscope'] = 'sub';
+$conf['userkey'] = 'uid';
$conf['groupkey'] = 'cn';
-$conf['debug'] = 0; \ No newline at end of file
+$conf['debug'] = 0;
+$conf['modPass'] = 1;
diff --git a/lib/plugins/authldap/conf/metadata.php b/lib/plugins/authldap/conf/metadata.php
index 4649ba5bf..a67b11ca6 100644
--- a/lib/plugins/authldap/conf/metadata.php
+++ b/lib/plugins/authldap/conf/metadata.php
@@ -15,5 +15,7 @@ $meta['bindpw'] = array('password','_caution' => 'danger');
//$meta['mapping']['grps'] unsupported in config manager
$meta['userscope'] = array('multichoice','_choices' => array('sub','one','base'),'_caution' => 'danger');
$meta['groupscope'] = array('multichoice','_choices' => array('sub','one','base'),'_caution' => 'danger');
+$meta['userkey'] = array('string','_caution' => 'danger');
$meta['groupkey'] = array('string','_caution' => 'danger');
-$meta['debug'] = array('onoff','_caution' => 'security'); \ No newline at end of file
+$meta['debug'] = array('onoff','_caution' => 'security');
+$meta['modPass'] = array('onoff');
diff --git a/lib/plugins/authldap/lang/cs/settings.php b/lib/plugins/authldap/lang/cs/settings.php
index a5aad5981..08c5c6a16 100644
--- a/lib/plugins/authldap/lang/cs/settings.php
+++ b/lib/plugins/authldap/lang/cs/settings.php
@@ -21,8 +21,12 @@ $lang['bindpw'] = 'Heslo uživatele výše';
$lang['userscope'] = 'Omezení rozsahu vyhledávání uživatele';
$lang['groupscope'] = 'Omezení rozsahu vyhledávání skupiny';
$lang['groupkey'] = 'Atribut šlenství uživatele ve skupinách (namísto standardních AD skupin), tj. skupina z oddělení nebo telefonní číslo';
+$lang['modPass'] = 'Může být LDAP heslo změněno přes dokuwiki?';
$lang['debug'] = 'Zobrazit dodatečné debugovací informace';
$lang['deref_o_0'] = 'LDAP_DEREF_NEVER';
$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING';
$lang['deref_o_2'] = 'LDAP_DEREF_FINDING';
$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS';
+$lang['referrals_o_-1'] = 'použít výchozí';
+$lang['referrals_o_0'] = 'nenásledovat odkazy';
+$lang['referrals_o_1'] = 'následovat odkazy';
diff --git a/lib/plugins/authldap/lang/da/settings.php b/lib/plugins/authldap/lang/da/settings.php
index b736504a5..a9fce3a8c 100644
--- a/lib/plugins/authldap/lang/da/settings.php
+++ b/lib/plugins/authldap/lang/da/settings.php
@@ -5,11 +5,16 @@
*
* @author Jens Hyllegaard <jens.hyllegaard@gmail.com>
* @author soer9648 <soer9648@eucl.dk>
+ * @author Jacob Palm <mail@jacobpalm.dk>
*/
$lang['server'] = 'Din LDAP server. Enten værtsnavn (<code>localhost</code>) eller fuld kvalificeret URL (<code>ldap://server.tld:389</code>)';
$lang['port'] = 'LDAP server port, hvis der ikke er angivet en komplet URL ovenfor.';
$lang['usertree'] = 'Hvor findes brugerkonti. F.eks. <code>ou=Personer, dc=server, dc=tld</code>';
$lang['grouptree'] = 'Hvor findes brugergrupper. F.eks. <code>ou=Grupper, dc=server, dc=tld</code>';
+$lang['userfilter'] = 'LDAP filter der benyttes til at søge efter brugerkonti. F.eks. <code>(&amp;(uid=%{user})(objectClass=posixAccount))</code>';
+$lang['groupfilter'] = 'LDAP filter tder benyttes til at søge efter grupper. F.eks. <code>(&amp;(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>';
+$lang['version'] = 'Protokol version der skal benyttes. Det er muligvis nødvendigt at sætte denne til <code>3</code>';
$lang['starttls'] = 'Benyt TLS forbindelser?';
$lang['bindpw'] = 'Kodeord til ovenstående bruger';
+$lang['modPass'] = 'Kan LDAP adgangskoden skiftes via DokuWiki?';
$lang['debug'] = 'Vis yderligere debug output ved fejl';
diff --git a/lib/plugins/authldap/lang/de/settings.php b/lib/plugins/authldap/lang/de/settings.php
index d788da876..933189c40 100644
--- a/lib/plugins/authldap/lang/de/settings.php
+++ b/lib/plugins/authldap/lang/de/settings.php
@@ -20,7 +20,9 @@ $lang['binddn'] = 'DN eines optionalen Benutzers, wenn der anonym
$lang['bindpw'] = 'Passwort des angegebenen Benutzers.';
$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.';
$lang['groupkey'] = 'Gruppieren der Benutzeraccounts anhand eines beliebigen Benutzerattributes z. B. Telefonnummer oder Abteilung, anstelle der Standard-Gruppen).';
+$lang['modPass'] = 'Darf über Dokuwiki das LDAP-Passwort geändert werden?';
$lang['debug'] = 'Debug-Informationen beim Auftreten von Fehlern anzeigen?';
$lang['deref_o_0'] = 'LDAP_DEREF_NEVER';
$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING';
diff --git a/lib/plugins/authldap/lang/en/lang.php b/lib/plugins/authldap/lang/en/lang.php
new file mode 100644
index 000000000..8185a84fa
--- /dev/null
+++ b/lib/plugins/authldap/lang/en/lang.php
@@ -0,0 +1,11 @@
+<?php
+/**
+ * English language file for authldap plugin
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+
+$lang['connectfail'] = 'LDAP cannot connect: %s';
+$lang['domainfail'] = 'LDAP cannot find your user dn';
+
+//Setup VIM: ex: et ts=4 :
diff --git a/lib/plugins/authldap/lang/en/settings.php b/lib/plugins/authldap/lang/en/settings.php
index 951901ccc..a4194b00a 100644
--- a/lib/plugins/authldap/lang/en/settings.php
+++ b/lib/plugins/authldap/lang/en/settings.php
@@ -13,7 +13,9 @@ $lang['binddn'] = 'DN of an optional bind user if anonymous bind is not suf
$lang['bindpw'] = 'Password of above user';
$lang['userscope'] = 'Limit search scope for user search';
$lang['groupscope'] = 'Limit search scope for group search';
+$lang['userkey'] = 'Attribute denoting the username; must be consistent to userfilter.';
$lang['groupkey'] = 'Group membership from any user attribute (instead of standard AD groups) e.g. group from department or telephone number';
+$lang['modPass'] = 'Can the LDAP password be changed via dokuwiki?';
$lang['debug'] = 'Display additional debug information on errors';
diff --git a/lib/plugins/authldap/lang/es/settings.php b/lib/plugins/authldap/lang/es/settings.php
index 6991546d3..8e1d0b4e1 100644
--- a/lib/plugins/authldap/lang/es/settings.php
+++ b/lib/plugins/authldap/lang/es/settings.php
@@ -5,6 +5,7 @@
*
* @author Antonio Bueno <atnbueno@gmail.com>
* @author Eloy <ej.perezgomez@gmail.com>
+ * @author Alejandro Nunez <nunez.alejandro@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.';
@@ -20,8 +21,12 @@ $lang['bindpw'] = 'Contraseña del usuario de arriba.';
$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['groupkey'] = 'Pertenencia al grupo desde cualquier atributo de usuario (en lugar de grupos AD estándar) p.e., grupo a partir departamento o número de teléfono';
+$lang['modPass'] = 'Puede ser cambiara via dokuwiki la password LDAP?';
$lang['debug'] = 'Mostrar información adicional para depuración de errores';
$lang['deref_o_0'] = 'LDAP_DEREF_NEVER';
$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING';
$lang['deref_o_2'] = 'LDAP_DEREF_FINDING';
$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS';
+$lang['referrals_o_-1'] = 'usar default';
+$lang['referrals_o_0'] = 'no seguir referencias';
+$lang['referrals_o_1'] = 'seguir referencias';
diff --git a/lib/plugins/authldap/lang/fr/settings.php b/lib/plugins/authldap/lang/fr/settings.php
index aa75105cf..619aee3d3 100644
--- a/lib/plugins/authldap/lang/fr/settings.php
+++ b/lib/plugins/authldap/lang/fr/settings.php
@@ -21,7 +21,9 @@ $lang['binddn'] = 'Nom de domaine d\'un utilisateur de connexion
$lang['bindpw'] = 'Mot de passe de l\'utilisateur ci-dessus.';
$lang['userscope'] = 'Limiter la portée de recherche d\'utilisateurs';
$lang['groupscope'] = 'Limiter la portée de recherche de groupes';
+$lang['userkey'] = 'Attribut indiquant le nom d\'utilisateur. Doit être en accord avec le filtre d\'utilisateur.';
$lang['groupkey'] = 'Affiliation aux groupes à partir de n\'importe quel attribut utilisateur (au lieu des groupes AD standards), p. ex. groupes par département ou numéro de téléphone';
+$lang['modPass'] = 'Peut-on changer le mot de passe LDAP depuis DokiWiki ?';
$lang['debug'] = 'Afficher des informations de bégogage supplémentaires pour les erreurs';
$lang['deref_o_0'] = 'LDAP_DEREF_NEVER';
$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING';
diff --git a/lib/plugins/authldap/lang/ko/settings.php b/lib/plugins/authldap/lang/ko/settings.php
index e663ba063..d3e93ff51 100644
--- a/lib/plugins/authldap/lang/ko/settings.php
+++ b/lib/plugins/authldap/lang/ko/settings.php
@@ -19,9 +19,14 @@ $lang['binddn'] = '익명 바인드가 충분하지 않으면 선
$lang['bindpw'] = '위 사용자의 비밀번호';
$lang['userscope'] = '사용자 검색에 대한 검색 범위 제한';
$lang['groupscope'] = '그룹 검색에 대한 검색 범위 제한';
+$lang['userkey'] = '사용자 이름을 나타내는 특성; 사용자 필터에 일관성이 있어야 합니다.';
$lang['groupkey'] = '(표준 AD 그룹 대신) 사용자 속성에서 그룹 구성원. 예를 들어 부서나 전화에서 그룹';
+$lang['modPass'] = 'LDAP 비밀번호를 도쿠위키를 통해 바꿀 수 있습니까?';
$lang['debug'] = '오류에 대한 추가적인 디버그 정보를 보이기';
$lang['deref_o_0'] = 'LDAP_DEREF_NEVER';
$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING';
$lang['deref_o_2'] = 'LDAP_DEREF_FINDING';
$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS';
+$lang['referrals_o_-1'] = '기본값 사용';
+$lang['referrals_o_0'] = '참조 (referral)를 따르지 않음';
+$lang['referrals_o_1'] = '참조 (referral)를 따름';
diff --git a/lib/plugins/authldap/lang/nl/settings.php b/lib/plugins/authldap/lang/nl/settings.php
index 193d1a386..41fcce2cd 100644
--- a/lib/plugins/authldap/lang/nl/settings.php
+++ b/lib/plugins/authldap/lang/nl/settings.php
@@ -5,6 +5,7 @@
*
* @author Gerrit Uitslag <klapinklapin@gmail.com>
* @author Remon <no@email.local>
+ * @author Johan Wijnker <johan@wijnker.eu>
*/
$lang['server'] = 'Je LDAP server. Of de servernaam (<code>localhost</code>) of de volledige URL (<code>ldap://server.tld:389</code>)';
$lang['port'] = 'LDAP server poort als bij de entry hierboven geen volledige URL is opgegeven';
@@ -20,9 +21,14 @@ $lang['binddn'] = 'DN van een optionele bind gebruiker als anonie
$lang['bindpw'] = 'Wachtwoord van bovenstaande gebruiker';
$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.';
$lang['groupkey'] = 'Groepslidmaatschap van enig gebruikersattribuut (in plaats van standaard AD groepen), bijv. groep van afdeling of telefoonnummer';
+$lang['modPass'] = 'Kan het LDAP wachtwoord worden gewijzigd met DokuWiki?';
$lang['debug'] = 'Tonen van aanvullende debuginformatie bij fouten';
$lang['deref_o_0'] = 'LDAP_DEREF_NEVER';
$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING';
$lang['deref_o_2'] = 'LDAP_DEREF_FINDING';
$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS';
+$lang['referrals_o_-1'] = 'gebruik standaard';
+$lang['referrals_o_0'] = 'volg verwijzing niet';
+$lang['referrals_o_1'] = 'volg verwijzing';
diff --git a/lib/plugins/authldap/lang/pt-br/settings.php b/lib/plugins/authldap/lang/pt-br/settings.php
index 6ad6b4862..f35ed8eb8 100644
--- a/lib/plugins/authldap/lang/pt-br/settings.php
+++ b/lib/plugins/authldap/lang/pt-br/settings.php
@@ -5,6 +5,7 @@
*
* @author Victor Westmann <victor.westmann@gmail.com>
* @author Frederico Guimarães <frederico@teia.bio.br>
+ * @author Hudson FAS <hudsonfas@gmail.com>
*/
$lang['server'] = 'Seu servidor LDAP. Ou hostname (<code>localhost</code>) ou uma URL completa (<code>ldap://server.tld:389</code>)';
$lang['port'] = 'Porta LDAP do servidor se nenhuma URL completa tiver sido fornecida acima';
@@ -20,9 +21,14 @@ $lang['binddn'] = 'DN de um vínculo opcional de usuário se vín
$lang['bindpw'] = 'Senha do usuário acima';
$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.';
$lang['groupkey'] = 'Membro de grupo vem de qualquer atributo do usuário (ao invés de grupos padrões AD) e.g. departamento de grupo ou número de telefone';
+$lang['modPass'] = 'A senha LDAP pode ser alterada pelo dokuwiki ?';
$lang['debug'] = 'Mostrar informações adicionais de depuração em erros';
$lang['deref_o_0'] = 'LDAP_DEREF_NEVER';
$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING';
$lang['deref_o_2'] = 'LDAP_DEREF_FINDING';
$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS';
+$lang['referrals_o_-1'] = 'use o padr&atilde;o';
+$lang['referrals_o_0'] = 'não seguem refer&ecirc;ncias';
+$lang['referrals_o_1'] = 'seguem refer&ecirc;ncias';
diff --git a/lib/plugins/authldap/lang/pt/settings.php b/lib/plugins/authldap/lang/pt/settings.php
index b54f2a1bc..d9d1b7f11 100644
--- a/lib/plugins/authldap/lang/pt/settings.php
+++ b/lib/plugins/authldap/lang/pt/settings.php
@@ -5,6 +5,7 @@
*
* @author André Neves <drakferion@gmail.com>
* @author Guido Salatino <guidorafael23@gmail.com>
+ * @author Romulo Pereira <romuloccomp@gmail.com>
*/
$lang['server'] = 'O seu servidor de LDAP. Ou hostname (<code>localhost</code>) ou URL qualificado completo (<code>ldap://servidor.tld:389</code>)';
$lang['port'] = 'Porta de servidor de LDAP se o URL completo não foi fornecido acima';
@@ -26,3 +27,6 @@ $lang['deref_o_0'] = 'LDAP_DEREF_NUNCA';
$lang['deref_o_1'] = 'LDAP_DEREF_PESQUISANDO';
$lang['deref_o_2'] = 'LDAP_DEREF_BUSCANDO';
$lang['deref_o_3'] = 'LDAP_DEREF_SEMPRE';
+$lang['referrals_o_-1'] = 'usar padrão';
+$lang['referrals_o_0'] = 'não seguir as referências';
+$lang['referrals_o_1'] = 'seguir as referências';
diff --git a/lib/plugins/authldap/lang/ru/settings.php b/lib/plugins/authldap/lang/ru/settings.php
index 1e5391644..067ec9de4 100644
--- a/lib/plugins/authldap/lang/ru/settings.php
+++ b/lib/plugins/authldap/lang/ru/settings.php
@@ -9,6 +9,7 @@
* @author Aleksandr Selivanov <alexgearbox@yandex.ru>
* @author Владимир <id37736@yandex.ru>
* @author Vitaly Filatenko <kot@hacktest.net>
+ * @author Alex P <alexander@lanos.co.uk>
*/
$lang['server'] = 'Ваш LDAP-сервер. Либо имя хоста (<code>localhost</code>), либо полный URL (<code>ldap://server.tld:389</code>)';
$lang['port'] = 'Порт LDAP-сервера, если выше не был указан полный URL';
@@ -18,12 +19,20 @@ $lang['userfilter'] = 'LDAP-фильтр для поиска акка
$lang['groupfilter'] = 'LDAP-фильтр для поиска групп. Например: <code>(&amp;(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>';
$lang['version'] = 'Версия протокола. Возможно, вам нужно указать <code>3</code>';
$lang['starttls'] = 'Использовать TLS-подключения?';
+$lang['referrals'] = 'Следовать за referrals ?';
$lang['deref'] = 'Как расшифровывать псевдонимы?';
+$lang['binddn'] = 'DN вторичного bind пользователя, если anonymous bind недостаточно. Например: <code>cn=admin, dc=my, dc=home</code>';
$lang['bindpw'] = 'Пароль для указанного пользователя';
$lang['userscope'] = 'Ограничить область поиска при поиске пользователей';
$lang['groupscope'] = 'Ограничить область поиска при поиске групп';
+$lang['userkey'] = 'Атрибут означающий имя пользователя; должен быть таким же как в userfilter';
+$lang['groupkey'] = 'Использовать любой атрибут пользователя для включения в группу (вместо стандартного AD groups) Например из атрибута department или telephone number';
+$lang['modPass'] = 'Может ли LDAP пароль быть поменян через dokuwiki?';
$lang['debug'] = 'Показывать дополнительную отладочную информацию при ошибках';
$lang['deref_o_0'] = 'LDAP_DEREF_NEVER';
$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING';
$lang['deref_o_2'] = 'LDAP_DEREF_FINDING';
$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS';
+$lang['referrals_o_-1'] = 'исользовать по умолчанию';
+$lang['referrals_o_0'] = 'не следовать за referrals';
+$lang['referrals_o_1'] = 'Следовать за referrals';
diff --git a/lib/plugins/authmysql/auth.php b/lib/plugins/authmysql/auth.php
index 0d423b6c9..1b7d0bfa4 100644
--- a/lib/plugins/authmysql/auth.php
+++ b/lib/plugins/authmysql/auth.php
@@ -222,6 +222,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
if($this->_openDB()) {
if(($info = $this->_getUserInfo($user)) !== false) {
+ msg($this->getLang('userexists'), -1);
return false; // user already exists
}
@@ -235,7 +236,13 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
$rc = $this->_addUser($user, $pwd, $name, $mail, $grps);
$this->_unlockTables();
$this->_closeDB();
- if($rc) return true;
+ if(!$rc) {
+ msg($this->getLang('writefail'));
+ return null;
+ }
+ return true;
+ } else {
+ msg($this->getLang('connectfail'), -1);
}
return null; // return error
}
@@ -279,7 +286,9 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
$rc = $this->_updateUserInfo($user, $changes);
- if($rc && isset($changes['grps']) && $this->cando['modGroups']) {
+ if(!$rc) {
+ msg($this->getLang('usernotexists'), -1);
+ } elseif(isset($changes['grps']) && $this->cando['modGroups']) {
$groups = $this->_getGroups($user);
$grpadd = array_diff($changes['grps'], $groups);
$grpdel = array_diff($groups, $changes['grps']);
@@ -295,10 +304,14 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
$rc = false;
}
}
+
+ if(!$rc) msg($this->getLang('writefail'));
}
$this->_unlockTables();
$this->_closeDB();
+ } else {
+ msg($this->getLang('connectfail'), -1);
}
return $rc;
}
@@ -328,6 +341,8 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
$this->_unlockTables();
}
$this->_closeDB();
+ } else {
+ msg($this->getLang('connectfail'), -1);
}
return $count;
}
diff --git a/lib/plugins/authmysql/lang/da/settings.php b/lib/plugins/authmysql/lang/da/settings.php
index ed21201fb..5fd66dbad 100644
--- a/lib/plugins/authmysql/lang/da/settings.php
+++ b/lib/plugins/authmysql/lang/da/settings.php
@@ -5,6 +5,7 @@
*
* @author Jens Hyllegaard <jens.hyllegaard@gmail.com>
* @author soer9648 <soer9648@eucl.dk>
+ * @author Jacob Palm <mail@jacobpalm.dk>
*/
$lang['server'] = 'Din MySQL server';
$lang['user'] = 'MySQL brugernavn';
@@ -12,8 +13,11 @@ $lang['password'] = 'Kodeord til ovenstående bruger';
$lang['database'] = 'Database der skal benyttes';
$lang['charset'] = 'Tegnsæt benyttet i database';
$lang['debug'] = 'Vis yderligere debug output';
+$lang['forwardClearPass'] = 'Videregiv bruger adgangskoder i klar tekst til nedenstående SQL statement, i stedet for at benytte passcrypt';
+$lang['TablesToLock'] = 'Kommasepareret liste over tabeller der skal låses under skrivning';
$lang['checkPass'] = 'SQL-sætning til at kontrollere kodeord';
$lang['getUserInfo'] = 'SQL-sætning til at hente brugerinformation';
+$lang['getGroups'] = 'SQL statement til at bestemme en brugers medlemskab af grupper';
$lang['getUsers'] = 'SQL-sætning til at liste alle brugere';
$lang['addUser'] = 'SQL-sætning til at tilføje en ny bruger';
$lang['addGroup'] = 'SQL-sætning til at tilføje en ny gruppe';
diff --git a/lib/plugins/authmysql/lang/en/lang.php b/lib/plugins/authmysql/lang/en/lang.php
new file mode 100644
index 000000000..8313616c6
--- /dev/null
+++ b/lib/plugins/authmysql/lang/en/lang.php
@@ -0,0 +1,13 @@
+<?php
+/**
+ * English language file for authmysql plugin
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+
+$lang['connectfail'] = 'Failed to connect to database.';
+$lang['userexists'] = 'Sorry, a user with this login already exists.';
+$lang['usernotexists'] = 'Sorry, that user doesn\'t exist.';
+$lang['writefail'] = 'Unable to modify user data. Please inform the Wiki-Admin';
+
+//Setup VIM: ex: et ts=4 :
diff --git a/lib/plugins/authmysql/lang/es/settings.php b/lib/plugins/authmysql/lang/es/settings.php
index b82620fc6..cda3c23f8 100644
--- a/lib/plugins/authmysql/lang/es/settings.php
+++ b/lib/plugins/authmysql/lang/es/settings.php
@@ -6,6 +6,7 @@
* @author Antonio Bueno <atnbueno@gmail.com>
* @author Eloy <ej.perezgomez@gmail.com>
* @author Antonio Castilla <antoniocastilla@trazoide.com>
+ * @author Alejandro Nunez <nunez.alejandro@gmail.com>
*/
$lang['server'] = 'Tu servidor MySQL';
$lang['user'] = 'Nombre de usuario MySQL';
@@ -32,6 +33,10 @@ $lang['getUserID'] = 'Sentencia SQL para obtener la clave primaria d
$lang['delUser'] = 'Sentencia SQL para eliminar un usuario';
$lang['delUserRefs'] = 'Sentencia SQL para eliminar un usuario de todos los grupos';
$lang['updateUser'] = 'Sentencia SQL para actualizar un perfil de usuario';
+$lang['UpdateLogin'] = 'Cláusula de actualización para actualizar el login del usuario';
+$lang['UpdatePass'] = 'Cláusula de actualización para actualizar la contraseña del usuario';
+$lang['UpdateEmail'] = 'Cláusula de actualización para actualizar la dirección de correo del usuario';
+$lang['UpdateName'] = 'Cláusula de actualización para actualizar el nomblre completo del usuario';
$lang['delUserGroup'] = 'Sentencia SQL para eliminar un usuario de un grupo dado';
$lang['getGroupID'] = 'Sentencia SQL para obtener la clave principal de un grupo dado';
$lang['debug_o_0'] = 'ninguno';
diff --git a/lib/plugins/authpgsql/lang/ru/settings.php b/lib/plugins/authpgsql/lang/ru/settings.php
index 2af299172..a74296ab8 100644
--- a/lib/plugins/authpgsql/lang/ru/settings.php
+++ b/lib/plugins/authpgsql/lang/ru/settings.php
@@ -8,6 +8,7 @@
* @author Aleksandr Selivanov <alexgearbox@yandex.ru>
* @author Vitaly Filatenko <kot@hacktest.net>
* @author Type-kun <workwork-1@yandex.ru>
+ * @author Alex P <alexander@lanos.co.uk>
*/
$lang['server'] = 'Ваш PostgreSQL-сервер';
$lang['port'] = 'Порт вашего PostgreSQL-сервера';
@@ -15,6 +16,7 @@ $lang['user'] = 'Имя пользователя PostgreSQL';
$lang['password'] = 'Пароль для указанного пользователя';
$lang['database'] = 'Имя базы данных';
$lang['debug'] = 'Отображать дополнительную отладочную информацию';
+$lang['forwardClearPass'] = 'Передать чистым текстом ползовательские пароли в SQL запросы ниже, вместо использование опции passcrypt';
$lang['checkPass'] = 'Выражение SQL, осуществляющее проверку пароля';
$lang['getUserInfo'] = 'Выражение SQL, осуществляющее извлечение информации о пользователе';
$lang['getGroups'] = 'Выражение SQL, осуществляющее извлечение информации о членстве пользователе в группах';
diff --git a/lib/plugins/authplain/_test/escaping.test.php b/lib/plugins/authplain/_test/escaping.test.php
index e1eade8d4..7139aa99b 100644
--- a/lib/plugins/authplain/_test/escaping.test.php
+++ b/lib/plugins/authplain/_test/escaping.test.php
@@ -9,7 +9,9 @@
* authplain won't get unexpectedly surprised.)
*
* @group plugin_authplain
+ * @group auth_plugins
* @group plugins
+ * @group bundled_plugins
*/
class helper_plugin_authplain_escaping_test extends DokuWikiTest {
diff --git a/lib/plugins/authplain/auth.php b/lib/plugins/authplain/auth.php
index b31c02fc8..bd46c61a7 100644
--- a/lib/plugins/authplain/auth.php
+++ b/lib/plugins/authplain/auth.php
@@ -134,7 +134,10 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
global $config_cascade;
// user mustn't already exist
- if($this->getUserData($user) !== false) return false;
+ if($this->getUserData($user) !== false) {
+ msg($this->getLang('userexists'), -1);
+ return false;
+ }
$pass = auth_cryptPassword($pwd);
@@ -144,16 +147,13 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
// prepare user line
$userline = $this->_createUserLine($user, $pass, $name, $mail, $grps);
- if(io_saveFile($config_cascade['plainauth.users']['default'], $userline, true)) {
- $this->users[$user] = compact('pass', 'name', 'mail', 'grps');
- return $pwd;
+ if(!io_saveFile($config_cascade['plainauth.users']['default'], $userline, true)) {
+ msg($this->getLang('writefail'), -1);
+ return null;
}
- msg(
- 'The '.$config_cascade['plainauth.users']['default'].
- ' file is not writable. Please inform the Wiki-Admin', -1
- );
- return null;
+ $this->users[$user] = compact('pass', 'name', 'mail', 'grps');
+ return $pwd;
}
/**
@@ -169,7 +169,10 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
global $config_cascade;
// sanity checks, user must already exist and there must be something to change
- if(($userinfo = $this->getUserData($user)) === false) return false;
+ if(($userinfo = $this->getUserData($user)) === false) {
+ msg($this->getLang('usernotexists'), -1);
+ return false;
+ }
if(!is_array($changes) || !count($changes)) return true;
// update userinfo with new data, remembering to encrypt any password
@@ -186,13 +189,14 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
$userline = $this->_createUserLine($newuser, $userinfo['pass'], $userinfo['name'], $userinfo['mail'], $userinfo['grps']);
if(!$this->deleteUsers(array($user))) {
- msg('Unable to modify user data. Please inform the Wiki-Admin', -1);
+ msg($this->getLang('writefail'), -1);
return false;
}
if(!io_saveFile($config_cascade['plainauth.users']['default'], $userline, true)) {
msg('There was an error modifying your user data. You should register again.', -1);
// FIXME, user has been deleted but not recreated, should force a logout and redirect to login page
+ // Should replace the delete/save hybrid modify with an atomic io_replaceInFile
$ACT = 'register';
return false;
}
@@ -223,7 +227,10 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
if(empty($deleted)) return 0;
$pattern = '/^('.join('|', $deleted).'):/';
- io_deleteFromFile($config_cascade['plainauth.users']['default'], $pattern, true);
+ if (!io_deleteFromFile($config_cascade['plainauth.users']['default'], $pattern, true)) {
+ msg($this->getLang('writefail'), -1);
+ return 0;
+ }
// reload the user list and count the difference
$count = count($this->users);
@@ -407,4 +414,4 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
$this->_pattern[$item] = '/'.str_replace('/', '\/', $pattern).'/i'; // allow regex characters
}
}
-} \ No newline at end of file
+}
diff --git a/lib/plugins/authplain/lang/af/lang.php b/lib/plugins/authplain/lang/af/lang.php
new file mode 100644
index 000000000..29742cfd2
--- /dev/null
+++ b/lib/plugins/authplain/lang/af/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Die gebruikersnaam wat jy gebruik het, is alreeds gebruik. Kies asseblief \'n ander gebruikersnaam.';
diff --git a/lib/plugins/authplain/lang/ar/lang.php b/lib/plugins/authplain/lang/ar/lang.php
new file mode 100644
index 000000000..16d59f397
--- /dev/null
+++ b/lib/plugins/authplain/lang/ar/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'عذرا، يوجد مشترك بنفس الاسم.';
diff --git a/lib/plugins/authplain/lang/az/lang.php b/lib/plugins/authplain/lang/az/lang.php
new file mode 100644
index 000000000..f98eccde1
--- /dev/null
+++ b/lib/plugins/authplain/lang/az/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Təssüf ki bu ad ilə istifadəçi artıq mövcuddur.';
diff --git a/lib/plugins/authplain/lang/bg/lang.php b/lib/plugins/authplain/lang/bg/lang.php
new file mode 100644
index 000000000..5b8e6bc37
--- /dev/null
+++ b/lib/plugins/authplain/lang/bg/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Вече съществува потребител с избраното име.';
diff --git a/lib/plugins/authplain/lang/bn/lang.php b/lib/plugins/authplain/lang/bn/lang.php
new file mode 100644
index 000000000..43fe4ca6e
--- /dev/null
+++ b/lib/plugins/authplain/lang/bn/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'দুঃখিত, এই লগইন সঙ্গে একটি ব্যবহারকারী ইতিমধ্যেই বিদ্যমান.';
diff --git a/lib/plugins/authplain/lang/ca-valencia/lang.php b/lib/plugins/authplain/lang/ca-valencia/lang.php
new file mode 100644
index 000000000..3e973beae
--- /dev/null
+++ b/lib/plugins/authplain/lang/ca-valencia/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Disculpe, pero ya existix un usuari en este nom.';
diff --git a/lib/plugins/authplain/lang/ca/lang.php b/lib/plugins/authplain/lang/ca/lang.php
new file mode 100644
index 000000000..5a675639d
--- /dev/null
+++ b/lib/plugins/authplain/lang/ca/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Ja existeix un altre usuari amb aquest nom.';
diff --git a/lib/plugins/authplain/lang/cs/lang.php b/lib/plugins/authplain/lang/cs/lang.php
new file mode 100644
index 000000000..8128d45a3
--- /dev/null
+++ b/lib/plugins/authplain/lang/cs/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Uživatel se stejným jménem už je zaregistrován.';
diff --git a/lib/plugins/authplain/lang/da/lang.php b/lib/plugins/authplain/lang/da/lang.php
new file mode 100644
index 000000000..c7dd376c1
--- /dev/null
+++ b/lib/plugins/authplain/lang/da/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Dette brugernavn er allerede i brug.';
diff --git a/lib/plugins/authplain/lang/de-informal/lang.php b/lib/plugins/authplain/lang/de-informal/lang.php
new file mode 100644
index 000000000..f1d484947
--- /dev/null
+++ b/lib/plugins/authplain/lang/de-informal/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Der Benutzername existiert leider schon.';
diff --git a/lib/plugins/authplain/lang/de/lang.php b/lib/plugins/authplain/lang/de/lang.php
new file mode 100644
index 000000000..f1d484947
--- /dev/null
+++ b/lib/plugins/authplain/lang/de/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Der Benutzername existiert leider schon.';
diff --git a/lib/plugins/authplain/lang/el/lang.php b/lib/plugins/authplain/lang/el/lang.php
new file mode 100644
index 000000000..7f7e4e76d
--- /dev/null
+++ b/lib/plugins/authplain/lang/el/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Αυτός ο λογαριασμός υπάρχει ήδη.';
diff --git a/lib/plugins/authplain/lang/en/lang.php b/lib/plugins/authplain/lang/en/lang.php
new file mode 100644
index 000000000..6f8abfdb6
--- /dev/null
+++ b/lib/plugins/authplain/lang/en/lang.php
@@ -0,0 +1,8 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Sorry, a user with this login already exists.';
+$lang['usernotexists'] = 'Sorry, that user doesn\'t exist.';
+$lang['writefail'] = 'Unable to modify user data. Please inform the Wiki-Admin';
diff --git a/lib/plugins/authplain/lang/eo/lang.php b/lib/plugins/authplain/lang/eo/lang.php
new file mode 100644
index 000000000..ab7655e81
--- /dev/null
+++ b/lib/plugins/authplain/lang/eo/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Pardonu, ĉi tiu uzanto-nomo jam ekzistas.';
diff --git a/lib/plugins/authplain/lang/es/lang.php b/lib/plugins/authplain/lang/es/lang.php
new file mode 100644
index 000000000..8f03e79cb
--- /dev/null
+++ b/lib/plugins/authplain/lang/es/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Lo siento, ya existe un usuario con este nombre.';
diff --git a/lib/plugins/authplain/lang/et/lang.php b/lib/plugins/authplain/lang/et/lang.php
new file mode 100644
index 000000000..7f9f7771b
--- /dev/null
+++ b/lib/plugins/authplain/lang/et/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Tegelikult on sellise nimega kasutaja juba olemas.';
diff --git a/lib/plugins/authplain/lang/eu/lang.php b/lib/plugins/authplain/lang/eu/lang.php
new file mode 100644
index 000000000..09ca4d3b7
--- /dev/null
+++ b/lib/plugins/authplain/lang/eu/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Barkatu, izen bereko erabiltzailea existitzen da.';
diff --git a/lib/plugins/authplain/lang/fa/lang.php b/lib/plugins/authplain/lang/fa/lang.php
new file mode 100644
index 000000000..49083ad60
--- /dev/null
+++ b/lib/plugins/authplain/lang/fa/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'نام کاربری‌ای که وارد کردید قبلن استفاده شده است. خواهشمندیم یک نام دیگر انتخاب کنید.';
diff --git a/lib/plugins/authplain/lang/fi/lang.php b/lib/plugins/authplain/lang/fi/lang.php
new file mode 100644
index 000000000..3a77f3e3a
--- /dev/null
+++ b/lib/plugins/authplain/lang/fi/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @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/fo/lang.php b/lib/plugins/authplain/lang/fo/lang.php
new file mode 100644
index 000000000..a9654664b
--- /dev/null
+++ b/lib/plugins/authplain/lang/fo/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Hetta brúkaranavn er upptiki.';
diff --git a/lib/plugins/authplain/lang/fr/lang.php b/lib/plugins/authplain/lang/fr/lang.php
new file mode 100644
index 000000000..9316836e4
--- /dev/null
+++ b/lib/plugins/authplain/lang/fr/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Désolé, ce nom d\'utilisateur est déjà pris.';
diff --git a/lib/plugins/authplain/lang/gl/lang.php b/lib/plugins/authplain/lang/gl/lang.php
new file mode 100644
index 000000000..35138d378
--- /dev/null
+++ b/lib/plugins/authplain/lang/gl/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Sentímolo, mais xa existe un usuario con ese nome.';
diff --git a/lib/plugins/authplain/lang/he/lang.php b/lib/plugins/authplain/lang/he/lang.php
new file mode 100644
index 000000000..01d877b62
--- /dev/null
+++ b/lib/plugins/authplain/lang/he/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'משתמש בשם זה כבר נרשם, עמך הסליחה.';
diff --git a/lib/plugins/authplain/lang/hr/lang.php b/lib/plugins/authplain/lang/hr/lang.php
new file mode 100644
index 000000000..ffcbf5f61
--- /dev/null
+++ b/lib/plugins/authplain/lang/hr/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Korisnik s tim korisničkim imenom već postoji.';
diff --git a/lib/plugins/authplain/lang/hu/lang.php b/lib/plugins/authplain/lang/hu/lang.php
new file mode 100644
index 000000000..6de5db772
--- /dev/null
+++ b/lib/plugins/authplain/lang/hu/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Sajnáljuk, ilyen azonosítójú felhasználónk már van.';
diff --git a/lib/plugins/authplain/lang/ia/lang.php b/lib/plugins/authplain/lang/ia/lang.php
new file mode 100644
index 000000000..7596f3f4c
--- /dev/null
+++ b/lib/plugins/authplain/lang/ia/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Regrettabilemente, un usator con iste nomine ja existe.';
diff --git a/lib/plugins/authplain/lang/id-ni/lang.php b/lib/plugins/authplain/lang/id-ni/lang.php
new file mode 100644
index 000000000..729c9f9dc
--- /dev/null
+++ b/lib/plugins/authplain/lang/id-ni/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Bologö dödöu, no so zangoguna\'ö töi da\'a.';
diff --git a/lib/plugins/authplain/lang/id/lang.php b/lib/plugins/authplain/lang/id/lang.php
new file mode 100644
index 000000000..5e6a99830
--- /dev/null
+++ b/lib/plugins/authplain/lang/id/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Maaf, user dengan user login ini telah ada.';
diff --git a/lib/plugins/authplain/lang/is/lang.php b/lib/plugins/authplain/lang/is/lang.php
new file mode 100644
index 000000000..21392ee5e
--- /dev/null
+++ b/lib/plugins/authplain/lang/is/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Afsakið, notandi með þessu nafni er þegar skráður inn.';
diff --git a/lib/plugins/authplain/lang/it/lang.php b/lib/plugins/authplain/lang/it/lang.php
new file mode 100644
index 000000000..716041ffb
--- /dev/null
+++ b/lib/plugins/authplain/lang/it/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Il nome utente inserito esiste già.';
diff --git a/lib/plugins/authplain/lang/ja/lang.php b/lib/plugins/authplain/lang/ja/lang.php
new file mode 100644
index 000000000..aad08a8bd
--- /dev/null
+++ b/lib/plugins/authplain/lang/ja/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'このユーザー名は既に存在しています。';
diff --git a/lib/plugins/authplain/lang/ka/lang.php b/lib/plugins/authplain/lang/ka/lang.php
new file mode 100644
index 000000000..8983791c9
--- /dev/null
+++ b/lib/plugins/authplain/lang/ka/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'მსგავსი ლოგინი უკვე არსებობს';
diff --git a/lib/plugins/authplain/lang/kk/lang.php b/lib/plugins/authplain/lang/kk/lang.php
new file mode 100644
index 000000000..95fe53204
--- /dev/null
+++ b/lib/plugins/authplain/lang/kk/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Кешіріңіз, бұл түпнұскамен де пайдаланушы бар.';
diff --git a/lib/plugins/authplain/lang/km/lang.php b/lib/plugins/authplain/lang/km/lang.php
new file mode 100644
index 000000000..322e454e5
--- /dev/null
+++ b/lib/plugins/authplain/lang/km/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'សុំអាទោស​ នាមប្រើនេះមានរួចហើ។';
diff --git a/lib/plugins/authplain/lang/ko/lang.php b/lib/plugins/authplain/lang/ko/lang.php
new file mode 100644
index 000000000..de5a7c02f
--- /dev/null
+++ b/lib/plugins/authplain/lang/ko/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = '죄송하지만 같은 이름을 사용하는 사용자가 있습니다.';
diff --git a/lib/plugins/authplain/lang/ku/lang.php b/lib/plugins/authplain/lang/ku/lang.php
new file mode 100644
index 000000000..64cb834f3
--- /dev/null
+++ b/lib/plugins/authplain/lang/ku/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Sorry, a user with this login already exists.';
diff --git a/lib/plugins/authplain/lang/la/lang.php b/lib/plugins/authplain/lang/la/lang.php
new file mode 100644
index 000000000..5f2eecfd8
--- /dev/null
+++ b/lib/plugins/authplain/lang/la/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Nomen Sodalis ab aliquo iam elegitur.';
diff --git a/lib/plugins/authplain/lang/lb/lang.php b/lib/plugins/authplain/lang/lb/lang.php
new file mode 100644
index 000000000..4c760dfe4
--- /dev/null
+++ b/lib/plugins/authplain/lang/lb/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Et get schonn e Benotzer mat deem Numm.';
diff --git a/lib/plugins/authplain/lang/lt/lang.php b/lib/plugins/authplain/lang/lt/lang.php
new file mode 100644
index 000000000..5ad435a04
--- /dev/null
+++ b/lib/plugins/authplain/lang/lt/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Vartotojas su pasirinktu prisijungimo vardu jau egzistuoja.';
diff --git a/lib/plugins/authplain/lang/lv/lang.php b/lib/plugins/authplain/lang/lv/lang.php
new file mode 100644
index 000000000..3a9d4d3e5
--- /dev/null
+++ b/lib/plugins/authplain/lang/lv/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Atvaino, tāds lietotājs jau ir.';
diff --git a/lib/plugins/authplain/lang/mg/lang.php b/lib/plugins/authplain/lang/mg/lang.php
new file mode 100644
index 000000000..8472161b7
--- /dev/null
+++ b/lib/plugins/authplain/lang/mg/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Indrisy fa efa nisy namandrika io anarana io.';
diff --git a/lib/plugins/authplain/lang/mk/lang.php b/lib/plugins/authplain/lang/mk/lang.php
new file mode 100644
index 000000000..8ebb9fab8
--- /dev/null
+++ b/lib/plugins/authplain/lang/mk/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Жалам, корисник со ова корисничко име веќе постои.';
diff --git a/lib/plugins/authplain/lang/mr/lang.php b/lib/plugins/authplain/lang/mr/lang.php
new file mode 100644
index 000000000..15dcf18a0
--- /dev/null
+++ b/lib/plugins/authplain/lang/mr/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'या नावाने सदस्याची नोंदणी झालेली आहे, कृपया दुसरे सदस्य नाव निवडा.';
diff --git a/lib/plugins/authplain/lang/ms/lang.php b/lib/plugins/authplain/lang/ms/lang.php
new file mode 100644
index 000000000..14c3b11af
--- /dev/null
+++ b/lib/plugins/authplain/lang/ms/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Maaf, nama pengguna yang dimasukkan telah diguna. Sila pilih nama yang lain.';
diff --git a/lib/plugins/authplain/lang/ne/lang.php b/lib/plugins/authplain/lang/ne/lang.php
new file mode 100644
index 000000000..942757855
--- /dev/null
+++ b/lib/plugins/authplain/lang/ne/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'यो नामको प्रयोगकर्ता पहिले देखि रहेको छ।';
diff --git a/lib/plugins/authplain/lang/nl/lang.php b/lib/plugins/authplain/lang/nl/lang.php
new file mode 100644
index 000000000..1a5397234
--- /dev/null
+++ b/lib/plugins/authplain/lang/nl/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Er bestaat al een gebruiker met deze loginnaam.';
diff --git a/lib/plugins/authplain/lang/no/lang.php b/lib/plugins/authplain/lang/no/lang.php
new file mode 100644
index 000000000..981881369
--- /dev/null
+++ b/lib/plugins/authplain/lang/no/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Det finnes allerede en konto med dette brukernavnet.';
diff --git a/lib/plugins/authplain/lang/pl/lang.php b/lib/plugins/authplain/lang/pl/lang.php
new file mode 100644
index 000000000..9a61b0047
--- /dev/null
+++ b/lib/plugins/authplain/lang/pl/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Użytkownik o tej nazwie już istnieje.';
diff --git a/lib/plugins/authplain/lang/pt-br/lang.php b/lib/plugins/authplain/lang/pt-br/lang.php
new file mode 100644
index 000000000..3a9b67218
--- /dev/null
+++ b/lib/plugins/authplain/lang/pt-br/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Desculpe, mas já existe um usuário com esse nome.';
diff --git a/lib/plugins/authplain/lang/pt/lang.php b/lib/plugins/authplain/lang/pt/lang.php
new file mode 100644
index 000000000..c49649d4e
--- /dev/null
+++ b/lib/plugins/authplain/lang/pt/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Este utilizador já está inscrito. Por favor escolha outro nome de utilizador.';
diff --git a/lib/plugins/authplain/lang/ro/lang.php b/lib/plugins/authplain/lang/ro/lang.php
new file mode 100644
index 000000000..eb243a12f
--- /dev/null
+++ b/lib/plugins/authplain/lang/ro/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Ne pare rău, un utilizator cu acest nume este deja autentificat.';
diff --git a/lib/plugins/authplain/lang/ru/lang.php b/lib/plugins/authplain/lang/ru/lang.php
new file mode 100644
index 000000000..8a40852d6
--- /dev/null
+++ b/lib/plugins/authplain/lang/ru/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Извините, пользователь с таким логином уже существует.';
diff --git a/lib/plugins/authplain/lang/sk/lang.php b/lib/plugins/authplain/lang/sk/lang.php
new file mode 100644
index 000000000..5153fc1c9
--- /dev/null
+++ b/lib/plugins/authplain/lang/sk/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Užívateľ s rovnakým menom je už zaregistrovaný.';
diff --git a/lib/plugins/authplain/lang/sl/lang.php b/lib/plugins/authplain/lang/sl/lang.php
new file mode 100644
index 000000000..d4ee30fda
--- /dev/null
+++ b/lib/plugins/authplain/lang/sl/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Uporabnik s tem imenom že obstaja.';
diff --git a/lib/plugins/authplain/lang/sq/lang.php b/lib/plugins/authplain/lang/sq/lang.php
new file mode 100644
index 000000000..e3a93502f
--- /dev/null
+++ b/lib/plugins/authplain/lang/sq/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Na vjen keq, ekziston një përdorues tjetër me të njëjtin emër.';
diff --git a/lib/plugins/authplain/lang/sr/lang.php b/lib/plugins/authplain/lang/sr/lang.php
new file mode 100644
index 000000000..2d85ca42a
--- /dev/null
+++ b/lib/plugins/authplain/lang/sr/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Извините, корисник са истим именом већ постоји.';
diff --git a/lib/plugins/authplain/lang/sv/lang.php b/lib/plugins/authplain/lang/sv/lang.php
new file mode 100644
index 000000000..fb80df956
--- /dev/null
+++ b/lib/plugins/authplain/lang/sv/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Det finns redan en användare med det användarnamnet.';
diff --git a/lib/plugins/authplain/lang/th/lang.php b/lib/plugins/authplain/lang/th/lang.php
new file mode 100644
index 000000000..c7aaf68dd
--- /dev/null
+++ b/lib/plugins/authplain/lang/th/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'ชื่อบัญชีที่ใส่นั้นมีผู้อื่นได้ใช้แล้ว กรุณาเลือกชื่อผู้ใช้อื่น';
diff --git a/lib/plugins/authplain/lang/tr/lang.php b/lib/plugins/authplain/lang/tr/lang.php
new file mode 100644
index 000000000..d7064e8bf
--- /dev/null
+++ b/lib/plugins/authplain/lang/tr/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Üzgünüz, bu isime sahip bir kullanıcı zaten mevcut.';
diff --git a/lib/plugins/authplain/lang/uk/lang.php b/lib/plugins/authplain/lang/uk/lang.php
new file mode 100644
index 000000000..d8f0a32b2
--- /dev/null
+++ b/lib/plugins/authplain/lang/uk/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Користувач з таким іменем вже існує.';
diff --git a/lib/plugins/authplain/lang/vi/lang.php b/lib/plugins/authplain/lang/vi/lang.php
new file mode 100644
index 000000000..7ecb0a27c
--- /dev/null
+++ b/lib/plugins/authplain/lang/vi/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = 'Bạn khác đã dùng username này rồi.';
diff --git a/lib/plugins/authplain/lang/zh-tw/lang.php b/lib/plugins/authplain/lang/zh-tw/lang.php
new file mode 100644
index 000000000..8a5d290e5
--- /dev/null
+++ b/lib/plugins/authplain/lang/zh-tw/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = '很抱歉,有人已使用了這個帳號。';
diff --git a/lib/plugins/authplain/lang/zh/lang.php b/lib/plugins/authplain/lang/zh/lang.php
new file mode 100644
index 000000000..03542fe72
--- /dev/null
+++ b/lib/plugins/authplain/lang/zh/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists'] = '对不起,该用户名已经存在。';
diff --git a/lib/plugins/config/_test/configuration.test.php b/lib/plugins/config/_test/configuration.test.php
index b808ad505..6e9eb0cc6 100644
--- a/lib/plugins/config/_test/configuration.test.php
+++ b/lib/plugins/config/_test/configuration.test.php
@@ -1,4 +1,10 @@
<?php
+/**
+ * @group plugin_config
+ * @group admin_plugins
+ * @group plugins
+ * @group bundled_plugins
+ */
class plugin_config_configuration_test extends DokuWikiTest {
diff --git a/lib/plugins/extension/lang/da/intro_install.txt b/lib/plugins/extension/lang/da/intro_install.txt
new file mode 100644
index 000000000..e5657f218
--- /dev/null
+++ b/lib/plugins/extension/lang/da/intro_install.txt
@@ -0,0 +1 @@
+Her kan du installerer plugins eller templates manuelt, ved enten at uploade dem eller angive en direkte URL til download. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/da/intro_plugins.txt b/lib/plugins/extension/lang/da/intro_plugins.txt
new file mode 100644
index 000000000..5d9deaf1e
--- /dev/null
+++ b/lib/plugins/extension/lang/da/intro_plugins.txt
@@ -0,0 +1 @@
+Dette er de plugins du aktuelt har installeret i din DokuWiki. Du kan aktivere, deaktiver eller fjerne plugins fra denne side. Opdateringer til plugins vises også her - husk at læse dokumentationen til et plugin inden du opdaterer det. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/da/intro_templates.txt b/lib/plugins/extension/lang/da/intro_templates.txt
new file mode 100644
index 000000000..1914500b1
--- /dev/null
+++ b/lib/plugins/extension/lang/da/intro_templates.txt
@@ -0,0 +1 @@
+Dette er de templates du aktuelt har installeret i din DokuWiki. Du kan vælge det template du vil benytte under [[?do=admin&page=config|Opsætningsstyring]]. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/da/lang.php b/lib/plugins/extension/lang/da/lang.php
index c341bc5f9..17cb3b57c 100644
--- a/lib/plugins/extension/lang/da/lang.php
+++ b/lib/plugins/extension/lang/da/lang.php
@@ -4,7 +4,62 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Søren Birk <soer9648@eucl.dk>
+ * @author Jacob Palm <mail@jacobpalm.dk>
*/
+$lang['tab_plugins'] = 'Installerede plugins';
+$lang['tab_templates'] = 'Installerede templates';
+$lang['tab_search'] = 'Søg og installer';
+$lang['tab_install'] = 'Manuel installation';
+$lang['notimplemented'] = 'Denne funktion er ikke implementeret endnu';
+$lang['unknownauthor'] = 'Ukendt udgiver';
+$lang['unknownversion'] = 'Ukendt version';
+$lang['btn_info'] = 'Vis mere information';
+$lang['btn_update'] = 'Opdater';
+$lang['btn_uninstall'] = 'Afinstaller';
+$lang['btn_enable'] = 'Aktiver';
+$lang['btn_disable'] = 'Deaktiver';
+$lang['btn_install'] = 'Installer';
+$lang['btn_reinstall'] = 'Geninstaller';
+$lang['js']['reallydel'] = 'Er du sikker på at du vil afinstallere denne udvidelse?';
+$lang['search_for'] = 'Søg efter udvidelse:';
+$lang['search'] = 'Søg';
+$lang['extensionby'] = '<strong>%s</strong> af %s';
+$lang['screenshot'] = 'Skærmbillede af %s';
+$lang['popularity'] = 'Popularitet: %s%%';
+$lang['homepage_link'] = 'Dokumenter';
+$lang['bugs_features'] = 'Fejl';
+$lang['tags'] = 'Tags:';
+$lang['author_hint'] = 'Søg efter udvidelse af denne udgiver';
+$lang['installed'] = 'Installeret:';
+$lang['downloadurl'] = 'Download URL:';
+$lang['unknown'] = '<em>ukendt</em>';
+$lang['installed_version'] = 'Installeret version:';
+$lang['install_date'] = 'Din sidste opdatering:';
+$lang['available_version'] = 'Tilgængelig version:';
+$lang['compatible'] = 'Kompatibel med:';
+$lang['depends'] = 'Afhængig af:';
+$lang['similar'] = 'Ligner:';
+$lang['donate'] = 'Synes du om denne?';
+$lang['donate_action'] = 'Køb en kop kaffe til udvikleren!';
+$lang['repo_retry'] = 'Førsøg igen';
+$lang['status'] = 'Status:';
+$lang['status_installed'] = 'installeret';
+$lang['status_not_installed'] = 'ikke installeret';
+$lang['status_protected'] = 'beskyttet';
+$lang['status_enabled'] = 'aktiveret';
+$lang['status_disabled'] = 'deaktiveret';
+$lang['status_unmodifiable'] = 'låst for ændringer';
+$lang['status_plugin'] = 'plugin';
+$lang['status_template'] = 'template';
+$lang['msg_enabled'] = 'Plugin %s aktiveret';
+$lang['msg_disabled'] = 'Plugin %s deaktiveret';
+$lang['msg_delete_success'] = 'Udvidelse %s afinstalleret';
+$lang['msg_delete_failed'] = 'Kunne ikke afinstallere udvidelsen %s';
+$lang['msg_template_install_success'] = 'Template %s blev installeret';
+$lang['msg_template_update_success'] = 'Template %s blev opdateret';
+$lang['msg_plugin_install_success'] = 'Plugin %s blev installeret';
+$lang['msg_plugin_update_success'] = 'Plugin %s blev opdateret';
+$lang['msg_upload_failed'] = 'Kunne ikke uploade filen';
$lang['update_available'] = '<strong>Opdatering:</strong> Ny version %s er tilgængelig.';
$lang['wrong_folder'] = '<strong>Plugin ikke installeret korrekt:</strong> Omdøb plugin-mappe "%s" til "%s".';
$lang['url_change'] = '<strong>URL ændret:</strong> Download-URL er blevet ændret siden sidste download. Kontrollér om den nye URL er valid, inden udvidelsen opdateres.<br />Ny: %s<br />Gammel: %s';
@@ -22,3 +77,4 @@ $lang['auth'] = 'Auth-plugin er ikke aktiveret i konfiguratione
$lang['install_url'] = 'Installér fra URL:';
$lang['install_upload'] = 'Upload Udvidelse:';
$lang['repo_error'] = 'Plugin-arkivet kunne ikke kontaktes. Kontrollér at din server kan kontakte www.dokuwiki.org kontrollér dine proxy-indstillinger.';
+$lang['nossl'] = 'Din PHP lader til at mangle understøttelse for SSL. Mange DokuWiki udvidelser vil ikke kunne downloades.';
diff --git a/lib/plugins/extension/lang/fr/lang.php b/lib/plugins/extension/lang/fr/lang.php
index 44d403847..1a5e469f8 100644
--- a/lib/plugins/extension/lang/fr/lang.php
+++ b/lib/plugins/extension/lang/fr/lang.php
@@ -64,7 +64,7 @@ $lang['msg_enabled'] = 'Greffon %s activé';
$lang['msg_disabled'] = 'Greffon %s désactivé';
$lang['msg_delete_success'] = 'Extension %s désinstallée.';
$lang['msg_delete_failed'] = 'Echec de la désinstallation de l\'extension %s';
-$lang['msg_template_install_success'] = 'Thème %s installée avec succès';
+$lang['msg_template_install_success'] = 'Thème %s installé avec succès';
$lang['msg_template_update_success'] = 'Thème %s mis à jour avec succès';
$lang['msg_plugin_install_success'] = 'Greffon %s installé avec succès';
$lang['msg_plugin_update_success'] = 'Greffon %s mis à jour avec succès';
@@ -79,7 +79,7 @@ $lang['error_badurl'] = 'Les URL doivent commencer par http ou https';
$lang['error_dircreate'] = 'Impossible de créer le dossier temporaire pour le téléchargement.';
$lang['error_download'] = 'Impossible de télécharger le fichier : %s';
$lang['error_decompress'] = 'Impossible de décompresser le fichier téléchargé. C\'est peut être le résultat d\'une erreur de téléchargement, auquel cas vous devriez réessayer. Le format de compression est peut-être inconnu. Dans ce cas il vous faudra procéder à une installation manuelle.';
-$lang['error_findfolder'] = 'Impossible d\'idnetifier le dossier de l\'extension. vous devez procéder à une installation manuelle.';
+$lang['error_findfolder'] = 'Impossible d\'identifier le dossier de l\'extension. vous devez procéder à une installation manuelle.';
$lang['error_copy'] = 'Une erreur de copie de fichier s\'est produite lors de l\'installation des fichiers dans le dossier <em>%s</em>. Il se peut que le disque soit plein, ou que les permissions d\'accès aux fichiers soient incorrectes. Il est possible que le greffon soit partiellement installé et que cela laisse votre installation de DoluWiki instable.';
$lang['noperms'] = 'Impossible d\'écrire dans le dossier des extensions.';
$lang['notplperms'] = 'Impossible d\'écrire dans le dossier des thèmes.';
diff --git a/lib/plugins/extension/lang/nl/lang.php b/lib/plugins/extension/lang/nl/lang.php
index 194b4b3e1..3fed9f4a3 100644
--- a/lib/plugins/extension/lang/nl/lang.php
+++ b/lib/plugins/extension/lang/nl/lang.php
@@ -7,6 +7,7 @@
* @author Gerrit Uitslag <klapinklapin@gmail.com>
* @author Johan Vervloet <johan.vervloet@gmail.com>
* @author Mijndert <mijndert@mijndertstuij.nl>
+ * @author Johan Wijnker <johan@wijnker.eu>
*/
$lang['menu'] = 'Uitbreidingen';
$lang['tab_plugins'] = 'Geïnstalleerde Plugins';
@@ -87,6 +88,8 @@ $lang['noperms'] = 'Uitbreidings directory is niet schrijfbaar';
$lang['notplperms'] = 'Template directory is niet schrijfbaar';
$lang['nopluginperms'] = 'Plugin directory is niet schrijfbaar';
$lang['git'] = 'De uitbreiding werd geïnstalleerd via git, u wilt deze hier wellicht niet aanpassen.';
+$lang['auth'] = 'Deze auth plugin is niet geactiveerd in de configuratie, overweeg het om uit te schakelen.';
$lang['install_url'] = 'Installeer vanaf URL:';
$lang['install_upload'] = 'Upload Uitbreiding:';
$lang['repo_error'] = 'Er kon geen verbinding worden gemaakt met de centrale plugin opslag. Controleer of de server verbinding mag maken met www.dokuwiki.org en controleer de proxy instellingen.';
+$lang['nossl'] = 'Je PHP mist SSL ondersteuning. Downloaden werkt niet met veel DokuWiki extensies.';
diff --git a/lib/plugins/extension/lang/pt-br/lang.php b/lib/plugins/extension/lang/pt-br/lang.php
index 0d897616a..47286389f 100644
--- a/lib/plugins/extension/lang/pt-br/lang.php
+++ b/lib/plugins/extension/lang/pt-br/lang.php
@@ -4,6 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Felipe Castro <fefcas@gmail.com>
+ * @author Hudson FAS <hudsonfas@gmail.com>
*/
$lang['menu'] = 'Gerenciador de extensões';
$lang['tab_plugins'] = 'Extensões instaladas';
@@ -62,6 +63,7 @@ $lang['status_bundled'] = 'agrupado';
$lang['msg_enabled'] = 'Extensão %s habilitada';
$lang['msg_disabled'] = 'Extensão %s desabilitada';
$lang['msg_delete_success'] = 'Extensão desinstalada';
+$lang['msg_delete_failed'] = 'Falha na desinstala&ccedil;&atilde;o da extens&atilde;o';
$lang['msg_template_install_success'] = 'Modelo %s instalado com sucesso';
$lang['msg_template_update_success'] = 'Modelo %s atualizado com sucesso';
$lang['msg_plugin_install_success'] = 'Extensão %s instalada com sucesso';
@@ -73,3 +75,18 @@ $lang['security_warning'] = '<strong>Aviso sobre segurança:</strong> %s';
$lang['update_available'] = '<strong>Atualização:</strong> Nova versão %s está disponível.';
$lang['wrong_folder'] = '<strong>Extensão instalada incorretamente:</strong> Renomeie o diretório de extensões "%s" para "%s".';
$lang['url_change'] = '<strong>URL mudou:</strong> A URL para baixar mudou desde a última baixada. Verifique se a nova URL é válida antes de atualizar a extensão.<br />Novo: %s<br />Velho: %s';
+$lang['error_badurl'] = 'O URL deve come&ccedil;ar com http ou https';
+$lang['error_dircreate'] = 'Imposs&iacute;vel criar pasta tempor&aacute;ria para receber o download';
+$lang['error_download'] = 'Imposs&aacute;vel baixar o arquivo: %s';
+$lang['error_decompress'] = 'Imposs&aacute;vel descompimir o arquivo baixado. Isso pode ser resultado de um download ruim que neste caso pode ser tentado novamente; ou o formato da compress&atilde;o pode ser desconhecido, neste caso baixe e instale manualmente.';
+$lang['error_findfolder'] = 'Imposs&iacute;l identificar a extens&atilde;o do diret&oacute;rio, voc&ecirc; deve baixar e instalar manualmente.';
+$lang['error_copy'] = 'Houve um erro de c&oacute;pia de arquivo durante a tentativa de instalar os arquivos para o diret&oacute;rio <em>%s</ em> : o disco pode estar cheio ou as permiss&otilde;es de acesso ao arquivo podem estar incorreta. Isso pode ter resultado em um plugin parcialmente instalado e deixar a sua instala&ccedil;&atilde;o wiki inst&aacute;vel';
+$lang['noperms'] = 'Diret&oacute;rio de extens&atilde;o n&atilde;o &eacute; grav&aacute;vel';
+$lang['notplperms'] = 'Diret&oacute;rio de modelo (Template) n&atilde;o &eacute; grav&aacute;vel';
+$lang['nopluginperms'] = 'Diret&oacute;rio de plugin n&atilde;o &eacute; grav&aacute;vel';
+$lang['git'] = 'A extens&atilde;o foi instalada via git, voc&ecirc; talvez n&atilde;o queira atualiz&aacute;-lo aqui.';
+$lang['auth'] = 'O plugin auth n&atilde;o est&aacute; ativado na configura&ccedil;&atilde;o, considere desativ&aacute-lo.';
+$lang['install_url'] = 'Instale a partir do URL:';
+$lang['install_upload'] = 'Publicar Extens&atilde;o:';
+$lang['repo_error'] = 'O repositório de plugin não pode ser contactado. Certifique-se de que o servidor pode acessar www.dokuwiki.org e confira suas configurações de proxy.';
+$lang['nossl'] = 'Sua instalação PHP parece que não suporta SSL. Algumas extensões DokuWiki não serão baixadas.';
diff --git a/lib/plugins/extension/lang/pt/lang.php b/lib/plugins/extension/lang/pt/lang.php
index c7b4f29c2..c9ca8d976 100644
--- a/lib/plugins/extension/lang/pt/lang.php
+++ b/lib/plugins/extension/lang/pt/lang.php
@@ -4,6 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Guido Salatino <guidorafael23@gmail.com>
+ * @author Romulo Pereira <romuloccomp@gmail.com>
*/
$lang['menu'] = 'Gerenciador de Extensões';
$lang['tab_plugins'] = 'Plugins Instalados';
diff --git a/lib/plugins/extension/lang/ru/lang.php b/lib/plugins/extension/lang/ru/lang.php
index 381d84500..4b2542420 100644
--- a/lib/plugins/extension/lang/ru/lang.php
+++ b/lib/plugins/extension/lang/ru/lang.php
@@ -7,6 +7,7 @@
* @author Igor Degraf <igordegraf@gmail.com>
* @author Type-kun <workwork-1@yandex.ru>
* @author Vitaly Filatenko <kot@hacktest.net>
+ * @author Alex P <alexander@lanos.co.uk>
*/
$lang['menu'] = 'Управление дополнениями';
$lang['tab_plugins'] = 'Установленные плагины';
@@ -87,6 +88,8 @@ $lang['noperms'] = 'Папка для расширений нед
$lang['notplperms'] = 'Папка для шаблонов недоступна для записи';
$lang['nopluginperms'] = 'Папка плагинов недоступна для записи';
$lang['git'] = 'Это расширение было установлено через git. Вы не можете обновить его тут.';
+$lang['auth'] = 'Этот auth плагин не включен в конфигурации, подумайте о его отключении';
$lang['install_url'] = 'Установить с адреса URL';
$lang['install_upload'] = 'Скачать расширение';
$lang['repo_error'] = 'Сайт с плагинами недоступен. Убедитесь, что у сайта есть доступ на www.dokuwiki.org, а также проверьте настройки соединения с Интернетом.';
+$lang['nossl'] = 'Ваша PHP конфигурация не имеет SSL поддержки. Это поломает скачивание для многих DokuWiki плагинов и расширений.';
diff --git a/lib/plugins/popularity/lang/lt/lang.php b/lib/plugins/popularity/lang/lt/lang.php
index 88df29c50..dca350475 100644
--- a/lib/plugins/popularity/lang/lt/lang.php
+++ b/lib/plugins/popularity/lang/lt/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Lithuanian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author audrius.klevas@gmail.com
* @author Arunas Vaitekunas <aras@fan.lt>
*/
diff --git a/lib/plugins/revert/lang/no/lang.php b/lib/plugins/revert/lang/no/lang.php
index 76da8ca9c..d5307c7ca 100644
--- a/lib/plugins/revert/lang/no/lang.php
+++ b/lib/plugins/revert/lang/no/lang.php
@@ -20,6 +20,7 @@
* @author Boris <boris@newton-media.no>
* @author Christopher Schive <chschive@frisurf.no>
* @author Patrick <spill.p@hotmail.com>
+ * @author Danny Buckhof <daniel.raknes@hotmail.no>
*/
$lang['menu'] = 'Tilbakestillingsbehandler';
$lang['filter'] = 'Søk etter søppelmeldinger';
diff --git a/lib/plugins/usermanager/admin.php b/lib/plugins/usermanager/admin.php
index 86562f1dd..9cb9b0c40 100644
--- a/lib/plugins/usermanager/admin.php
+++ b/lib/plugins/usermanager/admin.php
@@ -31,6 +31,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
protected $_edit_userdata = array();
protected $_disabled = ''; // if disabled set to explanatory string
protected $_import_failures = array();
+ protected $_lastdisabled = false; // set to true if last user is unknown and last button is hence buggy
/**
* Constructor
@@ -82,6 +83,27 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
}
/**
+ * @return int current start value for pageination
+ */
+ public function getStart() {
+ return $this->_start;
+ }
+
+ /**
+ * @return int number of users per page
+ */
+ public function getPagesize() {
+ return $this->_pagesize;
+ }
+
+ /**
+ * @param boolean $lastdisabled
+ */
+ public function setLastdisabled($lastdisabled) {
+ $this->_lastdisabled = $lastdisabled;
+ }
+
+ /**
* Handle user request
*
* @return bool
@@ -200,9 +222,9 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
*/
$groups = join(', ',$grps);
ptln(" <tr class=\"user_info\">");
- ptln(" <td class=\"centeralign\"><input type=\"checkbox\" name=\"delete[".$user."]\" ".$delete_disable." /></td>");
+ ptln(" <td class=\"centeralign\"><input type=\"checkbox\" name=\"delete[".hsc($user)."]\" ".$delete_disable." /></td>");
if ($editable) {
- ptln(" <td><a href=\"".wl($ID,array('fn[edit]['.hsc($user).']' => 1,
+ ptln(" <td><a href=\"".wl($ID,array('fn[edit]['.$user.']' => 1,
'do' => 'admin',
'page' => 'usermanager',
'sectok' => getSecurityToken())).
@@ -334,7 +356,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
// save current $user, we need this to access details if the name is changed
if ($user)
- ptln(" <input type=\"hidden\" name=\"userid_old\" value=\"".$user."\" />",$indent);
+ ptln(" <input type=\"hidden\" name=\"userid_old\" value=\"".hsc($user)."\" />",$indent);
$this->_htmlFilterSettings($indent+10);
@@ -379,6 +401,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
$fieldtype = 'text';
$autocomp = '';
}
+ $value = hsc($value);
echo "<tr $class>";
echo "<td><label for=\"$id\" >$label: </label></td>";
@@ -836,6 +859,10 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
$buttons['last'] = $buttons['next'] = (($this->_start + $this->_pagesize) >= $this->_user_total) ? $disabled : '';
}
+ if ($this->_lastdisabled) {
+ $buttons['last'] = $disabled;
+ }
+
return $buttons;
}
diff --git a/lib/plugins/usermanager/lang/lt/lang.php b/lib/plugins/usermanager/lang/lt/lang.php
index db3cf2d32..3c0029303 100644
--- a/lib/plugins/usermanager/lang/lt/lang.php
+++ b/lib/plugins/usermanager/lang/lt/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Lithuanian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author grawity <grawity@gmail.com>
* @author audrius.klevas@gmail.com
* @author Arunas Vaitekunas <aras@fan.lt>
diff --git a/lib/plugins/usermanager/lang/pt-br/import.txt b/lib/plugins/usermanager/lang/pt-br/import.txt
new file mode 100644
index 000000000..d692bb364
--- /dev/null
+++ b/lib/plugins/usermanager/lang/pt-br/import.txt
@@ -0,0 +1,9 @@
+===== Importação de Usuários em Massa =====
+
+Requer um arquivo CSV de usuários com pelo menos quatro colunas.
+As colunas devem conter, nesta ordem: id-usuário, nome completo, endereço de e-mail e grupos.
+Os campos CSV devem ser separados por vírgulas ( , ) e nomes delimitados por aspas (). Barra invertida (\ ) pode ser usado para escapar nomes.
+Para um exemplo de um arquivo adequado , tente a função Exportar usuários acima.
+Usuário ids duplicados serão ignorados.
+
+A senha será gerada e enviada para cada usuário importado com sucesso. \ No newline at end of file
diff --git a/lib/plugins/usermanager/lang/pt/lang.php b/lib/plugins/usermanager/lang/pt/lang.php
index 43ea69e53..ee6eaf4f5 100644
--- a/lib/plugins/usermanager/lang/pt/lang.php
+++ b/lib/plugins/usermanager/lang/pt/lang.php
@@ -9,6 +9,7 @@
* @author André Neves <drakferion@gmail.com>
* @author José Campos zecarlosdecampos@gmail.com
* @author Guido Salatino <guidorafael23@gmail.com>
+ * @author Romulo Pereira <romuloccomp@gmail.com>
*/
$lang['menu'] = 'Gestor de Perfis';
$lang['noauth'] = '(autenticação indisponível)';
diff --git a/lib/scripts/linkwiz.js b/lib/scripts/linkwiz.js
index e8191dbcb..bc850226f 100644
--- a/lib/scripts/linkwiz.js
+++ b/lib/scripts/linkwiz.js
@@ -244,9 +244,10 @@ var dw_linkwiz = {
so += dw_linkwiz.val.open.length;
link = dw_linkwiz.val.open+link;
}
+ link += '|';
+ so += 1;
if(stxt) {
- link += '|'+stxt;
- so += 1;
+ link += stxt;
}
if(dw_linkwiz.val.close) {
link += dw_linkwiz.val.close;
@@ -299,6 +300,11 @@ var dw_linkwiz = {
dw_linkwiz.$wiz.show();
dw_linkwiz.$entry.focus();
dw_linkwiz.autocomplete();
+
+ // Move the cursor to the end of the input
+ var temp = dw_linkwiz.$entry.val();
+ dw_linkwiz.$entry.val('');
+ dw_linkwiz.$entry.val(temp);
},
/**
diff --git a/lib/scripts/toolbar.js b/lib/scripts/toolbar.js
index 1bb02b406..a5f831ade 100644
--- a/lib/scripts/toolbar.js
+++ b/lib/scripts/toolbar.js
@@ -243,7 +243,20 @@ function pickerToggle(pickerid,$btn){
} else {
$picker.addClass('a11y').attr('aria-hidden', 'true');
}
- $picker.offset({left: pos.left+3, top: pos.top+$btn[0].offsetHeight+3});
+ var picker_left = pos.left + 3,
+ picker_width = $picker.width(),
+ window_width = jQuery(window).width();
+ if (picker_width > 300) {
+ $picker.css("max-width", "300");
+ picker_width = 300;
+ }
+ if ((picker_left + picker_width + 40) > window_width) {
+ picker_left = window_width - picker_width - 40;
+ }
+ if (picker_left < 0) {
+ picker_left = 0;
+ }
+ $picker.offset({left: picker_left, top: pos.top+$btn[0].offsetHeight+3});
}
/**
diff --git a/lib/tpl/dokuwiki/css/mixins.less b/lib/tpl/dokuwiki/css/mixins.less
index 4b15bb600..a88767e97 100644
--- a/lib/tpl/dokuwiki/css/mixins.less
+++ b/lib/tpl/dokuwiki/css/mixins.less
@@ -7,17 +7,4 @@
background: -o-linear-gradient( @declaration);
background: -ms-linear-gradient( @declaration);
background: linear-gradient( @declaration);
-}
-
-/**
- * provides inline list styling.
- */
-.inline-list(){
- list-style-type: none;
-
- & li {
- margin: 0;
- padding: 0;
- display: inline;
- }
-}
+} \ No newline at end of file
diff --git a/lib/tpl/dokuwiki/css/structure.less b/lib/tpl/dokuwiki/css/structure.less
index f7dea3948..3ea2f83eb 100644
--- a/lib/tpl/dokuwiki/css/structure.less
+++ b/lib/tpl/dokuwiki/css/structure.less
@@ -87,18 +87,3 @@ body {
#dokuwiki__footer {
clear: both;
}
-
-.dokuwiki .navlist {
- display: inline;
- padding: 0;
- .inline-list;
-}
-
-.bchead {
- display: inline;
- font-size: inherit;
-}
-
-.curid {
- font-weight: bold;
-}