summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuy Brand <gb@unistra.fr>2013-11-18 20:48:03 +0100
committerGuy Brand <gb@unistra.fr>2013-11-18 20:48:03 +0100
commit9d6d3a45521ca9b4eecc9f264a6adfe12d2ed764 (patch)
treed87417a2562e14e40f21012a9e1ede2d159239c5
parent0f71b9e8c36a27b7e476b43879f1cf9636a9958e (diff)
parent14b3007921f7b66fc9e3621b861a3c83e7e9093c (diff)
downloadrpg-9d6d3a45521ca9b4eecc9f264a6adfe12d2ed764.tar.gz
rpg-9d6d3a45521ca9b4eecc9f264a6adfe12d2ed764.tar.bz2
Merge branch 'master' into stable
-rw-r--r--_test/tests/inc/fulltext_mediause.test.php7
-rw-r--r--_test/tests/lib/exe/css_at_import_less.test.php78
-rw-r--r--_test/tests/lib/exe/css_css_loadfile.test.php42
-rw-r--r--doku.php6
-rw-r--r--inc/RemoteAPICore.php6
-rw-r--r--inc/actions.php2
-rw-r--r--inc/compatibility.php36
-rw-r--r--inc/config_cascade.php3
-rw-r--r--inc/farm.php2
-rw-r--r--inc/html.php14
-rw-r--r--inc/lang/ar/lang.php12
-rw-r--r--inc/lang/da/lang.php2
-rw-r--r--inc/lang/de/lang.php2
-rw-r--r--inc/lang/en/lang.php5
-rw-r--r--inc/lang/eo/admin.txt2
-rw-r--r--inc/lang/eo/lang.php6
-rw-r--r--inc/lang/he/lang.php10
-rw-r--r--inc/lang/ko/lang.php20
-rw-r--r--inc/lang/ko/searchpage.txt4
-rw-r--r--inc/lang/nl/lang.php4
-rw-r--r--inc/lang/ru/lang.php1
-rw-r--r--inc/lang/sk/lang.php4
-rw-r--r--inc/lang/zh-tw/lang.php23
-rw-r--r--inc/load.php1
-rw-r--r--inc/media.php4
-rw-r--r--inc/pageutils.php3
-rw-r--r--inc/parser/metadata.php7
-rw-r--r--inc/template.php22
-rw-r--r--install.php10
-rw-r--r--lib/exe/css.php101
-rw-r--r--lib/exe/detail.php2
-rw-r--r--lib/images/_deprecated.txt12
-rw-r--r--lib/images/arrow_down.gifbin273 -> 0 bytes
-rw-r--r--lib/images/arrow_up.gifbin274 -> 0 bytes
-rw-r--r--lib/images/at.gifbin57 -> 0 bytes
-rw-r--r--lib/images/close.pngbin137 -> 0 bytes
-rw-r--r--lib/images/del.pngbin355 -> 0 bytes
-rw-r--r--lib/images/edit.gifbin142 -> 0 bytes
-rw-r--r--lib/images/list-minus.gifbin64 -> 0 bytes
-rw-r--r--lib/images/list-plus.gifbin67 -> 0 bytes
-rw-r--r--lib/images/pencil.pngbin391 -> 0 bytes
-rw-r--r--lib/plugins/acl/admin.php2
-rw-r--r--lib/plugins/acl/lang/ar/lang.php4
-rw-r--r--lib/plugins/authad/lang/de/settings.php5
-rw-r--r--lib/plugins/authad/lang/eo/settings.php2
-rw-r--r--lib/plugins/authad/lang/ko/settings.php1
-rw-r--r--lib/plugins/authad/lang/ru/settings.php4
-rw-r--r--lib/plugins/authad/lang/sk/settings.php5
-rw-r--r--lib/plugins/authldap/auth.php2
-rw-r--r--lib/plugins/authldap/lang/da/settings.php6
-rw-r--r--lib/plugins/authldap/lang/ko/settings.php4
-rw-r--r--lib/plugins/authldap/lang/sk/settings.php6
-rw-r--r--lib/plugins/authldap/lang/zh-tw/settings.php6
-rw-r--r--lib/plugins/authmysql/lang/da/settings.php17
-rw-r--r--lib/plugins/authmysql/lang/sk/settings.php4
-rw-r--r--lib/plugins/authpgsql/lang/da/settings.php12
-rw-r--r--lib/plugins/authpgsql/lang/sk/settings.php1
-rw-r--r--lib/plugins/config/lang/ko/lang.php4
-rw-r--r--lib/plugins/plugin/lang/ar/lang.php5
-rw-r--r--lib/plugins/popularity/lang/ar/lang.php5
-rw-r--r--lib/plugins/revert/lang/ar/lang.php6
-rw-r--r--lib/plugins/revert/lang/ko/intro.txt2
-rw-r--r--lib/plugins/revert/lang/ko/lang.php2
-rw-r--r--lib/plugins/usermanager/lang/ar/lang.php5
-rw-r--r--lib/plugins/usermanager/lang/da/lang.php18
-rw-r--r--lib/plugins/usermanager/lang/de/lang.php7
-rw-r--r--lib/plugins/usermanager/lang/eo/lang.php3
-rw-r--r--lib/plugins/usermanager/lang/ko/lang.php6
-rw-r--r--lib/plugins/usermanager/lang/zh-tw/import.txt9
-rw-r--r--lib/plugins/usermanager/lang/zh-tw/lang.php32
-rw-r--r--lib/tpl/dokuwiki/detail.php13
-rw-r--r--lib/tpl/dokuwiki/main.php23
-rw-r--r--lib/tpl/dokuwiki/style.ini3
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() {
diff --git a/doku.php b/doku.php
index b7d9ec0eb..f44e09aa8 100644
--- a/doku.php
+++ b/doku.php
@@ -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
deleted file mode 100644
index ff13b9585..000000000
--- a/lib/images/arrow_down.gif
+++ /dev/null
Binary files differ
diff --git a/lib/images/arrow_up.gif b/lib/images/arrow_up.gif
deleted file mode 100644
index d491c18db..000000000
--- a/lib/images/arrow_up.gif
+++ /dev/null
Binary files differ
diff --git a/lib/images/at.gif b/lib/images/at.gif
deleted file mode 100644
index 8bdf40d54..000000000
--- a/lib/images/at.gif
+++ /dev/null
Binary files differ
diff --git a/lib/images/close.png b/lib/images/close.png
deleted file mode 100644
index 4ccef0603..000000000
--- a/lib/images/close.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/del.png b/lib/images/del.png
deleted file mode 100644
index e59ded55f..000000000
--- a/lib/images/del.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/edit.gif b/lib/images/edit.gif
deleted file mode 100644
index a2a23de7b..000000000
--- a/lib/images/edit.gif
+++ /dev/null
Binary files differ
diff --git a/lib/images/list-minus.gif b/lib/images/list-minus.gif
deleted file mode 100644
index 36902f159..000000000
--- a/lib/images/list-minus.gif
+++ /dev/null
Binary files differ
diff --git a/lib/images/list-plus.gif b/lib/images/list-plus.gif
deleted file mode 100644
index adc3fac8a..000000000
--- a/lib/images/list-plus.gif
+++ /dev/null
Binary files differ
diff --git a/lib/images/pencil.png b/lib/images/pencil.png
deleted file mode 100644
index 78142b61e..000000000
--- a/lib/images/pencil.png
+++ /dev/null
Binary files differ
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>(&amp;(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&amp;task_id=852">버그 852</a>를 참고하시기 바랍니다.';
+$lang['broken_iua'] = '설치된 시스템에서 ignore_user_abort 기능에 문제가 있습니까? 문제가 있다면 검색 색인이 정상적으로 동작하지 않습니다. 이 기능이 IIS+PHP/CGI에서 문제가 있는 것으로 알려졌습니다. 자세한 정보는 <a href="http://bugs.dokuwiki.org/?do=details&amp;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.