diff options
author | Andreas Gohr <andi@splitbrain.org> | 2019-07-14 20:50:16 +0200 |
---|---|---|
committer | Andreas Gohr <andi@splitbrain.org> | 2019-07-14 20:50:16 +0200 |
commit | 2b9c4a056d6957ab3952515cfc795f8dd01cf5e6 (patch) | |
tree | e17a9cf8a473e7e21a04cffe477464547b4230bd | |
parent | 27f63a230ac7def28270ac72832681ef70e10853 (diff) | |
parent | 8902b37d8e5bd11eeb34c7cc6879533fd1a8702c (diff) | |
download | dokuwiki-2b9c4a056d6957ab3952515cfc795f8dd01cf5e6.tar.gz dokuwiki-2b9c4a056d6957ab3952515cfc795f8dd01cf5e6.zip |
Merge branch 'master' into psr2
* master: (34 commits)
fix color for noninstalled extensions
show disabled extensions in gray
warn about inaccessible repo api
bugfix: access check was never cached
First go on a CLI component for the extension manager
use strict type comparison
translation update
translation update
fix #dokuwiki__sitetools current item not in highlight due to Greebo change
authplain: Add tests for group retrieval
authplain: Add a simple method for retrieving user groups
translation update
Negative string offsets are allowed in PHP 7.1+ only
improve memory check output
fix and test php_to_byte() related to #2756 #2556
translation update
translation update
translation update
translation update
translation update
...
71 files changed, 839 insertions, 175 deletions
diff --git a/_test/tests/inc/common_php_to_byte.test.php b/_test/tests/inc/common_php_to_byte.test.php new file mode 100644 index 000000000..8ab446405 --- /dev/null +++ b/_test/tests/inc/common_php_to_byte.test.php @@ -0,0 +1,34 @@ +<?php + +class common_php_to_byte_test extends DokuWikiTest { + + + public function data() { + $data = [ + ['1G', 1073741824], + ['8M', 8388608], + ['8K', 8192], + ['800', 800], + ['8', 8], + ['0', 0], + ['-1', -1] + ]; + + // larger sizes only work on 64bit platforms + if(PHP_INT_SIZE == 8) { + $data[] = ['8G', 8589934592]; + } + + return $data; + } + + /** + * @dataProvider data + * @param string $value + * @param int $bytes + */ + public function test_undefined($value, $bytes) { + $this->assertSame($bytes, php_to_byte($value)); + } + +} diff --git a/_test/tests/inc/mailer.test.php b/_test/tests/inc/mailer.test.php index 9f15cf36d..2c8f142d1 100644..100755 --- a/_test/tests/inc/mailer.test.php +++ b/_test/tests/inc/mailer.test.php @@ -24,6 +24,9 @@ class TestMailer extends Mailer { } +/** + * @group mailer_class + */ class mailer_test extends DokuWikiTest { @@ -96,11 +99,21 @@ class mailer_test extends DokuWikiTest { $headers = $mail->prop('headers'); $this->assertEquals('Andreas Gohr <andi@splitbrain.org>', $headers['To']); + $mail->to('"Andreas Gohr" <andi@splitbrain.org>'); + $mail->cleanHeaders(); + $headers = $mail->prop('headers'); + $this->assertEquals('"Andreas Gohr" <andi@splitbrain.org>', $headers['To']); + $mail->to('Andreas Gohr <andi@splitbrain.org> , foo <foo@example.com>'); $mail->cleanHeaders(); $headers = $mail->prop('headers'); $this->assertEquals('Andreas Gohr <andi@splitbrain.org>, foo <foo@example.com>', $headers['To']); + $mail->to('"Foo, Dr." <foo@example.com> , foo <foo@example.com>'); + $mail->cleanHeaders(); + $headers = $mail->prop('headers'); + $this->assertEquals('=?UTF-8?B?IkZvbywgRHIuIg==?= <foo@example.com>, foo <foo@example.com>', $headers['To']); + $mail->to('Möp <moep@example.com> , foo <foo@example.com>'); $mail->cleanHeaders(); $headers = $mail->prop('headers'); @@ -336,5 +349,15 @@ A test mail in <strong>html</strong> $this->assertRegexp('/' . preg_quote($expected_mail_body, '/') . '/', $dump); } + + function test_getCleanName() { + $mail = new TestMailer(); + $name = $mail->getCleanName('Foo Bar'); + $this->assertEquals('Foo Bar', $name); + $name = $mail->getCleanName('Foo, Bar'); + $this->assertEquals('"Foo, Bar"', $name); + $name = $mail->getCleanName('Foo" Bar'); + $this->assertEquals('"Foo\" Bar"', $name); + } } //Setup VIM: ex: et ts=4 : diff --git a/conf/acronyms.conf b/conf/acronyms.conf index 9363f947e..2ecdeda52 100644 --- a/conf/acronyms.conf +++ b/conf/acronyms.conf @@ -20,6 +20,7 @@ FTP File Transfer Protocol FOSS Free & Open-Source Software FLOSS Free/Libre and Open Source Software FUD Fear, Uncertainty, and Doubt +FYI For your information GB Gigabyte GHz Gigahertz GPL GNU General Public License diff --git a/conf/interwiki.conf b/conf/interwiki.conf index 2432f111d..58bc517b8 100644 --- a/conf/interwiki.conf +++ b/conf/interwiki.conf @@ -22,6 +22,7 @@ wpde https://de.wikipedia.org/wiki/{NAME} wpes https://es.wikipedia.org/wiki/{NAME} wppl https://pl.wikipedia.org/wiki/{NAME} wpjp https://ja.wikipedia.org/wiki/{NAME} +wpru https://ru.wikipedia.org/wiki/{NAME} wpmeta https://meta.wikipedia.org/wiki/{NAME} doku https://www.dokuwiki.org/ rfc https://tools.ietf.org/html/rfc diff --git a/inc/Action/Search.php b/inc/Action/Search.php index 382fc47e6..88bd0baa3 100644 --- a/inc/Action/Search.php +++ b/inc/Action/Search.php @@ -39,8 +39,8 @@ class Search extends AbstractAction { if ($ID !== $conf['start'] && !$INPUT->has('q')) { parse_str($INPUT->server->str('QUERY_STRING'), $urlParts); $urlParts['q'] = $urlParts['id']; - $urlParts['id'] = $conf['start']; - $url = DOKU_URL . DOKU_SCRIPT . '?' . http_build_query($urlParts, null, '&'); + unset($urlParts['id']); + $url = wl($ID, $urlParts, true, '&'); send_redirect($url); } diff --git a/inc/Mailer.class.php b/inc/Mailer.class.php index 048890106..405e8101f 100644 --- a/inc/Mailer.class.php +++ b/inc/Mailer.class.php @@ -324,13 +324,36 @@ class Mailer { } /** + * Return a clean name which can be safely used in mail address + * fields. That means the name will be enclosed in '"' if it includes + * a '"' or a ','. Also a '"' will be escaped as '\"'. + * + * @param string $name the name to clean-up + * @see cleanAddress + */ + public function getCleanName($name) { + $name = trim($name, ' \t"'); + $name = str_replace('"', '\"', $name, $count); + if ($count > 0 || strpos($name, ',') !== false) { + $name = '"'.$name.'"'; + } + return $name; + } + + /** * Sets an email address header with correct encoding * * Unicode characters will be deaccented and encoded base64 * for headers. Addresses may not contain Non-ASCII data! * + * If @$addresses is a string then it will be split into multiple + * addresses. Addresses must be separated by a comma. If the display + * name includes a comma then it MUST be properly enclosed by '"' to + * prevent spliting at the wrong point. + * * Example: * cc("föö <foo@bar.com>, me@somewhere.com","TBcc"); + * to("foo, Dr." <foo@bar.com>, me@somewhere.com"); * * @param string|string[] $addresses Multiple adresses separated by commas or as array * @return false|string the prepared header (can contain multiple lines) @@ -338,7 +361,13 @@ class Mailer { public function cleanAddress($addresses) { $headers = ''; if(!is_array($addresses)){ - $addresses = explode(',', $addresses); + $count = preg_match_all('/\s*(?:("[^"]*"[^,]+),*)|([^,]+)\s*,*/', $addresses, $matches, PREG_SET_ORDER); + $addresses = array(); + if ($count !== false && is_array($matches)) { + foreach ($matches as $match) { + array_push($addresses, $match[0]); + } + } } foreach($addresses as $part) { diff --git a/inc/auth.php b/inc/auth.php index 103a2f72f..93c95d44f 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -831,7 +831,7 @@ function auth_sendPassword($user, $password) { ); $mail = new Mailer(); - $mail->to($userinfo['name'].' <'.$userinfo['mail'].'>'); + $mail->to($mail->getCleanName($userinfo['name']).' <'.$userinfo['mail'].'>'); $mail->subject($lang['regpwmail']); $mail->setBody($text, $trep); return $mail->send(); diff --git a/inc/common.php b/inc/common.php index 6ac03b03a..c4f3995a7 100644 --- a/inc/common.php +++ b/inc/common.php @@ -1150,6 +1150,9 @@ function parsePageTemplate(&$data) { '@ID@', '@NS@', '@CURNS@', + '@!CURNS@', + '@!!CURNS@', + '@!CURNS!@', '@FILE@', '@!FILE@', '@!FILE!@', @@ -1166,6 +1169,9 @@ function parsePageTemplate(&$data) { $id, getNS($id), curNS($id), + utf8_ucfirst(curNS($id)), + utf8_ucwords(curNS($id)), + utf8_strtoupper(curNS($id)), $file, utf8_ucfirst($file), utf8_strtoupper($file), @@ -1683,39 +1689,27 @@ function unslash($string, $char = "'") { /** * Convert php.ini shorthands to byte * - * @author <gilthans dot NO dot SPAM at gmail dot com> - * @link http://php.net/manual/en/ini.core.php#79564 + * On 32 bit systems values >= 2GB will fail! * - * @param string $v shorthands - * @return int|string + * -1 (infinite size) will be reported as -1 + * + * @link https://www.php.net/manual/en/faq.using.php#faq.using.shorthandbytes + * @param string $value PHP size shorthand + * @return int */ -function php_to_byte($v) { - $l = substr($v, -1); - $ret = substr($v, 0, -1); - switch(strtoupper($l)) { - /** @noinspection PhpMissingBreakStatementInspection */ - // no-break - case 'P': - $ret *= 1024; - /** @noinspection PhpMissingBreakStatementInspection */ - // no-break - case 'T': - $ret *= 1024; - /** @noinspection PhpMissingBreakStatementInspection */ - // no-break +function php_to_byte($value) { + switch (strtoupper(substr($value,-1))) { case 'G': - $ret *= 1024; - /** @noinspection PhpMissingBreakStatementInspection */ - // no-break + $ret = intval(substr($value, 0, -1)) * 1024 * 1024 * 1024; + break; case 'M': - $ret *= 1024; - /** @noinspection PhpMissingBreakStatementInspection */ - // no-break + $ret = intval(substr($value, 0, -1)) * 1024 * 1024; + break; case 'K': - $ret *= 1024; + $ret = intval(substr($value, 0, -1)) * 1024; break; - default: - $ret *= 10; + default; + $ret = intval($value); break; } return $ret; diff --git a/inc/infoutils.php b/inc/infoutils.php index ba137c1ac..69d8afbec 100644 --- a/inc/infoutils.php +++ b/inc/infoutils.php @@ -133,25 +133,22 @@ function check(){ msg('Your PHP version is too old',-1); } } - $limit = ini_get('memory_limit'); - if($limit == -1) { - $mem = -1; // unlimited - } else { - $mem = (int) php_to_byte($limit); - } + + $mem = (int) php_to_byte(ini_get('memory_limit')); if($mem){ - if($mem == -1) { + if ($mem === -1) { msg('PHP memory is unlimited', 1); - } else if($mem < 16777216){ - msg('PHP is limited to less than 16MB RAM ('.$mem.' bytes). Increase memory_limit in php.ini',-1); - }else if($mem < 20971520){ - msg('PHP is limited to less than 20MB RAM ('.$mem.' bytes), - you might encounter problems with bigger pages. Increase memory_limit in php.ini',-1); - }else if($mem < 33554432){ - msg('PHP is limited to less than 32MB RAM ('.$mem.' bytes), - but that should be enough in most cases. If not, increase memory_limit in php.ini',0); - }else{ - msg('More than 32MB RAM ('.$mem.' bytes) available.',1); + } else if ($mem < 16777216) { + msg('PHP is limited to less than 16MB RAM (' . filesize_h($mem) . '). + Increase memory_limit in php.ini', -1); + } else if ($mem < 20971520) { + msg('PHP is limited to less than 20MB RAM (' . filesize_h($mem) . '), + you might encounter problems with bigger pages. Increase memory_limit in php.ini', -1); + } else if ($mem < 33554432) { + msg('PHP is limited to less than 32MB RAM (' . filesize_h($mem) . '), + but that should be enough in most cases. If not, increase memory_limit in php.ini', 0); + } else { + msg('More than 32MB RAM (' . filesize_h($mem) . ') available.', 1); } } diff --git a/inc/lang/es/lang.php b/inc/lang/es/lang.php index e670ea4f1..7924a7da7 100644 --- a/inc/lang/es/lang.php +++ b/inc/lang/es/lang.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Liliana <lilianasaidon@gmail.com> * @author Alex Cachinero <anarres@protonmail.com> * @author WIRESLINKEA <wireslinkea@gmail.com> * @author Domingo Redal <docxml@gmail.com> diff --git a/inc/lang/fr/lang.php b/inc/lang/fr/lang.php index 82a0f620e..9ae631df8 100644 --- a/inc/lang/fr/lang.php +++ b/inc/lang/fr/lang.php @@ -183,7 +183,7 @@ $lang['resendpwd'] = 'Définir un nouveau mot de passe pour'; $lang['resendpwdmissing'] = 'Désolé, vous devez remplir tous les champs.'; $lang['resendpwdnouser'] = 'Désolé, cet utilisateur n\'existe pas dans notre base de données.'; $lang['resendpwdbadauth'] = 'Désolé, ce code d\'authentification est invalide. Assurez-vous d\'avoir utilisé le lien de confirmation intégral.'; -$lang['resendpwdconfirm'] = 'Un lien de confirmation vous a été expédié par courriel.'; +$lang['resendpwdconfirm'] = 'Un lien de confirmation a été expédié par courriel.'; $lang['resendpwdsuccess'] = 'Votre nouveau mot de passe vous a été expédié par courriel.'; $lang['license'] = 'Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante :'; $lang['licenseok'] = 'Note : En modifiant cette page, vous acceptez que le contenu soit placé sous les termes de la licence suivante :'; @@ -201,7 +201,7 @@ $lang['mediaselect'] = 'Sélection de fichiers'; $lang['uploadsucc'] = 'Envoi réussi'; $lang['uploadfail'] = 'L\'envoi a échoué. Les autorisations sont-elles correctes ?'; $lang['uploadwrong'] = 'Envoi refusé. Cette extension de fichier est interdite !'; -$lang['uploadexist'] = 'Le fichier existe déjà. L\'envoi a été annulé.'; +$lang['uploadexist'] = 'Le fichier existe déjà. L\'envoi est ignoré.'; $lang['uploadbadcontent'] = 'Le contenu envoyé ne correspond pas à l\'extension du fichier (%s).'; $lang['uploadspam'] = 'L\'envoi a été bloqué par la liste noire de l\'anti-spam.'; $lang['uploadxss'] = 'L\'envoi a été bloqué car son contenu est peut-être malveillant.'; @@ -240,7 +240,7 @@ $lang['line'] = 'Ligne'; $lang['breadcrumb'] = 'Piste:'; $lang['youarehere'] = 'Vous êtes ici:'; $lang['lastmod'] = 'Dernière modification:'; -$lang['by'] = 'par'; +$lang['by'] = 'de'; $lang['deleted'] = 'supprimée'; $lang['created'] = 'créée'; $lang['restored'] = 'ancienne révision (%s) restaurée'; @@ -386,5 +386,5 @@ $lang['plainhtml'] = 'HTML brut'; $lang['wikimarkup'] = 'Wiki balise'; $lang['page_nonexist_rev'] = 'La page n\'existait pas le %s. Elle a été créée le <a href="%s">%s</a>.'; $lang['unable_to_parse_date'] = 'Ne peut analyser le paramètre date "%s".'; -$lang['email_signature_text'] = 'Ce courriel a été généré par DokuWiki depuis +$lang['email_signature_text'] = 'Courriel envoyé par DokuWiki depuis @DOKUWIKIURL@'; diff --git a/inc/lang/fr/mailtext.txt b/inc/lang/fr/mailtext.txt index d93eb1e8a..a4aa8d8b0 100644 --- a/inc/lang/fr/mailtext.txt +++ b/inc/lang/fr/mailtext.txt @@ -1,4 +1,4 @@ -Une page dans votre wiki a été ajoutée ou modifiée. Voici les +Une page dans votre wiki a changé ou été modifiée. Voici les détails : Date : @DATE@ diff --git a/inc/lang/fr/recent.txt b/inc/lang/fr/recent.txt index f24996d83..77ec119d1 100644 --- a/inc/lang/fr/recent.txt +++ b/inc/lang/fr/recent.txt @@ -1,3 +1,3 @@ ====== Derniers changements ====== -Les pages suivantes ont été modifiées récemment : +Voici la liste des pages modifiées récemment : diff --git a/inc/lang/fr/subscr_digest.txt b/inc/lang/fr/subscr_digest.txt index 6744a1933..fa64b2262 100644 --- a/inc/lang/fr/subscr_digest.txt +++ b/inc/lang/fr/subscr_digest.txt @@ -1,6 +1,6 @@ Bonjour, -La page « @PAGE@ » dans le wiki « @TITLE@ » a été modifiée. +La page « @PAGE@ » dans le wiki « @TITLE@ » a changé. Voici les modifications : -------------------------------------------------------- diff --git a/inc/lang/fr/subscr_list.txt b/inc/lang/fr/subscr_list.txt index 7dd83f1d4..f34fa52e0 100644 --- a/inc/lang/fr/subscr_list.txt +++ b/inc/lang/fr/subscr_list.txt @@ -1,7 +1,7 @@ Bonjour, Des pages de la catégorie « @PAGE@ » du wiki « @TITLE@ » ont -été modifiées. Voici les modifications : +changé. Voici les modifications : -------------------------------------------------------- @DIFF@ diff --git a/inc/lang/fr/subscr_single.txt b/inc/lang/fr/subscr_single.txt index 458848a24..d101fabd9 100644 --- a/inc/lang/fr/subscr_single.txt +++ b/inc/lang/fr/subscr_single.txt @@ -1,6 +1,6 @@ Bonjour, -La page « @PAGE@ » dans le wiki « @TITLE@ » a été modifiée. +La page « @PAGE@ » dans le wiki « @TITLE@ » a changé. Voici les modifications : -------------------------------------------------------- diff --git a/inc/lang/it/lang.php b/inc/lang/it/lang.php index 58091efd8..9d9c1edd4 100644 --- a/inc/lang/it/lang.php +++ b/inc/lang/it/lang.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Roberto Bellingeri <bellingeri@netguru.it> * @author Eddy <eddy@mail.it> * @author Riccardo <riccardo.furlato@gmail.com> * @author Stefano <stefano.stefano@gmail.com> diff --git a/inc/lang/nl/lang.php b/inc/lang/nl/lang.php index b6a97a4cb..2cd368639 100644 --- a/inc/lang/nl/lang.php +++ b/inc/lang/nl/lang.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Gerrit Uitslag <klapinklapin@gmail.com> * @author Andy <astolker@icloud.com> * @author Harriet Neitz <harrietneitz@gmail.com> * @author mark prins <mprins@users.sf.net> @@ -19,7 +20,6 @@ * @author Timon Van Overveldt <timonvo@gmail.com> * @author Jeroen * @author Ricardo Guijt <ricardoguijt@gmail.com> - * @author Gerrit <klapinklapin@gmail.com> * @author Remon <no@email.local> * @author gicalle <gicalle@hotmail.com> * @author Rene <wllywlnt@yahoo.com> diff --git a/inc/lang/nl/onceexisted.txt b/inc/lang/nl/onceexisted.txt new file mode 100644 index 000000000..4669563e0 --- /dev/null +++ b/inc/lang/nl/onceexisted.txt @@ -0,0 +1,3 @@ +======= Deze pagina bestaat niet meer ====== + +Je hebt een link gevolgd naar een pagina die niet meer bestaat. Je kunt de lijst met [[?do=revisions|Oude revisies]] bekijken om te zien wanneer en waarom de pagina was verwijderd, oude versies te bekijken en om deze te herstellen.
\ No newline at end of file diff --git a/inc/lang/no/lang.php b/inc/lang/no/lang.php index 9ca3b3f38..2cb6839fa 100644 --- a/inc/lang/no/lang.php +++ b/inc/lang/no/lang.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Rut Kristin Aanestad <dark@met.no> * @author Torgeir Blesvik <bletor@banenor.no> * @author ThorPrestboen <thor.erling.prestboen@gmail.com> * @author Christian McKenna <mckchr@banenor.no> diff --git a/inc/lang/no/login.txt b/inc/lang/no/login.txt index 247c93087..0c67c7520 100644 --- a/inc/lang/no/login.txt +++ b/inc/lang/no/login.txt @@ -1,3 +1,3 @@ ====== Logg inn ====== -Du er ikke innlogget! Angi ditt brukernavn og passord nedenfor for å logge inn. Støtte for informasjonskapsler (cockies) må være aktivert i din nettleser for at du skal kunne logge inn. +Du er ikke innlogget! Angi ditt brukernavn og passord nedenfor for å logge inn. Støtte for informasjonskapsler (cookies) må være aktivert i din nettleser for at du skal kunne logge inn. diff --git a/inc/lang/oc/lang.php b/inc/lang/oc/lang.php index 572bdddeb..6c10ccdd0 100644 --- a/inc/lang/oc/lang.php +++ b/inc/lang/oc/lang.php @@ -128,20 +128,33 @@ $lang['profdeleted'] = 'Vòstre compte foguèt suprimit d’aqueste wi $lang['proffail'] = 'Lo perfil de l’utilizaire es pas estat actualizat.'; $lang['pwdforget'] = 'Avètz oblidat lo senhal ? Demandatz-ne un nòu'; $lang['resendpwd'] = 'Definir un nòu senhal per'; +$lang['resendpwdconfirm'] = 'Avèm enviat un ligam de confirmacion per corrièl.'; +$lang['resendpwdsuccess'] = 'Avèm enviat lo senhal per corrièl.'; $lang['searchmedia'] = 'Cercar un nom de fichièr :'; $lang['searchmedia_in'] = 'Cercar dins %s'; +$lang['txt_upload'] = 'Selecionnatz lo fichièr d’enviar :'; +$lang['txt_filename'] = 'Enviar coma (opcional) :'; +$lang['txt_overwrt'] = 'Remplaçar lo fichièr existent'; $lang['nothingfound'] = 'Pas res es estat trobat.'; $lang['mediaselect'] = 'Fichièrs mèdias'; $lang['uploadsucc'] = 'Corrèctament enviat'; +$lang['uploadexist'] = 'Lo fichièr existís ja. Pas res fach.'; +$lang['deletesucc'] = 'Lo fichièr « %s » es estat suprimit.'; +$lang['deletefail'] = 'Supression impossibla del fichièr « %s » - verificatz las autorizacions.'; +$lang['mediainuse'] = 'Lo fichièr « %s » es pas estat suprimit - es encara utilizat.'; $lang['mediafiles'] = 'Fichièrs disponibles dins'; $lang['accessdenied'] = 'Sètz pas autorizatz a veire aquesta pagina.'; $lang['mediaview'] = 'Veire lo fichièr d\'origina'; +$lang['mediaroot'] = 'root'; $lang['reference'] = 'Referéncia per'; $lang['toc'] = 'Ensenhador'; $lang['current'] = 'actuala'; $lang['yours'] = 'Vòstra version'; $lang['diff'] = 'Mostrar las diferéncias amb la version actuala'; $lang['diff_type'] = 'Veire las diferéncias :'; +$lang['diffprevrev'] = 'Revision precedenta'; +$lang['diffnextrev'] = 'Revision seguenta'; +$lang['difflastrev'] = 'Darrièra revision'; $lang['line'] = 'Linha'; $lang['youarehere'] = 'Sètz aquí :'; $lang['lastmod'] = 'Darrièra modification :'; diff --git a/inc/lang/pt/lang.php b/inc/lang/pt/lang.php index 8bc1e69b3..de6c5500d 100644 --- a/inc/lang/pt/lang.php +++ b/inc/lang/pt/lang.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Maykon Oliveira <maykonoliveira850@gmail.com> * @author José Vieira <jmsv63@gmail.com> * @author José Carlos Monteiro <jose.c.monteiro@netcabo.pt> * @author José Monteiro <Jose.Monteiro@DoWeDo-IT.com> @@ -356,6 +357,7 @@ $lang['media_perm_read'] = 'Perdão, não tem permissão para ler ficheiro $lang['media_perm_upload'] = 'Perdão, não tem permissão para enviar ficheiros.'; $lang['media_update'] = 'enviar nova versão'; $lang['media_restore'] = 'Restaurar esta versão'; +$lang['media_acl_warning'] = 'Essa lista pode não estar completa devido a restrições de ACL e páginas ocultas.'; $lang['currentns'] = 'Namespace actual'; $lang['searchresult'] = 'Resultado da pesquisa'; $lang['plainhtml'] = 'HTML simples'; diff --git a/inc/lang/pt/onceexisted.txt b/inc/lang/pt/onceexisted.txt new file mode 100644 index 000000000..f9fc10cce --- /dev/null +++ b/inc/lang/pt/onceexisted.txt @@ -0,0 +1,3 @@ +======= Esta página não existe mais ====== + +Você seguiu um link para uma página que não existe mais. Você pode verificar a lista de [[?Do=revisions|old revisions]] para ver quando e por que foi excluída, acessar revisões antigas ou restaurá-la.
\ No newline at end of file diff --git a/inc/lang/ru/lang.php b/inc/lang/ru/lang.php index 4f3f5900a..752f736ff 100644 --- a/inc/lang/ru/lang.php +++ b/inc/lang/ru/lang.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Alexander Kh. <001.arx@gmail.com> * @author Aleksandr Selivanov <alexgearbox@yandex.ru> * @author Vyacheslav Strenadko <vyacheslav.strenadko@gmail.com> * @author Wolterhon <hotmottot.1@gmail.com> diff --git a/inc/lang/ru/onceexisted.txt b/inc/lang/ru/onceexisted.txt new file mode 100644 index 000000000..2fed69f57 --- /dev/null +++ b/inc/lang/ru/onceexisted.txt @@ -0,0 +1,3 @@ +======= Данная страница более не существует ====== + +Вы перешли по ссылки на страницу, которая более не существует. Вы можете проверить список [[?do=revisions|old revisions]], чтобы увидеть когда и почему она была удалена, а также получить доступ к более ранним её версиям или восстановить её.
\ No newline at end of file diff --git a/inc/lang/sk/lang.php b/inc/lang/sk/lang.php index 649f200e7..b15b94133 100644 --- a/inc/lang/sk/lang.php +++ b/inc/lang/sk/lang.php @@ -1,9 +1,13 @@ <?php + /** * slovak language file * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * auth.class language support + * installer strings + * * @author Martin Michalek <michalek.dev@gmail.com> * @author Ondrej Vegh <ov@vsieti.sk> with help of the scholars from Zdruzena stredna skola polygraficka in Bratislava * @author Michal Mesko <michal.mesko@gmail.com> @@ -12,12 +16,11 @@ */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; -$lang['doublequoteopening'] = '“'; //“ -$lang['doublequoteclosing'] = '”'; //” -$lang['singlequoteopening'] = '‘'; //‘ -$lang['singlequoteclosing'] = '’'; //’ -$lang['apostrophe'] = '’'; //’ - +$lang['doublequoteopening'] = '“'; +$lang['doublequoteclosing'] = '”'; +$lang['singlequoteopening'] = '‘'; +$lang['singlequoteclosing'] = '’'; +$lang['apostrophe'] = '’'; $lang['btn_edit'] = 'Upraviť stránku'; $lang['btn_source'] = 'Zobraziť zdroj stránky'; $lang['btn_show'] = 'Zobraziť stránku'; @@ -55,7 +58,6 @@ $lang['btn_media'] = 'Správa médií'; $lang['btn_deleteuser'] = 'Zrušiť môj účet'; $lang['btn_img_backto'] = 'Späť na %s'; $lang['btn_mediaManager'] = 'Prezrieť v správcovi médií'; - $lang['loggedinas'] = 'Prihlásený(á) ako:'; $lang['user'] = 'Používateľské meno'; $lang['pass'] = 'Heslo'; @@ -69,10 +71,9 @@ $lang['profile'] = 'Používateľský profil'; $lang['badlogin'] = 'Zadané používateľské meno a heslo nie je správne.'; $lang['badpassconfirm'] = 'Ľutujem, heslo bolo nesprávne.'; $lang['minoredit'] = 'Menšie zmeny'; -$lang['draftdate'] = 'Koncept automaticky uložený'; // full dformat date will be added +$lang['draftdate'] = 'Koncept automaticky uložený'; $lang['nosecedit'] = 'Stránka bola medzičasom zmenená, informácie o sekcii sú zastaralé a z tohto dôvodu bola nahraná celá stránka.'; $lang['searchcreatepage'] = 'Ak ste nenašli, čo ste hľadali, môžete vytvoriť alebo upraviť stránku %s, ktorá bola nazvaná podľa vášho dopytu.'; - $lang['search_fullresults'] = 'Fulltextové výsledky'; $lang['js']['search_toggle_tools'] = 'Zobraziť/Skryť vyhľadávacie nástroje'; $lang['js']['willexpire'] = 'Váš zámok pre editáciu za chvíľu stratí platnosť.\nAby ste predišli konfliktom, stlačte tlačítko Náhľad a zámok sa predĺži.'; @@ -117,7 +118,6 @@ $lang['js']['media_done_btn'] = 'Hotovo'; $lang['js']['media_drop'] = 'Pridajte súbory potiahnutím myšou'; $lang['js']['media_cancel'] = 'odstrániť'; $lang['js']['media_overwrt'] = 'Prepísať existujúce súbory'; - $lang['search_exact_match'] = 'Presná zhoda'; $lang['search_starts_with'] = 'Začín na'; $lang['search_ends_with'] = 'Končí na'; @@ -170,7 +170,6 @@ $lang['lockedby'] = 'Práve zamknuté:'; $lang['lockexpire'] = 'Zámok stratí platnosť:'; $lang['rssfailed'] = 'Nastala chyba pri vytváraní tohto RSS: '; $lang['nothingfound'] = 'Nič nenájdené.'; - $lang['mediaselect'] = 'Výber súboru'; $lang['uploadsucc'] = 'Prenos prebehol v poriadku'; $lang['uploadfail'] = 'Chyba pri nahrávaní. Možno kvôli zle nastaveným právam?'; @@ -194,7 +193,6 @@ $lang['mediaextchange'] = 'Prípona súboru bola zmenená z .%s na .%s!'; $lang['reference'] = 'Referencie pre'; $lang['ref_inuse'] = 'Súbor nemôže byť zmazaný, pretože je stále používaný nasledujúcimi stránkami:'; $lang['ref_hidden'] = 'Niektoré referencie sú na stránky, pre ktoré nemáte právo na čítanie'; - $lang['hits'] = '- počet výskytov'; $lang['quickhits'] = 'Zodpovedajúce stránky'; $lang['toc'] = 'Obsah'; @@ -229,18 +227,15 @@ $lang['site_tools'] = 'Nástoje správy stránok'; $lang['page_tools'] = 'Nástoje stránky'; $lang['skip_to_content'] = 'skok na obsah'; $lang['sidebar'] = 'Bočný panel'; - $lang['mail_newpage'] = 'stránka pridaná:'; $lang['mail_changed'] = 'stránka zmenená:'; $lang['mail_subscribe_list'] = 'stránky zmenené v mennom priestore:'; $lang['mail_new_user'] = 'nový používateľ:'; $lang['mail_upload'] = 'nahraný súbor:'; - $lang['changes_type'] = 'Prehľad zmien'; $lang['pages_changes'] = 'Stránok'; $lang['media_changes'] = 'Súbory'; $lang['both_changes'] = 'Stránok spolu s média súbormi'; - $lang['qb_bold'] = 'Tučné'; $lang['qb_italic'] = 'Kurzíva'; $lang['qb_underl'] = 'Podčiarknutie'; @@ -265,9 +260,7 @@ $lang['qb_media'] = 'Vložiť obrázky alebo iné súbory'; $lang['qb_sig'] = 'Vložiť podpis'; $lang['qb_smileys'] = 'Smajlíky'; $lang['qb_chars'] = 'Špeciálne znaky'; - $lang['upperns'] = 'návrat do nadradeného menného priestoru'; - $lang['metaedit'] = 'Upraviť metainformácie'; $lang['metasaveerr'] = 'Zápis metainformácií zlyhal'; $lang['metasaveok'] = 'Metainformácie uložené'; @@ -283,14 +276,13 @@ $lang['img_camera'] = 'Fotoaparát:'; $lang['img_keywords'] = 'Kľúčové slová:'; $lang['img_width'] = 'Šírka:'; $lang['img_height'] = 'Výška:'; - $lang['subscr_subscribe_success'] = 'Používateľ %s bol pridaný do zoznamu hlásení o zmenách %s'; $lang['subscr_subscribe_error'] = 'Chyba pri pridaní používateľa %s do zoznamu hlásení o zmenách %s'; $lang['subscr_subscribe_noaddress'] = 'Vaše prihlasovacie meno nemá priradenú žiadnu email adresu, nemôžete byť pridaný do zoznamu hlásení o zmenách'; $lang['subscr_unsubscribe_success'] = 'Používateľ %s bol odstránený zo zoznamu hlásení o zmenách %s'; $lang['subscr_unsubscribe_error'] = 'Chyba pri odstránení používateľa %s zo zoznamu hlásení o zmenách %s'; $lang['subscr_already_subscribed'] = 'Používateľ %s už je v zozname hlásení o zmenách %s'; -$lang['subscr_not_subscribed'] = 'Používateľ %s nie je v zozname hlásení o zmenách %s'; // Manage page for subscriptions +$lang['subscr_not_subscribed'] = 'Používateľ %s nie je v zozname hlásení o zmenách %s'; $lang['subscr_m_not_subscribed'] = 'Momentálne nesledujete zmeny aktuálnej stránky alebo menného priestoru.'; $lang['subscr_m_new_header'] = 'Pridať sledovanie zmien'; $lang['subscr_m_current_header'] = 'Aktuálne sledované zmeny'; @@ -300,11 +292,7 @@ $lang['subscr_m_receive'] = 'Dostávať'; $lang['subscr_style_every'] = 'email pri každej zmene'; $lang['subscr_style_digest'] = 'email so zhrnutím zmien pre každú stránku (perióda %.2f dňa)'; $lang['subscr_style_list'] = 'zoznam zmenených stránok od posledného emailu (perióda %.2f dňa)'; - -/* auth.class language support */ $lang['authtempfail'] = 'Používateľská autentifikácia je dočasne nedostupná. Ak táto situácia pretrváva, prosím informujte správcu systému.'; - -/* installer strings */ $lang['i_chooselang'] = 'Zvoľte váš jazyk'; $lang['i_installer'] = 'DokuWiki inštalátor'; $lang['i_wikiname'] = 'Názov Wiki'; @@ -332,7 +320,6 @@ $lang['i_license'] = 'Vyberte licenciu, pod ktorou chcete uložiť v $lang['i_license_none'] = 'Nezobrazovať žiadne licenčné informácie'; $lang['i_pop_field'] = 'Prosím pomôžte nám zlepšiť prácu s DokuWiki:'; $lang['i_pop_label'] = 'Raz mesačne zaslať anonymné údaje vývojárom DokuWiki'; - $lang['recent_global'] = 'Práve prehliadate zmeny v mennom priestore <b>%s</b>. Môžete si tiež pozrieť <a href="%s">aktuálne zmeny celej wiki</a>.'; $lang['years'] = 'pred %d rokmi'; $lang['months'] = 'pred %d mesiacmi'; @@ -341,9 +328,7 @@ $lang['days'] = 'pred %d dňami'; $lang['hours'] = 'pred %d hodinami'; $lang['minutes'] = 'pred %d minútami'; $lang['seconds'] = 'pred %d sekundami'; - $lang['wordblock'] = 'Vaše zmeny neboli uložené, pretože obsahovali nepovolený text (spam).'; - $lang['media_uploadtab'] = 'Nahrať'; $lang['media_searchtab'] = 'Hľadať'; $lang['media_file'] = 'Súbor'; @@ -368,7 +353,6 @@ $lang['media_perm_upload'] = 'Prepáčte, ale nemáte dostatočné oprávnen $lang['media_update'] = 'Nahrať novú verziu'; $lang['media_restore'] = 'Obnoviť túto verziu'; $lang['media_acl_warning'] = 'Tento zoznam nemusí byť úplný z dôvodu ACL obmedzení alebo skratých stránok.'; - $lang['currentns'] = 'Aktuálny menný priestor'; $lang['searchresult'] = 'Výsledky hľadania'; $lang['plainhtml'] = 'Jednoduché HTML'; @@ -377,5 +361,3 @@ $lang['page_nonexist_rev'] = 'Stránka %s neexistovala. Bola vytvorená doda $lang['unable_to_parse_date'] = 'Nie je možné spracovať parameter "%s".'; $lang['email_signature_text'] = 'Táto správa bola zaslaná DokuWiki @DOKUWIKIURL@'; -#$lang['email_signature_html'] = ''; # the empty default will copy the text signature, you can override it in a local lang file - diff --git a/inc/lang/sr/lang.php b/inc/lang/sr/lang.php index 9182c1b7f..ff1c37146 100644 --- a/inc/lang/sr/lang.php +++ b/inc/lang/sr/lang.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Milan Oparnica <milan.opa@gmail.com> * @author Filip Brcic <brcha@users.sourceforge.net> * @author Иван Петровић (Ivan Petrovic) <petrovicivan@ubuntusrbija.org> * @author Miroslav Šolti <solti.miroslav@gmail.com> @@ -68,44 +69,9 @@ $lang['badpassconfirm'] = 'Нажалост, лозинка је била $lang['minoredit'] = 'Мала измена'; $lang['draftdate'] = 'Нацрт је аутоматски сачуван'; $lang['nosecedit'] = 'Страна је у међувремену промењена, поглавље је застарело и поново се учитава цела страна.'; -$lang['regmissing'] = 'Извините, морате да попуните сва поља.'; -$lang['reguexists'] = 'Извините, корисник са истим именом већ постоји.'; -$lang['regsuccess'] = 'Корисник је направљен и лозинка је послата путем е-поште.'; -$lang['regsuccess2'] = 'Корисник је направљен.'; -$lang['regfail'] = 'Нисам могао да направим корисника.'; -$lang['regmailfail'] = 'Изгледа да је дошло до грешке приликом слања лозинке е-поштом. Контактирајте администратора!'; -$lang['regbadmail'] = 'Дата е-адреса није у реду - ако мислите да је ово грешка, контактирајте администратора'; -$lang['regbadpass'] = 'Две унете лозинке нису исте. Пробајте поново.'; -$lang['regpwmail'] = 'Ваша DokuWiki лозинка'; -$lang['reghere'] = 'Још увек немате налог? Само направите један'; -$lang['profna'] = 'Овај вики не дозвољава измену профила'; -$lang['profnochange'] = 'Нема промена.'; -$lang['profnoempty'] = 'Није дозвољено оставити празно поље имена или е-адресе.'; -$lang['profchanged'] = 'Кориснички профил је ажуриран.'; -$lang['profnodelete'] = 'Овај вики не подржава брисање корисника'; -$lang['profdeleteuser'] = 'Избриши налог'; -$lang['profdeleted'] = 'Ваш кориснички налог је избрисан са овог викија'; -$lang['profconfdelete'] = 'Желим да уклоним свој налог са овог викија. <br/> Ова радња се не може опозвати.'; -$lang['profconfdeletemissing'] = 'Није штиклирано поље за потврду'; -$lang['proffail'] = 'Кориснички профил није ажуриран.'; -$lang['pwdforget'] = 'Заборавили сте лозинку? Направите нову'; -$lang['resendna'] = 'Овај вики не дозвољава слање лозинки.'; -$lang['resendpwd'] = 'Поставите нову лозинку за'; -$lang['resendpwdmissing'] = 'Жао ми је, сва поља морају бити попуњена.'; -$lang['resendpwdnouser'] = 'Жао ми је, овај корисник не постоји у нашој бази.'; -$lang['resendpwdbadauth'] = 'Жао ми је, потврдни код није исправан. Проверите да ли сте користили комплетан потврдни линк.'; -$lang['resendpwdconfirm'] = 'Потврдни линк је постат као е-порука.'; -$lang['resendpwdsuccess'] = 'Ваша нова лозинка је послата као е-порука.'; -$lang['license'] = 'Осим где је другачије назначено, материјал на овом викију је под следећом лиценцом:'; -$lang['licenseok'] = 'Напомена: Изменом ове стране слажете се да ће ваше измене бити под следећом лиценцом:'; -$lang['searchmedia'] = 'Претражи по имену фајла'; -$lang['searchmedia_in'] = 'Претражи у %s'; -$lang['txt_upload'] = 'Изаберите датотеку за слање:'; -$lang['txt_filename'] = 'Унесите вики-име (опционо):'; -$lang['txt_overwrt'] = 'Препишите тренутни фајл'; -$lang['maxuploadsize'] = 'Отпреми највише %s по датотеци.'; -$lang['lockedby'] = 'Тренутно закључано од стране:'; -$lang['lockexpire'] = 'Закључавање истиче:'; +$lang['searchcreatepage'] = 'Ako niste pronašli to što tražite, možete napraviti ili urediti stranicu %s, imenovanu prema zadatom upitu.'; +$lang['search_fullresults'] = 'Tekstualni rezultati'; +$lang['js']['search_toggle_tools'] = 'Uključi/isključi Alate Pretrage'; $lang['js']['willexpire'] = 'Ваше закључавање за измену ове странице ће да истекне за један минут.\nДа би сте избегли конфликте, искористите дугме за преглед како би сте ресетовали тајмер закључавања.'; $lang['js']['notsavedyet'] = 'Несачуване измене ће бити изгубљене. Да ли стварно желите да наставите?'; @@ -141,12 +107,64 @@ $lang['js']['del_confirm'] = 'Обриши овај унос?'; $lang['js']['restore_confirm'] = 'Заиста желите да вратите ово издање?'; $lang['js']['media_diff'] = 'Погледај разлике:'; $lang['js']['media_diff_both'] = 'Једно до другог'; +$lang['js']['media_diff_opacity'] = 'Prosvetl'; +$lang['js']['media_diff_portions'] = 'Prevuci'; $lang['js']['media_select'] = 'Изабери датотеке…'; $lang['js']['media_upload_btn'] = 'Отпреми'; $lang['js']['media_done_btn'] = 'Готово'; $lang['js']['media_drop'] = 'Превуците датотеке овде да бисте их отпремили'; $lang['js']['media_cancel'] = 'уклони'; $lang['js']['media_overwrt'] = 'Препиши постојеће датотеке'; +$lang['search_exact_match'] = 'Potpuno podudaranje'; +$lang['search_starts_with'] = 'Počinje sa'; +$lang['search_ends_with'] = 'Završava se sa'; +$lang['search_contains'] = 'Sadrži'; +$lang['search_custom_match'] = 'Prilagođen'; +$lang['search_any_ns'] = 'Svako imenovanje '; +$lang['search_any_time'] = 'Svako vreme'; +$lang['search_past_7_days'] = 'Prošla nedelja'; +$lang['search_past_month'] = 'Prošli mesec'; +$lang['search_past_year'] = 'Prošla godina'; +$lang['search_sort_by_hits'] = 'Poređaj po pogodcima'; +$lang['search_sort_by_mtime'] = 'Poređaj po vremenu izmene'; +$lang['regmissing'] = 'Извините, морате да попуните сва поља.'; +$lang['reguexists'] = 'Извините, корисник са истим именом већ постоји.'; +$lang['regsuccess'] = 'Корисник је направљен и лозинка је послата путем е-поште.'; +$lang['regsuccess2'] = 'Корисник је направљен.'; +$lang['regfail'] = 'Нисам могао да направим корисника.'; +$lang['regmailfail'] = 'Изгледа да је дошло до грешке приликом слања лозинке е-поштом. Контактирајте администратора!'; +$lang['regbadmail'] = 'Дата е-адреса није у реду - ако мислите да је ово грешка, контактирајте администратора'; +$lang['regbadpass'] = 'Две унете лозинке нису исте. Пробајте поново.'; +$lang['regpwmail'] = 'Ваша DokuWiki лозинка'; +$lang['reghere'] = 'Још увек немате налог? Само направите један'; +$lang['profna'] = 'Овај вики не дозвољава измену профила'; +$lang['profnochange'] = 'Нема промена.'; +$lang['profnoempty'] = 'Није дозвољено оставити празно поље имена или е-адресе.'; +$lang['profchanged'] = 'Кориснички профил је ажуриран.'; +$lang['profnodelete'] = 'Овај вики не подржава брисање корисника'; +$lang['profdeleteuser'] = 'Избриши налог'; +$lang['profdeleted'] = 'Ваш кориснички налог је избрисан са овог викија'; +$lang['profconfdelete'] = 'Желим да уклоним свој налог са овог викија. <br/> Ова радња се не може опозвати.'; +$lang['profconfdeletemissing'] = 'Није штиклирано поље за потврду'; +$lang['proffail'] = 'Кориснички профил није ажуриран.'; +$lang['pwdforget'] = 'Заборавили сте лозинку? Направите нову'; +$lang['resendna'] = 'Овај вики не дозвољава слање лозинки.'; +$lang['resendpwd'] = 'Поставите нову лозинку за'; +$lang['resendpwdmissing'] = 'Жао ми је, сва поља морају бити попуњена.'; +$lang['resendpwdnouser'] = 'Жао ми је, овај корисник не постоји у нашој бази.'; +$lang['resendpwdbadauth'] = 'Жао ми је, потврдни код није исправан. Проверите да ли сте користили комплетан потврдни линк.'; +$lang['resendpwdconfirm'] = 'Потврдни линк је постат као е-порука.'; +$lang['resendpwdsuccess'] = 'Ваша нова лозинка је послата као е-порука.'; +$lang['license'] = 'Осим где је другачије назначено, материјал на овом викију је под следећом лиценцом:'; +$lang['licenseok'] = 'Напомена: Изменом ове стране слажете се да ће ваше измене бити под следећом лиценцом:'; +$lang['searchmedia'] = 'Претражи по имену фајла'; +$lang['searchmedia_in'] = 'Претражи у %s'; +$lang['txt_upload'] = 'Изаберите датотеку за слање:'; +$lang['txt_filename'] = 'Унесите вики-име (опционо):'; +$lang['txt_overwrt'] = 'Препишите тренутни фајл'; +$lang['maxuploadsize'] = 'Отпреми највише %s по датотеци.'; +$lang['lockedby'] = 'Тренутно закључано од стране:'; +$lang['lockexpire'] = 'Закључавање истиче:'; $lang['rssfailed'] = 'Дошло је до грешке приликом преузимања овог довода: '; $lang['nothingfound'] = 'Ништа није нађено.'; $lang['mediaselect'] = 'Избор медијске датотеке'; diff --git a/inc/lang/sr/onceexisted.txt b/inc/lang/sr/onceexisted.txt new file mode 100644 index 000000000..ce9c28fc3 --- /dev/null +++ b/inc/lang/sr/onceexisted.txt @@ -0,0 +1,3 @@ +======= Ova stranica više ne postoji ====== + +Pratili ste sled do stranice koja više ne postoji. U dnevniku [[?do=revisions|old revisions]] možete pronaći kada i zašto je stranica obrisana, otvoriti njenu staru verziju i povratiti je.
\ No newline at end of file diff --git a/inc/lang/zh/lang.php b/inc/lang/zh/lang.php index 2da9d6e14..a9fe2cf98 100644 --- a/inc/lang/zh/lang.php +++ b/inc/lang/zh/lang.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author HaoNan <haonan@zhuoming.info> * @author Phy <dokuwiki@phy25.com> * @author Aaron Zhou <iradio@163.com> * @author lempel <riverlempel@hotmail.com> diff --git a/lib/plugins/acl/lang/sr/lang.php b/lib/plugins/acl/lang/sr/lang.php index 0ba322a5e..f2c95484d 100644 --- a/lib/plugins/acl/lang/sr/lang.php +++ b/lib/plugins/acl/lang/sr/lang.php @@ -4,8 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Filip Brcic <brcha@users.sourceforge.net> - * @author Иван Петровић petrovicivan@ubuntusrbija.org - * @author Ivan Petrovic <petrovicivan@ubuntusrbija.org> + * @author Иван Петровић <petrovicivan@ubuntusrbija.org> * @author Miroslav Šolti <solti.miroslav@gmail.com> */ $lang['admin_acl'] = 'Управљање листом контроле приступа'; diff --git a/lib/plugins/authad/lang/es/settings.php b/lib/plugins/authad/lang/es/settings.php index 789222236..c329c8e7f 100644 --- a/lib/plugins/authad/lang/es/settings.php +++ b/lib/plugins/authad/lang/es/settings.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Liliana <lilianasaidon@gmail.com> * @author monica <may.dorado@gmail.com> * @author Antonio Bueno <atnbueno@gmail.com> * @author Juan De La Cruz <juann.dlc@gmail.com> @@ -24,3 +25,4 @@ $lang['expirywarn'] = 'Días por adelantado para avisar al usuario de $lang['additional'] = 'Una lista separada por comas de atributos AD adicionales a obtener de los datos de usuario. Usado por algunos plugins.'; $lang['update_name'] = '¿Permitir a los usuarios actualizar su nombre de AD?'; $lang['update_mail'] = '¿Permitir a los usuarios actualizar su email?'; +$lang['recursive_groups'] = 'Restituir los grupos anidados a sus respectivos miembros (más lento)'; diff --git a/lib/plugins/authad/lang/fr/settings.php b/lib/plugins/authad/lang/fr/settings.php index f747c08ae..f0717c7a8 100644 --- a/lib/plugins/authad/lang/fr/settings.php +++ b/lib/plugins/authad/lang/fr/settings.php @@ -3,16 +3,16 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Schplurtz le Déboulonné <schplurtz@laposte.net> * @author Bruno Veilleux <bruno.vey@gmail.com> * @author Momo50 <c.brothelande@gmail.com> - * @author Schplurtz le Déboulonné <Schplurtz@laposte.net> */ $lang['account_suffix'] = 'Le suffixe de votre compte. Ex.: <code>@mon.domaine.org</code>'; $lang['base_dn'] = 'Votre nom de domaine de base. <code>DC=mon,DC=domaine,DC=org</code>'; $lang['domain_controllers'] = 'Une liste de contrôleurs de domaine séparés par des virgules. Ex.: <code>srv1.domaine.org,srv2.domaine.org</code>'; $lang['admin_username'] = 'Un utilisateur Active Directory avec accès aux données de tous les autres utilisateurs. Facultatif, mais nécessaire pour certaines actions telles que l\'envoi de courriels d\'abonnement.'; $lang['admin_password'] = 'Le mot de passe de l\'utilisateur ci-dessus.'; -$lang['sso'] = 'Est-ce que la connexion unique (Single-Sign-On) par Kerberos ou NTLM doit être utilisée?'; +$lang['sso'] = 'Est-ce que l\'authentification unique (Single-Sign-On) par Kerberos ou NTLM doit être utilisée?'; $lang['sso_charset'] = 'Le jeu de caractères de votre serveur web va passer le nom d\'utilisateur Kerberos ou NTLM. Vide pour UTF-8 ou latin-1. Nécessite l\'extension iconv.'; $lang['real_primarygroup'] = 'Est-ce que le véritable groupe principal doit être résolu au lieu de présumer "Domain Users" (plus lent)?'; $lang['use_ssl'] = 'Utiliser une connexion SSL? Si utilisée, n\'activez pas TLS ci-dessous.'; @@ -22,3 +22,4 @@ $lang['expirywarn'] = 'Jours d\'avance pour l\'avertissement envoyé $lang['additional'] = 'Une liste séparée par des virgules d\'attributs AD supplémentaires à récupérer dans les données utilisateur. Utilisée par certains modules.'; $lang['update_name'] = 'Autoriser les utilisateurs à modifier leur nom affiché de l\'AD ?'; $lang['update_mail'] = 'Autoriser les utilisateurs à modifier leur adresse de courriel ?'; +$lang['recursive_groups'] = 'Résoudre les groupes imbriqués à leur membres respectifs (plus lent).'; diff --git a/lib/plugins/authad/lang/it/settings.php b/lib/plugins/authad/lang/it/settings.php index 9fd82352a..8d641720b 100644 --- a/lib/plugins/authad/lang/it/settings.php +++ b/lib/plugins/authad/lang/it/settings.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Roberto Bellingeri <bellingeri@netguru.it> * @author Edmondo Di Tucci <snarchio@gmail.com> * @author Torpedo <dgtorpedo@gmail.com> */ @@ -21,3 +22,4 @@ $lang['expirywarn'] = 'Giorni di preavviso per la scadenza della pass $lang['additional'] = 'Valori separati da virgola di attributi AD addizionali da caricare dai dati utente. Usato da alcuni plugin.'; $lang['update_name'] = 'Permettere agli utenti di aggiornare il loro nome AD visualizzato? '; $lang['update_mail'] = 'Permettere agli utenti di aggiornare il loro indirizzo e-mail?'; +$lang['recursive_groups'] = 'Risolvi i gruppi nidificati ai rispettivi membri (più lento).'; diff --git a/lib/plugins/authad/lang/nl/settings.php b/lib/plugins/authad/lang/nl/settings.php index c0be12e79..b8b58a1bb 100644 --- a/lib/plugins/authad/lang/nl/settings.php +++ b/lib/plugins/authad/lang/nl/settings.php @@ -3,8 +3,8 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * - * @author Remon <no@email.local> * @author Gerrit Uitslag <klapinklapin@gmail.com> + * @author Remon <no@email.local> * @author Sjoerd <sjoerd@sjomar.eu> */ $lang['account_suffix'] = 'Je account domeinnaam. Bijv <code>@mijn.domein.org</code>'; @@ -22,3 +22,4 @@ $lang['expirywarn'] = 'Waarschuwingstermijn voor vervallen wachtwoord $lang['additional'] = 'Een kommagescheiden lijst van extra AD attributen van de gebruiker. Wordt gebruikt door sommige plugins.'; $lang['update_name'] = 'Sta gebruikers toe om hun getoonde AD naam bij te werken'; $lang['update_mail'] = 'Sta gebruikers toe hun email adres bij te werken'; +$lang['recursive_groups'] = 'Zoek voor de geneste groepen hun respectievelijke leden op (langzamer).'; diff --git a/lib/plugins/authad/lang/pt-br/settings.php b/lib/plugins/authad/lang/pt-br/settings.php index 1231077da..d606682aa 100644 --- a/lib/plugins/authad/lang/pt-br/settings.php +++ b/lib/plugins/authad/lang/pt-br/settings.php @@ -3,8 +3,8 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Frederico Gonçalves Guimarães <frederico@teia.bio.br> * @author Victor Westmann <victor.westmann@gmail.com> - * @author Frederico Guimarães <frederico@teia.bio.br> * @author Juliano Marconi Lanigra <juliano.marconi@gmail.com> * @author Viliam Dias <viliamjr@gmail.com> */ @@ -23,3 +23,4 @@ $lang['expirywarn'] = 'Dias com antecedência para avisar o usuário $lang['additional'] = 'Uma lista separada de vírgulas de atributos adicionais AD para pegar dados de usuários. Usados por alguns plugins.'; $lang['update_name'] = 'Permitir aos usuários que atualizem seus nomes de exibição AD?'; $lang['update_mail'] = 'Permitir aos usuários que atualizem seu endereço de e-mail?'; +$lang['recursive_groups'] = 'Resolver grupos aninhados para seus respectivos membros (mais lento).'; diff --git a/lib/plugins/authad/lang/pt/lang.php b/lib/plugins/authad/lang/pt/lang.php index 4f8266b5b..5f767fa35 100644 --- a/lib/plugins/authad/lang/pt/lang.php +++ b/lib/plugins/authad/lang/pt/lang.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Maykon Oliveira <maykonoliveira850@gmail.com> * @author Paulo Silva <paulotsilva@yahoo.com> * @author André Neves <drakferion@gmail.com> * @author Paulo Carmino <contato@paulocarmino.com> @@ -10,4 +11,5 @@ $lang['domain'] = 'Domínio de Início de Sessão'; $lang['authpwdexpire'] = 'A sua senha expirará dentro de %d dias, deve mudá-la em breve.'; $lang['passchangefail'] = 'Falha ao alterar a senha. Tente prosseguir com uma senha mais segura.'; +$lang['userchangefail'] = 'Não foi possível alterar os atributos do usuário. Talvez sua conta não tenha permissões para fazer alterações?'; $lang['connectfail'] = 'Falha ao conectar com o servidor Active Directory.'; diff --git a/lib/plugins/authad/lang/pt/settings.php b/lib/plugins/authad/lang/pt/settings.php index b734c4800..36668229a 100644 --- a/lib/plugins/authad/lang/pt/settings.php +++ b/lib/plugins/authad/lang/pt/settings.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Maykon Oliveira <maykonoliveira850@gmail.com> * @author André Neves <drakferion@gmail.com> * @author Murilo <muriloricci@hotmail.com> * @author Paulo Silva <paulotsilva@yahoo.com> @@ -22,4 +23,6 @@ $lang['use_tls'] = 'Usar ligação TLS? Se usada, não ative SSL a $lang['debug'] = 'Deve-se mostrar saída adicional de depuração de erros?'; $lang['expirywarn'] = 'Número de dias de avanço para avisar o utilizador da expiração da senha. 0 para desativar.'; $lang['additional'] = 'Uma lista separada por vírgula de atributos adicionais de AD para buscar a partir de dados do usuário. Usado por alguns plugins.'; +$lang['update_name'] = 'Permitir que os usuários atualizem seu nome de exibição do AD?'; $lang['update_mail'] = 'Permitir que usuários atualizem seus endereços de e-mail?'; +$lang['recursive_groups'] = 'Resolve grupos aninhados para seus respectivos membros (mais lentos).'; diff --git a/lib/plugins/authad/lang/ru/settings.php b/lib/plugins/authad/lang/ru/settings.php index d6bc8fc8a..81b3296bd 100644 --- a/lib/plugins/authad/lang/ru/settings.php +++ b/lib/plugins/authad/lang/ru/settings.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Alexander Kh. <001.arx@gmail.com> * @author Yuriy Skalko <yuriy.skalko@gmail.com> * @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua) * @author Aleksandr Selivanov <alexgearbox@gmail.com> @@ -28,3 +29,4 @@ $lang['expirywarn'] = 'За сколько дней нужно пре $lang['additional'] = 'Дополнительные AD-атрибуты, разделённые запятой, для выборки из данных пользователя. Используется некоторыми плагинами.'; $lang['update_name'] = 'Разрешить пользователям редактировать свое AD-имя?'; $lang['update_mail'] = 'Разрешить пользователям редактировать свой электронный адрес?'; +$lang['recursive_groups'] = 'Разрешить вложенные группы их соответствующим членам.'; diff --git a/lib/plugins/authad/lang/sr/settings.php b/lib/plugins/authad/lang/sr/settings.php index 5e4409cc3..41e3fa48c 100644 --- a/lib/plugins/authad/lang/sr/settings.php +++ b/lib/plugins/authad/lang/sr/settings.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Milan Oparnica <milan.opa@gmail.com> * @author Марко М. Костић <marko.m.kostic@gmail.com> */ $lang['account_suffix'] = 'Суфикс на вашем налогу. Нпр.: <code>@moj.domen.rs</code>'; @@ -11,9 +12,13 @@ $lang['domain_controllers'] = 'Списак доменских контрол $lang['admin_username'] = 'Повлашћени Active Directory корисник са приступом подацима свих корисника. Изборно али је потребно за одређене радње као што је слање мејлова о претплаћивању.'; $lang['admin_password'] = 'Лозинка за корисника изнад.'; $lang['sso'] = 'Да ли треба да се користи Single-Sign-On преко Кербероса или NTLM-а?'; +$lang['sso_charset'] = 'Znakovni kod u kom će vaš webserver proslediti Kerberos ili NTLM serveru vaše ime. Ostavite prazno za UTF-8 ili latin-1. Zahteva iconv ekstenziju.'; +$lang['real_primarygroup'] = 'Da li treba razrešiti pravu primarnu grupu ili pretpostaviti grupu "Domain Users" (sporije)'; $lang['use_ssl'] = 'Користити SSL везу? Ако се користи, не омогућујте TLS испод.'; $lang['use_tls'] = 'Користити TLS везу? Ако се користи, не омогућујте SSL испод.'; $lang['debug'] = 'Приказати додатан излаз за поправљање грешака код настанка грешака?'; $lang['expirywarn'] = 'Дана унапред за које треба упозорити корисника на истицање лозинке. 0 за искључивање.'; +$lang['additional'] = 'Spisak dodatni AD atributa, razdvojen zarezima, koje treba preuzeti iz korisničkih podataka. Koristi se u nekim dodacima (plugin).'; $lang['update_name'] = 'Дозволити корисницима да ажурирају њихово AD приказно име?'; $lang['update_mail'] = 'Дозволити корисницима да ажурирају њихове мејл адрсе?'; +$lang['recursive_groups'] = 'Razrešenje ugnježdenih grupa do nivoa pripadajućih članova (sporije)'; diff --git a/lib/plugins/authad/lang/zh/settings.php b/lib/plugins/authad/lang/zh/settings.php index 1ccadd318..7a0d39b64 100644 --- a/lib/plugins/authad/lang/zh/settings.php +++ b/lib/plugins/authad/lang/zh/settings.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author HaoNan <haonan@zhuoming.info> * @author lainme <lainme993@gmail.com> * @author oott123 <ip.192.168.1.1@qq.com> * @author JellyChen <451453325@qq.com> @@ -23,3 +24,4 @@ $lang['expirywarn'] = '提前多少天警告用户密码即将到期 $lang['additional'] = '需要从用户数据中获取的额外 AD 属性的列表,以逗号分隔。用于某些插件。'; $lang['update_name'] = '允许用户更新其AD显示名称?'; $lang['update_mail'] = '是否允许用户更新他们的电子邮件地址?'; +$lang['recursive_groups'] = '将嵌套组拆分为各自的成员(较慢)'; diff --git a/lib/plugins/authldap/lang/pt/settings.php b/lib/plugins/authldap/lang/pt/settings.php index ff308c68e..ba565ae3d 100644 --- a/lib/plugins/authldap/lang/pt/settings.php +++ b/lib/plugins/authldap/lang/pt/settings.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Maykon Oliveira <maykonoliveira850@gmail.com> * @author André Neves <drakferion@gmail.com> * @author Guido Salatino <guidorafael23@gmail.com> * @author Romulo Pereira <romuloccomp@gmail.com> @@ -22,6 +23,7 @@ $lang['binddn'] = 'DN de um usuário de ligação opcional, quand $lang['bindpw'] = 'Senha do utilizador acima'; $lang['userscope'] = 'Escopo de pesquisa Limite para pesquisa de usuário'; $lang['groupscope'] = 'Escopo de pesquisa Limite para pesquisa de grupo'; +$lang['userkey'] = 'Atributo denotando o nome de usuário; deve ser consistente com o filtro do usuário.'; $lang['groupkey'] = 'A participação no grupo a partir de qualquer atributo de usuário (em vez de AD padrão de grupos) exemplo: grupo de departamento ou número de telefone'; $lang['modPass'] = 'Sua senha LDAP pode ser alterada via dokuwiki?'; $lang['debug'] = 'Mostrar informação adicional de debug aquando de erros'; diff --git a/lib/plugins/authldap/lang/sr/settings.php b/lib/plugins/authldap/lang/sr/settings.php index 3aec5c38a..6f99a532a 100644 --- a/lib/plugins/authldap/lang/sr/settings.php +++ b/lib/plugins/authldap/lang/sr/settings.php @@ -3,10 +3,19 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Milan Oparnica <milan.opa@gmail.com> * @author Марко М. Костић <marko.m.kostic@gmail.com> */ +$lang['server'] = 'Vaš LDAP server. Bilo po nazivu (<code>localhost</code>) ili po punoj URL putanju (<code>ldap://server.tld:389</code>)'; +$lang['port'] = 'Port LDAP servera ako nije zadat u više unetoj punoj URL putanji.'; +$lang['usertree'] = 'Mesto za potragu za korisničkim nalozima. Npr. <code>ou=People, dc=server, dc=tld</code>'; +$lang['grouptree'] = 'Mesto za potragu za korisničkim grupama. Npr. <code>ou=Group, dc=server, dc=tld</code>'; +$lang['userfilter'] = 'LDAP filter za pretragu za korisničkim nalozima. Npr. <code>(&(uid=%{user})(objectClass=posixAccount))</code>'; +$lang['groupfilter'] = 'LDAP filter za pretragu za korisničkim grupama. Npr. <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; +$lang['version'] = 'Verzija protokola. Može biti neophodno da ovo postavite na vrednost <code>3</code>'; $lang['starttls'] = 'Користити TLS везе?'; $lang['referrals'] = 'Да ли треба пратити реферале?'; +$lang['deref'] = 'Kako razrešiti pseudonime?'; $lang['bindpw'] = 'Лозинка корисника изнад'; $lang['userscope'] = 'Ограничи опсег претраживања за корисничке претраге'; $lang['groupscope'] = 'Ограничи опсег претраживања за групне претраге'; diff --git a/lib/plugins/authpdo/lang/nl/settings.php b/lib/plugins/authpdo/lang/nl/settings.php index 039ed6dc2..4929e9178 100644 --- a/lib/plugins/authpdo/lang/nl/settings.php +++ b/lib/plugins/authpdo/lang/nl/settings.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Gerrit Uitslag <klapinklapin@gmail.com> * @author Andy <astolker@icloud.com> */ $lang['debug'] = 'Geef gedetailleerde foutmeldingen weer. Dit zou uitgeschakeld moeten zijn na de installatie.'; @@ -14,3 +15,12 @@ $lang['select-user-groups'] = 'SQL Statement om alle groepen van één gebrui $lang['select-groups'] = 'SQL Statement om alle beschikbare groepen te selecteren'; $lang['insert-user'] = 'SQL Statement om een nieuwe gebruiker in de database in te voeren'; $lang['delete-user'] = 'SQL Statement om één gebruiker uit de database te verwijderen'; +$lang['list-users'] = 'SQL-instructie om gebruikers weer te geven die overeenkomen met een filter'; +$lang['count-users'] = 'SQL-instructie om gebruikers te tellen die overeenkomen met een filter'; +$lang['update-user-info'] = 'SQL-instructie om de volledige naam en e-mailadres van een enkele gebruiker bij te werken'; +$lang['update-user-login'] = 'SQL-instructie om de inlognaam van een enkele gebruiker bij te werken'; +$lang['update-user-pass'] = 'SQL-instructie om het wachtwoord van een enkele gebruiker bij te werken'; +$lang['insert-group'] = 'SQL-instructie om een nieuwe groep aan de database toe te voegen'; +$lang['join-group'] = 'SQL-instructie om een gebruiker aan een bestaande groep toe te voegen'; +$lang['leave-group'] = 'SQL-instructie om een gebruiker uit een groep te verwijderen'; +$lang['check-pass'] = 'SQL-instructie om het wachtwoord van een gebruiker te controleren. Kan leeg gelaten worden als de wachtwoordinformatie wordt opgehaald in select-user'; diff --git a/lib/plugins/authpdo/lang/pt/lang.php b/lib/plugins/authpdo/lang/pt/lang.php index fcf3ae01b..ec1ca7a6f 100644 --- a/lib/plugins/authpdo/lang/pt/lang.php +++ b/lib/plugins/authpdo/lang/pt/lang.php @@ -3,7 +3,9 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Maykon Oliveira <maykonoliveira850@gmail.com> * @author Paulo Carmino <contato@paulocarmino.com> */ $lang['connectfail'] = 'Falha ao conectar com o banco de dados.'; $lang['userexists'] = 'Desculpe, esse login já está sendo usado.'; +$lang['writefail'] = 'Não é possível modificar os dados do usuário. Por favor, informe o Wiki-Admin'; diff --git a/lib/plugins/authpdo/lang/pt/settings.php b/lib/plugins/authpdo/lang/pt/settings.php new file mode 100644 index 000000000..beb39fbea --- /dev/null +++ b/lib/plugins/authpdo/lang/pt/settings.php @@ -0,0 +1,13 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Maykon Oliveira <maykonoliveira850@gmail.com> + */ +$lang['debug'] = 'Imprima mensagens de erro detalhadas. Deve ser desativado após a configuração.'; +$lang['dsn'] = 'O DSN para se conectar ao banco de dados.'; +$lang['user'] = 'O usuário para a conexão de banco de dados acima (vazio para sqlite)'; +$lang['pass'] = 'A senha para a conexão de banco de dados acima (vazia para sqlite)'; +$lang['select-user'] = 'Instrução SQL para selecionar os dados de um único usuário'; +$lang['select-user-groups'] = 'Instrução SQL para selecionar todos os grupos de um único usuário'; diff --git a/lib/plugins/authpdo/lang/sk/settings.php b/lib/plugins/authpdo/lang/sk/settings.php new file mode 100644 index 000000000..0fdbfa4e3 --- /dev/null +++ b/lib/plugins/authpdo/lang/sk/settings.php @@ -0,0 +1,25 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Martin Michalek <michalek.dev@gmail.com> + */ +$lang['debug'] = 'Výpis podrobných chybových hlásení. Po nastavení by sa malo vypnúť.'; +$lang['dsn'] = 'DSN pre pripojenie k databáze.'; +$lang['user'] = 'Používateľ uvedeného databázového pripojenia (prázdne pre sqllite)'; +$lang['pass'] = 'Heslo uvedeného databázového pripojenia (prázdne pre sqllite)'; +$lang['select-user'] = 'SQL príkaz pre výber údajov používateľa'; +$lang['select-user-groups'] = 'SQL príkaz pre výber všetkých skupín používateľa'; +$lang['select-groups'] = 'SQL príkaz pre výber dostupných skupín'; +$lang['insert-user'] = 'SQL príkaz pre vloženie údajov používateľa do databázy'; +$lang['delete-user'] = 'SQL príkaz pre odstránenie používateľa z databázy'; +$lang['list-users'] = 'SQL príkaz pre výpis používateľov podľa filtra'; +$lang['count-users'] = 'SQL príkaz pre spočítanie používateľov podľa filtra'; +$lang['update-user-info'] = 'SQL príkaz pre aktualizáciu mena a emailu používateľa'; +$lang['update-user-login'] = 'SQL príkaz pre aktualizáciu prihlasovacieho mena používateľa'; +$lang['update-user-pass'] = 'SQL príkaz pre aktualizáciu hesla používateľa'; +$lang['insert-group'] = 'SQL príkaz pre vloženie údajov skupiny do databázy'; +$lang['join-group'] = 'SQL príkaz pre pridanie používateľa do existujúcej skupiny'; +$lang['leave-group'] = 'SQL príkaz pre odstránenie používateľa zo skupiny'; +$lang['check-pass'] = 'SQL príkaz pre kontrolu hesla používateľa. Môže zostať prázdny, ak je informácia o hesle pripojená k výberu údajov používateľa.'; diff --git a/lib/plugins/authplain/_test/conf/auth.users.php b/lib/plugins/authplain/_test/conf/auth.users.php new file mode 100644 index 000000000..87f54fedb --- /dev/null +++ b/lib/plugins/authplain/_test/conf/auth.users.php @@ -0,0 +1,16 @@ +# users.auth.php +# <?php exit()?> +# Don't modify the lines above +# +# Userfile +# +# Format: +# +# login:passwordhash:Real Name:email:groups,comma,separated + + +user_1:$1$tGu7CW5z$VpsMjRIx5tbyOJaQ2SP23.:Admin:admin@example.com:user,first_group +user_2:$1$2uJ5C3ib$edo0EDEb/yLAFHme7RK851:User 2:user2@example.com:user,second_group,third_group +user_3:$1$yqnlDqgZ$Sste968uKhuxH6wIQt6/D/:User 3:user3@example.com:user,fourth_group,first_group,third_group +user_4:$1$tXjajS9s$peoGPBQep.P245H1Lfloj0:User 4:user4@example.com:user,third_group +user_5:$1$IWrqdhol$xXOmufjZ2hW1aAVp7zDP.1:User 5:user5@example.com:user,second_group,fifth_group diff --git a/lib/plugins/authplain/_test/userdata.test.php b/lib/plugins/authplain/_test/userdata.test.php new file mode 100644 index 000000000..b80b39349 --- /dev/null +++ b/lib/plugins/authplain/_test/userdata.test.php @@ -0,0 +1,64 @@ +<?php + +/** + * Class userdata_test + * + * Test group retrieval + * + * @group plugins + */ +class userdata_test extends DokuWikiTest +{ + /** @var auth_plugin_authplain */ + protected $auth; + + /** + * Load auth with test conf + * @throws Exception + */ + public function setUp() + { + parent::setUp(); + global $config_cascade; + $config_cascade['plainauth.users']['default'] = __DIR__ . '/conf/auth.users.php'; + $this->auth = new auth_plugin_authplain(); + } + + /** + * Test that all groups are retrieved in the correct order, without duplicates + */ + public function test_retrieve_groups() + { + $expected = ['user', 'first_group', 'second_group', 'third_group', 'fourth_group', 'fifth_group']; + $actual = $this->auth->retrieveGroups(); + $this->assertEquals($expected, $actual); + } + + /** + * Test with small and large limits + */ + public function test_retrieve_groups_limit() + { + $expected = ['user', 'first_group']; + $actual = $this->auth->retrieveGroups(0, 2); + $this->assertEquals($expected, $actual); + + $expected = ['user', 'first_group', 'second_group', 'third_group', 'fourth_group', 'fifth_group']; + $actual = $this->auth->retrieveGroups(0, 20); + $this->assertEquals($expected, $actual); + } + + /** + * Test with small and large offsets + */ + public function test_retrieve_groups_offset() + { + $expected = ['third_group', 'fourth_group', 'fifth_group']; + $actual = $this->auth->retrieveGroups(3,10); + $this->assertEquals($expected, $actual); + + $expected = []; + $actual = $this->auth->retrieveGroups(10,3); + $this->assertEquals($expected, $actual); + } +} diff --git a/lib/plugins/authplain/auth.php b/lib/plugins/authplain/auth.php index 374e7179c..d95c86de2 100644 --- a/lib/plugins/authplain/auth.php +++ b/lib/plugins/authplain/auth.php @@ -46,6 +46,7 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin } $this->cando['getUsers'] = true; $this->cando['getUserCount'] = true; + $this->cando['getGroups'] = true; } $this->pregsplit_safe = version_compare(PCRE_VERSION, '6.7', '>='); @@ -319,6 +320,29 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin } /** + * Retrieves groups. + * Loads complete user data into memory before searching for groups. + * + * @param int $start index of first group to be returned + * @param int $limit max number of groups to be returned + * @return array + */ + public function retrieveGroups($start = 0, $limit = 0) + { + $groups = []; + + if ($this->users === null) $this->_loadUserData(); + foreach($this->users as $user => $info) { + $groups = array_merge($groups, array_diff($info['grps'], $groups)); + } + + if($limit > 0) { + return array_splice($groups, $start, $limit); + } + return array_splice($groups, $start); + } + + /** * Only valid pageid's (no namespaces) for usernames * * @param string $user diff --git a/lib/plugins/config/lang/it/lang.php b/lib/plugins/config/lang/it/lang.php index 629fd12df..801ec6218 100644 --- a/lib/plugins/config/lang/it/lang.php +++ b/lib/plugins/config/lang/it/lang.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Roberto Bellingeri <bellingeri@netguru.it> * @author Eddy <eddy@mail.it> * @author Riccardo <riccardo.furlato@gmail.com> * @author Stefano <stefano.stefano@gmail.com> diff --git a/lib/plugins/config/lang/nl/lang.php b/lib/plugins/config/lang/nl/lang.php index dee15d707..d7c799026 100644 --- a/lib/plugins/config/lang/nl/lang.php +++ b/lib/plugins/config/lang/nl/lang.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Gerrit Uitslag <klapinklapin@gmail.com> * @author Harriet Neitz <harrietneitz@gmail.com> * @author mark prins <mprins@users.sf.net> * @author Pieter van der Meulen <pieter@vdmeulen.net> @@ -14,7 +15,6 @@ * @author Marijn Hofstra <hofstra.m@gmail.com> * @author Timon Van Overveldt <timonvo@gmail.com> * @author Ricardo Guijt <ricardoguijt@gmail.com> - * @author Gerrit <klapinklapin@gmail.com> * @author Hugo Smet <hugo.smet@scarlet.be> */ $lang['menu'] = 'Configuratie-instellingen'; @@ -153,6 +153,7 @@ $lang['renderer_xhtml'] = 'Weergavesysteem voor de standaard (xhtml) wiki $lang['renderer__core'] = '%s (dokuwiki core)'; $lang['renderer__plugin'] = '%s (plugin)'; $lang['search_nslimit'] = 'Beperk het zoeken tot de huidige X namespaces. Wanneer het zoeken wordt uitgevoerd vanaf een pagina binnen een diepere namespace, worden de eerste X aantal namespaces toegevoegd als filter'; +$lang['search_fragment'] = 'Specifeer het standaard zoekgedrag voor fragmenten'; $lang['search_fragment_o_exact'] = 'exact'; $lang['search_fragment_o_starts_with'] = 'begint met'; $lang['search_fragment_o_ends_with'] = 'eindigt op'; diff --git a/lib/plugins/config/lang/no/lang.php b/lib/plugins/config/lang/no/lang.php index 587194517..093af8016 100644 --- a/lib/plugins/config/lang/no/lang.php +++ b/lib/plugins/config/lang/no/lang.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Rut Kristin Aanestad <dark@met.no> * @author Torgeir Blesvik <bletor@banenor.no> * @author ThorPrestboen <thor.erling.prestboen@gmail.com> * @author Christian McKenna <mckchr@banenor.no> diff --git a/lib/plugins/config/lang/pt/lang.php b/lib/plugins/config/lang/pt/lang.php index df965bbce..139081bd9 100644 --- a/lib/plugins/config/lang/pt/lang.php +++ b/lib/plugins/config/lang/pt/lang.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Maykon Oliveira <maykonoliveira850@gmail.com> * @author José Vieira <jmsv63@gmail.com> * @author José Monteiro <Jose.Monteiro@DoWeDo-IT.com> * @author Enrico Nicoletto <liverig@gmail.com> @@ -121,6 +122,7 @@ $lang['rss_linkto'] = 'Links de feed XML ara'; $lang['rss_content'] = 'O que deve ser exibido nos itens do alimentador XML?'; $lang['rss_update'] = 'Intervalo de actualização do alimentador XML (seg)'; $lang['rss_show_summary'] = 'Resumo de exibição do alimentador XML no título'; +$lang['rss_media_o_media'] = 'midia'; $lang['updatecheck'] = 'Verificar por actualizações e avisos de segurança? O DokuWiki precisa contactar o "splitbrain.org" para efectuar esta verificação.'; $lang['userewrite'] = 'Usar URLs SEO'; $lang['useslash'] = 'Usar a barra como separador de espaços de nomes nas URLs'; @@ -138,6 +140,11 @@ $lang['xsendfile'] = 'Usar o cabeçalho "X-Sendfile" para permitir o $lang['renderer_xhtml'] = 'Renderizador a ser utilizado para a saída principal do wiki (xhtml)'; $lang['renderer__core'] = '%s (núcleo dokuwiki)'; $lang['renderer__plugin'] = '%s (plugin)'; +$lang['search_nslimit'] = 'Limite a pesquisa aos namespaces X atuais. Quando uma pesquisa é executada a partir de uma página em um namespace mais profundo, os primeiros namespaces X serão adicionados como filtro'; +$lang['search_fragment_o_exact'] = 'exato'; +$lang['search_fragment_o_starts_with'] = 'começa com'; +$lang['search_fragment_o_ends_with'] = 'termina com'; +$lang['search_fragment_o_contains'] = 'contém'; $lang['proxy____host'] = 'Nome do servidor proxy'; $lang['proxy____port'] = 'Porta de Proxy'; $lang['proxy____user'] = 'Nome de utilizador Proxy'; diff --git a/lib/plugins/config/lang/sk/lang.php b/lib/plugins/config/lang/sk/lang.php index ade62060b..bbfa97a25 100644 --- a/lib/plugins/config/lang/sk/lang.php +++ b/lib/plugins/config/lang/sk/lang.php @@ -3,8 +3,8 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * - * @author Tibor Repček <tiborepcek@gmail.com> * @author Martin Michalek <michalek.dev@gmail.com> + * @author Tibor Repček <tiborepcek@gmail.com> * @author Michal Mesko <michal.mesko@gmail.com> * @author exusik <exusik@gmail.com> */ @@ -81,6 +81,7 @@ $lang['disableactions'] = 'Zakázať DokuWiki akcie'; $lang['disableactions_check'] = 'Skontrolovať'; $lang['disableactions_subscription'] = 'Povoliť/Zrušiť informovanie o zmenách stránky'; $lang['disableactions_wikicode'] = 'Pozrieť zdroj/Exportovať zdroj'; +$lang['disableactions_profile_delete'] = 'Zrušenie vlastného účtu'; $lang['disableactions_other'] = 'Iné akcie (oddelené čiarkou)'; $lang['auth_security_timeout'] = 'Časový limit pri prihlasovaní (v sekundách)'; $lang['securecookie'] = 'Mal by prehliadač posielať cookies nastavené cez HTTPS posielať iba cez HTTPS (bezpečné) pripojenie? Vypnite túto voľbu iba v prípade, ak je prihlasovanie do Vašej wiki zabezpečené SSL, ale prezeranie wiki je nezabezpečené.'; @@ -138,6 +139,10 @@ $lang['xsendfile'] = 'Používať X-Sendfile hlavičku pre doručeni $lang['renderer_xhtml'] = 'Používané vykresľovacie jadro pre hlavný (xhtml) wiki výstup'; $lang['renderer__core'] = '%s (dokuwiki jadro)'; $lang['renderer__plugin'] = '%s (plugin)'; +$lang['search_fragment_o_exact'] = 'presne'; +$lang['search_fragment_o_starts_with'] = 'začína s'; +$lang['search_fragment_o_ends_with'] = 'končí na'; +$lang['search_fragment_o_contains'] = 'obsahuje'; $lang['dnslookups'] = 'DokuWiki hľadá mená vzdialených IP adries používateľov editujúcich stránky. Ak máte pomalý alebo nefunkčný DNS server alebo nechcete túto možnosť, deaktivujte túto voľbu'; $lang['jquerycdn'] = 'Mali by byť jQuery a jQuery UI skripty načítané z CDN? Voľba zvýši počet dodatočných HTTP požiadaviek, ale súbory sa môžu načítať rýchlejšie a používatelia ich už môžu mať vo vyrovnávacej pamäti.'; $lang['jquerycdn_o_0'] = 'Nepoužívať CDN, iba lokálne súbory'; diff --git a/lib/plugins/config/lang/sr/lang.php b/lib/plugins/config/lang/sr/lang.php index df23668ce..4e5e94871 100644 --- a/lib/plugins/config/lang/sr/lang.php +++ b/lib/plugins/config/lang/sr/lang.php @@ -3,8 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * - * @author Иван Петровић petrovicivan@ubuntusrbija.org - * @author Ivan Petrovic <petrovicivan@ubuntusrbija.org> + * @author Иван Петровић <petrovicivan@ubuntusrbija.org> * @author Miroslav Šolti <solti.miroslav@gmail.com> * @author Марко М. Костић <marko.m.kostic@gmail.com> */ diff --git a/lib/plugins/config/lang/zh/lang.php b/lib/plugins/config/lang/zh/lang.php index 18368038b..f8ea0279e 100644 --- a/lib/plugins/config/lang/zh/lang.php +++ b/lib/plugins/config/lang/zh/lang.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author HaoNan <haonan@zhuoming.info> * @author Phy <dokuwiki@phy25.com> * @author Aaron Zhou <iradio@163.com> * @author lempel <riverlempel@hotmail.com> diff --git a/lib/plugins/extension/admin.php b/lib/plugins/extension/admin.php index eb2009b4c..421b7138f 100644 --- a/lib/plugins/extension/admin.php +++ b/lib/plugins/extension/admin.php @@ -51,7 +51,7 @@ class admin_plugin_extension extends DokuWiki_Admin_Plugin /* @var helper_plugin_extension_repository $repository */ $repository = $this->loadHelper('extension_repository'); - if (!$repository->hasAccess()) { + if(!$repository->hasAccess(!$INPUT->bool('purge'))) { $url = $this->gui->tabURL('', array('purge' => 1)); msg($this->getLang('repo_error').' [<a href="'.$url.'">'.$this->getLang('repo_retry').'</a>]', -1); } diff --git a/lib/plugins/extension/cli.php b/lib/plugins/extension/cli.php new file mode 100644 index 000000000..83e9c2fc8 --- /dev/null +++ b/lib/plugins/extension/cli.php @@ -0,0 +1,357 @@ +<?php + +use splitbrain\phpcli\Colors; + +/** + * Class cli_plugin_extension + * + * Command Line component for the extension manager + * + * @license GPL2 + * @author Andreas Gohr <andi@splitbrain.org> + */ +class cli_plugin_extension extends DokuWiki_CLI_Plugin +{ + /** @inheritdoc */ + protected function setup(\splitbrain\phpcli\Options $options) + { + // general setup + $options->setHelp('Manage plugins and templates for this DokuWiki instance'); + + // search + $options->registerCommand('search', 'Search for an extension'); + $options->registerOption('max', 'Maximum number of results (default 10)', 'm', 'number', 'search'); + $options->registerOption('verbose', 'Show detailed extension information', 'v', false, 'search'); + $options->registerArgument('query', 'The keyword(s) to search for', true, 'search'); + + // list + $options->registerCommand('list', 'List installed extensions'); + $options->registerOption('verbose', 'Show detailed extension information', 'v', false, 'list'); + + // upgrade + $options->registerCommand('upgrade', 'Update all installed extensions to their latest versions'); + + // install + $options->registerCommand('install', 'Install or upgrade extensions'); + $options->registerArgument('extensions...', 'One or more extensions to install', true, 'install'); + + // uninstall + $options->registerCommand('uninstall', 'Uninstall a new extension'); + $options->registerArgument('extensions...', 'One or more extensions to install', true, 'uninstall'); + + // enable + $options->registerCommand('enable', 'Enable installed extensions'); + $options->registerArgument('extensions...', 'One or more extensions to enable', true, 'enable'); + + // disable + $options->registerCommand('disable', 'Disable installed extensions'); + $options->registerArgument('extensions...', 'One or more extensions to disable', true, 'disable'); + + + } + + /** @inheritdoc */ + protected function main(\splitbrain\phpcli\Options $options) + { + /** @var helper_plugin_extension_repository $repo */ + $repo = plugin_load('helper', 'extension_repository'); + if(!$repo->hasAccess(false)) { + $this->warning('Extension Repository API is not accessible, no remote info available!'); + } + + switch ($options->getCmd()) { + case 'list': + $ret = $this->cmdList($options->getOpt('verbose')); + break; + case 'search': + $ret = $this->cmdSearch( + implode(' ', $options->getArgs()), + $options->getOpt('verbose'), + (int)$options->getOpt('max', 10) + ); + break; + case 'install': + $ret = $this->cmdInstall($options->getArgs()); + break; + case 'uninstall': + $ret = $this->cmdUnInstall($options->getArgs()); + break; + case 'enable': + $ret = $this->cmdEnable(true, $options->getArgs()); + break; + case 'disable': + $ret = $this->cmdEnable(false, $options->getArgs()); + break; + case 'upgrade': + $ret = $this->cmdUpgrade(); + break; + default: + echo $options->help(); + $ret = 0; + } + + exit($ret); + } + + /** + * Upgrade all extensions + * + * @return int + */ + protected function cmdUpgrade() + { + /* @var helper_plugin_extension_extension $ext */ + $ext = $this->loadHelper('extension_extension'); + $list = $this->getInstalledExtensions(); + + $ok = 0; + foreach ($list as $extname) { + $ext->setExtension($extname); + $date = $ext->getInstalledVersion(); + $avail = $ext->getLastUpdate(); + if ($avail && $avail > $date) { + $ok += $this->cmdInstall([$extname]); + } + } + + return $ok; + } + + /** + * Enable or disable one or more extensions + * + * @param bool $set + * @param string[] $extensions + * @return int + */ + protected function cmdEnable($set, $extensions) + { + /* @var helper_plugin_extension_extension $ext */ + $ext = $this->loadHelper('extension_extension'); + + $ok = 0; + foreach ($extensions as $extname) { + $ext->setExtension($extname); + if (!$ext->isInstalled()) { + $this->error(sprintf('Extension %s is not installed', $ext->getID())); + $ok += 1; + continue; + } + + if ($set) { + $status = $ext->enable(); + $msg = 'msg_enabled'; + } else { + $status = $ext->disable(); + $msg = 'msg_disabled'; + } + + if ($status !== true) { + $this->error($status); + $ok += 1; + continue; + } else { + $this->success(sprintf($this->getLang($msg), $ext->getID())); + } + } + + return $ok; + } + + /** + * Uninstall one or more extensions + * + * @param string[] $extensions + * @return int + */ + protected function cmdUnInstall($extensions) + { + /* @var helper_plugin_extension_extension $ext */ + $ext = $this->loadHelper('extension_extension'); + + $ok = 0; + foreach ($extensions as $extname) { + $ext->setExtension($extname); + if (!$ext->isInstalled()) { + $this->error(sprintf('Extension %s is not installed', $ext->getID())); + $ok += 1; + continue; + } + + $status = $ext->uninstall(); + if ($status) { + $this->success(sprintf($this->getLang('msg_delete_success'), $ext->getID())); + } else { + $this->error(sprintf($this->getLang('msg_delete_failed'), hsc($ext->getID()))); + $ok = 1; + } + } + + return $ok; + } + + /** + * Install one or more extensions + * + * @param string[] $extensions + * @return int + */ + protected function cmdInstall($extensions) + { + /* @var helper_plugin_extension_extension $ext */ + $ext = $this->loadHelper('extension_extension'); + + $ok = 0; + foreach ($extensions as $extname) { + $ext->setExtension($extname); + + if (!$ext->getDownloadURL()) { + $ok += 1; + $this->error( + sprintf('Could not find download for %s', $ext->getID()) + ); + continue; + } + + try { + $installed = $ext->installOrUpdate(); + foreach ($installed as $ext => $info) { + $this->success(sprintf( + $this->getLang('msg_' . $info['type'] . '_' . $info['action'] . '_success'), + $info['base']) + ); + } + } catch (Exception $e) { + $this->error($e->getMessage()); + $ok += 1; + } + } + return $ok; + } + + /** + * Search for an extension + * + * @param string $query + * @param bool $showdetails + * @param int $max + * @return int + * @throws \splitbrain\phpcli\Exception + */ + protected function cmdSearch($query, $showdetails, $max) + { + /** @var helper_plugin_extension_repository $repository */ + $repository = $this->loadHelper('extension_repository'); + $result = $repository->search($query); + if ($max) { + $result = array_slice($result, 0, $max); + } + + $this->listExtensions($result, $showdetails); + return 0; + } + + /** + * @param bool $showdetails + * @return int + * @throws \splitbrain\phpcli\Exception + */ + protected function cmdList($showdetails) + { + $list = $this->getInstalledExtensions(); + $this->listExtensions($list, $showdetails); + + return 0; + } + + /** + * Get all installed extensions + * + * @return array + */ + protected function getInstalledExtensions() + { + /** @var Doku_Plugin_Controller $plugin_controller */ + global $plugin_controller; + $pluginlist = $plugin_controller->getList('', true); + $tpllist = glob(DOKU_INC . 'lib/tpl/*', GLOB_ONLYDIR); + $tpllist = array_map(function ($path) { + return 'template:' . basename($path); + }, $tpllist); + $list = array_merge($pluginlist, $tpllist); + sort($list); + return $list; + } + + /** + * List the given extensions + * + * @param string[] $list + * @param bool $details display details + * @throws \splitbrain\phpcli\Exception + */ + protected function listExtensions($list, $details) + { + /** @var helper_plugin_extension_extension $ext */ + $ext = $this->loadHelper('extension_extension'); + $tr = new \splitbrain\phpcli\TableFormatter($this->colors); + + + foreach ($list as $name) { + $ext->setExtension($name); + + $status = ''; + if ($ext->isInstalled()) { + $date = $ext->getInstalledVersion(); + $avail = $ext->getLastUpdate(); + $status = 'i'; + if ($avail && $avail > $date) { + $vcolor = Colors::C_RED; + } else { + $vcolor = Colors::C_GREEN; + } + if ($ext->isGitControlled()) $status = 'g'; + if ($ext->isBundled()) $status = 'b'; + if ($ext->isEnabled()) { + $ecolor = Colors::C_BROWN; + } else { + $ecolor = Colors::C_DARKGRAY; + $status .= 'd'; + } + } else { + $ecolor = null; + $date = $ext->getLastUpdate(); + $vcolor = null; + } + + + echo $tr->format( + [20, 3, 12, '*'], + [ + $ext->getID(), + $status, + $date, + strip_tags(sprintf( + $this->getLang('extensionby'), + $ext->getDisplayName(), + $this->colors->wrap($ext->getAuthor(), Colors::C_PURPLE)) + ) + ], + [ + $ecolor, + Colors::C_YELLOW, + $vcolor, + null, + ] + ); + + if (!$details) continue; + + echo $tr->format( + [5, '*'], + ['', $ext->getDescription()], + [null, Colors::C_CYAN] + ); + } + } +} diff --git a/lib/plugins/extension/helper/repository.php b/lib/plugins/extension/helper/repository.php index 5aad61e75..712baa05c 100644 --- a/lib/plugins/extension/helper/repository.php +++ b/lib/plugins/extension/helper/repository.php @@ -64,14 +64,14 @@ class helper_plugin_extension_repository extends DokuWiki_Plugin /** * If repository access is available * + * @param bool $usecache use cached result if still valid * @return bool If repository access is available */ - public function hasAccess() - { + public function hasAccess($usecache = true) { if ($this->has_access === null) { $cache = new Cache('##extension_manager###hasAccess', '.repo'); - if (!$cache->useCache(array('age' => 3600 * 24, 'purge'=>1))) { + if (!$cache->useCache(array('age' => 60*10, 'purge' => !$usecache))) { $httpclient = new DokuHTTPClient(); $httpclient->timeout = 5; $data = $httpclient->get(self::EXTENSION_REPOSITORY_API.'?cmd=ping'); diff --git a/lib/plugins/extension/lang/pt/lang.php b/lib/plugins/extension/lang/pt/lang.php index 498207291..7471d3f32 100644 --- a/lib/plugins/extension/lang/pt/lang.php +++ b/lib/plugins/extension/lang/pt/lang.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Maykon Oliveira <maykonoliveira850@gmail.com> * @author José Vieira <jmsv63@gmail.com> * @author Guido Salatino <guidorafael23@gmail.com> * @author Romulo Pereira <romuloccomp@gmail.com> diff --git a/lib/plugins/extension/lang/sk/lang.php b/lib/plugins/extension/lang/sk/lang.php index c9f368cd0..32f3239dc 100644 --- a/lib/plugins/extension/lang/sk/lang.php +++ b/lib/plugins/extension/lang/sk/lang.php @@ -9,12 +9,10 @@ * @author Tibor Repček <tiborepcek@gmail.com> */ $lang['menu'] = 'Správca rozšírení'; - $lang['tab_plugins'] = 'Inštalované rozšírenia'; $lang['tab_templates'] = 'Inštalované šablóny'; $lang['tab_search'] = 'Hľadanie a inštalácia'; $lang['tab_install'] = 'Manuálna inštalácia'; - $lang['notimplemented'] = 'Táto vlastnosť ešte nebola implementovaná'; $lang['notinstalled'] = 'Toto rozšírenie nie je nainštalované'; $lang['alreadyenabled'] = 'Toto rozšírenie už bolo povolené'; @@ -22,7 +20,6 @@ $lang['alreadydisabled'] = 'Toto rozšírenie už bolo zakázané'; $lang['pluginlistsaveerror'] = 'Pri ukladaní zoznamu rozšírení sa vyskytla chyba'; $lang['unknownauthor'] = 'Neznámy autor'; $lang['unknownversion'] = 'Neznáma verzia'; - $lang['btn_info'] = 'Viac informácií'; $lang['btn_update'] = 'Aktualizácia'; $lang['btn_uninstall'] = 'Odinštalovanie'; @@ -30,12 +27,13 @@ $lang['btn_enable'] = 'Povolenie'; $lang['btn_disable'] = 'Zablokovanie'; $lang['btn_install'] = 'Inštalácia'; $lang['btn_reinstall'] = 'Re-Inštalácia'; - $lang['js']['reallydel'] = 'Naozaj chcete toto rozšírenie odinštalovať?'; - +$lang['js']['display_viewoptions'] = 'Zobraziť možnosti:'; +$lang['js']['display_enabled'] = 'povolené'; +$lang['js']['display_disabled'] = 'zakázané'; +$lang['js']['display_updatable'] = 'aktualizovateľné'; $lang['search_for'] = 'Hľadať rozšírenie:'; $lang['search'] = 'Vyhľadávanie'; - $lang['extensionby'] = '<strong>%s</strong> od %s'; $lang['screenshot'] = 'Obrázok od %s'; $lang['popularity'] = 'Popularita: %s%%'; @@ -68,7 +66,6 @@ $lang['status_unmodifiable'] = 'nezmeniteľný'; $lang['status_plugin'] = 'plugin'; $lang['status_template'] = 'šablóna'; $lang['status_bundled'] = 'vstavaný'; - $lang['msg_enabled'] = 'Plugin %s povolený'; $lang['msg_disabled'] = 'Plugin %s nepovolený'; $lang['msg_delete_success'] = 'Rozšírenie %s odinštalované'; @@ -78,34 +75,24 @@ $lang['msg_template_update_success'] = 'Šablóna %s úspešne aktualizovaná'; $lang['msg_plugin_install_success'] = 'Plugin %s úspešne nainštalovaný'; $lang['msg_plugin_update_success'] = 'Plugin %s úspešne aktualizovaný'; $lang['msg_upload_failed'] = 'Nahrávanie súboru zlyhalo'; - $lang['missing_dependency'] = '<strong>Chýbajúca alebo nepovolená závislosť:</strong> %s'; $lang['security_issue'] = '<strong>Bezpečnostný problém:</strong> %s'; $lang['security_warning'] = '<strong>Bezpečnostné upozornenie:</strong> %s'; $lang['update_available'] = '<strong>Aktualizácia:</strong> Nová verzia %s.'; $lang['wrong_folder'] = '<strong>Plugin nesprávne nainštalovaný:</strong> Premenujte adresár s pluginom "%s" na "%s".'; $lang['url_change'] = '<strong>URL sa zmenila:</strong> URL na stiahnutie sa od posledného sťahovania zmenila. Pred aktualizáciou rozšírenia skontrolujte, či je nová URL správna. <br />Nová: %s<br />Stará: %s'; - $lang['error_badurl'] = 'URL by mali mať na začiatku http alebo https'; $lang['error_dircreate'] = 'Nie je možné vytvoriť dočasný adresár pre uloženie sťahovaného súboru'; $lang['error_download'] = 'Nie je možné stiahnuť súbor: %s'; $lang['error_decompress'] = 'Nie je možné dekomprimovať stiahnutý súbor. Môže to byť dôvodom chyby sťahovania (v tom prípade to skúste znova) alebo neznámym kompresným formátom (v tom prípade musíte stiahnuť a inštalovať manuálne).'; $lang['error_findfolder'] = 'Nepodarilo sa identifikovať cestu rozšírenia. Rozšírenie musíte stiahnuť a inštalovať manuálne.'; $lang['error_copy'] = 'Chyba kopírovania pri inštalácii do adresára <em>%s</em>: disk môže byť plný alebo nemáte potrebné prístupové oprávnenie. Dôsledkom može byť čiastočne inštalovaný plugin a nestabilná wiki inštalácia.'; - $lang['noperms'] = 'Do priečinka rozšírenia sa nedá zapisovať.'; $lang['notplperms'] = 'Do priečinka s témou sa nedá zapisovať.'; $lang['nopluginperms'] = 'Do priečinka s pluginom sa nedá zapisovať.'; $lang['git'] = 'Toto rozšírenie bolo nainštalované cez git. Nemali by ste ho tu aktualizovať.'; $lang['auth'] = 'Toto rozšírenie nie je povolené v nastaveniach. Zvážte jeho zakázanie.'; - $lang['install_url'] = 'Inštalácia z URL:'; $lang['install_upload'] = 'Nahrať rozšírenie:'; - $lang['repo_error'] = 'Nepodarilo sa kontaktovať repozitár rozšírenia. Uistite sa, že váš server má povolené kontaktovať www.dokuwiki.org a skontrolujte nastavenia proxy.'; $lang['nossl'] = 'Vaše PHP zrejme nepodporuje SSL. Sťahovanie nebude funkčné pre mnohé rozšírenia.'; - -$lang['js']['display_viewoptions'] = 'Zobraziť možnosti:'; -$lang['js']['display_enabled'] = 'povolené'; -$lang['js']['display_disabled'] = 'zakázané'; -$lang['js']['display_updatable'] = 'aktualizovateľné'; diff --git a/lib/plugins/popularity/lang/sr/lang.php b/lib/plugins/popularity/lang/sr/lang.php index b67aaa8ef..fe768f370 100644 --- a/lib/plugins/popularity/lang/sr/lang.php +++ b/lib/plugins/popularity/lang/sr/lang.php @@ -3,8 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * - * @author Иван Петровић petrovicivan@ubuntusrbija.org - * @author Ivan Petrovic <petrovicivan@ubuntusrbija.org> + * @author Иван Петровић <petrovicivan@ubuntusrbija.org> * @author Miroslav Šolti <solti.miroslav@gmail.com> */ $lang['name'] = 'Мерење популарности (може потрајати док се не учита)'; diff --git a/lib/plugins/revert/lang/no/lang.php b/lib/plugins/revert/lang/no/lang.php index bca34eee8..942d54a94 100644 --- a/lib/plugins/revert/lang/no/lang.php +++ b/lib/plugins/revert/lang/no/lang.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Rut Kristin Aanestad <dark@met.no> * @author Torgeir Blesvik <bletor@banenor.no> * @author ThorPrestboen <thor.erling.prestboen@gmail.com> * @author Christian McKenna <mckchr@banenor.no> diff --git a/lib/plugins/revert/lang/sr/lang.php b/lib/plugins/revert/lang/sr/lang.php index e0ac43971..2a3d9432d 100644 --- a/lib/plugins/revert/lang/sr/lang.php +++ b/lib/plugins/revert/lang/sr/lang.php @@ -3,8 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * - * @author Иван Петровић petrovicivan@ubuntusrbija.org - * @author Ivan Petrovic <petrovicivan@ubuntusrbija.org> + * @author Иван Петровић <petrovicivan@ubuntusrbija.org> * @author Miroslav Šolti <solti.miroslav@gmail.com> */ $lang['menu'] = 'Управљач за враћање'; diff --git a/lib/plugins/usermanager/lang/pt/lang.php b/lib/plugins/usermanager/lang/pt/lang.php index 2db85ae86..5c680c712 100644 --- a/lib/plugins/usermanager/lang/pt/lang.php +++ b/lib/plugins/usermanager/lang/pt/lang.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Maykon Oliveira <maykonoliveira850@gmail.com> * @author José Vieira <jmsv63@gmail.com> * @author José Monteiro <Jose.Monteiro@DoWeDo-IT.com> * @author Enrico Nicoletto <liverig@gmail.com> diff --git a/lib/plugins/usermanager/lang/sr/lang.php b/lib/plugins/usermanager/lang/sr/lang.php index 858a2139b..5339e4ac1 100644 --- a/lib/plugins/usermanager/lang/sr/lang.php +++ b/lib/plugins/usermanager/lang/sr/lang.php @@ -3,8 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * - * @author Иван Петровић petrovicivan@ubuntusrbija.org - * @author Ivan Petrovic <petrovicivan@ubuntusrbija.org> + * @author Иван Петровић <petrovicivan@ubuntusrbija.org> * @author Miroslav Šolti <solti.miroslav@gmail.com> */ $lang['menu'] = 'Управљач корисницима'; diff --git a/lib/tpl/dokuwiki/css/design.less b/lib/tpl/dokuwiki/css/design.less index 89f671b7c..86315d211 100644 --- a/lib/tpl/dokuwiki/css/design.less +++ b/lib/tpl/dokuwiki/css/design.less @@ -66,16 +66,16 @@ ********************************************************************/ /* highlight selected tool */ -.mode_admin a.action.admin, -.mode_login a.action.login, -.mode_register a.action.register, -.mode_profile a.action.profile, -.mode_recent a.action.recent, -.mode_index a.action.index, -.mode_media a.action.media, -.mode_revisions a.action.revs, -.mode_backlink a.action.backlink, -.mode_subscribe a.action.subscribe { +.mode_admin .action.admin a, +.mode_login .action.login a, +.mode_register .action.register a, +.mode_profile .action.profile a, +.mode_recent .action.recent a, +.mode_index .action.index a, +.mode_media .action.media a, +.mode_revisions .action.revs a, +.mode_backlink .action.backlink a, +.mode_subscribe .action.subscribe a { font-weight: bold; } diff --git a/lib/tpl/dokuwiki/css/pagetools.less b/lib/tpl/dokuwiki/css/pagetools.less index 2aaf0b978..5473594d8 100644 --- a/lib/tpl/dokuwiki/css/pagetools.less +++ b/lib/tpl/dokuwiki/css/pagetools.less @@ -109,8 +109,8 @@ } } -// on hover show all items -#dokuwiki__pagetools:hover { +// on hover or focus show all items +#dokuwiki__pagetools:hover, #dokuwiki__pagetools:focus-within { div.tools ul { background-color: @ini_background; border-color: @ini_border; diff --git a/lib/tpl/dokuwiki/lang/sk/lang.php b/lib/tpl/dokuwiki/lang/sk/lang.php index ad200d351..72a070544 100644 --- a/lib/tpl/dokuwiki/lang/sk/lang.php +++ b/lib/tpl/dokuwiki/lang/sk/lang.php @@ -9,3 +9,7 @@ $lang['__background_site__'] = 'Farba základného pozadia (za oknom s obsahom $lang['__link__'] = 'Všeobecná farba odkazu'; $lang['__existing__'] = 'Farba odkazov na existujúce stránky'; $lang['__missing__'] = 'Farba odkazov na neexistujúce stránky'; +$lang['__site_width__'] = 'Šírka stránky (môže byť ľubovoľná jednotka dĺžky: %, px, em, ...}'; +$lang['__sidebar_width__'] = 'Šírka bočného panela (môže byť ľubovoľná jednotka dĺžky: %, px, em, ...}'; +$lang['__tablet_width__'] = 'Nižšia šírka stránky prepne zobrazenie do režimu tabletu'; +$lang['__phone_width__'] = 'Nižšia šírka stránky prepne zobrazenie do režimu telefónu'; diff --git a/lib/tpl/dokuwiki/script.js b/lib/tpl/dokuwiki/script.js index b4e6ced6d..5a68e8b9c 100644 --- a/lib/tpl/dokuwiki/script.js +++ b/lib/tpl/dokuwiki/script.js @@ -76,4 +76,9 @@ jQuery(function(){ var $content = jQuery('#dokuwiki__content div.page'); $content.css('min-height', $sidebar.height()); } + + // blur when clicked + jQuery('#dokuwiki__pagetools div.tools>ul>li>a').on('click', function(){ + this.blur(); + }); }); |