Merge branch 'master' into phpseclib

* master: (54 commits)
  updated geshi
  authpdo - use type safe comparison on passwords. fixes #1765
  removed unneeded files from random_compat
  Use cryptographically secure pseudo random number generator (CSPRNG)
  translation update
  translation update
  translation update
  translation update
  translation update
  or maybe I only now figured out the right travis config :-/
  disable 7.1 testing completely
  allow 7.1 failures until it's released #1682
  DE translation for key 'protected'
  Use 'Benachrichtigung' instead of 'Notifikation'
  Fix spelling of some terms (lower to upper case)
  DE translation for key: addUser_error_missing_pass
  DE translation for keys: update_name, update_mail
  translation update
  translation update
  Implemented interwiki substitution for external images (issue #1614).
  ...
This commit is contained in:
Andreas Gohr 2016-11-30 16:07:46 +01:00
commit 114248c73b
172 changed files with 2667 additions and 438 deletions

4
.gitignore vendored
View File

@ -77,3 +77,7 @@ vendor/*/*/docs/*
vendor/*/*/contrib/*
vendor/splitbrain/php-archive/apigen.neon
vendor/splitbrain/php-archive/generate-api.sh
vendor/paragonie/random_compat/build-phar.sh
vendor/paragonie/random_compat/dist/*
vendor/paragonie/random_compat/other/*

View File

@ -14,6 +14,7 @@ env:
matrix:
allow_failures:
- php: "hhvm"
- php: "7.1"
notifications:
irc:
channels:

View File

@ -124,4 +124,41 @@ class changelog_getlastrevisionat_test extends DokuWikiTest {
$current = $pagelog->getLastRevisionAt($rev);
$this->assertEquals($currentexpected, $current);
}
}
/**
* test get correct revision on deleted media
*
*/
function test_deletedimage() {
global $conf;
global $AUTH_ACL;
//we need to have a user with AUTH_DELETE rights
//save settings
$oldSuperUser = $conf['superuser'];
$oldUseacl = $conf['useacl'];
$oldRemoteUser = $_SERVER['REMOTE_USER'];
$conf['superuser'] = 'admin';
$conf['useacl'] = 1;
$_SERVER['REMOTE_USER'] = 'admin';
$image = 'wiki:imageat.png';
$ret = copy(mediaFn('wiki:kind_zu_katze.png'),mediaFn($image));
$revexpected = @filemtime(mediaFn($image));
$rev = $revexpected + 10;
$ret = media_delete($image, 0);
$medialog = new MediaChangelog($image);
$current = $medialog->getLastRevisionAt($rev);
$this->assertEquals($revexpected, $current);
//restore settings
$_SERVER['REMOTE_USER'] = $oldRemoteUser;
$conf['superuser'] = $oldSuperUser;
$conf['useacl'] = $oldUseacl;
}
}

View File

@ -2,6 +2,7 @@
"require": {
"splitbrain/php-archive": "~1.0",
"easybook/geshi": "~1.0",
"phpseclib/phpseclib": "~2.0"
"phpseclib/phpseclib": "~2.0",
"paragonie/random_compat": "^2.0"
}
}

61
composer.lock generated
View File

