diff --git a/bin/striplangs.php b/bin/striplangs.php index 288859c6a2608403a1ead9ef4b0729fbcc95e8aa..40cef50634a3debbe364cf1b86a98ab0f639a98f 100644 --- a/bin/striplangs.php +++ b/bin/striplangs.php @@ -22,7 +22,7 @@ function usage($show_examples = false) { -h, --help get this help -x, --examples get also usage examples -k, --keep comma separated list of languages, -e is always implied - -e, --english keeps english, dummy to use without -k"; + -e, --english keeps english, dummy to use without -k\n"; if ( $show_examples ) { print "\n EXAMPLES diff --git a/inc/HTTPClient.php b/inc/HTTPClient.php index 372769b71c30569f1fef8d0ee818c7dc2f180cbd..fdf95d11372f7d81254278962481766eabbe39a9 100644 --- a/inc/HTTPClient.php +++ b/inc/HTTPClient.php @@ -368,6 +368,7 @@ class HTTPClient { unset($this->connections[$connectionId]); return false; } + usleep(1000); $r_headers .= fgets($socket,1024); }while(!preg_match('/\r?\n\r?\n$/',$r_headers)); diff --git a/inc/auth.php b/inc/auth.php index a480a4a8ab416f665920fd6231df5c20ec6ad993..eff984b3653cf14a319b65905da2aee1b46155d1 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -348,10 +348,11 @@ function auth_logoff($keepbc=false){ unset($_SERVER['REMOTE_USER']); $USERINFO=null; //FIXME + $cookieDir = empty($conf['cookiedir']) ? DOKU_REL : $conf['cookiedir']; if (version_compare(PHP_VERSION, '5.2.0', '>')) { - setcookie(DOKU_COOKIE,'',time()-600000,DOKU_REL,'',($conf['securecookie'] && is_ssl()),true); + setcookie(DOKU_COOKIE,'',time()-600000,$cookieDir,'',($conf['securecookie'] && is_ssl()),true); }else{ - setcookie(DOKU_COOKIE,'',time()-600000,DOKU_REL,'',($conf['securecookie'] && is_ssl())); + setcookie(DOKU_COOKIE,'',time()-600000,$cookieDir,'',($conf['securecookie'] && is_ssl())); } if($auth) $auth->logOff(); @@ -977,11 +978,12 @@ function auth_setCookie($user,$pass,$sticky) { // set cookie $cookie = base64_encode($user).'|'.((int) $sticky).'|'.base64_encode($pass); + $cookieDir = empty($conf['cookiedir']) ? DOKU_REL : $conf['cookiedir']; $time = $sticky ? (time()+60*60*24*365) : 0; //one year if (version_compare(PHP_VERSION, '5.2.0', '>')) { - setcookie(DOKU_COOKIE,$cookie,$time,DOKU_REL,'',($conf['securecookie'] && is_ssl()),true); + setcookie(DOKU_COOKIE,$cookie,$time,$cookieDir,'',($conf['securecookie'] && is_ssl()),true); }else{ - setcookie(DOKU_COOKIE,$cookie,$time,DOKU_REL,'',($conf['securecookie'] && is_ssl())); + setcookie(DOKU_COOKIE,$cookie,$time,$cookieDir,'',($conf['securecookie'] && is_ssl())); } // set session $_SESSION[DOKU_COOKIE]['auth']['user'] = $user; diff --git a/inc/common.php b/inc/common.php index 6d707e704e494cfebd4e2f23f9aae13a2a8de7cf..56a7fb060dc6c200c1f3aaf94805c888614db012 100644 --- a/inc/common.php +++ b/inc/common.php @@ -1008,16 +1008,8 @@ function saveWikiText($id,$text,$summary,$minor=false){ $newRev = saveOldRevision($id); // remove empty file @unlink($file); - // remove old meta info... - $mfiles = metaFiles($id); - $changelog = metaFN($id, '.changes'); - $metadata = metaFN($id, '.meta'); - $subscribers = metaFN($id, '.mlist'); - foreach ($mfiles as $mfile) { - // but keep per-page changelog to preserve page history, keep subscriber list and keep meta data - if (@file_exists($mfile) && $mfile!==$changelog && $mfile!==$metadata && $mfile!==$subscribers) { @unlink($mfile); } - } - // purge meta data + // don't remove old meta info as it should be saved, plugins can use IO_WIKIPAGE_WRITE for removing their metadata... + // purge non-persistant meta data p_purge_metadata($id); $del = true; // autoset summary on deletion diff --git a/inc/fulltext.php b/inc/fulltext.php index 6ab710d5494410cbc9e85ebddba6ceb4c6e60c28..62023729679949a7c10e1cd0a4c1dc62a2871793 100644 --- a/inc/fulltext.php +++ b/inc/fulltext.php @@ -135,7 +135,7 @@ function ft_backlinks($id){ // check ACL permissions foreach(array_keys($result) as $idx){ - if(auth_quickaclcheck($result[$idx]) < AUTH_READ){ + if(isHiddenPage($result[$idx]) || auth_quickaclcheck($result[$idx]) < AUTH_READ || !page_exists($result[$idx], '', false)){ unset($result[$idx]); } } diff --git a/inc/html.php b/inc/html.php index 51afe24f43bb6fb237d27bc6b192e5dfe60e035d..1c48d60594cb3479d78280e12b325c25fb7a78f2 100644 --- a/inc/html.php +++ b/inc/html.php @@ -904,16 +904,17 @@ function html_buildlist($data,$class,$func,$lifunc='html_li_default'){ return ''; } - $level = $data[0]['level']; - $opens = 0; + $start_level = $data[0]['level']; $ret = ''; - if ($level < 2) { + if ($start_level < 2) { // Trigger building a wrapper ul if the first level is // 0 (we have a root object) or 1 (just the root content) - --$level; + --$start_level; } + $level = $start_level; + foreach ($data as $item){ if( $item['level'] > $level ){ @@ -946,7 +947,7 @@ function html_buildlist($data,$class,$func,$lifunc='html_li_default'){ } //close remaining items and lists - for ($i=0; $i < $level; $i++){ + while(--$level >= $start_level) { $ret .= "</li></ul>\n"; } @@ -1380,7 +1381,7 @@ function html_edit(){ $form->addElement(form_makeOpenTag('div', array('class'=>'license'))); $out = $lang['licenseok']; $out .= ' <a href="'.$license[$conf['license']]['url'].'" rel="license" class="urlextern"'; - if(isset($conf['target']['extern'])) $out .= ' target="'.$conf['target']['extern'].'"'; + if($conf['target']['extern']) $out .= ' target="'.$conf['target']['extern'].'"'; $out .= '>'.$license[$conf['license']]['name'].'</a>'; $form->addElement($out); $form->addElement(form_makeCloseTag('div')); diff --git a/inc/init.php b/inc/init.php index e82e26efdc077fb298d0409c7d562a9d9d1eff93..b3acf2e33ced3cae2ac6d494c39b3857b4da18cc 100644 --- a/inc/init.php +++ b/inc/init.php @@ -146,10 +146,11 @@ if ($conf['gzip_output'] && // init session if (!headers_sent() && !defined('NOSESSION')){ session_name("DokuWiki"); + $cookieDir = empty($conf['cookiedir']) ? DOKU_REL : $conf['cookiedir']; if (version_compare(PHP_VERSION, '5.2.0', '>')) { - session_set_cookie_params(0,DOKU_REL,'',($conf['securecookie'] && is_ssl()),true); + session_set_cookie_params(0,$cookieDir,'',($conf['securecookie'] && is_ssl()),true); }else{ - session_set_cookie_params(0,DOKU_REL,'',($conf['securecookie'] && is_ssl())); + session_set_cookie_params(0,$cookieDir,'',($conf['securecookie'] && is_ssl())); } session_start(); diff --git a/inc/lang/ar/lang.php b/inc/lang/ar/lang.php index e5606c456ed606bff3c25feebcf035a2937ed5e1..ee330099b6b055deebbc624f1b9c29d9d36043c4 100644 --- a/inc/lang/ar/lang.php +++ b/inc/lang/ar/lang.php @@ -92,7 +92,7 @@ $lang['txt_filename'] = 'Ø±ÙØ¹ كـ (اختياري)'; $lang['txt_overwrt'] = 'اكتب على مل٠موجود'; $lang['lockedby'] = 'مقÙلة ØØ§Ù„يا لـ'; $lang['lockexpire'] = 'ينتهي القÙÙ„ ÙÙŠ'; -$lang['willexpire'] = 'سينتهي Ù‚ÙÙ„ ØªØØ±ÙŠØ± هذه Ø§Ù„ØµÙØÙ‡ خلال دقيقة.\nلتجنب التعارض استخدم زر المعاينة لتصÙير مؤقت القÙÙ„.'; +$lang['js']['willexpire'] = 'سينتهي Ù‚ÙÙ„ ØªØØ±ÙŠØ± هذه Ø§Ù„ØµÙØÙ‡ خلال دقيقة.\nلتجنب التعارض استخدم زر المعاينة لتصÙير مؤقت القÙÙ„.'; $lang['js']['notsavedyet'] = 'التعديلات غير المØÙوظة ستÙقد.'; $lang['js']['searchmedia'] = 'Ø§Ø¨ØØ« عن Ù…Ù„ÙØ§Øª'; $lang['js']['keepopen'] = 'أبقي Ø§Ù„Ù†Ø§ÙØ°Ø© Ù…ÙØªÙˆØØ© أثناء الاختيار'; diff --git a/inc/lang/az/lang.php b/inc/lang/az/lang.php index 35b18d3a76d62ed6a0ceebcd1d4a9f1230548ecd..302f24c166fb9326fc3385276cc42bc83a0792a9 100644 --- a/inc/lang/az/lang.php +++ b/inc/lang/az/lang.php @@ -92,7 +92,7 @@ $lang['txt_filename'] = 'Faylın wiki-dÉ™ olan adını daxil edin (müt $lang['txt_overwrt'] = 'Mövcud olan faylın üstündÉ™n yaz'; $lang['lockedby'] = 'Ð’ данный момент заблокирован Bu an blokdadır'; $lang['lockexpire'] = 'Blok bitir:'; -$lang['willexpire'] = 'Sizin bu sÉ™hifÉ™dÉ™ dÉ™yiÅŸik etmÉ™k üçün blokunuz bir dÉ™qiqÉ™ É™rzindÉ™ bitÉ™cÉ™k.\nMünaqiÅŸÉ™lÉ™rdÉ™n yayınmaq vÉ™ blokun taymerini sıfırlamaq üçün, baxış düymÉ™sini sıxın.'; +$lang['js']['willexpire'] = 'Sizin bu sÉ™hifÉ™dÉ™ dÉ™yiÅŸik etmÉ™k üçün blokunuz bir dÉ™qiqÉ™ É™rzindÉ™ bitÉ™cÉ™k.\nMünaqiÅŸÉ™lÉ™rdÉ™n yayınmaq vÉ™ blokun taymerini sıfırlamaq üçün, baxış düymÉ™sini sıxın.'; $lang['notsavedyet'] = 'YaddaÅŸa yazılmamış dÉ™yiÅŸiklÉ™r itÉ™cÉ™klÉ™r.\nSiz davam etmÉ™k istÉ™yirsiz?'; $lang['rssfailed'] = 'AÅŸağıda göstÉ™rilmiÅŸ xÉ™bÉ™r lentini É™ldÉ™ edÉ™n zaman xÉ™ta baÅŸ verdi: '; $lang['nothingfound'] = 'HeçnÉ™ tapılmadı.'; diff --git a/inc/lang/bg/lang.php b/inc/lang/bg/lang.php index 3f846028611016aff8abbd2fe93d9a7781a1ed0d..580f6d963bae1aeef3d903d804d52531ef36b809 100644 --- a/inc/lang/bg/lang.php +++ b/inc/lang/bg/lang.php @@ -91,7 +91,7 @@ $lang['txt_filename'] = 'Качи като (незадължителн $lang['txt_overwrt'] = 'Презапиши ÑъщеÑтвуващите файлове'; $lang['lockedby'] = 'Ð’ момента е заключена от'; $lang['lockexpire'] = 'Ще бъде отключена на'; -$lang['willexpire'] = 'Страницата ще бъде отключена за редактиране Ñлед минута.\nЗа предотвратÑване на конфликти, ползвайте бутона "Преглед", за реÑтартиране на броÑча за заключване.'; +$lang['js']['willexpire'] = 'Страницата ще бъде отключена за редактиране Ñлед минута.\nЗа предотвратÑване на конфликти, ползвайте бутона "Преглед", за реÑтартиране на броÑча за заключване.'; $lang['js']['notsavedyet'] = 'ÐезапиÑаните промени ще бъдат загубени. Желаете ли да продължите?'; $lang['js']['searchmedia'] = 'ТърÑене на файлове'; $lang['js']['keepopen'] = 'Без затварÑне на прозореца Ñлед избор'; diff --git a/inc/lang/ca-valencia/lang.php b/inc/lang/ca-valencia/lang.php index c6a7dc27e28b7ba222a07f34e3723e61da3dae6c..c9c15b12d55a38a691ce6247d9cb6125dba016ea 100644 --- a/inc/lang/ca-valencia/lang.php +++ b/inc/lang/ca-valencia/lang.php @@ -93,7 +93,7 @@ $lang['txt_filename'] = 'Enviar com (opcional)'; $lang['txt_overwrt'] = 'Sobreescriure archius existents'; $lang['lockedby'] = 'Actualment bloquejat per'; $lang['lockexpire'] = 'El bloqueig venç a les'; -$lang['willexpire'] = 'El seu bloqueig per a editar esta pà gina vencerà en un minut.\nPer a evitar conflictes utilise el botó de vista prèvia i reiniciarà el contador.'; +$lang['js']['willexpire'] = 'El seu bloqueig per a editar esta pà gina vencerà en un minut.\nPer a evitar conflictes utilise el botó de vista prèvia i reiniciarà el contador.'; $lang['js']['notsavedyet'] = "Els canvis no guardats es perdran.\n¿Segur que vol continuar?"; $lang['rssfailed'] = 'Ha ocorregut un erro al solicitar este canal: '; $lang['nothingfound'] = 'No s\'ha trobat res.'; diff --git a/inc/lang/ca/lang.php b/inc/lang/ca/lang.php index 342257d1187d1bd86c2f36b85cda6174cad11a2a..fbd1cb18a80ac6072430a91f4cc2e527e8308c85 100644 --- a/inc/lang/ca/lang.php +++ b/inc/lang/ca/lang.php @@ -93,7 +93,7 @@ $lang['txt_filename'] = 'Introduïu el nom wiki (opcional)'; $lang['txt_overwrt'] = 'Sobreescriu el fitxer actual'; $lang['lockedby'] = 'Actualment blocat per:'; $lang['lockexpire'] = 'Venciment del blocatge:'; -$lang['willexpire'] = 'El blocatge per a editar aquesta pà gina venç d\'aquà a un minut.\nUtilitzeu la visualització prèvia per reiniciar el rellotge i evitar conflictes.'; +$lang['js']['willexpire'] = 'El blocatge per a editar aquesta pà gina venç d\'aquà a un minut.\nUtilitzeu la visualització prèvia per reiniciar el rellotge i evitar conflictes.'; $lang['js']['notsavedyet'] = "Heu fet canvis que es perdran si no els deseu.\nVoleu continuar?"; $lang['rssfailed'] = 'S\'ha produït un error en recollir aquesta alimentació: '; $lang['nothingfound'] = 'No s\'ha trobat res.'; diff --git a/inc/lang/cs/lang.php b/inc/lang/cs/lang.php index e1c45e0c90b16cb893c3ddad56755e5678ca8894..eaefaadb5d76f99a3c436b4f8dbd807b8c9de7fa 100644 --- a/inc/lang/cs/lang.php +++ b/inc/lang/cs/lang.php @@ -95,7 +95,7 @@ $lang['txt_filename'] = 'Wiki jméno (volitelné)'; $lang['txt_overwrt'] = 'PÅ™epsat existujÃcà soubor'; $lang['lockedby'] = 'PrávÄ› zamknuto:'; $lang['lockexpire'] = 'Zámek vyprÅ¡Ã:'; -$lang['willexpire'] = 'Váš zámek pro editaci za chvÃli vyprÅ¡Ã.\nAbyste pÅ™edeÅ¡li konfliktům, stisknÄ›te tlaÄÃtko Náhled a zámek se prodloužÃ.'; +$lang['js']['willexpire'] = 'Váš zámek pro editaci za chvÃli vyprÅ¡Ã.\nAbyste pÅ™edeÅ¡li konfliktům, stisknÄ›te tlaÄÃtko Náhled a zámek se prodloužÃ.'; $lang['js']['notsavedyet'] = 'Jsou tu neuložené zmÄ›ny, které budou ztraceny. Chcete opravdu pokraÄovat?'; $lang['js']['searchmedia'] = 'Hledat soubory'; diff --git a/inc/lang/da/lang.php b/inc/lang/da/lang.php index 80d55d6f52fb584317295e61e214b1d5fde1ee59..614f2bdf2ef75a851b812842aaea98a603f2b033 100644 --- a/inc/lang/da/lang.php +++ b/inc/lang/da/lang.php @@ -98,7 +98,7 @@ $lang['txt_filename'] = 'Indtast wikinavn (valgfrit)'; $lang['txt_overwrt'] = 'Overskriv eksisterende fil'; $lang['lockedby'] = 'Midlertidig lÃ¥st af'; $lang['lockexpire'] = 'LÃ¥s udløber kl.'; -$lang['willexpire'] = 'Din lÃ¥s pÃ¥ dette dokument udløber om et minut.\nTryk pÃ¥ ForhÃ¥ndsvisning-knappen for at undgÃ¥ konflikter.'; +$lang['js']['willexpire'] = 'Din lÃ¥s pÃ¥ dette dokument udløber om et minut.\nTryk pÃ¥ ForhÃ¥ndsvisning-knappen for at undgÃ¥ konflikter.'; $lang['js']['notsavedyet'] = 'Ugemte ændringer vil blive mistet Fortsæt alligevel?'; $lang['js']['searchmedia'] = 'Søg efter filer'; diff --git a/inc/lang/de-informal/lang.php b/inc/lang/de-informal/lang.php index d39bf8152e907dab51ce80ffbb95eac7dbe07228..16686bc4cd2cb45a7f5adb71334f380363f3fa8c 100644 --- a/inc/lang/de-informal/lang.php +++ b/inc/lang/de-informal/lang.php @@ -103,7 +103,7 @@ $lang['txt_filename'] = 'Hochladen als (optional)'; $lang['txt_overwrt'] = 'Bestehende Datei überschreiben'; $lang['lockedby'] = 'Momentan gesperrt von'; $lang['lockexpire'] = 'Sperre läuft ab am'; -$lang['willexpire'] = 'Die Sperre zur Bearbeitung dieser Seite läuft in einer Minute ab.\nUm Bearbeitungskonflikte zu vermeiden, solltest du sie durch einen Klick auf den Vorschau-Knopf verlängern.'; +$lang['js']['willexpire'] = 'Die Sperre zur Bearbeitung dieser Seite läuft in einer Minute ab.\nUm Bearbeitungskonflikte zu vermeiden, solltest du sie durch einen Klick auf den Vorschau-Knopf verlängern.'; $lang['js']['notsavedyet'] = 'Nicht gespeicherte Änderungen gehen verloren!'; $lang['js']['searchmedia'] = 'Suche nach Dateien'; $lang['js']['keepopen'] = 'Fenster nach Auswahl nicht schließen'; diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php index f9f2509942f8502f14f626f8d14b626b4663ace8..3ae06dc7129a2f29bbcf80adfbaa08a65ab0ab6b 100644 --- a/inc/lang/de/lang.php +++ b/inc/lang/de/lang.php @@ -103,7 +103,7 @@ $lang['txt_filename'] = 'Hochladen als (optional)'; $lang['txt_overwrt'] = 'Bestehende Datei überschreiben'; $lang['lockedby'] = 'Momentan gesperrt von'; $lang['lockexpire'] = 'Sperre läuft ab am'; -$lang['willexpire'] = 'Die Sperre zur Bearbeitung dieser Seite läuft in einer Minute ab.\nUm Bearbeitungskonflikte zu vermeiden, sollten Sie sie durch einen Klick auf den Vorschau-Knopf verlängern.'; +$lang['js']['willexpire'] = 'Die Sperre zur Bearbeitung dieser Seite läuft in einer Minute ab.\nUm Bearbeitungskonflikte zu vermeiden, sollten Sie sie durch einen Klick auf den Vorschau-Knopf verlängern.'; $lang['js']['notsavedyet'] = 'Nicht gespeicherte Änderungen gehen verloren!'; $lang['js']['searchmedia'] = 'Suche Dateien'; $lang['js']['keepopen'] = 'Fenster nach Auswahl nicht schließen'; diff --git a/inc/lang/el/lang.php b/inc/lang/el/lang.php index 11c64285eacce8ef3aea920d159358aacfacc778..373dc5463e72d1345de5c6460cfa29d06a82b7ee 100644 --- a/inc/lang/el/lang.php +++ b/inc/lang/el/lang.php @@ -92,7 +92,7 @@ $lang['txt_filename'] = 'ΕπιλÎξτε νÎο όνομα αÏχεί $lang['txt_overwrt'] = 'Αντικατάσταση υπάÏχοντος αÏχείου'; $lang['lockedby'] = 'Î ÏοσωÏινά κλειδωμÎνο από'; $lang['lockexpire'] = 'Το κλείδωμα λήγει στις'; -$lang['willexpire'] = 'Το κλείδωμά σας για την επεξεÏγασία αυτής της σελίδας θα λήξει σε Îνα λεπτό.\n Για να το ανανεώσετε χÏησιμοποιήστε την Î Ïοεπισκόπηση.'; +$lang['js']['willexpire'] = 'Το κλείδωμά σας για την επεξεÏγασία αυτής της σελίδας θα λήξει σε Îνα λεπτό.\n Για να το ανανεώσετε χÏησιμοποιήστε την Î Ïοεπισκόπηση.'; $lang['js']['notsavedyet'] = 'Οι μη αποθηκευμÎνες αλλαγÎÏ‚ θα χαθοÏν. ΘÎλετε να συνεχίσετε;'; $lang['js']['searchmedia'] = 'Αναζήτηση για αÏχεία'; diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index 3406927fe8d5c8cb8d988c3a037f743e023522b6..6a02bbe0b6d6fb3cddf9f579418317c53bfe227a 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -100,7 +100,7 @@ $lang['txt_filename'] = 'Upload as (optional)'; $lang['txt_overwrt'] = 'Overwrite existing file'; $lang['lockedby'] = 'Currently locked by'; $lang['lockexpire'] = 'Lock expires at'; -$lang['willexpire'] = 'Your lock for editing this page is about to expire in a minute.\nTo avoid conflicts use the preview button to reset the locktimer.'; +$lang['js']['willexpire'] = 'Your lock for editing this page is about to expire in a minute.\nTo avoid conflicts use the preview button to reset the locktimer.'; $lang['js']['notsavedyet'] = "Unsaved changes will be lost."; $lang['rssfailed'] = 'An error occurred while fetching this feed: '; diff --git a/inc/lang/eo/lang.php b/inc/lang/eo/lang.php index 4bb1c005d3b2eb4378855a480c90d20dc93b0ed4..14bc56405799d5cdd677860b9a492047579d0bda 100644 --- a/inc/lang/eo/lang.php +++ b/inc/lang/eo/lang.php @@ -94,7 +94,7 @@ $lang['txt_filename'] = 'AlÅuti kiel (laÅvole)'; $lang['txt_overwrt'] = 'AnstataÅigi ekzistantan dosieron'; $lang['lockedby'] = 'Nune Ålosita de'; $lang['lockexpire'] = 'Åœlosado ĉesos en'; -$lang['willexpire'] = 'Vi povos redakti ĉi tiun paÄon post unu minuto.\nSe vi volas nuligi tempkontrolon de la Ålosado, do premu butonon "AntaÅrigardi".'; +$lang['js']['willexpire'] = 'Vi povos redakti ĉi tiun paÄon post unu minuto.\nSe vi volas nuligi tempkontrolon de la Ålosado, do premu butonon "AntaÅrigardi".'; $lang['js']['notsavedyet'] = 'Ne konservitaj modifoj perdiÄos. Ĉu vi certe volas daÅrigi la procezon?'; $lang['js']['searchmedia'] = 'Serĉi dosierojn'; diff --git a/inc/lang/es/lang.php b/inc/lang/es/lang.php index aad93c075b87af9479033545acb9ed7b20154397..5dc6834e6a5bc6cadd1d9afb378da80ae4877c55 100644 --- a/inc/lang/es/lang.php +++ b/inc/lang/es/lang.php @@ -109,7 +109,7 @@ $lang['txt_filename'] = 'Subir como (opcional)'; $lang['txt_overwrt'] = 'Sobreescribir archivo existente'; $lang['lockedby'] = 'Actualmente bloqueado por'; $lang['lockexpire'] = 'El bloqueo expira en'; -$lang['willexpire'] = 'Tu bloqueo para editar esta página expira en un minuto.\nPara evitar conflictos usa el botón previsualizar para reiniciar el contador de tiempo.'; +$lang['js']['willexpire'] = 'Tu bloqueo para editar esta página expira en un minuto.\nPara evitar conflictos usa el botón previsualizar para reiniciar el contador de tiempo.'; $lang['js']['notsavedyet'] = 'Los cambios que no se han guardado se perderán. ¿Realmente quieres continuar?'; $lang['js']['searchmedia'] = 'Buscar archivos'; diff --git a/inc/lang/et/lang.php b/inc/lang/et/lang.php index 180a50c0912be7a5a3604bf4a92c5d3bff6788aa..66fab3f9ab9290eac650fbf70be08b41415a866b 100644 --- a/inc/lang/et/lang.php +++ b/inc/lang/et/lang.php @@ -92,7 +92,7 @@ $lang['txt_filename'] = 'Siseta oma Wikinimi (soovituslik)'; $lang['txt_overwrt'] = 'Kirjutan olemasoleva faili üle'; $lang['lockedby'] = 'Praegu on selle lukustanud'; $lang['lockexpire'] = 'Lukustus aegub'; -$lang['willexpire'] = 'Teie lukustus selle lehe toimetamisele aegub umbes minuti pärast.\nIgasugu probleemide vältimiseks kasuta eelvaate nuppu, et lukustusarvesti taas tööle panna.'; +$lang['js']['willexpire'] = 'Teie lukustus selle lehe toimetamisele aegub umbes minuti pärast.\nIgasugu probleemide vältimiseks kasuta eelvaate nuppu, et lukustusarvesti taas tööle panna.'; $lang['js']['notsavedyet'] = 'Sul on seal salvestamata muudatusi, mis kohe kõige kaduva teed lähevad. Kas Sa ikka tahad edasi liikuda?'; $lang['js']['searchmedia'] = 'Otsi faile'; diff --git a/inc/lang/eu/lang.php b/inc/lang/eu/lang.php index e49290e5e825bfe67d6e853c5a53297ed1e340aa..30dfe9e5b86a280d1d721ff4835f52f3f16ffe21 100644 --- a/inc/lang/eu/lang.php +++ b/inc/lang/eu/lang.php @@ -90,7 +90,7 @@ $lang['txt_filename'] = 'Idatzi wikiname-a (aukerazkoa)'; $lang['txt_overwrt'] = 'Oraingo fitxategiaren gainean idatzi'; $lang['lockedby'] = 'Momentu honetan blokeatzen:'; $lang['lockexpire'] = 'Blokeaketa iraungitzen da:'; -$lang['willexpire'] = 'Zure blokeaketa orri hau aldatzeko minutu batean iraungitzen da.\nGatazkak saihesteko, aurreikusi botoia erabili blokeaketa denboragailua berrabiarazteko.'; +$lang['js']['willexpire'] = 'Zure blokeaketa orri hau aldatzeko minutu batean iraungitzen da.\nGatazkak saihesteko, aurreikusi botoia erabili blokeaketa denboragailua berrabiarazteko.'; $lang['js']['notsavedyet'] = 'Gorde gabeko aldaketak galdu egingo dira. Benetan jarraitu nahi duzu?'; $lang['js']['searchmedia'] = 'Bilatu fitxategiak'; diff --git a/inc/lang/fa/lang.php b/inc/lang/fa/lang.php index 96374b409e0c0794718bbd2c964069898812e685..1a7467431f66a1e9d78750a4b635cdbdde825071 100644 --- a/inc/lang/fa/lang.php +++ b/inc/lang/fa/lang.php @@ -97,7 +97,7 @@ $lang['txt_filename'] = 'ارسال به صورت (اختیاری)'; $lang['txt_overwrt'] = 'بر روی ÙØ§ÛŒÙ„ موجود بنویس'; $lang['lockedby'] = 'در ØØ§Ù„ ØØ§Ø¶Ø± Ù‚ÙÙ„ شده است'; $lang['lockexpire'] = 'Ù‚ÙÙ„ منقضی شده است'; -$lang['willexpire'] = 'ØØ§Ù„ت Ù‚ÙÙ„ شما مدتی است منقضی شده است \n برای جلوگیری از تداخل دکمه‌ی پیش‌نمایش را برای ØµÙØ± شدن ساعت Ù‚ÙÙ„ بزنید.'; +$lang['js']['willexpire'] = 'ØØ§Ù„ت Ù‚ÙÙ„ شما مدتی است منقضی شده است \n برای جلوگیری از تداخل دکمه‌ی پیش‌نمایش را برای ØµÙØ± شدن ساعت Ù‚ÙÙ„ بزنید.'; $lang['js']['notsavedyet'] = 'تغییرات ذخیره شده از بین خواهد Ø±ÙØª. می‌خواهید ادامه دهید؟'; $lang['js']['searchmedia'] = 'جستجو برای ÙØ§ÛŒÙ„'; diff --git a/inc/lang/fi/lang.php b/inc/lang/fi/lang.php index 35f7b3c096d9169c21b584124a77d4f0438da5f2..a2f2e2027fbbfed4f0563d338468af72b03d5dfb 100644 --- a/inc/lang/fi/lang.php +++ b/inc/lang/fi/lang.php @@ -7,6 +7,7 @@ * @author Matti Pöllä <mpo@iki.fi> * @author Otto Vainio <otto@valjakko.net> * @author Teemu Mattila <ghcsystems@gmail.com> + * @author Sami Olmari <sami@olmari.fi> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -92,7 +93,7 @@ $lang['txt_filename'] = 'Lähetä nimellä (valinnainen)'; $lang['txt_overwrt'] = 'Ylikirjoita olemassa oleva'; $lang['lockedby'] = 'Tällä hetkellä tiedoston on lukinnut'; $lang['lockexpire'] = 'Lukitus päättyy'; -$lang['willexpire'] = 'Lukituksesi tämän sivun muokkaukseen päättyy minuutin kuluttua.\nRistiriitojen välttämiseksi paina esikatselu-nappia nollataksesi lukitusajan.'; +$lang['js']['willexpire'] = 'Lukituksesi tämän sivun muokkaukseen päättyy minuutin kuluttua.\nRistiriitojen välttämiseksi paina esikatselu-nappia nollataksesi lukitusajan.'; $lang['js']['notsavedyet'] = 'Dokumentissa on tallentamattomia muutoksia, jotka häviävät. Haluatko varmasti jatkaa?'; $lang['js']['searchmedia'] = 'Etsi tiedostoja'; diff --git a/inc/lang/fo/lang.php b/inc/lang/fo/lang.php index 3d4d0455b5c473ed7126797fc1f53b6cd4448d6e..4cb895f72a6376d733a4cce6f28fafa2e43d419d 100644 --- a/inc/lang/fo/lang.php +++ b/inc/lang/fo/lang.php @@ -90,7 +90,7 @@ $lang['txt_filename'] = 'Sláa inn wikinavn (valfrÃtt)'; $lang['txt_overwrt'] = 'Yvurskriva verandi fÃlu'; $lang['lockedby'] = 'Fyribils læst av'; $lang['lockexpire'] = 'Lásið ferð úr gildi kl.'; -$lang['willexpire'] = 'TÃtt lás á hetta skjalið ferð úr gildi um ein minnutt.\nTrýst á Forskoðan-knappin fyri at sleppa undan trupulleikum.'; +$lang['js']['willexpire'] = 'TÃtt lás á hetta skjalið ferð úr gildi um ein minnutt.\nTrýst á Forskoðan-knappin fyri at sleppa undan trupulleikum.'; $lang['js']['notsavedyet'] = 'Tað eru gjørdar broytingar à skjalinum, um tú haldur fram vilja broytingar fara fyri skeytið. Ynskir tú at halda fram?'; $lang['js']['searchmedia'] = 'Leita eftir dátufÃlum'; diff --git a/inc/lang/fr/lang.php b/inc/lang/fr/lang.php index 40384fecbdb92d154ffc9fa5f60974291ee3c7d2..ae082e9e73c64f6d9af1793b1594c8f57a1e414c 100644 --- a/inc/lang/fr/lang.php +++ b/inc/lang/fr/lang.php @@ -21,6 +21,7 @@ * @author Florian Gaub <floriang@floriang.net> * @author Samuel Dorsaz <samuel.dorsaz@novelion.net> * @author Johan Guilbaud <guilbaud.johan@gmail.com> + * @author schplurtz@laposte.net */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -106,7 +107,7 @@ $lang['txt_filename'] = 'Donnez un « wikiname » (optionnel) '; $lang['txt_overwrt'] = 'Écraser le fichier cible'; $lang['lockedby'] = 'Actuellement bloqué par'; $lang['lockexpire'] = 'Le blocage expire à '; -$lang['willexpire'] = 'Votre blocage pour modifier cette page expire dans une minute.\nPour éviter les conflits, utiliser le bouton « Aperçu » pour réinitialiser le minuteur.'; +$lang['js']['willexpire'] = 'Votre blocage pour modifier cette page expire dans une minute.\nPour éviter les conflits, utiliser le bouton « Aperçu » pour réinitialiser le minuteur.'; $lang['js']['notsavedyet'] = 'Les modifications non enregistrées seront perdues. Voulez-vous vraiment continuer ?'; $lang['js']['searchmedia'] = 'Chercher des fichiers'; @@ -121,10 +122,10 @@ $lang['js']['mediaclose'] = 'Fermer'; $lang['js']['mediainsert'] = 'Insérer'; $lang['js']['mediadisplayimg'] = 'Afficher l\'image.'; $lang['js']['mediadisplaylnk'] = 'N\'afficher que le lien.'; -$lang['js']['mediasmall'] = 'Petite version'; -$lang['js']['mediamedium'] = 'Version moyenne'; -$lang['js']['medialarge'] = 'Grande version'; -$lang['js']['mediaoriginal'] = 'Version originale'; +$lang['js']['mediasmall'] = 'Petite taille'; +$lang['js']['mediamedium'] = 'taille moyenne'; +$lang['js']['medialarge'] = 'Grande taille'; +$lang['js']['mediaoriginal'] = 'taille d\'origine'; $lang['js']['medialnk'] = 'Lien vers la page de détail'; $lang['js']['mediadirect'] = 'Lien direct vers l\'original'; $lang['js']['medianolnk'] = 'Aucun lien'; diff --git a/inc/lang/gl/lang.php b/inc/lang/gl/lang.php index 37cf55d226278b55f916a692b387e87951657365..a3caeff6dfd0ff238851bf0b576e7007fbaab0cb 100644 --- a/inc/lang/gl/lang.php +++ b/inc/lang/gl/lang.php @@ -89,7 +89,7 @@ $lang['txt_filename'] = 'Subir como (opcional)'; $lang['txt_overwrt'] = 'Sobrescribir arquivo existente'; $lang['lockedby'] = 'Bloqueado actualmente por'; $lang['lockexpire'] = 'O bloqueo remata o'; -$lang['willexpire'] = 'O teu bloqueo para editares esta páxina vai caducar nun minuto.\nPara de evitar conflitos, emprega o botón de previsualización para reiniciares o contador do tempo de bloqueo.'; +$lang['js']['willexpire'] = 'O teu bloqueo para editares esta páxina vai caducar nun minuto.\nPara de evitar conflitos, emprega o botón de previsualización para reiniciares o contador do tempo de bloqueo.'; $lang['js']['notsavedyet'] = "Perderanse os trocos non gardados.\nEstá certo de quereres continuar?"; $lang['rssfailed'] = 'Houbo un erro ao tentar obter esta corrente RSS: '; $lang['nothingfound'] = 'Non se atopou nada.'; diff --git a/inc/lang/he/lang.php b/inc/lang/he/lang.php index 1a47ebcb8dd2b5e41542772bd80fac3adc70dea3..589088320cafd4167974682cb971517d181d3361 100644 --- a/inc/lang/he/lang.php +++ b/inc/lang/he/lang.php @@ -95,7 +95,7 @@ $lang['txt_filename'] = 'העל××” ×‘×©× (× ×ª×•×Ÿ לבחירה)'; $lang['txt_overwrt'] = 'שכתוב על קובץ ×§×™×™×'; $lang['lockedby'] = '× ×¢×•×œ על ידי'; $lang['lockexpire'] = '×”× ×¢×™×œ×” פגה'; -$lang['willexpire'] = '×”× ×¢×™×œ×” תחלוף עוד זמן קצר. \n×œ×ž× ×™×¢×ª ×”×ª× ×’×©×•×™×•×ª יש להשתמש בכפתור ×”×¨×¢× ×•×Ÿ מטה כדי ל×פס ×ת מד משך ×”× ×¢×™×œ×”.'; +$lang['js']['willexpire'] = '×”× ×¢×™×œ×” תחלוף עוד זמן קצר. \n×œ×ž× ×™×¢×ª ×”×ª× ×’×©×•×™×•×ª יש להשתמש בכפתור ×”×¨×¢× ×•×Ÿ מטה כדי ל×פס ×ת מד משך ×”× ×¢×™×œ×”.'; $lang['js']['notsavedyet'] = '×©×™× ×•×™×™× ×©×œ× × ×©×ž×¨×• ילכו ל×יבוד.'; $lang['js']['searchmedia'] = 'חיפוש ×חר קבצי×'; $lang['js']['keepopen'] = 'הש×רת חלון פתוח על הבחירה'; diff --git a/inc/lang/hr/lang.php b/inc/lang/hr/lang.php index a42e8c96ffca9315c1a8165aaecde3d7b14ab883..a85214cf72519abd534e0949c1911eef38e1593c 100644 --- a/inc/lang/hr/lang.php +++ b/inc/lang/hr/lang.php @@ -6,6 +6,7 @@ * @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 */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -19,7 +20,7 @@ $lang['btn_source'] = 'Prikaži kod dokumenta'; $lang['btn_show'] = 'Prikaži dokument'; $lang['btn_create'] = 'Novi dokument'; $lang['btn_search'] = 'Pretraži'; -$lang['btn_save'] = 'Snimi'; +$lang['btn_save'] = 'Spremi'; $lang['btn_preview'] = 'Prikaži'; $lang['btn_top'] = 'Na vrh'; $lang['btn_newer'] = '<< noviji'; @@ -39,15 +40,13 @@ $lang['btn_back'] = 'Povratak'; $lang['btn_backlink'] = 'Povratni linkovi'; $lang['btn_backtomedia'] = 'Povratak na Mediafile izbornik'; $lang['btn_subscribe'] = 'Pretplati se na promjene dokumenta'; -$lang['btn_unsubscribe'] = 'Odjavi pretplatu o promjenama dokumenta'; -$lang['btn_subscribens'] = 'Pretplati se na promjene imenskog prostora'; -$lang['btn_unsubscribens'] = 'Odjavi pretplatu o promjenama imenskog prostora'; $lang['btn_profile'] = 'Ažuriraj profil'; $lang['btn_reset'] = 'PoniÅ¡ti promjene'; $lang['btn_resendpwd'] = 'PoÅ¡alji 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['loggedinas'] = 'Prijavljen kao'; $lang['user'] = 'KorisniÄko ime'; @@ -86,13 +85,45 @@ $lang['resendpwdconfirm'] = 'Potvrdni link je poslan emailom.'; $lang['resendpwdsuccess'] = 'Nova lozinka je poslana emailom.'; $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: '; +$lang['searchmedia'] = 'Traži naziv datoteke:'; +$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['lockedby'] = 'ZakljuÄao'; $lang['lockexpire'] = 'ZakljuÄano do'; -$lang['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.\nŽelite li nastaviti?"; +$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'; +$lang['js']['keepopen'] = 'Ostavi prozor otvoren nakon izbora'; +$lang['js']['hidedetails'] = 'Sakrij detalje'; +$lang['js']['mediatitle'] = 'Postavke poveznice'; +$lang['js']['mediadisplay'] = 'Vrsta poveznice'; +$lang['js']['mediaalign'] = 'Poravnanje'; +$lang['js']['mediasize'] = 'VeliÄina slike'; +$lang['js']['mediatarget'] = 'Cilj poveznice'; +$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']['medialnk'] = 'Poveznica na stranicu s detaljima'; +$lang['js']['mediadirect'] = 'Direktna poveznica na original'; +$lang['js']['medianolnk'] = 'Bez poveznice'; +$lang['js']['medianolink'] = 'Nemoj povezati sliku'; +$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']['linkwiz'] = 'ÄŒarobnjak za poveznice'; +$lang['js']['linkto'] = 'Poveznica na:'; +$lang['js']['del_confirm'] = 'Zbilja želite obrisati odabrane stavke?'; +$lang['js']['mu_btn'] = 'Postavi viÅ¡e datoteka odjednom'; $lang['rssfailed'] = 'DoÅ¡lo je do greÅ¡ke prilikom preuzimanja feed-a: '; $lang['nothingfound'] = 'Traženi dokumetni nisu pronaÄ‘eni.'; $lang['mediaselect'] = 'Mediafile datoteke'; @@ -110,10 +141,7 @@ $lang['deletefail'] = '"%s" se ne može obrisati - provjerite dozvole $lang['mediainuse'] = 'Datoteka "%s" nije obrisana - joÅ¡ uvijek se koristi.'; $lang['namespaces'] = 'Imenski prostori'; $lang['mediafiles'] = 'Datoteke u'; -$lang['js']['keepopen'] = 'Ostavi prozor otvoren nakon izbora'; -$lang['js']['hidedetails'] = 'Sakrij detalje'; -$lang['js']['nosmblinks'] = 'Linkovi na dijeljene Windows mape rade samo s Internet Explorerom. Link je joÅ¡ uvijek moguće kopirati i zalijepiti.'; -$lang['js']['mu_btn'] = 'Postavi viÅ¡e datoteka odjednom'; +$lang['accessdenied'] = 'Nemate potrebne dozvole za pregled ove stranice.'; $lang['mediausage'] = 'Koristi sljedeću sintaksu za referenciranje ove datoteke:'; $lang['mediaview'] = 'Pregledaj originalnu datoteku'; $lang['mediaroot'] = 'root'; @@ -129,6 +157,10 @@ $lang['current'] = 'trenutno'; $lang['yours'] = 'VaÅ¡a inaÄica'; $lang['diff'] = 'Prikaži razlike u odnosu na trenutnu inaÄicu'; $lang['diff2'] = 'Pokaži razlike izmeÄ‘u odabranih inaÄica'; +$lang['difflink'] = 'Poveznica na ovaj prikaz usporedbe'; +$lang['diff_type'] = 'Razlike u prikazu:'; +$lang['diff_inline'] = 'U istoj razini'; +$lang['diff_side'] = 'Usporedo'; $lang['line'] = 'Redak'; $lang['breadcrumb'] = 'Putanja'; $lang['youarehere'] = 'Vi ste ovdje'; @@ -140,8 +172,10 @@ $lang['restored'] = 'vraćena prijaÅ¡nja inaÄica'; $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['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['qb_bold'] = 'Podebljani tekst'; @@ -168,7 +202,7 @@ $lang['qb_media'] = 'Dodaj slike i ostale datoteke'; $lang['qb_sig'] = 'Potpis'; $lang['qb_smileys'] = 'SmijeÅ¡kići'; $lang['qb_chars'] = 'Posebni znakovi'; -$lang['js']['del_confirm'] = 'Zbilja želite obrisati odabrane stavke?'; +$lang['upperns'] = 'SkoÄi u nadreÄ‘eni imenski prostor'; $lang['admin_register'] = 'Dodaj novog korisnika'; $lang['metaedit'] = 'Uredi metapodatake'; $lang['metasaveerr'] = 'NeuspjeÅ¡no zapisivanje metapodataka'; @@ -184,11 +218,22 @@ $lang['img_copyr'] = 'Autorsko pravo'; $lang['img_format'] = 'Format'; $lang['img_camera'] = 'Kamera'; $lang['img_keywords'] = 'KljuÄne rijeÄi'; -$lang['subscribe_success'] = 'Dodan %s na listu preplata za %s'; -$lang['subscribe_error'] = 'GreÅ¡ka prilikom dodavanju %s na listu pretplata za %s'; -$lang['subscribe_noaddress'] = 'Nije postavljena email adresa za vaÅ¡ korisniÄki profil, nije Vas moguće dodati na listu pretplata'; -$lang['unsubscribe_success'] = 'Izbrisan %s s liste pretplata za %s'; -$lang['unsubscribe_error'] = 'GreÅ¡ka prilikom brisanja %s s liste pretplatnika za %s'; +$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'; +$lang['subscr_unsubscribe_success'] = 'Uklonjen %s iz liste pretplatnika za %s'; +$lang['subscr_unsubscribe_error'] = 'GreÅ¡ka prilikom uklanjanja %s iz liste pretplatnika za %s'; +$lang['subscr_already_subscribed'] = '%s je već pretplaćen na %s'; +$lang['subscr_not_subscribed'] = '%s nije pretplaćen na %s'; +$lang['subscr_m_not_subscribed'] = 'Trenutno niste pretplaćeni na trenutnu stranicu ili imenski prostor.'; +$lang['subscr_m_new_header'] = 'Dodaj pretplatu'; +$lang['subscr_m_current_header'] = 'Trenutne pretplate'; +$lang['subscr_m_unsubscribe'] = 'Odjavi pretplatu'; +$lang['subscr_m_subscribe'] = 'Pretplati se'; +$lang['subscr_m_receive'] = 'Primaj'; +$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['authmodfailed'] = 'GreÅ¡ka u konfiguraciji korisniÄke autentifikacije. Molimo Vas da kontaktirate administratora.'; $lang['authtempfail'] = 'Autentifikacija korisnika je privremeno nedostupna. Molimo Vas da kontaktirate administratora.'; $lang['i_chooselang'] = 'Izaberite vaÅ¡ jezik'; @@ -198,3 +243,42 @@ $lang['i_enableacl'] = 'Omogući ACL (preporuÄeno)'; $lang['i_superuser'] = 'Superkorisnik'; $lang['i_problems'] = 'Instalacija je pronaÅ¡la probleme koji su naznaÄeni ispod. Nije moguće nastaviti dok se ti problemi ne rijeÅ¡e.'; $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_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">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">vaÅ¡ novi DokuWiki</a>.'; +$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_retry'] = 'PokuÅ¡aj ponovo'; +$lang['i_license'] = 'Molim odaberite licencu pod kojom želite postavljati vaÅ¡ sadržaj:'; +$lang['mu_intro'] = 'Ovdje možeÅ¡ uÄitati viÅ¡e datoteka odjednom. Klikni gumb pregled te ih dodajte u red. Pritisnite uÄitaj kad ste gotovi.'; +$lang['mu_gridname'] = 'Naziv datoteke'; +$lang['mu_gridsize'] = 'VeliÄina'; +$lang['mu_gridstat'] = 'Status'; +$lang['mu_namespace'] = 'Imenski prostor'; +$lang['mu_browse'] = 'Pregled'; +$lang['mu_toobig'] = 'prevelik'; +$lang['mu_ready'] = 'spremno za uÄitavanje'; +$lang['mu_done'] = 'gotovo'; +$lang['mu_fail'] = 'nije uspio'; +$lang['mu_authfail'] = 'sjednica istekla'; +$lang['mu_progress'] = '@PCT@% uÄitan'; +$lang['mu_filetypes'] = 'Dozvoljeni tipovi datoteka'; +$lang['mu_info'] = 'datoteke uÄitane.'; +$lang['mu_lasterr'] = 'Posljednja greÅ¡ka:'; +$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'; +$lang['weeks'] = '%d tjedana prije'; +$lang['days'] = '%d dana prije'; +$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).'; diff --git a/inc/lang/hr/read.txt b/inc/lang/hr/read.txt index d036c0a7bf4f6235e3e8e516325eae80f324c1e4..221f1b200ad058659765104ed4d4594fcbac16b5 100644 --- a/inc/lang/hr/read.txt +++ b/inc/lang/hr/read.txt @@ -1 +1 @@ -Nije dopuÅ¡teno mijenjati sadržaj ove stranice. +Ova stranica se može samo Äitati. Možete vidjeti kod, ali ga ne možete mijenjati. Javite se vaÅ¡em administratoru ako se s tim ne slažete. \ No newline at end of file diff --git a/inc/lang/hr/resendpwd.txt b/inc/lang/hr/resendpwd.txt index fe2c72bf3dd0256efeae5525c8a4df2c10ba0ab2..ed25f985c2ee9b19e9d6f2fcbcdcebb251b588d2 100644 --- a/inc/lang/hr/resendpwd.txt +++ b/inc/lang/hr/resendpwd.txt @@ -1,3 +1,3 @@ ====== Slanje nove lozinke ====== -Ispunite potrebne podatke da biste dobili novu lozinku za VaÅ¡ korisniÄki raÄun. +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. diff --git a/inc/lang/hu/lang.php b/inc/lang/hu/lang.php index 35e810ff061a0aebef102fcec49ca29012e9a23c..89ad779488fca245aafecc1f17d11e27529c8e2d 100644 --- a/inc/lang/hu/lang.php +++ b/inc/lang/hu/lang.php @@ -95,7 +95,7 @@ $lang['txt_filename'] = 'feltöltési név (elhagyható)'; $lang['txt_overwrt'] = 'LétezÅ‘ fájl felülÃrása'; $lang['lockedby'] = 'Jelenleg zárolta:'; $lang['lockexpire'] = 'A zárolás lejár:'; -$lang['willexpire'] = 'Az oldalszerkesztési zárolásod körülbelül egy percen belül lejár.\nAz ütközések elkerülése végett használd az elÅ‘nézet gombot a zárolási idÅ‘zÃtés frissÃtéséhez.'; +$lang['js']['willexpire'] = 'Az oldalszerkesztési zárolásod körülbelül egy percen belül lejár.\nAz ütközések elkerülése végett használd az elÅ‘nézet gombot a zárolási idÅ‘zÃtés frissÃtéséhez.'; $lang['js']['notsavedyet'] = 'Elmentetlen változások vannak, amelyek el fognak veszni. Tényleg ezt akarod?'; $lang['js']['searchmedia'] = 'Fájlok keresése'; diff --git a/inc/lang/ia/lang.php b/inc/lang/ia/lang.php index bdfef88f4635f7b89bcf4bf0451f5883913f4994..abf1e67869afdc9377a8796a609e7f6b916ef2c2 100644 --- a/inc/lang/ia/lang.php +++ b/inc/lang/ia/lang.php @@ -95,7 +95,7 @@ $lang['txt_filename'] = 'Incargar como (optional)'; $lang['txt_overwrt'] = 'Reimplaciar le file existente'; $lang['lockedby'] = 'Actualmente serrate per'; $lang['lockexpire'] = 'Serratura expira le'; -$lang['willexpire'] = 'Tu serratura super le modification de iste pagina expirara post un minuta.\nPro evitar conflictos, usa le button Previsualisar pro reinitialisar le timer del serratura.'; +$lang['js']['willexpire'] = 'Tu serratura super le modification de iste pagina expirara post un minuta.\nPro evitar conflictos, usa le button Previsualisar pro reinitialisar le timer del serratura.'; $lang['js']['notsavedyet'] = "Le modificationes non salveguardate essera perdite.\nRealmente continuar?"; $lang['rssfailed'] = 'Un error occurreva durante le obtention de iste syndication:'; $lang['nothingfound'] = 'Nihil ha essite trovate.'; diff --git a/inc/lang/id/lang.php b/inc/lang/id/lang.php index c1480f51869521ff02f872f40214ae7d182e6f60..e8026aceec9005ab3cefccc556824a52b53bafcd 100644 --- a/inc/lang/id/lang.php +++ b/inc/lang/id/lang.php @@ -85,7 +85,7 @@ $lang['txt_filename'] = 'Masukkan nama wiki (opsional)'; $lang['txt_overwrt'] = 'File yang telah ada akan ditindih'; $lang['lockedby'] = 'Sedang dikunci oleh'; $lang['lockexpire'] = 'Penguncian artikel sampai dengan'; -$lang['willexpire'] = 'Halaman yang sedang Anda kunci akan berakhir dalam waktu kurang lebih satu menit.\nUntuk menghindari konflik, gunakan tombol Preview untuk me-reset timer pengunci.'; +$lang['js']['willexpire'] = 'Halaman yang sedang Anda kunci akan berakhir dalam waktu kurang lebih satu menit.\nUntuk menghindari konflik, gunakan tombol Preview untuk me-reset timer pengunci.'; $lang['js']['notsavedyet'] = "Perubahan yang belum disimpan akan hilang.\nYakin akan dilanjutkan?"; $lang['rssfailed'] = 'Error terjadi saat mengambil feed: '; $lang['nothingfound'] = 'Tidak menemukan samasekali.'; diff --git a/inc/lang/it/lang.php b/inc/lang/it/lang.php index 682f5b8c2f77b795718b7869add882919f1ceeec..8812b148db934c90cfb59d07fbc9a90c99ca72ad 100644 --- a/inc/lang/it/lang.php +++ b/inc/lang/it/lang.php @@ -98,7 +98,7 @@ $lang['txt_filename'] = 'Carica come (opzionale)'; $lang['txt_overwrt'] = 'Sovrascrivi file esistente'; $lang['lockedby'] = 'Attualmente bloccato da'; $lang['lockexpire'] = 'Il blocco scade alle'; -$lang['willexpire'] = 'Il tuo blocco su questa pagina scadrà tra circa un minuto.\nPer evitare incongruenze usa il pulsante di anteprima per prolungare il periodo di blocco.'; +$lang['js']['willexpire'] = 'Il tuo blocco su questa pagina scadrà tra circa un minuto.\nPer evitare incongruenze usa il pulsante di anteprima per prolungare il periodo di blocco.'; $lang['js']['notsavedyet'] = 'Le modifiche non salvate andranno perse.'; $lang['js']['searchmedia'] = 'Cerca file'; $lang['js']['keepopen'] = 'Tieni la finestra aperta durante la selezione'; diff --git a/inc/lang/ja/lang.php b/inc/lang/ja/lang.php index e8999e05bca51918c09788c22c50a6d83891db43..b0b93450eebe3bf6a5eed9403524ee6fe0a24857 100644 --- a/inc/lang/ja/lang.php +++ b/inc/lang/ja/lang.php @@ -92,7 +92,7 @@ $lang['txt_filename'] = 'åå‰ã‚’変更ã—ã¦ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰ï¼ˆã‚ª $lang['txt_overwrt'] = 'æ—¢å˜ã®ãƒ•ァイルを上書ã'; $lang['lockedby'] = 'ã“ã®æ–‡æ›¸ã¯æ¬¡ã®ãƒ¦ãƒ¼ã‚¶ã«ã‚ˆã£ã¦ãƒãƒƒã‚¯ã•れã¦ã„ã¾ã™'; $lang['lockexpire'] = 'ãƒãƒƒã‚¯æœŸé™ï¼š'; -$lang['willexpire'] = '編集ä¸ã®æ–‡æ›¸ã¯ãƒãƒƒã‚¯æœŸé™ã‚’éŽãŽã‚ˆã†ã¨ã—ã¦ã„ã¾ã™ã€‚ã“ã®ã¾ã¾ãƒãƒƒã‚¯ã™ã‚‹å ´åˆã¯ã€ä¸€åº¦æ–‡æ›¸ã®ç¢ºèªã‚’行ã£ã¦æœŸé™ã‚’リセットã—ã¦ãã ã•ã„。'; +$lang['js']['willexpire'] = '編集ä¸ã®æ–‡æ›¸ã¯ãƒãƒƒã‚¯æœŸé™ã‚’éŽãŽã‚ˆã†ã¨ã—ã¦ã„ã¾ã™ã€‚ã“ã®ã¾ã¾ãƒãƒƒã‚¯ã™ã‚‹å ´åˆã¯ã€ä¸€åº¦æ–‡æ›¸ã®ç¢ºèªã‚’行ã£ã¦æœŸé™ã‚’リセットã—ã¦ãã ã•ã„。'; $lang['js']['notsavedyet'] = '変更ã¯ä¿å˜ã•れã¾ã›ã‚“。ã“ã®ã¾ã¾å‡¦ç†ã‚’ç¶šã‘ã¦ã‚ˆã‚ã—ã„ã§ã™ã‹ï¼Ÿ'; $lang['js']['searchmedia'] = 'ファイル検索'; $lang['js']['keepopen'] = 'é¸æŠžä¸ã¯ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’é–‰ã˜ãªã„'; diff --git a/inc/lang/kk/lang.php b/inc/lang/kk/lang.php index 2b492ed1cb611ff629dfcc640e42568f75eb155c..f9ea0bced86ca910cf361c58b11e2bd793f7409c 100644 --- a/inc/lang/kk/lang.php +++ b/inc/lang/kk/lang.php @@ -88,7 +88,7 @@ $lang['txt_filename'] = 'КелеÑідей еңгізу (қалауы $lang['txt_overwrt'] = 'Бар файлды қайта жазу'; $lang['lockedby'] = 'ОÑÑ‹ уақытта тойтарылған'; $lang['lockexpire'] = 'Тойтару келеÑÑ– уақытта бітеді'; -$lang['willexpire'] = 'Бұл бетті түзеу тойтаруыңыз бір минутта бітеді. ÒšÐ°Ò›Ñ‚Ñ‹Ò“Ñ‹Ñ Ð±Ð¾Ð»Ð¼Ð°Ñƒ және тойтару таймерді түÑіру үшін қарап шығу пернені баÑыңыз.'; +$lang['js']['willexpire'] = 'Бұл бетті түзеу тойтаруыңыз бір минутта бітеді. ÒšÐ°Ò›Ñ‚Ñ‹Ò“Ñ‹Ñ Ð±Ð¾Ð»Ð¼Ð°Ñƒ және тойтару таймерді түÑіру үшін қарап шығу пернені баÑыңыз.'; $lang['js']['notsavedyet'] = 'Сақталмаған өзгеріÑтер жоғалатын болады.'; $lang['js']['searchmedia'] = 'Файлдарды іздеу'; $lang['js']['keepopen'] = 'Таңдаған Ñоң терезе жаппаңыз'; diff --git a/inc/lang/km/lang.php b/inc/lang/km/lang.php index 90cad3133c61b979f8c4c2513249e30add51f85f..68587e90f27052d5002053d882ee7cf91bdb0577 100644 --- a/inc/lang/km/lang.php +++ b/inc/lang/km/lang.php @@ -88,7 +88,7 @@ $lang['txt_filename'] = 'រុញឡើងជា (ស្រáŸáž…​ចិហ$lang['txt_overwrt'] = 'កážáŸ‹áž–ីលើ';//'Overwrite existing file'; $lang['lockedby'] = 'ឥឡូវនáŸáŸ‡áž…កជាប់​'; $lang['lockexpire'] = 'សោជាប់ផុážâ€‹áž€áŸ†ážŽážáŸ‹áž˜áŸ‰áŸ„áž„'; -$lang['willexpire'] = 'សោអ្នកចំពោះកែážáž˜áŸ’រូវទំពáŸážšáž“áŸáŸ‡ ហួសពែលក្នុងមួយនាទី។\nកុំឲ្យមានជម្លោះ ប្រើ «បង្ហាញ»​ ទៅកំណážáŸ‹â€‹áž¡áž¾áž„​វិញ។'; +$lang['js']['willexpire'] = 'សោអ្នកចំពោះកែážáž˜áŸ’រូវទំពáŸážšáž“áŸáŸ‡ ហួសពែលក្នុងមួយនាទី។\nកុំឲ្យមានជម្លោះ ប្រើ «បង្ហាញ»​ ទៅកំណážáŸ‹â€‹áž¡áž¾áž„​វិញ។'; $lang['js']['notsavedyet'] = "កម្រែមិនទានរុក្សាទកážáŸ’រូវបោះបង់។\nបន្ážáž‘ៅទាឬទáŸ?"; $lang['rssfailed'] = 'មានកំហុសពáŸáž›áž‘ៅ​ប្រមូល​យកមážáž·â€‹áž–áŸážáŸŒáž˜áž¶áž“៖ '; diff --git a/inc/lang/ko/lang.php b/inc/lang/ko/lang.php index c85a66d38713927a7014a83463a3470057de550d..7b55ebe7144ff69c3528b432add9eabf870293fe 100644 --- a/inc/lang/ko/lang.php +++ b/inc/lang/ko/lang.php @@ -93,7 +93,7 @@ $lang['txt_filename'] = '업로드 íŒŒì¼ ì´ë¦„ì„ ìž…ë ¥í•©ë‹ˆë‹¤.( $lang['txt_overwrt'] = '새로운 파ì¼ë¡œ ì´ì „ 파ì¼ì„ êµì²´í•©ë‹ˆë‹¤.'; $lang['lockedby'] = '현재 ìž ê¸ˆ 사용ìž'; $lang['lockexpire'] = 'ìž ê¸ˆ í•´ì œ 시간'; -$lang['willexpire'] = 'ìž ì‹œ 후 편집 ìž ê¸ˆì´ í•´ì œë©ë‹ˆë‹¤.\n편집 ì¶©ëŒì„ í”¼í•˜ë ¤ë©´ 미리보기를 눌러 ìž ê¸ˆ ì‹œê°„ì„ ë‹¤ì‹œ ì„¤ì •í•˜ê¸° ë°”ëžë‹ˆë‹¤.'; +$lang['js']['willexpire'] = 'ìž ì‹œ 후 편집 ìž ê¸ˆì´ í•´ì œë©ë‹ˆë‹¤.\n편집 ì¶©ëŒì„ í”¼í•˜ë ¤ë©´ 미리보기를 눌러 ìž ê¸ˆ ì‹œê°„ì„ ë‹¤ì‹œ ì„¤ì •í•˜ê¸° ë°”ëžë‹ˆë‹¤.'; $lang['js']['notsavedyet'] = 'ì €ìž¥í•˜ì§€ ì•Šì€ ë³€ê²½ì€ ì§€ì›Œì§‘ë‹ˆë‹¤. 계ì†í•˜ì‹œê² 습니까?'; $lang['js']['searchmedia'] = 'íŒŒì¼ ì°¾ê¸°'; diff --git a/inc/lang/ku/lang.php b/inc/lang/ku/lang.php index 9bed43cd101d06e5400bf4c98f44bcf5765137d6..63ccafa3502b454529ca0b687745efc349d2e017 100644 --- a/inc/lang/ku/lang.php +++ b/inc/lang/ku/lang.php @@ -60,7 +60,7 @@ $lang['txt_filename'] = 'Enter wikiname (optional)'; $lang['txt_overwrt'] = 'Overwrite existing file'; $lang['lockedby'] = 'Currently locked by'; $lang['lockexpire'] = 'Lock expires at'; -$lang['willexpire'] = 'Your lock for editing this page is about to expire in a minute.\nTo avoid conflicts use the preview button to reset the locktimer.'; +$lang['js']['willexpire'] = 'Your lock for editing this page is about to expire in a minute.\nTo avoid conflicts use the preview button to reset the locktimer.'; $lang['js']['notsavedyet'] = "Unsaved changes will be lost.\nReally continue?"; diff --git a/inc/lang/la/lang.php b/inc/lang/la/lang.php index d10c094f8dc9d642081ca794ab2ecc73b4822d08..00312f7a104364b1839059ce02630dc85cce523d 100644 --- a/inc/lang/la/lang.php +++ b/inc/lang/la/lang.php @@ -94,7 +94,7 @@ $lang['txt_filename'] = 'Onerare (optio):'; $lang['txt_overwrt'] = 'Documento ueteri imponere:'; $lang['lockedby'] = 'Nunc hoc intercludit'; $lang['lockexpire'] = 'Hoc apertum'; -$lang['willexpire'] = 'Interclusio paginae recensendae uno minuto finita est.\nUt errores uites, \'praeuisio\' preme ut interclusionem ripristines.'; +$lang['js']['willexpire'] = 'Interclusio paginae recensendae uno minuto finita est.\nUt errores uites, \'praeuisio\' preme ut interclusionem ripristines.'; $lang['js']['notsavedyet'] = 'Res non seruatae amissurae sunt.'; $lang['js']['searchmedia'] = 'Quaere inter documenta'; $lang['js']['keepopen'] = 'Fenestram apertam tene'; diff --git a/inc/lang/lb/lang.php b/inc/lang/lb/lang.php index 09fc41f0897d32e6f4843a6392881e30942875c9..191a9bab5be0d3ae30a58416234a3a3ca71b55cf 100644 --- a/inc/lang/lb/lang.php +++ b/inc/lang/lb/lang.php @@ -84,7 +84,7 @@ $lang['txt_filename'] = 'Eroplueden als (optional)'; $lang['txt_overwrt'] = 'Bestehend Datei iwwerschreiwen'; $lang['lockedby'] = 'Am Moment gespaart vun'; $lang['lockexpire'] = 'D\'Spär leeft of ëm'; -$lang['willexpire'] = 'Deng Spär fir d\'Säit ze änneren leeft an enger Minutt of.\nFir Konflikter ze verhënneren, dréck op Kucken ouni ofzespäicheren.'; +$lang['js']['willexpire'] = 'Deng Spär fir d\'Säit ze änneren leeft an enger Minutt of.\nFir Konflikter ze verhënneren, dréck op Kucken ouni ofzespäicheren.'; $lang['js']['notsavedyet'] = "Net gespäicher Ännerunge gi verluer.\nWierklech weiderfueren?"; $lang['rssfailed'] = 'Et ass e Feeler virkomm beim erofluede vun dësem Feed: '; $lang['nothingfound'] = 'Näischt fond.'; diff --git a/inc/lang/lt/lang.php b/inc/lang/lt/lang.php index 6ae5f6c7309ad33b2b8300d91832ccf46cc8da73..121e2530811679b016e60d5e1d890c242644a573 100644 --- a/inc/lang/lt/lang.php +++ b/inc/lang/lt/lang.php @@ -92,7 +92,7 @@ $lang['txt_filename'] = 'Ä®veskite wikivardÄ… (nebÅ«tina)'; $lang['txt_overwrt'] = 'PerraÅ¡yti egzistuojanÄiÄ… bylÄ…'; $lang['lockedby'] = 'Užrakintas vartotojo'; $lang['lockexpire'] = 'Užraktas bus nuimtas'; -$lang['willexpire'] = 'Å io puslapio redagavimo užrakto galiojimo laikas baigsis po minutÄ—s.\nNorÄ—dami iÅ¡vengti nesklandumų naudokite peržiÅ«ros mygtukÄ… ir užraktas atsinaujins.'; +$lang['js']['willexpire'] = 'Å io puslapio redagavimo užrakto galiojimo laikas baigsis po minutÄ—s.\nNorÄ—dami iÅ¡vengti nesklandumų naudokite peržiÅ«ros mygtukÄ… ir užraktas atsinaujins.'; $lang['js']['notsavedyet'] = "Pakeitimai nebus iÅ¡saugoti.\nTikrai tÄ™sti?"; $lang['rssfailed'] = 'SiunÄiant šį feed\'Ä… įvyko klaida: '; $lang['nothingfound'] = 'PaieÅ¡kos rezultatų nÄ—ra.'; diff --git a/inc/lang/lv/lang.php b/inc/lang/lv/lang.php index 519ca231a55725a6e635fc018805a6eddc17b0cc..64e22c56a36d0e7438111acef8873a3dc4862b06 100644 --- a/inc/lang/lv/lang.php +++ b/inc/lang/lv/lang.php @@ -89,7 +89,7 @@ $lang['txt_filename'] = 'Ievadi vikivÄrdu (nav obligÄts)'; $lang['txt_overwrt'] = 'AizstÄt esoÅ¡o failu'; $lang['lockedby'] = 'Patlaban bloÄ·Ä“jis '; $lang['lockexpire'] = 'BloÄ·Ä“jums beigsies '; -$lang['willexpire'] = 'Tavs bloÄ·Ä“jums uz Å¡o lapu pÄ“c minÅ«tes beigsies.\nLai izvairÄ«tos no konflikta, nospied IepriekÅ¡apskata pogu\n un bloÄ·Ä“juma laiku sÄks skaitÄ«t no jauna.'; +$lang['js']['willexpire'] = 'Tavs bloÄ·Ä“jums uz Å¡o lapu pÄ“c minÅ«tes beigsies.\nLai izvairÄ«tos no konflikta, nospied IepriekÅ¡apskata pogu\n un bloÄ·Ä“juma laiku sÄks skaitÄ«t no jauna.'; $lang['js']['notsavedyet'] = 'Veiktas bet nav saglabÄtas izmaiņas. Vai tieÅ¡Äm tÄs nevajag?'; $lang['js']['searchmedia'] = 'MeklÄ“t failus'; diff --git a/inc/lang/mg/lang.php b/inc/lang/mg/lang.php index 8c95a9e02517115ca73d9d2fd1cd16f9f25f023d..4142f00d0391577ab36d4952fdd5cfc5daa81a3c 100644 --- a/inc/lang/mg/lang.php +++ b/inc/lang/mg/lang.php @@ -54,7 +54,7 @@ $lang['txt_filename'] = 'Ampidiro ny anaran\'ny wiki (tsy voatery)'; $lang['txt_overwrt'] = 'Fafana izay rakitra efa misy?'; $lang['lockedby'] = 'Mbola voahidin\'i'; $lang['lockexpire'] = 'Afaka ny hidy amin\'ny'; -$lang['willexpire'] = 'Efa ho lany fotoana afaka iray minitra ny hidy ahafahanao manova ny pejy.\nMba hialana amin\'ny conflit dia ampiasao ny bokotra topi-maso hamerenana ny timer-n\'ny hidy.'; +$lang['js']['willexpire'] = 'Efa ho lany fotoana afaka iray minitra ny hidy ahafahanao manova ny pejy.\nMba hialana amin\'ny conflit dia ampiasao ny bokotra topi-maso hamerenana ny timer-n\'ny hidy.'; $lang['js']['notsavedyet'] = "Misy fiovana tsy voarakitra, ho very izany ireo.\nAzo antoka fa hotohizana?"; $lang['rssfailed'] = 'An error occured while fetching this feed: '; diff --git a/inc/lang/mk/lang.php b/inc/lang/mk/lang.php index 456a5a3d49c82ea619a61dd174e0404251f3dc8e..b7d43309201db6454d1842378a9da7de812af7c6 100644 --- a/inc/lang/mk/lang.php +++ b/inc/lang/mk/lang.php @@ -92,7 +92,7 @@ $lang['txt_filename'] = 'Качи како (неморално)'; $lang['txt_overwrt'] = 'Пребриши ја веќе поÑтоечката датотека'; $lang['lockedby'] = 'Моментално заклучена од'; $lang['lockexpire'] = 'Клучот иÑтекува на'; -$lang['willexpire'] = 'Вашиот клуч за уредување на оваа Ñтраница ќе иÑтече за една минута.\nЗа да избегнете конфликти и да го реÑетирате бројачот за време, иÑкориÑтете го копчето за преглед.'; +$lang['js']['willexpire'] = 'Вашиот клуч за уредување на оваа Ñтраница ќе иÑтече за една минута.\nЗа да избегнете конфликти и да го реÑетирате бројачот за време, иÑкориÑтете го копчето за преглед.'; $lang['js']['notsavedyet'] = "Ðезачуваните промени ќе бидат изгубени.\nСакате да продолжите?"; $lang['rssfailed'] = 'Се појави грешка при повлекувањето на овој канал:'; $lang['nothingfound'] = 'Ðишто не е пронајдено.'; diff --git a/inc/lang/mr/lang.php b/inc/lang/mr/lang.php index d991d46cf930f89a27bb82a6b343a6d8055aac5b..ae9d05bfd82bf22170074f3050e7abeeb7217a99 100644 --- a/inc/lang/mr/lang.php +++ b/inc/lang/mr/lang.php @@ -96,7 +96,7 @@ $lang['txt_filename'] = 'अपलोड उरà¥à¥ž ( वैकलॠ$lang['txt_overwrt'] = 'असà¥à¤¤à¤¿à¤¤à¥à¤µà¤¾à¤¤ असलेलà¥à¤¯à¤¾ फाइलवरच सà¥à¤°à¤•à¥à¤·à¤¿à¤¤ करा.'; $lang['lockedby'] = 'सधà¥à¤¯à¤¾ लॉक करणारा :'; $lang['lockexpire'] = 'सधà¥à¤¯à¤¾ लॉक करणारा :'; -$lang['willexpire'] = 'हे पृषà¥à¤ संपादित करणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी मिळालेले लॉक à¤à¤–ादà¥à¤¯à¤¾ मिनिटात संपणार आहे.\n चà¥à¤•ा होऊ नयेत मà¥à¤¹à¤£à¥à¤¨ कृपया पà¥à¤°à¥€à¤µà¥à¤¯à¥‚ बटन दाबà¥à¤¨ लॉक ची वेळ पà¥à¤¨à¥à¤¹à¤¾ चालू करा.'; +$lang['js']['willexpire'] = 'हे पृषà¥à¤ संपादित करणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी मिळालेले लॉक à¤à¤–ादà¥à¤¯à¤¾ मिनिटात संपणार आहे.\n चà¥à¤•ा होऊ नयेत मà¥à¤¹à¤£à¥à¤¨ कृपया पà¥à¤°à¥€à¤µà¥à¤¯à¥‚ बटन दाबà¥à¤¨ लॉक ची वेळ पà¥à¤¨à¥à¤¹à¤¾ चालू करा.'; $lang['js']['notsavedyet'] = "सà¥à¤°à¤•à¥à¤·à¤¿à¤¤ न केलेले बदल नषà¥à¤Ÿ होतील. नकà¥à¤•ी करू का ?"; $lang['rssfailed'] = 'ही पà¥à¤°à¤µà¤£à¥€ आणणà¥à¤¯à¤¾à¤¤ काही चूक à¤à¤¾à¤²à¥€:'; $lang['nothingfound'] = 'काही सापडला नाही.'; diff --git a/inc/lang/ne/lang.php b/inc/lang/ne/lang.php index e5b30ceafd45c75c1c3f6d6fe9a181e65998c2b2..53c701b23b39ae6e6e6bc5b68b1d99aa82b71719 100644 --- a/inc/lang/ne/lang.php +++ b/inc/lang/ne/lang.php @@ -89,7 +89,7 @@ $lang['txt_filename'] = 'अरà¥à¤•ो रà¥à¤ªà¤®à¤¾ अपलो $lang['txt_overwrt'] = 'रहेको उहि नामको फाइललाई मेटाउने'; $lang['lockedby'] = 'अहिले तालà¥à¤šà¤¾ लगाइà¤à¤•ो'; $lang['lockexpire'] = 'तालà¥à¤šà¤¾ अवधि सकिने :'; -$lang['willexpire'] = 'तपाईलले यो पृषà¥à¤ समà¥à¤ªà¤¾à¤¦à¤¨ गरà¥à¤¨ लगाउनॠà¤à¤à¤•ो तालà¥à¤šà¤¾à¤•ो अवधि à¤à¤• मिनेट à¤à¤¿à¤¤à¥à¤° सकिदै छ। \n दà¥à¤µà¤¨à¥à¤¦ हà¥à¤¨ नदिन पूरà¥à¤µà¤°à¥à¤ª वा तालà¥à¤šà¤¾ समय परिवरà¥à¤¤à¤¨ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ।'; +$lang['js']['willexpire'] = 'तपाईलले यो पृषà¥à¤ समà¥à¤ªà¤¾à¤¦à¤¨ गरà¥à¤¨ लगाउनॠà¤à¤à¤•ो तालà¥à¤šà¤¾à¤•ो अवधि à¤à¤• मिनेट à¤à¤¿à¤¤à¥à¤° सकिदै छ। \n दà¥à¤µà¤¨à¥à¤¦ हà¥à¤¨ नदिन पूरà¥à¤µà¤°à¥à¤ª वा तालà¥à¤šà¤¾ समय परिवरà¥à¤¤à¤¨ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ।'; $lang['js']['notsavedyet'] = "तपाईले वचन गरà¥à¤¨à¥ नà¤à¤à¤•ो परिवरà¥à¤°à¤¨ हराउने छ। \n साचà¥à¤šà¥ˆ जारी गरà¥à¤¨à¥à¤¹à¥à¤¨à¥à¤› ।"; $lang['rssfailed'] = 'यो फिड लिइ आउदा गलà¥à¤¤à¤¿ à¤à¤¯à¥‹ ।'; $lang['nothingfound'] = 'केहि पनि à¤à¥‡à¤Ÿà¤¿à¤à¤¨ ।'; diff --git a/inc/lang/nl/lang.php b/inc/lang/nl/lang.php index 7dbde5ac83ae7e116a4161a3589a4884d18fedf3..6090babd9ea39eb0bfbb38380fe9af9575582f25 100644 --- a/inc/lang/nl/lang.php +++ b/inc/lang/nl/lang.php @@ -99,7 +99,7 @@ $lang['txt_filename'] = 'Vul nieuwe naam in (optioneel)'; $lang['txt_overwrt'] = 'Overschrijf bestaand bestand'; $lang['lockedby'] = 'Momenteel in gebruik door'; $lang['lockexpire'] = 'Exclusief gebruiksrecht vervalt op'; -$lang['willexpire'] = 'Je exclusieve gebruiksrecht voor het aanpassen van deze pagina verloopt over een minuut.\nKlik op de Voorbeeld-knop om het exclusieve gebruiksrecht te verlengen.'; +$lang['js']['willexpire'] = 'Je exclusieve gebruiksrecht voor het aanpassen van deze pagina verloopt over een minuut.\nKlik op de Voorbeeld-knop om het exclusieve gebruiksrecht te verlengen.'; $lang['js']['notsavedyet'] = 'Nog niet bewaarde wijzigingen zullen verloren gaan. Weet je zeker dat je wilt doorgaan?'; $lang['js']['searchmedia'] = 'Zoek naar bestanden'; diff --git a/inc/lang/no/lang.php b/inc/lang/no/lang.php index e610db6bda472c000def03caede4d7df5c47a946..fa946ca02f3a78aff98f385f19c63c5b827a5292 100644 --- a/inc/lang/no/lang.php +++ b/inc/lang/no/lang.php @@ -101,7 +101,7 @@ $lang['txt_filename'] = 'Skriv inn wikinavn (alternativt)'; $lang['txt_overwrt'] = 'Overskriv eksisterende fil'; $lang['lockedby'] = 'Stengt av'; $lang['lockexpire'] = 'Avstengningen opphører'; -$lang['willexpire'] = 'Din redigeringslÃ¥s for dette dokumentet kommer snart til Ã¥ opphøre.\nFor Ã¥ unngÃ¥ versjonskonflikter bør du forhÃ¥ndsvise dokumentet ditt for Ã¥ forlenge redigeringslÃ¥sen.'; +$lang['js']['willexpire'] = 'Din redigeringslÃ¥s for dette dokumentet kommer snart til Ã¥ opphøre.\nFor Ã¥ unngÃ¥ versjonskonflikter bør du forhÃ¥ndsvise dokumentet ditt for Ã¥ forlenge redigeringslÃ¥sen.'; $lang['js']['notsavedyet'] = 'Ulagrede endringer vil gÃ¥ tapt. Vil du fortsette?'; $lang['js']['searchmedia'] = 'Søk for filer'; diff --git a/inc/lang/pl/lang.php b/inc/lang/pl/lang.php index bc0509df31921e16fcbe96502751be1c8945efca..32e5bf80c7a2c90a1ab0d8995e3b441e5619d46b 100644 --- a/inc/lang/pl/lang.php +++ b/inc/lang/pl/lang.php @@ -96,7 +96,7 @@ $lang['txt_filename'] = 'Nazwa pliku (opcjonalnie)'; $lang['txt_overwrt'] = 'Nadpisać istniejÄ…cy plik?'; $lang['lockedby'] = 'Aktualnie zablokowane przez'; $lang['lockexpire'] = 'Blokada wygasa'; -$lang['willexpire'] = 'Za minutÄ™ Twoja blokada tej strony wygaÅ›nie.\nW celu unikniÄ™cia konfliktów wyÅ›wietl podglÄ…d aby odnowić blokadÄ™.'; +$lang['js']['willexpire'] = 'Za minutÄ™ Twoja blokada tej strony wygaÅ›nie.\nW celu unikniÄ™cia konfliktów wyÅ›wietl podglÄ…d aby odnowić blokadÄ™.'; $lang['js']['notsavedyet'] = 'Nie zapisane zmiany zostanÄ… utracone. Czy na pewno kontynuować?'; $lang['js']['searchmedia'] = 'Szukaj plików'; diff --git a/inc/lang/pt-br/lang.php b/inc/lang/pt-br/lang.php index f3b012521533a493883215703b4b6f6b85e6818b..0abe8a6b61d79fd49c41c689c6ace703f8e00cfa 100644 --- a/inc/lang/pt-br/lang.php +++ b/inc/lang/pt-br/lang.php @@ -103,7 +103,7 @@ $lang['txt_filename'] = 'Enviar como (opcional)'; $lang['txt_overwrt'] = 'Substituir o arquivo existente'; $lang['lockedby'] = 'Atualmente bloqueada por'; $lang['lockexpire'] = 'O bloqueio expira em'; -$lang['willexpire'] = 'O seu bloqueio de edição deste página irá expirar em um minuto.\nPara evitar conflitos de edição, clique no botão de visualização para reiniciar o temporizador de bloqueio.'; +$lang['js']['willexpire'] = 'O seu bloqueio de edição deste página irá expirar em um minuto.\nPara evitar conflitos de edição, clique no botão de visualização para reiniciar o temporizador de bloqueio.'; $lang['js']['notsavedyet'] = 'As alterações não salvas serão perdidas. Deseja realmente continuar?'; $lang['js']['searchmedia'] = 'Buscar por arquivos'; diff --git a/inc/lang/pt/lang.php b/inc/lang/pt/lang.php index 41406ee60147d1c616c183b9f0bd31d1e0c187aa..dba379df5bf224a3e6a0db9b4a769d44f3ed03ec 100644 --- a/inc/lang/pt/lang.php +++ b/inc/lang/pt/lang.php @@ -94,7 +94,7 @@ $lang['txt_filename'] = 'Carregar como (opcional)'; $lang['txt_overwrt'] = 'Escrever por cima do ficheiro já existente'; $lang['lockedby'] = 'Bloqueado por'; $lang['lockexpire'] = 'Expira em'; -$lang['willexpire'] = 'O bloqueio de edição para este documento irá expirar num minuto.\nPara evitar conflitos de edição, clique no botão <Prever> para re-iniciar o temporizador de bloqueio.'; +$lang['js']['willexpire'] = 'O bloqueio de edição para este documento irá expirar num minuto.\nPara evitar conflitos de edição, clique no botão <Prever> para re-iniciar o temporizador de bloqueio.'; $lang['js']['notsavedyet'] = 'Existem alterações não gravadas, que serão perdidas se continuar. Deseja realmente continuar?'; $lang['js']['searchmedia'] = 'Procurar por ficheiros'; diff --git a/inc/lang/ro/lang.php b/inc/lang/ro/lang.php index cbecf6f6c323255b132ac8924f47e83213c2a8e3..b8d7520e6b75d54fb969ecd518da00461895b933 100644 --- a/inc/lang/ro/lang.php +++ b/inc/lang/ro/lang.php @@ -92,7 +92,7 @@ $lang['txt_filename'] = 'ÃŽncarcă fiÅŸierul ca (opÅ£ional)'; $lang['txt_overwrt'] = 'Suprascrie fiÅŸierul existent'; $lang['lockedby'] = 'Momentan blocat de'; $lang['lockexpire'] = 'Blocarea expiră la'; -$lang['willexpire'] = 'Blocarea pentru editarea paginii expiră intr-un minut.\nPentru a preveni conflictele foloseÅŸte butonul de previzualizare pentru resetarea blocării.'; +$lang['js']['willexpire'] = 'Blocarea pentru editarea paginii expiră intr-un minut.\nPentru a preveni conflictele foloseÅŸte butonul de previzualizare pentru resetarea blocării.'; $lang['js']['notsavedyet'] = 'Există modificări nesalvate, care se vor pierde. DoreÅŸti să continui?'; $lang['js']['searchmedia'] = 'Caută fiÅŸiere'; diff --git a/inc/lang/ru/lang.php b/inc/lang/ru/lang.php index 1eaa488ec9ef0a5947db1dcc6aa7f1fda75f6da4..ce9e54819fde59cbaf9ebb8829ba04c854c60ce5 100644 --- a/inc/lang/ru/lang.php +++ b/inc/lang/ru/lang.php @@ -104,7 +104,7 @@ $lang['txt_filename'] = 'Введите Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° в вики ( $lang['txt_overwrt'] = 'ПерезапиÑать ÑущеÑтвующий файл'; $lang['lockedby'] = 'Ð’ данный момент заблокирован'; $lang['lockexpire'] = 'Блокировка иÑтекает в'; -$lang['willexpire'] = 'Ваша блокировка Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтой Ñтраницы иÑтекает в течение минуты.\nЧтобы избежать конфликтов и ÑброÑить таймер блокировки, нажмите кнопку проÑмотра.'; +$lang['js']['willexpire'] = 'Ваша блокировка Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтой Ñтраницы иÑтекает в течение минуты.\nЧтобы избежать конфликтов и ÑброÑить таймер блокировки, нажмите кнопку проÑмотра.'; $lang['js']['notsavedyet'] = 'ÐеÑохранённые Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ потерÑны. Ð’Ñ‹ дейÑтвительно хотите продолжить?'; $lang['js']['searchmedia'] = 'ПоиÑк файлов'; $lang['js']['keepopen'] = 'Ðе закрывать окно поÑле выбора'; diff --git a/inc/lang/sk/lang.php b/inc/lang/sk/lang.php index 4a2520abd2d96bbef69b51b40198f25d56acbde2..4dab977b98a2223b66b65b0abaaf4f39f1d20a01 100644 --- a/inc/lang/sk/lang.php +++ b/inc/lang/sk/lang.php @@ -92,7 +92,7 @@ $lang['txt_filename'] = 'UložiÅ¥ ako (voliteľné)'; $lang['txt_overwrt'] = 'PrepÃsaÅ¥ existujúci súbor'; $lang['lockedby'] = 'Práve zamknuté:'; $lang['lockexpire'] = 'Zámok stratà platnosÅ¥:'; -$lang['willexpire'] = 'Váš zámok pre editáciu za chvÃľu stratà platnosÅ¥.\nAby ste prediÅ¡li konfliktom, stlaÄte tlaÄÃtko Náhľad a zámok sa predĺži.'; +$lang['js']['willexpire'] = 'Váš zámok pre editáciu za chvÃľu stratà platnosÅ¥.\nAby ste prediÅ¡li konfliktom, stlaÄte tlaÄÃtko Náhľad a zámok sa predĺži.'; $lang['js']['notsavedyet'] = 'Neuložené zmeny budú stratené. Chcete naozaj pokraÄovaÅ¥?'; $lang['js']['searchmedia'] = 'HľadaÅ¥ súbory'; diff --git a/inc/lang/sl/lang.php b/inc/lang/sl/lang.php index 0e6c0a706b042c3cb3ae784dcf87219365eff3ed..55c895b2d2704f791b2467ad70b49dabfd4be58d 100644 --- a/inc/lang/sl/lang.php +++ b/inc/lang/sl/lang.php @@ -93,7 +93,7 @@ $lang['txt_filename'] = 'PoÅ¡lji z imenom (izborno)'; $lang['txt_overwrt'] = 'PrepiÅ¡i obstojeÄo datoteko'; $lang['lockedby'] = 'Trenutno je zaklenjeno s strani'; $lang['lockexpire'] = 'Zaklep preteÄe ob'; -$lang['willexpire'] = 'Zaklep za urejevanje bo pretekel Äez eno minuto.\nV izogib sporom, uporabite predogled, da se merilnik Äasa za zaklep ponastavi.'; +$lang['js']['willexpire'] = 'Zaklep za urejevanje bo pretekel Äez eno minuto.\nV izogib sporom, uporabite predogled, da se merilnik Äasa za zaklep ponastavi.'; $lang['js']['notsavedyet'] = 'Neshranjene spremembe bodo izgubljene.'; $lang['js']['searchmedia'] = 'PoiÅ¡Äi datoteke'; $lang['js']['keepopen'] = 'Od izbiri ohrani okno odprto'; diff --git a/inc/lang/sq/lang.php b/inc/lang/sq/lang.php index 47a54d2eaed67b199cf7c9a0f523908a7bfdf86f..ea2f018b314e3161222faeb2cc118eecc5ecc632 100644 --- a/inc/lang/sq/lang.php +++ b/inc/lang/sq/lang.php @@ -94,7 +94,7 @@ $lang['txt_filename'] = 'Ngarko si (alternative)'; $lang['txt_overwrt'] = 'Zëvendëso skedarin ekzistues'; $lang['lockedby'] = 'Kyçur momentalisht nga'; $lang['lockexpire'] = 'Kyçi skadon në'; -$lang['willexpire'] = 'Kyçi juaj për redaktimin e kësaj faqeje është duke skaduar.\nPër të shmangur konflikte përdorni butonin Shiko Paraprakisht për të rivendosur kohën e kyçjes.'; +$lang['js']['willexpire'] = 'Kyçi juaj për redaktimin e kësaj faqeje është duke skaduar.\nPër të shmangur konflikte përdorni butonin Shiko Paraprakisht për të rivendosur kohën e kyçjes.'; $lang['js']['notsavedyet'] = "Ndryshimet e paruajtura do të humbasin.\nVazhdo me të vërtetë?"; $lang['rssfailed'] = 'Ndoshi një gabim gjatë kapjes së këtij lajmi:'; $lang['nothingfound'] = 'Nuk u gjet asgjë.'; diff --git a/inc/lang/sr/lang.php b/inc/lang/sr/lang.php index b35956f03326987a96b177b37eef3bbe80629b40..a868f1d815ab2f83f31b623fcea9d4faf3c978f3 100644 --- a/inc/lang/sr/lang.php +++ b/inc/lang/sr/lang.php @@ -91,7 +91,7 @@ $lang['txt_filename'] = 'УнеÑите вики-име (опционо $lang['txt_overwrt'] = 'Препишите тренутни фајл'; $lang['lockedby'] = 'Тренутно закључано од Ñтране'; $lang['lockexpire'] = 'Закључавање иÑтиче'; -$lang['willexpire'] = 'Ваше закључавање за измену ове Ñтранице ће да иÑтекне за један минут.\nДа би Ñте избегли конфликте, иÑкориÑтите дугме за преглед како би Ñте реÑетовали тајмер закључавања.'; +$lang['js']['willexpire'] = 'Ваше закључавање за измену ове Ñтранице ће да иÑтекне за један минут.\nДа би Ñте избегли конфликте, иÑкориÑтите дугме за преглед како би Ñте реÑетовали тајмер закључавања.'; $lang['js']['notsavedyet'] = 'ÐеÑачуване измене ће бити изгубљене. Да ли Ñтварно желите да наÑтавите?'; $lang['js']['searchmedia'] = 'Потражи фајлове'; diff --git a/inc/lang/sv/lang.php b/inc/lang/sv/lang.php index 06b21afe8898c88c6874e5ac59b3dc42cbc2db75..d6f90a5f4a2c529865f548163bfd382b2c9b3860 100644 --- a/inc/lang/sv/lang.php +++ b/inc/lang/sv/lang.php @@ -102,7 +102,7 @@ $lang['txt_filename'] = 'Ladda upp som (ej obligatoriskt)'; $lang['txt_overwrt'] = 'Skriv över befintlig fil'; $lang['lockedby'] = 'LÃ¥st av'; $lang['lockexpire'] = 'LÃ¥s upphör att gälla'; -$lang['willexpire'] = 'Ditt redigeringslÃ¥s för detta dokument kommer snart att upphöra.\nFör att undvika versionskonflikter bör du förhandsgranska ditt dokument för att förlänga redigeringslÃ¥set.'; +$lang['js']['willexpire'] = 'Ditt redigeringslÃ¥s för detta dokument kommer snart att upphöra.\nFör att undvika versionskonflikter bör du förhandsgranska ditt dokument för att förlänga redigeringslÃ¥set.'; $lang['js']['notsavedyet'] = 'Det finns ändringar som inte är sparade. Är du säker pÃ¥ att du vill fortsätta?'; $lang['js']['searchmedia'] = 'Sök efter filer'; diff --git a/inc/lang/th/lang.php b/inc/lang/th/lang.php index d40f30f4abae27c4dbbf181b9380dce860e112a4..e9dffa2c1f012b3d1cf52f03cd51812c980cb003 100644 --- a/inc/lang/th/lang.php +++ b/inc/lang/th/lang.php @@ -100,7 +100,7 @@ $lang['txt_filename'] = 'à¸à¸±à¸žà¹‚หลดเป็น(ตัวเ $lang['txt_overwrt'] = 'เขียนทับไฟล์ที่มีà¸à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§'; $lang['lockedby'] = 'ตà¸à¸™à¸™à¸µà¹‰à¸–ูà¸à¸¥à¹Šà¸à¸„โดย'; $lang['lockexpire'] = 'à¸à¸²à¸£à¸¥à¹Šà¸à¸„จะหมดà¸à¸²à¸¢à¸¸à¹€à¸¡à¸·à¹ˆà¸'; -$lang['willexpire'] = 'à¸à¸²à¸£à¸¥à¹Šà¸à¸„เพื่à¸à¹à¸à¹‰à¹„ขหน้านี้à¸à¸³à¸¥à¸±à¸‡à¸ˆà¸°à¸«à¸¡à¸”เวลาในà¸à¸µà¸ \n นาที เพื่à¸à¸—ี่จะหลีà¸à¹€à¸¥à¸µà¹ˆà¸¢à¸‡à¸‚้à¸à¸‚ัดà¹à¸¢à¹‰à¸‡à¹ƒà¸«à¹‰à¹ƒà¸Šà¹‰à¸›à¸¸à¹ˆà¸¡ "Preview" เพื่à¸à¸£à¸µà¹€à¸‹à¹‡à¸—เวลาใหม่'; +$lang['js']['willexpire'] = 'à¸à¸²à¸£à¸¥à¹Šà¸à¸„เพื่à¸à¹à¸à¹‰à¹„ขหน้านี้à¸à¸³à¸¥à¸±à¸‡à¸ˆà¸°à¸«à¸¡à¸”เวลาในà¸à¸µà¸ \n นาที เพื่à¸à¸—ี่จะหลีà¸à¹€à¸¥à¸µà¹ˆà¸¢à¸‡à¸‚้à¸à¸‚ัดà¹à¸¢à¹‰à¸‡à¹ƒà¸«à¹‰à¹ƒà¸Šà¹‰à¸›à¸¸à¹ˆà¸¡ "Preview" เพื่à¸à¸£à¸µà¹€à¸‹à¹‡à¸—เวลาใหม่'; $lang['js']['notsavedyet'] = "à¸à¸²à¸£à¹à¸à¹‰à¹„ขที่ไม่ได้บันทึà¸à¸ˆà¸°à¸ªà¸¹à¸à¸«à¸²à¸¢ \n ต้à¸à¸‡à¸à¸²à¸£à¸—ำต่à¸à¸ˆà¸£à¸´à¸‡à¹†à¸«à¸£à¸·à¸?"; $lang['rssfailed'] = 'มีข้à¸à¸œà¸´à¸”พลาดขณะดูดฟีดนี้'; $lang['nothingfound'] = 'ไม่พบสิ่งใด'; diff --git a/inc/lang/tr/lang.php b/inc/lang/tr/lang.php index 0509113b0f934e6552de17111624aca105c27707..0b76a6e8123b3848f0503db1d8105c0352c5d13b 100644 --- a/inc/lang/tr/lang.php +++ b/inc/lang/tr/lang.php @@ -93,7 +93,7 @@ $lang['txt_filename'] = 'Dosya adı (zorunlu deÄŸil)'; $lang['txt_overwrt'] = 'Mevcut dosyanın üstüne yaz'; $lang['lockedby'] = 'Åžu an ÅŸunun tarafından kilitli:'; $lang['lockexpire'] = 'Kilitin açılma tarihi:'; -$lang['willexpire'] = 'Bu sayfayı deÄŸiÅŸtirme kilidinin süresi yaklaşık bir dakika içinde geçecek.\nÇakışmaları önlemek için önizleme tuÅŸunu kullanarak kilit sayacını sıfırla.'; +$lang['js']['willexpire'] = 'Bu sayfayı deÄŸiÅŸtirme kilidinin süresi yaklaşık bir dakika içinde geçecek.\nÇakışmaları önlemek için önizleme tuÅŸunu kullanarak kilit sayacını sıfırla.'; $lang['js']['notsavedyet'] = 'KaydedilmemiÅŸ deÄŸiÅŸiklikler kaybolacak. Devam etmek istiyor musunuz?'; $lang['js']['searchmedia'] = 'Dosyalar için Ara'; diff --git a/inc/lang/uk/lang.php b/inc/lang/uk/lang.php index 7bda0250195d7f3de121ffd677bf49a130e0c05f..6b80bc75c78e17f87b1a5a1086cf3c21ccde2243 100644 --- a/inc/lang/uk/lang.php +++ b/inc/lang/uk/lang.php @@ -94,7 +94,7 @@ $lang['txt_filename'] = 'Завантажити Ñк (не обов\'Ñ $lang['txt_overwrt'] = 'ПерезапиÑати Ñ–Ñнуючий файл'; $lang['lockedby'] = 'Заблоковано'; $lang['lockexpire'] = 'Ð‘Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÑƒÑ”Ñ‚ÑŒÑÑ Ð²'; -$lang['willexpire'] = 'Ð‘Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ†Ñ–Ñ”Ñ— Ñторінки закінчуєтьÑÑ Ñ‡ÐµÑ€ÐµÐ· хвилину.\n Щоб уникнути конфліктів викориÑтовуйте кнопку переглÑду Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð²Ð¶ÐµÐ½Ð½Ñ Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ.'; +$lang['js']['willexpire'] = 'Ð‘Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ†Ñ–Ñ”Ñ— Ñторінки закінчуєтьÑÑ Ñ‡ÐµÑ€ÐµÐ· хвилину.\n Щоб уникнути конфліктів викориÑтовуйте кнопку переглÑду Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð²Ð¶ÐµÐ½Ð½Ñ Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ.'; $lang['js']['notsavedyet'] = 'Ðезбережені зміни будуть втрачені. ДійÑно продовжити?'; $lang['js']['searchmedia'] = 'Шукати файли'; diff --git a/inc/lang/vi/lang.php b/inc/lang/vi/lang.php index 89c9e9cfcb1a56132a9ab7bae2b814efc1f44f10..361e51e84cde00bca9b46de33aebbd6e17f82cb5 100644 --- a/inc/lang/vi/lang.php +++ b/inc/lang/vi/lang.php @@ -49,7 +49,7 @@ $lang['txt_upload'] = 'Chá»n tệp để tải lên'; $lang['txt_filename'] = 'Äiá»n wikiname (tuỳ ý)'; $lang['lockedby'] = 'Äang khoá bởi'; $lang['lockexpire'] = 'Khoá sẽ hết hạn và o lúc'; -$lang['willexpire'] = 'Khoá cá»§a bạn để biên soạn trang nà y sẽ hết hạn trong vòng 1 phút.\nÄể tránh xung đột, bạn nên bấm nút xem trước để láºp lại thá»i gian khoá'; +$lang['js']['willexpire'] = 'Khoá cá»§a bạn để biên soạn trang nà y sẽ hết hạn trong vòng 1 phút.\nÄể tránh xung đột, bạn nên bấm nút xem trước để láºp lại thá»i gian khoá'; $lang['js']['notsavedyet'] = "Hiện có những thay đổi chưa được bảo lưu, và sẽ mất.\nBạn tháºt sá»± muốn tiếp tục?"; $lang['rssfailed'] = 'Rút nguồn nà y gặp phải lá»—i'; diff --git a/inc/lang/zh-tw/lang.php b/inc/lang/zh-tw/lang.php index 074c510e9061adb15a87621183b06720acf6b688..2222125f536080f459d4b9711f89da07b53987ec 100644 --- a/inc/lang/zh-tw/lang.php +++ b/inc/lang/zh-tw/lang.php @@ -95,7 +95,7 @@ $lang['txt_filename'] = '請輸入è¦å˜åœ¨ç¶åŸºå…§çš„æª”案å稱 ( $lang['txt_overwrt'] = '是å¦è¦è¦†è“‹åŽŸæœ‰æª”æ¡ˆ'; $lang['lockedby'] = 'ç›®å‰å·²è¢«ä¸‹åˆ—人員鎖定'; $lang['lockexpire'] = 'é 計解除鎖定於'; -$lang['willexpire'] = '本é 的編輯鎖定將在一分é˜å…§åˆ°æœŸã€‚è¦é¿å…發生è¡çªï¼Œè«‹æŒ‰ã€Œé 覽ã€éµé‡è¨éŽ–å®šè¨ˆæ™‚ã€‚'; +$lang['js']['willexpire'] = '本é 的編輯鎖定將在一分é˜å…§åˆ°æœŸã€‚è¦é¿å…發生è¡çªï¼Œè«‹æŒ‰ã€Œé 覽ã€éµé‡è¨éŽ–å®šè¨ˆæ™‚ã€‚'; $lang['js']['notsavedyet'] = '未儲å˜çš„變更將會éºå¤±ï¼Œç¹¼çºŒå—Žï¼Ÿ'; $lang['js']['searchmedia'] = 'æœå°‹æª”案'; $lang['js']['keepopen'] = '鏿“‡æ™‚ä¿æŒè¦–窗開啟'; diff --git a/inc/lang/zh/lang.php b/inc/lang/zh/lang.php index 14c92c4b3699acc2395ef4b46a148254ee275563..31e6dc238122ed37ea31dd59c97fdccd063cd681 100644 --- a/inc/lang/zh/lang.php +++ b/inc/lang/zh/lang.php @@ -98,7 +98,7 @@ $lang['txt_filename'] = 'ä¸Šä¼ å¹¶é‡å‘½å为(å¯é€‰ï¼‰'; $lang['txt_overwrt'] = '覆盖已å˜åœ¨çš„åŒå文件'; $lang['lockedby'] = 'ç›®å‰å·²è¢«ä¸‹åˆ—人员é”定'; $lang['lockexpire'] = '预计é”定解除于'; -$lang['willexpire'] = '您对本页的独有编辑æƒå°†äºŽä¸€åˆ†é’Ÿä¹‹åŽè§£é™¤ã€‚\n为了防æ¢ä¸Žå…¶ä»–人的编辑冲çªï¼Œè¯·ä½¿ç”¨é¢„览按钮é‡è®¾è®¡æ—¶å™¨ã€‚'; +$lang['js']['willexpire'] = '您对本页的独有编辑æƒå°†äºŽä¸€åˆ†é’Ÿä¹‹åŽè§£é™¤ã€‚\n为了防æ¢ä¸Žå…¶ä»–人的编辑冲çªï¼Œè¯·ä½¿ç”¨é¢„览按钮é‡è®¾è®¡æ—¶å™¨ã€‚'; $lang['js']['notsavedyet'] = '未ä¿å˜çš„æ›´æ”¹å°†ä¸¢å¤±ã€‚ 真的è¦ç»§ç»ï¼Ÿ'; $lang['js']['searchmedia'] = '查找文件'; diff --git a/inc/media.php b/inc/media.php index 20b69efcac3b1314ee44ad7ead203afa3406a316..cbb17ac212744edb8440edbbb1d721e51662939d 100644 --- a/inc/media.php +++ b/inc/media.php @@ -1717,9 +1717,6 @@ function media_nstree($ns){ 'label' => '['.$lang['mediaroot'].']')); echo html_buildlist($data,'idx','media_nstree_item','media_nstree_li'); - echo '</li>'; - - echo '</ul>'; } /** diff --git a/inc/template.php b/inc/template.php index c0c83d640641ece3dfffa25c0e0321f2816d196c..0dfc5a5262847a9dbcccff0195e499de9609f6a2 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1432,21 +1432,50 @@ function tpl_flush(){ /** - * Use favicon.ico from data/media root directory if it exists, otherwise use + * Returns icon from data/media root directory if it exists, otherwise * the one in the template's image directory. * + * @param bool $abs - if to use absolute URL + * @param string $fileName - file name of icon * @author Anika Henke <anika@selfthinker.org> */ -function tpl_getFavicon($abs=false) { - if (file_exists(mediaFN('favicon.ico'))) { - return ml('favicon.ico', '', true, '', $abs); +function tpl_getFavicon($abs=false, $fileName='favicon.ico') { + if (file_exists(mediaFN($fileName))) { + return ml($fileName, '', true, '', $abs); } if($abs) { - return DOKU_URL.substr(DOKU_TPL.'images/favicon.ico', strlen(DOKU_REL)); + return DOKU_URL.substr(DOKU_TPL.'images/'.$fileName, strlen(DOKU_REL)); + } + return DOKU_TPL.'images/'.$fileName; +} + +/** + * Returns <link> tag for various icon types (favicon|mobile|generic) + * + * @param array $types - list of icon types to display (favicon|mobile|generic) + * @author Anika Henke <anika@selfthinker.org> + */ +function tpl_favicon($types=array('favicon')) { + + $return = ''; + + foreach ($types as $type) { + switch($type) { + case 'favicon': + $return .= '<link rel="shortcut icon" href="'.tpl_getFavicon().'" />'.NL; + break; + case 'mobile': + $return .= '<link rel="apple-touch-icon" href="'.tpl_getFavicon(false, 'apple-touch-icon.png').'" />'.NL; + break; + case 'generic': + // ideal world solution, which doesn't work in any browser yet + $return .= '<link rel="icon" href="'.tpl_getFavicon(false, 'icon.svg').'" type="image/svg+xml" />'.NL; + break; + } } - return DOKU_TPL.'images/favicon.ico'; + return $return; } /** diff --git a/inc/toolbar.php b/inc/toolbar.php index 58d80043c1e08162130b55fee7e2b396ccdece3f..02172510eb77651520fb010b63c7dee91ae91514 100644 --- a/inc/toolbar.php +++ b/inc/toolbar.php @@ -213,7 +213,7 @@ function toolbar_JSdefines($varname){ 'type' => 'picker', 'title' => $lang['qb_chars'], 'icon' => 'chars.png', - 'list' => explode(' ','À à à á  â à ã Ä ä Ç ÇŽ Ä‚ ă Ã… Ã¥ Ä€ Ä Ä„ Ä… Æ æ Ć ć Ç ç ÄŒ Ä Äˆ ĉ ÄŠ Ä‹ à đ ð ÄŽ Ä Ãˆ è É é Ê ê Ë ë Äš Ä› Ä’ Ä“ Ä– Ä— Ę Ä™ Ä¢ Ä£ Äœ Ä Äž ÄŸ Ä Ä¡ Ĥ Ä¥ ÃŒ ì à à Î î à ï Ç Ç Äª Ä« İ ı Ä® į Ä´ ĵ Ķ Ä· Ĺ ĺ Ä» ļ Ľ ľ Å Å‚ Ä¿ Å€ Ń Å„ Ñ ñ Å… ņ Ň ň Ã’ ò Ó ó Ô ô Õ õ Ö ö Ç‘ Ç’ ÅŒ Å Å Å‘ Å’ Å“ Ø ø Å” Å• Å– Å— Ř Å™ Åš Å› Åž ÅŸ Å Å¡ Åœ ŠŢ Å£ Ť Å¥ Ù ù Ú ú Û û Ü ü Ç“ Ç” Ŭ ŠŪ Å« Å® ů Ç– ǘ Çš Çœ Ų ų Ű ű Å´ ŵ à ý Ÿ ÿ Ŷ Å· Ź ź Ž ž Å» ż Þ þ ß Ħ ħ ¿ ¡ ¢ £ ¤ Â¥ € ¦ § ª ¬ ¯ ° ± ÷ ‰ ¼ ½ ¾ ¹ ² ³ µ ¶ †‡ · • º ∀ ∂ ∃ Æ É™ ∅ ∇ ∈ ∉ ∋ ∠∑ ‾ − ∗ √ ∠∞ ∠∧ ∨ ∩ ∪ ∫ ∴ ∼ ≅ ≈ ≠≡ ≤ ≥ ⊂ ⊃ ⊄ ⊆ ⊇ ⊕ ⊗ ⊥ â‹… â—Š ℘ â„‘ ℜ ℵ ♠♣ ♥ ♦ α β Γ γ Δ δ ε ζ η Θ θ ι κ Λ λ μ Ξ ξ Ππ Ï Î£ σ Τ Ï„ Ï… Φ φ χ Ψ ψ Ω ω ★ ☆ ☎ ☚ ☛ ☜ ☠☞ ☟ ☹ ☺ ✔ ✘ × „ “ †‚ ‘ ’ « » ‹ › — – … ↠↑ → ↓ ↔ ⇠⇑ ⇒ ⇓ ⇔ © â„¢ ® ′ ″ [ ] { } ~ ( ) % § $ # | @'), + 'list' => explode(' ','À à à á  â à ã Ä ä Ç ÇŽ Ä‚ ă Ã… Ã¥ Ä€ Ä Ä„ Ä… Æ æ Ć ć Ç ç ÄŒ Ä Äˆ ĉ ÄŠ Ä‹ à đ ð ÄŽ Ä Ãˆ è É é Ê ê Ë ë Äš Ä› Ä’ Ä“ Ä– Ä— Ę Ä™ Ä¢ Ä£ Äœ Ä Äž ÄŸ Ä Ä¡ Ĥ Ä¥ ÃŒ ì à à Î î à ï Ç Ç Äª Ä« İ ı Ä® į Ä´ ĵ Ķ Ä· Ĺ ĺ Ä» ļ Ľ ľ Å Å‚ Ä¿ Å€ Ń Å„ Ñ ñ Å… ņ Ň ň Ã’ ò Ó ó Ô ô Õ õ Ö ö Ç‘ Ç’ ÅŒ Å Å Å‘ Å’ Å“ Ø ø Å” Å• Å– Å— Ř Å™ Åš Å› Åž ÅŸ Å Å¡ Åœ ŠŢ Å£ Ť Å¥ Ù ù Ú ú Û û Ü ü Ç“ Ç” Ŭ ŠŪ Å« Å® ů Ç– ǘ Çš Çœ Ų ų Ű ű Å´ ŵ à ý Ÿ ÿ Ŷ Å· Ź ź Ž ž Å» ż Þ þ ß Ħ ħ ¿ ¡ ¢ £ ¤ Â¥ € ¦ § ª ¬ ¯ ° ± ÷ ‰ ¼ ½ ¾ ¹ ² ³ µ ¶ †‡ · • º ∀ ∂ ∃ Æ É™ ∅ ∇ ∈ ∉ ∋ ∠∑ ‾ − ∗ × ℠√ ∠∞ ∠∧ ∨ ∩ ∪ ∫ ∴ ∼ ≅ ≈ ≠≡ ≤ ≥ ⊂ ⊃ ⊄ ⊆ ⊇ ⊕ ⊗ ⊥ â‹… â—Š ℘ â„‘ ℜ ℵ ♠♣ ♥ ♦ α β Γ γ Δ δ ε ζ η Θ θ ι κ Λ λ μ Ξ ξ Ππ Ï Î£ σ Τ Ï„ Ï… Φ φ χ Ψ ψ Ω ω ★ ☆ ☎ ☚ ☛ ☜ ☠☞ ☟ ☹ ☺ ✔ ✘ „ “ †‚ ‘ ’ « » ‹ › — – … ↠↑ → ↓ ↔ ⇠⇑ ⇒ ⇓ ⇔ © â„¢ ® ′ ″ [ ] { } ~ ( ) % § $ # | @'), 'block' => false ), array( diff --git a/inc/utf8.php b/inc/utf8.php index 3d4de22897c7e77992a2ac85c7531d580fb70fc7..303987e4f7175debc1e2abfca3c6bf6023bcebb8 100644 --- a/inc/utf8.php +++ b/inc/utf8.php @@ -1261,6 +1261,7 @@ if(empty($UTF8_SPECIAL_CHARS2)) $UTF8_SPECIAL_CHARS2 = * @link http://www.btranslations.com/resources/romanization/korean.asp * @author Arthit Suriyawongkul <arthit@gmail.com> * @author Denis Scheither <amorphis@uni-bremen.de> + * @author Eivind Morland <eivind.morland@gmail.com> */ global $UTF8_ROMANIZATION; if(empty($UTF8_ROMANIZATION)) $UTF8_ROMANIZATION = array( @@ -1293,6 +1294,11 @@ if(empty($UTF8_ROMANIZATION)) $UTF8_ROMANIZATION = array( 'ड'=>'dq','ढ'=>'dqh','ण'=>'nq','त'=>'t','थ'=>'th','द'=>'d','ध'=>'dh', 'न'=>'n','प'=>'p','फ'=>'ph','ब'=>'b','à¤'=>'bh','म'=>'m','य'=>'z','र'=>'r', 'ल'=>'l','व'=>'v','श'=>'sh','ष'=>'sqh','स'=>'s','ह'=>'x', + //Sanskrit diacritics + 'Ä€'=>'A','Ī'=>'I','Ū'=>'U','Ṛ'=>'R','Ṝ'=>'R','Ṅ'=>'N','Ñ'=>'N','Ṭ'=>'T', + 'Ḍ'=>'D','Ṇ'=>'N','Åš'=>'S','á¹¢'=>'S','á¹€'=>'M','Ṃ'=>'M','Ḥ'=>'H','Ḷ'=>'L','Ḹ'=>'L', + 'Ä'=>'a','Ä«'=>'i','Å«'=>'u','á¹›'=>'r','á¹'=>'r','á¹…'=>'n','ñ'=>'n','á¹'=>'t', + 'á¸'=>'d','ṇ'=>'n','Å›'=>'s','á¹£'=>'s','á¹'=>'m','ṃ'=>'m','ḥ'=>'h','ḷ'=>'l','ḹ'=>'l', //Hebrew '×'=>'a', 'ב'=>'b','×’'=>'g','ד'=>'d','×”'=>'h','ו'=>'v','×–'=>'z','×—'=>'kh','ט'=>'th', '×™'=>'y','ך'=>'h','×›'=>'k','ל'=>'l','×'=>'m','מ'=>'m','ן'=>'n','× '=>'n', diff --git a/lib/exe/js.php b/lib/exe/js.php index 1ca4fef986250ca3a18ecd27c97b93c28a46de7b..33f8c695dc1c55116c6cdacf3320d030fe784e4f 100644 --- a/lib/exe/js.php +++ b/lib/exe/js.php @@ -46,7 +46,6 @@ function js_out(){ DOKU_INC."lib/scripts/fileuploader.js", DOKU_INC."lib/scripts/fileuploaderextended.js", DOKU_INC.'lib/scripts/helpers.js', - DOKU_INC.'lib/scripts/events.js', DOKU_INC.'lib/scripts/delay.js', DOKU_INC.'lib/scripts/cookie.js', DOKU_INC.'lib/scripts/script.js', @@ -62,11 +61,11 @@ function js_out(){ DOKU_INC.'lib/scripts/locktimer.js', DOKU_INC.'lib/scripts/linkwiz.js', DOKU_INC.'lib/scripts/media.js', - DOKU_INC.'lib/scripts/subscriptions.js', DOKU_INC.'lib/scripts/compatibility.js', # disabled for FS#1958 DOKU_INC.'lib/scripts/hotkeys.js', - DOKU_TPLINC.'script.js', DOKU_INC.'lib/scripts/behaviour.js', + DOKU_INC.'lib/scripts/page.js', + DOKU_TPLINC.'script.js', ); // add possible plugin scripts and userscript @@ -112,7 +111,7 @@ function js_out(){ js_runonstart("addEvent(document,'click',closePopups)"); js_runonstart("initToolbar('tool__bar','wiki__text',toolbar)"); if($conf['locktime'] != 0){ - js_runonstart("locktimer.init(".($conf['locktime'] - 60).",'".js_escape($lang['willexpire'])."',".$conf['usedraft'].", 'wiki__text')"); + js_runonstart("dw_locktimer.init(".($conf['locktime'] - 60).",".$conf['usedraft'].")"); } // init hotkeys - must have been done after init of toolbar # disabled for FS#1958 js_runonstart('initializeHotkeys()'); diff --git a/lib/plugins/acl/admin.php b/lib/plugins/acl/admin.php index 7c12b337428c21e0d432cdb9c9abdbe96b911deb..53f6db0cc99ebd0d0f427335e45bce23ff6117b9 100644 --- a/lib/plugins/acl/admin.php +++ b/lib/plugins/acl/admin.php @@ -540,7 +540,8 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { function _html_li_acl($item){ - return '<li class="level'.$item['level'].'">'; + return '<li class="level' . $item['level'] . ' ' . + ($item['open'] ? 'open' : 'closed') . '">'; } diff --git a/lib/plugins/acl/lang/fi/lang.php b/lib/plugins/acl/lang/fi/lang.php index 04074d8d4243de326b93e9c8232cc3d15c193bfc..4f145e0f612b58cf1ab884d5643c23b05a186d88 100644 --- a/lib/plugins/acl/lang/fi/lang.php +++ b/lib/plugins/acl/lang/fi/lang.php @@ -5,6 +5,7 @@ * @author otto@valjakko.net * @author Otto Vainio <otto@valjakko.net> * @author Teemu Mattila <ghcsystems@gmail.com> + * @author Sami Olmari <sami@olmari.fi> */ $lang['admin_acl'] = 'Käyttöoikeudet (ACL)'; $lang['acl_group'] = 'Ryhmä'; diff --git a/lib/plugins/acl/lang/fr/lang.php b/lib/plugins/acl/lang/fr/lang.php index 36323a51f11c0e52d1e439c609762e1a0d204ebd..fd3f40dfcb1e902936aa0245576f03ed01587772 100644 --- a/lib/plugins/acl/lang/fr/lang.php +++ b/lib/plugins/acl/lang/fr/lang.php @@ -21,6 +21,7 @@ * @author Florian Gaub <floriang@floriang.net> * @author Samuel Dorsaz samuel.dorsaz@novelion.net * @author Johan Guilbaud <guilbaud.johan@gmail.com> + * @author schplurtz@laposte.net */ $lang['admin_acl'] = 'Gestion de la liste des contrôles d\'accès (ACL)'; $lang['acl_group'] = 'Groupe'; diff --git a/lib/plugins/acl/lang/hr/help.txt b/lib/plugins/acl/lang/hr/help.txt new file mode 100644 index 0000000000000000000000000000000000000000..4e7cfc3c294e0400e70d9bdc4d604a6117270009 --- /dev/null +++ b/lib/plugins/acl/lang/hr/help.txt @@ -0,0 +1,11 @@ +=== Brza Pomoć: === + +Na ovoj stranici možeÅ¡ dodavati i brisati dozvole za imenske prostore i stranice u svom wiki-u. + +Lijevi prozor prikazuje sve dostupne imenske prostore i stranice. + +Forma iznad ti omogućuje pregled i mijenjanje dozvola odabranom korisniku ili grupi. + +U tablici ispod prikazana su sva trenutno postavljena pravila kontrole pristupa. Koristite je za viÅ¡estruko brisanje ili mijenjanje pravila. + +ÄŒitanje [[doku>acl|službena dokumentacija o ACL]] može vam pomoći potpuno razumijeti kako kontrola pristupa radi u DokuWiki. \ No newline at end of file diff --git a/lib/plugins/acl/lang/hr/lang.php b/lib/plugins/acl/lang/hr/lang.php index d2094b77b6e9e73586a2dee12f2846a93faf2ef9..8c21f1b0b469fc813f9531e09169935cfd59ce7e 100644 --- a/lib/plugins/acl/lang/hr/lang.php +++ b/lib/plugins/acl/lang/hr/lang.php @@ -4,4 +4,33 @@ * * @author Branko Rihtman <theney@gmail.com> * @author Dražen OdobaÅ¡ić <dodobasic@gmail.com> + * @author Dejan Igrec dejan.igrec@gmail.com */ +$lang['admin_acl'] = 'Upravljanje listom kontrole pristupa'; +$lang['acl_group'] = 'Grupa'; +$lang['acl_user'] = 'Korisnik'; +$lang['acl_perms'] = 'Dozvole za'; +$lang['page'] = 'Stranica'; +$lang['namespace'] = 'Imenski prostor'; +$lang['btn_select'] = 'Odaberi'; +$lang['p_user_id'] = 'Korisnik <b class="acluser">%s</b> trenutno ima sljedeće dozvole na stranici <b class="aclpage">%s</b>: <i>%s</i>.'; +$lang['p_user_ns'] = 'Korisnik <b class="acluser">%s</b> trenutno ima sljedeće dozvole u imenskom prostoru <b class="aclns">%s</b>: <i>%s</i>.'; +$lang['p_group_id'] = 'ÄŒlanovi grupe <b class="aclgroup">%s</b> trenutno imaju sljedeće dozvole na stranici <b class="aclpage">%s</b>: <i>%s</i>.'; +$lang['p_group_ns'] = 'ÄŒlanovi grupe <b class="aclgroup">%s</b> trenutno imaju sljedeće dozvole u imenskom prostoru <b class="aclns">%s</b>: <i>%s</i>.'; +$lang['p_choose_id'] = 'Molim <b>unesti korisnika ili grupu</b> u gornju formu za pregled ili ureÄ‘ivanje dozvola postavljenih za stranicu <b class="aclpage">%s</b>.'; +$lang['p_choose_ns'] = 'Molim <b>unesti korisnika ili grupu</b> u gornju formu za pregled ili ureÄ‘ivanje dozvola postavljenih za imenski prostor <b class="aclns">%s</b>.'; +$lang['p_inherited'] = 'Napomena: Ove dozvole nisu postavljene eksplicitno već su naslijeÄ‘ene od drugih grupa ili nadreÄ‘enih imenskih prostora.'; +$lang['p_isadmin'] = 'Napomena: Odabrana grupa ili korisnik uvijek ima sve dozvole jer je postavljen kao superuser.'; +$lang['p_include'] = 'ViÅ¡e dozvole ukljuÄuju sve niže. Dozvole Kreiraj, UÄitaj i BriÅ¡i se primjenjuju samo na imenske prostore, ne stranice.'; +$lang['current'] = 'Trenutna ACL Pravila'; +$lang['where'] = 'Stranica/Imenski prostor'; +$lang['who'] = 'Korisnik/Grupa'; +$lang['perm'] = 'Dozvole'; +$lang['acl_perm0'] = 'NiÅ¡ta'; +$lang['acl_perm1'] = 'ÄŒitaj'; +$lang['acl_perm2'] = 'Uredi'; +$lang['acl_perm4'] = 'Kreiraj'; +$lang['acl_perm8'] = 'UÄitaj'; +$lang['acl_perm16'] = 'BriÅ¡i'; +$lang['acl_new'] = 'Dodaj novi Zapis'; +$lang['acl_mod'] = 'Promijeni Zapis'; diff --git a/lib/plugins/acl/script.js b/lib/plugins/acl/script.js index a3dbbe0d22088a9a2642212dba36ac5fa86e71f6..2598bcef844f6dc6995718bdefa7e6c784d86c57 100644 --- a/lib/plugins/acl/script.js +++ b/lib/plugins/acl/script.js @@ -3,16 +3,44 @@ * * @author Andreas Gohr <andi@splitbrain.org> */ -acl = { +var dw_acl = { /** * Initialize the object and attach the event handlers */ - init: function(){ - if(!jQuery('#acl_manager').length) return; //FIXME only one underscore!! + init: function () { + var $tree; - jQuery('#acl__user select').change(acl.userselhandler); - jQuery('#acl__tree').click(acl.treehandler); - jQuery('#acl__user input[type=submit]').click(acl.loadinfo); + //FIXME only one underscore!! + if (jQuery('#acl_manager').length === 0) { + return; + } + + jQuery('#acl__user select').change(dw_acl.userselhandler); + jQuery('#acl__user input[type=submit]').click(dw_acl.loadinfo); + + $tree = jQuery('#acl__tree'); + $tree.dw_tree({toggle_selector: 'img', + load_data: function (show_sublist, $clicky) { + // get the enclosed link and the edit form + var $frm = jQuery('#acl__detail form'); + + jQuery.post( + DOKU_BASE + 'lib/plugins/acl/ajax.php', + jQuery.extend(dw_acl.parseatt($clicky.parent().find('a')[0].search), + {ajax: 'tree', + current_ns: $frm.find('input[name=ns]').val(), + current_id: $frm.find('input[name=id]').val()}), + show_sublist, + 'html' + ); + }, + + toggle_display: function ($clicky, opening) { + $clicky.attr('src', + DOKU_BASE + 'lib/images/' + + (opening ? 'minus' : 'plus') + '.gif'); + }}); + $tree.delegate('a', 'click', dw_acl.treehandler); }, /** @@ -21,32 +49,20 @@ acl = { * Hides or shows the user/group entry box depending on what was selected in the * dropdown element */ - userselhandler: function(e){ + userselhandler: function () { // make entry field visible/invisible - if(this.value == '__g__' || this.value == '__u__'){ - jQuery('#acl__user input').show(); - }else{ - jQuery('#acl__user input').hide(); - } - acl.loadinfo(); + jQuery('#acl__user input').toggle(this.value === '__g__' || + this.value === '__u__'); + dw_acl.loadinfo(); }, /** * Load the current permission info and edit form */ - loadinfo: function(){ - var frm = jQuery('#acl__detail form')[0]; - + loadinfo: function () { jQuery('#acl__info').load( DOKU_BASE + 'lib/plugins/acl/ajax.php', - { - 'ns': frm.elements['ns'].value, - 'id': frm.elements['id'].value, - 'acl_t': frm.elements['acl_t'].value, - 'acl_w': frm.elements['acl_w'].value, - 'sectok': frm.elements['sectok'].value, - 'ajax': 'info' - } + jQuery('#acl__detail form').serialize() + '&ajax=info' ); return false; }, @@ -56,11 +72,13 @@ acl = { * * @todo put into global script lib? */ - parseatt: function(str){ - if(str[0] == '?') str = str.substr(1); + parseatt: function (str) { + if (str[0] === '?') { + str = str.substr(1); + } var attributes = {}; var all = str.split('&'); - for(var i=0; i<all.length; i++){ + for (var i = 0; i < all.length; i++) { var att = all[i].split('='); attributes[att[0]] = decodeURIComponent(att[1]); } @@ -68,79 +86,40 @@ acl = { }, /** - * Open or close a subtree using AJAX - * - * @author Andreas Gohr <andi@splitbrain.org> - * @param DOMElement clicky - the plus/minus icon in front of a namespace + * Handles clicks to the tree nodes */ - treetoggle: function(clicky){ - var listitem = jQuery(clicky).parent().parent(); - - // if already open, close by removing the sublist - var sublists = listitem.find('ul'); - if(sublists.length){ - listitem.remove('ul'); - clicky.src = DOKU_BASE+'lib/images/plus.gif'; - clicky.alt = '+'; - return false; - } - - // prepare new ul to load into it via ajax - var ul = document.createElement('ul'); - listitem[0].appendChild(ul); - - // get the enclosed link and the edit form - var link = listitem.find('a')[0]; - var frm = jQuery('#acl__detail form')[0]; + treehandler: function () { + var $link, $frm; - // prepare ajax data - var data = acl.parseatt(link.search); - data['ajax'] = 'tree'; - data['current_ns'] = frm.elements['ns'].value; - data['current_id'] = frm.elements['id'].value; + $link = jQuery(this); - // run ajax - jQuery(ul).load(DOKU_BASE + 'lib/plugins/acl/ajax.php', data); - - clicky.src = DOKU_BASE+'lib/images/minus.gif'; - return false; - }, - - /** - * Handles all clicks in the tree, dispatching the right action based on the - * clicked element - * - * @param Event e The event object that caused the execution - */ - treehandler: function(e){ - if(e.target.src){ // is it an image? - acl.treetoggle(e.target); - } else if(e.target.href){ // is it a link? // remove highlighting jQuery('#acl__tree a.cur').removeClass('cur'); - var link = jQuery(e.target); - // add new highlighting - link.addClass('cur'); + $link.addClass('cur'); // set new page to detail form - var frm = jQuery('#acl__detail form')[0]; - if(link.hasClass('wikilink1')){ - jQuery('#acl__detail form input[name=ns]').val(''); - jQuery('#acl__detail form input[name=id]').val(acl.parseatt(link[0].search)['id']); - }else if(link.hasClass('idx_dir')){ - jQuery('#acl__detail form input[name=ns]').val(acl.parseatt(link[0].search)['ns']); - jQuery('#acl__detail form input[name=id]').val(''); + $frm = jQuery('#acl__detail form'); + if ($link.hasClass('wikilink1')) { + $frm.find('input[name=ns]').val(''); + $frm.find('input[name=id]').val(dw_acl.parseatt($link[0].search).id); + } else if ($link.hasClass('idx_dir')) { + $frm.find('input[name=ns]').val(dw_acl.parseatt($link[0].search).ns); + $frm.find('input[name=id]').val(''); } - acl.loadinfo(); - } + dw_acl.loadinfo(); - e.stopPropagation(); - e.preventDefault(); return false; } - }; -jQuery(acl.init); +jQuery(dw_acl.init); + +var acl = { + init: DEPRECATED_WRAP(dw_acl.init, dw_acl), + userselhandler: DEPRECATED_WRAP(dw_acl.userselhandler, dw_acl), + loadinfo: DEPRECATED_WRAP(dw_acl.loadinfo, dw_acl), + parseatt: DEPRECATED_WRAP(dw_acl.parseatt, dw_acl), + treehandler: DEPRECATED_WRAP(dw_acl.treehandler, dw_acl) +}; diff --git a/lib/plugins/acl/style.css b/lib/plugins/acl/style.css index 0c5a9819bde466bdd61c0f2ede8df05df3f8f508..b7154aa786175f84ecb91f116afd2acca7e3509a 100644 --- a/lib/plugins/acl/style.css +++ b/lib/plugins/acl/style.css @@ -22,6 +22,7 @@ div#acl_manager div#acl__tree ul { div#acl_manager div#acl__tree li { padding-left: 1em; + list-style-image: none; } div#acl_manager div#acl__tree ul img { diff --git a/lib/plugins/config/lang/de/lang.php b/lib/plugins/config/lang/de/lang.php index cf9dca13aa10359ede528cd880e54edef4b594bb..b4746d7574481874bf7a9b285bdc97bd038710ab 100644 --- a/lib/plugins/config/lang/de/lang.php +++ b/lib/plugins/config/lang/de/lang.php @@ -50,6 +50,7 @@ $lang['dmode'] = 'Rechte für neue Verzeichnisse'; $lang['lang'] = 'Sprache'; $lang['basedir'] = 'Installationsverzeichnis'; $lang['baseurl'] = 'Installationspfad (URL)'; +$lang['cookiedir'] = 'Cookiepfad. Frei lassen, um den gleichen Pfad wie "baseurl" zu benutzen.'; $lang['savedir'] = 'Speicherverzeichnis'; $lang['start'] = 'Startseitenname'; $lang['title'] = 'Titel des Wikis'; diff --git a/lib/plugins/config/lang/en/lang.php b/lib/plugins/config/lang/en/lang.php index e5dd4707a5fe2e1e85b73985772110ca7575dc2c..8609e278f8e858520598109ebe44ecde0420a51e 100644 --- a/lib/plugins/config/lang/en/lang.php +++ b/lib/plugins/config/lang/en/lang.php @@ -58,6 +58,7 @@ $lang['lang'] = 'Interface language'; $lang['basedir'] = 'Server path (eg. <code>/dokuwiki/</code>). Leave blank for autodetection.'; $lang['baseurl'] = 'Server URL (eg. <code>http://www.yourserver.com</code>). Leave blank for autodetection.'; $lang['savedir'] = 'Directory for saving data'; +$lang['cookiedir'] = 'Cookie path. Leave blank for using baseurl.'; $lang['start'] = 'Start page name'; $lang['title'] = 'Wiki title'; $lang['template'] = 'Template'; diff --git a/lib/plugins/config/lang/fi/lang.php b/lib/plugins/config/lang/fi/lang.php index c3434c1f3a16ad9b846352b071fda88a628725e2..0e9bad0307897ac6943281fe12e8ae2453d3aab1 100644 --- a/lib/plugins/config/lang/fi/lang.php +++ b/lib/plugins/config/lang/fi/lang.php @@ -5,6 +5,7 @@ * @author otto@valjakko.net * @author Otto Vainio <otto@valjakko.net> * @author Teemu Mattila <ghcsystems@gmail.com> + * @author Sami Olmari <sami@olmari.fi> */ $lang['menu'] = 'Asetukset'; $lang['error'] = 'Asetuksia ei päivitetty väärän arvon vuoksi. Tarkista muutokset ja lähetä sivu uudestaan. @@ -111,6 +112,7 @@ $lang['jpg_quality'] = 'JPG pakkauslaatu (0-100)'; $lang['subscribers'] = 'Salli tuki sivujen tilaamiselle'; $lang['subscribe_time'] = 'Aika jonka jälkeen tilauslinkit ja yhteenveto lähetetään (sek). Tämän pitäisi olla pienempi, kuin recent_days aika.'; $lang['compress'] = 'Pakkaa CSS ja javascript'; +$lang['cssdatauri'] = 'Maksimikoko tavuina jossa kuvat joihin viitataan CSS-tiedostoista olisi sisällytettynä suoraan tyylitiedostoon jotta HTTP-kyselyjen kaistaa saataisiin kutistettua. Tämä tekniikka ei toimi IE versiossa aikasempi kuin 8! <code>400:sta</code> <code>600:aan</code> tavua on hyvä arvo. Aseta <code>0</code> kytkeäksesi ominaisuuden pois.'; $lang['hidepages'] = 'Piilota seuraavat sivut (säännönmukainen lauseke)'; $lang['send404'] = 'Lähetä "HTTP 404/Page Not Found" puuttuvista sivuista'; $lang['sitemap'] = 'Luo Google sitemap (päiviä)'; diff --git a/lib/plugins/config/lang/fr/lang.php b/lib/plugins/config/lang/fr/lang.php index 39a665da086396ecd2412a9f5a8e0973beee76c6..1de255b408a3a9e96d45ee2839517d82aad22ef0 100644 --- a/lib/plugins/config/lang/fr/lang.php +++ b/lib/plugins/config/lang/fr/lang.php @@ -16,6 +16,7 @@ * @author Florian Gaub <floriang@floriang.net> * @author Samuel Dorsaz samuel.dorsaz@novelion.net * @author Johan Guilbaud <guilbaud.johan@gmail.com> + * @author schplurtz@laposte.net */ $lang['menu'] = 'Paramètres de configuration'; $lang['error'] = 'Paramètres non modifiés en raison d\'une valeur non valide, vérifiez vos réglages et réessayez. <br />Les valeurs erronées sont entourées d\'une bordure rouge.'; @@ -120,6 +121,7 @@ $lang['jpg_quality'] = 'Qualité de la compression JPEG (0-100)'; $lang['subscribers'] = 'Activer l\'abonnement aux pages'; $lang['subscribe_time'] = 'Délai après lequel les listes d\'abonnement et résumés sont envoyés (en secondes). Devrait être plus petit que le délai précisé dans recent_days.'; $lang['compress'] = 'Compresser CSS et JavaScript'; +$lang['cssdatauri'] = 'Taille maximale en octets pour inclure dans les feuilles de styles CSS, les images qui y sont référencées. Cette technique minimise les requêtes HTTP. Pour IE, ceci ne fonctionne qu\'à partir de la version 8 ! Valeurs correctes entre <code>400</code> et <code>600</code>. <code>0</code> pour désactiver.'; $lang['hidepages'] = 'Cacher les pages correspondant à (expression régulière)'; $lang['send404'] = 'Renvoyer "HTTP 404/Page Non Trouvée" pour les pages introuvables'; $lang['sitemap'] = 'Fréquence de génération une carte Google du site (en jours)'; diff --git a/lib/plugins/config/lang/hr/lang.php b/lib/plugins/config/lang/hr/lang.php index d2094b77b6e9e73586a2dee12f2846a93faf2ef9..96f1d6afe569051ea8f286e15d1e8a13d44c4f83 100644 --- a/lib/plugins/config/lang/hr/lang.php +++ b/lib/plugins/config/lang/hr/lang.php @@ -4,4 +4,5 @@ * * @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/config/lang/pt/lang.php b/lib/plugins/config/lang/pt/lang.php index 7f5eb9971c0417f4440f3b5f319b9c490790fd70..f4382aa940e83da20b074168d144048268f16568 100644 --- a/lib/plugins/config/lang/pt/lang.php +++ b/lib/plugins/config/lang/pt/lang.php @@ -112,6 +112,7 @@ $lang['jpg_quality'] = 'Compressão/Qualidade JPG (0-100)'; $lang['subscribers'] = 'Habilitar o suporte a subscrição de páginas '; $lang['subscribe_time'] = 'Tempo após o qual as listas de subscrição e "digests" são enviados (seg.); Isto deve ser inferior ao tempo especificado em recent_days.'; $lang['compress'] = 'Compactar as saÃdas de CSS e JavaScript'; +$lang['cssdatauri'] = 'Tamanho em bytes até ao qual as imagens referenciadas em ficheiros CSS devem ser embutidas diretamente no CSS para reduzir a carga de pedidos HTTP extra. Esta técnica não funciona em IE < 8! <code>400</code> a <code>600</code> bytes é um bom valor. Escolher <code>0</code> para desativar.'; $lang['hidepages'] = 'Esconder páginas correspondentes (expressões regulares)'; $lang['send404'] = 'Enviar "HTTP 404/Página não encontrada" para páginas não existentes'; $lang['sitemap'] = 'Gerar Sitemap Google (dias)'; diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php index 71e9a7ebcf06e9f96f8b51c6ce5922cf3c38f36c..54fe2ad9c4e24c7bc2204545fdee552a528be9c9 100644 --- a/lib/plugins/config/settings/config.class.php +++ b/lib/plugins/config/settings/config.class.php @@ -341,7 +341,7 @@ if (!class_exists('setting')) { var $_input = NULL; // only used by those classes which error check var $_cautionList = array( - 'basedir' => 'danger', 'baseurl' => 'danger', 'savedir' => 'danger', 'useacl' => 'danger', 'authtype' => 'danger', 'superuser' => 'danger', 'userewrite' => 'danger', + 'basedir' => 'danger', 'baseurl' => 'danger', 'savedir' => 'danger', 'cookiedir' => 'danger', 'useacl' => 'danger', 'authtype' => 'danger', 'superuser' => 'danger', 'userewrite' => 'danger', 'start' => 'warning', 'camelcase' => 'warning', 'deaccent' => 'warning', 'sepchar' => 'warning', 'compression' => 'warning', 'xsendfile' => 'warning', 'renderer_xhtml' => 'warning', 'fnencode' => 'warning', 'allowdebug' => 'security', 'htmlok' => 'security', 'phpok' => 'security', 'iexssprotect' => 'security', 'xmlrpc' => 'security', 'fullpath' => 'security' ); diff --git a/lib/plugins/config/settings/config.metadata.php b/lib/plugins/config/settings/config.metadata.php index abea1be1cd594d4e177d91d501b91a2835aa15c8..5f2c32ea71461233e844596dfef2595c5e52860f 100644 --- a/lib/plugins/config/settings/config.metadata.php +++ b/lib/plugins/config/settings/config.metadata.php @@ -95,6 +95,7 @@ $meta['license'] = array('license'); $meta['savedir'] = array('savedir'); $meta['basedir'] = array('string'); $meta['baseurl'] = array('string'); +$meta['cookiedir'] = array('string'); $meta['dmode'] = array('numeric','_pattern' => '/0[0-7]{3,4}/'); // only accept octal representation $meta['fmode'] = array('numeric','_pattern' => '/0[0-7]{3,4}/'); // only accept octal representation $meta['allowdebug'] = array('onoff'); diff --git a/lib/plugins/plugin/lang/fi/lang.php b/lib/plugins/plugin/lang/fi/lang.php index 817b4f20acee5766b17ad358b51c4a3bc7206a6c..c348a2331155d27d4a1738a46668e295e3bdebab 100644 --- a/lib/plugins/plugin/lang/fi/lang.php +++ b/lib/plugins/plugin/lang/fi/lang.php @@ -5,6 +5,7 @@ * @author otto@valjakko.net * @author Otto Vainio <otto@valjakko.net> * @author Teemu Mattila <ghcsystems@gmail.com> + * @author Sami Olmari <sami@olmari.fi> */ $lang['menu'] = 'Ylläpidä liitännäisiä'; $lang['download'] = 'Lataa ja asenna uusi liitännäinen'; @@ -50,3 +51,4 @@ $lang['enabled'] = 'Liitännäinen %s käytössä'; $lang['notenabled'] = 'Liitännäistä %s ei voitu ottaa käyttöön. Tarkista tiedostojen oikeudet.'; $lang['disabled'] = 'Liitännäinen %s pois käytössä'; $lang['notdisabled'] = 'Liitännäistä %s ei voitu ottaa pois käytöstä. Tarkista tiedostojen oikeudet.'; +$lang['packageinstalled'] = 'Pluginpaketti (%d plugin%s: %s:) asennettu onnistuneesti.'; diff --git a/lib/plugins/plugin/lang/fr/lang.php b/lib/plugins/plugin/lang/fr/lang.php index 2989d4913dff079e987e5c7b92e0463335b795ba..0ff26da19fd59abf753763ff589d7546a3eb7088 100644 --- a/lib/plugins/plugin/lang/fr/lang.php +++ b/lib/plugins/plugin/lang/fr/lang.php @@ -16,6 +16,7 @@ * @author Florian Gaub <floriang@floriang.net> * @author Samuel Dorsaz samuel.dorsaz@novelion.net * @author Johan Guilbaud <guilbaud.johan@gmail.com> + * @author schplurtz@laposte.net */ $lang['menu'] = 'Gestion des modules externes'; $lang['download'] = 'Télécharger et installer un nouveau module'; diff --git a/lib/plugins/plugin/lang/hr/lang.php b/lib/plugins/plugin/lang/hr/lang.php index d2094b77b6e9e73586a2dee12f2846a93faf2ef9..96f1d6afe569051ea8f286e15d1e8a13d44c4f83 100644 --- a/lib/plugins/plugin/lang/hr/lang.php +++ b/lib/plugins/plugin/lang/hr/lang.php @@ -4,4 +4,5 @@ * * @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/popularity/helper.php b/lib/plugins/popularity/helper.php index 5ce562319bf66bd315239a64ab5639b3a9752f19..af1e8a7062430579aa4811e75a6e7b0c3b8a00d9 100644 --- a/lib/plugins/popularity/helper.php +++ b/lib/plugins/popularity/helper.php @@ -134,6 +134,7 @@ class helper_plugin_popularity extends Dokuwiki_Plugin { $data['popversion'] = $this->version; $data['language'] = $conf['lang']; $data['now'] = time(); + $data['popauto'] = (int) $this->isAutoSubmitEnabled(); // some config values $data['conf_useacl'] = $conf['useacl']; diff --git a/lib/plugins/popularity/lang/de/intro.txt b/lib/plugins/popularity/lang/de/intro.txt index 63b1206621570e6b273a38ff130120720eeea461..dc014e029fb3c9532fee69d6aca7968e37d1570f 100644 --- a/lib/plugins/popularity/lang/de/intro.txt +++ b/lib/plugins/popularity/lang/de/intro.txt @@ -1,6 +1,6 @@ ====== Popularitäts-Feedback ====== -Dieses Werkzeug sammelt verschiedene anonyme Daten über Ihr Wiki und erlaubt es Ihnen, diese an die DokuWiki-Entwickler zurückzusenden. Diese Daten helfen den Entwicklern besser zu verstehen, wie DokuWiki eingesetzt wird und stellt sicher, dass zukünftige, die Weiterentwicklung von DokuWiki betreffende, Entscheidungen auf Basis echter Nutzerdaten getroffen werden. +Dieses [[doku>popularity|Werkzeug]] sammelt verschiedene anonyme Daten über Ihr Wiki und erlaubt es Ihnen, diese an die DokuWiki-Entwickler zurückzusenden. Diese Daten helfen den Entwicklern besser zu verstehen, wie DokuWiki eingesetzt wird und stellt sicher, dass zukünftige, die Weiterentwicklung von DokuWiki betreffende, Entscheidungen auf Basis echter Nutzerdaten getroffen werden. Bitte wiederholen Sie das Versenden der Daten von Zeit zu Zeit, um die Entwickler über das Wachstum Ihres Wikis auf dem Laufenden zu halten. Ihre wiederholten Dateneinsendungen werden über eine anonyme ID identifiziert. diff --git a/lib/plugins/popularity/lang/en/intro.txt b/lib/plugins/popularity/lang/en/intro.txt index 0812ffbe3c87ed00cff084eb1ea415a901ff03d5..e1d6d940a01222e4c9ca2e53d60f19bfed32073f 100644 --- a/lib/plugins/popularity/lang/en/intro.txt +++ b/lib/plugins/popularity/lang/en/intro.txt @@ -1,6 +1,6 @@ ====== Popularity Feedback ====== -This tool gathers anonymous data about your wiki and allows you to send it back to the DokuWiki developers. This helps them to understand them how DokuWiki is used by its users and makes sure future development decisions are backed up by real world usage statistics. +This [[doku>popularity|tool]] gathers anonymous data about your wiki and allows you to send it back to the DokuWiki developers. This helps them to understand them how DokuWiki is used by its users and makes sure future development decisions are backed up by real world usage statistics. You are encouraged to repeat this step from time to time to keep developers informed when your wiki grows. Your repeated data sets will be identified by an anonymous ID. diff --git a/lib/plugins/popularity/lang/fi/lang.php b/lib/plugins/popularity/lang/fi/lang.php index a73f6350161cbdf2bc469c2190eac737bf1864bf..d7c2307420cd86399ce0e98d253a6dc2096411ba 100644 --- a/lib/plugins/popularity/lang/fi/lang.php +++ b/lib/plugins/popularity/lang/fi/lang.php @@ -4,6 +4,7 @@ * * @author Otto Vainio <otto@valjakko.net> * @author Teemu Mattila <ghcsystems@gmail.com> + * @author Sami Olmari <sami@olmari.fi> */ $lang['name'] = 'Suosion palaute (voi kestää jonkun aikaa latautua)'; $lang['submit'] = 'Lähetä tiedot'; diff --git a/lib/plugins/popularity/lang/fr/intro.txt b/lib/plugins/popularity/lang/fr/intro.txt index 58be61d03f70842b522f71f31a871a288e964b55..041e65d69e996975d523b3aeb0cebf313ea4d1bc 100644 --- a/lib/plugins/popularity/lang/fr/intro.txt +++ b/lib/plugins/popularity/lang/fr/intro.txt @@ -1,6 +1,6 @@ ====== Enquête de popularité ====== -Cet outil collecte des données anonymes concernant votre wiki et vous permet de les expédier aux développeurs de DokuWiki. Ceci leur permet de mieux comprendre comment DokuWiki est employé par ses utilisateurs et d'orienter les décisions sur les développements futurs en tenant compte des statistiques d'usage réel. +Cet [[doku>popularity|outil]] collecte des données anonymes concernant votre wiki et vous permet de les expédier aux développeurs de DokuWiki. Ceci leur permet de mieux comprendre comment DokuWiki est employé par ses utilisateurs et d'orienter les décisions sur les développements futurs en tenant compte des statistiques d'usage réel. Vous êtes encouragé à répéter l'opération de collecte et d'envoi des données anonymes de temps en temps afin d'informer les développeurs de la croissance de votre wiki. diff --git a/lib/plugins/popularity/lang/fr/lang.php b/lib/plugins/popularity/lang/fr/lang.php index 9aaf3c7d2ae00cd3830f54f3b1edf94df622ad17..3ccc4cb5f39336ea0eb453e1c8dca9f3d67e2dde 100644 --- a/lib/plugins/popularity/lang/fr/lang.php +++ b/lib/plugins/popularity/lang/fr/lang.php @@ -13,6 +13,7 @@ * @author Florian Gaub <floriang@floriang.net> * @author Samuel Dorsaz samuel.dorsaz@novelion.net * @author Johan Guilbaud <guilbaud.johan@gmail.com> + * @author schplurtz@laposte.net */ $lang['name'] = 'Enquête de popularité (peut nécessiter un certain temps pour être chargée)'; $lang['submit'] = 'Envoyer les données'; diff --git a/lib/plugins/popularity/lang/hr/lang.php b/lib/plugins/popularity/lang/hr/lang.php index d2094b77b6e9e73586a2dee12f2846a93faf2ef9..96f1d6afe569051ea8f286e15d1e8a13d44c4f83 100644 --- a/lib/plugins/popularity/lang/hr/lang.php +++ b/lib/plugins/popularity/lang/hr/lang.php @@ -4,4 +4,5 @@ * * @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/popularity/plugin.info.txt b/lib/plugins/popularity/plugin.info.txt index 2652bd66980685d97c6605902ba6876deed303d4..16b148f41b8133a5b411153ac34c8ee7e54432c9 100644 --- a/lib/plugins/popularity/plugin.info.txt +++ b/lib/plugins/popularity/plugin.info.txt @@ -1,7 +1,7 @@ base popularity author Andreas Gohr email andi@splitbrain.org -date 2010-12-09 +date 2011-08-18 name Popularity Feedback Plugin desc Send anonymous data about your wiki to the developers. url http://www.dokuwiki.org/plugin:popularity diff --git a/lib/plugins/revert/lang/fi/lang.php b/lib/plugins/revert/lang/fi/lang.php index 26bc6b76ad3456d9830e000d3c6e62e21922ddf3..fdf9bb81c2e55246ff77a3d83150e72463061f65 100644 --- a/lib/plugins/revert/lang/fi/lang.php +++ b/lib/plugins/revert/lang/fi/lang.php @@ -5,6 +5,7 @@ * @author otto@valjakko.net * @author Otto Vainio <otto@valjakko.net> * @author Teemu Mattila <ghcsystems@gmail.com> + * @author Sami Olmari <sami@olmari.fi> */ $lang['menu'] = 'Palautuksenhallinta'; $lang['filter'] = 'Etsi spammattyjä sivuja'; diff --git a/lib/plugins/revert/lang/fr/lang.php b/lib/plugins/revert/lang/fr/lang.php index d6dc3ee3d157b756c79e076cdb959ab84322228e..17a2c3a01c806c44e157c8a94ebbf49113e27271 100644 --- a/lib/plugins/revert/lang/fr/lang.php +++ b/lib/plugins/revert/lang/fr/lang.php @@ -14,6 +14,7 @@ * @author Florian Gaub <floriang@floriang.net> * @author Samuel Dorsaz samuel.dorsaz@novelion.net * @author Johan Guilbaud <guilbaud.johan@gmail.com> + * @author schplurtz@laposte.net */ $lang['menu'] = 'Gestionnaire de réversions'; $lang['filter'] = 'Trouver les pages spammées '; diff --git a/lib/plugins/revert/lang/hr/lang.php b/lib/plugins/revert/lang/hr/lang.php index d2094b77b6e9e73586a2dee12f2846a93faf2ef9..96f1d6afe569051ea8f286e15d1e8a13d44c4f83 100644 --- a/lib/plugins/revert/lang/hr/lang.php +++ b/lib/plugins/revert/lang/hr/lang.php @@ -4,4 +4,5 @@ * * @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/usermanager/lang/fi/lang.php b/lib/plugins/usermanager/lang/fi/lang.php index 6eeb4c3e875aa538a62840a03d65aaee166ebcb5..1db4bd7fb1417ec7c8a64feed7b3fea24e0a30fe 100644 --- a/lib/plugins/usermanager/lang/fi/lang.php +++ b/lib/plugins/usermanager/lang/fi/lang.php @@ -5,6 +5,7 @@ * @author otto@valjakko.net * @author Otto Vainio <otto@valjakko.net> * @author Teemu Mattila <ghcsystems@gmail.com> + * @author Sami Olmari <sami@olmari.fi> */ $lang['menu'] = 'Käyttäjähallinta'; $lang['noauth'] = '(autentikointi ei ole käytössä)'; diff --git a/lib/plugins/usermanager/lang/fr/lang.php b/lib/plugins/usermanager/lang/fr/lang.php index 49baf9d514dea53987db229715ab2ddcd83c5a2c..b6910663c3a02ebc2f1c833a550d97d45fdafe77 100644 --- a/lib/plugins/usermanager/lang/fr/lang.php +++ b/lib/plugins/usermanager/lang/fr/lang.php @@ -15,6 +15,7 @@ * @author Florian Gaub <floriang@floriang.net> * @author Samuel Dorsaz samuel.dorsaz@novelion.net * @author Johan Guilbaud <guilbaud.johan@gmail.com> + * @author schplurtz@laposte.net */ $lang['menu'] = 'Gestion des utilisateurs'; $lang['noauth'] = '(authentification utilisateur non disponible)'; diff --git a/lib/plugins/usermanager/lang/hr/lang.php b/lib/plugins/usermanager/lang/hr/lang.php index d2094b77b6e9e73586a2dee12f2846a93faf2ef9..96f1d6afe569051ea8f286e15d1e8a13d44c4f83 100644 --- a/lib/plugins/usermanager/lang/hr/lang.php +++ b/lib/plugins/usermanager/lang/hr/lang.php @@ -4,4 +4,5 @@ * * @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/usermanager/script.js b/lib/plugins/usermanager/script.js index 68d43712942e1956e0838cd7914fdf519ffd9fe4..de013242bac16ef1876f4b91ea28daefff4317b3 100644 --- a/lib/plugins/usermanager/script.js +++ b/lib/plugins/usermanager/script.js @@ -1,9 +1,8 @@ /** * Add JavaScript confirmation to the User Delete button */ -function usrmgr_delconfirm(){ - if($('usrmgr__del')){ - addEvent( $('usrmgr__del'),'click',function(){ return confirm(reallyDel); } ); - } -}; -addInitEvent(usrmgr_delconfirm); +jQuery(function(){ + jQuery('#usrmgr__del').click(function(){ + return confirm(LANG.del_confirm); + }); +}); diff --git a/lib/scripts/behaviour.js b/lib/scripts/behaviour.js index f3fcccdfe97c1c175182f694a4871f75a1f2c7f3..cfdc8915775633a0d77262df967208d960daff46 100644 --- a/lib/scripts/behaviour.js +++ b/lib/scripts/behaviour.js @@ -1,6 +1,3 @@ -/*jslint sloppy: true */ -/*global jQuery, LANG, document, alert */ - /** * Automatic behaviours * @@ -13,11 +10,15 @@ var dw_behaviour = { init: function(){ dw_behaviour.focusMarker(); dw_behaviour.scrollToMarker(); - dw_behaviour.closeMsgOnClick(); dw_behaviour.removeHighlightOnClick(); dw_behaviour.quickSelect(); dw_behaviour.checkWindowsShares(); - dw_behaviour.initTocToggle(); + dw_behaviour.subscription(); + + dw_behaviour.revisionBoxHandler(); + jQuery('#page__revisions input[type=checkbox]').click( + dw_behaviour.revisionBoxHandler + ); }, /** @@ -37,17 +38,6 @@ var dw_behaviour = { jQuery('#focus__this').focus(); }, - /** - * Close messages shown by the msg() PHP function by click - */ - closeMsgOnClick: function(){ - jQuery('div.success, div.info, div.error, div.notify').click( - function(e){ - jQuery(e.target).fadeOut('fast'); - } - ); - }, - /** * Remove all search highlighting when clicking on a highlighted term * @@ -95,52 +85,97 @@ var dw_behaviour = { }, /** - * Adds the toggle switch to the TOC + * Hide list subscription style if target is a page + * + * @author Adrian Lang <lang@cosmocode.de> + * @author Pierre Spring <pierre.spring@caillou.ch> */ - initTocToggle: function() { - var $header = jQuery('#toc__header'); - if(!$header.length) return; - var $toc = jQuery('#toc__inside'); - - var $clicky = jQuery(document.createElement('span')) - .attr('id','toc__toggle') - .css('cursor','pointer') - .click(function(){ - $toc.slideToggle(); - setClicky(); - }); - $header.prepend($clicky); - - var setClicky = function(){ - if($toc.css('display') == 'none'){ - $clicky.html('<span>+</span>'); - $clicky[0].className = 'toc_open'; - }else{ - $clicky.html('<span>−</span>'); - $clicky[0].className = 'toc_close'; - } - }; + subscription: function(){ + var $form, $list, $digest; + + $form = jQuery('#subscribe__form'); + if (0 === $form.length) return; + + $list = $form.find("input[name='sub_style'][value='list']"); + $digest = $form.find("input[name='sub_style'][value='digest']"); + + $form.find("input[name='sub_target']") + .click( + function () { + var $this = jQuery(this), show_list; + if (!$this.prop('checked')) { + return; + } + + show_list = $this.val().match(/:$/); + $list.parent().dw_toggle(show_list); + if (!show_list && $list.prop('checked')) { + $digest.prop('checked', 'checked'); + } + } + ) + .filter(':checked') + .click(); + }, - setClicky(); + /** + * disable multiple revisions checkboxes if two are checked + * + * @author Andreas Gohr <andi@splitbrain.org> + */ + revisionBoxHandler: function(){ + var $checked = jQuery('#page__revisions input[type=checkbox]:checked'); + var $all = jQuery('#page__revisions input[type=checkbox]'); + + if($checked.length < 2){ + $all.attr('disabled',false); + jQuery('#page__revisions input[type=submit]').attr('disabled',true); + }else{ + $all.attr('disabled',true); + jQuery('#page__revisions input[type=submit]').attr('disabled',false); + for(var i=0; i<$checked.length; i++){ + $checked[i].disabled = false; + if(i>1){ + $checked[i].checked = false; + } + } + } } }; +/** + * Hides elements with a slide animation + * + * @param fn optional callback to run after hiding + * @author Adrian Lang <mail@adrianlang.de> + */ jQuery.fn.dw_hide = function(fn) { return this.slideUp('fast', fn); }; -jQuery.fn.dw_show = function() { - return this.slideDown('fast'); +/** + * Unhides elements with a slide animation + * + * @param fn optional callback to run after hiding + * @author Adrian Lang <mail@adrianlang.de> + */ +jQuery.fn.dw_show = function(fn) { + return this.slideDown('fast', fn); }; -jQuery.fn.dw_toggle = function(bool) { +/** + * Toggles visibility of an element using a slide element + * + * @param bool the current state of the element (optional) + */ +jQuery.fn.dw_toggle = function(bool, fn) { return this.each(function() { var $this = jQuery(this); if (typeof bool === 'undefined') { bool = $this.is(':hidden'); } - $this[bool ? "dw_show" : "dw_hide" ](); + $this[bool ? "dw_show" : "dw_hide" ](fn); }); }; diff --git a/lib/scripts/compatibility.js b/lib/scripts/compatibility.js index 27347972a7a6524465e2bf1240b616159b0e9dc1..39f703c7104c0492aedd47ee383f94e68ffb1b33 100644 --- a/lib/scripts/compatibility.js +++ b/lib/scripts/compatibility.js @@ -1,5 +1,74 @@ -/*jslint sloppy: true */ -/*global dw_index, dw_qsearch, DEPRECATED_WRAP */ +/** + * Mark a JavaScript function as deprecated + * + * This will print a warning to the JavaScript console (if available) in + * Firebug and Chrome and a stack trace (if available) to easily locate the + * problematic function call. + * + * @param msg optional message to print + */ +function DEPRECATED(msg){ + if(!window.console) return; + if(!msg) msg = ''; + + var func; + if(arguments.callee) func = arguments.callee.caller.name; + if(func) func = ' '+func+'()'; + var line = 'DEPRECATED function call'+func+'. '+msg; + + if(console.warn){ + console.warn(line); + }else{ + console.log(line); + } + + if(console.trace) console.trace(); +} + +/** + * Construct a wrapper function for deprecated function names + * + * This function returns a wrapper function which just calls DEPRECATED + * and the new function. + * + * @param func The new function + * @param context Optional; The context (`this`) of the call + */ +function DEPRECATED_WRAP(func, context) { + return function () { + DEPRECATED(); + return func.apply(context || this, arguments); + } +} + +/** + * Handy shortcut to document.getElementById + * + * This function was taken from the prototype library + * + * @link http://prototype.conio.net/ + */ +function $() { + DEPRECATED('Please use the JQuery() function instead.'); + + var elements = new Array(); + + for (var i = 0; i < arguments.length; i++) { + var element = arguments[i]; + if (typeof element == 'string') + element = document.getElementById(element); + + if (arguments.length == 1) + return element; + + elements.push(element); + } + + return elements; +} + + + var index = { throbber_delay: dw_index.throbber_delay, @@ -99,6 +168,7 @@ function findPosY(object){ function getElementsByClass(searchClass,node,tag){ DEPRECATED('Use jQuery() instead'); if(node == null) node = document; + if(typeof tag === 'undefined') tag = ''; return jQuery(node).find(tag+'.'+searchClass).toArray(); } @@ -107,3 +177,202 @@ function prependChild(parent,element) { jQuery(parent).prepend(element); } +function addEvent(element, type, handler) { + DEPRECATED('Use jQuery.bind() instead.'); + jQuery(element).bind(type,{},handler); +} + +function removeEvent(element, type, handler) { + DEPRECATED('Use jQuery.unbind() instead.'); + jQuery(element).unbind(type,handler); +} + +function addInitEvent(func) { + DEPRECATED('Use jQuery(<function>) instead'); + jQuery(func); +} + + +function jsEscape(text){ + DEPRECATED('Insert text through jQuery.text() instead of escaping on your own'); + var re=new RegExp("\\\\","g"); + text=text.replace(re,"\\\\"); + re=new RegExp("'","g"); + text=text.replace(re,"\\'"); + re=new RegExp('"',"g"); + text=text.replace(re,'"'); + re=new RegExp("\\\\\\\\n","g"); + text=text.replace(re,"\\n"); + return text; +} + +/** + * Simple function to check if a global var is defined + * + * @author Kae Verens + * @link http://verens.com/archives/2005/07/25/isset-for-javascript/#comment-2835 + */ +function isset(varname){ + DEPRECATED("Use `typeof var !== 'undefined'` instead"); + return(typeof(window[varname])!='undefined'); +} + +/** + * Checks if property is undefined + * + * @param {Object} prop value to check + * @return {Boolean} true if matched + * @scope public + * @author Ilya Lebedev <ilya@lebedev.net> + */ +function isUndefined (prop /* :Object */) /* :Boolean */ { + DEPRECATED("Use `typeof var === 'undefined'` instead"); + return (typeof prop == 'undefined'); +} + +/** + * Checks if property is function + * + * @param {Object} prop value to check + * @return {Boolean} true if matched + * @scope public + * @author Ilya Lebedev <ilya@lebedev.net> + */ +function isFunction (prop /* :Object */) /* :Boolean */ { + DEPRECATED("Use `typeof var === 'function'` instead"); + return (typeof prop == 'function'); +} +/** + * Checks if property is string + * + * @param {Object} prop value to check + * @return {Boolean} true if matched + * @scope public + * @author Ilya Lebedev <ilya@lebedev.net> + */ +function isString (prop /* :Object */) /* :Boolean */ { + DEPRECATED("Use `typeof var === 'string'` instead"); + return (typeof prop == 'string'); +} + +/** + * Checks if property is number + * + * @param {Object} prop value to check + * @return {Boolean} true if matched + * @scope public + * @author Ilya Lebedev <ilya@lebedev.net> + */ +function isNumber (prop /* :Object */) /* :Boolean */ { + DEPRECATED("Use `typeof var === 'number'` instead"); + return (typeof prop == 'number'); +} + +/** + * Checks if property is the calculable number + * + * @param {Object} prop value to check + * @return {Boolean} true if matched + * @scope public + * @author Ilya Lebedev <ilya@lebedev.net> + */ +function isNumeric (prop /* :Object */) /* :Boolean */ { + DEPRECATED("Use `typeof var === 'number' && !isNaN(var) && isFinite(var)` instead"); + return isNumber(prop)&&!isNaN(prop)&&isFinite(prop); +} + +/** + * Checks if property is array + * + * @param {Object} prop value to check + * @return {Boolean} true if matched + * @scope public + * @author Ilya Lebedev <ilya@lebedev.net> + */ +function isArray (prop /* :Object */) /* :Boolean */ { + DEPRECATED("Use `var instanceof Array` instead"); + return (prop instanceof Array); +} + +/** + * Checks if property is regexp + * + * @param {Object} prop value to check + * @return {Boolean} true if matched + * @scope public + * @author Ilya Lebedev <ilya@lebedev.net> + */ +function isRegExp (prop /* :Object */) /* :Boolean */ { + DEPRECATED("Use `var instanceof RegExp` instead"); + return (prop instanceof RegExp); +} + +/** + * Checks if property is a boolean value + * + * @param {Object} prop value to check + * @return {Boolean} true if matched + * @scope public + * @author Ilya Lebedev <ilya@lebedev.net> + */ +function isBoolean (prop /* :Object */) /* :Boolean */ { + DEPRECATED("Use `typeof var === 'boolean'` instead"); + return ('boolean' == typeof prop); +} + +/** + * Checks if property is a scalar value (value that could be used as the hash key) + * + * @param {Object} prop value to check + * @return {Boolean} true if matched + * @scope public + * @author Ilya Lebedev <ilya@lebedev.net> + */ +function isScalar (prop /* :Object */) /* :Boolean */ { + DEPRECATED("Use `typeof var === 'string' || (typeof var === 'number' &&" + + " !isNaN(var) && isFinite(var))` instead"); + return isNumeric(prop)||isString(prop); +} + +/** + * Checks if property is empty + * + * @param {Object} prop value to check + * @return {Boolean} true if matched + * @scope public + * @author Ilya Lebedev <ilya@lebedev.net> + */ +function isEmpty (prop /* :Object */) /* :Boolean */ { + DEPRECATED(); + var i; + if (isBoolean(prop)) { + return false; + } else if (isRegExp(prop) && new RegExp("").toString() == prop.toString()) { + return true; + } else if (isString(prop) || isNumber(prop)) { + return !prop; + } else if (Boolean(prop) && false != prop) { + for (i in prop) { + if(prop.hasOwnProperty(i)) { + return false; + } + } + } + return true; +} + +/** + * Get the computed style of a node. + * + * @link https://acidmartin.wordpress.com/2008/08/26/style-get-any-css-property-value-of-an-object/ + * @link http://svn.dojotoolkit.org/src/dojo/trunk/_base/html.js + */ +function gcs(node){ + DEPRECATED('Use jQuery(node).style() instead'); + if(node.currentStyle){ + return node.currentStyle; + }else{ + return node.ownerDocument.defaultView.getComputedStyle(node, null); + } +} + diff --git a/lib/scripts/cookie.js b/lib/scripts/cookie.js index e7ba620c7c4c8f0a072d8a2249df20ee8e94f76e..3f3375fa74930c2a36a3350333cc323e2270904a 100644 --- a/lib/scripts/cookie.js +++ b/lib/scripts/cookie.js @@ -2,7 +2,7 @@ * Handles the cookie used by several JavaScript functions * * Only a single cookie is written and read. You may only save -* sime name-value pairs - no complex types! +* simple name-value pairs - no complex types! * * You should only use the getValue and setValue methods * @@ -10,7 +10,7 @@ * @author Michal Rezler <m.rezler@centrum.cz> */ DokuCookie = { - data: Array(), + data: {}, name: 'DOKU_PREFS', /** @@ -19,21 +19,17 @@ DokuCookie = { * @author Andreas Gohr <andi@splitbrain.org> */ setValue: function(key,val){ + var text = ''; this.init(); this.data[key] = val; - // prepare expire date - var now = new Date(); - this.fixDate(now); - now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000); //expire in a year - //save the whole data array - var text = ''; - for(var key in this.data){ - if (!this.data.hasOwnProperty(key)) continue; - text += '#'+escape(key)+'#'+this.data[key]; + jQuery.each(this.data, function (val, key) { + if (this.data.hasOwnProperty(key)) { + text += '#'+encodeURIComponent(key)+'#'+encodeURIComponent(val); } - this.setCookie(this.name,text.substr(1),now,DOKU_BASE); + }); + jQuery.cookie(this.name,text.substr(1), {expires: 365, path: DOKU_BASE}); }, /** @@ -52,51 +48,16 @@ DokuCookie = { * @author Andreas Gohr <andi@splitbrain.org> */ init: function(){ - if(this.data.length) return; - var text = this.getCookie(this.name); + var text, parts, i; + if(!jQuery.isEmptyObject(this.data)) { + return; + } + text = jQuery.cookie(this.name); if(text){ - var parts = text.split('#'); - for(var i=0; i<parts.length; i+=2){ - this.data[unescape(parts[i])] = unescape(parts[i+1]); + parts = text.split('#'); + for(i = 0; i < parts.length; i += 2){ + this.data[decodeURIComponent(parts[i])] = decodeURIComponent(parts[i+1]); } } - }, - - /** - * This sets a cookie by JavaScript - * - * @link http://www.webreference.com/js/column8/functions.html - */ - setCookie: function(name, value, expires_, path_, domain_, secure_) { - var params = { - expires: expires_, - path: path_, - domain: domain_, - secure: secure_ - }; - - jQuery.cookie(name, value, params); - }, - - /** - * This reads a cookie by JavaScript - * - * @link http://www.webreference.com/js/column8/functions.html - */ - getCookie: function(name) { - return unescape(jQuery.cookie(name)); - }, - - /** - * This is needed for the cookie functions - * - * @link http://www.webreference.com/js/column8/functions.html - */ - fixDate: function(date) { - var base = new Date(0); - var skew = base.getTime(); - if (skew > 0){ - date.setTime(date.getTime() - skew); } - } }; diff --git a/lib/scripts/delay.js b/lib/scripts/delay.js index 2ef9f8846badb145e639c32d55e9748d2479c017..edd53def397221a9c110b4e98d7c0ca3d412c888 100644 --- a/lib/scripts/delay.js +++ b/lib/scripts/delay.js @@ -51,6 +51,7 @@ Delay.prototype = { }, start: function () { + DEPRECATED('don\'t use the Delay object, use window.timeout with a callback instead'); this.delTimer(); var _this = this; this.timer = timer.add(function () { _this.exec.call(_this); }, diff --git a/lib/scripts/edit.js b/lib/scripts/edit.js index a9623e14d3a85c2f08ec5a90fd87bd329e50c7c1..816568e9239395d928bd5b97b3059c38e436e9e2 100644 --- a/lib/scripts/edit.js +++ b/lib/scripts/edit.js @@ -155,86 +155,6 @@ function addBtnActionSignature(btn, props, edid) { return false; } -/** - * Make intended formattings easier to handle - * - * Listens to all key inputs and handle indentions - * of lists and code blocks - * - * Currently handles space, backspce and enter presses - * - * @author Andreas Gohr <andi@splitbrain.org> - * @fixme handle tabs - */ -function keyHandler(e){ - if(e.keyCode != 13 && - e.keyCode != 8 && - e.keyCode != 32) return; - var field = e.target; - var selection = getSelection(field); - if(selection.getLength()) return; //there was text selected, keep standard behavior - var search = "\n"+field.value.substr(0,selection.start); - var linestart = Math.max(search.lastIndexOf("\n"), - search.lastIndexOf("\r")); //IE workaround - search = search.substr(linestart); - - - if(e.keyCode == 13){ // Enter - // keep current indention for lists and code - var match = search.match(/(\n +([\*-] ?)?)/); - if(match){ - var scroll = field.scrollHeight; - var match2 = search.match(/^\n +[\*-]\s*$/); - // Cancel list if the last item is empty (i. e. two times enter) - if (match2 && field.value.substr(selection.start).match(/^($|\r?\n)/)) { - field.value = field.value.substr(0, linestart) + "\n" + - field.value.substr(selection.start); - selection.start = linestart + 1; - selection.end = linestart + 1; - setSelection(selection); - } else { - insertAtCarret(field.id,match[1]); - } - field.scrollTop += (field.scrollHeight - scroll); - e.preventDefault(); // prevent enter key - return false; - } - }else if(e.keyCode == 8){ // Backspace - // unindent lists - var match = search.match(/(\n +)([*-] ?)$/); - if(match){ - var spaces = match[1].length-1; - - if(spaces > 3){ // unindent one level - field.value = field.value.substr(0,linestart)+ - field.value.substr(linestart+2); - selection.start = selection.start - 2; - selection.end = selection.start; - }else{ // delete list point - field.value = field.value.substr(0,linestart)+ - field.value.substr(selection.start); - selection.start = linestart; - selection.end = linestart; - } - setSelection(selection); - e.preventDefault(); // prevent backspace - return false; - } - }else if(e.keyCode == 32){ // Space - // intend list item - var match = search.match(/(\n +)([*-] )$/); - if(match){ - field.value = field.value.substr(0,linestart)+' '+ - field.value.substr(linestart); - selection.start = selection.start + 2; - selection.end = selection.start; - setSelection(selection); - e.preventDefault(); // prevent space - return false; - } - } -} - /** * Determine the current section level while editing * @@ -303,14 +223,6 @@ addInitEvent(function () { if (edit_text.length > 0) { if(edit_text.attr('readOnly')) return; - // in Firefox, keypress doesn't send the correct keycodes, - // in Opera, the default of keydown can't be prevented - if (is_opera) { - edit_text.keypress(keyHandler); - } else { - edit_text.keydown(keyHandler); - } - // set focus and place cursor at the start var sel = getSelection(edit_text.get(0)); sel.start = 0; diff --git a/lib/scripts/editor.js b/lib/scripts/editor.js index fbdb1d79a0c76e99c70b09af0592257b3830686b..6d7f9f4a8d56bfe69ec9c4fc09665791cfc1fdfe 100644 --- a/lib/scripts/editor.js +++ b/lib/scripts/editor.js @@ -14,10 +14,21 @@ var dw_editor = { * textareas */ init: function(){ - var editor = jQuery('#wiki__text'); - if(!editor.length) return; + var $editor = jQuery('#wiki__text'); + if(!$editor.length) return; + + dw_editor.initSizeCtl('#size__ctl',$editor); + + if($editor.attr('readOnly')) return; + + // in Firefox, keypress doesn't send the correct keycodes, + // in Opera, the default of keydown can't be prevented + if (jQuery.browser.opera) { + $editor.keypress(dw_editor.keyHandler); + } else { + $editor.keydown(dw_editor.keyHandler); + } - dw_editor.initSizeCtl('#size__ctl',editor); }, /** @@ -29,20 +40,20 @@ var dw_editor = { * @param selector editor the textarea to control */ initSizeCtl: function(ctlarea,editor){ - var ctl = jQuery(ctlarea); - var textarea = jQuery(editor); - if(!ctl.length || !textarea.length) return; + var $ctl = jQuery(ctlarea); + var $textarea = jQuery(editor); + if(!$ctl.length || !$textarea.length) return; var hgt = DokuCookie.getValue('sizeCtl'); if(hgt){ - textarea.css('height', hgt); + $textarea.css('height', hgt); }else{ - textarea.css('height', '300px'); + $textarea.css('height', '300px'); } var wrp = DokuCookie.getValue('wrapCtl'); if(wrp){ - dw_editor.setWrap(textarea[0], wrp); + dw_editor.setWrap($textarea[0], wrp); } // else use default value var l = document.createElement('img'); @@ -54,9 +65,9 @@ var dw_editor = { jQuery(l).click(function(){dw_editor.sizeCtl(editor,100);}); jQuery(s).click(function(){dw_editor.sizeCtl(editor,-100);}); jQuery(w).click(function(){dw_editor.toggleWrap(editor);}); - ctl.append(l); - ctl.append(s); - ctl.append(w); + $ctl.append(l); + $ctl.append(s); + $ctl.append(w); }, /** @@ -66,11 +77,11 @@ var dw_editor = { * @param int val the relative value to resize in pixel */ sizeCtl: function(editor,val){ - var textarea = jQuery(editor); - var height = parseInt(textarea.css('height')); + var $textarea = jQuery(editor); + var height = parseInt($textarea.css('height')); height += val; - textarea.css('height', height+'px'); - DokuCookie.setValue('sizeCtl',textarea.css('height')); + $textarea.css('height', height+'px'); + DokuCookie.setValue('sizeCtl',$textarea.css('height')); }, /** @@ -80,14 +91,14 @@ var dw_editor = { * @param selector editor the textarea to control */ toggleWrap: function(editor){ - var textarea = jQuery(editor); + var $textarea = jQuery(editor); var wrap = textarea.attr('wrap'); if(wrap && wrap.toLowerCase() == 'off'){ dw_editor.setWrap(textarea[0], 'soft'); }else{ dw_editor.setWrap(textarea[0], 'off'); } - DokuCookie.setValue('wrapCtl',textarea.attr('wrap')); + DokuCookie.setValue('wrapCtl',$textarea.attr('wrap')); }, /** @@ -108,6 +119,86 @@ var dw_editor = { var nxtSib = textarea.nextSibling; parNod.removeChild(textarea); parNod.insertBefore(textarea, nxtSib); + }, + + /** + * Make intended formattings easier to handle + * + * Listens to all key inputs and handle indentions + * of lists and code blocks + * + * Currently handles space, backspce and enter presses + * + * @author Andreas Gohr <andi@splitbrain.org> + * @fixme handle tabs + * @param event e - the key press event object + */ + keyHandler: function(e){ + if(e.keyCode != 13 && + e.keyCode != 8 && + e.keyCode != 32) return; + var field = e.target; + var selection = getSelection(field); + if(selection.getLength()) return; //there was text selected, keep standard behavior + var search = "\n"+field.value.substr(0,selection.start); + var linestart = Math.max(search.lastIndexOf("\n"), + search.lastIndexOf("\r")); //IE workaround + search = search.substr(linestart); + + if(e.keyCode == 13){ // Enter + // keep current indention for lists and code + var match = search.match(/(\n +([\*-] ?)?)/); + if(match){ + var scroll = field.scrollHeight; + var match2 = search.match(/^\n +[\*-]\s*$/); + // Cancel list if the last item is empty (i. e. two times enter) + if (match2 && field.value.substr(selection.start).match(/^($|\r?\n)/)) { + field.value = field.value.substr(0, linestart) + "\n" + + field.value.substr(selection.start); + selection.start = linestart + 1; + selection.end = linestart + 1; + setSelection(selection); + } else { + insertAtCarret(field.id,match[1]); + } + field.scrollTop += (field.scrollHeight - scroll); + e.preventDefault(); // prevent enter key + return false; + } + }else if(e.keyCode == 8){ // Backspace + // unindent lists + var match = search.match(/(\n +)([*-] ?)$/); + if(match){ + var spaces = match[1].length-1; + + if(spaces > 3){ // unindent one level + field.value = field.value.substr(0,linestart)+ + field.value.substr(linestart+2); + selection.start = selection.start - 2; + selection.end = selection.start; + }else{ // delete list point + field.value = field.value.substr(0,linestart)+ + field.value.substr(selection.start); + selection.start = linestart; + selection.end = linestart; + } + setSelection(selection); + e.preventDefault(); // prevent backspace + return false; + } + }else if(e.keyCode == 32){ // Space + // intend list item + var match = search.match(/(\n +)([*-] )$/); + if(match){ + field.value = field.value.substr(0,linestart)+' '+ + field.value.substr(linestart); + selection.start = selection.start + 2; + selection.end = selection.start; + setSelection(selection); + e.preventDefault(); // prevent space + return false; + } + } } diff --git a/lib/scripts/events.js b/lib/scripts/events.js deleted file mode 100644 index 796d3cc4c556cc06415e7c86df557e32c8652f82..0000000000000000000000000000000000000000 --- a/lib/scripts/events.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * The event functions are no longer in use and a mere wrapper around - * jQuery's event handlers. - * - * @deprecated - */ -function addEvent(element, type, handler) { - DEPRECATED('Use jQuery.bind() instead.'); - jQuery(element).bind(type,{},handler); -} - -function removeEvent(element, type, handler) { - DEPRECATED('Use jQuery.unbind() instead.'); - jQuery(element).unbind(type,handler); -} - -function addInitEvent(func) { - DEPRECATED('Use jQuery(<function>) instead'); - jQuery(func); -} - -/** - * Bind variables to a function call creating a closure - * - * Use this to circumvent variable scope problems when creating closures - * inside a loop - * - * @author Adrian Lang <lang@cosmocode.de> - * @fixme Is there a jQuery equivalent? Otherwise move to somewhere else - * @link http://www.cosmocode.de/en/blog/gohr/2009-10/15-javascript-fixing-the-closure-scope-in-loops - * @param functionref fnc - the function to be called - * @param mixed - any arguments to be passed to the function - * @returns functionref - */ -function bind(fnc/*, ... */) { - var Aps = Array.prototype.slice; - // Store passed arguments in this scope. - // Since arguments is no Array nor has an own slice method, - // we have to apply the slice method from the Array.prototype - var static_args = Aps.call(arguments, 1); - - // Return a function evaluating the passed function with the - // given args and optional arguments passed on invocation. - return function (/* ... */) { - // Same here, but we use Array.prototype.slice solely for - // converting arguments to an Array. - return fnc.apply(this, - static_args.concat(Aps.call(arguments, 0))); - }; -} diff --git a/lib/scripts/helpers.js b/lib/scripts/helpers.js index 77e7ffc4a307bf0997fac31b7ade8b49bdbcb30b..d6f36967de881c7b9898a1017789a605e6b646fa 100644 --- a/lib/scripts/helpers.js +++ b/lib/scripts/helpers.js @@ -1,134 +1,11 @@ /** - * Differrent helper functions - * - * @author Ilya Lebedev <ilya@lebedev.net> - * @license LGPL - */ -//----------------------------------------------------------------------------- -// Variable/property checks -//----------------------------------------------------------------------------- -/** - * Checks if property is undefined - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public - */ -function isUndefined (prop /* :Object */) /* :Boolean */ { - return (typeof prop == 'undefined'); -} -/** - * Checks if property is function - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public - */ -function isFunction (prop /* :Object */) /* :Boolean */ { - return (typeof prop == 'function'); -} -/** - * Checks if property is string - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public - */ -function isString (prop /* :Object */) /* :Boolean */ { - return (typeof prop == 'string'); -} -/** - * Checks if property is number - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public - */ -function isNumber (prop /* :Object */) /* :Boolean */ { - return (typeof prop == 'number'); -} -/** - * Checks if property is the calculable number - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public - */ -function isNumeric (prop /* :Object */) /* :Boolean */ { - return isNumber(prop)&&!isNaN(prop)&&isFinite(prop); -} -/** - * Checks if property is array - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public - */ -function isArray (prop /* :Object */) /* :Boolean */ { - return (prop instanceof Array); -} -/** - * Checks if property is regexp - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public - */ -function isRegExp (prop /* :Object */) /* :Boolean */ { - return (prop instanceof RegExp); -} -/** - * Checks if property is a boolean value - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public - */ -function isBoolean (prop /* :Object */) /* :Boolean */ { - return ('boolean' == typeof prop); -} -/** - * Checks if property is a scalar value (value that could be used as the hash key) - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public + * Various helper functions */ -function isScalar (prop /* :Object */) /* :Boolean */ { - return isNumeric(prop)||isString(prop); -} -/** - * Checks if property is empty - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public - */ -function isEmpty (prop /* :Object */) /* :Boolean */ { - if (isBoolean(prop)) return false; - if (isRegExp(prop) && new RegExp("").toString() == prop.toString()) return true; - if (isString(prop) || isNumber(prop)) return !prop; - if (Boolean(prop)&&false != prop) { - for (var i in prop) if(prop.hasOwnProperty(i)) return false; - } - return true; -} - -/** - * Checks if property is derived from prototype, applies method if it is not exists - * - * @param string property name - * @return bool true if prototyped - * @access public - */ -if ('undefined' == typeof Object.hasOwnProperty) { - Object.prototype.hasOwnProperty = function (prop) { - return !('undefined' == typeof this[prop] || this.constructor && this.constructor.prototype[prop] && this[prop] === this.constructor.prototype[prop]); - }; -} /** * Very simplistic Flash plugin check, probably works for Flash 8 and higher only + * + * @author Andreas Gohr <andi@splitbrain.org> */ function hasFlash(version){ var ver = 0; @@ -136,13 +13,12 @@ function hasFlash(version){ if(navigator.plugins != null && navigator.plugins.length > 0){ ver = navigator.plugins["Shockwave Flash"].description.split(' ')[2].split('.')[0]; }else{ - var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); - ver = axo.GetVariable("$version").split(' ')[1].split(',')[0]; + ver = (new ActiveXObject("ShockwaveFlash.ShockwaveFlash")) + .GetVariable("$version").split(' ')[1].split(',')[0]; } }catch(e){ } - if(ver >= version) return true; - return false; + return ver >= version; } /** @@ -163,3 +39,32 @@ function substr_replace(str, replace, start, length) { b1 = (length < 0 ? str.length : a2) + length; return str.substring(0, a2) + replace + str.substring(b1); } + +/** + * Bind variables to a function call creating a closure + * + * Use this to circumvent variable scope problems when creating closures + * inside a loop + * + * @author Adrian Lang <lang@cosmocode.de> + * @link http://www.cosmocode.de/en/blog/gohr/2009-10/15-javascript-fixing-the-closure-scope-in-loops + * @param functionref fnc - the function to be called + * @param mixed - any arguments to be passed to the function + * @returns functionref + */ +function bind(fnc/*, ... */) { + var Aps = Array.prototype.slice, + // Store passed arguments in this scope. + // Since arguments is no Array nor has an own slice method, + // we have to apply the slice method from the Array.prototype + static_args = Aps.call(arguments, 1); + + // Return a function evaluating the passed function with the + // given args and optional arguments passed on invocation. + return function (/* ... */) { + // Same here, but we use Array.prototype.slice solely for + // converting arguments to an Array. + return fnc.apply(this, + static_args.concat(Aps.call(arguments, 0))); + }; +} diff --git a/lib/scripts/jquery/jquery.cookie.js b/lib/scripts/jquery/jquery.cookie.js index 6df1faca25fccd58bea8641b7a32b4df55ec6249..6a3e394b403d5084b70b8ed7ccdc0d566f2fcbdb 100644 --- a/lib/scripts/jquery/jquery.cookie.js +++ b/lib/scripts/jquery/jquery.cookie.js @@ -1,96 +1,41 @@ /** - * Cookie plugin + * jQuery Cookie plugin * - * Copyright (c) 2006 Klaus Hartl (stilbuero.de) + * Copyright (c) 2010 Klaus Hartl (stilbuero.de) * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * */ +jQuery.cookie = function (key, value, options) { -/** - * Create a cookie with the given name and value and other optional parameters. - * - * @example $.cookie('the_cookie', 'the_value'); - * @desc Set the value of a cookie. - * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true }); - * @desc Create a cookie with all available options. - * @example $.cookie('the_cookie', 'the_value'); - * @desc Create a session cookie. - * @example $.cookie('the_cookie', null); - * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain - * used when the cookie was set. - * - * @param String name The name of the cookie. - * @param String value The value of the cookie. - * @param Object options An object literal containing key/value pairs to provide optional cookie attributes. - * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object. - * If a negative value is specified (e.g. a date in the past), the cookie will be deleted. - * If set to null or omitted, the cookie will be a session cookie and will not be retained - * when the the browser exits. - * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie). - * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie). - * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will - * require a secure protocol (like HTTPS). - * @type undefined - * - * @name $.cookie - * @cat Plugins/Cookie - * @author Klaus Hartl/klaus.hartl@stilbuero.de - */ + // key and at least value given, set cookie... + if (arguments.length > 1 && String(value) !== "[object Object]") { + options = jQuery.extend({}, options); -/** - * Get the value of a cookie with the given name. - * - * @example $.cookie('the_cookie'); - * @desc Get the value of a cookie. - * - * @param String name The name of the cookie. - * @return The value of the cookie. - * @type String - * - * @name $.cookie - * @cat Plugins/Cookie - * @author Klaus Hartl/klaus.hartl@stilbuero.de - */ -jQuery.cookie = function(name, value, options) { - if (typeof value != 'undefined') { // name and value given, set cookie - options = options || {}; - if (value === null) { - value = ''; + if (value === null || value === undefined) { options.expires = -1; } - var expires = ''; - if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { - var date; - if (typeof options.expires == 'number') { - date = new Date(); - date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); - } else { - date = options.expires; - } - expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE - } - // CAUTION: Needed to parenthesize options.path and options.domain - // in the following expressions, otherwise they evaluate to undefined - // in the packed version for some reason... - var path = options.path ? '; path=' + (options.path) : ''; - var domain = options.domain ? '; domain=' + (options.domain) : ''; - var secure = options.secure ? '; secure' : ''; - document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); - } else { // only name given, get cookie - var cookieValue = null; - if (document.cookie && document.cookie != '') { - var cookies = document.cookie.split(';'); - for (var i = 0; i < cookies.length; i++) { - var cookie = jQuery.trim(cookies[i]); - // Does this cookie string begin with the name we want? - if (cookie.substring(0, name.length + 1) == (name + '=')) { - cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); - break; - } - } + + if (typeof options.expires === 'number') { + var days = options.expires, t = options.expires = new Date(); + t.setDate(t.getDate() + days); } - return cookieValue; + + value = String(value); + + return (document.cookie = [ + encodeURIComponent(key), '=', + options.raw ? value : encodeURIComponent(value), + options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE + options.path ? '; path=' + options.path : '', + options.domain ? '; domain=' + options.domain : '', + options.secure ? '; secure' : '' + ].join('')); } -}; \ No newline at end of file + + // key and possibly options given, get cookie... + options = value || {}; + var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent; + return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null; +}; diff --git a/lib/scripts/locktimer.js b/lib/scripts/locktimer.js index 60508a8e718e6b94128b5f64cc8a080eba1401d1..857002abf6fc80b1bd79cd4f54983e4e6686df3f 100644 --- a/lib/scripts/locktimer.js +++ b/lib/scripts/locktimer.js @@ -1,64 +1,65 @@ /** -* Class managing the timer to display a warning on a expiring lock -*/ -var locktimer = { - sack: null, + * Class managing the timer to display a warning on a expiring lock + */ +var dw_locktimer = { timeout: 0, + draft: false, timerID: null, lasttime: null, msg: '', pageid: '', - init: function(timeout,msg,draft,edid){ - var edit = $(edid); - if(!edit) return; - if(edit.readOnly) return; + /** + * Initialize the lock timer + * + * @param int timeout Lenght of timeout in seconds + * @param bool draft save drafts + */ + init: function(timeout,draft){ //FIXME which elements to pass here? + var $edit = jQuery('#wiki__text'); + if($edit.length === 0 || $edit.attr('readonly')) { + return; + } // init values - this.timeout = timeout*1000; - this.msg = msg; - this.draft = draft; - this.lasttime = new Date(); + dw_locktimer.timeout = timeout*1000; + dw_locktimer.draft = draft; + dw_locktimer.lasttime = new Date(); - if(jQuery('#dw__editform').length == 0) return; - this.pageid = jQuery('#dw__editform input[name=id]').val(); - if(!this.pageid) return; - - if(jQuery('#wiki__text').attr('readonly')) return; + dw_locktimer.pageid = jQuery('#dw__editform input[name=id]').val(); + if(!dw_locktimer.pageid) { + return; + } // register refresh event - jQuery('#dw__editform').keypress( - function() { - locktimer.refresh(); - } - ); + $edit.keypress(dw_locktimer.refresh); // start timer - this.reset(); + dw_locktimer.reset(); }, /** * (Re)start the warning timer */ reset: function(){ - this.clear(); - this.timerID = window.setTimeout("locktimer.warning()", this.timeout); + dw_locktimer.clear(); + dw_locktimer.timerID = window.setTimeout(dw_locktimer.warning, dw_locktimer.timeout); }, /** * Display the warning about the expiring lock */ warning: function(){ - this.clear(); - alert(this.msg); + dw_locktimer.clear(); + alert(LANG.willexpire.replace(/\\n/,"\n")); }, /** * Remove the current warning timer */ clear: function(){ - if(this.timerID !== null){ - window.clearTimeout(this.timerID); - this.timerID = null; + if(dw_locktimer.timerID !== null){ + window.clearTimeout(dw_locktimer.timerID); + dw_locktimer.timerID = null; } }, @@ -68,32 +69,29 @@ var locktimer = { * Called on keypresses in the edit area */ refresh: function(){ - var now = new Date(); - var params = {}; - // refresh every minute only - if(now.getTime() - this.lasttime.getTime() > 30*1000){ - params['call'] = 'lock'; - params['id'] = locktimer.pageid; + var now = new Date(), + params = 'call=lock&id=' + dw_locktimer.pageid + '&'; - if(locktimer.draft && jQuery('#dw__editform textarea[name=wikitext]').length > 0){ - params['prefix'] = jQuery('#dw__editform input[name=prefix]').val(); - params['wikitext'] = jQuery('#dw__editform textarea[name=wikitext]').val(); - params['suffix'] = jQuery('#dw__editform input[name=suffix]').val(); - if(jQuery('#dw__editform input[name=date]').length > 0) { - params['date'] = jQuery('#dw__editform input[name=id]').val(); - } - } + // refresh every minute only + if(now.getTime() - dw_locktimer.lasttime.getTime() <= 30*1000) { + return; + } - jQuery.post( - DOKU_BASE + 'lib/exe/ajax.php', - params, - function (data) { - locktimer.refreshed(data); - }, - 'html' - ); - this.lasttime = now; + // POST everything necessary for draft saving + if(dw_locktimer.draft && jQuery('#dw__editform textarea[name=wikitext]').length > 0){ + params += jQuery('#dw__editform').find('input[name=prefix], ' + + 'textarea[name=wikitext], ' + + 'input[name=suffix], ' + + 'input[name=date]').serialize(); } + + jQuery.post( + DOKU_BASE + 'lib/exe/ajax.php', + params, + dw_locktimer.refreshed, + 'html' + ); + dw_locktimer.lasttime = now; }, /** @@ -104,7 +102,9 @@ var locktimer = { data = data.substring(1); jQuery('#draft__status').html(data); - if(error != '1') return; // locking failed - this.reset(); + if(error != '1') { + return; // locking failed + } + dw_locktimer.reset(); } }; diff --git a/lib/scripts/media.js b/lib/scripts/media.js index f345c3786657c752945e048f141c4382539aa289..7103727c571d368327de082ba894510085b0e59b 100644 --- a/lib/scripts/media.js +++ b/lib/scripts/media.js @@ -178,7 +178,7 @@ var dw_mediamanager = { * @author Dominik Eckelmann <eckelmann@cosmocode.de> * @author Pierre Spring <pierre.spring@caillou.ch> */ - insert: function () { + insert: function (id) { var opts, alignleft, alignright, edid, s; // set syntax options @@ -420,7 +420,7 @@ var dw_mediamanager = { dw_mediamanager.updatehide(); dw_mediamanager.update_resizable(); - addInitEvent(revisionsForm); + dw_behaviour.revisionBoxHandler(); jQuery('#mediamanager__form_sort').find('input[type=submit]').hide(); dw_mediamanager.set_filelist_view(dw_mediamanager.view, false); dw_mediamanager.image_diff(); diff --git a/lib/scripts/page.js b/lib/scripts/page.js new file mode 100644 index 0000000000000000000000000000000000000000..e4033b76dd136bc3955be818c17fea497813f4a9 --- /dev/null +++ b/lib/scripts/page.js @@ -0,0 +1,141 @@ +/** + * Page behaviours + * + * This class adds various behaviours to the rendered page + */ +dw_page = { + /** + * initialize page behaviours + */ + init: function(){ + dw_page.sectionHighlight(); + jQuery('a.fn_top').mouseover(dw_page.footnoteDisplay); + dw_page.initTocToggle(); + }, + + /** + * Highlight the section when hovering over the appropriate section edit button + * + * @author Andreas Gohr <andi@splitbrain.org> + */ + sectionHighlight: function() { + jQuery('form.btn_secedit') + .mouseover(function(){ + var $tgt = jQuery(this).parent(), + nr = $tgt.attr('class').match(/(\s+|^)editbutton_(\d+)(\s+|$)/)[2]; + + // Walk the DOM tree up (first previous siblings, then parents) + // until boundary element + while($tgt.length > 0 && !$tgt.hasClass('sectionedit' + nr)) { + // $.last gives the DOM-ordered last element: + // prev if present, else parent. + $tgt = $tgt.prev().add($tgt.parent()).last(); + $tgt.addClass('section_highlight'); + } + }) + .mouseout(function(){ + jQuery('.section_highlight').removeClass('section_highlight'); + }); + }, + + /** + * Create/get a insitu popup used by the footnotes + * + * @param target - the DOM element at which the popup should be aligned at + * @param popup_id - the ID of the (new) DOM popup + * @return the Popup JQuery object + */ + insituPopup: function(target, popup_id) { + // get or create the popup div + var $fndiv = jQuery('#' + popup_id); + + // popup doesn't exist, yet -> create it + if($fndiv.length === 0){ + $fndiv = jQuery(document.createElement('div')) + .attr('id', popup_id) + .addClass('insitu-footnote JSpopup') + .mouseleave(function () {jQuery(this).hide();}); + jQuery('div.dokuwiki:first').append($fndiv); + } + + // position() does not support hidden elements + $fndiv.show().position({ + my: 'left top', + at: 'left center', + of: target + }).hide(); + + return $fndiv; + }, + + /** + * Display an insitu footnote popup + * + * @author Andreas Gohr <andi@splitbrain.org> + * @author Chris Smith <chris@jalakai.co.uk> + */ + footnoteDisplay: function () { + var content = jQuery(jQuery(this).attr('href')) // Footnote text anchor + .closest('div.fn').html(); + + if (content === null){ + return; + } + + // strip the leading content anchors and their comma separators + content = content.replace(/((^|\s*,\s*)<sup>.*?<\/sup>)+\s*/gi, ''); + + // prefix ids on any elements with "insitu__" to ensure they remain unique + content = content.replace(/\bid=(['"])([^"']+)\1/gi,'id="insitu__$2'); + + // now put the content into the wrapper + dw_page.insituPopup(this, 'insitu__fn').html(content).show(); + }, + + /** + * Adds the toggle switch to the TOC + */ + initTocToggle: function() { + var $header, $clicky, $toc, $tocul, setClicky; + $header = jQuery('#toc__header'); + if(!$header.length) { + return; + } + $toc = jQuery('#toc__inside'); + $tocul = $toc.children('ul.toc'); + + setClicky = function(hiding){ + if(hiding){ + $clicky.html('<span>+</span>'); + $clicky[0].className = 'toc_open'; + }else{ + $clicky.html('<span>−</span>'); + $clicky[0].className = 'toc_close'; + } + }; + + $clicky = jQuery(document.createElement('span')) + .attr('id','toc__toggle'); + $header.css('cursor','pointer') + .click(function () { + var hidden; + + // Assert that $toc instantly takes the whole TOC space + $toc.css('height', $toc.height()).show(); + + hidden = $tocul.stop(true, true).is(':hidden'); + + setClicky(!hidden); + + // Start animation and assure that $toc is hidden/visible + $tocul.dw_toggle(hidden, function () { + $toc.toggle(hidden); + }); + }) + .prepend($clicky); + + setClicky(); + } +}; + +jQuery(dw_page.init); diff --git a/lib/scripts/script.js b/lib/scripts/script.js index 33916a92ec201bfd34364b9df1acf6e7c3f11a77..8db223d612019bc7e9d710ab54b7cd006457cbd3 100644 --- a/lib/scripts/script.js +++ b/lib/scripts/script.js @@ -3,53 +3,6 @@ if ('function' === typeof jQuery && 'function' === typeof jQuery.noConflict) { jQuery.noConflict(); } -/** - * Mark a JavaScript function as deprecated - * - * This will print a warning to the JavaScript console (if available) in - * Firebug and Chrome and a stack trace (if available) to easily locate the - * problematic function call. - * - * @param msg optional message to print - */ -function DEPRECATED(msg){ - if(!window.console) return; - if(!msg) msg = ''; - - var func; - if(arguments.callee) func = arguments.callee.caller.name; - if(func) func = ' '+func+'()'; - var line = 'DEPRECATED function call'+func+'. '+msg; - - if(console.warn){ - console.warn(line); - }else{ - console.log(line); - } - - if(console.trace) console.trace(); -} - -/** - * Construct a wrapper function for deprecated function names - * - * This function returns a wrapper function which just calls DEPRECATED - * and the new function. - * - * @param func The new function - * @param context Optional; The context (`this`) of the call - */ -function DEPRECATED_WRAP(func, context) { - return function () { - DEPRECATED(); - return func.apply(context || this, arguments); - } -} - -/** - * Some of these scripts were taken from wikipedia.org and were modified for DokuWiki - */ - /** * Some browser detection */ @@ -65,87 +18,6 @@ if (clientPC.indexOf('opera')!=-1) { var is_opera_seven = (window.opera && document.childNodes); } -/** - * Handy shortcut to document.getElementById - * - * This function was taken from the prototype library - * - * @link http://prototype.conio.net/ - */ -function $() { - DEPRECATED('Please use the JQuery() function instead.'); - - var elements = new Array(); - - for (var i = 0; i < arguments.length; i++) { - var element = arguments[i]; - if (typeof element == 'string') - element = document.getElementById(element); - - if (arguments.length == 1) - return element; - - elements.push(element); - } - - return elements; -} - -/** - * Simple function to check if a global var is defined - * - * @author Kae Verens - * @link http://verens.com/archives/2005/07/25/isset-for-javascript/#comment-2835 - */ -function isset(varname){ - return(typeof(window[varname])!='undefined'); -} - -/** - * Get the computed style of a node. - * - * @link https://acidmartin.wordpress.com/2008/08/26/style-get-any-css-property-value-of-an-object/ - * @link http://svn.dojotoolkit.org/src/dojo/trunk/_base/html.js - */ -function gcs(node){ - if(node.currentStyle){ - return node.currentStyle; - }else{ - return node.ownerDocument.defaultView.getComputedStyle(node, null); - } -} - -/** - * Escape special chars in JavaScript - * - * @author Andreas Gohr <andi@splitbrain.org> - */ -function jsEscape(text){ - var re=new RegExp("\\\\","g"); - text=text.replace(re,"\\\\"); - re=new RegExp("'","g"); - text=text.replace(re,"\\'"); - re=new RegExp('"',"g"); - text=text.replace(re,'"'); - re=new RegExp("\\\\\\\\n","g"); - text=text.replace(re,"\\n"); - return text; -} - -/** - * This function escapes some special chars - * @deprecated by above function - */ -function escapeQuotes(text) { - var re=new RegExp("'","g"); - text=text.replace(re,"\\'"); - re=new RegExp('"',"g"); - text=text.replace(re,'"'); - re=new RegExp("\\n","g"); - text=text.replace(re,"\\n"); - return text; -} - /** * Prints a animated gif to show the search is performed * @@ -180,104 +52,6 @@ function hideLoadBar(id){ if(obj) obj.style.display="none"; } - -/** - * Create JavaScript mouseover popup - */ -function insitu_popup(target, popup_id) { - - // get or create the popup div - var fndiv = $(popup_id); - if(!fndiv){ - fndiv = document.createElement('div'); - fndiv.id = popup_id; - fndiv.className = 'insitu-footnote JSpopup dokuwiki'; - - // autoclose on mouseout - ignoring bubbled up events - addEvent(fndiv,'mouseout',function(e){ - var p = e.relatedTarget || e.toElement; - while (p && p !== this) { - p = p.parentNode; - } - if (p === this) { - return; - } - // okay, hide it - this.style.display='none'; - }); - getElementsByClass('dokuwiki', document.body, 'div')[0].appendChild(fndiv); - } - - var non_static_parent = fndiv.parentNode; - while (non_static_parent != document && gcs(non_static_parent)['position'] == 'static') { - non_static_parent = non_static_parent.parentNode; - } - - var fixed_target_parent = target; - while (fixed_target_parent != document && gcs(fixed_target_parent)['position'] != 'fixed') { - fixed_target_parent = fixed_target_parent.parentNode; - } - - // position the div and make it visible - if (fixed_target_parent != document) { - // the target has position fixed, that means the footnote needs to be fixed, too - fndiv.style.position = 'fixed'; - } else { - fndiv.style.position = 'absolute'; - } - - if (fixed_target_parent != document || non_static_parent == document) { - fndiv.style.left = findPosX(target)+'px'; - fndiv.style.top = (findPosY(target)+target.offsetHeight * 1.5) + 'px'; - } else { - fndiv.style.left = (findPosX(target) - findPosX(non_static_parent)) +'px'; - fndiv.style.top = (findPosY(target)+target.offsetHeight * 1.5 - findPosY(non_static_parent)) + 'px'; - } - - fndiv.style.display = ''; - return fndiv; -} - -/** - * Display an insitu footnote popup - * - * @author Andreas Gohr <andi@splitbrain.org> - * @author Chris Smith <chris@jalakai.co.uk> - */ -function footnote(e){ - var fndiv = insitu_popup(e.target, 'insitu__fn'); - - // locate the footnote anchor element - var a = $("fn__" + e.target.id.substr(5)); - if (!a){ return; } - - // anchor parent is the footnote container, get its innerHTML - var content = new String (a.parentNode.parentNode.innerHTML); - - // strip the leading content anchors and their comma separators - content = content.replace(/<sup>.*<\/sup>/gi, ''); - content = content.replace(/^\s+(,\s+)+/,''); - - // prefix ids on any elements with "insitu__" to ensure they remain unique - content = content.replace(/\bid=(['"])([^"']+)\1/gi,'id="insitu__$2'); - - // now put the content into the wrapper - fndiv.innerHTML = content; -} - -/** - * Add the event handlers to footnotes - * - * @author Andreas Gohr <andi@splitbrain.org> - */ -addInitEvent(function(){ - var elems = getElementsByClass('fn_top',null,'a'); - for(var i=0; i<elems.length; i++){ - addEvent(elems[i],'mouseover',function(e){footnote(e);}); - } -}); - - /** * Handler to close all open Popups */ @@ -285,70 +59,4 @@ function closePopups(){ jQuery('div.JSpopup').hide(); } -function revisionsForm(){ - var revForm = $('page__revisions'); - if (!revForm) return; - var elems = revForm.elements; - var countTicks = 0; - for (var i=0; i<elems.length; i++) { - var input1 = elems[i]; - if (input1.type=='checkbox') { - addEvent(input1,'click',function(e){ - if (this.checked) countTicks++; - else countTicks--; - for (var j=0; j<elems.length; j++) { - var input2 = elems[j]; - if (countTicks >= 2) input2.disabled = (input2.type=='checkbox' && !input2.checked); - else input2.disabled = (input2.type!='checkbox'); - } - }); - input1.checked = false; // chrome reselects on back button which messes up the logic - } else if(input1.type=='submit'){ - input1.disabled = true; - } - } -} - - -/** - * disable multiple revisions checkboxes if two are checked - * - * @author Anika Henke <anika@selfthinker.org> - */ -addInitEvent(revisionsForm); - - -/** - * Highlight the section when hovering over the appropriate section edit button - * - * @author Andreas Gohr <andi@splitbrain.org> - */ -addInitEvent(function(){ - var btns = getElementsByClass('btn_secedit',document,'form'); - for(var i=0; i<btns.length; i++){ - addEvent(btns[i],'mouseover',function(e){ - var tgt = this.parentNode; - var nr = tgt.className.match(/(\s+|^)editbutton_(\d+)(\s+|$)/)[2]; - do { - tgt = tgt.previousSibling; - } while (tgt !== null && typeof tgt.tagName === 'undefined'); - if (tgt === null) return; - while(typeof tgt.className === 'undefined' || - tgt.className.match('(\\s+|^)sectionedit' + nr + '(\\s+|$)') === null) { - if (typeof tgt.className !== 'undefined') { - tgt.className += ' section_highlight'; - } - tgt = (tgt.previousSibling !== null) ? tgt.previousSibling : tgt.parentNode; - } - if (typeof tgt.className !== 'undefined') tgt.className += ' section_highlight'; - }); - - addEvent(btns[i],'mouseout',function(e){ - var secs = getElementsByClass('section_highlight'); - for(var j=0; j<secs.length; j++){ - secs[j].className = secs[j].className.replace(/section_highlight/g,''); - } - }); - } -}); diff --git a/lib/scripts/subscriptions.js b/lib/scripts/subscriptions.js deleted file mode 100644 index b7bffb1584a3d7421daf4f15343460930bbd7cc5..0000000000000000000000000000000000000000 --- a/lib/scripts/subscriptions.js +++ /dev/null @@ -1,38 +0,0 @@ -/*jslint sloppy: true */ -/*global jQuery */ -/** - * Hide list subscription style if target is a page - * - * @author Adrian Lang <lang@cosmocode.de> - * @author Pierre Spring <pierre.spring@caillou.ch> - */ -jQuery(function () { - var $form, $list, $digest; - - $form = jQuery('#subscribe__form'); - - if (0 === $form.length) { - return; - } - - $list = $form.find("input[name='sub_style'][value='list']"); - $digest = $form.find("input[name='sub_style'][value='digest']"); - - $form.find("input[name='sub_target']") - .click( - function () { - var $this = jQuery(this), show_list; - if (!$this.prop('checked')) { - return; - } - - show_list = $this.val().match(/:$/); - $list.parent().dw_toggle(show_list); - if (!show_list && $list.prop('checked')) { - $digest.prop('checked', 'checked'); - } - } - ) - .filter(':checked') - .click(); -}); diff --git a/lib/tpl/default/images/apple-touch-icon.png b/lib/tpl/default/images/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..45fa4e7b081d35277b8d6f86a3e2a3f16aa3295e Binary files /dev/null and b/lib/tpl/default/images/apple-touch-icon.png differ diff --git a/lib/tpl/default/main.php b/lib/tpl/default/main.php index 698793ecdf9cae0c6b6234dc9e513874ff15ed59..3e85c58f2833e91cebaba3bfd2ebae2bb6b301b7 100644 --- a/lib/tpl/default/main.php +++ b/lib/tpl/default/main.php @@ -28,8 +28,7 @@ if (!defined('DOKU_INC')) die(); </title> <?php tpl_metaheaders()?> - - <link rel="shortcut icon" href="<?php echo tpl_getFavicon() ?>" /> + <?php echo tpl_favicon(array('favicon', 'mobile')) ?> <?php /*old includehook*/ @include(dirname(__FILE__).'/meta.html')?> </head>