summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml5
-rw-r--r--_test/tests/inc/cache_use.test.php3
-rw-r--r--inc/HTTPClient.php15
-rw-r--r--inc/auth.php2
-rw-r--r--inc/common.php1
-rw-r--r--inc/html.php8
-rw-r--r--inc/lang/bn/lang.php21
-rw-r--r--inc/lang/hr/adminplugins.txt1
-rw-r--r--inc/lang/hr/draft.txt4
-rw-r--r--inc/lang/hr/lang.php83
-rw-r--r--inc/lang/hr/pwconfirm.txt13
-rw-r--r--inc/lang/hr/registermail.txt14
-rw-r--r--inc/lang/hr/resetpwd.txt3
-rw-r--r--inc/lang/hr/subscr_digest.txt19
-rw-r--r--inc/lang/hr/subscr_form.txt3
-rw-r--r--inc/lang/hr/subscr_list.txt15
-rw-r--r--inc/lang/hr/subscr_single.txt22
-rw-r--r--inc/lang/hr/uploadmail.txt15
-rw-r--r--inc/lang/ja/lang.php1
-rw-r--r--inc/lang/ta/denied.txt1
-rw-r--r--inc/lang/ta/lang.php32
-rw-r--r--inc/lang/th/lang.php39
-rw-r--r--inc/template.php7
-rw-r--r--lib/plugins/acl/lang/hr/lang.php5
-rw-r--r--lib/plugins/acl/lang/th/lang.php5
-rw-r--r--lib/plugins/authad/lang/hr/lang.php8
-rw-r--r--lib/plugins/authad/lang/hr/settings.php20
-rw-r--r--lib/plugins/authldap/lang/hr/settings.php23
-rw-r--r--lib/plugins/authmysql/lang/hr/settings.php42
-rw-r--r--lib/plugins/authpgsql/lang/hr/settings.php38
-rw-r--r--lib/plugins/authplain/_test/escaping.test.php82
-rw-r--r--lib/plugins/authplain/auth.php33
-rw-r--r--lib/plugins/extension/lang/hr/intro_install.txt1
-rw-r--r--lib/plugins/extension/lang/hr/intro_plugins.txt1
-rw-r--r--lib/plugins/extension/lang/hr/intro_search.txt1
-rw-r--r--lib/plugins/extension/lang/hr/intro_templates.txt1
-rw-r--r--lib/plugins/extension/lang/hr/lang.php42
-rw-r--r--lib/plugins/popularity/lang/th/lang.php5
-rw-r--r--lib/plugins/revert/lang/th/lang.php5
-rw-r--r--lib/plugins/usermanager/lang/th/lang.php5
40 files changed, 599 insertions, 45 deletions
diff --git a/.travis.yml b/.travis.yml
index 93867162c..9c3193d19 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,8 +1,13 @@
language: php
php:
+ - "5.6"
- "5.5"
- "5.4"
- "5.3"
+# PHP 5.6 is not yet released, allow failures
+matrix:
+ allow_failures:
+ - php: "5.6"
notifications:
irc:
channels:
diff --git a/_test/tests/inc/cache_use.test.php b/_test/tests/inc/cache_use.test.php
index 02fe329de..3ea212d50 100644
--- a/_test/tests/inc/cache_use.test.php
+++ b/_test/tests/inc/cache_use.test.php
@@ -29,6 +29,9 @@ class cache_use_test extends DokuWikiTest {
}
function test_use() {
+ $this->markTestSkipped('Disabled until Ticket #694 has been fixed');
+ return;
+
$this->assertTrue($this->cache->useCache());
}
diff --git a/inc/HTTPClient.php b/inc/HTTPClient.php
index 4352bcb97..cd4c7c4c5 100644
--- a/inc/HTTPClient.php
+++ b/inc/HTTPClient.php
@@ -35,6 +35,19 @@ class DokuHTTPClient extends HTTPClient {
$this->proxy_pass = conf_decodeString($conf['proxy']['pass']);
$this->proxy_ssl = $conf['proxy']['ssl'];
$this->proxy_except = $conf['proxy']['except'];
+
+ // allow enabling debugging via URL parameter (if debugging allowed)
+ if($conf['allowdebug']) {
+ if(
+ isset($_REQUEST['httpdebug']) ||
+ (
+ isset($_SERVER['HTTP_REFERER']) &&
+ strpos($_SERVER['HTTP_REFERER'], 'httpdebug') !== false
+ )
+ ) {
+ $this->debug = true;
+ }
+ }
}
@@ -795,7 +808,7 @@ class HTTPClient {
function _buildHeaders($headers){
$string = '';
foreach($headers as $key => $value){
- if(empty($value)) continue;
+ if($value === '') continue;
$string .= $key.': '.$value.HTTP_NL;
}
return $string;
diff --git a/inc/auth.php b/inc/auth.php
index 2bdc3eb00..e224b2fb5 100644
--- a/inc/auth.php
+++ b/inc/auth.php
@@ -1080,7 +1080,7 @@ function updateprofile() {
}
}
- if($result = $auth->triggerUserMod('modify', array($INPUT->server->str('REMOTE_USER'), $changes))) {
+ if($result = $auth->triggerUserMod('modify', array($INPUT->server->str('REMOTE_USER'), &$changes))) {
// update cookie and session with the changed data
if($changes['pass']) {
list( /*user*/, $sticky, /*pass*/) = auth_getCookie();
diff --git a/inc/common.php b/inc/common.php
index 0fe33c5b1..8c9956018 100644
--- a/inc/common.php
+++ b/inc/common.php
@@ -416,6 +416,7 @@ function idfilter($id, $ue = true) {
if($ue) {
$id = rawurlencode($id);
$id = str_replace('%3A', ':', $id); //keep as colon
+ $id = str_replace('%3B', ';', $id); //keep as semicolon
$id = str_replace('%2F', '/', $id); //keep as slash
}
return $id;
diff --git a/inc/html.php b/inc/html.php
index 1db181c49..bda6fb398 100644
--- a/inc/html.php
+++ b/inc/html.php
@@ -922,6 +922,14 @@ function html_li_default($item){
* a member of an object.
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param array $data array with item arrays
+ * @param string $class class of ul wrapper
+ * @param callable $func callback to print an list item
+ * @param string $lifunc callback to the opening li tag
+ * @param bool $forcewrapper Trigger building a wrapper ul if the first level is
+ 0 (we have a root object) or 1 (just the root content)
+ * @return string html of an unordered list
*/
function html_buildlist($data,$class,$func,$lifunc='html_li_default',$forcewrapper=false){
if (count($data) === 0) {
diff --git a/inc/lang/bn/lang.php b/inc/lang/bn/lang.php
index 2791bd50d..5d1822673 100644
--- a/inc/lang/bn/lang.php
+++ b/inc/lang/bn/lang.php
@@ -50,6 +50,8 @@ $lang['btn_register'] = 'খাতা';
$lang['btn_apply'] = 'প্রয়োগ করা';
$lang['btn_media'] = 'মিডিয়া ম্যানেজার';
$lang['btn_deleteuser'] = 'আমার অ্যাকাউন্ট অপসারণ করুন';
+$lang['btn_img_backto'] = 'ফিরে যান %s';
+$lang['btn_mediaManager'] = 'মিডিয়া ম্যানেজারে দেখুন';
$lang['loggedinas'] = 'লগ ইন:';
$lang['user'] = 'ইউজারনেম';
$lang['pass'] = 'পাসওয়ার্ড';
@@ -158,3 +160,22 @@ $lang['uploadsize'] = 'আপলোডকৃত ফাইলটি
$lang['deletesucc'] = '"%s" ফাইলটি মুছে ফেলা হয়েছে।';
$lang['deletefail'] = '"%s" ডিলিট করা যায়নি - অনুমতি আছে কি না দেখুন।';
$lang['mediainuse'] = '"%s" ফাইলটি মোছা হয়নি - এটি এখনো ব্যবহৃত হচ্ছে।';
+$lang['namespaces'] = 'নামস্থান';
+$lang['mediafiles'] = 'ফাইল পাওয়া যাবে ';
+$lang['accessdenied'] = 'আপনি এই পৃষ্ঠাটি দেখতে অনুমতি দেওয়া হয়নি';
+$lang['mediausage'] = 'এই ফাইলের উল্লেখ নিম্নলিখিত সিনট্যাক্স ব্যবহার করুন:';
+$lang['mediaview'] = 'মূল ফাইলটি দেখুন';
+$lang['mediaroot'] = 'মূল';
+$lang['mediaupload'] = 'এখানে বর্তমান নামস্থান একটি ফাইল আপলোড করুন. , Subnamespaces তৈরি আপনি ফাইল নির্বাচন পরে কোলন দ্বারা বিভাজিত আপনার ফাইলের নাম তাদের পূর্বে লিখুন করুন. কোন ফাইল এছাড়াও ড্র্যাগ এবং ড্রপ দ্বারা নির্বাচন করা সম্ভব.';
+$lang['mediaextchange'] = 'ফাইল এক্সটেনশন .%s থেকে .%s\'এ পরিবর্তন হলো !';
+$lang['reference'] = 'তথ্যসূত্রের জন্য ';
+$lang['ref_inuse'] = 'এই ফাইল মুছে ফেলা যাবে না কারণ এটি এখনও ব্যবহৃত হচ্ছে নিম্নলিখিত পাতা দ্বারা:';
+$lang['ref_hidden'] = 'এই পাতায় কিছু রেফারেন্স পড়ার আপনার আনুমতি নেই';
+$lang['hits'] = 'সফল ';
+$lang['quickhits'] = 'পৃষ্ঠা মেলে';
+$lang['toc'] = 'সূচীপত্র';
+$lang['current'] = 'বর্তমান';
+$lang['yours'] = 'আপনার সংস্করণ
+';
+$lang['diff'] = 'বর্তমান সংস্করণের পার্থক্য দেখান ';
+$lang['diff2'] = 'নির্বাচিত সংস্করণের মধ্যে পার্থক্য দেখান ';
diff --git a/inc/lang/hr/adminplugins.txt b/inc/lang/hr/adminplugins.txt
new file mode 100644
index 000000000..556ffda0b
--- /dev/null
+++ b/inc/lang/hr/adminplugins.txt
@@ -0,0 +1 @@
+===== Dodatni Pluginovi ===== \ No newline at end of file
diff --git a/inc/lang/hr/draft.txt b/inc/lang/hr/draft.txt
new file mode 100644
index 000000000..2e6e08429
--- /dev/null
+++ b/inc/lang/hr/draft.txt
@@ -0,0 +1,4 @@
+====== Nađena neuspjelo uređivanje stranice ======
+
+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.
diff --git a/inc/lang/hr/lang.php b/inc/lang/hr/lang.php
index cf2232077..6a3fa20e2 100644
--- a/inc/lang/hr/lang.php
+++ b/inc/lang/hr/lang.php
@@ -1,12 +1,13 @@
<?php
+
/**
- * croatian language file
- *
* @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>
* @author Dejan Igrec dejan.igrec@gmail.com
+ * @author Davor Turkalj <turki.bsc@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@@ -42,11 +43,17 @@ $lang['btn_backtomedia'] = 'Povratak na Mediafile izbornik';
$lang['btn_subscribe'] = 'Pretplati se na promjene dokumenta';
$lang['btn_profile'] = 'Ažuriraj profil';
$lang['btn_reset'] = 'Poništi promjene';
+$lang['btn_resendpwd'] = 'Postavi novu lozinku';
$lang['btn_draft'] = 'Uredi nacrt dokumenta';
$lang['btn_recover'] = 'Vrati prijašnji nacrt dokumenta';
$lang['btn_draftdel'] = 'Obriši nacrt dokumenta';
$lang['btn_revert'] = 'Vrati';
$lang['btn_register'] = 'Registracija';
+$lang['btn_apply'] = 'Primjeni';
+$lang['btn_media'] = 'Upravitelj datoteka';
+$lang['btn_deleteuser'] = 'Ukloni mojeg korisnika';
+$lang['btn_img_backto'] = 'Povratak na %s';
+$lang['btn_mediaManager'] = 'Pogledaj u upravitelju datoteka';
$lang['loggedinas'] = 'Prijavljen kao:';
$lang['user'] = 'Korisničko ime';
$lang['pass'] = 'Lozinka';
@@ -58,6 +65,7 @@ $lang['fullname'] = 'Ime i prezime';
$lang['email'] = 'Email';
$lang['profile'] = 'Korisnički profil';
$lang['badlogin'] = 'Ne ispravno korisničko ime ili lozinka.';
+$lang['badpassconfirm'] = 'Nažalost, lozinka nije ispravna';
$lang['minoredit'] = 'Manje izmjene';
$lang['draftdate'] = 'Nacrt dokumenta je automatski spremljen u ';
$lang['nosecedit'] = 'Stranica se u međuvremenu promijenila. Informacija o odjeljku je ostarila pa je učitana kompletna stranica.';
@@ -74,8 +82,14 @@ $lang['profna'] = 'Ovaj wiki ne dopušta izmjene korisničkog pro
$lang['profnochange'] = 'Nema izmjena.';
$lang['profnoempty'] = 'Prazno korisničko ime ili email nisu dopušteni.';
$lang['profchanged'] = 'Korisnički profil je uspješno izmijenjen.';
+$lang['profnodelete'] = 'Ovaj wiki ne podržava brisanje korisnika';
+$lang['profdeleteuser'] = 'Obriši korisnika';
+$lang['profdeleted'] = 'Vaš korisnik je obrisan s ovog wiki-a';
+$lang['profconfdelete'] = 'Želim ukloniti mojeg korisnika s ovog wiki-a. <br/> Ova akcija se ne može poništiti.';
+$lang['profconfdeletemissing'] = 'Kvačica za potvrdu nije označena';
$lang['pwdforget'] = 'Izgubili ste lozinku? Zatražite novu';
$lang['resendna'] = 'Ovaj wiki ne podržava ponovno slanje lozinke emailom.';
+$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.';
@@ -88,9 +102,10 @@ $lang['searchmedia_in'] = 'Traži u %s';
$lang['txt_upload'] = 'Odaberite datoteku za postavljanje:';
$lang['txt_filename'] = 'Postaviti kao (nije obavezno):';
$lang['txt_overwrt'] = 'Prepiši postojeću datoteku';
+$lang['maxuploadsize'] = 'Moguće je učitati maks. %s po datoteci.';
$lang['lockedby'] = 'Zaključao:';
$lang['lockexpire'] = 'Zaključano do:';
-$lang['js']['willexpire'] = 'Dokument kojeg mijenjate će biti zaključan još 1 minutu.\n Ukoliko želite i dalje raditi izmjene na dokumentu - kliknite na "Pregled".';
+$lang['js']['willexpire'] = 'Dokument kojeg mijenjate će biti zaključan još 1 minutu.\n Ukoliko želite i dalje raditi izmjene na dokumentu - kliknite na "Pregled".';
$lang['js']['notsavedyet'] = 'Vaše izmjene će se izgubiti.
Želite li nastaviti?';
$lang['js']['searchmedia'] = 'Traži datoteke';
@@ -121,6 +136,17 @@ $lang['js']['nosmblinks'] = 'Linkovi na dijeljene Windows mape rade samo s
$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']['media_diff'] = 'Pogledaj razlike:';
+$lang['js']['media_diff_both'] = 'Usporedni prikaz';
+$lang['js']['media_diff_opacity'] = 'Sjaj kroz';
+$lang['js']['media_diff_portions'] = 'Pomakni';
+$lang['js']['media_select'] = 'Odaberi datoteke ...';
+$lang['js']['media_upload_btn'] = 'Učitavanje';
+$lang['js']['media_done_btn'] = 'Gotovo';
+$lang['js']['media_drop'] = 'Ovdje spusti datoteke za učitavanje';
+$lang['js']['media_cancel'] = 'ukloni';
+$lang['js']['media_overwrt'] = 'Prepiši preko postojeće datoteke';
$lang['rssfailed'] = 'Došlo je do greške prilikom preuzimanja feed-a: ';
$lang['nothingfound'] = 'Traženi dokumetni nisu pronađeni.';
$lang['mediaselect'] = 'Mediafile datoteke';
@@ -158,6 +184,11 @@ $lang['difflink'] = 'Poveznica na ovaj prikaz usporedbe';
$lang['diff_type'] = 'Razlike u prikazu:';
$lang['diff_inline'] = 'U istoj razini';
$lang['diff_side'] = 'Usporedo';
+$lang['diffprevrev'] = 'Prošla verzija';
+$lang['diffnextrev'] = 'Novija verzija';
+$lang['difflastrev'] = 'Zadnja verzija';
+$lang['diffbothprevrev'] = 'Prošle verzije na obje strane';
+$lang['diffbothnextrev'] = 'Novije verzije na obje strane';
$lang['line'] = 'Redak';
$lang['breadcrumb'] = 'Putanja:';
$lang['youarehere'] = 'Vi ste ovdje:';
@@ -170,11 +201,21 @@ $lang['external_edit'] = 'vanjsko uređivanje';
$lang['summary'] = 'Sažetak izmjena';
$lang['noflash'] = 'Za prikazivanje ovog sadržaja potreban je <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a>';
$lang['download'] = 'Preuzmi isječak';
+$lang['tools'] = 'Alati';
+$lang['user_tools'] = 'Korisnički alati';
+$lang['site_tools'] = 'Site alati';
+$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_subscribe_list'] = 'stranice promijenjene u imenskom prostoru:';
$lang['mail_new_user'] = 'novi korisnik:';
$lang['mail_upload'] = 'datoteka postavljena:';
+$lang['changes_type'] = 'Vidi promjene od';
+$lang['pages_changes'] = 'Stranice';
+$lang['media_changes'] = 'Medijske datoteke';
+$lang['both_changes'] = 'Zajedno stranice i datoteke';
$lang['qb_bold'] = 'Podebljani tekst';
$lang['qb_italic'] = 'Ukošeni tekst';
$lang['qb_underl'] = 'Podcrtani tekst';
@@ -204,7 +245,6 @@ $lang['admin_register'] = 'Dodaj novog korisnika';
$lang['metaedit'] = 'Uredi metapodatake';
$lang['metasaveerr'] = 'Neuspješno zapisivanje metapodataka';
$lang['metasaveok'] = 'Spremljeni metapdaci';
-$lang['btn_img_backto'] = 'Povratak na %s';
$lang['img_title'] = 'Naziv:';
$lang['img_caption'] = 'Naslov:';
$lang['img_date'] = 'Datum:';
@@ -215,6 +255,8 @@ $lang['img_copyr'] = 'Autorsko pravo:';
$lang['img_format'] = 'Format:';
$lang['img_camera'] = 'Kamera:';
$lang['img_keywords'] = 'Ključne riječi:';
+$lang['img_width'] = 'Širina:';
+$lang['img_height'] = 'Visina:';
$lang['subscr_subscribe_success'] = 'Dodan %s u listu pretplatnika za %s';
$lang['subscr_subscribe_error'] = 'Greška kod dodavanja %s u listu pretplatnika za %s';
$lang['subscr_subscribe_noaddress'] = 'Ne postoji adresa povezana sa vašim podacima za prijavu, stoga ne možete biti dodani u listu pretplatnika';
@@ -232,6 +274,7 @@ $lang['subscr_style_every'] = 'email za svaku promjenu';
$lang['subscr_style_digest'] = 'email s kratakim prikazom promjena za svaku stranicu (svaka %.2f dana)';
$lang['subscr_style_list'] = 'listu promijenjenih stranica od zadnjeg primljenog email-a (svaka %.2f dana)';
$lang['authtempfail'] = 'Autentifikacija korisnika je privremeno nedostupna. Molimo Vas da kontaktirate administratora.';
+$lang['authpwdexpire'] = 'Vaša lozinka će isteći za %d dana, trebate ju promijeniti.';
$lang['i_chooselang'] = 'Izaberite vaš jezik';
$lang['i_installer'] = 'DokuWiki instalacija';
$lang['i_wikiname'] = 'Naziv Wikija';
@@ -241,6 +284,7 @@ $lang['i_problems'] = 'Instalacija je pronašla probleme koji su nazn
$lang['i_modified'] = 'Zbog sigurnosnih razlog, ova skripta ce raditi samo sa novim i nepromijenjenim instalacijama dokuWikija. Preporucujemo da ili re-ekstraktirate fajlove iz downloadovanog paketa ili konsultujete pune a href="http://dokuwiki.org/install">Instrukcije za instalaciju Dokuwikija</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_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.';
@@ -252,8 +296,12 @@ $lang['i_policy'] = 'Inicijalna ACL politika';
$lang['i_pol0'] = 'Otvoreni Wiki (čitanje, pisanje, učitavanje za sve)';
$lang['i_pol1'] = 'Javni Wiki (čitanje za sve, pisanje i učitavanje za registrirane korisnike)';
$lang['i_pol2'] = 'Zatvoreni Wiki (čitanje, pisanje, učitavanje samo za registrirane korisnike)';
+$lang['i_allowreg'] = 'Dopusti da korisnici sami sebe registriraju';
$lang['i_retry'] = 'Pokušaj ponovo';
$lang['i_license'] = 'Molim odaberite licencu pod kojom želite postavljati vaš sadržaj:';
+$lang['i_license_none'] = 'Ne prikazuj nikakve licenčne informacije.';
+$lang['i_pop_field'] = 'Molimo, pomozite na da unaprijedimo DokuWiki:';
+$lang['i_pop_label'] = 'Jednom na mjesec, pošalji anonimne podatke o korištenju DokuWiki razvojnom timu';
$lang['recent_global'] = 'Trenutno gledate promjene unutar <b>%s</b> imenskog prostora. Također možete <a href="%s">vidjeti zadnje promjene cijelog wiki-a</a>';
$lang['years'] = '%d godina prije';
$lang['months'] = '%d mjeseci prije';
@@ -263,3 +311,30 @@ $lang['hours'] = '%d sati prije';
$lang['minutes'] = '%d minuta prije';
$lang['seconds'] = '%d sekundi prije';
$lang['wordblock'] = 'Vaša promjena nije spremljena jer sadrži blokirani tekst (spam).';
+$lang['media_uploadtab'] = 'Učitavanje';
+$lang['media_searchtab'] = 'Traženje';
+$lang['media_file'] = 'Datoteka';
+$lang['media_viewtab'] = 'Pogled';
+$lang['media_edittab'] = 'Uredi';
+$lang['media_historytab'] = 'Povijest';
+$lang['media_list_thumbs'] = 'Ikone';
+$lang['media_list_rows'] = 'Redovi';
+$lang['media_sort_name'] = 'Naziv';
+$lang['media_sort_date'] = 'Datum';
+$lang['media_namespaces'] = 'Odaberi namespace';
+$lang['media_files'] = 'Datoteka u %s';
+$lang['media_upload'] = 'Učitaj u %s';
+$lang['media_search'] = 'Potraži u %s';
+$lang['media_view'] = '%s';
+$lang['media_viewold'] = '%s na %s';
+$lang['media_edit'] = 'Uredi %s';
+$lang['media_history'] = 'Povijest %s';
+$lang['media_meta_edited'] = 'meta podatci 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['currentns'] = 'Tekući imenički prostor';
+$lang['searchresult'] = 'Rezultati pretraživanja';
+$lang['plainhtml'] = 'Čisti HTML';
+$lang['wikimarkup'] = 'Wiki kod';
diff --git a/inc/lang/hr/pwconfirm.txt b/inc/lang/hr/pwconfirm.txt
new file mode 100644
index 000000000..b2d9fa3ad
--- /dev/null
+++ b/inc/lang/hr/pwconfirm.txt
@@ -0,0 +1,13 @@
+Pozdrav @FULLNAME@!
+
+Netko je zatražio novu lozinku za vašu @TITLE@ prijavu na @DOKUWIKIURL@.
+
+Ako to niste bili Vi, molimo da samo ignorirate ovu poruku.
+
+Da bi ste potvrdili da ste to ipak bili Vi, molimo slijedite link u nastavku:
+
+@CONFIRM@
+
+--
+Ova poruka je generirana od strane DokuWiki dostupnog na
+@DOKUWIKIURL@ \ No newline at end of file
diff --git a/inc/lang/hr/registermail.txt b/inc/lang/hr/registermail.txt
new file mode 100644
index 000000000..ceaf3fb83
--- /dev/null
+++ b/inc/lang/hr/registermail.txt
@@ -0,0 +1,14 @@
+Novi korisnik je registriran. Ovdje su detalji:
+
+Korisničko ime : @NEWUSER@
+Puno ime : @NEWNAME@
+e-pošta : @NEWEMAIL@
+
+Datum : @DATE@
+Preglednik : @BROWSER@
+IP-Adresa : @IPADDRESS@
+Računalo : @HOSTNAME@
+
+--
+Ova poruka je generirana od strane DokuWiki dostupnog na
+@DOKUWIKIURL@ \ No newline at end of file
diff --git a/inc/lang/hr/resetpwd.txt b/inc/lang/hr/resetpwd.txt
new file mode 100644
index 000000000..8d92e51d2
--- /dev/null
+++ b/inc/lang/hr/resetpwd.txt
@@ -0,0 +1,3 @@
+====== Postavi novu lozinku ======
+
+Molimo unesite novu lozinku za Vašu korisničku prijavu na ovom wiki-u. \ No newline at end of file
diff --git a/inc/lang/hr/subscr_digest.txt b/inc/lang/hr/subscr_digest.txt
new file mode 100644
index 000000000..fad158d76
--- /dev/null
+++ b/inc/lang/hr/subscr_digest.txt
@@ -0,0 +1,19 @@
+Pozdrav !
+
+Stranica @PAGE@ u @TITLE@ wiki-u je promijenjena.
+Ovdje su promjene:
+
+--------------------------------------------------------
+@DIFF@
+--------------------------------------------------------
+
+Stara verzija: @OLDPAGE@
+Nova verzija: @NEWPAGE@
+
+Da poništite obavijesti o izmjenama prijavite se na wiki @DOKUWIKIURL@ i zatim posjetite
+@SUBSCRIBE@
+i odjavite se s promjena na stranici i/ili imeničkom prostoru.
+
+--
+Ova poruka je generirana od strane DokuWiki dostupnog na
+@DOKUWIKIURL@ \ No newline at end of file
diff --git a/inc/lang/hr/subscr_form.txt b/inc/lang/hr/subscr_form.txt
new file mode 100644
index 000000000..95b2cd03e
--- /dev/null
+++ b/inc/lang/hr/subscr_form.txt
@@ -0,0 +1,3 @@
+====== Uređivanje pretplata ======
+
+Ova stranica omogućuje Vam da uredite svoju pretplatu na promjene za tekuću stranicu ili imenički prostor. \ No newline at end of file
diff --git a/inc/lang/hr/subscr_list.txt b/inc/lang/hr/subscr_list.txt
new file mode 100644
index 000000000..611c76938
--- /dev/null
+++ b/inc/lang/hr/subscr_list.txt
@@ -0,0 +1,15 @@
+Pozdrav !
+
+Stranice u imeničkom prostoru @PAGE@ na @TITLE@ wiki-u su izmijenjene. Ovo su izmijenjene stranice:
+
+--------------------------------------------------------
+@DIFF@
+--------------------------------------------------------
+
+Da poništite obavijesti o izmjenama prijavite se na wiki @DOKUWIKIURL@ i zatim posjetite
+@SUBSCRIBE@
+i odjavite se s promjena na stranici i/ili imeničkom prostoru.
+
+--
+Ova poruka je generirana od strane DokuWiki dostupnog na
+@DOKUWIKIURL@ \ No newline at end of file
diff --git a/inc/lang/hr/subscr_single.txt b/inc/lang/hr/subscr_single.txt
new file mode 100644
index 000000000..18f66901c
--- /dev/null
+++ b/inc/lang/hr/subscr_single.txt
@@ -0,0 +1,22 @@
+Pozdrav !
+
+Stranica @PAGE@ na @TITLE@ wiki-u je izmijenjena.
+Ovo su promjene:
+
+--------------------------------------------------------
+@DIFF@
+--------------------------------------------------------
+
+Datum : @DATE@
+Korisnik: @USER@
+Sažetak izmjena: @SUMMARY@
+Stara verzija: @OLDPAGE@
+Nova verzija : @NEWPAGE@
+
+Da poništite obavijesti o izmjenama prijavite se na wiki @DOKUWIKIURL@ i zatim posjetite
+@SUBSCRIBE@
+i odjavite se s promjena na stranici i/ili imeničkom prostoru.
+
+--
+Ova poruka je generirana od strane DokuWiki dostupnog na
+@DOKUWIKIURL@ \ No newline at end of file
diff --git a/inc/lang/hr/uploadmail.txt b/inc/lang/hr/uploadmail.txt
new file mode 100644
index 000000000..5b18b2ba3
--- /dev/null
+++ b/inc/lang/hr/uploadmail.txt
@@ -0,0 +1,15 @@
+Datoteka je učitana na Vaš DokuWiki. Ovdje su detalji:
+
+Datoteka : @MEDIA@
+Stara verzija: @OLD@
+Datum : @DATE@
+Preglednik : @BROWSER@
+IP-Adresa : @IPADDRESS@
+Računalo : @HOSTNAME@
+Veličina : @SIZE@
+MIME Tip : @MIME@
+Korisnik : @USER@
+
+--
+Ova poruka je generirana od strane DokuWiki dostupnog na
+@DOKUWIKIURL@ \ No newline at end of file
diff --git a/inc/lang/ja/lang.php b/inc/lang/ja/lang.php
index e3eb4c7c7..381863eb3 100644
--- a/inc/lang/ja/lang.php
+++ b/inc/lang/ja/lang.php
@@ -289,6 +289,7 @@ $lang['i_modified'] = 'セキュリティの理由から、新規も
<a href="http://dokuwiki.org/install">Dokuwiki インストールガイド</a>を参考にしてインストールしてください。';
$lang['i_funcna'] = 'PHPの関数 <code>%s</code> が使用できません。ホスティング会社が何らかの理由で無効にしている可能性があります。';
$lang['i_phpver'] = 'PHPのバージョン <code>%s</code> が必要なバージョン <code>%s</code> より以前のものです。PHPのアップグレードが必要です。';
+$lang['i_mbfuncoverload'] = 'DokuWiki を実行する php.ini ファイルの mbstring.func_overload は無効にして下さい。';
$lang['i_permfail'] = '<code>%s</code> に書き込みできません。このディレクトリの権限を確認して下さい。';
$lang['i_confexists'] = '<code>%s</code> は既に存在します';
$lang['i_writeerr'] = '<code>%s</code> を作成できません。ディレクトリとファイルの権限を確認し、それらを手動で作成する必要があります。';
diff --git a/inc/lang/ta/denied.txt b/inc/lang/ta/denied.txt
new file mode 100644
index 000000000..9dcf1c9ed
--- /dev/null
+++ b/inc/lang/ta/denied.txt
@@ -0,0 +1 @@
+மன்னிக்கவும் ! உங்களுக்கு தொடர அனுமதி இல்லை \ No newline at end of file
diff --git a/inc/lang/ta/lang.php b/inc/lang/ta/lang.php
new file mode 100644
index 000000000..4a1da3531
--- /dev/null
+++ b/inc/lang/ta/lang.php
@@ -0,0 +1,32 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Naveen Venugopal <naveen.venugopal.anu@gmail.com>
+ */
+$lang['btn_edit'] = 'இந்த பக்கத்தை திருத்து ';
+$lang['btn_show'] = 'பக்கத்தை காண்பி ';
+$lang['btn_create'] = 'இந்த பக்கத்தை உருவாக்கு ';
+$lang['btn_search'] = 'தேடு';
+$lang['btn_save'] = 'சேமி ';
+$lang['btn_revs'] = 'old திருத்தங்கள்';
+$lang['btn_recent'] = 'சமீபத்திய மாற்றங்கள்';
+$lang['btn_upload'] = 'பதிவேற்று';
+$lang['btn_cancel'] = 'ரத்து';
+$lang['btn_index'] = 'தள வரைபடம்';
+$lang['btn_admin'] = 'நிர்வாகம்';
+$lang['btn_update'] = 'மேம்படுத்து ';
+$lang['btn_delete'] = 'நீக்கு';
+$lang['btn_resendpwd'] = 'புதிய அடையாளச்சொல்லை நியமி';
+$lang['btn_apply'] = 'உபயோகி';
+$lang['user'] = 'பயனர்பெயர்';
+$lang['pass'] = 'அடையாளச்சொல்';
+$lang['newpass'] = 'புதிய அடையாளச்சொல்';
+$lang['oldpass'] = 'தற்போதைய அடையாளச்சொல்லை உறுதிப்படுத்து';
+$lang['passchk'] = 'மேலும் ஒரு முறை ';
+$lang['remember'] = 'என்னை ஞாபகம் வைத்து கொள்';
+$lang['fullname'] = 'உண்மையான பெயர்';
+$lang['email'] = 'மின்னஞ்சல்';
+$lang['profile'] = 'பயன்படுத்துபவர் விவரம்';
+$lang['minoredit'] = 'சிறிய மாற்றங்கள்';
diff --git a/inc/lang/th/lang.php b/inc/lang/th/lang.php
index ff871cdf6..0e9f1d3bb 100644
--- a/inc/lang/th/lang.php
+++ b/inc/lang/th/lang.php
@@ -1,17 +1,13 @@
<?php
+
/**
- * th language file
- *
- * This file was initially built by fetching translations from other
- * Wiki projects. See the @url lines below. Additional translations
- * and fixes where done for DokuWiki by the people mentioned in the
- * lines starting with @author
- *
- * @url http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/languages/messages/MessagesTh.php?view=co
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Komgrit Niyomrath <n.komgrit@gmail.com>
* @author Arthit Suriyawongkul <arthit@gmail.com>
* @author Kittithat Arnontavilas <mrtomyum@gmail.com>
* @author Thanasak Sompaisansin <jombthep@gmail.com>
+ * @author Yuthana Tantirungrotechai <yt203y@gmail.com>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
@@ -47,11 +43,16 @@ $lang['btn_backtomedia'] = 'กลับไปยังหน้าเล
$lang['btn_subscribe'] = 'เฝ้าดู';
$lang['btn_profile'] = 'แก้ข้อมูลผู้ใช้';
$lang['btn_reset'] = 'เริ่มใหม่';
+$lang['btn_resendpwd'] = 'ตั้งพาสเวิร์ดใหม่';
$lang['btn_draft'] = 'แก้ไขเอกสารฉบับร่าง';
$lang['btn_recover'] = 'กู้คืนเอกสารฉบับร่าง';
$lang['btn_draftdel'] = 'ลบเอกสารฉบับร่าง';
$lang['btn_revert'] = 'กู้คืน';
$lang['btn_register'] = 'สร้างบัญชีผู้ใช้';
+$lang['btn_media'] = 'ส่วนจัดการสื่อและไฟล์';
+$lang['btn_deleteuser'] = 'ลบบัญชีผู้ใช้งานของฉัน';
+$lang['btn_img_backto'] = 'กลับไปยัง %s';
+$lang['btn_mediaManager'] = 'ดูในส่วนจัดการสื่อและไฟล์';
$lang['loggedinas'] = 'ลงชื่อเข้าใช้เป็น:';
$lang['user'] = 'ชื่อผู้ใช้:';
$lang['pass'] = 'รหัสผ่าน';
@@ -63,6 +64,7 @@ $lang['fullname'] = 'ชื่อจริง:';
$lang['email'] = 'อีเมล:';
$lang['profile'] = 'ข้อมูลส่วนตัวผู้ใช้';
$lang['badlogin'] = 'ขัดข้อง:';
+$lang['badpassconfirm'] = 'พาสเวิร์ดไม่ถูกต้อง';
$lang['minoredit'] = 'เป็นการแก้ไขเล็กน้อย';
$lang['draftdate'] = 'บันทึกฉบับร่างเมื่อ';
$lang['nosecedit'] = 'ในช่วงเวลาที่ผ่านมานี้เพจถูกแก้ไขไปแล้ว, เนื้อหาในเซคชั่นนี้ไม่ทันสมัย กรุณาโหลดเพจใหม่ทั้งหน้าแทน';
@@ -79,6 +81,10 @@ $lang['profna'] = 'วิกินี้ไม่รองรั
$lang['profnochange'] = 'ไม่มีการเปลี่ยนแปลงข้อมูลส่วนตัว';
$lang['profnoempty'] = 'ไม่อนุญาติให้เว้นว่างชื่อ หรืออีเมล';
$lang['profchanged'] = 'ปรับปรุงข้อมูลส่วนตัวผู้ใช้สำเร็จ';
+$lang['profnodelete'] = 'วิกินี้ไม่รองรับการลบบัญชีผู้ใช้งาน';
+$lang['profdeleteuser'] = 'ลบบัญชีผู้ใช้งาน';
+$lang['profdeleted'] = 'บัญชีผู้ใช้งานของคุณได้ถูกลบออกจากวิกิแล้ว';
+$lang['profconfdelete'] = 'ฉันอยากลบบัญชีผู้ใช้งานของฉันจากวิกินี้ <br/> การดำเนินการนี้ไม่สามารถแก้ไขคืนได้ ';
$lang['pwdforget'] = 'ลืมรหัสผ่านหรือ? เอาอันใหม่สิ';
$lang['resendna'] = 'วิกินี้ไม่รองรับการส่งรหัสผ่านซ้ำ';
$lang['resendpwdmissing'] = 'ขออภัย, คุณต้องกรอกทุกช่อง';
@@ -95,8 +101,15 @@ $lang['txt_filename'] = 'อัพโหลดเป็น(ตัวเ
$lang['txt_overwrt'] = 'เขียนทับไฟล์ที่มีอยู่แล้ว';
$lang['lockedby'] = 'ตอนนี้ถูกล๊อคโดย:';
$lang['lockexpire'] = 'การล๊อคจะหมดอายุเมื่อ:';
-$lang['js']['willexpire'] = 'การล๊อคเพื่อแก้ไขหน้านี้กำลังจะหมดเวลาในอีก \n นาที เพื่อที่จะหลีกเลี่ยงข้อขัดแย้งให้ใช้ปุ่ม "Preview" เพื่อรีเซ็ทเวลาใหม่';
+$lang['js']['willexpire'] = 'การล๊อคเพื่อแก้ไขหน้านี้กำลังจะหมดเวลาในอีก \n นาที เพื่อที่จะหลีกเลี่ยงข้อขัดแย้งให้ใช้ปุ่ม "Preview" เพื่อรีเซ็ทเวลาใหม่';
$lang['js']['notsavedyet'] = 'การแก้ไขที่ไม่ได้บันทึกจะสูญหาย \n ต้องการทำต่อจริงๆหรือ?';
+$lang['js']['searchmedia'] = 'ค้นหาไฟล์';
+$lang['js']['keepopen'] = 'เปิดหน้าต่างไว้ระหว่างที่เลือก';
+$lang['js']['hidedetails'] = 'ซ่อนรายละเอียด';
+$lang['js']['nosmblinks'] = 'เชื่อมไปยังหน้าต่างแบ่งปัน ทำงานได้กับเฉพาะไมโครซอฟท์อินเตอร์เน็ตเอ็กซโปรเรอร์(IE) คุณยังคงสามารถคัดลอกและแปะลิ้งค์ได้';
+$lang['js']['linkwiz'] = 'ลิงค์วิเศษ';
+$lang['js']['linkto'] = 'ลิงค์ไป:';
+$lang['js']['del_confirm'] = 'ต้องการลบรายการที่เลือกจริงๆหรือ?';
$lang['rssfailed'] = 'มีข้อผิดพลาดขณะดูดฟีดนี้';
$lang['nothingfound'] = 'ไม่พบสิ่งใด';
$lang['mediaselect'] = 'ไฟล์สื่อ';
@@ -114,13 +127,6 @@ $lang['deletefail'] = '"%s" ไม่สามารถลบได
$lang['mediainuse'] = 'ไฟล์ "%s" ไม่ได้ถูกลบ - มันถูกใช้อยู่';
$lang['namespaces'] = 'เนมสเปซ';
$lang['mediafiles'] = 'มีไฟล์พร้อมใช้อยู่ใน';
-$lang['js']['searchmedia'] = 'ค้นหาไฟล์';
-$lang['js']['keepopen'] = 'เปิดหน้าต่างไว้ระหว่างที่เลือก';
-$lang['js']['hidedetails'] = 'ซ่อนรายละเอียด';
-$lang['js']['nosmblinks'] = 'เชื่อมไปยังหน้าต่างแบ่งปัน ทำงานได้กับเฉพาะไมโครซอฟท์อินเตอร์เน็ตเอ็กซโปรเรอร์(IE) คุณยังคงสามารถคัดลอกและแปะลิ้งค์ได้';
-$lang['js']['linkwiz'] = 'ลิงค์วิเศษ';
-$lang['js']['linkto'] = 'ลิงค์ไป:';
-$lang['js']['del_confirm'] = 'ต้องการลบรายการที่เลือกจริงๆหรือ?';
$lang['mediausage'] = 'ให้ใช้ไวยกรณ์ต่อไปนี้เพื่ออ้างอิงไฟล์นี้';
$lang['mediaview'] = 'ดูไฟล์ต้นฉบับ';
$lang['mediaroot'] = 'ราก(รูท)';
@@ -181,7 +187,6 @@ $lang['admin_register'] = 'สร้างบัญชีผู้ใช
$lang['metaedit'] = 'แก้ไขข้อมูลเมต้า';
$lang['metasaveerr'] = 'มีข้อผิดพลาดในการเขียนข้อมูลเมต้า';
$lang['metasaveok'] = 'บันทึกเมต้าดาต้าแล้ว';
-$lang['btn_img_backto'] = 'กลับไปยัง %s';
$lang['img_title'] = 'ชื่อภาพ:';
$lang['img_caption'] = 'คำบรรยายภาพ:';
$lang['img_date'] = 'วันที่:';
diff --git a/inc/template.php b/inc/template.php
index c02c9f1ae..8b39529c5 100644
--- a/inc/template.php
+++ b/inc/template.php
@@ -381,13 +381,6 @@ function tpl_metaheaders($alt = true) {
// set metadata
if($ACT == 'show' || $ACT == 'export_xhtml') {
- // date of modification
- if($REV) {
- $head['meta'][] = array('name'=> 'date', 'content'=> date('Y-m-d\TH:i:sO', $REV));
- } else {
- $head['meta'][] = array('name'=> 'date', 'content'=> date('Y-m-d\TH:i:sO', $INFO['lastmod']));
- }
-
// keywords (explicit or implicit)
if(!empty($INFO['meta']['subject'])) {
$head['meta'][] = array('name'=> 'keywords', 'content'=> join(',', $INFO['meta']['subject']));
diff --git a/lib/plugins/acl/lang/hr/lang.php b/lib/plugins/acl/lang/hr/lang.php
index 7c2716978..b12966c84 100644
--- a/lib/plugins/acl/lang/hr/lang.php
+++ b/lib/plugins/acl/lang/hr/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Croatian language file
- *
+ * @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
diff --git a/lib/plugins/acl/lang/th/lang.php b/lib/plugins/acl/lang/th/lang.php
index 46bd4535c..55b707b5c 100644
--- a/lib/plugins/acl/lang/th/lang.php
+++ b/lib/plugins/acl/lang/th/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Thai language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Komgrit Niyomrath <n.komgrit@gmail.com>
* @author Kittithat Arnontavilas mrtomyum@gmail.com
* @author Kittithat Arnontavilas <mrtomyum@gmail.com>
diff --git a/lib/plugins/authad/lang/hr/lang.php b/lib/plugins/authad/lang/hr/lang.php
new file mode 100644
index 000000000..f750c91b5
--- /dev/null
+++ b/lib/plugins/authad/lang/hr/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Davor Turkalj <turki.bsc@gmail.com>
+ */
+$lang['domain'] = 'Domena za prijavu';
diff --git a/lib/plugins/authad/lang/hr/settings.php b/lib/plugins/authad/lang/hr/settings.php
new file mode 100644
index 000000000..a024b10b7
--- /dev/null
+++ b/lib/plugins/authad/lang/hr/settings.php
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * @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>';
+$lang['base_dn'] = 'Vaš bazni DN. Npr. <code>DC=my,DC=domain,DC=org</code>';
+$lang['domain_controllers'] = 'Zarezom odvojena lista domenskih kontrolera. Npr. <code>srv1.domain.org,srv2.domain.org</code>';
+$lang['admin_username'] = 'Privilegirani korisnik Active Directory-a s pristupom svim korisničkim podacima. Opcionalno, ali potrebno za određene akcije kao što je slanje pretplatničkih poruka.';
+$lang['admin_password'] = 'Lozinka gore navedenoga korisnika.';
+$lang['sso'] = 'Da li će Single-Sign-On prijava biti korištena preko Kerberosa ili NTLM-a?';
+$lang['sso_charset'] = 'Znakovni set koji će se koristiti Kerberos ili NTLM pri slanju imena korisnika. Prazno za UTF-8 ili latin-1. Zahtjeva iconv ekstenziju.';
+$lang['real_primarygroup'] = 'Da li da se razluči stvarna primarna grupa umjesto pretpostavke da je to "Domain Users" (sporije !).';
+$lang['use_ssl'] = 'Koristi SSL vezu? Ako da, dolje ne koristi TLS!';
+$lang['use_tls'] = 'Koristi TLS vezu? Ako da, gore ne koristi SSL!';
+$lang['debug'] = 'Prikaži dodatni debug ispis u slučaju greške? ';
+$lang['expirywarn'] = 'Upozori korisnike o isteku lozinke ovoliko dana. 0 za onemogućavanje. ';
+$lang['additional'] = 'Zarezom odvojena lista dodatnih AD atributa koji se dohvaćaju iz korisničkih podataka. Koristi se u nekim dodatcima (plugin).';
diff --git a/lib/plugins/authldap/lang/hr/settings.php b/lib/plugins/authldap/lang/hr/settings.php
new file mode 100644
index 000000000..44caeacc8
--- /dev/null
+++ b/lib/plugins/authldap/lang/hr/settings.php
@@ -0,0 +1,23 @@
+<?php
+
+/**
+ * @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>)';
+$lang['port'] = 'LDAP server port, ako gore nije specificiran puni URL.';
+$lang['usertree'] = 'Gdje da nađem korisničke prijave. Npr. <code>ou=People, dc=server, dc=tld</code>';
+$lang['grouptree'] = 'Gdje da nađem korisničke grupe. Npr. <code>ou=Group, dc=server, dc=tld</code>';
+$lang['userfilter'] = 'LDAP filter za pretragu korisničkih prijava. Npr. <code>(&amp;(uid=%{user})(objectClass=posixAccount))</code>';
+$lang['groupfilter'] = 'LDAP filter za pretragu grupa. Npr. <code>(&amp;(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>';
+$lang['version'] = 'Protokol koji se koristi. Možda će te trebati postaviti na <code>3</code>';
+$lang['starttls'] = 'Korisni TLS vezu?';
+$lang['referrals'] = 'Da li da slijedim uputnice?';
+$lang['deref'] = 'Kako da razlikujem aliase?';
+$lang['binddn'] = 'DN opcionalnog korisnika ako anonimni korisnik nije dovoljan. Npr. <code>cn=admin, dc=my, dc=home</code>';
+$lang['bindpw'] = 'Lozinka gore navedenog korisnika';
+$lang['userscope'] = 'Ograniči područje za pretragu korisnika';
+$lang['groupscope'] = 'Ograniči područje za pretragu grupa';
+$lang['groupkey'] = 'Članstvo grupa iz svih atributa korisnika (umjesto standardnih AD grupa) npr. grupa iz odjela ili telefonskog broja';
+$lang['debug'] = 'Prikaži dodatne informacije u slučaju greške';
diff --git a/lib/plugins/authmysql/lang/hr/settings.php b/lib/plugins/authmysql/lang/hr/settings.php
new file mode 100644
index 000000000..0ef389f46
--- /dev/null
+++ b/lib/plugins/authmysql/lang/hr/settings.php
@@ -0,0 +1,42 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Davor Turkalj <turki.bsc@gmail.com>
+ */
+$lang['server'] = 'Vaš MySQL server';
+$lang['user'] = 'MySQL korisničko ime';
+$lang['password'] = 'Lozinka gore navedenog korisnika';
+$lang['database'] = 'Baza koja se koristi';
+$lang['charset'] = 'Znakovni set koji se koristi u bazi';
+$lang['debug'] = 'Prikaz dodatnih debug informacija';
+$lang['forwardClearPass'] = 'Proslijedi korisničku lozinku kao čisti tekst u SQL upitu niže, umjesto korištenja passcrypt opcije';
+$lang['TablesToLock'] = 'Zarezom odvojena lista tabela koje trebaju biti zaključane pri operacijama pisanja';
+$lang['checkPass'] = 'SQL izraz za provjeru lozinki';
+$lang['getUserInfo'] = 'SQL izraz za dohvaćanje informacija o korisniku';
+$lang['getGroups'] = 'SQL izraz za dohvaćanje članstva u grupama';
+$lang['getUsers'] = 'SQL izraz za ispis svih korisnika';
+$lang['FilterLogin'] = 'SQL izraz za izdvajanje korisnika po korisničkom imenu';
+$lang['FilterName'] = 'SQL izraz za izdvajanje korisnika po punom imenu';
+$lang['FilterEmail'] = 'SQL izraz za izdvajanje korisnika po email adresi';
+$lang['FilterGroup'] = 'SQL izraz za izdvajanje korisnika po članstvu u grupama';
+$lang['SortOrder'] = 'SQL izraz za sortiranje korisnika';
+$lang['addUser'] = 'SQL izraz za dodavanje novih korisnika';
+$lang['addGroup'] = 'SQL izraz za dodavanje novih grupa';
+$lang['addUserGroup'] = 'SQL izraz za dodavanje korisnika u postojeću grupu';
+$lang['delGroup'] = 'SQL izraz za uklanjanje grupe';
+$lang['getUserID'] = 'SQL izraz za dobivanje primarnog ključa korisnika';
+$lang['delUser'] = 'SQL izraz za brisanje korisnika';
+$lang['delUserRefs'] = 'SQL izraz za uklanjanje korisnika iz grupe';
+$lang['updateUser'] = 'SQL izraz za ažuriranje korisničkog profila';
+$lang['UpdateLogin'] = 'UPDATE izraz za ažuriranje korisničkog imena';
+$lang['UpdatePass'] = 'UPDATE izraz za ažuriranje korisničke lozinke';
+$lang['UpdateEmail'] = 'UPDATE izraz za ažuriranje korisničke email adrese';
+$lang['UpdateName'] = 'UPDATE izraz za ažuriranje punog imena korisnika';
+$lang['UpdateTarget'] = 'Limit izraz za identificiranje korisnika pri ažuriranju';
+$lang['delUserGroup'] = 'SQL izraz za uklanjanje korisnika iz zadane grupe';
+$lang['getGroupID'] = 'SQL izraz za dobivanje primarnoga ključa zadane grupe';
+$lang['debug_o_0'] = 'ništa';
+$lang['debug_o_1'] = 'u slučaju greške';
+$lang['debug_o_2'] = 'svi SQL upiti';
diff --git a/lib/plugins/authpgsql/lang/hr/settings.php b/lib/plugins/authpgsql/lang/hr/settings.php
new file mode 100644
index 000000000..7ae4cec77
--- /dev/null
+++ b/lib/plugins/authpgsql/lang/hr/settings.php
@@ -0,0 +1,38 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Davor Turkalj <turki.bsc@gmail.com>
+ */
+$lang['server'] = 'Vaš PostgreSQL server';
+$lang['port'] = 'Port vašeg PostgreSQL servera';
+$lang['user'] = 'PostgreSQL korisničko ime';
+$lang['password'] = 'Lozinka gore navedenoga korisnika';
+$lang['database'] = 'Baza koja se koristi';
+$lang['debug'] = 'Prikaz dodatnih dijagnostičkih informacija';
+$lang['forwardClearPass'] = 'Proslijed lozinku kao običan tekst u SQL izrazima koji slijede, umjesto korištenja passcrypt opcije';
+$lang['checkPass'] = 'SQL izraz za provjeru lozinke';
+$lang['getUserInfo'] = 'SQL izraz za dohvat korisničkih informacija';
+$lang['getGroups'] = 'SQL izraz za dohvat korisničkog članstva u grupama';
+$lang['getUsers'] = 'SQL izraz za ispis svih korisnika';
+$lang['FilterLogin'] = 'SQL izraz za filtriranje korisnika po korisničkom imenu';
+$lang['FilterName'] = 'SQL izraz za filtriranje korisnika po punom imenu';
+$lang['FilterEmail'] = 'SQL izraz za filtriranje korisnika po email adresi';
+$lang['FilterGroup'] = 'SQL izraz za filtriranje korisnika po članstvu u grupama';
+$lang['SortOrder'] = 'SQL izraz za sortiranje korisnika';
+$lang['addUser'] = 'SQL izraz za dodavanje novog korisnika';
+$lang['addGroup'] = 'SQL izraz za dodavanje nove grupe';
+$lang['addUserGroup'] = 'SQL izraz za dodavanje korisnika u postojeću grupu';
+$lang['delGroup'] = 'SQL izraz za brisanje grupe';
+$lang['getUserID'] = 'SQL izraz za dohvaćanje primarnog ključa korisnika';
+$lang['delUser'] = 'SQL izraz za brisanje korisnika';
+$lang['delUserRefs'] = 'SQL izraz za uklanjanje korisnika iz svih grupa';
+$lang['updateUser'] = 'SQL izraz za ažuriranje korisničkog profila';
+$lang['UpdateLogin'] = 'UPDATE izraz za ažuriranje korisničkog imena';
+$lang['UpdatePass'] = 'UPDATE izraz za ažuriranje korisničke lozinke';
+$lang['UpdateEmail'] = 'UPDATE izraz za ažuriranje korisničke email adrese';
+$lang['UpdateName'] = 'UPDATE izraz za ažuriranje korisničkog punog imena';
+$lang['UpdateTarget'] = 'Limitirajući izraz za identificiranje korisnika pri ažuriranju';
+$lang['delUserGroup'] = 'SQL izraz za uklanjanje korisnika iz navedenih grupa';
+$lang['getGroupID'] = 'SQL izraz za dobivanje primarnog ključa navedene grupe';
diff --git a/lib/plugins/authplain/_test/escaping.test.php b/lib/plugins/authplain/_test/escaping.test.php
new file mode 100644
index 000000000..cd5294157
--- /dev/null
+++ b/lib/plugins/authplain/_test/escaping.test.php
@@ -0,0 +1,82 @@
+<?php
+
+/**
+ * These tests are designed to test the capacity of pluginauth to handle
+ * correct escaping of colon field delimiters and backslashes in user content.
+ *
+ * (Note that these tests set some Real Names, etc. that are may not be
+ * valid in the broader dokuwiki context, but the tests ensure that
+ * authplain won't get unexpectedly surprised.)
+ *
+ * @group plugin_authplain
+ * @group plugins
+ */
+class helper_plugin_authplain_escaping_test extends DokuWikiTest {
+
+ protected $pluginsEnabled = array('authplain');
+ protected $auth;
+
+ protected function reloadUsers() {
+ /* auth caches data loaded from file, but recreated object forces reload */
+ $this->auth = new auth_plugin_authplain();
+ }
+
+ function setUp() {
+ global $config_cascade;
+ parent::setUp();
+ $name = $config_cascade['plainauth.users']['default'];
+ copy($name, $name.".orig");
+ $this->reloadUsers();
+ }
+
+ function tearDown() {
+ global $config_cascade;
+ parent::tearDown();
+ $name = $config_cascade['plainauth.users']['default'];
+ copy($name.".orig", $name);
+ }
+
+ public function testMediawikiPasswordHash() {
+ global $conf;
+ $conf['passcrypt'] = 'mediawiki';
+ $this->auth->createUser("mwuser", "12345", "Mediawiki User", "me@example.com");
+ $this->reloadUsers();
+ $this->assertTrue($this->auth->checkPass("mwuser", "12345"));
+ $mwuser = $this->auth->getUserData("mwuser");
+ $this->assertStringStartsWith(":B:",$mwuser['pass']);
+ $this->assertEquals("Mediawiki User",$mwuser['name']);
+ }
+
+ public function testNameWithColons() {
+ $name = ":Colon: User:";
+ $this->auth->createUser("colonuser", "password", $name, "me@example.com");
+ $this->reloadUsers();
+ $user = $this->auth->getUserData("colonuser");
+ $this->assertEquals($name,$user['name']);
+ }
+
+ public function testNameWithBackslashes() {
+ $name = "\\Slash\\ User\\";
+ $this->auth->createUser("slashuser", "password", $name, "me@example.com");
+ $this->reloadUsers();
+ $user = $this->auth->getUserData("slashuser");
+ $this->assertEquals($name,$user['name']);
+ }
+
+ public function testModifyUser() {
+ global $conf;
+ $conf['passcrypt'] = 'mediawiki';
+ $user = $this->auth->getUserData("testuser");
+ $user['name'] = "\\New:Crazy:Name\\";
+ $user['pass'] = "awesome new password";
+ $this->auth->modifyUser("testuser", $user);
+ $this->reloadUsers();
+
+ $saved = $this->auth->getUserData("testuser");
+ $this->assertEquals($saved['name'], $user['name']);
+ $this->assertTrue($this->auth->checkPass("testuser", $user['pass']));
+ }
+
+}
+
+?> \ No newline at end of file
diff --git a/lib/plugins/authplain/auth.php b/lib/plugins/authplain/auth.php
index 8c4ce0dd9..e53f56667 100644
--- a/lib/plugins/authplain/auth.php
+++ b/lib/plugins/authplain/auth.php
@@ -84,6 +84,27 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
}
/**
+ * Creates a string suitable for saving as a line
+ * in the file database
+ * (delimiters escaped, etc.)
+ *
+ * @param string $user
+ * @param string $pass
+ * @param string $name
+ * @param string $mail
+ * @param array $grps list of groups the user is in
+ * @return string
+ */
+ protected function _createUserLine($user, $pass, $name, $mail, $grps) {
+ $groups = join(',', $grps);
+ $userline = array($user, $pass, $name, $mail, $groups);
+ $userline = str_replace('\\', '\\\\', $userline); // escape \ as \\
+ $userline = str_replace(':', '\\:', $userline); // escape : as \:
+ $userline = join(':', $userline)."\n";
+ return $userline;
+ }
+
+ /**
* Create a new User
*
* Returns false if the user already exists, null when an error
@@ -115,8 +136,7 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
if(!is_array($grps)) $grps = array($conf['defaultgroup']);
// prepare user line
- $groups = join(',', $grps);
- $userline = join(':', array($user, $pass, $name, $mail, $groups))."\n";
+ $userline = $this->_createUserLine($user, $pass, $name, $mail, $grps);
if(io_saveFile($config_cascade['plainauth.users']['default'], $userline, true)) {
$this->users[$user] = compact('pass', 'name', 'mail', 'grps');
@@ -157,8 +177,7 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
$userinfo[$field] = $value;
}
- $groups = join(',', $userinfo['grps']);
- $userline = join(':', array($newuser, $userinfo['pass'], $userinfo['name'], $userinfo['mail'], $groups))."\n";
+ $userline = $this->_createUserLine($newuser, $userinfo['pass'], $userinfo['name'], $userinfo['mail'], $userinfo['grps']);
if(!$this->deleteUsers(array($user))) {
msg('Unable to modify user data. Please inform the Wiki-Admin', -1);
@@ -308,7 +327,11 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
$line = trim($line);
if(empty($line)) continue;
- $row = explode(":", $line, 5);
+ /* NB: preg_split can be deprecated/replaced with str_getcsv once dokuwiki is min php 5.3 */
+ $row = preg_split('/(?<![^\\\\]\\\\)\:/', $line, 5); // allow for : escaped as \:
+ $row = str_replace('\\:', ':', $row);
+ $row = str_replace('\\\\', '\\', $row);
+
$groups = array_values(array_filter(explode(",", $row[4])));
$this->users[$row[0]]['pass'] = $row[1];
diff --git a/lib/plugins/extension/lang/hr/intro_install.txt b/lib/plugins/extension/lang/hr/intro_install.txt
new file mode 100644
index 000000000..fc2d22f52
--- /dev/null
+++ b/lib/plugins/extension/lang/hr/intro_install.txt
@@ -0,0 +1 @@
+Ovdje možete ručno instalirati dodatak (plugin) i predložak (template) bilo učitavanjem ili specificiranjem URL-a za direktno učitavanje. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/hr/intro_plugins.txt b/lib/plugins/extension/lang/hr/intro_plugins.txt
new file mode 100644
index 000000000..fdc629d62
--- /dev/null
+++ b/lib/plugins/extension/lang/hr/intro_plugins.txt
@@ -0,0 +1 @@
+Ovo su dodaci (plugin) trenutno instalirani na Vašem DokuWiku-u. Možete ih omogućiti, onemogućiti ili u potpunosti deinstalirati. Nadogradnje dodataka su također prikazane, obavezno pročitajte dokumentaciju dodatka prije nadogradnje. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/hr/intro_search.txt b/lib/plugins/extension/lang/hr/intro_search.txt
new file mode 100644
index 000000000..93bf4b000
--- /dev/null
+++ b/lib/plugins/extension/lang/hr/intro_search.txt
@@ -0,0 +1 @@
+Ovaj tab vam pruža pristup dostupnim dodatcima i predlošcima za DokuWiki od treće strane. Molimo budite svjesni da instaliranje koda od treće strane može biti **sigurnosni rizik**, možda želite prvo pročitati o [[doku>security#plugin_security|sigurnosti dodataka]]. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/hr/intro_templates.txt b/lib/plugins/extension/lang/hr/intro_templates.txt
new file mode 100644
index 000000000..968906cf9
--- /dev/null
+++ b/lib/plugins/extension/lang/hr/intro_templates.txt
@@ -0,0 +1 @@
+Ovo su predlošci trenutno instalirani na Vašem DokuWiki-u. Možete odabrati koji se predložak koristi na [[?do=admin&page=config|Upravitelju postavki]]. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/hr/lang.php b/lib/plugins/extension/lang/hr/lang.php
new file mode 100644
index 000000000..890681301
--- /dev/null
+++ b/lib/plugins/extension/lang/hr/lang.php
@@ -0,0 +1,42 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Davor Turkalj <turki.bsc@gmail.com>
+ */
+$lang['menu'] = 'Upravitelj dodataka';
+$lang['tab_plugins'] = 'Instalirani dodatci';
+$lang['tab_templates'] = 'Instalirani predlošci';
+$lang['tab_search'] = 'Potraži i instaliraj';
+$lang['tab_install'] = 'Ručno instaliranje';
+$lang['notimplemented'] = 'Ova mogućnost još nije napravljena';
+$lang['notinstalled'] = 'Dodatak nije instaliran';
+$lang['alreadyenabled'] = 'Ovaj dodatak je već omogućen';
+$lang['alreadydisabled'] = 'Ovaj dodatak je već onemogućen';
+$lang['pluginlistsaveerror'] = 'Dogodila se greška pri snimanju liste dodataka';
+$lang['unknownauthor'] = 'Nepoznat autor';
+$lang['unknownversion'] = 'Nepoznata inačica';
+$lang['btn_info'] = 'Prikaži više informacija';
+$lang['btn_update'] = 'Ažuriraj';
+$lang['btn_uninstall'] = 'Ukloni';
+$lang['btn_enable'] = 'Omogući';
+$lang['btn_disable'] = 'Onemogući';
+$lang['btn_install'] = 'Postavi';
+$lang['btn_reinstall'] = 'Ponovno postavi';
+$lang['js']['reallydel'] = 'Zaista ukloniti ovo proširenje?';
+$lang['search_for'] = 'Pretraži proširenja';
+$lang['search'] = 'Pretraži';
+$lang['extensionby'] = '<strong>%s</strong> po %s';
+$lang['screenshot'] = 'Slika zaslona od %s';
+$lang['popularity'] = 'Popularnost: %s%%';
+$lang['homepage_link'] = 'Upute';
+$lang['bugs_features'] = 'Greške';
+$lang['tags'] = 'Oznake:';
+$lang['author_hint'] = 'Potraži dodatke od ovog autora';
+$lang['installed'] = 'Postavljeno:';
+$lang['downloadurl'] = 'URL adresa preuzimanja:';
+$lang['repository'] = 'Repozitorij:';
+$lang['unknown'] = '<em>nepoznat</em>';
+$lang['installed_version'] = 'Postavljena inačica:';
+$lang['install_date'] = 'Vaše zadnje osvježavanje:';
diff --git a/lib/plugins/popularity/lang/th/lang.php b/lib/plugins/popularity/lang/th/lang.php
index 3ae8a7890..f6a736a06 100644
--- a/lib/plugins/popularity/lang/th/lang.php
+++ b/lib/plugins/popularity/lang/th/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Thai language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Komgrit Niyomrath <n.komgrit@gmail.com>
* @author Kittithat Arnontavilas mrtomyum@gmail.com
* @author Kittithat Arnontavilas <mrtomyum@gmail.com>
diff --git a/lib/plugins/revert/lang/th/lang.php b/lib/plugins/revert/lang/th/lang.php
index 86e4f9ca4..7b6217b7c 100644
--- a/lib/plugins/revert/lang/th/lang.php
+++ b/lib/plugins/revert/lang/th/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Thai language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Komgrit Niyomrath <n.komgrit@gmail.com>
* @author Kittithat Arnontavilas mrtomyum@gmail.com
* @author Arthit Suriyawongkul <arthit@gmail.com>
diff --git a/lib/plugins/usermanager/lang/th/lang.php b/lib/plugins/usermanager/lang/th/lang.php
index eb88d7b91..d6e14f65f 100644
--- a/lib/plugins/usermanager/lang/th/lang.php
+++ b/lib/plugins/usermanager/lang/th/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Thai language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Komgrit Niyomrath <n.komgrit@gmail.com>
* @author Kittithat Arnontavilas mrtomyum@gmail.com
* @author Kittithat Arnontavilas <mrtomyum@gmail.com>