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 ...
This commit is contained in:
commit
2b9c4a056d
|
@ -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));
|
||||
}
|
||||
|
||||
}
|
|
@ -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 :
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -323,14 +323,37 @@ class Mailer {
|
|||
$this->headers['Subject'] = $subject;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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) {
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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
|
||||
case 'M':
|
||||
$ret *= 1024;
|
||||
/** @noinspection PhpMissingBreakStatementInspection */
|
||||
// no-break
|
||||
case 'K':
|
||||
$ret *= 1024;
|
||||
$ret = intval(substr($value, 0, -1)) * 1024 * 1024 * 1024;
|
||||
break;
|
||||
default:
|
||||
$ret *= 10;
|
||||
case 'M':
|
||||
$ret = intval(substr($value, 0, -1)) * 1024 * 1024;
|
||||
break;
|
||||
case 'K':
|
||||
$ret = intval(substr($value, 0, -1)) * 1024;
|
||||
break;
|
||||
default;
|
||||
$ret = intval($value);
|
||||
break;
|
||||
}
|
||||
return $ret;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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@';
|
||||
|
|
|
@ -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@
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
====== Derniers changements ======
|
||||
|
||||
Les pages suivantes ont été modifiées récemment :
|
||||
Voici la liste des pages modifiées récemment :
|
||||
|
|
|
@ -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 :
|
||||
|
||||
--------------------------------------------------------
|
||||
|
|
|
@ -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@
|
||||
|
|
|
@ -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 :
|
||||
|
||||
--------------------------------------------------------
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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.
|
|
@ -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>
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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 :';
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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.
|
|
@ -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>
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
======= Данная страница более не существует ======
|
||||
|
||||
Вы перешли по ссылки на страницу, которая более не существует. Вы можете проверить список [[?do=revisions|old revisions]], чтобы увидеть когда и почему она была удалена, а также получить доступ к более ранним её версиям или восстановить её.
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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,6 +69,64 @@ $lang['badpassconfirm'] = 'Нажалост, лозинка је била
|
|||
$lang['minoredit'] = 'Мала измена';
|
||||
$lang['draftdate'] = 'Нацрт је аутоматски сачуван';
|
||||
$lang['nosecedit'] = 'Страна је у међувремену промењена, поглавље је застарело и поново се учитава цела страна.';
|
||||
$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'] = 'Несачуване измене ће бити изгубљене.
|
||||
Да ли стварно желите да наставите?';
|
||||
$lang['js']['searchmedia'] = 'Потражи фајлове';
|
||||
$lang['js']['keepopen'] = 'Задржи отворен прозор након одабира';
|
||||
$lang['js']['hidedetails'] = 'Сакриј детаље';
|
||||
$lang['js']['mediatitle'] = 'Подешаванја везе';
|
||||
$lang['js']['mediadisplay'] = 'Тип везе';
|
||||
$lang['js']['mediaalign'] = 'Поравнање';
|
||||
$lang['js']['mediasize'] = 'Величина слике';
|
||||
$lang['js']['mediatarget'] = 'веза води ка:';
|
||||
$lang['js']['mediaclose'] = 'Затвори';
|
||||
$lang['js']['mediainsert'] = 'Убаци';
|
||||
$lang['js']['mediadisplayimg'] = 'Покажи слику';
|
||||
$lang['js']['mediadisplaylnk'] = 'Покажи само везу';
|
||||
$lang['js']['mediasmall'] = 'Мала верзија';
|
||||
$lang['js']['mediamedium'] = 'Средња верзија';
|
||||
$lang['js']['medialarge'] = 'Велика верзија';
|
||||
$lang['js']['mediaoriginal'] = 'Оригинална верзија';
|
||||
$lang['js']['medialnk'] = 'Веза ка страници са детаљима';
|
||||
$lang['js']['mediadirect'] = 'Директна веза ка оригиналу';
|
||||
$lang['js']['medianolnk'] = 'Без везе';
|
||||
$lang['js']['medianolink'] = 'Не постављај слику као везу';
|
||||
$lang['js']['medialeft'] = 'Поравнај слику на лево';
|
||||
$lang['js']['mediaright'] = 'Поравнај слику на десно';
|
||||
$lang['js']['mediacenter'] = 'Поравнај слику по средини';
|
||||
$lang['js']['medianoalign'] = 'Без поравнања';
|
||||
$lang['js']['nosmblinks'] = 'Повезивање са Windows дељеним фолдерима ради само у Мајкрософтовом Интернет Претраживачу.
|
||||
Ипак, можете да ископирате и залепите везу.';
|
||||
$lang['js']['linkwiz'] = 'Чаробњак за стварање везе';
|
||||
$lang['js']['linkto'] = 'Повежи ка:';
|
||||
$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'] = 'Корисник је направљен и лозинка је послата путем е-поште.';
|
||||
|
@ -106,47 +165,6 @@ $lang['txt_overwrt'] = 'Препишите тренутни фајл';
|
|||
$lang['maxuploadsize'] = 'Отпреми највише %s по датотеци.';
|
||||
$lang['lockedby'] = 'Тренутно закључано од стране:';
|
||||
$lang['lockexpire'] = 'Закључавање истиче:';
|
||||
$lang['js']['willexpire'] = 'Ваше закључавање за измену ове странице ће да истекне за један минут.\nДа би сте избегли конфликте, искористите дугме за преглед како би сте ресетовали тајмер закључавања.';
|
||||
$lang['js']['notsavedyet'] = 'Несачуване измене ће бити изгубљене.
|
||||
Да ли стварно желите да наставите?';
|
||||
$lang['js']['searchmedia'] = 'Потражи фајлове';
|
||||
$lang['js']['keepopen'] = 'Задржи отворен прозор након одабира';
|
||||
$lang['js']['hidedetails'] = 'Сакриј детаље';
|
||||
$lang['js']['mediatitle'] = 'Подешаванја везе';
|
||||
$lang['js']['mediadisplay'] = 'Тип везе';
|
||||
$lang['js']['mediaalign'] = 'Поравнање';
|
||||
$lang['js']['mediasize'] = 'Величина слике';
|
||||
$lang['js']['mediatarget'] = 'веза води ка:';
|
||||
$lang['js']['mediaclose'] = 'Затвори';
|
||||
$lang['js']['mediainsert'] = 'Убаци';
|
||||
$lang['js']['mediadisplayimg'] = 'Покажи слику';
|
||||
$lang['js']['mediadisplaylnk'] = 'Покажи само везу';
|
||||
$lang['js']['mediasmall'] = 'Мала верзија';
|
||||
$lang['js']['mediamedium'] = 'Средња верзија';
|
||||
$lang['js']['medialarge'] = 'Велика верзија';
|
||||
$lang['js']['mediaoriginal'] = 'Оригинална верзија';
|
||||
$lang['js']['medialnk'] = 'Веза ка страници са детаљима';
|
||||
$lang['js']['mediadirect'] = 'Директна веза ка оригиналу';
|
||||
$lang['js']['medianolnk'] = 'Без везе';
|
||||
$lang['js']['medianolink'] = 'Не постављај слику као везу';
|
||||
$lang['js']['medialeft'] = 'Поравнај слику на лево';
|
||||
$lang['js']['mediaright'] = 'Поравнај слику на десно';
|
||||
$lang['js']['mediacenter'] = 'Поравнај слику по средини';
|
||||
$lang['js']['medianoalign'] = 'Без поравнања';
|
||||
$lang['js']['nosmblinks'] = 'Повезивање са Windows дељеним фолдерима ради само у Мајкрософтовом Интернет Претраживачу.
|
||||
Ипак, можете да ископирате и залепите везу.';
|
||||
$lang['js']['linkwiz'] = 'Чаробњак за стварање везе';
|
||||
$lang['js']['linkto'] = 'Повежи ка:';
|
||||
$lang['js']['del_confirm'] = 'Обриши овај унос?';
|
||||
$lang['js']['restore_confirm'] = 'Заиста желите да вратите ово издање?';
|
||||
$lang['js']['media_diff'] = 'Погледај разлике:';
|
||||
$lang['js']['media_diff_both'] = 'Једно до другог';
|
||||
$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['rssfailed'] = 'Дошло је до грешке приликом преузимања овог довода: ';
|
||||
$lang['nothingfound'] = 'Ништа није нађено.';
|
||||
$lang['mediaselect'] = 'Избор медијске датотеке';
|
||||
|
|
|
@ -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.
|
|
@ -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>
|
||||
|
|
|
@ -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'] = 'Управљање листом контроле приступа';
|
||||
|
|
|
@ -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)';
|
||||
|
|
|
@ -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).';
|
||||
|
|
|
@ -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).';
|
||||
|
|
|
@ -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).';
|
||||
|
|
|
@ -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).';
|
||||
|
|
|
@ -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.';
|
||||
|
|
|
@ -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).';
|
||||
|
|
|
@ -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'] = 'Разрешить вложенные группы их соответствующим членам.';
|
||||
|
|
|
@ -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)';
|
||||
|
|
|
@ -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'] = '将嵌套组拆分为各自的成员(较慢)';
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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'] = 'Ограничи опсег претраживања за групне претраге';
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
|
@ -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.';
|
|
@ -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
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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', '>=');
|
||||
|
@ -318,6 +319,29 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin
|
|||
return $out;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
*
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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>
|
||||
*/
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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]
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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');
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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é';
|
||||
|
|
|
@ -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'] = 'Мерење популарности (може потрајати док се не учита)';
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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'] = 'Управљач за враћање';
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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'] = 'Управљач корисницима';
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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();
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue