diff options
author | Guy Brand <gb@unistra.fr> | 2013-11-18 20:48:03 +0100 |
---|---|---|
committer | Guy Brand <gb@unistra.fr> | 2013-11-18 20:48:03 +0100 |
commit | 9d6d3a45521ca9b4eecc9f264a6adfe12d2ed764 (patch) | |
tree | d87417a2562e14e40f21012a9e1ede2d159239c5 | |
parent | 0f71b9e8c36a27b7e476b43879f1cf9636a9958e (diff) | |
parent | 14b3007921f7b66fc9e3621b861a3c83e7e9093c (diff) | |
download | rpg-9d6d3a45521ca9b4eecc9f264a6adfe12d2ed764.tar.gz rpg-9d6d3a45521ca9b4eecc9f264a6adfe12d2ed764.tar.bz2 |
Merge branch 'master' into stable
73 files changed, 517 insertions, 160 deletions
diff --git a/_test/tests/inc/fulltext_mediause.test.php b/_test/tests/inc/fulltext_mediause.test.php index 9d5b2dc84..503b8bc84 100644 --- a/_test/tests/inc/fulltext_mediause.test.php +++ b/_test/tests/inc/fulltext_mediause.test.php @@ -26,6 +26,13 @@ class fultext_mediause_test extends DokuWikiTest { $this->assertEquals(array('test:medialinks'), ft_mediause('test:example.png')); } + public function test_media_in_local_links() { + saveWikiText('test:locallinks', '[[#test|{{wiki:logolocal.png}}]]', 'Test init'); + idx_addPage('test:locallinks'); + + $this->assertEquals(array('test:locallinks'), ft_mediause('wiki:logolocal.png')); + } + public function test_media_in_footnotes() { saveWikiText('test:media_footnotes', '(({{footnote.png?20x50}} [[foonote|{{:footlink.png}}]]))', 'Test initialization'); idx_addPage('test:media_footnotes'); diff --git a/_test/tests/lib/exe/css_at_import_less.test.php b/_test/tests/lib/exe/css_at_import_less.test.php new file mode 100644 index 000000000..4a6efcf44 --- /dev/null +++ b/_test/tests/lib/exe/css_at_import_less.test.php @@ -0,0 +1,78 @@ +<?php + +require_once DOKU_INC.'lib/exe/css.php'; + +class css_at_import_less_test extends DokuWikiTest { + + protected $file = ''; + protected $import = ''; + + public function setUpFiles($subdir = '') { + + $dir = TMP_DIR . $subdir; + if (!is_dir($dir)) { + mkdir($dir, 0777, true); + } + if (!is_dir($dir)) { + $this->markTestSkipped('Could not create directory.'); + } + + $this->file = tempnam($dir, 'css'); + + $import = ''; + do { + if ($import) unlink($import); + $import = tempnam($dir, 'less'); + $ok = rename($import, $import.'.less'); + } while (!$ok); + + $this->import = $import.'.less'; + } + + private function csstest($input, $expected_css, $expected_less) { + $location = "http://test.com/"; + io_saveFile($this->file, $input); + $css = css_loadfile($this->file, $location); + $less = css_parseless($css); + $this->assertEquals($expected_css, $css); + $this->assertEquals($expected_less, $less); + } + + public function test_basic() { + $this->setUpFiles(); + + $import = preg_replace('#(^.*[/])#','',$this->import); + $in_css = '@import "'.$import.'";'; + $in_less = '@foo: "bar"; +content: @foo;'; + + $expected_css = '@import "/'.$import.'";'; + $expected_less = 'content: "bar";'; + + io_saveFile($this->import, $in_less); + $this->csstest($in_css, $expected_css, $expected_less); + } + + public function test_subdirectory() { + $this->setUpFiles('/foo/bar'); + + $import = preg_replace('#(^.*[/])#','',$this->import); + $in_css = '@import "'.$import.'";'; + $in_less = '@foo: "bar"; +content: @foo;'; + + $expected_css = '@import "/foo/bar/'.$import.'";'; + $expected_less = 'content: "bar";'; + + io_saveFile($this->import, $in_less); + $this->csstest($in_css, $expected_css, $expected_less); + } + + public function tearDown() { + unlink($this->file); + unlink($this->import); + unset($this->file, $this->import); + } +} + +//Setup VIM: ex: et ts=4 sw=4 : diff --git a/_test/tests/lib/exe/css_css_loadfile.test.php b/_test/tests/lib/exe/css_css_loadfile.test.php index c89b69b2c..624becd29 100644 --- a/_test/tests/lib/exe/css_css_loadfile.test.php +++ b/_test/tests/lib/exe/css_css_loadfile.test.php @@ -3,13 +3,16 @@ require_once DOKU_INC.'lib/exe/css.php'; class css_css_loadfile_test extends DokuWikiTest { + + protected $file = ''; + public function setUp() { - $this->file = tempnam('/tmp', 'css'); + $this->file = tempnam(TMP_DIR, 'css'); } private function csstest($input, $output = null, $location = 'http://www.example.com/') { io_saveFile($this->file, $input); - $this->assertEquals(css_loadfile($this->file, $location), (is_null($output) ? $input : $output)); + $this->assertEquals((is_null($output) ? $input : $output), css_loadfile($this->file, $location)); } public function test_url_relative() { @@ -32,11 +35,15 @@ class css_css_loadfile_test extends DokuWikiTest { public function test_import_relative() { $this->csstest('@import "test/test.png";', '@import "http://www.example.com/test/test.png";'); $this->csstest('@import \'test/test.png\';', '@import \'http://www.example.com/test/test.png\';'); + $this->csstest('@import url(test/test.png);', '@import url(http://www.example.com/test/test.png);'); + $this->csstest('@import url("test/test.png");', '@import url("http://www.example.com/test/test.png");'); } public function test_import_absolute() { $this->csstest('@import "/test/test.png";'); $this->csstest('@import \'/test/test.png\';'); + $this->csstest('@import url(/test/test.png);'); + $this->csstest('@import url("/test/test.png");'); } public function test_import_with_protocol() { @@ -44,6 +51,37 @@ class css_css_loadfile_test extends DokuWikiTest { $this->csstest('@import "https://www.test.com/test/test.png";'); $this->csstest('@import \'http://www.test.com/test/test.png\';'); $this->csstest('@import \'https://www.test.com/test/test.png\';'); + $this->csstest('@import url(http://www.test.com/test/test.png);'); + $this->csstest('@import url("http://www.test.com/test/test.png");'); + } + + public function test_less_basic() { + $this->csstest('@import "test.less"', '@import "/test.less"'); + $this->csstest('@import "/test.less"', '@import "/test.less"'); + $this->csstest('@import "foo/test.less"', '@import "/foo/test.less"'); + $this->csstest('@import url(http://test.less)'); + } + + // more expected use, where less @import(ed) from e.g. lib/plugins/plugin_name + public function test_less_subdirectories() { + + unlink($this->file); + + $dir = TMP_DIR.'/foo/bar'; + if (!is_dir($dir)) { + mkdir($dir, 0777, true); + } + if (!is_dir($dir)) { + $this->markTestSkipped('Could not create directory.'); + } + + $this->file = tempnam($dir, 'css'); + + $this->csstest('@import "test.less"', '@import "/foo/bar/test.less"'); + $this->csstest('@import \'test.less\'', '@import \'/foo/bar/test.less\''); + $this->csstest('@import url(test.less)', '@import url(/foo/bar/test.less)'); + + $this->csstest('@import "abc/test.less"', '@import "/foo/bar/abc/test.less"'); } public function tearDown() { @@ -9,7 +9,7 @@ */ // update message version -$updateVersion = 41; +$updateVersion = 42; // xdebug_start_profiling(); @@ -47,10 +47,10 @@ $PRE = cleanText(substr($INPUT->post->str('prefix'), 0, -1)); $SUF = cleanText($INPUT->post->str('suffix')); $SUM = $INPUT->post->str('summary'); -//make infos about the selected page available +//make info about the selected page available $INFO = pageinfo(); -//export minimal infos to JS, plugins can add more +//export minimal info to JS, plugins can add more $JSINFO['id'] = $ID; $JSINFO['namespace'] = (string) $INFO['namespace']; diff --git a/inc/RemoteAPICore.php b/inc/RemoteAPICore.php index 74c6689ac..2eb8ea403 100644 --- a/inc/RemoteAPICore.php +++ b/inc/RemoteAPICore.php @@ -88,12 +88,12 @@ class RemoteAPICore { ), 'wiki.getPageInfo' => array( 'args' => array('string'), 'return' => 'array', - 'doc' => 'Returns a struct with infos about the page.', + 'doc' => 'Returns a struct with info about the page.', 'name' => 'pageInfo' ), 'wiki.getPageInfoVersion' => array( 'args' => array('string', 'int'), 'return' => 'array', - 'doc' => 'Returns a struct with infos about the page.', + 'doc' => 'Returns a struct with info about the page.', 'name' => 'pageInfo' ), 'wiki.getPageVersions' => array( 'args' => array('string', 'int'), @@ -136,7 +136,7 @@ class RemoteAPICore { ), 'wiki.getAttachmentInfo' => array( 'args' => array('string'), 'return' => 'array', - 'doc' => 'Returns a struct with infos about the attachment.' + 'doc' => 'Returns a struct with info about the attachment.' ), 'dokuwiki.getXMLRPCAPIVersion' => array( 'args' => array(), 'name' => 'getAPIVersion', diff --git a/inc/actions.php b/inc/actions.php index 5a59d852d..50cbe369f 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -53,7 +53,7 @@ function act_dispatch(){ } } - //display some infos + //display some info if($ACT == 'check'){ check(); $ACT = 'show'; diff --git a/inc/compatibility.php b/inc/compatibility.php new file mode 100644 index 000000000..ae780e5ac --- /dev/null +++ b/inc/compatibility.php @@ -0,0 +1,36 @@ +<?php +/** + * compatibility functions + * + * This file contains a few functions that might be missing from the PHP build + */ + +if(!function_exists('ctype_space')) { + /** + * Check for whitespace character(s) + * + * @see ctype_space + * @param string $text + * @return bool + */ + function ctype_space($text) { + if(!is_string($text)) return false; #FIXME original treats between -128 and 255 inclusive as ASCII chars + if(trim($text) === '') return true; + return false; + } +} + +if(!function_exists('ctype_digit')) { + /** + * Check for numeric character(s) + * + * @see ctype_digit + * @param string $text + * @return bool + */ + function ctype_digit($text) { + if(!is_string($text)) return false; #FIXME original treats between -128 and 255 inclusive as ASCII chars + if(preg_match('/^\d+$/', $text)) return true; + return false; + } +}
\ No newline at end of file diff --git a/inc/config_cascade.php b/inc/config_cascade.php index e1ab0eead..2c4f1612b 100644 --- a/inc/config_cascade.php +++ b/inc/config_cascade.php @@ -50,9 +50,6 @@ $config_cascade = array_merge( ), 'userstyle' => array( 'screen' => DOKU_CONF.'userstyle.css', - // @deprecated 2012-04-09: rtl will cease to be a mode of its own, - // please use "[dir=rtl]" in any css file in all, screen or print mode instead - 'rtl' => DOKU_CONF.'userrtl.css', 'print' => DOKU_CONF.'userprint.css', 'feed' => DOKU_CONF.'userfeed.css', 'all' => DOKU_CONF.'userall.css', diff --git a/inc/farm.php b/inc/farm.php index 54692928d..cee61816c 100644 --- a/inc/farm.php +++ b/inc/farm.php @@ -135,9 +135,7 @@ $config_cascade = array( ), ), 'userstyle' => array( - 'default' => DOKU_CONF.'userstyle.css', // 'default' was renamed to 'screen' on 2011-02-26, so will be deprecated in the next version 'screen' => DOKU_CONF.'userstyle.css', - 'rtl' => DOKU_CONF.'userrtl.css', // deprecated since version after 2012-04-09 'print' => DOKU_CONF.'userprint.css', 'feed' => DOKU_CONF.'userfeed.css', 'all' => DOKU_CONF.'userall.css', diff --git a/inc/html.php b/inc/html.php index bbe29e371..7f473cdb6 100644 --- a/inc/html.php +++ b/inc/html.php @@ -28,20 +28,6 @@ function html_wikilink($id,$name=null,$search=''){ } /** - * Helps building long attribute lists - * - * @deprecated Use buildAttributes instead - * @author Andreas Gohr <andi@splitbrain.org> - */ -function html_attbuild($attributes){ - $ret = ''; - foreach ( $attributes as $key => $value ) { - $ret .= $key.'="'.formText($value).'" '; - } - return trim($ret); -} - -/** * The loginform * * @author Andreas Gohr <andi@splitbrain.org> diff --git a/inc/lang/ar/lang.php b/inc/lang/ar/lang.php index ad1de212b..fdb407da0 100644 --- a/inc/lang/ar/lang.php +++ b/inc/lang/ar/lang.php @@ -1,12 +1,13 @@ <?php + /** - * Arabic language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Mostafa Hussein <mostafa@gmail.com> * @author Yaman Hokan <always.smile.yh@hotmail.com> * @author Usama Akkad <uahello@gmail.com> * @author uahello@gmail.com + * @author Ahmad Abd-Elghany <tolpa1@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'rtl'; @@ -50,6 +51,7 @@ $lang['btn_revert'] = 'استعد'; $lang['btn_register'] = 'سجّل'; $lang['btn_apply'] = 'طبق'; $lang['btn_media'] = 'مدير الوسائط'; +$lang['btn_deleteuser'] = 'احذف حسابي الخاص'; $lang['loggedinas'] = 'داخل باسم'; $lang['user'] = 'اسم المستخدم'; $lang['pass'] = 'كلمة السر'; @@ -61,6 +63,7 @@ $lang['fullname'] = 'الاسم الحقيقي'; $lang['email'] = 'البريد الإلكتروني'; $lang['profile'] = 'الملف الشخصي'; $lang['badlogin'] = 'عذرا، اسم المشترك أو كلمة السر غير صحيحة'; +$lang['badpassconfirm'] = 'عذراً,كلمة السر غير صحيحة'; $lang['minoredit'] = 'تعديلات طفيفة'; $lang['draftdate'] = 'حفظ المسودات آليا مفعّل'; $lang['nosecedit'] = 'غُيرت الصفحة في هذه الأثناء، معلومات الجزء اصبحت قديمة. حُمُلت كل الصفحة بدلا.'; @@ -77,6 +80,11 @@ $lang['profna'] = 'هذه الويكي لا تدعم تعديل $lang['profnochange'] = 'لا تغييرات، لا شيء ليُعمل.'; $lang['profnoempty'] = 'غير مسموح باسم مستخدم أو بريد فارغ.'; $lang['profchanged'] = 'حُدث الملف الشخصي للمستخدم بنجاح.'; +$lang['profnodelete'] = 'هذه الموسوعه لا ندعم حذف الأشخاص'; +$lang['profdeleteuser'] = 'احذف حساب'; +$lang['profdeleted'] = 'حسابك الخاص تم حذفه من هذه الموسوعة'; +$lang['profconfdelete'] = 'أنا أرغب في حذف حسابي من هذه الموسوعة.<br/> +هذا الحدث غير ممكن.'; $lang['pwdforget'] = 'أنسيت كلمة السر؟ احصل على واحدة جديدة'; $lang['resendna'] = 'هذه الويكي لا تدعم إعادة إرسال كلمة المرور.'; $lang['resendpwd'] = 'اضبط كلمة سر جديدة لـ'; diff --git a/inc/lang/da/lang.php b/inc/lang/da/lang.php index 0da7e4761..eb50bb240 100644 --- a/inc/lang/da/lang.php +++ b/inc/lang/da/lang.php @@ -16,6 +16,7 @@ * @author Mikael Lyngvig <mikael@lyngvig.org> * @author Soren Birk <soer9648@hotmail.com> * @author Jens Hyllegaard <jens.hyllegaard@gmail.com> + * @author soer9648 <soer9648@eucl.dk> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -91,6 +92,7 @@ $lang['profchanged'] = 'Brugerprofil opdateret korrekt.'; $lang['profnodelete'] = 'Denne wiki supporterer ikke sletning af brugere'; $lang['profdeleteuser'] = 'Slet Konto'; $lang['profdeleted'] = 'Din brugerkonto er blevet slettet fra denne wiki'; +$lang['profconfdelete'] = 'Jeg ønsker at slette min konto fra denne wiki. <br/> Denne handling kan ikke fortrydes.'; $lang['pwdforget'] = 'Har du glemt dit adgangskode? Få et nyt'; $lang['resendna'] = 'Denne wiki understøtter ikke udsendelse af nyt adgangskode.'; $lang['resendpwd'] = 'Vælg ny adgangskode for'; diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php index 685e668c4..dceaf1af0 100644 --- a/inc/lang/de/lang.php +++ b/inc/lang/de/lang.php @@ -2,7 +2,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Andreas Gohr <andi@splitbrain.org> * @author Christof <gagi@fin.de> * @author Anika Henke <anika@selfthinker.org> diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index d4ddf293a..17a75803f 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -315,6 +315,7 @@ $lang['i_policy'] = 'Initial ACL policy'; $lang['i_pol0'] = 'Open Wiki (read, write, upload for everyone)'; $lang['i_pol1'] = 'Public Wiki (read for everyone, write and upload for registered users)'; $lang['i_pol2'] = 'Closed Wiki (read, write, upload for registered users only)'; +$lang['i_allowreg'] = 'Allow users to register themselves'; $lang['i_retry'] = 'Retry'; $lang['i_license'] = 'Please choose the license you want to put your content under:'; $lang['i_license_none'] = 'Do not show any license information'; @@ -356,4 +357,8 @@ $lang['media_perm_upload'] = 'Sorry, you don\'t have enough rights to upload $lang['media_update'] = 'Upload new version'; $lang['media_restore'] = 'Restore this version'; +$lang['currentns'] = 'Current namespace'; +$lang['searchresult'] = 'Search Result'; +$lang['plainhtml'] = 'Plain HTML'; +$lang['wikimarkup'] = 'Wiki Markup'; //Setup VIM: ex: et ts=2 : diff --git a/inc/lang/eo/admin.txt b/inc/lang/eo/admin.txt index 2ede2763c..4b0cf7909 100644 --- a/inc/lang/eo/admin.txt +++ b/inc/lang/eo/admin.txt @@ -1,3 +1,3 @@ -====== Administro ====== +====== Administrado ====== Sube vi povas trovi liston de administraj taskoj disponeblaj en DokuWiki. diff --git a/inc/lang/eo/lang.php b/inc/lang/eo/lang.php index 39346bb01..a543b2571 100644 --- a/inc/lang/eo/lang.php +++ b/inc/lang/eo/lang.php @@ -2,7 +2,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Antono Vasiljev <esperanto.minsk ĈE tut.by> * @author Felipe Castro <fefcas@yahoo.com.br> * @author Felipe Castro <fefcas@uol.com.br> @@ -330,3 +330,7 @@ $lang['media_perm_read'] = 'Bedaûrinde viaj rajtoj ne sufiĉas por legi d $lang['media_perm_upload'] = 'Bedaûrinde viaj rajtoj ne sufiĉas por alŝuti dosierojn.'; $lang['media_update'] = 'Alŝuti novan version'; $lang['media_restore'] = 'Restarigi ĉi tiun version'; +$lang['currentns'] = 'Aktuala nomspaco'; +$lang['searchresult'] = 'Serĉrezulto'; +$lang['plainhtml'] = 'Plena HTML'; +$lang['wikimarkup'] = 'Vikiteksto'; diff --git a/inc/lang/he/lang.php b/inc/lang/he/lang.php index 4ddc3a019..2c4d758ff 100644 --- a/inc/lang/he/lang.php +++ b/inc/lang/he/lang.php @@ -10,6 +10,7 @@ * @author Yaron Yogev <yaronyogev@gmail.com> * @author Yaron Shahrabani <sh.yaron@gmail.com> * @author Roy Zahor <roy.zahor@gmail.com> + * @author alex <ralexay@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'rtl'; @@ -80,6 +81,7 @@ $lang['profna'] = 'בוויקי הזה לא ניתן לשנות $lang['profnochange'] = 'אין שינויים, הפרופיל לא עודכן'; $lang['profnoempty'] = 'השם וכתובת הדוא״ל לא יכולים להיות ריקים'; $lang['profchanged'] = 'הפרופיל עודכן בהצלחה'; +$lang['profdeleteuser'] = 'הסר חשבון'; $lang['pwdforget'] = 'שכחת את הססמה שלך? ניתן לקבל חדשה'; $lang['resendna'] = 'הוויקי הזה אינו תומך בחידוש ססמה'; $lang['resendpwd'] = 'הגדר סיסמא חדשה בעבור'; @@ -128,11 +130,15 @@ $lang['js']['nosmblinks'] = 'קישור לכונני שיתוף של Window $lang['js']['linkwiz'] = 'אשף הקישורים'; $lang['js']['linkto'] = 'קישור אל:'; $lang['js']['del_confirm'] = 'באמת למחוק?'; +$lang['js']['restore_confirm'] = 'באמת לשחזר את הגירסא הזאת?'; $lang['js']['media_diff'] = 'הצגת הבדלים:'; $lang['js']['media_diff_both'] = 'זה לצד זה'; $lang['js']['media_select'] = 'בחר קבצים...'; $lang['js']['media_upload_btn'] = 'העלאה'; +$lang['js']['media_done_btn'] = 'בוצע'; $lang['js']['media_drop'] = 'גרור לכאן קבצים בכדי להעלותם'; +$lang['js']['media_cancel'] = 'הסר'; +$lang['js']['media_overwrt'] = 'שכתב קבצים קיימים'; $lang['rssfailed'] = 'אירע כשל בעת קבלת הזנה זו:'; $lang['nothingfound'] = 'לא נמצאו תוצאות.'; $lang['mediaselect'] = 'קובצי מדיה'; @@ -183,6 +189,10 @@ $lang['summary'] = 'תקציר העריכה'; $lang['noflash'] = '<a href="http://www.adobe.com/products/flashplayer/">תוסף פלאש לדפדפן</a> נדרש כדי להציג תוכן זה.'; $lang['download'] = 'הורדת מקטע'; $lang['tools'] = 'כלים'; +$lang['user_tools'] = 'כלים של משתמש'; +$lang['site_tools'] = 'כלים של אתר'; +$lang['page_tools'] = 'כלים של דף'; +$lang['skip_to_content'] = 'עבור לתוכן'; $lang['mail_newpage'] = 'דף נוסף:'; $lang['mail_changed'] = 'דף שונה:'; $lang['mail_subscribe_list'] = 'דפים שהשתנו במרחב השם:'; diff --git a/inc/lang/ko/lang.php b/inc/lang/ko/lang.php index e6cae3db0..39f2428fa 100644 --- a/inc/lang/ko/lang.php +++ b/inc/lang/ko/lang.php @@ -23,7 +23,7 @@ $lang['btn_edit'] = '문서 편집'; $lang['btn_source'] = '원본 보기'; $lang['btn_show'] = '문서 보기'; $lang['btn_create'] = '문서 만들기'; -$lang['btn_search'] = '찾기'; +$lang['btn_search'] = '검색'; $lang['btn_save'] = '저장'; $lang['btn_preview'] = '미리 보기'; $lang['btn_top'] = '맨 위로'; @@ -96,10 +96,10 @@ $lang['resendpwdnouser'] = '죄송하지만 데이터베이스에서 이 $lang['resendpwdbadauth'] = '죄송하지만 인증 코드가 올바르지 않습니다. 잘못된 확인 링크인지 확인하세요.'; $lang['resendpwdconfirm'] = '확인 링크를 이메일로 보냈습니다.'; $lang['resendpwdsuccess'] = '새 비밀번호를 이메일로 보냈습니다.'; -$lang['license'] = '별도로 명시하지 않을 경우, 이 위키의 내용은 다음의 라이선스에 따라 사용할 수 있습니다:'; -$lang['licenseok'] = '참고: 이 문서를 편집하면 내용은 다음 라이선스에 따라 사용 허가에 동의합니다:'; -$lang['searchmedia'] = '파일 이름 찾기:'; -$lang['searchmedia_in'] = '%s에서 찾기'; +$lang['license'] = '별도로 명시하지 않을 경우, 이 위키의 내용은 다음 라이선스에 따라 사용할 수 있습니다:'; +$lang['licenseok'] = '참고: 이 문서를 편집하면 내용은 다음 라이선스에 따라 배포하는 데 동의합니다:'; +$lang['searchmedia'] = '파일 이름 검색:'; +$lang['searchmedia_in'] = '%s에서 검색'; $lang['txt_upload'] = '올릴 파일 선택'; $lang['txt_filename'] = '올릴 파일 이름 입력 (선택 사항)'; $lang['txt_overwrt'] = '기존 파일에 덮어쓰기'; @@ -108,7 +108,7 @@ $lang['lockedby'] = '현재 잠겨진 사용자'; $lang['lockexpire'] = '잠금 해제 시간'; $lang['js']['willexpire'] = '잠시 후 편집 잠금이 해제됩니다.\n편집 충돌을 피하려면 미리 보기를 눌러 잠금 시간을 다시 설정하세요.'; $lang['js']['notsavedyet'] = '저장하지 않은 바뀜이 사라집니다.'; -$lang['js']['searchmedia'] = '파일 찾기'; +$lang['js']['searchmedia'] = '파일 검색'; $lang['js']['keepopen'] = '선택할 때 창을 열어 놓기'; $lang['js']['hidedetails'] = '자세한 정보 숨기기'; $lang['js']['mediatitle'] = '링크 설정'; @@ -308,7 +308,7 @@ $lang['minutes'] = '%d분 전'; $lang['seconds'] = '%d초 전'; $lang['wordblock'] = '차단 문구(스팸)를 포함하고 있어서 바뀜을 저장하지 않았습니다.'; $lang['media_uploadtab'] = '올리기'; -$lang['media_searchtab'] = '찾기'; +$lang['media_searchtab'] = '검색'; $lang['media_file'] = '파일'; $lang['media_viewtab'] = '보기'; $lang['media_edittab'] = '편집'; @@ -320,7 +320,7 @@ $lang['media_sort_date'] = '날짜'; $lang['media_namespaces'] = '이름공간 선택'; $lang['media_files'] = '%s에 있는 파일'; $lang['media_upload'] = '%s에 올리기'; -$lang['media_search'] = '%s에서 찾기'; +$lang['media_search'] = '%s에서 검색'; $lang['media_view'] = '%s'; $lang['media_viewold'] = '%2$s (%1$s에 있음)'; $lang['media_edit'] = '%s 편집'; @@ -330,3 +330,7 @@ $lang['media_perm_read'] = '죄송하지만 파일을 읽을 권한이 없 $lang['media_perm_upload'] = '죄송하지만 파일을 올릴 권한이 없습니다.'; $lang['media_update'] = '새 판 올리기'; $lang['media_restore'] = '이 판으로 되돌리기'; +$lang['currentns'] = '현재 이름공간'; +$lang['searchresult'] = '검색 결과'; +$lang['plainhtml'] = '일반 HTML'; +$lang['wikimarkup'] = '위키 문법'; diff --git a/inc/lang/ko/searchpage.txt b/inc/lang/ko/searchpage.txt index cb9bae2e0..35384c536 100644 --- a/inc/lang/ko/searchpage.txt +++ b/inc/lang/ko/searchpage.txt @@ -1,5 +1,5 @@ -====== 찾기 ====== +====== 검색 ====== -아래에서 찾기 결과를 볼 수 있습니다. 만일 원하는 문서를 찾지 못하였다면, "문서 만들기"나 "문서 편집"을 사용해 쿼리 내용과 같은 이름의 문서를 만들거나 편집할 수 있습니다. +아래에서 검색 결과를 볼 수 있습니다. 만일 원하는 문서를 찾지 못하였다면, "문서 만들기"나 "문서 편집"을 사용해 쿼리 내용과 같은 이름의 문서를 만들거나 편집할 수 있습니다. ===== 결과 =====
\ No newline at end of file diff --git a/inc/lang/nl/lang.php b/inc/lang/nl/lang.php index ed33dad3d..5f95a99bf 100644 --- a/inc/lang/nl/lang.php +++ b/inc/lang/nl/lang.php @@ -341,3 +341,7 @@ $lang['media_perm_read'] = 'Sorry, u heeft niet voldoende rechten om besta $lang['media_perm_upload'] = 'Sorry, u heeft niet voldoende rechten om bestanden te uploaden.'; $lang['media_update'] = 'Upload nieuwe versie'; $lang['media_restore'] = 'Deze versie terugzetten'; +$lang['currentns'] = 'Huidige namespace'; +$lang['searchresult'] = 'Zoekresultaat'; +$lang['plainhtml'] = 'Alleen HTML'; +$lang['wikimarkup'] = 'Wiki Opmaak'; diff --git a/inc/lang/ru/lang.php b/inc/lang/ru/lang.php index 6a0c4bb6b..237b819db 100644 --- a/inc/lang/ru/lang.php +++ b/inc/lang/ru/lang.php @@ -22,6 +22,7 @@ * @author Johnny Utah <pcpa@cyberpunk.su> * @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua) * @author Pavel <ivanovtsk@mail.ru> + * @author Artur <ncuxxx@gmail.com> */ $lang['encoding'] = ' utf-8'; $lang['direction'] = 'ltr'; diff --git a/inc/lang/sk/lang.php b/inc/lang/sk/lang.php index e8c1151d5..a5fc47f5f 100644 --- a/inc/lang/sk/lang.php +++ b/inc/lang/sk/lang.php @@ -327,3 +327,7 @@ $lang['media_perm_read'] = 'Prepáčte, ale nemáte dostatočné oprávnen $lang['media_perm_upload'] = 'Prepáčte, ale nemáte dostatočné oprávnenie na nahrávanie súborov.'; $lang['media_update'] = 'Nahrať novú verziu'; $lang['media_restore'] = 'Obnoviť túto verziu'; +$lang['currentns'] = 'Aktuálny menný priestor'; +$lang['searchresult'] = 'Výsledky hľadania'; +$lang['plainhtml'] = 'Jednoduché HTML'; +$lang['wikimarkup'] = 'Wiki formát'; diff --git a/inc/lang/zh-tw/lang.php b/inc/lang/zh-tw/lang.php index 176121881..456377810 100644 --- a/inc/lang/zh-tw/lang.php +++ b/inc/lang/zh-tw/lang.php @@ -8,11 +8,11 @@ * @author http://www.chinese-tools.com/tools/converter-simptrad.html * @author Wayne San <waynesan@zerozone.tw> * @author Cheng-Wei Chien <e.cwchien@gmail.com> - * @author Danny Lin * @author Shuo-Ting Jian <shoting@gmail.com> * @author syaoranhinata@gmail.com * @author Ichirou Uchiki <syaoranhinata@gmail.com> * @author tsangho <ou4222@gmail.com> + * @author Danny Lin <danny0838@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -81,15 +81,17 @@ $lang['regbadmail'] = '您輸入的電郵地址似乎不正確。若 $lang['regbadpass'] = '兩次輸入的密碼不一致,請再試一次。'; $lang['regpwmail'] = '您的 DokuWiki 帳號密碼'; $lang['reghere'] = '您還沒有帳號嗎?註冊一個吧。'; -$lang['profna'] = '在本 wiki 上,不能修改個人資料。'; +$lang['profna'] = '本 wiki 不支援修改個人資料。'; $lang['profnochange'] = '並未作任何變更。'; $lang['profnoempty'] = '帳號或電郵地址不可空白!'; $lang['profchanged'] = '個人資料已更新。'; -$lang['profnodelete'] = '這一wiki不支援刪除用戶'; +$lang['profnodelete'] = '本 wiki 不支援刪除使用者'; $lang['profdeleteuser'] = '刪除帳號'; -$lang['profdeleted'] = '您在這wiki中的用戶帳號已經被刪除'; +$lang['profdeleted'] = '您的使用者帳號已從本 wiki 刪除'; +$lang['profconfdelete'] = '我想把帳號從本 wiki 刪除(不能復原)'; +$lang['profconfdeletemissing'] = '未勾選確認方塊'; $lang['pwdforget'] = '忘記密碼了?索取新密碼!'; -$lang['resendna'] = '本 wiki 並不支援重寄密碼。'; +$lang['resendna'] = '本 wiki 不支援重寄密碼。'; $lang['resendpwd'] = '設定新密碼供'; $lang['resendpwdmissing'] = '抱歉,您必須填寫所有欄位。'; $lang['resendpwdnouser'] = '抱歉,資料庫內找不到這個使用者。'; @@ -97,7 +99,7 @@ $lang['resendpwdbadauth'] = '抱歉,認證碼無效。請確認您使用 $lang['resendpwdconfirm'] = '確認連結已通過郵件發送給您了。'; $lang['resendpwdsuccess'] = '您的新密碼已寄出。'; $lang['license'] = '若無特別註明,本 wiki 上的內容都是採用以下授權方式:'; -$lang['licenseok'] = '注意:編輯此頁面表示您已同意以下的授權方式:'; +$lang['licenseok'] = '注意:編輯此頁面表示您同意用以下授權方式發布您撰寫的內容:'; $lang['searchmedia'] = '搜尋檔名:'; $lang['searchmedia_in'] = '在 %s 裏搜尋'; $lang['txt_upload'] = '請選擇要上傳的檔案'; @@ -232,7 +234,7 @@ $lang['qb_extlink'] = '外部連結'; $lang['qb_hr'] = '水平線'; $lang['qb_ol'] = '有序列表項目'; $lang['qb_ul'] = '無序列表項目'; -$lang['qb_media'] = '加入圖片或檔案'; +$lang['qb_media'] = '加入圖片或檔案 (開新視窗)'; $lang['qb_sig'] = '插入簽名'; $lang['qb_smileys'] = '表情符號'; $lang['qb_chars'] = '特殊字元'; @@ -271,6 +273,8 @@ $lang['subscr_m_receive'] = '接收'; $lang['subscr_style_every'] = '每次更改都發送信件'; $lang['subscr_style_digest'] = '對每個頁面發送更改的摘要信件 (每 %.2f 天)'; $lang['subscr_style_list'] = '自上次發信以來更改的頁面的列表 (每 %.2f 天)'; + +/* auth.class language support */ $lang['authtempfail'] = '暫不提供帳號認證。若本狀況持續,請通知本 wiki 管理員。'; $lang['authpwdexpire'] = '您的密碼將在 %d 天內到期,請馬上更換新密碼。'; $lang['i_chooselang'] = '選擇您的語系'; @@ -332,3 +336,8 @@ $lang['media_perm_read'] = '抱歉,您沒有足夠權限讀取檔案。' $lang['media_perm_upload'] = '抱歉,您沒有足夠權限上傳檔案。'; $lang['media_update'] = '上傳新的版本'; $lang['media_restore'] = '還原這個版本'; + +$lang['currentns'] = '目前的命名空間'; +$lang['searchresult'] = '搜尋結果'; +$lang['plainhtml'] = '純 HTML'; +$lang['wikimarkup'] = 'Wiki 語法標記'; diff --git a/inc/load.php b/inc/load.php index 923671296..c5b40ffd8 100644 --- a/inc/load.php +++ b/inc/load.php @@ -35,6 +35,7 @@ require_once(DOKU_INC.'inc/template.php'); require_once(DOKU_INC.'inc/toolbar.php'); require_once(DOKU_INC.'inc/utf8.php'); require_once(DOKU_INC.'inc/auth.php'); +require_once(DOKU_INC.'inc/compatibility.php'); /** * spl_autoload_register callback diff --git a/inc/media.php b/inc/media.php index a9f6be771..d69426414 100644 --- a/inc/media.php +++ b/inc/media.php @@ -90,7 +90,7 @@ function media_metasave($id,$auth,$data){ * @return bool */ function media_isexternal($id){ - if (preg_match('#^(https?|ftp)://#i', $id)) return true; + if (preg_match('#^(?:https?|ftp)://#i', $id)) return true; return false; } @@ -1484,7 +1484,7 @@ function media_printfile_thumbs($item,$auth,$jump=false,$display_namespace=false } /** - * Prints a thumbnail and metainfos + * Prints a thumbnail and metainfo */ function media_printimgdetail($item, $fullscreen=false){ // prepare thumbnail diff --git a/inc/pageutils.php b/inc/pageutils.php index 60f326e04..c8d3cf4bb 100644 --- a/inc/pageutils.php +++ b/inc/pageutils.php @@ -94,9 +94,8 @@ function getID($param='id',$clean=true){ * @author Andreas Gohr <andi@splitbrain.org> * @param string $raw_id The pageid to clean * @param boolean $ascii Force ASCII - * @param boolean $media DEPRECATED */ -function cleanID($raw_id,$ascii=false,$media=false){ +function cleanID($raw_id,$ascii=false){ global $conf; static $sepcharpat = null; diff --git a/inc/parser/metadata.php b/inc/parser/metadata.php index 437559370..8ba159d62 100644 --- a/inc/parser/metadata.php +++ b/inc/parser/metadata.php @@ -274,7 +274,12 @@ class Doku_Renderer_metadata extends Doku_Renderer { $this->internallink($link, $link); } - function locallink($hash, $name = null){} + function locallink($hash, $name = null){ + if(is_array($name)) { + $this->_firstimage($name['src']); + if ($name['type'] == 'internalmedia') $this->_recordMediaUsage($name['src']); + } + } /** * keep track of internal links in $this->meta['relation']['references'] diff --git a/inc/template.php b/inc/template.php index e967bf27d..60e178d1a 100644 --- a/inc/template.php +++ b/inc/template.php @@ -318,11 +318,11 @@ function tpl_metaheaders($alt = true) { if($alt) { $head['link'][] = array( 'rel' => 'alternate', 'type'=> 'application/rss+xml', - 'title'=> 'Recent Changes', 'href'=> DOKU_BASE.'feed.php' + 'title'=> $lang['btn_recent'], 'href'=> DOKU_BASE.'feed.php' ); $head['link'][] = array( 'rel' => 'alternate', 'type'=> 'application/rss+xml', - 'title'=> 'Current Namespace', + 'title'=> $lang['currentns'], 'href' => DOKU_BASE.'feed.php?mode=list&ns='.$INFO['namespace'] ); if(($ACT == 'show' || $ACT == 'search') && $INFO['writable']) { @@ -336,21 +336,21 @@ function tpl_metaheaders($alt = true) { if($ACT == 'search') { $head['link'][] = array( 'rel' => 'alternate', 'type'=> 'application/rss+xml', - 'title'=> 'Search Result', + 'title'=> $lang['searchresult'], 'href' => DOKU_BASE.'feed.php?mode=search&q='.$QUERY ); } if(actionOK('export_xhtml')) { $head['link'][] = array( - 'rel' => 'alternate', 'type'=> 'text/html', 'title'=> 'Plain HTML', + 'rel' => 'alternate', 'type'=> 'text/html', 'title'=> $lang['plainhtml'], 'href'=> exportlink($ID, 'xhtml', '', false, '&') ); } if(actionOK('export_raw')) { $head['link'][] = array( - 'rel' => 'alternate', 'type'=> 'text/plain', 'title'=> 'Wiki Markup', + 'rel' => 'alternate', 'type'=> 'text/plain', 'title'=> $lang['wikimarkup'], 'href'=> exportlink($ID, 'raw', '', false, '&') ); } @@ -1694,18 +1694,6 @@ function tpl_includeFile($file) { } /** - * Returns icon from data/media root directory if it exists, otherwise - * the one in the template's image directory. - * - * @deprecated Use tpl_getMediaFile() instead - * @author Anika Henke <anika@selfthinker.org> - */ -function tpl_getFavicon($abs = false, $fileName = 'favicon.ico') { - $look = array(":wiki:$fileName", ":$fileName", "images/$fileName"); - return tpl_getMediaFile($look, $abs); -} - -/** * Returns <link> tag for various icon types (favicon|mobile|generic) * * @author Anika Henke <anika@selfthinker.org> diff --git a/install.php b/install.php index 82a47b037..5cc8b0c02 100644 --- a/install.php +++ b/install.php @@ -56,7 +56,7 @@ $dokuwiki_hash = array( '2012-01-25' => '72c083c73608fc43c586901fd5dabb74', '2012-09-10' => 'eb0b3fc90056fbc12bac6f49f7764df3', '2013-05-10' => '7b62b75245f57f122d3e0f8ed7989623', - '2013-10-28' => '263c76af309fbf083867c18a34ff5214', + '2013-11-18' => '263c76af309fbf083867c18a34ff5214', ); @@ -207,6 +207,10 @@ function print_form($d){ <option value="2" <?php echo ($d['policy'] == 2)?'selected="selected"':'' ?>><?php echo $lang['i_pol2']?></option> </select> + <label for="allowreg"> + <input type="checkbox" name="d[allowreg]" id="allowreg" <?php echo(($d['allowreg'] ? ' checked="checked"' : ''));?> /> + <?php echo $lang['i_allowreg']?> + </label> </fieldset> </fieldset> @@ -270,6 +274,7 @@ function check_data(&$d){ 'password' => '', 'confirm' => '', 'policy' => '0', + 'allowreg' => '0', 'license' => 'cc-by-sa' ); global $lang; @@ -351,6 +356,9 @@ EOT; $output .= '$conf[\'useacl\'] = 1'.";\n"; $output .= "\$conf['superuser'] = '@admin';\n"; } + if(!$d['allowreg']){ + $output .= '$conf[\'disableactions\'] = \'register\''.";\n"; + } $ok = $ok && fileWrite(DOKU_LOCAL.'local.php',$output); if ($d['acl']) { diff --git a/lib/exe/css.php b/lib/exe/css.php index 6dfdf06e8..c2540cc03 100644 --- a/lib/exe/css.php +++ b/lib/exe/css.php @@ -84,16 +84,6 @@ function css_out(){ if(isset($config_cascade['userstyle'][$mediatype])){ $files[$mediatype][$config_cascade['userstyle'][$mediatype]] = DOKU_BASE; } - // load rtl styles - // note: this adds the rtl styles only to the 'screen' media type - // @deprecated 2012-04-09: rtl will cease to be a mode of its own, - // please use "[dir=rtl]" in any css file in all, screen or print mode instead - if ($mediatype=='screen') { - if($lang['direction'] == 'rtl'){ - if (isset($styleini['stylesheets']['rtl'])) $files[$mediatype] = array_merge($files[$mediatype], $styleini['stylesheets']['rtl']); - if (isset($config_cascade['userstyle']['rtl'])) $files[$mediatype][$config_cascade['userstyle']['rtl']] = DOKU_BASE; - } - } $cache_files = array_merge($cache_files, array_keys($files[$mediatype])); } @@ -173,6 +163,12 @@ function css_out(){ */ function css_parseless($css) { $less = new lessc(); + $less->importDir[] = DOKU_INC; + + if (defined('DOKU_UNITTEST')){ + $less->importDir[] = TMP_DIR; + } + try { return $less->compile($css); } catch(Exception $e) { @@ -271,7 +267,7 @@ function css_styleini($tpl) { // replacements if(is_array($data['replacements'])){ - $replacements = array_merge($replacements, $data['replacements']); + $replacements = array_merge($replacements, css_fixreplacementurls($data['replacements'],$webbase)); } } @@ -288,7 +284,7 @@ function css_styleini($tpl) { // replacements if(is_array($data['replacements'])){ - $replacements = array_merge($replacements, $data['replacements']); + $replacements = array_merge($replacements, css_fixreplacementurls($data['replacements'],$webbase)); } } @@ -306,7 +302,7 @@ function css_styleini($tpl) { // replacements if(is_array($data['replacements'])){ - $replacements = array_merge($replacements, $data['replacements']); + $replacements = array_merge($replacements, css_fixreplacementurls($data['replacements'],$webbase)); } } @@ -316,6 +312,13 @@ function css_styleini($tpl) { ); } +function css_fixreplacementurls($replacements, $location) { + foreach($replacements as $key => $value) { + $replacements[$key] = preg_replace('#(url\([ \'"]*)(?!/|data:|http://|https://| |\'|")#','\\1'.$location,$value); + } + return $replacements; +} + /** * Prints classes for interwikilinks * @@ -393,18 +396,69 @@ function css_filetypes(){ * given location prefix */ function css_loadfile($file,$location=''){ - if(!@file_exists($file)) return ''; - $css = io_readFile($file); - if(!$location) return $css; + $css_file = new DokuCssFile($file); + return $css_file->load($location); +} - $css = preg_replace('#(url\([ \'"]*)(?!/|data:|http://|https://| |\'|")#','\\1'.$location,$css); - $css = preg_replace('#(@import\s+[\'"])(?!/|data:|http://|https://)#', '\\1'.$location, $css); +class DokuCssFile { - return $css; + protected $filepath; + protected $location; + private $relative_path = null; + + public function __construct($file) { + $this->filepath = $file; + } + + public function load($location='') { + if (!@file_exists($this->filepath)) return ''; + + $css = io_readFile($this->filepath); + if (!$location) return $css; + + $this->location = $location; + + $css = preg_replace_callback('#(url\( *)([\'"]?)(.*?)(\2)( *\))#',array($this,'replacements'),$css); + $css = preg_replace_callback('#(@import\s+)([\'"])(.*?)(\2)#',array($this,'replacements'),$css); + + return $css; + } + + private function getRelativePath(){ + + if (is_null($this->relative_path)) { + $basedir = array(DOKU_INC); + if (defined('DOKU_UNITTEST')) { + $basedir[] = realpath(TMP_DIR); + } + $regex = '#^('.join('|',$basedir).')#'; + + $this->relative_path = preg_replace($regex, '', dirname($this->filepath)); + } + + return $this->relative_path; + } + + public function replacements($match) { + + if (preg_match('#^(/|data:|https?://)#',$match[3])) { + return $match[0]; + } + else if (substr($match[3],-5) == '.less') { + if ($match[3]{0} != '/') { + $match[3] = $this->getRelativePath() . '/' . $match[3]; + } + } + else { + $match[3] = $this->location . $match[3]; + } + + return join('',array_slice($match,1)); + } } /** - * Converte local image URLs to data URLs if the filesize is small + * Convert local image URLs to data URLs if the filesize is small * * Callback for preg_replace_callback */ @@ -422,7 +476,7 @@ function css_datauri($match){ $data = base64_encode(file_get_contents($local)); } if($data){ - $url = '\'data:image/'.$ext.';base64,'.$data.'\''; + $url = 'data:image/'.$ext.';base64,'.$data; }else{ $url = $base.$url; } @@ -447,11 +501,6 @@ function css_pluginstyles($mediatype='screen'){ $list[DOKU_PLUGIN."$p/style.css"] = DOKU_BASE."lib/plugins/$p/"; $list[DOKU_PLUGIN."$p/style.less"] = DOKU_BASE."lib/plugins/$p/"; } - // @deprecated 2012-04-09: rtl will cease to be a mode of its own, - // please use "[dir=rtl]" in any css file in all, screen or print mode instead - if($lang['direction'] == 'rtl'){ - $list[DOKU_PLUGIN."$p/rtl.css"] = DOKU_BASE."lib/plugins/$p/"; - } } return $list; } diff --git a/lib/exe/detail.php b/lib/exe/detail.php index e3c81d877..cd3f362ad 100644 --- a/lib/exe/detail.php +++ b/lib/exe/detail.php @@ -6,7 +6,7 @@ require_once(DOKU_INC.'inc/init.php'); $IMG = getID('media'); $ID = cleanID($INPUT->str('id')); -// this makes some general infos available as well as the info about the +// this makes some general info available as well as the info about the // "parent" page $INFO = array_merge(pageinfo(),mediainfo()); diff --git a/lib/images/_deprecated.txt b/lib/images/_deprecated.txt index bccea2049..a347f8b3c 100644 --- a/lib/images/_deprecated.txt +++ b/lib/images/_deprecated.txt @@ -1,12 +1,2 @@ -== @deprecated 2012-10-06 == - -arrow_down.gif -arrow_up.gif -at.gif -close.png -del.png -edit.gif -list-minus.gif -list-plus.gif -pencil.png +(none) diff --git a/lib/images/arrow_down.gif b/lib/images/arrow_down.gif Binary files differdeleted file mode 100644 index ff13b9585..000000000 --- a/lib/images/arrow_down.gif +++ /dev/null diff --git a/lib/images/arrow_up.gif b/lib/images/arrow_up.gif Binary files differdeleted file mode 100644 index d491c18db..000000000 --- a/lib/images/arrow_up.gif +++ /dev/null diff --git a/lib/images/at.gif b/lib/images/at.gif Binary files differdeleted file mode 100644 index 8bdf40d54..000000000 --- a/lib/images/at.gif +++ /dev/null diff --git a/lib/images/close.png b/lib/images/close.png Binary files differdeleted file mode 100644 index 4ccef0603..000000000 --- a/lib/images/close.png +++ /dev/null diff --git a/lib/images/del.png b/lib/images/del.png Binary files differdeleted file mode 100644 index e59ded55f..000000000 --- a/lib/images/del.png +++ /dev/null diff --git a/lib/images/edit.gif b/lib/images/edit.gif Binary files differdeleted file mode 100644 index a2a23de7b..000000000 --- a/lib/images/edit.gif +++ /dev/null diff --git a/lib/images/list-minus.gif b/lib/images/list-minus.gif Binary files differdeleted file mode 100644 index 36902f159..000000000 --- a/lib/images/list-minus.gif +++ /dev/null diff --git a/lib/images/list-plus.gif b/lib/images/list-plus.gif Binary files differdeleted file mode 100644 index adc3fac8a..000000000 --- a/lib/images/list-plus.gif +++ /dev/null diff --git a/lib/images/pencil.png b/lib/images/pencil.png Binary files differdeleted file mode 100644 index 78142b61e..000000000 --- a/lib/images/pencil.png +++ /dev/null diff --git a/lib/plugins/acl/admin.php b/lib/plugins/acl/admin.php index b24981d91..6c7c28ff6 100644 --- a/lib/plugins/acl/admin.php +++ b/lib/plugins/acl/admin.php @@ -345,7 +345,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { } /** - * Print infos and editor + * Print info and editor */ function _html_info(){ global $ID; diff --git a/lib/plugins/acl/lang/ar/lang.php b/lib/plugins/acl/lang/ar/lang.php index 7c05b721c..4e44dab5f 100644 --- a/lib/plugins/acl/lang/ar/lang.php +++ b/lib/plugins/acl/lang/ar/lang.php @@ -1,8 +1,8 @@ <?php + /** - * Arabic language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Mostafa Hussein <mostafa@gmail.com> * @author Yaman Hokan <always.smile.yh@hotmail.com> * @author Usama Akkad <uahello@gmail.com> diff --git a/lib/plugins/authad/lang/de/settings.php b/lib/plugins/authad/lang/de/settings.php index fd624ad02..6bc86dc01 100644 --- a/lib/plugins/authad/lang/de/settings.php +++ b/lib/plugins/authad/lang/de/settings.php @@ -2,9 +2,11 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Frank Loizzi <contact@software.bacal.de> * @author Matthias Schulte <dokuwiki@lupo49.de> + * @author Ben Fey <benedikt.fey@beck-heun.de> + * @author Jonas Gröger <jonas.groeger@gmail.com> */ $lang['account_suffix'] = 'Ihr Account-Suffix. Z. B. <code>@my.domain.org</code>'; $lang['base_dn'] = 'Ihr Base-DN. Z. B. <code>DC=my,DC=domain,DC=org</code>'; @@ -12,6 +14,7 @@ $lang['domain_controllers'] = 'Eine Komma-separierte Liste von Domänen-Contr $lang['admin_username'] = 'Ein priviligierter Active Directory-Benutzer mit Zugriff zu allen anderen Benutzerdaten. Optional, aber wird benötigt für Aktionen wie z. B. dass Senden von Benachrichtigungs-Mails.'; $lang['admin_password'] = 'Das Passwort des obigen Benutzers.'; $lang['sso'] = 'Soll Single-Sign-On via Kerberos oder NTLM benutzt werden?'; +$lang['sso_charset'] = 'Der Zeichensatz, mit dem der Server den Kerberos- oder NTLM-Benutzernamen versendet. Leer lassen für UTF-8 oder latin-1. Benötigt die iconv-Erweiterung.'; $lang['real_primarygroup'] = 'Soll die echte primäre Gruppe aufgelöst werden anstelle der Annahme "Domain Users" (langsamer)'; $lang['use_ssl'] = 'SSL-Verbindung benutzen? Falls ja, TLS unterhalb nicht aktivieren.'; $lang['use_tls'] = 'TLS-Verbindung benutzen? Falls ja, SSL oberhalb nicht aktivieren.'; diff --git a/lib/plugins/authad/lang/eo/settings.php b/lib/plugins/authad/lang/eo/settings.php index ee672ecd3..11640ebb7 100644 --- a/lib/plugins/authad/lang/eo/settings.php +++ b/lib/plugins/authad/lang/eo/settings.php @@ -3,6 +3,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * + * @author Robert Bogenschneider <bogi@uea.org> */ $lang['account_suffix'] = 'Via konto-aldonaĵo, ekz. <code>@mia.domajno.lando</code>'; $lang['base_dn'] = 'Via baza DN, ekz. <code>DC=mia,DC=domajno,DC=lando</code>'; @@ -10,6 +11,7 @@ $lang['domain_controllers'] = 'Komodisigita listo de domajno-serviloj, ekz. < $lang['admin_username'] = 'Privilegiita Aktiv-Dosieruja uzanto kun aliro al ĉiuj uzantaj datumoj. Libervole, sed necesa por iuj agadoj kiel sendi abonan retpoŝton.'; $lang['admin_password'] = 'La pasvorto de tiu uzanto.'; $lang['sso'] = 'Ĉu uzi Sola Aliro tra Kerberos aŭ NTLM?'; +$lang['sso_charset'] = 'Per kiu karaktraro via retservilo pludonas uzantonomojn al Kerberos aŭ NTLM? Malplena por UTF-8 aŭ latin-1. Bezonas iconv-aldonaĵon.'; $lang['real_primarygroup'] = 'Ĉu trovi la veran ĉefan grupon anstataŭ supozi "Domajnuzantoj" (pli malrapida)?'; $lang['use_ssl'] = 'Ĉu uzi SSL-konekton? Se jes, ne aktivigu TLS sube.'; $lang['use_tls'] = 'Ĉu uzi TLS-konekton? Se jes, ne aktivigu SSL supre.'; diff --git a/lib/plugins/authad/lang/ko/settings.php b/lib/plugins/authad/lang/ko/settings.php index 2914bf47b..053823508 100644 --- a/lib/plugins/authad/lang/ko/settings.php +++ b/lib/plugins/authad/lang/ko/settings.php @@ -11,6 +11,7 @@ $lang['domain_controllers'] = '도메인 컨트롤러의 쉼표로 구분한 $lang['admin_username'] = '다른 모든 사용자의 데이터에 접근할 수 있는 권한이 있는 Active Directory 사용자. 선택적이지만 구독 메일을 보내는 등의 특정 작업에 필요합니다.'; $lang['admin_password'] = '위 사용자의 비밀번호.'; $lang['sso'] = 'Kerberos나 NTLM을 통해 Single-Sign-On을 사용해야 합니까?'; +$lang['sso_charset'] = '당신의 웹서버의 문자집합은 Kerberos나 NTLM 사용자 이름으로 전달됩니다. UTF-8이나 라린-1이 비어 있습니다. icov 확장 기능이 필요합니다.'; $lang['real_primarygroup'] = '실제 기본 그룹은 "도메인 사용자"를 가정하는 대신 해결될 것입니다 (느림)'; $lang['use_ssl'] = 'SSL 연결을 사용합니까? 사용한다면 아래 TLS을 활성화하지 마세요.'; $lang['use_tls'] = 'TLS 연결을 사용합니까? 사용한다면 위 SSL을 활성화하지 마세요.'; diff --git a/lib/plugins/authad/lang/ru/settings.php b/lib/plugins/authad/lang/ru/settings.php index f849c201a..6854e0920 100644 --- a/lib/plugins/authad/lang/ru/settings.php +++ b/lib/plugins/authad/lang/ru/settings.php @@ -5,5 +5,9 @@ * * @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua) * @author Aleksandr Selivanov <alexgearbox@gmail.com> + * @author Artur <ncuxxx@gmail.com> */ $lang['admin_password'] = 'Пароль для указанного пользователя.'; +$lang['sso'] = 'Использовать SSO (Single-Sign-On) через Kerberos или NTLM?'; +$lang['use_ssl'] = 'Использовать SSL? Если да, то не включайте TLS.'; +$lang['use_tls'] = 'Использовать TLS? Если да, то не включайте SSL.'; diff --git a/lib/plugins/authad/lang/sk/settings.php b/lib/plugins/authad/lang/sk/settings.php index 55f266dd6..b7d822f7e 100644 --- a/lib/plugins/authad/lang/sk/settings.php +++ b/lib/plugins/authad/lang/sk/settings.php @@ -6,10 +6,15 @@ * @author Martin Michalek <michalek.dev@gmail.com> */ $lang['account_suffix'] = 'Prípona používateľského účtu. Napr. <code>@my.domain.org</code>'; +$lang['base_dn'] = 'Vaše base DN. Napr. <code>DC=my,DC=domain,DC=org</code>'; +$lang['domain_controllers'] = 'Zoznam doménových radičov oddelených čiarkou. Napr. <code>srv1.domain.org,srv2.domain.org</code>'; $lang['admin_username'] = 'Privilegovaný používateľ Active Directory s prístupom ku všetkým dátam ostatných používateľov. Nepovinné nastavenie, ale potrebné pre určité akcie ako napríklad zasielanie mailov o zmenách.'; $lang['admin_password'] = 'Heslo vyššie uvedeného používateľa.'; $lang['sso'] = 'Použiť Single-Sign-On cez Kerberos alebo NTLM?'; +$lang['sso_charset'] = 'Znaková sada, v ktorej bude webserver prenášať meno Kerberos or NTLM používateľa. Prázne pole znamená UTF-8 alebo latin-1. Vyžaduje iconv rozšírenie.'; +$lang['real_primarygroup'] = 'Použiť skutočnú primárnu skupinu používateľa namiesto "Doménoví používatelia" (pomalšie).'; $lang['use_ssl'] = 'Použiť SSL pripojenie? Ak áno, nepovoľte TLS nižšie.'; $lang['use_tls'] = 'Použiť TLS pripojenie? Ak áno, nepovoľte SSL vyššie.'; $lang['debug'] = 'Zobraziť doplňujúce ladiace informácie pri chybe?'; +$lang['expirywarn'] = 'Počet dní pred uplynutím platnosti hesla, počas ktorých používateľ dostáva upozornenie. 0 deaktivuje túto voľbu.'; $lang['additional'] = 'Zoznam dodatočných AD atribútov oddelených čiarkou získaných z údajov používateľa. Používané niektorými pluginmi.'; diff --git a/lib/plugins/authldap/auth.php b/lib/plugins/authldap/auth.php index de1332282..31e2c5135 100644 --- a/lib/plugins/authldap/auth.php +++ b/lib/plugins/authldap/auth.php @@ -166,7 +166,7 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { // be accessible anonymously, so we try to rebind the current user here list($loginuser, $loginsticky, $loginpass) = auth_getCookie(); if($loginuser && $loginpass) { - $loginpass = PMA_blowfish_decrypt($loginpass, auth_cookiesalt(!$loginsticky)); + $loginpass = auth_decrypt($loginpass, auth_cookiesalt(!$loginsticky, true)); $this->checkPass($loginuser, $loginpass); } } diff --git a/lib/plugins/authldap/lang/da/settings.php b/lib/plugins/authldap/lang/da/settings.php index a3558aa5c..b736504a5 100644 --- a/lib/plugins/authldap/lang/da/settings.php +++ b/lib/plugins/authldap/lang/da/settings.php @@ -4,6 +4,12 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Jens Hyllegaard <jens.hyllegaard@gmail.com> + * @author soer9648 <soer9648@eucl.dk> */ $lang['server'] = 'Din LDAP server. Enten værtsnavn (<code>localhost</code>) eller fuld kvalificeret URL (<code>ldap://server.tld:389</code>)'; +$lang['port'] = 'LDAP server port, hvis der ikke er angivet en komplet URL ovenfor.'; +$lang['usertree'] = 'Hvor findes brugerkonti. F.eks. <code>ou=Personer, dc=server, dc=tld</code>'; +$lang['grouptree'] = 'Hvor findes brugergrupper. F.eks. <code>ou=Grupper, dc=server, dc=tld</code>'; +$lang['starttls'] = 'Benyt TLS forbindelser?'; +$lang['bindpw'] = 'Kodeord til ovenstående bruger'; $lang['debug'] = 'Vis yderligere debug output ved fejl'; diff --git a/lib/plugins/authldap/lang/ko/settings.php b/lib/plugins/authldap/lang/ko/settings.php index 5c5341b31..ae8dc7ab6 100644 --- a/lib/plugins/authldap/lang/ko/settings.php +++ b/lib/plugins/authldap/lang/ko/settings.php @@ -17,8 +17,8 @@ $lang['referrals'] = '참고(referrals)를 허용하겠습니까? '; $lang['deref'] = '어떻게 별명을 간접 참고하겠습니까?'; $lang['binddn'] = '익명 바인드가 충분하지 않으면 선택적인 바인드 사용자의 DN. 예를 들어 <code>cn=admin, dc=my, dc=home</code>'; $lang['bindpw'] = '위 사용자의 비밀번호'; -$lang['userscope'] = '사용자 찾기에 대한 찾기 범위 제한'; -$lang['groupscope'] = '그룹 찾기에 대한 찾기 범위 제한'; +$lang['userscope'] = '사용자 검색에 대한 검색 범위 제한'; +$lang['groupscope'] = '그룹 검색에 대한 검색 범위 제한'; $lang['groupkey'] = '(표준 AD 그룹 대신) 사용자 속성에서 그룹 구성원. 예를 들어 부서나 전화에서 그룹'; $lang['debug'] = '오류에 대한 추가적인 디버그 정보를 보이기'; $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; diff --git a/lib/plugins/authldap/lang/sk/settings.php b/lib/plugins/authldap/lang/sk/settings.php index 48bd37395..c44f07e97 100644 --- a/lib/plugins/authldap/lang/sk/settings.php +++ b/lib/plugins/authldap/lang/sk/settings.php @@ -13,7 +13,13 @@ $lang['userfilter'] = 'LDAP filter pre vyhľadávanie používateľsk $lang['groupfilter'] = 'LDAP filter pre vyhľadávanie skupín. Napr. <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; $lang['version'] = 'Použitá verzia protokolu. Možno bude potrebné nastaviť na hodnotu <code>3</code>'; $lang['starttls'] = 'Použiť TLS pripojenie?'; +$lang['referrals'] = 'Majú byť nasledované odkazy na používateľov (referrals)?'; +$lang['deref'] = 'Ako previesť aliasy?'; +$lang['binddn'] = 'DN prípadného priradenia používateľa, ak anonymné priradenie nie je dostatočné. Napr. <code>cn=admin, dc=my, dc=home</code>'; $lang['bindpw'] = 'Heslo vyššie uvedeného používateľa'; +$lang['userscope'] = 'Obmedzenie oblasti pri vyhľadávaní používateľa'; +$lang['groupscope'] = 'Obmedzenie oblasti pri vyhľadávaní skupiny'; +$lang['groupkey'] = 'Príslušnost k skupine určená z daného atribútu používateľa (namiesto štandardnej AD skupiny) napr. skupiny podľa oddelenia alebo telefónneho čísla'; $lang['debug'] = 'Zobraziť doplňujúce ladiace informácie pri chybe'; $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; diff --git a/lib/plugins/authldap/lang/zh-tw/settings.php b/lib/plugins/authldap/lang/zh-tw/settings.php index d2513eeff..7e35ef632 100644 --- a/lib/plugins/authldap/lang/zh-tw/settings.php +++ b/lib/plugins/authldap/lang/zh-tw/settings.php @@ -1,5 +1,4 @@ <?php - /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * @@ -20,3 +19,8 @@ $lang['userscope'] = '限制使用者搜索的範圍'; $lang['groupscope'] = '限制群組搜索的範圍'; $lang['groupkey'] = '以其他使用者屬性 (而非標準 AD 群組) 來把使用者分組,例如以部門或電話號碼分類'; $lang['debug'] = '有錯誤時,顯示額外除錯資訊'; + +$lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; +$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; +$lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; +$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; diff --git a/lib/plugins/authmysql/lang/da/settings.php b/lib/plugins/authmysql/lang/da/settings.php index 207d0ff60..1e38cb6b4 100644 --- a/lib/plugins/authmysql/lang/da/settings.php +++ b/lib/plugins/authmysql/lang/da/settings.php @@ -2,10 +2,25 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Jens Hyllegaard <jens.hyllegaard@gmail.com> + * @author soer9648 <soer9648@eucl.dk> */ $lang['server'] = 'Din MySQL server'; +$lang['user'] = 'MySQL brugernavn'; +$lang['password'] = 'Kodeord til ovenstående bruger'; +$lang['database'] = 'Database der skal benyttes'; +$lang['charset'] = 'Tegnsæt benyttet i database'; +$lang['checkPass'] = 'SQL-sætning til at kontrollere kodeord'; +$lang['getUserInfo'] = 'SQL-sætning til at hente brugerinformation'; +$lang['getUsers'] = 'SQL-sætning til at liste alle brugere'; +$lang['addUser'] = 'SQL-sætning til at tilføje en ny bruger'; +$lang['addGroup'] = 'SQL-sætning til at tilføje en ny gruppe'; +$lang['addUserGroup'] = 'SQL-sætning til at tilføje en bruger til en eksisterende gruppe'; +$lang['delGroup'] = 'SQL-sætning til at fjerne en gruppe'; +$lang['delUser'] = 'SQL-sætning til at slette en bruger'; +$lang['delUserRefs'] = 'SQL-sætning til at fjerne en bruger fra alle grupper'; +$lang['updateUser'] = 'SQL-sætning til at opdatere en brugerprofil'; $lang['debug'] = 'Vis yderligere debug output'; $lang['debug_o_0'] = 'ingen'; $lang['debug_o_1'] = 'kun ved fejl'; diff --git a/lib/plugins/authmysql/lang/sk/settings.php b/lib/plugins/authmysql/lang/sk/settings.php index 8c52f905e..d7e8cb286 100644 --- a/lib/plugins/authmysql/lang/sk/settings.php +++ b/lib/plugins/authmysql/lang/sk/settings.php @@ -34,5 +34,9 @@ $lang['UpdateLogin'] = 'SQL podmienka pre aktualizáciu prihlasovacieh $lang['UpdatePass'] = 'SQL podmienka pre aktualizáciu hesla používateľa'; $lang['UpdateEmail'] = 'SQL podmienka pre aktualizáciu emailovej adresy používateľa'; $lang['UpdateName'] = 'SQL podmienka pre aktualizáciu mena a priezviska používateľa'; +$lang['UpdateTarget'] = 'Podmienka identifikácie používateľa pri aktualizácii'; $lang['delUserGroup'] = 'SQL príkaz pre vyradenie používateľa z danej skupiny'; $lang['getGroupID'] = 'SQL príkaz pre získanie primárneho kľúča skupiny'; +$lang['debug_o_0'] = 'žiadne'; +$lang['debug_o_1'] = 'iba pri chybách'; +$lang['debug_o_2'] = 'všetky SQL dopyty'; diff --git a/lib/plugins/authpgsql/lang/da/settings.php b/lib/plugins/authpgsql/lang/da/settings.php index 76c08a734..007174815 100644 --- a/lib/plugins/authpgsql/lang/da/settings.php +++ b/lib/plugins/authpgsql/lang/da/settings.php @@ -4,7 +4,19 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Jens Hyllegaard <jens.hyllegaard@gmail.com> + * @author soer9648 <soer9648@eucl.dk> */ $lang['server'] = 'Din PostgresSQL server'; $lang['port'] = 'Din PostgresSQL servers port'; +$lang['password'] = 'Kodeord til ovenstående bruger'; +$lang['database'] = 'Database der skal benyttes'; $lang['debug'] = 'Vis yderligere debug output'; +$lang['checkPass'] = 'SQL-sætning til at kontrollere kodeord'; +$lang['getUsers'] = 'SQL-sætning til at liste alle brugere'; +$lang['addUser'] = 'SQL-sætning til at tilføje en ny bruger'; +$lang['addGroup'] = 'SQL-sætning til at tilføje en ny gruppe'; +$lang['addUserGroup'] = 'SQL-sætning til at tilføje en bruger til en eksisterende gruppe'; +$lang['delGroup'] = 'SQL-sætning til at fjerne en gruppe'; +$lang['delUser'] = 'SQL-sætning til at slette en bruger'; +$lang['delUserRefs'] = 'SQL-sætning til at fjerne en bruger fra alle grupper'; +$lang['updateUser'] = 'SQL-sætning til at opdatere en brugerprofil'; diff --git a/lib/plugins/authpgsql/lang/sk/settings.php b/lib/plugins/authpgsql/lang/sk/settings.php index 9d656415d..861d1237d 100644 --- a/lib/plugins/authpgsql/lang/sk/settings.php +++ b/lib/plugins/authpgsql/lang/sk/settings.php @@ -33,5 +33,6 @@ $lang['UpdateLogin'] = 'SQL podmienka pre aktualizáciu prihlasovacieh $lang['UpdatePass'] = 'SQL podmienka pre aktualizáciu hesla používateľa'; $lang['UpdateEmail'] = 'SQL podmienka pre aktualizáciu emailovej adresy používateľa'; $lang['UpdateName'] = 'SQL podmienka pre aktualizáciu mena a priezviska používateľa'; +$lang['UpdateTarget'] = 'Podmienka identifikácie používateľa pri aktualizácii'; $lang['delUserGroup'] = 'SQL príkaz pre vyradenie používateľa z danej skupiny'; $lang['getGroupID'] = 'SQL príkaz pre získanie primárneho kľúča skupiny'; diff --git a/lib/plugins/config/lang/ko/lang.php b/lib/plugins/config/lang/ko/lang.php index ac52090e3..0cdaca90d 100644 --- a/lib/plugins/config/lang/ko/lang.php +++ b/lib/plugins/config/lang/ko/lang.php @@ -71,7 +71,7 @@ $lang['deaccent'] = '문서 이름을 지우는 방법'; $lang['useheading'] = '문서 이름으로 첫 문단 제목 사용'; $lang['sneaky_index'] = '기본적으로 도쿠위키는 색인 목록에 모든 이름공간을 보여줍니다. 이 옵션을 설정하면 사용자가 읽기 권한을 가지고 있지 않은 이름공간은 보여주지 않습니다. 접근 가능한 하위 이름공간을 보이지 않게 설정하면 자동으로 설정됩니다. 특정 ACL 설정은 색인 사용이 불가능하게 할 수도 있습니다.'; -$lang['hidepages'] = '사이트맵과 기타 자동 색인과 같은 찾기에서 정규 표현식과 일치하는 문서 숨기기'; +$lang['hidepages'] = '검색, 사이트맵과 기타 자동 색인에서 정규 표현식과 일치하는 문서 숨기기'; $lang['useacl'] = '접근 제어 목록 (ACL) 사용'; $lang['autopasswd'] = '자동으로 만들어진 비밀번호'; $lang['authtype'] = '인증 백-엔드'; @@ -137,7 +137,7 @@ $lang['gzip_output'] = 'xhml 내용 gzip 압축 사용'; $lang['compress'] = '최적화된 CSS, 자바스크립트 출력'; $lang['cssdatauri'] = '그림이 렌더링될 최대 용량 크기를 CSS에 규정해야 HTTP 요청 헤더 오버헤드 크기를 감소시킬 수 있습니다. 이 기술은 IE 7 이하에서는 작동하지 않습니다! <code>400</code>에서 <code>600</code> 정도면 좋은 효율을 가져옵니다. <code>0</code>로 지정할 경우 비활성화 됩니다.'; $lang['send404'] = '존재하지 않는 페이지에 대해 "HTTP 404/페이지를 찾을 수 없습니다" 응답'; -$lang['broken_iua'] = '설치된 시스템에서 ignore_user_abort 기능에 문제가 있습니까? 문제가 있다면 색인이 정상적으로 동작하지 않습니다. 이 기능이 IIS+PHP/CGI에서 문제가 있는 것으로 알려졌습니다. 자세한 정보는 <a href="http://bugs.dokuwiki.org/?do=details&task_id=852">버그 852</a>를 참고하시기 바랍니다.'; +$lang['broken_iua'] = '설치된 시스템에서 ignore_user_abort 기능에 문제가 있습니까? 문제가 있다면 검색 색인이 정상적으로 동작하지 않습니다. 이 기능이 IIS+PHP/CGI에서 문제가 있는 것으로 알려졌습니다. 자세한 정보는 <a href="http://bugs.dokuwiki.org/?do=details&task_id=852">버그 852</a>를 참고하시기 바랍니다.'; $lang['xsendfile'] = '웹 서버가 정적 파일을 제공하도록 X-Sendfile 헤더를 사용하겠습니까? 웹 서버가 이 기능을 지원해야 합니다.'; $lang['renderer_xhtml'] = '주 (xhtml) 위키 출력 처리기'; $lang['renderer__core'] = '%s (도쿠위키 내부)'; diff --git a/lib/plugins/plugin/lang/ar/lang.php b/lib/plugins/plugin/lang/ar/lang.php index a1a778131..aae58fdb9 100644 --- a/lib/plugins/plugin/lang/ar/lang.php +++ b/lib/plugins/plugin/lang/ar/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Arabic language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Yaman Hokan <always.smile.yh@hotmail.com> * @author Usama Akkad <uahello@gmail.com> * @author uahello@gmail.com diff --git a/lib/plugins/popularity/lang/ar/lang.php b/lib/plugins/popularity/lang/ar/lang.php index 481668505..c3e21868f 100644 --- a/lib/plugins/popularity/lang/ar/lang.php +++ b/lib/plugins/popularity/lang/ar/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Arabic language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Yaman Hokan <always.smile.yh@hotmail.com> * @author Usama Akkad <uahello@gmail.com> * @author uahello@gmail.com diff --git a/lib/plugins/revert/lang/ar/lang.php b/lib/plugins/revert/lang/ar/lang.php index a073c336d..27de54f16 100644 --- a/lib/plugins/revert/lang/ar/lang.php +++ b/lib/plugins/revert/lang/ar/lang.php @@ -1,10 +1,12 @@ <?php + /** - * Arabic language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Yaman Hokan <always.smile.yh@hotmail.com> * @author Usama Akkad <uahello@gmail.com> * @author uahello@gmail.com + * @author Ahmad Abd-Elghany <tolpa1@gmail.com> */ $lang['menu'] = 'مدير الاسترجاع'; $lang['filter'] = 'ابحث في الصفحات المتأذاة'; diff --git a/lib/plugins/revert/lang/ko/intro.txt b/lib/plugins/revert/lang/ko/intro.txt index 7aa618ba6..565aa4bbe 100644 --- a/lib/plugins/revert/lang/ko/intro.txt +++ b/lib/plugins/revert/lang/ko/intro.txt @@ -1,3 +1,3 @@ ====== 되돌리기 관리자 ====== -스팸 공격으로부터 자동으로 되돌리는데 이 페이지가 도움이 될 수 있습니다. 스팸 공격받은 문서 목록을 찾으려면 문자열을 입력하고(예를 들어 스팸 URL) 나서 찾은 문서가 스팸 공격을 받았는지 확인하고 되돌리세요.
\ No newline at end of file +스팸 공격으로부터 자동으로 되돌리는데 이 페이지가 도움이 될 수 있습니다. 스팸에 공격 받은 문서 목록을 찾으려면 검색어를 입력하고(예를 들어 스팸 URL) 나서 찾은 문서가 스팸 공격을 받았는지 확인하고 되돌리세요.
\ No newline at end of file diff --git a/lib/plugins/revert/lang/ko/lang.php b/lib/plugins/revert/lang/ko/lang.php index e63706960..5666100e9 100644 --- a/lib/plugins/revert/lang/ko/lang.php +++ b/lib/plugins/revert/lang/ko/lang.php @@ -11,7 +11,7 @@ * @author Myeongjin <aranet100@gmail.com> */ $lang['menu'] = '되돌리기 관리자'; -$lang['filter'] = '스팸 문서 찾기'; +$lang['filter'] = '스팸 문서 검색'; $lang['revert'] = '선택한 문서 되돌리기'; $lang['reverted'] = '%s 판을 %s 판으로 되돌림'; $lang['removed'] = '%s 제거됨'; diff --git a/lib/plugins/usermanager/lang/ar/lang.php b/lib/plugins/usermanager/lang/ar/lang.php index d4b891320..0a751e7fb 100644 --- a/lib/plugins/usermanager/lang/ar/lang.php +++ b/lib/plugins/usermanager/lang/ar/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Arabic language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Yaman Hokan <always.smile.yh@hotmail.com> * @author Usama Akkad <uahello@gmail.com> * @author uahello@gmail.com diff --git a/lib/plugins/usermanager/lang/da/lang.php b/lib/plugins/usermanager/lang/da/lang.php index 6b615b51d..47d7efea2 100644 --- a/lib/plugins/usermanager/lang/da/lang.php +++ b/lib/plugins/usermanager/lang/da/lang.php @@ -12,6 +12,7 @@ * @author rasmus@kinnerup.com * @author Michael Pedersen subben@gmail.com * @author Mikael Lyngvig <mikael@lyngvig.org> + * @author soer9648 <soer9648@eucl.dk> */ $lang['menu'] = 'Brugerstyring'; $lang['noauth'] = '(Brugervalidering er ikke tilgængelig)'; @@ -34,6 +35,11 @@ $lang['search'] = 'Søg'; $lang['search_prompt'] = 'Udfør søgning'; $lang['clear'] = 'Nulstil søgefilter'; $lang['filter'] = 'Filter'; +$lang['export_all'] = 'Eksportér Alle Brugere (CSV)'; +$lang['export_filtered'] = 'Eksportér Filtrerede Brugerliste (CSV)'; +$lang['import'] = 'Importér Nye Brugere'; +$lang['line'] = 'Linje nr.'; +$lang['error'] = 'Fejlmeddelelse'; $lang['summary'] = 'Viser brugerne %1$d-%2$d ud af %3$d fundne. %4$d brugere totalt.'; $lang['nonefound'] = 'Ingen brugere fundet. %d brugere totalt.'; $lang['delete_ok'] = '%d brugere slettet'; @@ -54,3 +60,15 @@ $lang['add_ok'] = 'Bruger tilføjet uden fejl.'; $lang['add_fail'] = 'Tilføjelse af bruger mislykkedes'; $lang['notify_ok'] = 'Meddelelse sendt'; $lang['notify_fail'] = 'Meddelelse kunne ikke sendes'; +$lang['import_userlistcsv'] = 'Brugerlistefil (CSV):'; +$lang['import_header'] = 'Nyeste Import - Fejl'; +$lang['import_success_count'] = 'Bruger-Import: %d brugere fundet, %d importeret med succes.'; +$lang['import_failure_count'] = 'Bruger-Import: %d fejlet. Fejl er listet nedenfor.'; +$lang['import_error_fields'] = 'Utilstrækkelige felter, fandt %d, påkrævet 4.'; +$lang['import_error_baduserid'] = 'Bruger-id mangler'; +$lang['import_error_badname'] = 'Ugyldigt navn'; +$lang['import_error_badmail'] = 'Ugyldig email-adresse'; +$lang['import_error_upload'] = 'Import Fejlet. CSV-filen kunne ikke uploades eller er tom.'; +$lang['import_error_readfail'] = 'Import Fejlet. Ikke muligt at læse uploadede fil.'; +$lang['import_error_create'] = 'Ikke muligt at oprette brugeren'; +$lang['import_notify_fail'] = 'Notifikationsmeddelelse kunne ikke sendes for importerede bruger %s, med emailen %s.'; diff --git a/lib/plugins/usermanager/lang/de/lang.php b/lib/plugins/usermanager/lang/de/lang.php index 21be74f71..d1b9b908b 100644 --- a/lib/plugins/usermanager/lang/de/lang.php +++ b/lib/plugins/usermanager/lang/de/lang.php @@ -2,7 +2,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> * @author Andreas Gohr <andi@splitbrain.org> * @author Michael Klier <chi@chimeric.de> @@ -20,6 +20,8 @@ * @author Matthias Schulte <dokuwiki@lupo49.de> * @author Sven <Svenluecke48@gmx.d> * @author christian studer <cstuder@existenz.ch> + * @author Ben Fey <benedikt.fey@beck-heun.de> + * @author Jonas Gröger <jonas.groeger@gmail.com> */ $lang['menu'] = 'Benutzerverwaltung'; $lang['noauth'] = '(Authentifizierungssystem nicht verfügbar)'; @@ -67,6 +69,8 @@ $lang['add_ok'] = 'Nutzer erfolgreich angelegt'; $lang['add_fail'] = 'Nutzer konnte nicht angelegt werden'; $lang['notify_ok'] = 'Benachrichtigungsmail wurde versandt'; $lang['notify_fail'] = 'Benachrichtigungsmail konnte nicht versandt werden'; +$lang['import_userlistcsv'] = 'Benutzerliste (CSV-Datei):'; +$lang['import_header'] = 'Letzte Fehler bei Import'; $lang['import_success_count'] = 'User-Import: %d User gefunden, %d erfolgreich importiert.'; $lang['import_failure_count'] = 'User-Import: %d fehlgeschlagen. Fehlgeschlagene User sind nachfolgend aufgelistet.'; $lang['import_error_fields'] = 'Unzureichende Anzahl an Feldern: %d gefunden, benötigt sind 4.'; @@ -77,3 +81,4 @@ $lang['import_error_upload'] = 'Import fehlgeschlagen. Die CSV-Datei konnte ni $lang['import_error_readfail'] = 'Import fehlgeschlagen. Die hochgeladene Datei konnte nicht gelesen werden.'; $lang['import_error_create'] = 'User konnte nicht angelegt werden'; $lang['import_notify_fail'] = 'Notifikation konnte nicht an den importierten Benutzer %s (E-Mail: %s) gesendet werden.'; +$lang['import_downloadfailures'] = 'Fehler als CSV-Datei zur Korrektur herunterladen'; diff --git a/lib/plugins/usermanager/lang/eo/lang.php b/lib/plugins/usermanager/lang/eo/lang.php index 4c4174339..ff7818e05 100644 --- a/lib/plugins/usermanager/lang/eo/lang.php +++ b/lib/plugins/usermanager/lang/eo/lang.php @@ -59,6 +59,8 @@ $lang['add_ok'] = 'La uzanto sukcese aldoniĝis'; $lang['add_fail'] = 'Ne eblis aldoni uzanton'; $lang['notify_ok'] = 'Avizanta mesaĝo sendiĝis'; $lang['notify_fail'] = 'La avizanta mesaĝo ne povis esti sendita'; +$lang['import_userlistcsv'] = 'Dosiero kun listo de uzantoj (CSV):'; +$lang['import_header'] = 'Plej lastaj Import-eraroj'; $lang['import_success_count'] = 'Uzant-importo: %d uzantoj trovataj, %d sukcese importitaj.'; $lang['import_failure_count'] = 'Uzant-importo: %d fiaskis. Fiaskoj estas sube listitaj.'; $lang['import_error_fields'] = 'Nesufiĉe da kampoj, ni trovis %d, necesas 4.'; @@ -69,3 +71,4 @@ $lang['import_error_upload'] = 'Importo fiaskis. La csv-dosiero ne povis esti $lang['import_error_readfail'] = 'Importo fiaskis. Ne eblas legi alŝutitan dosieron.'; $lang['import_error_create'] = 'Ne eblas krei la uzanton'; $lang['import_notify_fail'] = 'Averta mesaĝo ne povis esti sendata al la importita uzanto %s, kun retdreso %s.'; +$lang['import_downloadfailures'] = 'Elŝut-eraroj por korektado (CSV)'; diff --git a/lib/plugins/usermanager/lang/ko/lang.php b/lib/plugins/usermanager/lang/ko/lang.php index 1905fadc2..ccc7f9059 100644 --- a/lib/plugins/usermanager/lang/ko/lang.php +++ b/lib/plugins/usermanager/lang/ko/lang.php @@ -28,9 +28,9 @@ $lang['delete_selected'] = '선택 삭제'; $lang['edit'] = '편집'; $lang['edit_prompt'] = '이 사용자 편집'; $lang['modify'] = '바뀜 저장'; -$lang['search'] = '찾기'; -$lang['search_prompt'] = '찾기 실행'; -$lang['clear'] = '찾기 필터 재설정'; +$lang['search'] = '검색'; +$lang['search_prompt'] = '검색 수행'; +$lang['clear'] = '검색 필터 재설정'; $lang['filter'] = '필터'; $lang['export_all'] = '모든 사용자 목록 내보내기 (CSV)'; $lang['export_filtered'] = '필터된 사용자 목록 내보내기 (CSV)'; diff --git a/lib/plugins/usermanager/lang/zh-tw/import.txt b/lib/plugins/usermanager/lang/zh-tw/import.txt new file mode 100644 index 000000000..a6bb5f6ef --- /dev/null +++ b/lib/plugins/usermanager/lang/zh-tw/import.txt @@ -0,0 +1,9 @@ +===== 批次匯入使用者 ===== + +需提供 CSV 格式的使用者列表檔案(UTF-8 編碼)。 +每列至少 4 欄,依序為:帳號、姓名、電郵、群組。 +各欄以半形逗號 (,) 分隔,有半形逗號的字串可用半形雙引號 ("") 分開,引號可用反斜線 (\) 跳脫。 +重複的使用者帳號會自動忽略。 +如需要範例檔案,可用上面的「匯出使用者」取得。 + +系統會為成功匯入的使用者產生密碼並寄信通知。 diff --git a/lib/plugins/usermanager/lang/zh-tw/lang.php b/lib/plugins/usermanager/lang/zh-tw/lang.php index c7126bd1a..3fb6b6712 100644 --- a/lib/plugins/usermanager/lang/zh-tw/lang.php +++ b/lib/plugins/usermanager/lang/zh-tw/lang.php @@ -9,21 +9,26 @@ * @author Wayne San <waynesan@zerozone.tw> * @author Li-Jiun Huang <ljhuang.tw@gmai.com> * @author Cheng-Wei Chien <e.cwchien@gmail.com> - * @author Danny Lin <danny0838@pchome.com.tw> * @author Shuo-Ting Jian <shoting@gmail.com> * @author syaoranhinata@gmail.com * @author Ichirou Uchiki <syaoranhinata@gmail.com> * @author tsangho <ou4222@gmail.com> + * @author Danny Lin <danny0838@gmail.com> */ $lang['menu'] = '帳號管理器'; + +// custom language strings for the plugin $lang['noauth'] = '(帳號認證尚未開放)'; $lang['nosupport'] = '(尚不支援帳號管理)'; + $lang['badauth'] = '錯誤的認證機制'; + $lang['user_id'] = '帳號'; $lang['user_pass'] = '密碼'; $lang['user_name'] = '名稱'; $lang['user_mail'] = '電郵'; $lang['user_groups'] = '群組'; + $lang['field'] = '欄位'; $lang['value'] = '設定值'; $lang['add'] = '增加'; @@ -36,8 +41,12 @@ $lang['search'] = '搜尋'; $lang['search_prompt'] = '開始搜尋'; $lang['clear'] = '重設篩選條件'; $lang['filter'] = '篩選條件 (Filter)'; -$lang['import'] = '匯入新的用戶'; +$lang['export_all'] = '匯出所有使用者 (CSV)'; +$lang['export_filtered'] = '匯出篩選後的使用者列表 (CSV)'; +$lang['import'] = '匯入新使用者'; +$lang['line'] = '列號'; $lang['error'] = '錯誤訊息'; + $lang['summary'] = '顯示帳號 %1$d-%2$d,共 %3$d 筆符合。共有 %4$d 個帳號。'; $lang['nonefound'] = '找不到帳號。共有 %d 個帳號。'; $lang['delete_ok'] = '已刪除 %d 個帳號'; @@ -45,10 +54,13 @@ $lang['delete_fail'] = '%d 個帳號無法刪除。'; $lang['update_ok'] = '已更新該帳號'; $lang['update_fail'] = '無法更新該帳號'; $lang['update_exists'] = '無法變更帳號名稱 (%s) ,因為有同名帳號存在。其他修改則已套用。'; + $lang['start'] = '開始'; $lang['prev'] = '上一頁'; $lang['next'] = '下一頁'; $lang['last'] = '最後一頁'; + +// added after 2006-03-09 release $lang['edit_usermissing'] = '找不到選取的帳號,可能已被刪除或改為其他名稱。'; $lang['user_notify'] = '通知使用者'; $lang['note_notify'] = '通知信只會在指定使用者新密碼時寄送。'; @@ -58,4 +70,18 @@ $lang['add_ok'] = '已新增使用者'; $lang['add_fail'] = '無法新增使用者'; $lang['notify_ok'] = '通知信已寄出'; $lang['notify_fail'] = '通知信無法寄出'; -$lang['import_error_readfail'] = '會入錯誤,無法讀取已經上傳的檔案'; + +// import & errors +$lang['import_userlistcsv'] = '使用者列表檔案 (CSV): '; +$lang['import_header'] = '最近一次匯入 - 失敗'; +$lang['import_success_count'] = '使用者匯入:找到 %d 個使用者,已成功匯入 %d 個。'; +$lang['import_failure_count'] = '使用者匯入:%d 個匯入失敗,列出於下。'; +$lang['import_error_fields'] = '欄位不足,需要 4 個,找到 %d 個。'; +$lang['import_error_baduserid'] = '使用者帳號遺失'; +$lang['import_error_badname'] = '名稱不正確'; +$lang['import_error_badmail'] = '電郵位址不正確'; +$lang['import_error_upload'] = '匯入失敗,CSV 檔案內容空白或無法匯入。'; +$lang['import_error_readfail'] = '匯入錯誤,無法讀取上傳的檔案'; +$lang['import_error_create'] = '無法建立使用者'; +$lang['import_notify_fail'] = '通知訊息無法寄給已匯入的使用者 %s(電郵 %s)'; +$lang['import_downloadfailures'] = '下載失敗項的 CSV 檔案以供修正'; diff --git a/lib/tpl/dokuwiki/detail.php b/lib/tpl/dokuwiki/detail.php index c602830f7..ec846f6fd 100644 --- a/lib/tpl/dokuwiki/detail.php +++ b/lib/tpl/dokuwiki/detail.php @@ -110,26 +110,23 @@ header('X-UA-Compatible: IE=edge,chrome=1'); <ul> <?php $data = array(); + $data['view'] = 'detail'; // View in media manager; @todo: transfer logic to backend $imgNS = getNS($IMG); $authNS = auth_quickaclcheck("$imgNS:*"); if (($authNS >= AUTH_UPLOAD) && function_exists('media_managerURL')) { $mmURL = media_managerURL(array('ns' => $imgNS, 'image' => $IMG)); - $data['mediaManager'] = '<li><a href="'.$mmURL.'" class="mediaManager"><span>'.$lang['img_manager'].'</span></a></li>'; + $data['items']['mediaManager'] = '<li><a href="'.$mmURL.'" class="mediaManager"><span>'.$lang['img_manager'].'</span></a></li>'; } // Back to [ID]; @todo: transfer logic to backend - $data['img_backto'] = '<li><a href="'.wl($ID).'" class="back"><span>'.$lang['img_backto'].' '.$ID.'</span></a></li>'; + $data['items']['img_backto'] = '<li><a href="'.wl($ID).'" class="back"><span>'.$lang['img_backto'].' '.$ID.'</span></a></li>'; // the page tools can be amended through a custom plugin hook - // if you're deriving from this template and your design is close enough to - // the dokuwiki template you might want to trigger a DOKUWIKI event instead - // of using $conf['template'] here - $hook = 'TEMPLATE_'.strtoupper($conf['template']).'_PAGETOOLS_DISPLAY'; - $evt = new Doku_Event($hook, $data); + $evt = new Doku_Event('TEMPLATE_PAGETOOLS_DISPLAY', $data); if($evt->advise_before()){ - foreach($evt->data as $k => $html) echo $html; + foreach($evt->data['items'] as $k => $html) echo $html; } $evt->advise_after(); unset($data); diff --git a/lib/tpl/dokuwiki/main.php b/lib/tpl/dokuwiki/main.php index f6ca4ed86..3bc46406a 100644 --- a/lib/tpl/dokuwiki/main.php +++ b/lib/tpl/dokuwiki/main.php @@ -75,22 +75,21 @@ $showSidebar = $hasSidebar && ($ACT=='show'); <ul> <?php $data = array( - 'edit' => tpl_action('edit', 1, 'li', 1, '<span>', '</span>'), - 'revert' => tpl_action('revert', 1, 'li', 1, '<span>', '</span>'), - 'revisions' => tpl_action('revisions', 1, 'li', 1, '<span>', '</span>'), - 'backlink' => tpl_action('backlink', 1, 'li', 1, '<span>', '</span>'), - 'subscribe' => tpl_action('subscribe', 1, 'li', 1, '<span>', '</span>'), - 'top' => tpl_action('top', 1, 'li', 1, '<span>', '</span>') + 'view' => 'main', + 'items' => array( + 'edit' => tpl_action('edit', 1, 'li', 1, '<span>', '</span>'), + 'revert' => tpl_action('revert', 1, 'li', 1, '<span>', '</span>'), + 'revisions' => tpl_action('revisions', 1, 'li', 1, '<span>', '</span>'), + 'backlink' => tpl_action('backlink', 1, 'li', 1, '<span>', '</span>'), + 'subscribe' => tpl_action('subscribe', 1, 'li', 1, '<span>', '</span>'), + 'top' => tpl_action('top', 1, 'li', 1, '<span>', '</span>') + ) ); // the page tools can be amended through a custom plugin hook - // if you're deriving from this template and your design is close enough to - // the dokuwiki template you might want to trigger a DOKUWIKI event instead - // of using $conf['template'] here - $hook = 'TEMPLATE_'.strtoupper($conf['template']).'_PAGETOOLS_DISPLAY'; - $evt = new Doku_Event($hook, $data); + $evt = new Doku_Event('TEMPLATE_PAGETOOLS_DISPLAY', $data); if($evt->advise_before()){ - foreach($evt->data as $k => $html) echo $html; + foreach($evt->data['items'] as $k => $html) echo $html; } $evt->advise_after(); unset($data); diff --git a/lib/tpl/dokuwiki/style.ini b/lib/tpl/dokuwiki/style.ini index 897b6e6da..cc23c169f 100644 --- a/lib/tpl/dokuwiki/style.ini +++ b/lib/tpl/dokuwiki/style.ini @@ -2,7 +2,8 @@ ; for limitations of the ini format used here ; To extend this file or make changes to it, it is recommended to create -; a style.local.ini file to prevent losing any changes after an upgrade. +; a local conf/tpl/<template-folder-name>/style.ini file to prevent losing +; any changes after an upgrade. ; Please don't forget to copy the section your changes should be under ; (i.e. [stylesheets] or [replacements]) into that file as well. |