summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/exe/css.php38
-rw-r--r--lib/exe/indexer.php7
-rw-r--r--lib/exe/js.php22
-rw-r--r--lib/exe/xmlrpc.php13
-rw-r--r--lib/plugins/acl/admin.php6
-rw-r--r--lib/plugins/acl/lang/cs/help.txt13
-rw-r--r--lib/plugins/acl/remote.php32
-rw-r--r--lib/plugins/admin.php44
-rw-r--r--lib/plugins/auth.php9
-rw-r--r--lib/plugins/authad/adLDAP/adLDAP.php2
-rw-r--r--lib/plugins/authad/auth.php8
-rw-r--r--lib/plugins/authad/lang/fa/settings.php10
-rw-r--r--lib/plugins/authad/lang/no/lang.php8
-rw-r--r--lib/plugins/authad/lang/no/settings.php2
-rw-r--r--lib/plugins/authad/lang/ru/settings.php8
-rw-r--r--lib/plugins/authldap/auth.php17
-rw-r--r--lib/plugins/authldap/lang/fa/settings.php10
-rw-r--r--lib/plugins/authldap/lang/no/settings.php2
-rw-r--r--lib/plugins/authldap/lang/ru/settings.php10
-rw-r--r--lib/plugins/authmysql/auth.php19
-rw-r--r--lib/plugins/authmysql/lang/cs/settings.php5
-rw-r--r--lib/plugins/authmysql/lang/da/settings.php4
-rw-r--r--lib/plugins/authmysql/lang/fi/settings.php11
-rw-r--r--lib/plugins/authmysql/lang/no/settings.php14
-rw-r--r--lib/plugins/authpgsql/auth.php11
-rw-r--r--lib/plugins/authpgsql/lang/cs/settings.php5
-rw-r--r--lib/plugins/authpgsql/lang/it/settings.php2
-rw-r--r--lib/plugins/authpgsql/lang/ru/settings.php4
-rw-r--r--lib/plugins/authplain/_test/escaping.test.php7
-rw-r--r--lib/plugins/authplain/auth.php2
-rw-r--r--lib/plugins/config/admin.php45
-rw-r--r--lib/plugins/config/settings/config.class.php214
-rw-r--r--lib/plugins/config/settings/extra.class.php105
-rw-r--r--lib/plugins/extension/admin.php10
-rw-r--r--lib/plugins/extension/helper/extension.php8
-rw-r--r--lib/plugins/extension/helper/list.php6
-rw-r--r--lib/plugins/extension/helper/repository.php6
-rw-r--r--lib/plugins/extension/lang/cs/intro_templates.txt1
-rw-r--r--lib/plugins/extension/lang/cs/lang.php33
-rw-r--r--lib/plugins/extension/lang/da/lang.php24
-rw-r--r--lib/plugins/extension/lang/en/lang.php7
-rw-r--r--lib/plugins/extension/lang/fi/lang.php37
-rw-r--r--lib/plugins/extension/lang/it/lang.php21
-rw-r--r--lib/plugins/extension/lang/ja/lang.php6
-rw-r--r--lib/plugins/extension/lang/ko/lang.php9
-rw-r--r--lib/plugins/extension/lang/nl/lang.php2
-rw-r--r--lib/plugins/extension/lang/ru/intro_install.txt1
-rw-r--r--lib/plugins/extension/lang/ru/intro_plugins.txt1
-rw-r--r--lib/plugins/extension/lang/ru/intro_search.txt1
-rw-r--r--lib/plugins/extension/lang/ru/intro_templates.txt1
-rw-r--r--lib/plugins/extension/lang/ru/lang.php19
-rw-r--r--lib/plugins/info/syntax.php38
-rw-r--r--lib/plugins/popularity/helper.php13
-rw-r--r--lib/plugins/revert/lang/ko/lang.php2
-rw-r--r--lib/plugins/revert/lang/no/lang.php1
-rw-r--r--lib/plugins/syntax.php11
-rw-r--r--lib/plugins/usermanager/admin.php34
-rw-r--r--lib/plugins/usermanager/lang/cs/lang.php14
-rw-r--r--lib/plugins/usermanager/lang/da/import.txt9
-rw-r--r--lib/plugins/usermanager/lang/da/lang.php2
-rw-r--r--lib/plugins/usermanager/lang/fi/lang.php10
-rw-r--r--lib/plugins/usermanager/lang/ko/lang.php8
-rw-r--r--lib/plugins/usermanager/lang/ru/lang.php2
-rw-r--r--lib/scripts/behaviour.js15
-rw-r--r--lib/tpl/dokuwiki/detail.php4
-rw-r--r--lib/tpl/dokuwiki/images/pagetools-build.php2
-rw-r--r--lib/tpl/dokuwiki/main.php14
-rw-r--r--lib/tpl/dokuwiki/tpl_header.php14
68 files changed, 932 insertions, 163 deletions
diff --git a/lib/exe/css.php b/lib/exe/css.php
index 9645b96bc..b1065f518 100644
--- a/lib/exe/css.php
+++ b/lib/exe/css.php
@@ -52,7 +52,7 @@ function css_out(){
// if old 'default' userstyle setting exists, make it 'screen' userstyle for backwards compatibility
if (isset($config_cascade['userstyle']['default'])) {
- $config_cascade['userstyle']['screen'] = $config_cascade['userstyle']['default'];
+ $config_cascade['userstyle']['screen'] = array($config_cascade['userstyle']['default']);
}
// cache influencers
@@ -82,8 +82,10 @@ function css_out(){
$files[$mediatype] = array_merge($files[$mediatype], $styleini['stylesheets'][$mediatype]);
}
// load user styles
- if(isset($config_cascade['userstyle'][$mediatype])){
- $files[$mediatype][$config_cascade['userstyle'][$mediatype]] = DOKU_BASE;
+ if(!empty($config_cascade['userstyle'][$mediatype])) {
+ foreach($config_cascade['userstyle'][$mediatype] as $userstyle) {
+ $files[$mediatype][$userstyle] = DOKU_BASE;
+ }
}
$cache_files = array_merge($cache_files, array_keys($files[$mediatype]));
@@ -162,7 +164,7 @@ function css_out(){
* most of this function is error handling to show a nice useful error when
* LESS compilation fails
*
- * @param $css
+ * @param string $css
* @return string
*/
function css_parseless($css) {
@@ -225,6 +227,10 @@ function css_parseless($css) {
* (sans the surrounding __ and with a ini_ prefix)
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param string $css
+ * @param array $replacements array(placeholder => value)
+ * @return string
*/
function css_applystyle($css, $replacements) {
// we convert ini replacements to LESS variable names
@@ -253,6 +259,7 @@ function css_applystyle($css, $replacements) {
* the stylesheet modes
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
* @param string $tpl the used template
* @return array with keys 'stylesheets' and 'replacements'
*/
@@ -323,6 +330,10 @@ function css_styleini($tpl) {
* Amend paths used in replacement relative urls, refer FS#2879
*
* @author Chris Smith <chris@jalakai.co.uk>
+ *
+ * @param array $replacements with key-value pairs
+ * @param string $location
+ * @return array
*/
function css_fixreplacementurls($replacements, $location) {
foreach($replacements as $key => $value) {
@@ -406,6 +417,10 @@ function css_filetypes(){
/**
* Loads a given file and fixes relative URLs with the
* given location prefix
+ *
+ * @param string $file file system path
+ * @param string $location
+ * @return string
*/
function css_loadfile($file,$location=''){
$css_file = new DokuCssFile($file);
@@ -504,6 +519,9 @@ class DokuCssFile {
* Convert local image URLs to data URLs if the filesize is small
*
* Callback for preg_replace_callback
+ *
+ * @param array $match
+ * @return string
*/
function css_datauri($match){
global $conf;
@@ -531,9 +549,11 @@ function css_datauri($match){
* Returns a list of possible Plugin Styles (no existance check here)
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param string $mediatype
+ * @return array
*/
function css_pluginstyles($mediatype='screen'){
- global $lang;
$list = array();
$plugins = plugin_list();
foreach ($plugins as $p){
@@ -552,6 +572,9 @@ function css_pluginstyles($mediatype='screen'){
* Very simple CSS optimizer
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param string $css
+ * @return string
*/
function css_compress($css){
//strip comments through a callback
@@ -588,6 +611,9 @@ function css_compress($css){
* Keeps short comments (< 5 chars) to maintain typical browser hacks
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param array $matches
+ * @return string
*/
function css_comment_cb($matches){
if(strlen($matches[2]) > 4) return '';
@@ -599,7 +625,7 @@ function css_comment_cb($matches){
*
* Strips one line comments but makes sure it will not destroy url() constructs with slashes
*
- * @param $matches
+ * @param array $matches
* @return string
*/
function css_onelinecomment_cb($matches) {
diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php
index 3ab117736..89c4b7cd0 100644
--- a/lib/exe/indexer.php
+++ b/lib/exe/indexer.php
@@ -51,8 +51,9 @@ exit;
/**
* Trims the recent changes cache (or imports the old changelog) as needed.
*
- * @param media_changes If the media changelog shall be trimmed instead of
- * the page changelog
+ * @param bool $media_changes If the media changelog shall be trimmed instead of
+ * the page changelog
+ * @return bool
*
* @author Ben Coburn <btcoburn@silicodon.net>
*/
@@ -83,7 +84,7 @@ function runTrimRecentChanges($media_changes = false) {
io_saveFile($fn.'_tmp', ''); // presave tmp as 2nd lock
$trim_time = time() - $conf['recent_days']*86400;
$out_lines = array();
-
+ $old_lines = array();
for ($i=0; $i<count($lines); $i++) {
$log = parseChangelogLine($lines[$i]);
if ($log === false) continue; // discard junk
diff --git a/lib/exe/js.php b/lib/exe/js.php
index 545ba7b23..793104e81 100644
--- a/lib/exe/js.php
+++ b/lib/exe/js.php
@@ -72,8 +72,10 @@ function js_out(){
// add possible plugin scripts and userscript
$files = array_merge($files,js_pluginscripts());
- if(isset($config_cascade['userscript']['default'])){
- $files[] = $config_cascade['userscript']['default'];
+ if(!empty($config_cascade['userscript']['default'])) {
+ foreach($config_cascade['userscript']['default'] as $userscript) {
+ $files[] = $userscript;
+ }
}
$cache_files = array_merge($files, getConfigFiles('main'));
@@ -154,6 +156,8 @@ function js_out(){
* Load the given file, handle include calls and print it
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param string $file filename path to file
*/
function js_load($file){
if(!@file_exists($file)) return;
@@ -189,6 +193,8 @@ function js_load($file){
* Returns a list of possible Plugin Scripts (no existance check here)
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @return array
*/
function js_pluginscripts(){
$list = array();
@@ -206,6 +212,8 @@ function js_pluginscripts(){
* - Nothing is returned for plugins without an entry for $lang['js']
*
* @author Gabriel Birke <birke@d-scribe.de>
+ *
+ * @return array
*/
function js_pluginstrings() {
global $conf;
@@ -231,6 +239,8 @@ function js_pluginstrings() {
*
* - $lang['js'] must be an array.
* - Nothing is returned for template without an entry for $lang['js']
+ *
+ * @return array
*/
function js_templatestrings() {
global $conf;
@@ -252,6 +262,9 @@ function js_templatestrings() {
* as newline
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param string $string
+ * @return string
*/
function js_escape($string){
return str_replace('\\\\n','\\n',addslashes($string));
@@ -261,6 +274,8 @@ function js_escape($string){
* Adds the given JavaScript code to the window.onload() event
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param string $func
*/
function js_runonstart($func){
echo "jQuery(function(){ $func; });".NL;
@@ -275,6 +290,9 @@ function js_runonstart($func){
* @author Nick Galbreath <nickg@modp.com>
* @author Andreas Gohr <andi@splitbrain.org>
* @link http://code.google.com/p/jsstrip/
+ *
+ * @param string $s
+ * @return string
*/
function js_compress($s){
$s = ltrim($s); // strip all initial whitespace
diff --git a/lib/exe/xmlrpc.php b/lib/exe/xmlrpc.php
index c09daa17c..61a68281f 100644
--- a/lib/exe/xmlrpc.php
+++ b/lib/exe/xmlrpc.php
@@ -23,6 +23,11 @@ class dokuwiki_xmlrpc_server extends IXR_Server {
$this->IXR_Server();
}
+ /**
+ * @param string $methodname
+ * @param array $args
+ * @return IXR_Error|mixed
+ */
function call($methodname, $args){
try {
$result = $this->remote->call($methodname, $args);
@@ -40,10 +45,18 @@ class dokuwiki_xmlrpc_server extends IXR_Server {
}
}
+ /**
+ * @param string|int $data iso date(yyyy[-]mm[-]dd[ hh:mm[:ss]]) or timestamp
+ * @return IXR_Date
+ */
function toDate($data) {
return new IXR_Date($data);
}
+ /**
+ * @param string $data
+ * @return IXR_Base64
+ */
function toFile($data) {
return new IXR_Base64($data);
}
diff --git a/lib/plugins/acl/admin.php b/lib/plugins/acl/admin.php
index ebb097a04..814bbfe9c 100644
--- a/lib/plugins/acl/admin.php
+++ b/lib/plugins/acl/admin.php
@@ -762,6 +762,8 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin {
*/
function _html_select(){
$inlist = false;
+ $usel = '';
+ $gsel = '';
if($this->who &&
!in_array($this->who,$this->usersgroups) &&
@@ -770,11 +772,9 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin {
if($this->who{0} == '@'){
$gsel = ' selected="selected"';
}else{
- $usel = ' selected="selected"';
+ $usel = ' selected="selected"';
}
}else{
- $usel = '';
- $gsel = '';
$inlist = true;
}
diff --git a/lib/plugins/acl/lang/cs/help.txt b/lib/plugins/acl/lang/cs/help.txt
index 1dbc88ad0..1b6fa1eac 100644
--- a/lib/plugins/acl/lang/cs/help.txt
+++ b/lib/plugins/acl/lang/cs/help.txt
@@ -1,11 +1,8 @@
=== Nápověda: ===
-Na této stránce můžete přidávat a odebírat oprávnění na jmenné prostory a stránky Vaší wiki.
+Na této stránce můžete přidávat a odebírat oprávnění pro jmenné prostory a stránky svojí wiki.
+* Levý panel zobrazuje všechny dostupné jmenné prostory a stránky.
+* Formulář výše umožňuje vidět a modifikovat oprávnění vybraného uživatele nebo skupiny.
+* V tabulce uvedené níže jsou zobrazeny všechna aktuální pravidla pro řízení přístupu (oprávnění). Zde můžete rychle odebírat a měnit více položek (oprávnění) najednou.
-Levý panel zobrazuje všechny dostupné jmenné prostory a stránky.
-
-Formulář výše umožňuje vidět a modifikovat oprávnění vybraného uživatele nebo skupiny.
-
-V tabulce uvedené níže jsou zobrazeny všechny aktuální pravidla pro řízení přístupu (oprávnění). Zde můžete rychle odebírat a měnit více položek (oprávnění) najednou.
-
-Pro detailnější nápovědu si přečtěte stránku [[doku>acl|oficiální dokumentaci ACL]], která Vám může pomoci plně pochopit princip, jak řízení přístupu na DokuWiki funguje.
+Pro detailnější nápovědu si přečtěte stránku [[doku>acl|oficiální dokumentace ACL]], která Vám může pomoci plně pochopit princip, na kterém řízení přístupu na DokuWiki funguje.
diff --git a/lib/plugins/acl/remote.php b/lib/plugins/acl/remote.php
index 6d5201cf6..b10c544ee 100644
--- a/lib/plugins/acl/remote.php
+++ b/lib/plugins/acl/remote.php
@@ -1,7 +1,16 @@
<?php
+/**
+ * Class remote_plugin_acl
+ */
class remote_plugin_acl extends DokuWiki_Remote_Plugin {
- function _getMethods() {
+
+ /**
+ * Returns details about the remote plugin methods
+ *
+ * @return array
+ */
+ public function _getMethods() {
return array(
'addAcl' => array(
'args' => array('string','string','int'),
@@ -17,12 +26,29 @@ class remote_plugin_acl extends DokuWiki_Remote_Plugin {
);
}
- function addAcl($scope, $user, $level){
+ /**
+ * Add a new entry to ACL config
+ *
+ * @param string $scope
+ * @param string $user
+ * @param int $level see also inc/auth.php
+ * @return bool
+ */
+ public function addAcl($scope, $user, $level){
+ /** @var admin_plugin_acl $apa */
$apa = plugin_load('admin', 'acl');
return $apa->_acl_add($scope, $user, $level);
}
- function delAcl($scope, $user){
+ /**
+ * Remove an entry from ACL config
+ *
+ * @param string $scope
+ * @param string $user
+ * @return bool
+ */
+ public function delAcl($scope, $user){
+ /** @var admin_plugin_acl $apa */
$apa = plugin_load('admin', 'acl');
return $apa->_acl_del($scope, $user);
}
diff --git a/lib/plugins/admin.php b/lib/plugins/admin.php
index 9a1fb9fdc..39dece453 100644
--- a/lib/plugins/admin.php
+++ b/lib/plugins/admin.php
@@ -14,7 +14,14 @@ if(!defined('DOKU_INC')) die();
*/
class DokuWiki_Admin_Plugin extends DokuWiki_Plugin {
- function getMenuText($language) {
+ /**
+ * Return the text that is displayed at the main admin menu
+ * (Default localized language string 'menu' is returned, override this function for setting another name)
+ *
+ * @param string $language language code
+ * @return string menu string
+ */
+ public function getMenuText($language) {
$menutext = $this->getLang('menu');
if (!$menutext) {
$info = $this->getInfo();
@@ -23,23 +30,48 @@ class DokuWiki_Admin_Plugin extends DokuWiki_Plugin {
return $menutext;
}
- function getMenuSort() {
+ /**
+ * Determine position in list in admin window
+ * Lower values are sorted up
+ *
+ * @return int
+ */
+ public function getMenuSort() {
return 1000;
}
- function handle() {
+ /**
+ * Carry out required processing
+ */
+ public function handle() {
trigger_error('handle() not implemented in '.get_class($this), E_USER_WARNING);
}
- function html() {
+ /**
+ * Output html of the admin page
+ */
+ public function html() {
trigger_error('html() not implemented in '.get_class($this), E_USER_WARNING);
}
- function forAdminOnly() {
+ /**
+ * Return true for access only by admins (config:superuser) or false if managers are allowed as well
+ *
+ * @return bool
+ */
+ public function forAdminOnly() {
return true;
}
- function getTOC(){
+ /**
+ * Return array with ToC items. Items can be created with the html_mktocitem()
+ *
+ * @see html_mktocitem()
+ * @see tpl_toc()
+ *
+ * @return array
+ */
+ public function getTOC(){
return array();
}
}
diff --git a/lib/plugins/auth.php b/lib/plugins/auth.php
index 02e0613dd..4799b3a38 100644
--- a/lib/plugins/auth.php
+++ b/lib/plugins/auth.php
@@ -116,7 +116,7 @@ class DokuWiki_Auth_Plugin extends DokuWiki_Plugin {
* @author Gabriel Birke <birke@d-scribe.de>
* @param string $type Modification type ('create', 'modify', 'delete')
* @param array $params Parameters for the createUser, modifyUser or deleteUsers method. The content of this array depends on the modification type
- * @return mixed Result from the modification function or false if an event handler has canceled the action
+ * @return bool|null|int Result from the modification function or false if an event handler has canceled the action
*/
public function triggerUserMod($type, $params) {
$validTypes = array(
@@ -124,8 +124,11 @@ class DokuWiki_Auth_Plugin extends DokuWiki_Plugin {
'modify' => 'modifyUser',
'delete' => 'deleteUsers'
);
- if(empty($validTypes[$type]))
+ if(empty($validTypes[$type])) {
return false;
+ }
+
+ $result = false;
$eventdata = array('type' => $type, 'params' => $params, 'modification_result' => null);
$evt = new Doku_Event('AUTH_USER_CHANGE', $eventdata);
if($evt->advise_before(true)) {
@@ -235,7 +238,7 @@ class DokuWiki_Auth_Plugin extends DokuWiki_Plugin {
* @author Andreas Gohr <andi@splitbrain.org>
* @param string $user the user name
* @param bool $requireGroups whether or not the returned data must include groups
- * @return array containing user data or false
+ * @return false|array containing user data or false
*/
public function getUserData($user, $requireGroups=true) {
if(!$this->cando['external']) msg("no valid authorisation system in use", -1);
diff --git a/lib/plugins/authad/adLDAP/adLDAP.php b/lib/plugins/authad/adLDAP/adLDAP.php
index c1f92abe2..5563e4fe9 100644
--- a/lib/plugins/authad/adLDAP/adLDAP.php
+++ b/lib/plugins/authad/adLDAP/adLDAP.php
@@ -947,5 +947,3 @@ class adLDAP {
* }
*/
class adLDAPException extends Exception {}
-
-?> \ No newline at end of file
diff --git a/lib/plugins/authad/auth.php b/lib/plugins/authad/auth.php
index a3119dda6..88b56046c 100644
--- a/lib/plugins/authad/auth.php
+++ b/lib/plugins/authad/auth.php
@@ -203,6 +203,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
}
//general user info
+ $info = array();
$info['name'] = $result[0]['displayname'][0];
$info['mail'] = $result[0]['mail'][0];
$info['uid'] = $result[0]['samaccountname'][0];
@@ -328,6 +329,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
* 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
@@ -446,7 +448,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
/**
* Get the domain part from a user
*
- * @param $user
+ * @param string $user
* @return string
*/
public function _userDomain($user) {
@@ -457,7 +459,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
/**
* Get the user part from a user
*
- * @param $user
+ * @param string $user
* @return string
*/
public function _userName($user) {
@@ -543,6 +545,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
* The patterns are set up with $this->_constructPattern()
*
* @author Chris Smith <chris@jalakai.co.uk>
+ *
* @param string $user
* @param array $info
* @return bool
@@ -564,6 +567,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
* Create a pattern for $this->_filter()
*
* @author Chris Smith <chris@jalakai.co.uk>
+ *
* @param array $filter
*/
protected function _constructPattern($filter) {
diff --git a/lib/plugins/authad/lang/fa/settings.php b/lib/plugins/authad/lang/fa/settings.php
new file mode 100644
index 000000000..161479afb
--- /dev/null
+++ b/lib/plugins/authad/lang/fa/settings.php
@@ -0,0 +1,10 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Omid Hezaveh <hezpublic@gmail.com>
+ */
+$lang['admin_password'] = 'رمز کاربر بالایی ';
+$lang['use_ssl'] = 'از اس‌اس‌ال استفاده می‌کنید؟ در این صورت تی‌ال‌اس را در پایین فعال نکنید. ';
+$lang['use_tls'] = 'از تی‌ال‌اس استفاده می‌کنید؟ در این صورت اس‌اس‌ال را در بالا فعال نکنید. ';
diff --git a/lib/plugins/authad/lang/no/lang.php b/lib/plugins/authad/lang/no/lang.php
new file mode 100644
index 000000000..a1c9c7e8a
--- /dev/null
+++ b/lib/plugins/authad/lang/no/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Patrick <spill.p@hotmail.com>
+ */
+$lang['domain'] = 'Loggpå-domene';
diff --git a/lib/plugins/authad/lang/no/settings.php b/lib/plugins/authad/lang/no/settings.php
index bab5ce67d..f309ead50 100644
--- a/lib/plugins/authad/lang/no/settings.php
+++ b/lib/plugins/authad/lang/no/settings.php
@@ -4,6 +4,8 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Christopher Schive <chschive@frisurf.no>
+ * @author Patrick <spill.p@hotmail.com>
*/
+$lang['account_suffix'] = 'Ditt konto-suffiks F. Eks. <code>@my.domain.org</code>';
$lang['admin_password'] = 'Passordet til brukeren 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/ru/settings.php b/lib/plugins/authad/lang/ru/settings.php
index 0212589d7..99c916b44 100644
--- a/lib/plugins/authad/lang/ru/settings.php
+++ b/lib/plugins/authad/lang/ru/settings.php
@@ -9,11 +9,19 @@
* @author Erli Moen <evseev.jr@gmail.com>
* @author Владимир <id37736@yandex.ru>
* @author Aleksandr Selivanov <alexgearbox@yandex.ru>
+ * @author Type-kun <workwork-1@yandex.ru>
+ * @author Vitaly Filatenko <kot@hacktest.net>
*/
$lang['account_suffix'] = 'Суффикс вашего аккаунта. Например, <code>@my.domain.org</code>';
+$lang['base_dn'] = 'Ваш базовый DN. Например: <code>DC=my,DC=domain,DC=org</code>';
$lang['domain_controllers'] = 'Список DNS-серверов, разделенных запятой. Например:<code>srv1.domain.org,srv2.domain.org</code>';
+$lang['admin_username'] = 'Привилегированный пользователь Active Directory с доступом ко всем остальным пользовательским данным. Необязательно, однако необходимо для определённых действий вроде отправки почтовой подписки.';
$lang['admin_password'] = 'Пароль для указанного пользователя.';
$lang['sso'] = 'Использовать SSO (Single-Sign-On) через Kerberos или NTLM?';
+$lang['sso_charset'] = 'Кодировка, в которой веб-сервер передаёт имя пользователя Kerberos или NTLM. Для UTF-8 или latin-1 остаётся пустым. Требует расширение iconv.';
+$lang['real_primarygroup'] = 'Должна ли использоваться настоящая первичная группа вместо "Domain Users" (медленнее)';
$lang['use_ssl'] = 'Использовать SSL? Если да, то не включайте TLS.';
$lang['use_tls'] = 'Использовать TLS? Если да, то не включайте SSL.';
$lang['debug'] = 'Выводить дополнительную информацию при ошибках?';
+$lang['expirywarn'] = 'За сколько дней нужно предупреждать пользователя о необходимости изменить пароль. 0 - отключить.';
+$lang['additional'] = 'Дополнительные AD атрибуты, разделённые запятой, для выборки из данных пользователя. Используется некоторыми плагинами.';
diff --git a/lib/plugins/authldap/auth.php b/lib/plugins/authldap/auth.php
index b22b82ecc..fd4729331 100644
--- a/lib/plugins/authldap/auth.php
+++ b/lib/plugins/authldap/auth.php
@@ -181,6 +181,7 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin {
}
}
+ $info = array();
$info['user'] = $user;
$info['server'] = $this->getConf('server');
@@ -564,15 +565,13 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin {
* Wraps around ldap_search, ldap_list or ldap_read depending on $scope
*
* @author Andreas Gohr <andi@splitbrain.org>
- * @param resource $link_identifier
- * @param string $base_dn
- * @param string $filter
- * @param string $scope can be 'base', 'one' or 'sub'
- * @param null $attributes
- * @param int $attrsonly
- * @param int $sizelimit
- * @param int $timelimit
- * @param int $deref
+ * @param resource $link_identifier
+ * @param string $base_dn
+ * @param string $filter
+ * @param string $scope can be 'base', 'one' or 'sub'
+ * @param null|array $attributes
+ * @param int $attrsonly
+ * @param int $sizelimit
* @return resource
*/
protected function _ldapsearch($link_identifier, $base_dn, $filter, $scope = 'sub', $attributes = null,
diff --git a/lib/plugins/authldap/lang/fa/settings.php b/lib/plugins/authldap/lang/fa/settings.php
new file mode 100644
index 000000000..49d485afd
--- /dev/null
+++ b/lib/plugins/authldap/lang/fa/settings.php
@@ -0,0 +1,10 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Mohammad Sadegh <msdn2013@gmail.com>
+ * @author Omid Hezaveh <hezpublic@gmail.com>
+ */
+$lang['starttls'] = 'از تی‌ال‌اس (TLS) استفاده می‌کنید؟';
+$lang['bindpw'] = 'رمزعبور کاربر بالا';
diff --git a/lib/plugins/authldap/lang/no/settings.php b/lib/plugins/authldap/lang/no/settings.php
index 6bedb2991..61671ed46 100644
--- a/lib/plugins/authldap/lang/no/settings.php
+++ b/lib/plugins/authldap/lang/no/settings.php
@@ -4,6 +4,8 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Christopher Schive <chschive@frisurf.no>
+ * @author Patrick <spill.p@hotmail.com>
*/
$lang['port'] = 'LDAP serverport dersom ingen full URL var gitt over.';
$lang['starttls'] = 'Bruke TLS-forbindelser?';
+$lang['bindpw'] = 'Passord til brukeren over';
diff --git a/lib/plugins/authldap/lang/ru/settings.php b/lib/plugins/authldap/lang/ru/settings.php
index 5677e06a3..534990648 100644
--- a/lib/plugins/authldap/lang/ru/settings.php
+++ b/lib/plugins/authldap/lang/ru/settings.php
@@ -8,10 +8,20 @@
* @author Erli Moen <evseev.jr@gmail.com>
* @author Aleksandr Selivanov <alexgearbox@yandex.ru>
* @author Владимир <id37736@yandex.ru>
+ * @author Vitaly Filatenko <kot@hacktest.net>
*/
+$lang['server'] = 'Ваш LDAP сервер. Либо имя хоста (<code>localhost</code>), либо полный URL (<code>ldap://server.tld:389</code>)';
+$lang['port'] = 'Порт LDAP сервера, если выше не был указан полный URL';
+$lang['usertree'] = 'Где искать аккаунты пользователей. Например: <code>ou=People, dc=server, dc=tld</code>';
+$lang['grouptree'] = 'Где искать группы пользователей. Например: <code>ou=Group, dc=server, dc=tld</code>';
+$lang['userfilter'] = 'LDAP фильтр для поиска аккаунтов пользователей. Например: <code>(&amp;(uid=%{user})(objectClass=posixAccount))</code>';
+$lang['groupfilter'] = 'LDAP фильтр для поиска групп. Например: <code>(&amp;(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>';
+$lang['version'] = 'Версия протокола. Возможно вам нужно указать <code>3</code>';
$lang['starttls'] = 'Использовать TLS подключения?';
$lang['deref'] = 'Как расшифровывать псевдонимы?';
$lang['bindpw'] = 'Пароль для указанного пользователя.';
+$lang['userscope'] = 'Ограничить область поиска при поиске пользователей';
+$lang['groupscope'] = 'Ограничить область поиска при поиске групп';
$lang['debug'] = 'Показывать дополнительную отладочную информацию при ошибках';
$lang['deref_o_0'] = 'LDAP_DEREF_NEVER';
$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING';
diff --git a/lib/plugins/authmysql/auth.php b/lib/plugins/authmysql/auth.php
index 95c62f636..0d423b6c9 100644
--- a/lib/plugins/authmysql/auth.php
+++ b/lib/plugins/authmysql/auth.php
@@ -115,7 +115,8 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
* Check if the given config strings are set
*
* @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
- * @param array $keys
+ *
+ * @param string[] $keys
* @param bool $wop is this a check for a write operation?
* @return bool
*/
@@ -284,7 +285,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
$grpdel = array_diff($groups, $changes['grps']);
foreach($grpadd as $group) {
- if(($this->_addUserToGroup($user, $group, 1)) == false) {
+ if(($this->_addUserToGroup($user, $group, true)) == false) {
$rc = false;
}
}
@@ -366,7 +367,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
*
* @param int $first index of first user to be returned
* @param int $limit max number of users to be returned
- * @param array|string $filter array of field/pattern pairs
+ * @param array $filter array of field/pattern pairs
* @return array userinfo (refer getUserData for internal userinfo details)
*/
public function retrieveUsers($first = 0, $limit = 0, $filter = array()) {
@@ -612,7 +613,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
if($uid) {
foreach($grps as $group) {
- $gid = $this->_addUserToGroup($user, $group, 1);
+ $gid = $this->_addUserToGroup($user, $group, true);
if($gid === false) break;
}
@@ -668,7 +669,6 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
*
* @param string $user username of the user whose data is to be removed from the cache
* if null, empty the whole cache
- * @return none
*/
protected function _flushUserInfoCache($user=null) {
if (is_null($user)) {
@@ -750,7 +750,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
* @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
*
* @param string $user user's nick to get data for
- * @return bool|array false on error, user info on success
+ * @return false|array false on error, user info on success
*/
protected function _retrieveUserInfo($user) {
$sql = str_replace('%{user}', $this->_escape($user), $this->getConf('getUserInfo'));
@@ -777,7 +777,6 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
*
* @param string $user user's nick being updated
* @param array $changes array of items to change as pairs of item and value
- * @param mixed $uid user id of dataset to change, must be unique in DB
* @return bool true on success or false on error
*
* @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
@@ -838,7 +837,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
* @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
*
* @param string $group group name which id is desired
- * @return mixed group id
+ * @return false|string group id
*/
protected function _getGroupID($group) {
if($this->dbcon) {
@@ -911,7 +910,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
* @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
*
* @param string $query SQL string that contains the query
- * @return array with the result table
+ * @return array|false with the result table
*/
protected function _queryDB($query) {
if($this->getConf('debug') >= 2) {
@@ -1002,6 +1001,8 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
* abrogated.
*
* @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
+ *
+ * @return bool
*/
protected function _unlockTables() {
if($this->dbcon) {
diff --git a/lib/plugins/authmysql/lang/cs/settings.php b/lib/plugins/authmysql/lang/cs/settings.php
index 350c3236b..09146a451 100644
--- a/lib/plugins/authmysql/lang/cs/settings.php
+++ b/lib/plugins/authmysql/lang/cs/settings.php
@@ -4,6 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author mkucera66@seznam.cz
+ * @author Jaroslav Lichtblau <jlichtblau@seznam.cz>
*/
$lang['server'] = 'Váš server MySQL';
$lang['user'] = 'Uživatelské jméno pro MySQL';
@@ -19,7 +20,7 @@ $lang['getGroups'] = 'Příkaz SQL pro získání uživatelovy skupi
$lang['getUsers'] = 'Příkaz SQL pro seznam všech uživatelů';
$lang['FilterLogin'] = 'Příkaz SQL pro filtrování uživatelů podle přihlašovacího jména';
$lang['FilterName'] = 'Příkaz SQL pro filtrování uživatelů podle celého jména';
-$lang['FilterEmail'] = 'Příkaz SQL pro filtrování uživatelů podle adres emailů';
+$lang['FilterEmail'] = 'Příkaz SQL pro filtrování uživatelů podle adres e-mailů';
$lang['FilterGroup'] = 'Příkaz SQL pro filtrování uživatelů podle členství ve skupinách';
$lang['SortOrder'] = 'Příkaz SQL pro řazení uživatelů';
$lang['addUser'] = 'Příkaz SQL pro přidání nového uživatele';
@@ -32,7 +33,7 @@ $lang['delUserRefs'] = 'Příkaz SQL pro odstranění členství uživ
$lang['updateUser'] = 'Příkaz SQL pro aktualizaci uživatelského profilu';
$lang['UpdateLogin'] = 'Klauzule pro aktualizaci přihlačovacího jména uživatele';
$lang['UpdatePass'] = 'Klauzule pro aktualizaci hesla uživatele';
-$lang['UpdateEmail'] = 'Klauzule pro aktualizaci emailové adresy uživatele';
+$lang['UpdateEmail'] = 'Klauzule pro aktualizaci e-mailové adresy uživatele';
$lang['UpdateName'] = 'Klauzule pro aktualizaci celého jména uživatele';
$lang['UpdateTarget'] = 'Omezující klauzule pro identifikaci uživatele při aktualizaci';
$lang['delUserGroup'] = 'Příkaz SQL pro zrušení členství uživatele v dané skupině';
diff --git a/lib/plugins/authmysql/lang/da/settings.php b/lib/plugins/authmysql/lang/da/settings.php
index 1e38cb6b4..ed21201fb 100644
--- a/lib/plugins/authmysql/lang/da/settings.php
+++ b/lib/plugins/authmysql/lang/da/settings.php
@@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
* @author Jens Hyllegaard <jens.hyllegaard@gmail.com>
* @author soer9648 <soer9648@eucl.dk>
*/
@@ -11,6 +11,7 @@ $lang['user'] = 'MySQL brugernavn';
$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['checkPass'] = 'SQL-sætning til at kontrollere kodeord';
$lang['getUserInfo'] = 'SQL-sætning til at hente brugerinformation';
$lang['getUsers'] = 'SQL-sætning til at liste alle brugere';
@@ -21,7 +22,6 @@ $lang['delGroup'] = 'SQL-sætning til at fjerne en gruppe';
$lang['delUser'] = 'SQL-sætning til at slette en bruger';
$lang['delUserRefs'] = 'SQL-sætning til at fjerne en bruger fra alle grupper';
$lang['updateUser'] = 'SQL-sætning til at opdatere en brugerprofil';
-$lang['debug'] = 'Vis yderligere debug output';
$lang['debug_o_0'] = 'ingen';
$lang['debug_o_1'] = 'kun ved fejl';
$lang['debug_o_2'] = 'alle SQL forespørgsler';
diff --git a/lib/plugins/authmysql/lang/fi/settings.php b/lib/plugins/authmysql/lang/fi/settings.php
new file mode 100644
index 000000000..32517957b
--- /dev/null
+++ b/lib/plugins/authmysql/lang/fi/settings.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Jussi Takala <jussi.takala@live.fi>
+ */
+$lang['server'] = 'Sinun MySQL-serveri';
+$lang['user'] = 'MySQL-käyttäjänimi';
+$lang['password'] = 'Salasana yläolevalle käyttäjälle';
+$lang['charset'] = 'Käytetty merkistö tietokannassa';
diff --git a/lib/plugins/authmysql/lang/no/settings.php b/lib/plugins/authmysql/lang/no/settings.php
new file mode 100644
index 000000000..45ab09819
--- /dev/null
+++ b/lib/plugins/authmysql/lang/no/settings.php
@@ -0,0 +1,14 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Patrick <spill.p@hotmail.com>
+ */
+$lang['server'] = 'Din MySQL-server';
+$lang['user'] = 'Ditt MySQL-brukernavn';
+$lang['password'] = 'Passord til brukeren';
+$lang['database'] = 'Database som skal brukes';
+$lang['debug_o_0'] = 'ingen';
+$lang['debug_o_1'] = 'bare ved feil';
+$lang['debug_o_2'] = 'alle SQL-forespørsler';
diff --git a/lib/plugins/authpgsql/auth.php b/lib/plugins/authpgsql/auth.php
index de41598e0..4cb280aae 100644
--- a/lib/plugins/authpgsql/auth.php
+++ b/lib/plugins/authpgsql/auth.php
@@ -104,7 +104,7 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql {
*
* @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
*
- * @param array $keys
+ * @param string[] $keys
* @param bool $wop
* @return bool
*/
@@ -267,7 +267,7 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql {
if($uid) {
foreach($grps as $group) {
- $gid = $this->_addUserToGroup($user, $group, 1);
+ $gid = $this->_addUserToGroup($user, $group, true);
if($gid === false) break;
}
@@ -342,7 +342,7 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql {
* @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
*
* @param string $query SQL string that contains the query
- * @return array the result table
+ * @return array|false the result table
*/
protected function _queryDB($query) {
$resultarray = array();
@@ -365,6 +365,9 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql {
* MySQL one because it does NOT return the last insertID
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param string $query
+ * @return bool
*/
protected function _modifyDB($query) {
if($this->dbcon) {
@@ -398,6 +401,8 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql {
* Commit a transaction
*
* @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
+ *
+ * @return bool
*/
protected function _unlockTables() {
if($this->dbcon) {
diff --git a/lib/plugins/authpgsql/lang/cs/settings.php b/lib/plugins/authpgsql/lang/cs/settings.php
index aec7eecf1..ad135e241 100644
--- a/lib/plugins/authpgsql/lang/cs/settings.php
+++ b/lib/plugins/authpgsql/lang/cs/settings.php
@@ -4,6 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author mkucera66@seznam.cz
+ * @author Jaroslav Lichtblau <jlichtblau@seznam.cz>
*/
$lang['server'] = 'Váš server PostgreSQL';
$lang['port'] = 'Port vašeho serveru PostgreSQL';
@@ -18,7 +19,7 @@ $lang['getGroups'] = 'Příkaz SQL pro získání členství uživat
$lang['getUsers'] = 'Příkaz SQL pro seznam všech uživatelů';
$lang['FilterLogin'] = 'Příkaz SQL pro filtrování uživatelů podle přihlašovacího jména';
$lang['FilterName'] = 'Příkaz SQL pro filtrování uživatelů podle celého jména';
-$lang['FilterEmail'] = 'Příkaz SQL pro filtrování uživatelů podle adres emailů';
+$lang['FilterEmail'] = 'Příkaz SQL pro filtrování uživatelů podle adres e-mailů';
$lang['FilterGroup'] = 'Příkaz SQL pro filtrování uživatelů podle členství ve skupinách';
$lang['SortOrder'] = 'Příkaz SQL pro řazení uživatelů';
$lang['addUser'] = 'Příkaz SQL pro řazení uživatelů';
@@ -31,7 +32,7 @@ $lang['delUserRefs'] = 'Příkaz SQL pro odstranění členství uživ
$lang['updateUser'] = 'Příkaz SQL pro aktualizaci uživatelského profilu';
$lang['UpdateLogin'] = 'Klauzule pro aktualizaci přihlačovacího jména uživatele';
$lang['UpdatePass'] = 'Klauzule pro aktualizaci hesla uživatele';
-$lang['UpdateEmail'] = 'Klauzule pro aktualizaci emailové adresy uživatele';
+$lang['UpdateEmail'] = 'Klauzule pro aktualizaci e-mailové adresy uživatele';
$lang['UpdateName'] = 'Klauzule pro aktualizaci celého jména uživatele';
$lang['UpdateTarget'] = 'Omezující klauzule pro identifikaci uživatele při aktualizaci';
$lang['delUserGroup'] = 'Příkaz SQL pro zrušení členství uživatele v dané skupině';
diff --git a/lib/plugins/authpgsql/lang/it/settings.php b/lib/plugins/authpgsql/lang/it/settings.php
index baf40a468..e8a40dcb2 100644
--- a/lib/plugins/authpgsql/lang/it/settings.php
+++ b/lib/plugins/authpgsql/lang/it/settings.php
@@ -4,8 +4,10 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Francesco <francesco.cavalli@hotmail.com>
+ * @author Torpedo <dgtorpedo@gmail.com>
*/
$lang['server'] = 'Il tuo server PostgreSQL ';
$lang['port'] = 'La porta del tuo server PostgreSQL ';
$lang['user'] = 'Lo username PostgreSQL';
$lang['database'] = 'Database da usare';
+$lang['getUsers'] = 'Dichiarazione SQL per elencare tutti gli utenti';
diff --git a/lib/plugins/authpgsql/lang/ru/settings.php b/lib/plugins/authpgsql/lang/ru/settings.php
index 668ba4ef6..416ea0ec9 100644
--- a/lib/plugins/authpgsql/lang/ru/settings.php
+++ b/lib/plugins/authpgsql/lang/ru/settings.php
@@ -6,6 +6,7 @@
* @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua)
* @author Aleksandr Selivanov <alexgearbox@gmail.com>
* @author Aleksandr Selivanov <alexgearbox@yandex.ru>
+ * @author Vitaly Filatenko <kot@hacktest.net>
*/
$lang['server'] = 'Ваш PostgreSQL-сервер';
$lang['port'] = 'Порт вашего PostgreSQL-сервера';
@@ -30,5 +31,8 @@ $lang['getUserID'] = 'Выражение SQL, обеспечиваю
$lang['delUser'] = 'Выражение SQL, осуществляющее удаление пользователя';
$lang['delUserRefs'] = 'Выражение SQL, осуществляющее удаление пользователя из всех группы';
$lang['updateUser'] = 'Выражение SQL, осуществляющее обновление профиля пользователя';
+$lang['UpdateLogin'] = 'Измените условие для обновления логина';
+$lang['UpdatePass'] = 'Измените условие для обновления пароля';
+$lang['UpdateEmail'] = 'Измените условие для обновления email';
$lang['delUserGroup'] = 'Выражение SQL, осуществляющее удаление пользователя из указанной группы';
$lang['getGroupID'] = 'Выражение SQL, обеспечивающее получение первичного ключа указанной группы';
diff --git a/lib/plugins/authplain/_test/escaping.test.php b/lib/plugins/authplain/_test/escaping.test.php
index cbfbbc587..9df96389a 100644
--- a/lib/plugins/authplain/_test/escaping.test.php
+++ b/lib/plugins/authplain/_test/escaping.test.php
@@ -12,10 +12,11 @@
* @group plugins
*/
class helper_plugin_authplain_escaping_test extends DokuWikiTest {
-
+
protected $pluginsEnabled = array('authplainharness');
+ /** @var auth_plugin_authplain|auth_plugin_authplainharness */
protected $auth;
-
+
protected function reloadUsers() {
/* auth caches data loaded from file, but recreated object forces reload */
$this->auth = new auth_plugin_authplainharness();
@@ -116,4 +117,4 @@ class auth_plugin_authplainharness extends auth_plugin_authplain {
public function splitUserData($line){
return $this->_splitUserData($line);
}
-} \ No newline at end of file
+}
diff --git a/lib/plugins/authplain/auth.php b/lib/plugins/authplain/auth.php
index 3d303597c..fd2d0b249 100644
--- a/lib/plugins/authplain/auth.php
+++ b/lib/plugins/authplain/auth.php
@@ -82,7 +82,7 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
* @author Andreas Gohr <andi@splitbrain.org>
* @param string $user
* @param bool $requireGroups (optional) ignored by this plugin, grps info always supplied
- * @return array|bool
+ * @return array|false
*/
public function getUserData($user, $requireGroups=true) {
if($this->users === null) $this->_loadUserData();
diff --git a/lib/plugins/config/admin.php b/lib/plugins/config/admin.php
index 835d27775..9202a221b 100644
--- a/lib/plugins/config/admin.php
+++ b/lib/plugins/config/admin.php
@@ -32,6 +32,9 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
var $_session_started = false;
var $_localised_prompts = false;
+ /**
+ * @return int
+ */
function getMenuSort() { return 100; }
/**
@@ -40,14 +43,20 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
function handle() {
global $ID, $INPUT;
- if (!$this->_restore_session()) return $this->_close_session();
- if ($INPUT->int('save') != 1) return $this->_close_session();
- if (!checkSecurityToken()) return $this->_close_session();
+ if(!$this->_restore_session() || $INPUT->int('save') != 1 || !checkSecurityToken()) {
+ $this->_close_session();
+ return;
+ }
- if (is_null($this->_config)) { $this->_config = new configuration($this->_file); }
+ if(is_null($this->_config)) {
+ $this->_config = new configuration($this->_file);
+ }
// don't go any further if the configuration is locked
- if ($this->_config->_locked) return $this->_close_session();
+ if($this->_config->locked) {
+ $this->_close_session();
+ return;
+ }
$this->_input = $INPUT->arr('config');
@@ -104,6 +113,7 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
formSecurityToken();
$this->_print_h1('dokuwiki_settings', $this->getLang('_header_dokuwiki'));
+ /** @var setting[] $undefined_settings */
$undefined_settings = array();
$in_fieldset = false;
$first_plugin_fieldset = true;
@@ -162,7 +172,17 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
// show undefined settings list
if ($allow_debug && !empty($undefined_settings)) {
- function _setting_natural_comparison($a, $b) { return strnatcmp($a->_key, $b->_key); }
+ /**
+ * Callback for sorting settings
+ *
+ * @param setting $a
+ * @param setting $b
+ * @return int if $a is lower/equal/higher than $b
+ */
+ function _setting_natural_comparison($a, $b) {
+ return strnatcmp($a->_key, $b->_key);
+ }
+
usort($undefined_settings, '_setting_natural_comparison');
$this->_print_h1('undefined_settings', $this->getLang('_header_undefined'));
ptln('<fieldset>');
@@ -235,6 +255,9 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
if ($this->_session_started) session_write_close();
}
+ /**
+ * @param bool $prompts
+ */
function setupLocale($prompts=false) {
parent::setupLocale();
@@ -245,6 +268,9 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
}
+ /**
+ * @return bool
+ */
function _setup_localised_plugin_prompts() {
global $conf;
@@ -299,6 +325,8 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
* Generates a two-level table of contents for the config plugin.
*
* @author Ben Coburn <btcoburn@silicodon.net>
+ *
+ * @return array
*/
function getTOC() {
if (is_null($this->_config)) { $this->_config = new configuration($this->_file); }
@@ -328,6 +356,7 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
$t[] = html_mktocitem('configuration_manager', $this->getLang('_configuration_manager'), 1);
$t[] = html_mktocitem('dokuwiki_settings', $this->getLang('_header_dokuwiki'), 1);
+ /** @var setting $setting */
foreach($toc['conf'] as $setting) {
$name = $setting->prompt($this);
$t[] = html_mktocitem($setting->_key, $name, 2);
@@ -352,6 +381,10 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
return $t;
}
+ /**
+ * @param string $id
+ * @param string $text
+ */
function _print_h1($id, $text) {
ptln('<h1 id="'.$id.'">'.$text.'</h1>');
}
diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php
index 8dae23110..590631dae 100644
--- a/lib/plugins/config/settings/config.class.php
+++ b/lib/plugins/config/settings/config.class.php
@@ -10,7 +10,9 @@
if(!defined('CM_KEYMARKER')) define('CM_KEYMARKER','____');
if (!class_exists('configuration')) {
-
+ /**
+ * Class configuration
+ */
class configuration {
var $_name = 'conf'; // name of the config variable found in the files (overridden by $config['varname'])
@@ -151,6 +153,8 @@ if (!class_exists('configuration')) {
/**
* Update last modified time stamp of the config file
+ *
+ * @return bool
*/
public function touch_settings(){
if ($this->locked) return false;
@@ -285,6 +289,10 @@ if (!class_exists('configuration')) {
/**
* not used ... conf's contents are an array!
* reduce any multidimensional settings to one dimension using CM_KEYMARKER
+ *
+ * @param $conf
+ * @param string $prefix
+ * @return array
*/
protected function _flatten($conf,$prefix='') {
@@ -403,6 +411,9 @@ if (!class_exists('configuration')) {
}
if (!class_exists('setting')) {
+ /**
+ * Class setting
+ */
class setting {
var $_key = '';
@@ -452,7 +463,7 @@ if (!class_exists('setting')) {
* - if changed value passes error check, set $this->_local to the new value
*
* @param mixed $input the new value
- * @return boolean true if changed, false otherwise (incl. on error)
+ * @return boolean true if changed, false otherwise (also on error)
*/
public function update($input) {
if (is_null($input)) return false;
@@ -476,10 +487,9 @@ if (!class_exists('setting')) {
*
* @param DokuWiki_Plugin $plugin object of config plugin
* @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting
- * @return array(string $label_html, string $input_html)
+ * @return array with content array(string $label_html, string $input_html)
*/
public function html(&$plugin, $echo=false) {
- $value = '';
$disable = '';
if ($this->is_protected()) {
@@ -503,6 +513,10 @@ if (!class_exists('setting')) {
/**
* Generate string to save setting value to file according to $fmt
+ *
+ * @param string $var name of variable
+ * @param string $fmt save format
+ * @return string
*/
public function out($var, $fmt='php') {
@@ -556,7 +570,7 @@ if (!class_exists('setting')) {
/**
* Returns caution
*
- * @return bool|string caution string, otherwise false for invalid caution
+ * @return false|string caution string, otherwise false for invalid caution
*/
public function caution() {
if (!empty($this->_caution)) {
@@ -603,12 +617,15 @@ if (!class_exists('setting')) {
if (!class_exists('setting_array')) {
+ /**
+ * Class setting_array
+ */
class setting_array extends setting {
/**
* Create an array from a string
*
- * @param $string
+ * @param string $string
* @return array
*/
protected function _from_string($string){
@@ -622,7 +639,7 @@ if (!class_exists('setting_array')) {
/**
* Create a string from an array
*
- * @param $array
+ * @param array $array
* @return string
*/
protected function _from_array($array){
@@ -657,13 +674,23 @@ if (!class_exists('setting_array')) {
return true;
}
+ /**
+ * Escaping
+ *
+ * @param string $string
+ * @return string
+ */
protected function _escape($string) {
$tr = array("\\" => '\\\\', "'" => '\\\'');
return "'".strtr( cleanText($string), $tr)."'";
}
/**
- * generate string to save setting value to file according to $fmt
+ * Generate string to save setting value to file according to $fmt
+ *
+ * @param string $var name of variable
+ * @param string $fmt save format
+ * @return string
*/
function out($var, $fmt='php') {
@@ -680,8 +707,14 @@ if (!class_exists('setting_array')) {
return $out;
}
+ /**
+ * Build html for label and input of setting
+ *
+ * @param DokuWiki_Plugin $plugin object of config plugin
+ * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting
+ * @return array with content array(string $label_html, string $input_html)
+ */
function html(&$plugin, $echo=false) {
- $value = '';
$disable = '';
if ($this->is_protected()) {
@@ -706,9 +739,18 @@ if (!class_exists('setting_array')) {
}
if (!class_exists('setting_string')) {
+ /**
+ * Class setting_string
+ */
class setting_string extends setting {
+ /**
+ * Build html for label and input of setting
+ *
+ * @param DokuWiki_Plugin $plugin object of config plugin
+ * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting
+ * @return array with content array(string $label_html, string $input_html)
+ */
function html(&$plugin, $echo=false) {
- $value = '';
$disable = '';
if ($this->is_protected()) {
@@ -733,10 +775,21 @@ if (!class_exists('setting_string')) {
}
if (!class_exists('setting_password')) {
+ /**
+ * Class setting_password
+ */
class setting_password extends setting_string {
var $_code = 'plain'; // mechanism to be used to obscure passwords
+ /**
+ * update changed setting with user provided value $input
+ * - if changed value fails error check, save it to $this->_input (to allow echoing later)
+ * - if changed value passes error check, set $this->_local to the new value
+ *
+ * @param mixed $input the new value
+ * @return boolean true if changed, false otherwise (also on error)
+ */
function update($input) {
if ($this->is_protected()) return false;
if (!$input) return false;
@@ -751,9 +804,15 @@ if (!class_exists('setting_password')) {
return true;
}
+ /**
+ * Build html for label and input of setting
+ *
+ * @param DokuWiki_Plugin $plugin object of config plugin
+ * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting
+ * @return array with content array(string $label_html, string $input_html)
+ */
function html(&$plugin, $echo=false) {
- $value = '';
$disable = $this->is_protected() ? 'disabled="disabled"' : '';
$key = htmlspecialchars($this->_key);
@@ -766,7 +825,9 @@ if (!class_exists('setting_password')) {
}
if (!class_exists('setting_email')) {
-
+ /**
+ * Class setting_email
+ */
class setting_email extends setting_string {
var $_multiple = false;
var $_placeholders = false;
@@ -775,6 +836,7 @@ if (!class_exists('setting_email')) {
* update setting with user provided value $input
* if value fails error check, save it
*
+ * @param mixed $input
* @return boolean true if changed, false otherwise (incl. on error)
*/
function update($input) {
@@ -829,7 +891,17 @@ if (!class_exists('setting_email')) {
* @deprecated 2013-02-16
*/
if (!class_exists('setting_richemail')) {
+ /**
+ * Class setting_richemail
+ */
class setting_richemail extends setting_email {
+ /**
+ * update changed setting with user provided value $input
+ * - if changed value fails error check, save it
+ *
+ * @param mixed $input the new value
+ * @return boolean true if changed, false otherwise (also on error)
+ */
function update($input) {
$this->_placeholders = true;
return parent::update($input);
@@ -839,6 +911,9 @@ if (!class_exists('setting_richemail')) {
if (!class_exists('setting_numeric')) {
+ /**
+ * Class setting_numeric
+ */
class setting_numeric extends setting_string {
// This allows for many PHP syntax errors...
// var $_pattern = '/^[-+\/*0-9 ]*$/';
@@ -847,6 +922,14 @@ if (!class_exists('setting_numeric')) {
var $_min = null;
var $_max = null;
+ /**
+ * update changed setting with user provided value $input
+ * - if changed value fails error check, save it to $this->_input (to allow echoing later)
+ * - if changed value passes error check, set $this->_local to the new value
+ *
+ * @param mixed $input the new value
+ * @return boolean true if changed, false otherwise (also on error)
+ */
function update($input) {
$local = $this->_local;
$valid = parent::update($input);
@@ -863,6 +946,13 @@ if (!class_exists('setting_numeric')) {
return $valid;
}
+ /**
+ * Generate string to save setting value to file according to $fmt
+ *
+ * @param string $var name of variable
+ * @param string $fmt save format
+ * @return string
+ */
function out($var, $fmt='php') {
if ($this->is_protected()) return '';
@@ -881,6 +971,9 @@ if (!class_exists('setting_numeric')) {
}
if (!class_exists('setting_numericopt')) {
+ /**
+ * Class setting_numericopt
+ */
class setting_numericopt extends setting_numeric {
// just allow an empty config
var $_pattern = '/^(|[-]?[0-9]+(?:[-+*][0-9]+)*)$/';
@@ -888,10 +981,18 @@ if (!class_exists('setting_numericopt')) {
}
if (!class_exists('setting_onoff')) {
+ /**
+ * Class setting_onoff
+ */
class setting_onoff extends setting_numeric {
-
+ /**
+ * Build html for label and input of setting
+ *
+ * @param DokuWiki_Plugin $plugin object of config plugin
+ * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting
+ * @return array with content array(string $label_html, string $input_html)
+ */
function html(&$plugin, $echo = false) {
- $value = '';
$disable = '';
if ($this->is_protected()) {
@@ -909,6 +1010,14 @@ if (!class_exists('setting_onoff')) {
return array($label,$input);
}
+ /**
+ * update changed setting with user provided value $input
+ * - if changed value fails error check, save it to $this->_input (to allow echoing later)
+ * - if changed value passes error check, set $this->_local to the new value
+ *
+ * @param mixed $input the new value
+ * @return boolean true if changed, false otherwise (also on error)
+ */
function update($input) {
if ($this->is_protected()) return false;
@@ -923,11 +1032,21 @@ if (!class_exists('setting_onoff')) {
}
if (!class_exists('setting_multichoice')) {
+ /**
+ * Class setting_multichoice
+ */
class setting_multichoice extends setting_string {
var $_choices = array();
+ var $lang; //some custom language strings are stored in setting
+ /**
+ * Build html for label and input of setting
+ *
+ * @param DokuWiki_Plugin $plugin object of config plugin
+ * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting
+ * @return array with content array(string $label_html, string $input_html)
+ */
function html(&$plugin, $echo = false) {
- $value = '';
$disable = '';
$nochoice = '';
@@ -970,6 +1089,14 @@ if (!class_exists('setting_multichoice')) {
return array($label,$input);
}
+ /**
+ * update changed setting with user provided value $input
+ * - if changed value fails error check, save it to $this->_input (to allow echoing later)
+ * - if changed value passes error check, set $this->_local to the new value
+ *
+ * @param mixed $input the new value
+ * @return boolean true if changed, false otherwise (also on error)
+ */
function update($input) {
if (is_null($input)) return false;
if ($this->is_protected()) return false;
@@ -987,10 +1114,20 @@ if (!class_exists('setting_multichoice')) {
if (!class_exists('setting_dirchoice')) {
+ /**
+ * Class setting_dirchoice
+ */
class setting_dirchoice extends setting_multichoice {
var $_dir = '';
+ /**
+ * Receives current values for the setting $key
+ *
+ * @param mixed $default default setting value
+ * @param mixed $local local setting value
+ * @param mixed $protected protected setting value
+ */
function initialize($default,$local,$protected) {
// populate $this->_choices with a list of directories
@@ -1016,12 +1153,18 @@ if (!class_exists('setting_dirchoice')) {
if (!class_exists('setting_hidden')) {
+ /**
+ * Class setting_hidden
+ */
class setting_hidden extends setting {
// Used to explicitly ignore a setting in the configuration manager.
}
}
if (!class_exists('setting_fieldset')) {
+ /**
+ * Class setting_fieldset
+ */
class setting_fieldset extends setting {
// A do-nothing class used to detect the 'fieldset' type.
// Used to start a new settings "display-group".
@@ -1029,6 +1172,9 @@ if (!class_exists('setting_fieldset')) {
}
if (!class_exists('setting_undefined')) {
+ /**
+ * Class setting_undefined
+ */
class setting_undefined extends setting_hidden {
// A do-nothing class used to detect settings with no metadata entry.
// Used internaly to hide undefined settings, and generate the undefined settings list.
@@ -1036,6 +1182,9 @@ if (!class_exists('setting_undefined')) {
}
if (!class_exists('setting_no_class')) {
+ /**
+ * Class setting_no_class
+ */
class setting_no_class extends setting_undefined {
// A do-nothing class used to detect settings with a missing setting class.
// Used internaly to hide undefined settings, and generate the undefined settings list.
@@ -1043,6 +1192,9 @@ if (!class_exists('setting_no_class')) {
}
if (!class_exists('setting_no_default')) {
+ /**
+ * Class setting_no_default
+ */
class setting_no_default extends setting_undefined {
// A do-nothing class used to detect settings with no default value.
// Used internaly to hide undefined settings, and generate the undefined settings list.
@@ -1050,11 +1202,22 @@ if (!class_exists('setting_no_default')) {
}
if (!class_exists('setting_multicheckbox')) {
+ /**
+ * Class setting_multicheckbox
+ */
class setting_multicheckbox extends setting_string {
var $_choices = array();
var $_combine = array();
+ /**
+ * update changed setting with user provided value $input
+ * - if changed value fails error check, save it to $this->_input (to allow echoing later)
+ * - if changed value passes error check, set $this->_local to the new value
+ *
+ * @param mixed $input the new value
+ * @return boolean true if changed, false otherwise (also on error)
+ */
function update($input) {
if ($this->is_protected()) return false;
@@ -1075,9 +1238,15 @@ if (!class_exists('setting_multicheckbox')) {
return true;
}
+ /**
+ * Build html for label and input of setting
+ *
+ * @param DokuWiki_Plugin $plugin object of config plugin
+ * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting
+ * @return array with content array(string $label_html, string $input_html)
+ */
function html(&$plugin, $echo=false) {
- $value = '';
$disable = '';
if ($this->is_protected()) {
@@ -1125,7 +1294,7 @@ if (!class_exists('setting_multicheckbox')) {
// handle any remaining values
$other = join(',',$value);
- $class = (count($default == count($value)) && (count($value) == count(array_intersect($value,$default)))) ?
+ $class = ((count($default) == count($value)) && (count($value) == count(array_intersect($value,$default)))) ?
" selectiondefault" : "";
$input .= '<div class="other'.$class.'">'."\n";
@@ -1139,6 +1308,9 @@ if (!class_exists('setting_multicheckbox')) {
/**
* convert comma separated list to an array and combine any complimentary values
+ *
+ * @param string $str
+ * @return array
*/
function _str2array($str) {
$array = explode(',',$str);
@@ -1162,6 +1334,9 @@ if (!class_exists('setting_multicheckbox')) {
/**
* convert array of values + other back to a comma separated list, incl. splitting any combined values
+ *
+ * @param array $input
+ * @return string
*/
function _array2str($input) {
@@ -1190,6 +1365,9 @@ if (!class_exists('setting_multicheckbox')) {
}
if (!class_exists('setting_regex')){
+ /**
+ * Class setting_regex
+ */
class setting_regex extends setting_string {
var $_delimiter = '/'; // regex delimiter to be used in testing input
@@ -1213,7 +1391,7 @@ if (!class_exists('setting_regex')){
// see if the regex compiles and runs (we don't check for effectiveness)
$regex = $this->_delimiter . $input . $this->_delimiter . $this->_pregflags;
$lastError = error_get_last();
- $ok = @preg_match($regex,'testdata');
+ @preg_match($regex,'testdata');
if (preg_last_error() != PREG_NO_ERROR || error_get_last() != $lastError) {
$this->_input = $input;
$this->_error = true;
diff --git a/lib/plugins/config/settings/extra.class.php b/lib/plugins/config/settings/extra.class.php
index 83de802a3..232a8177f 100644
--- a/lib/plugins/config/settings/extra.class.php
+++ b/lib/plugins/config/settings/extra.class.php
@@ -6,8 +6,15 @@
*/
if (!class_exists('setting_sepchar')) {
+ /**
+ * Class setting_sepchar
+ */
class setting_sepchar extends setting_multichoice {
+ /**
+ * @param string $key
+ * @param array|null $param array with metadata of setting
+ */
function setting_sepchar($key,$param=null) {
$str = '_-.';
for ($i=0;$i<strlen($str);$i++) $this->_choices[] = $str{$i};
@@ -19,8 +26,19 @@ if (!class_exists('setting_sepchar')) {
}
if (!class_exists('setting_savedir')) {
+ /**
+ * Class setting_savedir
+ */
class setting_savedir extends setting_string {
+ /**
+ * update changed setting with user provided value $input
+ * - if changed value fails error check, save it to $this->_input (to allow echoing later)
+ * - if changed value passes error check, set $this->_local to the new value
+ *
+ * @param mixed $input the new value
+ * @return boolean true if changed, false otherwise (also on error)
+ */
function update($input) {
if ($this->is_protected()) return false;
@@ -40,9 +58,20 @@ if (!class_exists('setting_savedir')) {
}
if (!class_exists('setting_authtype')) {
+ /**
+ * Class setting_authtype
+ */
class setting_authtype extends setting_multichoice {
+ /**
+ * Receives current values for the setting $key
+ *
+ * @param mixed $default default setting value
+ * @param mixed $local local setting value
+ * @param mixed $protected protected setting value
+ */
function initialize($default,$local,$protected) {
+ /** @var $plugin_controller Doku_Plugin_Controller */
global $plugin_controller;
// retrieve auth types provided by plugins
@@ -53,7 +82,16 @@ if (!class_exists('setting_authtype')) {
parent::initialize($default,$local,$protected);
}
+ /**
+ * update changed setting with user provided value $input
+ * - if changed value fails error check, save it to $this->_input (to allow echoing later)
+ * - if changed value passes error check, set $this->_local to the new value
+ *
+ * @param mixed $input the new value
+ * @return boolean true if changed, false otherwise (also on error)
+ */
function update($input) {
+ /** @var $plugin_controller Doku_Plugin_Controller */
global $plugin_controller;
// is an update possible/requested?
@@ -92,8 +130,19 @@ if (!class_exists('setting_authtype')) {
}
if (!class_exists('setting_im_convert')) {
+ /**
+ * Class setting_im_convert
+ */
class setting_im_convert extends setting_string {
+ /**
+ * update changed setting with user provided value $input
+ * - if changed value fails error check, save it to $this->_input (to allow echoing later)
+ * - if changed value passes error check, set $this->_local to the new value
+ *
+ * @param mixed $input the new value
+ * @return boolean true if changed, false otherwise (also on error)
+ */
function update($input) {
if ($this->is_protected()) return false;
@@ -115,14 +164,24 @@ if (!class_exists('setting_im_convert')) {
}
if (!class_exists('setting_disableactions')) {
+ /**
+ * Class setting_disableactions
+ */
class setting_disableactions extends setting_multicheckbox {
+ /**
+ * Build html for label and input of setting
+ *
+ * @param DokuWiki_Plugin $plugin object of config plugin
+ * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting
+ * @return array with content array(string $label_html, string $input_html)
+ */
function html(&$plugin, $echo=false) {
global $lang;
// make some language adjustments (there must be a better way)
// transfer some DokuWiki language strings to the plugin
- if (!$plugin->localised) $this->setupLocale();
+ if (!$plugin->localised) $plugin->setupLocale();
$plugin->lang[$this->_key.'_revisions'] = $lang['btn_revs'];
foreach ($this->_choices as $choice)
@@ -134,10 +193,20 @@ if (!class_exists('setting_disableactions')) {
}
if (!class_exists('setting_compression')) {
+ /**
+ * Class setting_compression
+ */
class setting_compression extends setting_multichoice {
var $_choices = array('0'); // 0 = no compression, always supported
+ /**
+ * Receives current values for the setting $key
+ *
+ * @param mixed $default default setting value
+ * @param mixed $local local setting value
+ * @param mixed $protected protected setting value
+ */
function initialize($default,$local,$protected) {
// populate _choices with the compression methods supported by this php installation
@@ -150,16 +219,26 @@ if (!class_exists('setting_compression')) {
}
if (!class_exists('setting_license')) {
+ /**
+ * Class setting_license
+ */
class setting_license extends setting_multichoice {
var $_choices = array(''); // none choosen
+ /**
+ * Receives current values for the setting $key
+ *
+ * @param mixed $default default setting value
+ * @param mixed $local local setting value
+ * @param mixed $protected protected setting value
+ */
function initialize($default,$local,$protected) {
global $license;
foreach($license as $key => $data){
$this->_choices[] = $key;
- $this->lang[$this->_key.'_o_'.$key] = $data['name'];
+ $this->lang[$this->_key.'_o_'.$key] = $data['name']; // stored in setting
}
parent::initialize($default,$local,$protected);
@@ -169,9 +248,20 @@ if (!class_exists('setting_license')) {
if (!class_exists('setting_renderer')) {
+ /**
+ * Class setting_renderer
+ */
class setting_renderer extends setting_multichoice {
var $_prompts = array();
-
+ var $_format = null;
+
+ /**
+ * Receives current values for the setting $key
+ *
+ * @param mixed $default default setting value
+ * @param mixed $local local setting value
+ * @param mixed $protected protected setting value
+ */
function initialize($default,$local,$protected) {
$format = $this->_format;
@@ -188,11 +278,18 @@ if (!class_exists('setting_renderer')) {
parent::initialize($default,$local,$protected);
}
+ /**
+ * Build html for label and input of setting
+ *
+ * @param DokuWiki_Plugin $plugin object of config plugin
+ * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting
+ * @return array with content array(string $label_html, string $input_html)
+ */
function html(&$plugin, $echo=false) {
// make some language adjustments (there must be a better way)
// transfer some plugin names to the config plugin
- if (!$plugin->localised) $this->setupLocale();
+ if (!$plugin->localised) $plugin->setupLocale();
foreach ($this->_choices as $choice) {
if (!isset($plugin->lang[$this->_key.'_o_'.$choice])) {
diff --git a/lib/plugins/extension/admin.php b/lib/plugins/extension/admin.php
index 99c74848b..71257cf43 100644
--- a/lib/plugins/extension/admin.php
+++ b/lib/plugins/extension/admin.php
@@ -54,6 +54,10 @@ class admin_plugin_extension extends DokuWiki_Admin_Plugin {
msg($this->getLang('repo_error').' [<a href="'.$url.'">'.$this->getLang('repo_retry').'</a>]', -1);
}
+ if(!in_array('ssl', stream_get_transports())) {
+ msg($this->getLang('nossl'), -1);
+ }
+
/* @var helper_plugin_extension_extension $extension */
$extension = $this->loadHelper('extension_extension');
@@ -75,10 +79,10 @@ class admin_plugin_extension extends DokuWiki_Admin_Plugin {
case 'uninstall':
$extension->setExtension($extname);
$status = $extension->uninstall();
- if($status !== true) {
- msg($status, -1);
- } else {
+ if($status) {
msg(sprintf($this->getLang('msg_delete_success'), hsc($extension->getDisplayName())), 1);
+ } else {
+ msg(sprintf($this->getLang('msg_delete_failed'), hsc($extension->getDisplayName())), -1);
}
break;
case 'enable';
diff --git a/lib/plugins/extension/helper/extension.php b/lib/plugins/extension/helper/extension.php
index 2aca0e218..dfa624907 100644
--- a/lib/plugins/extension/helper/extension.php
+++ b/lib/plugins/extension/helper/extension.php
@@ -799,7 +799,7 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin {
*
* The directory is registered for cleanup when the class is destroyed
*
- * @return bool|string
+ * @return false|string
*/
protected function mkTmpDir(){
$dir = io_mktmpdir();
@@ -1079,7 +1079,7 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin {
*
* @author Andreas Gohr <andi@splitbrain.org>
* @param string $file The file to analyze
- * @return string|bool false if the file can't be read, otherwise an "extension"
+ * @return string|false false if the file can't be read, otherwise an "extension"
*/
private function guess_archive($file) {
$fh = fopen($file, 'rb');
@@ -1095,6 +1095,10 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin {
/**
* Copy with recursive sub-directory support
+ *
+ * @param string $src filename path to file
+ * @param string $dst filename path to file
+ * @return bool|int|string
*/
private function dircopy($src, $dst) {
global $conf;
diff --git a/lib/plugins/extension/helper/list.php b/lib/plugins/extension/helper/list.php
index 9b1988d84..872cccc8c 100644
--- a/lib/plugins/extension/helper/list.php
+++ b/lib/plugins/extension/helper/list.php
@@ -333,7 +333,6 @@ class helper_plugin_extension_list extends DokuWiki_Plugin {
* Shortens the URL for display
*
* @param string $url
- *
* @return string HTML link
*/
function shortlink($url){
@@ -461,6 +460,7 @@ class helper_plugin_extension_list extends DokuWiki_Plugin {
* @return string The HTML code
*/
function make_actions(helper_plugin_extension_extension $extension) {
+ global $conf;
$return = '';
$errors = '';
@@ -492,6 +492,10 @@ class helper_plugin_extension_list extends DokuWiki_Plugin {
$errors .= '<p class="permerror">'.$this->getLang('git').'</p>';
}
+ if ($extension->isEnabled() && in_array('Auth', $extension->getTypes()) && $conf['auth'] != $extension->getID()) {
+ $errors .= '<p class="permerror">'.$this->getLang('auth').'</p>';
+ }
+
}else{
if (($canmod = $extension->canModify()) === true) {
if ($extension->getDownloadURL()) {
diff --git a/lib/plugins/extension/helper/repository.php b/lib/plugins/extension/helper/repository.php
index 6ffe89eb7..5dc2707cf 100644
--- a/lib/plugins/extension/helper/repository.php
+++ b/lib/plugins/extension/helper/repository.php
@@ -32,7 +32,7 @@ class helper_plugin_extension_repository extends DokuWiki_Plugin {
$request_needed = false;
foreach ($list as $name) {
$cache = new cache('##extension_manager##'.$name, '.repo');
- $result = null;
+
if (!isset($this->loaded_extensions[$name]) && $this->hasAccess() && !$cache->useCache(array('age' => 3600 * 24))) {
$this->loaded_extensions[$name] = true;
$request_data['ext'][] = $name;
@@ -64,7 +64,7 @@ class helper_plugin_extension_repository extends DokuWiki_Plugin {
public function hasAccess() {
if ($this->has_access === null) {
$cache = new cache('##extension_manager###hasAccess', '.repo');
- $result = null;
+
if (!$cache->useCache(array('age' => 3600 * 24, 'purge'=>1))) {
$httpclient = new DokuHTTPClient();
$httpclient->timeout = 5;
@@ -91,7 +91,7 @@ class helper_plugin_extension_repository extends DokuWiki_Plugin {
*/
public function getData($name) {
$cache = new cache('##extension_manager##'.$name, '.repo');
- $result = null;
+
if (!isset($this->loaded_extensions[$name]) && $this->hasAccess() && !$cache->useCache(array('age' => 3600 * 24))) {
$this->loaded_extensions[$name] = true;
$httpclient = new DokuHTTPClient();
diff --git a/lib/plugins/extension/lang/cs/intro_templates.txt b/lib/plugins/extension/lang/cs/intro_templates.txt
new file mode 100644
index 000000000..45abe952c
--- /dev/null
+++ b/lib/plugins/extension/lang/cs/intro_templates.txt
@@ -0,0 +1 @@
+Toto jsou šablony, které jsou momentálně nainstalovány v této DokuWiki. Aktuálně používanu šablonu lze vybrat ve [[?do=admin&page=config|Správci rozšíření]]. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/cs/lang.php b/lib/plugins/extension/lang/cs/lang.php
index 783b488ea..dc38afd52 100644
--- a/lib/plugins/extension/lang/cs/lang.php
+++ b/lib/plugins/extension/lang/cs/lang.php
@@ -15,6 +15,7 @@ $lang['notimplemented'] = 'Tato vychytávka není dosud implementována';
$lang['notinstalled'] = 'Toto rozšíření není instalováno';
$lang['alreadyenabled'] = 'Toto rozšíření je již povoleno';
$lang['alreadydisabled'] = 'Toto rozšíření je již vypnuto';
+$lang['pluginlistsaveerror'] = 'Došlo k chybě při ukládání seznamu zásuvných modulů';
$lang['unknownauthor'] = 'Neznámý autor';
$lang['unknownversion'] = 'Neznámá verze';
$lang['btn_info'] = 'Zobrazit více informací';
@@ -27,12 +28,15 @@ $lang['btn_reinstall'] = 'Přeinstalovat';
$lang['js']['reallydel'] = 'Opravdu odinstalovat toto rozšíření?';
$lang['search_for'] = 'Hledat rozšíření:';
$lang['search'] = 'Hledat';
+$lang['extensionby'] = '<strong>%s</strong> od %s';
+$lang['screenshot'] = 'Screenshot %s';
$lang['popularity'] = 'Popularita: %s%%';
$lang['homepage_link'] = 'Dokumenty';
$lang['bugs_features'] = 'Chyby';
$lang['tags'] = 'Štítky:';
$lang['author_hint'] = 'Vyhledat rozšíření podle tohoto autora';
$lang['installed'] = 'Nainstalováno:';
+$lang['downloadurl'] = 'URL stahování:';
$lang['repository'] = 'Repozitář:';
$lang['unknown'] = '<em>neznámý</em>';
$lang['installed_version'] = 'Nainstalovaná verze:';
@@ -41,6 +45,7 @@ $lang['available_version'] = 'Dostupná verze:';
$lang['compatible'] = 'Kompatibilní s:';
$lang['depends'] = 'Závisí na:';
$lang['similar'] = 'Podobný jako:';
+$lang['conflicts'] = 'Koliduje s:';
$lang['donate'] = 'Líbí se ti to?';
$lang['donate_action'] = 'Kup autorovi kávu!';
$lang['repo_retry'] = 'Opakovat';
@@ -54,6 +59,34 @@ $lang['status_disabled'] = 'zakázaný';
$lang['status_unmodifiable'] = 'neměnný';
$lang['status_plugin'] = 'zásuvný modul';
$lang['status_template'] = 'šablona';
+$lang['status_bundled'] = 'svázaný';
+$lang['msg_enabled'] = 'Zásuvný modul %s povolen';
+$lang['msg_disabled'] = 'Zásuvný modul %s zakázán';
$lang['msg_delete_success'] = 'Rozšíření odinstalováno';
+$lang['msg_delete_failed'] = 'Odinstalování rozšíření %s selhalo';
+$lang['msg_template_install_success'] = 'Šablona %s úspěšně nainstalována';
+$lang['msg_template_update_success'] = 'Šablona %s úspěšně aktualizována';
$lang['msg_plugin_install_success'] = 'Zásuvný modul %s úspěšně nainstalován.';
$lang['msg_plugin_update_success'] = 'Zásuvný modul %s úspěšně aktualizován.';
+$lang['msg_upload_failed'] = 'Nahrávání souboru selhalo';
+$lang['missing_dependency'] = '<strong>Chybějící nebo zakázaná závislost:</strong> %s';
+$lang['security_issue'] = '<strong>Bezpečnostní problém:</strong> %s';
+$lang['security_warning'] = '<strong>Bezpečnostní varování:</strong> %s';
+$lang['update_available'] = '<strong>Aktualizace:</strong> Je dostupná nová verze %s.';
+$lang['wrong_folder'] = '<strong>Zásuvný modul nesprávně nainstalován:</strong> Přejmenujte adresář modulu "%s" na "%s".';
+$lang['url_change'] = '<strong>URL se změnila:</strong> URL pro stahování se změnila od poslední aktualizace. Před další aktualizací tohoto rozšíření ověřte správnost nové URL.<br />Nová: %s<br />Stará: %s';
+$lang['error_badurl'] = 'Adresy URL by měly začínat s http nebo https';
+$lang['error_dircreate'] = 'Nelze vytvořit dočasný adresář pro přijetí stahování';
+$lang['error_download'] = 'Nelze stáhnout soubor: %s';
+$lang['error_decompress'] = 'Selhalo rozbalení staženého souboru. Toto je nejspíš důsledek poškození souboru při přenosu, zkuste soubor stáhnout znovu; případně nemusel být rozpoznán formát sbaleného souboru a bude třeba přistoupit k ruční instalaci. ';
+$lang['error_findfolder'] = 'Nelze rozpoznat adresář pro rozšíření, je třeba stáhnout a instalovat ručně';
+$lang['error_copy'] = 'Došlo k chybě kopírování souborů při pokusu nainstalovat soubory do adresáře <em>%s</em>: může být plný disk nebo špatně nastavena přístupová práva. Tato chyba mohla zapříčinit pouze částečnou instalaci zásuvného modulu a uvést wiki do nestabilního stavu.';
+$lang['noperms'] = 'Nelze zapisovat do adresáře pro rozšíření';
+$lang['notplperms'] = 'Nelze zapisovat do odkládacího adresáře';
+$lang['nopluginperms'] = 'Nelze zapisovat do adresáře se zásuvnými moduly';
+$lang['git'] = 'Toto rozšíření bylo nainstalováno přes git. Touto cestou ho nejspíš tady aktualizovat nechcete.';
+$lang['auth'] = 'Tento ověřovací zásuvný modul není povolen v nastavení, zvažte jeho deaktivaci.';
+$lang['install_url'] = 'Nainstalovat z URL:';
+$lang['install_upload'] = 'Nahrát rozšíření:';
+$lang['repo_error'] = 'Nelze kontaktovat repozitář se zásuvnými moduly. Ujistěte se, že váš server může kontaktovat www.dokuwiki.org a zkontrolujte nastavení proxy.';
+$lang['nossl'] = 'Použité PHP pravděpodobně nepodporuje SSL. Stažení mnoha DokuWiki rozšíření nebude fungovat.';
diff --git a/lib/plugins/extension/lang/da/lang.php b/lib/plugins/extension/lang/da/lang.php
new file mode 100644
index 000000000..c341bc5f9
--- /dev/null
+++ b/lib/plugins/extension/lang/da/lang.php
@@ -0,0 +1,24 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Søren Birk <soer9648@eucl.dk>
+ */
+$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';
+$lang['error_badurl'] = 'URL\'er skal starte med http eller https';
+$lang['error_dircreate'] = 'Ikke i stand til at oprette midlertidig mappe til modtagelse af download';
+$lang['error_download'] = 'Ikke i stand til at downloade filen: %s';
+$lang['error_decompress'] = 'Ikke i stand til at dekomprimere den downloadede fil. Dette kan være et resultat af en dårlig download, hvor du i så fald bør du prøve igen; eller komprimeringsformatet kan være ukendt, hvor du i så fald bliver nød til at downloade og installere manuelt.';
+$lang['error_findfolder'] = 'Ikke i stand til at identificere udvidelsesmappe - du bliver nød til at downloade og installere manuelt.';
+$lang['error_copy'] = 'Der opstod en kopieringsfejl under installation af filer til mappen <em>%s</em>: disken kan være fuld, eller mangel på fil-tilladelser. Dette kan have resulteret i et delvist installeret plugin, og efterladt din wiki-installation ustabil.';
+$lang['noperms'] = 'Udvidelsesmappe er ikke skrivbar';
+$lang['notplperms'] = 'Skabelonmappe er ikke skrivbar';
+$lang['nopluginperms'] = 'Pluginmappe er ikke skrivbar';
+$lang['git'] = 'Udvidelsen blev installeret via git - du vil muligvis ikke opdatere herfra.';
+$lang['auth'] = 'Auth-plugin er ikke aktiveret i konfigurationen - overvej at deaktivere den.';
+$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.';
diff --git a/lib/plugins/extension/lang/en/lang.php b/lib/plugins/extension/lang/en/lang.php
index 72c9b9e2d..f545b6da3 100644
--- a/lib/plugins/extension/lang/en/lang.php
+++ b/lib/plugins/extension/lang/en/lang.php
@@ -69,7 +69,8 @@ $lang['status_bundled'] = 'bundled';
$lang['msg_enabled'] = 'Plugin %s enabled';
$lang['msg_disabled'] = 'Plugin %s disabled';
-$lang['msg_delete_success'] = 'Extension uninstalled';
+$lang['msg_delete_success'] = 'Extension %s uninstalled';
+$lang['msg_delete_failed'] = 'Uninstalling Extension %s failed';
$lang['msg_template_install_success'] = 'Template %s installed successfully';
$lang['msg_template_update_success'] = 'Template %s updated successfully';
$lang['msg_plugin_install_success'] = 'Plugin %s installed successfully';
@@ -94,8 +95,10 @@ $lang['noperms'] = 'Extension directory is not writable';
$lang['notplperms'] = 'Template directory is not writable';
$lang['nopluginperms'] = 'Plugin directory is not writable';
$lang['git'] = 'This extension was installed via git, you may not want to update it here.';
+$lang['auth'] = 'This auth plugin is not enabled in configuration, consider disabling it.';
$lang['install_url'] = 'Install from URL:';
$lang['install_upload'] = 'Upload Extension:';
-$lang['repo_error'] = 'The plugin repository could not be contacted. Make sure your server is allowed to contact www.dokuwiki.org and check your proxy settings.'; \ No newline at end of file
+$lang['repo_error'] = 'The plugin repository could not be contacted. Make sure your server is allowed to contact www.dokuwiki.org and check your proxy settings.';
+$lang['nossl'] = 'Your PHP seems to miss SSL support. Downloading will not work for many DokuWiki extensions.'; \ No newline at end of file
diff --git a/lib/plugins/extension/lang/fi/lang.php b/lib/plugins/extension/lang/fi/lang.php
new file mode 100644
index 000000000..a154f2563
--- /dev/null
+++ b/lib/plugins/extension/lang/fi/lang.php
@@ -0,0 +1,37 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Jussi Takala <jussi.takala@live.fi>
+ */
+$lang['tab_plugins'] = 'Asennetut liitännäiset';
+$lang['tab_search'] = 'Etsi ja asenna';
+$lang['tab_install'] = 'Manuaalinen asennus';
+$lang['notimplemented'] = 'Tätä ominaisuutta ei ole vielä toteutettu';
+$lang['notinstalled'] = 'Tätä laajennusta ei ole asennettu';
+$lang['alreadyenabled'] = 'Tämä laajennus on jo käytössä';
+$lang['alreadydisabled'] = 'Tämä laajennus on jo otettu pois käytöstä';
+$lang['pluginlistsaveerror'] = 'Tapahtui virhe tallentaessa liitännäislistaa';
+$lang['unknownauthor'] = 'Tuntematon tekijä';
+$lang['unknownversion'] = 'Tuntematon versio';
+$lang['btn_info'] = 'Näytä lisää tietoa';
+$lang['btn_update'] = 'Päivitä';
+$lang['btn_enable'] = 'Ota käyttöön';
+$lang['btn_disable'] = 'Poista käytöstä';
+$lang['btn_install'] = 'Asenna';
+$lang['btn_reinstall'] = 'Uudelleenasenna';
+$lang['js']['reallydel'] = 'Haluatko varmasti poistaa tämän laajennuksen?';
+$lang['search_for'] = 'Etsi laajennusta:';
+$lang['search'] = 'Etsi';
+$lang['downloadurl'] = 'Lataa URL-osoite';
+$lang['installed_version'] = 'Asennettu versio';
+$lang['install_date'] = 'Sinun viimeinen päivitys:';
+$lang['available_version'] = 'Saatavissa oleva versio:';
+$lang['status_installed'] = 'asennettu';
+$lang['status_protected'] = 'suojattu';
+$lang['status_enabled'] = 'otettu käyttöön';
+$lang['status_disabled'] = 'otettu pois käytöstä';
+$lang['status_plugin'] = 'liitännäinen';
+$lang['install_url'] = 'Asenna URL-osoitteesta:';
+$lang['install_upload'] = 'Ladattu laajennus:';
diff --git a/lib/plugins/extension/lang/it/lang.php b/lib/plugins/extension/lang/it/lang.php
index 7dff6c5b2..1aa658e0f 100644
--- a/lib/plugins/extension/lang/it/lang.php
+++ b/lib/plugins/extension/lang/it/lang.php
@@ -5,11 +5,18 @@
*
* @author Francesco <francesco.cavalli@hotmail.com>
* @author Fabio <fabioslurp@yahoo.it>
+ * @author Torpedo <dgtorpedo@gmail.com>
*/
+$lang['unknownauthor'] = 'Autore sconosciuto';
+$lang['unknownversion'] = 'Revisione sconosciuta';
+$lang['btn_info'] = 'Mostra maggiori informazioni';
+$lang['btn_update'] = 'Aggiorna';
+$lang['btn_uninstall'] = 'Disinstalla';
$lang['btn_enable'] = 'Abilita';
$lang['btn_disable'] = 'Disabilita';
$lang['btn_install'] = 'Installa';
$lang['btn_reinstall'] = 'Reinstalla';
+$lang['js']['reallydel'] = 'Sicuro di disinstallare questa estensione?';
$lang['search'] = 'Cerca';
$lang['homepage_link'] = 'Documenti';
$lang['bugs_features'] = 'Bug';
@@ -18,13 +25,18 @@ $lang['author_hint'] = 'Cerca estensioni per questo autore';
$lang['installed'] = 'Installato:';
$lang['downloadurl'] = 'URL download:';
$lang['repository'] = 'Repository';
+$lang['unknown'] = '<em>sconosciuto</em>';
$lang['installed_version'] = 'Versione installata';
$lang['install_date'] = 'Il tuo ultimo aggiornamento:';
$lang['available_version'] = 'Versione disponibile:';
$lang['compatible'] = 'Compatibile con:';
+$lang['depends'] = 'Dipende da:';
$lang['similar'] = 'Simile a:';
+$lang['conflicts'] = 'Conflitto con:';
$lang['donate'] = 'Simile a questo?';
+$lang['donate_action'] = 'Paga un caffè all\'autore!';
$lang['repo_retry'] = 'Riprova';
+$lang['provides'] = 'Fornisce:';
$lang['status'] = 'Status:';
$lang['status_installed'] = 'installato';
$lang['status_not_installed'] = 'non installato';
@@ -34,6 +46,15 @@ $lang['status_disabled'] = 'disabilitato';
$lang['status_unmodifiable'] = 'inmodificabile';
$lang['status_plugin'] = 'plugin';
$lang['status_template'] = 'modello';
+$lang['msg_enabled'] = 'Plugin %s abilitato';
+$lang['msg_disabled'] = 'Plugin %s disabilitato';
+$lang['msg_delete_success'] = 'Estensione %s disinstallata';
+$lang['msg_plugin_install_success'] = 'Plugin %s installato con successo';
+$lang['msg_plugin_update_success'] = 'Plugin %s aggiornato con successo';
+$lang['msg_upload_failed'] = 'Caricamento del file fallito';
+$lang['missing_dependency'] = '<strong>Dipendenza mancante o disabilitata: </strong> %s';
+$lang['update_available'] = '<strong>Aggiornamento:</strong> Nuova versione %s disponibile.';
+$lang['wrong_folder'] = '<strong>Plugin non installato correttamente:</strong> rinomina la directory del plugin "%s" in "%s".';
$lang['error_badurl'] = 'URLs deve iniziare con http o https';
$lang['error_dircreate'] = 'Impossibile creare una cartella temporanea per ricevere il download';
$lang['error_download'] = 'Impossibile scaricare il file: %s';
diff --git a/lib/plugins/extension/lang/ja/lang.php b/lib/plugins/extension/lang/ja/lang.php
index dec46d629..ce6ed2b97 100644
--- a/lib/plugins/extension/lang/ja/lang.php
+++ b/lib/plugins/extension/lang/ja/lang.php
@@ -5,6 +5,7 @@
*
* @author Hideaki SAWADA <chuno@live.jp>
* @author PzF_X <jp_minecraft@yahoo.co.jp>
+ * @author Satoshi Sahara <sahara.satoshi@gmail.com>
*/
$lang['menu'] = '拡張機能管理';
$lang['tab_plugins'] = 'インストール済プラグイン';
@@ -62,7 +63,8 @@ $lang['status_template'] = 'テンプレート';
$lang['status_bundled'] = '同梱';
$lang['msg_enabled'] = '%s プラグインを有効化しました。';
$lang['msg_disabled'] = '%s プラグインを無効化しました。';
-$lang['msg_delete_success'] = '拡張機能をアンインストールしました。';
+$lang['msg_delete_success'] = '拡張機能 %s をアンインストールしました。';
+$lang['msg_delete_failed'] = '拡張機能 %s のアンインストールに失敗しました。';
$lang['msg_template_install_success'] = '%s テンプレートをインストールできました。';
$lang['msg_template_update_success'] = '%s テンプレートを更新できました。';
$lang['msg_plugin_install_success'] = '%s プラグインをインストールできました。';
@@ -84,6 +86,8 @@ $lang['noperms'] = '拡張機能ディレクトリが書き込み
$lang['notplperms'] = 'テンプレートディレクトリが書き込み不可です。';
$lang['nopluginperms'] = 'プラグインディレクトリが書き込み不可です。';
$lang['git'] = 'この拡張機能は Git 経由でインストールされており、ここで更新すべきでないかもしれません。';
+$lang['auth'] = 'この認証プラグインは設定管理画面で無効化されています。';
$lang['install_url'] = 'URL からインストール:';
$lang['install_upload'] = '拡張機能をアップロード:';
$lang['repo_error'] = 'プラグインのリポジトリに接続できません。サーバーが www.dokuwiki.org に接続できることやプロキシの設定を確認して下さい。';
+$lang['nossl'] = 'PHP機能がSSLをサポートしていないため、拡張機能のダウンロードが正常に動作しません。';
diff --git a/lib/plugins/extension/lang/ko/lang.php b/lib/plugins/extension/lang/ko/lang.php
index 53c9b4481..5dc5d8269 100644
--- a/lib/plugins/extension/lang/ko/lang.php
+++ b/lib/plugins/extension/lang/ko/lang.php
@@ -62,7 +62,8 @@ $lang['status_template'] = '템플릿';
$lang['status_bundled'] = '포함';
$lang['msg_enabled'] = '%s 플러그인이 활성화되었습니다';
$lang['msg_disabled'] = '%s 플러그인이 비활성화되었습니다';
-$lang['msg_delete_success'] = '확장 기능이 제거되었습니다';
+$lang['msg_delete_success'] = '%s 확장 기능이 제거되었습니다';
+$lang['msg_delete_failed'] = '%s 확장 기능 제거에 실패했습니다';
$lang['msg_template_install_success'] = '%s 템플릿을 성공적으로 설치했습니다';
$lang['msg_template_update_success'] = '%s 템플릿을 성공적으로 업데이트했습니다';
$lang['msg_plugin_install_success'] = '%s 플러그인을 성공적으로 설치했습니다';
@@ -79,11 +80,13 @@ $lang['error_dircreate'] = '다운로드를 받을 임시 폴더를 만들
$lang['error_download'] = '파일을 다운로드할 수 없습니다: %s';
$lang['error_decompress'] = '다운로드한 파일의 압축을 풀 수 없습니다. 이는 아마도 잘못된 다운로드의 결과로, 이럴 경우 다시 시도해야 합니다; 또는 압축 형식을 알 수 없으며, 이럴 경우 수동으로 다운로드하고 설치해야 합니다.';
$lang['error_findfolder'] = '확장 기능 디렉터리를 식별할 수 없습니다, 수동으로 다운로드하고 설치해야 합니다';
-$lang['error_copy'] = '<em>%s</em> 디렉터리에 파일을 설치하는 동안 파일 복사 오류가 발생했습니다: 디스크가 꽉 찼거나 파일 접근 권한이 잘못되었을 수도 있습니다. 플러그인 설치가 부분적으로 되었거나 불안정하게 위키 설치가 되었을 수 있습니다.';
+$lang['error_copy'] = '<em>%s</em> 디렉터리에 파일을 설치하는 동안 파일 복사 오류가 발생했습니다: 디스크가 꽉 찼거나 파일 접근 권한이 잘못되었을 수도 있습니다. 플러그인이 부분적으로 설치되어 위키가 불안정할지도 모릅니다';
$lang['noperms'] = '확장 기능 디렉터리에 쓸 수 없습니다';
$lang['notplperms'] = '임시 디렉터리에 쓸 수 없습니다';
$lang['nopluginperms'] = '플러그인 디렉터리에 쓸 수 없습니다';
-$lang['git'] = '이 확장 기능은 git을 통해 설치되었으며, 여기에서 업데이트할 수 없을 수 있습니다.';
+$lang['git'] = '이 확장 기능은 git를 통해 설치되었으며, 여기에서 업데이트할 수 없을 수 있습니다.';
+$lang['auth'] = '이 인증 플러그인은 환경 설정에서 활성화할 수 없습니다, 그것을 비활성화하는 것을 고려하세요.';
$lang['install_url'] = 'URL에서 설치:';
$lang['install_upload'] = '확장 기능 올리기:';
$lang['repo_error'] = '플러그인 저장소에 연결할 수 없습니다. 서버가 www.dokuwiki.org에 연결할 수 있는지 확인하고 프록시 설정을 확인하세요.';
+$lang['nossl'] = 'PHP가 SSL 지원을 하지 않는 것으로 보입니다. 많은 도쿠위키 확장 기능의 다운로드가 작동하지 않을 것입니다.';
diff --git a/lib/plugins/extension/lang/nl/lang.php b/lib/plugins/extension/lang/nl/lang.php
index a54924e93..f75f78121 100644
--- a/lib/plugins/extension/lang/nl/lang.php
+++ b/lib/plugins/extension/lang/nl/lang.php
@@ -63,7 +63,7 @@ $lang['status_template'] = 'template';
$lang['status_bundled'] = 'Gebundeld';
$lang['msg_enabled'] = 'Plugin %s ingeschakeld';
$lang['msg_disabled'] = 'Plugin %s uitgeschakeld';
-$lang['msg_delete_success'] = 'Uitbreiding gedeinstalleerd';
+$lang['msg_delete_success'] = 'Uitbreiding %s gedeinstalleerd';
$lang['msg_template_install_success'] = 'Template %s werd succesvol geïnstalleerd';
$lang['msg_template_update_success'] = 'Template %s werd succesvol geüpdatet';
$lang['msg_plugin_install_success'] = 'Plugin %s werd succesvol geïnstalleerd';
diff --git a/lib/plugins/extension/lang/ru/intro_install.txt b/lib/plugins/extension/lang/ru/intro_install.txt
new file mode 100644
index 000000000..7b8ac661b
--- /dev/null
+++ b/lib/plugins/extension/lang/ru/intro_install.txt
@@ -0,0 +1 @@
+Здесь вы можете самостоятельно установить плагины и шаблоны, загрузив их или предоставив прямой URL для скачивания. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/ru/intro_plugins.txt b/lib/plugins/extension/lang/ru/intro_plugins.txt
new file mode 100644
index 000000000..7262516db
--- /dev/null
+++ b/lib/plugins/extension/lang/ru/intro_plugins.txt
@@ -0,0 +1 @@
+Плагины, установленные в вашей DokuWiki. Здесь вы можете их включить или выключить, или даже полностью удалить. Также здесь показываются обновления плагинов, обязательно прочтите документацию плагина перед обновлением. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/ru/intro_search.txt b/lib/plugins/extension/lang/ru/intro_search.txt
new file mode 100644
index 000000000..a8486eab6
--- /dev/null
+++ b/lib/plugins/extension/lang/ru/intro_search.txt
@@ -0,0 +1 @@
+Эта вкладка дает вам доступ ко всем имеющимся сторонним плагинам и шаблонам для DokuWiki. Имейте в виду, что установка стороннего кода может представлять **угрозу безопасности**, возможно вам нужно сперва прочитать о [[doku>security#plugin_security|безопасности плагинов]]. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/ru/intro_templates.txt b/lib/plugins/extension/lang/ru/intro_templates.txt
new file mode 100644
index 000000000..2d0b74256
--- /dev/null
+++ b/lib/plugins/extension/lang/ru/intro_templates.txt
@@ -0,0 +1 @@
+Это шаблоны, установленные в вашей DokuWiki. Вы можете выбрать шаблон, который нужно использовать в [[?do=admin&page=config|Менеджере Конфигурации]] \ No newline at end of file
diff --git a/lib/plugins/extension/lang/ru/lang.php b/lib/plugins/extension/lang/ru/lang.php
index 24e6fe224..64db39b78 100644
--- a/lib/plugins/extension/lang/ru/lang.php
+++ b/lib/plugins/extension/lang/ru/lang.php
@@ -5,13 +5,19 @@
*
* @author Aleksandr Selivanov <alexgearbox@yandex.ru>
* @author Igor Degraf <igordegraf@gmail.com>
+ * @author Type-kun <workwork-1@yandex.ru>
+ * @author Vitaly Filatenko <kot@hacktest.net>
*/
$lang['menu'] = 'Управление дополнениями';
$lang['tab_plugins'] = 'Установленные плагины';
$lang['tab_templates'] = 'Установленные шаблоны';
$lang['tab_search'] = 'Поиск и установка';
$lang['tab_install'] = 'Ручная установка';
+$lang['notimplemented'] = 'Эта возможность ещё не реализована';
$lang['notinstalled'] = 'Это дополнение не установлено';
+$lang['alreadyenabled'] = 'Это расширение уже включено';
+$lang['alreadydisabled'] = 'Это расширение уже выключено';
+$lang['pluginlistsaveerror'] = 'Ошибка при сохранении списка плагинов';
$lang['unknownauthor'] = 'Автор неизвестен';
$lang['unknownversion'] = 'Версия неизвестна';
$lang['btn_info'] = 'Отобразить доп. информацию';
@@ -25,6 +31,7 @@ $lang['js']['reallydel'] = 'Действительно удалить эт
$lang['search_for'] = 'Поиск дополнения:';
$lang['search'] = 'Найти';
$lang['extensionby'] = '<strong>%s</strong> — %s';
+$lang['screenshot'] = 'Скриншот: %s';
$lang['popularity'] = 'Популярность: %s%%';
$lang['homepage_link'] = 'Описание';
$lang['bugs_features'] = 'Баг-трекер';
@@ -58,12 +65,24 @@ $lang['status_bundled'] = 'в комплекте';
$lang['msg_enabled'] = 'Плагин %s включён';
$lang['msg_disabled'] = 'Плагин %s отключён';
$lang['msg_delete_success'] = 'Дополнение удалено';
+$lang['msg_delete_failed'] = 'Не удалось удалить расширение %s';
$lang['msg_template_install_success'] = 'Шаблон %s успешно установлен';
$lang['msg_template_update_success'] = 'Шаблон %s успешно обновлён';
$lang['msg_plugin_install_success'] = 'Плагин %s успешно установлен';
$lang['msg_plugin_update_success'] = 'Плагин %s успешно обновлён';
+$lang['msg_upload_failed'] = 'Не удалось загрузить файл';
+$lang['missing_dependency'] = '<strong>Отсутствует или отключена зависимость:</strong> %s';
+$lang['security_issue'] = '<strong>Проблема безопасности:</strong> %s';
+$lang['security_warning'] = '<strong>Предупреждение безопасности:</strong> %s';
$lang['update_available'] = '<strong>Обновление:</strong> доступна новая версия %s.';
+$lang['wrong_folder'] = '<strong>Плагин установлен неправильно:</strong> Переименуйте директорию "%s" в "%s".';
+$lang['url_change'] = '<strong>Ссылка изменилась:</strong> Ссылка для загрузки изменилась с прошлого раза. Проверьте новую ссылку прежде чем обновлять расширение.<br />Новая: %s<br />Старая: %s';
$lang['error_badurl'] = 'Ссылки должны начинаться с http или https';
+$lang['error_dircreate'] = 'Не удалось создать временную директорию для загрузки';
+$lang['error_download'] = 'Не удалось загрузить файл: %s';
+$lang['error_decompress'] = 'Не удалось распаковать загруженный файл. Возможно, файл был повреждён при загрузке - тогда нужно попробовать ещё раз. Либо неизвестен формат архива - тогда загрузку и установку надо произвести вручную.';
+$lang['error_findfolder'] = 'Не удалось определить директорию для расширения, загрузку и установку надо произвести вручную.';
+$lang['error_copy'] = 'Возникла ошибка копирования файлов в директорию <em>%s</em>: возможно, диск переполнен, или неверно выставлены права доступа. Это могло привести к неполной установке плагина и нарушить работу вашей вики.';
$lang['noperms'] = 'Папка для расширений недоступна для записи';
$lang['notplperms'] = 'Папка для шаблонов недоступна для записи';
$lang['nopluginperms'] = 'Папка плагинов недоступна для записи';
diff --git a/lib/plugins/info/syntax.php b/lib/plugins/info/syntax.php
index 9265f44d5..773256faf 100644
--- a/lib/plugins/info/syntax.php
+++ b/lib/plugins/info/syntax.php
@@ -44,9 +44,14 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
$this->Lexer->addSpecialPattern('~~INFO:\w+~~',$mode,'plugin_info');
}
-
/**
* Handle the match
+ *
+ * @param string $match The text matched by the patterns
+ * @param int $state The lexer state for the match
+ * @param int $pos The character position of the matched text
+ * @param Doku_Handler $handler The Doku_Handler object
+ * @return array Return an array with all data you want to use in render
*/
function handle($match, $state, $pos, Doku_Handler $handler){
$match = substr($match,7,-2); //strip ~~INFO: from start and ~~ from end
@@ -55,6 +60,11 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
/**
* Create output
+ *
+ * @param string $format string output format being rendered
+ * @param Doku_Renderer $renderer the current renderer object
+ * @param array $data data created by handler()
+ * @return boolean rendered correctly?
*/
function render($format, Doku_Renderer $renderer, $data) {
if($format == 'xhtml'){
@@ -103,8 +113,11 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
* list all installed plugins
*
* uses some of the original renderer methods
+ *
+ * @param string $type
+ * @param Doku_Renderer_xhtml $renderer
*/
- function _plugins_xhtml($type, Doku_Renderer &$renderer){
+ function _plugins_xhtml($type, Doku_Renderer_xhtml $renderer){
global $lang;
$renderer->doc .= '<ul>';
@@ -114,7 +127,7 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
// remove subparts
foreach($plugins as $p){
if (!$po = plugin_load($type,$p)) continue;
- list($name,$part) = explode('_',$p,2);
+ list($name,/* $part */) = explode('_',$p,2);
$plginfo[$name] = $po->getInfo();
}
@@ -141,8 +154,10 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
* list all installed plugins
*
* uses some of the original renderer methods
+ *
+ * @param Doku_Renderer_xhtml $renderer
*/
- function _helpermethods_xhtml(Doku_Renderer &$renderer){
+ function _helpermethods_xhtml(Doku_Renderer_xhtml $renderer){
$plugins = plugin_list('helper');
foreach($plugins as $p){
if (!$po = plugin_load('helper',$p)) continue;
@@ -189,6 +204,8 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
/**
* lists all known syntax types and their registered modes
+ *
+ * @return string
*/
function _syntaxtypes_xhtml(){
global $PARSER_MODES;
@@ -211,6 +228,8 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
/**
* lists all known syntax modes and their sorting value
+ *
+ * @return string
*/
function _syntaxmodes_xhtml(){
$modes = p_get_parsermodes();
@@ -249,13 +268,18 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
/**
* Adds a TOC item
+ *
+ * @param string $text
+ * @param int $level
+ * @param Doku_Renderer_xhtml $renderer
+ * @return string
*/
- function _addToTOC($text, $level, Doku_Renderer &$renderer){
+ protected function _addToTOC($text, $level, Doku_Renderer_xhtml $renderer){
global $conf;
+ $hid = '';
if (($level >= $conf['toptoclevel']) && ($level <= $conf['maxtoclevel'])){
- /** @var $renderer Doku_Renderer_xhtml */
- $hid = $renderer->_headerToLink($text, 'true');
+ $hid = $renderer->_headerToLink($text, true);
$renderer->toc[] = array(
'hid' => $hid,
'title' => $text,
diff --git a/lib/plugins/popularity/helper.php b/lib/plugins/popularity/helper.php
index eacde06d0..b4fb33b90 100644
--- a/lib/plugins/popularity/helper.php
+++ b/lib/plugins/popularity/helper.php
@@ -74,6 +74,7 @@ class helper_plugin_popularity extends Dokuwiki_Plugin {
/**
* Check if autosubmit is enabled
+ *
* @return boolean TRUE if we should send data once a month, FALSE otherwise
*/
function isAutoSubmitEnabled(){
@@ -82,6 +83,7 @@ class helper_plugin_popularity extends Dokuwiki_Plugin {
/**
* Send the data, to the submit url
+ *
* @param string $data The popularity data
* @return string An empty string if everything worked fine, a string describing the error otherwise
*/
@@ -97,6 +99,8 @@ class helper_plugin_popularity extends Dokuwiki_Plugin {
/**
* Compute the last time the data was sent. If it has never been sent, we return 0.
+ *
+ * @return int
*/
function lastSentTime(){
$manualSubmission = @filemtime($this->popularityLastSubmitFile);
@@ -107,6 +111,7 @@ class helper_plugin_popularity extends Dokuwiki_Plugin {
/**
* Gather all information
+ *
* @return string The popularity data as a string
*/
function gatherAsString(){
@@ -124,6 +129,7 @@ class helper_plugin_popularity extends Dokuwiki_Plugin {
/**
* Gather all information
+ *
* @return array The popularity data as an array
*/
function _gather(){
@@ -288,17 +294,24 @@ class helper_plugin_popularity extends Dokuwiki_Plugin {
*
* @author <gilthans dot NO dot SPAM at gmail dot com>
* @link http://de3.php.net/manual/en/ini.core.php#79564
+ *
+ * @param string $v
+ * @return int|string
*/
function _to_byte($v){
$l = substr($v, -1);
$ret = substr($v, 0, -1);
switch(strtoupper($l)){
+ /** @noinspection PhpMissingBreakStatementInspection */
case 'P':
$ret *= 1024;
+ /** @noinspection PhpMissingBreakStatementInspection */
case 'T':
$ret *= 1024;
+ /** @noinspection PhpMissingBreakStatementInspection */
case 'G':
$ret *= 1024;
+ /** @noinspection PhpMissingBreakStatementInspection */
case 'M':
$ret *= 1024;
case 'K':
diff --git a/lib/plugins/revert/lang/ko/lang.php b/lib/plugins/revert/lang/ko/lang.php
index 5666100e9..df4b271b1 100644
--- a/lib/plugins/revert/lang/ko/lang.php
+++ b/lib/plugins/revert/lang/ko/lang.php
@@ -18,4 +18,4 @@ $lang['removed'] = '%s 제거됨';
$lang['revstart'] = '되돌리기 작업을 시작합니다. 오랜 시간이 걸릴 수 있습니다. 완료되기 전에 스크립트 시간 초과가 발생한다면 더 작은 작업으로 나누어서 되돌리시기 바랍니다.';
$lang['revstop'] = '되돌리기 작업이 성공적으로 끝났습니다.';
$lang['note1'] = '참고: 대소문자를 구별해 찾습니다';
-$lang['note2'] = '참고: 문서는 <i>%s</i> 스팸 단어를 포함하지 않은 최신 판으로 되돌립니다. ';
+$lang['note2'] = '참고: 문서는 <i>%s</i> 스팸 단어를 포함하지 않은 최신 판으로 되돌립니다.';
diff --git a/lib/plugins/revert/lang/no/lang.php b/lib/plugins/revert/lang/no/lang.php
index 6806dcd93..76da8ca9c 100644
--- a/lib/plugins/revert/lang/no/lang.php
+++ b/lib/plugins/revert/lang/no/lang.php
@@ -19,6 +19,7 @@
* @author Thomas Juberg <Thomas.Juberg@Gmail.com>
* @author Boris <boris@newton-media.no>
* @author Christopher Schive <chschive@frisurf.no>
+ * @author Patrick <spill.p@hotmail.com>
*/
$lang['menu'] = 'Tilbakestillingsbehandler';
$lang['filter'] = 'Søk etter søppelmeldinger';
diff --git a/lib/plugins/syntax.php b/lib/plugins/syntax.php
index 4a301f927..9e2913d78 100644
--- a/lib/plugins/syntax.php
+++ b/lib/plugins/syntax.php
@@ -52,6 +52,7 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode_Plugin {
* 'stack' - Special case. Plugin wraps other paragraphs.
*
* @see Doku_Handler_Block
+ *
* @return string
*/
function getPType(){
@@ -70,7 +71,7 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode_Plugin {
* @param int $state The lexer state for the match
* @param int $pos The character position of the matched text
* @param Doku_Handler $handler The Doku_Handler object
- * @return array Return an array with all data you want to use in render
+ * @return bool|array Return an array with all data you want to use in render, false don't add an instruction
*/
function handle($match, $state, $pos, Doku_Handler $handler){
trigger_error('handle() not implemented in '.get_class($this), E_USER_WARNING);
@@ -94,10 +95,10 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode_Plugin {
* The contents of the $data array depends on what the handler() function above
* created
*
- * @param $format string output format being rendered
- * @param $renderer Doku_Renderer the current renderer object
- * @param $data array data created by handler()
- * @return boolean rendered correctly?
+ * @param string $format output format being rendered
+ * @param Doku_Renderer $renderer the current renderer object
+ * @param array $data data created by handler()
+ * @return boolean rendered correctly? (however, returned value is not used at the moment)
*/
function render($format, Doku_Renderer $renderer, $data) {
trigger_error('render() not implemented in '.get_class($this), E_USER_WARNING);
diff --git a/lib/plugins/usermanager/admin.php b/lib/plugins/usermanager/admin.php
index b67d91b36..86562f1dd 100644
--- a/lib/plugins/usermanager/admin.php
+++ b/lib/plugins/usermanager/admin.php
@@ -58,9 +58,12 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
}
}
- /**
- * Return prompt for admin menu
- */
+ /**
+ * Return prompt for admin menu
+ *
+ * @param string $language
+ * @return string
+ */
public function getMenuText($language) {
if (!is_null($this->_auth))
@@ -71,6 +74,8 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
/**
* return sort order for position in admin menu
+ *
+ * @return int
*/
public function getMenuSort() {
return 2;
@@ -78,6 +83,8 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
/**
* Handle user request
+ *
+ * @return bool
*/
public function handle() {
global $INPUT;
@@ -128,6 +135,8 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
/**
* Output appropriate html
+ *
+ * @return bool
*/
public function html() {
global $ID;
@@ -738,6 +747,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
global $auth;
global $INPUT;
+ $user = array();
$user[0] = ($clean) ? $auth->cleanUser($INPUT->str('userid')) : $INPUT->str('userid');
$user[1] = $INPUT->str('userpass');
$user[2] = $INPUT->str('username');
@@ -764,7 +774,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
$this->_filter = array();
if ($op == 'new') {
- list($user,$pass,$name,$mail,$grps) = $this->_retrieveUser(false);
+ list($user,/* $pass */,$name,$mail,$grps) = $this->_retrieveUser(false);
if (!empty($user)) $this->_filter['user'] = $user;
if (!empty($name)) $this->_filter['name'] = $name;
@@ -816,6 +826,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
$disabled = 'disabled="disabled"';
+ $buttons = array();
$buttons['start'] = $buttons['prev'] = ($this->_start == 0) ? $disabled : '';
if ($this->_user_total == -1) {
@@ -937,8 +948,8 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
* Returns cleaned user data
*
* @param array $candidate raw values of line from input file
- * @param $error
- * @return array|bool cleaned data or false
+ * @param string $error
+ * @return array|false cleaned data or false
*/
protected function _cleanImportUser($candidate, & $error){
global $INPUT;
@@ -951,7 +962,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
$INPUT->set('usergroups', $candidate[4]);
$cleaned = $this->_retrieveUser();
- list($user,$pass,$name,$mail,$grps) = $cleaned;
+ list($user,/* $pass */,$name,$mail,/* $grps */) = $cleaned;
if (empty($user)) {
$error = $this->lang['import_error_baduserid'];
return false;
@@ -1021,6 +1032,9 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
/**
* wrapper for is_uploaded_file to facilitate overriding by test suite
+ *
+ * @param string $file filename
+ * @return bool
*/
protected function _isUploadedFile($file) {
return is_uploaded_file($file);
@@ -1031,6 +1045,9 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
*
* @deprecated remove when dokuwiki php requirement increases to 5.3+
* also associated unit test & mock access method
+ *
+ * @param string $csv string to parse
+ * @return array
*/
protected function _getcsv($csv) {
return function_exists('str_getcsv') ? str_getcsv($csv) : $this->str_getcsv($csv);
@@ -1041,6 +1058,9 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
* loosely based on www.php.net/str_getcsv#88311
*
* @deprecated remove when dokuwiki php requirement increases to 5.3+
+ *
+ * @param string $str string to parse
+ * @return array
*/
protected function str_getcsv($str) {
$fp = fopen("php://temp/maxmemory:1048576", 'r+'); // 1MiB
diff --git a/lib/plugins/usermanager/lang/cs/lang.php b/lib/plugins/usermanager/lang/cs/lang.php
index bbb560679..6130fccd8 100644
--- a/lib/plugins/usermanager/lang/cs/lang.php
+++ b/lib/plugins/usermanager/lang/cs/lang.php
@@ -15,6 +15,7 @@
* @author Jakub A. Těšínský (j@kub.cz)
* @author mkucera66@seznam.cz
* @author Zbyněk Křivka <krivka@fit.vutbr.cz>
+ * @author Jaroslav Lichtblau <jlichtblau@seznam.cz>
*/
$lang['menu'] = 'Správa uživatelů';
$lang['noauth'] = '(autentizace uživatelů není k dispozici)';
@@ -55,20 +56,23 @@ $lang['next'] = 'další';
$lang['last'] = 'poslední';
$lang['edit_usermissing'] = 'Vybraný uživatel nebyl nalezen, zadané uživatelského mohlo být smazáno nebo změněno.';
$lang['user_notify'] = 'Upozornit uživatele';
-$lang['note_notify'] = 'Maily s upozorněním se budou posílat pouze, když uživatel dostává nové heslo.';
+$lang['note_notify'] = 'E-maily s upozorněním se budou posílat pouze, když uživatel dostává nové heslo.';
$lang['note_group'] = 'Noví uživatelé budou přidáváni do této výchozí skupiny (%s), pokud pro ně není uvedena žádná skupina.';
$lang['note_pass'] = 'Heslo bude automaticky vygenerováno, pokud je pole ponecháno prázdné a je zapnuto upozornění uživatele.';
$lang['add_ok'] = 'Uživatel úspěšně vytvořen';
$lang['add_fail'] = 'Vytvoření uživatele selhalo';
-$lang['notify_ok'] = 'Odeslán mail s upozorněním';
-$lang['notify_fail'] = 'Mail s upozorněním nebylo možno odeslat';
+$lang['notify_ok'] = 'Odeslán e-mail s upozorněním';
+$lang['notify_fail'] = 'E-mail s upozorněním nebylo možno odeslat';
+$lang['import_userlistcsv'] = 'Seznam uživatelů (CSV):';
+$lang['import_header'] = 'Poslední selhání importu';
$lang['import_success_count'] = 'Import uživatelů: nalezeno %d uživatelů, %d úspěšně importováno.';
$lang['import_failure_count'] = 'Import uživatelů: %d selhalo. Seznam chybných je níže.';
$lang['import_error_fields'] = 'Nedostatek položek, nalezena/y %d, požadovány 4.';
$lang['import_error_baduserid'] = 'Chybí User-id';
$lang['import_error_badname'] = 'Špatné jméno';
-$lang['import_error_badmail'] = 'Špatná emailová adresa';
+$lang['import_error_badmail'] = 'Špatná e-mailová adresa';
$lang['import_error_upload'] = 'Import selhal. CSV soubor nemohl být nahrán nebo je prázdný.';
$lang['import_error_readfail'] = 'Import selhal. Nelze číst nahraný soubor.';
$lang['import_error_create'] = 'Nelze vytvořit uživatele';
-$lang['import_notify_fail'] = 'Importovanému uživateli %s s emailem %s nemohlo být zasláno upozornění.';
+$lang['import_notify_fail'] = 'Importovanému uživateli %s s e-mailem %s nemohlo být zasláno upozornění.';
+$lang['import_downloadfailures'] = 'Stáhnout chyby pro nápravu jako CVS';
diff --git a/lib/plugins/usermanager/lang/da/import.txt b/lib/plugins/usermanager/lang/da/import.txt
new file mode 100644
index 000000000..8ff1946b8
--- /dev/null
+++ b/lib/plugins/usermanager/lang/da/import.txt
@@ -0,0 +1,9 @@
+===== Samling af Brugere Import =====
+
+Kræver en CSV-fil med brugere på mindst fire kolonner.
+Kolonnerne skal indeholde, i denne orden: bruger-id, fulde navn, email-adresse og grupper.
+CSV-felterne skal separeres af kommaer (,) og strengafgrænser med anførelsestegn (%%""%%). Backslash (\) kan benyttes som "escape character".
+For et eksempel på en brugbar fil, kan du prøve "Eksportér Brugere"-funktionen her over.
+Overlappende bruger-id'er bliver ignoreret.
+
+En adgangskode vil blive genereret og sendt til hver succesfuldt importeret bruger. \ No newline at end of file
diff --git a/lib/plugins/usermanager/lang/da/lang.php b/lib/plugins/usermanager/lang/da/lang.php
index 47d7efea2..795024f89 100644
--- a/lib/plugins/usermanager/lang/da/lang.php
+++ b/lib/plugins/usermanager/lang/da/lang.php
@@ -13,6 +13,7 @@
* @author Michael Pedersen subben@gmail.com
* @author Mikael Lyngvig <mikael@lyngvig.org>
* @author soer9648 <soer9648@eucl.dk>
+ * @author Søren Birk <soer9648@eucl.dk>
*/
$lang['menu'] = 'Brugerstyring';
$lang['noauth'] = '(Brugervalidering er ikke tilgængelig)';
@@ -72,3 +73,4 @@ $lang['import_error_upload'] = 'Import Fejlet. CSV-filen kunne ikke uploades e
$lang['import_error_readfail'] = 'Import Fejlet. Ikke muligt at læse uploadede fil.';
$lang['import_error_create'] = 'Ikke muligt at oprette brugeren';
$lang['import_notify_fail'] = 'Notifikationsmeddelelse kunne ikke sendes for importerede bruger %s, med emailen %s.';
+$lang['import_downloadfailures'] = 'Download Fejl som CSV til rettelser';
diff --git a/lib/plugins/usermanager/lang/fi/lang.php b/lib/plugins/usermanager/lang/fi/lang.php
index de243133a..dba67fb61 100644
--- a/lib/plugins/usermanager/lang/fi/lang.php
+++ b/lib/plugins/usermanager/lang/fi/lang.php
@@ -7,6 +7,7 @@
* @author Otto Vainio <otto@valjakko.net>
* @author Teemu Mattila <ghcsystems@gmail.com>
* @author Sami Olmari <sami@olmari.fi>
+ * @author Jussi Takala <jussi.takala@live.fi>
*/
$lang['menu'] = 'Käyttäjähallinta';
$lang['noauth'] = '(autentikointi ei ole käytössä)';
@@ -29,6 +30,9 @@ $lang['search'] = 'Hae';
$lang['search_prompt'] = 'Tee haku';
$lang['clear'] = 'Tyhjennä hakusuodatin';
$lang['filter'] = 'Suodatin';
+$lang['import'] = 'Tuo uusia käyttäjiä';
+$lang['line'] = 'Rivi nro.';
+$lang['error'] = 'Vikailmoitus';
$lang['summary'] = 'Näytetään käyttäjät %1$d-%2$d / %3$d löytynyttä. %4$d käyttäjää yhteensä.';
$lang['nonefound'] = 'Ei löytynyt käyttäjiä. %d käyttäjää yhteensä.';
$lang['delete_ok'] = '%d käyttäjää poistettu';
@@ -49,3 +53,9 @@ $lang['add_ok'] = 'Käyttäjä lisätty onnistuneesti';
$lang['add_fail'] = 'Käyttäjän lisäys epäonnistui';
$lang['notify_ok'] = 'Ilmoitus sähköpostilla lähetetty';
$lang['notify_fail'] = 'Ilmoitusta sähköpostilla ei voitu lähettää';
+$lang['import_error_baduserid'] = 'Käyttäjätunnus puuttuu';
+$lang['import_error_badname'] = 'Epäkelpo nimi';
+$lang['import_error_badmail'] = 'Epäkelpo sähköpostiosoite';
+$lang['import_error_upload'] = 'Tuonti epäonnistui. CSV-tiedostoa ei voitu ladata tai se on tyhjä.';
+$lang['import_error_readfail'] = 'Tuonti epäonnistui. Ladattua tiedostoa ei voida lukea.';
+$lang['import_error_create'] = 'Käyttäjää ei voida luoda.';
diff --git a/lib/plugins/usermanager/lang/ko/lang.php b/lib/plugins/usermanager/lang/ko/lang.php
index 70e3d94f0..bc76470e8 100644
--- a/lib/plugins/usermanager/lang/ko/lang.php
+++ b/lib/plugins/usermanager/lang/ko/lang.php
@@ -13,7 +13,7 @@
* @author Garam <rowain8@gmail.com>
*/
$lang['menu'] = '사용자 관리자';
-$lang['noauth'] = '(사용자 인증이 불가능합니다)';
+$lang['noauth'] = '(사용자 인증을 사용할 수 없습니다)';
$lang['nosupport'] = '(사용자 관리가 지원되지 않습니다)';
$lang['badauth'] = '인증 메커니즘이 잘못되었습니다';
$lang['user_id'] = '사용자';
@@ -35,10 +35,10 @@ $lang['clear'] = '검색 필터 재설정';
$lang['filter'] = '필터';
$lang['export_all'] = '모든 사용자 목록 내보내기 (CSV)';
$lang['export_filtered'] = '필터된 사용자 목록 내보내기 (CSV)';
-$lang['import'] = '새 사용자 목록 가져오기';
+$lang['import'] = '새 사용자 가져오기';
$lang['line'] = '줄 번호';
$lang['error'] = '오류 메시지';
-$lang['summary'] = '찾은 사용자 %3$d 중 %1$d-%2$d을(를) 봅니다. 전체 사용자는 %4$d명입니다.';
+$lang['summary'] = '찾은 사용자 %3$d명 중 %1$d-%2$d을(를) 봅니다. 전체 사용자는 %4$d명입니다.';
$lang['nonefound'] = '찾은 사용자가 없습니다. 전체 사용자는 %d명입니다.';
$lang['delete_ok'] = '사용자 %d명이 삭제되었습니다';
$lang['delete_fail'] = '사용자 %d명을 삭제하는 데 실패했습니다.';
@@ -68,6 +68,6 @@ $lang['import_error_badname'] = '잘못된 이름';
$lang['import_error_badmail'] = '잘못된 이메일 주소';
$lang['import_error_upload'] = '가져오기를 실패했습니다. csv 파일을 올릴 수 없거나 비어 있습니다.';
$lang['import_error_readfail'] = '가져오기를 실패했습니다. 올린 파일을 읽을 수 없습니다.';
-$lang['import_error_create'] = '사용자를 만들 수 없습니다.';
+$lang['import_error_create'] = '사용자를 만들 수 없습니다';
$lang['import_notify_fail'] = '알림 메시지를 가져온 %s (이메일: %s) 사용자에게 보낼 수 없습니다.';
$lang['import_downloadfailures'] = '교정을 위한 CSV로 다운로드 실패';
diff --git a/lib/plugins/usermanager/lang/ru/lang.php b/lib/plugins/usermanager/lang/ru/lang.php
index 515de5186..0914d7b49 100644
--- a/lib/plugins/usermanager/lang/ru/lang.php
+++ b/lib/plugins/usermanager/lang/ru/lang.php
@@ -21,6 +21,7 @@
* @author Pavel <ivanovtsk@mail.ru>
* @author Aleksandr Selivanov <alexgearbox@yandex.ru>
* @author Igor Degraf <igordegraf@gmail.com>
+ * @author Vitaly Filatenko <kot@hacktest.net>
*/
$lang['menu'] = 'Управление пользователями';
$lang['noauth'] = '(авторизация пользователей недоступна)';
@@ -69,6 +70,7 @@ $lang['add_fail'] = 'Не удалось добавить поль
$lang['notify_ok'] = 'Письмо с уведомлением отправлено';
$lang['notify_fail'] = 'Не удалось отправить письмо с уведомлением';
$lang['import_userlistcsv'] = 'Файл со списком пользователей (CSV):';
+$lang['import_header'] = 'Последний импорт - список ошибок';
$lang['import_success_count'] = 'Импорт пользователей: %d пользователей найдено, %d импортировано успешно.';
$lang['import_failure_count'] = 'Импорт пользователей: %d не удалось. Список ошибок прочтите ниже.';
$lang['import_error_fields'] = 'Не все поля заполнены. Найдено %d, а нужно 4.';
diff --git a/lib/scripts/behaviour.js b/lib/scripts/behaviour.js
index 6b46add07..fb61f6e48 100644
--- a/lib/scripts/behaviour.js
+++ b/lib/scripts/behaviour.js
@@ -56,6 +56,8 @@ var dw_behaviour = {
jQuery(document).on('click','#page__revisions input[type=checkbox]',
dw_behaviour.revisionBoxHandler
);
+
+ jQuery('.bounce').effect('bounce', {times:10}, 2000 );
},
/**
@@ -64,7 +66,14 @@ var dw_behaviour = {
scrollToMarker: function(){
var $obj = jQuery('#scroll__here');
if($obj.length) {
- $obj[0].scrollIntoView();
+ if($obj.offset().top != 0) {
+ jQuery('html, body').animate({
+ scrollTop: $obj.offset().top - 100
+ }, 500);
+ } else {
+ // hidden object have no offset but can still be scrolled into view
+ $obj[0].scrollIntoView();
+ }
}
},
@@ -77,13 +86,11 @@ var dw_behaviour = {
/**
* Remove all search highlighting when clicking on a highlighted term
- *
- * @FIXME would be nice to have it fade out
*/
removeHighlightOnClick: function(){
jQuery('span.search_hit').click(
function(e){
- jQuery(e.target).removeClass('search_hit');
+ jQuery(e.target).removeClass('search_hit', 1000);
}
);
},
diff --git a/lib/tpl/dokuwiki/detail.php b/lib/tpl/dokuwiki/detail.php
index 9bd841d8c..d4f9c39d1 100644
--- a/lib/tpl/dokuwiki/detail.php
+++ b/lib/tpl/dokuwiki/detail.php
@@ -82,8 +82,8 @@ header('X-UA-Compatible: IE=edge,chrome=1');
$data = array(
'view' => 'detail',
'items' => array(
- 'mediaManager' => tpl_action('mediaManager', 1, 'li', 1, '<span>', '</span>'),
- 'img_backto' => tpl_action('img_backto', 1, 'li', 1, '<span>', '</span>'),
+ 'mediaManager' => tpl_action('mediaManager', true, 'li', true, '<span>', '</span>'),
+ 'img_backto' => tpl_action('img_backto', true, 'li', true, '<span>', '</span>'),
)
);
diff --git a/lib/tpl/dokuwiki/images/pagetools-build.php b/lib/tpl/dokuwiki/images/pagetools-build.php
index 1b7262ad5..3cf35b2ea 100644
--- a/lib/tpl/dokuwiki/images/pagetools-build.php
+++ b/lib/tpl/dokuwiki/images/pagetools-build.php
@@ -92,7 +92,7 @@ function hex2rgb($hex) {
/**
* Scale (darken/lighten) a given image
*
- * @param ressource $img The truetype GD image to work on
+ * @param resource $img The truetype GD image to work on
* @param float $scale Scale the colors by this value ( <1 darkens, >1 lightens)
*/
function imagecolorscale(&$img, $scale){
diff --git a/lib/tpl/dokuwiki/main.php b/lib/tpl/dokuwiki/main.php
index 44fef81eb..10c0bf91e 100644
--- a/lib/tpl/dokuwiki/main.php
+++ b/lib/tpl/dokuwiki/main.php
@@ -41,7 +41,7 @@ $showSidebar = $hasSidebar && ($ACT=='show');
<div class="content">
<?php tpl_flush() ?>
<?php tpl_includeFile('sidebarheader.html') ?>
- <?php tpl_include_page($conf['sidebar'], 1, 1) ?>
+ <?php tpl_include_page($conf['sidebar'], true, true) ?>
<?php tpl_includeFile('sidebarfooter.html') ?>
</div>
</div></div><!-- /aside -->
@@ -77,12 +77,12 @@ $showSidebar = $hasSidebar && ($ACT=='show');
$data = array(
'view' => 'main',
'items' => array(
- 'edit' => tpl_action('edit', 1, 'li', 1, '<span>', '</span>'),
- 'revert' => tpl_action('revert', 1, 'li', 1, '<span>', '</span>'),
- 'revisions' => tpl_action('revisions', 1, 'li', 1, '<span>', '</span>'),
- 'backlink' => tpl_action('backlink', 1, 'li', 1, '<span>', '</span>'),
- 'subscribe' => tpl_action('subscribe', 1, 'li', 1, '<span>', '</span>'),
- 'top' => tpl_action('top', 1, 'li', 1, '<span>', '</span>')
+ 'edit' => tpl_action('edit', true, 'li', true, '<span>', '</span>'),
+ 'revert' => tpl_action('revert', true, 'li', true, '<span>', '</span>'),
+ 'revisions' => tpl_action('revisions', true, 'li', true, '<span>', '</span>'),
+ 'backlink' => tpl_action('backlink', true, 'li', true, '<span>', '</span>'),
+ 'subscribe' => tpl_action('subscribe', true, 'li', true, '<span>', '</span>'),
+ 'top' => tpl_action('top', true, 'li', true, '<span>', '</span>')
)
);
diff --git a/lib/tpl/dokuwiki/tpl_header.php b/lib/tpl/dokuwiki/tpl_header.php
index a2bfd4346..7d9c88347 100644
--- a/lib/tpl/dokuwiki/tpl_header.php
+++ b/lib/tpl/dokuwiki/tpl_header.php
@@ -46,10 +46,10 @@ if (!defined('DOKU_INC')) die();
tpl_userinfo(); /* 'Logged in as ...' */
echo '</li>';
}
- tpl_action('admin', 1, 'li');
- tpl_action('profile', 1, 'li');
- tpl_action('register', 1, 'li');
- tpl_action('login', 1, 'li');
+ tpl_action('admin', true, 'li');
+ tpl_action('profile', true, 'li');
+ tpl_action('register', true, 'li');
+ tpl_action('login', true, 'li');
?>
</ul>
</div>
@@ -64,9 +64,9 @@ if (!defined('DOKU_INC')) die();
</div>
<ul>
<?php
- tpl_action('recent', 1, 'li');
- tpl_action('media', 1, 'li');
- tpl_action('index', 1, 'li');
+ tpl_action('recent', true, 'li');
+ tpl_action('media', true, 'li');
+ tpl_action('index', true, 'li');
?>
</ul>
</div>