@ -4,20 +4,21 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"content-hash": "5ec4375c5e1f3f6563fe2fb5776b5724",
"hash": "7b78d57e644751cbd9c25d284b5e35b9",
"content-hash": "892483d9cd6fa76827c24cee640a9f27",
"packages": [
{
"name": "easybook/geshi",
"version": "v1.0.8.17",
"version": "v1.0.8.18",
"source": {
"type": "git",
"url": "https://github.com/easybook/geshi.git",
"reference": "0fced4f530c0a1726588651f04c2bf2a3073c9c0"
"reference": "4b06bfe8c6fbedd6aad0a0700d650f591386e287"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/easybook/geshi/zipball/0fced4f530c0a1726588651f04c2bf2a3073c9c0",
"reference": "0fced4f530c0a1726588651f04c2bf2a3073c9c0",
"url": "https://api.github.com/repos/easybook/geshi/zipball/4b06bfe8c6fbedd6aad0a0700d650f591386e287",
"reference": "4b06bfe8c6fbedd6aad0a0700d650f591386e287",
"shasum": ""
},
"require": {
@ -50,7 +51,55 @@
"highlighter",
"syntax"
],
"time": "2016-03-29 13:15:17"
"time": "2016-10-05 07:15:42"
},
{
"name": "paragonie/random_compat",
"version": "v2.0.4",
"source": {
"type": "git",
"url": "https://github.com/paragonie/random_compat.git",
"reference": "a9b97968bcde1c4de2a5ec6cbd06a0f6c919b46e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/a9b97968bcde1c4de2a5ec6cbd06a0f6c919b46e",
"reference": "a9b97968bcde1c4de2a5ec6cbd06a0f6c919b46e",
"shasum": ""
},
"require": {
"php": ">=5.2.0"
},
"require-dev": {
"phpunit/phpunit": "4.*|5.*"
},
"suggest": {
"ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
},
"type": "library",
"autoload": {
"files": [
"lib/random.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Paragon Initiative Enterprises",
"email": "security@paragonie.com",
"homepage": "https://paragonie.com"
}
],
"description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
"keywords": [
"csprng",
"pseudorandom",
"random"
],
"time": "2016-11-07 23:38:38"
},
{
"name": "phpseclib/phpseclib",

View File

@ -627,10 +627,6 @@ class PassHash {
* @return int
*/
protected function random($min, $max){
if(function_exists('auth_random')){
return auth_random($min, $max);
}else{
return mt_rand($min, $max);
}
return random_int($min, $max);
}
}

View File

@ -322,99 +322,28 @@ function auth_cookiesalt($addsession = false, $secure = false) {
}
/**
* Return truly (pseudo) random bytes if available, otherwise fall back to mt_rand
* Return cryptographically secure random bytes.
*
* @author Mark Seecof
* @author Michael Hamann <michael@content-space.de>
* @link http://php.net/manual/de/function.mt-rand.php#83655
* @author Niklas Keller <me@kelunik.com>
*
* @param int $length number of bytes to get
* @return string binary random strings
* @param int $length number of bytes
* @return string cryptographically secure random bytes
*/
function auth_randombytes($length) {
$strong = false;
$rbytes = false;
if (function_exists('openssl_random_pseudo_bytes')
&& (version_compare(PHP_VERSION, '5.3.4') >= 0
|| strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN')
) {
$rbytes = openssl_random_pseudo_bytes($length, $strong);
}
if (!$strong && function_exists('mcrypt_create_iv')
&& (version_compare(PHP_VERSION, '5.3.7') >= 0
|| strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN')
) {
$rbytes = mcrypt_create_iv($length, MCRYPT_DEV_URANDOM);
if ($rbytes !== false && strlen($rbytes) === $length) {
$strong = true;
}
}
// If no strong randoms available, try OS the specific ways
if(!$strong) {
// Unix/Linux platform
$fp = @fopen('/dev/urandom', 'rb');
if($fp !== false) {
$rbytes = fread($fp, $length);
fclose($fp);
}
// MS-Windows platform
if(class_exists('COM')) {
// http://msdn.microsoft.com/en-us/library/aa388176(VS.85).aspx
try {
$CAPI_Util = new COM('CAPICOM.Utilities.1');
$rbytes = $CAPI_Util->GetRandom($length, 0);
// if we ask for binary data PHP munges it, so we
// request base64 return value.
if($rbytes) $rbytes = base64_decode($rbytes);
} catch(Exception $ex) {
// fail
}
}
}
if(strlen($rbytes) < $length) $rbytes = false;
// still no random bytes available - fall back to mt_rand()
if($rbytes === false) {
$rbytes = '';
for ($i = 0; $i < $length; ++$i) {
$rbytes .= chr(mt_rand(0, 255));
}
}
return $rbytes;
return random_bytes($length);
}
/**
* Random number generator using the best available source
* Cryptographically secure random number generator.
*
* @author Michael Samuel
* @author Michael Hamann <michael@content-space.de>
* @author Niklas Keller <me@kelunik.com>
*
* @param int $min
* @param int $max
* @return int
*/
function auth_random($min, $max) {
$abs_max = $max - $min;
$nbits = 0;
for ($n = $abs_max; $n > 0; $n >>= 1) {
++$nbits;
}
$mask = (1 << $nbits) - 1;
do {
$bytes = auth_randombytes(PHP_INT_SIZE);
$integers = unpack('Inum', $bytes);
$integer = $integers["num"] & $mask;
} while ($integer > $abs_max);
return $min + $integer;
return random_int($min, $max);
}
/**

View File

@ -881,7 +881,7 @@ abstract class ChangeLog {
*/
function getLastRevisionAt($date_at){
//requested date_at(timestamp) younger or equal then modified_time($this->id) => load current
if($date_at >= @filemtime($this->getFilename())) {
if(file_exists($this->getFilename()) && $date_at >= @filemtime($this->getFilename())) {
return '';
} else if ($rev = $this->getRelativeRevision($date_at+1, -1)) { //+1 to get also the requested date revision
return $rev;

View File

@ -834,6 +834,17 @@ function clientismobile() {
return false;
}
/**
* check if a given link is interwiki link
*
* @param string $link the link, e.g. "wiki>page"
* @return bool
*/
function link_isinterwiki($link){
if (preg_match('/^[a-zA-Z0-9\.]+>/u',$link)) return true;
return false;
}
/**
* Convert one or more comma separated IPs to hostnames
*
@ -1325,7 +1336,7 @@ function saveWikiText($id, $text, $summary, $minor = false) {
io_sweepNS($id, 'mediadir');
} else {
// save file (namespace dir is created in io_writeWikiPage)
io_writeWikiPage($svdta['file'], $text, $id);
io_writeWikiPage($svdta['file'], $svdta['newContent'], $id);
// pre-save the revision, to keep the attic in sync
$svdta['newRevision'] = saveOldRevision($id);
$filesize_new = filesize($svdta['file']);

View File

@ -8,6 +8,7 @@
* @author daniel@6temes.cat
* @author Eduard Díaz <edudiaz@scopia.es>
* @author controlonline.net <controlonline.net@gmail.com>
* @author Pauet <pauet@gmx.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@ -331,8 +332,8 @@ $lang['media_perm_read'] = 'No teniu permisos suficients per a llegir arxi
$lang['media_perm_upload'] = 'No teniu permisos suficients per a pujar arxius';
$lang['media_update'] = 'Puja la nova versió';
$lang['media_restore'] = 'Restaura aquesta versió';
$lang['email_signature_text'] = 'Aquest mail ha estat generat per DokuWiki a
@DOKUWIKIURL@';
$lang['currentns'] = 'Espai de noms actual';
$lang['searchresult'] = 'Resultats cerca';
$lang['plainhtml'] = 'HTML pla';
$lang['email_signature_text'] = 'Aquest mail ha estat generat per DokuWiki a
@DOKUWIKIURL@';

View File

@ -217,7 +217,7 @@ $lang['lastmod'] = 'Zuletzt geändert:';
$lang['by'] = 'von';
$lang['deleted'] = 'gelöscht';
$lang['created'] = 'angelegt';
$lang['restored'] = 'alte Version wieder hergestellt (%s)';
$lang['restored'] = 'alte Version wiederhergestellt (%s)';
$lang['external_edit'] = 'Externe Bearbeitung';
$lang['summary'] = 'Zusammenfassung';
$lang['noflash'] = 'Das <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> wird benötigt, um diesen Inhalt anzuzeigen.';

View File

@ -38,6 +38,7 @@
* @author james <j.mccann@celcat.com>
* @author Pietroni <pietroni@informatique.univ-paris-diderot.fr>
* @author Floriang <antispam@floriang.eu>
* @author Eric <ericstevenart@netc.fr>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@ -98,7 +99,7 @@ $lang['badpassconfirm'] = 'Désolé, le mot de passe est erroné';
$lang['minoredit'] = 'Modification mineure';
$lang['draftdate'] = 'Brouillon enregistré automatiquement le';
$lang['nosecedit'] = 'La page a changé entre temps, les informations de la section sont obsolètes ; la page complète a été chargée à la place.';
$lang['searchcreatepage'] = 'Si vous n\'avez pas trouvé ce que vous cherchiez, vous pouvez créer ou modifier la page correspondante à votre requête en cliquant sur le bouton approprié.';
$lang['searchcreatepage'] = 'Si vous n\'avez pas trouvé ce que vous cherchiez, vous pouvez créer ou modifier la page correspondant à votre requête en cliquant sur le bouton approprié.';
$lang['regmissing'] = 'Désolé, vous devez remplir tous les champs.';
$lang['reguexists'] = 'Désolé, ce nom d\'utilisateur est déjà pris.';
$lang['regsuccess'] = 'L\'utilisateur a été créé. Le mot de passe a été expédié par courriel.';
@ -369,5 +370,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'] = 'Ce courriel a été généré par DokuWiki depuis
@DOKUWIKIURL@';

View File

@ -1,3 +1,3 @@
====== Administracija ======
Slijedi spisak svih administracijskih poslova koji su trenutno dostupni.
Slijedi popis svih administracijskih poslova koji su trenutno dostupni.

View File

@ -1,3 +1,3 @@
====== Veze na stranicu ======
Slijedi spisak svih stanica koje imaju vezu na trenutnu stranicu.
Slijedi popis svih stranica koje imaju poveznicu na trenutnu stranicu.

View File

@ -1,5 +1,5 @@
====== Postoji novija verzija ======
====== Postoji novija inačica ======
Već postoji novija verzija dokumenta kojeg ste mijenjali. To se dešava jer je neki drugi korisnik snimio dokument za vrijeme dok ste ga Vi mijenjali.
Već postoji novija inačica dokumenta kojeg ste mijenjali. To se događa jer je neki drugi korisnik snimio dokument za vrijeme dok ste ga Vi mijenjali.
Proučite promjene koje slijede i odaberite koje želite preuzeti. Odaberite ''Snimi'' da biste snimili Vašu verziju ili ''Poništi'' da ostavite sačuvanu trenutnu verziju dokumenta.
Proučite promjene koje slijede i odaberite koje želite preuzeti. Odaberite ''Pohrani'' da biste snimili Vašu inačicu ili ''Poništi'' da ostavite sačuvanu trenutnu inačicu dokumenta.

View File

@ -1,4 +1,4 @@
====== Niste autorizirani ======
====== Niste ovlašteni ======
Nemate autorizaciju.
Nemate potrebne ovlasti za nastavak.

View File

@ -1,3 +1,3 @@
====== Razlike ======
Slijede sve razlike između odabrane i trenutne verzije dokumenta
Slijede razlike između dviju inačica stranice

View File

@ -1,4 +1,4 @@
====== Nađena neuspjelo uređivanje stranice ======
====== Pronađen prethodni pokušaj izmjena ======
Vaše zadnje uređivanje ove stranice nije završilo uredno. DokuWiki je automatski snimio kopiju tijekom rada koju sada možete iskoristiti da nastavite uređivanje. Niže možete vidjeti sadržaj koji je snimljen pri vašem zadnjem uređivanju.
Molimo odlučite da li želite //vratiti// ili //obrisati// snimljeni sadržaj pri vašem zadnjem neuspjelom uređivanju, ili pak želite //odustati// od uređivanja.
Vaše zadnje uređivanje ove stranice nije završilo uredno. DokuWiki je automatski pohranio kopiju tijekom rada koju sada možete iskoristiti da nastavite uređivanje. Niže možete vidjeti sadržaj koji je pohranjen pri vašem zadnjem uređivanju.
Molimo odlučite da li želite //vratiti// ili //obrisati// pohranjeni sadržaj pri vašem zadnjem neuspjelom uređivanju, ili pak želite //odustati// od uređivanja.

View File

@ -1 +1 @@
Uredite stranicu i pritisnite "Snimi". Pogledajte [[wiki:syntax]] za Wiki sintaksu. Molimo izmijenite samo ako možete unaprijediti sadržaj. Ako trebate testirati ili naučiti kako se nešto radi, molimo koristite za to namijenjene stranice kao što je [[playground:playground|igraonica]].
Uredite stranicu i pritisnite "Pohrani". Pogledajte [[wiki:syntax]] za Wiki sintaksu. Molimo izmijenite samo ako možete unaprijediti sadržaj. Ako trebate testirati ili naučiti kako se nešto radi, molimo koristite za to namijenjene stranice kao što je [[playground:playground|igraonica]].

View File

@ -1,2 +1,2 @@
**Učitali ste stariju verziju dokumenta!** Ukoliko je snimite - biti će kreirana nova verzija dokumenta.
**Učitali ste stariju inačicu dokumenta!** Ukoliko je pohranite - biti će kreirana nova inačica dokumenta.
----

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Tomo Krajina <aaa@puzz.info>
* @author Branko Rihtman <theney@gmail.com>
* @author Dražen Odobašić <dodobasic@gmail.com>
@ -21,7 +21,7 @@ $lang['btn_source'] = 'Prikaži kod stranice';
$lang['btn_show'] = 'Prikaži dokument';
$lang['btn_create'] = 'Stvori ovu stranicu';
$lang['btn_search'] = 'Pretraži';
$lang['btn_save'] = 'Spremi';
$lang['btn_save'] = 'Pohrani';
$lang['btn_preview'] = 'Prikaži';
$lang['btn_top'] = 'Na vrh';
$lang['btn_newer'] = '<< noviji';
@ -38,7 +38,7 @@ $lang['btn_admin'] = 'Administriranje';
$lang['btn_update'] = 'Nadogradi';
$lang['btn_delete'] = 'Obriši';
$lang['btn_back'] = 'Nazad';
$lang['btn_backlink'] = 'Povratni linkovi';
$lang['btn_backlink'] = 'Povratne veze';
$lang['btn_subscribe'] = 'Uređivanje pretplata';
$lang['btn_profile'] = 'Dopuni profil';
$lang['btn_reset'] = 'Poništi';
@ -72,10 +72,10 @@ $lang['searchcreatepage'] = 'Ako ne možete naći što tražite, možete ur
$lang['regmissing'] = 'Morate popuniti sva polja.';
$lang['reguexists'] = 'Korisnik s tim korisničkim imenom već postoji.';
$lang['regsuccess'] = 'Korisnik je uspješno stvoren i poslana je lozinka emailom.';
$lang['regsuccess2'] = 'Korisnik je uspješno stvoren.';
$lang['regsuccess2'] = 'Korisnik je uspješno kreiran.';
$lang['regfail'] = 'Korisnik ne može biti kreiran.';
$lang['regmailfail'] = 'Pojavila se greška prilikom slanja lozinke emailom. Kontaktirajte administratora!';
$lang['regbadmail'] = 'Email adresa nije ispravna, ukoliko ovo smatrate greškom, kontaktirajte administratora.';
$lang['regmailfail'] = 'Pojavila se greška prilikom slanja lozinke e-poštom. Kontaktirajte administratora!';
$lang['regbadmail'] = 'Adresa e-pošte nije ispravna, ukoliko ovo smatrate greškom, kontaktirajte administratora.';
$lang['regbadpass'] = 'Unesene lozinke nisu jednake, pokušajte ponovno.';
$lang['regpwmail'] = 'Vaša DokuWiki lozinka';
$lang['reghere'] = 'Još uvijek nemate korisnički račun? Registrirajte se.';
@ -94,8 +94,8 @@ $lang['resendna'] = 'Ovaj wiki ne podržava ponovno slanje lozinke
$lang['resendpwd'] = 'Postavi novu lozinku za';
$lang['resendpwdmissing'] = 'Ispunite sva polja.';
$lang['resendpwdnouser'] = 'Nije moguće pronaći korisnika.';
$lang['resendpwdbadauth'] = 'Neispravan autorizacijski kod. Provjerite da li ste koristili potpun potvrdni link.';
$lang['resendpwdconfirm'] = 'Potvrdni link je poslan e-poštom.';
$lang['resendpwdbadauth'] = 'Neispravan autorizacijski kod. Provjerite da li ste koristili potpunu poveznicu za potvrdu.';
$lang['resendpwdconfirm'] = 'Poveznica za potvrdu je poslana e-poštom.';
$lang['resendpwdsuccess'] = 'Nova lozinka je poslana e-poštom.';
$lang['license'] = 'Osim na mjestima gdje je naznačeno drugačije, sadržaj ovog wikija je licenciran sljedećom licencom:';
$lang['licenseok'] = 'Pažnja: promjenom ovog dokumenta pristajete licencirati sadržaj sljedećom licencom: ';
@ -122,10 +122,10 @@ $lang['js']['mediaclose'] = 'Zatvori';
$lang['js']['mediainsert'] = 'Umetni';
$lang['js']['mediadisplayimg'] = 'Prikaži sliku.';
$lang['js']['mediadisplaylnk'] = 'Prikaži samo poveznicu.';
$lang['js']['mediasmall'] = 'Mala verzija.';
$lang['js']['mediamedium'] = 'Srednja verzija.';
$lang['js']['medialarge'] = 'Velika verzija.';
$lang['js']['mediaoriginal'] = 'Originalna verzija.';
$lang['js']['mediasmall'] = 'Mala inačica.';
$lang['js']['mediamedium'] = 'Srednja inačica.';
$lang['js']['medialarge'] = 'Velika inačica.';
$lang['js']['mediaoriginal'] = 'Originalna inačica.';
$lang['js']['medialnk'] = 'Poveznica na stranicu s detaljima';
$lang['js']['mediadirect'] = 'Direktna poveznica na original';
$lang['js']['medianolnk'] = 'Bez poveznice';
@ -134,11 +134,11 @@ $lang['js']['medialeft'] = 'Poravnaj sliku lijevo.';
$lang['js']['mediaright'] = 'Poravnaj sliku desno.';
$lang['js']['mediacenter'] = 'Poravnaj sliku u sredinu.';
$lang['js']['medianoalign'] = 'Bez poravnanja.';
$lang['js']['nosmblinks'] = 'Linkovi na dijeljene Windows mape rade samo s Internet Explorerom. Link je još uvijek moguće kopirati i zalijepiti.';
$lang['js']['nosmblinks'] = 'Poveznicei na dijeljene Windows mape rade samo s Internet Explorerom. Poveznicu je još uvijek moguće kopirati i zalijepiti.';
$lang['js']['linkwiz'] = 'Čarobnjak za poveznice';
$lang['js']['linkto'] = 'Poveznica na:';
$lang['js']['del_confirm'] = 'Zbilja želite obrisati odabrane stavke?';
$lang['js']['restore_confirm'] = 'Zaista želite vratiti ovu verziju?';
$lang['js']['restore_confirm'] = 'Zaista želite vratiti ovu inačicu?';
$lang['js']['media_diff'] = 'Pogledaj razlike:';
$lang['js']['media_diff_both'] = 'Usporedni prikaz';
$lang['js']['media_diff_opacity'] = 'Sjaj kroz';
@ -171,9 +171,9 @@ $lang['mediaview'] = 'Vidi izvornu datoteku';
$lang['mediaroot'] = 'root';
$lang['mediaupload'] = 'Postavi datoteku u odabrani imenski prostor. Podimenski prostori se stvaraju dodavanjem istih kao prefiks naziva datoteke u "Postavi kao" polju, tako da se odvoje dvotočkama.';
$lang['mediaextchange'] = 'Nastavak datoteke promijenjen iz .%s u .%s!';
$lang['reference'] = 'Reference za';
$lang['reference'] = 'Poveznice za';
$lang['ref_inuse'] = 'Datoteka se ne može obrisati jer se još uvijek koristi u sljedećim dokumentima:';
$lang['ref_hidden'] = 'Neke reference se nalaze na dokumentima koje nemate dozvolu čitati';
$lang['ref_hidden'] = 'Neke poveznice se nalaze na dokumentima koje nemate dozvolu čitati';
$lang['hits'] = 'Pronađeno';
$lang['quickhits'] = 'Pronađeno po nazivima dokumenata';
$lang['toc'] = 'Sadržaj';
@ -209,7 +209,7 @@ $lang['page_tools'] = 'Stranični alati';
$lang['skip_to_content'] = 'preskoči na sadržaj';
$lang['sidebar'] = 'Bočna traka';
$lang['mail_newpage'] = 'stranica dodana:';
$lang['mail_changed'] = 'stranica izmjenjena:';
$lang['mail_changed'] = 'stranica izmijenjena:';
$lang['mail_subscribe_list'] = 'stranice promijenjene u imenskom prostoru:';
$lang['mail_new_user'] = 'novi korisnik:';
$lang['mail_upload'] = 'datoteka učitana:';
@ -273,7 +273,7 @@ $lang['subscr_m_receive'] = 'Primi';
$lang['subscr_style_every'] = 'e-pošta za svaku promjenu';
$lang['subscr_style_digest'] = 'e-pošta s kratakim prikazom promjena za svaku stranicu (svaka %.2f dana)';
$lang['subscr_style_list'] = 'listu promijenjenih stranica od zadnje primljene e-pošte (svaka %.2f dana)';
$lang['authtempfail'] = 'Autentifikacija korisnika je privremeno nedostupna. Molimo Vas da kontaktirate administratora.';
$lang['authtempfail'] = 'Prijava korisnika je privremeno nedostupna. Molimo Vas da kontaktirate administratora, ako ovo potraje.';
$lang['i_chooselang'] = 'Izaberite vaš jezik';
$lang['i_installer'] = 'DokuWiki postavljanje';
$lang['i_wikiname'] = 'Naziv Wikija';
@ -283,14 +283,14 @@ $lang['i_problems'] = 'Instalacija je pronašla probleme koji su nazn
$lang['i_modified'] = 'Zbog sigurnosnih razlog, ova skripta raditi će samo sa novim i neizmijenjenim DokuWiki instalacijama.
Molimo ponovno prekopirajte datoteke iz preuzetoga paketa ili pogledajte detaljno <a href="http://dokuwiki.org/install">Uputstvo za postavljanje DokuWiki-a</a>';
$lang['i_funcna'] = 'PHP funkcija <code>%s</code> nije dostupna. Možda ju je vaš pružatelj hostinga onemogućio iz nekog razloga?';
$lang['i_phpver'] = 'Vaša PHP verzija <code>%s</code> je niža od potrebne <code>%s</code>. Trebate nadograditi vašu PHP instalaciju.';
$lang['i_phpver'] = 'Vaša PHP inačica <code>%s</code> je niža od potrebne <code>%s</code>. Trebate nadograditi vašu PHP instalaciju.';
$lang['i_mbfuncoverload'] = 'mbstring.func_overload mora biti onemogućena u php.ini da bi ste pokrenuli DokuWiki.';
$lang['i_permfail'] = '<code>%s</code> nema dozvolu pisanja od strane DokuWiki. Trebate podesiti dozvole pristupa tom direktoriju.';
$lang['i_confexists'] = '<code>%s</code> već postoji';
$lang['i_writeerr'] = 'Ne može se kreirati <code>%s</code>. Trebate provjeriti dozvole direktorija/datoteke i kreirati dokument ručno.';
$lang['i_badhash'] = 'neprepoznat ili promijenjen dokuwiki.php (hash=<code>%s</code>)';
$lang['i_badval'] = '<code>%s</code> - nedozvoljena ili prazna vrijednost';
$lang['i_success'] = 'Konfiguracija je uspješno završena. Sada možete obrisati install.php datoteku. Nastavite na <a href="doku.php?id=wiki:welcome">vaš novi DokuWiki</a>.';
$lang['i_success'] = 'Podešavanje je uspješno završeno. Sada možete obrisati install.php datoteku. Nastavite na <a href="doku.php?id=wiki:welcome">vaš novi DokuWiki</a>.';
$lang['i_failure'] = 'Pojavile su se neke greške prilikom pisanja konfiguracijskih datoteka. Morati ćete ih ručno ispraviti da bi mogli koristiti <a href="doku.php?id=wiki:welcome">vaš novi DokuWiki</a>.';
$lang['i_policy'] = 'Inicijalna ACL politika';
$lang['i_pol0'] = 'Otvoreni Wiki (čitanje, pisanje, učitavanje za sve)';
@ -332,14 +332,14 @@ $lang['media_history'] = 'Povijest %s';
$lang['media_meta_edited'] = 'meta podaci uređeni';
$lang['media_perm_read'] = 'Nažalost, nemate prava za čitanje datoteka.';
$lang['media_perm_upload'] = 'Nažalost, nemate prava za učitavanje datoteka.';
$lang['media_update'] = 'Učitaj novu verziju';
$lang['media_restore'] = 'Vrati ovu verziju';
$lang['media_acl_warning'] = 'Ova lista moguće da nije kompletna zbog ACL ograničenja i skrivenih stranica.';
$lang['media_update'] = 'Učitaj novu inačicu';
$lang['media_restore'] = 'Vrati ovu inačicu';
$lang['media_acl_warning'] = 'Ova lista moguće da nije kompletna zbog ograničenja ovlasti i skrivenih stranica.';
$lang['currentns'] = 'Tekući imenički prostor';
$lang['searchresult'] = 'Rezultati pretraživanja';
$lang['plainhtml'] = 'Čisti HTML';
$lang['wikimarkup'] = 'Wiki kod';
$lang['page_nonexist_rev'] = 'Stranica ne postoji na %s. Ona je naknadno napravljena na <a href="%s">%s</a>.';
$lang['unable_to_parse_date'] = 'Ne mogu analizirati parametar "%s".';
$lang['email_signature_text'] = 'Ovaj email je poslan na
$lang['email_signature_text'] = 'Ovaj email je poslan na
@DOKUWIKIURL@';

View File

@ -4,8 +4,8 @@ Datum : @DATE@
Preglednik : @BROWSER@
IP-Adresa : @IPADDRESS@
Host : @HOSTNAME@
Prijašnja verzija : @OLDPAGE@
Nova verzija : @NEWPAGE@
Prijašnja izmjena : @OLDPAGE@
Nova izmjena : @NEWPAGE@
Opis izmjene : @SUMMARY@
Korisnik : @USER@

View File

@ -1,3 +1,3 @@
====== Nepostojeća verzija ======
====== Nepostojeća inačica ======
Tražena verzija dokumenta ne postoji.
Tražena izmjena ne postoji. Pritisnite "Stare promjene" za listu starih promjena dokumenta.

View File

@ -1,3 +1,3 @@
====== Pregled ======
Ovo je pregled kako će izgledati Vaš dokument nakon što se snimi.
Ovo je pregled kako će izgledati Vaš dokument nakon što se pohrani.

View File

@ -1,3 +1,3 @@
====== Slanje nove lozinke ======
Ispunite potrebne podatke da biste dobili novu lozinku za Vaš korisnički račun. Link za potvrdu biti će poslan na Vašu email adresu.
Ispunite potrebne podatke da biste dobili novu lozinku za Vaš korisnički račun. Poveznica za potvrdu biti će poslana na Vašu adresu e-pošte.

View File

@ -1,3 +1,3 @@
====== Stare verzije ======
====== Stare izmjene ======
Slijedi spisak starih verzija za traženi dokument. Da bi ste se vratili na neku od njih, odaberite ju, pritisnite Uređivanje i snimite ju.
Slijedi popis starijih izmjena za trenutni dokument. Da bi ste se vratili na neku od njih, odaberite ju, pritisnite Uređivanje i pohranite ju.

View File

@ -1,7 +1,7 @@
# This is a list of words the indexer ignores, one word per line
# When you edit this file be sure to use UNIX line endings (single newline)
# No need to include words shorter than 3 chars - these are ignored anyway
# This list is based upon the ones found at http://www.ranks.nl/stopwords/
# Ovo je popis riječi koje indekser ignorira, jedna riječ po retku
# Kada mijenjate ovu datoteku budite sigurni da koristite UNIX oznaku kraja retka (jedan newline znak)
# Nije potrebno navoditi riječi kraće od 3 znaka - one su svakako ignorirane
# Ova lista je bazirana na onoj nađenoj na http://www.ranks.nlstopwords/
about
are
and

View File

@ -7,8 +7,8 @@ Ovdje su promjene:
@DIFF@
--------------------------------------------------------
Stara verzija: @OLDPAGE@
Nova verzija: @NEWPAGE@
Stara izmjena: @OLDPAGE@
Nova izmjena: @NEWPAGE@
Da poništite obavijesti o izmjenama prijavite se na wiki @DOKUWIKIURL@ i zatim posjetite
@SUBSCRIBE@

View File

@ -10,8 +10,8 @@ Ovo su promjene:
Datum : @DATE@
Korisnik: @USER@
Sažetak izmjena: @SUMMARY@
Stara verzija: @OLDPAGE@
Nova verzija : @NEWPAGE@
Stara izmjena: @OLDPAGE@
Nova izmjena : @NEWPAGE@
Da poništite obavijesti o izmjenama prijavite se na wiki @DOKUWIKIURL@ i zatim posjetite
@SUBSCRIBE@

View File

@ -1,7 +1,7 @@
Datoteka je učitana na Vaš DokuWiki. Ovdje su detalji:
Datoteka : @MEDIA@
Stara verzija: @OLD@
Stara izmjena: @OLD@
Datum : @DATE@
Preglednik : @BROWSER@
IP-Adresa : @IPADDRESS@

View File

@ -1,3 +1,3 @@
====== Tilbakelinker ======
====== Tilbakelenker ======
Dette er en liste over sider som ser ut til å linke tilbake til den aktuelle siden.
Dette er en liste over sider som ser ut til å lenke tilbake til denne siden.

View File

@ -23,6 +23,9 @@
* @author Christopher Schive <chschive@frisurf.no>
* @author Patrick <spill.p@hotmail.com>
* @author Danny Buckhof <daniel.raknes@hotmail.no>
* @author Arne Hanssen <arne.hanssen@getmail.no>
* @author Arne Hanssen <arnehans@getmail.no>
* @author Patrick Sletvold <patricksletvold@hotmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@ -101,7 +104,7 @@ $lang['profchanged'] = 'Brukerprofilen ble vellykket oppdatert.';
$lang['profnodelete'] = 'Denne wikien støtter ikke sletting av brukere';
$lang['profdeleteuser'] = 'Slett konto';
$lang['profdeleted'] = 'Din brukerkonto har blitt slettet fra denne wikien';
$lang['profconfdelete'] = 'Jeg ønsker å fjerne min konto fra denne wikien. <br/> Denne handlingen kan ikke omgjøres.';
$lang['profconfdelete'] = 'Jeg ønsker å fjerne min konto fra denne wikien. <br/> Denne handlingen kan ikke gjøres om.';
$lang['profconfdeletemissing'] = 'Boks for bekreftelse ikke avkrysset';
$lang['proffail'] = 'Brukerprofilen ble ikke oppdatert';
$lang['pwdforget'] = 'Glemt passordet ditt? Få deg et nytt';
@ -229,7 +232,7 @@ $lang['mail_changed'] = 'side endret:';
$lang['mail_subscribe_list'] = 'side endret i \'namespace\':';
$lang['mail_new_user'] = 'ny bruker:';
$lang['mail_upload'] = 'fil opplastet:';
$lang['changes_type'] = 'Vis endringer av';
$lang['changes_type'] = 'Vis endringer for';
$lang['pages_changes'] = 'Sider';
$lang['media_changes'] = 'Mediefiler';
$lang['both_changes'] = 'Både sider og mediefiler';
@ -299,7 +302,7 @@ $lang['i_problems'] = 'Installasjonen oppdaget noen problemer, disse
$lang['i_modified'] = 'For sikkerhets skyld vil dette skriptet bare virke med en ny og uendret Dokuwiki-installsjon.
Du bør enten pakke ut filene nytt fra den nedlastede pakken, eller konsultere den komplette
<a href="http://dokuwiki.org/install">Dokuwiki-installasjonsinstruksen</a>';
$lang['i_funcna'] = 'PHP-funksjonen <code>%s</code> er ikke tilgjengelig. Kanskje din leverandør har deaktivert den av noen grunn?';
$lang['i_funcna'] = 'PHP-funksjonen <code>%s</code> er ikke tilgjengelig. Kanskje din nettleverandør har deaktivert denne?';
$lang['i_phpver'] = 'Din PHP versjon <code>%s</code> er lavere enn kravet <code>%s</code>. Du må oppgradere PHP installasjonen. ';
$lang['i_mbfuncoverload'] = 'mbstring.func_overload må deaktiveres i php.ini for å kjøre DokuWiki.';
$lang['i_permfail'] = '<code>%s</code> er ikke skrivbar for DokuWiki. Du må fikse rettighetene for denne mappen!';
@ -321,7 +324,7 @@ $lang['i_license'] = 'Velg lisens som du vil legge ut innholdet unde
$lang['i_license_none'] = 'Ikke vis noen lisensinformasjon';
$lang['i_pop_field'] = 'Venligst hejlp oss å forbedre Dokuwiki-opplevelsen:';
$lang['i_pop_label'] = 'Sand annonyme bruksdata til Dokuwiki-utviklerene, en gang i måneden';
$lang['recent_global'] = 'Du ser nå på endringene i navnerommet <b>%s</b>. Du kan også<a href="%s">se på nylig foretatte endringer for hele wikien</a>.';
$lang['recent_global'] = 'Du ser nå på endringene i navnerommet <b>%s</b>. Du kan også <a href="%s">se på nylig foretatte endringer for hele wikien</a>. ';
$lang['years'] = '%d år siden';
$lang['months'] = '%d måneder siden';
$lang['weeks'] = '%d uker siden';
@ -353,11 +356,12 @@ $lang['media_perm_read'] = 'Beklager, du har ikke tilgang til å lese file
$lang['media_perm_upload'] = 'Beklager, du har ikke tilgang til å laste opp filer.';
$lang['media_update'] = 'Last opp ny versjon';
$lang['media_restore'] = 'Gjenopprett denne versjonen';
$lang['media_acl_warning'] = 'Kanskje er denne listen ikke komplett, pga. restrisjoner satt i ACL eller skjulte sider.';
$lang['currentns'] = 'gjeldende navnemellomrom';
$lang['searchresult'] = 'Søk i resultat';
$lang['plainhtml'] = 'Enkel HTML';
$lang['wikimarkup'] = 'wiki-format';
$lang['page_nonexist_rev'] = 'Finnes ingen side på %s. Den er derfor laget på <a href="%s">%s</a>';
$lang['email_signature_text'] = 'Denne meldingen ble laget av DokuWiki
@DOKUWIKIURL@';
$lang['unable_to_parse_date'] = 'Ikke mulig å tolke "%s".';
$lang['email_signature_text'] = 'Denne meldingen ble laget av DokuWiki
@DOKUWIKIURL@';

View File

@ -1,4 +1,4 @@
====== Logg inn ======
Du er ikke innlogget! Angi ditt brukernavn og passord nedenfor for å logge inn. Støtte for såkalte "cookies" 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 (cockies) må være aktivert i din nettleser for at du skal kunne logge inn.

View File

@ -1,4 +1,4 @@
====== Send nytt passord ======
Fyll inn ditt brukernavn i skjema nedenfor for å be om nytt passord for din konto i denne wiki. En bekreftelseslenke vil bli sent til din e-postadresse.
Fyll inn ditt brukernavn i skjema nedenfor for å be om nytt passord for din konto i denne wiki. En bekreftelseslenke vil bli sendt til din e-postadresse.

View File

@ -11,6 +11,7 @@
* @author Marius Olar <olarmariusalex@yahoo.com>
* @author Marian Banica <banica.marian@gmail.com>
* @author Adrian Vesa <adrianvesa@dotwikis.com>
* @author valentina_prof <sadoveanu.inform@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@ -333,6 +334,6 @@ $lang['media_perm_read'] = 'Ne pare rău, dar nu ai suficiente permisiuni
$lang['media_perm_upload'] = 'Ne pare rău, dar nu ai suficiente permisiuni pentru a putea încărca fișiere.';
$lang['media_update'] = 'Încarcă noua versiune';
$lang['media_restore'] = 'Restaurează această versiune';
$lang['email_signature_text'] = 'Acest e-mail a fost generat de DokuWiki la
@DOKUWIKIURL@';
$lang['searchresult'] = 'Rezultatul cautarii';
$lang['email_signature_text'] = 'Acest e-mail a fost generat de DokuWiki la
@DOKUWIKIURL@';

View File

@ -34,6 +34,7 @@
* @author Takumo <9206984@mail.ru>
* @author RainbowSpike <1@2.ru>
* @author dimsharav <dimsharav@gmail.com>
* @author Radimir <radimir.shevchenko@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@ -371,5 +372,5 @@ $lang['plainhtml'] = 'Простой HTML';
$lang['wikimarkup'] = 'вики-разметка';
$lang['page_nonexist_rev'] = 'Эта страница ещё не существовала %s. Она была создана <a href="%s">%s</a>.';
$lang['unable_to_parse_date'] = 'Невозможно обработать параметр "%s".';
$lang['email_signature_text'] = 'Это письмо создано «Докувики» с сайта
$lang['email_signature_text'] = 'Это письмо создано «Докувики» с сайта
@DOKUWIKIURL@';

View File

@ -1,11 +1,12 @@
<?php
/**
* serbian language file
*
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Filip Brcic <brcha@users.sourceforge.net>
* @author Иван Петровић (Ivan Petrovic) <petrovicivan@ubuntusrbija.org>
* @author Miroslav Šolti <solti.miroslav@gmail.com>
* @author Жељко Тодоровић <zeljko_todorovic@mail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@ -45,6 +46,8 @@ $lang['btn_recover'] = 'Опорави нацрт';
$lang['btn_draftdel'] = 'Обриши нацрт';
$lang['btn_revert'] = 'Врати на пређашњу верзију';
$lang['btn_register'] = 'Региструј се';
$lang['btn_deleteuser'] = 'Уклони мој налог';
$lang['btn_img_backto'] = 'Натраг на %s';
$lang['loggedinas'] = 'Пријављен као:';
$lang['user'] = 'Корисничко име';
$lang['pass'] = 'Лозинка';
@ -59,7 +62,7 @@ $lang['badlogin'] = 'Извините, није добро кори
$lang['minoredit'] = 'Мала измена';
$lang['draftdate'] = 'Нацрт је аутоматски сачуван';
$lang['nosecedit'] = 'Страна је у међувремену промењена, поглавље је застарело и поново се учитава цела страна.';
$lang['searchcreatepage'] = "Ако нисте нашли то што сте тражили, можете да направите нову страницу названу по Вашем упиту користећи дугме ''Измени ову страницу''.";
$lang['searchcreatepage'] = 'Ако нисте нашли то што сте тражили, можете да направите нову страницу названу по Вашем упиту користећи дугме \'\'Измени ову страницу\'\'.';
$lang['regmissing'] = 'Извините, морате да попуните сва поља.';
$lang['reguexists'] = 'Извините, корисник са истим именом већ постоји.';
$lang['regsuccess'] = 'Корисник је направљен и лозинка је послата путем е-поште.';
@ -73,6 +76,8 @@ $lang['profna'] = 'Овај вики не дозвољава из
$lang['profnochange'] = 'Нема промена.';
$lang['profnoempty'] = 'Није дозвољено оставити празно поље имена или е-адресе.';
$lang['profchanged'] = 'Кориснички профил је ажуриран.';
$lang['profdeleteuser'] = 'Избриши налог';
$lang['profdeleted'] = 'Ваш кориснички налог је избрисан са овог викија';
$lang['pwdforget'] = 'Заборавили сте лозинку? Направите нову';
$lang['resendna'] = 'Овај вики не дозвољава слање лозинки.';
$lang['resendpwdmissing'] = 'Жао ми је, сва поља морају бити попуњена.';
@ -89,7 +94,7 @@ $lang['txt_filename'] = 'Унесите вики-име (опционо
$lang['txt_overwrt'] = 'Препишите тренутни фајл';
$lang['lockedby'] = 'Тренутно закључано од стране:';
$lang['lockexpire'] = 'Закључавање истиче:';
$lang['js']['willexpire'] = 'Ваше закључавање за измену ове странице ће да истекне за један минут.\nДа би сте избегли конфликте, искористите дугме за преглед како би сте ресетовали тајмер закључавања.';
$lang['js']['willexpire'] = 'Ваше закључавање за измену ове странице ће да истекне за један минут.\nДа би сте избегли конфликте, искористите дугме за преглед како би сте ресетовали тајмер закључавања.';
$lang['js']['notsavedyet'] = 'Несачуване измене ће бити изгубљене.
Да ли стварно желите да наставите?';
$lang['js']['searchmedia'] = 'Потражи фајлове';
@ -171,6 +176,8 @@ $lang['mail_changed'] = 'страница измењена:';
$lang['mail_subscribe_list'] = 'Странице промењене у именском простору:';
$lang['mail_new_user'] = 'нови корисник:';
$lang['mail_upload'] = 'послата датотека:';
$lang['pages_changes'] = 'Странице';
$lang['both_changes'] = 'И странице и датотеке';
$lang['qb_bold'] = 'Мастан текст';
$lang['qb_italic'] = 'Курзивни текст';
$lang['qb_underl'] = 'Подвучени текст';
@ -199,7 +206,6 @@ $lang['upperns'] = 'Скочи на виши именски про
$lang['metaedit'] = 'Измени мета-податке';
$lang['metasaveerr'] = 'Записивање мета-података није било успешно';
$lang['metasaveok'] = 'Мета-подаци су сачувани';
$lang['btn_img_backto'] = 'Натраг на %s';
$lang['img_title'] = 'Наслов:';
$lang['img_caption'] = 'Назив:';
$lang['img_date'] = 'Датум:';
@ -258,5 +264,5 @@ $lang['hours'] = 'Пре %d сати';
$lang['minutes'] = 'Пре %d минута';
$lang['seconds'] = 'Пре %d секунди';
$lang['wordblock'] = 'Ваше измене нису сачуване јер садрже забрањен текст (спам)';
$lang['email_signature_text'] = 'Ову поруку је генерисао DokuWiki sa
$lang['email_signature_text'] = 'Ову поруку је генерисао DokuWiki sa
@DOKUWIKIURL@';

View File

@ -1,3 +1,3 @@
====== Ажурирање Вашег профила ======
Потребно је попунити само она поља која желите да промените. Поље Корисничко име не можете да променити.
Потребно је попунити само она поља која желите да промените. Поље Корисничко име не можете да промените.

View File

@ -27,6 +27,7 @@
* @author Errol <errol@hotmail.com>
* @author Garfield <garfield_550@outlook.com>
* @author JellyChen <451453325@qq.com>
* @author tai <tai_tang@126.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';

View File

@ -51,7 +51,8 @@ class lessc {
public $parentSelector = '&';
public $importDisabled = false;
public $importDir = '';
/** @var string|string[] */
public $importDir;
protected $numberPrecision = null;

View File

@ -68,6 +68,7 @@ function load_autoload($name){
'FeedParser' => DOKU_INC.'inc/FeedParser.php',
'IXR_Server' => DOKU_INC.'inc/IXR_Library.php',
'IXR_Client' => DOKU_INC.'inc/IXR_Library.php',
'IXR_Error' => DOKU_INC.'inc/IXR_Library.php',
'IXR_IntrospectionServer' => DOKU_INC.'inc/IXR_Library.php',
'Doku_Plugin_Controller'=> DOKU_INC.'inc/plugincontroller.class.php',
'Tar' => DOKU_INC.'inc/Tar.class.php',

View File

@ -446,7 +446,7 @@ class Doku_Handler {
//decide which kind of link it is
if ( preg_match('/^[a-zA-Z0-9\.]+>{1}.*$/u',$link[0]) ) {
if ( link_isinterwiki($link[0]) ) {
// Interwiki
$interwiki = explode('>',$link[0],2);
$this->_addCall(
@ -693,8 +693,8 @@ function Doku_Handler_Parse_Media($match) {
$cache = 'cache';
}
// Check whether this is a local or remote image
if ( media_isexternal($src) ) {
// Check whether this is a local or remote image or interwiki
if (media_isexternal($src) || link_isinterwiki($src)){
$call = 'externalmedia';
} else {
$call = 'internalmedia';

View File

@ -1186,6 +1186,11 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
*/
function externalmedia($src, $title = null, $align = null, $width = null,
$height = null, $cache = null, $linking = null, $return = false) {
if(link_isinterwiki($src)){
list($shortcut, $reference) = explode('>', $src, 2);
$exists = null;
$src = $this->_resolveInterWiki($shortcut, $reference, $exists);
}
list($src, $hash) = explode('#', $src, 2);
$noLink = false;
$render = ($linking == 'linkonly') ? false : true;

View File

@ -1224,8 +1224,8 @@ function tpl_img($maxwidth = 0, $maxheight = 0, $link = true, $params = null) {
/** @var Input $INPUT */
global $INPUT;
global $REV;
$w = tpl_img_getTag('File.Width');
$h = tpl_img_getTag('File.Height');
$w = (int) tpl_img_getTag('File.Width');
$h = (int) tpl_img_getTag('File.Height');
//resize to given max values
$ratio = 1;

View File

@ -4,7 +4,7 @@ if(!defined('DOKU_INC')) define('DOKU_INC',dirname(__FILE__).'/../../');
require_once(DOKU_INC.'inc/init.php');
session_write_close(); //close session
if(!$conf['remote']) die('XML-RPC server not enabled.');
if(!$conf['remote']) die((new IXR_Error(-32605, "XML-RPC server not enabled."))->getXml());
/**
* Contains needed wrapper functions and registers all available

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Carles Bellver <carles.bellver@cent.uji.es>
* @author Carles Bellver <carles.bellver@gmail.com>
* @author carles.bellver@gmail.com

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Sébastien Bauer <sebastien.bauer@advalvas.be>
* @author Antoine Fixary <antoine.fixary@freesbee.fr>
* @author cumulus <pta-n56@myamail.com>

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Branko Rihtman <theney@gmail.com>
* @author Dražen Odobašić <dodobasic@gmail.com>
* @author Dejan Igrec dejan.igrec@gmail.com

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Reidar Mosvold <Reidar.Mosvold@hit.no>
* @author Jorge Barrera Grandon <jorge@digitalwolves.org>
* @author Thomas Nygreen <nygreen@gmail.com>

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Sergiu Baltariu <s_baltariu@yahoo.com>
* @author s_baltariu@yahoo.com
* @author Emanuel-Emeric Andrasi <n30@mandrivausers.ro>

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Denis Simakov <akinoame1@gmail.com>
* @author Змей Этерийский evil_snake@eternion.ru
* @author Hikaru Nakajima <jisatsu@mail.ru>

View File

@ -1,8 +1,8 @@
<?php
/**
* serbian language file
*
* @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>

View File

@ -2,7 +2,9 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Daniel López Prat <daniel@6temes.cat>
* @author Pauet <pauet@gmx.com>
*/
$lang['authpwdexpire'] = 'La vostra contrasenya caducarà en %d dies, l\'hauríeu de canviar aviat.';
$lang['passchangefail'] = 'Ha fallat el canviar el password. Es possible que no s\'hagi complert la política de passwords';

View File

@ -7,6 +7,7 @@
* @author Matthias Schulte <dokuwiki@lupo49.de>
* @author Ben Fey <benedikt.fey@beck-heun.de>
* @author Jonas Gröger <jonas.groeger@gmail.com>
* @author Carsten Perthel <carsten@cpesoft.com>
*/
$lang['account_suffix'] = 'Ihr Account-Suffix. Z. B. <code>@my.domain.org</code>';
$lang['base_dn'] = 'Ihr Base-DN. Z. B. <code>DC=my,DC=domain,DC=org</code>';
@ -21,3 +22,5 @@ $lang['use_tls'] = 'TLS-Verbindung benutzen? Falls ja, SSL oberhal
$lang['debug'] = 'Zusätzliche Debug-Informationen bei Fehlern anzeigen?';
$lang['expirywarn'] = 'Tage im Voraus um Benutzer über ablaufende Passwörter zu informieren. 0 zum Ausschalten.';
$lang['additional'] = 'Eine Komma-separierte Liste von zusätzlichen AD-Attributen, die von den Benutzerobjekten abgefragt werden. Wird von einigen Plugins benutzt.';
$lang['update_name'] = 'Benutzern erlauben, ihren AD Anzeige-Namen zu ändern?';
$lang['update_mail'] = 'Benutzern erlauben, ihre E-Mail-Adresse zu ändern?';

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author ggallon <gwenael.gallon@mac.com>
* @author Yannick Aure <yannick.aure@gmail.com>
* @author Pietroni <pietroni@informatique.univ-paris-diderot.fr>

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Bruno Veilleux <bruno.vey@gmail.com>
* @author Momo50 <c.brothelande@gmail.com>
* @author Schplurtz le Déboulonné <Schplurtz@laposte.net>

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Davor Turkalj <turki.bsc@gmail.com>
*/
$lang['domain'] = 'Domena za prijavu';

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Davor Turkalj <turki.bsc@gmail.com>
*/
$lang['account_suffix'] = 'Vaš sufiks korisničkog imena. Npr. <code>@my.domain.org</code>';

View File

@ -2,12 +2,15 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Patrick <spill.p@hotmail.com>
* @author Thomas Juberg <Thomas.Juberg@Gmail.com>
* @author Danny Buckhof <daniel.raknes@hotmail.no>
* @author Patrick Sletvold <patricksletvold@hotmail.com>
* @author Arne Hanssen <arnehans@getmail.no>
*/
$lang['domain'] = 'Loggpå-domene';
$lang['authpwdexpire'] = 'Ditt passord går ut om %d dager, du bør endre det snarest.';
$lang['passchangefail'] = 'Feil ved endring av passord. Det kan være at passordet ikke er i tråd med passordpolicyen ';
$lang['userchangefail'] = 'Klarte ikke å endre brukerattributter. Kanskje gar ikke kontoen din rettigheter til å gjøre endringer?';
$lang['connectfail'] = 'Feil ved kontakt med Active Directory serveren.';

View File

@ -2,13 +2,25 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Christopher Schive <chschive@frisurf.no>
* @author Patrick <spill.p@hotmail.com>
* @author Danny Buckhof <daniel.raknes@hotmail.no>
* @author Patrick Sletvold <patricksletvold@hotmail.com>
* @author Arne Hanssen <arnehans@getmail.no>
*/
$lang['account_suffix'] = 'Ditt konto-suffiks F. Eks. <code>@my.domain.org</code>';
$lang['base_dn'] = 'Din rot-DN. F.eks. <code>DC=my,DC=domain,DC=org</code>';
$lang['domain_controllers'] = 'En kommaseparert liste over domenekontrollere. Eks. <code>srv1.domene.org,srv2.domene.org</code>';
$lang['admin_username'] = 'En «Active Directory»-bruker med tilgang til alle andre brukeres data. Valgfritt, men nødvendig for visse handlinger f.eks. for utsendelse av e-poster til abonnenter.';
$lang['admin_password'] = 'Passordet til brukeren over.';
$lang['sso'] = 'Skal engangspålogging via Kerberos eller NTLM bli brukt?';
$lang['sso_charset'] = 'Tegnsettet din web-server vil bruke for ditt Kerberos- eller NTLM-brukernavn. La stå tomt for UTF-8 eller ISO Latin-1. Avhengig av utvidelsen iconv.';
$lang['real_primarygroup'] = 'Skal en finne den virkelige gruppen i stedet for å anta at dette er "domene-brukere" (tregere).';
$lang['use_ssl'] = 'Bruk SSL tilknytning? Hvis denne brukes, ikke aktiver TLS nedenfor.';
$lang['use_tls'] = 'Bruk TLS tilknytning? Hvis denne brukes, ikke aktiver SSL over.';
$lang['debug'] = 'Ved feil, vise tilleggsinformasjon for feilsøking?';
$lang['expirywarn'] = 'Antall dager på forhånd brukeren varsles om at passordet utgår. 0 for å deaktivere.';
$lang['additional'] = 'En kommaseparert liste med AD-attributter som skal hentes fra brukerdata. Blir brukt av enkelte programtillegg.';
$lang['update_name'] = 'Tillate at brukere endrer AD-visningsnavnet sitt?';
$lang['update_mail'] = 'Tillate at brukere endrer e-postadressen sin?';

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Razvan Deaconescu <razvan.deaconescu@cs.pub.ro>
* @author Adrian Vesa <adrianvesa@dotwikis.com>
*/

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Aleksandr Selivanov <alexgearbox@yandex.ru>
* @author Takumo <9206984@mail.ru>
* @author dimsharav <dimsharav@gmail.com>

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua)
* @author Aleksandr Selivanov <alexgearbox@gmail.com>
* @author Artur <ncuxxx@gmail.com>
@ -11,6 +11,7 @@
* @author Aleksandr Selivanov <alexgearbox@yandex.ru>
* @author Type-kun <workwork-1@yandex.ru>
* @author Vitaly Filatenko <kot@hacktest.net>
* @author Radimir <radimir.shevchenko@gmail.com>
*/
$lang['account_suffix'] = 'Суффикс вашего аккаунта. Например, <code>@my.domain.org</code>';
$lang['base_dn'] = 'Ваш базовый DN. Например: <code>DC=my,DC=domain,DC=org</code>';
@ -25,3 +26,5 @@ $lang['use_tls'] = 'Использовать TLS? Если да,
$lang['debug'] = 'Выводить дополнительную информацию при ошибках?';
$lang['expirywarn'] = 'За сколько дней нужно предупреждать пользователя о необходимости изменить пароль? Для отключения укажите 0 (ноль).';
$lang['additional'] = 'Дополнительные AD-атрибуты, разделённые запятой, для выборки из данных пользователя. Используется некоторыми плагинами.';
$lang['update_name'] = 'Разрешить пользователям редактировать свое настоящее имя?';
$lang['update_mail'] = 'Разрешить пользователям редактировать свой электронный адрес?';

View File

@ -183,7 +183,11 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin {
$info = array();
$info['user'] = $user;
$this->_debug('LDAP user to find: '.htmlspecialchars($info['user']), 0, __LINE__, __FILE__);
$info['server'] = $this->getConf('server');
$this->_debug('LDAP Server: '.htmlspecialchars($info['server']), 0, __LINE__, __FILE__);
//get info for given user
$base = $this->_makeFilter($this->getConf('usertree'), $info);
@ -193,16 +197,33 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin {
$filter = "(ObjectClass=*)";
}
$sr = $this->_ldapsearch($this->con, $base, $filter, $this->getConf('userscope'));
$result = @ldap_get_entries($this->con, $sr);
$this->_debug('LDAP Filter: '.htmlspecialchars($filter), 0, __LINE__, __FILE__);
$this->_debug('LDAP user search: '.htmlspecialchars(ldap_error($this->con)), 0, __LINE__, __FILE__);
$this->_debug('LDAP search at: '.htmlspecialchars($base.' '.$filter), 0, __LINE__, __FILE__);
$sr = $this->_ldapsearch($this->con, $base, $filter, $this->getConf('userscope'));
$result = @ldap_get_entries($this->con, $sr);
// Don't accept more or less than one response
if(!is_array($result) || $result['count'] != 1) {
return false; //user not found
// if result is not an array
if(!is_array($result)) {
// no objects found
$this->_debug('LDAP search returned non-array result: '.htmlspecialchars(print($result)), -1, __LINE__, __FILE__);
return false;
}
// Don't accept more or less than one response
if ($result['count'] != 1) {
$this->_debug('LDAP search returned '.htmlspecialchars($result['count']).' results while it should return 1!', -1, __LINE__, __FILE__);
//for($i = 0; $i < $result["count"]; $i++) {
//$this->_debug('result: '.htmlspecialchars(print_r($result[$i])), 0, __LINE__, __FILE__);
//}
return false;
}
$this->_debug('LDAP search found single result !', 0, __LINE__, __FILE__);
$user_result = $result[0];
ldap_free_result($sr);

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Pietroni <pietroni@informatique.univ-paris-diderot.fr>
*/
$lang['connectfail'] = 'LDAP ne peux se connecter : %s';

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Bruno Veilleux <bruno.vey@gmail.com>
* @author schplurtz <Schplurtz@laposte.net>
* @author Schplurtz le Déboulonné <schplurtz@laposte.net>

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Davor Turkalj <turki.bsc@gmail.com>
*/
$lang['connectfail'] = 'LDAP se ne može spojiti: %s';

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Davor Turkalj <turki.bsc@gmail.com>
*/
$lang['server'] = 'Vaš LDAP server. Upišite ili naziv računala (<code>localhost</code>) ili puni URL (<code>ldap://server.tld:389</code>)';

View File

@ -0,0 +1,9 @@
<?php
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Arne Hanssen <arnehans@getmail.no>
*/
$lang['connectfail'] = 'LDAP klarte ikke koble til: %s';
$lang['domainfail'] = 'LDAP greide ikke finne din bruker-dn (dist.name)';

View File

@ -2,10 +2,34 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Christopher Schive <chschive@frisurf.no>
* @author Patrick <spill.p@hotmail.com>
* @author Arne Hanssen <arne.hanssen@getmail.no>
* @author Arne Hanssen <arnehans@getmail.no>
*/
$lang['server'] = 'Din LDAP-server. Enten vertsnavnet (<code>localhost</code>) eller hele URL (<code>ldap://server.tld:389</code>)';
$lang['port'] = 'LDAP serverport dersom ingen full URL var gitt over.';
$lang['usertree'] = 'Hvor en kan finne brukerkontoer. F.eks. Eg. <code>ou=People, dc=server, dc=tld</code>';
$lang['grouptree'] = 'Hvor en kan finne brukergrupper. F.eks. <code>ou=Group, dc=server, dc=tld</code>';
$lang['userfilter'] = 'LDAP-filter for å søke etter brukerkontoer. F.eks. <code>(&amp;(uid=%{user})(objectClass=posixAccount))</code>';
$lang['groupfilter'] = 'LDAP-filter for å søke etter grupper. F.eks.. <code>(&amp;(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>';
$lang['version'] = 'Protokollversjonen som skal brukes. Mulig du må sette denne til <code>3</code>';
$lang['starttls'] = 'Bruke TLS-forbindelser?';
$lang['referrals'] = 'Skal pekere som henviser til noe følges?';
$lang['deref'] = 'Hvordan finne hva aliaser refererer til?';
$lang['binddn'] = 'DN (Distinguished Name) til en valgfri bind-bruker, angis dersom annonym bind ikke er tilstrekkelig. f.eks.. <code>cn=admin, dc=my, dc=home</code>';
$lang['bindpw'] = 'Passord til brukeren over';
$lang['userscope'] = 'Begrens søk til brukere';
$lang['groupscope'] = 'Begrens søk til grupper';
$lang['userkey'] = 'Attributt som angir brukernavn; må være konsistent for brukerfiltrering.';
$lang['groupkey'] = 'Gruppemedlemskap fra brukerattributt (i stedet for standard AD-grupper) f.eks gruppe fra avdeling, eller telefonnummer';
$lang['modPass'] = 'Kan LDAP-passordet endres via DokuWiki?';
$lang['debug'] = 'Ved feil, vis tilleggsinformasjon for feilsøking';
$lang['deref_o_0'] = 'LDAP_DEREF_NEVER';
$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING';
$lang['deref_o_2'] = 'LDAP_DEREF_FINDING';
$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS';
$lang['referrals_o_-1'] = 'bruk standard';
$lang['referrals_o_0'] = 'ikke følg referanser';
$lang['referrals_o_1'] = 'følg referanser';

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Takumo <9206984@mail.ru>
*/
$lang['connectfail'] = 'Ошибка соединения LDAP с %s';

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua)
* @author Aleksandr Selivanov <alexgearbox@gmail.com>
* @author Erli Moen <evseev.jr@gmail.com>

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Pietroni <pietroni@informatique.univ-paris-diderot.fr>
*/
$lang['connectfail'] = 'Impossible de se connecter à la base de données.';

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Bruno Veilleux <bruno.vey@gmail.com>
*/
$lang['server'] = 'Votre serveur MySQL';

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Davor Turkalj <turki.bsc@gmail.com>
*/
$lang['connectfail'] = 'Ne mogu se spojiti na bazu.';

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Davor Turkalj <turki.bsc@gmail.com>
*/
$lang['server'] = 'Vaš MySQL server';

View File

@ -0,0 +1,11 @@
<?php
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Arne Hanssen <arne.hanssen@getmail.no>
*/
$lang['connectfail'] = 'Klarte ikke koble til databasen.';
$lang['userexists'] = 'Beklager, men en bruker med dette brukernavnet fins fra før.';
$lang['usernotexists'] = 'Beklager med bruker fins ikke.';
$lang['writefail'] = 'Klarte ikke endre brukerdata. Dette bør meldes til wikiens administrator';

View File

@ -2,13 +2,43 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Patrick <spill.p@hotmail.com>
* @author Arne Hanssen <arne.hanssen@getmail.no>
* @author Arne Hanssen <arnehans@getmail.no>
*/
$lang['server'] = 'Din MySQL-server';
$lang['user'] = 'Ditt MySQL-brukernavn';
$lang['password'] = 'Passord til brukeren';
$lang['database'] = 'Database som skal brukes';
$lang['charset'] = 'Tegnsettet som datasen bruker';
$lang['debug'] = 'Vis tilleggsinformasjon for feilsøking';
$lang['forwardClearPass'] = 'Videresendt passord i klartekst til SQL-uttrykket under, i stedet for å bruke det krypterte passordet';
$lang['TablesToLock'] = 'Kommaseparert liste over tabeller som må låses ved skriveopperasjoner';
$lang['checkPass'] = 'SQL-uttrykk for å sjekke passord';
$lang['getUserInfo'] = 'SQL-uttrykk for å hente informasjon om bruker';
$lang['getGroups'] = 'SQL-uttrykk for å hente gruppene en bruker tilhører';
$lang['getUsers'] = 'SQL-utrykk for å liste alle brukere';
$lang['FilterLogin'] = 'SQL-utrykk for å filtrere brukere etter brukernavn';
$lang['FilterName'] = 'SQL-utrykk for å filtrere brukere etter fult navn';
$lang['FilterEmail'] = 'SQL-utrykk for å filtrere brukere etter e-postadresse';
$lang['FilterGroup'] = 'SQL-uttrykk for å filtrere brukere etter hvilken grupper de tilhører';
$lang['SortOrder'] = 'SQL-utrykk for å sortere brukere';
$lang['addUser'] = 'SQL-utrykk for å legge til en ny bruker ';
$lang['addGroup'] = 'SQL-utrykk for å legge til en ny gruppe';
$lang['addUserGroup'] = 'SQL-uttrykk for å legge til en bruker i en eksisterende gruppe';
$lang['delGroup'] = 'SQL-uttrykk for å fjerne en gruppe';
$lang['getUserID'] = 'SQL-uttrykk for å hente primærnøkkel for en bruker';
$lang['delUser'] = 'SQL-utrykk for å slette en bruker';
$lang['delUserRefs'] = 'SQL-utrykk for å fjerne en bruke fra alle grupper';
$lang['updateUser'] = 'SQL-uttrykk for å oppdatere en brukerprofil';
$lang['UpdateLogin'] = 'Update-utrykk for å oppdatere brukernavn';
$lang['UpdatePass'] = 'Update-utrykk for å oppdatere brukers passord';
$lang['UpdateEmail'] = 'Update-utrykk for å oppdatere brukers e-postadresse';
$lang['UpdateName'] = 'Update-utrykk for å oppdatere brukers fulle navn';
$lang['UpdateTarget'] = 'Limit-uttrykk for å identifisere brukeren ved oppdatering';
$lang['delUserGroup'] = 'SQL-uttrykk for å fjerne en bruker fra en gitt gruppe';
$lang['getGroupID'] = 'SQL-uttrykk for å hente primærnøkkel for en gitt gruppe ';
$lang['debug_o_0'] = 'ingen';
$lang['debug_o_1'] = 'bare ved feil';
$lang['debug_o_2'] = 'alle SQL-forespørsler';
$lang['debug_o_2'] = 'alle SQL-spørringer';

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Takumo <9206984@mail.ru>
* @author Aleksandr Selivanov <alexgearbox@yandex.ru>
*/

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua)
* @author Aleksandr Selivanov <alexgearbox@gmail.com>
* @author Type-kun <workwork-1@yandex.ru>

View File

@ -0,0 +1,144 @@
<?php
/**
* Configuration for mybb. Password checking is done in SQL
*
* mybb stores additional group ids in a commaseparated list of mybb_users.addtionalgroups This
* is currently not supported in the setup below. If someone can come up with a clever config for
* that PRs would be welcome.
*/
/** @noinspection SqlResolve */
$data = array(
'passcrypt' => 'sha1',
'conf' => array(
'select-user' => '
SELECT uid,
username AS user,
username AS name,
email AS mail
FROM mybb_users
WHERE username = :user
',
'check-pass' => '
SELECT uid
FROM mybb_users
WHERE username = :user
AND password = MD5(CONCAT(MD5(salt), MD5(:clear)))
',
'select-user-groups' => '
SELECT UG.title AS `group`,
UG.gid
FROM mybb_usergroups UG,
mybb_users U
WHERE U.usergroup = UG.gid
AND U.uid = :uid
',
'select-groups' => '
SELECT gid, title AS `group`
FROM mybb_usergroups
',
'insert-user' => '
SET @salt = LEFT(UUID(), 10);
INSERT INTO mybb_users
(username, email, salt, password, regdate)
VALUES (:user, :mail, @salt, MD5(CONCAT(MD5(@salt), MD5(:clear))), UNIX_TIMESTAMP() )
',
'delete-user' => '
DELETE FROM mybb_users
WHERE uid = :uid
',
'list-users' => '
SELECT U.username AS user
FROM mybb_usergroups UG,
mybb_users U
WHERE U.usergroup = UG.gid
AND UG.title LIKE :group
AND U.username LIKE :user
AND U.username LIKE :name
AND U.email LIKE :mail
ORDER BY U.username
LIMIT :limit
OFFSET :start
',
'count-users' => '
SELECT COUNT(U.username) AS `count`
FROM mybb_usergroups UG,
mybb_users U
WHERE U.usergroup = UG.gid
AND UG.title LIKE :group
AND U.username LIKE :user
AND U.username LIKE :name
AND U.email LIKE :mail
',
'update-user-info' => '
UPDATE mybb_users
SET email = :mail
WHERE uid = :uid
', // we do not support changing the full name as that is the same as the login
'update-user-login' => '
UPDATE mybb_users
SET username = :newlogin
WHERE uid = :uid
',
'update-user-pass' => '
SET @salt = LEFT(UUID(), 10);
UPDATE mybb_users
SET salt = @salt,
password = MD5(CONCAT(MD5(@salt), MD5(:clear)))
WHERE uid = :uid
',
'insert-group' => '
INSERT INTO mybb_usergroups (title)
VALUES (:group)
',
'join-group' => '
UPDATE mybb_users
SET usergroup = :gid
WHERE uid = :uid
',
'leave-group' => '', // makes probably no sense to implement
),
'users' => array(
array(
'user' => 'Test One',
'pass' => 'fakepass',
'name' => 'Test One',
'mail' => 'no_one@nowhere.com',
'grps' =>
array(
0 => 'Registered',
),
),
array(
'user' => 'Test Two',
'pass' => 'fakepass',
'name' => 'Test Two',
'mail' => 'no_one@nowhere.com',
'grps' =>
array(
0 => 'Super Moderators',
),
),
array(
'user' => 'Test Three',
'pass' => 'fakepass',
'name' => 'Test Three',
'mail' => 'no_one@nowhere.com',
'grps' =>
array(
0 => 'Administrators',
),
),
array(
'user' => 'Test Four',
'pass' => 'fakepass',
'name' => 'Test Four',
'mail' => 'no_one@nowhere.com',
'grps' =>
array(
0 => 'Moderators',
),
),
),
);

View File

@ -0,0 +1,306 @@
-- phpMyAdmin SQL Dump
-- version 4.4.14
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: Aug 19, 2016 at 04:02 PM
-- Server version: 5.5.45
-- PHP Version: 5.4.45
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `mybb`
--
-- --------------------------------------------------------
--
-- Table structure for table `mybb_usergroups`
--
CREATE TABLE `mybb_usergroups` (
`gid` smallint(5) unsigned NOT NULL,
`type` tinyint(1) unsigned NOT NULL DEFAULT '2',
`title` varchar(120) NOT NULL DEFAULT '',
`description` text NOT NULL,
`namestyle` varchar(200) NOT NULL DEFAULT '{username}',
`usertitle` varchar(120) NOT NULL DEFAULT '',
`stars` smallint(4) unsigned NOT NULL DEFAULT '0',
`starimage` varchar(120) NOT NULL DEFAULT '',
`image` varchar(120) NOT NULL DEFAULT '',
`disporder` smallint(6) unsigned NOT NULL,
`isbannedgroup` tinyint(1) NOT NULL DEFAULT '0',
`canview` tinyint(1) NOT NULL DEFAULT '0',
`canviewthreads` tinyint(1) NOT NULL DEFAULT '0',
`canviewprofiles` tinyint(1) NOT NULL DEFAULT '0',
`candlattachments` tinyint(1) NOT NULL DEFAULT '0',
`canviewboardclosed` tinyint(1) NOT NULL DEFAULT '0',
`canpostthreads` tinyint(1) NOT NULL DEFAULT '0',
`canpostreplys` tinyint(1) NOT NULL DEFAULT '0',
`canpostattachments` tinyint(1) NOT NULL DEFAULT '0',
`canratethreads` tinyint(1) NOT NULL DEFAULT '0',
`modposts` tinyint(1) NOT NULL DEFAULT '0',
`modthreads` tinyint(1) NOT NULL DEFAULT '0',
`mod_edit_posts` tinyint(1) NOT NULL DEFAULT '0',
`modattachments` tinyint(1) NOT NULL DEFAULT '0',
`caneditposts` tinyint(1) NOT NULL DEFAULT '0',
`candeleteposts` tinyint(1) NOT NULL DEFAULT '0',
`candeletethreads` tinyint(1) NOT NULL DEFAULT '0',
`caneditattachments` tinyint(1) NOT NULL DEFAULT '0',
`canpostpolls` tinyint(1) NOT NULL DEFAULT '0',
`canvotepolls` tinyint(1) NOT NULL DEFAULT '0',
`canundovotes` tinyint(1) NOT NULL DEFAULT '0',
`canusepms` tinyint(1) NOT NULL DEFAULT '0',
`cansendpms` tinyint(1) NOT NULL DEFAULT '0',
`cantrackpms` tinyint(1) NOT NULL DEFAULT '0',
`candenypmreceipts` tinyint(1) NOT NULL DEFAULT '0',
`pmquota` int(3) unsigned NOT NULL DEFAULT '0',
`maxpmrecipients` int(4) unsigned NOT NULL DEFAULT '5',
`cansendemail` tinyint(1) NOT NULL DEFAULT '0',
`cansendemailoverride` tinyint(1) NOT NULL DEFAULT '0',
`maxemails` int(3) unsigned NOT NULL DEFAULT '5',
`emailfloodtime` int(3) unsigned NOT NULL DEFAULT '5',
`canviewmemberlist` tinyint(1) NOT NULL DEFAULT '0',
`canviewcalendar` tinyint(1) NOT NULL DEFAULT '0',
`canaddevents` tinyint(1) NOT NULL DEFAULT '0',
`canbypasseventmod` tinyint(1) NOT NULL DEFAULT '0',
`canmoderateevents` tinyint(1) NOT NULL DEFAULT '0',
`canviewonline` tinyint(1) NOT NULL DEFAULT '0',
`canviewwolinvis` tinyint(1) NOT NULL DEFAULT '0',
`canviewonlineips` tinyint(1) NOT NULL DEFAULT '0',
`cancp` tinyint(1) NOT NULL DEFAULT '0',
`issupermod` tinyint(1) NOT NULL DEFAULT '0',
`cansearch` tinyint(1) NOT NULL DEFAULT '0',
`canusercp` tinyint(1) NOT NULL DEFAULT '0',
`canuploadavatars` tinyint(1) NOT NULL DEFAULT '0',
`canratemembers` tinyint(1) NOT NULL DEFAULT '0',
`canchangename` tinyint(1) NOT NULL DEFAULT '0',
`canbereported` tinyint(1) NOT NULL DEFAULT '0',
`canchangewebsite` tinyint(1) NOT NULL DEFAULT '1',
`showforumteam` tinyint(1) NOT NULL DEFAULT '0',
`usereputationsystem` tinyint(1) NOT NULL DEFAULT '0',
`cangivereputations` tinyint(1) NOT NULL DEFAULT '0',
`candeletereputations` tinyint(1) NOT NULL DEFAULT '0',
`reputationpower` int(10) unsigned NOT NULL DEFAULT '0',
`maxreputationsday` int(10) unsigned NOT NULL DEFAULT '0',
`maxreputationsperuser` int(10) unsigned NOT NULL DEFAULT '0',
`maxreputationsperthread` int(10) unsigned NOT NULL DEFAULT '0',
`candisplaygroup` tinyint(1) NOT NULL DEFAULT '0',
`attachquota` int(10) unsigned NOT NULL DEFAULT '0',
`cancustomtitle` tinyint(1) NOT NULL DEFAULT '0',
`canwarnusers` tinyint(1) NOT NULL DEFAULT '0',
`canreceivewarnings` tinyint(1) NOT NULL DEFAULT '0',
`maxwarningsday` int(3) unsigned NOT NULL DEFAULT '3',
`canmodcp` tinyint(1) NOT NULL DEFAULT '0',
`showinbirthdaylist` tinyint(1) NOT NULL DEFAULT '0',
`canoverridepm` tinyint(1) NOT NULL DEFAULT '0',
`canusesig` tinyint(1) NOT NULL DEFAULT '0',
`canusesigxposts` smallint(5) unsigned NOT NULL DEFAULT '0',
`signofollow` tinyint(1) NOT NULL DEFAULT '0',
`edittimelimit` int(4) unsigned NOT NULL DEFAULT '0',
`maxposts` int(4) unsigned NOT NULL DEFAULT '0',
`showmemberlist` tinyint(1) NOT NULL DEFAULT '1',
`canmanageannounce` tinyint(1) NOT NULL DEFAULT '0',
`canmanagemodqueue` tinyint(1) NOT NULL DEFAULT '0',
`canmanagereportedcontent` tinyint(1) NOT NULL DEFAULT '0',
`canviewmodlogs` tinyint(1) NOT NULL DEFAULT '0',
`caneditprofiles` tinyint(1) NOT NULL DEFAULT '0',
`canbanusers` tinyint(1) NOT NULL DEFAULT '0',
`canviewwarnlogs` tinyint(1) NOT NULL DEFAULT '0',
`canuseipsearch` tinyint(1) NOT NULL DEFAULT '0'
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
--
-- Dumping data for table `mybb_usergroups`
--
INSERT INTO `mybb_usergroups` (`gid`, `type`, `title`, `description`, `namestyle`, `usertitle`, `stars`, `starimage`, `image`, `disporder`, `isbannedgroup`, `canview`, `canviewthreads`, `canviewprofiles`, `candlattachments`, `canviewboardclosed`, `canpostthreads`, `canpostreplys`, `canpostattachments`, `canratethreads`, `modposts`, `modthreads`, `mod_edit_posts`, `modattachments`, `caneditposts`, `candeleteposts`, `candeletethreads`, `caneditattachments`, `canpostpolls`, `canvotepolls`, `canundovotes`, `canusepms`, `cansendpms`, `cantrackpms`, `candenypmreceipts`, `pmquota`, `maxpmrecipients`, `cansendemail`, `cansendemailoverride`, `maxemails`, `emailfloodtime`, `canviewmemberlist`, `canviewcalendar`, `canaddevents`, `canbypasseventmod`, `canmoderateevents`, `canviewonline`, `canviewwolinvis`, `canviewonlineips`, `cancp`, `issupermod`, `cansearch`, `canusercp`, `canuploadavatars`, `canratemembers`, `canchangename`, `canbereported`, `canchangewebsite`, `showforumteam`, `usereputationsystem`, `cangivereputations`, `candeletereputations`, `reputationpower`, `maxreputationsday`, `maxreputationsperuser`, `maxreputationsperthread`, `candisplaygroup`, `attachquota`, `cancustomtitle`, `canwarnusers`, `canreceivewarnings`, `maxwarningsday`, `canmodcp`, `showinbirthdaylist`, `canoverridepm`, `canusesig`, `canusesigxposts`, `signofollow`, `edittimelimit`, `maxposts`, `showmemberlist`, `canmanageannounce`, `canmanagemodqueue`, `canmanagereportedcontent`, `canviewmodlogs`, `caneditprofiles`, `canbanusers`, `canviewwarnlogs`, `canuseipsearch`) VALUES
(1, 1, 'Guests', 'The default group that all visitors are assigned to unless they''re logged in.', '{username}', 'Unregistered', 0, '', '', 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
(2, 1, 'Registered', 'After registration, all users are placed in this group by default.', '{username}', '', 0, 'images/star.png', '', 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 200, 5, 1, 0, 5, 5, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 5, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0),
(3, 1, 'Super Moderators', 'These users can moderate any forum.', '<span style="color: #CC00CC;"><strong>{username}</strong></span>', 'Super Moderator', 6, 'images/star.png', '', 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 250, 5, 1, 0, 10, 5, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 10, 0, 0, 1, 0, 1, 1, 1, 3, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1),
(4, 1, 'Administrators', 'The group all administrators belong to.', '<span style="color: green;"><strong><em>{username}</em></strong></span>', 'Administrator', 7, 'images/star.png', '', 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 2, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1),
(5, 1, 'Awaiting Activation', 'Users that have not activated their account by email or manually been activated yet.', '{username}', 'Account not Activated', 0, 'images/star.png', '', 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 5, 0, 0, 5, 5, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0),
(6, 1, 'Moderators', 'These users moderate specific forums.', '<span style="color: #CC00CC;"><strong>{username}</strong></span>', 'Moderator', 5, 'images/star.png', '', 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 250, 5, 1, 0, 5, 5, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 10, 0, 0, 1, 0, 1, 1, 1, 3, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1),
(7, 1, 'Banned', 'The default user group to which members that are banned are moved to.', '<s>{username}</s>', 'Banned', 0, 'images/star.png', '', 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0);
--
-- Indexes for dumped tables
--
--
-- Indexes for table `mybb_usergroups`
--
ALTER TABLE `mybb_usergroups`
ADD PRIMARY KEY (`gid`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `mybb_usergroups`
--
ALTER TABLE `mybb_usergroups`
MODIFY `gid` smallint(5) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=8;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-- phpMyAdmin SQL Dump
-- version 4.4.14
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: Aug 19, 2016 at 03:47 PM
-- Server version: 5.5.45
-- PHP Version: 5.4.45
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `mybb`
--
-- --------------------------------------------------------
--
-- Table structure for table `mybb_users`
--
CREATE TABLE `mybb_users` (
`uid` int(10) unsigned NOT NULL,
`username` varchar(120) NOT NULL DEFAULT '',
`password` varchar(120) NOT NULL DEFAULT '',
`salt` varchar(10) NOT NULL DEFAULT '',
`loginkey` varchar(50) NOT NULL DEFAULT '',
`email` varchar(220) NOT NULL DEFAULT '',
`postnum` int(10) unsigned NOT NULL DEFAULT '0',
`threadnum` int(10) unsigned NOT NULL DEFAULT '0',
`avatar` varchar(200) NOT NULL DEFAULT '',
`avatardimensions` varchar(10) NOT NULL DEFAULT '',
`avatartype` varchar(10) NOT NULL DEFAULT '0',
`usergroup` smallint(5) unsigned NOT NULL DEFAULT '0',
`additionalgroups` varchar(200) NOT NULL DEFAULT '',
`displaygroup` smallint(5) unsigned NOT NULL DEFAULT '0',
`usertitle` varchar(250) NOT NULL DEFAULT '',
`regdate` int(10) unsigned NOT NULL DEFAULT '0',
`lastactive` int(10) unsigned NOT NULL DEFAULT '0',
`lastvisit` int(10) unsigned NOT NULL DEFAULT '0',
`lastpost` int(10) unsigned NOT NULL DEFAULT '0',
`website` varchar(200) NOT NULL DEFAULT '',
`icq` varchar(10) NOT NULL DEFAULT '',
`aim` varchar(50) NOT NULL DEFAULT '',
`yahoo` varchar(50) NOT NULL DEFAULT '',
`skype` varchar(75) NOT NULL DEFAULT '',
`google` varchar(75) NOT NULL DEFAULT '',
`birthday` varchar(15) NOT NULL DEFAULT '',
`birthdayprivacy` varchar(4) NOT NULL DEFAULT 'all',
`signature` text NOT NULL,
`allownotices` tinyint(1) NOT NULL DEFAULT '0',
`hideemail` tinyint(1) NOT NULL DEFAULT '0',
`subscriptionmethod` tinyint(1) NOT NULL DEFAULT '0',
`invisible` tinyint(1) NOT NULL DEFAULT '0',
`receivepms` tinyint(1) NOT NULL DEFAULT '0',
`receivefrombuddy` tinyint(1) NOT NULL DEFAULT '0',
`pmnotice` tinyint(1) NOT NULL DEFAULT '0',
`pmnotify` tinyint(1) NOT NULL DEFAULT '0',
`buddyrequestspm` tinyint(1) NOT NULL DEFAULT '1',
`buddyrequestsauto` tinyint(1) NOT NULL DEFAULT '0',
`threadmode` varchar(8) NOT NULL DEFAULT '',
`showimages` tinyint(1) NOT NULL DEFAULT '0',
`showvideos` tinyint(1) NOT NULL DEFAULT '0',
`showsigs` tinyint(1) NOT NULL DEFAULT '0',
`showavatars` tinyint(1) NOT NULL DEFAULT '0',
`showquickreply` tinyint(1) NOT NULL DEFAULT '0',
`showredirect` tinyint(1) NOT NULL DEFAULT '0',
`ppp` smallint(6) unsigned NOT NULL DEFAULT '0',
`tpp` smallint(6) unsigned NOT NULL DEFAULT '0',
`daysprune` smallint(6) unsigned NOT NULL DEFAULT '0',
`dateformat` varchar(4) NOT NULL DEFAULT '',
`timeformat` varchar(4) NOT NULL DEFAULT '',
`timezone` varchar(5) NOT NULL DEFAULT '',
`dst` tinyint(1) NOT NULL DEFAULT '0',
`dstcorrection` tinyint(1) NOT NULL DEFAULT '0',
`buddylist` text NOT NULL,
`ignorelist` text NOT NULL,
`style` smallint(5) unsigned NOT NULL DEFAULT '0',
`away` tinyint(1) NOT NULL DEFAULT '0',
`awaydate` int(10) unsigned NOT NULL DEFAULT '0',
`returndate` varchar(15) NOT NULL DEFAULT '',
`awayreason` varchar(200) NOT NULL DEFAULT '',
`pmfolders` text NOT NULL,
`notepad` text NOT NULL,
`referrer` int(10) unsigned NOT NULL DEFAULT '0',
`referrals` int(10) unsigned NOT NULL DEFAULT '0',
`reputation` int(11) NOT NULL DEFAULT '0',
`regip` varbinary(16) NOT NULL DEFAULT '',
`lastip` varbinary(16) NOT NULL DEFAULT '',
`language` varchar(50) NOT NULL DEFAULT '',
`timeonline` int(10) unsigned NOT NULL DEFAULT '0',
`showcodebuttons` tinyint(1) NOT NULL DEFAULT '1',
`totalpms` int(10) unsigned NOT NULL DEFAULT '0',
`unreadpms` int(10) unsigned NOT NULL DEFAULT '0',
`warningpoints` int(3) unsigned NOT NULL DEFAULT '0',
`moderateposts` tinyint(1) NOT NULL DEFAULT '0',
`moderationtime` int(10) unsigned NOT NULL DEFAULT '0',
`suspendposting` tinyint(1) NOT NULL DEFAULT '0',
`suspensiontime` int(10) unsigned NOT NULL DEFAULT '0',
`suspendsignature` tinyint(1) NOT NULL DEFAULT '0',
`suspendsigtime` int(10) unsigned NOT NULL DEFAULT '0',
`coppauser` tinyint(1) NOT NULL DEFAULT '0',
`classicpostbit` tinyint(1) NOT NULL DEFAULT '0',
`loginattempts` smallint(2) unsigned NOT NULL DEFAULT '1',
`usernotes` text NOT NULL,
`sourceeditor` tinyint(1) NOT NULL DEFAULT '0'
) ENGINE=MyISAM AUTO_INCREMENT=88 DEFAULT CHARSET=utf8;
--
-- Dumping data for table `mybb_users`
--
INSERT INTO `mybb_users` (`uid`, `username`, `password`, `salt`, `loginkey`, `email`, `postnum`, `threadnum`, `avatar`, `avatardimensions`, `avatartype`, `usergroup`, `additionalgroups`, `displaygroup`, `usertitle`, `regdate`, `lastactive`, `lastvisit`, `lastpost`, `website`, `icq`, `aim`, `yahoo`, `skype`, `google`, `birthday`, `birthdayprivacy`, `signature`, `allownotices`, `hideemail`, `subscriptionmethod`, `invisible`, `receivepms`, `receivefrombuddy`, `pmnotice`, `pmnotify`, `buddyrequestspm`, `buddyrequestsauto`, `threadmode`, `showimages`, `showvideos`, `showsigs`, `showavatars`, `showquickreply`, `showredirect`, `ppp`, `tpp`, `daysprune`, `dateformat`, `timeformat`, `timezone`, `dst`, `dstcorrection`, `buddylist`, `ignorelist`, `style`, `away`, `awaydate`, `returndate`, `awayreason`, `pmfolders`, `notepad`, `referrer`, `referrals`, `reputation`, `regip`, `lastip`, `language`, `timeonline`, `showcodebuttons`, `totalpms`, `unreadpms`, `warningpoints`, `moderateposts`, `moderationtime`, `suspendposting`, `suspensiontime`, `suspendsignature`, `suspendsigtime`, `coppauser`, `classicpostbit`, `loginattempts`, `usernotes`, `sourceeditor`) VALUES
(84, 'Test One', '6e90cf918ebce3a577fd72cea919dc64', '0pBnrIIv', 'xALZxWcfw18AhO6M7YxptBrxZqyrJB04CWlyaIniO3ZyMn6P1f', 'no_one@nowhere.com', 0, 0, '', '', '', 2, '', 0, '', 1471614765, 1471614765, 1471614765, 0, '', '0', '', '', '', '', '', 'all', '', 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 'linear', 1, 1, 1, 1, 1, 1, 0, 0, 0, '0', '0', '0', 0, 2, '', '', 0, 0, 0, '0', '', '', '', 0, 0, 0, '', '', '', 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, '', 0),
(85, 'Test Two', 'e85f6b7e5804b42d7c7d99329dc1a43f', 'NSX3xNT1', 'VucYxl7EGnsoqVW75COGNAdB0YgtWHc9RFqo4LxIhhtpEFxdIE', 'no_one@nowhere.com', 0, 0, '', '', '', 3, '', 0, '', 1471614850, 1471614850, 1471614850, 0, '', '0', '', '', '', '', '', 'all', '', 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 'linear', 1, 1, 1, 1, 1, 1, 0, 0, 0, '0', '0', '0', 0, 2, '', '', 0, 0, 0, '0', '', '', '', 0, 0, 0, '', '', '', 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, '', 0),
(86, 'Test Three', '3669c9583702ca6e32c7817f4bc34f5f', 'CVEbGFXH', 'GivwOlOKuvpfTs8Dc263fNnPdSQW1k1C1fHt7gukTJdRvTZGca', 'no_one@nowhere.com', 0, 0, '', '', '', 4, '', 0, '', 1471615021, 1471615021, 1471615021, 0, '', '0', '', '', '', '', '', 'all', '', 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 'linear', 1, 1, 1, 1, 1, 1, 0, 0, 0, '0', '0', '0', 0, 2, '', '', 0, 0, 0, '0', '', '', '', 0, 0, 0, '', '', '', 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, '', 0),
(87, 'Test Four', '693a0cd028c9adb4cb28d8a8be3dc7af', 'x6q7QFmU', 'S4oU92jET3yjvbiganAKCYde9ksoacJeb4sC247qvYftgwsYmu', 'no_one@nowhere.com', 0, 0, '', '', '', 6, '', 0, '', 1471615064, 1471615064, 1471615064, 0, '', '0', '', '', '', '', '', 'all', '', 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 'linear', 1, 1, 1, 1, 1, 1, 0, 0, 0, '0', '0', '0', 0, 2, '', '', 0, 0, 0, '0', '', '', '', 0, 0, 0, '', '', '', 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, '', 0);
--
-- Indexes for dumped tables
--
--
-- Indexes for table `mybb_users`
--
ALTER TABLE `mybb_users`
ADD PRIMARY KEY (`uid`),
ADD UNIQUE KEY `username` (`username`),
ADD KEY `usergroup` (`usergroup`),
ADD KEY `regip` (`regip`),
ADD KEY `lastip` (`lastip`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `mybb_users`
--
ALTER TABLE `mybb_users`
MODIFY `uid` int(10) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=88;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

View File

@ -97,12 +97,21 @@ class auth_plugin_authpdo extends DokuWiki_Auth_Plugin {
)
);
// can real names and emails be changed?
$this->cando['modName'] = $this->cando['modMail'] = $this->_chkcnf(
// can real names be changed?
$this->cando['modName'] = $this->_chkcnf(
array(
'select-user',
'select-user-groups',
'update-user-info'
'update-user-info:name'
)
);
// can real email be changed?
$this->cando['modMail'] = $this->_chkcnf(
array(
'select-user',
'select-user-groups',
'update-user-info:mail'
)
);
@ -151,16 +160,26 @@ class auth_plugin_authpdo extends DokuWiki_Auth_Plugin {
*/
public function checkPass($user, $pass) {
$data = $this->_selectUser($user);
if($data == false) return false;
$userdata = $this->_selectUser($user);
if($userdata == false) return false;
if(isset($data['hash'])) {
// password checking done in SQL?
if($this->_chkcnf(array('check-pass'))) {
$userdata['clear'] = $pass;
$userdata['hash'] = auth_cryptPassword($pass);
$result = $this->_query($this->getConf('check-pass'), $userdata);
if($result === false) return false;
return (count($result) == 1);
}
// we do password checking on our own
if(isset($userdata['hash'])) {
// hashed password
$passhash = new PassHash();
return $passhash->verify_hash($pass, $data['hash']);
return $passhash->verify_hash($pass, $userdata['hash']);
} else {
// clear text password in the database O_o
return ($pass == $data['clear']);
return ($pass === $userdata['clear']);
}
}
@ -489,7 +508,7 @@ class auth_plugin_authpdo extends DokuWiki_Auth_Plugin {
$this->_debug("Statement did not return 'user' attribute", -1, __LINE__);
$dataok = false;
}
if(!isset($data['hash']) && !isset($data['clear'])) {
if(!isset($data['hash']) && !isset($data['clear']) && !$this->_chkcnf(array('check-pass'))) {
$this->_debug("Statement did not return 'clear' or 'hash' attribute", -1, __LINE__);
$dataok = false;
}
@ -716,7 +735,16 @@ class auth_plugin_authpdo extends DokuWiki_Auth_Plugin {
*/
protected function _chkcnf($keys) {
foreach($keys as $key) {
if(!trim($this->getConf($key))) return false;
$params = explode(':', $key);
$key = array_shift($params);
$sql = trim($this->getConf($key));
// check if sql is set
if(!$sql) return false;
// check if needed params are there
foreach($params as $param) {
if(strpos($sql, ":$param") === false) return false;
}
}
return true;

View File

@ -18,6 +18,14 @@ $conf['pass'] = '';
*/
$conf['select-user'] = '';
/**
* statement to check the password in SQL, optional when above returned clear or hash
*
* input: :user, :clear, :hash, [uid], [*]
* return: *
*/
$conf['check-pass'] = '';
/**
* statement to select a single user identified by its login name
*

View File

@ -10,6 +10,7 @@ $meta['dsn'] = array('string', '_caution' => 'danger');
$meta['user'] = array('string', '_caution' => 'danger');
$meta['pass'] = array('password', '_caution' => 'danger', '_code' => 'base64');
$meta['select-user'] = array('', '_caution' => 'danger');
$meta['check-pass'] = array('', '_caution' => 'danger');
$meta['select-user-groups'] = array('', '_caution' => 'danger');
$meta['select-groups'] = array('', '_caution' => 'danger');
$meta['insert-user'] = array('', '_caution' => 'danger');

View File

@ -20,5 +20,6 @@ $lang['update-user-info'] = 'SQL Statement to update the full name and email a
$lang['update-user-login'] = 'SQL Statement to update the login name of a single user';
$lang['update-user-pass'] = 'SQL Statement to update the password of a single user';
$lang['insert-group'] = 'SQL Statement to insert a new group into the database';
$lang['join-group'] = 'SQL Statement to add a user to an exisitng group';
$lang['join-group'] = 'SQL Statement to add a user to an existing group';
$lang['leave-group'] = 'SQL Statement to remove a user from a group';
$lang['check-pass'] = 'SQL Statement to check the password for a user. Can be left empty if password info is fetched in select-user.';

View File

@ -1,7 +1,7 @@
base authpdo
author Andreas Gohr
email andi@splitbrain.org
date 2016-01-29
date 2016-08-20
name authpdo plugin
desc Authenticate against a database via PDO
url https://www.dokuwiki.org/plugin:authpdo

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Bruno Veilleux <bruno.vey@gmail.com>
*/
$lang['server'] = 'Votre serveur PostgreSQL';

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Davor Turkalj <turki.bsc@gmail.com>
*/
$lang['server'] = 'Vaš PostgreSQL server';

View File

@ -0,0 +1,38 @@
<?php
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Arne Hanssen <arne.hanssen@getmail.no>
*/
$lang['server'] = 'Din PostgreSQL-server';
$lang['port'] = 'Porten til din PostgreSQL-server';
$lang['user'] = 'PostgreSQL-brukernavn';
$lang['password'] = 'Passord til bruker over';
$lang['database'] = 'Database som brukes';
$lang['debug'] = 'Vis utvidet feilinformasjon';
$lang['forwardClearPass'] = 'Videresendt passord i klartekst til SQL-uttrykket under, i stedet for å bruke det krypterte passordet';
$lang['checkPass'] = 'SQL-uttrykk for å sjekke passordet';
$lang['getUserInfo'] = 'SQL-uttrykk for å hente informasjon om en bruker';
$lang['getGroups'] = 'SQL-uttrykk for å hente gruppene en bruker tilhører';
$lang['getUsers'] = 'SQL-uttrykk for å liste alle brukere ';
$lang['FilterLogin'] = 'SQL-uttrykk for å filtrere brukere etter brukernavn';
$lang['FilterName'] = 'SQL-uttrykk for å filtrere brukere etter fult navn';
$lang['FilterEmail'] = 'SQL-uttrykk for å filtrere brukere etter e-postadresse';
$lang['FilterGroup'] = 'SQL-uttrykk for å filtrere brukere etter hvilken grupper de tilhører';
$lang['SortOrder'] = 'SQL-uttrykk for å sortere brukere';
$lang['addUser'] = 'SQL-uttrykk for å legge til en ny bruker';
$lang['addGroup'] = 'SQL-uttrykk for å legge til en ny gruppe';
$lang['addUserGroup'] = 'SQL-uttrykk for å legge til en bruker i en eksisterende gruppe';
$lang['delGroup'] = 'SQL-uttrykk for å fjerne en gruppe ';
$lang['getUserID'] = 'SQL-uttrykk for å hente primærnøkkel for en gitt bruker';
$lang['delUser'] = 'SQL-utrykk for å slette en bruker ';
$lang['delUserRefs'] = 'SQL-utrykk for å fjerne en bruke fra alle grupper';
$lang['updateUser'] = 'SQL-uttrykk for å oppdatere en brukerprofil';
$lang['UpdateLogin'] = 'Update-utrykk for å oppdatere brukernavn';
$lang['UpdatePass'] = 'Update-utrykk for å oppdatere brukers passord';
$lang['UpdateEmail'] = 'Update-utrykk for å oppdatere brukers e-postadresse';
$lang['UpdateName'] = 'Update-utrykk for å oppdatere brukers fulle navn';
$lang['UpdateTarget'] = 'Limit-uttrykk for å identifisere brukeren ved oppdatering';
$lang['delUserGroup'] = 'SQL-uttrykk for fjerne en bruker fra gitt gruppe';
$lang['getGroupID'] = 'SQL-uttrykk for å hente primærnøkkel for en gitt gruppe';

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua)
* @author Aleksandr Selivanov <alexgearbox@gmail.com>
* @author Aleksandr Selivanov <alexgearbox@yandex.ru>

View File

@ -2,6 +2,6 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
*/
$lang['userexists'] = 'Ja existeix un altre usuari amb aquest nom.';

View File

@ -4,7 +4,9 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Anika Henke <anika@selfthinker.org>
* @author Carsten Perthel <carsten@cpesoft.com>
*/
$lang['userexists'] = 'Der Benutzername existiert leider schon.';
$lang['usernotexists'] = 'Dieser Benutzer existiert nicht.';
$lang['writefail'] = 'Kann Benutzerdaten nicht ändern. Bitte informieren Sie den Wiki-Administratoren';
$lang['protected'] = 'Die Daten des Benutzers %s sind geschützt und können nicht verändert oder gelöscht werden.';

View File

@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Carbain Frédéric <fcarbain@yahoo.fr>
* @author Nicolas Friedli <nicolas@theologique.ch>
* @author Schplurtz le Déboulonné <Schplurtz@laposte.net>

View File

@ -1,6 +1,11 @@
<?php
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Arne Hanssen <arne.hanssen@getmail.no>
*/
$lang['userexists'] = 'Det finnes allerede en konto med dette brukernavnet.';
$lang['userexists'] = 'Det finnes allerede en konto med dette brukernavnet.';
$lang['usernotexists'] = 'Beklager, denne bruker fins ikke.';
$lang['writefail'] = 'Klarte ikke endre brukerdata. Dette bør meldes til wikiens administrator';
$lang['protected'] = 'Data for bruker %s er beskyttet og kan ikke endres eller slettes.';

View File

@ -2,6 +2,6 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
*/
$lang['userexists'] = 'Ne pare rău, un utilizator cu acest nume este deja autentificat.';

View File

@ -2,10 +2,12 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author RainbowSpike <1@2.ru>
* @author Aleksandr Selivanov <alexgearbox@yandex.ru>
* @author Radimir <radimir.shevchenko@gmail.com>
*/
$lang['userexists'] = 'Извините, пользователь с таким логином уже существует.';
$lang['usernotexists'] = 'Этот пользователь не зарегистрирован.';
$lang['writefail'] = 'Невозможно обновить данные пользователя. Свяжитесь с администратором вики';
$lang['protected'] = 'Данные пользователя %s защищены и не могут быть изменены или удалены.';

View File

@ -1,6 +1,7 @@
<?php
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*/
$lang['userexists'] = 'Извините, корисник са истим именом већ постоји.';
$lang['userexists'] = 'Извините, корисник са истим именом већ постоји.';

View File

@ -4,7 +4,9 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author lainme <lainme993@gmail.com>
* @author tai <tai_tang@126.com>
*/
$lang['userexists'] = '对不起,该用户名已经存在。';
$lang['usernotexists'] = '抱歉,该用户不存在';
$lang['writefail'] = '无法修改用户数据。请联系维基管理员';
$lang['protected'] = '用户 %s 的数据被保护和无法被编辑或删除。';

View File

@ -2,13 +2,14 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
*
* @author Carles Bellver <carles.bellver@gmail.com>
* @author carles.bellver@gmail.com
* @author carles.bellver@cent.uji.es
* @author Carles Bellver <carles.bellver@cent.uji.es>
* @author daniel@6temes.cat
* @author controlonline.net <controlonline.net@gmail.com>
* @author Pauet <pauet@gmx.com>
*/
$lang['menu'] = 'Paràmetres de configuració';
$lang['error'] = 'Els paràmetres no s\'han pogut actualitzar per causa d\'un valor incorrecte Reviseu els canvis i torneu a enviar-los.<br />Els valors incorrectes es ressaltaran amb un marc vermell.';

Some files were not shown because too many files have changed in this diff Show More