diff --git a/.editorconfig b/.editorconfig index 9088a165761ee325a61054c3d32c17409ddec5ca..d88e75a283fa0f7569a9c561ba784c11fbffff7e 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,15 +1,19 @@ ; http://editorconfig.org/ +root = true + [*] indent_style = space indent_size = 4 +end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true -[inc/{geshi,phpseclib}/**] +[{vendor,inc/phpseclib}/**] ; Use editor default (possible autodetection). indent_style = indent_size = -trim_trailing_whitespace = false -insert_final_newline = false +end_of_line = +trim_trailing_whitespace = +insert_final_newline = diff --git a/.gitattributes b/.gitattributes index 1012087d4713eeeed96628ad8638ad419115f81a..6beb1fb7a7b4a9e58415a5d82f6ab073654e51a3 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9,6 +9,8 @@ .gitignore export-ignore .editorconfig export-ignore .travis.yml export-ignore +composer.json export-ignore +composer.lock export-ignore _test export-ignore _cs export-ignore lib/plugins/testing export-ignore diff --git a/.gitignore b/.gitignore index bb39ba7cf6b011a3875a25b80594da199a27b92a..7410ee1c3e71bd8e654216c86323551491589fe9 100644 --- a/.gitignore +++ b/.gitignore @@ -47,6 +47,7 @@ !/lib/plugins/popularity !/lib/plugins/revert !/lib/plugins/safefnrecode +!/lib/plugins/styling !/lib/plugins/testing !/lib/plugins/usermanager !/lib/plugins/action.php @@ -56,3 +57,17 @@ !/lib/plugins/remote.php !/lib/plugins/syntax.php lib/images/*/local/* + +# composer default ignores +composer.phar +vendor/bin/* +vendor/*/*/phpunit.xml +vendor/*/*/.travis.yml +vendor/*/*/bin/* +vendor/*/*/tests/* +vendor/*/*/test/* +vendor/*/*/doc/* +vendor/*/*/docs/* +vendor/*/*/contrib/* +vendor/splitbrain/php-archive/apigen.neon +vendor/splitbrain/php-archive/generate-api.sh diff --git a/.htaccess.dist b/.htaccess.dist index 5724a6e04423c4d576e8745a7805397c23e70fbe..1d2bd418e61468fc3bf1c07186f5af5379d6ea87 100644 --- a/.htaccess.dist +++ b/.htaccess.dist @@ -6,10 +6,20 @@ ## make sure nobody gets the htaccess, README, COPYING or VERSION files <Files ~ "^([\._]ht|README$|VERSION$|COPYING$)"> - Order allow,deny - Deny from all + <IfModule mod_authz_host> + Require all denied + </IfModule> + <IfModule !mod_authz_host> + Order allow,deny + Deny from all + </IfModule> </Files> +## Don't allow access to git directories +<IfModule alias_module> + RedirectMatch 404 /\.git +</IfModule> + ## Uncomment these rules if you want to have nice URLs using ## $conf['userewrite'] = 1 - not needed for rewrite mode 2 #RewriteEngine on diff --git a/.travis.yml b/.travis.yml index 0bef94048a76ee509d9827ccec573e8979ae1f0a..a0aa152964ca53c030b565e2d011b7c5704ce566 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,16 +1,23 @@ language: php +sudo: false php: + - "7.0" - "5.6" - "5.5" - "5.4" - "5.3" + - "hhvm" +env: + - DISABLE_FUNCTIONS= + - DISABLE_FUNCTIONS="gzopen" +matrix: + allow_failures: + - php: "hhvm" notifications: irc: channels: - "chat.freenode.net#dokuwiki" on_success: change on_failure: change -install: - - wget https://phar.phpunit.de/phpunit-4.3.5.phar -O _test/phpunit - - chmod 755 _test/phpunit -script: cd _test && ./phpunit --verbose --stderr +before_script: echo "disable_functions=$DISABLE_FUNCTIONS" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini +script: cd _test && phpunit --verbose --stderr diff --git a/README b/README index 35de49ab1a53cde70564483400ba5eea94fb351f..1611a6df16b236f2040c5b5409629bf72f6cd4fb 100644 --- a/README +++ b/README @@ -4,7 +4,7 @@ at http://www.dokuwiki.org/ For Installation Instructions see http://www.dokuwiki.org/install -DokuWiki - 2004-2014 (c) Andreas Gohr <andi@splitbrain.org> +DokuWiki - 2004-2015 (c) Andreas Gohr <andi@splitbrain.org> and the DokuWiki Community See COPYING and file headers for license info diff --git a/_cs/DokuWiki/Sniffs/PHP/DeprecatedFunctionsSniff.php b/_cs/DokuWiki/Sniffs/PHP/DeprecatedFunctionsSniff.php index c5d14377b4250a28f7620a30a6d6a72f4e1322e3..c15a5be021f4be1f7bad656aa5030fab8e4983e7 100644 --- a/_cs/DokuWiki/Sniffs/PHP/DeprecatedFunctionsSniff.php +++ b/_cs/DokuWiki/Sniffs/PHP/DeprecatedFunctionsSniff.php @@ -39,7 +39,7 @@ class DokuWiki_Sniffs_PHP_DeprecatedFunctionsSniff extends Generic_Sniffs_PHP_Fo * * @var array(string => string|null) */ - protected $forbiddenFunctions = array( + public $forbiddenFunctions = array( 'setCorrectLocale' => null, 'html_attbuild' => 'buildAttributes', 'io_runcmd' => null, diff --git a/_cs/DokuWiki/Sniffs/PHP/DiscouragedFunctionsSniff.php b/_cs/DokuWiki/Sniffs/PHP/DiscouragedFunctionsSniff.php index 9cd9a7d36f2fd82a1aa5e62259534b593cffa8db..bd51b11662e45517e8ae5a1ba6f0794f8d0831a3 100644 --- a/_cs/DokuWiki/Sniffs/PHP/DiscouragedFunctionsSniff.php +++ b/_cs/DokuWiki/Sniffs/PHP/DiscouragedFunctionsSniff.php @@ -39,7 +39,7 @@ class DokuWiki_Sniffs_PHP_DiscouragedFunctionsSniff extends Generic_Sniffs_PHP_F * * @var array(string => string|null) */ - protected $forbiddenFunctions = array( + public $forbiddenFunctions = array( 'date' => 'dformat', 'strftime' => 'dformat', ); diff --git a/_test/data/media/wiki/dokuwiki-128.png b/_test/data/media/wiki/dokuwiki-128.png index b2306ac9571f39c6f30c0a5967e5b520415b3d80..f3f1d66bd752d6874220fa4d35415ea97de79774 100644 Binary files a/_test/data/media/wiki/dokuwiki-128.png and b/_test/data/media/wiki/dokuwiki-128.png differ diff --git a/_test/data/media/wiki/kind_zu_katze.png b/_test/data/media/wiki/kind_zu_katze.png index a5c151e3faba898ad17894334061b9644fdd2e69..e0eee61bc43f5e7626bdc823b52ddeea25641ac7 100644 Binary files a/_test/data/media/wiki/kind_zu_katze.png and b/_test/data/media/wiki/kind_zu_katze.png differ diff --git a/_test/phpunit.xml b/_test/phpunit.xml index 25506b1ae3ff9eceffc47a18968dc0935a32dc06..6e250974994328d140c9926f6513562ee6b25203 100644 --- a/_test/phpunit.xml +++ b/_test/phpunit.xml @@ -18,6 +18,12 @@ </testsuite> </testsuites> + <groups> + <exclude> + <group>flaky</group> + </exclude> + </groups> + <filter> <whitelist addUncoveredFilesFromWhitelist="false"> <directory suffix=".php">../</directory> diff --git a/_test/tests/general/general_languagelint.php b/_test/tests/general/general_languagelint.test.php similarity index 100% rename from _test/tests/general/general_languagelint.php rename to _test/tests/general/general_languagelint.test.php diff --git a/_test/tests/inc/auth_password.test.php b/_test/tests/inc/auth_password.test.php index 07b9f5bb208fe727adaaccd3e8ef4530cb8ec756..5067e2ca1acf23fb26bf3972b022d91e190632dc 100644 --- a/_test/tests/inc/auth_password.test.php +++ b/_test/tests/inc/auth_password.test.php @@ -16,9 +16,16 @@ class auth_password_test extends DokuWikiTest { 'kmd5' => 'a579299436d7969791189acadd86fcb716', 'djangomd5' => 'md5$abcde$d0fdddeda8cd92725d2b54148ac09158', 'djangosha1' => 'sha1$abcde$c8e65a7f0acc9158843048a53dcc5a6bc4d17678', - 'sha512' => '$6$abcdefgh12345678$J9.zOcgx0lotwZdcz0uulA3IVQMinZvFZVjA5vapRLVAAqtay23XD4xeeUxQ3B4JvDWYFBIxVWW1tOYlHX13k1' + ); + function __construct() { + if(defined('CRYPT_SHA512') && CRYPT_SHA512 == 1) { + // Check SHA512 only if available in this PHP + $this->passes['sha512'] = '$6$abcdefgh12345678$J9.zOcgx0lotwZdcz0uulA3IVQMinZvFZVjA5vapRLVAAqtay23XD4xeeUxQ3B4JvDWYFBIxVWW1tOYlHX13k1'; + } + } + function test_cryptPassword(){ foreach($this->passes as $method => $hash){ diff --git a/_test/tests/inc/cache_use.test.php b/_test/tests/inc/cache_use.test.php index 3ea212d50911b0db8a8df4c3f187d88c72e817bf..c0c12580a2a240a33e4ba083f5df8fd5dcb00a67 100644 --- a/_test/tests/inc/cache_use.test.php +++ b/_test/tests/inc/cache_use.test.php @@ -4,6 +4,8 @@ * Class cache_use_test * * Tests if caching can actually be used + * + * @todo tests marked as flaky until Ticket #694 has been fixed */ class cache_use_test extends DokuWikiTest { /** @var cache_renderer $cache */ @@ -28,18 +30,11 @@ class cache_use_test extends DokuWikiTest { touch($this->cache->cache, $time); } - function test_use() { - $this->markTestSkipped('Disabled until Ticket #694 has been fixed'); - return; - - $this->assertTrue($this->cache->useCache()); - } - /** * In all the following tests the cache should not be usable * as such, they are meaningless if test_use didn't pass. * - * @depends test_use + * @group flaky */ function test_purge() { /* @var Input $INPUT */ @@ -51,7 +46,7 @@ class cache_use_test extends DokuWikiTest { } /** - * @depends test_use + * @group flaky */ function test_filedependency() { // give the dependent src file the same mtime as the cache @@ -60,7 +55,7 @@ class cache_use_test extends DokuWikiTest { } /** - * @depends test_use + * @group flaky */ function test_age() { // need to age both our source file & the cache @@ -74,7 +69,7 @@ class cache_use_test extends DokuWikiTest { } /** - * @depends test_use + * @group flaky */ function test_confnocaching() { global $conf; @@ -83,4 +78,4 @@ class cache_use_test extends DokuWikiTest { $this->assertFalse($this->cache->useCache()); $this->assertNotEmpty($this->cache->_nocache); } -} \ No newline at end of file +} diff --git a/_test/tests/inc/common_blank.test.php b/_test/tests/inc/common_blank.test.php new file mode 100644 index 0000000000000000000000000000000000000000..9df35936a2905dc21f29ebe6c2426eb3f1c00eee --- /dev/null +++ b/_test/tests/inc/common_blank.test.php @@ -0,0 +1,52 @@ +<?php + +class common_blank_test extends DokuWikiTest { + + private $nope; + + function test_blank() { + $tests = array( + // these are not blank + array('string', false), + array(1, false), + array(1.0, false), + array(0xff, false), + array(array('something'), false), + + // these aren't either! + array('0', false), + array(' ', false), + array('0.0', false), + array(0, false), + array(0.0, false), + array(0x00, false), + array(true, false), + + // but these are + array('', true), + array(array(), true), + array(null, true), + array(false, true), + array("\0", true) + ); + + foreach($tests as $test) { + $this->assertEquals($test[1], blank($test[0]), "using " . var_export($test[0], true)); + } + } + + function test_trim() { + $whitespace = " \t\r\n"; + $this->assertFalse(blank($whitespace), "using default \$trim value"); + $this->assertFalse(blank($whitespace, false), "using \$trim = false"); + $this->assertTrue(blank($whitespace, true), "using \$trim = true"); + } + + function test_undefined() { + $undef = array(); + $this->assertTrue(blank($var), "using undefined/unitialised variable"); + $this->assertTrue(blank($undef['nope']), "using undefined array index"); + $this->assertTrue(blank($this->nope), "using unset object property"); + } + +} diff --git a/_test/tests/inc/common_saveWikiText.test.php b/_test/tests/inc/common_saveWikiText.test.php new file mode 100644 index 0000000000000000000000000000000000000000..800e20952be1f760d6195fa62b6a0a796aedf72e --- /dev/null +++ b/_test/tests/inc/common_saveWikiText.test.php @@ -0,0 +1,145 @@ +<?php + +class common_saveWikiText_test extends DokuWikiTest { + + /** + * Execute a whole bunch of saves on the same page and check the results + */ + function test_savesequence() { + global $REV; + + $page = 'page'; + $file = wikiFN($page); + + // create the page + $this->assertFileNotExists($file); + saveWikiText($page, 'teststring', 'first save', false); + $this->assertFileExists($file); + $lastmod = filemtime($file); + + $pagelog = new PageChangeLog($page); + $revisions = $pagelog->getRevisions(-1, 200); + $this->assertEquals(1, count($revisions)); + $revinfo = $pagelog->getRevisionInfo($revisions[0]); + $this->assertEquals('first save', $revinfo['sum']); + $this->assertEquals(DOKU_CHANGE_TYPE_CREATE, $revinfo['type']); + + sleep(1); // wait for new revision ID + + // save with same content should be ignored + saveWikiText($page, 'teststring', 'second save', false); + clearstatcache(false, $file); + $this->assertEquals($lastmod, filemtime($file)); + + $pagelog = new PageChangeLog($page); + $revisions = $pagelog->getRevisions(-1, 200); + $this->assertEquals(1, count($revisions)); + + // update the page with new text + saveWikiText($page, 'teststring2', 'third save', false); + clearstatcache(false, $file); + $newmod = filemtime($file); + $this->assertNotEquals($lastmod, $newmod); + $lastmod = $newmod; + + $pagelog = new PageChangeLog($page); + $revisions = $pagelog->getRevisions(-1, 200); + $this->assertEquals(2, count($revisions)); + $revinfo = $pagelog->getRevisionInfo($revisions[0]); + $this->assertEquals('third save', $revinfo['sum']); + $this->assertEquals(DOKU_CHANGE_TYPE_EDIT, $revinfo['type']); + + sleep(1); // wait for new revision ID + + // add a minor edit (unauthenticated) + saveWikiText($page, 'teststring3', 'fourth save', true); + clearstatcache(false, $file); + $newmod = filemtime($file); + $this->assertNotEquals($lastmod, $newmod); + $lastmod = $newmod; + + $pagelog = new PageChangeLog($page); + $revisions = $pagelog->getRevisions(-1, 200); + $this->assertEquals(3, count($revisions)); + $revinfo = $pagelog->getRevisionInfo($revisions[0]); + $this->assertEquals('fourth save', $revinfo['sum']); + $this->assertEquals(DOKU_CHANGE_TYPE_EDIT, $revinfo['type']); + + sleep(1); // wait for new revision ID + + // add a minor edit (authenticated) + $_SERVER['REMOTE_USER'] = 'user'; + saveWikiText($page, 'teststring4', 'fifth save', true); + clearstatcache(false, $file); + $newmod = filemtime($file); + $this->assertNotEquals($lastmod, $newmod); + $lastmod = $newmod; + + $pagelog = new PageChangeLog($page); + $revisions = $pagelog->getRevisions(-1, 200); + $this->assertEquals(4, count($revisions)); + $revinfo = $pagelog->getRevisionInfo($revisions[0]); + $this->assertEquals('fifth save', $revinfo['sum']); + $this->assertEquals(DOKU_CHANGE_TYPE_MINOR_EDIT, $revinfo['type']); + + sleep(1); // wait for new revision ID + + // delete + saveWikiText($page, '', 'sixth save', false); + clearstatcache(false, $file); + $this->assertFileNotExists($file); + + $pagelog = new PageChangeLog($page); + $revisions = $pagelog->getRevisions(-1, 200); + $this->assertEquals(5, count($revisions)); + $revinfo = $pagelog->getRevisionInfo($revisions[0]); + $this->assertEquals('sixth save', $revinfo['sum']); + $this->assertEquals(DOKU_CHANGE_TYPE_DELETE, $revinfo['type']); + + sleep(1); // wait for new revision ID + + // restore + $REV = $lastmod; + saveWikiText($page, 'teststring4', 'seventh save', true); + clearstatcache(false, $file); + $this->assertFileExists($file); + $newmod = filemtime($file); + $this->assertNotEquals($lastmod, $newmod); + $lastmod = $newmod; + + $pagelog = new PageChangeLog($page); + $revisions = $pagelog->getRevisions(-1, 200); + $this->assertEquals(6, count($revisions)); + $revinfo = $pagelog->getRevisionInfo($revisions[0]); + $this->assertEquals('seventh save', $revinfo['sum']); + $this->assertEquals(DOKU_CHANGE_TYPE_REVERT, $revinfo['type']); + $this->assertEquals($REV, $revinfo['extra']); + $REV = ''; + + sleep(1); // wait for new revision ID + + // create external edit + file_put_contents($file, 'teststring5'); + + sleep(1); // wait for new revision ID + + // save on top of external edit + saveWikiText($page, 'teststring6', 'eigth save', false); + clearstatcache(false, $file); + $newmod = filemtime($file); + $this->assertNotEquals($lastmod, $newmod); + $lastmod = $newmod; + + $pagelog = new PageChangeLog($page); + $revisions = $pagelog->getRevisions(-1, 200); + $this->assertEquals(8, count($revisions)); // two more revisions now! + $revinfo = $pagelog->getRevisionInfo($revisions[0]); + $this->assertEquals('eigth save', $revinfo['sum']); + $this->assertEquals(DOKU_CHANGE_TYPE_EDIT, $revinfo['type']); + + $revinfo = $pagelog->getRevisionInfo($revisions[1]); + $this->assertEquals('external edit', $revinfo['sum']); + $this->assertEquals(DOKU_CHANGE_TYPE_EDIT, $revinfo['type']); + + } +} diff --git a/_test/tests/inc/form/buttonelement.test.php b/_test/tests/inc/form/buttonelement.test.php new file mode 100644 index 0000000000000000000000000000000000000000..8e1a7e1e29234a389f6a97bb6ec17810ce78e44e --- /dev/null +++ b/_test/tests/inc/form/buttonelement.test.php @@ -0,0 +1,40 @@ +<?php + +use dokuwiki\Form; + +class form_buttonelement_test extends DokuWikiTest { + + function test_simple() { + $form = new Form\Form(); + $form->addButton('foo', 'Hello <b>World</b>')->val('bam')->attr('type', 'submit'); + + $html = $form->toHTML(); + $pq = phpQuery::newDocumentXHTML($html); + + $input = $pq->find('button[name=foo]'); + $this->assertTrue($input->length == 1); + $this->assertEquals('bam', $input->val()); + $this->assertEquals('submit', $input->attr('type')); + $this->assertEquals('Hello <b>World</b>', $input->text()); // tags were escaped + + $b = $input->find('b'); // no tags found + $this->assertTrue($b->length == 0); + } + + function test_html() { + $form = new Form\Form(); + $form->addButtonHTML('foo', 'Hello <b>World</b>')->val('bam')->attr('type', 'submit'); + + $html = $form->toHTML(); + $pq = phpQuery::newDocumentXHTML($html); + + $input = $pq->find('button[name=foo]'); + $this->assertTrue($input->length == 1); + $this->assertEquals('bam', $input->val()); + $this->assertEquals('submit', $input->attr('type')); + $this->assertEquals('Hello World', $input->text()); // tags are stripped here + + $b = $input->find('b'); // tags found + $this->assertTrue($b->length == 1); + } +} diff --git a/_test/tests/inc/form/checkableelement.test.php b/_test/tests/inc/form/checkableelement.test.php new file mode 100644 index 0000000000000000000000000000000000000000..e1491f6ece59c30fb2f74ea0ed52ab260d646f8a --- /dev/null +++ b/_test/tests/inc/form/checkableelement.test.php @@ -0,0 +1,51 @@ +<?php + +use dokuwiki\Form; + +class form_checkableelement_test extends DokuWikiTest { + + function test_defaults() { + $form = new Form\Form(); + $form->addRadioButton('foo', 'label text first')->val('first')->attr('checked', 'checked'); + $form->addRadioButton('foo', 'label text second')->val('second'); + + $html = $form->toHTML(); + $pq = phpQuery::newDocumentXHTML($html); + + $input = $pq->find('input[name=foo]'); + $this->assertTrue($input->length == 2); + + $label = $pq->find('label'); + $this->assertTrue($label->length == 2); + + $inputs = $pq->find('input[name=foo]'); + $this->assertEquals('first', pq($inputs->elements[0])->val()); + $this->assertEquals('second', pq($inputs->elements[1])->val()); + $this->assertEquals('checked', pq($inputs->elements[0])->attr('checked')); + $this->assertEquals('', pq($inputs->elements[1])->attr('checked')); + $this->assertEquals('radio', pq($inputs->elements[0])->attr('type')); + } + + /** + * check that posted values overwrite preset default + */ + function test_prefill() { + global $INPUT; + $INPUT->post->set('foo', 'second'); + + + $form = new Form\Form(); + $form->addRadioButton('foo', 'label text first')->val('first')->attr('checked', 'checked'); + $form->addRadioButton('foo', 'label text second')->val('second'); + + $html = $form->toHTML(); + $pq = phpQuery::newDocumentXHTML($html); + + $inputs = $pq->find('input[name=foo]'); + $this->assertEquals('first', pq($inputs->elements[0])->val()); + $this->assertEquals('second', pq($inputs->elements[1])->val()); + $this->assertEquals('', pq($inputs->elements[0])->attr('checked')); + $this->assertEquals('checked', pq($inputs->elements[1])->attr('checked')); + $this->assertEquals('radio', pq($inputs->elements[0])->attr('type')); + } +} diff --git a/_test/tests/inc/form/form.test.php b/_test/tests/inc/form/form.test.php new file mode 100644 index 0000000000000000000000000000000000000000..3ae832b2cd5d6f5aa81bb633a7a012d8209e91a9 --- /dev/null +++ b/_test/tests/inc/form/form.test.php @@ -0,0 +1,115 @@ +<?php + +use dokuwiki\Form; + +/** + * makes form internals accessible for testing + */ +class TestForm extends Form\Form { + /** + * @return array list of element types + */ + function getElementTypeList() { + $list = array(); + foreach($this->elements as $element) $list[] = $element->getType(); + return $list; + } + + public function balanceFieldsets() { + parent::balanceFieldsets(); + } + +} + +class form_form_test extends DokuWikiTest { + + /** + * checks that an empty form is initialized correctly + */ + function test_defaults() { + global $INPUT; + global $ID; + $ID = 'some:test'; + $INPUT->get->set('id', $ID); + $INPUT->get->set('foo', 'bar'); + + $form = new Form\Form(); + $html = $form->toHTML(); + $pq = phpQuery::newDocumentXHTML($html); + + $this->assertTrue($pq->find('form')->hasClass('doku_form')); + $this->assertEquals(wl($ID, array('foo' => 'bar'), false, '&'), $pq->find('form')->attr('action')); + $this->assertEquals('post', $pq->find('form')->attr('method')); + + $this->assertTrue($pq->find('input[name=sectok]')->length == 1); + } + + + function test_fieldsetbalance() { + $form = new TestForm(); + $form->addFieldsetOpen(); + $form->addHTML('ignored'); + $form->addFieldsetClose(); + $form->balanceFieldsets(); + + $this->assertEquals( + array( + 'fieldsetopen', + 'html', + 'fieldsetclose' + ), + $form->getElementTypeList() + ); + + $form = new TestForm(); + $form->addHTML('ignored'); + $form->addFieldsetClose(); + $form->balanceFieldsets(); + + $this->assertEquals( + array( + 'fieldsetopen', + 'html', + 'fieldsetclose' + ), + $form->getElementTypeList() + ); + + + $form = new TestForm(); + $form->addFieldsetOpen(); + $form->addHTML('ignored'); + $form->balanceFieldsets(); + + $this->assertEquals( + array( + 'fieldsetopen', + 'html', + 'fieldsetclose' + ), + $form->getElementTypeList() + ); + + $form = new TestForm(); + $form->addHTML('ignored'); + $form->addFieldsetClose(); + $form->addHTML('ignored'); + $form->addFieldsetOpen(); + $form->addHTML('ignored'); + $form->balanceFieldsets(); + + $this->assertEquals( + array( + 'fieldsetopen', + 'html', + 'fieldsetclose', + 'html', + 'fieldsetopen', + 'html', + 'fieldsetclose' + ), + $form->getElementTypeList() + ); + } + +} diff --git a/_test/tests/inc/form/inputelement.test.php b/_test/tests/inc/form/inputelement.test.php new file mode 100644 index 0000000000000000000000000000000000000000..3257d2a892a0ef700e6eec138c15633f12c01aa4 --- /dev/null +++ b/_test/tests/inc/form/inputelement.test.php @@ -0,0 +1,58 @@ +<?php + +use dokuwiki\Form; + +class form_inputelement_test extends DokuWikiTest { + + function test_defaults() { + $form = new Form\Form(); + $form->addTextInput('foo', 'label text')->val('this is text'); + + $html = $form->toHTML(); + $pq = phpQuery::newDocumentXHTML($html); + + $input = $pq->find('input[name=foo]'); + $this->assertTrue($input->length == 1); + $this->assertEquals('this is text', $input->val()); + $this->assertEquals('text', $input->attr('type')); + + $label = $pq->find('label'); + $this->assertTrue($label->length == 1); + $this->assertEquals('label text', $label->find('span')->text()); + } + + /** + * check that posted values overwrite preset default + */ + function test_prefill() { + global $INPUT; + $INPUT->post->set('foo', 'a new text'); + + $form = new Form\Form(); + $form->addTextInput('foo', 'label text')->val('this is text'); + + $html = $form->toHTML(); + $pq = phpQuery::newDocumentXHTML($html); + + $input = $pq->find('input[name=foo]'); + $this->assertTrue($input->length == 1); + $this->assertEquals('a new text', $input->val()); + } + + function test_password() { + $form = new Form\Form(); + $form->addPasswordInput('foo', 'label text')->val('this is text'); + + $html = $form->toHTML(); + $pq = phpQuery::newDocumentXHTML($html); + + $input = $pq->find('input[name=foo]'); + $this->assertTrue($input->length == 1); + $this->assertEquals('this is text', $input->val()); + $this->assertEquals('password', $input->attr('type')); + + $label = $pq->find('label'); + $this->assertTrue($label->length == 1); + $this->assertEquals('label text', $label->find('span')->text()); + } +} diff --git a/_test/tests/inc/form_form.test.php b/_test/tests/inc/form_form.test.php index 02242a807ff64812fee492bf386da13d0e9778d4..7f168b89583cfcabae0222368e971c5d55e881aa 100644 --- a/_test/tests/inc/form_form.test.php +++ b/_test/tests/inc/form_form.test.php @@ -30,9 +30,9 @@ class form_test extends DokuWikiTest { $realoutput .= '<input type="checkbox" id="check__id" name="r" value="1" /> '; $realoutput .= '<span>Check</span></label>'; $realoutput .= "\n"; - $realoutput .= '<input name="do[save]" type="submit" value="Save" class="button" accesskey="s" title="Save [S]" />'; + $realoutput .= '<button name="do[save]" type="submit" accesskey="s" title="Save [S]">Save</button>'; $realoutput .= "\n"; - $realoutput .= '<input name="do[cancel]" type="submit" value="Cancel" class="button" />'; + $realoutput .= '<button name="do[cancel]" type="submit">Cancel</button>'; $realoutput .= "\n"; $realoutput .= "</fieldset>\n</div></form>\n"; return $realoutput; diff --git a/_test/tests/inc/httpclient_http.test.php b/_test/tests/inc/httpclient_http.test.php index 3446e1184399ae6321a5d33abcee7293c6b78195..94b8e1bc10c86e4762ed09ac678f5306168bbf5b 100644 --- a/_test/tests/inc/httpclient_http.test.php +++ b/_test/tests/inc/httpclient_http.test.php @@ -289,6 +289,7 @@ class httpclient_http_test extends DokuWikiTest { * This address caused trouble with stream_select() * * @group internet + * @group flaky */ function test_wikimatrix(){ $http = new HTTPMockClient(); diff --git a/_test/tests/inc/httpclient_http_proxy.test.php b/_test/tests/inc/httpclient_http_proxy.test.php index c44dc7ed71215d82bf1da682a49b973e9c685826..dae801dbd751900de10dcfe44896e49f1fa2b354 100644 --- a/_test/tests/inc/httpclient_http_proxy.test.php +++ b/_test/tests/inc/httpclient_http_proxy.test.php @@ -3,7 +3,7 @@ require_once (__DIR__ . '/httpclient_mock.php'); class httpclient_http_proxy_test extends DokuWikiTest { - protected $url = 'http://test.dokuwiki.org/README'; + protected $url = 'http://httpbin.org/user-agent'; /** * @group internet @@ -15,7 +15,7 @@ class httpclient_http_proxy_test extends DokuWikiTest { $http->proxy_port = 8080; $data = $http->get($this->url); - $this->assertFalse($data === false, 'HTTP response '.$http->error); + $this->assertFalse($data === false, 'HTTP response: '.$http->error.' ['.$this->url.']'); $this->assertTrue(strpos($data,'DokuWiki') !== false, 'response content'); } } \ No newline at end of file diff --git a/_test/tests/inc/httpclient_https_proxy.test.php b/_test/tests/inc/httpclient_https_proxy.test.php index 9402e91af5464c55690615b44712c8c73b743d3d..cf5b9a8b933f4f5db18a1759c62122d3c8c2c184 100644 --- a/_test/tests/inc/httpclient_https_proxy.test.php +++ b/_test/tests/inc/httpclient_https_proxy.test.php @@ -2,7 +2,7 @@ require_once dirname(__FILE__).'/httpclient_http_proxy.test.php'; class httpclient_https_proxy_test extends httpclient_http_proxy_test { - protected $url = 'https://www.dokuwiki.org/README'; + protected $url = 'https://httpbin.org/user-agent'; public function setUp(){ // skip tests when this PHP has no SSL support @@ -27,4 +27,4 @@ class httpclient_https_proxy_test extends httpclient_http_proxy_test { $this->assertFalse($data); $this->assertEquals(-150, $http->status); } -} \ No newline at end of file +} diff --git a/_test/tests/inc/io_deletefromfile.test.php b/_test/tests/inc/io_deletefromfile.test.php new file mode 100644 index 0000000000000000000000000000000000000000..e86150aac8a3864f0aca40ec266fd43ce77778ae --- /dev/null +++ b/_test/tests/inc/io_deletefromfile.test.php @@ -0,0 +1,15 @@ +<?php + +class io_deletefromfile_test extends DokuWikiTest { + + function test_delete(){ + $file = TMP_DIR.'/test.txt'; + $contents = "The\012Delete\012Delete01\012Delete02\012Delete\012DeleteX\012Test\012"; + io_saveFile($file, $contents); + $this->assertTrue(io_deleteFromFile($file, "Delete\012")); + $this->assertEquals("The\012Delete01\012Delete02\012DeleteX\012Test\012", io_readFile($file)); + $this->assertTrue(io_deleteFromFile($file, "#Delete\\d+\012#", true)); + $this->assertEquals("The\012DeleteX\012Test\012", io_readFile($file)); + } + +} diff --git a/_test/tests/inc/io_readfile.test.php b/_test/tests/inc/io_readfile.test.php new file mode 100644 index 0000000000000000000000000000000000000000..43bb7f80c90cf0437253912e18cd65d5d10bb898 --- /dev/null +++ b/_test/tests/inc/io_readfile.test.php @@ -0,0 +1,58 @@ +<?php + +class io_readfile_test extends DokuWikiTest { + + /* + * dependency for tests needing zlib extension to pass + */ + public function test_ext_zlib() { + if (!DOKU_HAS_GZIP) { + $this->markTestSkipped('skipping all zlib tests. Need zlib extension'); + } + } + + /* + * dependency for tests needing zlib extension to pass + */ + public function test_ext_bz2() { + if (!DOKU_HAS_BZIP) { + $this->markTestSkipped('skipping all bzip2 tests. Need bz2 extension'); + } + } + + function test_plain(){ + // since git converts line endings, we can't check in this test file but have to create it ourselves + $plain = TMP_DIR.'/test.txt'; + file_put_contents($plain, "The\015\012Test\015\012"); + + $this->assertEquals("The\012Test\012", io_readFile($plain)); + $this->assertEquals("The\015\012Test\015\012", io_readFile($plain, false)); + $this->assertEquals(false, io_readFile(__DIR__.'/io_readfile/nope.txt')); + } + + /** + * @depends test_ext_zlib + */ + function test_gzfiles(){ + $this->assertEquals("The\012Test\012", io_readFile(__DIR__.'/io_readfile/test.txt.gz')); + $this->assertEquals("The\015\012Test\015\012", io_readFile(__DIR__.'/io_readfile/test.txt.gz', false)); + $this->assertEquals(false, io_readFile(__DIR__.'/io_readfile/nope.txt.gz')); + $this->assertEquals(false, io_readFile(__DIR__.'/io_readfile/corrupt.txt.gz')); + } + + /** + * @depends test_ext_bz2 + */ + function test_bzfiles(){ + $this->assertEquals("The\012Test\012", io_readFile(__DIR__.'/io_readfile/test.txt.bz2')); + $this->assertEquals("The\015\012Test\015\012", io_readFile(__DIR__.'/io_readfile/test.txt.bz2', false)); + $this->assertEquals(false, io_readFile(__DIR__.'/io_readfile/nope.txt.bz2')); + $this->assertEquals(false, io_readFile(__DIR__.'/io_readfile/corrupt.txt.bz2')); + // internal bzfile function + $this->assertEquals(array("The\015\012","Test\015\012"), bzfile(__DIR__.'/io_readfile/test.txt.bz2', true)); + $this->assertEquals(array_fill(0, 120, str_repeat('a', 80)."\012"), bzfile(__DIR__.'/io_readfile/large.txt.bz2', true)); + $line = str_repeat('a', 8888)."\012"; + $this->assertEquals(array($line,"\012",$line,"!"), bzfile(__DIR__.'/io_readfile/long.txt.bz2', true)); + } + +} diff --git a/_test/tests/inc/io_readfile/corrupt.txt.bz2 b/_test/tests/inc/io_readfile/corrupt.txt.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..97f742919a339644f786b24fa745851a560e3cc4 --- /dev/null +++ b/_test/tests/inc/io_readfile/corrupt.txt.bz2 @@ -0,0 +1 @@ +BZh91AY&SYXHd¬ \ No newline at end of file diff --git a/_test/tests/inc/io_readfile/corrupt.txt.gz b/_test/tests/inc/io_readfile/corrupt.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..9d7666f47b76cc1075cbf80bbe597751af3ccf7e Binary files /dev/null and b/_test/tests/inc/io_readfile/corrupt.txt.gz differ diff --git a/_test/tests/inc/io_readfile/large.txt.bz2 b/_test/tests/inc/io_readfile/large.txt.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..3135435f82ed3e14ecd60b87af5b9d16f247f45a Binary files /dev/null and b/_test/tests/inc/io_readfile/large.txt.bz2 differ diff --git a/_test/tests/inc/io_readfile/long.txt.bz2 b/_test/tests/inc/io_readfile/long.txt.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..fb40759e618fa0c589f4a787e11fc48b6d7c75e4 Binary files /dev/null and b/_test/tests/inc/io_readfile/long.txt.bz2 differ diff --git a/_test/tests/inc/io_readfile/test.txt.bz2 b/_test/tests/inc/io_readfile/test.txt.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..3d4e1b226919d86934f6c95756e867b498ffa898 Binary files /dev/null and b/_test/tests/inc/io_readfile/test.txt.bz2 differ diff --git a/_test/tests/inc/io_readfile/test.txt.gz b/_test/tests/inc/io_readfile/test.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..8ac8f7d402263909ed35337fa8d9d68b7f4b165d Binary files /dev/null and b/_test/tests/inc/io_readfile/test.txt.gz differ diff --git a/_test/tests/inc/io_replaceinfile.test.php b/_test/tests/inc/io_replaceinfile.test.php new file mode 100644 index 0000000000000000000000000000000000000000..d517584e186c7c5c749e293cf2411bb354b9c2e9 --- /dev/null +++ b/_test/tests/inc/io_replaceinfile.test.php @@ -0,0 +1,108 @@ +<?php + +class io_replaceinfile_test extends DokuWikiTest { + + protected $contents = "The\012Delete\012Delete\012Delete01\012Delete02\012Delete\012DeleteX\012Test\012"; + + /* + * dependency for tests needing zlib extension to pass + */ + public function test_ext_zlib() { + if (!DOKU_HAS_GZIP) { + $this->markTestSkipped('skipping all zlib tests. Need zlib extension'); + } + } + + /* + * dependency for tests needing zlib extension to pass + */ + public function test_ext_bz2() { + if (!DOKU_HAS_BZIP) { + $this->markTestSkipped('skipping all bzip2 tests. Need bz2 extension'); + } + } + + function _write($file){ + + io_saveFile($file, $this->contents); + // Replace one, no regex + $this->assertTrue(io_replaceInFile($file, "Delete\012", "Delete00\012", false, 1)); + $this->assertEquals("The\012Delete00\012Delete\012Delete01\012Delete02\012Delete\012DeleteX\012Test\012", io_readFile($file)); + // Replace all, no regex + $this->assertTrue(io_replaceInFile($file, "Delete\012", "DeleteX\012", false, -1)); + $this->assertEquals("The\012Delete00\012DeleteX\012Delete01\012Delete02\012DeleteX\012DeleteX\012Test\012", io_readFile($file)); + // Replace two, regex and backreference + $this->assertTrue(io_replaceInFile($file, "#Delete(\\d+)\012#", "\\1\012", true, 2)); + $this->assertEquals("The\01200\012DeleteX\01201\012Delete02\012DeleteX\012DeleteX\012Test\012", io_readFile($file)); + // Delete and insert, no regex + $this->assertTrue(io_replaceInFile($file, "DeleteX\012", "Replace\012", false, 0)); + $this->assertEquals("The\01200\01201\012Delete02\012Test\012Replace\012", io_readFile($file)); + } + + function test_replace(){ + $this->_write(TMP_DIR.'/test.txt'); + } + + + /** + * @depends test_ext_zlib + */ + function test_gzwrite(){ + $this->_write(TMP_DIR.'/test.txt.gz'); + } + + /** + * @depends test_ext_bz2 + */ + function test_bzwrite(){ + $this->_write(TMP_DIR.'/test.txt.bz2'); + } + + /** + * Test for a non-regex replacement where $newline contains a backreference like construct - it shouldn't affect the replacement + */ + function test_edgecase1() + { + $file = TMP_DIR . '/test.txt'; + + io_saveFile($file, $this->contents); + $this->assertTrue(io_replaceInFile($file, "Delete\012", "Delete\\00\012", false, -1)); + $this->assertEquals("The\012Delete\\00\012Delete\\00\012Delete01\012Delete02\012Delete\\00\012DeleteX\012Test\012", io_readFile($file), "Edge case: backreference like construct in replacement line"); + } + /** + * Test with replace all where replacement line == search line - must not timeout + * + * @small + */ + function test_edgecase2() { + $file = TMP_DIR.'/test.txt'; + + io_saveFile($file, $this->contents); + $this->assertTrue(io_replaceInFile($file, "Delete\012", "Delete\012", false, -1)); + $this->assertEquals("The\012Delete\012Delete\012Delete01\012Delete02\012Delete\012DeleteX\012Test\012", io_readFile($file), "Edge case: new line the same as old line"); + } + + /** + * Test where $oldline exactly matches one line and also matches part of other lines - only the exact match should be replaced + */ + function test_edgecase3() + { + $file = TMP_DIR . '/test.txt'; + $contents = "The\012Delete\01201Delete\01202Delete\012Test\012"; + + io_saveFile($file, $contents); + $this->assertTrue(io_replaceInFile($file, "Delete\012", "Replace\012", false, -1)); + $this->assertEquals("The\012Replace\01201Delete\01202Delete\012Test\012", io_readFile($file), "Edge case: old line is a match for parts of other lines"); + } + + /** + * Test passing an invalid parameter. + * + * @expectedException PHPUnit_Framework_Error_Warning + */ + function test_badparam() + { + /* The empty $oldline parameter should be caught before the file doesn't exist test. */ + $this->assertFalse(io_replaceInFile(TMP_DIR.'/not_existing_file.txt', '', '', false, 0)); + } +} diff --git a/_test/tests/inc/io_savefile.test.php b/_test/tests/inc/io_savefile.test.php new file mode 100644 index 0000000000000000000000000000000000000000..5f387b8a16bbe12537af047c43d97f444399209f --- /dev/null +++ b/_test/tests/inc/io_savefile.test.php @@ -0,0 +1,49 @@ +<?php + +class io_savefile_test extends DokuWikiTest { + + /* + * dependency for tests needing zlib extension to pass + */ + public function test_ext_zlib() { + if (!DOKU_HAS_GZIP) { + $this->markTestSkipped('skipping all zlib tests. Need zlib extension'); + } + } + + /* + * dependency for tests needing zlib extension to pass + */ + public function test_ext_bz2() { + if (!DOKU_HAS_BZIP) { + $this->markTestSkipped('skipping all bzip2 tests. Need bz2 extension'); + } + } + + function _write($file){ + $contents = "The\012Write\012Test\012"; + $this->assertTrue(io_saveFile($file, $contents)); + $this->assertEquals($contents, io_readFile($file)); + $this->assertTrue(io_saveFile($file, $contents, true)); + $this->assertEquals($contents.$contents, io_readFile($file)); + } + + function test_write(){ + $this->_write(TMP_DIR.'/test.txt'); + } + + /** + * @depends test_ext_zlib + */ + function test_gzwrite(){ + $this->_write(TMP_DIR.'/test.txt.gz'); + } + + /** + * @depends test_ext_bz2 + */ + function test_bzwrite(){ + $this->_write(TMP_DIR.'/test.txt.bz2'); + } + +} diff --git a/_test/tests/inc/ixr_library_date.test.php b/_test/tests/inc/ixr_library_date.test.php index f384869258abf341aee97fb885b7222409c7ce21..0c81e674196ca7a038affe6710d069e860eb0ad9 100644 --- a/_test/tests/inc/ixr_library_date.test.php +++ b/_test/tests/inc/ixr_library_date.test.php @@ -2,6 +2,9 @@ require_once DOKU_INC.'inc/IXR_Library.php'; +/** + * Class ixr_library_date_test + */ class ixr_library_date_test extends DokuWikiTest { @@ -16,18 +19,24 @@ class ixr_library_date_test extends DokuWikiTest { array('2010-08-17T09:23:14Z', 1282036994), array('20100817T09:23:14Z', 1282036994), + // with timezone + array('2010-08-17 09:23:14+0000', 1282036994), + array('2010-08-17 09:23:14+00:00', 1282036994), + array('2010-08-17 12:23:14+03:00', 1282036994), + // no seconds array('2010-08-17T09:23', 1282036980), array('20100817T09:23', 1282036980), // no time array('2010-08-17', 1282003200), - //array('20100817', 1282003200), #this will NOT be parsed, but is assumed to be timestamp + array(1282036980, 1282036980), +// array('20100817', 1282003200), #this will NOT be parsed, but is assumed to be timestamp ); foreach($tests as $test){ $dt = new IXR_Date($test[0]); - $this->assertEquals($dt->getTimeStamp(),$test[1]); + $this->assertEquals($test[1], $dt->getTimeStamp()); } } diff --git a/_test/tests/inc/parser/lexer.test.php b/_test/tests/inc/parser/lexer.test.php index d0965a13e6c055539bcceb76a2722dd47cc664da..c506659286da542d96bc0eafaa26d7042d84512c 100644 --- a/_test/tests/inc/parser/lexer.test.php +++ b/_test/tests/inc/parser/lexer.test.php @@ -146,7 +146,7 @@ class TestOfLexerStateStack extends DokuWikiTest { } class TestParser { - function TestParser() { + function __construct() { } function accept() { } @@ -364,7 +364,7 @@ class TestOfLexerHandlers extends DokuWikiTest { class TestParserByteIndex { - function TestParserByteIndex() {} + function __construct() {} function ignore() {} diff --git a/_test/tests/inc/parser/parser_media.test.php b/_test/tests/inc/parser/parser_media.test.php index d9a0626f54ba63a1f5daf5dcb61bb03096e9625a..abbcfe2130ddb3cfc0ca5e5b69f7ed524c054d0a 100644 --- a/_test/tests/inc/parser/parser_media.test.php +++ b/_test/tests/inc/parser/parser_media.test.php @@ -30,12 +30,21 @@ class TestOfDoku_Parser_Media extends TestOfDoku_Parser { $source = '<source src="http://some.where.far/away.ogv" type="video/ogg" />'; $this->assertEquals(substr($url,67,64),$source); // work around random token - $a_first_part = '<a href="/./lib/exe/fetch.php?cache=&tok='; + $a_first_part = '<a href="' . DOKU_BASE . 'lib/exe/fetch.php?cache=&tok='; $a_second_part = '&media=http%3A%2F%2Fsome.where.far%2Faway.ogv" class="media mediafile mf_ogv" title="http://some.where.far/away.ogv">'; - $this->assertEquals(substr($url,132,45),$a_first_part); - $this->assertEquals(substr($url,183,121),$a_second_part); + + $substr_start = 132; + $substr_len = strlen($a_first_part); + $this->assertEquals($a_first_part, substr($url, $substr_start, $substr_len)); + + $substr_start = strpos($url, '&media', $substr_start + $substr_len); + $this->assertNotSame(false, $substr_start, 'Substring not found.'); + $substr_len = strlen($a_second_part); + $this->assertEquals($a_second_part, substr($url, $substr_start, $substr_len)); + $rest = 'away.ogv</a></video>'."\n"; - $this->assertEquals(substr($url,304),$rest); + $substr_start = strlen($url) - strlen($rest); + $this->assertEquals($rest, substr($url, $substr_start)); } /** @@ -58,12 +67,21 @@ class TestOfDoku_Parser_Media extends TestOfDoku_Parser { $Renderer = new Doku_Renderer_xhtml(); $url = $Renderer->externalmedia($file, null, null, null, null, 'cache', 'details', true); // work around random token - $a_first_part = '<a href="/./lib/exe/fetch.php?tok='; + $a_first_part = '<a href="' . DOKU_BASE . 'lib/exe/fetch.php?tok='; $a_second_part = '&media=http%3A%2F%2Fsome.where.far%2Faway.vid" class="media mediafile mf_vid" title="http://some.where.far/away.vid">'; - $this->assertEquals(substr($url,0,34),$a_first_part); - $this->assertEquals(substr($url,40,121),$a_second_part); + + $substr_start = 0; + $substr_len = strlen($a_first_part); + $this->assertEquals($a_first_part, substr($url, $substr_start, $substr_len)); + + $substr_start = strpos($url, '&media', $substr_start + $substr_len); + $this->assertNotSame(false, $substr_start, 'Substring not found.'); + $substr_len = strlen($a_second_part); + $this->assertEquals($a_second_part, substr($url, $substr_start, $substr_len)); + $rest = 'away.vid</a>'; - $this->assertEquals(substr($url,161),$rest); + $substr_start = strlen($url) - strlen($rest); + $this->assertEquals($rest, substr($url, $substr_start)); } @@ -84,20 +102,33 @@ class TestOfDoku_Parser_Media extends TestOfDoku_Parser { $Renderer = new Doku_Renderer_xhtml(); $url = $Renderer->externalmedia($file,null,null,null,null,'cache','details',true); - $video = '<video class="media" width="320" height="240" controls="controls" poster="/./lib/exe/fetch.php?media=wiki:kind_zu_katze.png">'; - $this->assertEquals(substr($url,0,125),$video); + $video = '<video class="media" width="320" height="240" controls="controls" poster="' . DOKU_BASE . 'lib/exe/fetch.php?media=wiki:kind_zu_katze.png">'; + $substr_start = 0; + $substr_len = strlen($video); + $this->assertEquals($video, substr($url, $substr_start, $substr_len)); + + // find $source_webm in $url + $source_webm = '<source src="' . DOKU_BASE . 'lib/exe/fetch.php?media=wiki:kind_zu_katze.webm" type="video/webm" />'; + $substr_start = strpos($url, $source_webm, $substr_start + $substr_len); + $this->assertNotSame(false, $substr_start, 'Substring not found.'); + + // find $source_ogv in $url + $source_ogv = '<source src="' . DOKU_BASE . 'lib/exe/fetch.php?media=wiki:kind_zu_katze.ogv" type="video/ogg" />'; + $substr_start = strpos($url, $source_ogv, $substr_start + strlen($source_webm)); + $this->assertNotSame(false, $substr_start, 'Substring not found.'); - $source_webm = '<source src="/./lib/exe/fetch.php?media=wiki:kind_zu_katze.webm" type="video/webm" />'; - $this->assertEquals(substr($url,126,85),$source_webm); - $source_ogv = '<source src="/./lib/exe/fetch.php?media=wiki:kind_zu_katze.ogv" type="video/ogg" />'; - $this->assertEquals(substr($url,212,83),$source_ogv); + // find $a_webm in $url + $a_webm = '<a href="' . DOKU_BASE . 'lib/exe/fetch.php?id=&cache=&media=wiki:kind_zu_katze.webm" class="media mediafile mf_webm" title="wiki:kind_zu_katze.webm (99.1 KB)">kind_zu_katze.webm</a>'; + $substr_start = strpos($url, $a_webm, $substr_start + strlen($source_ogv)); + $this->assertNotSame(false, $substr_start, 'Substring not found.'); - $a_webm = '<a href="/./lib/exe/fetch.php?id=&cache=&media=wiki:kind_zu_katze.webm" class="media mediafile mf_webm" title="wiki:kind_zu_katze.webm (99.1 KB)">kind_zu_katze.webm</a>'; - $a_ogv = '<a href="/./lib/exe/fetch.php?id=&cache=&media=wiki:kind_zu_katze.ogv" class="media mediafile mf_ogv" title="wiki:kind_zu_katze.ogv (44.8 KB)">kind_zu_katze.ogv</a>'; - $this->assertEquals(substr($url,296,176),$a_webm); - $this->assertEquals(substr($url,472,172),$a_ogv); + // find $a_webm in $url + $a_ogv = '<a href="' . DOKU_BASE . 'lib/exe/fetch.php?id=&cache=&media=wiki:kind_zu_katze.ogv" class="media mediafile mf_ogv" title="wiki:kind_zu_katze.ogv (44.8 KB)">kind_zu_katze.ogv</a>'; + $substr_start = strpos($url, $a_ogv, $substr_start + strlen($a_webm)); + $this->assertNotSame(false, $substr_start, 'Substring not found.'); $rest = '</video>'."\n"; - $this->assertEquals(substr($url,644),$rest); + $substr_start = strlen($url) - strlen($rest); + $this->assertEquals($rest, substr($url, $substr_start)); } } diff --git a/_test/tests/inc/parser/renderer_resolveinterwiki.test.php b/_test/tests/inc/parser/renderer_resolveinterwiki.test.php index dd1ed1d3f64f488dbd1913b817d89d1864536940..772001b99f04c3263412d5e0cbf6b9f8fd85c294 100644 --- a/_test/tests/inc/parser/renderer_resolveinterwiki.test.php +++ b/_test/tests/inc/parser/renderer_resolveinterwiki.test.php @@ -14,21 +14,23 @@ class Test_resolveInterwiki extends DokuWikiTest { $Renderer->interwiki['withslash'] = '/test'; $Renderer->interwiki['onlytext'] = ':onlytext{NAME}'; //with {URL} double urlencoded $Renderer->interwiki['withquery'] = ':anyns:{NAME}?do=edit'; + //this was the only link with host/port/path/query. Keep it here for regression + $Renderer->interwiki['coral'] = 'http://{HOST}.{PORT}.nyud.net:8090{PATH}?{QUERY}'; $tests = array( // shortcut, reference and expected - array('wp', 'foo @+%/#txt', 'http://en.wikipedia.org/wiki/foo @+%/#txt'), - array('amazon', 'foo @+%/#txt', 'http://www.amazon.com/exec/obidos/ASIN/foo%20%40%2B%25%2F/splitbrain-20/#txt'), - array('doku', 'foo @+%/#txt', 'http://www.dokuwiki.org/foo%20%40%2B%25%2F#txt'), - array('coral', 'http://example.com:83/path/naar/?query=foo%20%40%2B%25%2F', 'http://example.com.83.nyud.net:8090/path/naar/?query=foo%20%40%2B%25%2F'), + array('wp', 'foo [\\]^`{|}~@+#%?/#txt', 'https://en.wikipedia.org/wiki/foo %5B%5C%5D%5E%60%7B%7C%7D~@+%23%25?/#txt'), + array('amazon', 'foo [\\]^`{|}~@+#%?/#txt', 'https://www.amazon.com/exec/obidos/ASIN/foo%20%5B%5C%5D%5E%60%7B%7C%7D~%40%2B%23%25%3F%2F/splitbrain-20/#txt'), + array('doku', 'foo [\\]^`{|}~@+#%?/#txt', 'https://www.dokuwiki.org/foo%20%5B%5C%5D%5E%60%7B%7C%7D~%40%2B%23%25%3F%2F#txt'), + array('coral', 'http://example.com:83/path/naar/?query=foo%20%40%2B%25%3F%2F', 'http://example.com.83.nyud.net:8090/path/naar/?query=foo%20%40%2B%25%3F%2F'), array('scheme', 'ftp://foo @+%/#txt', 'ftp://example.com#txt'), //relative url - array('withslash', 'foo @+%/#txt', '/testfoo%20%40%2B%25%2F#txt'), - array('skype', 'foo @+%/#txt', 'skype:foo @+%/#txt'), + array('withslash', 'foo [\\]^`{|}~@+#%?/#txt', '/testfoo%20%5B%5C%5D%5E%60%7B%7C%7D~%40%2B%23%25%3F%2F#txt'), + array('skype', 'foo [\\]^`{|}~@+#%?/#txt', 'skype:foo %5B%5C%5D%5E%60%7B%7C%7D~@+%23%25?/#txt'), //dokuwiki id's - array('onlytext', 'foo @+%#txt', DOKU_BASE.'doku.php?id=onlytextfoo#txt'), - array('user', 'foo @+%#txt', DOKU_BASE.'doku.php?id=user:foo#txt'), - array('withquery', 'foo @+%#txt', DOKU_BASE.'doku.php?id=anyns:foo&do=edit#txt') + array('onlytext', 'foo [\\]^`{|}~@+#%/#txt', DOKU_BASE.'doku.php?id=onlytextfoo#txt'), + array('user', 'foo [\\]^`{|}~@+#%/#txt', DOKU_BASE.'doku.php?id=user:foo#txt'), + array('withquery', 'foo [\\]^`{|}~@+#%/#txt', DOKU_BASE.'doku.php?id=anyns:foo&do=edit#txt') ); foreach($tests as $test) { @@ -45,7 +47,7 @@ class Test_resolveInterwiki extends DokuWikiTest { $shortcut = 'nonexisting'; $reference = 'foo @+%/'; $url = $Renderer->_resolveInterWiki($shortcut, $reference); - $expected = 'http://www.google.com/search?q=foo%20%40%2B%25%2F&btnI=lucky'; + $expected = 'https://www.google.com/search?q=foo%20%40%2B%25%2F&btnI=lucky'; $this->assertEquals($expected, $url); } diff --git a/_test/tests/inc/remote.test.php b/_test/tests/inc/remote.test.php index d0d4eb7ce03aa8fd555b3303591d15a3bf03e43c..037b1dc0b316eaf5c4b27bba8be69ae1aeef61f9 100644 --- a/_test/tests/inc/remote.test.php +++ b/_test/tests/inc/remote.test.php @@ -160,10 +160,16 @@ class remote_test extends DokuWikiTest { $this->assertTrue($this->remote->hasAccess()); } + /** + * @expectedException RemoteAccessDeniedException + */ function test_hasAccessFail() { global $conf; $conf['remote'] = 0; - $this->assertFalse($this->remote->hasAccess()); + // the hasAccess() should throw a Exception to keep the same semantics with xmlrpc.php. + // because the user(xmlrpc) check remote before .--> (!$conf['remote']) die('XML-RPC server not enabled.'); + // so it must be a Exception when get here. + $this->remote->hasAccess(); } function test_hasAccessFailAcl() { diff --git a/_test/tests/inc/tar.test.php b/_test/tests/inc/tar.test.php deleted file mode 100644 index 15453b16db94295bc31b5ff2ba4231b17b478b35..0000000000000000000000000000000000000000 --- a/_test/tests/inc/tar.test.php +++ /dev/null @@ -1,454 +0,0 @@ -<?php - -class Tar_TestCase extends DokuWikiTest { - /** - * file extensions that several tests use - */ - protected $extensions = array('tar'); - - public function setUp() { - parent::setUp(); - if (extension_loaded('zlib')) { - $this->extensions[] = 'tgz'; - } - if (extension_loaded('bz2')) { - $this->extensions[] = 'tbz'; - } - } - - /* - * dependency for tests needing zlib extension to pass - */ - public function test_ext_zlib() { - if (!extension_loaded('zlib')) { - $this->markTestSkipped('skipping all zlib tests. Need zlib extension'); - } - } - - /* - * dependency for tests needing zlib extension to pass - */ - public function test_ext_bz2() { - if (!extension_loaded('bz2')) { - $this->markTestSkipped('skipping all bzip2 tests. Need bz2 extension'); - } - } - - /** - * simple test that checks that the given filenames and contents can be grepped from - * the uncompressed tar stream - * - * No check for format correctness - */ - public function test_createdynamic() { - $tar = new Tar(); - - $dir = dirname(__FILE__).'/tar'; - $tdir = ltrim($dir,'/'); - - $tar->create(); - $tar->AddFile("$dir/testdata1.txt"); - $tar->AddFile("$dir/foobar/testdata2.txt", 'noway/testdata2.txt'); - $tar->addData('another/testdata3.txt', 'testcontent3'); - - $data = $tar->getArchive(); - - $this->assertTrue(strpos($data, 'testcontent1') !== false, 'Content in TAR'); - $this->assertTrue(strpos($data, 'testcontent2') !== false, 'Content in TAR'); - $this->assertTrue(strpos($data, 'testcontent3') !== false, 'Content in TAR'); - - // fullpath might be too long to be stored as full path FS#2802 - $this->assertTrue(strpos($data, "$tdir") !== false, 'Path in TAR'); - $this->assertTrue(strpos($data, "testdata1.txt") !== false, 'File in TAR'); - - $this->assertTrue(strpos($data, 'noway/testdata2.txt') !== false, 'Path in TAR'); - $this->assertTrue(strpos($data, 'another/testdata3.txt') !== false, 'Path in TAR'); - - // fullpath might be too long to be stored as full path FS#2802 - $this->assertTrue(strpos($data, "$tdir/foobar") === false, 'Path not in TAR'); - $this->assertTrue(strpos($data, "foobar.txt") === false, 'File not in TAR'); - - $this->assertTrue(strpos($data, "foobar") === false, 'Path not in TAR'); - } - - /** - * simple test that checks that the given filenames and contents can be grepped from the - * uncompressed tar file - * - * No check for format correctness - */ - public function test_createfile() { - $tar = new Tar(); - - $dir = dirname(__FILE__).'/tar'; - $tdir = ltrim($dir,'/'); - $tmp = tempnam(sys_get_temp_dir(), 'dwtartest'); - - $tar->create($tmp, Tar::COMPRESS_NONE); - $tar->AddFile("$dir/testdata1.txt"); - $tar->AddFile("$dir/foobar/testdata2.txt", 'noway/testdata2.txt'); - $tar->addData('another/testdata3.txt', 'testcontent3'); - $tar->close(); - - $this->assertTrue(filesize($tmp) > 30); //arbitrary non-zero number - $data = file_get_contents($tmp); - - $this->assertTrue(strpos($data, 'testcontent1') !== false, 'Content in TAR'); - $this->assertTrue(strpos($data, 'testcontent2') !== false, 'Content in TAR'); - $this->assertTrue(strpos($data, 'testcontent3') !== false, 'Content in TAR'); - - // fullpath might be too long to be stored as full path FS#2802 - $this->assertTrue(strpos($data, "$tdir") !== false, "Path in TAR '$tdir'"); - $this->assertTrue(strpos($data, "testdata1.txt") !== false, 'File in TAR'); - - $this->assertTrue(strpos($data, 'noway/testdata2.txt') !== false, 'Path in TAR'); - $this->assertTrue(strpos($data, 'another/testdata3.txt') !== false, 'Path in TAR'); - - // fullpath might be too long to be stored as full path FS#2802 - $this->assertTrue(strpos($data, "$tdir/foobar") === false, 'Path not in TAR'); - $this->assertTrue(strpos($data, "foobar.txt") === false, 'File not in TAR'); - - $this->assertTrue(strpos($data, "foobar") === false, 'Path not in TAR'); - - @unlink($tmp); - } - - /** - * List the contents of the prebuilt TAR files - */ - public function test_tarcontent() { - $dir = dirname(__FILE__).'/tar'; - - foreach($this->extensions as $ext) { - $tar = new Tar(); - $file = "$dir/test.$ext"; - - $tar->open($file); - $content = $tar->contents(); - - $this->assertCount(4, $content, "Contents of $file"); - $this->assertEquals('tar/testdata1.txt', $content[1]['filename'], "Contents of $file"); - $this->assertEquals(13, $content[1]['size'], "Contents of $file"); - - $this->assertEquals('tar/foobar/testdata2.txt', $content[3]['filename'], "Contents of $file"); - $this->assertEquals(13, $content[1]['size'], "Contents of $file"); - } - } - - /** - * Extract the prebuilt tar files - */ - public function test_tarextract() { - $dir = dirname(__FILE__).'/tar'; - $out = sys_get_temp_dir().'/dwtartest'.md5(time()); - - foreach($this->extensions as $ext) { - $tar = new Tar(); - $file = "$dir/test.$ext"; - - $tar->open($file); - $tar->extract($out); - - clearstatcache(); - - $this->assertFileExists($out.'/tar/testdata1.txt', "Extracted $file"); - $this->assertEquals(13, filesize($out.'/tar/testdata1.txt'), "Extracted $file"); - - $this->assertFileExists($out.'/tar/foobar/testdata2.txt', "Extracted $file"); - $this->assertEquals(13, filesize($out.'/tar/foobar/testdata2.txt'), "Extracted $file"); - - TestUtils::rdelete($out); - } - } - - /** - * Extract the prebuilt tar files with component stripping - */ - public function test_compstripextract() { - $dir = dirname(__FILE__).'/tar'; - $out = sys_get_temp_dir().'/dwtartest'.md5(time()); - - foreach($this->extensions as $ext) { - $tar = new Tar(); - $file = "$dir/test.$ext"; - - $tar->open($file); - $tar->extract($out, 1); - - clearstatcache(); - - $this->assertFileExists($out.'/testdata1.txt', "Extracted $file"); - $this->assertEquals(13, filesize($out.'/testdata1.txt'), "Extracted $file"); - - $this->assertFileExists($out.'/foobar/testdata2.txt', "Extracted $file"); - $this->assertEquals(13, filesize($out.'/foobar/testdata2.txt'), "Extracted $file"); - - TestUtils::rdelete($out); - } - } - - /** - * Extract the prebuilt tar files with prefix stripping - */ - public function test_prefixstripextract() { - $dir = dirname(__FILE__).'/tar'; - $out = sys_get_temp_dir().'/dwtartest'.md5(time()); - - foreach($this->extensions as $ext) { - $tar = new Tar(); - $file = "$dir/test.$ext"; - - $tar->open($file); - $tar->extract($out, 'tar/foobar/'); - - clearstatcache(); - - $this->assertFileExists($out.'/tar/testdata1.txt', "Extracted $file"); - $this->assertEquals(13, filesize($out.'/tar/testdata1.txt'), "Extracted $file"); - - $this->assertFileExists($out.'/testdata2.txt', "Extracted $file"); - $this->assertEquals(13, filesize($out.'/testdata2.txt'), "Extracted $file"); - - TestUtils::rdelete($out); - } - } - - /** - * Extract the prebuilt tar files with include regex - */ - public function test_includeextract() { - $dir = dirname(__FILE__).'/tar'; - $out = sys_get_temp_dir().'/dwtartest'.md5(time()); - - foreach($this->extensions as $ext) { - $tar = new Tar(); - $file = "$dir/test.$ext"; - - $tar->open($file); - $tar->extract($out, '', '', '/\/foobar\//'); - - clearstatcache(); - - $this->assertFileNotExists($out.'/tar/testdata1.txt', "Extracted $file"); - - $this->assertFileExists($out.'/tar/foobar/testdata2.txt', "Extracted $file"); - $this->assertEquals(13, filesize($out.'/tar/foobar/testdata2.txt'), "Extracted $file"); - - TestUtils::rdelete($out); - } - } - - /** - * Extract the prebuilt tar files with exclude regex - */ - public function test_excludeextract() { - $dir = dirname(__FILE__).'/tar'; - $out = sys_get_temp_dir().'/dwtartest'.md5(time()); - - foreach($this->extensions as $ext) { - $tar = new Tar(); - $file = "$dir/test.$ext"; - - $tar->open($file); - $tar->extract($out, '', '/\/foobar\//'); - - clearstatcache(); - - $this->assertFileExists($out.'/tar/testdata1.txt', "Extracted $file"); - $this->assertEquals(13, filesize($out.'/tar/testdata1.txt'), "Extracted $file"); - - $this->assertFileNotExists($out.'/tar/foobar/testdata2.txt', "Extracted $file"); - - TestUtils::rdelete($out); - } - } - - /** - * Check the extension to compression guesser - */ - public function test_filetype() { - $tar = new Tar(); - $this->assertEquals(Tar::COMPRESS_NONE, $tar->filetype('foo')); - $this->assertEquals(Tar::COMPRESS_GZIP, $tar->filetype('foo.tgz')); - $this->assertEquals(Tar::COMPRESS_GZIP, $tar->filetype('foo.tGZ')); - $this->assertEquals(Tar::COMPRESS_GZIP, $tar->filetype('foo.tar.GZ')); - $this->assertEquals(Tar::COMPRESS_GZIP, $tar->filetype('foo.tar.gz')); - $this->assertEquals(Tar::COMPRESS_BZIP, $tar->filetype('foo.tbz')); - $this->assertEquals(Tar::COMPRESS_BZIP, $tar->filetype('foo.tBZ')); - $this->assertEquals(Tar::COMPRESS_BZIP, $tar->filetype('foo.tar.BZ2')); - $this->assertEquals(Tar::COMPRESS_BZIP, $tar->filetype('foo.tar.bz2')); - } - - /** - * @depends test_ext_zlib - */ - public function test_longpathextract() { - $dir = dirname(__FILE__).'/tar'; - $out = sys_get_temp_dir().'/dwtartest'.md5(time()); - - foreach(array('ustar', 'gnu') as $format) { - $tar = new Tar(); - $tar->open("$dir/longpath-$format.tgz"); - $tar->extract($out); - - $this->assertFileExists($out.'/1234567890/1234567890/1234567890/1234567890/1234567890/1234567890/1234567890/1234567890/1234567890/1234567890/1234567890/1234567890/test.txt'); - - TestUtils::rdelete($out); - } - } - - // FS#1442 - public function test_createlongfile() { - $tar = new Tar(); - $tmp = tempnam(sys_get_temp_dir(), 'dwtartest'); - - $path = '0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789.txt'; - - $tar->create($tmp, Tar::COMPRESS_NONE); - $tar->addData($path, 'testcontent1'); - $tar->close(); - - $this->assertTrue(filesize($tmp) > 30); //arbitrary non-zero number - $data = file_get_contents($tmp); - - // We should find the complete path and a longlink entry - $this->assertTrue(strpos($data, 'testcontent1') !== false, 'content in TAR'); - $this->assertTrue(strpos($data, $path) !== false, 'path in TAR'); - $this->assertTrue(strpos($data, '@LongLink') !== false, '@LongLink in TAR'); - - @unlink($tmp); - } - - public function test_createlongpathustar() { - $tar = new Tar(); - $tmp = tempnam(sys_get_temp_dir(), 'dwtartest'); - - $path = ''; - for($i=0; $i<11; $i++) $path .= '1234567890/'; - $path = rtrim($path,'/'); - - $tar->create($tmp, Tar::COMPRESS_NONE); - $tar->addData("$path/test.txt", 'testcontent1'); - $tar->close(); - - $this->assertTrue(filesize($tmp) > 30); //arbitrary non-zero number - $data = file_get_contents($tmp); - - // We should find the path and filename separated, no longlink entry - $this->assertTrue(strpos($data, 'testcontent1') !== false, 'content in TAR'); - $this->assertTrue(strpos($data, 'test.txt') !== false, 'filename in TAR'); - $this->assertTrue(strpos($data, $path) !== false, 'path in TAR'); - $this->assertFalse(strpos($data, "$path/test.txt") !== false, 'full filename in TAR'); - $this->assertFalse(strpos($data, '@LongLink') !== false, '@LongLink in TAR'); - - @unlink($tmp); - } - - public function test_createlongpathgnu() { - $tar = new Tar(); - $tmp = tempnam(sys_get_temp_dir(), 'dwtartest'); - - $path = ''; - for($i=0; $i<20; $i++) $path .= '1234567890/'; - $path = rtrim($path,'/'); - - $tar->create($tmp, Tar::COMPRESS_NONE); - $tar->addData("$path/test.txt", 'testcontent1'); - $tar->close(); - - $this->assertTrue(filesize($tmp) > 30); //arbitrary non-zero number - $data = file_get_contents($tmp); - - // We should find the complete path/filename and a longlink entry - $this->assertTrue(strpos($data, 'testcontent1') !== false, 'content in TAR'); - $this->assertTrue(strpos($data, 'test.txt') !== false, 'filename in TAR'); - $this->assertTrue(strpos($data, $path) !== false, 'path in TAR'); - $this->assertTrue(strpos($data, "$path/test.txt") !== false, 'full filename in TAR'); - $this->assertTrue(strpos($data, '@LongLink') !== false, '@LongLink in TAR'); - - @unlink($tmp); - } - - /** - * Extract a tarbomomb - * @depends test_ext_zlib - */ - public function test_tarbomb() { - $dir = dirname(__FILE__).'/tar'; - $out = sys_get_temp_dir().'/dwtartest'.md5(time()); - - $tar = new Tar(); - - $tar->open("$dir/tarbomb.tgz"); - $tar->extract($out); - - clearstatcache(); - - $this->assertFileExists($out.'/AAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB.txt'); - - TestUtils::rdelete($out); - } - - /** - * A single zero file should be just a header block + the footer - */ - public function test_zerofile(){ - $dir = dirname(__FILE__).'/tar'; - $tar = new Tar(); - $tar->create(); - $tar->addFile("$dir/zero.txt", 'zero.txt'); - $file = $tar->getArchive(Tar::COMPRESS_NONE); - - $this->assertEquals(512*3, strlen($file)); // 1 header block + 2 footer blocks - } - - public function test_zerodata(){ - $tar = new Tar(); - $tar->create(); - $tar->addData('zero.txt',''); - $file = $tar->getArchive(Tar::COMPRESS_NONE); - - $this->assertEquals(512*3, strlen($file)); // 1 header block + 2 footer blocks - } - - /** - * A file of exactly one block should be just a header block + data block + the footer - */ - public function test_blockfile(){ - $dir = dirname(__FILE__).'/tar'; - $tar = new Tar(); - $tar->create(); - $tar->addFile("$dir/block.txt", 'block.txt'); - $file = $tar->getArchive(Tar::COMPRESS_NONE); - - $this->assertEquals(512*4, strlen($file)); // 1 header block + data block + 2 footer blocks - } - - public function test_blockdata(){ - $tar = new Tar(); - $tar->create(); - $tar->addData('block.txt', str_pad('', 512, 'x')); - $file = $tar->getArchive(Tar::COMPRESS_NONE); - - $this->assertEquals(512*4, strlen($file)); // 1 header block + data block + 2 footer blocks - } - - - public function test_cleanPath(){ - $tar = new Tar(); - $tests = array ( - '/foo/bar' => 'foo/bar', - '/foo/bar/' => 'foo/bar', - 'foo//bar' => 'foo/bar', - 'foo/0/bar' => 'foo/0/bar', - 'foo/../bar' => 'bar', - 'foo/bang/bang/../../bar' => 'foo/bar', - 'foo/../../bar' => 'bar', - 'foo/.././../bar' => 'bar', - ); - - foreach($tests as $in => $out){ - $this->assertEquals($out, $tar->cleanPath($in), "Input: $in"); - } - } -} diff --git a/_test/tests/inc/tar/block.txt b/_test/tests/inc/tar/block.txt deleted file mode 100644 index 9b2f53080c2a7b5fdf1c5629aaf513fdd2056528..0000000000000000000000000000000000000000 --- a/_test/tests/inc/tar/block.txt +++ /dev/null @@ -1 +0,0 @@ -xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \ No newline at end of file diff --git a/_test/tests/inc/tar/foobar/testdata2.txt b/_test/tests/inc/tar/foobar/testdata2.txt deleted file mode 100644 index a7db15771f7f75aca5f8dc62beaebab28bb9ef8b..0000000000000000000000000000000000000000 --- a/_test/tests/inc/tar/foobar/testdata2.txt +++ /dev/null @@ -1 +0,0 @@ -testcontent2 diff --git a/_test/tests/inc/tar/longpath-gnu.tgz b/_test/tests/inc/tar/longpath-gnu.tgz deleted file mode 100644 index 6c937c8fe055c33eb842419c2321a15eededc191..0000000000000000000000000000000000000000 Binary files a/_test/tests/inc/tar/longpath-gnu.tgz and /dev/null differ diff --git a/_test/tests/inc/tar/longpath-ustar.tgz b/_test/tests/inc/tar/longpath-ustar.tgz deleted file mode 100644 index 59efbff6689a78bc9ff3dc08afb95b4a19eaaa67..0000000000000000000000000000000000000000 Binary files a/_test/tests/inc/tar/longpath-ustar.tgz and /dev/null differ diff --git a/_test/tests/inc/tar/tarbomb.tgz b/_test/tests/inc/tar/tarbomb.tgz deleted file mode 100644 index 8418d4073e9afc339cd05c222063733305bd5d2d..0000000000000000000000000000000000000000 Binary files a/_test/tests/inc/tar/tarbomb.tgz and /dev/null differ diff --git a/_test/tests/inc/tar/test.tar b/_test/tests/inc/tar/test.tar deleted file mode 100644 index 931866b0ba0f279fab0b68e6a27e988860e41dc4..0000000000000000000000000000000000000000 Binary files a/_test/tests/inc/tar/test.tar and /dev/null differ diff --git a/_test/tests/inc/tar/test.tbz b/_test/tests/inc/tar/test.tbz deleted file mode 100644 index 5a737401907117fc2bfda39d27f73aed5892adac..0000000000000000000000000000000000000000 Binary files a/_test/tests/inc/tar/test.tbz and /dev/null differ diff --git a/_test/tests/inc/tar/test.tgz b/_test/tests/inc/tar/test.tgz deleted file mode 100644 index b0031964934865544c7c8537740a7995f99c882f..0000000000000000000000000000000000000000 Binary files a/_test/tests/inc/tar/test.tgz and /dev/null differ diff --git a/_test/tests/inc/tar/testdata1.txt b/_test/tests/inc/tar/testdata1.txt deleted file mode 100644 index ac65bb32efdef558a1eb2f9a986d55838db2efbb..0000000000000000000000000000000000000000 --- a/_test/tests/inc/tar/testdata1.txt +++ /dev/null @@ -1 +0,0 @@ -testcontent1 diff --git a/_test/tests/inc/tar/zero.txt b/_test/tests/inc/tar/zero.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/_test/tests/inc/template_include_page.test.php b/_test/tests/inc/template_include_page.test.php index 47d4d46f154fd087dea2923fa46b6ff8304e6a6b..7dd13ba236be6a3f41f010c4573e7489e1371dcc 100644 --- a/_test/tests/inc/template_include_page.test.php +++ b/_test/tests/inc/template_include_page.test.php @@ -1,40 +1,67 @@ <?php -class template_include_page_test extends DokuWikiTest { - function testNoSidebar() { - global $ID; +class template_pagetitle_test extends DokuWikiTest { - $ID = 'foo:bar:baz:test'; - $sidebar = tpl_include_page('sidebar', false, true); - $this->assertEquals('', $sidebar); + function test_localID() { + global $ID,$ACT; + + + $id = 'foo:bar'; + + $ACT = 'show'; + $this->assertEquals('foo:bar', tpl_pagetitle($id, true)); } - function testExistingSidebars() { - global $ID; + function test_globalID() { + global $ID,$ACT; + - saveWikiText('sidebar', 'topsidebar-test', ''); + $ID = 'foo:bar'; - $ID = 'foo:bar:baz:test'; - $sidebar = tpl_include_page('sidebar', false, true); - $this->assertTrue(strpos($sidebar, 'topsidebar-test') > 0); + $ACT = 'show'; + $this->assertEquals('foo:bar', tpl_pagetitle(null, true)); + } + + function test_adminTitle() { + global $ID,$ACT; - $ID = 'foo'; - $sidebar = tpl_include_page('sidebar', false, true); - $this->assertTrue(strpos($sidebar, 'topsidebar-test') > 0); + $ID = 'foo:bar'; + + $ACT = 'admin'; + $this->assertEquals('Admin', tpl_pagetitle(null, true)); + } - saveWikiText('foo:bar:sidebar', 'bottomsidebar-test', ''); + function test_adminPluginTitle() { + global $ID,$ACT,$INPUT,$conf; - $ID = 'foo:bar:baz:test'; - $sidebar = tpl_include_page('sidebar', false, true); - $this->assertTrue(strpos($sidebar, 'bottomsidebar-test') > 0); + if (!plugin_load('admin','revert')) { + $this->markTestSkipped('Revert plugin not found, unable to test admin plugin titles'); + return; + } - $ID = 'foo:bar:test'; - $sidebar = tpl_include_page('sidebar', false, true); - $this->assertTrue(strpos($sidebar, 'bottomsidebar-test') > 0); + $ID = 'foo:bar'; + $ACT = 'admin'; + $conf['lang'] = 'en'; + $INPUT->set('page','revert'); - $ID = 'foo'; - $sidebar = tpl_include_page('sidebar', false, true); - $this->assertTrue(strpos($sidebar, 'topsidebar-test') > 0); + $this->assertEquals('Revert Manager', tpl_pagetitle(null, true)); } + function test_nonPageFunctionTitle() { + global $ID,$ACT; + + $ID = 'foo:bar'; + + $ACT = 'index'; + $this->assertEquals('Sitemap', tpl_pagetitle(null, true)); + } + + function test_pageFunctionTitle() { + global $ID,$ACT; + + $ID = 'foo:bar'; + + $ACT = 'revisions'; + $this->assertEquals('foo:bar - Old revisions', tpl_pagetitle(null, true)); + } } diff --git a/bin/.htaccess b/bin/.htaccess index 281d5c33db37cd1cc887dbb2d36897b897835071..5f279f180699c2f115c326319a8afc645c5a7245 100644 --- a/bin/.htaccess +++ b/bin/.htaccess @@ -1,2 +1,7 @@ -order allow,deny -deny from all +<IfModule mod_authz_host> + Require all denied +</IfModule> +<IfModule !mod_authz_host> + Order allow,deny + Deny from all +</IfModule> diff --git a/bin/dwpage.php b/bin/dwpage.php index a777fd3e1798142784c0d9c31c39eb757d804a26..1c1a1c10ee6f38cb5e41e75e51a31829600c97ec 100755 --- a/bin/dwpage.php +++ b/bin/dwpage.php @@ -28,7 +28,8 @@ class PageCLI extends DokuCLI { $options->registerOption( 'user', 'work as this user. defaults to current CLI user', - 'u' + 'u', + 'username' ); $options->setHelp( 'Utility to help command line Dokuwiki page editing, allow '. @@ -239,6 +240,7 @@ class PageCLI extends DokuCLI { if($this->force) $this->deleteLock($wiki_id); $_SERVER['REMOTE_USER'] = $this->username; + if(checklock($wiki_id)) { $this->error("Page $wiki_id is already locked by another user"); exit(1); @@ -246,8 +248,7 @@ class PageCLI extends DokuCLI { lock($wiki_id); - $_SERVER['REMOTE_USER'] = '_'.$this->username.'_'; - if(checklock($wiki_id) != $this->username) { + if(checklock($wiki_id)) { $this->error("Unable to obtain lock for $wiki_id "); var_dump(checklock($wiki_id)); exit(1); diff --git a/composer.json b/composer.json new file mode 100644 index 0000000000000000000000000000000000000000..3fe00cc92325258317005bbaed6f62b66abdc365 --- /dev/null +++ b/composer.json @@ -0,0 +1,6 @@ +{ + "require": { + "splitbrain/php-archive": "~1.0", + "easybook/geshi": "~1.0" + } +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000000000000000000000000000000000000..f504ba638278b709725d08b303b152ae1bceaf76 --- /dev/null +++ b/composer.lock @@ -0,0 +1,111 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "This file is @generated automatically" + ], + "hash": "23ee0dd06136e2301c930e75055300d5", + "packages": [ + { + "name": "easybook/geshi", + "version": "v1.0.8.15", + "source": { + "type": "git", + "url": "https://github.com/easybook/geshi.git", + "reference": "54387de80bc7ee50397ffae39234626a48d2d45f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/easybook/geshi/zipball/54387de80bc7ee50397ffae39234626a48d2d45f", + "reference": "54387de80bc7ee50397ffae39234626a48d2d45f", + "shasum": "" + }, + "require": { + "php": ">4.3.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "./" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0" + ], + "authors": [ + { + "name": "Nigel McNie", + "email": "nigel@geshi.org" + }, + { + "name": "Benny Baumann", + "email": "BenBE@geshi.org" + } + ], + "description": "GeSHi - Generic Syntax Highlighter. This is an unmodified port of GeSHi project code found on SourceForge.", + "homepage": "http://qbnz.com/highlighter", + "keywords": [ + "highlight", + "highlighter", + "syntax" + ], + "time": "2015-06-18 14:56:28" + }, + { + "name": "splitbrain/php-archive", + "version": "1.0.7", + "source": { + "type": "git", + "url": "https://github.com/splitbrain/php-archive.git", + "reference": "c075304b44c4aadff0718af445e86bf730f331ff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/splitbrain/php-archive/zipball/c075304b44c4aadff0718af445e86bf730f331ff", + "reference": "c075304b44c4aadff0718af445e86bf730f331ff", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "4.5.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "splitbrain\\PHPArchive\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Andreas Gohr", + "email": "andi@splitbrain.org" + } + ], + "description": "Pure-PHP implementation to read and write TAR and ZIP archives", + "keywords": [ + "archive", + "extract", + "tar", + "unpack", + "unzip", + "zip" + ], + "time": "2015-08-12 13:24:34" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [] +} diff --git a/conf/.htaccess b/conf/.htaccess index bcc3ea0bdd29b4b55ef28f7b6a2deaf749fef3bd..b3ffca597c182a9be02a0fc4d58c6a7e7931200c 100644 --- a/conf/.htaccess +++ b/conf/.htaccess @@ -1,3 +1,8 @@ ## no access to the conf directory -order allow,deny -deny from all +<IfModule mod_authz_host> + Require all denied +</IfModule> +<IfModule !mod_authz_host> + Order allow,deny + Deny from all +</IfModule> diff --git a/conf/interwiki.conf b/conf/interwiki.conf index d961912e5c513cc746af01bf504d99566dc742de..a314c081746618b37c68d08d4d5ba40f0ece9ca3 100644 --- a/conf/interwiki.conf +++ b/conf/interwiki.conf @@ -1,37 +1,41 @@ -# Each URL may contain one of the placeholders {URL} or {NAME} +# Each URL may contain one of these placeholders # {URL} is replaced by the URL encoded representation of the wikiname # this is the right thing to do in most cases # {NAME} this is replaced by the wikiname as given in the document -# no further encoding is done +# only mandatory encoded is done, urlencoding if the link +# is an external URL, or encoding as a wikiname if it is an +# internal link (begins with a colon) +# {SCHEME} +# {HOST} +# {PORT} +# {PATH} +# {QUERY} these placeholders will be replaced with the appropriate part +# of the link when parsed as a URL # If no placeholder is defined the urlencoded name is appended to the URL # To prevent losing your added InterWiki shortcuts after an upgrade, # you should add new ones to interwiki.local.conf -wp http://en.wikipedia.org/wiki/{NAME} -wpfr http://fr.wikipedia.org/wiki/{NAME} -wpde http://de.wikipedia.org/wiki/{NAME} -wpes http://es.wikipedia.org/wiki/{NAME} -wppl http://pl.wikipedia.org/wiki/{NAME} -wpjp http://ja.wikipedia.org/wiki/{NAME} -wpmeta http://meta.wikipedia.org/wiki/{NAME} -doku http://www.dokuwiki.org/ -dokubug http://bugs.dokuwiki.org/index.php?do=details&task_id= -rfc http://tools.ietf.org/html/rfc +wp https://en.wikipedia.org/wiki/{NAME} +wpfr https://fr.wikipedia.org/wiki/{NAME} +wpde https://de.wikipedia.org/wiki/{NAME} +wpes https://es.wikipedia.org/wiki/{NAME} +wppl https://pl.wikipedia.org/wiki/{NAME} +wpjp https://ja.wikipedia.org/wiki/{NAME} +wpmeta https://meta.wikipedia.org/wiki/{NAME} +doku https://www.dokuwiki.org/ +rfc https://tools.ietf.org/html/rfc man http://man.cx/ -amazon http://www.amazon.com/exec/obidos/ASIN/{URL}/splitbrain-20/ -amazon.de http://www.amazon.de/exec/obidos/ASIN/{URL}/splitbrain-21/ -amazon.uk http://www.amazon.co.uk/exec/obidos/ASIN/ +amazon https://www.amazon.com/exec/obidos/ASIN/{URL}/splitbrain-20/ +amazon.de https://www.amazon.de/exec/obidos/ASIN/{URL}/splitbrain-21/ +amazon.uk https://www.amazon.co.uk/exec/obidos/ASIN/ paypal https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business= -phpfn http://www.php.net/{NAME} -coral http://{HOST}.{PORT}.nyud.net:8090{PATH}?{QUERY} -freecache http://freecache.org/{NAME} -sb http://www.splitbrain.org/go/ +phpfn https://secure.php.net/{NAME} skype skype:{NAME} -google.de http://www.google.de/search?q= -go http://www.google.com/search?q={URL}&btnI=lucky +google.de https://www.google.de/search?q= +go https://www.google.com/search?q={URL}&btnI=lucky user :user:{NAME} -# To support VoIP/SIP links +# To support VoIP/SIP/TEL links callto callto://{NAME} - +tel tel:{NAME} diff --git a/conf/license.php b/conf/license.php index 89728ab57f53fb92185dc68285249f7faebb2302..30d409e2e26404dc2bef013499ee3cb59d931942 100644 --- a/conf/license.php +++ b/conf/license.php @@ -14,23 +14,23 @@ $license['publicdomain'] = array( 'url' => 'http://creativecommons.org/licenses/publicdomain/', ); $license['cc-by'] = array( - 'name' => 'CC Attribution 3.0 Unported', - 'url' => 'http://creativecommons.org/licenses/by/3.0/', + 'name' => 'CC Attribution 4.0 International', + 'url' => 'http://creativecommons.org/licenses/by/4.0/', ); $license['cc-by-sa'] = array( - 'name' => 'CC Attribution-Share Alike 3.0 Unported', - 'url' => 'http://creativecommons.org/licenses/by-sa/3.0/', + 'name' => 'CC Attribution-Share Alike 4.0 International', + 'url' => 'http://creativecommons.org/licenses/by-sa/4.0/', ); $license['gnufdl'] = array( 'name' => 'GNU Free Documentation License 1.3', 'url' => 'http://www.gnu.org/licenses/fdl-1.3.html', ); $license['cc-by-nc'] = array( - 'name' => 'CC Attribution-Noncommercial 3.0 Unported', - 'url' => 'http://creativecommons.org/licenses/by-nc/3.0/', + 'name' => 'CC Attribution-Noncommercial 4.0 International', + 'url' => 'http://creativecommons.org/licenses/by-nc/4.0/', ); $license['cc-by-nc-sa'] = array( - 'name' => 'CC Attribution-Noncommercial-Share Alike 3.0 Unported', - 'url' => 'http://creativecommons.org/licenses/by-nc-sa/3.0/', + 'name' => 'CC Attribution-Noncommercial-Share Alike 4.0 International', + 'url' => 'http://creativecommons.org/licenses/by-nc-sa/4.0/', ); diff --git a/conf/wordblock.conf b/conf/wordblock.conf index fc939a4d47bec6edac347ef140bc847c91ffc90b..3040fa08fb288708652d67ce69b0c1a65129318c 100644 --- a/conf/wordblock.conf +++ b/conf/wordblock.conf @@ -2,16 +2,12 @@ # patches welcome # https?:\/\/(\S*?)(-side-effects|top|pharm|pill|discount|discount-|deal|price|order|now|best|cheap|cheap-|online|buy|buy-|sale|sell)(\S*?)(cialis|viagra|prazolam|xanax|zanax|soma|vicodin|zenical|xenical|meridia|paxil|prozac|claritin|allegra|lexapro|wellbutrin|zoloft|retin|valium|levitra|phentermine) -gay\s*sex -bi\s*sex -incest +https?:\/\/(\S*?)(bi\s*sex|gay\s*sex|fetish|incest|penis|\brape\b) zoosex gang\s*bang facials ladyboy -fetish \btits\b -\brape\b bolea\.com 52crystal baida\.org diff --git a/data/.htaccess b/data/.htaccess index 281d5c33db37cd1cc887dbb2d36897b897835071..5f279f180699c2f115c326319a8afc645c5a7245 100644 --- a/data/.htaccess +++ b/data/.htaccess @@ -1,2 +1,7 @@ -order allow,deny -deny from all +<IfModule mod_authz_host> + Require all denied +</IfModule> +<IfModule !mod_authz_host> + Order allow,deny + Deny from all +</IfModule> diff --git a/data/deleted.files b/data/deleted.files index cac352c9d0822555957ed5a8f9fbff3b9cc32a2d..14fd785a0213c6a6a2ad26e2d427222647017991 100644 --- a/data/deleted.files +++ b/data/deleted.files @@ -2,27 +2,241 @@ # but were removed later. An up to date DokuWiki should not have any of # the files installed +# removed in 2015-08-10 +inc/TarLib.class.php +inc/geshi.php +inc/geshi/4cs.php +inc/geshi/6502acme.php +inc/geshi/6502kickass.php +inc/geshi/6502tasm.php +inc/geshi/68000devpac.php +inc/geshi/abap.php +inc/geshi/actionscript-french.php +inc/geshi/actionscript.php +inc/geshi/actionscript3.php +inc/geshi/ada.php +inc/geshi/algol68.php +inc/geshi/apache.php +inc/geshi/applescript.php +inc/geshi/apt_sources.php +inc/geshi/arm.php +inc/geshi/asm.php +inc/geshi/asp.php +inc/geshi/asymptote.php +inc/geshi/autoconf.php +inc/geshi/autohotkey.php +inc/geshi/autoit.php +inc/geshi/avisynth.php +inc/geshi/awk.php +inc/geshi/bascomavr.php +inc/geshi/bash.php +inc/geshi/basic4gl.php +inc/geshi/bf.php +inc/geshi/bibtex.php +inc/geshi/blitzbasic.php +inc/geshi/bnf.php +inc/geshi/boo.php +inc/geshi/c.php +inc/geshi/c_loadrunner.php +inc/geshi/c_mac.php +inc/geshi/caddcl.php +inc/geshi/cadlisp.php +inc/geshi/cfdg.php +inc/geshi/cfm.php +inc/geshi/chaiscript.php +inc/geshi/cil.php +inc/geshi/clojure.php +inc/geshi/cmake.php +inc/geshi/cobol.php +inc/geshi/coffeescript.php +inc/geshi/cpp-qt.php +inc/geshi/cpp.php +inc/geshi/csharp.php +inc/geshi/css.php +inc/geshi/cuesheet.php +inc/geshi/d.php +inc/geshi/dcl.php +inc/geshi/dcpu16.php +inc/geshi/dcs.php +inc/geshi/delphi.php +inc/geshi/diff.php +inc/geshi/div.php +inc/geshi/dos.php +inc/geshi/dot.php +inc/geshi/e.php +inc/geshi/ecmascript.php +inc/geshi/eiffel.php +inc/geshi/email.php +inc/geshi/epc.php +inc/geshi/erlang.php +inc/geshi/euphoria.php +inc/geshi/f1.php +inc/geshi/falcon.php +inc/geshi/fo.php +inc/geshi/fortran.php +inc/geshi/freebasic.php +inc/geshi/freeswitch.php +inc/geshi/fsharp.php +inc/geshi/gambas.php +inc/geshi/gdb.php +inc/geshi/genero.php +inc/geshi/genie.php +inc/geshi/gettext.php +inc/geshi/glsl.php +inc/geshi/gml.php +inc/geshi/gnuplot.php +inc/geshi/go.php +inc/geshi/groovy.php +inc/geshi/gwbasic.php +inc/geshi/haskell.php +inc/geshi/haxe.php +inc/geshi/hicest.php +inc/geshi/hq9plus.php +inc/geshi/html4strict.php +inc/geshi/html5.php +inc/geshi/icon.php +inc/geshi/idl.php +inc/geshi/ini.php +inc/geshi/inno.php +inc/geshi/intercal.php +inc/geshi/io.php +inc/geshi/j.php +inc/geshi/java.php +inc/geshi/java5.php +inc/geshi/javascript.php +inc/geshi/jquery.php +inc/geshi/kixtart.php +inc/geshi/klonec.php +inc/geshi/klonecpp.php +inc/geshi/latex.php +inc/geshi/lb.php +inc/geshi/ldif.php +inc/geshi/lisp.php +inc/geshi/llvm.php +inc/geshi/locobasic.php +inc/geshi/logtalk.php +inc/geshi/lolcode.php +inc/geshi/lotusformulas.php +inc/geshi/lotusscript.php +inc/geshi/lscript.php +inc/geshi/lsl2.php +inc/geshi/lua.php +inc/geshi/m68k.php +inc/geshi/magiksf.php +inc/geshi/make.php +inc/geshi/mapbasic.php +inc/geshi/matlab.php +inc/geshi/mirc.php +inc/geshi/mmix.php +inc/geshi/modula2.php +inc/geshi/modula3.php +inc/geshi/mpasm.php +inc/geshi/mxml.php +inc/geshi/mysql.php +inc/geshi/nagios.php +inc/geshi/netrexx.php +inc/geshi/newlisp.php +inc/geshi/nsis.php +inc/geshi/oberon2.php +inc/geshi/objc.php +inc/geshi/objeck.php +inc/geshi/ocaml-brief.php +inc/geshi/ocaml.php +inc/geshi/octave.php +inc/geshi/oobas.php +inc/geshi/oorexx.php +inc/geshi/oracle11.php +inc/geshi/oracle8.php +inc/geshi/oxygene.php +inc/geshi/oz.php +inc/geshi/parasail.php +inc/geshi/parigp.php +inc/geshi/pascal.php +inc/geshi/pcre.php +inc/geshi/per.php +inc/geshi/perl.php +inc/geshi/perl6.php +inc/geshi/pf.php +inc/geshi/php-brief.php +inc/geshi/php.php +inc/geshi/pic16.php +inc/geshi/pike.php +inc/geshi/pixelbender.php +inc/geshi/pli.php +inc/geshi/plsql.php +inc/geshi/postgresql.php +inc/geshi/povray.php +inc/geshi/powerbuilder.php +inc/geshi/powershell.php +inc/geshi/proftpd.php +inc/geshi/progress.php +inc/geshi/prolog.php +inc/geshi/properties.php +inc/geshi/providex.php +inc/geshi/purebasic.php +inc/geshi/pycon.php +inc/geshi/pys60.php +inc/geshi/python.php +inc/geshi/q.php +inc/geshi/qbasic.php +inc/geshi/rails.php +inc/geshi/rebol.php +inc/geshi/reg.php +inc/geshi/rexx.php +inc/geshi/robots.php +inc/geshi/rpmspec.php +inc/geshi/rsplus.php +inc/geshi/ruby.php +inc/geshi/sas.php +inc/geshi/scala.php +inc/geshi/scheme.php +inc/geshi/scilab.php +inc/geshi/sdlbasic.php +inc/geshi/smalltalk.php +inc/geshi/smarty.php +inc/geshi/spark.php +inc/geshi/sparql.php +inc/geshi/sql.php +inc/geshi/stonescript.php +inc/geshi/systemverilog.php +inc/geshi/tcl.php +inc/geshi/teraterm.php +inc/geshi/text.php +inc/geshi/thinbasic.php +inc/geshi/tsql.php +inc/geshi/typoscript.php +inc/geshi/unicon.php +inc/geshi/upc.php +inc/geshi/urbi.php +inc/geshi/uscript.php +inc/geshi/vala.php +inc/geshi/vb.php +inc/geshi/vbnet.php +inc/geshi/vedit.php +inc/geshi/verilog.php +inc/geshi/vhdl.php +inc/geshi/vim.php +inc/geshi/visualfoxpro.php +inc/geshi/visualprolog.php +inc/geshi/whitespace.php +inc/geshi/whois.php +inc/geshi/winbatch.php +inc/geshi/xbasic.php +inc/geshi/xml.php +inc/geshi/xorg_conf.php +inc/geshi/xpp.php +inc/geshi/yaml.php +inc/geshi/z80.php +inc/geshi/zxbasic.php +lib/images/interwiki/coral.gif +lib/images/interwiki/dokubug.gif +lib/images/interwiki/sb.gif +lib/scripts/drag.js +lib/scripts/jquery/jquery-ui-theme/images/animated-overlay.gif +lib/scripts/tw-sack.js + # removed in 2014-05-05 lib/images/fileicons/audio.png -lib/plugins/acl/lang/hi/lang.php -lib/plugins/acl/lang/id-ni/lang.php -lib/plugins/acl/lang/lb/lang.php -lib/plugins/acl/lang/ms/lang.php -lib/plugins/authad/lang/lv/settings.php -lib/plugins/authldap/lang/lv/settings.php -lib/plugins/authmysql/lang/fi/settings.php -lib/plugins/authmysql/lang/lv/settings.php -lib/plugins/authpgsql/lang/fi/settings.php -lib/plugins/authpgsql/lang/it/settings.php -lib/plugins/authpgsql/lang/lv/settings.php -lib/plugins/authpgsql/lang/pl/settings.php -lib/plugins/config/lang/hr/lang.php -lib/plugins/config/lang/id/lang.php -lib/plugins/config/lang/kk/lang.php -lib/plugins/config/lang/lb/lang.php -lib/plugins/config/lang/mk/lang.php -lib/plugins/config/lang/ms/lang.php -lib/plugins/config/lang/vi/lang.php lib/plugins/plugin/admin.php lib/plugins/plugin/classes/ap_delete.class.php lib/plugins/plugin/classes/ap_download.class.php @@ -134,31 +348,6 @@ lib/plugins/plugin/lang/zh/admin_plugin.txt lib/plugins/plugin/lang/zh/lang.php lib/plugins/plugin/plugin.info.txt lib/plugins/plugin/style.css -lib/plugins/popularity/lang/et/lang.php -lib/plugins/popularity/lang/hr/lang.php -lib/plugins/popularity/lang/id/lang.php -lib/plugins/popularity/lang/kk/lang.php -lib/plugins/popularity/lang/lb/lang.php -lib/plugins/popularity/lang/mk/lang.php -lib/plugins/popularity/lang/ms/lang.php -lib/plugins/popularity/lang/vi/lang.php -lib/plugins/revert/lang/af/lang.php -lib/plugins/revert/lang/hi/lang.php -lib/plugins/revert/lang/hr/lang.php -lib/plugins/revert/lang/id-ni/lang.php -lib/plugins/revert/lang/id/lang.php -lib/plugins/revert/lang/kk/lang.php -lib/plugins/revert/lang/lb/lang.php -lib/plugins/revert/lang/lt/lang.php -lib/plugins/revert/lang/mk/lang.php -lib/plugins/revert/lang/ms/lang.php -lib/plugins/revert/lang/vi/lang.php -lib/plugins/usermanager/lang/hi/lang.php -lib/plugins/usermanager/lang/hr/lang.php -lib/plugins/usermanager/lang/id-ni/lang.php -lib/plugins/usermanager/lang/lb/lang.php -lib/plugins/usermanager/lang/ms/lang.php -lib/plugins/usermanager/lang/vi/lang.php # removed in 2013-11-18 lib/images/arrow_down.gif @@ -443,7 +632,6 @@ lib/scripts/domTT.js # removed in 2006-11-06 inc/admin_acl.php -inc/lang/lt/stopwords.txt inc/magpie inc/magpie/rss_cache.inc inc/magpie/rss_fetch.inc diff --git a/data/media/wiki/dokuwiki-128.png b/data/media/wiki/dokuwiki-128.png index b2306ac9571f39c6f30c0a5967e5b520415b3d80..f3f1d66bd752d6874220fa4d35415ea97de79774 100644 Binary files a/data/media/wiki/dokuwiki-128.png and b/data/media/wiki/dokuwiki-128.png differ diff --git a/data/pages/wiki/dokuwiki.txt b/data/pages/wiki/dokuwiki.txt index 0e08fdcd30d36c38abcfb04da24925e7db1a6937..29843e5c64bab41251050809b3bb1721c6be7b82 100644 --- a/data/pages/wiki/dokuwiki.txt +++ b/data/pages/wiki/dokuwiki.txt @@ -57,7 +57,7 @@ All documentation and additional information besides the [[syntax|syntax descrip ===== Copyright ===== -2004-2013 (c) Andreas Gohr <andi@splitbrain.org>((Please do not contact me for help and support -- use the [[doku>mailinglist]] or [[http://forum.dokuwiki.org|forum]] instead)) and the DokuWiki Community +2004-2015 (c) Andreas Gohr <andi@splitbrain.org>((Please do not contact me for help and support -- use the [[doku>mailinglist]] or [[http://forum.dokuwiki.org|forum]] instead)) and the DokuWiki Community The DokuWiki engine is licensed under [[http://www.gnu.org/licenses/gpl.html|GNU General Public License]] Version 2. If you use DokuWiki in your company, consider [[doku>donate|donating]] a few bucks ;-). diff --git a/data/pages/wiki/syntax.txt b/data/pages/wiki/syntax.txt index 7b453efa2ba80530cea9bfb6bd268dbdd6b28ac7..bdfda9c467ea8d48a16ba54cd59042899db4e50f 100644 --- a/data/pages/wiki/syntax.txt +++ b/data/pages/wiki/syntax.txt @@ -83,9 +83,14 @@ Windows shares like [[\\server\share|this]] are recognized, too. Please note tha Notes: * For security reasons direct browsing of windows shares only works in Microsoft Internet Explorer per default (and only in the "local zone"). - * For Mozilla and Firefox it can be enabled through different workaround mentioned in the [[http://kb.mozillazine.org/Links_to_local_pages_do_not_work|Mozilla Knowledge Base]]. However, there will still be a JavaScript warning about trying to open a Windows Share. To remove this warning (for all users), put the following line in ''conf/userscript.js'': - - LANG.nosmblinks = ''; + * For Mozilla and Firefox it can be enabled through different workaround mentioned in the [[http://kb.mozillazine.org/Links_to_local_pages_do_not_work|Mozilla Knowledge Base]]. However, there will still be a JavaScript warning about trying to open a Windows Share. To remove this warning (for all users), put the following line in ''conf/lang/en/lang.php'' (more details at [[doku>localization#changing_some_localized_texts_and_strings_in_your_installation|localization]]): <code - conf/lang/en/lang.php> +<?php +/** + * Customization of the english language file + * Copy only the strings that needs to be modified + */ +$lang['js']['nosmblinks'] = ''; +</code> ==== Image Links ==== @@ -170,6 +175,12 @@ DokuWiki can embed the following media formats directly. If you specify a filename that is not a supported media format, then it will be displayed as a link instead. +By adding ''?linkonly'' you provide a link to the media without displaying it inline + + {{wiki:dokuwiki-128.png?linkonly}} + +{{wiki:dokuwiki-128.png?linkonly}} This is just a link to the image. + ==== Fallback Formats ==== Unfortunately not all browsers understand all video and audio formats. To mitigate the problem, you can upload your file in different formats for maximum browser compatibility. @@ -261,17 +272,19 @@ There are three exceptions which do not come from that pattern file: multiplicat Some times you want to mark some text to show it's a reply or comment. You can use the following syntax: - I think we should do it - - > No we shouldn't - - >> Well, I say we should - - > Really? - - >> Yes! - - >>> Then lets do it! +<code> +I think we should do it + +> No we shouldn't + +>> Well, I say we should + +> Really? + +>> Yes! + +>>> Then lets do it! +</code> I think we should do it @@ -317,7 +330,7 @@ As you can see, it's the cell separator before a cell which decides about the fo ^ Heading 4 | no colspan this time | | ^ Heading 5 | Row 2 Col 2 | Row 2 Col 3 | -You can have rowspans (vertically connected cells) by adding '':::'' into the cells below the one to which they should connect. +You can have rowspans (vertically connected cells) by adding ''%%:::%%'' into the cells below the one to which they should connect. ^ Heading 1 ^ Heading 2 ^ Heading 3 ^ | Row 1 Col 1 | this cell spans vertically | Row 1 Col 3 | diff --git a/data/security.png b/data/security.png index c4f1a977189e88ffeb7b8a8f80050847033757d8..cea639eca4ead79de695186127d41e6499c97e4a 100644 Binary files a/data/security.png and b/data/security.png differ diff --git a/doku.php b/doku.php index f5aa6cfa4a4c8d29829e08b643dca5bb80009607..b1797fdf2a6898e18750952f565ab50728240a80 100644 --- a/doku.php +++ b/doku.php @@ -8,8 +8,8 @@ * @global Input $INPUT */ -// update message version -$updateVersion = 47; +// update message version - always use a string to avoid localized floats! +$updateVersion = "48"; // xdebug_start_profiling(); @@ -77,7 +77,7 @@ if($DATE_AT) { $DATE_AT = null; } else if ($rev_t === false) { //page did not exist $rev_n = $pagelog->getRelativeRevision($DATE_AT,+1); - msg(sprintf($lang['page_nonexist_rev'], + msg(sprintf($lang['page_nonexist_rev'], strftime($conf['dformat'],$DATE_AT), wl($ID, array('rev' => $rev_n)), strftime($conf['dformat'],$rev_n))); diff --git a/feed.php b/feed.php index 7ea2e235e349ec630b4041df4c9c9eb7c634f7eb..7b3b5e9407b8fdaa96f25904175ab65e3a7a6a3c 100644 --- a/feed.php +++ b/feed.php @@ -135,7 +135,7 @@ function rss_parseOptions() { 'content_type' => array('str', 'view', $conf['rss_media']) ) as $name => $val) { - $opt[$name] = $INPUT->$val[0]($val[1], $val[2], true); + $opt[$name] = $INPUT->{$val[0]}($val[1], $val[2], true); } $opt['items'] = max(0, (int) $opt['items']); diff --git a/inc/.htaccess b/inc/.htaccess index 2d9c357fff3ccc47d0bd6f9a232c2c2cb163ed01..2b34c725f6a5645d8c6e050513a364e76aecb939 100644 --- a/inc/.htaccess +++ b/inc/.htaccess @@ -1,3 +1,8 @@ ## no access to the inc directory -order allow,deny -deny from all +<IfModule mod_authz_host> + Require all denied +</IfModule> +<IfModule !mod_authz_host> + Order allow,deny + Deny from all +</IfModule> diff --git a/inc/Form/ButtonElement.php b/inc/Form/ButtonElement.php new file mode 100644 index 0000000000000000000000000000000000000000..77c30ed4ff8439350f354a8cd22dc85d4d806f9b --- /dev/null +++ b/inc/Form/ButtonElement.php @@ -0,0 +1,34 @@ +<?php +namespace dokuwiki\Form; + +/** + * Class ButtonElement + * + * Represents a simple button + * + * @package dokuwiki\Form + */ +class ButtonElement extends Element { + + /** @var string HTML content */ + protected $content = ''; + + /** + * @param string $name + * @param string $content HTML content of the button. You have to escape it yourself. + */ + function __construct($name, $content = '') { + parent::__construct('button', array('name' => $name, 'value' => 1)); + $this->content = $content; + } + + /** + * The HTML representation of this element + * + * @return string + */ + public function toHTML() { + return '<button ' . buildAttributes($this->attrs()) . '>'.$this->content.'</button>'; + } + +} diff --git a/inc/Form/CheckableElement.php b/inc/Form/CheckableElement.php new file mode 100644 index 0000000000000000000000000000000000000000..a57bbc1f628fb230d712b901817ce2101e8e5785 --- /dev/null +++ b/inc/Form/CheckableElement.php @@ -0,0 +1,62 @@ +<?php +namespace dokuwiki\Form; + +/** + * Class CheckableElement + * + * For Radio- and Checkboxes + * + * @package DokuForm + */ +class CheckableElement extends InputElement { + + /** + * @param string $type The type of this element + * @param string $name The name of this form element + * @param string $label The label text for this element + */ + public function __construct($type, $name, $label) { + parent::__construct($type, $name, $label); + // default value is 1 + $this->attr('value', 1); + } + + /** + * Handles the useInput flag and sets the checked attribute accordingly + */ + protected function prefillInput() { + global $INPUT; + list($name, $key) = $this->getInputName(); + $myvalue = $this->val(); + + if(!$INPUT->has($name)) return; + + if($key === null) { + // no key - single value + $value = $INPUT->str($name); + if($value == $myvalue) { + $this->attr('checked', 'checked'); + } else { + $this->rmattr('checked'); + } + } else { + // we have an array, there might be several values in it + $input = $INPUT->arr($name); + if(isset($input[$key])) { + $this->rmattr('checked'); + + // values seem to be in another sub array + if(is_array($input[$key])) { + $input = $input[$key]; + } + + foreach($input as $value) { + if($value == $myvalue) { + $this->attr('checked', 'checked'); + } + } + } + } + } + +} diff --git a/inc/Form/Element.php b/inc/Form/Element.php new file mode 100644 index 0000000000000000000000000000000000000000..7938ee0090434e2ba07d00ac5c4e33616ce4b703 --- /dev/null +++ b/inc/Form/Element.php @@ -0,0 +1,151 @@ +<?php +namespace dokuwiki\Form; + +/** + * Class Element + * + * The basic building block of a form + * + * @package dokuwiki\Form + */ +abstract class Element { + + /** + * @var array the attributes of this element + */ + protected $attributes = array(); + + /** + * @var string The type of this element + */ + protected $type; + + /** + * @param string $type The type of this element + * @param array $attributes + */ + public function __construct($type, $attributes = array()) { + $this->type = $type; + $this->attributes = $attributes; + } + + /** + * Type of this element + * + * @return string + */ + public function getType() { + return $this->type; + } + + /** + * Gets or sets an attribute + * + * When no $value is given, the current content of the attribute is returned. + * An empty string is returned for unset attributes. + * + * When a $value is given, the content is set to that value and the Element + * itself is returned for easy chaining + * + * @param string $name Name of the attribute to access + * @param null|string $value New value to set + * @return string|$this + */ + public function attr($name, $value = null) { + // set + if($value !== null) { + $this->attributes[$name] = $value; + return $this; + } + + // get + if(isset($this->attributes[$name])) { + return $this->attributes[$name]; + } else { + return ''; + } + } + + /** + * Removes the given attribute if it exists + * + * @param $name + * @return $this + */ + public function rmattr($name) { + if(isset($this->attributes[$name])) { + unset($this->attributes[$name]); + } + return $this; + } + + /** + * Gets or adds a all given attributes at once + * + * @param array|null $attributes + * @return array|$this + */ + public function attrs($attributes = null) { + // set + if($attributes) { + foreach((array) $attributes as $key => $val) { + $this->attr($key, $val); + } + return $this; + } + // get + return $this->attributes; + } + + /** + * Adds a class to the class attribute + * + * This is the preferred method of setting the element's class + * + * @param string $class the new class to add + * @return $this + */ + public function addClass($class) { + $classes = explode(' ', $this->attr('class')); + $classes[] = $class; + $classes = array_unique($classes); + $classes = array_filter($classes); + $this->attr('class', join(' ', $classes)); + return $this; + } + + /** + * Get or set the element's ID + * + * This is the preferred way of setting the element's ID + * + * @param null|string $id + * @return string|$this + */ + public function id($id = null) { + if(strpos($id, '__') === false) { + throw new \InvalidArgumentException('IDs in DokuWiki have to contain two subsequent underscores'); + } + + return $this->attr('id', $id); + } + + /** + * Get or set the element's value + * + * This is the preferred way of setting the element's value + * + * @param null|string $value + * @return string|$this + */ + public function val($value = null) { + return $this->attr('value', $value); + } + + /** + * The HTML representation of this element + * + * @return string + */ + abstract public function toHTML(); +} diff --git a/inc/Form/FieldsetCloseElement.php b/inc/Form/FieldsetCloseElement.php new file mode 100644 index 0000000000000000000000000000000000000000..8f26717aa86af400523257cf359d524f29017d92 --- /dev/null +++ b/inc/Form/FieldsetCloseElement.php @@ -0,0 +1,30 @@ +<?php +namespace dokuwiki\Form; + +/** + * Class FieldsetCloseElement + * + * Closes an open Fieldset + * + * @package dokuwiki\Form + */ +class FieldsetCloseElement extends TagCloseElement { + + /** + * @param array $attributes + */ + public function __construct($attributes = array()) { + parent::__construct('', $attributes); + $this->type = 'fieldsetclose'; + } + + + /** + * The HTML representation of this element + * + * @return string + */ + public function toHTML() { + return '</fieldset>'; + } +} diff --git a/inc/Form/FieldsetOpenElement.php b/inc/Form/FieldsetOpenElement.php new file mode 100644 index 0000000000000000000000000000000000000000..a7de461faa6d0a9bd9256120d88e265c48b8879e --- /dev/null +++ b/inc/Form/FieldsetOpenElement.php @@ -0,0 +1,36 @@ +<?php +namespace dokuwiki\Form; + +/** + * Class FieldsetOpenElement + * + * Opens a Fieldset with an optional legend + * + * @package dokuwiki\Form + */ +class FieldsetOpenElement extends TagOpenElement { + + /** + * @param string $legend + * @param array $attributes + */ + public function __construct($legend='', $attributes = array()) { + // this is a bit messy and we just do it for the nicer class hierarchy + // the parent would expect the tag in $value but we're storing the + // legend there, so we have to set the type manually + parent::__construct($legend, $attributes); + $this->type = 'fieldsetopen'; + } + + /** + * The HTML representation of this element + * + * @return string + */ + public function toHTML() { + $html = '<fieldset '.buildAttributes($this->attrs()).'>'; + $legend = $this->val(); + if($legend) $html .= DOKU_LF.'<legend>'.hsc($legend).'</legend>'; + return $html; + } +} diff --git a/inc/Form/Form.php b/inc/Form/Form.php new file mode 100644 index 0000000000000000000000000000000000000000..7eaa53041ff6685d2ba760f494d44f3386b474d6 --- /dev/null +++ b/inc/Form/Form.php @@ -0,0 +1,426 @@ +<?php +namespace dokuwiki\Form; + +/** + * Class Form + * + * Represents the whole Form. This is what you work on, and add Elements to + * + * @package dokuwiki\Form + */ +class Form extends Element { + + /** + * @var array name value pairs for hidden values + */ + protected $hidden = array(); + + /** + * @var Element[] the elements of the form + */ + protected $elements = array(); + + /** + * Creates a new, empty form with some default attributes + * + * @param array $attributes + */ + public function __construct($attributes = array()) { + global $ID; + + parent::__construct('form', $attributes); + + // use the current URL as default action + if(!$this->attr('action')) { + $get = $_GET; + if(isset($get['id'])) unset($get['id']); + $self = wl($ID, $get, false, '&'); //attributes are escaped later + $this->attr('action', $self); + } + + // post is default + if(!$this->attr('method')) { + $this->attr('method', 'post'); + } + + // we like UTF-8 + if(!$this->attr('accept-charset')) { + $this->attr('accept-charset', 'utf-8'); + } + + // add the security token by default + $this->setHiddenField('sectok', getSecurityToken()); + + // identify this as a new form based form in HTML + $this->addClass('doku_form'); + } + + /** + * Sets a hidden field + * + * @param $name + * @param $value + * @return $this + */ + public function setHiddenField($name, $value) { + $this->hidden[$name] = $value; + return $this; + } + + #region element query function + + /** + * Returns the numbers of elements in the form + * + * @return int + */ + public function elementCount() { + return count($this->elements); + } + + /** + * Returns a reference to the element at a position. + * A position out-of-bounds will return either the + * first (underflow) or last (overflow) element. + * + * @param $pos + * @return Element + */ + public function getElementAt($pos) { + if($pos < 0) $pos = count($this->elements) + $pos; + if($pos < 0) $pos = 0; + if($pos >= count($this->elements)) $pos = count($this->elements) - 1; + return $this->elements[$pos]; + } + + /** + * Gets the position of the first of a type of element + * + * @param string $type Element type to look for. + * @param int $offset search from this position onward + * @return false|int position of element if found, otherwise false + */ + public function findPositionByType($type, $offset = 0) { + $len = $this->elementCount(); + for($pos = $offset; $pos < $len; $pos++) { + if($this->elements[$pos]->getType() == $type) { + return $pos; + } + } + return false; + } + + /** + * Gets the position of the first element matching the attribute + * + * @param string $name Name of the attribute + * @param string $value Value the attribute should have + * @param int $offset search from this position onward + * @return false|int position of element if found, otherwise false + */ + public function findPositionByAttribute($name, $value, $offset = 0) { + $len = $this->elementCount(); + for($pos = $offset; $pos < $len; $pos++) { + if($this->elements[$pos]->attr($name) == $value) { + return $pos; + } + } + return false; + } + + #endregion + + #region Element positioning functions + + /** + * Adds or inserts an element to the form + * + * @param Element $element + * @param int $pos 0-based position in the form, -1 for at the end + * @return Element + */ + public function addElement(Element $element, $pos = -1) { + if(is_a($element, '\dokuwiki\Form\Form')) throw new \InvalidArgumentException('You can\'t add a form to a form'); + if($pos < 0) { + $this->elements[] = $element; + } else { + array_splice($this->elements, $pos, 0, array($element)); + } + return $element; + } + + /** + * Replaces an existing element with a new one + * + * @param Element $element the new element + * @param $pos 0-based position of the element to replace + */ + public function replaceElement(Element $element, $pos) { + if(is_a($element, '\dokuwiki\Form\Form')) throw new \InvalidArgumentException('You can\'t add a form to a form'); + array_splice($this->elements, $pos, 1, array($element)); + } + + /** + * Remove an element from the form completely + * + * @param $pos 0-based position of the element to remove + */ + public function removeElement($pos) { + array_splice($this->elements, $pos, 1); + } + + #endregion + + #region Element adding functions + + /** + * Adds a text input field + * + * @param $name + * @param $label + * @param int $pos + * @return InputElement + */ + public function addTextInput($name, $label = '', $pos = -1) { + return $this->addElement(new InputElement('text', $name, $label), $pos); + } + + /** + * Adds a password input field + * + * @param $name + * @param $label + * @param int $pos + * @return InputElement + */ + public function addPasswordInput($name, $label = '', $pos = -1) { + return $this->addElement(new InputElement('password', $name, $label), $pos); + } + + /** + * Adds a radio button field + * + * @param $name + * @param $label + * @param int $pos + * @return CheckableElement + */ + public function addRadioButton($name, $label = '', $pos = -1) { + return $this->addElement(new CheckableElement('radio', $name, $label), $pos); + } + + /** + * Adds a checkbox field + * + * @param $name + * @param $label + * @param int $pos + * @return CheckableElement + */ + public function addCheckbox($name, $label = '', $pos = -1) { + return $this->addElement(new CheckableElement('checkbox', $name, $label), $pos); + } + + /** + * Adds a textarea field + * + * @param $name + * @param $label + * @param int $pos + * @return TextareaElement + */ + public function addTextarea($name, $label = '', $pos = -1) { + return $this->addElement(new TextareaElement($name, $label), $pos); + } + + /** + * Adds a simple button, escapes the content for you + * + * @param string $name + * @param string $content + * @param int $pos + * @return Element + */ + public function addButton($name, $content, $pos = -1) { + return $this->addElement(new ButtonElement($name, hsc($content)), $pos); + } + + /** + * Adds a simple button, allows HTML for content + * + * @param string $name + * @param string $html + * @param int $pos + * @return Element + */ + public function addButtonHTML($name, $html, $pos = -1) { + return $this->addElement(new ButtonElement($name, $html), $pos); + } + + /** + * Adds a label referencing another input element, escapes the label for you + * + * @param $label + * @param string $for + * @param int $pos + * @return Element + */ + public function addLabel($label, $for='', $pos = -1) { + return $this->addLabelHTML(hsc($label), $for, $pos); + } + + /** + * Adds a label referencing another input element, allows HTML for content + * + * @param string $content + * @param string|Element $for + * @param int $pos + * @return Element + */ + public function addLabelHTML($content, $for='', $pos = -1) { + $element = new LabelElement(hsc($content)); + + if(is_a($for, '\dokuwiki\Form\Element')) { + /** @var Element $for */ + $for = $for->id(); + } + $for = (string) $for; + if($for !== '') { + $element->attr('for', $for); + } + + return $this->addElement($element, $pos); + } + + /** + * Add fixed HTML to the form + * + * @param $html + * @param int $pos + * @return HTMLElement + */ + public function addHTML($html, $pos = -1) { + return $this->addElement(new HTMLElement($html), $pos); + } + + /** + * Add a closed HTML tag to the form + * + * @param $tag + * @param int $pos + * @return TagElement + */ + public function addTag($tag, $pos = -1) { + return $this->addElement(new TagElement($tag), $pos); + } + + /** + * Add an open HTML tag to the form + * + * Be sure to close it again! + * + * @param $tag + * @param int $pos + * @return TagOpenElement + */ + public function addTagOpen($tag, $pos = -1) { + return $this->addElement(new TagOpenElement($tag), $pos); + } + + /** + * Add a closing HTML tag to the form + * + * Be sure it had been opened before + * + * @param $tag + * @param int $pos + * @return TagCloseElement + */ + public function addTagClose($tag, $pos = -1) { + return $this->addElement(new TagCloseElement($tag), $pos); + } + + /** + * Open a Fieldset + * + * @param $legend + * @param int $pos + * @return FieldsetOpenElement + */ + public function addFieldsetOpen($legend = '', $pos = -1) { + return $this->addElement(new FieldsetOpenElement($legend), $pos); + } + + /** + * Close a fieldset + * + * @param int $pos + * @return TagCloseElement + */ + public function addFieldsetClose($pos = -1) { + return $this->addElement(new FieldsetCloseElement(), $pos); + } + + #endregion + + /** + * Adjust the elements so that fieldset open and closes are matching + */ + protected function balanceFieldsets() { + $lastclose = 0; + $isopen = false; + $len = count($this->elements); + + for($pos = 0; $pos < $len; $pos++) { + $type = $this->elements[$pos]->getType(); + if($type == 'fieldsetopen') { + if($isopen) { + //close previous fieldset + $this->addFieldsetClose($pos); + $lastclose = $pos + 1; + $pos++; + $len++; + } + $isopen = true; + } else if($type == 'fieldsetclose') { + if(!$isopen) { + // make sure there was a fieldsetopen + // either right after the last close or at the begining + $this->addFieldsetOpen('', $lastclose); + $len++; + $pos++; + } + $lastclose = $pos; + $isopen = false; + } + } + + // close open fieldset at the end + if($isopen) { + $this->addFieldsetClose(); + } + } + + /** + * The HTML representation of the whole form + * + * @return string + */ + public function toHTML() { + $this->balanceFieldsets(); + + $html = '<form ' . buildAttributes($this->attrs()) . '>' . DOKU_LF; + + foreach($this->hidden as $name => $value) { + $html .= '<input type="hidden" name="' . $name . '" value="' . formText($value) . '" />' . DOKU_LF; + } + + foreach($this->elements as $element) { + $html .= $element->toHTML() . DOKU_LF; + } + + $html .= '</form>' . DOKU_LF; + + return $html; + } +} diff --git a/inc/Form/HTMLElement.php b/inc/Form/HTMLElement.php new file mode 100644 index 0000000000000000000000000000000000000000..591cf472f97578aa829b7b19981d8b6a271b7432 --- /dev/null +++ b/inc/Form/HTMLElement.php @@ -0,0 +1,29 @@ +<?php +namespace dokuwiki\Form; + +/** + * Class HTMLElement + * + * Holds arbitrary HTML that is added as is to the Form + * + * @package dokuwiki\Form + */ +class HTMLElement extends ValueElement { + + + /** + * @param string $html + */ + public function __construct($html) { + parent::__construct('html', $html); + } + + /** + * The HTML representation of this element + * + * @return string + */ + public function toHTML() { + return $this->val(); + } +} diff --git a/inc/Form/InputElement.php b/inc/Form/InputElement.php new file mode 100644 index 0000000000000000000000000000000000000000..694dd0848de543a00da945761d9c155089fca161 --- /dev/null +++ b/inc/Form/InputElement.php @@ -0,0 +1,161 @@ +<?php +namespace dokuwiki\Form; + +/** + * Class InputElement + * + * Base class for all input elements. Uses a wrapping label when label + * text is given. + * + * @todo figure out how to make wrapping or related label configurable + * @package dokuwiki\Form + */ +class InputElement extends Element { + /** + * @var LabelElement + */ + protected $label = null; + + /** + * @var bool if the element should reflect posted values + */ + protected $useInput = true; + + /** + * @param string $type The type of this element + * @param string $name The name of this form element + * @param string $label The label text for this element (will be autoescaped) + */ + public function __construct($type, $name, $label = '') { + parent::__construct($type, array('name' => $name)); + $this->attr('name', $name); + $this->attr('type', $type); + if($label) $this->label = new LabelElement($label); + } + + /** + * Returns the label element if there's one set + * + * @return LabelElement|null + */ + public function getLabel() { + return $this->label; + } + + /** + * Should the user sent input be used to initialize the input field + * + * The default is true. Any set values will be overwritten by the INPUT + * provided values. + * + * @param bool $useinput + * @return $this + */ + public function useInput($useinput) { + $this->useInput = (bool) $useinput; + return $this; + } + + /** + * Get or set the element's ID + * + * @param null|string $id + * @return string|$this + */ + public function id($id = null) { + if($this->label) $this->label->attr('for', $id); + return parent::id($id); + } + + /** + * Adds a class to the class attribute + * + * This is the preferred method of setting the element's class + * + * @param string $class the new class to add + * @return $this + */ + public function addClass($class) { + if($this->label) $this->label->addClass($class); + return parent::addClass($class); + } + + /** + * Figures out how to access the value for this field from INPUT data + * + * The element's name could have been given as a simple string ('foo') + * or in array notation ('foo[bar]'). + * + * Note: this function only handles one level of arrays. If your data + * is nested deeper, you should call useInput(false) and set the + * correct value yourself + * + * @return array name and array key (null if not an array) + */ + protected function getInputName() { + $name = $this->attr('name'); + parse_str("$name=1", $parsed); + + $name = array_keys($parsed); + $name = array_shift($name); + + if(is_array($parsed[$name])) { + $key = array_keys($parsed[$name]); + $key = array_shift($key); + } else { + $key = null; + } + + return array($name, $key); + } + + /** + * Handles the useInput flag and set the value attribute accordingly + */ + protected function prefillInput() { + global $INPUT; + + list($name, $key) = $this->getInputName(); + if(!$INPUT->has($name)) return; + + if($key === null) { + $value = $INPUT->str($name); + } else { + $value = $INPUT->arr($name); + if(isset($value[$key])) { + $value = $value[$key]; + } else { + $value = ''; + } + } + if($value !== '') { + $this->val($value); + } + } + + /** + * The HTML representation of this element + * + * @return string + */ + protected function mainElementHTML() { + if($this->useInput) $this->prefillInput(); + return '<input ' . buildAttributes($this->attrs()) . ' />'; + } + + /** + * The HTML representation of this element wrapped in a label + * + * @return string + */ + public function toHTML() { + if($this->label) { + return '<label ' . buildAttributes($this->label->attrs()) . '>' . DOKU_LF . + '<span>' . hsc($this->label->val()) . '</span>' . DOKU_LF . + $this->mainElementHTML() . DOKU_LF . + '</label>'; + } else { + return $this->mainElementHTML(); + } + } +} diff --git a/inc/Form/LabelElement.php b/inc/Form/LabelElement.php new file mode 100644 index 0000000000000000000000000000000000000000..9c8d542774132dda3beb012e7648fd654af4ba6b --- /dev/null +++ b/inc/Form/LabelElement.php @@ -0,0 +1,27 @@ +<?php +namespace dokuwiki\Form; + +/** + * Class Label + * @package dokuwiki\Form + */ +class LabelElement extends ValueElement { + + /** + * Creates a new Label + * + * @param string $label This is is raw HTML and will not be escaped + */ + public function __construct($label) { + parent::__construct('label', $label); + } + + /** + * The HTML representation of this element + * + * @return string + */ + public function toHTML() { + return '<label ' . buildAttributes($this->attrs()) . '>' . $this->val() . '</label>'; + } +} diff --git a/inc/Form/LegacyForm.php b/inc/Form/LegacyForm.php new file mode 100644 index 0000000000000000000000000000000000000000..1b47ba204966ce9df84c4d406c8429b28b3a1e0c --- /dev/null +++ b/inc/Form/LegacyForm.php @@ -0,0 +1,181 @@ +<?php +namespace dokuwiki\Form; + +/** + * Class LegacyForm + * + * Provides a compatibility layer to the old Doku_Form API + * + * This can be used to work with the modern API on forms provided by old events for + * example. When you start new forms, just use Form\Form + * + * @package dokuwiki\Form + */ +class LegacyForm extends Form { + + /** + * Creates a new modern form from an old legacy Doku_Form + * + * @param \Doku_Form $oldform + */ + public function __construct(\Doku_Form $oldform) { + parent::__construct($oldform->params); + + $this->hidden = $oldform->_hidden; + + foreach($oldform->_content as $element) { + list($ctl, $attr) = $this->parseLegacyAttr($element); + + if(is_array($element)) { + switch($ctl['elem']) { + case 'wikitext': + $this->addTextarea('wikitext') + ->attrs($attr) + ->id('wiki__text') + ->val($ctl['text']) + ->addClass($ctl['class']); + break; + case 'textfield': + $this->addTextInput($ctl['name'], $ctl['text']) + ->attrs($attr) + ->id($ctl['id']) + ->addClass($ctl['class']); + break; + case 'passwordfield': + $this->addPasswordInput($ctl['name'], $ctl['text']) + ->attrs($attr) + ->id($ctl['id']) + ->addClass($ctl['class']); + break; + case 'checkboxfield': + $this->addCheckbox($ctl['name'], $ctl['text']) + ->attrs($attr) + ->id($ctl['id']) + ->addClass($ctl['class']); + break; + case 'radiofield': + $this->addRadioButton($ctl['name'], $ctl['text']) + ->attrs($attr) + ->id($ctl['id']) + ->addClass($ctl['class']); + break; + case 'tag': + $this->addTag($ctl['tag']) + ->attrs($attr) + ->attr('name', $ctl['name']) + ->id($ctl['id']) + ->addClass($ctl['class']); + break; + case 'opentag': + $this->addTagOpen($ctl['tag']) + ->attrs($attr) + ->attr('name', $ctl['name']) + ->id($ctl['id']) + ->addClass($ctl['class']); + break; + case 'closetag': + $this->addTagClose($ctl['tag']); + break; + case 'openfieldset': + $this->addFieldsetOpen($ctl['legend']) + ->attrs($attr) + ->attr('name', $ctl['name']) + ->id($ctl['id']) + ->addClass($ctl['class']); + break; + case 'closefieldset': + $this->addFieldsetClose(); + break; + case 'button': + case 'field': + case 'fieldright': + case 'filefield': + case 'menufield': + case 'listboxfield': + throw new \UnexpectedValueException('Unsupported legacy field ' . $ctl['elem']); + break; + default: + throw new \UnexpectedValueException('Unknown legacy field ' . $ctl['elem']); + + } + } else { + $this->addHTML($element); + } + } + + } + + /** + * Parses out what is the elements attributes and what is control info + * + * @param array $legacy + * @return array + */ + protected function parseLegacyAttr($legacy) { + $attributes = array(); + $control = array(); + + foreach($legacy as $key => $val) { + if($key{0} == '_') { + $control[substr($key, 1)] = $val; + } elseif($key == 'name') { + $control[$key] = $val; + } elseif($key == 'id') { + $control[$key] = $val; + } else { + $attributes[$key] = $val; + } + } + + return array($control, $attributes); + } + + /** + * Translates our types to the legacy types + * + * @param string $type + * @return string + */ + protected function legacyType($type) { + static $types = array( + 'text' => 'textfield', + 'password' => 'passwordfield', + 'checkbox' => 'checkboxfield', + 'radio' => 'radiofield', + 'tagopen' => 'opentag', + 'tagclose' => 'closetag', + 'fieldsetopen' => 'openfieldset', + 'fieldsetclose' => 'closefieldset', + ); + if(isset($types[$type])) return $types[$type]; + return $type; + } + + /** + * Creates an old legacy form from this modern form's data + * + * @return \Doku_Form + */ + public function toLegacy() { + $this->balanceFieldsets(); + + $legacy = new \Doku_Form($this->attrs()); + $legacy->_hidden = $this->hidden; + foreach($this->elements as $element) { + if(is_a($element, 'dokuwiki\Form\HTMLElement')) { + $legacy->_content[] = $element->toHTML(); + } elseif(is_a($element, 'dokuwiki\Form\InputElement')) { + /** @var InputElement $element */ + $data = $element->attrs(); + $data['_elem'] = $this->legacyType($element->getType()); + $label = $element->getLabel(); + if($label) { + $data['_class'] = $label->attr('class'); + } + $legacy->_content[] = $data; + } + } + + return $legacy; + } +} diff --git a/inc/Form/TagCloseElement.php b/inc/Form/TagCloseElement.php new file mode 100644 index 0000000000000000000000000000000000000000..dc0264c21ee676a772ffdedfdbd27132cfc83576 --- /dev/null +++ b/inc/Form/TagCloseElement.php @@ -0,0 +1,76 @@ +<?php +namespace dokuwiki\Form; + +/** + * Class TagCloseElement + * + * Creates an HTML close tag. You have to make sure it has been opened + * before or this will produce invalid HTML + * + * @package dokuwiki\Form + */ +class TagCloseElement extends ValueElement { + + /** + * @param string $tag + * @param array $attributes + */ + public function __construct($tag, $attributes = array()) { + parent::__construct('tagclose', $tag, $attributes); + } + + /** + * do not call this + * + * @param $class + * @return void + * @throws \BadMethodCallException + */ + public function addClass($class) { + throw new \BadMethodCallException('You can\t add classes to closing tag'); + } + + /** + * do not call this + * + * @param $id + * @return void + * @throws \BadMethodCallException + */ + public function id($id = null) { + throw new \BadMethodCallException('You can\t add ID to closing tag'); + } + + /** + * do not call this + * + * @param $name + * @param $value + * @return void + * @throws \BadMethodCallException + */ + public function attr($name, $value = null) { + throw new \BadMethodCallException('You can\t add attributes to closing tag'); + } + + /** + * do not call this + * + * @param $attributes + * @return void + * @throws \BadMethodCallException + */ + public function attrs($attributes = null) { + throw new \BadMethodCallException('You can\t add attributes to closing tag'); + } + + /** + * The HTML representation of this element + * + * @return string + */ + public function toHTML() { + return '</'.$this->val().'>'; + } + +} diff --git a/inc/Form/TagElement.php b/inc/Form/TagElement.php new file mode 100644 index 0000000000000000000000000000000000000000..ea5144c9c8710dec92e32a02536afaee73032ccd --- /dev/null +++ b/inc/Form/TagElement.php @@ -0,0 +1,29 @@ +<?php +namespace dokuwiki\Form; + +/** + * Class TagElement + * + * Creates a self closing HTML tag + * + * @package dokuwiki\Form + */ +class TagElement extends ValueElement { + + /** + * @param string $tag + * @param array $attributes + */ + public function __construct($tag, $attributes = array()) { + parent::__construct('tag', $tag, $attributes); + } + + /** + * The HTML representation of this element + * + * @return string + */ + public function toHTML() { + return '<'.$this->val().' '.buildAttributes($this->attrs()).' />'; + } +} diff --git a/inc/Form/TagOpenElement.php b/inc/Form/TagOpenElement.php new file mode 100644 index 0000000000000000000000000000000000000000..0afe97b459a3fd85ddaea578a72e6237502e3aa2 --- /dev/null +++ b/inc/Form/TagOpenElement.php @@ -0,0 +1,30 @@ +<?php +namespace dokuwiki\Form; + +/** + * Class TagOpenElement + * + * Creates an open HTML tag. You have to make sure you close it + * again or this will produce invalid HTML + * + * @package dokuwiki\Form + */ +class TagOpenElement extends ValueElement { + + /** + * @param string $tag + * @param array $attributes + */ + public function __construct($tag, $attributes = array()) { + parent::__construct('tagopen', $tag, $attributes); + } + + /** + * The HTML representation of this element + * + * @return string + */ + public function toHTML() { + return '<'.$this->val().' '.buildAttributes($this->attrs()).'>'; + } +} diff --git a/inc/Form/TextareaElement.php b/inc/Form/TextareaElement.php new file mode 100644 index 0000000000000000000000000000000000000000..9d461fdf5b7de16db312f3d2eb95aca3044dbe93 --- /dev/null +++ b/inc/Form/TextareaElement.php @@ -0,0 +1,51 @@ +<?php +namespace dokuwiki\Form; + +/** + * Class TextareaElement + * @package dokuwiki\Form + */ +class TextareaElement extends InputElement { + + /** + * @var string the actual text within the area + */ + protected $text; + + /** + * @param string $name The name of this form element + * @param string $label The label text for this element + */ + public function __construct($name, $label) { + parent::__construct('textarea', $name, $label); + $this->attr('dir', 'auto'); + } + + /** + * Get or set the element's value + * + * This is the preferred way of setting the element's value + * + * @param null|string $value + * @return string|$this + */ + public function val($value = null) { + if($value !== null) { + $this->text = $value; + return $this; + } + return $this->text; + } + + /** + * The HTML representation of this element + * + * @return string + */ + protected function mainElementHTML() { + if($this->useInput) $this->prefillInput(); + return '<textarea ' . buildAttributes($this->attrs()) . '>' . + formText($this->val()) . '</textarea>'; + } + +} diff --git a/inc/Form/ValueElement.php b/inc/Form/ValueElement.php new file mode 100644 index 0000000000000000000000000000000000000000..9dc2fd0df6ad8f0817a428304af6cb2447f764ff --- /dev/null +++ b/inc/Form/ValueElement.php @@ -0,0 +1,45 @@ +<?php + +namespace dokuwiki\Form; + +/** + * Class ValueElement + * + * Just like an Element but it's value is not part of its attributes + * + * What the value is (tag name, content, etc) is defined by the actual implementations + * + * @package dokuwiki\Form + */ +abstract class ValueElement extends Element { + + /** + * @var string holds the element's value + */ + protected $value = ''; + + /** + * @param string $type + * @param array|string $value + * @param array $attributes + */ + public function __construct($type, $value, $attributes = array()) { + parent::__construct($type, $attributes); + $this->val($value); + } + + /** + * Get or set the element's value + * + * @param null|string $value + * @return string|$this + */ + public function val($value = null) { + if($value !== null) { + $this->value = $value; + return $this; + } + return $this->value; + } + +} diff --git a/inc/HTTPClient.php b/inc/HTTPClient.php index 76d973c38bfba4be7996fac1728187b86b6e7573..4aefcfe5abacd457d1ab5d291b93f77b1bea4db1 100644 --- a/inc/HTTPClient.php +++ b/inc/HTTPClient.php @@ -592,18 +592,24 @@ class HTTPClient { // set correct peer name for verification (enabled since PHP 5.6) stream_context_set_option($socket, 'ssl', 'peer_name', $requestinfo['host']); - // Because of older PHP versions having trouble with TLS (enable_crypto returns true, but - // the conection still borks) we try SSLv3 first - if (@stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_SSLv3_CLIENT)) { - $requesturl = $requestinfo['path']; + // because SSLv3 is mostly broken, we try TLS connections here first. + // according to https://github.com/splitbrain/dokuwiki/commit/c05ef534 we had problems with certain + // setups with this solution before, but we have no usable test for that and TLS should be the more + // common crypto by now + if (@stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_TLS_CLIENT)) { + $requesturl = $requestinfo['path']. + (!empty($requestinfo['query'])?'?'.$requestinfo['query']:''); return true; } - // If the proxy does not support SSLv3 we try TLS - if (@stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_TLS_CLIENT)) { - $requesturl = $requestinfo['path']; + // if the above failed, this will most probably not work either, but we can try + if (@stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_SSLv3_CLIENT)) { + $requesturl = $requestinfo['path']. + (!empty($requestinfo['query'])?'?'.$requestinfo['query']:''); return true; } + + throw new HTTPClientException('Failed to set up crypto for secure connection to '.$requestinfo['host'], -151); } throw new HTTPClientException('Failed to establish secure proxy connection', -150); diff --git a/inc/IXR_Library.php b/inc/IXR_Library.php index 8392986806e171b1122b9b4016ea5133465b671f..5ae1402b955120d24867c2aaa3986db891d41690 100644 --- a/inc/IXR_Library.php +++ b/inc/IXR_Library.php @@ -52,7 +52,7 @@ class IXR_Value { * @param mixed $data * @param bool $type */ - function IXR_Value($data, $type = false) { + function __construct($data, $type = false) { $this->data = $data; if(!$type) { $type = $this->calculateType(); @@ -201,7 +201,7 @@ class IXR_Message { /** * @param string $message */ - function IXR_Message($message) { + function __construct($message) { $this->message =& $message; } @@ -297,6 +297,7 @@ class IXR_Message { * @param $tag */ function tag_close($parser, $tag) { + $value = null; $valueFlag = false; switch($tag) { case 'int': @@ -388,7 +389,7 @@ class IXR_Server { * @param bool $data * @param bool $wait */ - function IXR_Server($callbacks = false, $data = false, $wait = false) { + function __construct($callbacks = false, $data = false, $wait = false) { $this->setCapabilities(); if($callbacks) { $this->callbacks = $callbacks; @@ -621,7 +622,7 @@ class IXR_Request { * @param string $method * @param array $args */ - function IXR_Request($method, $args) { + function __construct($method, $args) { $this->method = $method; $this->args = $args; $this->xml = <<<EOD @@ -684,7 +685,7 @@ class IXR_Client extends DokuHTTPClient { * @param int $port * @param int $timeout */ - function IXR_Client($server, $path = false, $port = 80, $timeout = 15) { + function __construct($server, $path = false, $port = 80, $timeout = 15) { parent::__construct(); if(!$path) { // Assume we have been given a URL instead @@ -779,7 +780,7 @@ class IXR_Error { * @param int $code * @param string $message */ - function IXR_Error($code, $message) { + function __construct($code, $message) { $this->code = $code; $this->message = htmlspecialchars($message); } @@ -818,18 +819,14 @@ EOD; * @since 1.5 */ class IXR_Date { - var $year; - var $month; - var $day; - var $hour; - var $minute; - var $second; - var $timezone; + + /** @var DateTime */ + protected $date; /** * @param int|string $time */ - function IXR_Date($time) { + public function __construct($time) { // $time can be a PHP timestamp or an ISO one if(is_numeric($time)) { $this->parseTimestamp($time); @@ -839,51 +836,48 @@ class IXR_Date { } /** + * Parse unix timestamp + * * @param int $timestamp */ - function parseTimestamp($timestamp) { - $this->year = gmdate('Y', $timestamp); - $this->month = gmdate('m', $timestamp); - $this->day = gmdate('d', $timestamp); - $this->hour = gmdate('H', $timestamp); - $this->minute = gmdate('i', $timestamp); - $this->second = gmdate('s', $timestamp); - $this->timezone = ''; + protected function parseTimestamp($timestamp) { + $this->date = new DateTime('@' . $timestamp); } /** + * Parses less or more complete iso dates and much more, if no timezone given assumes UTC + * * @param string $iso */ - function parseIso($iso) { - if(preg_match('/^(\d\d\d\d)-?(\d\d)-?(\d\d)([T ](\d\d):(\d\d)(:(\d\d))?)?/', $iso, $match)) { - $this->year = (int) $match[1]; - $this->month = (int) $match[2]; - $this->day = (int) $match[3]; - $this->hour = (int) $match[5]; - $this->minute = (int) $match[6]; - $this->second = (int) $match[8]; - } + protected function parseIso($iso) { + $this->date = new DateTime($iso, new DateTimeZone("UTC")); } /** + * Returns date in ISO 8601 format + * * @return string */ - function getIso() { - return $this->year . $this->month . $this->day . 'T' . $this->hour . ':' . $this->minute . ':' . $this->second . $this->timezone; + public function getIso() { + return $this->date->format(DateTime::ISO8601); } /** + * Returns date in valid xml + * * @return string */ - function getXml() { + public function getXml() { return '<dateTime.iso8601>' . $this->getIso() . '</dateTime.iso8601>'; } /** + * Returns Unix timestamp + * * @return int */ function getTimestamp() { - return gmmktime($this->hour, $this->minute, $this->second, $this->month, $this->day, $this->year); + return $this->date->getTimestamp(); } } @@ -899,7 +893,7 @@ class IXR_Base64 { /** * @param string $data */ - function IXR_Base64($data) { + function __construct($data) { $this->data = $data; } @@ -923,7 +917,10 @@ class IXR_IntrospectionServer extends IXR_Server { /** @var string[] */ var $help; - function IXR_IntrospectionServer() { + /** + * Constructor + */ + function __construct() { $this->setCallbacks(); $this->setCapabilities(); $this->capabilities['introspection'] = array( @@ -1106,8 +1103,8 @@ class IXR_ClientMulticall extends IXR_Client { * @param string|bool $path * @param int $port */ - function IXR_ClientMulticall($server, $path = false, $port = 80) { - parent::IXR_Client($server, $path, $port); + function __construct($server, $path = false, $port = 80) { + parent::__construct($server, $path, $port); //$this->useragent = 'The Incutio XML-RPC PHP Library (multicall client)'; } diff --git a/inc/JSON.php b/inc/JSON.php index 7f89005ff80109d44eb8ace1100f0e64327c1c47..e01488e14690e9bdfff46df0fed71225f2cf7af9 100644 --- a/inc/JSON.php +++ b/inc/JSON.php @@ -119,7 +119,7 @@ class JSON { * JSON_LOOSE_TYPE - loose typing * "{...}" syntax creates associative arrays in decode. */ - function JSON($use=JSON_STRICT_TYPE) { + function __construct($use=JSON_STRICT_TYPE) { $this->use = $use; } diff --git a/inc/JpegMeta.php b/inc/JpegMeta.php index cd082cbba832d64925d38b761bf2a30d8e239e5d..1fa4f25cec69022962830535ca5925a2daf33ef6 100644 --- a/inc/JpegMeta.php +++ b/inc/JpegMeta.php @@ -54,7 +54,7 @@ class JpegMeta { * * @author Sebastian Delmont <sdelmont@zonageek.com> */ - function JpegMeta($fileName) { + function __construct($fileName) { $this->_fileName = $fileName; diff --git a/inc/PassHash.class.php b/inc/PassHash.class.php index 15f896dcff09cbd305ae15dca680f35668d82897..0701c4116fa7756d0e4c2f8d4124af55eb53ce65 100644 --- a/inc/PassHash.class.php +++ b/inc/PassHash.class.php @@ -50,7 +50,7 @@ class PassHash { } elseif(preg_match('/^md5\$(.{5})\$/', $hash, $m)) { $method = 'djangomd5'; $salt = $m[1]; - } elseif(preg_match('/^\$2a\$(.{2})\$/', $hash, $m)) { + } elseif(preg_match('/^\$2(a|y)\$(.{2})\$/', $hash, $m)) { $method = 'bcrypt'; $salt = $hash; } elseif(substr($hash, 0, 6) == '{SSHA}') { diff --git a/inc/Tar.class.php b/inc/Tar.class.php index 0dc7dace2c9bcacb7be8bede59296af86ce7a22e..57c280d7991d9646dd10835d1880067686da59e4 100644 --- a/inc/Tar.class.php +++ b/inc/Tar.class.php @@ -43,6 +43,7 @@ * @author Andreas Gohr <andi@splitbrain.org> * @author Bouchon <tarlib@bouchon.org> (Maxg) * @license GPL 2 + * @deprecated 2015-05-15 - use splitbrain\PHPArchive\Tar instead */ class Tar { diff --git a/inc/TarLib.class.php b/inc/TarLib.class.php deleted file mode 100644 index dd319a79aedc1097427e3c7fd848574fda1ad44e..0000000000000000000000000000000000000000 --- a/inc/TarLib.class.php +++ /dev/null @@ -1,89 +0,0 @@ -<?php - -/** - * This is a compatibility wrapper around the new Tar class - * - * Use of this library is strongly discouraged. Only basic extraction is wrapped, - * everything else will fail. - * - * @deprecated 2012-11-06 - */ -class TarLib { - - const COMPRESS_GZIP = 1; - const COMPRESS_BZIP = 2; - const COMPRESS_AUTO = 3; - const COMPRESS_NONE = 0; - const TARLIB_VERSION = '1.2'; - const FULL_ARCHIVE = -1; - const ARCHIVE_DYNAMIC = 0; - const ARCHIVE_RENAMECOMP = 5; - const COMPRESS_DETECT = -1; - - private $file = ''; - private $tar; - - public $_result = true; - - function __construct($file, $comptype = TarLib::COMPRESS_AUTO, $complevel = 9) { - dbg_deprecated('class Tar'); - - if(!$file) $this->error('__construct', '$file'); - - $this->file = $file; - switch($comptype) { - case TarLib::COMPRESS_AUTO: - case TarLib::COMPRESS_DETECT: - $comptype = Tar::COMPRESS_AUTO; - break; - case TarLib::COMPRESS_GZIP: - $comptype = Tar::COMPRESS_GZIP; - break; - case TarLib::COMPRESS_BZIP: - $comptype = Tar::COMPRESS_BZIP; - break; - default: - $comptype = Tar::COMPRESS_NONE; - } - - $this->complevel = $complevel; - - try { - $this->tar = new Tar(); - $this->tar->open($file, $comptype); - } catch(Exception $e) { - $this->_result = false; - } - } - - function Extract($p_what = TarLib::FULL_ARCHIVE, $p_to = '.', $p_remdir = '', $p_mode = 0755) { - if($p_what != TarLib::FULL_ARCHIVE) { - $this->error('Extract', 'Ep_what'); - return 0; - } - - try { - $this->tar->extract($p_to, $p_remdir); - } catch(Exception $e) { - return 0; - } - return 1; - } - - function error($func, $param = '') { - $error = 'TarLib is deprecated and should no longer be used.'; - - if($param) { - $error .= "In this compatibility wrapper, the function '$func' does not accept your value for". - "the parameter '$param' anymore."; - } else { - $error .= "The function '$func' no longer exists in this compatibility wrapper."; - } - - msg($error, -1); - } - - function __call($name, $arguments) { - $this->error($name); - } -} \ No newline at end of file diff --git a/inc/ZipLib.class.php b/inc/ZipLib.class.php index 5b524c4ab04fde6153c7d2cad9787bf63e27561b..1358ca45eeaf9cf777a0e96f22fd67cf18344b6b 100644 --- a/inc/ZipLib.class.php +++ b/inc/ZipLib.class.php @@ -6,6 +6,7 @@ * @link http://forum.maxg.info * * Modified for Dokuwiki + * @deprecated 2015-05-15 - use splitbrain\PHPArchive\Zip instead * @author Christopher Smith <chris@jalakai.co.uk> */ class ZipLib { diff --git a/inc/actions.php b/inc/actions.php index 709c19dddcd3383c0d58a89166098513dcf8f088..adba2aa3233108d2ea4b3044067e1d24f5a77ca9 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -29,6 +29,8 @@ function act_dispatch(){ // give plugins an opportunity to process the action $evt = new Doku_Event('ACTION_ACT_PREPROCESS',$ACT); + + $headers = array(); if ($evt->advise_before()) { //sanitize $ACT @@ -144,8 +146,10 @@ function act_dispatch(){ $ACT = act_draftdel($ACT); //draft saving on preview - if($ACT == 'preview') + if($ACT == 'preview') { + $headers[] = "X-XSS-Protection: 0"; $ACT = act_draftsave($ACT); + } //edit if(in_array($ACT, array('edit', 'preview', 'recover'))) { @@ -162,20 +166,9 @@ function act_dispatch(){ if($ACT == 'admin'){ // retrieve admin plugin name from $_REQUEST['page'] if (($page = $INPUT->str('page', '', true)) != '') { - $pluginlist = plugin_list('admin'); - if (in_array($page, $pluginlist)) { - // attempt to load the plugin - - if (($plugin = plugin_load('admin',$page)) !== null){ - /** @var DokuWiki_Admin_Plugin $plugin */ - if($plugin->forAdminOnly() && !$INFO['isadmin']){ - // a manager tried to load a plugin that's for admins only - $INPUT->remove('page'); - msg('For admins only',-1); - }else{ - $plugin->handle(); - } - } + /** @var $plugin DokuWiki_Admin_Plugin */ + if ($plugin = plugin_getRequestAdminPlugin()){ + $plugin->handle(); } } } @@ -200,7 +193,6 @@ function act_dispatch(){ global $license; //call template FIXME: all needed vars available? - $headers = array(); $headers[] = 'Content-Type: text/html; charset=utf-8'; trigger_event('ACTION_HEADERS_SEND',$headers,'act_sendheaders'); diff --git a/inc/auth.php b/inc/auth.php index 17923ba2adc6113fe46a65a4ece57ffa6aaf571a..8965ee4c019cb2236799e44c76ab5953061cf12f 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -101,10 +101,7 @@ function auth_setup() { $INPUT->set('p', stripctl($INPUT->str('p'))); } - if($INPUT->str('authtok')) { - // when an authentication token is given, trust the session - auth_validateToken($INPUT->str('authtok')); - } elseif(!is_null($auth) && $auth->canDo('external')) { + if(!is_null($auth) && $auth->canDo('external')) { // external trust mechanism in place $auth->trustExternal($INPUT->str('u'), $INPUT->str('p'), $INPUT->bool('r')); } else { @@ -274,52 +271,6 @@ function auth_login($user, $pass, $sticky = false, $silent = false) { return false; } -/** - * Checks if a given authentication token was stored in the session - * - * Will setup authentication data using data from the session if the - * token is correct. Will exit with a 401 Status if not. - * - * @author Andreas Gohr <andi@splitbrain.org> - * - * @param string $token The authentication token - * @return boolean|null true (or will exit on failure) - */ -function auth_validateToken($token) { - if(!$token || $token != $_SESSION[DOKU_COOKIE]['auth']['token']) { - // bad token - http_status(401); - print 'Invalid auth token - maybe the session timed out'; - unset($_SESSION[DOKU_COOKIE]['auth']['token']); // no second chance - exit; - } - // still here? trust the session data - global $USERINFO; - /* @var Input $INPUT */ - global $INPUT; - - $INPUT->server->set('REMOTE_USER',$_SESSION[DOKU_COOKIE]['auth']['user']); - $USERINFO = $_SESSION[DOKU_COOKIE]['auth']['info']; - return true; -} - -/** - * Create an auth token and store it in the session - * - * NOTE: this is completely unrelated to the getSecurityToken() function - * - * @author Andreas Gohr <andi@splitbrain.org> - * - * @return string The auth token - */ -function auth_createToken() { - $token = md5(auth_randombytes(16)); - @session_start(); // reopen the session if needed - $_SESSION[DOKU_COOKIE]['auth']['token'] = $token; - session_write_close(); - return $token; -} - /** * Builds a pseudo UID from browser and IP data * @@ -739,27 +690,22 @@ function auth_aclcheck_cb($data) { $user = utf8_strtolower($user); $groups = array_map('utf8_strtolower', $groups); } - $user = $auth->cleanUser($user); + $user = auth_nameencode($auth->cleanUser($user)); $groups = array_map(array($auth, 'cleanGroup'), (array) $groups); - $user = auth_nameencode($user); //prepend groups with @ and nameencode - $cnt = count($groups); - for($i = 0; $i < $cnt; $i++) { - $groups[$i] = '@'.auth_nameencode($groups[$i]); + foreach($groups as &$group) { + $group = '@'.auth_nameencode($group); } $ns = getNS($id); $perm = -1; - if($user || count($groups)) { - //add ALL group - $groups[] = '@ALL'; - //add User - if($user) $groups[] = $user; - } else { - $groups[] = '@ALL'; - } + //add ALL group + $groups[] = '@ALL'; + + //add User + if($user) $groups[] = $user; //check exact match first $matches = preg_grep('/^'.preg_quote($id, '/').'[ \t]+([^ \t]+)[ \t]+/', $AUTH_ACL); @@ -1006,7 +952,7 @@ function register() { //okay try to create the user if(!$auth->triggerUserMod('create', array($login, $pass, $fullname, $email))) { - msg($lang['reguexists'], -1); + msg($lang['regfail'], -1); return false; } @@ -1098,17 +1044,18 @@ function updateprofile() { } } - if($result = $auth->triggerUserMod('modify', array($INPUT->server->str('REMOTE_USER'), &$changes))) { - // update cookie and session with the changed data - if($changes['pass']) { - list( /*user*/, $sticky, /*pass*/) = auth_getCookie(); - $pass = auth_encrypt($changes['pass'], auth_cookiesalt(!$sticky, true)); - auth_setCookie($INPUT->server->str('REMOTE_USER'), $pass, (bool) $sticky); - } - return true; + if(!$auth->triggerUserMod('modify', array($INPUT->server->str('REMOTE_USER'), &$changes))) { + msg($lang['proffail'], -1); + return false; } - return false; + // update cookie and session with the changed data + if($changes['pass']) { + list( /*user*/, $sticky, /*pass*/) = auth_getCookie(); + $pass = auth_encrypt($changes['pass'], auth_cookiesalt(!$sticky, true)); + auth_setCookie($INPUT->server->str('REMOTE_USER'), $pass, (bool) $sticky); + } + return true; } /** @@ -1221,7 +1168,7 @@ function act_resendpwd() { // change it if(!$auth->triggerUserMod('modify', array($user, array('pass' => $pass)))) { - msg('error modifying user data', -1); + msg($lang['proffail'], -1); return false; } @@ -1229,7 +1176,7 @@ function act_resendpwd() { $pass = auth_pwgen($user); if(!$auth->triggerUserMod('modify', array($user, array('pass' => $pass)))) { - msg('error modifying user data', -1); + msg($lang['proffail'], -1); return false; } diff --git a/inc/cache.php b/inc/cache.php index 68f64eaa2fd8255490709e5fe61c13112fa1eea4..9375dc86be863f4372687e272b3971882376d600 100644 --- a/inc/cache.php +++ b/inc/cache.php @@ -26,7 +26,7 @@ class cache { * @param string $key primary identifier * @param string $ext file extension */ - public function cache($key,$ext) { + public function __construct($key,$ext) { $this->key = $key; $this->ext = $ext; $this->cache = getCacheName($key,$ext); @@ -188,12 +188,12 @@ class cache_parser extends cache { * @param string $file source file for cache * @param string $mode input mode */ - public function cache_parser($id, $file, $mode) { + public function __construct($id, $file, $mode) { if ($id) $this->page = $id; $this->file = $file; $this->mode = $mode; - parent::cache($file.$_SERVER['HTTP_HOST'].$_SERVER['SERVER_PORT'],'.'.$mode); + parent::__construct($file.$_SERVER['HTTP_HOST'].$_SERVER['SERVER_PORT'],'.'.$mode); } /** @@ -308,8 +308,8 @@ class cache_instructions extends cache_parser { * @param string $id page id * @param string $file source file for cache */ - public function cache_instructions($id, $file) { - parent::cache_parser($id, $file, 'i'); + public function __construct($id, $file) { + parent::__construct($id, $file, 'i'); } /** diff --git a/inc/changelog.php b/inc/changelog.php index d1ef7973e33ce4889356146306589034d4a1c94c..f4731021ca48c63e14eae6d414eb02132cf72866 100644 --- a/inc/changelog.php +++ b/inc/changelog.php @@ -849,18 +849,17 @@ abstract class ChangeLog { public function isCurrentRevision($rev) { return $rev == @filemtime($this->getFilename()); } - + /** - * Return an existing revision for a specific date which is + * Return an existing revision for a specific date which is * the current one or younger or equal then the date * - * @param string $id * @param number $date_at timestamp * @return string revision ('' for current) */ function getLastRevisionAt($date_at){ //requested date_at(timestamp) younger or equal then modified_time($this->id) => load current - if($date_at >= @filemtime($this->getFilename())) { + if($date_at >= @filemtime($this->getFilename())) { return ''; } else if ($rev = $this->getRelativeRevision($date_at+1, -1)) { //+1 to get also the requested date revision return $rev; @@ -1049,6 +1048,12 @@ class MediaChangelog extends ChangeLog { * * @author Ben Coburn <btcoburn@silicodon.net> * @author Kate Arzamastseva <pshns@ukr.net> + * + * @param string $id + * @param int $rev + * @param int $chunk_size + * @param bool $media + * @return array|bool */ function getRevisionInfo($id, $rev, $chunk_size = 8192, $media = false) { dbg_deprecated('class PageChangeLog or class MediaChangelog'); diff --git a/inc/cliopts.php b/inc/cliopts.php index 7d71c7dc922431d83d18e8b17a8be3aa71dbad9e..d7d06119a2ccb2a167e0a44f5ce39f916c0dd003 100644 --- a/inc/cliopts.php +++ b/inc/cliopts.php @@ -447,7 +447,7 @@ class Doku_Cli_Opts_Error { var $code; var $msg; - function Doku_Cli_Opts_Error($code, $msg) { + function __construct($code, $msg) { $this->code = $code; $this->msg = $msg; } @@ -468,7 +468,7 @@ class Doku_Cli_Opts_Container { var $options = array(); var $args = array(); - function Doku_Cli_Opts_Container($options) { + function __construct($options) { foreach ( $options[0] as $option ) { if ( false !== ( strpos($option[0], '--') ) ) { $opt_name = substr($option[0], 2); diff --git a/inc/common.php b/inc/common.php index 5a8b5c90069f89ddfa6701dbedabd59d9884dcb4..68af14e50b6d558995c4ee500937154bc9d51ed3 100644 --- a/inc/common.php +++ b/inc/common.php @@ -30,6 +30,32 @@ function hsc($string) { return htmlspecialchars($string, ENT_QUOTES, 'UTF-8'); } +/** + * Checks if the given input is blank + * + * This is similar to empty() but will return false for "0". + * + * Please note: when you pass uninitialized variables, they will implicitly be created + * with a NULL value without warning. + * + * To avoid this it's recommended to guard the call with isset like this: + * + * (isset($foo) && !blank($foo)) + * (!isset($foo) || blank($foo)) + * + * @param $in + * @param bool $trim Consider a string of whitespace to be blank + * @return bool + */ +function blank(&$in, $trim = false) { + if(is_null($in)) return true; + if(is_array($in)) return empty($in); + if($in === "\0") return true; + if($trim && trim($in) === '') return true; + if(strlen($in) > 0) return false; + return empty($in); +} + /** * print a newline terminated string * @@ -1164,6 +1190,38 @@ function con($pre, $text, $suf, $pretty = false) { return $pre.$text.$suf; } +/** + * Checks if the current page version is newer than the last entry in the page's + * changelog. If so, we assume it has been an external edit and we create an + * attic copy and add a proper changelog line. + * + * This check is only executed when the page is about to be saved again from the + * wiki, triggered in @see saveWikiText() + * + * @param string $id the page ID + */ +function detectExternalEdit($id) { + global $lang; + + $file = wikiFN($id); + $old = @filemtime($file); // from page + $pagelog = new PageChangeLog($id, 1024); + $oldRev = $pagelog->getRevisions(-1, 1); // from changelog + $oldRev = (int) (empty($oldRev) ? 0 : $oldRev[0]); + + if(!file_exists(wikiFN($id, $old)) && file_exists($file) && $old >= $oldRev) { + // add old revision to the attic if missing + saveOldRevision($id); + // add a changelog entry if this edit came from outside dokuwiki + if($old > $oldRev) { + addLogEntry($old, $id, DOKU_CHANGE_TYPE_EDIT, $lang['external_edit'], '', array('ExternalEdit'=> true)); + // remove soon to be stale instructions + $cache = new cache_instructions($id, $file); + $cache->removeCache(); + } + } +} + /** * Saves a wikitext by calling io_writeWikiPage. * Also directs changelog and attic updates. @@ -1189,77 +1247,72 @@ function saveWikiText($id, $text, $summary, $minor = false) { /* @var Input $INPUT */ global $INPUT; - // ignore if no changes were made - if($text == rawWiki($id, '')) { - return; - } + // prepare data for event + $svdta = array(); + $svdta['id'] = $id; + $svdta['file'] = wikiFN($id); + $svdta['revertFrom'] = $REV; + $svdta['oldRevision'] = @filemtime($svdta['file']); + $svdta['newRevision'] = 0; + $svdta['newContent'] = $text; + $svdta['oldContent'] = rawWiki($id); + $svdta['summary'] = $summary; + $svdta['contentChanged'] = ($svdta['newContent'] != $svdta['oldContent']); + $svdta['changeInfo'] = ''; + $svdta['changeType'] = DOKU_CHANGE_TYPE_EDIT; - $file = wikiFN($id); - $old = @filemtime($file); // from page - $wasRemoved = (trim($text) == ''); // check for empty or whitespace only - $wasCreated = !file_exists($file); - $wasReverted = ($REV == true); - $pagelog = new PageChangeLog($id, 1024); - $newRev = false; - $oldRev = $pagelog->getRevisions(-1, 1); // from changelog - $oldRev = (int) (empty($oldRev) ? 0 : $oldRev[0]); - if(!file_exists(wikiFN($id, $old)) && file_exists($file) && $old >= $oldRev) { - // add old revision to the attic if missing - saveOldRevision($id); - // add a changelog entry if this edit came from outside dokuwiki - if($old > $oldRev) { - addLogEntry($old, $id, DOKU_CHANGE_TYPE_EDIT, $lang['external_edit'], '', array('ExternalEdit'=> true)); - // remove soon to be stale instructions - $cache = new cache_instructions($id, $file); - $cache->removeCache(); - } + // select changelog line type + if($REV) { + $svdta['changeType'] = DOKU_CHANGE_TYPE_REVERT; + $svdta['changeInfo'] = $REV; + } else if(!file_exists($svdta['file'])) { + $svdta['changeType'] = DOKU_CHANGE_TYPE_CREATE; + } else if(trim($text) == '') { + // empty or whitespace only content deletes + $svdta['changeType'] = DOKU_CHANGE_TYPE_DELETE; + // autoset summary on deletion + if(blank($svdta['summary'])) $svdta['summary'] = $lang['deleted']; + } else if($minor && $conf['useacl'] && $INPUT->server->str('REMOTE_USER')) { + //minor edits only for logged in users + $svdta['changeType'] = DOKU_CHANGE_TYPE_MINOR_EDIT; } - if($wasRemoved) { + $event = new Doku_Event('COMMON_WIKIPAGE_SAVE', $svdta); + if(!$event->advise_before()) return; + + // if the content has not been changed, no save happens (plugins may override this) + if(!$svdta['contentChanged']) return; + + detectExternalEdit($id); + if($svdta['changeType'] == DOKU_CHANGE_TYPE_DELETE) { // Send "update" event with empty data, so plugins can react to page deletion - $data = array(array($file, '', false), getNS($id), noNS($id), false); + $data = array(array($svdta['file'], '', false), getNS($id), noNS($id), false); trigger_event('IO_WIKIPAGE_WRITE', $data); // pre-save deleted revision - @touch($file); + @touch($svdta['file']); clearstatcache(); - $newRev = saveOldRevision($id); + $data['newRevision'] = saveOldRevision($id); // remove empty file - @unlink($file); + @unlink($svdta['file']); // don't remove old meta info as it should be saved, plugins can use IO_WIKIPAGE_WRITE for removing their metadata... // purge non-persistant meta data p_purge_metadata($id); - $del = true; - // autoset summary on deletion - if(empty($summary)) $summary = $lang['deleted']; // remove empty namespaces io_sweepNS($id, 'datadir'); io_sweepNS($id, 'mediadir'); } else { // save file (namespace dir is created in io_writeWikiPage) - io_writeWikiPage($file, $text, $id); + io_writeWikiPage($svdta['file'], $text, $id); // pre-save the revision, to keep the attic in sync - $newRev = saveOldRevision($id); - $del = false; + $svdta['newRevision'] = saveOldRevision($id); } - // select changelog line type - $extra = ''; - $type = DOKU_CHANGE_TYPE_EDIT; - if($wasReverted) { - $type = DOKU_CHANGE_TYPE_REVERT; - $extra = $REV; - } else if($wasCreated) { - $type = DOKU_CHANGE_TYPE_CREATE; - } else if($wasRemoved) { - $type = DOKU_CHANGE_TYPE_DELETE; - } else if($minor && $conf['useacl'] && $INPUT->server->str('REMOTE_USER')) { - $type = DOKU_CHANGE_TYPE_MINOR_EDIT; - } //minor edits only for logged in users + $event->advise_after(); - addLogEntry($newRev, $id, $type, $summary, $extra); + addLogEntry($svdta['newRevision'], $svdta['id'], $svdta['changeType'], $svdta['summary'], $svdta['changeInfo']); // send notify mails - notify($id, 'admin', $old, $summary, $minor); - notify($id, 'subscribers', $old, $summary, $minor); + notify($svdta['id'], 'admin', $svdta['oldRevision'], $svdta['summary'], $minor); + notify($svdta['id'], 'subscribers', $svdta['oldRevision'], $svdta['summary'], $minor); // update the purgefile (timestamp of the last time anything within the wiki was changed) io_saveFile($conf['cachedir'].'/purgefile', time()); @@ -1860,7 +1913,7 @@ function valid_input_set($param, $valid_values, $array, $exc = '') { */ function get_doku_pref($pref, $default) { $enc_pref = urlencode($pref); - if(strpos($_COOKIE['DOKU_PREFS'], $enc_pref) !== false) { + if(isset($_COOKIE['DOKU_PREFS']) && strpos($_COOKIE['DOKU_PREFS'], $enc_pref) !== false) { $parts = explode('#', $_COOKIE['DOKU_PREFS']); $cnt = count($parts); for($i = 0; $i < $cnt; $i += 2) { @@ -1875,6 +1928,7 @@ function get_doku_pref($pref, $default) { /** * Add a preference to the DokuWiki cookie * (remembering $_COOKIE['DOKU_PREFS'] is urlencoded) + * Remove it by setting $val to false * * @param string $pref preference key * @param string $val preference value @@ -1891,12 +1945,17 @@ function set_doku_pref($pref, $val) { $enc_pref = rawurlencode($pref); for($i = 0; $i < $cnt; $i += 2) { if($parts[$i] == $enc_pref) { - $parts[$i + 1] = rawurlencode($val); + if ($val !== false) { + $parts[$i + 1] = rawurlencode($val); + } else { + unset($parts[$i]); + unset($parts[$i + 1]); + } break; } } $cookieVal = implode('#', $parts); - } else if (!$orig) { + } else if (!$orig && $val !== false) { $cookieVal = ($_COOKIE['DOKU_PREFS'] ? $_COOKIE['DOKU_PREFS'].'#' : '').rawurlencode($pref).'#'.rawurlencode($val); } diff --git a/inc/confutils.php b/inc/confutils.php index 8643a056c54c7dd25057eb08484f05e0245ed65e..8b61a8d5b5b30f7c5758b1b4d3e570afba88aefe 100644 --- a/inc/confutils.php +++ b/inc/confutils.php @@ -6,6 +6,12 @@ * @author Harry Fuecks <hfuecks@gmail.com> */ +/* + * line prefix used to negate single value config items + * (scheme.conf & stopwords.conf), e.g. + * !gopher + */ +const DOKU_CONF_NEGATION = '!'; /** * Returns the (known) extension and mimetype of a given filename @@ -49,6 +55,7 @@ function getMimeTypes() { static $mime = null; if ( !$mime ) { $mime = retrieveConfig('mime','confToHash'); + $mime = array_filter($mime); } return $mime; } @@ -62,6 +69,7 @@ function getAcronyms() { static $acronyms = null; if ( !$acronyms ) { $acronyms = retrieveConfig('acronyms','confToHash'); + $acronyms = array_filter($acronyms, 'strlen'); } return $acronyms; } @@ -75,6 +83,7 @@ function getSmileys() { static $smileys = null; if ( !$smileys ) { $smileys = retrieveConfig('smileys','confToHash'); + $smileys = array_filter($smileys, 'strlen'); } return $smileys; } @@ -88,6 +97,7 @@ function getEntities() { static $entities = null; if ( !$entities ) { $entities = retrieveConfig('entities','confToHash'); + $entities = array_filter($entities, 'strlen'); } return $entities; } @@ -101,9 +111,11 @@ function getInterwiki() { static $wikis = null; if ( !$wikis ) { $wikis = retrieveConfig('interwiki','confToHash',array(true)); + $wikis = array_filter($wikis, 'strlen'); + + //add sepecial case 'this' + $wikis['this'] = DOKU_URL.'{NAME}'; } - //add sepecial case 'this' - $wikis['this'] = DOKU_URL.'{NAME}'; return $wikis; } @@ -114,7 +126,7 @@ function getInterwiki() { function getWordblocks() { static $wordblocks = null; if ( !$wordblocks ) { - $wordblocks = retrieveConfig('wordblock','file'); + $wordblocks = retrieveConfig('wordblock','file',null,'array_merge_with_removal'); } return $wordblocks; } @@ -127,11 +139,11 @@ function getWordblocks() { function getSchemes() { static $schemes = null; if ( !$schemes ) { - $schemes = retrieveConfig('scheme','file'); + $schemes = retrieveConfig('scheme','file',null,'array_merge_with_removal'); + $schemes = array_map('trim', $schemes); + $schemes = preg_replace('/^#.*/', '', $schemes); + $schemes = array_filter($schemes); } - $schemes = array_map('trim', $schemes); - $schemes = preg_replace('/^#.*/', '', $schemes); - $schemes = array_filter($schemes); return $schemes; } @@ -194,9 +206,14 @@ function confToHash($file,$lower=false) { * @param string $type the configuration settings to be read, must correspond to a key/array in $config_cascade * @param callback $fn the function used to process the configuration file into an array * @param array $params optional additional params to pass to the callback + * @param callback $combine the function used to combine arrays of values read from different configuration files; + * the function takes two parameters, + * $combined - the already read & merged configuration values + * $new - array of config values from the config cascade file being currently processed + * and returns an array of the merged configuration values. * @return array configuration values */ -function retrieveConfig($type,$fn,$params=null) { +function retrieveConfig($type,$fn,$params=null,$combine='array_merge') { global $config_cascade; if(!is_array($params)) $params = array(); @@ -208,7 +225,7 @@ function retrieveConfig($type,$fn,$params=null) { foreach ($config_cascade[$type][$config_group] as $file) { if (file_exists($file)) { $config = call_user_func_array($fn,array_merge(array($file),$params)); - $combined = array_merge($combined, $config); + $combined = $combine($combined, $config); } } } @@ -347,4 +364,27 @@ function conf_decodeString($str) { return $str; } } + +/** + * array combination function to remove negated values (prefixed by !) + * + * @param array $current + * @param array $new + * + * @return array the combined array, numeric keys reset + */ +function array_merge_with_removal($current, $new) { + foreach ($new as $val) { + if (substr($val,0,1) == DOKU_CONF_NEGATION) { + $idx = array_search(trim(substr($val,1)),$current); + if ($idx !== false) { + unset($current[$idx]); + } + } else { + $current[] = trim($val); + } + } + + return array_slice($current,0); +} //Setup VIM: ex: et ts=4 : diff --git a/inc/events.php b/inc/events.php index 256fb561e7e81810a28c83fa700bdcb0a392051f..35d55d0e3fda5f98b17eba1174e215925abc0a3d 100644 --- a/inc/events.php +++ b/inc/events.php @@ -31,7 +31,7 @@ class Doku_Event { * @param string $name * @param mixed $data */ - function Doku_Event($name, &$data) { + function __construct($name, &$data) { $this->name = $name; $this->data =& $data; @@ -153,7 +153,7 @@ class Doku_Event_Handler { * constructor, loads all action plugins and calls their register() method giving them * an opportunity to register any hooks they require */ - function Doku_Event_Handler() { + function __construct() { // load action plugins /** @var DokuWiki_Action_Plugin $plugin */ diff --git a/inc/farm.php b/inc/farm.php index cee61816c339a3040786a7b148652fc86586f2a2..87fcdade8d8666fd2d22c4cac07d5798eab69717 100644 --- a/inc/farm.php +++ b/inc/farm.php @@ -135,12 +135,12 @@ $config_cascade = array( ), ), 'userstyle' => array( - 'screen' => DOKU_CONF.'userstyle.css', - 'print' => DOKU_CONF.'userprint.css', - 'feed' => DOKU_CONF.'userfeed.css', - 'all' => DOKU_CONF.'userall.css', + 'screen' => array(DOKU_CONF . 'userstyle.css', DOKU_CONF . 'userstyle.less'), + 'print' => array(DOKU_CONF . 'userprint.css', DOKU_CONF . 'userprint.less'), + 'feed' => array(DOKU_CONF . 'userfeed.css', DOKU_CONF . 'userfeed.less'), + 'all' => array(DOKU_CONF . 'userall.css', DOKU_CONF . 'userall.less') ), 'userscript' => array( - 'default' => DOKU_CONF.'userscript.js' + 'default' => array(DOKU_CONF . 'userscript.js') ), ); diff --git a/inc/feedcreator.class.php b/inc/feedcreator.class.php index b90da572412067aa5ea66eaacb47878e2e7894ff..fe444b39baa3b750026d35ca57afe9b760bf8e10 100644 --- a/inc/feedcreator.class.php +++ b/inc/feedcreator.class.php @@ -129,6 +129,9 @@ class FeedItem extends HtmlDescribable { // var $source; } +/** + * Class EnclosureItem + */ class EnclosureItem extends HtmlDescribable { /* * @@ -226,7 +229,7 @@ class FeedHtmlField { * Creates a new instance of FeedHtmlField. * @param string $parFieldContent: if given, sets the rawFieldContent property */ - function FeedHtmlField($parFieldContent) { + function __construct($parFieldContent) { if ($parFieldContent) { $this->rawFieldContent = $parFieldContent; } @@ -482,6 +485,8 @@ class FeedCreator extends HtmlDescribable { var $additionalElements = Array(); + var $_timeout; + /** * Adds an FeedItem to the feed. * @@ -505,7 +510,7 @@ class FeedCreator extends HtmlDescribable { * @param int $length the maximum length the string should be truncated to * @return string the truncated string */ - function iTrunc($string, $length) { + static function iTrunc($string, $length) { if (strlen($string)<=$length) { return $string; } @@ -604,6 +609,8 @@ class FeedCreator extends HtmlDescribable { /** * @since 1.4 * @access private + * + * @param string $filename */ function _redirect($filename) { // attention, heavily-commented-out-area @@ -697,7 +704,7 @@ class FeedDate { * Accepts RFC 822, ISO 8601 date formats as well as unix time stamps. * @param mixed $dateString optional the date this FeedDate will represent. If not specified, the current date and time is used. */ - function FeedDate($dateString="") { + function __construct($dateString="") { if ($dateString=="") $dateString = date("r"); if (is_numeric($dateString)) { @@ -878,7 +885,10 @@ class RSSCreator091 extends FeedCreator { */ var $RSSVersion; - function RSSCreator091() { + /** + * Constructor + */ + function __construct() { $this->_setRSSVersion("0.91"); $this->contentType = "application/rss+xml"; } @@ -886,6 +896,8 @@ class RSSCreator091 extends FeedCreator { /** * Sets this RSS feed's version number. * @access private + * + * @param $version */ function _setRSSVersion($version) { $this->RSSVersion = $version; @@ -1034,7 +1046,10 @@ class RSSCreator091 extends FeedCreator { */ class RSSCreator20 extends RSSCreator091 { - function RSSCreator20() { + /** + * Constructor + */ + function __construct() { parent::_setRSSVersion("2.0"); } @@ -1051,7 +1066,10 @@ class RSSCreator20 extends RSSCreator091 { */ class PIECreator01 extends FeedCreator { - function PIECreator01() { + /** + * Constructor + */ + function __construct() { $this->encoding = "utf-8"; } @@ -1113,7 +1131,10 @@ class PIECreator01 extends FeedCreator { */ class AtomCreator10 extends FeedCreator { - function AtomCreator10() { + /** + * Constructor + */ + function __construct() { $this->contentType = "application/atom+xml"; $this->encoding = "utf-8"; } @@ -1200,7 +1221,10 @@ class AtomCreator10 extends FeedCreator { */ class AtomCreator03 extends FeedCreator { - function AtomCreator03() { + /** + * Constructor + */ + function __construct() { $this->contentType = "application/atom+xml"; $this->encoding = "utf-8"; } @@ -1272,12 +1296,19 @@ class AtomCreator03 extends FeedCreator { * @author Kai Blankenhorn <kaib@bitfolge.de> */ class MBOXCreator extends FeedCreator { - - function MBOXCreator() { + /** + * Constructor + */ + function __construct() { $this->contentType = "text/plain"; $this->encoding = "utf-8"; } + /** + * @param string $input + * @param int $line_max + * @return string + */ function qp_enc($input = "", $line_max = 76) { $hex = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'); $lines = preg_split("/(?:\r\n|\r|\n)/", $input); @@ -1363,7 +1394,10 @@ class MBOXCreator extends FeedCreator { */ class OPMLCreator extends FeedCreator { - function OPMLCreator() { + /** + * Constructor + */ + function __construct() { $this->encoding = "utf-8"; } diff --git a/inc/fetch.functions.php b/inc/fetch.functions.php index c99fbf20ae3d0c8535e90fbd403fee037fb8c0f0..b8e75eaec4adcd00ce55f59b1e5773cd526a75aa 100644 --- a/inc/fetch.functions.php +++ b/inc/fetch.functions.php @@ -1,4 +1,4 @@ -<?php +<?php /** * Functions used by lib/exe/fetch.php * (not included by other parts of dokuwiki) @@ -47,18 +47,15 @@ function sendFile($file, $mime, $dl, $cache, $public = false, $orig = null) { // cache publically header('Expires: '.gmdate("D, d M Y H:i:s", $expires).' GMT'); header('Cache-Control: public, proxy-revalidate, no-transform, max-age='.$maxage); - header('Pragma: public'); } else { // cache in browser header('Expires: '.gmdate("D, d M Y H:i:s", $expires).' GMT'); header('Cache-Control: private, no-transform, max-age='.$maxage); - header('Pragma: no-cache'); } } else { // no cache at all header('Expires: Thu, 01 Jan 1970 00:00:00 GMT'); header('Cache-Control: no-cache, no-transform'); - header('Pragma: no-cache'); } //send important headers first, script stops here if '304 Not Modified' response diff --git a/inc/form.php b/inc/form.php index 00eea9b3a084e12c7a36ed2527b18df043237aec..91a171555c85aa3b686a7042ad201dcdd8774878 100644 --- a/inc/form.php +++ b/inc/form.php @@ -55,7 +55,7 @@ class Doku_Form { * * @author Tom N Harris <tnharris@whoopdedo.org> */ - function Doku_Form($params, $action=false, $method=false, $enctype=false) { + function __construct($params, $action=false, $method=false, $enctype=false) { if(!is_array($params)) { $this->params = array('id' => $params); if ($action !== false) $this->params['action'] = $action; @@ -400,7 +400,7 @@ function form_makeWikiText($text, $attrs=array()) { function form_makeButton($type, $act, $value='', $attrs=array()) { if ($value == '') $value = $act; $elem = array('_elem'=>'button', 'type'=>$type, '_action'=>$act, - 'value'=>$value, 'class'=>'button'); + 'value'=>$value); if (!empty($attrs['accesskey']) && empty($attrs['title'])) { $attrs['title'] = $value . ' ['.strtoupper($attrs['accesskey']).']'; } @@ -761,7 +761,9 @@ function form_wikitext($attrs) { */ function form_button($attrs) { $p = (!empty($attrs['_action'])) ? 'name="do['.$attrs['_action'].']" ' : ''; - return '<input '.$p.buildAttributes($attrs,true).' />'; + $value = $attrs['value']; + unset($attrs['value']); + return '<button '.$p.buildAttributes($attrs,true).'>'.$value.'</button>'; } /** diff --git a/inc/fulltext.php b/inc/fulltext.php index d6cddc56654525d96233d10b135dba4ad04538ea..a727a8b539459660a124686488e6e78129dce4d7 100644 --- a/inc/fulltext.php +++ b/inc/fulltext.php @@ -701,7 +701,7 @@ function ft_queryParser($Indexer, $query){ if (preg_match($ope_regex, $token)) { // operator $last_ope = end($ope_stack); - while ($ope_precedence[$token] <= $ope_precedence[$last_ope] && $last_ope != '(') { + while ($last_ope !== false && $ope_precedence[$token] <= $ope_precedence[$last_ope] && $last_ope != '(') { $parsed_ary[] = array_pop($ope_stack); $last_ope = end($ope_stack); } diff --git a/inc/geshi/actionscript-french.php b/inc/geshi/actionscript-french.php deleted file mode 100644 index e816050980298a1b6910f7fd5cdb9405276f88cd..0000000000000000000000000000000000000000 --- a/inc/geshi/actionscript-french.php +++ /dev/null @@ -1,957 +0,0 @@ -<?php -/************************************************************************************* - * actionscript.php - * ---------------- - * Author: Steffen Krause (Steffen.krause@muse.de) - * Copyright: (c) 2004 Steffen Krause, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.7.9 - * CVS Revision Version: $Revision: 1.9 $ - * Date Started: 2004/06/20 - * Last Modified: $Date: 2006/04/23 01:14:41 $ - * - * Actionscript language file for GeSHi. - * - * CHANGES - * ------- - * 2005/08/25 (1.0.2) - * Author [ NikO ] - http://niko.informatif.org - * - add full link for myInstance.methods to http://wiki.media-box.net/documentation/flash - * 2004/11/27 (1.0.1) - * - Added support for multiple object splitters - * 2004/10/27 (1.0.0) - * - First Release - * - * TODO (updated 2004/11/27) - * ------------------------- - * - ************************************************************************************* - * - * This file is part of GeSHi. - * - * GeSHi is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * GeSHi is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GeSHi; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - ************************************************************************************/ - -$language_data = array ( - 'LANG_NAME' => 'Actionscript', - 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'), - 'COMMENT_MULTI' => array('/*' => '*/'), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array("'", '"'), - 'ESCAPE_CHAR' => '\\', - 'KEYWORDS' => array( - 1 => array( - '#include', - 'for', - 'foreach', - 'if', - 'elseif', - 'else', - 'while', - 'do', - 'dowhile', - 'endwhile', - 'endif', - 'switch', - 'case', - 'endswitch', - 'break', - 'continue', - 'in', - 'null', - 'false', - 'true', - 'var', - 'default', - 'new', - '_global', - 'undefined', - 'super' - ), - 2 => array( - 'static', - 'private', - 'public', - 'class', - 'extends', - 'implements', - 'import', - 'return', - 'trace', - '_quality', - '_root', - 'set', - 'setInterval', - 'setProperty', - 'stopAllSounds', - 'targetPath', - 'this', - 'typeof', - 'unescape', - 'updateAfterEvent' - ), - 3 => array ( - 'Accessibility', - 'Array', - 'Boolean', - 'Button', - 'Camera', - 'Color', - 'ContextMenuItem', - 'ContextMenu', - 'Cookie', - 'Date', - 'Error', - 'function', - 'FWEndCommand', - 'FWJavascript', - 'Key', - 'LoadMovieNum', - 'LoadMovie', - 'LoadVariablesNum', - 'LoadVariables', - 'LoadVars', - 'LocalConnection', - 'Math', - 'Microphone', - 'MMExecute', - 'MMEndCommand', - 'MMSave', - 'Mouse', - 'MovieClipLoader', - 'MovieClip', - 'NetConnexion', - 'NetStream', - 'Number', - 'Object', - 'printAsBitmapNum', - 'printNum', - 'printAsBitmap', - 'printJob', - 'print', - 'Selection', - 'SharedObject', - 'Sound', - 'Stage', - 'String', - 'System', - 'TextField', - 'TextFormat', - 'Tween', - 'Video', - 'XMLUI', - 'XMLNode', - 'XMLSocket', - 'XML' - ), - 4 => array ( - 'isactive', - 'updateProperties' - ), - 5 => array ( - 'callee', - 'caller', - ), - 6 => array ( - 'concat', - 'join', - 'pop', - 'push', - 'reverse', - 'shift', - 'slice', - 'sort', - 'sortOn', - 'splice', - 'toString', - 'unshift' - ), - 7 => array ( - 'valueOf' - ), - 8 => array ( - 'onDragOut', - 'onDragOver', - 'onKeyUp', - 'onKillFocus', - 'onPress', - 'onRelease', - 'onReleaseOutside', - 'onRollOut', - 'onRollOver', - 'onSetFocus' - ), - 9 => array ( - 'setMode', - 'setMotionLevel', - 'setQuality', - 'activityLevel', - 'bandwidth', - 'currentFps', - 'fps', - 'index', - 'motionLevel', - 'motionTimeOut', - 'muted', - 'names', - 'quality', - 'onActivity', - 'onStatus' - ), - 10 => array ( - 'getRGB', - 'setRGB', - 'getTransform', - 'setTransform' - ), - 11 => array ( - 'caption', - 'enabled', - 'separatorBefore', - 'visible', - 'onSelect' - ), - 12 => array ( - 'setCookie', - 'getcookie' - ), - 13 => array ( - 'hideBuiltInItems', - 'builtInItems', - 'customItems', - 'onSelect' - ), - 14 => array ( - 'CustomActions.get', - 'CustomActions.install', - 'CustomActions.list', - 'CustomActions.uninstall', - ), - 15 => array ( - 'getDate', - 'getDay', - 'getFullYear', - 'getHours', - 'getMilliseconds', - 'getMinutes', - 'getMonth', - 'getSeconds', - 'getTime', - 'getTimezoneOffset', - 'getUTCDate', - 'getUTCDay', - 'getUTCFullYear', - 'getUTCHours', - 'getUTCMinutes', - 'getUTCMilliseconds', - 'getUTCMonth', - 'getUTCSeconds', - 'getYear', - 'setDate', - 'setFullYear', - 'setHours', - 'setMilliseconds', - 'setMinutes', - 'setMonth', - 'setSeconds', - 'setTime', - 'setUTCDate', - 'setUTCDay', - 'setUTCFullYear', - 'setUTCHours', - 'setUTCMinutes', - 'setUTCMilliseconds', - 'setUTCMonth', - 'setUTCSeconds', - 'setYear', - 'UTC' - ), - 16 => array ( - 'message', - 'name', - 'throw', - 'try', - 'catch', - 'finally' - ), - 17 => array ( - 'apply', - 'call' - ), - 18 => array ( - 'BACKSPACE', - 'CAPSLOCK', - 'CONTROL', - 'DELETEKEY', - 'DOWN', - 'END', - 'ENTER', - 'ESCAPE', - 'getAscii', - 'getCode', - 'HOME', - 'INSERT', - 'isDown', - 'isToggled', - 'LEFT', - 'onKeyDown', - 'onKeyUp', - 'PGDN', - 'PGUP', - 'RIGHT', - 'SPACE', - 'TAB', - 'UP' - ), - 19 => array ( - 'addRequestHeader', - 'contentType', - 'decode' - ), - 20 => array ( - 'allowDomain', - 'allowInsecureDomain', - 'close', - 'domain' - ), - 21 => array ( - 'abs', - 'acos', - 'asin', - 'atan', - 'atan2', - 'ceil', - 'cos', - 'exp', - 'floor', - 'log', - 'LN2', - 'LN10', - 'LOG2E', - 'LOG10E', - 'max', - 'min', - 'PI', - 'pow', - 'random', - 'sin', - 'SQRT1_2', - 'sqrt', - 'tan', - 'round', - 'SQRT2' - ), - 22 => array ( - 'activityLevel', - 'muted', - 'names', - 'onActivity', - 'onStatus', - 'setRate', - 'setGain', - 'gain', - 'rate', - 'setSilenceLevel', - 'setUseEchoSuppression', - 'silenceLevel', - 'silenceTimeOut', - 'useEchoSuppression' - ), - 23 => array ( - 'hide', - 'onMouseDown', - 'onMouseMove', - 'onMouseUp', - 'onMouseWeel', - 'show' - ), - 24 => array ( - '_alpha', - 'attachAudio', - 'attachMovie', - 'beginFill', - 'beginGradientFill', - 'clear', - 'createEmptyMovieClip', - 'createTextField', - '_current', - 'curveTo', - '_dropTarget', - 'duplicateMovieClip', - 'endFill', - 'focusEnabled', - 'enabled', - '_focusrec', - '_framesLoaded', - 'getBounds', - 'getBytesLoaded', - 'getBytesTotal', - 'getDepth', - 'getInstanceAtDepth', - 'getNextHighestDepth', - 'getSWFVersion', - 'getTextSnapshot', - 'getURL', - 'globalToLocal', - 'gotoAndPlay', - 'gotoAndStop', - '_height', - 'hitArea', - 'hitTest', - 'lineStyle', - 'lineTo', - 'localToGlobal', - '_lockroot', - 'menu', - 'onUnload', - '_parent', - 'play', - 'prevFrame', - '_quality', - 'removeMovieClip', - '_rotation', - 'setMask', - '_soundbuftime', - 'startDrag', - 'stopDrag', - 'stop', - 'swapDepths', - 'tabChildren', - '_target', - '_totalFrames', - 'trackAsMenu', - 'unloadMovie', - 'useHandCursor', - '_visible', - '_width', - '_xmouse', - '_xscale', - '_x', - '_ymouse', - '_yscale', - '_y' - ), - 25 => array ( - 'getProgress', - 'loadClip', - 'onLoadComplete', - 'onLoadError', - 'onLoadInit', - 'onLoadProgress', - 'onLoadStart' - ), - 26 => array ( - 'bufferLength', - 'currentFps', - 'seek', - 'setBufferTime', - 'bufferTime', - 'time', - 'pause' - ), - 27 => array ( - 'MAX_VALUE', - 'MIN_VALUE', - 'NEGATIVE_INFINITY', - 'POSITIVE_INFINITY' - ), - 28 => array ( - 'addProperty', - 'constructor', - '__proto__', - 'registerClass', - '__resolve', - 'unwatch', - 'watch', - 'onUpDate' - ), - 29 => array ( - 'addPage' - ), - 30 => array ( - 'getBeginIndex', - 'getCaretIndex', - 'getEndIndex', - 'setSelection' - ), - 31 => array ( - 'flush', - 'getLocal', - 'getSize' - ), - 32 => array ( - 'attachSound', - 'duration', - 'getPan', - 'getVolume', - 'onID3', - 'loadSound', - 'id3', - 'onSoundComplete', - 'position', - 'setPan', - 'setVolume' - ), - 33 => array ( - 'getBeginIndex', - 'getCaretIndex', - 'getEndIndex', - 'setSelection' - ), - 34 => array ( - 'getEndIndex', - ), - 35 => array ( - 'align', - 'height', - 'width', - 'onResize', - 'scaleMode', - 'showMenu' - ), - 36 => array ( - 'charAt', - 'charCodeAt', - 'concat', - 'fromCharCode', - 'indexOf', - 'lastIndexOf', - 'substr', - 'substring', - 'toLowerCase', - 'toUpperCase' - ), - 37 => array ( - 'avHardwareDisable', - 'hasAccessibility', - 'hasAudioEncoder', - 'hasAudio', - 'hasEmbeddedVideo', - 'hasMP3', - 'hasPrinting', - 'hasScreenBroadcast', - 'hasScreenPlayback', - 'hasStreamingAudio', - 'hasStreamingVideo', - 'hasVideoEncoder', - 'isDebugger', - 'language', - 'localFileReadDisable', - 'manufacturer', - 'os', - 'pixelAspectRatio', - 'playerType', - 'screenColor', - 'screenDPI', - 'screenResolutionX', - 'screenResolutionY', - 'serverString', - 'version' - ), - 38 => array ( - 'allowDomain', - 'allowInsecureDomain', - 'loadPolicyFile' - ), - 39 => array ( - 'exactSettings', - 'setClipboard', - 'showSettings', - 'useCodepage' - ), - 40 => array ( - 'getStyle', - 'getStyleNames', - 'parseCSS', - 'setStyle', - 'transform' - ), - 41 => array ( - 'autoSize', - 'background', - 'backgroundColor', - 'border', - 'borderColor', - 'bottomScroll', - 'condenseWhite', - 'embedFonts', - 'getFontList', - 'getNewTextFormat', - 'getTextFormat', - 'hscroll', - 'htmlText', - 'html', - 'maxChars', - 'maxhscroll', - 'maxscroll', - 'mouseWheelEnabled', - 'multiline', - 'onScroller', - 'password', - 'removeTextField', - 'replaceSel', - 'replaceText', - 'restrict', - 'scroll', - 'selectable', - 'setNewTextFormat', - 'setTextFormat', - 'styleSheet', - 'tabEnabled', - 'tabIndex', - 'textColor', - 'textHeight', - 'textWidth', - 'text', - 'type', - '_url', - 'variable', - 'wordWrap' - ), - 42 => array ( - 'blockIndent', - 'bold', - 'bullet', - 'font', - 'getTextExtent', - 'indent', - 'italic', - 'leading', - 'leftMargin', - 'rightMargin', - 'size', - 'tabStops', - 'underline' - ), - 43 => array ( - 'findText', - 'getCount', - 'getSelected', - 'getSelectedText', - 'getText', - 'hitTestTextNearPos', - 'setSelectColor', - 'setSelected' - ), - 44 => array ( - 'begin', - 'change', - 'continueTo', - 'fforward', - 'finish', - 'func', - 'FPS', - 'getPosition', - 'isPlaying', - 'looping', - 'obj', - 'onMotionChanged', - 'onMotionFinished', - 'onMotionLooped', - 'onMotionStarted', - 'onMotionResumed', - 'onMotionStopped', - 'prop', - 'rewind', - 'resume', - 'setPosition', - 'time', - 'userSeconds', - 'yoyo' - ), - 45 => array ( - 'attachVideo', - 'deblocking', - 'smoothing' - ), - 46 => array ( - 'addRequestHeader', - 'appendChild', - 'attributes', - 'childNodes', - 'cloneNode', - 'contentType', - 'createElement', - 'createTextNode', - 'docTypeDecl', - 'firstChild', - 'hasChildNodes', - 'ignoreWhite', - 'insertBefore', - 'lastChild', - 'nextSibling', - 'nodeName', - 'nodeType', - 'nodeValue', - 'parentNode', - 'parseXML', - 'previousSibling', - 'removeNode', - 'xmlDecl' - ), - 47 => array ( - 'onClose', - 'onXML' - ), - 48 => array ( - 'add', - 'and', - '_highquality', - 'chr', - 'eq', - 'ge', - 'ifFrameLoaded', - 'int', - 'le', - 'it', - 'mbchr', - 'mblength', - 'mbord', - 'ne', - 'not', - 'or', - 'ord', - 'tellTarget', - 'toggleHighQuality' - ), - 49 => array ( - 'ASSetPropFlags', - 'ASnative', - 'ASconstructor', - 'AsSetupError', - 'FWEndCommand', - 'FWJavascript', - 'MMEndCommand', - 'MMSave', - 'XMLUI' - ), - 50 => array ( - 'System.capabilities' - ), - 51 => array ( - 'System.security' - ), - 52 => array ( - 'TextField.StyleSheet' - ) - ), - 'SYMBOLS' => array( - '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>','=' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => true, - 2 => true, - 3 => true, - 4 => true, - 5 => true, - 6 => true, - 7 => true, - 8 => true, - 9 => true, - 10 => true, - 11 => true, - 12 => true, - 13 => true, - 14 => true, - 15 => true, - 16 => true, - 17 => true, - 18 => true, - 19 => true, - 20 => true, - 21 => true, - 22 => true, - 23 => true, - 24 => true, - 25 => true, - 26 => true, - 27 => true, - 28 => true, - 29 => true, - 30 => true, - 31 => true, - 32 => true, - 33 => true, - 34 => true, - 35 => true, - 36 => true, - 37 => true, - 38 => true, - 39 => true, - 40 => true, - 41 => true, - 42 => true, - 43 => true, - 44 => true, - 45 => true, - 46 => true, - 47 => true, - 48 => true, - 49 => true, - 50 => true, - 51 => true, - 52 => true - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #0000ff;', - 2 => 'color: #006600;', - 3 => 'color: #000080;', - 4 => 'color: #006600;', - 5 => 'color: #006600;', - 6 => 'color: #006600;', - 7 => 'color: #006600;', - 8 => 'color: #006600;', - 9 => 'color: #006600;', - 10 => 'color: #006600;', - 11 => 'color: #006600;', - 12 => 'color: #006600;', - 13 => 'color: #006600;', - 14 => 'color: #006600;', - 15 => 'color: #006600;', - 16 => 'color: #006600;', - 17 => 'color: #006600;', - 18 => 'color: #006600;', - 19 => 'color: #006600;', - 20 => 'color: #006600;', - 21 => 'color: #006600;', - 22 => 'color: #006600;', - 23 => 'color: #006600;', - 24 => 'color: #006600;', - 25 => 'color: #006600;', - 26 => 'color: #006600;', - 27 => 'color: #006600;', - 28 => 'color: #006600;', - 29 => 'color: #006600;', - 30 => 'color: #006600;', - 31 => 'color: #006600;', - 32 => 'color: #006600;', - 33 => 'color: #006600;', - 34 => 'color: #006600;', - 35 => 'color: #006600;', - 36 => 'color: #006600;', - 37 => 'color: #006600;', - 38 => 'color: #006600;', - 39 => 'color: #006600;', - 40 => 'color: #006600;', - 41 => 'color: #006600;', - 42 => 'color: #006600;', - 43 => 'color: #006600;', - 44 => 'color: #006600;', - 45 => 'color: #006600;', - 46 => 'color: #006600;', - 47 => 'color: #006600;', - 48 => 'color: #CC0000;', - 49 => 'color: #5700d1;', - 50 => 'color: #006600;', - 51 => 'color: #006600;', - 52 => 'color: #CC0000;' - ), - 'COMMENTS' => array( - 1 => 'color: #ff8000; font-style: italic;', - 2 => 'color: #ff8000; font-style: italic;', - 'MULTI' => 'color: #ff8000; font-style: italic;' - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #000099; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #333333;' - ), - 'STRINGS' => array( - 0 => 'color: #333333; background-color: #eeeeee;' - ), - 'NUMBERS' => array( - 0 => 'color: #c50000;' - ), - - 'SYMBOLS' => array( - 0 => 'color: #000000;' - ), - 'METHODS' => array( - 1 => 'color: #006600;' - ), - 'REGEXPS' => array( - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => 'http://wiki.media-box.net/documentation/flash/{FNAME}', - 2 => 'http://wiki.media-box.net/documentation/flash/{FNAME}', - 3 => 'http://wiki.media-box.net/documentation/flash/{FNAME}', - 4 => 'http://wiki.media-box.net/documentation/flash/accessibility/{FNAME}', - 5 => 'http://wiki.media-box.net/documentation/flash/arguments/{FNAME}', - 6 => 'http://wiki.media-box.net/documentation/flash/array/{FNAME}', - 7 => 'http://wiki.media-box.net/documentation/flash/boolean/{FNAME}', - 8 => 'http://wiki.media-box.net/documentation/flash/button/{FNAME}', - 9 => 'http://wiki.media-box.net/documentation/flash/camera/{FNAME}', - 10 => 'http://wiki.media-box.net/documentation/flash/color/{FNAME}', - 11 => 'http://wiki.media-box.net/documentation/flash/contextmenuitem/{FNAME}', - 12 => 'http://wiki.media-box.net/documentation/flash/contextmenu/{FNAME}', - 13 => 'http://wiki.media-box.net/documentation/flash/cookie/{FNAME}', - 14 => 'http://wiki.media-box.net/documentation/flash/customactions/{FNAME}', - 15 => 'http://wiki.media-box.net/documentation/flash/date/{FNAME}', - 16 => 'http://wiki.media-box.net/documentation/flash/error/{FNAME}', - 17 => 'http://wiki.media-box.net/documentation/flash/function/{FNAME}', - 18 => 'http://wiki.media-box.net/documentation/flash/key/{FNAME}', - 19 => 'http://wiki.media-box.net/documentation/flash/loadvars/{FNAME}', - 20 => 'http://wiki.media-box.net/documentation/flash/localconnection/{FNAME}', - 21 => 'http://wiki.media-box.net/documentation/flash/math/{FNAME}', - 22 => 'http://wiki.media-box.net/documentation/flash/microphone/{FNAME}', - 23 => 'http://wiki.media-box.net/documentation/flash/mouse/{FNAME}', - 24 => 'http://wiki.media-box.net/documentation/flash/movieclip/{FNAME}', - 25 => 'http://wiki.media-box.net/documentation/flash/moviecliploader/{FNAME}', - 26 => 'http://wiki.media-box.net/documentation/flash/netstream/{FNAME}', - 27 => 'http://wiki.media-box.net/documentation/flash/number/{FNAME}', - 28 => 'http://wiki.media-box.net/documentation/flash/object/{FNAME}', - 29 => 'http://wiki.media-box.net/documentation/flash/printJob/{FNAME}', - 30 => 'http://wiki.media-box.net/documentation/flash/selection/{FNAME}', - 31 => 'http://wiki.media-box.net/documentation/flash/sharedobject/{FNAME}', - 32 => 'http://wiki.media-box.net/documentation/flash/sound/{FNAME}', - 33 => 'http://wiki.media-box.net/documentation/flash/selection/{FNAME}', - 34 => 'http://wiki.media-box.net/documentation/flash/sharedobject/{FNAME}', - 35 => 'http://wiki.media-box.net/documentation/flash/stage/{FNAME}', - 36 => 'http://wiki.media-box.net/documentation/flash/string/{FNAME}', - 37 => 'http://wiki.media-box.net/documentation/flash/system/capabilities/{FNAME}', - 38 => 'http://wiki.media-box.net/documentation/flash/system/security/{FNAME}', - 39 => 'http://wiki.media-box.net/documentation/flash/system/{FNAME}', - 40 => 'http://wiki.media-box.net/documentation/flash/textfield/stylesheet/{FNAME}', - 41 => 'http://wiki.media-box.net/documentation/flash/textfield/{FNAME}', - 42 => 'http://wiki.media-box.net/documentation/flash/textformat/{FNAME}', - 43 => 'http://wiki.media-box.net/documentation/flash/textsnapshot/{FNAME}', - 44 => 'http://wiki.media-box.net/documentation/flash/tween/{FNAME}', - 45 => 'http://wiki.media-box.net/documentation/flash/video/{FNAME}', - 46 => 'http://wiki.media-box.net/documentation/flash/xml/{FNAME}', - 47 => 'http://wiki.media-box.net/documentation/flash/xmlsocket/{FNAME}', - 48 => 'http://wiki.media-box.net/documentation/flash/{FNAME}', - 49 => 'http://wiki.media-box.net/documentation/flash/{FNAME}', - 50 => 'http://wiki.media-box.net/documentation/flash/system/capabilities', - 51 => 'http://wiki.media-box.net/documentation/flash/system/security', - 52 => 'http://wiki.media-box.net/documentation/flash/textfield/stylesheet' - ), - 'OOLANG' => true, - 'OBJECT_SPLITTERS' => array( - 1 => '.' - ), - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array(), - 'HIGHLIGHT_STRICT_BLOCK' => array() -); - -?> diff --git a/inc/geshi/cobol.php b/inc/geshi/cobol.php deleted file mode 100644 index b07be48a135efd1e7066e4842a2fc02f870d287c..0000000000000000000000000000000000000000 --- a/inc/geshi/cobol.php +++ /dev/null @@ -1,244 +0,0 @@ -<?php -/************************************************************************************* - * cobol.php - * ---------- - * Author: BenBE (BenBE@omorphia.org) - * Copyright: (c) 2007-2008 BenBE (http://www.omorphia.de/) - * Release Version: 1.0.8.11 - * Date Started: 2007/07/02 - * - * COBOL language file for GeSHi. - * - * CHANGES - * ------- - * - * TODO (updated 2007/07/02) - * ------------------------- - * - ************************************************************************************* - * - * This file is part of GeSHi. - * - * GeSHi is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * GeSHi is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GeSHi; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - ************************************************************************************/ - -$language_data = array ( - 'LANG_NAME' => 'COBOL', - 'COMMENT_SINGLE' => array(), - 'COMMENT_MULTI' => array(), - 'COMMENT_REGEXP' => array(1 => '/^\*.*?$/m'), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array('"', "'"), - 'ESCAPE_CHAR' => '\\', - 'NUMBERS' => - GESHI_NUMBER_INT_BASIC | - GESHI_NUMBER_FLT_NONSCI | - GESHI_NUMBER_FLT_SCI_SHORT | - GESHI_NUMBER_FLT_SCI_ZERO, - 'KEYWORDS' => array( - 1 => array( //Compiler Directives - 'ANSI', 'BLANK', 'NOBLANK', 'CALL-SHARED', 'CANCEL', 'NOCANCEL', - 'CHECK', 'CODE', 'NOCODE', 'COLUMNS', 'COMPACT', 'NOCOMPACT', - 'COMPILE', 'CONSULT', 'NOCONSULT', 'CROSSREF', 'NOCROSSREF', - 'DIAGNOSE-74', 'NODIAGNOSE-74', 'DIAGNOSE-85', 'NODIAGNOSE-85', - 'DIAGNOSEALL', 'NODIAGNOSEALL', 'ENDIF', 'ENDUNIT', 'ENV', - 'ERRORFILE', 'ERRORS', 'FIPS', 'NOFIPS', 'FMAP', 'HEADING', 'HEAP', - 'HIGHPIN', 'HIGHREQUESTERS', 'ICODE', 'NOICODE', 'IF', 'IFNOT', - 'INNERLIST', 'NOINNERLIST', 'INSPECT', 'NOINSPECT', 'LARGEDATA', - 'LD', 'LESS-CODE', 'LIBRARY', 'LINES', 'LIST', 'NOLIST', 'LMAP', - 'NOLMAP', 'MAIN', 'MAP', 'NOMAP', 'NLD', 'NONSTOP', 'NON-SHARED', - 'OPTIMIZE', 'PERFORM-TRACE', 'PORT', 'NOPORT', 'RESETTOG', - 'RUNNABLE', 'RUNNAMED', 'SAVE', 'SAVEABEND', 'NOSAVEABEND', - 'SEARCH', 'NOSEARCH', 'SECTION', 'SETTOG', 'SHARED', 'SHOWCOPY', - 'NOSHOWCOPY', 'SHOWFILE', 'NOSHOWFILE', 'SOURCE', 'SQL', 'NOSQL', - 'SQLMEM', 'SUBSET', 'SUBTYPE', 'SUPPRESS', 'NOSUPPRESS', 'SYMBOLS', - 'NOSYMBOLS', 'SYNTAX', 'TANDEM', 'TRAP2', 'NOTRAP2', 'TRAP2-74', - 'NOTRAP2-74', 'UL', 'WARN', 'NOWARN' - ), - 2 => array( //Statement Keywords - 'ACCEPT', 'ADD', 'TO', 'GIVING', 'CORRESPONDING', 'ALTER', 'CALL', - 'CHECKPOINT', 'CLOSE', 'COMPUTE', 'CONTINUE', 'COPY', - 'DELETE', 'DISPLAY', 'DIVIDE', 'INTO', 'REMAINDER', 'ENTER', - 'COBOL', 'EVALUATE', 'EXIT', 'GO', 'INITIALIZE', - 'TALLYING', 'REPLACING', 'CONVERTING', 'LOCKFILE', 'MERGE', 'MOVE', - 'MULTIPLY', 'OPEN', 'PERFORM', 'TIMES', - 'UNTIL', 'VARYING', 'RETURN', - ), - 3 => array( //Reserved in some contexts - 'ACCESS', 'ADDRESS', 'ADVANCING', 'AFTER', 'ALL', - 'ALPHABET', 'ALPHABETIC', 'ALPHABETIC-LOWER', 'ALPHABETIC-UPPER', - 'ALPHANUMERIC', 'ALPHANUMERIC-EDITED', 'ALSO', 'ALTERNATE', - 'AND', 'ANY', 'APPROXIMATE', 'AREA', 'AREAS', 'ASCENDING', 'ASSIGN', - 'AT', 'AUTHOR', 'BEFORE', 'BINARY', 'BLOCK', 'BOTTOM', 'BY', - 'CD', 'CF', 'CH', 'CHARACTER', 'CHARACTERS', - 'CHARACTER-SET', 'CLASS', 'CLOCK-UNITS', - 'CODE-SET', 'COLLATING', 'COLUMN', 'COMMA', - 'COMMON', 'COMMUNICATION', 'COMP', 'COMP-3', 'COMP-5', - 'COMPUTATIONAL', 'COMPUTATIONAL-3', 'COMPUTATIONAL-5', - 'CONFIGURATION', 'CONTAINS', 'CONTENT', 'CONTROL', - 'CONTROLS', 'CORR', 'COUNT', - 'CURRENCY', 'DATA', 'DATE', 'DATE-COMPILED', 'DATE-WRITTEN', 'DAY', - 'DAY-OF-WEEK', 'DE', 'DEBUG-CONTENTS', 'DEBUG-ITEM', 'DEBUG-LINE', - 'DEBUG-SUB-2', 'DEBUG-SUB-3', 'DEBUGGING', 'DECIMAL-POINT', - 'DECLARATIVES', 'DEBUG-NAME', 'DEBUG-SUB-1', 'DELIMITED', - 'DELIMITER', 'DEPENDING', 'DESCENDING', 'DESTINATION', 'DETAIL', - 'DISABLE', 'DIVISION', 'DOWN', 'DUPLICATES', - 'DYNAMIC', 'EGI', 'ELSE', 'EMI', 'ENABLE', 'END', 'END-ADD', - 'END-COMPUTE', 'END-DELETE', 'END-DIVIDE', 'END-EVALUATE', 'END-IF', - 'END-MULTIPLY', 'END-OF-PAGE', 'END-PERFORM', 'END-READ', - 'END-RECEIVE', 'END-RETURN', 'END-REWRITE', 'END-SEARCH', - 'END-START', 'END-STRING', 'END-SUBTRACT', 'END-UNSTRING', - 'END-WRITE', 'EOP', 'EQUAL', 'ERROR', 'ESI', - 'EVERY', 'EXCEPTION', 'EXCLUSIVE', 'EXTEND', - 'EXTENDED-STORAGE', 'EXTERNAL', 'FALSE', 'FD', 'FILE', - 'FILE-CONTROL', 'FILLER', 'FINAL', 'FIRST', 'FOOTING', 'FOR', - 'FROM', 'FUNCTION', 'GENERATE', 'GENERIC', 'GLOBAL', - 'GREATER', 'GROUP', 'GUARDIAN-ERR', 'HIGH-VALUE', - 'HIGH-VALUES', 'I-O', 'I-O-CONTROL', 'IDENTIFICATION', 'IN', - 'INDEX', 'INDEXED', 'INDICATE', 'INITIAL', 'INITIATE', - 'INPUT', 'INPUT-OUTPUT', 'INSTALLATION', - 'INVALID', 'IS', 'JUST', 'JUSTIFIED', 'KEY', 'LABEL', 'LAST', - 'LEADING', 'LEFT', 'LESS', 'LIMIT', 'LIMITS', 'LINAGE', - 'LINAGE-COUNTER', 'LINE', 'LINE-COUNTER', 'LINKAGE', 'LOCK', - 'LOW-VALUE', 'LOW-VALUES', 'MEMORY', 'MESSAGE', - 'MODE', 'MODULES', 'MULTIPLE', 'NATIVE', - 'NEGATIVE', 'NEXT', 'NO', 'NOT', 'NULL', 'NULLS', 'NUMBER', - 'NUMERIC', 'NUMERIC-EDITED', 'OBJECT-COMPUTER', 'OCCURS', 'OF', - 'OFF', 'OMITTED', 'ON', 'OPTIONAL', 'OR', 'ORDER', - 'ORGANIZATION', 'OTHER', 'OUTPUT', 'OVERFLOW', 'PACKED-DECIMAL', - 'PADDING', 'PAGE', 'PAGE-COUNTER', 'PF', 'PH', 'PIC', - 'PICTURE', 'PLUS', 'POINTER', 'POSITION', 'POSITIVE', 'PRINTING', - 'PROCEDURE', 'PROCEDURES', 'PROCEED', 'PROGRAM', 'PROGRAM-ID', - 'PROGRAM-STATUS', 'PROGRAM-STATUS-1', 'PROGRAM-STATUS-2', 'PROMPT', - 'PROTECTED', 'PURGE', 'QUEUE', 'QUOTE', 'QUOTES', 'RD', - 'RECEIVE', 'RECEIVE-CONTROL', 'RECORD', 'RECORDS', - 'REDEFINES', 'REEL', 'REFERENCE', 'REFERENCES', 'RELATIVE', - 'REMOVAL', 'RENAMES', 'REPLACE', - 'REPLY', 'REPORT', 'REPORTING', 'REPORTS', 'RERUN', - 'RESERVE', 'RESET', 'REVERSED', 'REWIND', 'REWRITE', 'RF', - 'RH', 'RIGHT', 'ROUNDED', 'RUN', 'SAME', 'SD', - 'SECURITY', 'SEGMENT', 'SEGMENT-LIMIT', 'SELECT', 'SEND', - 'SENTENCE', 'SEPARATE', 'SEQUENCE', 'SEQUENTIAL', 'SET', - 'SIGN', 'SIZE', 'SORT', 'SORT-MERGE', 'SOURCE-COMPUTER', - 'SPACE', 'SPACES', 'SPECIAL-NAMES', 'STANDARD', 'STANDARD-1', - 'STANDARD-2', 'START', 'STARTBACKUP', 'STATUS', 'STOP', 'STRING', - 'SUB-QUEUE-1', 'SUB-QUEUE-2', 'SUB-QUEUE-3', 'SUBTRACT', - 'SYMBOLIC', 'SYNC', 'SYNCDEPTH', 'SYNCHRONIZED', - 'TABLE', 'TAL', 'TAPE', 'TERMINAL', 'TERMINATE', 'TEST', - 'TEXT', 'THAN', 'THEN', 'THROUGH', 'THRU', 'TIME', - 'TOP', 'TRAILING', 'TRUE', 'TYPE', 'UNIT', 'UNLOCK', 'UNLOCKFILE', - 'UNLOCKRECORD', 'UNSTRING', 'UP', 'UPON', 'USAGE', 'USE', - 'USING', 'VALUE', 'VALUES', 'WHEN', 'WITH', 'WORDS', - 'WORKING-STORAGE', 'WRITE', 'ZERO', 'ZEROES' - ), - 4 => array( //Standard functions - 'ACOS', 'ANNUITY', 'ASIN', 'ATAN', 'CHAR', 'COS', 'CURRENT-DATE', - 'DATE-OF-INTEGER', 'DAY-OF-INTEGER', 'FACTORIAL', 'INTEGER', - 'INTEGER-OF-DATE', 'INTEGER-OF-DAY', 'INTEGER-PART', 'LENGTH', - 'LOG', 'LOG10', 'LOWER-CASE', 'MAX', 'MEAN', 'MEDIAN', 'MIDRANGE', - 'MIN', 'MOD', 'NUMVAL', 'NUMVAL-C', 'ORD', 'ORD-MAX', 'ORD-MIN', - 'PRESENT-VALUE', 'RANDOM', 'RANGE', 'REM', 'REVERSE', 'SIN', 'SQRT', - 'STANDARD-DEVIATION', 'SUM', 'TAN', 'UPPER-CASE', 'VARIANCE', - 'WHEN-COMPILED' - ), - 5 => array( //Privileged Built-in Functions - '#IN', '#OUT', '#TERM', '#TEMP', '#DYNAMIC', 'COBOL85^ARMTRAP', - 'COBOL85^COMPLETION', 'COBOL_COMPLETION_', 'COBOL_CONTROL_', - 'COBOL_GETENV_', 'COBOL_PUTENV_', 'COBOL85^RETURN^SORT^ERRORS', - 'COBOL_RETURN_SORT_ERRORS_', 'COBOL85^REWIND^SEQUENTIAL', - 'COBOL_REWIND_SEQUENTIAL_', 'COBOL85^SET^SORT^PARAM^TEXT', - 'COBOL_SET_SORT_PARAM_TEXT_', 'COBOL85^SET^SORT^PARAM^VALUE', - 'COBOL_SET_SORT_PARAM_VALUE_', 'COBOL_SET_MAX_RECORD_', - 'COBOL_SETMODE_', 'COBOL85^SPECIAL^OPEN', 'COBOL_SPECIAL_OPEN_', - 'COBOLASSIGN', 'COBOL_ASSIGN_', 'COBOLFILEINFO', 'COBOL_FILE_INFO_', - 'COBOLSPOOLOPEN', 'CREATEPROCESS', 'ALTERPARAMTEXT', - 'CHECKLOGICALNAME', 'CHECKMESSAGE', 'DELETEASSIGN', 'DELETEPARAM', - 'DELETESTARTUP', 'GETASSIGNTEXT', 'GETASSIGNVALUE', 'GETBACKUPCPU', - 'GETPARAMTEXT', 'GETSTARTUPTEXT', 'PUTASSIGNTEXT', 'PUTASSIGNVALUE', - 'PUTPARAMTEXT', 'PUTSTARTUPTEXT' - ) - ), - 'SYMBOLS' => array( - //Avoid having - in identifiers marked as symbols - ' + ', ' - ', ' * ', ' / ', ' ** ', - '.', ',', - '=', - '(', ')', '[', ']' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false, - 4 => false, - 5 => false - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #000080; font-weight: bold;', - 2 => 'color: #000000; font-weight: bold;', - 3 => 'color: #008000; font-weight: bold;', - 4 => 'color: #000080;', - 5 => 'color: #008000;', - ), - 'COMMENTS' => array( - 1 => 'color: #a0a0a0; font-style: italic;', - 'MULTI' => 'color: #a0a0a0; font-style: italic;' - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #000099; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #339933;' - ), - 'STRINGS' => array( - 0 => 'color: #ff0000;' - ), - 'NUMBERS' => array( - 0 => 'color: #993399;' - ), - 'METHODS' => array( - 1 => 'color: #202020;' - ), - 'SYMBOLS' => array( - 0 => 'color: #000066;' - ), - 'REGEXPS' => array( - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '', - 4 => '', - 5 => '' - ), - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array( - ), - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ), - 'TAB_WIDTH' => 4 - ); - -?> diff --git a/inc/geshi/parigp.php b/inc/geshi/parigp.php deleted file mode 100644 index c9c73095bdcf0c3adc7d10aa2536e9b04d593519..0000000000000000000000000000000000000000 --- a/inc/geshi/parigp.php +++ /dev/null @@ -1,277 +0,0 @@ -<?php -/************************************************************************************* - * parigp.php - * -------- - * Author: Charles R Greathouse IV (charles@crg4.com) - * Copyright: 2011 Charles R Greathouse IV (http://math.crg4.com/) - * Release Version: 1.0.8.11 - * Date Started: 2011/05/11 - * - * PARI/GP language file for GeSHi. - * - * CHANGES - * ------- - * 2011/07/09 (1.0.8.11) - * - First Release - * - * TODO (updated 2011/07/09) - * ------------------------- - * - * - ************************************************************************************* - * - * This file is part of GeSHi. - * - * GeSHi is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * GeSHi is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GeSHi; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - ************************************************************************************/ - -$language_data = array( - 'LANG_NAME' => 'PARI/GP', - 'COMMENT_SINGLE' => array(1 => '\\\\'), - 'COMMENT_MULTI' => array('/*' => '*/'), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array('"'), - 'ESCAPE_CHAR' => '\\', - 'NUMBERS' => array( - # Integers - 1 => GESHI_NUMBER_INT_BASIC, - # Reals - 2 => GESHI_NUMBER_FLT_SCI_ZERO - ), - 'KEYWORDS' => array( - 1 => array( - 'addprimes','bestappr','bezout','bezoutres','bigomega','binomial', - 'chinese','content','contfrac','contfracpnqn','core','coredisc', - 'dirdiv','direuler','dirmul','divisors','eulerphi','factor', - 'factorback','factorcantor','factorff','factorial','factorint', - 'factormod','ffgen','ffinit','fflog','fforder','ffprimroot', - 'fibonacci','gcd','hilbert','isfundamental','ispower','isprime', - 'ispseudoprime','issquare','issquarefree','kronecker','lcm', - 'moebius','nextprime','numbpart','numdiv','omega','partitions', - 'polrootsff','precprime','prime','primepi','primes','qfbclassno', - 'qfbcompraw','qfbhclassno','qfbnucomp','qfbnupow','qfbpowraw', - 'qfbprimeform','qfbred','qfbsolve','quadclassunit','quaddisc', - 'quadgen','quadhilbert','quadpoly','quadray','quadregulator', - 'quadunit','removeprimes','sigma','sqrtint','stirling', - 'sumdedekind','zncoppersmith','znlog','znorder','znprimroot', - 'znstar','Col','List','Mat','Mod','Pol','Polrev','Qfb','Ser','Set', - 'Str','Strchr','Strexpand','Strtex','Vec','Vecrev','Vecsmall', - 'binary','bitand','bitneg','bitnegimply','bitor','bittest','bitxor', - 'ceil','centerlift','component','conj','conjvec','denominator', - 'floor','frac','imag','length','lift','norm','norml2','numerator', - 'numtoperm','padicprec','permtonum','precision','random','real', - 'round','simplify','sizebyte','sizedigit','truncate','valuation', - 'variable','ellL1','elladd','ellak','ellan','ellanalyticrank', - 'ellap','ellbil','ellchangecurve','ellchangepoint','ellconvertname', - 'elldivpol','elleisnum','elleta','ellgenerators','ellglobalred', - 'ellgroup','ellheight','ellheightmatrix','ellidentify','ellinit', - 'ellisoncurve','ellj','elllocalred','elllog','elllseries', - 'ellminimalmodel','ellmodulareqn','ellorder','ellordinate', - 'ellpointtoz','ellpow','ellrootno','ellsearch','ellsigma','ellsub', - 'elltaniyama','elltatepairing','elltors','ellweilpairing','ellwp', - 'ellzeta','ellztopoint','bnfcertify','bnfcompress', - 'bnfdecodemodule','bnfinit','bnfisintnorm','bnfisnorm', - 'bnfisprincipal','bnfissunit','bnfisunit','bnfnarrow','bnfsignunit', - 'bnfsunit','bnrL1','bnrclassno','bnrclassnolist','bnrconductor', - 'bnrconductorofchar','bnrdisc','bnrdisclist','bnrinit', - 'bnrisconductor','bnrisprincipal','bnrrootnumber','bnrstark', - 'dirzetak','factornf','galoisexport','galoisfixedfield', - 'galoisgetpol','galoisidentify','galoisinit','galoisisabelian', - 'galoisisnormal','galoispermtopol','galoissubcyclo', - 'galoissubfields','galoissubgroups','idealadd','idealaddtoone', - 'idealappr','idealchinese','idealcoprime','idealdiv','idealfactor', - 'idealfactorback','idealfrobenius','idealhnf','idealintersect', - 'idealinv','ideallist','ideallistarch','ideallog','idealmin', - 'idealmul','idealnorm','idealpow','idealprimedec','idealramgroups', - 'idealred','idealstar','idealtwoelt','idealval','matalgtobasis', - 'matbasistoalg','modreverse','newtonpoly','nfalgtobasis','nfbasis', - 'nfbasistoalg','nfdetint','nfdisc','nfeltadd','nfeltdiv', - 'nfeltdiveuc','nfeltdivmodpr','nfeltdivrem','nfeltmod','nfeltmul', - 'nfeltmulmodpr','nfeltnorm','nfeltpow','nfeltpowmodpr', - 'nfeltreduce','nfeltreducemodpr','nfelttrace','nfeltval','nffactor', - 'nffactorback','nffactormod','nfgaloisapply','nfgaloisconj', - 'nfhilbert','nfhnf','nfhnfmod','nfinit','nfisideal','nfisincl', - 'nfisisom','nfkermodpr','nfmodprinit','nfnewprec','nfroots', - 'nfrootsof1','nfsnf','nfsolvemodpr','nfsubfields','polcompositum', - 'polgalois','polred','polredabs','polredord','poltschirnhaus', - 'rnfalgtobasis','rnfbasis','rnfbasistoalg','rnfcharpoly', - 'rnfconductor','rnfdedekind','rnfdet','rnfdisc','rnfeltabstorel', - 'rnfeltdown','rnfeltreltoabs','rnfeltup','rnfequation', - 'rnfhnfbasis','rnfidealabstorel','rnfidealdown','rnfidealhnf', - 'rnfidealmul','rnfidealnormabs','rnfidealnormrel', - 'rnfidealreltoabs','rnfidealtwoelt','rnfidealup','rnfinit', - 'rnfisabelian','rnfisfree','rnfisnorm','rnfisnorminit','rnfkummer', - 'rnflllgram','rnfnormgroup','rnfpolred','rnfpolredabs', - 'rnfpseudobasis','rnfsteinitz','subgrouplist','zetak','zetakinit', - 'plot','plotbox','plotclip','plotcolor','plotcopy','plotcursor', - 'plotdraw','ploth','plothraw','plothsizes','plotinit','plotkill', - 'plotlines','plotlinetype','plotmove','plotpoints','plotpointsize', - 'plotpointtype','plotrbox','plotrecth','plotrecthraw','plotrline', - 'plotrmove','plotrpoint','plotscale','plotstring','psdraw', - 'psploth','psplothraw','O','deriv','diffop','eval','factorpadic', - 'intformal','padicappr','padicfields','polchebyshev','polcoeff', - 'polcyclo','poldegree','poldisc','poldiscreduced','polhensellift', - 'polhermite','polinterpolate','polisirreducible','pollead', - 'pollegendre','polrecip','polresultant','polroots','polrootsmod', - 'polrootspadic','polsturm','polsubcyclo','polsylvestermatrix', - 'polsym','poltchebi','polzagier','serconvol','serlaplace', - 'serreverse','subst','substpol','substvec','taylor','thue', - 'thueinit','break','for','fordiv','forell','forprime','forstep', - 'forsubgroup','forvec','if','next','return','until','while', - 'Strprintf','addhelp','alarm','alias','allocatemem','apply', - 'default','error','extern','externstr','getheap','getrand', - 'getstack','gettime','global','input','install','kill','print1', - 'print','printf','printtex','quit','read','readvec','select', - 'setrand','system','trap','type','version','warning','whatnow', - 'write1','write','writebin','writetex','divrem','lex','max','min', - 'shift','shiftmul','sign','vecmax','vecmin','derivnum','intcirc', - 'intfouriercos','intfourierexp','intfouriersin','intfuncinit', - 'intlaplaceinv','intmellininv','intmellininvshort','intnum', - 'intnuminit','intnuminitgen','intnumromb','intnumstep','prod', - 'prodeuler','prodinf','solve','sum','sumalt','sumdiv','suminf', - 'sumnum','sumnumalt','sumnuminit','sumpos','Euler','I','Pi','abs', - 'acos','acosh','agm','arg','asin','asinh','atan','atanh','bernfrac', - 'bernreal','bernvec','besselh1','besselh2','besseli','besselj', - 'besseljh','besselk','besseln','cos','cosh','cotan','dilog','eint1', - 'erfc','eta','exp','gamma','gammah','hyperu','incgam','incgamc', - 'lngamma','log','polylog','psi','sin','sinh','sqr','sqrt','sqrtn', - 'tan','tanh','teichmuller','theta','thetanullk','weber','zeta', - 'algdep','charpoly','concat','lindep','listcreate','listinsert', - 'listkill','listpop','listput','listsort','matadjoint', - 'matcompanion','matdet','matdetint','matdiagonal','mateigen', - 'matfrobenius','mathess','mathilbert','mathnf','mathnfmod', - 'mathnfmodid','matid','matimage','matimagecompl','matindexrank', - 'matintersect','matinverseimage','matisdiagonal','matker', - 'matkerint','matmuldiagonal','matmultodiagonal','matpascal', - 'matrank','matrix','matrixqz','matsize','matsnf','matsolve', - 'matsolvemod','matsupplement','mattranspose','minpoly','qfgaussred', - 'qfjacobi','qflll','qflllgram','qfminim','qfperfection','qfrep', - 'qfsign','setintersect','setisset','setminus','setsearch','cmp', - 'setunion','trace','vecextract','vecsort','vector','vectorsmall', - 'vectorv','ellheegner' - ), - - 2 => array( - 'void','bool','negbool','small','int',/*'real',*/'mp','var','lg','pol', - 'vecsmall','vec','list','str','genstr','gen','typ' - ), - - 3 => array( - 'TeXstyle','breakloop','colors','compatible','datadir','debug', - 'debugfiles','debugmem','echo','factor_add_primes','factor_proven', - 'format','graphcolormap','graphcolors','help','histfile','histsize', - 'lines','linewrap',/*'log',*/'logfile','new_galois_format','output', - 'parisize','path','prettyprinter','primelimit','prompt_cont', - 'prompt','psfile','readline','realprecision','recover','secure', - 'seriesprecision',/*'simplify',*/'strictmatch','timer' - ), - - 4 => array( - 'alarmer','archer','errpile','gdiver','impl','syntaxer','invmoder', - 'overflower','talker','typeer','user' - ) - ), - 'SYMBOLS' => array( - 1 => array( - '(',')','{','}','[',']','+','-','*','/','%','=','<','>','!','^','&','|','?',';',':',',','\\','\'' - ) - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => false, - 1 => true, - 2 => true, - 3 => true, - 4 => true - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #0000ff;', - 2 => 'color: #e07022;', - 3 => 'color: #00d2d2;', - 4 => 'color: #00d2d2;' - ), - 'COMMENTS' => array( - 1 => 'color: #008000;', - 'MULTI' => 'color: #008000;' - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #111111; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #002222;' - ), - 'STRINGS' => array( - 0 => 'color: #800080;' - ), - 'NUMBERS' => array( - 0 => 'color: #666666;', - 1 => 'color: #666666;', - 2 => 'color: #666666;' - ), - 'METHODS' => array( - 0 => 'color: #004000;' - ), - 'SYMBOLS' => array( - 1 => 'color: #339933;' - ), - 'REGEXPS' => array( - 0 => 'color: #e07022', # Should be the same as keyword group 2 - 1 => 'color: #555555' - ), - 'SCRIPT' => array() - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => '', - 4 => '' - ), - 'OOLANG' => true, - 'OBJECT_SPLITTERS' => array( - 1 => '.' - ), - 'REGEXPS' => array( - 0 => array( # types marked on variables - GESHI_SEARCH => '(?<!\\\\ )"(t_(?:INT|REAL|INTMOD|FRAC|FFELT|COMPLEX|PADIC|QUAD|POLMOD|POL|SER|RFRAC|QFR|QFI|VEC|COL|MAT|LIST|STR|VECSMALL|CLOSURE))"', - GESHI_REPLACE => '\\1', - GESHI_MODIFIERS => '', - GESHI_BEFORE => '"', - GESHI_AFTER => '"' - ), - 1 => array( # literal variables - GESHI_SEARCH => '(?<!\\\\)(\'[a-zA-Z][a-zA-Z0-9_]*)', - GESHI_REPLACE => '\\1', - GESHI_MODIFIERS => '', - GESHI_BEFORE => '', - GESHI_AFTER => '' - ) - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - 2 => array( - '[a-zA-Z][a-zA-Z0-9_]*:' => '' - ), - 3 => array( - 'default(' => '' - ), - 4 => array( - 'trap(' => '' - ), - ), - 'HIGHLIGHT_STRICT_BLOCK' => array() -); - -?> diff --git a/inc/html.php b/inc/html.php index ffa1d489f151fd8264481f079392fa4a04628667..b1cc13c8d09269912efaf48b93f746821bff6c29 100644 --- a/inc/html.php +++ b/inc/html.php @@ -74,7 +74,7 @@ function html_login(){ function html_denied() { print p_locale_xhtml('denied'); - if(!$_SERVER['REMOTE_USER']){ + if(empty($_SERVER['REMOTE_USER'])){ html_login(); } } @@ -183,7 +183,7 @@ function html_topbtn(){ * @param bool|string $label label text, false: lookup btn_$name in localization * @return string */ -function html_btn($name,$id,$akey,$params,$method='get',$tooltip='',$label=false){ +function html_btn($name, $id, $akey, $params, $method='get', $tooltip='', $label=false){ global $conf; global $lang; @@ -221,17 +221,26 @@ function html_btn($name,$id,$akey,$params,$method='get',$tooltip='',$label=false $tip = htmlspecialchars($label); } - $ret .= '<input type="submit" value="'.hsc($label).'" class="button" '; + $ret .= '<button type="submit" '; if($akey){ $tip .= ' ['.strtoupper($akey).']'; $ret .= 'accesskey="'.$akey.'" '; } - $ret .= 'title="'.$tip.'" '; - $ret .= '/>'; + $ret .= 'title="'.$tip.'">'; + $ret .= hsc($label); + $ret .= '</button>'; $ret .= '</div></form>'; return $ret; } +/** + * show a revision warning + * + * @author Szymon Olewniczak <dokuwiki@imz.re> + */ +function html_showrev() { + print p_locale_xhtml('showrev'); +} /** * Show a wiki page @@ -265,7 +274,10 @@ function html_show($txt=null){ echo '</div></div>'; }else{ - if ($REV||$DATE_AT) print p_locale_xhtml('showrev'); + if ($REV||$DATE_AT){ + $data = array('rev' => &$REV, 'date_at' => &$DATE_AT); + trigger_event('HTML_SHOWREV_OUTPUT', $data, 'html_showrev'); + } $html = p_wiki_xhtml($ID,$REV,true,$DATE_AT); $html = html_secedit($html,$secedit); if($INFO['prependTOC']) $html = tpl_toc(true).$html; @@ -765,10 +777,16 @@ function html_recent($first=0, $show_changes='both'){ $href = ''; if (!empty($recent['media'])) { - $diff = (count(getRevisions($recent['id'], 0, 1, 8192, true)) && file_exists(mediaFN($recent['id']))); + $changelog = new MediaChangeLog($recent['id']); + $revs = $changelog->getRevisions(0, 1); + $diff = (count($revs) && file_exists(mediaFN($recent['id']))); if ($diff) { - $href = media_managerURL(array('tab_details' => 'history', - 'mediado' => 'diff', 'image' => $recent['id'], 'ns' => getNS($recent['id'])), '&'); + $href = media_managerURL(array( + 'tab_details' => 'history', + 'mediado' => 'diff', + 'image' => $recent['id'], + 'ns' => getNS($recent['id']) + ), '&'); } } else { $href = wl($recent['id'],"do=diff", false, '&'); @@ -839,26 +857,28 @@ function html_recent($first=0, $show_changes='both'){ $first -= $conf['recent']; if ($first < 0) $first = 0; $form->addElement(form_makeOpenTag('div', array('class' => 'pagenav-prev'))); - $form->addElement(form_makeTag('input', array( + $form->addElement(form_makeOpenTag('button', array( 'type' => 'submit', 'name' => 'first['.$first.']', - 'value' => $lang['btn_newer'], 'accesskey' => 'n', 'title' => $lang['btn_newer'].' [N]', 'class' => 'button show' ))); + $form->addElement($lang['btn_newer']); + $form->addElement(form_makeCloseTag('button')); $form->addElement(form_makeCloseTag('div')); } if ($hasNext) { $form->addElement(form_makeOpenTag('div', array('class' => 'pagenav-next'))); - $form->addElement(form_makeTag('input', array( + $form->addElement(form_makeOpenTag('button', array( 'type' => 'submit', 'name' => 'first['.$last.']', - 'value' => $lang['btn_older'], 'accesskey' => 'p', 'title' => $lang['btn_older'].' [P]', 'class' => 'button show' ))); + $form->addElement($lang['btn_older']); + $form->addElement(form_makeCloseTag('button')); $form->addElement(form_makeCloseTag('div')); } $form->addElement(form_makeCloseTag('div')); @@ -937,13 +957,14 @@ function html_list_index($item){ */ function html_li_index($item){ global $INFO; + global $ACT; $class = ''; $id = ''; if($item['type'] == "f"){ // scroll to the current item - if($item['id'] == $INFO['id']) { + if($item['id'] == $INFO['id'] && $ACT == 'index') { $id = ' id="scroll__here"'; $class = ' bounce'; } @@ -987,7 +1008,7 @@ function html_li_default($item){ * @param callable $func callback to print an list item * @param callable $lifunc callback to the opening li tag * @param bool $forcewrapper Trigger building a wrapper ul if the first level is - 0 (we have a root object) or 1 (just the root content) + * 0 (we have a root object) or 1 (just the root content) * @return string html of an unordered list */ function html_buildlist($data,$class,$func,$lifunc='html_li_default',$forcewrapper=false){ @@ -1391,7 +1412,13 @@ function html_diff_navigation($pagelog, $type, $l_rev, $r_rev) { // last timestamp is not in changelog, retrieve timestamp from metadata // note: when page is removed, the metadata timestamp is zero - $r_rev = $r_rev ? $r_rev : $INFO['meta']['last_change']['date']; + if(!$r_rev) { + if(isset($INFO['meta']['last_change']['date'])) { + $r_rev = $INFO['meta']['last_change']['date']; + } else { + $r_rev = 0; + } + } //retrieve revisions with additional info list($l_revs, $r_revs) = $pagelog->getRevisionsAround($l_rev, $r_rev); @@ -2052,6 +2079,13 @@ function html_admin(){ $menu['config']['prompt'].'</a></div></li>'); } unset($menu['config']); + + if($menu['styling']){ + ptln(' <li class="admin_styling"><div class="li">'. + '<a href="'.wl($ID, array('do' => 'admin','page' => 'styling')).'">'. + $menu['styling']['prompt'].'</a></div></li>'); + } + unset($menu['styling']); } ptln('</ul>'); @@ -2080,7 +2114,17 @@ function html_admin(){ // print the rest as sorted list if(count($menu)){ - usort($menu, 'p_sort_modes'); + // sort by name, then sort + usort( + $menu, + function ($a, $b) { + $strcmp = strcasecmp($a['prompt'], $b['prompt']); + if($strcmp != 0) return $strcmp; + if($a['sort'] == $b['sort']) return 0; + return ($a['sort'] < $b['sort']) ? -1 : 1; + } + ); + // output the menu ptln('<div class="clearer"></div>'); print p_locale_xhtml('adminplugins'); diff --git a/inc/httputils.php b/inc/httputils.php index ac79aa1768cb4358b2558401ec8625f8fd379f1d..c365f4f5ca8bc8d2bf1a892dadb0066eb0ef1caa 100644 --- a/inc/httputils.php +++ b/inc/httputils.php @@ -197,6 +197,8 @@ function http_rangeRequest($fh,$size,$mime){ * @return bool */ function http_gzip_valid($uncompressed_file) { + if(!DOKU_HAS_GZIP) return false; + $gzip = $uncompressed_file.'.gz'; if (filemtime($gzip) < filemtime($uncompressed_file)) { // filemtime returns false (0) if file doesn't exist return copy($uncompressed_file, 'compress.zlib://'.$gzip); @@ -252,10 +254,10 @@ function http_cached_finish($file, $content) { // save cache file io_saveFile($file, $content); - if(function_exists('gzopen')) io_saveFile("$file.gz",$content); + if(DOKU_HAS_GZIP) io_saveFile("$file.gz",$content); // finally send output - if ($conf['gzip_output']) { + if ($conf['gzip_output'] && DOKU_HAS_GZIP) { header('Vary: Accept-Encoding'); header('Content-Encoding: gzip'); print gzencode($content,9,FORCE_GZIP); diff --git a/inc/init.php b/inc/init.php index 91bc77f981cc1527e68f4b67438c060c7e9bdbf8..c7a17948950d87cf02291d9905efa13d6ce7242e 100644 --- a/inc/init.php +++ b/inc/init.php @@ -191,13 +191,16 @@ global $plugin_controller_class, $plugin_controller; if (empty($plugin_controller_class)) $plugin_controller_class = 'Doku_Plugin_Controller'; // load libraries +require_once(DOKU_INC.'vendor/autoload.php'); require_once(DOKU_INC.'inc/load.php'); // disable gzip if not available -if($conf['compression'] == 'bz2' && !function_exists('bzopen')){ +define('DOKU_HAS_BZIP', function_exists('bzopen')); +define('DOKU_HAS_GZIP', function_exists('gzopen')); +if($conf['compression'] == 'bz2' && !DOKU_HAS_BZIP) { $conf['compression'] = 'gz'; } -if($conf['compression'] == 'gz' && !function_exists('gzopen')){ +if($conf['compression'] == 'gz' && !DOKU_HAS_GZIP) { $conf['compression'] = 0; } @@ -535,7 +538,7 @@ function nice_die($msg){ </body> </html> EOT; - exit; + exit(1); } /** diff --git a/inc/io.php b/inc/io.php index 3ed2271622f5b5e86ae33d48d62e01c47331c3a1..066030c89a5dc339bb62861df7f23cab17c7df5f 100644 --- a/inc/io.php +++ b/inc/io.php @@ -101,20 +101,24 @@ function _io_readWikiPage_action($data) { * * @param string $file filename * @param bool $clean - * @return string + * @return string|bool the file contents or false on error */ function io_readFile($file,$clean=true){ $ret = ''; if(file_exists($file)){ if(substr($file,-3) == '.gz'){ - $ret = join('',gzfile($file)); + if(!DOKU_HAS_GZIP) return false; + $ret = gzfile($file); + if(is_array($ret)) $ret = join('', $ret); }else if(substr($file,-4) == '.bz2'){ + if(!DOKU_HAS_BZIP) return false; $ret = bzfile($file); }else{ $ret = file_get_contents($file); } } - if($clean){ + if($ret === null) return false; + if($ret !== false && $clean){ return cleanText($ret); }else{ return $ret; @@ -124,22 +128,42 @@ function io_readFile($file,$clean=true){ * Returns the content of a .bz2 compressed file as string * * @author marcel senf <marcel@rucksackreinigung.de> + * @author Andreas Gohr <andi@splitbrain.org> * * @param string $file filename - * @return string content + * @param bool $array return array of lines + * @return string|array|bool content or false on error */ -function bzfile($file){ +function bzfile($file, $array=false) { $bz = bzopen($file,"r"); + if($bz === false) return false; + + if($array) $lines = array(); $str = ''; - while (!feof($bz)){ + while (!feof($bz)) { //8192 seems to be the maximum buffersize? - $str = $str . bzread($bz,8192); + $buffer = bzread($bz,8192); + if(($buffer === false) || (bzerrno($bz) !== 0)) { + return false; + } + $str = $str . $buffer; + if($array) { + $pos = strpos($str, "\n"); + while($pos !== false) { + $lines[] = substr($str, 0, $pos+1); + $str = substr($str, $pos+1); + $pos = strpos($str, "\n"); + } + } } bzclose($bz); + if($array) { + if($str !== '') $lines[] = $str; + return $lines; + } return $str; } - /** * Used to write out a DokuWiki page to file, and send IO_WIKIPAGE_WRITE events. * @@ -185,13 +209,7 @@ function _io_writeWikiPage_action($data) { } /** - * Saves $content to $file. - * - * If the third parameter is set to true the given content - * will be appended. - * - * Uses gzip if extension is .gz - * and bz2 if extension is .bz2 + * Internal function to save contents to a file. * * @author Andreas Gohr <andi@splitbrain.org> * @@ -200,106 +218,142 @@ function _io_writeWikiPage_action($data) { * @param bool $append * @return bool true on success, otherwise false */ -function io_saveFile($file,$content,$append=false){ +function _io_saveFile($file, $content, $append) { global $conf; $mode = ($append) ? 'ab' : 'wb'; - $fileexists = file_exists($file); - io_makeFileDir($file); - io_lock($file); + if(substr($file,-3) == '.gz'){ + if(!DOKU_HAS_GZIP) return false; $fh = @gzopen($file,$mode.'9'); - if(!$fh){ - msg("Writing $file failed",-1); - io_unlock($file); - return false; - } + if(!$fh) return false; gzwrite($fh, $content); gzclose($fh); }else if(substr($file,-4) == '.bz2'){ - $fh = @bzopen($file,$mode{0}); - if(!$fh){ - msg("Writing $file failed", -1); - io_unlock($file); - return false; + if(!DOKU_HAS_BZIP) return false; + if($append) { + $bzcontent = bzfile($file); + if($bzcontent === false) return false; + $content = $bzcontent.$content; } + $fh = @bzopen($file,'w'); + if(!$fh) return false; bzwrite($fh, $content); bzclose($fh); }else{ $fh = @fopen($file,$mode); - if(!$fh){ - msg("Writing $file failed",-1); - io_unlock($file); - return false; - } + if(!$fh) return false; fwrite($fh, $content); fclose($fh); } if(!$fileexists and !empty($conf['fperm'])) chmod($file, $conf['fperm']); - io_unlock($file); return true; } /** - * Delete exact linematch for $badline from $file. + * Saves $content to $file. * - * Be sure to include the trailing newline in $badline + * If the third parameter is set to true the given content + * will be appended. * * Uses gzip if extension is .gz + * and bz2 if extension is .bz2 * - * 2005-10-14 : added regex option -- Christopher Smith <chris@jalakai.co.uk> + * @author Andreas Gohr <andi@splitbrain.org> * - * @author Steven Danz <steven-danz@kc.rr.com> + * @param string $file filename path to file + * @param string $content + * @param bool $append + * @return bool true on success, otherwise false + */ +function io_saveFile($file, $content, $append=false) { + io_makeFileDir($file); + io_lock($file); + if(!_io_saveFile($file, $content, $append)) { + msg("Writing $file failed",-1); + io_unlock($file); + return false; + } + io_unlock($file); + return true; +} + +/** + * Replace one or more occurrences of a line in a file. * - * @param string $file filename - * @param string $badline exact linematch to remove - * @param bool $regex use regexp? + * The default, when $maxlines is 0 is to delete all matching lines then append a single line. + * A regex that matches any part of the line will remove the entire line in this mode. + * Captures in $newline are not available. + * + * Otherwise each line is matched and replaced individually, up to the first $maxlines lines + * or all lines if $maxlines is -1. If $regex is true then captures can be used in $newline. + * + * Be sure to include the trailing newline in $oldline when replacing entire lines. + * + * Uses gzip if extension is .gz + * and bz2 if extension is .bz2 + * + * @author Steven Danz <steven-danz@kc.rr.com> + * @author Christopher Smith <chris@jalakai.co.uk> + * @author Patrick Brown <ptbrown@whoopdedo.org> + * + * @param string $file filename + * @param string $oldline exact linematch to remove + * @param string $newline new line to insert + * @param bool $regex use regexp? + * @param int $maxlines number of occurrences of the line to replace * @return bool true on success */ -function io_deleteFromFile($file,$badline,$regex=false){ +function io_replaceInFile($file, $oldline, $newline, $regex=false, $maxlines=0) { + if ((string)$oldline === '') { + trigger_error('$oldline parameter cannot be empty in io_replaceInFile()', E_USER_WARNING); + return false; + } + if (!file_exists($file)) return true; io_lock($file); // load into array if(substr($file,-3) == '.gz'){ + if(!DOKU_HAS_GZIP) return false; $lines = gzfile($file); + }else if(substr($file,-4) == '.bz2'){ + if(!DOKU_HAS_BZIP) return false; + $lines = bzfile($file, true); }else{ $lines = file($file); } - // remove all matching lines - if ($regex) { - $lines = preg_grep($badline,$lines,PREG_GREP_INVERT); - } else { - $pos = array_search($badline,$lines); //return null or false if not found - while(is_int($pos)){ - unset($lines[$pos]); - $pos = array_search($badline,$lines); + // make non-regexes into regexes + $pattern = $regex ? $oldline : '/^'.preg_quote($oldline,'/').'$/'; + $replace = $regex ? $newline : addcslashes($newline, '\$'); + + // remove matching lines + if ($maxlines > 0) { + $count = 0; + $matched = 0; + while (($count < $maxlines) && (list($i,$line) = each($lines))) { + // $matched will be set to 0|1 depending on whether pattern is matched and line replaced + $lines[$i] = preg_replace($pattern, $replace, $line, -1, $matched); + if ($matched) $count++; } + } else if ($maxlines == 0) { + $lines = preg_grep($pattern, $lines, PREG_GREP_INVERT); + + if ((string)$newline !== ''){ + $lines[] = $newline; + } + } else { + $lines = preg_replace($pattern, $replace, $lines); } if(count($lines)){ - $content = join('',$lines); - if(substr($file,-3) == '.gz'){ - $fh = @gzopen($file,'wb9'); - if(!$fh){ - msg("Removing content from $file failed",-1); - io_unlock($file); - return false; - } - gzwrite($fh, $content); - gzclose($fh); - }else{ - $fh = @fopen($file,'wb'); - if(!$fh){ - msg("Removing content from $file failed",-1); - io_unlock($file); - return false; - } - fwrite($fh, $content); - fclose($fh); + if(!_io_saveFile($file, join('',$lines), false)) { + msg("Removing content from $file failed",-1); + io_unlock($file); + return false; } }else{ @unlink($file); @@ -309,6 +363,22 @@ function io_deleteFromFile($file,$badline,$regex=false){ return true; } +/** + * Delete lines that match $badline from $file. + * + * Be sure to include the trailing newline in $badline + * + * @author Patrick Brown <ptbrown@whoopdedo.org> + * + * @param string $file filename + * @param string $badline exact linematch to remove + * @param bool $regex use regexp? + * @return bool true on success + */ +function io_deleteFromFile($file,$badline,$regex=false){ + return io_replaceInFile($file,$badline,null,$regex,0); +} + /** * Tries to lock a file * diff --git a/inc/lang/.htaccess b/inc/lang/.htaccess index 2d69be754fc9e93b6ccfaffbe7a1e42cf553cd24..2aaae02fd59fedbb870d96bcee0feee5ac265e7e 100644 --- a/inc/lang/.htaccess +++ b/inc/lang/.htaccess @@ -1,3 +1,8 @@ ## no access to the lang directory -order allow,deny -deny from all +<IfModule mod_authz_host> + Require all denied +</IfModule> +<IfModule !mod_authz_host> + Order allow,deny + Deny from all +</IfModule> diff --git a/inc/lang/af/lang.php b/inc/lang/af/lang.php index 70672fbdd5fa7ec388116805141463351d3e4954..f719647198e4cdf1cc856a10b0895409e3097a39 100644 --- a/inc/lang/af/lang.php +++ b/inc/lang/af/lang.php @@ -44,7 +44,6 @@ $lang['profnoempty'] = 'Jy moet \'n name en a e-posadres in sit'; $lang['resendpwdmissing'] = 'Jammer, jy moet ales in fil'; $lang['resendpwdconfirm'] = '\'n Bevestigingpos is gestuur na die gekose e-posadres.'; $lang['resendpwdsuccess'] = 'Jou nuive wagwoord was deur e-pos gesteur'; -$lang['fileupload'] = 'Laai lêer'; $lang['uploadsucc'] = 'Laai suksesvol'; $lang['uploadfail'] = 'Laai fout'; $lang['js']['hidedetails'] = 'Steek weg'; @@ -62,7 +61,6 @@ $lang['qb_link'] = 'Interne skakel'; $lang['qb_extlink'] = 'Eksterne skakel'; $lang['qb_hr'] = 'Horisontale streep'; $lang['qb_sig'] = 'Handtekening met datum'; -$lang['admin_register'] = 'Skep gerus \'n rekening'; $lang['btn_img_backto'] = 'Terug na %s'; $lang['img_date'] = 'Datem:'; $lang['img_camera'] = 'Camera:'; diff --git a/inc/lang/ar/jquery.ui.datepicker.js b/inc/lang/ar/jquery.ui.datepicker.js index c93fed48dc6cd1cba06e243c04afd782562ffaef..c9ee84a543537f8cfb639ffa1c4e6cfe954501bc 100644 --- a/inc/lang/ar/jquery.ui.datepicker.js +++ b/inc/lang/ar/jquery.ui.datepicker.js @@ -1,6 +1,7 @@ /* Arabic Translation for jQuery UI date picker plugin. */ -/* Khaled Alhourani -- me@khaledalhourani.com */ -/* NOTE: monthNames are the original months names and they are the Arabic names, not the new months name Ùبراير - يناير and there isn't any Arabic roots for these months */ +/* Used in most of Arab countries, primarily in Bahrain, Kuwait, Oman, Qatar, Saudi Arabia and the United Arab Emirates, Egypt, Sudan and Yemen. */ +/* Written by Mohammed Alshehri -- m@dralshehri.com */ + (function( factory ) { if ( typeof define === "function" && define.amd ) { @@ -18,15 +19,15 @@ datepicker.regional['ar'] = { prevText: '<السابق', nextText: 'التالي>', currentText: 'اليوم', - monthNames: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'مايو', 'Øزيران', - 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], + monthNames: ['يناير', 'Ùبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', + 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوÙمبر', 'ديسمبر'], monthNamesShort: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], dayNames: ['الأØد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], - dayNamesShort: ['الأØد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], + dayNamesShort: ['Ø£Øد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'], dayNamesMin: ['Ø', 'Ù†', 'Ø«', 'ر', 'Ø®', 'ج', 'س'], weekHeader: 'أسبوع', dateFormat: 'dd/mm/yy', - firstDay: 6, + firstDay: 0, isRTL: true, showMonthAfterYear: false, yearSuffix: ''}; diff --git a/inc/lang/ar/lang.php b/inc/lang/ar/lang.php index 50984e6303ef11db3090fd0eb37895e98c6fc8cc..fb89bb0c7bb6a2ba487d0cec26debc4f5f2d098e 100644 --- a/inc/lang/ar/lang.php +++ b/inc/lang/ar/lang.php @@ -2,7 +2,7 @@ /** * @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> @@ -41,7 +41,6 @@ $lang['btn_update'] = 'Øدّث'; $lang['btn_delete'] = 'اØØ°Ù'; $lang['btn_back'] = 'ارجع'; $lang['btn_backlink'] = 'ارتباطات'; -$lang['btn_backtomedia'] = 'ارجع إلى اختيار مل٠الوسائط'; $lang['btn_subscribe'] = 'ادر الاشتراكات'; $lang['btn_profile'] = 'Øدث المل٠الشخصي'; $lang['btn_reset'] = 'صÙّر'; @@ -88,7 +87,7 @@ $lang['profchanged'] = 'ØÙدث المل٠الشخصي للمستخ $lang['profnodelete'] = 'هذه الموسوعه لا ندعم Øذ٠الأشخاص'; $lang['profdeleteuser'] = 'اØØ°Ù Øساب'; $lang['profdeleted'] = 'Øسابك الخاص تم ØØ°ÙÙ‡ من هذه الموسوعة'; -$lang['profconfdelete'] = 'أنا أرغب ÙÙŠ ØØ°Ù Øسابي من هذه الموسوعة.<br/> +$lang['profconfdelete'] = 'أنا أرغب ÙÙŠ ØØ°Ù Øسابي من هذه الموسوعة.<br/> هذا الØدث غير ممكن.'; $lang['profconfdeletemissing'] = 'لم تقم بوضع علامة ÙÙŠ مربع التأكيد'; $lang['pwdforget'] = 'أنسيت كلمة السر؟ اØصل على واØدة جديدة'; @@ -143,8 +142,6 @@ $lang['js']['del_confirm'] = 'هل Øقاً تريد Øذ٠البنود ا $lang['js']['restore_confirm'] = 'أمتأكد من استرجاع هذه النسخة؟'; $lang['js']['media_diff'] = 'عرض الÙروق:'; $lang['js']['media_diff_both'] = 'جنبا إلى جنب'; -$lang['js']['media_diff_opacity'] = 'Shine-through'; -$lang['js']['media_diff_portions'] = 'Swipe'; $lang['js']['media_select'] = 'اختر ملÙا...'; $lang['js']['media_upload_btn'] = 'ارÙع'; $lang['js']['media_done_btn'] = 'تم'; @@ -154,7 +151,6 @@ $lang['js']['media_overwrt'] = 'أكتب Ùوق الملÙات الموجود $lang['rssfailed'] = 'خطأ ما Øدث أثناء جلب مل٠التغذية:'; $lang['nothingfound'] = 'لا يوجد شيء'; $lang['mediaselect'] = 'ملÙات الوسائط'; -$lang['fileupload'] = 'تØميل مل٠وسائط'; $lang['uploadsucc'] = 'تم الرÙع بنجاØ'; $lang['uploadfail'] = 'Ùشل الرÙع، ربما خطأ تراخيص؟'; $lang['uploadwrong'] = 'الرÙع ممنوع، نوع المل٠مرÙوض!'; @@ -245,7 +241,6 @@ $lang['qb_sig'] = 'أدرج التوقيع'; $lang['qb_smileys'] = 'الإبتسامات'; $lang['qb_chars'] = 'Ù…Øار٠خاصة'; $lang['upperns'] = 'انتقل للنطاق الأب'; -$lang['admin_register'] = 'أض٠مستخدما جديدا'; $lang['metaedit'] = 'تØرير البيانات الشمولية '; $lang['metasaveerr'] = 'Ùشلت كتابة البيانات الشمولية'; $lang['metasaveok'] = 'ØÙÙظت البيانات الشمولية'; @@ -278,7 +273,6 @@ $lang['subscr_style_every'] = 'بريدا على كل تغيير'; $lang['subscr_style_digest'] = 'البريد الإلكتروني, ملخص للتغييرات لكل صÙØØ© (كل يوم %.2f)'; $lang['subscr_style_list'] = 'قائمة بالصÙØات التي تم تغييرها منذ آخر بريد الإلكتروني (كل يوم %.2f)'; $lang['authtempfail'] = 'ØªØµØ±ÙŠØ Ø§Ù„Ù…Ø´ØªØ±Ùƒ غير متوÙر مؤقتاً، إن استمرت هذه الØالة يرجى مراسلة المدير'; -$lang['authpwdexpire'] = 'ستنتهي صلاØية كلمة السر ÙÙŠ %d . عليك بتغييرها سريعا.'; $lang['i_chooselang'] = 'اختر لغتك'; $lang['i_installer'] = 'برنامج تنصيب دوكو ويكي'; $lang['i_wikiname'] = 'اسم الويكي'; @@ -303,8 +297,8 @@ $lang['i_badhash'] = 'المل٠dokuwiki.php غير مصن٠أو (hash=<code>%s</code>)'; $lang['i_badval'] = 'القيمة <code>%s</code> غير شرعية أو Ùارغة'; $lang['i_success'] = 'الإعدادات تمت بنجاØØŒ يرجى Øذ٠المل٠install.php الآن. -ثم تابع إلى <a href="doku.php"> دوكو ويكي الجديدة</a>'; -$lang['i_failure'] = 'بعض الأخطاء Øدثت أثنا كتابة ملÙات الإعدادات، عليك تعديلها يدوياً قبل أن تستطيع استخدام <a href="doku.php"> دوكو ويكي الجديدة</a>'; +ثم تابع إلى <a href="doku.php?id=wiki:welcome"> دوكو ويكي الجديدة</a>'; +$lang['i_failure'] = 'بعض الأخطاء Øدثت أثنا كتابة ملÙات الإعدادات، عليك تعديلها يدوياً قبل أن تستطيع استخدام <a href="doku.php?id=wiki:welcome"> دوكو ويكي الجديدة</a>'; $lang['i_policy'] = 'ØªØµØ±ÙŠØ ACL مبدئي'; $lang['i_pol0'] = 'ويكي Ù…ÙتوØØ©Ø› أي القراءة والكتابة والتØميل مسموØØ© للجميع'; $lang['i_pol1'] = 'ويكي عامة؛ أي القراءة للجميع ولكن الكتابة والتØميل للمشتركين المسجلين Ùقط'; diff --git a/inc/lang/ar/register.txt b/inc/lang/ar/register.txt index 57406ddd43779141ffa698e695d2c9707cb7ff72..10a7fa202dc15b144887519381cdfbabfbda6db9 100644 --- a/inc/lang/ar/register.txt +++ b/inc/lang/ar/register.txt @@ -1,3 +1,3 @@ ====== سجل كمستخدم جديد ====== -أملئ البيانات التالية لتسجيل Øساب جديد على الويكي. تأكد من كتابة **بريد إلكترونى صØÙŠØ** - سترسل اليك كلمة سر جديدة. أسم الدخول يجب أن يكون [[doku>pagename|أسم صÙØØ©]] صØÙŠØ. +املئ البيانات التالية لتسجيل Øساب جديد على الويكي. تأكد من كتابة **بريد إلكتروني صØÙŠØ** - سترسل إليك كلمة سر جديدة. اسم الدخول يجب أن يكون [[doku>pagename|أسم صÙØØ©]] صØÙŠØ. diff --git a/inc/lang/ar/stopwords.txt b/inc/lang/ar/stopwords.txt index bc6eb48aea08f241e220bc59d6d6851acfb8e381..1a885988a49003e7d8e7cc2fe79453ff687365ec 100644 --- a/inc/lang/ar/stopwords.txt +++ b/inc/lang/ar/stopwords.txt @@ -2,6 +2,169 @@ # When you edit this file be sure to use UNIX line endings (single newline) # No need to include words shorter than 3 chars - these are ignored anyway # This list is based upon the ones found at http://www.ranks.nl/stopwords/ +ب +ا +ØŒ +عشر +عدد +عدة +عشرة +عدم +عام +عاما +عن +عند +عندما +على +عليه +عليها +زيارة +سنة +سنوات +تم +ضد +بعد +بعض +اعادة +اعلنت +بسبب +Øتى +اذا +اØد +اثر +برس +باسم +غدا +شخصا +ØµØ¨Ø§Ø +اطار +اربعة +اخرى +بان +اجل +غير +بشكل +Øاليا +بن +به +ثم +ا٠+ان +او +اي +بها +صÙر +Øيث +اكد +الا +اما +امس +السابق +التى +التي +اكثر +ايار +ايضا +ثلاثة +الذاتي +الاخيرة +الثاني +الثانية +الذى +الذي +الان +امام +ايام +خلال +Øوالى +الذين +الاول +الاولى +بين +ذلك +دون +Øول +Øين +ال٠+الى +انه +اول +ضمن +انها +جميع +الماضي +الوقت +المقبل +اليوم +Ù€ +Ù +Ùˆ +Ùˆ6 +قد +لا +ما +مع +مساء +هذا +واØد +واضا٠+واضاÙت +Ùان +قبل +قال +كان +لدى +Ù†ØÙˆ +هذه +وان +واكد +كانت +ÙˆØ§ÙˆØ¶Ø +مايو +ÙÙ‰ +ÙÙŠ +كل +لم +لن +له +من +هو +هي +قوة +كما +لها +منذ +وقد +ولا +Ù†Ùسه +لقاء +مقابل +هناك +وقال +وكان +نهاية +وقالت +وكانت +للامم +Ùيه +كلم +لكن +ÙˆÙÙŠ +وق٠+ولم +ومن +وهو +وهي +يوم +Ùيها +منها +مليار +لوكالة +يكون +يمكن +مليون +ÙÙ‰ +أم about are and diff --git a/inc/lang/az/lang.php b/inc/lang/az/lang.php index bcec31daecbea834b6ac70421913e906183e2c25..26b177ee63838c815f720dcec14b846e9232f6d3 100644 --- a/inc/lang/az/lang.php +++ b/inc/lang/az/lang.php @@ -35,7 +35,6 @@ $lang['btn_update'] = 'YenilÉ™'; $lang['btn_delete'] = 'Sil'; $lang['btn_back'] = 'Geri'; $lang['btn_backlink'] = 'Bura olan link-lÉ™r'; -$lang['btn_backtomedia'] = 'media-fayl seçiminÉ™ qayıt'; $lang['btn_subscribe'] = 'AbunÉ™ ol (bütün dÉ™yiÅŸiklÉ™r)'; $lang['btn_profile'] = 'Profil'; $lang['btn_reset'] = 'BoÅŸalt'; @@ -92,7 +91,6 @@ $lang['js']['willexpire'] = 'Sizin bu sÉ™hifÉ™dÉ™ dÉ™yiÅŸik etmÉ™k ü $lang['rssfailed'] = 'AÅŸağıda göstÉ™rilmiÅŸ xÉ™bÉ™r lentini É™ldÉ™ edÉ™n zaman xÉ™ta baÅŸ verdi: '; $lang['nothingfound'] = 'HeçnÉ™ tapılmadı.'; $lang['mediaselect'] = 'Mediya-faylın seçilmÉ™si'; -$lang['fileupload'] = 'Mediya-faylın serverÉ™ yüklÉ™nmÉ™si'; $lang['uploadsucc'] = 'YüklÉ™nmÉ™ uÄŸur ilÉ™ baÅŸa çatdı'; $lang['uploadfail'] = 'YüklÉ™nmÉ™ zamanı xÉ™ta baÅŸ veri. BÉ™lkÉ™ giriÅŸ haqları ilÉ™ problem var?'; $lang['uploadwrong'] = 'YuklÉ™nmÉ™yÉ™ qadaÄŸa qoyuldu. BelÉ™ növlu faylları serverÉ™ yüklÉ™mÉ™k olmaz. '; @@ -169,7 +167,6 @@ $lang['qb_sig'] = 'Ä°mza at'; $lang['qb_smileys'] = 'Smayllar'; $lang['qb_chars'] = 'Xüsusi simvollar'; $lang['upperns'] = 'Ana namespace-É™ keç'; -$lang['admin_register'] = 'Ä°stifadəçi É™lavÉ™ et'; $lang['metaedit'] = 'Meta-mÉ™lumatlarda düzÉ™liÅŸ et'; $lang['metasaveerr'] = 'Meta-mÉ™lumatları yazan zamanı xÉ™ta'; $lang['metasaveok'] = 'Meta-mÉ™lumatlar yadda saxlandı'; diff --git a/inc/lang/bg/lang.php b/inc/lang/bg/lang.php index cfacd09aa6cb3abafe6dc77170597668898a1db9..0dc3f866051ec22d2ce3e884cde31b658e831ee9 100644 --- a/inc/lang/bg/lang.php +++ b/inc/lang/bg/lang.php @@ -10,8 +10,8 @@ */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; -$lang['doublequoteopening'] = '"'; -$lang['doublequoteclosing'] = '"'; +$lang['doublequoteopening'] = '„'; +$lang['doublequoteclosing'] = '“'; $lang['singlequoteopening'] = '‘'; $lang['singlequoteclosing'] = '’'; $lang['apostrophe'] = '’'; @@ -38,7 +38,6 @@ $lang['btn_update'] = 'Ðктуализиране'; $lang['btn_delete'] = 'Изтриване'; $lang['btn_back'] = 'Ðазад'; $lang['btn_backlink'] = 'Какво Ñочи наÑам'; -$lang['btn_backtomedia'] = 'Ðазад към избора на файл'; $lang['btn_subscribe'] = 'Ðбонаменти'; $lang['btn_profile'] = 'Профил'; $lang['btn_reset'] = 'ИзчиÑтване'; @@ -51,6 +50,8 @@ $lang['btn_register'] = 'РегиÑтриране'; $lang['btn_apply'] = 'Прилагане'; $lang['btn_media'] = 'ДиÑпечер на файлове'; $lang['btn_deleteuser'] = 'Изтриване на профила'; +$lang['btn_img_backto'] = 'Ðазад към %s'; +$lang['btn_mediaManager'] = 'Преглед в диÑпечера на файлове'; $lang['loggedinas'] = 'ВпиÑани Ñте като:'; $lang['user'] = 'Потребител'; $lang['pass'] = 'Парола'; @@ -71,6 +72,7 @@ $lang['regmissing'] = 'МолÑ, попълнете вÑички по $lang['reguexists'] = 'Вече ÑъщеÑтвува потребител Ñ Ð¸Ð·Ð±Ñ€Ð°Ð½Ð¾Ñ‚Ð¾ име.'; $lang['regsuccess'] = 'ПотребителÑÑ‚ е Ñъздаден, а паролата е пратена по електронната поща.'; $lang['regsuccess2'] = 'ПотребителÑÑ‚ е Ñъздаден.'; +$lang['regfail'] = 'ПотребителÑÑ‚ не може да бъде Ñъздаден.'; $lang['regmailfail'] = 'Изглежда, че има проблем Ñ Ð¿Ñ€Ð°Ñ‰Ð°Ð½ÐµÑ‚Ð¾ на пиÑмото Ñ Ð¿Ð°Ñ€Ð¾Ð»Ð°Ñ‚Ð°. МолÑ, Ñвържете Ñе Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтратора!'; $lang['regbadmail'] = 'ВъведениÑÑ‚ Ð°Ð´Ñ€ÐµÑ Ð¸Ð·Ð³Ð»ÐµÐ¶Ð´Ð° невалиден - ако миÑлите, че това е грешка, Ñвържете Ñе Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтратора.'; $lang['regbadpass'] = 'Двете въведени пароли не Ñъвпадат, Ð¼Ð¾Ð»Ñ Ð¾Ð¿Ð¸Ñ‚Ð°Ð¹Ñ‚Ðµ отново.'; @@ -85,6 +87,7 @@ $lang['profdeleteuser'] = 'Изтриване на профила'; $lang['profdeleted'] = 'ВашиÑÑ‚ профил е премахнат от това wiki '; $lang['profconfdelete'] = 'ИÑкам да Ð¸Ð·Ñ‚Ñ€Ð¸Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð° Ñи от това wiki. <br/> Веднъж изтрит, профилът не може да бъде възÑтановен!'; $lang['profconfdeletemissing'] = 'Ðе Ñте поÑтавили отметка в кутиÑта потвърждение'; +$lang['proffail'] = 'ПотребителÑкиÑÑ‚ профил не може да бъде актуализиран.'; $lang['pwdforget'] = 'Забравили Ñте паролата Ñи? Получете нова'; $lang['resendna'] = 'Wiki-то не поддържа повторно пращане на паролата.'; $lang['resendpwd'] = 'Задаване на нова парола за'; @@ -147,7 +150,6 @@ $lang['js']['media_overwrt'] = 'Презапиши ÑъщеÑтвуващит $lang['rssfailed'] = 'Възникна грешка при получаването на емиÑиÑта: '; $lang['nothingfound'] = 'Ðищо не е открито.'; $lang['mediaselect'] = 'Файлове'; -$lang['fileupload'] = 'Качване на файлове'; $lang['uploadsucc'] = 'Качването е уÑпешно'; $lang['uploadfail'] = 'Качването Ñе провали. Може би поради грешни права?'; $lang['uploadwrong'] = 'Качването е отказано. Файлово разширение е забранено!'; @@ -181,6 +183,9 @@ $lang['difflink'] = 'Препратка към Ñравнениет $lang['diff_type'] = 'Преглед на разликите:'; $lang['diff_inline'] = 'Вграден'; $lang['diff_side'] = 'Един до друг'; +$lang['diffprevrev'] = 'Предходна верÑиÑ'; +$lang['diffnextrev'] = 'Следваща верÑиÑ'; +$lang['difflastrev'] = 'ПоÑледна верÑиÑ'; $lang['line'] = 'Ред'; $lang['breadcrumb'] = 'Следа:'; $lang['youarehere'] = 'Ðамирате Ñе в:'; @@ -233,11 +238,9 @@ $lang['qb_sig'] = 'Вмъкване на подпиÑ'; $lang['qb_smileys'] = 'УÑмивчици'; $lang['qb_chars'] = 'Специални знаци'; $lang['upperns'] = 'към майчиното именно проÑтранÑтво'; -$lang['admin_register'] = 'ДобавÑне на нов потребител'; $lang['metaedit'] = 'Редактиране на метаданни'; $lang['metasaveerr'] = 'ЗапиÑването на метаданните Ñе провали'; $lang['metasaveok'] = 'Метаданните Ñа запазени уÑпешно'; -$lang['btn_img_backto'] = 'Ðазад към %s'; $lang['img_title'] = 'Заглавие:'; $lang['img_caption'] = 'ÐадпиÑ:'; $lang['img_date'] = 'Дата:'; @@ -250,7 +253,6 @@ $lang['img_camera'] = 'Фотоапарат:'; $lang['img_keywords'] = 'Ключови думи:'; $lang['img_width'] = 'Ширина:'; $lang['img_height'] = 'ВиÑочина:'; -$lang['btn_mediaManager'] = 'Преглед в диÑпечера на файлове'; $lang['subscr_subscribe_success'] = '%s е добавен към ÑпиÑъка Ñ Ð°Ð±Ð¾Ð½Ð¸Ñ€Ð°Ð»Ð¸Ñ‚Ðµ Ñе за %s'; $lang['subscr_subscribe_error'] = 'Грешка при добавÑнето на %s към ÑпиÑъка Ñ Ð°Ð±Ð¾Ð½Ð¸Ñ€Ð°Ð»Ð¸Ñ‚Ðµ Ñе за %s'; $lang['subscr_subscribe_noaddress'] = 'ДобавÑнето ви към ÑпиÑъка Ñ Ð°Ð±Ð¾Ð½Ð°Ñ‚Ð¸ не е възможно поради липÑата на Ñвързан Ð°Ð´Ñ€ÐµÑ (имейл) Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð° ви.'; @@ -268,7 +270,6 @@ $lang['subscr_style_every'] = 'на имейл при вÑÑка промÑн $lang['subscr_style_digest'] = 'на имейл Ñ Ð¾Ð±Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ на промените във вÑÑка Ñтраница (вÑеки %.2f дни)'; $lang['subscr_style_list'] = 'на ÑпиÑък Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ‚Ðµ Ñтраници от поÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð¸Ð¼ÐµÐ¹Ð» (вÑеки %.2f дни)'; $lang['authtempfail'] = 'УдоÑтоверÑването на потребители не е възможно за момента. Ðко продължи дълго, Ð¼Ð¾Ð»Ñ ÑƒÐ²ÐµÐ´Ð¾Ð¼ÐµÑ‚Ðµ админиÑтратора на Wiki Ñтраницата.'; -$lang['authpwdexpire'] = 'Срока на паролата ви ще изтече Ñлед %d дни. Препоръчително е да Ñ Ñмените по-Ñкоро.'; $lang['i_chooselang'] = 'Изберете Ð²Ð°ÑˆÐ¸Ñ ÐµÐ·Ð¸Ðº'; $lang['i_installer'] = 'ИнÑталатор на DokuWiki'; $lang['i_wikiname'] = 'Име на Wiki-то'; @@ -279,12 +280,13 @@ $lang['i_modified'] = 'Поради мерки за ÑÐ¸Ð³ÑƒÑ€Ð½Ð¾Ñ Ð¢Ñ€Ñбва да разархивирате отново файловете от ÑÐ²Ð°Ð»ÐµÐ½Ð¸Ñ Ð°Ñ€Ñ…Ð¸Ð² или да Ñе поÑъветвате Ñ <a href="http://dokuwiki.org/install">ИнÑтрукциите за инÑталиране на Dokuwiki</a>.'; $lang['i_funcna'] = 'PHP функциÑта <code>%s</code> не е доÑтъпна. Може би е забранена от доÑтавчика на хоÑтинг.'; $lang['i_phpver'] = 'ИнÑталираната верÑÐ¸Ñ <code>%s</code> на PHP е по-Ñтара от необходимата <code>%s</code>. Ðктуализирайте PHP инÑталациÑта.'; +$lang['i_mbfuncoverload'] = 'Ðеобходимо е да изключите mbstring.func_overload в php.ini за да може DokuWiki да Ñтартира.'; $lang['i_permfail'] = '<code>%s</code> не е доÑтъпна за пиÑане от DokuWiki. ТрÑбва да промените правата за доÑтъп до директориÑта!'; $lang['i_confexists'] = '<code>%s</code> вече ÑъщеÑтвува'; $lang['i_writeerr'] = '<code>%s</code> не можа да бъде Ñъздаден. ТрÑбва да проверите правата за доÑтъп до директориÑта/файла и да Ñъздадете файла ръчно.'; $lang['i_badhash'] = 'Файлът dokuwiki.php не може да бъде разпознат или е променен (hash=<code>%s</code>)'; $lang['i_badval'] = '<code>%s</code> - непозволена или празна ÑтойноÑÑ‚'; -$lang['i_success'] = 'ÐаÑтройването приключи уÑпешно. Вече можете да изтриете файла install.php. Продължете към <a href="doku.php?id=wiki:welcome">Вашето ново DokuWiki</a>.'; +$lang['i_success'] = 'ÐаÑтройването приключи уÑпешно. Вече можете да изтриете файла install.php. Продължете към <a href="doku.php?id=wiki:welcome">Вашето новата инÑÑ‚Ð°Ð»Ð°Ñ†Ð¸Ñ Ð½Ð° DokuWiki</a>.'; $lang['i_failure'] = 'Възникнаха грешки при запиÑването на файловете Ñ Ð½Ð°Ñтройки. ВероÑтно ще Ñе наложи да ги поправите ръчно, за да можете да ползвате <a href="doku.php?id=wiki:welcome">Вашето ново DokuWiki</a>.'; $lang['i_policy'] = 'Първоначална политика за доÑтъп'; @@ -329,5 +331,6 @@ $lang['media_perm_read'] = 'За Ñъжаление нÑмате доÑÑ‚ $lang['media_perm_upload'] = 'За Ñъжаление нÑмате доÑтатъчно права, за да можете да качите файла.'; $lang['media_update'] = 'Качване на нова верÑиÑ'; $lang['media_restore'] = 'ВъзÑтановÑване на тази верÑиÑ'; +$lang['currentns'] = 'Текущо именно проÑтранÑтво'; $lang['searchresult'] = 'Резултати от Ñ‚ÑŠÑ€Ñенето'; $lang['plainhtml'] = 'Обикновен HTML'; diff --git a/inc/lang/bn/lang.php b/inc/lang/bn/lang.php index 0995bc478656a65372516428b6a26da3aad44174..5cb66a85307e2a93951ba70c85f1c390d1b6d1b2 100644 --- a/inc/lang/bn/lang.php +++ b/inc/lang/bn/lang.php @@ -2,24 +2,24 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Foysol <ragebot1125@gmail.com> * @author ninetailz <ninetailz1125@gmail.com> * @author Khan M. B. Asad <muhammad2017@gmail.com> + * @author Ninetailz <ninetailz1125@gmail.com> */ $lang['encoding'] = 'utf-8'; -$lang['direction'] = 'itr'; -$lang['doublequoteopening'] = '"'; -$lang['doublequoteclosing'] = '"'; -$lang['singlequoteopening'] = '\''; -$lang['singlequoteclosing'] = '\''; -$lang['apostrophe'] = '\''; +$lang['direction'] = 'ltr'; +$lang['doublequoteopening'] = '“'; +$lang['doublequoteclosing'] = 'â€'; +$lang['singlequoteopening'] = '‘'; +$lang['singlequoteclosing'] = '’'; +$lang['apostrophe'] = '’'; $lang['btn_edit'] = 'à¦à¦‡ পৃষà§à¦ া সমà§à¦ªà¦¾à¦¦à¦¨à¦¾ করà§à¦¨'; $lang['btn_source'] = 'দেখান পাতা উৎস'; $lang['btn_show'] = 'দেখান পৃষà§à¦ া'; $lang['btn_create'] = 'à¦à¦‡ পৃষà§à¦ া তৈরি করà§à¦¨'; $lang['btn_search'] = 'অনà§à¦¸à¦¨à§à¦§à¦¾à¦¨'; -$lang['btn_save'] = 'Save'; $lang['btn_preview'] = 'পূরà§à¦¬à¦°à§‚প'; $lang['btn_top'] = 'উপরে ফিরে যান '; $lang['btn_newer'] = '<< আরো সামà§à¦ªà§à¦°à¦¤à¦¿à¦•'; @@ -37,7 +37,6 @@ $lang['btn_update'] = 'আধà§à¦¨à¦¿à¦• করা'; $lang['btn_delete'] = 'মà§à¦›à§‡ ফেলা'; $lang['btn_back'] = 'পিছনে'; $lang['btn_backlink'] = 'বà§à¦¯à¦¾à¦•à¦²à¦¿à¦™à§à¦•à¦—à§à¦²à¦¿'; -$lang['btn_backtomedia'] = 'পিছনে Mediafile নিরà§à¦¬à¦¾à¦šà¦¨à§‡ যান'; $lang['btn_subscribe'] = 'সাবসà§à¦•à§à¦°à¦¿à¦ªà¦¶à¦¨ পরিচালনা করà§à¦¨'; $lang['btn_profile'] = 'পà§à¦°à§‹à¦«à¦¾à¦‡à¦² আপডেট করà§à¦¨'; $lang['btn_reset'] = 'রিসেট করà§à¦¨'; @@ -148,7 +147,6 @@ $lang['js']['media_overwrt'] = 'বরà§à¦¤à¦®à¦¾à¦¨ ফাইল ওà¦à¦¾ $lang['rssfailed'] = 'ফিডটি জোগাড় করতে গিয়ে à¦à¦•à¦Ÿà¦¿ তà§à¦°à§à¦Ÿà¦¿ ঘটেছে:'; $lang['nothingfound'] = 'কিছৠপাওয়া যায়নি।'; $lang['mediaselect'] = 'মিডিয়া ফাইল'; -$lang['fileupload'] = 'মিডিয়া ফাইল আপলোড'; $lang['uploadsucc'] = 'আপলোড সফল'; $lang['uploadfail'] = 'আপলোড বà§à¦¯à¦°à§à¦¥à¥¤ অনà§à¦®à¦¤à¦¿ জনিত তà§à¦°à§à¦Ÿà¦¿ কী?'; $lang['uploadwrong'] = 'আপলোড পà§à¦°à¦¤à§à¦¯à¦¾à¦–à§à¦¯à¦¾à¦¤à¥¤ à¦à¦‡ ফাইল à¦à¦•à§à¦¸à¦Ÿà§‡à¦¨à¦¶à¦¨ অননà§à¦®à§‹à¦¦à¦¿à¦¤à¥¤'; @@ -197,4 +195,32 @@ $lang['created'] = 'তৈরি করা'; $lang['restored'] = 'পà§à¦°à¦¾à¦¨à§‹ সংসà§à¦•à¦°à¦£à§‡à¦° পà§à¦¨à¦ƒà¦¸à§à¦¥à¦¾à¦ªà¦¨ (%s)'; $lang['external_edit'] = 'বাহà§à¦¯à¦¿à¦• সমà§à¦ªà¦¾à¦¦à¦¨à¦¾'; $lang['summary'] = 'সমà§à¦ªà¦¾à¦¦à¦¨à¦¾ সারাংশ'; -$lang['noflash'] = 'ঠhref="http://www.adobe.com/products/flashplayer/"> অà§à¦¯à¦¾à¦¡à§‹à¦¬à¦¿ ফà§à¦²à§à¦¯à¦¾à¦¶ পà§à¦²à¦¾à¦—ইন </ a> à¦à¦‡ সামগà§à¦°à§€ পà§à¦°à¦¦à¦°à§à¦¶à¦¨ করার জনà§à¦¯ পà§à¦°à¦¯à¦¼à§‹à¦œà¦¨ হয়.'; +$lang['noflash'] = 'ঠ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['sidebar'] = 'সাইডবার'; +$lang['mail_newpage'] = 'পৃষà§à¦ া যোগ করা হয়েছে:'; +$lang['mail_changed'] = 'পৃষà§à¦ া পরিবরà§à¦¤à¦¨ করা হয়েছে:'; +$lang['mail_subscribe_list'] = 'পৃষà§à¦ াগà§à¦²à¦¿à¦° নামসà§à¦¥à¦¾à¦¨ পরিবরà§à¦¤à¦¨:'; +$lang['mail_new_user'] = 'নতà§à¦¨ বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•à¦¾à¦°à§€:'; +$lang['mail_upload'] = 'ফাইল আপলোড করেছেন:'; +$lang['changes_type'] = 'দেখà§à¦¨ পরিবরà§à¦¤à¦¨à¦¸à¦®à§‚হ'; +$lang['pages_changes'] = 'পৃষà§à¦ াগà§à¦²à¦¿'; +$lang['media_changes'] = 'মিডিয়া ফাইলগà§à¦²à¦¿'; +$lang['both_changes'] = 'পেজ à¦à¦¬à¦‚ মিডিয়া ফাইল উà¦à¦¯à¦¼à§‡à¦‡'; +$lang['qb_bold'] = 'গাঢ় লেখা'; +$lang['qb_italic'] = 'বাà¦à¦•à¦¾ লেখা'; +$lang['qb_underl'] = 'আনà§à¦¡à¦¾à¦°à¦²à¦¾à¦‡à¦¨ টেকà§à¦¸à¦Ÿ'; +$lang['qb_code'] = 'মোনোসà§à¦•à§‡à¦ª লেখা'; +$lang['qb_strike'] = 'সà§à¦Ÿà§à¦°à¦¾à¦‡à¦• মাধà§à¦¯à¦®à§‡ টেকà§à¦¸à¦Ÿ'; +$lang['qb_h1'] = 'সà§à¦¤à¦° 1 শিরোনাম'; +$lang['qb_h2'] = 'সà§à¦¤à¦° 2 শিরোনাম'; +$lang['qb_h3'] = 'সà§à¦¤à¦° 3 শিরোনাম'; +$lang['qb_h4'] = 'সà§à¦¤à¦° 4 শিরোনাম'; +$lang['qb_h5'] = 'সà§à¦¤à¦° 5 শিরোনাম'; +$lang['qb_h'] = 'শিরোনাম'; +$lang['qb_hs'] = 'নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨ শিরোনাম'; diff --git a/inc/lang/ca-valencia/lang.php b/inc/lang/ca-valencia/lang.php index 3a4e30923a910d773e47b2d54bf5b4f54b44c028..862ed2886bae91189fe84c349f3c1fa48bcbc640 100644 --- a/inc/lang/ca-valencia/lang.php +++ b/inc/lang/ca-valencia/lang.php @@ -36,7 +36,6 @@ $lang['btn_update'] = 'Actualisar'; $lang['btn_delete'] = 'Borrar'; $lang['btn_back'] = 'Arrere'; $lang['btn_backlink'] = 'VÃnculs remitents'; -$lang['btn_backtomedia'] = 'Tornar a la selecció d\'archius de mijos'; $lang['btn_subscribe'] = 'Subscriure\'s a la pà gina'; $lang['btn_profile'] = 'Actualisar perfil'; $lang['btn_reset'] = 'Reiniciar'; @@ -94,7 +93,6 @@ $lang['js']['notsavedyet'] = 'Els canvis no guardats es perdran.\n¿Segur qu $lang['rssfailed'] = 'Ha ocorregut un erro al solicitar este canal: '; $lang['nothingfound'] = 'No s\'ha trobat res.'; $lang['mediaselect'] = 'Archius de mijos'; -$lang['fileupload'] = 'Enviar archius de mijos'; $lang['uploadsucc'] = 'Enviament correcte'; $lang['uploadfail'] = 'Enviament fallit. ¿Potser no tinga els permissos necessaris?'; $lang['uploadwrong'] = 'Enviament denegat. ¡Esta extensió d\'archiu està prohibida!'; @@ -171,7 +169,6 @@ $lang['qb_sig'] = 'Afegir firma'; $lang['qb_smileys'] = 'Smileys'; $lang['qb_chars'] = 'Carà cters especials'; $lang['upperns'] = 'anar a l\'espai de noms superior'; -$lang['admin_register'] = 'Afegir nou usuari'; $lang['metaedit'] = 'Editar meta-senyes'; $lang['metasaveerr'] = 'Erro escrivint meta-senyes'; $lang['metasaveok'] = 'Meta-senyes guardades'; diff --git a/inc/lang/ca/lang.php b/inc/lang/ca/lang.php index 31c16ee23e6577cc6281c98e8f189a5d1ee8e87d..d27ce56f9b9d36f0e876a62113b1a8fed6b91cac 100644 --- a/inc/lang/ca/lang.php +++ b/inc/lang/ca/lang.php @@ -1,11 +1,13 @@ <?php + /** - * catalan language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Carles Bellver <carles.bellver@cent.uji.es> * @author Carles Bellver <carles.bellver@gmail.com> * @author daniel@6temes.cat + * @author Eduard DÃaz <edudiaz@scopia.es> + * @author controlonline.net <controlonline.net@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -37,7 +39,6 @@ $lang['btn_update'] = 'Actualitza'; $lang['btn_delete'] = 'Suprimeix'; $lang['btn_back'] = 'Enrere'; $lang['btn_backlink'] = 'Què hi enllaça'; -$lang['btn_backtomedia'] = 'Torna a la selecció de fitxers'; $lang['btn_subscribe'] = 'Subscripció a canvis d\'aquesta pà gina'; $lang['btn_profile'] = 'Actualització del perfil'; $lang['btn_reset'] = 'Reinicia'; @@ -48,6 +49,10 @@ $lang['btn_draftdel'] = 'Suprimeix esborrany'; $lang['btn_revert'] = 'Restaura'; $lang['btn_register'] = 'Registra\'m'; $lang['btn_apply'] = 'Aplica'; +$lang['btn_media'] = 'Mà nager Multimèdia'; +$lang['btn_deleteuser'] = 'Esborrar compte'; +$lang['btn_img_backto'] = 'Torna a %s'; +$lang['btn_mediaManager'] = 'Veure a multimèdia mà nager '; $lang['loggedinas'] = 'Heu entrat com:'; $lang['user'] = 'Nom d\'usuari'; $lang['pass'] = 'Contrasenya'; @@ -59,14 +64,16 @@ $lang['fullname'] = 'Nom complet'; $lang['email'] = 'Correu electrònic'; $lang['profile'] = 'Perfil d\'usuari'; $lang['badlogin'] = 'Nom d\'usuari o contrasenya incorrectes.'; +$lang['badpassconfirm'] = 'Contrasenya incorrecta'; $lang['minoredit'] = 'Canvis menors'; $lang['draftdate'] = 'L\'esborrany s\'ha desat automà ticament'; $lang['nosecedit'] = 'Mentrestant la pà gina ha estat modificada. La informació de seccions estava obsoleta i ha calgut carregar la pà gina sencera.'; -$lang['searchcreatepage'] = "Si no trobeu allò que buscà veu, podeu crear una pà gina nova per mitjà del botó ''Edita aquesta pà gina''."; +$lang['searchcreatepage'] = 'Si no trobeu allò que buscà veu, podeu crear una pà gina nova per mitjà del botó \'\'Edita aquesta pà gina\'\'.'; $lang['regmissing'] = 'Heu d\'omplir tots els camps.'; $lang['reguexists'] = 'Ja existeix un altre usuari amb aquest nom.'; $lang['regsuccess'] = 'S\'ha creat l\'usuari. La contrasenya s\'ha enviat per correu.'; $lang['regsuccess2'] = 'S\'ha creat l\'usuari.'; +$lang['regfail'] = 'L\'usuari no pot ser creat'; $lang['regmailfail'] = 'Sembla que un error ha impedit enviar la contrasenya per correu. Contacteu amb l\'administrador.'; $lang['regbadmail'] = 'L\'adreça de correu que heu donat no sembla và lida. Si creieu que això és un error, contacu amb l\'administrador.'; $lang['regbadpass'] = 'Les dues contrasenyes no són iguals. Torneu a intentar-ho.'; @@ -76,6 +83,12 @@ $lang['profna'] = 'Aquest wiki no permet modificar el perfil'; $lang['profnochange'] = 'No heu introduït cap canvi.'; $lang['profnoempty'] = 'No es pot deixar en blanc el nom o l\'adreça de correu.'; $lang['profchanged'] = 'El perfil d\'usuari s\'ha actualitzat correctament.'; +$lang['profnodelete'] = 'Aquesta wiki no permet esborrar usuaris'; +$lang['profdeleteuser'] = 'Esborrar compte'; +$lang['profdeleted'] = 'El vostre compte ha sigut esborrat d\'aquest compte'; +$lang['profconfdelete'] = 'Vull esmorrar el meu compte d\'aquesta wiki. </br> Aquesta acció no pot desfer-se.'; +$lang['profconfdeletemissing'] = 'Confirmació no acceptada'; +$lang['proffail'] = 'Perfil d\'usuari no actialitzat'; $lang['pwdforget'] = 'Heu oblidat la contrasenya? Podeu obtenir-ne una de nova.'; $lang['resendna'] = 'Aquest wiki no permet tornar a enviar la contrasenya.'; $lang['resendpwd'] = 'Estableix una nova contrasenya per'; @@ -140,7 +153,6 @@ $lang['js']['media_overwrt'] = 'Sobreescriu els arxius existents'; $lang['rssfailed'] = 'S\'ha produït un error en recollir aquesta alimentació: '; $lang['nothingfound'] = 'No s\'ha trobat res.'; $lang['mediaselect'] = 'Selecció de fitxers'; -$lang['fileupload'] = 'Cà rrega de fitxers'; $lang['uploadsucc'] = 'S\'ha penjat el fitxer'; $lang['uploadfail'] = 'No es pot penjar el fitxer. Potser no teniu prou permisos?'; $lang['uploadwrong'] = 'No es pot penjar el fitxer. Aquesta extensió està prohibida.'; @@ -174,6 +186,9 @@ $lang['difflink'] = 'Enllaç a la visualització de la comparació' $lang['diff_type'] = 'Veieu les diferències:'; $lang['diff_inline'] = 'En lÃnia'; $lang['diff_side'] = 'Un al costat de l\'altre'; +$lang['diffprevrev'] = 'Revisió prèvia'; +$lang['diffnextrev'] = 'Següent revisió'; +$lang['difflastrev'] = 'Ultima revisió'; $lang['line'] = 'LÃnia'; $lang['breadcrumb'] = 'CamÃ:'; $lang['youarehere'] = 'Sou aquÃ:'; @@ -194,6 +209,7 @@ $lang['skip_to_content'] = 'salta al contingut'; $lang['sidebar'] = 'Barra lateral'; $lang['mail_newpage'] = 'pà gina afegida:'; $lang['mail_changed'] = 'pà gina modificada:'; +$lang['mail_subscribe_list'] = 'pagines canviades a l0espai de noms:'; $lang['mail_new_user'] = 'nou usuari:'; $lang['mail_upload'] = 'fitxer penjat:'; $lang['changes_type'] = 'Veure els canvis de'; @@ -225,11 +241,9 @@ $lang['qb_sig'] = 'Insereix signatura'; $lang['qb_smileys'] = 'Emoticones'; $lang['qb_chars'] = 'Carà cters especials'; $lang['upperns'] = 'Salta a l\'espai superior'; -$lang['admin_register'] = 'Afegeix nou usuari'; $lang['metaedit'] = 'Edita metadades'; $lang['metasaveerr'] = 'No s\'han pogut escriure les metadades'; $lang['metasaveok'] = 'S\'han desat les metadades'; -$lang['btn_img_backto'] = 'Torna a %s'; $lang['img_title'] = 'TÃtol:'; $lang['img_caption'] = 'Peu d\'imatge:'; $lang['img_date'] = 'Data:'; @@ -259,7 +273,6 @@ $lang['subscr_style_every'] = 'Envia\'m un correu electrònic per a cada canv $lang['subscr_style_digest'] = 'Envia\'m un correu electrònic amb un resum dels canvis per a cada pà gina (cada %.2f dies)'; $lang['subscr_style_list'] = 'llistat de pà gines canviades des de l\'últim correu electrònic (cada %.2f dies)'; $lang['authtempfail'] = 'L\'autenticació d\'usuaris no està disponible temporalment. Si aquesta situació persisteix, si us plau informeu els administradors del wiki.'; -$lang['authpwdexpire'] = 'La vostra contrasenya caducarà en %d dies, l\'haurÃeu de canviar aviat.'; $lang['i_chooselang'] = 'Trieu l\'idioma'; $lang['i_installer'] = 'Instal·lador de DokuWiki'; $lang['i_wikiname'] = 'Nom del wiki'; @@ -274,14 +287,18 @@ $lang['i_confexists'] = '<code>%s</code> ja existeix'; $lang['i_writeerr'] = 'No es pot crear <code>%s</code>. Comproveu els permisos del directori i/o del fitxer i creeu el fitxer manualment.'; $lang['i_badhash'] = 'dokuwiki.php no reconegut o modificat (hash=<code>%s</code>)'; $lang['i_badval'] = '<code>%s</code> - valor il·legal o buit'; -$lang['i_success'] = 'La configuració s\'ha acabat amb èxit. Ara podeu suprimir el fitxer install.php. Aneu al vostre nou <a href="doku.php">DokuWiki</a>.'; -$lang['i_failure'] = 'S\'han produït alguns errors en escriure els fitxers de configuració. Potser caldrà que els arregleu manualment abans d\'utilitzar el vostre nou <a href="doku.php">DokuWiki</a>.'; +$lang['i_success'] = 'La configuració s\'ha acabat amb èxit. Ara podeu suprimir el fitxer install.php. Aneu al <a href="doku.php?id=wiki:welcome">vostre nou DokuWiki</a>.'; +$lang['i_failure'] = 'S\'han produït alguns errors en escriure els fitxers de configuració. Potser caldrà que els arregleu manualment abans d\'utilitzar el <a href="doku.php?id=wiki:welcome">vostre nou DokuWiki</a>.'; $lang['i_policy'] = 'PolÃtica ACL inicial'; $lang['i_pol0'] = 'Wiki obert (tothom pot llegir, escriure i penjar fitxers)'; $lang['i_pol1'] = 'Wiki públic (tothom pot llegir, els usuaris registrats poden escriure i penjar fitxers)'; $lang['i_pol2'] = 'Wiki tancat (només els usuaris registrats poden llegir, escriure i penjar fitxers)'; +$lang['i_allowreg'] = 'Permet d\'autoinscripció d\'usuaris'; $lang['i_retry'] = 'Reintenta'; $lang['i_license'] = 'Escolliu el tipus de llicència que voleu fer servir per al vostre contingut:'; +$lang['i_license_none'] = 'No mostrar cap informació sobre llicencies'; +$lang['i_pop_field'] = 'Si us plau, ajuda\'ns a millorar la DokuWiki'; +$lang['i_pop_label'] = 'Una vegada al mes, enviar anònimament dades als programadors de la DokuWiki'; $lang['recent_global'] = 'Esteu veient els canvis recents de l\'espai <strong>%s</strong>. També podeu veure els <a href="%s">canvis recents de tot el wiki</a>.'; $lang['years'] = 'fa %d anys'; $lang['months'] = 'fa %d mesos'; @@ -314,3 +331,6 @@ $lang['media_perm_read'] = 'No teniu permisos suficients per a llegir arxi $lang['media_perm_upload'] = 'No teniu permisos suficients per a pujar arxius'; $lang['media_update'] = 'Puja la nova versió'; $lang['media_restore'] = 'Restaura aquesta versió'; +$lang['currentns'] = 'Espai de noms actual'; +$lang['searchresult'] = 'Resultats cerca'; +$lang['plainhtml'] = 'HTML pla'; diff --git a/inc/lang/ca/subscr_form.txt b/inc/lang/ca/subscr_form.txt index d3679454f725fae5443822c368eefd633b296ca3..3c63ce66d5edb6107e59b5fbd4019faa72d5adc5 100644 --- a/inc/lang/ca/subscr_form.txt +++ b/inc/lang/ca/subscr_form.txt @@ -1,3 +1,3 @@ ===== Gestió de les Subscripcions ===== -Aquesta pà gina podeu gestiona les vostres subscripcions per a les pà gines i els espais actuals. \ No newline at end of file +Des d'aquesta pà gina, podeu gestionar les vostres subscripcions per a les pà gines i els espais que seleccioneu. \ No newline at end of file diff --git a/inc/lang/cs/admin.txt b/inc/lang/cs/admin.txt index ccfbc4455749ad0e7e7c78335daee5cce6abc79e..df7c5b61cd376e0300e7bf8ece73c085ae90c25b 100644 --- a/inc/lang/cs/admin.txt +++ b/inc/lang/cs/admin.txt @@ -1,3 +1,3 @@ ====== Správa ====== -NÞe je možno spravovat vaÅ¡i DokuWiki. +NÞe je možno spravovat vaÅ¡Ã DokuWiki. diff --git a/inc/lang/cs/lang.php b/inc/lang/cs/lang.php index 1dd4def5ac4917dd627fd57175e272ec0441d1bc..ffc99eccf9ce0a15dc1305bcdcb6fb40f66fe7cb 100644 --- a/inc/lang/cs/lang.php +++ b/inc/lang/cs/lang.php @@ -19,6 +19,7 @@ * @author Radovan Buroň <radovan@buron.cz> * @author Viktor Zavadil <vzavadil@newps.cz> * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> + * @author Turkislav <turkislav@blabla.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -50,7 +51,6 @@ $lang['btn_update'] = 'Aktualizovat'; $lang['btn_delete'] = 'Vymazat'; $lang['btn_back'] = 'ZpÄ›t'; $lang['btn_backlink'] = 'ZpÄ›tné odkazy'; -$lang['btn_backtomedia'] = 'ZpÄ›t do VýbÄ›ru dokumentu'; $lang['btn_subscribe'] = 'OdebÃrat e-mailem zmÄ›ny stránky'; $lang['btn_profile'] = 'Upravit profil'; $lang['btn_reset'] = 'Reset'; @@ -85,6 +85,7 @@ $lang['regmissing'] = 'MusÃte vyplnit vÅ¡echny údaje.'; $lang['reguexists'] = 'Uživatel se stejným jménem už je zaregistrován.'; $lang['regsuccess'] = 'Uživatelský úÄet byl vytvoÅ™en a heslo zasláno e-mailem.'; $lang['regsuccess2'] = 'Uživatelský úÄet byl vytvoÅ™en.'; +$lang['regfail'] = 'Uživatelský profil nemohl být vytvoÅ™en.'; $lang['regmailfail'] = 'Zdá se, že nastala chyba pÅ™i posÃlánà mailu s heslem. Zkuste kontaktovat správce.'; $lang['regbadmail'] = 'Zadaná e-mailová adresa nenà platná. Pokud si myslÃte, že to je Å¡patnÄ›, zkuste kontaktovat správce.'; $lang['regbadpass'] = 'Heslo nebylo zadáno dvakrát stejnÄ›, zkuste to prosÃm znovu.'; @@ -99,6 +100,7 @@ $lang['profdeleteuser'] = 'Smazat úÄet'; $lang['profdeleted'] = 'Váš uživatelský úÄet byl z této wiki smazán'; $lang['profconfdelete'] = 'Chci smazat můj úÄet z této wiki. <br/> Tato akce je nevratná.'; $lang['profconfdeletemissing'] = 'Potvrzovacà tlaÄÃtko nezaÅ¡krtnuto'; +$lang['proffail'] = 'Uživatelský profil nebyl aktualizován.'; $lang['pwdforget'] = 'ZapomnÄ›li jste heslo? Nechte si zaslat nové'; $lang['resendna'] = 'Tato wiki neumožňuje zasÃlánà nových hesel.'; $lang['resendpwd'] = 'Nastavit nové heslo pro'; @@ -163,7 +165,6 @@ $lang['js']['media_overwrt'] = 'PÅ™epsat existujÃcà soubory'; $lang['rssfailed'] = 'Nastala chyba pÅ™i vytvářenà tohoto RSS: '; $lang['nothingfound'] = 'Nic nenalezeno.'; $lang['mediaselect'] = 'VýbÄ›r dokumentu'; -$lang['fileupload'] = 'NaÄtenà dokumentu'; $lang['uploadsucc'] = 'PÅ™enos probÄ›hl v pořádku'; $lang['uploadfail'] = 'Chyba pÅ™i naÄÃtánÃ. Možná kvůli Å¡patnÄ› nastaveným právům?'; $lang['uploadwrong'] = 'NaÄtenà souboru s takovouto pÅ™Ãponou nenà dovoleno.'; @@ -254,7 +255,6 @@ $lang['qb_sig'] = 'Vložit podpis'; $lang['qb_smileys'] = 'Emotikony'; $lang['qb_chars'] = 'Speciálnà znaky'; $lang['upperns'] = 'skoÄit do nadÅ™azeného jmenného prostoru'; -$lang['admin_register'] = 'PÅ™idat nového uživatele'; $lang['metaedit'] = 'Upravit Metadata'; $lang['metasaveerr'] = 'Chyba pÅ™i zápisu metadat'; $lang['metasaveok'] = 'Metadata uložena'; @@ -287,7 +287,6 @@ $lang['subscr_style_every'] = 'e-mail pro každou zmÄ›nu'; $lang['subscr_style_digest'] = 'souhrnný e-mail zmÄ›n pro každou stránku (každé %.2f dny/dnÃ)'; $lang['subscr_style_list'] = 'seznam zmÄ›nÄ›ných stránek od poslednÃho e-mailu (každé %.2f dny/dnÃ)'; $lang['authtempfail'] = 'Autentizace uživatelů je doÄasnÄ› nedostupná. Pokud tento problém pÅ™etrvává, informujte prosÃm správce této wiki.'; -$lang['authpwdexpire'] = 'Platnost vaÅ¡eho hesla vyprÅ¡Ã za %d dnÃ, mÄ›li byste ho zmÄ›nit co nejdÅ™Ãve.'; $lang['i_chooselang'] = 'Vyberte si jazyk'; $lang['i_installer'] = 'Instalace DokuWiki'; $lang['i_wikiname'] = 'Název wiki'; @@ -347,6 +346,7 @@ $lang['media_perm_read'] = 'Bohužel, nemáte práva ÄÃst soubory.'; $lang['media_perm_upload'] = 'Bohužel, nemáte práva nahrávat soubory.'; $lang['media_update'] = 'Nahrát novou verzi'; $lang['media_restore'] = 'Obnovit tuto verzi'; +$lang['media_acl_warning'] = 'Tento seznam nemusà být úplný z důvodu omezenà práv ACL a skrytým stránkám.'; $lang['currentns'] = 'Aktuálnà jmenný prostor'; $lang['searchresult'] = 'Výsledek hledánÃ'; $lang['plainhtml'] = 'ÄŒisté HTML'; diff --git a/inc/lang/cy/admin.txt b/inc/lang/cy/admin.txt new file mode 100644 index 0000000000000000000000000000000000000000..75485fcf268cc2cc7bfe67be7ddf775e3137ed18 --- /dev/null +++ b/inc/lang/cy/admin.txt @@ -0,0 +1,4 @@ +====== Gweinyddu ====== + +Gallwch chi ddarganfod rhestr o dasgau gweinyddol ar gael mewn DokuWiki, isod. + diff --git a/inc/lang/cy/adminplugins.txt b/inc/lang/cy/adminplugins.txt new file mode 100644 index 0000000000000000000000000000000000000000..ff21264fdf244741c1f82496831554a5af5cde6f --- /dev/null +++ b/inc/lang/cy/adminplugins.txt @@ -0,0 +1,2 @@ +===== Ategion Ychwanegol ===== + diff --git a/inc/lang/cy/backlinks.txt b/inc/lang/cy/backlinks.txt new file mode 100644 index 0000000000000000000000000000000000000000..2180e5503263e70750dca65906834ae6c48ba771 --- /dev/null +++ b/inc/lang/cy/backlinks.txt @@ -0,0 +1,4 @@ +====== Olgysylltiadau ====== + +Dyma restr o dudalennau sy'n ymddangos eu bod nhw'n cysylltu'n ôl i'r dudalen gyfredol. + diff --git a/inc/lang/cy/conflict.txt b/inc/lang/cy/conflict.txt new file mode 100644 index 0000000000000000000000000000000000000000..133e863e5ec45ca52738d5a50edf0ca9acef35b1 --- /dev/null +++ b/inc/lang/cy/conflict.txt @@ -0,0 +1,6 @@ +====== Mae fersiwn mwy diweddar yn bodoli ====== + +Mae fersiwn mwy diweddar o'r ddogfen a wnaethoch chi olygu yn bodoli. Bydd hwn yn digwydd pan fydd defnyddiwr arall yn newid y ddogfen wrth i chi'n ei golygu hi. + +Archwiliwch y gwahaniaethau isod yn drylwyr, yna penderfynnwch pa fersiwn i'w gadw. Os ydych chi'n dewis ''cadw'', caiff eich fersiwn chi ei gadw. Pwyswch ''canslo'' i gadw'r fersiwn cyfredol. + diff --git a/inc/lang/cy/denied.txt b/inc/lang/cy/denied.txt new file mode 100644 index 0000000000000000000000000000000000000000..2c0eb001c319f82078e0f364a0e4e9de2c37e08f --- /dev/null +++ b/inc/lang/cy/denied.txt @@ -0,0 +1,4 @@ +====== Gwrthodwyd Hawl ====== + +Sori, 'sdim hawliau digonol 'da chi i barhau. + diff --git a/inc/lang/cy/diff.txt b/inc/lang/cy/diff.txt new file mode 100644 index 0000000000000000000000000000000000000000..69a9ff6888d732300037558ab4aecf08bd187f10 --- /dev/null +++ b/inc/lang/cy/diff.txt @@ -0,0 +1,4 @@ +====== Gwahaniaethau ====== + +Mae hwn yn dangos y gwahaniaethau rhwng dau fersiwn y dudalen. + diff --git a/inc/lang/cy/draft.txt b/inc/lang/cy/draft.txt new file mode 100644 index 0000000000000000000000000000000000000000..3b10c511e09692a5b0bd05254cd526646cb4f7a2 --- /dev/null +++ b/inc/lang/cy/draft.txt @@ -0,0 +1,8 @@ +====== Ffeil ddrafft wedi'i darganfod ====== + +Doedd eich sesiwn golygu ddiwethaf heb gwblhau'n gywir. Gwnaeth DokuWiki gadw copi ddrafft yn awtomatig wrth i chi weithio, sydd nawr ar gael i chi er mwyn parhau gyda'ch golygu. Gallwch chi weld y data a gafodd ei gadw o'ch sesiwn diwethaf isod. + +Penderfynwch os ydych chi am //adennill// eich sesiwn golygu goll, //dileu//'r drafft awtogadw neu //canslo//'r broses olygu. + + + diff --git a/inc/lang/cy/edit.txt b/inc/lang/cy/edit.txt new file mode 100644 index 0000000000000000000000000000000000000000..7e2d899ef0ac1437790252d0df427996e017d629 --- /dev/null +++ b/inc/lang/cy/edit.txt @@ -0,0 +1,2 @@ +Golygwch y dudalen a phwyso ''Cadw''. Gweler [[wiki:syntax]] ar gyfer cystrawen Wici. Golygwch y dudalen hon dim ond os ydych chi'n gallu ei **gwella** hi. Os ydych chi am brofi pethau, cymerwch eich camau cyntaf ar y [[playground:playground|maes chwarae]]. + diff --git a/inc/lang/cy/editrev.txt b/inc/lang/cy/editrev.txt new file mode 100644 index 0000000000000000000000000000000000000000..5d32e9a687a899eefcb98e1990c222772fb67195 --- /dev/null +++ b/inc/lang/cy/editrev.txt @@ -0,0 +1,2 @@ +**Rydych chi wedi llwytho hen adolygiad y ddogfen!** Os ydych chi'n ei chadw hi, byddwch chi'n creu fersiwn newydd gyda'r data hwn. +---- diff --git a/inc/lang/cy/index.txt b/inc/lang/cy/index.txt new file mode 100644 index 0000000000000000000000000000000000000000..607a2f695cc201bf43e233c51bbbc3629ce73a6f --- /dev/null +++ b/inc/lang/cy/index.txt @@ -0,0 +1,4 @@ +====== Map safle ====== + +Dyma fap safle o bob tudalen sydd ar gael, wedi'u trefnu gan [[doku>namespaces|namespaces]]. + diff --git a/inc/lang/cy/install.html b/inc/lang/cy/install.html new file mode 100644 index 0000000000000000000000000000000000000000..406c7b456a10494254f7fb75b14b44bad1ca615a --- /dev/null +++ b/inc/lang/cy/install.html @@ -0,0 +1,24 @@ +<p>Mae'r dudalen hon yn eich helpu chi i arsefydlu am y tro cyntaf a gyda ffurfweddu +<a href="http://dokuwiki.org">Dokuwiki</a>. Mae mwy o wybodaeth ar yr arsefydlwr hwn +ar <a href="http://dokuwiki.org/installer">dudalen ddogfennaeth</a> ei hun.</p> + +<p>Mae DokuWiki yn defnyddio ffeiliau arferol ar gyfer storio tudalennau wici a +gwybodaeth gysylltiol gyda'r tudalennau hynny (e.e. delweddau, indecsau chwilio, +hen adolygiadau, ac ati). Er mwyn gweithredu'n llwyddiannus mae'n +<strong>rhaid</strong> i DokuWiki gael yr hawl i ysgrifennu i'r ffolderi sydd yn +dal y ffeiliau hynny. 'Dyw'r arsefydlwr hwn ddim yn gallu gosod hawliau ffolderi. +Bydd hwn, fel rheol, yn gorfod cael ei wneud yn uniongyrchol gydag anogwr gorchymyn, +neu os ydych chi'n defnyddio gwesteiwr, drwy FTP neu eich panel gwesteio (e.e. +cPanel).</p> + +<p>Bydd yr arsefydlwr hwn yn gosod eich ffurfwedd DokuWiki ar gyfer +<abbr title="access control list">ACL</abbr>, sydd yn ei dro yn caniatáu +mewngofnodi gweinyddwr a mynediad i ddewislen gweinyddu DokuWiki ar gyfer arsefydlu +ategion, rheoli defnyddwyr, rheoli mynediad i dudalennau wici a newid gosodiadau +ffurfwedd. 'Sdim angen hwn ar DokuWiki er mwyn gweithio, ond bydd yn gwneud +Dokuwiki yn haws i'w weinyddu.</p> + +<p>Dylai defnyddwyr profiadol neu'r rheiny gydag anghenion gosodiad rrbennig special +ddefnyddio'r dolenni hyn am wybodaeth parthed +<a href="http://dokuwiki.org/install">canllawiau arsefydlu</a> +and <a href="http://dokuwiki.org/config">gosodiadau ffurfwedd</a>.</p> diff --git a/inc/lang/cy/jquery.ui.datepicker.js b/inc/lang/cy/jquery.ui.datepicker.js new file mode 100644 index 0000000000000000000000000000000000000000..254eedab23d5606ff573bd8af4c963cec9772050 --- /dev/null +++ b/inc/lang/cy/jquery.ui.datepicker.js @@ -0,0 +1,37 @@ +/* Danish initialisation for the jQuery UI date picker plugin. */ + +(function( factory ) { + if ( typeof define === "function" && define.amd ) { + + // AMD. Register as an anonymous module. + define([ "../datepicker" ], factory ); + } else { + + // Browser globals + factory( jQuery.datepicker ); + } +}(function( datepicker ) { + +datepicker.regional['cy'] = { + closeText: 'Cau', + prevText: '<', + nextText: '>', + currentText: 'Heddiw', + monthNames: ['Ionawr','Chwefror','Mawrth','Ebrill','Mai','Mehefin', + 'Gorffennaf','Awst','Medi','Hydref','Tachwedd','Rhagfyr'], + monthNamesShort: ['Ion','Chw','Maw','Ebr','Mai','Meh', + 'Gor','Aws','Med','Hyd','Tac','Rha'], + dayNames: ['Dydd Sul','Dydd Llun','Dydd Mawrth','Dydd Mercher','Dydd Iau','Dydd Gwener','Dydd Sadwrn'], + dayNamesShort: ['Sul','Llu','Maw','Mer','Iau','Gwe','Sad'], + dayNamesMin: ['Su','Ll','Ma','Me','Ia','Gw','Sa'], + weekHeader: 'Wyth', + dateFormat: 'dd/mm/yy', + firstDay: 1, + isRTL: false, + showMonthAfterYear: false, + yearSuffix: ''}; +datepicker.setDefaults(datepicker.regional['cy']); + +return datepicker.regional['cy']; + +})); diff --git a/inc/lang/cy/lang.php b/inc/lang/cy/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..7018e007115747c2e5ca48e8f1531ceacd0aab00 --- /dev/null +++ b/inc/lang/cy/lang.php @@ -0,0 +1,373 @@ +<?php +/** + * welsh language file + * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * @author Andreas Gohr <andi@splitbrain.org> + * @author Anika Henke <anika@selfthinker.org> + * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> + * @author Matthias Schulte <mailinglist@lupo49.de> + * @author Alan Davies <ben.brynsadler@gmail.com> + */ +$lang['encoding'] = 'utf-8'; +$lang['direction'] = 'ltr'; +$lang['doublequoteopening'] = '“'; //“ +$lang['doublequoteclosing'] = 'â€'; //” +$lang['singlequoteopening'] = '‘'; //‘ +$lang['singlequoteclosing'] = '’'; //’ +$lang['apostrophe'] = '’'; //’ + +$lang['btn_edit'] = 'Golygu\'r dudaen hon'; +$lang['btn_source'] = 'Dangos y ffynhonnell'; +$lang['btn_show'] = 'Dangos y dudalen'; +$lang['btn_create'] = 'Creu\'r dudalen'; +$lang['btn_search'] = 'Chwilio'; +$lang['btn_save'] = 'Cadw'; +$lang['btn_preview'] = 'Rhagolwg'; +$lang['btn_top'] = 'Nôl i\'r brig'; +$lang['btn_newer'] = '<< mwy diweddar'; +$lang['btn_older'] = 'llai diweddar >>'; +$lang['btn_revs'] = 'Hen adolygiadau'; +$lang['btn_recent'] = 'Newidiadau Diweddar'; +$lang['btn_upload'] = 'Lanlwytho'; +$lang['btn_cancel'] = 'Canslo'; +$lang['btn_index'] = 'Safle map'; +$lang['btn_secedit'] = 'Golygu'; +$lang['btn_login'] = 'Mewngofnodi'; +$lang['btn_logout'] = 'Allgofnodi'; +$lang['btn_admin'] = 'Gweinyddu'; +$lang['btn_update'] = 'Diweddaru'; +$lang['btn_delete'] = 'Dileu'; +$lang['btn_back'] = 'Nôl'; +$lang['btn_backlink'] = 'Olgysylltiadau'; +$lang['btn_subscribe'] = 'Rheoli Tanysgrifiadau'; +$lang['btn_profile'] = 'Diweddaru Proffil'; +$lang['btn_reset'] = 'Ailosod'; +$lang['btn_resendpwd'] = 'Gosod cyfrinair newydd'; +$lang['btn_draft'] = 'Golygu drafft'; +$lang['btn_recover'] = 'Adennill drafft'; +$lang['btn_draftdel'] = 'Dileu drafft'; +$lang['btn_revert'] = 'Adfer'; +$lang['btn_register'] = 'Cofrestru'; +$lang['btn_apply'] = 'Gosod'; +$lang['btn_media'] = 'Rheolwr Cyfrwng'; +$lang['btn_deleteuser'] = 'Tynnu Fy Nghyfrif'; +$lang['btn_img_backto'] = 'Nôl i %s'; +$lang['btn_mediaManager'] = 'Dangos mewn rheolwr cyfrwng'; + +$lang['loggedinas'] = 'Mewngofnodwyd fel:'; +$lang['user'] = 'Defnyddair'; +$lang['pass'] = 'Cyfrinair'; +$lang['newpass'] = 'Cyfrinair newydd'; +$lang['oldpass'] = 'Cadarnhau cyfrinair cyfredol'; +$lang['passchk'] = 'unwaith eto'; +$lang['remember'] = 'Cofio fi'; +$lang['fullname'] = 'Enw go iawn'; +$lang['email'] = 'E-Bost'; +$lang['profile'] = 'Proffil Defnyddiwr'; +$lang['badlogin'] = 'Sori, roedd y defnyddair neu\'r gyfriair yn anghywir.'; +$lang['badpassconfirm'] = 'Sori, roedd y cyfrinair yn anghywir'; +$lang['minoredit'] = 'Newidiadau Bach'; +$lang['draftdate'] = 'Awtogadwyd drafft ar'; // full dformat date will be added +$lang['nosecedit'] = 'Newidiwyd y dudaen yn y cyfamser, roedd gwybodaeth yr adran wedi dyddio, felly llwythwyd y dudalen gyfan.'; +$lang['searchcreatepage'] = 'Os na wnaethoch chi ddod o hyd i\'r hyn roeddech chi am ddarganfod, gallwch chi greu neu golygu\'r dudalen wedi\'i henwi ar ôl eich ymholiad gyda\'r teclyn priodol.'; + +$lang['regmissing'] = 'Sori, llenwch bob maes.'; +$lang['reguexists'] = 'Sori, mae defnyddiwr â\'r enw hwn yn bodoli eisoes.'; +$lang['regsuccess'] = 'Cafodd y defnyddiwr ei greu a chafodd y cyfrinair ei anfon gan ebost.'; +$lang['regsuccess2'] = 'Cafodd y defnyddiwr ei greu.'; +$lang['regfail'] = 'Doedd dim modd creu\'r defnyddiwr.'; +$lang['regmailfail'] = 'Mae\'n debyg roedd gwall wrth anfon y post cyfrinair. Cysylltwch â\'r gweinyddwr!'; +$lang['regbadmail'] = 'Mae\'r cyfeiriad ebost a gyflwynoch chi\'n edrych yn annilys - os ydych chi\'n credu ei fod yn gywir, cysylltwch â\'r gweinyddwr'; +$lang['regbadpass'] = '\'Dyw\'r ddau gyfrinair ddim yn unfath, ceisiwch eto.'; +$lang['regpwmail'] = 'Eich cyfrinair DokuWiki'; +$lang['reghere'] = '\'Sdim cyfrif \'da chi eto? Cewch afael yn un nawr'; + +$lang['profna'] = '\'Dyw\'r wici hwn ddim yn caniatáu newid eich proffil'; +$lang['profnochange'] = 'Dim newidiadau, dim i\'w wneud.'; +$lang['profnoempty'] = '\'Sdim modd gadael eich enw neu\'ch cyfeiriad ebost chi\'n wag.'; +$lang['profchanged'] = 'Diweddarwyd eich proffil defnyddiwr yn llwyddiannus.'; +$lang['profnodelete'] = '\'Dyw\'r wici hwn ddim yn caniatáu dileu defnyddwyr'; +$lang['profdeleteuser'] = 'Dileu Cyfrif'; +$lang['profdeleted'] = 'Cafodd eich cyfrif defnyddiwr chi ei ddileu o\'r wiki hwn'; +$lang['profconfdelete'] = '\'Dwi eisiau tynnu fy nghyfrif oddi ar y wici hwn. <br/> \'Sdim modd dadwneud hyn.'; +$lang['profconfdeletemissing'] = 'Blwch gwirio heb ei dicio'; +$lang['proffail'] = 'Proffil defnyddiwr heb ei ddiweddaru.'; + +$lang['pwdforget'] = 'Anghofio\'ch cyfrinair? Cael gafael ar un newydd'; +$lang['resendna'] = '\'Dyw\'r wici hwn ddim yn caniatáu ailanfon cyfrineiriau.'; +$lang['resendpwd'] = 'Gosod cyfrinair newydd ar gyfer'; +$lang['resendpwdmissing'] = 'Sori, mae\'n rhaid llenwi pob maes.'; +$lang['resendpwdnouser'] = 'Sori, \'dyn ni ddim yn gallu darganfod y defnyddiwr hwn yn ein databas ni.'; +$lang['resendpwdbadauth'] = 'Sori, \'dyw\'r cod dilysu hwn ddim yn ddilys. Sicrhewch eich bod chi wedi defnyddio\'r ddolen gadarnhau gyfan.'; +$lang['resendpwdconfirm'] = 'Cafodd ddolen gadarnhau ei hanfon gan ebost.'; +$lang['resendpwdsuccess'] = 'Cafodd eich cyfrinair newydd chi ei anfon gan ebost.'; + +$lang['license'] = 'Heb law bod datganiad i\'r gwrthwyneb, mae cynnwys y wici hwn o dan y drwydded ganlynol:'; +$lang['licenseok'] = 'Sylwir: Gan olygu\'r dudalen hon rydych chi\'n cytuno i drwyddedu\'ch cynnwys chi o dan y drwydded ganlynol:'; + +$lang['searchmedia'] = 'Chwilio enw ffeil:'; +$lang['searchmedia_in'] = 'Chwilio mewn %s'; +$lang['txt_upload'] = 'Dewis ffeil i\'w lanlwytho:'; +$lang['txt_filename'] = 'Upload as (optional):'; +$lang['txt_overwrt'] = 'Trosysgrifo ffeil sy\'n bodoli'; +$lang['maxuploadsize'] = 'Lanlwytho uchanfswm %s y ffeil.'; +$lang['lockedby'] = 'Clowyd yn bresennol gan:'; +$lang['lockexpire'] = 'Clo\'n dod i ben ar:'; + +$lang['js']['willexpire'] = 'Mae\'ch clo ar gyfer golygu\'r dudalen hon yn mynd i ddod i ben mewn munud.\nEr mwyn osgoi gwrthdrawiadau defnyddiwch y botwm rhagolwg i ailosod amserydd y clo.'; +$lang['js']['notsavedyet'] = 'Caiff newidiadau heb gadw eu colli.'; +$lang['js']['searchmedia'] = 'Chwilio am ffeiliau'; +$lang['js']['keepopen'] = 'Cadw ffesnestr y dewisiad ar agor'; +$lang['js']['hidedetails'] = 'Cuddio Manylion'; +$lang['js']['mediatitle'] = 'Gosodiadau dolenni'; +$lang['js']['mediadisplay'] = 'Math y ddolen'; +$lang['js']['mediaalign'] = 'Aliniad'; +$lang['js']['mediasize'] = 'Maint y ddelwedd'; +$lang['js']['mediatarget'] = 'Targed y ddolen'; +$lang['js']['mediaclose'] = 'Cau'; +$lang['js']['mediainsert'] = 'Mewnosod'; +$lang['js']['mediadisplayimg'] = 'Dangos y ddelwedd.'; +$lang['js']['mediadisplaylnk'] = 'Dangos y ddolen yn unig.'; +$lang['js']['mediasmall'] = 'Fersiwn bach'; +$lang['js']['mediamedium'] = 'Fersiwn canolig'; +$lang['js']['medialarge'] = 'Fersiwn mawr'; +$lang['js']['mediaoriginal'] = 'Fersiwn gwreiddiol'; +$lang['js']['medialnk'] = 'Cysylltu i dudalen fanylion'; +$lang['js']['mediadirect'] = 'Cysylltiad uniongyrchol i\'r gwreiddiol'; +$lang['js']['medianolnk'] = 'Dim dolen'; +$lang['js']['medianolink'] = 'Peidio cysylltu i\'r dudalen'; +$lang['js']['medialeft'] = 'Alinio\'r ddelwedd i\'r chwith.'; +$lang['js']['mediaright'] = 'Alinio\'r ddelwedd i\'r dde.'; +$lang['js']['mediacenter'] = 'Alinio\'r ddelwedd i\'r canol.'; +$lang['js']['medianoalign'] = 'Peidio alinio.'; +$lang['js']['nosmblinks'] = 'Mae cysylltu gyda Windows shares dim ond yn gweithio gyda Microsoft Internet Explorer.\nGallwch chi gopïo a gludo\'r ddolen hefyd.'; +$lang['js']['linkwiz'] = 'Dewin Dolenni'; +$lang['js']['linkto'] = 'Cysylltu i:'; +$lang['js']['del_confirm'] = 'Gwir ddileu\'r eitem(au) a ddewiswyd?'; +$lang['js']['restore_confirm'] = 'Gwir adfer y fersiwn hwn?'; +$lang['js']['media_diff'] = 'Gweld gwahaniaethau:'; +$lang['js']['media_diff_both'] = 'Ochr wrth Ochr'; +$lang['js']['media_diff_opacity'] = 'Tywynnu-drwodd'; +$lang['js']['media_diff_portions'] = 'Taro'; //Swipe - rhaid bod gwell ateb i hwn +$lang['js']['media_select'] = 'Dewis ffeiliau…'; +$lang['js']['media_upload_btn'] = 'Lanlwytho'; +$lang['js']['media_done_btn'] = 'Gorffen'; +$lang['js']['media_drop'] = 'Gollwng ffeiliau yma i\'w lanlwytho'; +$lang['js']['media_cancel'] = 'tynnu'; +$lang['js']['media_overwrt'] = 'Trosysgrifo ffeiliau sy\'n bodoli'; + +$lang['rssfailed'] = 'Roedd gwall wrth hôl y ffrwd hwn: '; +$lang['nothingfound'] = 'Dim wedi\'i ddarganfod.'; + +$lang['mediaselect'] = 'Ffeiliau Cyfrwng'; +$lang['uploadsucc'] = 'Lanlwythiad llwyddiannus'; +$lang['uploadfail'] = 'Methodd y lanlwythiad. Hawliau anghywir efallai?'; +$lang['uploadwrong'] = 'Gwrthodwyd y lanlwythiad. Gwaherddir yr estyniad ffeil hwn!'; +$lang['uploadexist'] = 'Mae\'r ffeil eisoes yn bodoli. Dim wedi\'i wneud.'; +$lang['uploadbadcontent'] = 'Doedd y cynnwys a lanlwythwyd ddim yn cydweddu ag estyniad ffeil %s.'; +$lang['uploadspam'] = 'Cafodd y lanlwythiad ei flocio gan rhestr wahardd sbam.'; +$lang['uploadxss'] = 'Cafodd y lanlwythiad ei flocio efallai oherwydd cynnwys maleisus.'; +$lang['uploadsize'] = 'Roedd y ffeil a lanlwythwyd yn rhy fawr. (uchaf. %s)'; +$lang['deletesucc'] = 'Cafodd ffeil "%s" ei dileu.'; +$lang['deletefail'] = 'Doedd dim modd dileu "%s" - gwiriwch hawliau.'; +$lang['mediainuse'] = 'Doedd "%s" heb ei dileu - mae\'n cael ei defnyddio ar hyn o bryd.'; +$lang['namespaces'] = 'Namespaces'; //namespace +$lang['mediafiles'] = 'Ffeiliau ar gael mewn'; +$lang['accessdenied'] = '\'Sdim hawl \'da chi weld y dudalen hon.'; +$lang['mediausage'] = 'Defnyddiwch y gystrawen ganlynol i gyfeirio at y ffeil hon:'; +$lang['mediaview'] = 'Dangos y ffeil wreiddiol'; +$lang['mediaroot'] = 'gwraidd'; +$lang['mediaupload'] = 'lanlwythwch ffeil i\'r namespace cyfredol yma. Er mwy creu is-namespace, ychwanegwch nhw o flaen enw\'r ffeil gan eu gwahanu nhw gyda cholonau, ar ôl i chi ddewis y ffeiliau. Gall ffeiliau hefyd eu dewis gan lusgo a gollwng.'; //namespace +$lang['mediaextchange'] = 'Newidiwyd yr estyniad o .%s i .%s!'; +$lang['reference'] = 'Cyfeirnodau ar gyfer'; +$lang['ref_inuse'] = '\'Sdim modd dileu\'r ffeil hon, oherwydd ei bod hi\'n dal yn cael ei defnyddio gan y tudalennau canlynol:'; +$lang['ref_hidden'] = 'Mae rhai cyfeirnodau ar dudalennau \'sdim hawl \'da chi weld'; + +$lang['hits'] = 'Trawiadau'; +$lang['quickhits'] = 'Enw tudalennau\'n cydweddu'; +$lang['toc'] = 'Tabl Cynnwys'; +$lang['current'] = 'cyfredol'; +$lang['yours'] = 'Eich Fersiwn'; +$lang['diff'] = 'Dangos gwahaniaethau i\'r adolygiadau cyfredol'; +$lang['diff2'] = 'Dangos gwahaniaethau rhwng adolygiadau a ddewiswyd'; +$lang['difflink'] = 'Cysylltu i\'r olwg gymharu hon'; +$lang['diff_type'] = 'Dangos gwahaniaethau:'; +$lang['diff_inline'] = 'Mewnlin'; +$lang['diff_side'] = 'Ochr wrth Ochr'; +$lang['diffprevrev'] = 'Adolygiad blaenorol'; +$lang['diffnextrev'] = 'Adolygiad nesaf'; +$lang['difflastrev'] = 'Adolygiad diwethaf'; +$lang['diffbothprevrev'] = 'Dwy ochr yr adolygiad blaenorol'; +$lang['diffbothnextrev'] = 'Dwy ochr yr adolygiad nesaf'; +$lang['line'] = 'Llinell'; +$lang['breadcrumb'] = 'Olrhain:'; +$lang['youarehere'] = 'Rydych chi yma:'; +$lang['lastmod'] = 'Newidiwyd ddiwethaf:'; +$lang['by'] = 'gan'; +$lang['deleted'] = 'tynnwyd'; +$lang['created'] = 'crewyd'; +$lang['restored'] = 'adferwyd hen adolygiad (%s)'; +$lang['external_edit'] = 'golygiad allanol'; +$lang['summary'] = 'Crynodeb golygiad'; +$lang['noflash'] = 'Mae angen <a href="http://www.adobe.com/products/flashplayer/">Ategyn Adobe Flash</a> i ddangos y cynnwys hwn.'; +$lang['download'] = 'Lawrlwytho Darn'; +$lang['tools'] = 'Teclynnau'; +$lang['user_tools'] = 'Teclynnau Defnyddiwr'; +$lang['site_tools'] = 'Teclynnau Safle'; +$lang['page_tools'] = 'Teclynnau Tudalennau'; +$lang['skip_to_content'] = 'nedio i\'r cynnwys'; +$lang['sidebar'] = 'Bar ochr'; + +$lang['mail_newpage'] = 'ychwanegwyd tudalen:'; +$lang['mail_changed'] = 'newidiwyd tudalen:'; +$lang['mail_subscribe_list'] = 'newidiwyd tudalennau mewn namespace:'; //namespace +$lang['mail_new_user'] = 'defnyddiwr newydd:'; +$lang['mail_upload'] = 'lanlwythwyd ffeil:'; + +$lang['changes_type'] = 'Dangos newidiadau mewn'; +$lang['pages_changes'] = 'Tudalennau'; +$lang['media_changes'] = 'Ffeiliau cyfrwng'; +$lang['both_changes'] = 'Tudalennau a ffeiliau cyfrwng'; + +$lang['qb_bold'] = 'Testun Bras'; +$lang['qb_italic'] = 'Testun Italig'; +$lang['qb_underl'] = 'Testun wedi\'i Danlinellu'; +$lang['qb_code'] = 'Testun Unbylchog'; +$lang['qb_strike'] = 'Testun Llinell Drwodd'; +$lang['qb_h1'] = 'Pennawd Lefel 1'; +$lang['qb_h2'] = 'Pennawd Lefel 2'; +$lang['qb_h3'] = 'Pennawd Lefel 3'; +$lang['qb_h4'] = 'Pennawd Lefel 4'; +$lang['qb_h5'] = 'Pennawd Lefel 5'; +$lang['qb_h'] = 'Pennawd'; +$lang['qb_hs'] = 'Dewis Pennawd'; +$lang['qb_hplus'] = 'Pennawd Uwch'; +$lang['qb_hminus'] = 'Pennawd Is'; +$lang['qb_hequal'] = 'Pennawd yr un Lefel'; +$lang['qb_link'] = 'Dolen fewnol'; +$lang['qb_extlink'] = 'Dolen allanol'; +$lang['qb_hr'] = 'Llinell Lorweddol'; +$lang['qb_ol'] = 'Eitem Rhestr Drefnedig'; +$lang['qb_ul'] = 'Eitem Rhestr Rifol'; +$lang['qb_media'] = 'Ychwanegu Delweddau a ffeiliau eraill (agor mewn ffenestr newydd)'; +$lang['qb_sig'] = 'Mewnosod Llofnod'; +$lang['qb_smileys'] = 'Gwenogluniau'; +$lang['qb_chars'] = 'Nodau Arbennig'; + +$lang['upperns'] = 'neidio i namespace uwch'; //namespace + +$lang['metaedit'] = 'Golygu Metadata'; +$lang['metasaveerr'] = 'Methwyd ysgrifennu metadata'; +$lang['metasaveok'] = 'Cadwyd y metadata'; +$lang['img_title'] = 'Teitl:'; +$lang['img_caption'] = 'Egluryn:'; +$lang['img_date'] = 'Dyddiad:'; +$lang['img_fname'] = 'Enw ffeil:'; +$lang['img_fsize'] = 'Maint:'; +$lang['img_artist'] = 'Ffotograffydd:'; +$lang['img_copyr'] = 'Hawlfraint:'; +$lang['img_format'] = 'Fformat:'; +$lang['img_camera'] = 'Camera:'; +$lang['img_keywords'] = 'Allweddeiriau:'; +$lang['img_width'] = 'Lled:'; +$lang['img_height'] = 'Uchder:'; + +$lang['subscr_subscribe_success'] = 'Ychwanegwyd %s i\'r rhestr danysgrifio ar gyfer %s'; +$lang['subscr_subscribe_error'] = 'Gwall wrth ychwanegu %s i\'r rhestr danysgrifio ar gyfer %s'; +$lang['subscr_subscribe_noaddress'] = '\'Sdim cyfeiriad wedi\'i gysylltu gyda\'ch defnyddair, felly \'sdim modd eich ychwanegu chi i\'r rhestr danysgrifio'; +$lang['subscr_unsubscribe_success'] = 'Tynnwyd %s o\'r rhestr danysgrifio ar gyfer %s'; +$lang['subscr_unsubscribe_error'] = 'Roedd gwall wrth dynnu %s o\'r rhestr danysgrfio ar gyfer %s'; +$lang['subscr_already_subscribed'] = 'Mae %s eisoes wedi tanysgrifio i %s'; +$lang['subscr_not_subscribed'] = '\'Dyw %s heb danysgrifio i %s'; +// Manage page for subscriptions +$lang['subscr_m_not_subscribed'] = '\'Dych chi heb danysgrifio i\'r dudalen gyfredol neu\'r namespace, yn bresennol.'; //namespace +$lang['subscr_m_new_header'] = 'Ychwanegu tanysgrifiad'; +$lang['subscr_m_current_header'] = 'Tanysgrifiadau cyfredol'; +$lang['subscr_m_unsubscribe'] = 'Tynnu tanysgrifiad'; +$lang['subscr_m_subscribe'] = 'Tanysgrifio'; +$lang['subscr_m_receive'] = 'Derbyn'; +$lang['subscr_style_every'] = 'ebost ar bob newid'; +$lang['subscr_style_digest'] = 'ebost cryno o\'r newidiadau ar bob tudalen (pob %.2f diwrnod)'; +$lang['subscr_style_list'] = 'rhestr o dudalennau a newidiwyd ers yr ebost diwethaf (pob %.2f diwrnod)'; + +/* auth.class language support */ +$lang['authtempfail'] = '\'Dyw dilysiad defnyddiwr ddim ar gael yn bresennol (dros dro). Os ydy\'r sefyllfa\'n parhau, cysylltwch â gweinyddwr y wici.'; + +/* installer strings */ +$lang['i_chooselang'] = 'Dewiswch eich iaith'; +$lang['i_installer'] = 'Arsefydlwr DokuWiki'; +$lang['i_wikiname'] = 'Enw Wici'; +$lang['i_enableacl'] = 'Galluogi ACL (awgrymwyd)'; +$lang['i_superuser'] = 'Uwchddefnyddiwr'; +$lang['i_problems'] = 'Gwnaeth yr arsefydlwr ddod o hyd i broblemau, isod. \'Sdim modd parhau nes i chi eu datrys nhw.'; +$lang['i_modified'] = 'Oherwydd rhesymau diogelwch, bydd y sgript hwn dim ond yn gweithio gydag arsefydliad DokuWiki newydd sydd heb ei newid. + Dylech chi naill ai ail-echdynnu\'r ffeiliau o\'r pecyn a lawrlwythwyd neu porwch dros y + <a href="http://dokuwiki.org/install">canllawiau arsefydylu Dokuwiki</a> cyfan'; +$lang['i_funcna'] = 'Swyddogaeth PHP <code>%s</code> ddim ar gael. Posib bod eich gwesteiwr wedi\'i hanalluogi am ryw reswm?'; +$lang['i_phpver'] = 'Mae\'ch fersiwn PHP <code>%s</code> yn is na\'r hyn sydd ei angen <code>%s</code>. Mae angen i chi ddiweddaru eich arsefydliad PHP.'; +$lang['i_mbfuncoverload'] = 'Mae\'n rhaid analluogi mbstring.func_overload mewn php.ini er mwyn rhedeg DokuWiki.'; +$lang['i_permfail'] = '\'Dyw DokuWiki ddim yn gallu ysgrifennu i <code>%s</code>. Mae angen newid gosodiadau hawliau ar gyfer y ffolder hwn!'; +$lang['i_confexists'] = 'Mae <code>%s</code> eisoes yn bodoli'; +$lang['i_writeerr'] = 'Methu creu <code>%s</code>. Bydd angen i chi wirio hawliau ffolder/ffeil a chreu\'r ffeil gan law.'; +$lang['i_badhash'] = 'dokuwiki.php heb ei adnabod neu wedi\'i newid (hash=<code>%s</code>)'; +$lang['i_badval'] = '<code>%s</code> - gwerth anghyfreithlon neu wag'; +$lang['i_success'] = 'Gorffennodd y ffurfwedd yn llwyddiannus. Gallwch chi ddileu\'r ffeil install.php nawr. Ewch + <a href="doku.php?id=wiki:welcome">i\'ch DokuWiki newydd</a>.'; +$lang['i_failure'] = 'Ymddangosodd gwallau wrth ysgrifennu\'r ffeiliau ffurfwedd. Bydd angen i chi eu cywiro + nhw gan law cyn gallwch chi ddefnyddio\'ch <a href="doku.php?id=wiki:welcome">DokuWiki newydd</a>.'; +$lang['i_policy'] = 'Polisi ACL cychwynnol'; +$lang['i_pol0'] = 'Wici Agored (darllen, ysgrifennu, lanlwytho i bawb)'; +$lang['i_pol1'] = 'Wici Cyhoeddus (darllen i bawb, ysgrifennu a lanlwytho i ddefnyddwyr cofrestredig)'; +$lang['i_pol2'] = 'Wici Caeedig (darllen, ysgrifennu, lanlwytho i ddefnyddwyr cofrestredig yn unig)'; +$lang['i_allowreg'] = 'Caniatáu defnyddwyr i gofrestru eu hunain'; +$lang['i_retry'] = 'Ailgeisio'; +$lang['i_license'] = 'Dewiswch y drwydded rydych chi am osod ar eich cynnwys:'; +$lang['i_license_none'] = 'Peidio â dangos unrhyw wybodaeth drwyddedu'; +$lang['i_pop_field'] = 'Plis, helpwch ni i wella\'r profiad o ddefnyddio DokuWiki:'; +$lang['i_pop_label'] = 'Anfon data defnydd anhysbys i ddatblygwyr DokuWiki unwaith y mis'; + +$lang['recent_global'] = 'Yn bresennol, rydych chi\'n gwylio newidiadau tu fewn namespace <b>%s</b>. Gallwch chi hefyd <a href="%s">weld y newidiadau diweddar ar gyfer y wici cyfan</a>.'; //namespace + +$lang['years'] = '%d blynedd yn ôl'; +$lang['months'] = '%d mis yn ôl'; +$lang['weeks'] = '%d wythnos yn ôl'; +$lang['days'] = '%d diwrnod yn ôl'; +$lang['hours'] = '%d awr yn ôl'; +$lang['minutes'] = '%d munud yn ôl'; +$lang['seconds'] = '%d eiliad yn ôl'; + +$lang['wordblock'] = 'Doedd eich newid heb gadw gan ei fod yn cynnwys testun wedi\'i flocio (sbam).'; + +$lang['media_uploadtab'] = 'Lanlwytho'; +$lang['media_searchtab'] = 'Chwilio'; +$lang['media_file'] = 'Ffeil'; +$lang['media_viewtab'] = 'Golwg'; +$lang['media_edittab'] = 'Golygu'; +$lang['media_historytab'] = 'Hanes'; +$lang['media_list_thumbs'] = 'Bawdlun'; +$lang['media_list_rows'] = 'Rhesi'; +$lang['media_sort_name'] = 'Enw'; +$lang['media_sort_date'] = 'Dyddiad'; +$lang['media_namespaces'] = 'Dewis namespace'; //namespace +$lang['media_files'] = 'Ffeiliau mewn %s'; +$lang['media_upload'] = 'Lanlwytho i %s'; +$lang['media_search'] = 'Chwilio mewn %s'; +$lang['media_view'] = '%s'; +$lang['media_viewold'] = '%s ar %s'; +$lang['media_edit'] = 'Golygu %s'; +$lang['media_history'] = 'Hanes %s'; +$lang['media_meta_edited'] = 'golygwyd metadata'; +$lang['media_perm_read'] = 'Sori, ond \'sdim digon o hawliau \'da chi i ddarllen ffeiliau.'; +$lang['media_perm_upload'] = 'Sori, ond \'sdim digon o hawliau \'da chi i lanlwytho ffeiliau.'; +$lang['media_update'] = 'Lanlwytho fersiwn newydd'; +$lang['media_restore'] = 'Adfer y fersiwn hwn'; +$lang['media_acl_warning'] = 'Gall y rhestr hon fod yn anghyflawn oherwydd cyfyngiadau ACL a thudalennau coll.'; + +$lang['currentns'] = 'Namespace cyfredol'; //namespace +$lang['searchresult'] = 'Canlyniad Chwilio'; +$lang['plainhtml'] = 'HTML Plaen'; +$lang['wikimarkup'] = 'Iaith Wici'; +$lang['page_nonexist_rev'] = 'Doedd y dudalen ddim yn bodoli ar %s. Cafodd ei chreu wedyn ar <a href="%s">%s</a>.'; +$lang['unable_to_parse_date'] = 'Methu dosbarthu ar baramedr "%s".'; +//Setup VIM: ex: et ts=2 : diff --git a/inc/lang/cy/locked.txt b/inc/lang/cy/locked.txt new file mode 100644 index 0000000000000000000000000000000000000000..4c7865dd01ca63a5c663aaa7ce2324187e8f127b --- /dev/null +++ b/inc/lang/cy/locked.txt @@ -0,0 +1,3 @@ +====== Tudalen ar glo ====== + +Mae'r dudalen hon wedi'i chloi ar gyfer golygu gan ddefnyddiwr arall. Bydd yn rhaid i chi aros tan i'r defnyddiwr orffen golygu neu tan fod y cyfnod cloi yn dod i ben. diff --git a/inc/lang/cy/login.txt b/inc/lang/cy/login.txt new file mode 100644 index 0000000000000000000000000000000000000000..dbdde0e67e8e12f610a5f4ff71a4870c82b80171 --- /dev/null +++ b/inc/lang/cy/login.txt @@ -0,0 +1,4 @@ +====== Mewngofnodi ====== + +'Dych chi heb fewngofnodi! Rhowch eich manylion mewngofnodi isod. Mae angen galluogi cwcis er mwyn mewngofnodi. + diff --git a/inc/lang/cy/mailtext.txt b/inc/lang/cy/mailtext.txt new file mode 100644 index 0000000000000000000000000000000000000000..27462332e9a0beff45ff587b370a18a3a37daafe --- /dev/null +++ b/inc/lang/cy/mailtext.txt @@ -0,0 +1,17 @@ +Cafodd tudalen yn eich DokuWiki ei hychwanegu neu newid. Dyma'r manylion: + +Dyddiad : @DATE@ +Porwr : @BROWSER@ +Cyfeiriad-IP : @IPADDRESS@ +Gwesteiwr : @HOSTNAME@ +Hen Adolygiad : @OLDPAGE@ +Adolygiad Newydd: @NEWPAGE@ +Crynodeb Golygu : @SUMMARY@ +Defnyddiwr : @USER@ + +@DIFF@ + + +-- +Cafodd y neges hon ei generadyu gan DokuWiki ar +@DOKUWIKIURL@ diff --git a/inc/lang/cy/mailwrap.html b/inc/lang/cy/mailwrap.html new file mode 100644 index 0000000000000000000000000000000000000000..254fcca7a411e37af0a070b21ba4125427866ddb --- /dev/null +++ b/inc/lang/cy/mailwrap.html @@ -0,0 +1,13 @@ +<html> +<head> + <title>@TITLE@</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +</head> +<body> + +@HTMLBODY@ + +<br /><hr /> +<small>Cafodd y neges hon ei generadu gan DokuWiki ar @DOKUWIKIURL@.</small> +</body> +</html> diff --git a/inc/lang/cy/newpage.txt b/inc/lang/cy/newpage.txt new file mode 100644 index 0000000000000000000000000000000000000000..dfe8a79d9ea22a41578a35ff0f70b9bf25c90522 --- /dev/null +++ b/inc/lang/cy/newpage.txt @@ -0,0 +1,4 @@ +====== 'Dyw'r testun hwn ddim yn bodoli eto ====== + +Rydych chi wedi dilyn dolen i destun sy ddim yn bodoli eto. Os oes hawliau 'da chi, gallwch chi ei greu gan bwyso ar "Creu y dudalen hon". + diff --git a/inc/lang/cy/norev.txt b/inc/lang/cy/norev.txt new file mode 100644 index 0000000000000000000000000000000000000000..7d978c55022711b2d368794db94a28396a85b29a --- /dev/null +++ b/inc/lang/cy/norev.txt @@ -0,0 +1,4 @@ +====== Adolygiad ddim y bodoli ====== + +'Dyw'r adolygiad hwn ddim yn bodoli. Pwyswch ar "Hen adolygiadau" am restr o hen adolygiadau'r ddogfen hon. + diff --git a/inc/lang/cy/password.txt b/inc/lang/cy/password.txt new file mode 100644 index 0000000000000000000000000000000000000000..da0678ef32006529d6b20ee1a833a45607d375b1 --- /dev/null +++ b/inc/lang/cy/password.txt @@ -0,0 +1,10 @@ +Shw mae @FULLNAME@! + +Dyma'ch manylion ar gyfer @TITLE@ ar @DOKUWIKIURL@ + +Defnyddair : @LOGIN@ +Cyfrinair : @PASSWORD@ + +-- +Cafodd y neges hon ei generadu gan DokuWiki ar +@DOKUWIKIURL@ diff --git a/inc/lang/cy/preview.txt b/inc/lang/cy/preview.txt new file mode 100644 index 0000000000000000000000000000000000000000..477879d51c55e7d28060db3fc87bda8bbba87c1e --- /dev/null +++ b/inc/lang/cy/preview.txt @@ -0,0 +1,4 @@ +====== Rhagolwg ====== + +Dyma ragolwg o sut fydd eich testun yn edrych. Cofiwch: 'Dyw e **heb ei gadw** 'to! + diff --git a/inc/lang/cy/pwconfirm.txt b/inc/lang/cy/pwconfirm.txt new file mode 100644 index 0000000000000000000000000000000000000000..529571e14c20206babfeef998b24ce2bc4a60853 --- /dev/null +++ b/inc/lang/cy/pwconfirm.txt @@ -0,0 +1,15 @@ +Shw mae @FULLNAME@! + +Mae rhywun wedi gofyn am gyfrinair newydd ar gyfer eich manylion +@TITLE@ ar @DOKUWIKIURL@ + +Os na wnaethoch chi ofyn am gyfrinair newydd, anwybyddwch yr e-bost hwn. + +I gadarnhau daeth y cais oddi wrthoch chi, pwyswch y ddolen isod. + +@CONFIRM@ + +-- +Cafodd y neges hon ei generadu gan DokuWiki ar +@DOKUWIKIURL@ + diff --git a/inc/lang/cy/read.txt b/inc/lang/cy/read.txt new file mode 100644 index 0000000000000000000000000000000000000000..8703ef9374bb94b46d99eef142ec27e04e6d2c6b --- /dev/null +++ b/inc/lang/cy/read.txt @@ -0,0 +1,2 @@ +Mae'r dudalen hon i'w darllen yn unig. Gallwch chi edrych ar y ffynhonnell, ond nid ei newid hi. Cysylltwch â'ch gweinyddwr chi os ydych chi'n meddwl bod hwn yn anghywir. + diff --git a/inc/lang/cy/recent.txt b/inc/lang/cy/recent.txt new file mode 100644 index 0000000000000000000000000000000000000000..2affbf9050d17511e976ba4df5f3b013e6641013 --- /dev/null +++ b/inc/lang/cy/recent.txt @@ -0,0 +1,5 @@ +====== Newidiadau Diweddar ====== + +Cafodd y tudalennau canlynol eu newid yn ddiweddar. + + diff --git a/inc/lang/cy/register.txt b/inc/lang/cy/register.txt new file mode 100644 index 0000000000000000000000000000000000000000..6fbc8505622ce389d4c8da69e5245df287b94b1f --- /dev/null +++ b/inc/lang/cy/register.txt @@ -0,0 +1,4 @@ +====== Cofrestru fel defnyddiwr newydd ====== + +Llenwch yr holl wybodaeth isod i greu cyfrif newydd ar y wici hwn. Sicrhewch eich bod chi'n cynnwys **cyfeiriad e-bost dilys** - os na chewch chi'ch annog am gyfrinair, caiff un ei anfon i'ch cyfeiriad. Dylai'r enw mewngofnodi fod yn [[doku>pagename|enw tudalen]] dilys. + diff --git a/inc/lang/cy/registermail.txt b/inc/lang/cy/registermail.txt new file mode 100644 index 0000000000000000000000000000000000000000..0cb2b4fd230d280425a4771ec98676cf80527b88 --- /dev/null +++ b/inc/lang/cy/registermail.txt @@ -0,0 +1,14 @@ +Cofrestrodd defnyddiwr newydd. Dyma'r manylion: + +Defnyddair : @NEWUSER@ +Enw llawn : @NEWNAME@ +E-bost : @NEWEMAIL@ + +Dyddiad : @DATE@ +Porwr : @BROWSER@ +Cyfeiriad-IP : @IPADDRESS@ +Gwesteiwr : @HOSTNAME@ + +-- +Cafodd y neges hon ei generadu gan DokuWiki ar +@DOKUWIKIURL@ diff --git a/inc/lang/cy/resendpwd.txt b/inc/lang/cy/resendpwd.txt new file mode 100644 index 0000000000000000000000000000000000000000..ddad8a906b2d981bbccdbf393b43df31fdd1ec26 --- /dev/null +++ b/inc/lang/cy/resendpwd.txt @@ -0,0 +1,4 @@ +====== Anfon cyfrinair newydd ====== + +Ailgyflwynwch eich defnyddair yn y ffurflen isod i wneud cais am gyfrinair newydd i'ch cyfrif ar y wici hwn. Caiff ddolen gadarnhau ei hanfon i chi drwy eich e-bost cofrestredig. + diff --git a/inc/lang/cy/resetpwd.txt b/inc/lang/cy/resetpwd.txt new file mode 100644 index 0000000000000000000000000000000000000000..57f19928e817fb201424af205238ef04cbca5171 --- /dev/null +++ b/inc/lang/cy/resetpwd.txt @@ -0,0 +1,4 @@ +====== Gosod cyfrinair newydd ====== + +Rhowch gyfrinair newydd i'ch cyfrif ar y wici hwn. + diff --git a/inc/lang/cy/revisions.txt b/inc/lang/cy/revisions.txt new file mode 100644 index 0000000000000000000000000000000000000000..afbc9fed28d656d54933c0610d90a0d5e721eda0 --- /dev/null +++ b/inc/lang/cy/revisions.txt @@ -0,0 +1,4 @@ +====== Hen Adolygiadau ====== + +Dyma adolygiadau hÅ·n y ddogfen gyfredol. I droi'n ôl i hen adolygiad, dewiswch e isod a phwyso ''Golygu'r dudalen hon'' a'i gadw. + diff --git a/inc/lang/cy/searchpage.txt b/inc/lang/cy/searchpage.txt new file mode 100644 index 0000000000000000000000000000000000000000..fd554e1e70ef61e28b4fec80c7b28bd8fe21a395 --- /dev/null +++ b/inc/lang/cy/searchpage.txt @@ -0,0 +1,5 @@ +====== Chwilio ====== + +Gallwch chi ddarganfod canlyniadau eich chwiliad isod. @CREATEPAGEINFO@ + +===== Canlyniadau ===== diff --git a/inc/lang/cy/showrev.txt b/inc/lang/cy/showrev.txt new file mode 100644 index 0000000000000000000000000000000000000000..6cc9d6c2eea3381bf1ce17c78f324ee698e82a8a --- /dev/null +++ b/inc/lang/cy/showrev.txt @@ -0,0 +1,2 @@ +**Dyma hen adolygiad y ddogfen!** +---- diff --git a/inc/lang/ku/stopwords.txt b/inc/lang/cy/stopwords.txt similarity index 69% rename from inc/lang/ku/stopwords.txt rename to inc/lang/cy/stopwords.txt index bc6eb48aea08f241e220bc59d6d6851acfb8e381..2ac4c3174cd8686747dfd2ea485ce8c31bd28b06 100644 --- a/inc/lang/ku/stopwords.txt +++ b/inc/lang/cy/stopwords.txt @@ -2,28 +2,30 @@ # When you edit this file be sure to use UNIX line endings (single newline) # No need to include words shorter than 3 chars - these are ignored anyway # This list is based upon the ones found at http://www.ranks.nl/stopwords/ -about -are -and -you -your -them -their -com -for -from -into -how -that -the -this -was -what -when -where -who -will -with -und -the -www +allan +beth +ble +bydd +chi +dyma +dyna +eich +gyda +hefyd +hon +honna +hwn +hwnnw +hwy +hyn +hynny +mewn +nhw +oddi +oedd +pan +pwy +roedd +sut +wrth +www \ No newline at end of file diff --git a/inc/lang/cy/subscr_digest.txt b/inc/lang/cy/subscr_digest.txt new file mode 100644 index 0000000000000000000000000000000000000000..611e0570924f24a04e9080aa1e4282fa505894d5 --- /dev/null +++ b/inc/lang/cy/subscr_digest.txt @@ -0,0 +1,20 @@ +Shw mae! + +Gwnaeth y dudalen @PAGE@ mewn wici @TITLE@ newid. +Dyma'r newidiadau: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Hen Adolygiad: @OLDPAGE@ +Adolygiad Newydd: @NEWPAGE@ + +I ganslo hysbysiadau tudalen, mewngofnodwch i'r wici ar +@DOKUWIKIURL@ ac yna ewch i +@SUBSCRIBE@ +a thanysgrifio o newidiadau tudalen a/neu namespace. + +-- +Cafodd y neges hon ei generadu gan DokuWiki ar +@DOKUWIKIURL@ diff --git a/inc/lang/cy/subscr_form.txt b/inc/lang/cy/subscr_form.txt new file mode 100644 index 0000000000000000000000000000000000000000..47d1a1715b4bc342c0353051c254e723a5cc601f --- /dev/null +++ b/inc/lang/cy/subscr_form.txt @@ -0,0 +1,3 @@ +====== Rheoli Tanysgrifiad ====== + +Mae'r dudalen hon yn eich galluogi i reoli'ch tanysgrifiadau ar gyfer y dudalen gyfredol a'r namespace. diff --git a/inc/lang/cy/subscr_list.txt b/inc/lang/cy/subscr_list.txt new file mode 100644 index 0000000000000000000000000000000000000000..592f29028a1df3dcbef703516c6f4348cb1c11da --- /dev/null +++ b/inc/lang/cy/subscr_list.txt @@ -0,0 +1,17 @@ +Shw mae! + +Gwnaeth tudalennau yn y namespace @PAGE@ o'r wici @TITLE@ newid. +Dyma'r tudaalennau sydd wedi newid: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +I ganslo hysbysiadau'r dudalen, mewngofnodwch i'r wici ar +@DOKUWIKIURL@ yna ewch i +@SUBSCRIBE@ +a thanysgrifio o newidiadau tudalen a/neu namespace. + +-- +Cafodd y neges hon ei generadu gan DokuWiki ar +@DOKUWIKIURL@ diff --git a/inc/lang/cy/subscr_single.txt b/inc/lang/cy/subscr_single.txt new file mode 100644 index 0000000000000000000000000000000000000000..2a774ebd28728667c7d37351e3909d7d787991a5 --- /dev/null +++ b/inc/lang/cy/subscr_single.txt @@ -0,0 +1,23 @@ +Shw mae! + +Gwnaeth y dudalen @PAGE@ yn y wici @TITLE@ newid. +Dyma'r newidiadau: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Dyddiad : @DATE@ +Defnyddiwr : @USER@ +Crynodeb Golygu : @SUMMARY@ +Hen Adolygiad : @OLDPAGE@ +Adolygiad Newwydd: @NEWPAGE@ + +I ganslo hysbysiadau'r dudalen, mewngofnodwch i'r wici ar +@DOKUWIKIURL@ yna ewch i +@SUBSCRIBE@ +a thanysgrifio o newidiadau tudalen a namespace. + +-- +Cafodd y neges hon ei generadu gan DokuWiki ar +@DOKUWIKIURL@ diff --git a/inc/lang/cy/updateprofile.txt b/inc/lang/cy/updateprofile.txt new file mode 100644 index 0000000000000000000000000000000000000000..ce9ca503f3e5955feacdbc1e83c3850d01b6284d --- /dev/null +++ b/inc/lang/cy/updateprofile.txt @@ -0,0 +1,5 @@ +====== Diweddaru proffil eich cyfrif ====== + +Newidiwch y meysydd rydych chi amm newid yn unig. 'Sdim modd i chi newid eich defnyddair. + + diff --git a/inc/lang/cy/uploadmail.txt b/inc/lang/cy/uploadmail.txt new file mode 100644 index 0000000000000000000000000000000000000000..8102232a3512578ed0b08f67845a702876b53560 --- /dev/null +++ b/inc/lang/cy/uploadmail.txt @@ -0,0 +1,15 @@ +Cafodd ffeil ei lanlwytho i'ch DokuWiki. Dyma'r manylion: + +Ffeil : @MEDIA@ +Hen adolygiad : @OLD@ +Dyddiad : @DATE@ +Porwr : @BROWSER@ +Cyfeiriad-IP : @IPADDRESS@ +Gwesteiwr : @HOSTNAME@ +Maint : @SIZE@ +Teip MIME : @MIME@ +Defnyddiwr : @USER@ + +-- +Cafodd y neges hon ei generadu gan DokuWiki ar +@DOKUWIKIURL@ diff --git a/inc/lang/da/denied.txt b/inc/lang/da/denied.txt index 7bf3b8b9be3251b0b9e4923a6b1c317301326426..217d8937e5cd85959904a12ee10a7ae036be81e8 100644 --- a/inc/lang/da/denied.txt +++ b/inc/lang/da/denied.txt @@ -1,3 +1,3 @@ -====== Adgang nægtet! ====== +====== Adgang nægtet ====== Du har ikke rettigheder til at fortsætte. diff --git a/inc/lang/da/lang.php b/inc/lang/da/lang.php index 3b353d50cc8209435b4da983cef93908f48486f3..ee8a92cf03bd90b8c118ee7b7886115eac383f58 100644 --- a/inc/lang/da/lang.php +++ b/inc/lang/da/lang.php @@ -19,6 +19,7 @@ * @author soer9648 <soer9648@eucl.dk> * @author Søren Birk <sbi@eucl.dk> * @author Søren Birk <soer9648@eucl.dk> + * @author Jacob Palm <mail@jacobpalm.dk> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -50,7 +51,6 @@ $lang['btn_update'] = 'Opdatér'; $lang['btn_delete'] = 'Slet'; $lang['btn_back'] = 'Tilbage'; $lang['btn_backlink'] = 'Henvisninger bagud'; -$lang['btn_backtomedia'] = 'Tilbage til valg af mediefil'; $lang['btn_subscribe'] = 'Abonnér pÃ¥ ændringer'; $lang['btn_profile'] = 'Opdatér profil'; $lang['btn_reset'] = 'Nulstil'; @@ -58,7 +58,7 @@ $lang['btn_resendpwd'] = 'Vælg ny adgangskode'; $lang['btn_draft'] = 'Redigér kladde'; $lang['btn_recover'] = 'Gendan kladde'; $lang['btn_draftdel'] = 'Slet kladde'; -$lang['btn_revert'] = 'Reetablér'; +$lang['btn_revert'] = 'Gendan'; $lang['btn_register'] = 'Registrér'; $lang['btn_apply'] = 'Anvend'; $lang['btn_media'] = 'Media Manager'; @@ -76,7 +76,7 @@ $lang['fullname'] = 'Fulde navn'; $lang['email'] = 'E-mail'; $lang['profile'] = 'Brugerprofil'; $lang['badlogin'] = 'Brugernavn eller adgangskode var forkert.'; -$lang['badpassconfirm'] = 'Kodeordet var desværre forkert'; +$lang['badpassconfirm'] = 'Adgangkode var desværre forkert'; $lang['minoredit'] = 'Mindre ændringer'; $lang['draftdate'] = 'Kladde automatisk gemt d.'; $lang['nosecedit'] = 'Siden blev ændret i mellemtiden, sektions information var for gammel, hentede hele siden i stedet.'; @@ -88,26 +88,26 @@ $lang['regsuccess2'] = 'Du er nu oprettet som bruger.'; $lang['regmailfail'] = 'Dit adgangskode blev ikke sendt. Kontakt venligst administratoren.'; $lang['regbadmail'] = 'E-mail-adressen er ugyldig. Kontakt venligst administratoren, hvis du mener dette er en fejl.'; $lang['regbadpass'] = 'De to adgangskoder er ikke ens, vær venlig at prøve igen.'; -$lang['regpwmail'] = 'Dit DokuWiki password'; +$lang['regpwmail'] = 'Dit adgangskode til DokuWiki'; $lang['reghere'] = 'Opret en DokuWiki-konto her'; $lang['profna'] = 'Denne wiki understøtter ikke ændring af profiler'; $lang['profnochange'] = 'Ingen ændringer, intet modificeret.'; $lang['profnoempty'] = 'Tomt navn eller e-mail adresse er ikke tilladt.'; $lang['profchanged'] = 'Brugerprofil opdateret korrekt.'; -$lang['profnodelete'] = 'Denne wiki supporterer ikke sletning af brugere'; -$lang['profdeleteuser'] = 'Slet Konto'; +$lang['profnodelete'] = 'Denne wiki understøtter 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'; +$lang['pwdforget'] = 'Har du glemt dit adgangskode? FÃ¥ en ny'; +$lang['resendna'] = 'Denne wiki understøtter ikke udsendelse af ny adgangskode.'; +$lang['resendpwd'] = 'Vælg en ny adgangskode for'; $lang['resendpwdmissing'] = 'Du skal udfylde alle felter.'; $lang['resendpwdnouser'] = 'Vi kan ikke finde denne bruger i vores database.'; $lang['resendpwdbadauth'] = 'Beklager, denne autoriseringskode er ikke gyldig. Kontroller venligst at du benyttede det fulde link til bekræftelse.'; -$lang['resendpwdconfirm'] = 'Et henvisning med bekræftelse er blevet sendt med email.'; -$lang['resendpwdsuccess'] = 'Dit nye adgangskode er blevet sendt med e-mail.'; -$lang['license'] = 'Med mindre andet angivet, vil indhold pÃ¥ denne wiki blive frigjort under følgende licens:'; -$lang['licenseok'] = 'Note: ved at ændre denne side, acceptere du at dit indhold bliver frigivet under følgende licens:'; +$lang['resendpwdconfirm'] = 'En e-mail med et link til bekræftelse er blevet sendt.'; +$lang['resendpwdsuccess'] = 'Din nye adgangskode er blevet sendt med e-mail.'; +$lang['license'] = 'Med mindre andet angivet, vil indhold pÃ¥ denne wiki blive udgivet under følgende licens:'; +$lang['licenseok'] = 'Bemærk - ved at redigere denne side, accepterer du at dit indhold bliver frigivet under følgende licens:'; $lang['searchmedia'] = 'Søg filnavn'; $lang['searchmedia_in'] = 'Søg i %s'; $lang['txt_upload'] = 'Vælg den fil der skal overføres:'; @@ -117,76 +117,75 @@ $lang['maxuploadsize'] = 'Upload max. %s pr. fil.'; $lang['lockedby'] = 'Midlertidig lÃ¥st af:'; $lang['lockexpire'] = 'LÃ¥s udløber kl:.'; $lang['js']['willexpire'] = 'Din lÃ¥s pÃ¥ dette dokument udløber om et minut.\nTryk pÃ¥ ForhÃ¥ndsvisning-knappen for at undgÃ¥ konflikter.'; -$lang['js']['notsavedyet'] = 'Ugemte ændringer vil blive mistet +$lang['js']['notsavedyet'] = 'Ugemte ændringer vil blive mistet. Fortsæt alligevel?'; $lang['js']['searchmedia'] = 'Søg efter filer'; $lang['js']['keepopen'] = 'Hold vindue Ã¥bent ved valg'; $lang['js']['hidedetails'] = 'Skjul detaljer'; $lang['js']['mediatitle'] = 'Link indstillinger'; $lang['js']['mediadisplay'] = 'Link type'; -$lang['js']['mediaalign'] = 'Juster'; +$lang['js']['mediaalign'] = 'Justering'; $lang['js']['mediasize'] = 'Billede størrelse'; -$lang['js']['mediatarget'] = 'Link mÃ¥l'; +$lang['js']['mediatarget'] = 'Link destination'; $lang['js']['mediaclose'] = 'Luk'; $lang['js']['mediainsert'] = 'Indsæt'; $lang['js']['mediadisplayimg'] = 'Vis billedet'; $lang['js']['mediadisplaylnk'] = 'Vis kun linket'; $lang['js']['mediasmall'] = 'Lille version'; -$lang['js']['mediamedium'] = 'Medium version'; +$lang['js']['mediamedium'] = 'Mellem version'; $lang['js']['medialarge'] = 'Stor version'; $lang['js']['mediaoriginal'] = 'Original version'; $lang['js']['medialnk'] = 'Link til detajle side'; $lang['js']['mediadirect'] = 'Direkte link til originalen'; $lang['js']['medianolnk'] = 'Intet link'; -$lang['js']['medianolink'] = 'Link ikke billedet'; +$lang['js']['medianolink'] = 'Link ikke til billedet'; $lang['js']['medialeft'] = 'Juster billedet til venstre'; $lang['js']['mediaright'] = 'Juster billedet til højre'; $lang['js']['mediacenter'] = 'Centreret'; $lang['js']['medianoalign'] = 'Brug ingen justering'; $lang['js']['nosmblinks'] = 'Henvisninger til Windows shares virker kun i Microsoft Internet Explorer. Du kan stadig kopiere og indsætte linket.'; -$lang['js']['linkwiz'] = 'guiden til henvisninger'; -$lang['js']['linkto'] = 'Henvise til:'; +$lang['js']['linkwiz'] = 'Guiden til henvisninger'; +$lang['js']['linkto'] = 'Henvis til:'; $lang['js']['del_confirm'] = 'Slet valgte post(er)?'; -$lang['js']['restore_confirm'] = 'Vil du virkeligt genskabe denne version?'; +$lang['js']['restore_confirm'] = 'Er du sikker pÃ¥ at du vil genskabe denne version?'; $lang['js']['media_diff'] = 'Vis forskelle:'; $lang['js']['media_diff_both'] = 'Side ved Side'; -$lang['js']['media_diff_opacity'] = 'Skin-igennem'; +$lang['js']['media_diff_opacity'] = 'Skin igennem'; $lang['js']['media_diff_portions'] = 'Skub'; $lang['js']['media_select'] = 'Vælg filer...'; -$lang['js']['media_upload_btn'] = 'Upload'; +$lang['js']['media_upload_btn'] = 'Overfør'; $lang['js']['media_done_btn'] = 'Færdig'; -$lang['js']['media_drop'] = 'Drop filer her for at uploade'; +$lang['js']['media_drop'] = 'Træk filer hertil for at overføre'; $lang['js']['media_cancel'] = 'fjern'; $lang['js']['media_overwrt'] = 'Overskriv eksisterende filer'; -$lang['rssfailed'] = 'Der opstod en fejl ved indhentning af: '; +$lang['rssfailed'] = 'Der opstod en fejl ved hentning af dette feed: '; $lang['nothingfound'] = 'Søgningen gav intet resultat.'; $lang['mediaselect'] = 'Vælg mediefil'; -$lang['fileupload'] = 'Overføre mediefil'; -$lang['uploadsucc'] = 'Overførelse var en succes'; -$lang['uploadfail'] = 'Overførelse fejlede. Der er muligvis problemer med rettighederne.'; -$lang['uploadwrong'] = 'Overførelse afvist. Filtypen er ikke tilladt.'; +$lang['uploadsucc'] = 'Overførels blev fuldført'; +$lang['uploadfail'] = 'Overførslen fejlede. Der er muligvis problemer med rettighederne.'; +$lang['uploadwrong'] = 'Overførslen blev afvist. Filtypen er ikke tilladt.'; $lang['uploadexist'] = 'Filen eksisterer allerede.'; -$lang['uploadbadcontent'] = 'Overføret indhold tilsvaret ikke til %s fil-endelsen.'; +$lang['uploadbadcontent'] = 'Det overført indhold svarer ikke til %s fil-endelsen.'; $lang['uploadspam'] = 'Overførelsen blev blokeret af spam sortlisten.'; $lang['uploadxss'] = 'Overførelsen blev blokeret pÃ¥ grund af mulig skadeligt indhold.'; -$lang['uploadsize'] = 'Den overføret fil var for stor (max. %s)'; +$lang['uploadsize'] = 'Den overførte fil var for stor (maksimal størrelse %s)'; $lang['deletesucc'] = 'Filen "%s" er blevet slettet.'; -$lang['deletefail'] = '"%s" kunne ikke slettes - check rettighederne.'; -$lang['mediainuse'] = 'Filen "%s" er ikke slettet - den er stadig i brug.'; +$lang['deletefail'] = '"%s" kunne ikke slettes - kontroller rettighederne.'; +$lang['mediainuse'] = 'Filen "%s" kan ikke slettes - den er stadig i brug.'; $lang['namespaces'] = 'Navnerum'; $lang['mediafiles'] = 'Tilgængelige filer i'; -$lang['accessdenied'] = 'Du har ikke tilladelse til at se denne side'; +$lang['accessdenied'] = 'Du har ikke tilladelse til at se denne side.'; $lang['mediausage'] = 'Brug den følgende syntaks til at henvise til denne fil:'; $lang['mediaview'] = 'Vis oprindelig fil'; $lang['mediaroot'] = 'rod'; $lang['mediaupload'] = 'Overføre en fil til det nuværende navnerum her. For at oprette under-navnerum, tilføj dem til "Overføre som" filnavnet, adskilt af kolontegn.'; -$lang['mediaextchange'] = 'Filudvidelse ændret fra .%s til .%s!'; +$lang['mediaextchange'] = 'Filtype ændret fra .%s til .%s!'; $lang['reference'] = 'Henvisning til'; $lang['ref_inuse'] = 'Filen kan ikke slettes, da den stadig er i brug pÃ¥ følgende sider:'; -$lang['ref_hidden'] = 'Nogle henvisninger er i dokumenter du ikke har læserettigheder til'; +$lang['ref_hidden'] = 'Nogle henvisninger er pÃ¥ sider du ikke har læserettigheder til'; $lang['hits'] = 'Besøg'; -$lang['quickhits'] = 'Tilsvarende dokumentnavne'; +$lang['quickhits'] = 'Tilsvarende sidenavne'; $lang['toc'] = 'Indholdsfortegnelse'; $lang['current'] = 'nuværende'; $lang['yours'] = 'Din version'; @@ -195,7 +194,7 @@ $lang['diff2'] = 'Vis forskelle i forhold til de valgte revision $lang['difflink'] = 'Link til denne sammenlinings vising'; $lang['diff_type'] = 'Vis forskelle:'; $lang['diff_inline'] = 'Indeni'; -$lang['diff_side'] = 'Side ved Side'; +$lang['diff_side'] = 'Side ved side'; $lang['diffprevrev'] = 'Forrige revision'; $lang['diffnextrev'] = 'Næste revision'; $lang['difflastrev'] = 'Sidste revision'; @@ -208,26 +207,26 @@ $lang['lastmod'] = 'Sidst ændret:'; $lang['by'] = 'af'; $lang['deleted'] = 'slettet'; $lang['created'] = 'oprettet'; -$lang['restored'] = 'gammel udgave reetableret (%s)'; +$lang['restored'] = 'gammel udgave gendannet (%s)'; $lang['external_edit'] = 'ekstern redigering'; -$lang['summary'] = 'Redigerings resumé'; -$lang['noflash'] = 'Den <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> er nødvendig til at vise denne indehold.'; -$lang['download'] = 'Hente kodestykke'; +$lang['summary'] = 'Resumé af ændrigner'; +$lang['noflash'] = 'Du skal installere <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Player</a> for at kunne se dette indhold.'; +$lang['download'] = 'Hent kodestykke'; $lang['tools'] = 'Værktøjer'; $lang['user_tools'] = 'Brugerværktøjer'; $lang['site_tools'] = 'Webstedsværktøjer'; $lang['page_tools'] = 'Sideværktøjer'; $lang['skip_to_content'] = 'hop til indhold'; $lang['sidebar'] = 'Sidebjælke'; -$lang['mail_newpage'] = 'dokument tilføjet:'; -$lang['mail_changed'] = 'dokument ændret:'; -$lang['mail_subscribe_list'] = 'sider ændret i navnerum'; +$lang['mail_newpage'] = 'side tilføjet:'; +$lang['mail_changed'] = 'side ændret:'; +$lang['mail_subscribe_list'] = 'sider ændret i navnerum:'; $lang['mail_new_user'] = 'Ny bruger'; -$lang['mail_upload'] = 'fil overføret:'; +$lang['mail_upload'] = 'fil overført:'; $lang['changes_type'] = 'Vis ændringer af'; $lang['pages_changes'] = 'Sider'; -$lang['media_changes'] = 'Media filer'; -$lang['both_changes'] = 'BÃ¥de sider og media filer'; +$lang['media_changes'] = 'Mediefiler'; +$lang['both_changes'] = 'BÃ¥de sider og medie filer'; $lang['qb_bold'] = 'Fed'; $lang['qb_italic'] = 'Kursiv'; $lang['qb_underl'] = 'Understregning'; @@ -239,7 +238,7 @@ $lang['qb_h3'] = 'Niveau 3 overskrift'; $lang['qb_h4'] = 'Niveau 4 overskrift'; $lang['qb_h5'] = 'Niveau 5 overskrift'; $lang['qb_h'] = 'Overskrift'; -$lang['qb_hs'] = 'Vælg overskriften'; +$lang['qb_hs'] = 'Vælg overskrift'; $lang['qb_hplus'] = 'Højere overskriftsniveau'; $lang['qb_hminus'] = 'Lavere overskriftsniveau'; $lang['qb_hequal'] = 'Samme overskriftsniveau'; @@ -247,15 +246,14 @@ $lang['qb_link'] = 'Intern henvisning'; $lang['qb_extlink'] = 'Ekstern henvisning'; $lang['qb_hr'] = 'Vandret linje'; $lang['qb_ol'] = 'Nummereret liste'; -$lang['qb_ul'] = 'Unummereret liste'; +$lang['qb_ul'] = 'Punktopstilling'; $lang['qb_media'] = 'Tilføj billeder og andre filer'; $lang['qb_sig'] = 'Indsæt signatur'; $lang['qb_smileys'] = 'Smileys'; $lang['qb_chars'] = 'Specialtegn'; $lang['upperns'] = 'GÃ¥ til overordnet navnerum'; -$lang['admin_register'] = 'Tilføj ny bruger'; $lang['metaedit'] = 'Rediger metadata'; -$lang['metasaveerr'] = 'Skrivning af metadata fejlede'; +$lang['metasaveerr'] = 'Fejl under skrivning af metadata'; $lang['metasaveok'] = 'Metadata gemt'; $lang['img_title'] = 'Titel:'; $lang['img_caption'] = 'Billedtekst:'; @@ -286,7 +284,6 @@ $lang['subscr_style_every'] = 'email pÃ¥ hver ændring'; $lang['subscr_style_digest'] = 'opsummeringsmail med ændringer for hver side (hver %.2f dage)'; $lang['subscr_style_list'] = 'list af ændrede sider siden sidste email (hver %.2f dage)'; $lang['authtempfail'] = 'Brugervalidering er midlertidigt ude af drift. Hvis dette er vedvarende, kontakt venligst wikiens administrator.'; -$lang['authpwdexpire'] = 'Din adgangskode vil udløbe om %d dage, du bør ændre det snart.'; $lang['i_chooselang'] = 'Vælg dit sprog'; $lang['i_installer'] = 'DokuWiki Installer'; $lang['i_wikiname'] = 'Wiki Navn'; diff --git a/inc/lang/de-informal/lang.php b/inc/lang/de-informal/lang.php index 1a1491f6bb1ea99860fcbc3918c428941a94bda1..42fb9a2656d30932fd3f5817852f218b607b05d2 100644 --- a/inc/lang/de-informal/lang.php +++ b/inc/lang/de-informal/lang.php @@ -22,6 +22,7 @@ * @author Frank Loizzi <contact@software.bacal.de> * @author Volker Bödker <volker@boedker.de> * @author Janosch <janosch@moinzen.de> + * @author rnck <dokuwiki@rnck.de> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -53,7 +54,6 @@ $lang['btn_update'] = 'Updaten'; $lang['btn_delete'] = 'Löschen'; $lang['btn_back'] = 'Zurück'; $lang['btn_backlink'] = 'Links hierher'; -$lang['btn_backtomedia'] = 'Zurück zur Dateiauswahl'; $lang['btn_subscribe'] = 'Aboverwaltung'; $lang['btn_profile'] = 'Benutzerprofil'; $lang['btn_reset'] = 'Zurücksetzen'; @@ -66,6 +66,8 @@ $lang['btn_register'] = 'Registrieren'; $lang['btn_apply'] = 'Ãœbernehmen'; $lang['btn_media'] = 'Medien-Manager'; $lang['btn_deleteuser'] = 'Benutzerprofil löschen'; +$lang['btn_img_backto'] = 'Zurück zu %s'; +$lang['btn_mediaManager'] = 'Im Medien-Manager anzeigen'; $lang['loggedinas'] = 'Angemeldet als:'; $lang['user'] = 'Benutzername'; $lang['pass'] = 'Passwort'; @@ -81,11 +83,12 @@ $lang['badpassconfirm'] = 'Das Passwort war falsch.'; $lang['minoredit'] = 'Kleine Änderung'; $lang['draftdate'] = 'Entwurf gespeichert am'; $lang['nosecedit'] = 'Diese Seite wurde in der Zwischenzeit geändert, da das Sektionsinfo veraltet ist. Die ganze Seite wird stattdessen geladen.'; -$lang['searchcreatepage'] = "Falls der gesuchte Begriff nicht gefunden wurde, kannst du direkt eine neue Seite für den Suchbegriff anlegen, indem du auf den Knopf **''[Seite anlegen]''** drückst."; +$lang['searchcreatepage'] = 'Falls der gesuchte Begriff nicht gefunden wurde, kannst du direkt eine neue Seite für den Suchbegriff anlegen, indem du auf den Knopf **\'\'[Seite anlegen]\'\'** drückst.'; $lang['regmissing'] = 'Alle Felder müssen ausgefüllt werden'; $lang['reguexists'] = 'Der Benutzername existiert leider schon.'; $lang['regsuccess'] = 'Der neue Benutzer wurde angelegt und das Passwort per E-Mail versandt.'; $lang['regsuccess2'] = 'Der neue Benutzer wurde angelegt.'; +$lang['regfail'] = 'Der Benutzer konnte nicht erstellt werden.'; $lang['regmailfail'] = 'Offenbar ist ein Fehler beim Versenden der Passwortmail aufgetreten. Bitte wende dich an den Wiki-Admin.'; $lang['regbadmail'] = 'Die angegebene Mail-Adresse scheint ungültig zu sein. Falls dies ein Fehler ist, wende dich bitte an den Wiki-Admin.'; $lang['regbadpass'] = 'Die beiden eingegeben Passwörter stimmen nicht überein. Bitte versuche es noch einmal.'; @@ -100,6 +103,7 @@ $lang['profdeleteuser'] = 'Benutzerprofil löschen'; $lang['profdeleted'] = 'Dein Benutzerprofil wurde im Wiki gelöscht.'; $lang['profconfdelete'] = 'Ich möchte mein Benutzerprofil löschen.<br/> Diese Aktion ist nicht umkehrbar.'; $lang['profconfdeletemissing'] = 'Bestätigungs-Checkbox wurde nicht angehakt.'; +$lang['proffail'] = 'Das Benutzerprofil wurde nicht aktualisiert.'; $lang['pwdforget'] = 'Passwort vergessen? Fordere ein neues an'; $lang['resendna'] = 'Passwörter versenden ist in diesem Wiki nicht möglich.'; $lang['resendpwd'] = 'Neues Passwort setzen für'; @@ -162,7 +166,6 @@ $lang['js']['media_overwrt'] = 'Existierende Dateien überschreiben'; $lang['rssfailed'] = 'Es ist ein Fehler beim Laden des Feeds aufgetreten: '; $lang['nothingfound'] = 'Nichts gefunden.'; $lang['mediaselect'] = 'Dateiauswahl'; -$lang['fileupload'] = 'Datei hochladen'; $lang['uploadsucc'] = 'Datei wurde erfolgreich hochgeladen'; $lang['uploadfail'] = 'Hochladen fehlgeschlagen. Keine Berechtigung?'; $lang['uploadwrong'] = 'Hochladen verweigert. Diese Dateiendung ist nicht erlaubt.'; @@ -196,6 +199,11 @@ $lang['difflink'] = 'Link zu der Vergleichsansicht'; $lang['diff_type'] = 'Unterschiede anzeigen:'; $lang['diff_inline'] = 'Inline'; $lang['diff_side'] = 'Side by Side'; +$lang['diffprevrev'] = 'Vorherige Ãœberarbeitung'; +$lang['diffnextrev'] = 'Nächste Ãœberarbeitung'; +$lang['difflastrev'] = 'Letzte Ãœberarbeitung'; +$lang['diffbothprevrev'] = 'Beide Seiten, vorherige Ãœberarbeitung'; +$lang['diffbothnextrev'] = 'Beide Seiten, nächste Ãœberarbeitung'; $lang['line'] = 'Zeile'; $lang['breadcrumb'] = 'Zuletzt angesehen:'; $lang['youarehere'] = 'Du befindest dich hier:'; @@ -248,11 +256,9 @@ $lang['qb_sig'] = 'Unterschrift einfügen'; $lang['qb_smileys'] = 'Smileys'; $lang['qb_chars'] = 'Sonderzeichen'; $lang['upperns'] = 'Gehe zum übergeordneten Namensraum'; -$lang['admin_register'] = 'Neuen Benutzer anmelden'; $lang['metaedit'] = 'Metadaten bearbeiten'; $lang['metasaveerr'] = 'Die Metadaten konnten nicht gesichert werden'; $lang['metasaveok'] = 'Metadaten gesichert'; -$lang['btn_img_backto'] = 'Zurück zu %s'; $lang['img_title'] = 'Titel:'; $lang['img_caption'] = 'Bildunterschrift:'; $lang['img_date'] = 'Datum:'; @@ -265,7 +271,6 @@ $lang['img_camera'] = 'Kamera:'; $lang['img_keywords'] = 'Schlagwörter:'; $lang['img_width'] = 'Breite:'; $lang['img_height'] = 'Höhe:'; -$lang['btn_mediaManager'] = 'Im Medien-Manager anzeigen'; $lang['subscr_subscribe_success'] = 'Die Seite %s wurde zur Abonnementliste von %s hinzugefügt'; $lang['subscr_subscribe_error'] = 'Fehler beim Hinzufügen von %s zur Abonnementliste von %s'; $lang['subscr_subscribe_noaddress'] = 'In deinem Account ist keine E-Mail-Adresse hinterlegt. Dadurch kann die Seite nicht abonniert werden'; @@ -283,7 +288,6 @@ $lang['subscr_style_every'] = 'E-Mail bei jeder Änderung'; $lang['subscr_style_digest'] = 'E-Mail mit zusammengefasster Ãœbersicht der Seitenänderungen (alle %.2f Tage)'; $lang['subscr_style_list'] = 'Auflistung aller geänderten Seiten seit der letzten E-Mail (alle %.2f Tage)'; $lang['authtempfail'] = 'Benutzerüberprüfung momentan nicht möglich. Falls das Problem andauert, wende dich an den Admin.'; -$lang['authpwdexpire'] = 'Dein Passwort läuft in %d Tag(en) ab. Du solltest es es frühzeitig ändern.'; $lang['i_chooselang'] = 'Wähle deine Sprache'; $lang['i_installer'] = 'DokuWiki-Installation'; $lang['i_wikiname'] = 'Wiki-Name'; @@ -293,6 +297,7 @@ $lang['i_problems'] = 'Das Installationsprogramm hat unten aufgeführ $lang['i_modified'] = 'Aus Sicherheitsgründen arbeitet dieses Skript nur mit einer neuen bzw. nicht modifizierten DokuWiki-Installation. Du solltest entweder alle Dateien noch einmal frisch installieren oder die <a href="http://dokuwiki.org/install">Dokuwiki-Installationsanleitung</a> konsultieren.'; $lang['i_funcna'] = 'Die PHP-Funktion <code>%s</code> ist nicht verfügbar. Unter Umständen wurde sie von deinem Hoster deaktiviert?'; $lang['i_phpver'] = 'Deine PHP-Version <code>%s</code> ist niedriger als die benötigte Version <code>%s</code>. Bitte aktualisiere deine PHP-Installation.'; +$lang['i_mbfuncoverload'] = 'mbstring.func_overload muss in php.in deaktiviert werden um DokuWiki auszuführen.'; $lang['i_permfail'] = '<code>%s</code> ist nicht durch DokuWiki beschreibbar. Du musst die Berechtigungen dieses Ordners ändern!'; $lang['i_confexists'] = '<code>%s</code> existiert bereits'; $lang['i_writeerr'] = '<code>%s</code> konnte nicht erzeugt werden. Du solltest die Verzeichnis-/Datei-Rechte überprüfen und die Datei manuell anlegen.'; @@ -342,5 +347,9 @@ $lang['media_perm_read'] = 'Du besitzt nicht die notwendigen Berechtigunge $lang['media_perm_upload'] = 'Du besitzt nicht die notwendigen Berechtigungen um Dateien hochzuladen.'; $lang['media_update'] = 'Neue Version hochladen'; $lang['media_restore'] = 'Diese Version wiederherstellen'; +$lang['media_acl_warning'] = 'Diese Liste ist möglicherweise nicht vollständig. Versteckte und durch ACL gesperrte Seiten werden nicht angezeigt.'; $lang['currentns'] = 'Aktueller Namensraum'; $lang['searchresult'] = 'Suchergebnis'; +$lang['plainhtml'] = 'Reines HTML'; +$lang['wikimarkup'] = 'Wiki Markup'; +$lang['page_nonexist_rev'] = 'Seite existierte nicht an der Stelle %s. Sie wurde an folgende Stelle erstellt: <a href="%s">%s</a>.'; diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php index 2725c247a3988a60a0dac5f3f12ce680bb50316e..c452042b6335aed796b1be0fd38a878005a40af9 100644 --- a/inc/lang/de/lang.php +++ b/inc/lang/de/lang.php @@ -28,6 +28,7 @@ * @author Hoisl <hoisl@gmx.at> * @author Marcel Eickhoff <eickhoff.marcel@gmail.com> * @author Pascal Schröder <Pascal1802@gmail.com> + * @author Hendrik Diel <diel.hendrik@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -59,7 +60,6 @@ $lang['btn_update'] = 'Updaten'; $lang['btn_delete'] = 'Löschen'; $lang['btn_back'] = 'Zurück'; $lang['btn_backlink'] = 'Links hierher'; -$lang['btn_backtomedia'] = 'Zurück zur Dateiauswahl'; $lang['btn_subscribe'] = 'Aboverwaltung'; $lang['btn_profile'] = 'Benutzerprofil'; $lang['btn_reset'] = 'Zurücksetzen'; @@ -94,6 +94,7 @@ $lang['regmissing'] = 'Alle Felder müssen ausgefüllt werden.'; $lang['reguexists'] = 'Der Benutzername existiert leider schon.'; $lang['regsuccess'] = 'Der neue Benutzer wurde angelegt und das Passwort per E-Mail versandt.'; $lang['regsuccess2'] = 'Der neue Benutzer wurde angelegt.'; +$lang['regfail'] = 'Der Benutzer konnte nicht angelegt werden.'; $lang['regmailfail'] = 'Offenbar ist ein Fehler beim Versenden der Passwort-E-Mail aufgetreten. Bitte wenden Sie sich an den Wiki-Admin.'; $lang['regbadmail'] = 'Die angegebene E-Mail-Adresse scheint ungültig zu sein. Falls dies ein Fehler ist, wenden Sie sich bitte an den Wiki-Admin.'; $lang['regbadpass'] = 'Die beiden eingegeben Passwörter stimmen nicht überein. Bitte versuchen Sie es noch einmal.'; @@ -108,6 +109,7 @@ $lang['profdeleteuser'] = 'Benutzerprofil löschen'; $lang['profdeleted'] = 'Ihr Benutzerprofil wurde im Wiki gelöscht.'; $lang['profconfdelete'] = 'Ich möchte mein Benutzerprofil löschen.<br/> Diese Aktion ist nicht umkehrbar.'; $lang['profconfdeletemissing'] = 'Bestätigungs-Checkbox wurde nicht angehakt.'; +$lang['proffail'] = 'Das Benutzerkonto konnte nicht aktualisiert werden.'; $lang['pwdforget'] = 'Passwort vergessen? Fordere ein neues an'; $lang['resendna'] = 'Passwörter versenden ist in diesem Wiki nicht möglich.'; $lang['resendpwd'] = 'Neues Passwort setzen für'; @@ -170,7 +172,6 @@ $lang['js']['media_overwrt'] = 'Existierende Dateien überschreiben'; $lang['rssfailed'] = 'Es ist ein Fehler beim Laden des Feeds aufgetreten: '; $lang['nothingfound'] = 'Nichts gefunden.'; $lang['mediaselect'] = 'Dateiauswahl'; -$lang['fileupload'] = 'Datei hochladen'; $lang['uploadsucc'] = 'Datei wurde erfolgreich hochgeladen'; $lang['uploadfail'] = 'Hochladen fehlgeschlagen. Keine Berechtigung?'; $lang['uploadwrong'] = 'Hochladen verweigert. Diese Dateiendung ist nicht erlaubt.'; @@ -261,7 +262,6 @@ $lang['qb_sig'] = 'Unterschrift einfügen'; $lang['qb_smileys'] = 'Smileys'; $lang['qb_chars'] = 'Sonderzeichen'; $lang['upperns'] = 'zum übergeordneten Namensraum springen'; -$lang['admin_register'] = 'Neuen Benutzer anmelden'; $lang['metaedit'] = 'Metadaten bearbeiten'; $lang['metasaveerr'] = 'Die Metadaten konnten nicht gesichert werden'; $lang['metasaveok'] = 'Metadaten gesichert'; @@ -294,7 +294,6 @@ $lang['subscr_style_every'] = 'E-Mail bei jeder Bearbeitung'; $lang['subscr_style_digest'] = 'Zusammenfassung der Änderungen für jede veränderte Seite (Alle %.2f Tage)'; $lang['subscr_style_list'] = 'Liste der geänderten Seiten (Alle %.2f Tage)'; $lang['authtempfail'] = 'Benutzerüberprüfung momentan nicht möglich. Falls das Problem andauert, wenden Sie sich an den Admin.'; -$lang['authpwdexpire'] = 'Ihr Passwort läuft in %d Tag(en) ab. Sie sollten es frühzeitig ändern.'; $lang['i_chooselang'] = 'Wählen Sie Ihre Sprache'; $lang['i_installer'] = 'DokuWiki Installation'; $lang['i_wikiname'] = 'Wiki-Name'; @@ -354,9 +353,10 @@ $lang['media_perm_read'] = 'Sie besitzen nicht die notwendigen Berechtigun $lang['media_perm_upload'] = 'Sie besitzen nicht die notwendigen Berechtigungen um Dateien hochzuladen.'; $lang['media_update'] = 'Neue Version hochladen'; $lang['media_restore'] = 'Diese Version wiederherstellen'; +$lang['media_acl_warning'] = 'Diese Liste ist möglicherweise nicht vollständig. Versteckte und durch ACL gesperrte Seiten werden nicht angezeigt.'; $lang['currentns'] = 'Aktueller Namensraum'; $lang['searchresult'] = 'Suchergebnisse'; $lang['plainhtml'] = 'HTML Klartext'; $lang['wikimarkup'] = 'Wiki Markup'; -$lang['page_nonexist_rev'] = 'DIe Seite exitiert nicht unter %s. Sie wurde aber unter <a herf="%s">%s</a>'; +$lang['page_nonexist_rev'] = 'Die Seite exitiert nicht unter %s. Sie wurde aber unter <a href="%s">%s</a>'; $lang['unable_to_parse_date'] = 'Parameter "%s" kann nicht geparsed werden.'; diff --git a/inc/lang/de/subscr_list.txt b/inc/lang/de/subscr_list.txt index 98ec4c2ab4de8a7f83c93fbbe0168ff75ae73fd4..f4318df707eda02544ffb0f62ff6403301e6c3f2 100644 --- a/inc/lang/de/subscr_list.txt +++ b/inc/lang/de/subscr_list.txt @@ -7,7 +7,7 @@ Das sind die geänderten Seiten: @DIFF@ -------------------------------------------------------- -Um das Abonnement für diese Seite aufzulösen, melde Sie sich im Wiki an +Um das Abonnement für diese Seite aufzulösen, melden Sie sich im Wiki an @DOKUWIKIURL@, besuchen dann @SUBSCRIBE@ und klicken auf die Taste 'Änderungen abbestellen'. diff --git a/inc/lang/el/jquery.ui.datepicker.js b/inc/lang/el/jquery.ui.datepicker.js index a852a77d7388ed7a73e77dd0d46403292fa603c5..362e248f8e4688279f8774d7fad9c968b589ca32 100644 --- a/inc/lang/el/jquery.ui.datepicker.js +++ b/inc/lang/el/jquery.ui.datepicker.js @@ -16,7 +16,7 @@ datepicker.regional['el'] = { closeText: 'Κλείσιμο', prevText: 'Î ÏοηγοÏμενος', nextText: 'Επόμενος', - currentText: 'ΤÏÎχων Μήνας', + currentText: 'ΣήμεÏα', monthNames: ['ΙανουάÏιος','ΦεβÏουάÏιος','ΜάÏτιος','ΑπÏίλιος','Μάιος','ΙοÏνιος', 'ΙοÏλιος','ΑÏγουστος','ΣεπτÎμβÏιος','ΟκτώβÏιος','ÎοÎμβÏιος','ΔεκÎμβÏιος'], monthNamesShort: ['Ιαν','Φεβ','ΜαÏ','ΑπÏ','Μαι','Ιουν', diff --git a/inc/lang/el/lang.php b/inc/lang/el/lang.php index e5371c9f3c7fb93ba45a5e92fb1285f67d8c754a..0e62dd37b8f88abec1bc907891596ec0682a15bb 100644 --- a/inc/lang/el/lang.php +++ b/inc/lang/el/lang.php @@ -2,7 +2,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Thanos Massias <tm@thriasio.gr> * @author Αθανάσιος Îταής <homunculus@wana.gr> * @author Konstantinos Koryllos <koryllos@gmail.com> @@ -43,7 +43,6 @@ $lang['btn_update'] = 'ΕνημÎÏωση'; $lang['btn_delete'] = 'Σβήσιμο'; $lang['btn_back'] = 'Πίσω'; $lang['btn_backlink'] = 'ΣÏνδεσμοι Ï€Ïος αυτή τη σελίδα'; -$lang['btn_backtomedia'] = 'ΕπιστÏοφή στην επιλογή αÏχείων'; $lang['btn_subscribe'] = 'ΕγγÏαφή σε λήψη ενημεÏώσεων σελίδας'; $lang['btn_profile'] = 'ΕπεξεÏγασία Ï€Ïοφίλ'; $lang['btn_reset'] = 'ΑκÏÏωση'; @@ -152,7 +151,6 @@ $lang['js']['media_overwrt'] = 'Αντικατάσταση υπάÏχοντω $lang['rssfailed'] = 'ΠαÏουσιάστηκε κάποιο σφάλμα κατά την ανάγνωση Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… feed: '; $lang['nothingfound'] = 'Δεν βÏÎθηκαν σχετικά αποτελÎσματα.'; $lang['mediaselect'] = 'Επιλογή ΑÏχείων'; -$lang['fileupload'] = 'ΦόÏτωση αÏχείου'; $lang['uploadsucc'] = 'Επιτυχής φόÏτωση'; $lang['uploadfail'] = 'Η μεταφόÏτωση απÎτυχε. Πιθανόν αυτό να οφείλεται στις Ïυθμίσεις Ï€Ïόσβασης του αÏχείου.'; $lang['uploadwrong'] = 'Η μεταφόÏτωση δεν Îγινε δεκτή. Δεν επιτÏÎπονται αÏχεία Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… Ï„Ïπου!'; @@ -237,7 +235,6 @@ $lang['qb_sig'] = 'Î Ïοσθήκη ΥπογÏαφής'; $lang['qb_smileys'] = 'Smileys'; $lang['qb_chars'] = 'Ειδικοί ΧαÏακτήÏες'; $lang['upperns'] = 'πήγαινε στον μητÏικό φάκελο'; -$lang['admin_register'] = 'Î Ïοσθήκη νÎου χÏήστη'; $lang['metaedit'] = 'ΤÏοποποίηση metadata'; $lang['metasaveerr'] = 'Η αποθήκευση των metadata απÎτυχε'; $lang['metasaveok'] = 'Επιτυχής αποθήκευση metadata'; @@ -272,7 +269,6 @@ $lang['subscr_style_every'] = 'email σε κάθε αλλαγή'; $lang['subscr_style_digest'] = 'συνοπτικό email αλλαγών της σελίδας (κάθε %.2f μÎÏες)'; $lang['subscr_style_list'] = 'λίστα σελίδων με αλλαγÎÏ‚ μετά από το τελευταίο email (κάθε %.2f μÎÏες)'; $lang['authtempfail'] = 'Η συνδεση χÏηστών είναι απενεÏγοποιημÎνη αυτή την στιγμή. Αν αυτό διαÏκÎσει για πολÏ, παÏακαλοÏμε ενημεÏώστε τον διαχειÏιστή του wiki.'; -$lang['authpwdexpire'] = 'Ο κωδικός Ï€Ïόσβασης θα λήξει σε %d ημÎÏες. Î Ïοτείνουμε να τον αλλάξετε σÏντομα.'; $lang['i_chooselang'] = 'Επιλογή γλώσσας'; $lang['i_installer'] = 'Οδηγός εγκατάστασης DokuWiki'; $lang['i_wikiname'] = 'Ονομασία wiki'; @@ -288,8 +284,8 @@ $lang['i_confexists'] = '<code>%s</code> υπάÏχει ήδη'; $lang['i_writeerr'] = 'Δεν είναι δυνατή η δημιουÏγία του <code>%s</code>. Î ÏÎπει να διοÏθώσετε τα δικαιώματα Ï€Ïόσβασης Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… φακÎλου/αÏχείου και να δημιουÏγήσετε το αÏχείο χειÏοκίνητα!'; $lang['i_badhash'] = 'Μη αναγνωÏίσιμο ή Ï„ÏοποποιημÎνο αÏχείο dokuwiki.php (hash=<code>%s</code>)'; $lang['i_badval'] = '<code>%s</code> - λάθος ή ανÏπαÏκτη τιμή'; -$lang['i_success'] = 'Η εγκατάσταση ολοκληÏώθηκε επιτυχώς. ΜποÏείτε πλÎον να διαγÏάψετε το αÏχείο install.php. Συνεχίστε στο <a href="doku.php">νÎο σας DokuWiki</a>.'; -$lang['i_failure'] = 'Εμφανίστηκαν κάποια Ï€Ïοβλήματα στη διαδικασία ανανÎωσης των αÏχείων Ïυθμίσεων. Πιθανόν να χÏειάζεται να τα Ï„Ïοποποιήσετε χειÏοκίνητα ώστε να μποÏείτε να χÏησιμοποιήσετε το <a href="doku.php">νÎο σας DokuWiki</a>.'; +$lang['i_success'] = 'Η εγκατάσταση ολοκληÏώθηκε επιτυχώς. ΜποÏείτε πλÎον να διαγÏάψετε το αÏχείο install.php. Συνεχίστε στο <a href="doku.php?id=wiki:welcome">νÎο σας DokuWiki</a>.'; +$lang['i_failure'] = 'Εμφανίστηκαν κάποια Ï€Ïοβλήματα στη διαδικασία ανανÎωσης των αÏχείων Ïυθμίσεων. Πιθανόν να χÏειάζεται να τα Ï„Ïοποποιήσετε χειÏοκίνητα ώστε να μποÏείτε να χÏησιμοποιήσετε το <a href="doku.php?id=wiki:welcome">νÎο σας DokuWiki</a>.'; $lang['i_policy'] = 'ΑÏχική πολιτική Λίστας Δικαιωμάτων Î Ïόσβασης - ACL'; $lang['i_pol0'] = 'Ανοιχτό Wiki (όλοι μποÏοÏν να διαβάσουν ή να δημιουÏγήσουν/Ï„Ïοποποιήσουν σελίδες και να μεταφοÏτώσουν αÏχεία)'; $lang['i_pol1'] = 'Δημόσιο Wiki (όλοι μποÏοÏν να διαβάσουν σελίδες αλλά μόνο οι εγγεγÏαμμÎνοι χÏήστες μποÏοÏν να δημιουÏγήσουν/Ï„Ïοποποιήσουν σελίδες και να μεταφοÏτώσουν αÏχεία)'; diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index fb455f85fc643779e2f8e0236df3096a092ab48a..9812ab6f58296c4bfae477e1e01fbc127881bc93 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -27,19 +27,18 @@ $lang['btn_top'] = 'Back to top'; $lang['btn_newer'] = '<< more recent'; $lang['btn_older'] = 'less recent >>'; $lang['btn_revs'] = 'Old revisions'; -$lang['btn_recent'] = 'Recent changes'; +$lang['btn_recent'] = 'Recent Changes'; $lang['btn_upload'] = 'Upload'; $lang['btn_cancel'] = 'Cancel'; $lang['btn_index'] = 'Sitemap'; $lang['btn_secedit'] = 'Edit'; -$lang['btn_login'] = 'Login'; -$lang['btn_logout'] = 'Logout'; +$lang['btn_login'] = 'Log In'; +$lang['btn_logout'] = 'Log Out'; $lang['btn_admin'] = 'Admin'; $lang['btn_update'] = 'Update'; $lang['btn_delete'] = 'Delete'; $lang['btn_back'] = 'Back'; $lang['btn_backlink'] = 'Backlinks'; -$lang['btn_backtomedia'] = 'Back to Mediafile Selection'; $lang['btn_subscribe'] = 'Manage Subscriptions'; $lang['btn_profile'] = 'Update Profile'; $lang['btn_reset'] = 'Reset'; @@ -76,6 +75,7 @@ $lang['regmissing'] = 'Sorry, you must fill in all fields.'; $lang['reguexists'] = 'Sorry, a user with this login already exists.'; $lang['regsuccess'] = 'The user has been created and the password was sent by email.'; $lang['regsuccess2'] = 'The user has been created.'; +$lang['regfail'] = 'The user could not be created.'; $lang['regmailfail'] = 'Looks like there was an error on sending the password mail. Please contact the admin!'; $lang['regbadmail'] = 'The given email address looks invalid - if you think this is an error, contact the admin'; $lang['regbadpass'] = 'The two given passwords are not identical, please try again.'; @@ -91,6 +91,7 @@ $lang['profdeleteuser'] = 'Delete Account'; $lang['profdeleted'] = 'Your user account has been deleted from this wiki'; $lang['profconfdelete'] = 'I wish to remove my account from this wiki. <br/> This action can not be undone.'; $lang['profconfdeletemissing'] = 'Confirmation check box not ticked'; +$lang['proffail'] = 'User profile was not updated.'; $lang['pwdforget'] = 'Forgotten your password? Get a new one'; $lang['resendna'] = 'This wiki does not support password resending.'; @@ -159,7 +160,6 @@ $lang['rssfailed'] = 'An error occurred while fetching this feed: '; $lang['nothingfound'] = 'Nothing was found.'; $lang['mediaselect'] = 'Media Files'; -$lang['fileupload'] = 'Media File Upload'; $lang['uploadsucc'] = 'Upload successful'; $lang['uploadfail'] = 'Upload failed. Maybe wrong permissions?'; $lang['uploadwrong'] = 'Upload denied. This file extension is forbidden!'; @@ -256,8 +256,6 @@ $lang['qb_chars'] = 'Special Chars'; $lang['upperns'] = 'jump to parent namespace'; -$lang['admin_register'] = 'Add new user'; - $lang['metaedit'] = 'Edit Metadata'; $lang['metasaveerr'] = 'Writing metadata failed'; $lang['metasaveok'] = 'Metadata saved'; @@ -294,7 +292,6 @@ $lang['subscr_style_list'] = 'list of changed pages since last email (e /* auth.class language support */ $lang['authtempfail'] = 'User authentication is temporarily unavailable. If this situation persists, please inform your Wiki Admin.'; -$lang['authpwdexpire'] = 'Your password will expire in %d days, you should change it soon.'; /* installer strings */ $lang['i_chooselang'] = 'Choose your language'; @@ -363,6 +360,7 @@ $lang['media_perm_read'] = 'Sorry, you don\'t have enough rights to read f $lang['media_perm_upload'] = 'Sorry, you don\'t have enough rights to upload files.'; $lang['media_update'] = 'Upload new version'; $lang['media_restore'] = 'Restore this version'; +$lang['media_acl_warning'] = 'This list might not be complete due to ACL restrictions and hidden pages.'; $lang['currentns'] = 'Current namespace'; $lang['searchresult'] = 'Search Result'; diff --git a/inc/lang/eo/lang.php b/inc/lang/eo/lang.php index 0cb84a2de268bdb70e8f067240bcd38dc49f4376..3e0b910598e6a1adc07aeb621ce0c8541cd30e06 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> @@ -17,7 +17,7 @@ $lang['doublequoteopening'] = '“'; $lang['doublequoteclosing'] = 'â€'; $lang['singlequoteopening'] = '‘'; $lang['singlequoteclosing'] = '’'; -$lang['apostrophe'] = '\''; +$lang['apostrophe'] = '’'; $lang['btn_edit'] = 'Redakti la paÄon'; $lang['btn_source'] = 'Montri fontan tekston'; $lang['btn_show'] = 'Montri paÄon'; @@ -41,7 +41,6 @@ $lang['btn_update'] = 'Aktualigi'; $lang['btn_delete'] = 'Forigi'; $lang['btn_back'] = 'Retroiri'; $lang['btn_backlink'] = 'Retroligoj'; -$lang['btn_backtomedia'] = 'Retroiri al elekto de dosiero'; $lang['btn_subscribe'] = 'AliÄi al paÄaj modifoj'; $lang['btn_profile'] = 'Aktualigi profilon'; $lang['btn_reset'] = 'Rekomenci'; @@ -153,7 +152,6 @@ $lang['js']['media_overwrt'] = 'Anstataûi ekzistantajn dosierojn'; $lang['rssfailed'] = 'Okazis eraro dum ricevado de la novaĵ-fluo: '; $lang['nothingfound'] = 'AnkoraÅ nenio troviÄas tie ĉi.'; $lang['mediaselect'] = 'Elekto de aÅdvidaĵa dosiero'; -$lang['fileupload'] = 'AlÅuto de aÅdvidaĵa dosiero'; $lang['uploadsucc'] = 'AlÅuto sukcesis'; $lang['uploadfail'] = 'AlÅuto malsukcesis. Ĉu eble estas problemoj pro permes-atributoj?'; $lang['uploadwrong'] = 'Rifuzita alÅuto. Tiu ĉi dosiersufikso estas malpermesata!'; @@ -244,7 +242,6 @@ $lang['qb_sig'] = 'Inkluzivi subskribon'; $lang['qb_smileys'] = 'Ridetuloj'; $lang['qb_chars'] = 'Specialaj signaĵoj'; $lang['upperns'] = 'saltu al la parenca nomspaco'; -$lang['admin_register'] = 'Aldoni novan uzanton'; $lang['metaedit'] = 'Redakti metadatumaron'; $lang['metasaveerr'] = 'La konservo de metadatumaro malsukcesis'; $lang['metasaveok'] = 'La metadatumaro konserviÄis'; @@ -277,7 +274,6 @@ $lang['subscr_style_every'] = 'retpoÅtaĵo pro ĉiu ÅanÄo'; $lang['subscr_style_digest'] = 'resuma retpoÅtaĵo de ÅanÄoj por ĉiu paÄo (je %.2f tagoj)'; $lang['subscr_style_list'] = 'listo de ÅanÄitaj paÄoj ekde la lasta retpoÅtaĵo (je %.2f tagoj)'; $lang['authtempfail'] = 'La identigo de via uzantonomo estas intertempe maldisponebla. Se tiu ĉi situacio daÅros, bonvolu informi la adminstranton de la vikio.'; -$lang['authpwdexpire'] = 'Via pasvorto malvalidos post %d tagoj, prefere ÅanÄu Äin baldaÅ©.'; $lang['i_chooselang'] = 'Elektu vian lingvon'; $lang['i_installer'] = 'Instalilo de DokuWiki'; $lang['i_wikiname'] = 'Nomo de la vikio'; diff --git a/inc/lang/es/lang.php b/inc/lang/es/lang.php index 8f4cb2977640ed3f848a70b067602089bdc45244..97559bd98b4fe81a1c51c9f417ee69308afe5324 100644 --- a/inc/lang/es/lang.php +++ b/inc/lang/es/lang.php @@ -37,6 +37,12 @@ * @author Antonio Castilla <antoniocastilla@trazoide.com> * @author Jonathan Hernández <me@jhalicea.com> * @author pokesakura <pokesakura@gmail.com> + * @author Ãlvaro Iradier <airadier@gmail.com> + * @author Alejandro Nunez <nunez.alejandro@gmail.com> + * @author Mauricio Segura <maose38@yahoo.es> + * @author Domingo Redal <docxml@gmail.com> + * @author solohazlo <solohhazlo@gmail.com> + * @author Romano <romanocl@outlook.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -68,7 +74,6 @@ $lang['btn_update'] = 'Actualizar'; $lang['btn_delete'] = 'Borrar'; $lang['btn_back'] = 'Atrás'; $lang['btn_backlink'] = 'Enlaces a esta página'; -$lang['btn_backtomedia'] = 'Volver a la selección de archivos multimedia'; $lang['btn_subscribe'] = 'Suscribirse a cambios de la página'; $lang['btn_profile'] = 'Actualizar perfil'; $lang['btn_reset'] = 'Restablecer'; @@ -98,11 +103,12 @@ $lang['badpassconfirm'] = 'Lo siento, la contraseña es errónea'; $lang['minoredit'] = 'Cambios menores'; $lang['draftdate'] = 'Borrador guardado automáticamente:'; $lang['nosecedit'] = 'La página ha cambiado en el lapso, la información de sección estaba anticuada, en su lugar se cargó la página completa.'; -$lang['searchcreatepage'] = "Si no has encontrado lo que buscabas, puedes crear una nueva página con tu consulta utilizando el botón ''Crea esta página''."; +$lang['searchcreatepage'] = 'Si no has encontrado lo que buscabas, puedes crear una nueva página con tu consulta utilizando el botón \'\'Crea esta página\'\'.'; $lang['regmissing'] = 'Lo siento, tienes que completar todos los campos.'; $lang['reguexists'] = 'Lo siento, ya existe un usuario con este nombre.'; $lang['regsuccess'] = 'El usuario ha sido creado y la contraseña se ha enviado por correo.'; $lang['regsuccess2'] = 'El usuario ha sido creado.'; +$lang['regfail'] = 'No se pudo crear el usuario.'; $lang['regmailfail'] = 'Parece que ha habido un error al enviar el correo con la contraseña. ¡Por favor, contacta al administrador!'; $lang['regbadmail'] = 'La dirección de correo no parece válida. Si piensas que esto es un error, contacta al administrador'; $lang['regbadpass'] = 'Las dos contraseñas no son iguales, por favor inténtalo de nuevo.'; @@ -117,6 +123,7 @@ $lang['profdeleteuser'] = 'Eliminar Cuenta'; $lang['profdeleted'] = 'Tu cuenta de usuario ha sido eliminada de este wiki'; $lang['profconfdelete'] = 'Deseo eliminar mi cuenta de este wiki. <br /> Esta acción es irreversible.'; $lang['profconfdeletemissing'] = 'Casilla de verificación no activada.'; +$lang['proffail'] = 'No se ha actualizado el perfil del usuario.'; $lang['pwdforget'] = '¿Has olvidado tu contraseña? Consigue una nueva'; $lang['resendna'] = 'Este wiki no brinda la posibilidad de reenvÃo de contraseña.'; $lang['resendpwd'] = 'Establecer nueva contraseña para'; @@ -181,7 +188,6 @@ $lang['js']['media_overwrt'] = 'Sobreescribir ficheros exitentes'; $lang['rssfailed'] = 'Se ha producido un error mientras se leÃan los datos de este feed: '; $lang['nothingfound'] = 'No se ha encontrado nada.'; $lang['mediaselect'] = 'Archivos Multimedia'; -$lang['fileupload'] = 'Subida de archivos multimedia'; $lang['uploadsucc'] = 'El archivo se ha subido satisfactoriamente'; $lang['uploadfail'] = 'La subida del fichero ha fallado. ¿Permisos equivocados?'; $lang['uploadwrong'] = 'Subida de fichero denegada. ¡Los ficheros con esta extensión están prohibidos!'; @@ -272,7 +278,6 @@ $lang['qb_sig'] = 'Insertar firma'; $lang['qb_smileys'] = 'Sonrisas'; $lang['qb_chars'] = 'Caracteres especiales'; $lang['upperns'] = 'Saltar al espacio de nombres superior'; -$lang['admin_register'] = 'Añadir nuevo usuario'; $lang['metaedit'] = 'Editar metadatos'; $lang['metasaveerr'] = 'La escritura de los metadatos ha fallado'; $lang['metasaveok'] = 'Los metadatos han sido guardados'; @@ -305,7 +310,6 @@ $lang['subscr_style_every'] = 'enviar correo en cada cambio'; $lang['subscr_style_digest'] = 'Resumen de correo electrónico de cambios por cada página (cada %.2f dÃas)'; $lang['subscr_style_list'] = 'lista de páginas modificadas desde el último correo electrónico (cada %.2f dÃas)'; $lang['authtempfail'] = 'La autenticación de usuarios no está disponible temporalmente. Si esta situación persiste, por favor avisa al administrador del wiki.'; -$lang['authpwdexpire'] = 'Su contraseña caducara en %d dÃas, deberÃa cambiarla lo antes posible'; $lang['i_chooselang'] = 'Elija su idioma'; $lang['i_installer'] = 'Instalador de DokuWiki'; $lang['i_wikiname'] = 'Nombre del wiki'; @@ -365,7 +369,10 @@ $lang['media_perm_read'] = 'Disculpa, no tienes los permisos necesarios pa $lang['media_perm_upload'] = 'Disculpa, no tienes los permisos necesarios para cargar ficheros.'; $lang['media_update'] = 'Actualizar nueva versión'; $lang['media_restore'] = 'Restaurar esta versión'; +$lang['media_acl_warning'] = 'Puede que esta lista no esté completa debido a restricciones de la ACL y a las páginas ocultas.'; $lang['currentns'] = 'Espacio de nombres actual'; $lang['searchresult'] = 'Resultado de la búsqueda'; $lang['plainhtml'] = 'HTML sencillo'; $lang['wikimarkup'] = 'Etiquetado Wiki'; +$lang['page_nonexist_rev'] = 'La página no existÃa en %s. Por tanto fue creada en <a href="%s">%s</a>.'; +$lang['unable_to_parse_date'] = 'Incapaz de evaluar el parámetro "%s".'; diff --git a/inc/lang/et/lang.php b/inc/lang/et/lang.php index d3c510c438f6b01f98c1b824d1e8d16ad2b3af4f..dbff49dfcba89266ebfb5c0ebb36e233ab159952 100644 --- a/inc/lang/et/lang.php +++ b/inc/lang/et/lang.php @@ -2,7 +2,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Oliver S6ro <seem.iges@mail.ee> * @author Aari Juhanson <aari@vmg.vil.ee> * @author Kaiko Kaur <kaiko@kultuur.edu.ee> @@ -41,7 +41,6 @@ $lang['btn_update'] = 'Uuenda'; $lang['btn_delete'] = 'Kustuta'; $lang['btn_back'] = 'Tagasi'; $lang['btn_backlink'] = 'Tagasilingid'; -$lang['btn_backtomedia'] = 'Tagasi faili valikusse'; $lang['btn_subscribe'] = 'Jälgi seda lehte (teated meilile)'; $lang['btn_profile'] = 'Minu info'; $lang['btn_reset'] = 'Taasta'; @@ -154,7 +153,6 @@ $lang['js']['media_overwrt'] = 'Asenda olemasolevad failid'; $lang['rssfailed'] = 'Sinu soovitud info ammutamisel tekkis viga: '; $lang['nothingfound'] = 'Oops, aga mitte muhvigi ei leitud.'; $lang['mediaselect'] = 'Hunnik faile'; -$lang['fileupload'] = 'Faili üleslaadimine'; $lang['uploadsucc'] = 'Ãœleslaadimine läks ootuspäraselt hästi'; $lang['uploadfail'] = 'Ãœleslaadimine läks nässu. Äkki pole Sa selleks lihtsalt piisavalt võimukas tegija?'; $lang['uploadwrong'] = 'Ei saa Sa midagi üles laadida. Oops, aga seda tüüpi faili sul lihtsalt ei lubata üles laadida'; @@ -239,7 +237,6 @@ $lang['qb_sig'] = 'Lisa allkiri!'; $lang['qb_smileys'] = 'Emotikonid'; $lang['qb_chars'] = 'Erisümbolid'; $lang['upperns'] = 'mine ülemisse nimeruumi'; -$lang['admin_register'] = 'Lisa kasutaja'; $lang['metaedit'] = 'Muuda lisainfot'; $lang['metasaveerr'] = 'Lisainfo salvestamine läks untsu.'; $lang['metasaveok'] = 'Lisainfo salvestatud'; @@ -273,7 +270,6 @@ $lang['subscr_style_every'] = 'igast toimetamisest teavitab ekiri'; $lang['subscr_style_digest'] = 'kokkuvõte ekirjaga toimetamistest igal leheküljel (iga %.2f päeva järel)'; $lang['subscr_style_list'] = 'Peale viimast ekirja (iga %.2f päeva järel) toimetaud lehekülgede loend.'; $lang['authtempfail'] = 'Kasutajate autentimine on ajutiselt rivist väljas. Kui see olukord mõne aja jooksul ei parane, siis teavita sellest serveri haldajat.'; -$lang['authpwdexpire'] = 'Sinu salasõna aegub %päeva pärast, võiksid seda peatselt muuta.'; $lang['i_chooselang'] = 'Vali keel'; $lang['i_installer'] = 'DokuWiki paigaldaja'; $lang['i_wikiname'] = 'Wiki nimi'; diff --git a/inc/lang/eu/lang.php b/inc/lang/eu/lang.php index fcf45b946817dd944b9ea920254dea75247e169e..f66cda04c61ecdfac920a186636a850000b6e247 100644 --- a/inc/lang/eu/lang.php +++ b/inc/lang/eu/lang.php @@ -38,7 +38,6 @@ $lang['btn_update'] = 'Eguneratu'; $lang['btn_delete'] = 'Ezabatu'; $lang['btn_back'] = 'Atzera'; $lang['btn_backlink'] = 'Itzulera estekak'; -$lang['btn_backtomedia'] = 'Atzera Multimedia Fitxategiaren Aukeraketara'; $lang['btn_subscribe'] = 'Harpidetu Orri Aldaketetara'; $lang['btn_profile'] = 'Eguneratu Profila '; $lang['btn_reset'] = 'Aldaketak Desegin'; @@ -143,7 +142,6 @@ $lang['js']['media_overwrt'] = 'Dauden fitxategiak berridatzi'; $lang['rssfailed'] = 'Errorea gertatu da feed hau irakurtzean:'; $lang['nothingfound'] = 'Ez da ezer aurkitu.'; $lang['mediaselect'] = 'Aukeratu Multimedia fitxategia'; -$lang['fileupload'] = 'Igo Multimedia Fitxategia'; $lang['uploadsucc'] = 'Igoera arrakastatsua'; $lang['uploadfail'] = 'Igoerak huts egin du. Baimen arazoengatik agian?'; $lang['uploadwrong'] = 'Fitxategi igoera ukatua. Fitxategi-luzapen hau debekatua dago!'; @@ -229,7 +227,6 @@ $lang['qb_sig'] = 'Gehitu sinadura'; $lang['qb_smileys'] = 'Irrifartxoak'; $lang['qb_chars'] = 'Karaktere Bereziak'; $lang['upperns'] = 'Jauzi izen-espazio gurasora'; -$lang['admin_register'] = 'Erabiltzaile berria gehitu'; $lang['metaedit'] = 'Metadatua Aldatu'; $lang['metasaveerr'] = 'Metadatuaren idazketak huts egin du'; $lang['metasaveok'] = 'Metadatua gordea'; @@ -262,7 +259,6 @@ $lang['subscr_style_every'] = 'e-posta aldaketa bakoitzean'; $lang['subscr_style_digest'] = 'e-posta laburbildua orri bakoitzeko aldaketentzat (%.2f egunero)'; $lang['subscr_style_list'] = 'aldatutako orrien zerrenda azken e-postatik (%.2f egunero)'; $lang['authtempfail'] = 'Erabiltzaile kautotzea denboraldi batez ez dago erabilgarri. Egoerak hala jarraitzen badu, mesedez, eman honen berri Wiki administratzaileari'; -$lang['authpwdexpire'] = 'Zure pasahitza %d egun barru iraungiko da, laster aldatu beharko zenuke.'; $lang['i_chooselang'] = 'Hautatu zure hizkuntza'; $lang['i_installer'] = 'DokuWiki instalatzailea'; $lang['i_wikiname'] = 'Wiki Izena'; diff --git a/inc/lang/fa/admin.txt b/inc/lang/fa/admin.txt index ce7550977193a42f7d69f4ed3eca49d565f5c650..f8e36ba4940feb9cb050e63c8cc0b59f7eb8f390 100644 --- a/inc/lang/fa/admin.txt +++ b/inc/lang/fa/admin.txt @@ -1,3 +1,3 @@ ====== مدیریت ====== -در اینجا لیستی از وظیÙه‌های مدیریتی را مشاهده می‌کنید. \ No newline at end of file +در اینجا Ùهرستی از وظیÙه‌های مدیریتی را مشاهده می‌کنید. \ No newline at end of file diff --git a/inc/lang/fa/adminplugins.txt b/inc/lang/fa/adminplugins.txt index 3d2bb4a5b589a9dc5fe74f256aecb0d35c033dcf..dab0251be2462a89f6d65b0e4c1930fbc0737505 100644 --- a/inc/lang/fa/adminplugins.txt +++ b/inc/lang/fa/adminplugins.txt @@ -1 +1 @@ -===== برنامه های جانبی دیگر ===== \ No newline at end of file +===== برنامه‌های جانبی دیگر ===== \ No newline at end of file diff --git a/inc/lang/fa/backlinks.txt b/inc/lang/fa/backlinks.txt index 6864e22d60d132e7557e620007f3c083b99bff68..774d3d6cc517b496c025085157059321b8902fdd 100644 --- a/inc/lang/fa/backlinks.txt +++ b/inc/lang/fa/backlinks.txt @@ -1,3 +1,3 @@ ====== پیوندهای بازگشتی ====== -در این‌جا لیستی از صÙØاتی Ú©Ù‡ به این صÙØÙ‡ پیوند داده‌اند را مشاهده می‌کنید. \ No newline at end of file +در این‌جا Ùهرستی از صÙØاتی Ú©Ù‡ به این صÙØÙ‡ پیوند داده‌اند را مشاهده می‌کنید. \ No newline at end of file diff --git a/inc/lang/fa/denied.txt b/inc/lang/fa/denied.txt index 4bffa0f3c2f2e91fc65b0456b18abfcd503feb11..190b710ca85f580424dad1670845d456310ab51d 100644 --- a/inc/lang/fa/denied.txt +++ b/inc/lang/fa/denied.txt @@ -1,4 +1,4 @@ ====== دسترسی ممکن نیست ====== -شرمنده، شما اجازه‌ی دسترسی ب این صÙØÙ‡ را ندارید. +شرمنده، شما اجازهٔ دسترسی به این صÙØÙ‡ را ندارید. diff --git a/inc/lang/fa/diff.txt b/inc/lang/fa/diff.txt index d5354f727f8c967e4930fe40b9d3984aafa3c39e..80e1ce7a1f2ef885f70ed2c93954197fe7fe67b0 100644 --- a/inc/lang/fa/diff.txt +++ b/inc/lang/fa/diff.txt @@ -1,3 +1,3 @@ ====== تÙاوت‌ها ====== -تÙاوت دو نسخه‌ی متÙاوت از صÙØÙ‡ را مشاهده می‌کنید. \ No newline at end of file +تÙاوت دو نسخهٔ متÙاوت از صÙØÙ‡ را مشاهده می‌کنید. \ No newline at end of file diff --git a/inc/lang/fa/editrev.txt b/inc/lang/fa/editrev.txt index ca896feebbfb835645c81d55aa6450fab52d614a..eae539414b15ac22699ebd12a5033f46f6e8b32d 100644 --- a/inc/lang/fa/editrev.txt +++ b/inc/lang/fa/editrev.txt @@ -1 +1,2 @@ -**شما یک نگارش قدیمی را مشاهده می‌کنید!** اگر این نگارش را ذخیره کنید، شما یک نگارش جدید ایجاد کرده‌اید! \ No newline at end of file +**شما یک نگارش قدیمی را مشاهده می‌کنید!** اگر این نگارش را ذخیره کنید، شما یک نگارش جدید ایجاد کرده‌اید! +---- \ No newline at end of file diff --git a/inc/lang/fa/jquery.ui.datepicker.js b/inc/lang/fa/jquery.ui.datepicker.js index 8ffd664111ece1d11d0db44ea53e16c8a4c10c20..71f8a2852045de6135cbf38cf1ee08032dc60b94 100644 --- a/inc/lang/fa/jquery.ui.datepicker.js +++ b/inc/lang/fa/jquery.ui.datepicker.js @@ -19,18 +19,18 @@ datepicker.regional['fa'] = { nextText: 'بعدی>', currentText: 'امروز', monthNames: [ - 'Ùروردين', - 'ارديبهشت', - 'خرداد', - 'تير', - 'مرداد', - 'شهريور', - 'مهر', - 'آبان', - 'آذر', - 'دی', - 'بهمن', - 'اسÙند' + 'ژانویه', + 'Ùوریه', + 'مارس', + 'آوریل', + 'مه', + 'ژوئن', + 'ژوئیه', + 'اوت', + 'سپتامبر', + 'اکتبر', + 'نوامبر', + 'دسامبر' ], monthNamesShort: ['1','2','3','4','5','6','7','8','9','10','11','12'], dayNames: [ diff --git a/inc/lang/fa/lang.php b/inc/lang/fa/lang.php index 25de5c92ee332058ac3c89cb30ac64f2ec27d6cf..c05b8b50161db037be70af32f82159d24f62e630 100644 --- a/inc/lang/fa/lang.php +++ b/inc/lang/fa/lang.php @@ -15,6 +15,8 @@ * @author Mohamad Mehdi Habibi <habibi.esf@gmail.com> * @author Mohammad Sadegh <msdn2013@gmail.com> * @author Omid Hezaveh <hezpublic@gmail.com> + * @author Mohmmad Razavi <sepent@gmail.com> + * @author Masoud Sadrnezhaad <masoud@sadrnezhaad.ir> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'rtl'; @@ -24,9 +26,9 @@ $lang['singlequoteopening'] = '‘'; $lang['singlequoteclosing'] = '’'; $lang['apostrophe'] = '’'; $lang['btn_edit'] = 'ویرایش این صÙØÙ‡'; -$lang['btn_source'] = 'نمایش مبدا'; +$lang['btn_source'] = 'نمایش متن صÙØÙ‡'; $lang['btn_show'] = 'نمایش صÙØÙ‡'; -$lang['btn_create'] = 'ساخت این صÙØÙ‡'; +$lang['btn_create'] = 'ایجاد این صÙØÙ‡'; $lang['btn_search'] = 'جستجو'; $lang['btn_save'] = 'ذخیره'; $lang['btn_preview'] = 'پیش‌نمایش'; @@ -46,7 +48,6 @@ $lang['btn_update'] = 'به‌روزرسانی'; $lang['btn_delete'] = 'ØØ°Ù'; $lang['btn_back'] = 'عقب'; $lang['btn_backlink'] = 'پیوندهای به این صÙØÙ‡'; -$lang['btn_backtomedia'] = 'بازگشت به انتخاب Ùایل'; $lang['btn_subscribe'] = 'عضویت در تغییرات صÙØÙ‡'; $lang['btn_profile'] = 'به‌روزرسانی پروÙایل'; $lang['btn_reset'] = 'بازنشاندن'; @@ -64,23 +65,24 @@ $lang['btn_mediaManager'] = 'مشاهده در مدیریت رسانه‌ه $lang['loggedinas'] = 'به این عنوان وارد شده‌اید:'; $lang['user'] = 'نام کاربری'; $lang['pass'] = 'گذرواژه‌'; -$lang['newpass'] = 'گذروازه‌ی جدید'; +$lang['newpass'] = 'گذرواژه‌ی جدید'; $lang['oldpass'] = 'گذرواژه‌ی Ùعلی را تایید کنید'; $lang['passchk'] = 'یک بار دیگر'; $lang['remember'] = 'مرا به خاطر بسپار.'; -$lang['fullname'] = '*نام واقعی شما'; -$lang['email'] = 'ایمیل شما*'; +$lang['fullname'] = 'نام واقعی شما'; +$lang['email'] = 'ایمیل شما'; $lang['profile'] = 'پروÙایل کاربر'; -$lang['badlogin'] = 'خطا در ورود به سیستم'; -$lang['badpassconfirm'] = 'متاسÙÙ… ØŒ رمز عبور اشتباه است'; +$lang['badlogin'] = 'متاسÙÙ…ØŒ نام کاربری یا رمز عبور اشتباه است.'; +$lang['badpassconfirm'] = 'متاسÙÙ…ØŒ رمز عبور اشتباه است'; $lang['minoredit'] = 'این ویرایش Ø®Ùرد است'; -$lang['draftdate'] = 'ذخیره خودکار پیش‌نویس'; +$lang['draftdate'] = 'ذخیره خودکار پیش‌نویس در'; $lang['nosecedit'] = 'این صÙØÙ‡ در این میان تغییر کرده است، اطلاعات بخش قدیمی شده است، در عوض Ù…Øتوای Ú©Ù„ نمایش داده می‌شود.'; $lang['searchcreatepage'] = 'اگر به نتیجه‌ی مطلوبی نرسیده‌اید، می‌توانید صÙØه‌ی مورد نظر را ایجاد کنید.'; $lang['regmissing'] = 'متاسÙÙ…ØŒ شما باید همه قسمت‌ها را پر کنید.'; $lang['reguexists'] = 'نام کاربری‌ای Ú©Ù‡ وارد کردید قبلن استÙاده شده است. خواهشمندیم یک نام دیگر انتخاب کنید.'; $lang['regsuccess'] = 'کاربر ساخته شد Ùˆ گذرواژه به صورت ایمیل ارسال گردید.'; $lang['regsuccess2'] = 'Øساب ایجاد شد.'; +$lang['regfail'] = 'ایجاد کاربر ممکن نیست.'; $lang['regmailfail'] = 'مشکلی در ارسال ایمیل پیش آمده است، با مدیر تماس بگیرید!'; $lang['regbadmail'] = 'نشانی واردشده‌ی ایمیل قابل‌قبول نیست، چرا Ú©Ù‡ دارای ساختار نامعتبری است. خواهشمندیم نشانی‌ای با ساختار صØÛŒØ ÙˆØ§Ø±Ø¯ کنید Ùˆ یا بخش مربوط را خالی بگذارید.'; $lang['regbadpass'] = 'گذرواژه‌هایی Ú©Ù‡ وارد کردید یکسان نیستند.'; @@ -95,30 +97,30 @@ $lang['profdeleteuser'] = 'ØØ°Ù Øساب کاربری'; $lang['profdeleted'] = 'Øساب کاربری شما Øذ٠گردیده است.'; $lang['profconfdelete'] = 'می‌خواهم Øساب کاربری من از این ویکی Øذ٠شود. <br/> این عمل قابل برگشت نیست.'; $lang['profconfdeletemissing'] = 'جعبه‌ی تأیید تیک نخورده است'; -$lang['pwdforget'] = 'گذرواژه‌ی خود را Ùراموش کرده‌اید؟ جدید دریاÙت کنید'; +$lang['proffail'] = 'بروزرسانی پروÙایل کاربری انجام نشد.'; +$lang['pwdforget'] = 'گذرواژه‌ی خود را Ùراموش کرده‌اید؟ گذرواژه‌ی جدید دریاÙت کنید'; $lang['resendna'] = 'این ویکی ارسال مجدد گذرواژه را پشتیبانی نمی‌کند'; $lang['resendpwd'] = 'تعیین کلمه عبور جدید برای '; -$lang['resendpwdmissing'] = 'متاسÙÙ…ØŒ شما باید تمام قسمت‌ها را پر کنید'; -$lang['resendpwdnouser'] = 'متاسÙÙ…ØŒ ما نتوانستیم این نام کاربری را در بانک خود پیدا کنیم'; +$lang['resendpwdmissing'] = 'متاسÙÙ…ØŒ شما باید تمام قسمت‌ها را پر کنید.'; +$lang['resendpwdnouser'] = 'متاسÙÙ…ØŒ ما نتوانستیم این نام کاربری را در پایگاه دادهٔ خود پیدا کنیم.'; $lang['resendpwdbadauth'] = 'متاسÙÙ…ØŒ کد شناسایی معتبر نیست. از صØت لینک تاییدیه اطمینان Øاصل کنید.'; -$lang['resendpwdconfirm'] = 'یک ایمیل تاییدیه‌ی آدرس به آدرس مورنظر ارسال شد. قبل از اینکه نامه‌ی دیگری قابل ارسال به این آدرس باشد، باید دستوراتی Ú©Ù‡ در آن نامه آمده است را جهت تایید این مساله Ú©Ù‡ این آدرس متعلق به شماست، اجرا کنید.'; -$lang['resendpwdsuccess'] = 'گذرواژه‌ی جدید شما توسط ایمیل ارسال شد'; +$lang['resendpwdconfirm'] = 'یک لینک تاییدیه آدرس از طریق ایمیل ارسال شد.'; +$lang['resendpwdsuccess'] = 'گذرواژه‌ی جدید شما توسط ایمیل ارسال شد.'; $lang['license'] = 'به جز مواردی Ú©Ù‡ ذکر می‌شود، مابقی Ù…Øتویات ویکی تØت مجوز زیر می‌باشند:'; $lang['licenseok'] = 'توجه: با ویرایش این صÙØه، شما مجوز زیر را تایید می‌کنید:'; $lang['searchmedia'] = 'نام Ùایل برای جستجو:'; $lang['searchmedia_in'] = 'جستجو در %s'; -$lang['txt_upload'] = 'Ùایل را برای ارسال انتخاب کنید:'; +$lang['txt_upload'] = 'Ùایل را برای آپلود انتخاب کنید:'; $lang['txt_filename'] = 'ارسال به صورت (اختیاری):'; $lang['txt_overwrt'] = 'بر روی Ùایل موجود بنویس'; $lang['maxuploadsize'] = 'Øداکثر %s برای هر Ùایل مجاز است.'; $lang['lockedby'] = 'در Øال Øاضر Ù‚ÙÙ„ شده است:'; -$lang['lockexpire'] = 'Ù‚ÙÙ„ منقضی شده است:'; +$lang['lockexpire'] = 'Ù‚ÙÙ„ منقضی می‌شود در:'; $lang['js']['willexpire'] = 'Øالت Ù‚ÙÙ„ شما مدتی است منقضی شده است \n برای جلوگیری از تداخل دکمه‌ی پیش‌نمایش را برای صÙر شدن ساعت Ù‚ÙÙ„ بزنید.'; -$lang['js']['notsavedyet'] = 'تغییرات ذخیره شده از بین خواهد رÙت. - می‌خواهید ادامه دهید؟'; -$lang['js']['searchmedia'] = 'جستجو برای Ùایل'; -$lang['js']['keepopen'] = 'پنجره را ر زمان انتخاب باز نگه‌دار'; -$lang['js']['hidedetails'] = 'پتهان کردن جزییات'; +$lang['js']['notsavedyet'] = 'تغییرات ذخیره نشده از بین خواهد رÙت.'; +$lang['js']['searchmedia'] = 'جستجو برای Ùایل‌ها'; +$lang['js']['keepopen'] = 'پنجره را در زمان انتخاب باز نگه‌دار'; +$lang['js']['hidedetails'] = 'پنهان کردن جزئیات'; $lang['js']['mediatitle'] = 'تنظیمات پیوند'; $lang['js']['mediadisplay'] = 'نوع پیوند'; $lang['js']['mediaalign'] = 'هم‌ترازی'; @@ -126,13 +128,13 @@ $lang['js']['mediasize'] = 'اندازه تصویر'; $lang['js']['mediatarget'] = 'هد٠پیوند'; $lang['js']['mediaclose'] = 'بستن'; $lang['js']['mediainsert'] = 'درج کردن'; -$lang['js']['mediadisplayimg'] = 'نمایش تصویر'; +$lang['js']['mediadisplayimg'] = 'نمایش تصویر.'; $lang['js']['mediadisplaylnk'] = 'Ùقط پیوند را نمایش بده.'; $lang['js']['mediasmall'] = 'نگارش Ú©ÙˆÚ†Ú©'; $lang['js']['mediamedium'] = 'نگارش متوسط'; $lang['js']['medialarge'] = 'نگارش بزرگ'; $lang['js']['mediaoriginal'] = 'نگارش اصلی'; -$lang['js']['medialnk'] = 'پیوند به صÙØه‌ی جزییات'; +$lang['js']['medialnk'] = 'پیوند به صÙØه‌ی جزئیات'; $lang['js']['mediadirect'] = 'پیوند مستقیم به اصلی'; $lang['js']['medianolnk'] = 'بدون پیوند'; $lang['js']['medianolink'] = 'تصویر را پیوند Ù†Ú©Ù†'; @@ -150,39 +152,38 @@ $lang['js']['media_diff'] = 'تÙاوت ها را ببینید: '; $lang['js']['media_diff_both'] = 'پهلو به پهلو'; $lang['js']['media_diff_opacity'] = 'درخشش از'; $lang['js']['media_diff_portions'] = 'Ú©Ø´ رÙتن'; -$lang['js']['media_select'] = 'انتخاب Ùایل -یا Ùایلها- ...'; +$lang['js']['media_select'] = 'انتخاب Ùایل‌ها...'; $lang['js']['media_upload_btn'] = 'آپلود'; $lang['js']['media_done_btn'] = 'انجام شد'; -$lang['js']['media_drop'] = 'Ùایل ها را در اینجا قرار دهید تا آپلود شود'; +$lang['js']['media_drop'] = 'Ùایل‌ها را در اینجا قرار دهید تا آپلود شود'; $lang['js']['media_cancel'] = 'ØØ°Ù'; -$lang['js']['media_overwrt'] = 'جاینوشت Ùایل های موجود'; -$lang['rssfailed'] = 'بروز خطا در هنگام واکشی'; -$lang['nothingfound'] = 'چیزی پیدا نشد'; +$lang['js']['media_overwrt'] = 'جاینوشت Ùایل‌های موجود'; +$lang['rssfailed'] = 'بروز خطا در هنگام واکشی این Ùید:'; +$lang['nothingfound'] = 'چیزی پیدا نشد.'; $lang['mediaselect'] = 'Ùایل‌ها'; -$lang['fileupload'] = 'ارسال پرونده'; $lang['uploadsucc'] = 'ارسال با موÙقیت انجام شد'; -$lang['uploadfail'] = 'خطا در ارسال'; -$lang['uploadwrong'] = 'ارسال متوق٠شد. این توسعه‌ی Ùایل ممنوع می‌باشد.'; -$lang['uploadexist'] = 'این Ùابل وجود دارد. عملی انجام نشد.'; -$lang['uploadbadcontent'] = 'Ù…Øتوای Ùایل ارسال شده با توسعه‌ی %s متناقض است.'; +$lang['uploadfail'] = 'خطا در ارسال. شاید دسترسی‌ها نادرست است؟'; +$lang['uploadwrong'] = 'ارسال متوق٠شد. این Ùرمت Ùایل ممنوع می‌باشد.'; +$lang['uploadexist'] = 'این Ùایل وجود دارد. عملی انجام نشد.'; +$lang['uploadbadcontent'] = 'Ù…Øتوای Ùایل آپلود شده با Ùرمت %s یکسان نیست.'; $lang['uploadspam'] = 'Ùایل ارسال شده توسط لیست سیاه اسپم‌ها مسدود شده است.'; $lang['uploadxss'] = 'این صÙØÙ‡ Øاوی اسکریپت یا کد اچ‌تی‌ام‌ال است Ú©Ù‡ ممکن است به نادرست توسط مرورگر وب تÙسیر شود.'; $lang['uploadsize'] = 'Ùایل ارسال شده سنگین است. (بیشینه، %s)'; $lang['deletesucc'] = 'Ùایل «%s» Øذ٠شد.'; $lang['deletefail'] = '«%s» Øذ٠نمی‌شود، دسترسی‌ها را بررسی کنید.'; $lang['mediainuse'] = 'Ùایل «%s» Øذ٠نمی‌شود، چون هنوز در Øال استÙاده است.'; -$lang['namespaces'] = 'Ùضای‌نام'; +$lang['namespaces'] = 'Ùضای‌نام‌ها'; $lang['mediafiles'] = 'Ùایل‌های موجود در'; $lang['accessdenied'] = 'شما اجازه‌ی مشاهده‌ی این صÙØÙ‡ را ندارید.'; $lang['mediausage'] = 'برای ارجاع دادن به Ùایل از نگارش زیر استÙاده کنید.'; $lang['mediaview'] = 'مشاهده‌ی Ùایل اصلی'; $lang['mediaroot'] = 'ریشه'; -$lang['mediaupload'] = 'ارسال Ùایل به Ùضای‌نام کنونی. برای ایجاد زیرÙضای‌نام‌ها، نام‌های آن‌ها را به عنوان پیشوندهایی Ú©Ù‡ با دونقطه «:» جدا شده‌اند به نام Ùایل، در قسمت «ارسال به صورت» اضاÙÙ‡ کنید.'; -$lang['mediaextchange'] = 'توسعه‌ی Ùایل از %s به %s تغییر داده شد.'; +$lang['mediaupload'] = 'ارسال Ùایل به Ùضای‌نام کنونی. برای ایجاد زیرÙضای‌نام‌ها، پس از انتخاب Ùایل‌ها در قسمت «ارسال به صورت» به نام Ùایل نام‌های Ùضای‌نام‌ها را به عنوان پیشوندهایی Ú©Ù‡ با دونقطه «:» جدا شده‌اند، اضاÙÙ‡ کنید. همچنین Ùایل‌ها می‌توانند با کشیدن Ùˆ ول کردن انتخاب شوند.'; +$lang['mediaextchange'] = 'Ùرمت Ùایل از %s به %s تغییر داده شد.'; $lang['reference'] = 'ارجاع‌های'; $lang['ref_inuse'] = 'این Ùایل نمی‌تواند Øذ٠شود، زیرا هم‌چنان در این صÙØÙ‡ استÙاده شده است:'; $lang['ref_hidden'] = 'تعدادی مرجع در صÙØاتی Ú©Ù‡ شما دسترسی خواندن ندارید وجود دارد.'; -$lang['hits'] = 'بازدید'; +$lang['hits'] = 'بازدیدها'; $lang['quickhits'] = 'جور کردن نام صÙØات'; $lang['toc'] = 'Ùهرست مندرجات'; $lang['current'] = 'Ùعلی'; @@ -250,7 +251,6 @@ $lang['qb_sig'] = 'اÙزودن امضا'; $lang['qb_smileys'] = 'Ø´Ú©Ù„Ú©'; $lang['qb_chars'] = 'Øرو٠ویژه'; $lang['upperns'] = 'پرش به Ùضای‌نام بالا'; -$lang['admin_register'] = 'یک Øساب جدید بسازید'; $lang['metaedit'] = 'ویرایش داده‌های متا'; $lang['metasaveerr'] = 'نوشتن داده‌نما با مشکل مواجه شد'; $lang['metasaveok'] = 'داده‌نما ذخیره شد'; @@ -283,7 +283,6 @@ $lang['subscr_style_every'] = 'ارسال رای‌نامه در تمامی $lang['subscr_style_digest'] = 'ایمیل خلاصه‌ی تغییرات هر روز (هر %.2f روز)'; $lang['subscr_style_list'] = 'Ùهرست صÙØات تغییریاÙته از آخرین ایمیل (هر %.2f روز)'; $lang['authtempfail'] = 'معتبرسازی کابران موقتن مسدود می‌باشد. اگر این Øالت پایدار بود، مدیر ویکی را باخبر سازید.'; -$lang['authpwdexpire'] = 'کلمه عبور شما در %d روز منقضی خواهد شد ØŒ شما باید آن را زود تغییر دهید'; $lang['i_chooselang'] = 'انتخاب زبان'; $lang['i_installer'] = 'نصب کننده‌ی Dokuwiki'; $lang['i_wikiname'] = 'نام ویکی'; @@ -343,7 +342,10 @@ $lang['media_perm_read'] = 'متاسÙانه شما ØÙ‚ خواندن ای $lang['media_perm_upload'] = 'متاسÙانه شما ØÙ‚ آپلود این Ùایل‌ها را ندارید.'; $lang['media_update'] = 'آپلود نسخه‌ی جدید'; $lang['media_restore'] = 'بازیابی این نسخه'; +$lang['media_acl_warning'] = 'این لیست ممکن است به خاطر Ù…Øدودیتهای دسترسیهای ACL Ùˆ صÙØات پنهان کامل نباشد.'; $lang['currentns'] = 'Ùضای نام جاری'; $lang['searchresult'] = 'نتیجه‌ی جستجو'; $lang['plainhtml'] = 'HTML ساده'; $lang['wikimarkup'] = 'نشانه‌گذاری ویکی'; +$lang['page_nonexist_rev'] = 'صÙØÙ‡ %s وجود نداشت. این صÙØÙ‡ معاقباً در<a href="%s">%s</a> ایجاد شد.'; +$lang['unable_to_parse_date'] = 'امکان تجزیه Ùˆ تØلیل پارامتر «%s» وجود ندارد.'; diff --git a/inc/lang/fi/lang.php b/inc/lang/fi/lang.php index 9bf4aad197db183fa4632be354ff775abfbf876e..de2ca13dacb67f30ce49dae294f81578cd75c363 100644 --- a/inc/lang/fi/lang.php +++ b/inc/lang/fi/lang.php @@ -2,7 +2,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Petteri <petteri@gmail.com> * @author Matti Pöllä <mpo@iki.fi> * @author Otto Vainio <otto@valjakko.net> @@ -17,7 +17,7 @@ $lang['doublequoteopening'] = 'â€'; $lang['doublequoteclosing'] = 'â€'; $lang['singlequoteopening'] = '’'; $lang['singlequoteclosing'] = '’'; -$lang['apostrophe'] = '\''; +$lang['apostrophe'] = '’'; $lang['btn_edit'] = 'Muokkaa tätä sivua'; $lang['btn_source'] = 'Näytä sivun lähdekoodi'; $lang['btn_show'] = 'Näytä sivu'; @@ -41,7 +41,6 @@ $lang['btn_update'] = 'Päivitä'; $lang['btn_delete'] = 'Poista'; $lang['btn_back'] = 'Takaisin'; $lang['btn_backlink'] = 'Paluulinkit'; -$lang['btn_backtomedia'] = 'Takaisin mediatiedostojen valintaan'; $lang['btn_subscribe'] = 'Tilaa muutokset'; $lang['btn_profile'] = 'Päivitä profiili'; $lang['btn_reset'] = 'Tyhjennä'; @@ -154,7 +153,6 @@ $lang['js']['media_overwrt'] = 'Ylikirjoita olemassa olevat tiedostot'; $lang['rssfailed'] = 'Virhe tapahtui noudettaessa tätä syötettä: '; $lang['nothingfound'] = 'Mitään ei löytynyt.'; $lang['mediaselect'] = 'Mediatiedoston valinta'; -$lang['fileupload'] = 'Mediatiedoston lähetys'; $lang['uploadsucc'] = 'Tiedoston lähetys onnistui'; $lang['uploadfail'] = 'Tiedoston lähetys epäonnistui. Syynä ehkä väärät oikeudet?'; $lang['uploadwrong'] = 'Tiedoston lähetys evätty. Tämä tiedostopääte on kielletty'; @@ -243,7 +241,6 @@ $lang['qb_sig'] = 'Lisää allekirjoitus'; $lang['qb_smileys'] = 'Hymiöt'; $lang['qb_chars'] = 'Erikoismerkit'; $lang['upperns'] = 'Hyppää edelliseen nimiavaruuteen'; -$lang['admin_register'] = 'Lisää uusi käyttäjä'; $lang['metaedit'] = 'Muokkaa metadataa'; $lang['metasaveerr'] = 'Metadatan kirjoittaminen epäonnistui'; $lang['metasaveok'] = 'Metadata tallennettu'; @@ -276,7 +273,6 @@ $lang['subscr_style_every'] = 'Sähköposti joka muutoksesta'; $lang['subscr_style_digest'] = 'yhteenveto-sähköposti joka sivusta (joka %.2f. päivä)'; $lang['subscr_style_list'] = 'lista muuttuneista sivuista edellisen sähköpostin jälkeen (joka %.2f. päivä)'; $lang['authtempfail'] = 'Käyttäjien autentikointi ei tällä hetkellä onnistu. Jos ongelma jatkuu, ota yhteyttä wikin ylläpitäjään.'; -$lang['authpwdexpire'] = 'Salasanasi vanhenee %d pv:n päästä, vaihda salasanasi pikaisesti.'; $lang['i_chooselang'] = 'Valitse kieli'; $lang['i_installer'] = 'DokuWikin asentaja'; $lang['i_wikiname'] = 'Wikin nimi'; diff --git a/inc/lang/fo/lang.php b/inc/lang/fo/lang.php index 0aee76e01b089cc8b4aeda1ee6aaf61b61e44901..d1d7096c9982f078ec51873cc59b520b6eacc157 100644 --- a/inc/lang/fo/lang.php +++ b/inc/lang/fo/lang.php @@ -8,11 +8,11 @@ */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; -$lang['doublequoteopening'] = 'Vanligt gásareygað byrjan'; -$lang['doublequoteclosing'] = 'Vanligt gásareygað endi'; -$lang['singlequoteopening'] = 'Einstakt gásareygað byrjan'; -$lang['singlequoteclosing'] = 'Einstakt gásareygað endi'; -$lang['apostrophe'] = 'Apostroff'; +$lang['doublequoteopening'] = '"'; +$lang['doublequoteclosing'] = '"'; +$lang['singlequoteopening'] = '\''; +$lang['singlequoteclosing'] = '\''; +$lang['apostrophe'] = '\''; $lang['btn_edit'] = 'Rætta hetta skjal'; $lang['btn_source'] = 'VÃs keldu'; $lang['btn_show'] = 'VÃs skjal'; @@ -36,7 +36,6 @@ $lang['btn_update'] = 'Dagfør'; $lang['btn_delete'] = 'Strika'; $lang['btn_back'] = 'Aftur'; $lang['btn_backlink'] = 'ÃvÃsingar afturúr'; -$lang['btn_backtomedia'] = 'Aftur til val av miðlafÃlu'; $lang['btn_subscribe'] = 'Tilmelda broytingar'; $lang['btn_profile'] = 'Dagføra vangamynd'; $lang['btn_reset'] = 'Nullstilla'; @@ -105,7 +104,6 @@ $lang['js']['del_confirm'] = 'Strika post(ar)?'; $lang['rssfailed'] = 'Eitt brek koma fyri tá roynt var at fáa: '; $lang['nothingfound'] = 'Leiting gav onki úrslit.'; $lang['mediaselect'] = 'Vel miðlafÃlu'; -$lang['fileupload'] = 'Legg miðla fÃlu upp'; $lang['uploadsucc'] = 'Upp legg av fÃlu var væl eydna'; $lang['uploadfail'] = 'Brek við upp legg av fÃlu. Tað er møguliga trupuleikar við rættindunum'; $lang['uploadwrong'] = 'Upp legg av fÃlu vÃst burtur. FÃluslag er ikki loyvt'; @@ -154,7 +152,6 @@ $lang['qb_media'] = 'Leggja myndir og aðrar fÃlur afturat'; $lang['qb_sig'] = 'Set inn undirskrift'; $lang['qb_smileys'] = 'Smileys'; $lang['qb_chars'] = 'Sertekn'; -$lang['admin_register'] = 'Upprætta nýggjan brúkara'; $lang['metaedit'] = 'Rætta metadáta'; $lang['metasaveerr'] = 'Brek við skriving av metadáta'; $lang['metasaveok'] = 'Metadáta goymt'; diff --git a/inc/lang/fr/jquery.ui.datepicker.js b/inc/lang/fr/jquery.ui.datepicker.js index 2f5ff3cbefabee53fd5e287adc515c7fcdc1e42e..6b6e0b35fc76f40d900dd45fef476bd1a7df1c6c 100644 --- a/inc/lang/fr/jquery.ui.datepicker.js +++ b/inc/lang/fr/jquery.ui.datepicker.js @@ -21,7 +21,7 @@ datepicker.regional['fr'] = { currentText: 'Aujourd\'hui', monthNames: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], - monthNamesShort: ['janv.', 'févr.', 'mars', 'avril', 'mai', 'juin', + monthNamesShort: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], dayNames: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], dayNamesShort: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], diff --git a/inc/lang/fr/lang.php b/inc/lang/fr/lang.php index 9deff1220c3886f3295c581c804d3e020f6e7e31..c737862fcd7fe08136a2f3f9f2da404faf41ffc4 100644 --- a/inc/lang/fr/lang.php +++ b/inc/lang/fr/lang.php @@ -36,6 +36,8 @@ * @author Schplurtz le Déboulonné <schplurtz@laposte.net> * @author YoBoY <yoboy@ubuntu-fr.org> * @author james <j.mccann@celcat.com> + * @author Pietroni <pietroni@informatique.univ-paris-diderot.fr> + * @author Floriang <antispam@floriang.eu> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -67,8 +69,7 @@ $lang['btn_update'] = 'Mettre à jour'; $lang['btn_delete'] = 'Effacer'; $lang['btn_back'] = 'Retour'; $lang['btn_backlink'] = 'Liens de retour'; -$lang['btn_backtomedia'] = 'Retour à la sélection du fichier média'; -$lang['btn_subscribe'] = 'Gérer souscriptions'; +$lang['btn_subscribe'] = 'Gérer les abonnements'; $lang['btn_profile'] = 'Mettre à jour le profil'; $lang['btn_reset'] = 'Réinitialiser'; $lang['btn_resendpwd'] = 'Définir un nouveau mot de passe'; @@ -102,6 +103,7 @@ $lang['regmissing'] = 'Désolé, vous devez remplir tous les champs.' $lang['reguexists'] = 'Désolé, ce nom d\'utilisateur est déjà pris.'; $lang['regsuccess'] = 'L\'utilisateur a été créé. Le mot de passe a été expédié par courriel.'; $lang['regsuccess2'] = 'L\'utilisateur a été créé.'; +$lang['regfail'] = 'L\'utilisateur n\'a pu être crée.'; $lang['regmailfail'] = 'On dirait qu\'il y a eu une erreur lors de l\'envoi du mot de passe de messagerie. Veuillez contacter l\'administrateur !'; $lang['regbadmail'] = 'L\'adresse de courriel semble incorrecte. Si vous pensez que c\'est une erreur, contactez l\'administrateur.'; $lang['regbadpass'] = 'Les deux mots de passe fournis sont différents, veuillez recommencez.'; @@ -116,6 +118,7 @@ $lang['profdeleteuser'] = 'Supprimer le compte'; $lang['profdeleted'] = 'Votre compte utilisateur a été supprimé de ce wiki'; $lang['profconfdelete'] = 'Je veux supprimer mon compte sur ce wiki. </br> Cette action est irréversible.'; $lang['profconfdeletemissing'] = 'La case de confirmation n\'est pas cochée'; +$lang['proffail'] = 'Le profil utilisateur n\'a pas été mis à jour.'; $lang['pwdforget'] = 'Mot de passe oublié ? Obtenez-en un nouveau'; $lang['resendna'] = 'Ce wiki ne permet pas le renvoi de mot de passe.'; $lang['resendpwd'] = 'Définir un nouveau mot de passe pour'; @@ -178,7 +181,6 @@ $lang['js']['media_overwrt'] = 'Écraser les fichiers existants'; $lang['rssfailed'] = 'Une erreur s\'est produite en récupérant ce flux : '; $lang['nothingfound'] = 'Pas de réponse.'; $lang['mediaselect'] = 'Sélection de fichiers'; -$lang['fileupload'] = 'Envoi de fichier'; $lang['uploadsucc'] = 'Envoi réussi'; $lang['uploadfail'] = 'L\'envoi a échoué. Les autorisations sont-elles correctes ?'; $lang['uploadwrong'] = 'Envoi refusé. Cette extension de fichier est interdite !'; @@ -196,7 +198,7 @@ $lang['accessdenied'] = 'Vous n\'êtes pas autorisé à voir cette page $lang['mediausage'] = 'Utilisez la syntaxe suivante pour faire référence à ce fichier :'; $lang['mediaview'] = 'Afficher le fichier original'; $lang['mediaroot'] = 'racine'; -$lang['mediaupload'] = 'Envoyez un fichier dans la catégorie actuelle. Pour créer des sous-catégories, préfixez en le nom du fichier séparées par un double-point, après avoir choisis le(s) fichier(s). Le(s) fichier(s) peuvent également être envoyé(s) par glisser-déposer (drag & drop)'; +$lang['mediaupload'] = 'Envoyez un fichier dans la catégorie actuelle. Pour créer des sous-catégories, préfixez en le nom du fichier séparées par un double-point, après avoir choisis le(s) fichier(s). Le(s) fichier(s) peuvent également être envoyé(s) par glisser-déposer (drag & drop)'; $lang['mediaextchange'] = 'Extension du fichier modifiée de .%s en .%s !'; $lang['reference'] = 'Références pour'; $lang['ref_inuse'] = 'Le fichier ne peut être effacé car il est toujours utilisé par les pages suivantes :'; @@ -228,7 +230,7 @@ $lang['restored'] = 'ancienne révision (%s) restaurée'; $lang['external_edit'] = 'modification externe'; $lang['summary'] = 'Résumé'; $lang['noflash'] = 'L\'<a href="http://www.adobe.com/products/flashplayer/">extension Adobe Flash</a> est nécessaire pour afficher ce contenu.'; -$lang['download'] = 'Télécharger un extrait'; +$lang['download'] = 'Télécharger cet extrait'; $lang['tools'] = 'Outils'; $lang['user_tools'] = 'Outils pour utilisateurs'; $lang['site_tools'] = 'Outils du site'; @@ -269,7 +271,6 @@ $lang['qb_sig'] = 'Insérer une signature'; $lang['qb_smileys'] = 'Émoticones'; $lang['qb_chars'] = 'Caractères spéciaux'; $lang['upperns'] = 'Aller à la catégorie parente'; -$lang['admin_register'] = 'Ajouter un nouvel utilisateur'; $lang['metaedit'] = 'Modifier les métadonnées'; $lang['metasaveerr'] = 'Erreur lors de l\'enregistrement des métadonnées'; $lang['metasaveok'] = 'Métadonnées enregistrées'; @@ -285,24 +286,23 @@ $lang['img_camera'] = 'Appareil photo:'; $lang['img_keywords'] = 'Mots-clés:'; $lang['img_width'] = 'Largeur:'; $lang['img_height'] = 'Hauteur:'; -$lang['subscr_subscribe_success'] = '%s a été ajouté à la liste de souscription de %s'; -$lang['subscr_subscribe_error'] = 'Erreur à l\'ajout de %s à la liste de souscription de %s'; -$lang['subscr_subscribe_noaddress'] = 'Il n\'y a pas d\'adresse associée à votre identifiant, vous ne pouvez pas être ajouté à la liste de souscription'; -$lang['subscr_unsubscribe_success'] = '%s a été supprimé de la liste de souscription de %s'; -$lang['subscr_unsubscribe_error'] = 'Erreur au retrait de %s de la liste de souscription de %s'; -$lang['subscr_already_subscribed'] = '%s est déjà souscrit à %s'; -$lang['subscr_not_subscribed'] = '%s n\'est pas souscrit à %s'; -$lang['subscr_m_not_subscribed'] = 'Vous n\'avez pas souscrit pour l\'instant à la page actuelle ou à la catégorie'; -$lang['subscr_m_new_header'] = 'Ajouter une souscription'; -$lang['subscr_m_current_header'] = 'Souscriptions actives'; -$lang['subscr_m_unsubscribe'] = 'Annuler la souscription'; -$lang['subscr_m_subscribe'] = 'Souscrire'; +$lang['subscr_subscribe_success'] = '%s a été ajouté à la liste des abonnés de %s'; +$lang['subscr_subscribe_error'] = 'Erreur à l\'ajout de %s à la liste des abonnés de %s'; +$lang['subscr_subscribe_noaddress'] = 'Il n\'y a pas d\'adresse associée à votre identifiant, vous ne pouvez pas être ajouté à la liste des abonnés.'; +$lang['subscr_unsubscribe_success'] = '%s a été supprimé de la liste des abonnés de %s'; +$lang['subscr_unsubscribe_error'] = 'Erreur au retrait de %s de la liste des abonnés de %s'; +$lang['subscr_already_subscribed'] = '%s est déjà abonné à %s'; +$lang['subscr_not_subscribed'] = '%s n\'est pas abonné à %s'; +$lang['subscr_m_not_subscribed'] = 'Vous n\'êtes pour l\'instant pas abonné à la page actuelle ou à la catégorie'; +$lang['subscr_m_new_header'] = 'Ajouter un abonnement'; +$lang['subscr_m_current_header'] = 'Abonnements actifs'; +$lang['subscr_m_unsubscribe'] = 'Annuler l\'abonnement'; +$lang['subscr_m_subscribe'] = 'S\'abonner'; $lang['subscr_m_receive'] = 'Recevoir'; $lang['subscr_style_every'] = 'Recevoir un courriel à chaque modification'; $lang['subscr_style_digest'] = 'Courriel, tous les %.2f jours, résumant les modifications de chaque page'; $lang['subscr_style_list'] = 'Liste des pages modifiées depuis le dernier courriel (tous les %.2f jours)'; $lang['authtempfail'] = 'L\'authentification est temporairement indisponible. Si cela perdure, merci d\'en informer l\'administrateur du wiki.'; -$lang['authpwdexpire'] = 'Votre mot de passe expirera dans %d jours, vous devriez le changer bientôt.'; $lang['i_chooselang'] = 'Choisissez votre langue'; $lang['i_installer'] = 'Installateur DokuWiki'; $lang['i_wikiname'] = 'Nom du wiki'; @@ -319,7 +319,7 @@ $lang['i_writeerr'] = 'Impossible de créer <code>%s</code>. Vous dev $lang['i_badhash'] = 'dokuwiki.php non reconnu ou modifié (hash=<code>%s</code>)'; $lang['i_badval'] = '<code>%s</code> - valeur interdite ou vide'; $lang['i_success'] = 'L\'installation s\'est terminée avec succès. Vous pouvez maintenant supprimer le fichier « install.php ». Continuer avec <a href="doku.php?id=wiki:welcome">votre nouveau DokuWiki</a>.'; -$lang['i_failure'] = 'Des erreurs sont survenues lors de l\'écriture des fichiers de configuration. Il vous faudra les corriger manuellement avant de pouvoir utiliser <a href="doku.php">votre nouveau DokuWiki</a>.'; +$lang['i_failure'] = 'Des erreurs sont survenues lors de l\'écriture des fichiers de configuration. Il vous faudra les corriger manuellement avant de pouvoir utiliser <a href="doku.php?id=wiki:welcome">votre nouveau DokuWiki</a>.'; $lang['i_policy'] = 'Politique de contrôle d\'accès initiale'; $lang['i_pol0'] = 'Wiki ouvert (lecture, écriture, envoi de fichiers pour tout le monde)'; $lang['i_pol1'] = 'Wiki public (lecture pour tout le monde, écriture et envoi de fichiers pour les utilisateurs enregistrés)'; @@ -362,6 +362,7 @@ $lang['media_perm_read'] = 'Désolé, vous n\'avez pas l\'autorisation de $lang['media_perm_upload'] = 'Désolé, vous n\'avez pas l\'autorisation d\'envoyer des fichiers.'; $lang['media_update'] = 'Envoyer une nouvelle version'; $lang['media_restore'] = 'Restaurer cette version'; +$lang['media_acl_warning'] = 'En raison des restrictions dans les ACL et de pages cachées, cette liste peut ne pas être complète.'; $lang['currentns'] = 'Catégorie courante'; $lang['searchresult'] = 'Résultat de la recherche'; $lang['plainhtml'] = 'HTML brut'; diff --git a/inc/lang/fr/subscr_digest.txt b/inc/lang/fr/subscr_digest.txt index 7ec75ca76462a505fdefff218b537b6cd29fea5e..8c21e57879cf8ff572560f0f339853b2aff54884 100644 --- a/inc/lang/fr/subscr_digest.txt +++ b/inc/lang/fr/subscr_digest.txt @@ -14,6 +14,6 @@ Pour annuler les notifications de page, connectez-vous au wiki à l'adresse @SUBSCRIBE@ et désabonnez-vous de la page ou de la catégorie. --- +-- Ce courriel a été généré par DokuWiki depuis @DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/fr/subscr_form.txt b/inc/lang/fr/subscr_form.txt index d68c05e6a05185689a15650fbaaa7dee873216a6..f14832e07b5a363e6863bbff5a47661cec87cba6 100644 --- a/inc/lang/fr/subscr_form.txt +++ b/inc/lang/fr/subscr_form.txt @@ -1,3 +1,3 @@ ====== Gestion des souscriptions ====== -Cette page vous permet de gérer vos souscriptions pour suivre les modifications sur la page et sur la catégorie courante. \ No newline at end of file +Cette page vous permet de gérer vos abonnements pour suivre les modifications sur la page et sur la catégorie courante. \ No newline at end of file diff --git a/inc/lang/fr/subscr_list.txt b/inc/lang/fr/subscr_list.txt index d8c6b68e4b59ecd5ad87d33e60ec3440db3dccb7..38d76d8cce61fe11618c00c1e80a805d8fd7c5bd 100644 --- a/inc/lang/fr/subscr_list.txt +++ b/inc/lang/fr/subscr_list.txt @@ -11,6 +11,6 @@ Pour annuler les notifications de page, connectez-vous au wiki à l'adresse @SUBSCRIBE@ et désabonnez-vous de la page ou de la catégorie. --- +-- Ce courriel a été généré par Dokuwiki : @DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/fr/subscr_single.txt b/inc/lang/fr/subscr_single.txt index 236d45e8f5dc09415ff96e1f907d8bed3f7e429f..13f2998d39c1230998a6c8a22cd7dc21633d51c7 100644 --- a/inc/lang/fr/subscr_single.txt +++ b/inc/lang/fr/subscr_single.txt @@ -17,6 +17,6 @@ Pour annuler les notifications de page, connectez-vous au wiki à l'adresse @SUBSCRIBE@ et désabonnez-vous de la page ou de la catégorie. --- +-- Ce courriel a été généré par Dokuwiki depuis @DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/gl/lang.php b/inc/lang/gl/lang.php index 82cbbbfab194c8c0f7310be49ff40d55909e063a..9e3d4f2b2668ac3fdccc1219d1a409cb81482a62 100644 --- a/inc/lang/gl/lang.php +++ b/inc/lang/gl/lang.php @@ -37,7 +37,6 @@ $lang['btn_update'] = 'Actualizar'; $lang['btn_delete'] = 'Borrar'; $lang['btn_back'] = 'Atrás'; $lang['btn_backlink'] = 'Ligazóns con isto'; -$lang['btn_backtomedia'] = 'Volver á Selección de Arquivos-Media'; $lang['btn_subscribe'] = 'AvÃsame dos trocos na páxina'; $lang['btn_profile'] = 'Actualizar Perfil'; $lang['btn_reset'] = 'Reiniciar'; @@ -141,7 +140,6 @@ $lang['js']['media_overwrt'] = 'Sobreescribir os arquivos existentes'; $lang['rssfailed'] = 'Houbo un erro ao tentar obter esta corrente RSS: '; $lang['nothingfound'] = 'Non se atopou nada.'; $lang['mediaselect'] = 'Arquivos-Media'; -$lang['fileupload'] = 'Subida de Arquivos-Media'; $lang['uploadsucc'] = 'Subida correcta'; $lang['uploadfail'] = 'Erra na subida. Pode que sexa un problema de permisos?'; $lang['uploadwrong'] = 'Subida denegada. Esta extensión de arquivo non está permitida!'; @@ -227,7 +225,6 @@ $lang['qb_sig'] = 'Inserir Sinatura'; $lang['qb_smileys'] = 'Risoños'; $lang['qb_chars'] = 'Caracteres Especiais'; $lang['upperns'] = 'choutar ao nome de espazo pai'; -$lang['admin_register'] = 'Engadir novo usuario'; $lang['metaedit'] = 'Editar Metadatos'; $lang['metasaveerr'] = 'Non se puideron escribir os metadatos'; $lang['metasaveok'] = 'Metadatos gardados'; @@ -260,7 +257,6 @@ $lang['subscr_m_subscribe'] = 'Subscribir'; $lang['subscr_m_receive'] = 'Recibir'; $lang['subscr_style_every'] = 'correo-e en cada troco'; $lang['authtempfail'] = 'A autenticación de usuario non está dispoñible de xeito temporal. De persistir esta situación, por favor, informa ao Administrador do teu Wiki.'; -$lang['authpwdexpire'] = 'A túa contrasinal expirará en %d dÃas, deberÃas cambiala pronto.'; $lang['i_chooselang'] = 'Escolle o teu idioma'; $lang['i_installer'] = 'Instalador do DokuWiki'; $lang['i_wikiname'] = 'Nome do Wiki'; @@ -278,9 +274,9 @@ $lang['i_writeerr'] = 'Non se puido crear <code>%s</code>. Terás de $lang['i_badhash'] = 'dokuwiki.php irrecoñecÃbel ou modificado (hash=<code>%s</code>)'; $lang['i_badval'] = '<code>%s</code> - ilegal ou valor baleiro'; $lang['i_success'] = 'A configuración rematou correctamente. Agora podes eliminar o arquivo install.php. Continúa deica o - <a href="doku.php">teu novo DokuWiki</a>.'; + <a href="doku.php?id=wiki:welcome">teu novo DokuWiki</a>.'; $lang['i_failure'] = 'Houbo algúns erros ao tentar escribir os arquivos de configuración. Pode que precises solucionalos de xeito manual antes - de poderes empregar <a href="doku.php">o teu novo DokuWiki</a>.'; + de poderes empregar <a href="doku.php?id=wiki:welcome">o teu novo DokuWiki</a>.'; $lang['i_policy'] = 'Regras iniciais da ACL'; $lang['i_pol0'] = 'Wiki Aberto (lectura, escritura, subida de arquivos para todas as persoas)'; $lang['i_pol1'] = 'Wiki Público (lectura para todas as persoas, escritura e subida de arquivos para usuarios rexistrados)'; diff --git a/inc/lang/he/lang.php b/inc/lang/he/lang.php index 5e2ecbdff2e5ec183795b74c961f34713577a28c..7926d87e631b5249eb95c2f71ee48760c790582d 100644 --- a/inc/lang/he/lang.php +++ b/inc/lang/he/lang.php @@ -13,6 +13,9 @@ * @author alex <ralexay@gmail.com> * @author matt carroll <matt.carroll@gmail.com> * @author tomer <tomercarolldergicz@gmail.com> + * @author itsho <itsho.itsho@gmail.com> + * @author Menashe Tomer <menashesite@gmail.com> + * @author sagi <sagiyosef@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'rtl'; @@ -44,7 +47,6 @@ $lang['btn_update'] = 'עדכון'; $lang['btn_delete'] = 'מחיקה'; $lang['btn_back'] = 'חזרה'; $lang['btn_backlink'] = '×§×™×©×•×¨×™× ×œ×›×ן'; -$lang['btn_backtomedia'] = 'חזרה לבחירת קובץ מדיה'; $lang['btn_subscribe'] = 'מעקב ×חרי ×©×™× ×•×™×'; $lang['btn_profile'] = 'עדכון הפרופיל'; $lang['btn_reset'] = '×יפוס'; @@ -57,6 +59,8 @@ $lang['btn_register'] = 'הרשמה'; $lang['btn_apply'] = 'לייש×'; $lang['btn_media'] = '×ž× ×”×œ המדיה'; $lang['btn_deleteuser'] = 'להסיר ×ת החשבון שלי'; +$lang['btn_img_backto'] = 'חזרה ×ל %s'; +$lang['btn_mediaManager'] = 'צפה ×‘×ž× ×”×œ מדיה'; $lang['loggedinas'] = '× ×›× ×¡×ª בש×:'; $lang['user'] = '×©× ×ž×©×ª×ž×©'; $lang['pass'] = 'ססמה'; @@ -77,6 +81,7 @@ $lang['regmissing'] = 'עליך ×œ×ž×œ× ×ת כל השדות, עמך $lang['reguexists'] = 'משתמש ×‘×©× ×–×” כבר × ×¨×©×, עמך הסליחה.'; $lang['regsuccess'] = 'ההרשמה הצליחה, המשתמש × ×¨×©× ×•×”×•×“×¢×” × ×©×œ×—×” בדו×״ל.'; $lang['regsuccess2'] = 'ההרשמה הצליחה, המשתמש × ×•×¦×¨.'; +$lang['regfail'] = '×ין ×פשרות ליצור ×ת המשתמש'; $lang['regmailfail'] = 'שליחת הודעת הדו×״ל כשלה, × × ×œ×™×¦×•×¨ קשר ×¢× ×ž× ×”×œ ×”×תר!'; $lang['regbadmail'] = 'יתכן ×›×™ כתובת הדו×״ל ××™× ×” תקפה, ×× ×œ× ×›×š הדבר ליצור קשר ×¢× ×ž× ×”×œ ×”×תר'; $lang['regbadpass'] = 'שתי הססמ×ות ××™× ×Ÿ זהות זו לזו, × × ×œ× ×¡×•×ª שוב.'; @@ -91,6 +96,7 @@ $lang['profdeleteuser'] = 'הסר חשבון'; $lang['profdeleted'] = 'חשבון המשתמש שלך × ×ž×—×§ מויקי ×–×”'; $lang['profconfdelete'] = '×‘×¨×¦×•× ×™ להסיר ×ת החשבון שלי מוויקי ×–×”. <br/> ×œ× × ×™×ª×Ÿ לבטל פעולה זו.'; $lang['profconfdeletemissing'] = 'תיבת ×ישור ××™× ×• מסומן'; +$lang['proffail'] = 'פרופיל המשתמש ×œ× ×¢×•×“×›×Ÿ'; $lang['pwdforget'] = 'שכחת ×ת הססמה שלך? × ×™×ª×Ÿ לקבל חדשה'; $lang['resendna'] = 'הוויקי ×”×–×” ××™× ×• תומך בחידוש ססמה'; $lang['resendpwd'] = 'הגדר ×¡×™×¡×ž× ×—×“×©×” בעבור'; @@ -106,7 +112,7 @@ $lang['searchmedia_in'] = 'חיפוש תחת %s'; $lang['txt_upload'] = 'בחירת קובץ להעלות:'; $lang['txt_filename'] = 'העל××” ×‘×©× (× ×ª×•×Ÿ לבחירה):'; $lang['txt_overwrt'] = 'שכתוב על קובץ קיי×'; -$lang['maxuploadsize'] = 'העלה מקסימו×. s% לכל קובץ.'; +$lang['maxuploadsize'] = 'העלה מקסימו×. %s לכל קובץ.'; $lang['lockedby'] = '× ×¢×•×œ על ידי:'; $lang['lockexpire'] = '×”× ×¢×™×œ×” פגה:'; $lang['js']['willexpire'] = '×”× ×¢×™×œ×” תחלוף עוד זמן קצר. \n×œ×ž× ×™×¢×ª ×”×ª× ×’×©×•×™×•×ª יש להשתמש בכפתור ×”×¨×¢× ×•×Ÿ מטה כדי ל×פס ×ת מד משך ×”× ×¢×™×œ×”.'; @@ -154,7 +160,6 @@ $lang['js']['media_overwrt'] = 'שכתב ×§×‘×¦×™× ×§×™×™×ž×™×'; $lang['rssfailed'] = '×ירע כשל בעת קבלת ×”×–× ×” זו:'; $lang['nothingfound'] = '×œ× × ×ž×¦×ו תוצ×ות.'; $lang['mediaselect'] = 'קובצי מדיה'; -$lang['fileupload'] = 'העל×ת קובצי מדיה'; $lang['uploadsucc'] = 'ההעל××” הושלמה בהצלחה'; $lang['uploadfail'] = '×ירעה שגי××” בעת העל×ת הקובץ. היתכן שתקלה זו × ×•×¦×¨×” עקב הרש×ות שגיות?'; $lang['uploadwrong'] = 'ההעל××” ×œ× ×ושרה. ×§×‘×¦×™× ×‘×¡×™×•×ž×ª זו ×סורי×!'; @@ -188,6 +193,11 @@ $lang['difflink'] = 'קישור לתצוגה השוו××” זו'; $lang['diff_type'] = 'הצגת הבדלי×:'; $lang['diff_inline'] = 'ב×ותה השורה'; $lang['diff_side'] = '×–×” לצד ×–×”'; +$lang['diffprevrev'] = 'הגירסה הקודמת'; +$lang['diffnextrev'] = 'הגירסה הב××”'; +$lang['difflastrev'] = 'הגירסה ×”××—×¨×•× ×”'; +$lang['diffbothprevrev'] = 'גירסה קודמת ×‘×©× ×™ הצדדי×'; +$lang['diffbothnextrev'] = 'הגירסה הב××” ×‘×©× ×™ הצדדי×'; $lang['line'] = 'שורה'; $lang['breadcrumb'] = '×‘×™×§×•×¨×™× ××—×¨×•× ×™×:'; $lang['youarehere'] = 'זהו מיקומך:'; @@ -240,11 +250,9 @@ $lang['qb_sig'] = 'הוספת חתימה'; $lang['qb_smileys'] = '×—×™×™×›× ×™×'; $lang['qb_chars'] = '×ª×•×•×™× ×ž×™×•×—×“×™×'; $lang['upperns'] = 'מעבר למרחב ×”×©× ×©×‘×¨×ž×” שמעל ×”× ×•×›×—×™×ª'; -$lang['admin_register'] = 'הוספת משתמש חדש'; $lang['metaedit'] = 'עריכת × ×ª×•× ×™ העל'; $lang['metasaveerr'] = '×ירע כשל בשמירת × ×ª×•× ×™ העל'; $lang['metasaveok'] = '× ×ª×•× ×™ העל × ×©×ž×¨×•'; -$lang['btn_img_backto'] = 'חזרה ×ל %s'; $lang['img_title'] = 'ש×:'; $lang['img_caption'] = 'כותרת:'; $lang['img_date'] = 'ת×ריך:'; @@ -257,7 +265,6 @@ $lang['img_camera'] = 'מצלמה:'; $lang['img_keywords'] = 'מילות מפתח:'; $lang['img_width'] = 'רוחב:'; $lang['img_height'] = 'גובה:'; -$lang['btn_mediaManager'] = 'צפה ×‘×ž× ×”×œ מדיה'; $lang['subscr_subscribe_success'] = '%s × ×•×¡×£ לרשימת ×”×ž×™× ×•×™×™× ×œ×“×£ %s'; $lang['subscr_subscribe_error'] = '×ירעה שגי××” בהוספת %s לרשימת ×”×ž×™× ×•×™×™× ×œ×“×£ %s'; $lang['subscr_subscribe_noaddress'] = '×ין כתובת המשויכת ×¢× ×”×›× ×™×¡×” שלך, × × × ×™×ª×Ÿ להוסיף ×ותך לרשימת ×”×ž×™× ×•×™×™×'; @@ -275,7 +282,6 @@ $lang['subscr_style_every'] = 'דו×״ל ×¢× ×›×œ ×©×™× ×•×™'; $lang['subscr_style_digest'] = 'הודעת דו×״ל המציגה ×ת כל ×”×©×™× ×•×™×™× ×‘×›×œ עמוד (בכל %.2f ימי×)'; $lang['subscr_style_list'] = 'רשימת ×”×©×™× ×•×™×™× ×‘×“×¤×™× ×ž××– הודעת הדו×״ל ×”××—×¨×•× ×” (בכל %.2f ימי×)'; $lang['authtempfail'] = '×ימות ×ž×©×ª×ž×©×™× ××™× ×• זמין כרגע. ×× ×ž×¦×‘ ×–×” × ×ž×©×š × × ×œ×™×™×“×¢ ×ת ×ž× ×”×œ הוויקי.'; -$lang['authpwdexpire'] = 'הסיסמה שלך תפוג ב% d ימי×, ×תה צריך ×œ×©× ×•×ª ×ת ×–×” בקרוב.'; $lang['i_chooselang'] = '× × ×œ×‘×—×•×¨ שפה'; $lang['i_installer'] = '×ª×›× ×™×ª ×”×”×ª×§× ×” של DokuWiki'; $lang['i_wikiname'] = '×©× ×”×•×•×™×§×™'; @@ -285,8 +291,9 @@ $lang['i_problems'] = '×ª×›× ×™×ª ×”×”×ª×§× ×” זיהתה מספר ב $lang['i_modified'] = 'משיקולי ×בטחה סקריפט ×–×” יעבוד ×ך ורק ×¢× ×”×ª×§× ×ª DokuWiki חדשה ×©×œ× ×¢×‘×¨×” כל ×©×™× ×•×™. עליך לחלץ ×©× ×™×ª ×ת ×”×§×‘×¦×™× ×ž×”×—×‘×™×œ×” שהורדה ×ו להיעזר בדף <a href="http://dokuwiki.org/install">Dokuwiki installation instructions</a>'; -$lang['i_funcna'] = '×¤×•× ×§×¦×™×™×ª ×”-PHP‏ <code>%s</code> ××™× ×” ×–×ž×™× ×”. יתכן ×›×™ מ×רח ×”×תר ×—×¡× ×ותה מסיבה כלשהי?'; +$lang['i_funcna'] = '×¤×•× ×§×¦×™×™×ª ×”-PHP‏ <code>%s</code> ××™× ×” ×–×ž×™× ×”. יתכן ×›×™ מ×רח ×”×תר ×—×¡× ×ותה מסיבה כלשהי?'; $lang['i_phpver'] = 'גרסת PHP שלך <code>%s</code> × ×ž×•×›×” מ <code>%s</code> הצורך. ×תה צריך לשדרג PHP שלך להתקין.'; +$lang['i_mbfuncoverload'] = 'יש לבטל ×ת mbstring.func_overload בphp.ini בכדי להריץ ×ת DokuWiki'; $lang['i_permfail'] = '<code>%s</code> ××™× ×” × ×™×ª× ×ª לכתיבה על ידי DokuWiki. עליך ×œ×©× ×•×ª הרש×ות תיקייה זו!'; $lang['i_confexists'] = '<code>%s</code> כבר קיי×'; $lang['i_writeerr'] = '×ין ×פשרות ליצור ×ת <code>%s</code>. × × ×œ×‘×“×•×§ ×ת הרש×ות הקובץ/תיקייה וליצור ×ת הקובץ ×™×“× ×™×ª.'; @@ -324,5 +331,21 @@ $lang['media_list_rows'] = 'שורות'; $lang['media_sort_name'] = 'ש×'; $lang['media_sort_date'] = 'ת×ריך'; $lang['media_namespaces'] = 'בחר מרחב שמות'; -$lang['media_files'] = '×§×‘×¦×™× ×‘ s%'; -$lang['media_upload'] = 'להעלות s%'; +$lang['media_files'] = '×§×‘×¦×™× ×‘ %s'; +$lang['media_upload'] = 'להעלות %s'; +$lang['media_search'] = 'חיפוש ב%s'; +$lang['media_view'] = '%s'; +$lang['media_viewold'] = '%s ב %s'; +$lang['media_edit'] = 'ערוך %s'; +$lang['media_history'] = 'היסטוריה של %s'; +$lang['media_meta_edited'] = 'metadata × ×¢×¨×š'; +$lang['media_perm_read'] = 'מצטערי×, ×ין לך הרש×ות ×œ×§×¨×•× ×§×‘×¦×™×.'; +$lang['media_perm_upload'] = 'מצטערי×, ×ין לך הרש×ות להעלות קבצי×.'; +$lang['media_update'] = 'העלה גירסה חדשה'; +$lang['media_restore'] = 'שחזר גירסה זו'; +$lang['media_acl_warning'] = 'רשימה זו עלולה להיות חסרה עכב חוסר בהרש×ות ×ו ×“×¤×™× ×ž×•×¡×ª×¨×™×'; +$lang['currentns'] = '×©× ×ž×¨×—×‘ × ×•×›×—×™'; +$lang['searchresult'] = 'תוצ×ות חיפוש'; +$lang['plainhtml'] = 'HTML פשוט'; +$lang['page_nonexist_rev'] = 'העמוד ×œ× ×§×™×™× ×‘%s. העמוד × ×•×¦×¨ ×‘×ž×§×•× ×–×ת ב<a href="%s">%s</a>.'; +$lang['unable_to_parse_date'] = '×œ× × ×™×ª×Ÿ ×œ×¤×¢× ×— פרמטר "%s".'; diff --git a/inc/lang/he/mailtext.txt b/inc/lang/he/mailtext.txt index 222ee1b6d06e1463d22d2bd61aaaa5ef3ca881f9..5ef4ec7e25e6deb0ac5b77d8fd4b6425c277afa6 100644 --- a/inc/lang/he/mailtext.txt +++ b/inc/lang/he/mailtext.txt @@ -2,7 +2,7 @@ ת×ריך : @DATE@ דפדפן : @BROWSER@ -כתובת ×”Ö¾IP‏ : @IPADDRESS@ +כתובת ×”Ö¾IP‏ : @IPADDRESS@ ×©× ×”×ž×רח : @HOSTNAME@ המהדורה ×”×™×©× ×”: @OLDPAGE@ המהדורה החדשה: @NEWPAGE@ @@ -11,7 +11,7 @@ @DIFF@ --- +-- דף ×–×” × ×•×¦×¨ ×¢×´×™ ×”Ö¾DokuWiki הזמין בכתובת @DOKUWIKIURL@ diff --git a/inc/lang/he/registermail.txt b/inc/lang/he/registermail.txt index 3edca3fa0326c41ceb8bb0931f8da6934991e469..d478d1c20cd44b9f69294a4ee2fdac6dbf52bfa3 100644 --- a/inc/lang/he/registermail.txt +++ b/inc/lang/he/registermail.txt @@ -6,9 +6,9 @@ ת×ריך : @DATE@ דפדפן : @BROWSER@ -כתובת IP‏ : @IPADDRESS@ +כתובת IP‏ : @IPADDRESS@ ×©× ×”×ž×רח : @HOSTNAME@ --- +-- הודעת דו×״ל זו × ×•×¦×¨×” על ידי ×”Ö¾DokuWiki הזמין בכתובת @DOKUWIKIURL@ diff --git a/inc/lang/he/resetpwd.txt b/inc/lang/he/resetpwd.txt new file mode 100644 index 0000000000000000000000000000000000000000..bd7b5ace419e0ca139ac08dca251e2b8e7c21fac --- /dev/null +++ b/inc/lang/he/resetpwd.txt @@ -0,0 +1,3 @@ +====== קבע סיסמה חדשה ====== + +×× × ×”×›× ×¡ סיסמה חדשה לחשבון שלך בויקי ×–×”. \ No newline at end of file diff --git a/inc/lang/hi/lang.php b/inc/lang/hi/lang.php index 71795191c8b28cdc03148fa27e219832c1fc1fa2..79bc0a1abdce5f7ac7085007fed83012817cf74e 100644 --- a/inc/lang/hi/lang.php +++ b/inc/lang/hi/lang.php @@ -37,7 +37,6 @@ $lang['btn_update'] = 'अदà¥à¤¯à¤¤à¤¨ करना'; $lang['btn_delete'] = 'मिटाना'; $lang['btn_back'] = 'पीछे'; $lang['btn_backlink'] = 'पिछली कड़ियाà¤'; -$lang['btn_backtomedia'] = 'मीडिया फाइल चयन पर पीछे जायें'; $lang['btn_subscribe'] = 'सदसà¥à¤¯à¤¤à¤¾ पà¥à¤°à¤¬à¤‚धन'; $lang['btn_profile'] = 'परिचय संपादित करें'; $lang['btn_resendpwd'] = 'नया पासवरà¥à¤¡ सेट करें'; @@ -102,7 +101,6 @@ $lang['qb_link'] = 'आंतरिक कड़ी'; $lang['qb_extlink'] = 'बाहà¥à¤¯ कड़ी'; $lang['qb_hr'] = 'खड़ी रेखा'; $lang['qb_sig'] = 'हसà¥à¤¤à¤¾à¤•à¥à¤·à¤° डालें'; -$lang['admin_register'] = 'नया उपयोगकरà¥à¤¤à¤¾ जोड़ें'; $lang['btn_img_backto'] = 'वापस जाना %s'; $lang['img_title'] = 'शीरà¥à¤·à¤•:'; $lang['img_caption'] = 'सहशीरà¥à¤·à¤•:'; diff --git a/inc/lang/hr/lang.php b/inc/lang/hr/lang.php index c3cf6d8221621e0f9ce86a80985252beb15947f6..40e0c59c360226841a6f1320f7535b3d07e9fe87 100644 --- a/inc/lang/hr/lang.php +++ b/inc/lang/hr/lang.php @@ -2,7 +2,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Tomo Krajina <aaa@puzz.info> * @author Branko Rihtman <theney@gmail.com> * @author Dražen OdobaÅ¡ić <dodobasic@gmail.com> @@ -15,7 +15,7 @@ $lang['doublequoteopening'] = '“'; $lang['doublequoteclosing'] = 'â€'; $lang['singlequoteopening'] = '‘'; $lang['singlequoteclosing'] = '’'; -$lang['apostrophe'] = '\''; +$lang['apostrophe'] = '’'; $lang['btn_edit'] = 'Izmijeni stranicu'; $lang['btn_source'] = 'Prikaži kod stranice'; $lang['btn_show'] = 'Prikaži dokument'; @@ -35,11 +35,10 @@ $lang['btn_secedit'] = 'Uredi'; $lang['btn_login'] = 'Prijavi se'; $lang['btn_logout'] = 'Odjavi se'; $lang['btn_admin'] = 'Administriranje'; -$lang['btn_update'] = 'Dopuni'; +$lang['btn_update'] = 'Nadogradi'; $lang['btn_delete'] = 'ObriÅ¡i'; $lang['btn_back'] = 'Nazad'; $lang['btn_backlink'] = 'Povratni linkovi'; -$lang['btn_backtomedia'] = 'Natrag na odabir datoteka'; $lang['btn_subscribe'] = 'UreÄ‘ivanje pretplata'; $lang['btn_profile'] = 'Dopuni profil'; $lang['btn_reset'] = 'PoniÅ¡ti'; @@ -64,7 +63,7 @@ $lang['remember'] = 'Zapamti me'; $lang['fullname'] = 'Ime i prezime'; $lang['email'] = 'E-poÅ¡ta'; $lang['profile'] = 'KorisniÄki profil'; -$lang['badlogin'] = 'Ne ispravno korisniÄko ime ili lozinka.'; +$lang['badlogin'] = 'Neispravno korisniÄko ime ili lozinka.'; $lang['badpassconfirm'] = 'Nažalost, lozinka nije ispravna'; $lang['minoredit'] = 'Manje izmjene'; $lang['draftdate'] = 'Nacrt promjena automatski spremljen u'; @@ -74,6 +73,7 @@ $lang['regmissing'] = 'Morate popuniti sva polja.'; $lang['reguexists'] = 'Korisnik s tim korisniÄkim imenom već postoji.'; $lang['regsuccess'] = 'Korisnik je uspjeÅ¡no stvoren i poslana je lozinka emailom.'; $lang['regsuccess2'] = 'Korisnik je uspjeÅ¡no stvoren.'; +$lang['regfail'] = 'Korisnik ne može biti kreiran.'; $lang['regmailfail'] = 'Pojavila se greÅ¡ka prilikom slanja lozinke emailom. Kontaktirajte administratora!'; $lang['regbadmail'] = 'Email adresa nije ispravna, ukoliko ovo smatrate greÅ¡kom, kontaktirajte administratora.'; $lang['regbadpass'] = 'Unesene lozinke nisu jednake, pokuÅ¡ajte ponovno.'; @@ -88,6 +88,7 @@ $lang['profdeleteuser'] = 'ObriÅ¡i korisnika'; $lang['profdeleted'] = 'VaÅ¡ korisnik je obrisan s ovog wiki-a'; $lang['profconfdelete'] = 'Želim ukloniti mojeg korisnika s ovog wiki-a. <br/> Ova akcija se ne može poniÅ¡titi.'; $lang['profconfdeletemissing'] = 'KvaÄica za potvrdu nije oznaÄena'; +$lang['proffail'] = 'Profil korisnika nije izmijenjen.'; $lang['pwdforget'] = 'Izgubili ste lozinku? Zatražite novu'; $lang['resendna'] = 'Ovaj wiki ne podržava ponovno slanje lozinke e-poÅ¡tom.'; $lang['resendpwd'] = 'Postavi novu lozinku za'; @@ -151,7 +152,6 @@ $lang['js']['media_overwrt'] = 'PrepiÅ¡i preko postojeće datoteke'; $lang['rssfailed'] = 'DoÅ¡lo je do greÅ¡ke prilikom preuzimanja feed-a: '; $lang['nothingfound'] = 'Traženi dokumetni nisu pronaÄ‘eni.'; $lang['mediaselect'] = 'Datoteke'; -$lang['fileupload'] = 'UÄitavanje datoteka'; $lang['uploadsucc'] = 'UÄitavanje uspjeÅ¡no'; $lang['uploadfail'] = 'NeuspjeÅ¡no uÄitavanje. Možda dozvole na poslužitelju nisu ispravne?'; $lang['uploadwrong'] = 'UÄitavanje nije dopuÅ¡teno. Nastavak datoteke je zabranjen!'; @@ -242,7 +242,6 @@ $lang['qb_sig'] = 'Ubaci potpis'; $lang['qb_smileys'] = 'SmijeÅ¡kići'; $lang['qb_chars'] = 'Posebni znakovi'; $lang['upperns'] = 'SkoÄi u nadreÄ‘eni imenski prostor'; -$lang['admin_register'] = 'Dodaj novog korisnika'; $lang['metaedit'] = 'Uredi metapodatake'; $lang['metasaveerr'] = 'NeuspjeÅ¡no zapisivanje metapodataka'; $lang['metasaveok'] = 'Spremljeni metapdaci'; @@ -275,7 +274,6 @@ $lang['subscr_style_every'] = 'e-poÅ¡ta za svaku promjenu'; $lang['subscr_style_digest'] = 'e-poÅ¡ta s kratakim prikazom promjena za svaku stranicu (svaka %.2f dana)'; $lang['subscr_style_list'] = 'listu promijenjenih stranica od zadnje primljene e-poÅ¡te (svaka %.2f dana)'; $lang['authtempfail'] = 'Autentifikacija korisnika je privremeno nedostupna. Molimo Vas da kontaktirate administratora.'; -$lang['authpwdexpire'] = 'VaÅ¡a lozinka će isteći za %d dana, trebate ju promijeniti.'; $lang['i_chooselang'] = 'Izaberite vaÅ¡ jezik'; $lang['i_installer'] = 'DokuWiki postavljanje'; $lang['i_wikiname'] = 'Naziv Wikija'; @@ -336,6 +334,7 @@ $lang['media_perm_read'] = 'Nažalost, nemate prava za Äitanje datoteka.' $lang['media_perm_upload'] = 'Nažalost, nemate prava za uÄitavanje datoteka.'; $lang['media_update'] = 'UÄitaj novu verziju'; $lang['media_restore'] = 'Vrati ovu verziju'; +$lang['media_acl_warning'] = 'Ova lista moguće da nije kompletna zbog ACL ograniÄenja i skrivenih stranica.'; $lang['currentns'] = 'Tekući imeniÄki prostor'; $lang['searchresult'] = 'Rezultati pretraživanja'; $lang['plainhtml'] = 'ÄŒisti HTML'; diff --git a/inc/lang/hu/admin.txt b/inc/lang/hu/admin.txt index 03d29243c796bc97d620ffdb4b496580c543c4c6..51b13eb56cc851cf18419189cf39cbb79c3f7d51 100644 --- a/inc/lang/hu/admin.txt +++ b/inc/lang/hu/admin.txt @@ -1,3 +1,3 @@ -===== Adminisztrálás ===== +===== Adminisztráció ===== -Itt találod a DokuWiki adminisztrálási lehetÅ‘ségeit. +Itt találod a DokuWiki adminisztrációs lehetÅ‘ségeit. diff --git a/inc/lang/hu/lang.php b/inc/lang/hu/lang.php index bdc78f68dec1790abacf2ab180cfa87b42d7244f..83b45b6d2c55ce12c69f87b73672434791e24856 100644 --- a/inc/lang/hu/lang.php +++ b/inc/lang/hu/lang.php @@ -45,7 +45,6 @@ $lang['btn_update'] = 'FrissÃtés'; $lang['btn_delete'] = 'Törlés'; $lang['btn_back'] = 'Vissza'; $lang['btn_backlink'] = 'Hivatkozások'; -$lang['btn_backtomedia'] = 'Vissza a médiafájlok kezeléséhez'; $lang['btn_subscribe'] = 'Feliratkozás az oldalváltozásokra'; $lang['btn_profile'] = 'Személyes beállÃtások'; $lang['btn_reset'] = 'Alaphelyzet'; @@ -75,11 +74,12 @@ $lang['badpassconfirm'] = 'Hibás jelszó'; $lang['minoredit'] = 'Apróbb változások'; $lang['draftdate'] = 'Piszkozat elmentve:'; $lang['nosecedit'] = 'IdÅ‘közben megváltozott az oldal, emiatt a szakasz nem friss. Töltsd újra az egész oldalt!'; -$lang['searchcreatepage'] = "Ha nem találtad meg amit kerestél, akkor létrehozhatsz egy új oldalt a keresésed alapján ''Az oldal szerkesztése'' gombbal."; +$lang['searchcreatepage'] = 'Ha nem találtad meg amit kerestél, akkor létrehozhatsz egy új oldalt a keresésed alapján \'\'Az oldal szerkesztése\'\' gombbal.'; $lang['regmissing'] = 'Sajnáljuk, az összes mezÅ‘t ki kell töltened.'; $lang['reguexists'] = 'Sajnáljuk, ilyen azonosÃtójú felhasználónk már van.'; $lang['regsuccess'] = 'A felhasználói azonosÃtót létrehoztuk. A jelszót postáztuk.'; $lang['regsuccess2'] = 'A felhasználói azonosÃtót létrehoztuk.'; +$lang['regfail'] = 'A felhasználó létrehozása sikertelen.'; $lang['regmailfail'] = 'Úgy tűnik hiba történt a jelszó postázása során. Kérjük lépj kapcsolatba az Adminisztrátorokkal!'; $lang['regbadmail'] = 'A megadott e-mail cÃm érvénytelennek tűnik. Ha úgy gondolod ez hiba, lépj kapcsolatba az Adminisztrátorokkal!'; $lang['regbadpass'] = 'A két megadott jelszó nem egyezik, próbáld újra!'; @@ -94,6 +94,7 @@ $lang['profdeleteuser'] = 'Felhasználói fiók törlése'; $lang['profdeleted'] = 'Felhasználói fiókodat eltávolÃtottuk errÅ‘l a wiki-rÅ‘l.'; $lang['profconfdelete'] = 'Szeretném eltávolÃtani a felhasználói fiókomat errÅ‘l a wikirÅ‘l. <br/> Ez a cselekvés nem visszavonható.'; $lang['profconfdeletemissing'] = 'A megerÅ‘sÃtÅ‘ négyzet nincs bepipálva'; +$lang['proffail'] = 'A profil frissÃtése sikertelen.'; $lang['pwdforget'] = 'Elfelejtetted a jelszavad? Itt kérhetsz újat'; $lang['resendna'] = 'Ez a wiki nem támogatja a jelszó újraküldést.'; $lang['resendpwd'] = 'Új jelszó beállÃtása a következÅ‘höz:'; @@ -157,7 +158,6 @@ $lang['js']['media_overwrt'] = 'MeglévÅ‘ fájlok felülÃrása'; $lang['rssfailed'] = 'Hiba történt a hÃrfolyam betöltésekor: '; $lang['nothingfound'] = 'Ãœres mappa.'; $lang['mediaselect'] = 'Médiafájl kiválasztása'; -$lang['fileupload'] = 'Médiafájl feltöltése'; $lang['uploadsucc'] = 'Sikeres feltöltés'; $lang['uploadfail'] = 'A feltöltés nem sikerült. Talán rosszak a jogosultságok?'; $lang['uploadwrong'] = 'A feltöltés megtagadva. Ez a fájlkiterjesztés tiltott.'; @@ -248,7 +248,6 @@ $lang['qb_sig'] = 'AláÃrás beszúrása'; $lang['qb_smileys'] = 'Smiley-k'; $lang['qb_chars'] = 'Speciális karakterek'; $lang['upperns'] = 'ugrás a tartalmazó névtérhez'; -$lang['admin_register'] = 'Új felhasználó'; $lang['metaedit'] = 'Metaadatok szerkesztése'; $lang['metasaveerr'] = 'A metaadatok Ãrása nem sikerült'; $lang['metasaveok'] = 'Metaadatok elmentve'; @@ -281,7 +280,6 @@ $lang['subscr_style_every'] = 'e-mailt minden változásról'; $lang['subscr_style_digest'] = 'összefoglaló e-mailt oldalanként (minden %.2f nap)'; $lang['subscr_style_list'] = 'egy listát a módosÃtott oldalakról a legutóbbi e-mail óta (minden %.2f nap)'; $lang['authtempfail'] = 'A felhasználó azonosÃtás átmenetileg nem működik. Ha sokáig Ãgy lenne, légy szÃves értesÃtsd az Adminisztrátorokat!'; -$lang['authpwdexpire'] = 'A jelszavad %d nap múlva lejár, hamarosan meg kell változtatnod.'; $lang['i_chooselang'] = 'Válassz nyelvet'; $lang['i_installer'] = 'DokuWiki BeállÃtó Varázsló'; $lang['i_wikiname'] = 'A Wiki neve'; @@ -292,6 +290,7 @@ $lang['i_modified'] = 'Biztonsági okokból ez a Varázsló csak új Csomagold ki újra a fájlokat a letöltött csomagból, vagy nézd meg a teljes <a href="http://dokuwiki.org/install">Dokuwiki telepÃtési útmutatót</a>.'; $lang['i_funcna'] = 'A <code>%s</code> PHP funkció nem elérhetÅ‘. Esetleg a tárhelyszolgáltató letiltotta biztonsági okok miatt?'; $lang['i_phpver'] = 'A PHP <code>%s</code> verziója alacsonyabb, mint ami szükséges lenne: <code>%s</code>. FrissÃtsd a PHP-det újabb verzióra!'; +$lang['i_mbfuncoverload'] = 'A DokuWiki futtatásához az mbstring.func_overload opciót ki kell kapcsolni a php.ini-ben.'; $lang['i_permfail'] = 'A DokiWiki nem tudja Ãrni a <code>%s</code> könyvtárat. Be kell állÃtanod ehhez a könyvtárhoz a megfelelÅ‘ jogosultságokat!'; $lang['i_confexists'] = '<code>%s</code> már létezik.'; $lang['i_writeerr'] = 'Nem tudom ezt létrehozni: <code>%s</code>. EllenÅ‘rizd a könyvtár/fájl jogosultságokat, és hozd létre az állományt kézzel.'; @@ -341,7 +340,10 @@ $lang['media_perm_read'] = 'Sajnáljuk, nincs jogod a fájlok olvasásáho $lang['media_perm_upload'] = 'Sajnáljuk, nincs jogod a feltöltéshez.'; $lang['media_update'] = 'Új verzió feltöltése'; $lang['media_restore'] = 'Ezen verzió visszaállÃtása'; +$lang['media_acl_warning'] = 'Ez a lista hiányos lehet a hozzáférési listák (ACL) korlátozásai és a rejtett oldalak miatt.'; $lang['currentns'] = 'Aktuális névtér'; $lang['searchresult'] = 'Keresés eredménye'; $lang['plainhtml'] = 'Sima HTML'; $lang['wikimarkup'] = 'Wiki-jelölÅ‘nyelv'; +$lang['page_nonexist_rev'] = 'A(z) %s oldal nem létezik. KésÅ‘bb lett létrehozva a(z) <a href="%s">%s</a> helyen.'; +$lang['unable_to_parse_date'] = 'A "%s" paraméter feldolgozása sikertelen.'; diff --git a/inc/lang/ia/lang.php b/inc/lang/ia/lang.php index a533883b6142b703856fe8c900b016f2f22bb23a..3585d716d4a2d9fe378c8f889f80781e2965effc 100644 --- a/inc/lang/ia/lang.php +++ b/inc/lang/ia/lang.php @@ -41,7 +41,6 @@ $lang['btn_update'] = 'Actualisar'; $lang['btn_delete'] = 'Deler'; $lang['btn_back'] = 'Retornar'; $lang['btn_backlink'] = 'Retroligamines'; -$lang['btn_backtomedia'] = 'Retornar al selection de files multimedia'; $lang['btn_subscribe'] = 'Gerer subscriptiones'; $lang['btn_profile'] = 'Actualisar profilo'; $lang['btn_reset'] = 'Reinitialisar'; @@ -99,7 +98,6 @@ $lang['js']['notsavedyet'] = 'Le modificationes non salveguardate essera per $lang['rssfailed'] = 'Un error occurreva durante le obtention de iste syndication:'; $lang['nothingfound'] = 'Nihil ha essite trovate.'; $lang['mediaselect'] = 'Files multimedia'; -$lang['fileupload'] = 'Incargar file multimedia'; $lang['uploadsucc'] = 'Incargamento succedite'; $lang['uploadfail'] = 'Incargamento fallite. Pote esser que le permissiones es incorrecte.'; $lang['uploadwrong'] = 'Incargamento refusate. Iste typo de file es prohibite!'; @@ -199,7 +197,6 @@ $lang['qb_sig'] = 'Inserer signatura'; $lang['qb_smileys'] = 'Emoticones '; $lang['qb_chars'] = 'Characteres special'; $lang['upperns'] = 'Saltar al spatio de nomines superior'; -$lang['admin_register'] = 'Adder nove usator'; $lang['metaedit'] = 'Modificar metadatos'; $lang['metasaveerr'] = 'Scriptura de metadatos fallite'; $lang['metasaveok'] = 'Metadatos salveguardate'; diff --git a/inc/lang/id-ni/lang.php b/inc/lang/id-ni/lang.php index 1ff714f3ed97f99a560df65e66e9df1c0af6d55f..9bd495c66cf92b9f0fb0be695bfd65bdf4f71bee 100644 --- a/inc/lang/id-ni/lang.php +++ b/inc/lang/id-ni/lang.php @@ -35,7 +35,6 @@ $lang['btn_update'] = 'Bohouni'; $lang['btn_delete'] = 'Heta'; $lang['btn_back'] = 'Fulifuri'; $lang['btn_backlink'] = 'Link fangawuli'; -$lang['btn_backtomedia'] = 'Angawuli ba filianö Mediafile'; $lang['btn_profile'] = 'Famohouni pörofile'; $lang['btn_reset'] = 'Fawu\'a'; $lang['btn_draft'] = 'Fawu\'a wanura'; diff --git a/inc/lang/id/lang.php b/inc/lang/id/lang.php index dc4ca00e0ef10efe2df1cdfeadd9e7aee3eafa7b..4321e2cc908c3ddf228b03f45e0effc37d3f0a37 100644 --- a/inc/lang/id/lang.php +++ b/inc/lang/id/lang.php @@ -2,7 +2,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author mubaidillah <mubaidillah@gmail.com> * @author Irwan Butar Butar <irwansah.putra@gmail.com> * @author Yustinus Waruwu <juswaruwu@gmail.com> @@ -12,10 +12,10 @@ */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; -$lang['doublequoteopening'] = '"'; -$lang['doublequoteclosing'] = '"'; -$lang['singlequoteopening'] = '\''; -$lang['singlequoteclosing'] = '\''; +$lang['doublequoteopening'] = '“'; +$lang['doublequoteclosing'] = 'â€'; +$lang['singlequoteopening'] = '‘'; +$lang['singlequoteclosing'] = '’'; $lang['apostrophe'] = '\''; $lang['btn_edit'] = 'Edit halaman ini'; $lang['btn_source'] = 'Lihat sumber halaman'; @@ -23,7 +23,6 @@ $lang['btn_show'] = 'Tampilkan halaman'; $lang['btn_create'] = 'Buat halaman baru'; $lang['btn_search'] = 'Cari'; $lang['btn_save'] = 'Simpan'; -$lang['btn_preview'] = 'Preview'; $lang['btn_top'] = 'kembali ke atas'; $lang['btn_newer'] = '<< lebih lanjut'; $lang['btn_older'] = 'sebelumnya >>'; @@ -32,7 +31,6 @@ $lang['btn_recent'] = 'Perubahan terbaru'; $lang['btn_upload'] = 'Upload'; $lang['btn_cancel'] = 'Batal'; $lang['btn_index'] = 'Indeks'; -$lang['btn_secedit'] = 'Edit'; $lang['btn_login'] = 'Login'; $lang['btn_logout'] = 'Keluar'; $lang['btn_admin'] = 'Admin'; @@ -40,12 +38,9 @@ $lang['btn_update'] = 'Ubah'; $lang['btn_delete'] = 'Hapus'; $lang['btn_back'] = 'Kembali'; $lang['btn_backlink'] = 'Backlinks'; -$lang['btn_backtomedia'] = 'Kembali ke Pilihan Mediafile'; $lang['btn_subscribe'] = 'Ikuti Perubahan'; $lang['btn_profile'] = 'Ubah Profil'; -$lang['btn_reset'] = 'Reset'; $lang['btn_resendpwd'] = 'Atur password baru'; -$lang['btn_draft'] = 'Edit draft'; $lang['btn_recover'] = 'Cadangkan draf'; $lang['btn_draftdel'] = 'Hapus draft'; $lang['btn_revert'] = 'Kembalikan'; @@ -151,7 +146,6 @@ $lang['js']['media_overwrt'] = 'Timpa berkas yang ada'; $lang['rssfailed'] = 'Error terjadi saat mengambil feed: '; $lang['nothingfound'] = 'Tidak menemukan samasekali.'; $lang['mediaselect'] = 'Pilihan Mediafile'; -$lang['fileupload'] = 'Mediafile Upload'; $lang['uploadsucc'] = 'Upload sukses'; $lang['uploadfail'] = 'Upload gagal. Apakah hak ijinnya salah?'; $lang['uploadwrong'] = 'Upload ditolak. Ekstensi file ini tidak diperbolehkan!'; @@ -159,7 +153,7 @@ $lang['uploadexist'] = 'File telah ada. Tidak mengerjakan apa-apa.'; $lang['uploadbadcontent'] = 'Isi file yang diupload tidak cocok dengan ekstensi file %s.'; $lang['uploadspam'] = 'File yang diupload diblok oleh spam blacklist.'; $lang['uploadxss'] = 'File yang diupload diblok karena kemungkinan isi yang berbahaya.'; -$lang['uploadsize'] = 'File yang diupload terlalu besar. (max.%)'; +$lang['uploadsize'] = 'File yang diupload terlalu besar. (max. %s)'; $lang['deletesucc'] = 'File "%s" telah dihapus.'; $lang['deletefail'] = '"%s" tidak dapat dihapus - cek hak aksesnya.'; $lang['mediainuse'] = 'File "%s" belum dihapus - file ini sedang digunakan.'; @@ -174,7 +168,6 @@ $lang['mediaextchange'] = 'Ektensi file berubah dari .%s ke .%s'; $lang['reference'] = 'Referensi untuk'; $lang['ref_inuse'] = 'File tidak dapat dihapus karena sedang digunakan oleh halaman:'; $lang['ref_hidden'] = 'Beberapa referensi ada didalam halaman yang tidak diijinkan untuk Anda baca.'; -$lang['hits'] = 'Hits'; $lang['quickhits'] = 'Matching pagenames'; $lang['toc'] = 'Daftar isi'; $lang['current'] = 'sekarang'; @@ -197,7 +190,6 @@ $lang['deleted'] = 'terhapus'; $lang['created'] = 'dibuat'; $lang['restored'] = 'revisi lama ditampilkan kembali (%s)'; $lang['external_edit'] = 'Perubahan eksternal'; -$lang['summary'] = 'Edit summary'; $lang['noflash'] = '<a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> diperlukan untuk menampilkan konten ini.'; $lang['download'] = 'Unduh Cuplikan'; $lang['tools'] = 'Alat'; @@ -220,27 +212,17 @@ $lang['qb_italic'] = 'Miring'; $lang['qb_underl'] = 'Garis Bawah'; $lang['qb_code'] = 'Kode'; $lang['qb_strike'] = 'Text Tercoret'; -$lang['qb_h1'] = 'Level 1 Headline'; -$lang['qb_h2'] = 'Level 2 Headline'; -$lang['qb_h3'] = 'Level 3 Headline'; -$lang['qb_h4'] = 'Level 4 Headline'; -$lang['qb_h5'] = 'Level 5 Headline'; $lang['qb_hs'] = 'Pilih Judul'; $lang['qb_hplus'] = 'Judul Lebih Atas'; $lang['qb_hminus'] = 'Judul Lebih Bawah'; $lang['qb_hequal'] = 'Tingkat Judul yang Sama'; -$lang['qb_link'] = 'Link Internal'; -$lang['qb_extlink'] = 'Link External'; $lang['qb_hr'] = 'Garis Horisontal'; $lang['qb_ol'] = 'Item Berurutan'; $lang['qb_ul'] = 'Item Tidak Berurutan'; $lang['qb_media'] = 'Tambahkan gambar atau file lain'; $lang['qb_sig'] = 'Sisipkan tanda tangan'; -$lang['qb_smileys'] = 'Smileys'; $lang['qb_chars'] = 'Karakter Khusus'; $lang['upperns'] = 'lompat ke namespace induk'; -$lang['admin_register'] = 'Tambah user baru'; -$lang['metaedit'] = 'Edit Metadata'; $lang['metasaveerr'] = 'Gagal menulis metadata'; $lang['metasaveok'] = 'Metadata tersimpan'; $lang['img_title'] = 'Judul:'; diff --git a/inc/lang/is/lang.php b/inc/lang/is/lang.php index de1a01ed5b1080c88a233fe9ec78ef9cadfd8c11..0af4c57a69b468d3a51f1182f770b34f4987994a 100644 --- a/inc/lang/is/lang.php +++ b/inc/lang/is/lang.php @@ -42,7 +42,6 @@ $lang['btn_update'] = 'Uppfæra'; $lang['btn_delete'] = 'Eyða'; $lang['btn_back'] = 'Til baka'; $lang['btn_backlink'] = 'Hvað tengist hingað'; -$lang['btn_backtomedia'] = 'Aftur til miðlaskrá'; $lang['btn_subscribe'] = 'Vakta'; $lang['btn_profile'] = 'Uppfæra notanda'; $lang['btn_reset'] = 'Endurstilla'; @@ -96,7 +95,6 @@ $lang['lockedby'] = 'Læstur af:'; $lang['lockexpire'] = 'Læsing rennur út eftir:'; $lang['nothingfound'] = 'Ekkert fannst'; $lang['mediaselect'] = 'Miðlaskrá'; -$lang['fileupload'] = 'Hlaða inn miðlaskrá'; $lang['uploadsucc'] = 'Innhlaðning tókst'; $lang['uploadfail'] = 'Villa à innhlaðningu'; $lang['uploadwrong'] = 'Innhleðslu neitað. Skrár með þessari endingu eru ekki leyfðar.'; @@ -166,7 +164,6 @@ $lang['qb_media'] = 'Bæta inn myndum og öðrum skrám'; $lang['qb_sig'] = 'Undirskrift þÃn auk tÃmasetningu'; $lang['qb_smileys'] = 'Broskallar'; $lang['qb_chars'] = 'Sértækir stafir'; -$lang['admin_register'] = 'Setja nýjan notenda inn'; $lang['metaedit'] = 'Breyta lýsigögnum'; $lang['metasaveerr'] = 'Vistun lýsigagna mistókst'; $lang['metasaveok'] = 'Lýsigögn vistuð'; diff --git a/inc/lang/it/lang.php b/inc/lang/it/lang.php index c6b99d5b501301b7f564eabc1c78f54f55359e56..33a990aa9c9058857d3d0f86b6e729577b5927db 100644 --- a/inc/lang/it/lang.php +++ b/inc/lang/it/lang.php @@ -21,6 +21,7 @@ * @author Francesco <francesco.cavalli@hotmail.com> * @author Fabio <fabioslurp@yahoo.it> * @author Torpedo <dgtorpedo@gmail.com> + * @author Maurizio <mcannavo@katamail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -52,7 +53,6 @@ $lang['btn_update'] = 'Aggiorna'; $lang['btn_delete'] = 'Elimina'; $lang['btn_back'] = 'Indietro'; $lang['btn_backlink'] = 'Puntano qui'; -$lang['btn_backtomedia'] = 'Torna alla selezione file'; $lang['btn_subscribe'] = 'Sottoscrivi modifiche'; $lang['btn_profile'] = 'Aggiorna profilo'; $lang['btn_reset'] = 'Annulla'; @@ -87,6 +87,7 @@ $lang['regmissing'] = 'Devi riempire tutti i campi.'; $lang['reguexists'] = 'Il nome utente inserito esiste già .'; $lang['regsuccess'] = 'L\'utente è stato creato. La password è stata spedita via email.'; $lang['regsuccess2'] = 'L\'utente è stato creato.'; +$lang['regfail'] = 'L\'utente non può essere creato.'; $lang['regmailfail'] = 'Sembra che ci sia stato un errore nell\'invio della email. Contatta l\'amministratore!'; $lang['regbadmail'] = 'L\'indirizzo email fornito sembra essere non valido - se pensi che ci sia un errore contatta l\'amministratore'; $lang['regbadpass'] = 'Le due password inserite non coincidono, prova di nuovo.'; @@ -101,6 +102,7 @@ $lang['profdeleteuser'] = 'Elimina account'; $lang['profdeleted'] = 'Il tuo account utente è stato rimosso da questa wiki'; $lang['profconfdelete'] = 'Voglio rimuovere il mio account da questa wiki. <br/> Questa operazione non può essere annullata.'; $lang['profconfdeletemissing'] = 'La check box di conferma non è selezionata'; +$lang['proffail'] = 'Il profilo utente non è stato aggiornato.'; $lang['pwdforget'] = 'Hai dimenticato la password? Richiedine una nuova'; $lang['resendna'] = 'Questo wiki non supporta l\'invio di nuove password.'; $lang['resendpwd'] = 'Imposta nuova password per'; @@ -164,7 +166,6 @@ $lang['js']['media_overwrt'] = 'Sovrascrivi i file esistenti'; $lang['rssfailed'] = 'Si è verificato un errore cercando questo feed: '; $lang['nothingfound'] = 'Nessun risultato trovato.'; $lang['mediaselect'] = 'Selezione dei file'; -$lang['fileupload'] = 'File caricato'; $lang['uploadsucc'] = 'Invio riuscito'; $lang['uploadfail'] = 'Invio fallito. È possibile che si tratti di un problema di permessi.'; $lang['uploadwrong'] = 'Invio rifiutato. Questa estensione di file non è ammessa'; @@ -255,7 +256,6 @@ $lang['qb_sig'] = 'Inserisci la firma'; $lang['qb_smileys'] = 'Smiley'; $lang['qb_chars'] = 'Caratteri speciali'; $lang['upperns'] = 'vai alla categoria principale'; -$lang['admin_register'] = 'Aggiungi un nuovo utente'; $lang['metaedit'] = 'Modifica metadati'; $lang['metasaveerr'] = 'Scrittura metadati fallita'; $lang['metasaveok'] = 'Metadati salvati'; @@ -288,7 +288,6 @@ $lang['subscr_style_every'] = 'email per ogni modifica'; $lang['subscr_style_digest'] = 'email di riassunto dei cambiamenti per ogni pagina (ogni %.2f giorni)'; $lang['subscr_style_list'] = 'lista delle pagine cambiate dall\'ultima email (ogni %.2f giorni)'; $lang['authtempfail'] = 'L\'autenticazione è temporaneamente non disponibile. Se questa situazione persiste, informa l\'amministratore di questo wiki.'; -$lang['authpwdexpire'] = 'La tua password scadrà in %d giorni, dovresti cambiarla quanto prima.'; $lang['i_chooselang'] = 'Scegli la lingua'; $lang['i_installer'] = 'Installazione di DokuWiki'; $lang['i_wikiname'] = 'Nome Wiki'; @@ -350,7 +349,10 @@ $lang['media_perm_read'] = 'Spiacente, non hai abbastanza privilegi per le $lang['media_perm_upload'] = 'Spiacente, non hai abbastanza privilegi per caricare files.'; $lang['media_update'] = 'Carica nuova versione'; $lang['media_restore'] = 'Ripristina questa versione'; +$lang['media_acl_warning'] = 'Questa lista potrebbe non essere completa a causa di restrizioni ACL e pagine nascoste.'; $lang['currentns'] = 'Namespace corrente'; $lang['searchresult'] = 'Risultati della ricerca'; $lang['plainhtml'] = 'HTML'; +$lang['wikimarkup'] = 'Marcatura wiki'; $lang['page_nonexist_rev'] = 'Pagina non esistente a %s. E\' stata creata successivamente a <a href="%s">%s</a>.'; +$lang['unable_to_parse_date'] = 'Impossibile eseguire l\'analisi al parametro "%s".'; diff --git a/inc/lang/ja/index.txt b/inc/lang/ja/index.txt index b0447899da792019a7c311cab5e11c6787973a3b..eb168d146ac43ba1e5af6e558c3b75abf5e41d21 100644 --- a/inc/lang/ja/index.txt +++ b/inc/lang/ja/index.txt @@ -1,4 +1,4 @@ ====== サイトマップ ====== -[[doku>namespaces|åå‰ç©ºé–“]] ã«åŸºã¥ãã€å…¨ã¦ã®æ–‡æ›¸ã®ç´¢å¼•ã§ã™ã€‚ +å…¨ã¦ã®é–²è¦§å¯èƒ½ãƒšãƒ¼ã‚¸ã‚’[[doku>ja:namespaces|åå‰ç©ºé–“]]é †ã«ä¸¦ã¹ãŸã‚µã‚¤ãƒˆãƒžãƒƒãƒ—ã§ã™ã€‚ diff --git a/inc/lang/ja/lang.php b/inc/lang/ja/lang.php index 3a5f169e7673e02f4441449294715120ae61a2da..38df66d1f7367f835816b80595a5ce998217c4b5 100644 --- a/inc/lang/ja/lang.php +++ b/inc/lang/ja/lang.php @@ -43,7 +43,6 @@ $lang['btn_update'] = 'æ›´æ–°'; $lang['btn_delete'] = '削除'; $lang['btn_back'] = '戻る'; $lang['btn_backlink'] = 'ãƒãƒƒã‚¯ãƒªãƒ³ã‚¯'; -$lang['btn_backtomedia'] = 'メディアファイルé¸æŠžã«æˆ»ã‚‹'; $lang['btn_subscribe'] = '変更履æ´é…ä¿¡ã®ç™»éŒ²'; $lang['btn_profile'] = 'ãƒ¦ãƒ¼ã‚¶ãƒ¼æƒ…å ±ã®æ›´æ–°'; $lang['btn_reset'] = 'リセット'; @@ -78,6 +77,7 @@ $lang['regmissing'] = 'å…¨ã¦ã®é …目を入力ã—ã¦ãã ã•ã„。' $lang['reguexists'] = 'ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼åã¯æ—¢ã«å˜åœ¨ã—ã¦ã„ã¾ã™ã€‚'; $lang['regsuccess'] = 'æ–°ã—ã„ユーザーãŒä½œæˆã•ã‚Œã¾ã—ãŸã€‚パスワードã¯ç™»éŒ²ã—ãŸãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹å®›ã¦ã«é€ä»˜ã•ã‚Œã¾ã™ã€‚'; $lang['regsuccess2'] = 'æ–°ã—ã„ユーザーãŒä½œæˆã•ã‚Œã¾ã—ãŸã€‚'; +$lang['regfail'] = 'ユーザーを作æˆã§ãã¾ã›ã‚“ã§ã—ãŸã€‚'; $lang['regmailfail'] = 'パスワードã®ãƒ¡ãƒ¼ãƒ«é€ä¿¡ã«å¤±æ•—ã—ã¾ã—ãŸã€‚ãŠæ‰‹æ•°ã§ã™ãŒç®¡ç†è€…ã¾ã§é€£çµ¡ã‚’ãŠé¡˜ã„ã—ã¾ã™ã€‚'; $lang['regbadmail'] = 'メールアドレスãŒæœ‰åŠ¹ã§ã¯ã‚ã‚Šã¾ã›ã‚“。'; $lang['regbadpass'] = '確èªç”¨ã®ãƒ‘スワードãŒæ£ã—ãã‚ã‚Šã¾ã›ã‚“。'; @@ -92,6 +92,7 @@ $lang['profdeleteuser'] = 'アカウントã®å‰Šé™¤'; $lang['profdeleted'] = 'ã“ã®wikiã‹ã‚‰ã‚ãªãŸã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¯å‰Šé™¤æ¸ˆã§ã™ã€‚'; $lang['profconfdelete'] = 'ã“ã®wikiã‹ã‚‰è‡ªåˆ†ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆæŠ¹æ¶ˆã‚’希望ã—ã¾ã™ã€‚<br/> ã“ã®æ“作ã¯å–消ã™ã“ã¨ãŒã§ãã¾ã›ã‚“。'; $lang['profconfdeletemissing'] = '確èªã®ãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹ãŒãƒã‚§ãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。'; +$lang['proffail'] = 'ãƒ¦ãƒ¼ã‚¶ãƒ¼æƒ…å ±ã¯æ›´æ–°ã•ã‚Œã¾ã›ã‚“ã§ã—ãŸã€‚'; $lang['pwdforget'] = 'パスワードをãŠå¿˜ã‚Œã§ã™ã‹ï¼Ÿãƒ‘スワードå†ç™ºè¡Œ'; $lang['resendna'] = 'パスワードã®å†ç™ºè¡Œã¯å‡ºæ¥ã¾ã›ã‚“。'; $lang['resendpwd'] = 'æ–°ã—ã„パスワードをセット'; @@ -154,7 +155,6 @@ $lang['js']['media_overwrt'] = 'æ—¢å˜ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’上書ãã™ã‚‹'; $lang['rssfailed'] = 'RSSã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸï¼š'; $lang['nothingfound'] = '該当文書ã¯ã‚ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚'; $lang['mediaselect'] = 'メディアファイル'; -$lang['fileupload'] = 'メディアファイルをアップãƒãƒ¼ãƒ‰'; $lang['uploadsucc'] = 'アップãƒãƒ¼ãƒ‰å®Œäº†'; $lang['uploadfail'] = 'アップãƒãƒ¼ãƒ‰ã«å¤±æ•—ã—ã¾ã—ãŸã€‚権é™ãŒã‚ã‚Šã¾ã›ã‚“。'; $lang['uploadwrong'] = 'アップãƒãƒ¼ãƒ‰ã¯æ‹’å¦ã•ã‚Œã¾ã—ãŸã€‚ã“ã®æ‹¡å¼µåã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。'; @@ -245,7 +245,6 @@ $lang['qb_sig'] = 'ç½²åã®æŒ¿å…¥'; $lang['qb_smileys'] = 'スマイリー'; $lang['qb_chars'] = '特殊文å—'; $lang['upperns'] = '上ã®éšŽå±¤ã®åå‰ç©ºé–“ã¸'; -$lang['admin_register'] = 'æ–°è¦ãƒ¦ãƒ¼ã‚¶ãƒ¼ä½œæˆ'; $lang['metaedit'] = 'メタデータ編集'; $lang['metasaveerr'] = 'メタデータã®æ›¸ãè¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ'; $lang['metasaveok'] = 'メタデータã¯ä¿å˜ã•ã‚Œã¾ã—ãŸ'; @@ -278,7 +277,6 @@ $lang['subscr_style_every'] = 'å…¨ã¦ã®å¤‰æ›´ã«ãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡'; $lang['subscr_style_digest'] = 'ãã‚Œãžã‚Œã®ãƒšãƒ¼ã‚¸ã¸ã®å¤‰æ›´ã®è¦ç´„をメールã™ã‚‹ï¼ˆ%.2f 日毎)'; $lang['subscr_style_list'] = 'å‰å›žã®ãƒ¡ãƒ¼ãƒ«ã‹ã‚‰å¤‰æ›´ã•ã‚ŒãŸãƒšãƒ¼ã‚¸ã‚’リスト(%.2f 日毎)'; $lang['authtempfail'] = 'ユーザーèªè¨¼ãŒä¸€æ™‚çš„ã«ä½¿ç”¨ã§ããªããªã£ã¦ã„ã¾ã™ã€‚ã“ã®çŠ¶æ…‹ãŒç¶šã„ã¦ã„るよã†ã§ã‚ã‚Œã°ã€Wikiã®ç®¡ç†è€…ã«é€£çµ¡ã—ã¦ä¸‹ã•ã„。'; -$lang['authpwdexpire'] = 'ã‚ãªãŸã®ãƒ‘スワードã¯ã€ã‚ã¨%dæ—¥ã§æœ‰åŠ¹æœŸé™ãŒåˆ‡ã‚Œã¾ã™ã€‚パスワードを変更ã—ã¦ãã ã•ã„。'; $lang['i_chooselang'] = '使用言語をé¸æŠžã—ã¦ãã ã•ã„'; $lang['i_installer'] = 'DokuWiki インストーラー'; $lang['i_wikiname'] = 'Wikiå'; @@ -332,7 +330,7 @@ $lang['media_files'] = '%s 内ã®ãƒ•ã‚¡ã‚¤ãƒ«'; $lang['media_upload'] = '%s ã«ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰'; $lang['media_search'] = '%s 内ã§æ¤œç´¢'; $lang['media_view'] = '%s'; -$lang['media_viewold'] = '%s at %s'; +$lang['media_viewold'] = '%2$s ã« %1$s'; $lang['media_edit'] = '%s を編集'; $lang['media_history'] = '%s ã®å±¥æ´'; $lang['media_meta_edited'] = 'メタデータãŒç·¨é›†ã•ã‚Œã¾ã—ãŸ'; @@ -340,6 +338,7 @@ $lang['media_perm_read'] = 'ファイルを閲覧ã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ $lang['media_perm_upload'] = 'ファイルをアップãƒãƒ¼ãƒ‰ã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“。'; $lang['media_update'] = 'æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’アップãƒãƒ¼ãƒ‰'; $lang['media_restore'] = 'ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’復元'; +$lang['media_acl_warning'] = 'ACL制é™ã‚„éžè¡¨ç¤ºãƒšãƒ¼ã‚¸ã¯è¡¨ç¤ºã•ã‚Œãªã„ã®ã§ã€ã“ã®ãƒªã‚¹ãƒˆã¯å®Œå…¨ã§ãªã„å ´åˆãŒã‚ã‚Šã¾ã™ã€‚'; $lang['currentns'] = 'ç¾åœ¨ã®åå‰ç©ºé–“'; $lang['searchresult'] = '検索çµæžœ'; $lang['plainhtml'] = 'プレーンHTML'; diff --git a/inc/lang/ja/register.txt b/inc/lang/ja/register.txt index b242d1e88470bbadb9116e743a7aae3da5851dd8..0cd278699c5feb924c23fc41f1a33c9c0f0dc32f 100644 --- a/inc/lang/ja/register.txt +++ b/inc/lang/ja/register.txt @@ -1,4 +1,4 @@ ====== æ–°è¦ãƒ¦ãƒ¼ã‚¶ãƒ¼ç™»éŒ² ====== -ã“ã®Wikiã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ç™»éŒ²ã‚’è¡Œã†ãŸã‚ã«ã¯ã€ä»¥ä¸‹ã®æƒ…å ±ã‚’å…¨ã¦å…¥åŠ›ã—ã¦ä¸‹ã•ã„。 ã‚‚ã—以下ã®é …ç›®ã«ãƒ‘スワードãŒå˜åœ¨ã—ãªã„å ´åˆã€ãƒ‘スワードã¯ãƒ¡ãƒ¼ãƒ«ã«ã¦é€ä¿¡ã•ã‚Œã¾ã™ã®ã§ã€ å¿…ãš**有効ãª**メールアドレスを入力ã—ã¦ãã ã•ã„。 ã¾ãŸã€ãƒã‚°ã‚¤ãƒ³å㯠[[doku>pagename|pagename]] ã«æº–æ‹ ã—ã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 +ã“ã®Wikiã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ç™»éŒ²ã‚’è¡Œã†ãŸã‚ã«ã¯ã€ä»¥ä¸‹ã®æƒ…å ±ã‚’å…¨ã¦å…¥åŠ›ã—ã¦ä¸‹ã•ã„。 ã‚‚ã—以下ã®é …ç›®ã«ãƒ‘スワードãŒå˜åœ¨ã—ãªã„å ´åˆã€ãƒ‘スワードã¯ãƒ¡ãƒ¼ãƒ«ã«ã¦é€ä¿¡ã•ã‚Œã¾ã™ã®ã§ã€ å¿…ãš**有効ãªãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹**を入力ã—ã¦ãã ã•ã„。 ã¾ãŸã€ãƒã‚°ã‚¤ãƒ³åã¯[[doku>ja:pagename|ページå]]ã«æº–æ‹ ã—ã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 diff --git a/inc/lang/ka/jquery.ui.datepicker.js b/inc/lang/ka/jquery.ui.datepicker.js new file mode 100644 index 0000000000000000000000000000000000000000..69103542ba78d07817bbd4145ebc1e51482e216d --- /dev/null +++ b/inc/lang/ka/jquery.ui.datepicker.js @@ -0,0 +1,35 @@ +/* Georgian (UTF-8) initialisation for the jQuery UI date picker plugin. */ +/* Written by Lado Lomidze (lado.lomidze@gmail.com). */ +(function( factory ) { + if ( typeof define === "function" && define.amd ) { + + // AMD. Register as an anonymous module. + define([ "../datepicker" ], factory ); + } else { + + // Browser globals + factory( jQuery.datepicker ); + } +}(function( datepicker ) { + +datepicker.regional['ka'] = { + closeText: 'დáƒáƒ®áƒ£áƒ ვáƒ', + prevText: '< წინáƒ', + nextText: 'შემდეგი >', + currentText: 'დღეს', + monthNames: ['იáƒáƒœáƒ•áƒáƒ ი','თებერვáƒáƒšáƒ˜','მáƒáƒ ტი','áƒáƒžáƒ ილი','მáƒáƒ˜áƒ¡áƒ˜','ივნისი', 'ივლისი','áƒáƒ’ვისტáƒ','სექტემბერი','áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერი','ნáƒáƒ”მბერი','დეკემბერი'], + monthNamesShort: ['იáƒáƒœ','თებ','მáƒáƒ ','áƒáƒžáƒ ','მáƒáƒ˜','ივნ', 'ივლ','áƒáƒ’ვ','სექ','áƒáƒ¥áƒ¢','ნáƒáƒ”','დეკ'], + dayNames: ['კვირáƒ','áƒáƒ შáƒáƒ‘áƒáƒ—ი','სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ი','áƒáƒ—ხშáƒáƒ‘áƒáƒ—ი','ხუთშáƒáƒ‘áƒáƒ—ი','პáƒáƒ áƒáƒ¡áƒ™áƒ”ვი','შáƒáƒ‘áƒáƒ—ი'], + dayNamesShort: ['კვ','áƒáƒ შ','სáƒáƒ›','áƒáƒ—ხ','ხუთ','პáƒáƒ ','შáƒáƒ‘'], + dayNamesMin: ['კვ','áƒáƒ შ','სáƒáƒ›','áƒáƒ—ხ','ხუთ','პáƒáƒ ','შáƒáƒ‘'], + weekHeader: 'კვირáƒ', + dateFormat: 'dd-mm-yy', + firstDay: 1, + isRTL: false, + showMonthAfterYear: false, + yearSuffix: ''}; +datepicker.setDefaults(datepicker.regional['ka']); + +return datepicker.regional['ka']; + +})); diff --git a/inc/lang/ka/lang.php b/inc/lang/ka/lang.php index 28ca11e454d949ee8a99d0e7107911d65c5ae245..72594efe3a8f10cd1a3a04d85ed986937f8a5c87 100644 --- a/inc/lang/ka/lang.php +++ b/inc/lang/ka/lang.php @@ -2,7 +2,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Luka Lejava <luka.lejava@gmail.com> */ $lang['encoding'] = 'utf-8'; @@ -35,8 +35,6 @@ $lang['btn_update'] = 'გáƒáƒœáƒáƒ®áƒšáƒ”ბáƒ'; $lang['btn_delete'] = 'წáƒáƒ¨áƒšáƒ'; $lang['btn_back'] = 'უკáƒáƒœ'; $lang['btn_backlink'] = 'გáƒáƒ“მáƒáƒ›áƒ˜áƒ¡áƒáƒ›áƒáƒ თებული ბმულები'; -$lang['btn_backtomedia'] = 'მედიáƒáƒ¤áƒáƒ˜áƒšáƒ”ბის áƒáƒ ჩევáƒ'; -$lang['btn_subscribe'] = 'Manage Subscriptions'; $lang['btn_profile'] = 'პრáƒáƒ¤áƒ˜áƒšáƒ˜áƒ¡ გáƒáƒœáƒáƒ®áƒšáƒ”ბáƒ'; $lang['btn_reset'] = 'წáƒáƒ¨áƒšáƒ'; $lang['btn_resendpwd'] = 'áƒáƒ®áƒáƒšáƒ˜ პáƒáƒ áƒáƒšáƒ˜áƒ¡ დáƒáƒ§áƒ”ნებáƒ'; @@ -48,7 +46,7 @@ $lang['btn_register'] = 'რეგისტრáƒáƒªáƒ˜áƒ'; $lang['btn_apply'] = 'ცáƒáƒ“ე'; $lang['btn_media'] = 'მედირფáƒáƒ˜áƒšáƒ”ბის მáƒáƒ თვáƒ'; $lang['btn_deleteuser'] = 'ჩემი ექáƒáƒ£áƒœáƒ—ის წáƒáƒ¨áƒšáƒ'; -$lang['btn_img_backto'] = 'უკáƒáƒœ %'; +$lang['btn_img_backto'] = 'უკáƒáƒœ %s'; $lang['btn_mediaManager'] = 'მედირფáƒáƒ˜áƒšáƒ”ბის მმáƒáƒ თველში გáƒáƒ®áƒ¡áƒœáƒ'; $lang['loggedinas'] = 'შესული ხáƒáƒ თ რáƒáƒ’áƒáƒ ც:'; $lang['user'] = 'ლáƒáƒ’ინი'; @@ -94,11 +92,11 @@ $lang['resendpwdsuccess'] = 'áƒáƒ®áƒáƒšáƒ˜ პáƒáƒ áƒáƒšáƒ˜ გáƒáƒ› $lang['license'] = 'ვიკი ლიცენზირებულიáƒ: '; $lang['licenseok'] = 'áƒáƒ› გვერდის რედáƒáƒ¥áƒ¢áƒ˜áƒ ებით თვენ ეთáƒáƒœáƒ®áƒ›áƒ”ბით ლიცენზიáƒáƒ¡:'; $lang['searchmedia'] = 'სáƒáƒ«áƒ”ბრსáƒáƒ®áƒ”ლი:'; -$lang['searchmedia_in'] = 'ძებნრ%-ში'; +$lang['searchmedia_in'] = 'ძებნრ%s-ში'; $lang['txt_upload'] = 'áƒáƒ˜áƒ ჩიეთ áƒáƒ¡áƒáƒ¢áƒ•áƒ˜áƒ თი ფáƒáƒ˜áƒšáƒ˜:'; $lang['txt_filename'] = 'áƒáƒ¢áƒ•áƒ˜áƒ თვრრáƒáƒ’áƒáƒ ც (áƒáƒ ჩევითი):'; $lang['txt_overwrt'] = 'გáƒáƒ“áƒáƒ¬áƒ”რრზემáƒáƒ“áƒáƒœ'; -$lang['maxuploadsize'] = 'მáƒáƒ¥áƒ¡áƒ˜áƒ›áƒáƒšáƒ£áƒ ი ზáƒáƒ›áƒ %'; +$lang['maxuploadsize'] = 'მáƒáƒ¥áƒ¡áƒ˜áƒ›áƒáƒšáƒ£áƒ ი ზáƒáƒ›áƒ %s'; $lang['lockedby'] = 'დáƒáƒ‘ლáƒáƒ™áƒ˜áƒšáƒ˜áƒ:'; $lang['lockexpire'] = 'გáƒáƒœáƒ˜áƒ‘ლáƒáƒ™áƒ”ბáƒ:'; $lang['js']['willexpire'] = 'გვერდი გáƒáƒœáƒ˜áƒ‘ლáƒáƒ™áƒ”ბრ1 წუთში'; @@ -108,7 +106,6 @@ $lang['js']['keepopen'] = 'დáƒáƒ¢áƒáƒ•áƒ”თ ღიáƒ'; $lang['js']['hidedetails'] = 'დეტáƒáƒšáƒ”ბის დáƒáƒ›áƒáƒšáƒ•áƒ'; $lang['js']['mediatitle'] = 'ინსტრუმენტები'; $lang['js']['mediadisplay'] = 'ბმულის ტიპი'; -$lang['js']['mediaalign'] = 'Alignment'; $lang['js']['mediasize'] = 'სურáƒáƒ—ის ზáƒáƒ›áƒ'; $lang['js']['mediatarget'] = 'მიზნის ბმული'; $lang['js']['mediaclose'] = 'დáƒáƒ®áƒ£áƒ ვáƒ'; @@ -126,7 +123,6 @@ $lang['js']['medianolink'] = 'áƒáƒ დáƒáƒšáƒ˜áƒœáƒ™áƒáƒ— სურრ$lang['js']['medialeft'] = 'მáƒáƒ ცხვნივ გáƒáƒœáƒáƒ—áƒáƒ•áƒ¡áƒ”თ სურáƒáƒ—ი'; $lang['js']['mediaright'] = 'მáƒáƒ ჯვნივ გáƒáƒœáƒáƒ—áƒáƒ•áƒ¡áƒ”თ სურáƒáƒ—ი'; $lang['js']['mediacenter'] = 'შუáƒáƒ¨áƒ˜ გáƒáƒœáƒáƒ—áƒáƒ•áƒ¡áƒ”თ სურáƒáƒ—ი'; -$lang['js']['medianoalign'] = 'Use no align.'; $lang['js']['nosmblinks'] = 'ეს ფუქნცირმუშáƒáƒáƒ‘ს მხáƒáƒšáƒáƒ“ Internet Explorer-ზე'; $lang['js']['linkwiz'] = 'ბმული'; $lang['js']['linkto'] = 'ბმული'; @@ -134,9 +130,6 @@ $lang['js']['del_confirm'] = 'დáƒáƒ წმუნებული ხáƒáƒ $lang['js']['restore_confirm'] = 'დáƒáƒ წმუნებული ხáƒáƒ თ რáƒáƒ› áƒáƒ¦áƒ“გენრგინდáƒáƒ—?'; $lang['js']['media_diff'] = 'გáƒáƒœáƒ¡áƒ®áƒ•áƒáƒ•áƒ”ბების ჩვენებáƒ'; $lang['js']['media_diff_both'] = 'გვერდიგვერდ'; -$lang['js']['media_diff_opacity'] = 'Shine-through'; -$lang['js']['media_diff_portions'] = 'Swipe -'; $lang['js']['media_select'] = 'áƒáƒ ჩეული ფáƒáƒ˜áƒšáƒ”ბი'; $lang['js']['media_upload_btn'] = 'áƒáƒ¢áƒ•áƒ˜áƒ თვáƒ'; $lang['js']['media_done_btn'] = 'მზáƒáƒ“áƒáƒ'; @@ -146,54 +139,40 @@ $lang['js']['media_overwrt'] = 'გáƒáƒ“áƒáƒ¬áƒ”რრზემáƒáƒ“áƒáƒœ $lang['rssfailed'] = 'დáƒáƒ¤áƒ˜áƒ¥áƒ¡áƒ˜áƒ დრშეცდáƒáƒ›áƒ:'; $lang['nothingfound'] = 'ნáƒáƒžáƒáƒ•áƒœáƒ˜ áƒáƒ áƒáƒ ის'; $lang['mediaselect'] = 'მედირფáƒáƒ˜áƒšáƒ”ბი'; -$lang['fileupload'] = 'მედირფáƒáƒ˜áƒšáƒ”ბის áƒáƒ¢áƒ•áƒ˜áƒ თვáƒ'; $lang['uploadsucc'] = 'áƒáƒ¢áƒ•áƒ˜áƒ თვრდáƒáƒ¡áƒ ულებულიáƒ'; $lang['uploadfail'] = 'შეფერხებრáƒáƒ¢áƒ•áƒ˜áƒ თვისáƒáƒ¡'; $lang['uploadwrong'] = 'áƒáƒ¢áƒ•áƒ˜áƒ თვრშეუძლებელიáƒ'; $lang['uploadexist'] = 'ფáƒáƒ˜áƒšáƒ˜ უკვე áƒáƒ სებáƒáƒ‘ს'; -$lang['uploadbadcontent'] = 'áƒáƒ¢áƒ•áƒ˜áƒ თული ფáƒáƒ˜áƒšáƒ”ბი áƒáƒ ემთხვევრ'; +$lang['uploadbadcontent'] = 'áƒáƒ¢áƒ•áƒ˜áƒ თული ფáƒáƒ˜áƒšáƒ”ბი áƒáƒ ემთხვევრ%s'; $lang['uploadspam'] = 'áƒáƒ¢áƒ•áƒ˜áƒ თვრდáƒáƒ‘ლáƒáƒ™áƒ˜áƒšáƒ˜áƒ სპáƒáƒ›áƒ‘ლáƒáƒ™áƒ”რის მიერ'; $lang['uploadxss'] = 'áƒáƒ¢áƒ•áƒ˜áƒ თვრდáƒáƒ‘ლáƒáƒ™áƒ˜áƒšáƒ˜áƒ'; -$lang['uploadsize'] = 'áƒáƒ¡áƒáƒ¢áƒ•áƒ˜áƒ თი ფáƒáƒ˜áƒšáƒ˜ ზედმეტáƒáƒ“ დიდიáƒ'; -$lang['deletesucc'] = '% ფáƒáƒ˜áƒšáƒ”ბი წáƒáƒ˜áƒ¨áƒáƒšáƒ'; -$lang['deletefail'] = '% ვერმáƒáƒ˜áƒ«áƒ”ბნáƒ'; -$lang['mediainuse'] = 'ფáƒáƒ˜áƒšáƒ˜áƒ¡ % ვერწáƒáƒ˜áƒ¨áƒáƒšáƒ, რáƒáƒ“გáƒáƒœ გáƒáƒ›áƒáƒ§áƒ”ნებáƒáƒ¨áƒ˜áƒ'; -$lang['namespaces'] = 'Namespaces'; +$lang['uploadsize'] = 'áƒáƒ¡áƒáƒ¢áƒ•áƒ˜áƒ თი ფáƒáƒ˜áƒšáƒ˜ ზედმეტáƒáƒ“ დიდირ%s'; +$lang['deletesucc'] = '%s ფáƒáƒ˜áƒšáƒ”ბი წáƒáƒ˜áƒ¨áƒáƒšáƒ'; +$lang['deletefail'] = '%s ვერმáƒáƒ˜áƒ«áƒ”ბნáƒ'; +$lang['mediainuse'] = 'ფáƒáƒ˜áƒšáƒ˜áƒ¡ %s ვერწáƒáƒ˜áƒ¨áƒáƒšáƒ, რáƒáƒ“გáƒáƒœ გáƒáƒ›áƒáƒ§áƒ”ნებáƒáƒ¨áƒ˜áƒ'; $lang['mediafiles'] = 'áƒáƒ სებული ფáƒáƒ˜áƒšáƒ”ბი'; $lang['accessdenied'] = 'თქვენ áƒáƒ შეგიძლიáƒáƒ— გვერდის ნáƒáƒ®áƒ•áƒ'; -$lang['mediausage'] = 'Use the following syntax to reference this file:'; $lang['mediaview'] = 'áƒáƒ იგინáƒáƒšáƒ˜ ფáƒáƒ˜áƒšáƒ˜áƒ¡ ჩვენებáƒ'; $lang['mediaroot'] = 'root'; -$lang['mediaupload'] = 'Upload a file to the current namespace here. To create subnamespaces, prepend them to your filename separated by colons after you selected the files. Files can also be selected by drag and drop.'; -$lang['mediaextchange'] = 'Filextension changed from .%s to .%s!'; -$lang['reference'] = 'References for'; $lang['ref_inuse'] = 'ფáƒáƒ˜áƒšáƒ˜ წáƒáƒ¨áƒšáƒ შეუძლებელიáƒ, გáƒáƒ›áƒáƒ˜áƒ§áƒ”ნებრáƒáƒ¥:'; $lang['ref_hidden'] = 'ზáƒáƒ’იერთი ბლáƒáƒ™áƒ˜áƒ¡ წáƒáƒ™áƒ˜áƒ—ხვის უფლებრáƒáƒ გáƒáƒ¥áƒ•áƒ—'; -$lang['hits'] = 'Hits'; $lang['quickhits'] = 'მსგáƒáƒ•áƒ¡áƒ˜ სáƒáƒ®áƒ”ლები'; -$lang['toc'] = 'Table of Contents'; $lang['current'] = 'áƒáƒ®áƒšáƒáƒœáƒ“ელი'; $lang['yours'] = 'თვენი ვერსიáƒ'; $lang['diff'] = 'ვერსიების გáƒáƒœáƒ¡áƒ®áƒ•áƒáƒ•áƒ”ბáƒ'; $lang['diff2'] = 'გáƒáƒœáƒ¡áƒ®áƒ•áƒáƒ•áƒ”ბები'; -$lang['difflink'] = 'Link to this comparison view'; $lang['diff_type'] = 'გáƒáƒœáƒ¡áƒ®áƒ•áƒáƒ•áƒ”ბების ჩვენებáƒ'; -$lang['diff_inline'] = 'Inline'; $lang['diff_side'] = 'გვერდიგვერდ'; $lang['diffprevrev'] = 'წინრვერსიáƒ'; $lang['diffnextrev'] = 'შემდეგი ვერსიáƒ'; $lang['difflastrev'] = 'ბáƒáƒšáƒ ვერსიáƒ'; -$lang['diffbothprevrev'] = 'Both sides previous revision'; -$lang['diffbothnextrev'] = 'Both sides next revision'; $lang['line'] = 'ზáƒáƒšáƒ˜'; -$lang['breadcrumb'] = 'Trace:'; $lang['youarehere'] = 'თვენ ხáƒáƒ თ áƒáƒ¥:'; $lang['lastmod'] = 'ბáƒáƒšáƒáƒ¡ მáƒáƒ“იფიცირებული:'; $lang['deleted'] = 'წáƒáƒ¨áƒšáƒ˜áƒšáƒ˜áƒ'; $lang['created'] = 'შექმნილიáƒ'; -$lang['restored'] = 'ძველი ვერსირáƒáƒ¦áƒ“გენილირ%'; +$lang['restored'] = 'ძველი ვერსირáƒáƒ¦áƒ“გენილირ(%s)'; $lang['external_edit'] = 'რედáƒáƒ¥áƒ¢áƒ˜áƒ ებáƒ'; -$lang['summary'] = 'Edit summary'; $lang['noflash'] = '<a href="http://www.adobe.com/products/flashplayer/">სáƒáƒáƒ˜áƒ áƒáƒ Adobe Flash Plugin</a>'; $lang['download'] = 'Snippet-ის გáƒáƒ“მáƒáƒ¬áƒ”რáƒ'; $lang['tools'] = 'ინსტრუმენტები'; @@ -211,11 +190,6 @@ $lang['changes_type'] = 'ცვლილებები'; $lang['pages_changes'] = 'გვერდები'; $lang['media_changes'] = 'მედირფáƒáƒ˜áƒšáƒ”ბი'; $lang['both_changes'] = 'გვერდები დრმედირფáƒáƒ˜áƒšáƒ”ბი'; -$lang['qb_bold'] = 'Bold Text'; -$lang['qb_italic'] = 'Italic Text'; -$lang['qb_underl'] = 'Underlined Text'; -$lang['qb_code'] = 'Monospaced Text'; -$lang['qb_strike'] = 'Strike-through Text'; $lang['qb_h1'] = 'Level 1 სáƒáƒ—áƒáƒ£áƒ ი'; $lang['qb_h2'] = 'Level 2 სáƒáƒ—áƒáƒ£áƒ ი'; $lang['qb_h3'] = 'Level 3 სáƒáƒ—áƒáƒ£áƒ ი'; @@ -226,66 +200,28 @@ $lang['qb_hs'] = 'სáƒáƒ—áƒáƒ£áƒ ის áƒáƒ ჩევáƒ'; $lang['qb_hplus'] = 'Higher სáƒáƒ—áƒáƒ£áƒ ი'; $lang['qb_hminus'] = 'Lower სáƒáƒ—áƒáƒ£áƒ ი'; $lang['qb_hequal'] = 'Same Level სáƒáƒ—áƒáƒ£áƒ ი'; -$lang['qb_link'] = 'Internal Link'; -$lang['qb_extlink'] = 'External Link'; -$lang['qb_hr'] = 'Horizontal Rule'; $lang['qb_ol'] = 'შეკვეთილი ბáƒáƒšáƒ მáƒáƒ¡áƒáƒšáƒ'; -$lang['qb_ul'] = 'Unordered List Item'; $lang['qb_media'] = 'ნáƒáƒ®áƒáƒ¢áƒ”ბის დრსხვრფáƒáƒ˜áƒ”ლბის დáƒáƒ›áƒáƒ¢áƒ”ბáƒ'; $lang['qb_sig'] = 'ხელმáƒáƒ¬áƒ”რáƒ'; $lang['qb_smileys'] = 'სმáƒáƒ˜áƒšáƒ”ბი'; -$lang['qb_chars'] = 'Special Chars'; -$lang['upperns'] = 'jump to parent namespace'; -$lang['admin_register'] = 'áƒáƒ®áƒáƒšáƒ˜ მáƒáƒ›áƒ®áƒ›áƒáƒ ებლის დáƒáƒ›áƒáƒ¢áƒ”ბáƒ'; -$lang['metaedit'] = 'Edit Metadata'; -$lang['metasaveerr'] = 'Writing metadata failed'; -$lang['metasaveok'] = 'Metadata saved'; $lang['img_title'] = 'სáƒáƒ—áƒáƒ£áƒ ი:'; -$lang['img_caption'] = 'Caption:'; $lang['img_date'] = 'თáƒáƒ იღი:'; $lang['img_fname'] = 'ფáƒáƒ˜áƒšáƒ˜áƒ¡ სáƒáƒ®áƒ”ლი:'; $lang['img_fsize'] = 'ზáƒáƒ›áƒ:'; $lang['img_artist'] = 'ფáƒáƒ¢áƒáƒ’რáƒáƒ¤áƒ˜:'; -$lang['img_copyr'] = 'Copyright:'; $lang['img_format'] = 'ფáƒáƒ მáƒáƒ¢áƒ˜:'; $lang['img_camera'] = 'კáƒáƒ›áƒ”რáƒ:'; -$lang['img_keywords'] = 'Keywords:'; $lang['img_width'] = 'სიგáƒáƒœáƒ”:'; $lang['img_height'] = 'სიმáƒáƒ¦áƒšáƒ”:'; -$lang['subscr_subscribe_success'] = 'Added %s to subscription list for %s'; -$lang['subscr_subscribe_error'] = 'Error adding %s to subscription list for %s'; -$lang['subscr_subscribe_noaddress'] = 'There is no address associated with your login, you cannot be added to the subscription list'; -$lang['subscr_unsubscribe_success'] = 'Removed %s from subscription list for %s'; -$lang['subscr_unsubscribe_error'] = 'Error removing %s from subscription list for %s'; -$lang['subscr_already_subscribed'] = '%s is already subscribed to %s'; -$lang['subscr_not_subscribed'] = '%s is not subscribed to %s'; -$lang['subscr_m_not_subscribed'] = 'You are currently not subscribed to the current page or namespace.'; -$lang['subscr_m_new_header'] = 'Add subscription'; -$lang['subscr_m_current_header'] = 'Current subscriptions'; -$lang['subscr_m_unsubscribe'] = 'Unsubscribe'; -$lang['subscr_m_subscribe'] = 'Subscribe'; $lang['subscr_m_receive'] = 'მიღებáƒ'; $lang['subscr_style_every'] = 'ფáƒáƒ¡áƒ¢áƒ ყáƒáƒ•áƒ”ლ ცვლილებáƒáƒ–ე'; $lang['subscr_style_digest'] = 'ფáƒáƒ¡áƒ¢áƒ ყáƒáƒ•áƒ”ლი გვერდის შეცვლáƒáƒ–ე '; $lang['subscr_style_list'] = 'ფáƒáƒ¡áƒ¢áƒ ყáƒáƒ•áƒ”ლი გვერდის შეცვლáƒáƒ–ე '; -$lang['authtempfail'] = 'User authentication is temporarily unavailable. If this situation persists, please inform your Wiki Admin.'; -$lang['authpwdexpire'] = 'თქვენს პáƒáƒ áƒáƒšáƒ¡ ვáƒáƒ“რგáƒáƒ£áƒ•áƒ %d დღეში, მáƒáƒšáƒ” შეცვლრმáƒáƒ’იწევთ.'; $lang['i_chooselang'] = 'ენსი áƒáƒ ჩევáƒ'; $lang['i_installer'] = 'DokuWiki დáƒáƒ›áƒ§áƒ”ნებელი'; $lang['i_wikiname'] = 'Wiki სáƒáƒ®áƒ”ლი'; -$lang['i_enableacl'] = 'Enable ACL (recommended)'; $lang['i_superuser'] = 'áƒáƒ“მინი'; $lang['i_problems'] = 'შეáƒáƒ¡áƒ¬áƒáƒ ეთ შეცდáƒáƒ›áƒ”ბი'; -$lang['i_modified'] = 'For security reasons this script will only work with a new and unmodified Dokuwiki installation. You should either re-extract the files from the downloaded package or consult the complete <a href="http://dokuwiki.org/install">Dokuwiki installation instructions</a>'; -$lang['i_funcna'] = 'PHP function <code>%s</code> is not available. Maybe your hosting provider disabled it for some reason?'; -$lang['i_phpver'] = 'Your PHP version <code>%s</code> is lower than the needed <code>%s</code>. You need to upgrade your PHP install.'; -$lang['i_permfail'] = '<code>%s</code> is not writable by DokuWiki. You need to fix the permission settings of this directory!'; -$lang['i_confexists'] = '<code>%s</code> already exists'; -$lang['i_writeerr'] = 'Unable to create <code>%s</code>. You will need to check directory/file permissions and create the file manually.'; -$lang['i_badhash'] = 'unrecognised or modified dokuwiki.php (hash=<code>%s</code>)'; -$lang['i_badval'] = '<code>%s</code> - illegal or empty value'; -$lang['i_failure'] = 'Some errors occurred while writing the configuration files. You may need to fix them manually before you can use <a href="doku.php?id=wiki:welcome">your new DokuWiki</a>.'; -$lang['i_policy'] = 'Initial ACL policy'; $lang['i_pol0'] = 'ღირვიკი (წáƒáƒ™áƒ˜áƒ—ხვáƒ, დáƒáƒ¬áƒ”რრდრáƒáƒ¢áƒ•áƒ˜áƒ თვრშეუძლირნებისმიერს)'; $lang['i_pol1'] = 'თáƒáƒ•áƒ˜áƒ¡áƒ£áƒ¤áƒáƒšáƒ˜ ვიკი (წáƒáƒ™áƒ˜áƒ—ხვრშეუძლირყველáƒáƒ¡, დáƒáƒ¬áƒ”რრდრáƒáƒ¢áƒ•áƒ˜áƒ თვრ- რეგისტრირებულს)'; $lang['i_pol2'] = 'დáƒáƒ®áƒ£áƒ ული ვიკი (წáƒáƒ™áƒ˜áƒ—ხვáƒ, დáƒáƒ¬áƒ”რრდრáƒáƒ¢áƒ•áƒ˜áƒ თვრშეუძლიáƒáƒ— მხáƒáƒšáƒáƒ“ რეგისტრირებულებს)'; @@ -295,7 +231,6 @@ $lang['i_license'] = 'áƒáƒ˜áƒ ჩიეთ ლიცენზირ$lang['i_license_none'] = 'áƒáƒ áƒáƒ©áƒ•áƒ”ნáƒáƒ— ლიცენზიის ინფáƒáƒ მáƒáƒªáƒ˜áƒ'; $lang['i_pop_field'] = 'დáƒáƒ’ვეხმáƒáƒ ეთ DokuWiki-ს áƒáƒ’უმჯáƒáƒ‘ესებáƒáƒ¨áƒ˜'; $lang['i_pop_label'] = 'თვეში ერთელ ინფáƒáƒ მáƒáƒªáƒ˜áƒ˜áƒ¡ DokuWiki-ის áƒáƒ“მინისტრáƒáƒªáƒ˜áƒ˜áƒ¡áƒ—ვის გáƒáƒ’ზáƒáƒ•áƒœáƒ'; -$lang['recent_global'] = 'You\'re currently watching the changes inside the <b>%s</b> namespace. You can also <a href="%s">view the recent changes of the whole wiki</a>.'; $lang['years'] = '%d წლის უკáƒáƒœ'; $lang['months'] = '%d თვის უკáƒáƒœ'; $lang['weeks'] = '%d კვირის უკáƒáƒœ'; @@ -310,17 +245,12 @@ $lang['media_file'] = 'ფáƒáƒ˜áƒšáƒ˜'; $lang['media_viewtab'] = 'ჩვენებáƒ'; $lang['media_edittab'] = 'რედáƒáƒ¥áƒ¢áƒ˜áƒ ებáƒ'; $lang['media_historytab'] = 'ისტáƒáƒ იáƒ'; -$lang['media_list_thumbs'] = 'Thumbnails'; -$lang['media_list_rows'] = 'Rows'; $lang['media_sort_name'] = 'სáƒáƒ®áƒ”ლი'; $lang['media_sort_date'] = 'თáƒáƒ იღი'; -$lang['media_namespaces'] = 'Choose namespace'; $lang['media_files'] = 'ფáƒáƒ˜áƒšáƒ”ბი %s'; $lang['media_upload'] = 'áƒáƒ¢áƒ•áƒ˜áƒ თვრ%s'; $lang['media_search'] = 'ძებნრ%s'; $lang['media_view'] = '%s'; -$lang['media_viewold'] = '%s at %s'; $lang['media_edit'] = 'რედáƒáƒ¥áƒ¢áƒ˜áƒ ებრ%s'; $lang['media_history'] = 'ისტáƒáƒ ირ%s'; -$lang['media_meta_edited'] = 'metadata edited'; $lang['media_perm_read'] = 'თვენ áƒáƒ გáƒáƒ¥áƒ•áƒ— უფლებრწáƒáƒ˜áƒ™áƒ˜áƒ—ხáƒáƒ— ეს მáƒáƒ¡áƒáƒšáƒ'; diff --git a/inc/lang/kk/lang.php b/inc/lang/kk/lang.php index 74afa24e5d4611e3a5bd91b0a8bf49a23010fcfc..cb224d9a0ee4ea4ddeb5b8b35592107540901295 100644 --- a/inc/lang/kk/lang.php +++ b/inc/lang/kk/lang.php @@ -6,8 +6,8 @@ */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; -$lang['doublequoteopening'] = '"'; -$lang['doublequoteclosing'] = '"'; +$lang['doublequoteopening'] = '"'; +$lang['doublequoteclosing'] = '"'; $lang['singlequoteopening'] = '‘'; $lang['singlequoteclosing'] = '’'; $lang['apostrophe'] = '\''; @@ -34,7 +34,6 @@ $lang['btn_update'] = 'Жаңарту'; $lang['btn_delete'] = 'Жою'; $lang['btn_back'] = 'Ðртқа'; $lang['btn_backlink'] = 'Кері Ñілтемелері'; -$lang['btn_backtomedia'] = 'Медиафайлды таңдауға қайту'; $lang['btn_subscribe'] = 'Жазылуларды баÑқару'; $lang['btn_profile'] = 'Профильді жаңарту'; $lang['btn_reset'] = 'ТүÑіру'; diff --git a/inc/lang/km/lang.php b/inc/lang/km/lang.php index 749fa419cf18a38ca10829f73d4500eec49d1073..52e0e6a3d8db53bb0cd31fdf2dbfd0102013f831 100644 --- a/inc/lang/km/lang.php +++ b/inc/lang/km/lang.php @@ -34,7 +34,6 @@ $lang['btn_update'] = 'កែឡើង'; $lang['btn_delete'] = 'លុបចោល'; $lang['btn_back'] = 'ážáŸ’រឡប់'; $lang['btn_backlink'] = 'ážáŸ’សែចំណងក្រោយ'; -$lang['btn_backtomedia'] = 'ទៅប្រពáŸáž“ឯកសាវិញ'; $lang['btn_subscribe'] = 'ដាក់ដំណឹងផ្លស់ប្ážáž¼ážš'; $lang['btn_profile'] = 'កែប្រវážáŸ’ážáž·ážšáž¼áž”'; $lang['btn_reset'] = 'កមណážáŸ‹áž¡áž¾áž„រិញ'; @@ -62,7 +61,7 @@ $lang['reguexists'] = 'សុំអាទោស​ នាមប្រើន០$lang['regsuccess'] = 'អ្នកប្រើបានបង្កើážáž ើយ និងពាក្សសម្ងាážáž€áŸáž”ានផ្ញើទៀážáŸ”'; $lang['regsuccess2']= 'អ្នកប្រើបានបង្កើážáž ើយ។'; $lang['regmailfail']= 'មើលទៅដុចជាមានកំហុសក្នុង....សុំទាកទងអ្នកក្របក្រង'; -$lang['regbadmail'] = 'អ៊ីមáŸáž›áž¢áŸ’នកសាសáŸáž˜áž·áž“ážáŸ’រូវបញ្ជរ—បើអ្នកកិážážáž¶áž“áŸáŸ‡áž‡áž¶áž€áŸ†áž ុសបដិបážáŸ’ážáž· សុំទាកទងអ្នកក្របគ្រោង។'; +$lang['regbadmail'] = 'អ៊ីមáŸáž›áž¢áŸ’នកសាសáŸáž˜áž·áž“ážáŸ’រូវបញ្ជរ—បើអ្នកកិážážáž¶áž“áŸáŸ‡áž‡áž¶áž€áŸ†áž ុសបដិបážáŸ’ážáž· សុំទាកទងអ្នកក្របគ្រោង។'; $lang['regbadpass'] = 'គូពាក្សសម្ងាážáž˜áž·áž“ដូចគ្នាទ០សមសាកទៀážáŸ”'; $lang['regpwmail'] = 'ពាក្សសម្ងាážáž¢áŸ’នក'; $lang['reghere'] = 'អ្នកឥážáž˜áž¶áž“បញ្ជីនាមបម្រើទáŸ? សុំចល់ចុះឈ្មោះធ្វើគណនីសម្របប្រើប្រស'; @@ -92,7 +91,6 @@ $lang['rssfailed'] = 'មានកំហុសពáŸáž›áž‘ៅ​ប្រម $lang['nothingfound']= 'រកមិនឃើញអ្វីទáŸáŸ”'; $lang['mediaselect'] = 'ឯកសារមីឌៀ'; -$lang['fileupload'] = 'រុញឯកសារមីឌៀឡើង'; $lang['uploadsucc'] = 'រុញចូលមានជáŸáž™'; $lang['uploadfail'] = 'រុញឡើងបរាជáŸáž™áŸ” ប្រហែលážáž»ážŸážŸáž·áž‘្ឋានុញ្ញាáž?'; $lang['uploadwrong'] = 'រុញឡើងážáŸ’រូវ​បាន​បដិសáŸáž’។ ឯកសារ'; @@ -101,8 +99,8 @@ $lang['uploadbadcontent'] = 'ធាážáž»áž…ំរុញឡើងមិនážáŸ’ $lang['uploadspam'] = 'ចំរុញឡើង បង្ážáž¶áŸ†áž„ ដៅយ '; $lang['uploadxss'] = 'ចំរុញឡើង បង្ážáž¶áŸ†áž„ '; $lang['deletesucc'] = 'ឯកសារ «%s» បានលុបហើយ។'; -$lang['deletefail'] = '«%s» មិនអាចលុបទáŸ&mdashមើល'; -$lang['mediainuse'] = 'ឯកសារ «%s» ឥážáž‘ានលុបទáŸ&mdashមានគáŸáž€áŸ†áž—áž„áž‘áŸáž‡áž¶áž”់ប្រើ។'; +$lang['deletefail'] = '«%s» មិនអាចលុបទáŸâ€”មើល'; +$lang['mediainuse'] = 'ឯកសារ «%s» ឥážáž‘ានលុបទáŸâ€”មានគáŸáž€áŸ†áž—áž„áž‘áŸáž‡áž¶áž”់ប្រើ។'; $lang['namespaces'] = 'នាមដ្ឋាន'; $lang['mediafiles'] = 'ឯកសារទំនáŸáž“ៅក្នុង'; @@ -160,7 +158,6 @@ $lang['qb_smileys'] = 'សញ្ញាអារម្មណáŸ'; $lang['qb_chars'] = 'អក្ážážšáŸˆáž–ិសáŸážŸ'; $lang['js']['del_confirm']= 'លុប'; -$lang['admin_register']= 'ážáŸ‚មអ្នកប្រើ';//'Add new user'; $lang['metaedit'] = 'កែទិន្ននáŸáž™áž¢ážšáž¼áž”';//'Edit Metadata'; $lang['metasaveerr'] = 'ពំអាចកážáŸ‹ážšáž‘ិន្ននáŸáž™áž¢ážšáž¼áž”';//'Writing metadata failed'; @@ -188,12 +185,9 @@ $lang['i_enableacl'] = 'បើកប្រើ (អនុសាស)'; $lang['i_superuser'] = 'អ្នកកំពូល'; $lang['i_problems'] = 'កម្មវិធី​ដំឡើងបានប៉ះឧបសគ្គ។ អ្នកមិនអាចបន្ážáž‘ៅទៀហដល់អ្នកជួសជុលវា។'; $lang['i_modified'] = ''; -$lang['i_funcna'] = '<code>%s</code> '; $lang['i_permfail'] = '<code>%s</code> មិនអាចសាស'; $lang['i_confexists'] = '<code>%s</code> មានហាយ'; $lang['i_writeerr'] = 'មិនអាចបណ្កើ<code>%s</code>។ អ្នកážáŸ’រវការពិនិážáŸ’យអធិក្រឹážáž·ážšáž”ស់ážážáž“ឹងឯកសារ។'; -$lang['i_badhash'] = '(hash=<code>%s</code>)'; -$lang['i_badval'] = '<code>%s</code>—'; $lang['i_success'] = ''; $lang['i_failure'] = 'ពលសាសារ'; $lang['i_policy'] = 'បញ្ជីអនុញ្ញážáž•áŸ’ដើម'; diff --git a/inc/lang/ko/admin.txt b/inc/lang/ko/admin.txt index 2f81e89618ac34c7ae0faf6c899a1c0cae2d9926..408da1f8f7754660227569d9841ce56107e78237 100644 --- a/inc/lang/ko/admin.txt +++ b/inc/lang/ko/admin.txt @@ -1,3 +1,3 @@ ====== 관리 ====== -ë„ì¿ ìœ„í‚¤ì—ì„œ ì‚¬ìš©í• ìˆ˜ 있는 관리 ìž‘ì—… 목ë¡ì„ 아래ì—ì„œ ì°¾ì„ ìˆ˜ 있습니다. \ No newline at end of file +ë„ì¿ ìœ„í‚¤ì—ì„œ ì‚¬ìš©í• ìˆ˜ 있는 관리 ìž‘ì—… 목ë¡ì€ 아래와 같습니다. \ No newline at end of file diff --git a/inc/lang/ko/backlinks.txt b/inc/lang/ko/backlinks.txt index 6a6ad48a4d7f200a68991a4a8d82e27208c25616..457974d860c6b04c5540680007a0bd030676dc94 100644 --- a/inc/lang/ko/backlinks.txt +++ b/inc/lang/ko/backlinks.txt @@ -1,3 +1,3 @@ -====== ë°±ë§í¬ ====== +====== ì—ë§í¬ ====== 현재 문서를 가리키는 ë§í¬ê°€ 있는 문서 목ë¡ìž…니다. \ No newline at end of file diff --git a/inc/lang/ko/denied.txt b/inc/lang/ko/denied.txt index a4b94be655825927bc1c578df8773c30a2613e40..bf82fbd3105c2daa1af1702efef19c623f205722 100644 --- a/inc/lang/ko/denied.txt +++ b/inc/lang/ko/denied.txt @@ -1,4 +1,3 @@ ====== 권한 ê±°ì ˆ ====== -죄송하지만 계ì†í• 수 있는 ê¶Œí•œì´ ì—†ìŠµë‹ˆë‹¤. - +죄송하지만 계ì†í• 수 있는 ê¶Œí•œì´ ì—†ìŠµë‹ˆë‹¤. \ No newline at end of file diff --git a/inc/lang/ko/draft.txt b/inc/lang/ko/draft.txt index 7e700f72558fe4ca9a38b992a98071c031f8268e..bb6dc8c00f791f4bedc28ffdf73ce616bbce4556 100644 --- a/inc/lang/ko/draft.txt +++ b/inc/lang/ko/draft.txt @@ -2,4 +2,4 @@ ì´ ë¬¸ì„œì˜ ë§ˆì§€ë§‰ 편집 ì„¸ì…˜ì€ ì˜¬ë°”ë¥´ê²Œ ë나지 않았습니다. ë„ì¿ ìœ„í‚¤ëŠ” ìž‘ì—… ë„중 ìžë™ìœ¼ë¡œ ì €ìž¥ëœ ì´ˆì•ˆì„ ì‚¬ìš©í•´ íŽ¸ì§‘ì„ ê³„ì† í• ìˆ˜ 있습니다. 마지막 세션 ë™ì•ˆ ì €ìž¥ëœ ì´ˆì•ˆì„ ì•„ëž˜ì—ì„œ ë³¼ 수 있습니다. -ë¹„ì •ìƒì 으로 ëë‚œ 편집 ì„¸ì…˜ì„ **ë˜ëŒë¦´**지 여부를 ê²°ì •í•˜ê³ , ìžë™ìœ¼ë¡œ ì €ìž¥ë˜ì—ˆë˜ ì´ˆì•ˆì„ **ì‚ì œ**하거나 편집 ê³¼ì •ì„ **취소**하세요. \ No newline at end of file +ë¹„ì •ìƒì 으로 ëë‚œ 편집 ì„¸ì…˜ì„ **복구**í• ì§€ 여부를 ê²°ì •í•˜ê³ , ìžë™ìœ¼ë¡œ ì €ìž¥ë˜ì—ˆë˜ ì´ˆì•ˆì„ **ì‚ì œ**하거나 편집 ê³¼ì •ì„ **취소**하세요. \ No newline at end of file diff --git a/inc/lang/ko/edit.txt b/inc/lang/ko/edit.txt index 8da90266ce1c649e9eedcc3f90b0555709d2be6e..70b24ac7b0e7c9c0ae2b13958e9132064f6bff1a 100644 --- a/inc/lang/ko/edit.txt +++ b/inc/lang/ko/edit.txt @@ -1 +1 @@ -문서를 íŽ¸ì§‘í•˜ê³ ''ì €ìž¥''ì„ ëˆ„ë¥´ì„¸ìš”. 위키 êµ¬ë¬¸ì€ [[wiki:syntax]]를 ì°¸ê³ í•˜ì„¸ìš”. 문서를 **ë” ì¢‹ê²Œ 만들 ìžì‹ ì´ ìžˆì„ ë•Œ**ì—만 편집하세요. ì—°ìŠµì„ í•˜ê³ ì‹¶ë‹¤ë©´ ë¨¼ì € [[playground:playground|연습장]]ì— ê°€ì„œ 연습하세요. \ No newline at end of file +문서를 íŽ¸ì§‘í•˜ê³ ''ì €ìž¥''ì„ ëˆ„ë¥´ì„¸ìš”. 위키 êµ¬ë¬¸ì€ [[wiki:syntax]]를 참조하세요. 문서를 **ë” ì¢‹ê²Œ 만들 ìžì‹ ì´ ìžˆì„ ë•Œ**ì—만 편집하세요. ì—°ìŠµì„ í•˜ê³ ì‹¶ë‹¤ë©´ ë¨¼ì € [[playground:playground|연습장]]ì— ê°€ì„œ 연습하세요. \ No newline at end of file diff --git a/inc/lang/ko/lang.php b/inc/lang/ko/lang.php index 877c43de3b86b79904dcbecc37ac2734038ce87d..9eefdf5774be8e758967b2ce68394365577b3241 100644 --- a/inc/lang/ko/lang.php +++ b/inc/lang/ko/lang.php @@ -13,6 +13,8 @@ * @author Gerrit Uitslag <klapinklapin@gmail.com> * @author Garam <rowain8@gmail.com> * @author Young gon Cha <garmede@gmail.com> + * @author hyeonsoft <hyeonsoft@live.co.kr> + * @author Erial <erial2@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -29,8 +31,8 @@ $lang['btn_search'] = '검색'; $lang['btn_save'] = 'ì €ìž¥'; $lang['btn_preview'] = '미리 보기'; $lang['btn_top'] = '맨 위로'; -$lang['btn_newer'] = '<< 최근'; -$lang['btn_older'] = 'ì´ì „ >>'; +$lang['btn_newer'] = '<< ë” ìµœê·¼'; +$lang['btn_older'] = 'ëœ ìµœê·¼ >>'; $lang['btn_revs'] = 'ì´ì „ íŒ'; $lang['btn_recent'] = '최근 바뀜'; $lang['btn_upload'] = '올리기'; @@ -40,17 +42,16 @@ $lang['btn_secedit'] = '편집'; $lang['btn_login'] = '로그ì¸'; $lang['btn_logout'] = '로그아웃'; $lang['btn_admin'] = '관리'; -$lang['btn_update'] = '바꾸기'; +$lang['btn_update'] = 'ì—…ë°ì´íŠ¸'; $lang['btn_delete'] = 'ì‚ì œ'; $lang['btn_back'] = '뒤로'; -$lang['btn_backlink'] = 'ë°±ë§í¬'; -$lang['btn_backtomedia'] = '미디어 íŒŒì¼ ì„ íƒìœ¼ë¡œ ëŒì•„가기'; +$lang['btn_backlink'] = 'ì—ë§í¬'; $lang['btn_subscribe'] = 'êµ¬ë… ê´€ë¦¬'; -$lang['btn_profile'] = '프로필 바꾸기'; +$lang['btn_profile'] = '프로필 ì—…ë°ì´íŠ¸'; $lang['btn_reset'] = 'ìž¬ì„¤ì •'; $lang['btn_resendpwd'] = '새 비밀번호 ì„¤ì •'; $lang['btn_draft'] = '초안 편집'; -$lang['btn_recover'] = '초안 ë˜ëŒë¦¬ê¸°'; +$lang['btn_recover'] = '초안 복구'; $lang['btn_draftdel'] = '초안 ì‚ì œ'; $lang['btn_revert'] = 'ë˜ëŒë¦¬ê¸°'; $lang['btn_register'] = '등ë¡'; @@ -77,8 +78,9 @@ $lang['nosecedit'] = 'í•œ ë™ì•ˆ 문서가 바뀌었으며, 문단 $lang['searchcreatepage'] = '만약 ì›í•˜ëŠ” 문서를 찾지 못했다면, \'\'문서 만들기\'\'나 \'\'문서 편집\'\'ì„ ì‚¬ìš©í•´ 검색어와 ê°™ì€ ì´ë¦„ì˜ ë¬¸ì„œë¥¼ 만들거나 íŽ¸ì§‘í• ìˆ˜ 있습니다.'; $lang['regmissing'] = '죄송하지만 ëª¨ë“ í•„ë“œë¥¼ 채워야 합니다.'; $lang['reguexists'] = '죄송하지만 ê°™ì€ ì´ë¦„ì„ ì‚¬ìš©í•˜ëŠ” 사용ìžê°€ 있습니다.'; -$lang['regsuccess'] = '사용ìžë¥¼ 만들었으며 비밀번호는 ì´ë©”ì¼ë¡œ 보냈습니다.'; -$lang['regsuccess2'] = '사용ìžë¥¼ 만들었습니다.'; +$lang['regsuccess'] = 'ì‚¬ìš©ìž ê³„ì •ì„ ë§Œë“¤ì—ˆìœ¼ë©° 비밀번호는 ì´ë©”ì¼ë¡œ 보냈습니다.'; +$lang['regsuccess2'] = 'ì‚¬ìš©ìž ê³„ì •ì„ ë§Œë“¤ì—ˆìŠµë‹ˆë‹¤.'; +$lang['regfail'] = 'ì‚¬ìš©ìž ê³„ì •ì„ ë§Œë“¤ 수 없었습니다.'; $lang['regmailfail'] = '비밀번호를 ì´ë©”ì¼ë¡œ 보내는 ë™ì•ˆ 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤. 관리ìžì—게 문ì˜í•´ì£¼ì„¸ìš”!'; $lang['regbadmail'] = '주어진 ì´ë©”ì¼ ì£¼ì†Œê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤ - 오류ë¼ê³ ìƒê°í•˜ë©´ 관리ìžì—게 문ì˜í•´ì£¼ì„¸ìš”'; $lang['regbadpass'] = 'ë‘ ì£¼ì–´ì§„ 비밀번호가 같지 않습니다. 다시 ìž…ë ¥í•˜ì„¸ìš”.'; @@ -88,11 +90,12 @@ $lang['profna'] = 'ì´ ìœ„í‚¤ëŠ” 프로필 ìˆ˜ì •ì„ í• ìˆ˜ ì—† $lang['profnochange'] = 'ë°”ë€ ë‚´ìš©ì´ ì—†ìŠµë‹ˆë‹¤.'; $lang['profnoempty'] = '빈 ì´ë¦„ì´ë‚˜ ì´ë©”ì¼ ì£¼ì†ŒëŠ” 허용하지 않습니다.'; $lang['profchanged'] = 'í”„ë¡œí•„ì´ ì„±ê³µì 으로 바뀌었습니다.'; -$lang['profnodelete'] = 'ì´ ìœ„í‚¤ëŠ” ì‚¬ìš©ìž ì‚ì œë¥¼ 지ì›í•˜ì§€ 않습니다'; +$lang['profnodelete'] = 'ì´ ìœ„í‚¤ëŠ” ì‚¬ìš©ìž ê³„ì • ì‚ì œë¥¼ 지ì›í•˜ì§€ 않습니다'; $lang['profdeleteuser'] = 'ê³„ì • ì‚ì œ'; $lang['profdeleted'] = 'ë‹¹ì‹ ì˜ ì‚¬ìš©ìž ê³„ì •ì´ ì´ ìœ„í‚¤ì—ì„œ ì‚ì œë˜ì—ˆìŠµë‹ˆë‹¤'; $lang['profconfdelete'] = 'ì´ ìœ„í‚¤ì—ì„œ ë‚´ ê³„ì •ì„ ì œê±°í•˜ê³ ì‹¶ìŠµë‹ˆë‹¤. <br/> ì´ í–‰ë™ì€ ë˜ëŒë¦´ 수 없습니다.'; $lang['profconfdeletemissing'] = 'ì„ íƒí•˜ì§€ ì•Šì€ í™•ì¸ ìƒìžë¥¼ 확ì¸'; +$lang['proffail'] = 'ì‚¬ìš©ìž í”„ë¡œí•„ì´ ì—…ë°ì´íŠ¸ë˜ì§€ 않았습니다.'; $lang['pwdforget'] = '비밀번호를 잊으셨나요? 비밀번호를 ìž¬ì„¤ì •í•˜ì„¸ìš”'; $lang['resendna'] = 'ì´ ìœ„í‚¤ëŠ” 비밀번호 ìž¬ì„¤ì •ì„ ì§€ì›í•˜ì§€ 않습니다.'; $lang['resendpwd'] = '다ìŒìœ¼ë¡œ 새 비밀번호 보내기'; @@ -108,7 +111,7 @@ $lang['searchmedia_in'] = '%sì—ì„œ 검색'; $lang['txt_upload'] = '올릴 íŒŒì¼ ì„ íƒ:'; $lang['txt_filename'] = '올릴 íŒŒì¼ ì´ë¦„ (ì„ íƒ ì‚¬í•):'; $lang['txt_overwrt'] = '기존 파ì¼ì— ë®ì–´ì“°ê¸°'; -$lang['maxuploadsize'] = '최대 올리기 용량. 파ì¼ë‹¹ %s입니다.'; +$lang['maxuploadsize'] = '최대 올리기 용량. 파ì¼ë‹¹ %s.'; $lang['lockedby'] = '현재 ìž ê²¨ì§„ 사용ìž:'; $lang['lockexpire'] = 'ìž ê¸ˆ í•´ì œ 시간:'; $lang['js']['willexpire'] = 'ìž ì‹œ 후 편집 ìž ê¸ˆì´ í•´ì œë©ë‹ˆë‹¤.\n편집 충ëŒì„ í”¼í•˜ë ¤ë©´ 미리 보기를 눌러 ìž ê¸ˆ ì‹œê°„ì„ ë‹¤ì‹œ ì„¤ì •í•˜ì„¸ìš”.'; @@ -155,7 +158,6 @@ $lang['js']['media_overwrt'] = '기존 파ì¼ì— ë®ì–´ì“°ê¸°'; $lang['rssfailed'] = 'ì´ í”¼ë“œë¥¼ ê°€ì ¸ì˜¤ëŠ” ë™ì•ˆ 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤:'; $lang['nothingfound'] = '아무 ê²ƒë„ ì—†ìŠµë‹ˆë‹¤.'; $lang['mediaselect'] = '미디어 파ì¼'; -$lang['fileupload'] = '미디어 íŒŒì¼ ì˜¬ë¦¬ê¸°'; $lang['uploadsucc'] = '올리기 성공'; $lang['uploadfail'] = '올리기가 실패ë˜ì—ˆìŠµë‹ˆë‹¤. ìž˜ëª»ëœ ê¶Œí•œ 때문ì¼ì§€ë„ 모릅니다.'; $lang['uploadwrong'] = '올리기가 거부ë˜ì—ˆìŠµë‹ˆë‹¤. ê¸ˆì§€ëœ íŒŒì¼ í™•ìž¥ìžìž…니다!'; @@ -170,14 +172,14 @@ $lang['mediainuse'] = '"%s" 파ì¼ì„ ì‚ì œí• ìˆ˜ 없습니다 - $lang['namespaces'] = 'ì´ë¦„공간'; $lang['mediafiles'] = 'ì‚¬ìš©í• ìˆ˜ 있는 íŒŒì¼ ëª©ë¡'; $lang['accessdenied'] = 'ì´ ë¬¸ì„œë¥¼ ë³¼ ê¶Œí•œì´ ì—†ìŠµë‹ˆë‹¤.'; -$lang['mediausage'] = 'ì´ íŒŒì¼ì„ ì°¸ê³ í•˜ë ¤ë©´ ë‹¤ìŒ ë¬¸ë²•ì„ ì‚¬ìš©í•˜ì„¸ìš”:'; +$lang['mediausage'] = 'ì´ íŒŒì¼ì„ ì°¸ì¡°í•˜ë ¤ë©´ ë‹¤ìŒ ë¬¸ë²•ì„ ì‚¬ìš©í•˜ì„¸ìš”:'; $lang['mediaview'] = 'ì›ë³¸ íŒŒì¼ ë³´ê¸°'; $lang['mediaroot'] = '루트'; $lang['mediaupload'] = '파ì¼ì„ 현재 ì´ë¦„공간으로 올립니다. 하위 ì´ë¦„공간으로 ë§Œë“¤ë ¤ë©´ ì„ íƒí•œ íŒŒì¼ ì´ë¦„ ì•žì— ìŒì (:)으로 구분ë˜ëŠ” ì´ë¦„ì„ ë¶™ì´ë©´ ë©ë‹ˆë‹¤. 파ì¼ì„ 드래그 앤 ë“œë¡í•´ ì„ íƒí• 수 있습니다.'; $lang['mediaextchange'] = 'íŒŒì¼ í™•ìž¥ìžê°€ .%sì—ì„œ .%s(으)ë¡œ 바뀌었습니다!'; $lang['reference'] = '다ìŒì„ 참조'; $lang['ref_inuse'] = 'ë‹¤ìŒ ë¬¸ì„œì—ì„œ ì•„ì§ ì‚¬ìš© 중ì´ë¯€ë¡œ 파ì¼ì„ ì‚ì œí• ìˆ˜ 없습니다:'; -$lang['ref_hidden'] = 'ë¬¸ì„œì˜ ì¼ë¶€ ì°¸ê³ ëŠ” ì½ì„ 수 있는 ê¶Œí•œì´ ì—†ìŠµë‹ˆë‹¤'; +$lang['ref_hidden'] = 'ë¬¸ì„œì˜ ì¼ë¶€ 참조는 ì½ì„ 수 있는 ê¶Œí•œì´ ì—†ìŠµë‹ˆë‹¤'; $lang['hits'] = '조회 수'; $lang['quickhits'] = 'ì¼ì¹˜í•˜ëŠ” 문서 ì´ë¦„'; $lang['toc'] = '목차'; @@ -204,7 +206,7 @@ $lang['created'] = '만듦'; $lang['restored'] = 'ì´ì „ íŒìœ¼ë¡œ ë˜ëŒë¦¼ (%s)'; $lang['external_edit'] = '바깥 편집'; $lang['summary'] = '편집 요약'; -$lang['noflash'] = 'ì´ ë‚´ìš©ì„ í‘œì‹œí•˜ê¸° 위해서 <a href="http://www.adobe.com/products/flashplayer/">Adobe 플래시 플러그ì¸</a>ì´ í•„ìš”í•©ë‹ˆë‹¤.'; +$lang['noflash'] = 'ì´ ë‚´ìš©ì„ í‘œì‹œí•˜ê¸° 위해서 <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash 플러그ì¸</a>ì´ í•„ìš”í•©ë‹ˆë‹¤.'; $lang['download'] = 'ì¡°ê° ë‹¤ìš´ë¡œë“œ'; $lang['tools'] = 'ë„구'; $lang['user_tools'] = 'ì‚¬ìš©ìž ë„구'; @@ -246,7 +248,6 @@ $lang['qb_sig'] = '서명 넣기'; $lang['qb_smileys'] = 'ì´ëª¨í‹°ì½˜'; $lang['qb_chars'] = '특수 문ìž'; $lang['upperns'] = 'ìƒìœ„ ì´ë¦„공간으로 ì´ë™'; -$lang['admin_register'] = '새 ì‚¬ìš©ìž ì¶”ê°€'; $lang['metaedit'] = '메타ë°ì´í„° 편집'; $lang['metasaveerr'] = '메타ë°ì´í„° 쓰기 실패'; $lang['metasaveok'] = '메타ë°ì´í„° ì €ìž¥ë¨'; @@ -279,7 +280,6 @@ $lang['subscr_style_every'] = 'ëª¨ë“ ë°”ë€œì„ ì´ë©”ì¼ë¡œ 받기'; $lang['subscr_style_digest'] = 'ê° ë¬¸ì„œì˜ ë°”ë€œì„ ìš”ì•½ (매 %.2fì¼ ë§ˆë‹¤)'; $lang['subscr_style_list'] = '마지막 ì´ë©”ì¼ ì´í›„ ë°”ë€ ë¬¸ì„œì˜ ëª©ë¡ (매 %.2fì¼ ë§ˆë‹¤)'; $lang['authtempfail'] = 'ì‚¬ìš©ìž ì¸ì¦ì„ ì¼ì‹œì 으로 ì‚¬ìš©í• ìˆ˜ 없습니다. 만약 계ì†í•´ì„œ ë¬¸ì œê°€ ë°œìƒí•œë‹¤ë©´ 위키 관리ìžì—게 문ì˜í•˜ì‹œê¸° ë°”ëžë‹ˆë‹¤.'; -$lang['authpwdexpire'] = '비밀번호를 바꾼지 %dì¼ì´ 지났으며, 비밀번호를 곧 바꿔야 합니다.'; $lang['i_chooselang'] = 'ì‚¬ìš©í• ì–¸ì–´ë¥¼ ì„ íƒí•˜ì„¸ìš”'; $lang['i_installer'] = 'ë„ì¿ ìœ„í‚¤ 설치 관리ìž'; $lang['i_wikiname'] = '위키 ì´ë¦„'; @@ -287,7 +287,7 @@ $lang['i_enableacl'] = 'ACL 활성화 (권장)'; $lang['i_superuser'] = 'ìŠˆí¼ ì‚¬ìš©ìž'; $lang['i_problems'] = '설치 관리ìžê°€ ì•„ëž˜ì— ë‚˜ì™€ 있는 몇 가지 ë¬¸ì œë¥¼ 찾았습니다. ë¬¸ì œë¥¼ 해결하지 ì „ê¹Œì§€ 설치를 계ì†í• 수 없습니다.'; $lang['i_modified'] = '보안 ìƒì˜ ì´ìœ ë¡œ ì´ ìŠ¤í¬ë¦½íŠ¸ëŠ” ìˆ˜ì •ë˜ì§€ ì•Šì€ ìƒˆ ë„ì¿ ìœ„í‚¤ 설치ì—서만 ë™ìž‘ë©ë‹ˆë‹¤. -다운로드한 압축 패키지를 다시 설치하거나 <a href="http://dokuwiki.org/ko:install">ë„ì¿ ìœ„í‚¤ 설치 ê³¼ì •</a>ì„ ì°¸ê³ í•´ì„œ 설치하세요.'; + 다운로드한 압축 패키지를 다시 설치하거나 <a href="http://dokuwiki.org/ko:install">ë„ì¿ ìœ„í‚¤ 설치 ê³¼ì •</a>ì„ ì°¸ì¡°í•´ì„œ 설치하세요.'; $lang['i_funcna'] = '<code>%s</code> PHP 함수를 ì‚¬ìš©í• ìˆ˜ 없습니다. 호스트 ì œê³µìžê°€ ì–´ë–¤ ì´ìœ ì—ì„œì¸ì§€ 막아 놓았ì„지 모릅니다.'; $lang['i_phpver'] = 'PHP <code>%s</code> ë²„ì „ì€ í•„ìš”í•œ <code>%s</code> ë²„ì „ë³´ë‹¤ 오래ë˜ì—ˆìŠµë‹ˆë‹¤. PHP를 ì—…ê·¸ë ˆì´ë“œí• 필요가 있습니다.'; $lang['i_mbfuncoverload'] = 'ë„ì¿ ìœ„í‚¤ë¥¼ ì‹¤í–‰í•˜ë ¤ë©´ mbstring.func_overload를 php.iniì—ì„œ 비활성화해야 합니다.'; @@ -297,9 +297,9 @@ $lang['i_writeerr'] = '<code>%s</code>(ì„)를 만들 수 없습니 $lang['i_badhash'] = 'dokuwiki.php를 ì¸ì‹í• 수 없거나 ì›ë³¸ 파ì¼ì´ 아닙니다 (í•´ì‹œ=<code>%s</code>)'; $lang['i_badval'] = '<code>%s</code> - 잘못ë˜ì—ˆê±°ë‚˜ 빈 값입니다'; $lang['i_success'] = '환경 ì„¤ì •ì´ ì„±ê³µì 으로 ë났습니다. 지금 install.php를 ì§€ì›Œë„ ìƒê´€ì—†ìŠµë‹ˆë‹¤. -<a href="doku.php?id=wiki:welcome">새 ë„ì¿ ìœ„í‚¤</a>ë¡œ 들어가세요.'; + <a href="doku.php?id=wiki:welcome">새 ë„ì¿ ìœ„í‚¤</a>ë¡œ 들어가세요.'; $lang['i_failure'] = '환경 ì„¤ì • 파ì¼ì— 쓰는 ë„ì¤‘ì— ì˜¤ë¥˜ê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤. -<a href="doku.php?id=wiki:welcome">새 ë„ì¿ ìœ„í‚¤</a>를 사용하기 ì „ì— ìˆ˜ë™ìœ¼ë¡œ ë¬¸ì œë¥¼ 해결해야 합니다.'; + <a href="doku.php?id=wiki:welcome">새 ë„ì¿ ìœ„í‚¤</a>를 사용하기 ì „ì— ìˆ˜ë™ìœ¼ë¡œ ë¬¸ì œë¥¼ 해결해야 합니다.'; $lang['i_policy'] = '초기 ACL ì •ì±…'; $lang['i_pol0'] = '열린 위키 (누구나 ì½ê¸°, 쓰기, 올리기가 가능합니다)'; $lang['i_pol1'] = '공개 위키 (누구나 ì½ì„ 수 있지만, 등ë¡ëœ 사용ìžë§Œ 쓰기와 올리기가 가능합니다)'; @@ -334,7 +334,7 @@ $lang['media_files'] = '%sì— ìžˆëŠ” 파ì¼'; $lang['media_upload'] = '%sì— ì˜¬ë¦¬ê¸°'; $lang['media_search'] = '%sì—ì„œ 검색'; $lang['media_view'] = '%s'; -$lang['media_viewold'] = '%s (%sì— ìžˆìŒ)'; +$lang['media_viewold'] = '%2$sì— ìžˆëŠ” %1$s'; $lang['media_edit'] = '%s 편집'; $lang['media_history'] = '%sì˜ ì—사'; $lang['media_meta_edited'] = '메타ë°ì´í„° 편집ë¨'; @@ -342,6 +342,7 @@ $lang['media_perm_read'] = '죄송하지만 파ì¼ì„ ì½ì„ ê¶Œí•œì´ ì—† $lang['media_perm_upload'] = '죄송하지만 파ì¼ì„ 올릴 ê¶Œí•œì´ ì—†ìŠµë‹ˆë‹¤.'; $lang['media_update'] = '새 íŒ ì˜¬ë¦¬ê¸°'; $lang['media_restore'] = 'ì´ íŒìœ¼ë¡œ ë˜ëŒë¦¬ê¸°'; +$lang['media_acl_warning'] = 'ì´ ëª©ë¡ì€ ACLë¡œ ì œí•œë˜ì–´ ìžˆê³ ìˆ¨ê²¨ì§„ 문서ì´ê¸° ë•Œë¬¸ì— ì™„ì „í•˜ì§€ ì•Šì„ ìˆ˜ 있습니다.'; $lang['currentns'] = '현재 ì´ë¦„공간'; $lang['searchresult'] = '검색 ê²°ê³¼'; $lang['plainhtml'] = 'ì¼ë°˜ HTML'; diff --git a/inc/lang/ko/searchpage.txt b/inc/lang/ko/searchpage.txt index 6aa1c89af8f2e8985f8cd2311abfc7489d1e8213..bb834277fa0cf6d6595a861ad9422c2f92d1b0d5 100644 --- a/inc/lang/ko/searchpage.txt +++ b/inc/lang/ko/searchpage.txt @@ -2,4 +2,4 @@ 아래ì—ì„œ 검색 결과를 ì°¾ì„ ìˆ˜ 있습니다. @CREATEPAGEINFO@ -===== ê²°ê³¼ ===== +===== ê²°ê³¼ ===== \ No newline at end of file diff --git a/inc/lang/ko/updateprofile.txt b/inc/lang/ko/updateprofile.txt index 055272e9d527dba4f2c9cca042c6c500543cdec1..0ddea30b0e37a7cc651b2318d91b9e32b2aba2f7 100644 --- a/inc/lang/ko/updateprofile.txt +++ b/inc/lang/ko/updateprofile.txt @@ -1,3 +1,3 @@ -====== ê³„ì • 프로필 바꾸기 ====== +====== ê³„ì • 프로필 ì—…ë°ì´íŠ¸ ====== ë°”ê¾¸ê³ ì‹¶ì€ í•ëª©ì„ ìž…ë ¥í•˜ì„¸ìš”. ì‚¬ìš©ìž ì´ë¦„ì€ ë°”ê¿€ 수 없습니다. \ No newline at end of file diff --git a/inc/lang/ku/admin.txt b/inc/lang/ku/admin.txt deleted file mode 100644 index cfd21b21790353b863bff2ce565f645347b5b051..0000000000000000000000000000000000000000 --- a/inc/lang/ku/admin.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Administration ====== - -Below you can find a list of administrative tasks available in DokuWiki. - diff --git a/inc/lang/ku/denied.txt b/inc/lang/ku/denied.txt deleted file mode 100644 index 34cb8456a6cc18ba211acd4e57de24539ad79b65..0000000000000000000000000000000000000000 --- a/inc/lang/ku/denied.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Permission Denied ====== - -Sorry, you don't have enough rights to continue. - diff --git a/inc/lang/ku/editrev.txt b/inc/lang/ku/editrev.txt deleted file mode 100644 index e6995713bd2d3d7e1960747bc671f1a3c06eb0e0..0000000000000000000000000000000000000000 --- a/inc/lang/ku/editrev.txt +++ /dev/null @@ -1,2 +0,0 @@ -**You've loaded an old revision of the document!** If you save it, you will create a new version with this data. ----- \ No newline at end of file diff --git a/inc/lang/ku/lang.php b/inc/lang/ku/lang.php index a3c91eee8584af45f8b29fcbb14a6e63531f1043..460b5e8a304b87102e70da37d22961dd4c002560 100644 --- a/inc/lang/ku/lang.php +++ b/inc/lang/ku/lang.php @@ -31,113 +31,16 @@ $lang['btn_update'] = 'Rojanekirin'; $lang['btn_delete'] = 'Jê bibe'; $lang['btn_back'] = 'PaÅŸ'; $lang['btn_backlink'] = 'Girêdanên paÅŸ'; -$lang['btn_backtomedia'] = 'Back to Mediafile Selection'; -$lang['btn_subscribe'] = 'Subscribe Changes'; -$lang['btn_register'] = 'Register'; -$lang['loggedinas'] = 'Logged in as:'; -$lang['user'] = 'Username'; -$lang['pass'] = 'Password'; -$lang['passchk'] = 'once again'; -$lang['remember'] = 'Remember me'; -$lang['fullname'] = 'Full name'; -$lang['email'] = 'E-Mail'; -$lang['badlogin'] = 'Sorry, username or password was wrong.'; - -$lang['regmissing'] = 'Sorry, you must fill in all fields.'; -$lang['reguexists'] = 'Sorry, a user with this login already exists.'; -$lang['regsuccess'] = 'The user has been created and the password was sent by email.'; -$lang['regsuccess2']= 'The user has been created.'; -$lang['regmailfail']= 'Looks like there was an error on sending the password mail. Please contact the admin!'; -$lang['regbadmail'] = 'The given email address looks invalid - if you think this is an error, contact the admin'; -$lang['regbadpass'] = 'The two given passwords are not identically, please try again.'; -$lang['regpwmail'] = 'Your DokuWiki password'; -$lang['reghere'] = 'You don\'t have an account yet? Just get one'; - -$lang['txt_upload'] = 'Select file to upload'; -$lang['txt_filename'] = 'Enter wikiname (optional)'; -$lang['txt_overwrt'] = 'Overwrite existing file'; -$lang['lockedby'] = 'Currently locked by'; -$lang['lockexpire'] = 'Lock expires at'; -$lang['js']['willexpire'] = 'Your lock for editing this page is about to expire in a minute.\nTo avoid conflicts use the preview button to reset the locktimer.'; - -$lang['js']['notsavedyet'] = 'Unsaved changes will be lost.\nReally continue?'; - -$lang['rssfailed'] = 'An error occured while fetching this feed: '; $lang['nothingfound']= 'TiÅŸtek nehat dîtin.'; - -$lang['mediaselect'] = 'Mediafile Selection'; -$lang['fileupload'] = 'Mediafile Upload'; -$lang['uploadsucc'] = 'Upload successful'; -$lang['uploadfail'] = 'Upload failed. Maybe wrong permissions?'; -$lang['uploadwrong'] = 'Upload denied. This file extension is forbidden!'; -$lang['uploadexist'] = 'File already exists. Nothing done.'; -$lang['deletesucc'] = 'The file "%s" has been deleted.'; -$lang['deletefail'] = '"%s" couldn\'t be deleted - check permissions.'; -$lang['mediainuse'] = 'The file "%s" hasn\'t been deleted - it is still in use.'; -$lang['namespaces'] = 'Namespace'; -$lang['mediafiles'] = 'Available files in'; - $lang['reference'] = 'Referansa'; -$lang['ref_inuse'] = 'The file can\'t be deleted, because it\'s still used by the following pages:'; -$lang['ref_hidden'] = 'Some references are on pages you don\'t have permission to read'; - -$lang['hits'] = 'Hits'; -$lang['quickhits'] = 'Matching pagenames'; $lang['toc'] = 'Tabloya Navêrokê'; -$lang['current'] = 'current'; -$lang['yours'] = 'Your Version'; -$lang['diff'] = 'show differences to current version'; $lang['line'] = 'Rêz'; $lang['breadcrumb'] = 'Åžop:'; $lang['lastmod'] = 'Guherandina dawî:'; -$lang['by'] = 'by'; $lang['deleted'] = 'hat jê birin'; $lang['created'] = 'hat afirandin'; -$lang['restored'] = 'old revision restored (%s)'; $lang['summary'] = 'Kurteya guhartinê'; - -$lang['mail_newpage'] = 'page added:'; -$lang['mail_changed'] = 'page changed:'; - -$lang['js']['nosmblinks'] = 'Linking to Windows shares only works in Microsoft Internet Explorer.\nYou still can copy and paste the link.'; - -$lang['qb_bold'] = 'Bold Text'; -$lang['qb_italic'] = 'Italic Text'; -$lang['qb_underl'] = 'Underlined Text'; -$lang['qb_code'] = 'Code Text'; -$lang['qb_strike'] = 'Strike-through Text'; -$lang['qb_h1'] = 'Level 1 Headline'; -$lang['qb_h2'] = 'Level 2 Headline'; -$lang['qb_h3'] = 'Level 3 Headline'; -$lang['qb_h4'] = 'Level 4 Headline'; -$lang['qb_h5'] = 'Level 5 Headline'; -$lang['qb_link'] = 'Internal Link'; -$lang['qb_extlink'] = 'External Link'; -$lang['qb_hr'] = 'Horizontal Rule'; -$lang['qb_ol'] = 'Ordered List Item'; -$lang['qb_ul'] = 'Unordered List Item'; -$lang['qb_media'] = 'Add Images and other files'; -$lang['qb_sig'] = 'Insert Signature'; - -$lang['js']['del_confirm']= 'Delete this entry?'; - -$lang['admin_register']= 'Add new user...'; - -$lang['metaedit'] = 'Edit Metadata'; -$lang['metasaveerr'] = 'Writing metadata failed'; -$lang['metasaveok'] = 'Metadata saved'; -$lang['btn_img_backto'] = 'Back to %s'; -$lang['img_title'] = 'Title:'; -$lang['img_caption'] = 'Caption:'; -$lang['img_date'] = 'Date:'; -$lang['img_fname'] = 'Filename:'; -$lang['img_fsize'] = 'Size:'; -$lang['img_artist'] = 'Photographer:'; -$lang['img_copyr'] = 'Copyright:'; -$lang['img_format'] = 'Format:'; -$lang['img_camera'] = 'Camera:'; -$lang['img_keywords']= 'Keywords:'; $lang['searchcreatepage'] = "Heke tiÅŸtek nehatibe dîtin, tu dikarî dest bi nivîsandina rûpelekê nû bikî. Ji bo vê, ''Vê rûpelê biguherîne'' bitikîne."; //Setup VIM: ex: et ts=2 : diff --git a/inc/lang/ku/locked.txt b/inc/lang/ku/locked.txt deleted file mode 100644 index af6347a962a7364c9aad79dd28f88a003de326bd..0000000000000000000000000000000000000000 --- a/inc/lang/ku/locked.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Page locked ====== - -This page is currently locked for editing by another user. You have to wait until this user finishes editing or the lock expires. diff --git a/inc/lang/ku/login.txt b/inc/lang/ku/login.txt deleted file mode 100644 index 2004ea1985fd289991cc44ae7aa4eb81ea8d23bb..0000000000000000000000000000000000000000 --- a/inc/lang/ku/login.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Login ====== - -You are currently not logged in! Enter your authentication credentials below to log in. You need to have cookies enabled to log in. - diff --git a/inc/lang/ku/mailtext.txt b/inc/lang/ku/mailtext.txt deleted file mode 100644 index 44a3f6553604d5de12b30ad006b272e87bd29c76..0000000000000000000000000000000000000000 --- a/inc/lang/ku/mailtext.txt +++ /dev/null @@ -1,17 +0,0 @@ -A page in your DokuWiki was added or changed. Here are the details: - -Date : @DATE@ -Browser : @BROWSER@ -IP-Address : @IPADDRESS@ -Hostname : @HOSTNAME@ -Old Revision: @OLDPAGE@ -New Revision: @NEWPAGE@ -Edit Summary: @SUMMARY@ -User : @USER@ - -@DIFF@ - - --- -This mail was generated by DokuWiki at -@DOKUWIKIURL@ diff --git a/inc/lang/ku/norev.txt b/inc/lang/ku/norev.txt deleted file mode 100644 index 0b21bf3f06bacd312b1ca92e09470453b876aaa7..0000000000000000000000000000000000000000 --- a/inc/lang/ku/norev.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== No such revision ====== - -The specified revision doesn't exist. Use the ''Old revisions'' button for a list of old revisions of this document. - diff --git a/inc/lang/ku/password.txt b/inc/lang/ku/password.txt deleted file mode 100644 index 6d5cbe678cd813a4e5652cd2fa044b0feaa90728..0000000000000000000000000000000000000000 --- a/inc/lang/ku/password.txt +++ /dev/null @@ -1,10 +0,0 @@ -Hi @FULLNAME@! - -Here is your userdata for @TITLE@ at @DOKUWIKIURL@ - -Login : @LOGIN@ -Password : @PASSWORD@ - --- -This mail was generated by DokuWiki at -@DOKUWIKIURL@ diff --git a/inc/lang/ku/read.txt b/inc/lang/ku/read.txt deleted file mode 100644 index 9f56d81ad8b36dd3467fe8a43297209f53f93d67..0000000000000000000000000000000000000000 --- a/inc/lang/ku/read.txt +++ /dev/null @@ -1,2 +0,0 @@ -This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. - diff --git a/inc/lang/ku/register.txt b/inc/lang/ku/register.txt deleted file mode 100644 index b65683bc2b4ac25c594a5186223530612162b69e..0000000000000000000000000000000000000000 --- a/inc/lang/ku/register.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Register as new user ====== - -Fill in all the information below to create a new account in this wiki. Make sure you supply a **valid e-mail address** - your new password will be sent to it. The login name should be a valid [[doku>pagename|pagename]]. - diff --git a/inc/lang/ku/revisions.txt b/inc/lang/ku/revisions.txt deleted file mode 100644 index dd5f35b8e7e3b17d8eaddffd705f868b1e69f2da..0000000000000000000000000000000000000000 --- a/inc/lang/ku/revisions.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Old Revisions ====== - -These are the older revisons of the current document. To revert to an old revision, select it from below, click ''Edit this page'' and save it. - diff --git a/inc/lang/ku/showrev.txt b/inc/lang/ku/showrev.txt deleted file mode 100644 index 3608de36b84af7d8fc918b1fa0d439bf04b0bb27..0000000000000000000000000000000000000000 --- a/inc/lang/ku/showrev.txt +++ /dev/null @@ -1,2 +0,0 @@ -**This is an old revision of the document!** ----- diff --git a/inc/lang/la/lang.php b/inc/lang/la/lang.php index 66cd13967cb493409733202599bff227c0ba28d5..d6b8285257ee42f1102df02d39b948515e6ee919 100644 --- a/inc/lang/la/lang.php +++ b/inc/lang/la/lang.php @@ -12,11 +12,11 @@ */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; -$lang['doublequoteopening'] = '"'; -$lang['doublequoteclosing'] = '"'; +$lang['doublequoteopening'] = '"'; +$lang['doublequoteclosing'] = '"'; $lang['singlequoteopening'] = '`'; -$lang['singlequoteclosing'] = '\''; -$lang['apostrophe'] = '´'; +$lang['singlequoteclosing'] = '´'; +$lang['apostrophe'] = '\''; $lang['btn_edit'] = 'Recensere hanc paginam'; $lang['btn_source'] = 'Fontem uidere'; $lang['btn_show'] = 'Ostendere paginam'; @@ -40,7 +40,6 @@ $lang['btn_update'] = 'Nouare'; $lang['btn_delete'] = 'Delere'; $lang['btn_back'] = 'Redire'; $lang['btn_backlink'] = 'Nexus ad paginam'; -$lang['btn_backtomedia'] = 'Ad media redire'; $lang['btn_subscribe'] = 'Custodire'; $lang['btn_profile'] = 'Tabellam nouare'; $lang['btn_reset'] = 'Abrogare'; @@ -126,7 +125,6 @@ $lang['js']['del_confirm'] = 'Delere electas res uin?'; $lang['rssfailed'] = 'Error in restituendo '; $lang['nothingfound'] = 'Nihil inuentum est.'; $lang['mediaselect'] = 'Documenta uisiua:'; -$lang['fileupload'] = 'Documentum uisiuom onerare'; $lang['uploadsucc'] = 'Oneratum perfectum'; $lang['uploadfail'] = 'Error onerandi.'; $lang['uploadwrong'] = 'Onerare non potest. Genus documenti non legitimum!'; @@ -198,7 +196,6 @@ $lang['qb_sig'] = 'Subscriptio tua cum indicatione temporis'; $lang['qb_smileys'] = 'Pupuli'; $lang['qb_chars'] = 'Signa singularia'; $lang['upperns'] = 'I ad anterius genus'; -$lang['admin_register'] = 'Nouom Sodalem creare'; $lang['metaedit'] = 'Res codicis mutare'; $lang['metasaveerr'] = 'Res codicis non scribitur.'; $lang['metasaveok'] = 'Res codicis seruatae.'; diff --git a/inc/lang/lb/lang.php b/inc/lang/lb/lang.php index 1090878e2b5e11785a758ab7959e2f6eafc6e288..a48ab4e4cf7f455fbaf92eb2999ad83d50d485a3 100644 --- a/inc/lang/lb/lang.php +++ b/inc/lang/lb/lang.php @@ -34,7 +34,6 @@ $lang['btn_update'] = 'Update'; $lang['btn_delete'] = 'Läschen'; $lang['btn_back'] = 'Zeréck'; $lang['btn_backlink'] = 'Linker zeréck'; -$lang['btn_backtomedia'] = 'Zeréck bei d\'Auswiel vun de Mediadateien'; $lang['btn_profile'] = 'Profil aktualiséieren'; $lang['btn_reset'] = 'Zerécksetzen'; $lang['btn_draft'] = 'Entworf änneren'; @@ -88,7 +87,6 @@ $lang['js']['notsavedyet'] = 'Net gespäicher Ännerunge gi verluer.\nWierkl $lang['rssfailed'] = 'Et ass e Feeler virkomm beim erofluede vun dësem Feed: '; $lang['nothingfound'] = 'Näischt fond.'; $lang['mediaselect'] = 'Mediadateien'; -$lang['fileupload'] = 'Mediadateien eroplueden'; $lang['uploadsucc'] = 'Upload erfollegräich'; $lang['uploadfail'] = 'Feeler beim Upload. Vläicht falsch Rechter?'; $lang['uploadwrong'] = 'Eroplueden net erlaabt. Dës Dateiendung ass verbueden!'; @@ -159,7 +157,6 @@ $lang['qb_sig'] = 'Ënnerschrëft afügen'; $lang['qb_smileys'] = 'Smilien'; $lang['qb_chars'] = 'Spezialzeechen'; $lang['upperns'] = 'An de Namespace uewendriwwer sprangen'; -$lang['admin_register'] = 'Neie Benotzer bäisetzen'; $lang['metaedit'] = 'Metadaten änneren'; $lang['metasaveerr'] = 'Feeler beim Schreiwe vun de Metadaten'; $lang['metasaveok'] = 'Metadate gespäichert'; diff --git a/inc/lang/lt/lang.php b/inc/lang/lt/lang.php index d53a117f4da945f0ad6742fef11c8973d0d33c5d..a9eb052609993050dbf072c0b8b3023ba9cd1464 100644 --- a/inc/lang/lt/lang.php +++ b/inc/lang/lt/lang.php @@ -1,12 +1,13 @@ <?php + /** - * lithuanian language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Linas Valiukas <shirshegsm@gmail.com> * @author Edmondas Girkantas <eg@zemaitija.net> * @author ArÅ«nas VaitekÅ«nas <aras@fan.lt> * @author audrius.klevas@gmail.com + * @author Tomas Darius Davainis <tomasdd@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -38,7 +39,6 @@ $lang['btn_update'] = 'Atnaujinti'; $lang['btn_delete'] = 'IÅ¡trinti'; $lang['btn_back'] = 'Atgal'; $lang['btn_backlink'] = 'AtgalinÄ—s nuorodos'; -$lang['btn_backtomedia'] = 'Atgal į Mediabylos iÅ¡sirinkimÄ…'; $lang['btn_subscribe'] = 'Užsisakyti keitimų prenumeratÄ…'; $lang['btn_profile'] = 'Atnaujinti profilį'; $lang['btn_reset'] = 'Atstata'; @@ -46,6 +46,7 @@ $lang['btn_draft'] = 'Redaguoti juodraÅ¡tį'; $lang['btn_recover'] = 'Atkurti juodraÅ¡tį'; $lang['btn_draftdel'] = 'Å alinti juodraÅ¡tį'; $lang['btn_register'] = 'Registruotis'; +$lang['btn_img_backto'] = 'Atgal į %s'; $lang['loggedinas'] = 'PrisijungÄ™s kaip:'; $lang['user'] = 'Vartotojo vardas'; $lang['pass'] = 'Slaptažodis'; @@ -88,12 +89,16 @@ $lang['txt_filename'] = 'Ä®veskite wikivardÄ… (nebÅ«tina):'; $lang['txt_overwrt'] = 'PerraÅ¡yti egzistuojanÄiÄ… bylÄ…'; $lang['lockedby'] = 'Užrakintas vartotojo:'; $lang['lockexpire'] = 'Užraktas bus nuimtas:'; -$lang['js']['willexpire'] = 'Å io puslapio redagavimo užrakto galiojimo laikas baigsis po minutÄ—s.\nNorÄ—dami iÅ¡vengti nesklandumų naudokite peržiÅ«ros mygtukÄ… ir užraktas atsinaujins.'; +$lang['js']['willexpire'] = 'Å io puslapio redagavimo užrakto galiojimo laikas baigsis po minutÄ—s.\nNorÄ—dami iÅ¡vengti nesklandumų naudokite peržiÅ«ros mygtukÄ… ir užraktas atsinaujins.'; $lang['js']['notsavedyet'] = 'Pakeitimai nebus iÅ¡saugoti.\nTikrai tÄ™sti?'; +$lang['js']['keepopen'] = 'PažymÄ—jus palikti langÄ… atvertÄ…'; +$lang['js']['hidedetails'] = 'PaslÄ—pti Detales'; +$lang['js']['nosmblinks'] = 'Nurodos į "Windows shares" veikia tik su Microsoft Internet Explorer narÅ¡ykle. +Vis dÄ—lto, jÅ«s galite nukopijuoti Å¡iÄ… nuorodÄ….'; +$lang['js']['del_confirm'] = 'Ar tikrai iÅ¡trinti pažymÄ—tÄ…(us) įraÅ¡Ä…(us)?'; $lang['rssfailed'] = 'SiunÄiant šį feed\'Ä… įvyko klaida: '; $lang['nothingfound'] = 'PaieÅ¡kos rezultatų nÄ—ra.'; $lang['mediaselect'] = 'Mediabylos iÅ¡sirinkimas'; -$lang['fileupload'] = 'Mediabylos atsiuntimas'; $lang['uploadsucc'] = 'Atsiuntimas pavyko'; $lang['uploadfail'] = 'Atsiuntimas nepavyko. Blogi priÄ—jimo leidimai??'; $lang['uploadwrong'] = 'Atsiuntimas atmestas. Bylos tipas neleistinas'; @@ -107,10 +112,6 @@ $lang['deletefail'] = 'Byla "%s" negali bÅ«ti iÅ¡trinta - patikrinkit $lang['mediainuse'] = 'Byla "%s" nebuvo iÅ¡trinta - ji vis dar naudojama.'; $lang['namespaces'] = 'Pavadinimai'; $lang['mediafiles'] = 'Prieinamos bylos'; -$lang['js']['keepopen'] = 'PažymÄ—jus palikti langÄ… atvertÄ…'; -$lang['js']['hidedetails'] = 'PaslÄ—pti Detales'; -$lang['js']['nosmblinks'] = 'Nurodos į "Windows shares" veikia tik su Microsoft Internet Explorer narÅ¡ykle. -Vis dÄ—lto, jÅ«s galite nukopijuoti Å¡iÄ… nuorodÄ….'; $lang['mediausage'] = 'Failo nuorodai užraÅ¡yti naudokite tokiÄ… sintaksÄ™:'; $lang['mediaview'] = 'ŽiÅ«rÄ—ti pirminį failÄ…'; $lang['mediaroot'] = 'pradžia (root)'; @@ -159,12 +160,9 @@ $lang['qb_media'] = 'PaveikslÄ—liai ir kitos bylos'; $lang['qb_sig'] = 'Ä®terpti paraÅ¡Ä…'; $lang['qb_smileys'] = 'Å ypsenÄ—lÄ—s'; $lang['qb_chars'] = 'SpecialÅ«s simboliai'; -$lang['js']['del_confirm'] = 'Ar tikrai iÅ¡trinti pažymÄ—tÄ…(us) įraÅ¡Ä…(us)?'; -$lang['admin_register'] = 'Sukurti naujÄ… vartotojÄ…'; $lang['metaedit'] = 'Redaguoti metaduomenis'; $lang['metasaveerr'] = 'Nepavyko iÅ¡saugoti metaduomenų'; $lang['metasaveok'] = 'Metaduomenys iÅ¡saugoti'; -$lang['btn_img_backto'] = 'Atgal į %s'; $lang['img_title'] = 'Pavadinimas:'; $lang['img_caption'] = 'AntraÅ¡tÄ—:'; $lang['img_date'] = 'Data:'; diff --git a/inc/lang/lv/lang.php b/inc/lang/lv/lang.php index ddc97fa8906e91837b16857b131f5dfef979e398..cb7091e50b1e4777cd0d42d233280564b66039b3 100644 --- a/inc/lang/lv/lang.php +++ b/inc/lang/lv/lang.php @@ -35,7 +35,6 @@ $lang['btn_update'] = 'Atjaunot'; $lang['btn_delete'] = 'DzÄ“st'; $lang['btn_back'] = 'Atpakaļ'; $lang['btn_backlink'] = 'NorÄdes uz lapu'; -$lang['btn_backtomedia'] = 'Atpakaļ uz mÄ“diju failu izvÄ“li'; $lang['btn_subscribe'] = 'AbonÄ“t izmaiņu paziņojumus'; $lang['btn_profile'] = 'Labot savu profilu'; $lang['btn_reset'] = 'Atsaukt izmaiņas'; @@ -148,7 +147,6 @@ $lang['js']['media_overwrt'] = 'RakstÄ«t pÄri esoÅ¡ajiem failiem'; $lang['rssfailed'] = 'Kļūda saņemot saturu no '; $lang['nothingfound'] = 'Nekas nav atrasts.'; $lang['mediaselect'] = 'MÄ“diju faila izvÄ“le'; -$lang['fileupload'] = 'MÄ“diju faila augÅ¡upielÄde'; $lang['uploadsucc'] = 'VeiksmÄ«gi ielÄdÄ“ts'; $lang['uploadfail'] = 'IelÄdes kļūme. VarbÅ«t aplamas tiesÄ«bas?'; $lang['uploadwrong'] = 'IelÄde aizliegta. Neatļauts faila paplaÅ¡inÄjums'; @@ -239,7 +237,6 @@ $lang['qb_sig'] = 'Ievietot parakstu'; $lang['qb_smileys'] = 'Emotikoni'; $lang['qb_chars'] = 'ĪpaÅ¡Äs zÄ«mes'; $lang['upperns'] = 'vienu nodaļu lÄ«meni augstÄk'; -$lang['admin_register'] = 'Pievienot jaunu lietotÄju'; $lang['metaedit'] = 'Labot metadatus'; $lang['metasaveerr'] = 'Metadati nav saglabÄti'; $lang['metasaveok'] = 'Metadati saglabÄti'; @@ -272,7 +269,6 @@ $lang['subscr_style_every'] = 'vÄ“stuli par katru izmaiņu'; $lang['subscr_style_digest'] = 'kopsavilkumu par katru lapu (reizi %.2f dienÄs)'; $lang['subscr_style_list'] = 'kopÅ¡ pÄ“dÄ“jÄs vÄ“stules notikuÅ¡o labojumu sarakstu (reizi %.2f dienÄs)'; $lang['authtempfail'] = 'LietotÄju autentifikÄcija paÅ¡laik nedarbojas. Ja tas turpinÄs ilgstoÅ¡i, lÅ«duz ziņo Wiki administratoram.'; -$lang['authpwdexpire'] = 'Tavai parolei pÄ“c %d dienÄm biegsies termiņš, tÄ drÄ«zumÄ jÄnomaina.'; $lang['i_chooselang'] = 'IzvÄ“lies valodu'; $lang['i_installer'] = 'DokuWiki instalÄ“tÄjs'; $lang['i_wikiname'] = 'Wiki vÄrds'; diff --git a/inc/lang/mg/lang.php b/inc/lang/mg/lang.php index b6e0cc6e0281a822cefef387e2f5ea2ae7f415fb..5b406ed705093b5b55ee2bdd50a3a343c9b6f9ef 100644 --- a/inc/lang/mg/lang.php +++ b/inc/lang/mg/lang.php @@ -27,7 +27,6 @@ $lang['btn_admin'] = 'Admin'; $lang['btn_update'] = 'Update'; $lang['btn_delete'] = 'Fafao'; $lang['btn_back'] = 'Miverina'; -$lang['btn_backtomedia'] = 'Fitsongana fichier Media'; $lang['btn_register'] = 'Hisoratra'; $lang['loggedinas'] = 'Anaranao:'; @@ -61,7 +60,6 @@ $lang['rssfailed'] = 'An error occured while fetching this feed: '; $lang['nothingfound']= 'Tsy nahitana n\'inon\'inona.'; $lang['mediaselect'] = 'Safidy rakitra Media'; -$lang['fileupload'] = 'Fandefasana rakitra Media'; $lang['uploadsucc'] = 'Voalefa soa aman-tsara'; $lang['uploadfail'] = 'Tsy lasa ilay izy. Mety tsy fananana alalana?'; $lang['uploadwrong'] = 'Nolavina ny lefa. Voarara io extension-na rakitra io!'; @@ -116,6 +114,5 @@ $lang['qb_sig'] = 'Manisy sonia'; $lang['js']['del_confirm']= 'Hofafana ilay andalana?'; -$lang['admin_register']= 'Ampio mpampiasa vaovao...'; $lang['searchcreatepage'] = "Raha tsy nahita izay notadiavinao ianao, dia afaka mamorona pejy vaovao avy amin'ny teny nanaovanao fikarohana; Ampiasao ny bokotra ''Hanova ny pejy''."; //Setup VIM: ex: et ts=2 : diff --git a/inc/lang/mk/lang.php b/inc/lang/mk/lang.php index ddfae15c465c770347b967a06206cab52f267c54..034d98b38f91145f7c61a26cea9f0ed6b871100a 100644 --- a/inc/lang/mk/lang.php +++ b/inc/lang/mk/lang.php @@ -14,7 +14,9 @@ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; $lang['doublequoteopening'] = '„'; $lang['doublequoteclosing'] = '“'; -$lang['apostrophe'] = '\''; +$lang['singlequoteopening'] = '’'; +$lang['singlequoteclosing'] = '‘'; +$lang['apostrophe'] = '’'; $lang['btn_edit'] = 'Уреди ја Ñтраницата'; $lang['btn_source'] = 'Прикажи ја изворната Ñтраница'; $lang['btn_show'] = 'Прикажи Ñтраница'; @@ -38,7 +40,6 @@ $lang['btn_update'] = 'Ðжурирај'; $lang['btn_delete'] = 'Избриши'; $lang['btn_back'] = 'Ðазад'; $lang['btn_backlink'] = 'Повратни врÑки'; -$lang['btn_backtomedia'] = 'Ðазад до изборот за медиа-датотека'; $lang['btn_subscribe'] = 'Менаџирај претплати'; $lang['btn_profile'] = 'Ðжурирај профил'; $lang['btn_reset'] = 'РеÑет'; @@ -95,7 +96,6 @@ $lang['js']['notsavedyet'] = 'Ðезачуваните промени ќе $lang['rssfailed'] = 'Се појави грешка при повлекувањето на овој канал:'; $lang['nothingfound'] = 'Ðишто не е пронајдено.'; $lang['mediaselect'] = 'Медиа датотеки'; -$lang['fileupload'] = 'Качување на медиа датотеки'; $lang['uploadsucc'] = 'Качувањето е уÑпешно'; $lang['uploadfail'] = 'Качувањето не е уÑпешно. Можеби има погрешни пермиÑии?'; $lang['uploadwrong'] = 'Качувањето е одбиено. ÐаÑтавката на датотеката е забранета!'; @@ -167,7 +167,6 @@ $lang['qb_media'] = 'Додај Ñлики и други датот $lang['qb_sig'] = 'ВнеÑи потпиÑ'; $lang['qb_smileys'] = 'Смајлиња'; $lang['qb_chars'] = 'Специјални знаци'; -$lang['admin_register'] = 'Додај нов кориÑник'; $lang['metaedit'] = 'Уреди мета-податоци'; $lang['metasaveerr'] = 'Запишување на мета-податоците не уÑпеа'; $lang['metasaveok'] = 'Мета-податоците Ñе зачувани'; diff --git a/inc/lang/ml/admin.txt b/inc/lang/ml/admin.txt new file mode 100644 index 0000000000000000000000000000000000000000..0f9c81486b344c9bc394d41b70d8e2a463b85d2b --- /dev/null +++ b/inc/lang/ml/admin.txt @@ -0,0 +1,3 @@ +====== പൊതൠസെറàµà´±à´¿à´‚à´—àµà´¸àµ ====== + +താഴെ കാണàµà´¨àµà´¨ പടàµà´Ÿà´¿à´• ഡോകàµà´•àµà´µà´¿à´•àµà´•à´¿à´¯à´¿àµ½ ഉളàµà´³ പൊതൠസെറàµà´±à´¿à´‚à´—àµà´¸àµ ആണൠ. \ No newline at end of file diff --git a/inc/lang/mr/lang.php b/inc/lang/mr/lang.php index 7ebb14b9362de03b11e86c11ab405e5b8809da30..62274e12777f6a5579b73cbc519fc40d1896676a 100644 --- a/inc/lang/mr/lang.php +++ b/inc/lang/mr/lang.php @@ -42,7 +42,6 @@ $lang['btn_update'] = 'अदà¥à¤¯à¤¯à¤¾à¤µà¤¤'; $lang['btn_delete'] = 'नषà¥à¤Ÿ'; $lang['btn_back'] = 'मागॆ'; $lang['btn_backlink'] = 'येथे काय जोडले आहे'; -$lang['btn_backtomedia'] = 'परत माधà¥à¤¯à¤® फाइल निवडीकड़े'; $lang['btn_subscribe'] = 'पृषà¥à¤ ाचà¥à¤¯à¤¾ बदलांची पà¥à¤°à¤µà¤£à¥€ (फीड) लावा '; $lang['btn_profile'] = 'पà¥à¤°à¥‹à¤«à¤¾à¤‡à¤² अदà¥à¤¯à¤¯à¤¾à¤µà¤¤ करा'; $lang['btn_reset'] = 'रिसेट'; @@ -140,7 +139,6 @@ $lang['js']['media_cancel'] = 'काढा'; $lang['rssfailed'] = 'ही पà¥à¤°à¤µà¤£à¥€ आणणà¥à¤¯à¤¾à¤¤ काही चूक à¤à¤¾à¤²à¥€:'; $lang['nothingfound'] = 'काही सापडला नाही.'; $lang['mediaselect'] = 'दृकशà¥à¤°à¤¾à¤µà¥à¤¯ फाइल'; -$lang['fileupload'] = 'दृकशà¥à¤°à¤¾à¤µà¥à¤¯ फाइल अपलोड'; $lang['uploadsucc'] = 'अपलोड यशसà¥à¤µà¥€'; $lang['uploadfail'] = 'अपलोड अयशसà¥à¤µà¥€.कदाचित चà¥à¤•à¥€à¤šà¥à¤¯à¤¾ परवानगà¥à¤¯à¤¾ असतील ?'; $lang['uploadwrong'] = 'अपलोड नाकारणà¥à¤¯à¤¾à¤¤ आला. हे फाइल à¤à¤•à¥à¤¸à¤Ÿà¥‡à¤‚शन अवैध आहे!'; @@ -224,7 +222,6 @@ $lang['qb_sig'] = 'सà¥à¤µà¤¾à¤•à¥à¤·à¤°à¥€ टाका'; $lang['qb_smileys'] = 'सà¥à¤®à¤¾à¤‡à¤²à¥€'; $lang['qb_chars'] = 'ख़ास चिनà¥à¤¹'; $lang['upperns'] = 'हà¥à¤¯à¤¾à¤µà¤°à¤šà¥à¤¯à¤¾ नेमसà¥à¤ªà¥‡à¤¸à¤•à¤¡à¥‡ उडी मारा'; -$lang['admin_register'] = 'नवीन सदसà¥à¤¯'; $lang['metaedit'] = 'मेटाडेटा बदला'; $lang['metasaveerr'] = 'मेटाडेटा सà¥à¤°à¤•à¥à¤·à¤¿à¤¤ à¤à¤¾à¤²à¤¾ नाही'; $lang['metasaveok'] = 'मेटाडेटा सà¥à¤°à¤•à¥à¤·à¤¿à¤¤ à¤à¤¾à¤²à¤¾'; diff --git a/inc/lang/ms/lang.php b/inc/lang/ms/lang.php index 303116429a8451e8d109a6ca361dfbc0e7368d99..14cb94ebd061843d25c95bf8a8cb621ec573c840 100644 --- a/inc/lang/ms/lang.php +++ b/inc/lang/ms/lang.php @@ -35,7 +35,6 @@ $lang['btn_update'] = 'Kemaskini'; $lang['btn_delete'] = 'Hapus'; $lang['btn_back'] = 'Balik'; $lang['btn_backlink'] = 'Pautan ke halaman ini'; -$lang['btn_backtomedia'] = 'Balik ke rangkaian pilihan fail media'; $lang['btn_subscribe'] = 'Pantau'; $lang['btn_profile'] = 'Kemaskinikan profil'; $lang['btn_reset'] = 'Batalkan suntingan'; @@ -87,7 +86,6 @@ $lang['txt_upload'] = 'Pilih fail untuk diunggah:'; $lang['txt_filename'] = 'Unggah fail dengan nama (tidak wajib):'; $lang['txt_overwrt'] = 'Timpa fail sekarang'; $lang['lockedby'] = 'Halaman ini telah di:'; -$lang['fileupload'] = 'Muat naik fail'; $lang['uploadsucc'] = 'Pemuatan naik berjaya'; $lang['uploadfail'] = 'Ralat muat naik'; $lang['uploadxss'] = 'Fail ini mengandungi kod HTML atau kod skrip yang mungkin boleh disalah tafsir oleh pelayar web.'; diff --git a/inc/lang/ne/adminplugins.txt b/inc/lang/ne/adminplugins.txt new file mode 100644 index 0000000000000000000000000000000000000000..93eff63fb7f1a6b39c8970519fe0c86a56a9bf49 --- /dev/null +++ b/inc/lang/ne/adminplugins.txt @@ -0,0 +1 @@ +===== थप पà¥à¤²à¤—िनहरू ===== \ No newline at end of file diff --git a/inc/lang/ne/lang.php b/inc/lang/ne/lang.php index d4efc89bdfa805666a21e8283a8d45270e632c29..46074d020cc293454b9483b935a36d459a81ccca 100644 --- a/inc/lang/ne/lang.php +++ b/inc/lang/ne/lang.php @@ -2,9 +2,10 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Saroj Kumar Dhakal <lotusnagarkot@gmail.com> * @author Saroj Kumar Dhakal <lotusnagarkot@yahoo.com> + * @author सरोज ढकाल <lotusnagarkot@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -36,14 +37,20 @@ $lang['btn_update'] = 'अधà¥à¤¯à¤¾à¤µà¤§à¤¿à¤• गरà¥à¤¨à¥à¤¹ $lang['btn_delete'] = 'मेटाउनà¥à¤¹à¥‹à¤¸à¥ '; $lang['btn_back'] = 'पछाडि'; $lang['btn_backlink'] = 'पछाडिका लिङà¥à¤•à¤¹à¤°à¥ '; -$lang['btn_backtomedia'] = 'मिडिया छनौटमा फरà¥à¤•à¤¨à¥à¤¹à¥‹à¤¸à¥'; $lang['btn_subscribe'] = 'पृषà¥à¤ परिवरà¥à¤¤à¤¨ गà¥à¤°à¤¾à¤¹à¥à¤¯ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥'; $lang['btn_profile'] = 'पà¥à¤°à¥‹à¤«à¤¾à¤‡à¤² अधà¥à¤¯à¤¾à¤µà¤§à¤¿à¤• गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ '; $lang['btn_reset'] = 'पूरà¥à¤µà¤°à¥à¤ªà¤®à¤¾ फरà¥à¤•à¤¾à¤‰à¤¨à¥à¤¹à¥‹à¤¸'; +$lang['btn_resendpwd'] = 'नयाठपासवरà¥à¤¡ राखà¥à¤¨à¥à¤¹à¥‹à¤¸'; $lang['btn_draft'] = ' डà¥à¤°à¤¾à¤«à¥à¤Ÿ समà¥à¤ªà¤¾à¤¦à¤¨ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ '; $lang['btn_recover'] = 'पहिलेको डà¥à¤°à¤¾à¤«à¥à¤Ÿ हासिल गरà¥à¤¨à¥à¤¹à¥‹à¤¸ '; $lang['btn_draftdel'] = ' डà¥à¤°à¤¾à¤«à¥à¤Ÿ मेटाउनà¥à¤¹à¥‹à¤¸à¥ '; +$lang['btn_revert'] = 'पूरà¥à¤µà¤°à¥‚पमा फरà¥à¤•à¤¾à¤‰à¤¨à¥‡'; $lang['btn_register'] = 'दरà¥à¤¤à¤¾ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥'; +$lang['btn_apply'] = 'लागॠगरà¥à¤¨à¥‡'; +$lang['btn_media'] = 'मेडिया वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¾à¤ªà¤•'; +$lang['btn_deleteuser'] = 'खाता हटाउने'; +$lang['btn_img_backto'] = 'फिरà¥à¤¤à¤¾%s'; +$lang['btn_mediaManager'] = 'मेडिया वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¾à¤ªà¤•à¤®à¤¾ हेरà¥à¤¨à¥‡'; $lang['loggedinas'] = 'पà¥à¤°à¤µà¥‡à¤¶ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ :'; $lang['user'] = 'पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾ '; $lang['pass'] = 'पà¥à¤°à¤µà¥‡à¤¶à¤¶à¤µà¥à¤¦'; @@ -55,6 +62,7 @@ $lang['fullname'] = 'पूरा नाम'; $lang['email'] = 'इमेल'; $lang['profile'] = 'पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾à¤•à¥‹ पà¥à¤°à¥‹à¤«à¤¾à¤‡à¤²'; $lang['badlogin'] = 'माफ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ , पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾à¤¨à¤¾à¤® वा पà¥à¤°à¤µà¥‡à¤¶à¤¶à¤µà¥à¤¦ गलत à¤à¤¯à¥‹ '; +$lang['badpassconfirm'] = 'माफ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ , पासवरà¥à¤¡ गलत छ '; $lang['minoredit'] = 'सामानà¥à¤¯ परिवरà¥à¤¤à¤¨'; $lang['draftdate'] = 'डà¥à¤°à¤¾à¤«à¥à¤Ÿ सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ रà¥à¤ªà¤®à¤¾ वचत à¤à¤à¤•à¥‹'; $lang['nosecedit'] = 'यो पृषà¥à¤ यसै बखतमा परिवरà¥à¤¤à¤¨ à¤à¤¯à¥‹, खणà¥à¤¡ जानकारी अधà¥à¤¯à¤¾à¤µà¤§à¤¿à¤• हà¥à¤¨ सकेन र पूरै पृषà¥à¤ लोड à¤à¤¯à¥‹ । '; @@ -72,6 +80,8 @@ $lang['profna'] = 'यो विकिले यो पà¥à¤°à¥‹ $lang['profnochange'] = 'केहि परिवरà¥à¤¤à¤¨ छैन , केहि गरà¥à¤¨à¥ छैन ।'; $lang['profnoempty'] = 'खाली नाम वा इमेल ठेगानालाई अनà¥à¤®à¤¤à¤¿ छैन ।'; $lang['profchanged'] = 'पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾à¤•à¥‹ पà¥à¤°à¤«à¤¾à¤‡à¤² सफलरà¥à¤ªà¤®à¤¾ परिवरà¥à¤¤à¤¨ à¤à¤¯à¥‹ ।'; +$lang['profnodelete'] = 'यो विकिले पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾à¤¹à¤°à¥‚ हटाउन समरà¥à¤¥à¤¨ गरà¥à¤¦à¥ˆà¤¨'; +$lang['profdeleteuser'] = 'खाता मेटà¥à¤¨à¥à¤¹à¥‹à¤¸'; $lang['pwdforget'] = 'आफà¥à¤¨à¥‹ पासवरà¥à¤¡ à¤à¥à¤²à¥à¤¨à¥ à¤à¤¯à¥‹ ? नयाठहासिल गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ '; $lang['resendna'] = 'यो विकिबाट पà¥à¤°à¤µà¥‡à¤¶à¤¶à¤µà¥à¤¦ पठाउन समरà¥à¤¥à¤¿à¤¤ छैन ।'; $lang['resendpwd'] = 'नयाठपà¥à¤°à¤µà¥‡à¤¶à¤¶à¤µà¥à¤¦ पठाउनà¥à¤¹à¥‹à¤¸à¥ '; @@ -90,12 +100,12 @@ $lang['js']['willexpire'] = 'तपाईलले यो पृषà¥à¤ $lang['js']['notsavedyet'] = 'तपाईले वचन गरà¥à¤¨à¥ नà¤à¤à¤•à¥‹ परिवरà¥à¤°à¤¨ हराउने छ। \n साचà¥à¤šà¥ˆ जारी गरà¥à¤¨à¥à¤¹à¥à¤¨à¥à¤› ।'; $lang['js']['keepopen'] = 'छनौटमा विनà¥à¤¡à¥‹ खà¥à¤²à¤¾ राखà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ '; $lang['js']['hidedetails'] = 'जानकारी लà¥à¤•à¤¾à¤‰à¤¨à¥ होसॠ'; +$lang['js']['mediaclose'] = 'बनà¥à¤¦ गरà¥à¤¨à¥‡'; $lang['js']['nosmblinks'] = 'विनà¥à¤¡à¥‹à¤¹à¤°à¥ लिङà¥à¤• गरà¥à¤¦à¤¾ माइकà¥à¤°à¥‹ सफà¥à¤Ÿ à¤à¤•à¥à¤¸à¤ªà¥à¤²à¥‹à¤°à¤°à¤®à¤¾à¤®à¤¾à¤¤à¥à¤° काम साà¤à¤¾ हà¥à¤¨à¥à¤› । तर कपि गरà¥à¤¨ र टासà¥à¤¨ मिलà¥à¤›à¥¤ '; $lang['js']['del_confirm'] = 'साचà¥à¤šà¥ˆ छानिà¤à¤•à¤¾ वसà¥à¤¤à¥à¤¹à¤°à¥ मेटà¥à¤¨à¥‡ हो ?'; $lang['rssfailed'] = 'यो फिड लिइ आउदा गलà¥à¤¤à¤¿ à¤à¤¯à¥‹ ।'; $lang['nothingfound'] = 'केहि पनि à¤à¥‡à¤Ÿà¤¿à¤à¤¨ ।'; $lang['mediaselect'] = 'मिडिया फाइलहरू '; -$lang['fileupload'] = 'मिडिया फाइल अपलोड '; $lang['uploadsucc'] = 'अपलोड सफल '; $lang['uploadfail'] = 'अपलोड असफल । सायद गलत अनà¥à¤®à¤¤à¤¿ । '; $lang['uploadwrong'] = 'अपलोड असमरà¥à¤¥à¤¿à¤¤ । फाइल à¤à¤•à¥à¤¸à¤Ÿà¥‡à¤¨à¥à¤¸à¤¨ अमानà¥à¤¯à¥¤ '; @@ -155,11 +165,9 @@ $lang['qb_media'] = 'तसà¥à¤µà¤¿à¤° र अरॠफाइल $lang['qb_sig'] = 'हसà¥à¤¤à¤¾à¤•à¥à¤·à¤° थपà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ '; $lang['qb_smileys'] = 'सà¥à¤®à¤¾à¤‡à¤²à¥€à¤¹à¤°à¥ '; $lang['qb_chars'] = 'विशेष वरà¥à¤£à¤¹à¤°à¥ '; -$lang['admin_register'] = 'नयाठपà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾ थपà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ '; $lang['metaedit'] = 'मेटाडेटा समà¥à¤ªà¤¾à¤¦à¤¨ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥'; $lang['metasaveerr'] = 'मेटाडाटा लेखन असफल'; $lang['metasaveok'] = 'मेटाडाटा वचत à¤à¤¯à¥‹ '; -$lang['btn_img_backto'] = 'फिरà¥à¤¤à¤¾%s'; $lang['img_title'] = 'शिरà¥à¤·à¤•:'; $lang['img_caption'] = 'निमà¥à¤¨ लेख:'; $lang['img_date'] = 'मिति:'; diff --git a/inc/lang/nl/lang.php b/inc/lang/nl/lang.php index 4c668557d550c5f8700b5ff82a4eefbde9165239..c085521f2e33a0da71aa35b8f908eb0057795c26 100644 --- a/inc/lang/nl/lang.php +++ b/inc/lang/nl/lang.php @@ -25,6 +25,11 @@ * @author Rene <wllywlnt@yahoo.com> * @author Johan Vervloet <johan.vervloet@gmail.com> * @author Mijndert <mijndert@mijndertstuij.nl> + * @author Johan Wijnker <johan@wijnker.eu> + * @author Hugo Smet <hugo.smet@scarlet.be> + * @author Mark C. Prins <mprins@users.sf.net> + * @author hugo smet <hugo.smet@scarlet.be> + * @author Wesley de Weerd <wesleytiel@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -56,7 +61,6 @@ $lang['btn_update'] = 'Bijwerken'; $lang['btn_delete'] = 'Verwijder'; $lang['btn_back'] = 'Terug'; $lang['btn_backlink'] = 'Referenties'; -$lang['btn_backtomedia'] = 'Terug naar Bestandsselectie'; $lang['btn_subscribe'] = 'Inschrijven wijzigingen'; $lang['btn_profile'] = 'Profiel aanpassen'; $lang['btn_reset'] = 'Wissen'; @@ -91,6 +95,7 @@ $lang['regmissing'] = 'Vul alle velden in'; $lang['reguexists'] = 'Er bestaat al een gebruiker met deze loginnaam.'; $lang['regsuccess'] = 'De gebruiker is aangemaakt. Het wachtwoord is per e-mail verzonden.'; $lang['regsuccess2'] = 'De gebruiker is aangemaakt.'; +$lang['regfail'] = 'Gebruiker kon niet aangemaakt worden.'; $lang['regmailfail'] = 'Het lijkt erop dat het sturen van de wachtwoordmail mislukt is. Neem contact op met de beheerder!'; $lang['regbadmail'] = 'Het opgegeven e-mailadres lijkt ongeldig - als je denkt dat dit niet klopt neem dan contact op met de beheerder.'; $lang['regbadpass'] = 'De twee ingevoerde wachtwoorden zijn niet identiek. Probeer het nog eens.'; @@ -105,6 +110,7 @@ $lang['profdeleteuser'] = 'Verwijder gebruiker'; $lang['profdeleted'] = 'Uw gebruikersaccount is verwijderd van deze wiki'; $lang['profconfdelete'] = 'Ik wil mijn gebruikersaccount verwijderen van deze wiki. <br/> Deze actie kan niet ongedaan gemaakt worden.'; $lang['profconfdeletemissing'] = 'Bevestigingsvinkje niet gezet'; +$lang['proffail'] = 'Gebruikersprofiel werd niet bijgewerkt.'; $lang['pwdforget'] = 'Je wachtwoord vergeten? Vraag een nieuw wachtwoord aan'; $lang['resendna'] = 'Deze wiki ondersteunt het verzenden van wachtwoorden niet'; $lang['resendpwd'] = 'Nieuw wachtwoord bepalen voor'; @@ -169,7 +175,6 @@ $lang['js']['media_overwrt'] = 'Bestaande bestanden overschrijven'; $lang['rssfailed'] = 'Er is een fout opgetreden bij het ophalen van de feed: '; $lang['nothingfound'] = 'Er werd niets gevonden.'; $lang['mediaselect'] = 'Bestandsselectie'; -$lang['fileupload'] = 'Bestandsupload'; $lang['uploadsucc'] = 'Upload geslaagd'; $lang['uploadfail'] = 'Upload mislukt. Misschien verkeerde permissies?'; $lang['uploadwrong'] = 'Upload mislukt. Deze bestandsextensie is verboden!'; @@ -260,7 +265,6 @@ $lang['qb_sig'] = 'Handtekening invoegen'; $lang['qb_smileys'] = 'Smileys'; $lang['qb_chars'] = 'Speciale tekens'; $lang['upperns'] = 'Spring naar bovenliggende namespace'; -$lang['admin_register'] = 'Nieuwe gebruiker toevoegen'; $lang['metaedit'] = 'Metadata wijzigen'; $lang['metasaveerr'] = 'Schrijven van metadata mislukt'; $lang['metasaveok'] = 'Metadata bewaard'; @@ -293,7 +297,6 @@ $lang['subscr_style_every'] = 'Email bij iedere wijziging'; $lang['subscr_style_digest'] = 'Samenvattings-email met wijzigingen per pagina (elke %.2f dagen)'; $lang['subscr_style_list'] = 'Lijst van veranderde pagina\'s sinds laatste email (elke %.2f dagen)'; $lang['authtempfail'] = 'Gebruikersauthenticatie is tijdelijk niet beschikbaar. Als deze situatie zich blijft voordoen, informeer dan de wikibeheerder.'; -$lang['authpwdexpire'] = 'Je wachtwoord verloopt in %d dagen, je moet het binnenkort veranderen'; $lang['i_chooselang'] = 'Kies je taal'; $lang['i_installer'] = 'DokuWiki Installer'; $lang['i_wikiname'] = 'Wikinaam'; @@ -353,7 +356,10 @@ $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['media_acl_warning'] = 'De lijst is mogelijk niet compleet door ACL beperkingen en verborgen pagina\'s.'; $lang['currentns'] = 'Huidige namespace'; $lang['searchresult'] = 'Zoekresultaat'; $lang['plainhtml'] = 'Alleen HTML'; $lang['wikimarkup'] = 'Wiki Opmaak'; +$lang['page_nonexist_rev'] = 'Pagina bestaat niet bij %s. Het is vervolgens aangemaakt bij <a href="%s">%s</a>.'; +$lang['unable_to_parse_date'] = 'Begrijp het niet bij parameter "%s".'; diff --git a/inc/lang/no/lang.php b/inc/lang/no/lang.php index ecf10ff5bcc33c21900dfa2b6af269c992ce4b07..9388a0a70e48dfee48cf2c52ee0c5cdf7f8dae0e 100644 --- a/inc/lang/no/lang.php +++ b/inc/lang/no/lang.php @@ -2,7 +2,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Reidar Mosvold <Reidar.Mosvold@hit.no> * @author Jorge Barrera Grandon <jorge@digitalwolves.org> * @author Rune Rasmussen [http://www.syntaxerror.no/] @@ -22,6 +22,7 @@ * @author Boris <boris@newton-media.no> * @author Christopher Schive <chschive@frisurf.no> * @author Patrick <spill.p@hotmail.com> + * @author Danny Buckhof <daniel.raknes@hotmail.no> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -29,7 +30,7 @@ $lang['doublequoteopening'] = '«'; $lang['doublequoteclosing'] = '»'; $lang['singlequoteopening'] = '‘'; $lang['singlequoteclosing'] = '’'; -$lang['apostrophe'] = '\''; +$lang['apostrophe'] = '’'; $lang['btn_edit'] = 'Rediger denne siden'; $lang['btn_source'] = 'Vis kildekode'; $lang['btn_show'] = 'Vis siden'; @@ -53,7 +54,6 @@ $lang['btn_update'] = 'Oppdater'; $lang['btn_delete'] = 'Slett'; $lang['btn_back'] = 'Tilbake'; $lang['btn_backlink'] = 'Tilbakelenker'; -$lang['btn_backtomedia'] = 'Tilbake til valg av mediafil'; $lang['btn_subscribe'] = 'Abonnér pÃ¥ endringer'; $lang['btn_profile'] = 'Oppdater profil'; $lang['btn_reset'] = 'Tilbakestill'; @@ -88,6 +88,7 @@ $lang['regmissing'] = 'Vennligst fyll ut alle felt.'; $lang['reguexists'] = 'Det finnes allerede en konto med dette brukernavnet.'; $lang['regsuccess'] = 'Brukerkonto har blitt laget og passord har blitt sendt via e-post.'; $lang['regsuccess2'] = 'Brukeren har blitt laget.'; +$lang['regfail'] = 'Brukeren kan ikke opprettes'; $lang['regmailfail'] = 'En feil oppstod da passordet ditt skulle sendes via e-post. Vennligst kontakt administratoren!'; $lang['regbadmail'] = 'Den angitte e-post adressen ser ut til Ã¥ være ugyldig. Vennligst kontakt administratoren om du anser dette som feilaktig.'; $lang['regbadpass'] = 'De to angitte passordene er ikke like, vennligst forsøk igjen.'; @@ -102,6 +103,7 @@ $lang['profdeleteuser'] = 'Slett konto'; $lang['profdeleted'] = 'Din brukerkonto har blitt slettet fra denne wikien'; $lang['profconfdelete'] = 'Jeg ønsker Ã¥ fjerne min konto fra denne wikien. <br/> Denne handlingen kan ikke omgjøres.'; $lang['profconfdeletemissing'] = 'Boks for bekreftelse ikke avkrysset'; +$lang['proffail'] = 'Brukerprofilen ble ikke oppdatert'; $lang['pwdforget'] = 'Glemt passordet ditt? FÃ¥ deg et nytt'; $lang['resendna'] = 'Denne wikien støtter ikke nyutsending av passord.'; $lang['resendpwd'] = 'Sett nytt passord for'; @@ -166,7 +168,6 @@ $lang['js']['media_overwrt'] = 'Erstatt eksisterende filer'; $lang['rssfailed'] = 'En feil oppstod da denne kilden skulle hentes:'; $lang['nothingfound'] = 'Ingen data funnet.'; $lang['mediaselect'] = 'Valg av mediafil'; -$lang['fileupload'] = 'Mediafil Opplasting'; $lang['uploadsucc'] = 'Opplastingen var vellykket'; $lang['uploadfail'] = 'Opplastingen var mislykket. Kanskje feil rettigheter?'; $lang['uploadwrong'] = 'Opplastingen ble nektet. Denne filendelsen er ikke tillatt!'; @@ -257,7 +258,6 @@ $lang['qb_sig'] = 'Føy til signatur'; $lang['qb_smileys'] = 'Smilefjes'; $lang['qb_chars'] = 'Spesialtegn'; $lang['upperns'] = 'gÃ¥ til overordnet navnerom'; -$lang['admin_register'] = 'Legg til ny bruker'; $lang['metaedit'] = 'Rediger metadata'; $lang['metasaveerr'] = 'Skriving av metadata feilet'; $lang['metasaveok'] = 'Metadata lagret'; @@ -290,7 +290,6 @@ $lang['subscr_style_every'] = 'e-post for alle endringer'; $lang['subscr_style_digest'] = 'e-post med sammendrag av endringer for hver side (%.2f dager mellom hver)'; $lang['subscr_style_list'] = 'liste med sider som er endra siden forrige e-post (%.2f dager mellom hver)'; $lang['authtempfail'] = 'Brukerautorisasjon er midlertidig utilgjengelig. Om dette vedvarer, vennligst informer Wiki-admin.'; -$lang['authpwdexpire'] = 'Ditt passord gÃ¥r ut om %d dager, du bør endre det snarest.'; $lang['i_chooselang'] = 'Velg sprÃ¥k'; $lang['i_installer'] = 'DokuWiki-installasjon'; $lang['i_wikiname'] = 'Wikinavn'; @@ -302,6 +301,7 @@ $lang['i_modified'] = 'For sikkerhets skyld vil dette skriptet bare v <a href="http://dokuwiki.org/install">Dokuwiki-installasjonsinstruksen</a>'; $lang['i_funcna'] = 'PHP-funksjonen <code>%s</code> er ikke tilgjengelig. Kanskje din leverandør har deaktivert den av noen grunn?'; $lang['i_phpver'] = 'Din PHP versjon <code>%s</code> er lavere enn kravet <code>%s</code>. Du mÃ¥ oppgradere PHP installasjonen. '; +$lang['i_mbfuncoverload'] = 'mbstring.func_overload mÃ¥ deaktiveres i php.ini for Ã¥ kjøre DokuWiki.'; $lang['i_permfail'] = '<code>%s</code> er ikke skrivbar for DokuWiki. Du mÃ¥ fikse rettighetene for denne mappen!'; $lang['i_confexists'] = '<code>%s</code> eksisterer allerede'; $lang['i_writeerr'] = 'Kunne ikke opprette <code>%s</code>. Du mÃ¥ sjekke mappe-/filrettigheter og opprette filen manuelt.'; @@ -347,7 +347,7 @@ $lang['media_search'] = 'Søk i navnerommet <strong>%s</strong>.'; $lang['media_view'] = '%s'; $lang['media_viewold'] = '%s pÃ¥ %s'; $lang['media_edit'] = 'Rediger %s'; -$lang['media_history'] = '%vis historikk'; +$lang['media_history'] = '%s vis historikk'; $lang['media_meta_edited'] = 'metadata er endra'; $lang['media_perm_read'] = 'Beklager, du har ikke tilgang til Ã¥ lese filer.'; $lang['media_perm_upload'] = 'Beklager, du har ikke tilgang til Ã¥ laste opp filer.'; @@ -358,3 +358,4 @@ $lang['searchresult'] = 'Søk i resultat'; $lang['plainhtml'] = 'Enkel HTML'; $lang['wikimarkup'] = 'wiki-format'; $lang['page_nonexist_rev'] = 'Finnes ingen side pÃ¥ %s. Den er derfor laget pÃ¥ <a href="%s">%s</a>'; +$lang['unable_to_parse_date'] = 'Ikke mulig Ã¥ tolke "%s".'; diff --git a/inc/lang/pl/lang.php b/inc/lang/pl/lang.php index fa70db06ce3bacb6e3492482d8507f857e1d65a8..ae307b4fd707db2fe1d2909fc39f6e38f80d9bd1 100644 --- a/inc/lang/pl/lang.php +++ b/inc/lang/pl/lang.php @@ -2,7 +2,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Grzegorz Å»ur <grzegorz.zur@gmail.com> * @author Mariusz Kujawski <marinespl@gmail.com> * @author Maciej Kurczewski <pipijajko@gmail.com> @@ -25,7 +25,7 @@ $lang['doublequoteopening'] = '„'; $lang['doublequoteclosing'] = 'â€'; $lang['singlequoteopening'] = '‚'; $lang['singlequoteclosing'] = '’'; -$lang['apostrophe'] = '\''; +$lang['apostrophe'] = '’'; $lang['btn_edit'] = 'Edytuj stronÄ™'; $lang['btn_source'] = 'Pokaż źródÅ‚o strony'; $lang['btn_show'] = 'Pokaż stronÄ™'; @@ -49,7 +49,6 @@ $lang['btn_update'] = 'Aktualizuj'; $lang['btn_delete'] = 'UsuÅ„'; $lang['btn_back'] = 'Wstecz'; $lang['btn_backlink'] = 'OdnoÅ›niki'; -$lang['btn_backtomedia'] = 'Powrót do wyboru pliku'; $lang['btn_subscribe'] = 'Subskrybuj zmiany'; $lang['btn_profile'] = 'Aktualizuj profil'; $lang['btn_reset'] = 'Resetuj'; @@ -162,7 +161,6 @@ $lang['js']['media_overwrt'] = 'Nadpisz istniejÄ…ce pliki'; $lang['rssfailed'] = 'WystÄ…piÅ‚ bÅ‚Ä…d przy pobieraniu tych danych: '; $lang['nothingfound'] = 'Nic nie znaleziono.'; $lang['mediaselect'] = 'WysyÅ‚anie pliku'; -$lang['fileupload'] = 'WysyÅ‚anie pliku'; $lang['uploadsucc'] = 'WysyÅ‚anie powiodÅ‚o siÄ™!'; $lang['uploadfail'] = 'BÅ‚Ä…d wysyÅ‚ania pliku. Czy prawa do katalogów sÄ… poprawne?'; $lang['uploadwrong'] = 'WysyÅ‚anie zabronione. Nie można wysÅ‚ać plików z takim rozszerzeniem'; @@ -251,7 +249,6 @@ $lang['qb_sig'] = 'Wstaw podpis'; $lang['qb_smileys'] = 'Emotikony'; $lang['qb_chars'] = 'Znaki specjalne'; $lang['upperns'] = 'Skok piÄ™tro wyżej'; -$lang['admin_register'] = 'Dodawanie użytkownika'; $lang['metaedit'] = 'Edytuj metadane'; $lang['metasaveerr'] = 'Zapis metadanych nie powiódÅ‚ siÄ™'; $lang['metasaveok'] = 'Metadane zapisano'; @@ -284,7 +281,6 @@ $lang['subscr_style_every'] = 'email przy każdej zmianie'; $lang['subscr_style_digest'] = 'e-mailowy wyciÄ…g zmian dla każdej strony (co %.2f dni)'; $lang['subscr_style_list'] = 'lista zmienionych stron od ostatniego e-maila (co %.2f dni)'; $lang['authtempfail'] = 'Uwierzytelnienie użytkownika jest w tej chwili niemożliwe. JeÅ›li ta sytuacja siÄ™ powtórzy, powiadom administratora tego wiki.'; -$lang['authpwdexpire'] = 'Twoje hasÅ‚o wygaÅ›nie za %d dni. Należy je zmienić w krótkim czasie.'; $lang['i_chooselang'] = 'Wybierz jÄ™zyk'; $lang['i_installer'] = 'Instalator DokuWiki'; $lang['i_wikiname'] = 'Nazwa Wiki'; diff --git a/inc/lang/pt-br/lang.php b/inc/lang/pt-br/lang.php index be62af6fee24015ebb909d90b7f3a906d389be91..aa0ce925ba33591d3d625d4959220ee5944594a9 100644 --- a/inc/lang/pt-br/lang.php +++ b/inc/lang/pt-br/lang.php @@ -24,6 +24,8 @@ * @author Dário Estevão <darioems@gmail.com> * @author Juliano Marconi Lanigra <juliano.marconi@gmail.com> * @author Ednei <leuloch@gmail.com> + * @author Hudson FAS <hudsonfas@gmail.com> + * @author Guilherme Cardoso <guicardoso@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -55,7 +57,6 @@ $lang['btn_update'] = 'Atualizar'; $lang['btn_delete'] = 'Excluir'; $lang['btn_back'] = 'Voltar'; $lang['btn_backlink'] = 'Links reversos'; -$lang['btn_backtomedia'] = 'Voltar à seleção do arquivo de mÃdia'; $lang['btn_subscribe'] = 'Monitorar alterações'; $lang['btn_profile'] = 'Atualizar o perfil'; $lang['btn_reset'] = 'Limpar'; @@ -90,6 +91,7 @@ $lang['regmissing'] = 'Desculpe, mas você precisa preencher todos os $lang['reguexists'] = 'Desculpe, mas já existe um usuário com esse nome.'; $lang['regsuccess'] = 'O usuário foi criado e a senha enviada para seu e-mail.'; $lang['regsuccess2'] = 'O usuário foi criado.'; +$lang['regfail'] = 'Não foi possÃvel criar esse usuário.'; $lang['regmailfail'] = 'Aparentemente ocorreu um erro no envio da senha. Por favor, entre em contato com o administrador!'; $lang['regbadmail'] = 'O endereço de e-mail fornecido é, aparentemente, inválido - se você acha que isso é um erro, entre em contato com o administrador'; $lang['regbadpass'] = 'As senhas digitadas não são idênticas. Por favor, tente novamente.'; @@ -104,6 +106,7 @@ $lang['profdeleteuser'] = 'Excluir a conta'; $lang['profdeleted'] = 'Sua conta de usuário foi excluÃda desse wiki'; $lang['profconfdelete'] = 'Eu desejo remover minha conta dessa wiki. <br/> Essa ação não pode ser desfeita.'; $lang['profconfdeletemissing'] = 'Caixa de confirmação não marcada'; +$lang['proffail'] = 'O perfil do usuário não foi atualizado.'; $lang['pwdforget'] = 'Esqueceu sua senha? Solicite outra'; $lang['resendna'] = 'Esse wiki não tem suporte para o reenvio de senhas.'; $lang['resendpwd'] = 'Definir a nova senha para'; @@ -168,7 +171,6 @@ $lang['js']['media_overwrt'] = 'Sobrescrever arquivos existentes'; $lang['rssfailed'] = 'Ocorreu um erro durante a atualização dessa fonte: '; $lang['nothingfound'] = 'Não foi encontrado nada.'; $lang['mediaselect'] = 'Arquivos de mÃdia'; -$lang['fileupload'] = 'Envio de arquivo de mÃdia'; $lang['uploadsucc'] = 'O envio foi efetuado com sucesso'; $lang['uploadfail'] = 'Não foi possÃvel enviar o arquivo. Será algum problema com as permissões?'; $lang['uploadwrong'] = 'O envio foi bloqueado. Essa extensão de arquivo é proibida!'; @@ -259,7 +261,6 @@ $lang['qb_sig'] = 'Inserir assinatura'; $lang['qb_smileys'] = 'Carinhas'; $lang['qb_chars'] = 'Caracteres especiais'; $lang['upperns'] = 'Pular para espaço de nomes acima'; -$lang['admin_register'] = 'Adicionar novo usuário'; $lang['metaedit'] = 'Editar metadados'; $lang['metasaveerr'] = 'Não foi possÃvel escrever os metadados'; $lang['metasaveok'] = 'Os metadados foram salvos'; @@ -292,7 +293,6 @@ $lang['subscr_style_every'] = 'um e-mail a cada modificação'; $lang['subscr_style_digest'] = 'um agrupamento de e-mails com as mudanças para cada página (a cada %.2f dias)'; $lang['subscr_style_list'] = 'uma lista de páginas modificadas desde o último e-mail (a cada %.2f dias)'; $lang['authtempfail'] = 'A autenticação de usuários está temporariamente desabilitada. Se essa situação persistir, por favor, informe ao administrador do Wiki.'; -$lang['authpwdexpire'] = 'Sua senha vai expirar em %d dias. Você deve mudá-la assim que for possÃvel.'; $lang['i_chooselang'] = 'Selecione o seu idioma'; $lang['i_installer'] = 'Instalador do DokuWiki'; $lang['i_wikiname'] = 'Nome do Wiki'; @@ -353,7 +353,10 @@ $lang['media_perm_read'] = 'Desculpe, mas você não tem privilégios sufi $lang['media_perm_upload'] = 'Desculpe, mas você não tem privilégios suficientes para enviar arquivos.'; $lang['media_update'] = 'Enviar uma nova versão'; $lang['media_restore'] = 'Restaurar esta versão'; +$lang['media_acl_warning'] = 'Essa lista pode não estar completa devido a restrições de ACL e páginas ocultas.'; $lang['currentns'] = 'DomÃnio atual'; $lang['searchresult'] = 'Resultado da Busca'; $lang['plainhtml'] = 'HTML simples'; $lang['wikimarkup'] = 'Marcação wiki'; +$lang['page_nonexist_rev'] = 'Página não encontrada em %s. Foi criada posteriormente em <a href="%s">%s</a>.'; +$lang['unable_to_parse_date'] = 'ImpossÃvel analisar em "%s".'; diff --git a/inc/lang/pt/admin.txt b/inc/lang/pt/admin.txt index 366792a9b3ad84c76d7cfc8f42c0fdfa687054be..5b103b38d447029e1eaa5a922cfbe16015911b69 100644 --- a/inc/lang/pt/admin.txt +++ b/inc/lang/pt/admin.txt @@ -1,3 +1,3 @@ ====== Administração ====== -Abaixo pode encontrar uma lista de tarefas de administrativas permitidas pelo DokuWiki. \ No newline at end of file +Abaixo pode encontrar uma lista de tarefas de administrativas disponÃveis na DokuWiki. \ No newline at end of file diff --git a/inc/lang/pt/adminplugins.txt b/inc/lang/pt/adminplugins.txt index 3eac7af537c4093a06d869f5cfec2b503d37cb54..259f5ce454318ee2ff716e7c49f584896dd71dda 100644 --- a/inc/lang/pt/adminplugins.txt +++ b/inc/lang/pt/adminplugins.txt @@ -1 +1 @@ -===== Plugins Adicionais ===== \ No newline at end of file +===== Extras Adicionais ===== \ No newline at end of file diff --git a/inc/lang/pt/backlinks.txt b/inc/lang/pt/backlinks.txt index e78ddf8748f329ba729fde6c96d5427e86a2d1ac..4eb82cb2664d87b95af3592de9664ad3727aa107 100644 --- a/inc/lang/pt/backlinks.txt +++ b/inc/lang/pt/backlinks.txt @@ -1,4 +1,4 @@ ====== Backlinks ====== -Esta é uma lista de todos os documentos que apresentam ligações ao documento corrente. +Esta é uma lista de páginas que parece que interliga para a página atual. diff --git a/inc/lang/pt/conflict.txt b/inc/lang/pt/conflict.txt index b6d7319b0327cf39e5ab2faafa1a23c081671231..49575fdb8fbe5507274bc22f4af86f0c695cfb3d 100644 --- a/inc/lang/pt/conflict.txt +++ b/inc/lang/pt/conflict.txt @@ -1,5 +1,5 @@ -====== Uma versão mais recente existe ====== +====== Existe uma versão mais recente ====== -Existe uma versão mais recente do documento editado. Isso acontece quando um outro usuário alterou o documento enquanto você estava editando. +Existe uma versão mais recente do documento editado. Isto acontece quando um outro utilizador alterou o documento enquanto o estava a editar. -Examine cuidadosamente as diferenças mostradas abaixo, em seguida, decida qual versão manter. Se você escolher ''salvar '', sua versão será salva. Clique ''cancelar '' para manter a versão atual. +Analise cuidadosamente as diferenças mostradas abaixo, depois decida qual a versão a manter. Se escolher 'guardar'', a sua versão será guardada. Clique em ''cancelar '' para manter a versão atual. diff --git a/inc/lang/pt/denied.txt b/inc/lang/pt/denied.txt index 84c3a94063d3d916a4b2564ec1b45af94fa9d58f..f4e8e01149197235a4f410a20c496317031ef1ab 100644 --- a/inc/lang/pt/denied.txt +++ b/inc/lang/pt/denied.txt @@ -1,4 +1,4 @@ ====== Permissão Negada ====== -Desculpe, você não possui direitos e permissões suficientes para continuar. +Desculpe, não tem direitos suficientes para continuar. diff --git a/inc/lang/pt/diff.txt b/inc/lang/pt/diff.txt index e27640aa8c56f3e30ee22c7099b2cd0c7671143b..b73326268efe6c41072b44bb3e176ea0967dbd95 100644 --- a/inc/lang/pt/diff.txt +++ b/inc/lang/pt/diff.txt @@ -1,5 +1,3 @@ ====== Diferenças ====== -Esta página mostra as diferenças entre a revisão do documento que escolheu e a versão actual. - ----- +Esta página mostra as diferenças entre as duas revisões da página. \ No newline at end of file diff --git a/inc/lang/pt/lang.php b/inc/lang/pt/lang.php index 5d462e198a9b2287707d6684c1c55bbf611e9d62..4f111ee3f59ec45d86075122f1b1a9d02d39a831 100644 --- a/inc/lang/pt/lang.php +++ b/inc/lang/pt/lang.php @@ -12,6 +12,9 @@ * @author Murilo <muriloricci@hotmail.com> * @author Paulo Silva <paulotsilva@yahoo.com> * @author Guido Salatino <guidorafael23@gmail.com> + * @author Romulo Pereira <romuloccomp@gmail.com> + * @author Paulo Carmino <contato@paulocarmino.com> + * @author Alfredo Silva <alfredo.silva@sky.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -20,30 +23,29 @@ $lang['doublequoteclosing'] = 'â€'; $lang['singlequoteopening'] = '‘'; $lang['singlequoteclosing'] = '’'; $lang['apostrophe'] = '’'; -$lang['btn_edit'] = 'Editar página'; -$lang['btn_source'] = 'Ver fonte'; -$lang['btn_show'] = 'Ver página'; -$lang['btn_create'] = 'Criar página'; +$lang['btn_edit'] = 'Editar esta página'; +$lang['btn_source'] = 'Mostrar página fonte '; +$lang['btn_show'] = 'Mostrar página'; +$lang['btn_create'] = 'Criar esta página'; $lang['btn_search'] = 'Pesquisar'; -$lang['btn_save'] = 'Salvar'; -$lang['btn_preview'] = 'Prever'; +$lang['btn_save'] = 'Guardar'; +$lang['btn_preview'] = 'Pré-visualizar'; $lang['btn_top'] = 'Voltar ao topo'; $lang['btn_newer'] = '<< mais recente'; $lang['btn_older'] = 'menos recente >>'; $lang['btn_revs'] = 'Revisões antigas'; -$lang['btn_recent'] = 'Alt. Recentes'; -$lang['btn_upload'] = 'Carregar'; +$lang['btn_recent'] = 'Alterações Recentes'; +$lang['btn_upload'] = 'Enviar'; $lang['btn_cancel'] = 'Cancelar'; $lang['btn_index'] = 'Ãndice'; $lang['btn_secedit'] = 'Editar'; -$lang['btn_login'] = 'Entrar'; -$lang['btn_logout'] = 'Sair'; +$lang['btn_login'] = 'Iniciar sessão'; +$lang['btn_logout'] = 'Terminar sessão'; $lang['btn_admin'] = 'Administrar'; $lang['btn_update'] = 'Actualizar'; $lang['btn_delete'] = 'Apagar'; $lang['btn_back'] = 'Voltar'; $lang['btn_backlink'] = 'Backlinks'; -$lang['btn_backtomedia'] = 'Voltar à Selecção de Media'; $lang['btn_subscribe'] = 'Subscrever Alterações'; $lang['btn_profile'] = 'Actualizar Perfil'; $lang['btn_reset'] = 'Limpar'; @@ -78,6 +80,7 @@ $lang['regmissing'] = 'Por favor, preencha todos os campos.'; $lang['reguexists'] = 'Este utilizador já está inscrito. Por favor escolha outro nome de utilizador.'; $lang['regsuccess'] = 'O utilizador foi criado e a senha foi enviada para o endereço de correio electrónico usado na inscrição.'; $lang['regsuccess2'] = 'O utilizador foi criado.'; +$lang['regfail'] = 'O usuário não pode ser criado.'; $lang['regmailfail'] = 'Houve um erro no envio da senha por e-mail. Por favor, contacte o administrador!'; $lang['regbadmail'] = 'O endereço de correio electrónico é inválido. Se o endereço está correcto, e isto é um erro, por favor, contacte o administrador!'; $lang['regbadpass'] = 'As duas senhas não são idênticas, por favor tente de novo.'; @@ -92,6 +95,7 @@ $lang['profdeleteuser'] = 'Apagar Conta'; $lang['profdeleted'] = 'A sua conta de utilizador foi removida desta wiki'; $lang['profconfdelete'] = 'Quero remover a minha conta desta wiki. <br/> Esta acção não pode ser anulada.'; $lang['profconfdeletemissing'] = 'A caixa de confirmação não foi marcada'; +$lang['proffail'] = 'O perfil do usuário não foi atualizado.'; $lang['pwdforget'] = 'Esqueceu a sua senha? Pedir nova senha'; $lang['resendna'] = 'Este wiki não suporta reenvio de senhas.'; $lang['resendpwd'] = 'Definir nova senha para'; @@ -155,7 +159,6 @@ $lang['js']['media_overwrt'] = 'Escrever por cima de ficheiros existentes'; $lang['rssfailed'] = 'Ocorreu um erro neste canal RSS: '; $lang['nothingfound'] = 'Nada foi encontrado.'; $lang['mediaselect'] = 'Selecção de ficheiros'; -$lang['fileupload'] = 'Carregamento de ficheiros'; $lang['uploadsucc'] = 'Carregamento com sucesso'; $lang['uploadfail'] = 'Falhou o carregamento. Talvez por não ter permissões?'; $lang['uploadwrong'] = 'Carregamento negado. Esta extensão está proibida.'; @@ -246,7 +249,6 @@ $lang['qb_sig'] = 'Inserir Assinatura'; $lang['qb_smileys'] = 'Smileys'; $lang['qb_chars'] = 'Caracteres Especiais'; $lang['upperns'] = 'Ir para o espaço de nomes parente'; -$lang['admin_register'] = 'Registar Novo Utilizador'; $lang['metaedit'] = 'Editar Metadata'; $lang['metasaveerr'] = 'Falhou a escrita de Metadata'; $lang['metasaveok'] = 'Metadata gravada'; @@ -279,7 +281,6 @@ $lang['subscr_style_every'] = 'email em qualquer alteração'; $lang['subscr_style_digest'] = '"digest email" de alterações em cada página (cada %.2f dias)'; $lang['subscr_style_list'] = 'lista de páginas alteradas desde o último email (cada %.2f dias)'; $lang['authtempfail'] = 'Autenticação temporariamente indisponÃvel. Se a situação persistir, por favor informe o Wiki Admin.'; -$lang['authpwdexpire'] = 'A sua senha expirará dentro de %d dias, deve mudá-la em breve.'; $lang['i_chooselang'] = 'Escolha a linguagem'; $lang['i_installer'] = 'Instalador do DokuWiki'; $lang['i_wikiname'] = 'Nome Wiki'; @@ -343,5 +344,5 @@ $lang['currentns'] = 'Namespace actual'; $lang['searchresult'] = 'Resultado da pesquisa'; $lang['plainhtml'] = 'HTML simples'; $lang['wikimarkup'] = 'Markup de Wiki'; -$lang['page_nonexist_rev'] = 'Página não existia no %s. Posteriormente, foi criado em <a href="%s">% s </a>.'; +$lang['page_nonexist_rev'] = 'Página não existia no %s. Posteriormente, foi criado em <a href="%s">%s</a>.'; $lang['unable_to_parse_date'] = 'Não é possÃvel analisar o parâmetro "%s".'; diff --git a/inc/lang/ro/lang.php b/inc/lang/ro/lang.php index 452a93ed0a100f777efdc254149c57c012e4ecb4..5dab68c69d7906eb6016cbffaeae7c8b5f6b5ed5 100644 --- a/inc/lang/ro/lang.php +++ b/inc/lang/ro/lang.php @@ -2,7 +2,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Tiberiu Micu <tibimicu@gmx.net> * @author Sergiu Baltariu <s_baltariu@yahoo.com> * @author Emanuel-Emeric AndraÈ™i <n30@mandrivausers.ro> @@ -17,7 +17,7 @@ $lang['doublequoteopening'] = '„'; $lang['doublequoteclosing'] = '“'; $lang['singlequoteopening'] = '‚'; $lang['singlequoteclosing'] = '‘'; -$lang['apostrophe'] = '\''; +$lang['apostrophe'] = '’'; $lang['btn_edit'] = 'Editează această pagină'; $lang['btn_source'] = 'Arată sursa paginii'; $lang['btn_show'] = 'Arată pagina'; @@ -41,7 +41,6 @@ $lang['btn_update'] = 'Actualizează'; $lang['btn_delete'] = 'Șterge'; $lang['btn_back'] = 'ÃŽnapoi'; $lang['btn_backlink'] = 'Legătură anterioară'; -$lang['btn_backtomedia'] = 'ÃŽnapoi la selecÈ›ia mediafile'; $lang['btn_subscribe'] = 'Subscrie modificarea paginii'; $lang['btn_profile'] = 'Actualizează profil'; $lang['btn_reset'] = 'Resetează'; @@ -151,7 +150,6 @@ $lang['js']['media_overwrt'] = 'Suprascrie fiÈ™ierele deja existente'; $lang['rssfailed'] = 'A apărut o eroare in timpul descărcării acestui câmp: '; $lang['nothingfound'] = 'Nu am găsit nimic.'; $lang['mediaselect'] = 'FiÈ™iere media'; -$lang['fileupload'] = 'ÃŽncarcare fiÈ™ier media'; $lang['uploadsucc'] = 'ÃŽncărcare reuÈ™ită'; $lang['uploadfail'] = 'ÃŽncărcare eÈ™uată. Poate din cauza permisiunilor?'; $lang['uploadwrong'] = 'ÃŽncărcare nepermisă. Extensia fiÈ™ierului e nepermisă'; @@ -236,7 +234,6 @@ $lang['qb_sig'] = 'Inserează semnătură'; $lang['qb_smileys'] = 'Smiley-uri'; $lang['qb_chars'] = 'Caractere speciale'; $lang['upperns'] = 'Accesează spaÈ›iul de nume părinte'; -$lang['admin_register'] = 'Adaugă utilizator nou'; $lang['metaedit'] = 'Editează metadata'; $lang['metasaveerr'] = 'Scrierea metadatelor a eÈ™uat'; $lang['metasaveok'] = 'Metadatele au fost salvate'; @@ -269,7 +266,6 @@ $lang['subscr_style_every'] = 'e-mail la ficare schimbare'; $lang['subscr_style_digest'] = 'e-mail cu sumar al modificărilor pentru fiecare pagină (la fiecare %.2f zile)'; $lang['subscr_style_list'] = 'lista paginilor modificate de la ultimul e-mail (la fiecare %.2f zile)'; $lang['authtempfail'] = 'Autentificarea utilizatorului este temporar indisponibilă. Contactează administratorul.'; -$lang['authpwdexpire'] = 'Parola va expira în %d zile, ar trebui să o schimbi în curând.'; $lang['i_chooselang'] = 'Alege limba'; $lang['i_installer'] = 'Installer DokuWiki'; $lang['i_wikiname'] = 'Numele acestui wiki'; diff --git a/inc/lang/ru/admin.txt b/inc/lang/ru/admin.txt index cd609a3478444f0fc3fe2ae6be5715dbfe4f77fc..8a670d5a0ed99599af3d3dffae707634ff667a91 100644 --- a/inc/lang/ru/admin.txt +++ b/inc/lang/ru/admin.txt @@ -1,4 +1,4 @@ ====== Управление ====== -Ðиже вы Ñможете найти ÑпиÑок админиÑтративных операций, доÑтупных в «Докувики». +Ðиже вы Ñможете найти ÑпиÑок админиÑтративных операций, доÑтупных в «Докувики». diff --git a/inc/lang/ru/conflict.txt b/inc/lang/ru/conflict.txt index 6c5e33dced7b3e2cac5bbbe82512bd7673fd817d..e813d8c13a097386f7bb461fac7fe8fd84d49e9e 100644 --- a/inc/lang/ru/conflict.txt +++ b/inc/lang/ru/conflict.txt @@ -1,5 +1,5 @@ ====== СущеÑтвует более Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ ====== -СущеÑтвует более Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°, который вы редактировали. Такое ÑлучаетÑÑ, когда другой пользователь изменил документ, пока вы делали то же Ñамое. +СущеÑтвует более Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°, который вы редактировали. Такое ÑлучаетÑÑ, когда другой пользователь изменил документ, пока вы делали то же Ñамое. -Внимательно изучите различиÑ, приведенные ниже, и решите, какую верÑию оÑтавить. ЕÑли вы выберете «Сохранить», то ваша верÑÐ¸Ñ Ð±ÑƒÐ´ÐµÑ‚ Ñохранена. Ðажав «Отменить», вы оÑтавите текущую верÑию. +Внимательно изучите различиÑ, приведенные ниже, и решите, какую верÑию оÑтавить. ЕÑли вы выберете «Сохранить», то ваша верÑÐ¸Ñ Ð±ÑƒÐ´ÐµÑ‚ Ñохранена. Ðажав «Отменить», вы оÑтавите текущую верÑию. diff --git a/inc/lang/ru/denied.txt b/inc/lang/ru/denied.txt index 6b7c82511b7fb121d8789947addd0ec0976ff33d..791b30b1ac20df7fe29dacff0d3d4b5f221b689f 100644 --- a/inc/lang/ru/denied.txt +++ b/inc/lang/ru/denied.txt @@ -1,4 +1,4 @@ ====== ДоÑтуп запрещён ====== -Извините, у Ð²Ð°Ñ Ð½Ðµ хватает прав Ð´Ð»Ñ Ñтого дейÑтвиÑ. +Извините, ÑƒÂ Ð²Ð°Ñ Ð½ÐµÂ Ñ…Ð²Ð°Ñ‚Ð°ÐµÑ‚ прав Ð´Ð»Ñ Ñтого дейÑтвиÑ. diff --git a/inc/lang/ru/diff.txt b/inc/lang/ru/diff.txt index 80252614f9ee2726d8c66e2d7992f731815ecf9c..21b8a8eabec280d24e898eaad28827b86d5820e7 100644 --- a/inc/lang/ru/diff.txt +++ b/inc/lang/ru/diff.txt @@ -1,4 +1,3 @@ ====== Ð Ð°Ð·Ð»Ð¸Ñ‡Ð¸Ñ ====== ЗдеÑÑŒ показаны Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ Ð´Ð²ÑƒÐ¼Ñ Ð²ÐµÑ€ÑиÑми данной Ñтраницы. - diff --git a/inc/lang/ru/draft.txt b/inc/lang/ru/draft.txt index cb35f72b6a8cf2d66cb4862b2b312e7e5c2dceb2..a92aa34cd85bd5304058c332f0724be417d980c3 100644 --- a/inc/lang/ru/draft.txt +++ b/inc/lang/ru/draft.txt @@ -1,6 +1,5 @@ ====== Ðайден черновик ====== -ПоÑледний раз редактирование Ñтой Ñтраницы не было корректно завершено. Во Ð²Ñ€ÐµÐ¼Ñ Ð²Ð°ÑˆÐµÐ¹ работы был автоматичеÑки Ñохранён черновик, который вы теперь можете воÑÑтановить и продолжить прерванную правку. Ðиже вы видите автоматичеÑки Ñохранённую верÑию. - -ПожалуйÑта, решите, хотите ли вы //воÑÑтановить// потерÑнную верÑию, //удалить// черновик, или //отменить// редактирование. +ПоÑледний раз редактирование Ñтой Ñтраницы не было корректно завершено. Ð’Ð¾Â Ð²Ñ€ÐµÐ¼Ñ Ð²Ð°ÑˆÐµÐ¹ работы был автоматичеÑки Ñохранён черновик, который вы теперь можете воÑÑтановить и продолжить прерванную правку. Ðиже вы видите автоматичеÑки Ñохранённую верÑию. +ПожалуйÑта, решите, хотите ли вы //воÑÑтановить// потерÑнную верÑию, //удалить// черновик, или //отменить// редактирование. diff --git a/inc/lang/ru/edit.txt b/inc/lang/ru/edit.txt index aac399d7c2915fc9c143f622b238b83f5a3bd76b..25ded4115e2fd941242d5d0351987ab9f35561c0 100644 --- a/inc/lang/ru/edit.txt +++ b/inc/lang/ru/edit.txt @@ -1,2 +1 @@ -Отредактируйте Ñтраницу и нажмите «Сохранить». Прочтите [[wiki:syntax|Ñправочную Ñтраницу]] Ð´Ð»Ñ Ð¾Ð·Ð½Ð°ÐºÐ¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ñ ÑинтакÑиÑом вики. ПожалуйÑта, редактируйте только в том Ñлучае, еÑли планируете **улучшить** Ñодержимое. ЕÑли вы проÑто хотите потеÑтировать что-либо, воÑпользуйтеÑÑŒ Ñпециальной Ñтраницей: [[playground:playground]]. - +Отредактируйте Ñтраницу и нажмите «Сохранить». Прочтите [[wiki:syntax|Ñправочную Ñтраницу]] Ð´Ð»Ñ Ð¾Ð·Ð½Ð°ÐºÐ¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ñ ÑинтакÑиÑом вики. ПожалуйÑта, редактируйте только в том Ñлучае, еÑли планируете **улучшить** Ñодержимое. ЕÑли вы проÑто хотите потеÑтировать что-либо, воÑпользуйтеÑÑŒ Ñпециальной Ñтраницей: [[playground:playground]]. diff --git a/inc/lang/ru/editrev.txt b/inc/lang/ru/editrev.txt index 97b799a70805e603303dfdbfa5bb76cb13460d6b..ac2464db9e9e70a5ad5a2a7f2ab5f43fb2464b58 100644 --- a/inc/lang/ru/editrev.txt +++ b/inc/lang/ru/editrev.txt @@ -1,2 +1,2 @@ -**Ð’Ñ‹ загрузили Ñтарую ревизию документа.** Сохранив её, вы Ñоздадите новую текущую верÑию Ñ Ñтим Ñодержимым. +**Вы загрузили Ñтарую ревизию документа.** Сохранив её, вы Ñоздадите новую текущую верÑию Ñ Ñтим Ñодержимым. ---- diff --git a/inc/lang/ru/index.txt b/inc/lang/ru/index.txt index fc42f87ff32da51ab86659b6b672b50330d7750f..a059b281fc87ce66f554e412055303158e7182a7 100644 --- a/inc/lang/ru/index.txt +++ b/inc/lang/ru/index.txt @@ -1,4 +1,4 @@ ====== Содержание ====== -Перед вами ÑпиÑок доÑтупных Ñтраниц, упорÑдоченный по ([[doku>namespaces|проÑтранÑтвам имён]]). +Перед вами ÑпиÑок доÑтупных Ñтраниц, упорÑдоченный по [[doku>namespaces|проÑтранÑтвам имён]]. diff --git a/inc/lang/ru/lang.php b/inc/lang/ru/lang.php index ffe51338662d22816bf03f18d541ed3ff0608b45..304233a4818772784c64a8e3e1bb87cf9933da63 100644 --- a/inc/lang/ru/lang.php +++ b/inc/lang/ru/lang.php @@ -29,8 +29,13 @@ * @author Igor Degraf <igordegraf@gmail.com> * @author Type-kun <workwork-1@yandex.ru> * @author Vitaly Filatenko <kot@hacktest.net> + * @author Alex P <alexander@lanos.co.uk> + * @author Nolf <m.kopachovets@gmail.com> + * @author Takumo <9206984@mail.ru> + * @author RainbowSpike <1@2.ru> + * @author dimsharav <dimsharav@gmail.com> */ -$lang['encoding'] = ' utf-8'; +$lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; $lang['doublequoteopening'] = '«'; $lang['doublequoteclosing'] = '»'; @@ -41,7 +46,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'] = 'Ðаверх'; @@ -60,10 +65,9 @@ $lang['btn_update'] = 'Обновить'; $lang['btn_delete'] = 'Удалить'; $lang['btn_back'] = 'Ðазад'; $lang['btn_backlink'] = 'СÑылки Ñюда'; -$lang['btn_backtomedia'] = 'ВернутьÑÑ Ðº выбору медиафайла'; -$lang['btn_subscribe'] = 'ПодпиÑатьÑÑ (вÑе правки)'; +$lang['btn_subscribe'] = 'Управление подпиÑками'; $lang['btn_profile'] = 'Профиль'; -$lang['btn_reset'] = 'СброÑ'; +$lang['btn_reset'] = 'Вернуть'; $lang['btn_resendpwd'] = 'УÑтановить новый пароль'; $lang['btn_draft'] = 'Править черновик'; $lang['btn_recover'] = 'ВоÑÑтановить черновик'; @@ -89,74 +93,78 @@ $lang['badlogin'] = 'Извините, неверное Ð¸Ð¼Ñ Ð¿Ð¾ $lang['badpassconfirm'] = 'ПроÑтите, пароль неверный'; $lang['minoredit'] = 'Ðебольшие изменениÑ'; $lang['draftdate'] = 'Черновик Ñохранён'; -$lang['nosecedit'] = 'За Ñто Ð²Ñ€ÐµÐ¼Ñ Ñтраница была изменена и Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ Ñекции уÑтарела. Загружена Ð¿Ð¾Ð»Ð½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ñтраницы.'; -$lang['searchcreatepage'] = 'ЕÑли вы не нашли то, что иÑкали, вы можете Ñоздать новую Ñтраницу Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼, Ñовпадающим Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñом. Чтобы Ñделать Ñто, проÑто нажмите на кнопку «Создать Ñтраницу».'; +$lang['nosecedit'] = 'За Ñто Ð²Ñ€ÐµÐ¼Ñ Ñтраница была изменена Ð¸Â Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Â Ñекции уÑтарела. Загружена Ð¿Ð¾Ð»Ð½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ñтраницы.'; +$lang['searchcreatepage'] = 'ЕÑли вы не нашли то, что иÑкали, вы можете Ñоздать новую Ñтраницу Ñ именем, Ñовпадающим Ñ запроÑом. Чтобы Ñделать Ñто, проÑто нажмите на кнопку «Создать Ñтраницу».'; $lang['regmissing'] = 'Извините, вам Ñледует заполнить вÑе полÑ.'; $lang['reguexists'] = 'Извините, пользователь Ñ Ñ‚Ð°ÐºÐ¸Ð¼ логином уже ÑущеÑтвует.'; -$lang['regsuccess'] = 'Пользователь Ñоздан; пароль выÑлан на Ð°Ð´Ñ€ÐµÑ Ñлектронной почты.'; +$lang['regsuccess'] = 'Пользователь Ñоздан; пароль выÑлан Ð½Ð°Â Ð°Ð´Ñ€ÐµÑ Ñлектронной почты.'; $lang['regsuccess2'] = 'Пользователь Ñоздан.'; -$lang['regmailfail'] = 'Похоже еÑÑ‚ÑŒ проблема Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¾Ð¹ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿Ð¾ почте. ПожалуйÑта, Ñообщите об Ñтом админиÑтратору.'; -$lang['regbadmail'] = 'Данный вами Ð°Ð´Ñ€ÐµÑ Ñлектронной почты выглÑдит неправильным. ЕÑли вы Ñчитаете Ñто ошибкой, Ñообщите админиÑтратору.'; -$lang['regbadpass'] = 'Два введённых Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð½Ðµ идентичны. ПожалуйÑта, попробуйте ещё раз.'; +$lang['regfail'] = 'Пользователь не может быть Ñоздан.'; +$lang['regmailfail'] = 'Похоже еÑÑ‚ÑŒ проблема Ñ отправкой Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿Ð¾Â Ð¿Ð¾Ñ‡Ñ‚Ðµ. ПожалуйÑта, Ñообщите об Ñтом админиÑтратору.'; +$lang['regbadmail'] = 'Данный вами Ð°Ð´Ñ€ÐµÑ Ñлектронной почты выглÑдит неправильным. ЕÑли вы Ñчитаете Ñто ошибкой, Ñообщите админиÑтратору.'; +$lang['regbadpass'] = 'Два введённых Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð½ÐµÂ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ‡Ð½Ñ‹. ПожалуйÑта, попробуйте ещё раз.'; $lang['regpwmail'] = 'Ваш пароль Ð´Ð»Ñ ÑиÑтемы «Докувики»'; $lang['reghere'] = 'У Ð²Ð°Ñ ÐµÑ‰Ñ‘ нет аккаунта? ЗарегиÑтрируйтеÑÑŒ'; $lang['profna'] = 'Ð”Ð°Ð½Ð½Ð°Ñ Ð²Ð¸ÐºÐ¸ не поддерживает изменение профилÑ'; $lang['profnochange'] = 'Изменений не было внеÑено, профиль не обновлён.'; $lang['profnoempty'] = 'Логин и Ð°Ð´Ñ€ÐµÑ Ñлектронной почты не могут быть пуÑтыми.'; $lang['profchanged'] = 'Профиль Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ ÑƒÑпешно обновлён.'; -$lang['profnodelete'] = 'Удалённый пользователь не может работать Ñ Ñтим документом'; +$lang['profnodelete'] = 'Удалённый пользователь не может работать Ñ Ñтим документом'; $lang['profdeleteuser'] = 'Удалить аккаунт'; -$lang['profdeleted'] = 'Ваш аккаунт был удален из Ñтой вики'; -$lang['profconfdelete'] = 'Я хочу удалить мой аккаунт из Ñтой вики.<br />Ðто дейÑтвие необратимо.'; -$lang['profconfdeletemissing'] = 'Флажок Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð½Ðµ уÑтановлен'; +$lang['profdeleted'] = 'Ваш аккаунт был удалён из Ñтой вики'; +$lang['profconfdelete'] = 'Я хочу удалить Ñвой аккаунт из Ñтой вики. <br /> +Ðто дейÑтвие необратимо.'; +$lang['profconfdeletemissing'] = 'Флажок Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð½ÐµÂ ÑƒÑтановлен'; +$lang['proffail'] = 'Профиль Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½ÐµÂ Ð±Ñ‹Ð» обновлен.'; $lang['pwdforget'] = 'Забыли пароль? Получите новый'; -$lang['resendna'] = 'Ð”Ð°Ð½Ð½Ð°Ñ Ð²Ð¸ÐºÐ¸ не поддерживает повторную отправку паролÑ.'; +$lang['resendna'] = 'Ð”Ð°Ð½Ð½Ð°Ñ Ð²Ð¸ÐºÐ¸ не поддерживает повторную отправку паролÑ.'; $lang['resendpwd'] = 'УÑтановить новый пароль длÑ'; $lang['resendpwdmissing'] = 'Ð’Ñ‹ должны заполнить вÑе Ð¿Ð¾Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ñ‹.'; -$lang['resendpwdnouser'] = 'Пользователь Ñ Ñ‚Ð°ÐºÐ¸Ð¼ логином не обнаружен в нашей базе данных.'; -$lang['resendpwdbadauth'] = 'Извините, неверный код авторизации. УбедитеÑÑŒ, что вы полноÑтью Ñкопировали ÑÑылку. '; -$lang['resendpwdconfirm'] = 'СÑылка Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð±Ñ‹Ð»Ð° выÑлана по Ñлектронной почте. '; -$lang['resendpwdsuccess'] = 'Ваш новый пароль был выÑлан по Ñлектронной почте.'; -$lang['license'] = 'За иÑключением Ñлучаев, когда указано иное, Ñодержимое Ñтой вики предоÑтавлÑетÑÑ Ð½Ð° уÑловиÑÑ… Ñледующей лицензии:'; -$lang['licenseok'] = 'Примечание: Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€ÑƒÑ Ñту Ñтраницу, вы ÑоглашаетеÑÑŒ на иÑпользование Ñвоего вклада на уÑловиÑÑ… Ñледующей лицензии:'; -$lang['searchmedia'] = 'ПоиÑк по имени файла:'; +$lang['resendpwdnouser'] = 'Пользователь Ñ таким логином не обнаружен в нашей базе данных.'; +$lang['resendpwdbadauth'] = 'Извините, неверный код авторизации. УбедитеÑÑŒ, что вы полноÑтью Ñкопировали ÑÑылку.'; +$lang['resendpwdconfirm'] = 'СÑылка Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð±Ñ‹Ð»Ð° выÑлана по Ñлектронной почте.'; +$lang['resendpwdsuccess'] = 'Ваш новый пароль был выÑлан по Ñлектронной почте.'; +$lang['license'] = 'За иÑключением Ñлучаев, когда указано иное, Ñодержимое Ñтой вики предоÑтавлÑетÑÑ Ð½Ð°Â ÑƒÑловиÑÑ… Ñледующей лицензии:'; +$lang['licenseok'] = 'Примечание: Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€ÑƒÑ Ñту Ñтраницу, вы ÑоглашаетеÑÑŒ на иÑпользование Ñвоего вклада на уÑловиÑÑ… Ñледующей лицензии:'; +$lang['searchmedia'] = 'ПоиÑк по имени файла'; $lang['searchmedia_in'] = 'ПоиÑк в %s'; $lang['txt_upload'] = 'Выберите файл Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸:'; $lang['txt_filename'] = 'Введите Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° в вики (необÑзательно):'; $lang['txt_overwrt'] = 'ПерезапиÑать ÑущеÑтвующий файл'; -$lang['maxuploadsize'] = 'МакÑимальный размер загружаемого файла %s'; -$lang['lockedby'] = 'Ð’ данный момент заблокирован:'; -$lang['lockexpire'] = 'Блокировка иÑтекает в:'; -$lang['js']['willexpire'] = 'Ваша блокировка Ñтой Ñтраницы на редактирование иÑтекает в течение минуты.\nЧтобы предотвратить конфликты иÑпользуйте кнопку «ПроÑмотр» Ð´Ð»Ñ ÑброÑа таймера блокировки.'; -$lang['js']['notsavedyet'] = 'ÐеÑохранённые Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ потерÑны. Ð’Ñ‹ дейÑтвительно хотите продолжить?'; +$lang['maxuploadsize'] = 'МакÑ. размер загружаемого файла %s'; +$lang['lockedby'] = 'Ð’ данный момент заблокировано пользователем'; +$lang['lockexpire'] = 'Блокировка иÑтекает в'; +$lang['js']['willexpire'] = 'Ваша блокировка Ñтой Ñтраницы на редактирование иÑтекает в течение минуты.\nЧтобы предотвратить конфликты иÑпользуйте кнопку «ПроÑмотр» Ð´Ð»Ñ ÑброÑа таймера блокировки.'; +$lang['js']['notsavedyet'] = 'ÐеÑохранённые Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ потерÑны. Вы дейÑтвительно хотите продолжить?'; $lang['js']['searchmedia'] = 'ПоиÑк файлов'; $lang['js']['keepopen'] = 'Ðе закрывать окно поÑле выбора'; $lang['js']['hidedetails'] = 'Скрыть детали'; -$lang['js']['mediatitle'] = 'ÐаÑтройки ÑÑылок'; +$lang['js']['mediatitle'] = 'ÐаÑтройка ÑÑылки'; $lang['js']['mediadisplay'] = 'Тип ÑÑылки'; -$lang['js']['mediaalign'] = 'Выравнивание'; -$lang['js']['mediasize'] = 'Размер изображениÑ'; -$lang['js']['mediatarget'] = 'Значение target ÑÑылки'; +$lang['js']['mediaalign'] = 'Выравнивание +'; +$lang['js']['mediasize'] = 'Размер'; +$lang['js']['mediatarget'] = 'Ð¦ÐµÐ»ÐµÐ²Ð°Ñ ÑÑылка'; $lang['js']['mediaclose'] = 'Закрыть'; $lang['js']['mediainsert'] = 'Ð’Ñтавить'; -$lang['js']['mediadisplayimg'] = 'Показывать изображение.'; -$lang['js']['mediadisplaylnk'] = 'Показывать только ÑÑылку.'; +$lang['js']['mediadisplayimg'] = 'Показывать изображение'; +$lang['js']['mediadisplaylnk'] = 'Показывать только ÑÑылку'; $lang['js']['mediasmall'] = 'ÐœÐ°Ð»Ð°Ñ Ð²ÐµÑ€ÑиÑ'; $lang['js']['mediamedium'] = 'СреднÑÑ Ð²ÐµÑ€ÑиÑ'; $lang['js']['medialarge'] = 'ÐšÑ€ÑƒÐ¿Ð½Ð°Ñ Ð²ÐµÑ€ÑиÑ'; $lang['js']['mediaoriginal'] = 'ИÑÑ…Ð¾Ð´Ð½Ð°Ñ Ð²ÐµÑ€ÑиÑ'; $lang['js']['medialnk'] = 'СÑылка на подробноÑти'; -$lang['js']['mediadirect'] = 'ПрÑÐ¼Ð°Ñ ÑÑылка на оригинал'; +$lang['js']['mediadirect'] = 'ПрÑÐ¼Ð°Ñ ÑÑылка на оригинал'; $lang['js']['medianolnk'] = 'Без ÑÑылки'; -$lang['js']['medianolink'] = 'Ðе давать ÑÑылку на изображение'; -$lang['js']['medialeft'] = 'ВыровнÑÑ‚ÑŒ изображение по левому краю.'; -$lang['js']['mediaright'] = 'ВыровнÑÑ‚ÑŒ изображение по правому краю.'; -$lang['js']['mediacenter'] = 'ВыровнÑÑ‚ÑŒ изображение по центру.'; -$lang['js']['medianoalign'] = 'Ðе выравнивать.'; -$lang['js']['nosmblinks'] = 'СÑылка на Ñетевые каталоги Windows работает только из MS Internet Explorer, но вы можете Ñкопировать ÑÑылку.'; +$lang['js']['medianolink'] = 'Ðе давать ÑÑылку на изображение'; +$lang['js']['medialeft'] = 'ВыровнÑÑ‚ÑŒ изображение по левому краю'; +$lang['js']['mediaright'] = 'ВыровнÑÑ‚ÑŒ изображение по правому краю'; +$lang['js']['mediacenter'] = 'ВыровнÑÑ‚ÑŒ изображение по центру'; +$lang['js']['medianoalign'] = 'Ðе выравнивать'; +$lang['js']['nosmblinks'] = 'СÑылка на Ñетевые каталоги Windows работает только из MS Internet Explorer, но вы можете Ñкопировать ÑÑылку.'; $lang['js']['linkwiz'] = 'МаÑтер ÑÑылок'; $lang['js']['linkto'] = 'СÑылка на:'; -$lang['js']['del_confirm'] = 'Ð’Ñ‹ на Ñамом деле желаете удалить выбранное?'; +$lang['js']['del_confirm'] = 'Вы на Ñамом деле желаете удалить выбранное?'; $lang['js']['restore_confirm'] = 'ДейÑтвительно воÑÑтановить Ñту верÑию?'; $lang['js']['media_diff'] = 'ПроÑмотр отличий:'; $lang['js']['media_diff_both'] = 'Ñ€Ñдом'; @@ -171,7 +179,6 @@ $lang['js']['media_overwrt'] = 'ПерезапиÑать ÑущеÑтвующ $lang['rssfailed'] = 'Произошла ошибка при получении Ñледующей новоÑтной ленты: '; $lang['nothingfound'] = 'Ðичего не найдено.'; $lang['mediaselect'] = 'Выбор медиафайла'; -$lang['fileupload'] = 'Загрузка медиафайла'; $lang['uploadsucc'] = 'Загрузка произведена уÑпешно'; $lang['uploadfail'] = 'Загрузка не удалаÑÑŒ. Возможно, проблемы Ñ Ð¿Ñ€Ð°Ð²Ð°Ð¼Ð¸ доÑтупа?'; $lang['uploadwrong'] = 'Ð’ загрузке отказано. Файлы Ñ Ñ‚Ð°ÐºÐ¸Ð¼ раÑширением запрещены. '; @@ -179,32 +186,32 @@ $lang['uploadexist'] = 'Файл Ñ Ñ‚Ð°ÐºÐ¸Ð¼ именем ÑÑƒÑ‰ÐµÑ $lang['uploadbadcontent'] = 'Содержание файла не ÑоответÑтвует раÑширению %s.'; $lang['uploadspam'] = 'Загрузка заблокирована Ñпам-фильтром.'; $lang['uploadxss'] = 'Загрузка заблокирована по ÑоображениÑм безопаÑноÑти.'; -$lang['uploadsize'] = 'Загруженный файл был Ñлишком большой. (макÑ. %s)'; -$lang['deletesucc'] = 'Файл «%s» был удалён.'; -$lang['deletefail'] = 'Ðевозможно удалить файл «%s». Проверьте права доÑтупа к файлу.'; -$lang['mediainuse'] = 'Файл «%s» не был удалён — файл вÑÑ‘ ещё иÑпользуетÑÑ.'; +$lang['uploadsize'] = 'Загруженный файл был Ñлишком большой. (МакÑ. %s)'; +$lang['deletesucc'] = 'Файл %s был удалён.'; +$lang['deletefail'] = 'Ðевозможно удалить файл %s. Проверьте права доÑтупа к файлу.'; +$lang['mediainuse'] = 'Файл %s не был удалён — файл вÑÑ‘ ещё иÑпользуетÑÑ.'; $lang['namespaces'] = 'ПроÑтранÑтва имён'; $lang['mediafiles'] = 'ДоÑтупные файлы'; $lang['accessdenied'] = 'Ð’Ñ‹ не можете проÑмотреть Ñту Ñтраницу.'; $lang['mediausage'] = 'Ð”Ð»Ñ ÑÑылки на Ñтот файл иÑпользуйте Ñледующий ÑинтакÑиÑ:'; $lang['mediaview'] = 'ПоÑмотреть иÑходный файл'; $lang['mediaroot'] = 'корень'; -$lang['mediaupload'] = 'ЗдеÑÑŒ можно загрузить файл в текущий каталог («проÑтранÑтво имён»). Чтобы Ñоздать подкаталоги, добавьте их к началу имени файла («Загрузить как»). Имена подкаталогов разделÑÑŽÑ‚ÑÑ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñми. '; +$lang['mediaupload'] = 'ЗдеÑÑŒ можно загрузить файл в текущий каталог («проÑтранÑтво имён»). Чтобы Ñоздать подкаталоги, добавьте их к началу имени файла («Загрузить как»). Имена подкаталогов разделÑÑŽÑ‚ÑÑ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñми.'; $lang['mediaextchange'] = 'РаÑширение изменилоÑÑŒ Ñ .%s на .%s!'; $lang['reference'] = 'СÑылки длÑ'; -$lang['ref_inuse'] = 'Ðтот файл не может быть удалён, так как он иÑпользуетÑÑ Ð½Ð° Ñледующих Ñтраницах:'; -$lang['ref_hidden'] = 'Ðекоторые ÑÑылки находÑÑ‚ÑÑ Ð½Ð° Ñтраницах, на чтение которых у Ð²Ð°Ñ Ð½ÐµÑ‚ прав доÑтупа'; +$lang['ref_inuse'] = 'Ðтот файл не может быть удалён, так как он иÑпользуетÑÑ Ð½Ð°Â Ñледующих Ñтраницах:'; +$lang['ref_hidden'] = 'Ðекоторые ÑÑылки находÑÑ‚ÑÑ Ð½Ð°Â Ñтраницах, на чтение которых ÑƒÂ Ð²Ð°Ñ Ð½ÐµÑ‚ прав доÑтупа'; $lang['hits'] = 'ÑоответÑтвий'; -$lang['quickhits'] = 'СоответÑÑ‚Ð²Ð¸Ñ Ð² названиÑÑ… Ñтраниц'; +$lang['quickhits'] = 'ПодходÑщие Ñтраницы'; $lang['toc'] = 'Содержание'; $lang['current'] = 'текущий'; $lang['yours'] = 'Ваша верÑиÑ'; $lang['diff'] = 'Показать Ð¾Ñ‚Ð»Ð¸Ñ‡Ð¸Ñ Ð¾Ñ‚ текущей верÑии'; $lang['diff2'] = 'Показать Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ ревизиÑми '; $lang['difflink'] = 'СÑылка на Ñто Ñравнение'; -$lang['diff_type'] = 'ПоÑмотреть отличиÑ'; -$lang['diff_inline'] = 'вÑтроенный'; -$lang['diff_side'] = 'бок о бок'; +$lang['diff_type'] = 'ПоÑмотреть различиÑ'; +$lang['diff_inline'] = 'внутри текÑта'; +$lang['diff_side'] = 'Ð´Ð²ÑƒÐ¼Ñ ÐºÐ¾Ð»Ð¾Ð½ÐºÐ°Ð¼Ð¸'; $lang['diffprevrev'] = 'ÐŸÑ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð²ÐµÑ€ÑиÑ'; $lang['diffnextrev'] = 'Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ð²ÐµÑ€ÑиÑ'; $lang['difflastrev'] = 'ПоÑледнÑÑ Ð²ÐµÑ€ÑиÑ'; @@ -262,7 +269,6 @@ $lang['qb_sig'] = 'Ð’Ñтавить подпиÑÑŒ'; $lang['qb_smileys'] = 'Смайлики'; $lang['qb_chars'] = 'Специальные Ñимволы'; $lang['upperns'] = 'Перейти в родительÑкое проÑтранÑтво имён'; -$lang['admin_register'] = 'Добавить пользователÑ'; $lang['metaedit'] = 'Править метаданные'; $lang['metasaveerr'] = 'Ошибка запиÑи метаданных'; $lang['metasaveok'] = 'Метаданные Ñохранены'; @@ -295,7 +301,6 @@ $lang['subscr_style_every'] = 'уведомлÑÑ‚ÑŒ о каждом изме $lang['subscr_style_digest'] = 'информационное Ñлектронное пиÑьмо Ñо ÑпиÑком изменений Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ Ñтраницы (каждые %.2f дн.)'; $lang['subscr_style_list'] = 'ÑпиÑок изменённых Ñтраниц Ñо времени поÑледнего отправленного Ñлектронного пиÑьма (каждые %.2f дн.)'; $lang['authtempfail'] = 'ÐÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹ временно недоÑтупна. ЕÑли проблема продолжаетÑÑ ÐºÐ°ÐºÐ¾Ðµ-то времÑ, пожалуйÑта, Ñообщите об Ñтом Ñвоему админиÑтратору вики.'; -$lang['authpwdexpire'] = 'ДейÑтвие вашего Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¸Ñтекает через %d дней. Ð’Ñ‹ должны изменить его как можно Ñкорее'; $lang['i_chooselang'] = 'Выберите Ñвой Ñзык/Choose your language'; $lang['i_installer'] = 'УÑтановка «Докувики»'; $lang['i_wikiname'] = 'Ðазвание вики'; @@ -307,11 +312,11 @@ $lang['i_modified'] = 'Из Ñоображений безопаÑно <a href="http://www.dokuwiki.org/install">инÑтрукции по уÑтановке «Докувики»</a>'; $lang['i_funcna'] = 'Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ PHP <code>%s</code> недоÑтупна. Может быть, она по какой-то причине заблокирована вашим хоÑтером?'; $lang['i_phpver'] = 'Ваша верÑÐ¸Ñ PHP (<code>%s</code>) ниже требуемой (<code>%s</code>). Вам необходимо обновить уÑтановленную верÑию PHP.'; -$lang['i_mbfuncoverload'] = 'Ð”Ð»Ñ Ð·Ð°Ð¿ÑƒÑка "Докувики" необходимо отключить параметр mbstring.func_overload в php.ini'; +$lang['i_mbfuncoverload'] = 'Ð”Ð»Ñ Ð·Ð°Ð¿ÑƒÑка «Докувики» необходимо отключить параметр mbstring.func_overload в php.ini'; $lang['i_permfail'] = '<code>%s</code> недоÑтупна Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи «Докувики». Вам необходимо иÑправить ÑиÑтемные права доÑтупа Ð´Ð»Ñ Ñтой директории!'; $lang['i_confexists'] = '<code>%s</code> уже ÑущеÑтвует'; $lang['i_writeerr'] = 'Ðе удалоÑÑŒ Ñоздать <code>%s</code>. Вам необходимо проверить ÑиÑтемные права доÑтупа к файлу и директориÑм, и Ñоздать файл вручную. '; -$lang['i_badhash'] = 'dokuwiki.php не раÑпознан или изменён (Ñ…Ñш=<code>%s</code>)'; +$lang['i_badhash'] = 'dokuwiki.php не раÑпознан или изменён (hash=<code>%s</code>)'; $lang['i_badval'] = '<code>%s</code> — недопуÑтимое или пуÑтое значение'; $lang['i_success'] = 'ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾ÑˆÐ»Ð° уÑпешно. Теперь вы можете удалить файл install.php. Переходите к <a href="doku.php?id=wiki:welcome">Ñвоей новой «Докувики»</a>.'; @@ -336,7 +341,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'] = 'Правка'; @@ -359,6 +364,7 @@ $lang['media_perm_read'] = 'Извините, у Ð²Ð°Ñ Ð½ÐµÐ´Ð¾Ñтато $lang['media_perm_upload'] = 'Извините, у Ð²Ð°Ñ Ð½ÐµÐ´Ð¾Ñтаточно прав Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ файлов.'; $lang['media_update'] = 'Загрузить новую верÑию'; $lang['media_restore'] = 'ВоÑÑтановить Ñту верÑию'; +$lang['media_acl_warning'] = 'Ðтот ÑпиÑок может быть неполным из-за ограничений ÑпиÑков ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð´Ð¾Ñтупа (ACL) и Ñкрытых Ñтраниц.'; $lang['currentns'] = 'Текущее проÑтранÑтво имён'; $lang['searchresult'] = 'Результаты поиÑка'; $lang['plainhtml'] = 'ПроÑтой HTML'; diff --git a/inc/lang/ru/recent.txt b/inc/lang/ru/recent.txt index aa088c734d160ab9dd1c81f24e5cc90590c64a95..0d4d3285a8eac379b001ffe9a67e46933b0852f7 100644 --- a/inc/lang/ru/recent.txt +++ b/inc/lang/ru/recent.txt @@ -1,5 +1,5 @@ ====== Ðедавние Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ====== -Ðти Ñтраницы были изменены недавно. +Следующие Ñтраницы были недавно изменены diff --git a/inc/lang/ru/subscr_list.txt b/inc/lang/ru/subscr_list.txt index 984a25eb0130020a9a27f59932dc47d6f15615b0..d2bc91a540a581f06f919d5e3cb559ae5fdee4a8 100644 --- a/inc/lang/ru/subscr_list.txt +++ b/inc/lang/ru/subscr_list.txt @@ -1,6 +1,7 @@ Привет. Страницы в проÑтранÑтве имён @PAGE@ в вики @TITLE@ были изменены. + СпиÑок изменившихÑÑ Ñтраниц: -------------------------------------------------------- diff --git a/inc/lang/sk/lang.php b/inc/lang/sk/lang.php index afbf79503db3b40f06a284ccf121a848e8abf1b0..df711cd1b0d84a68c886177c8cdb531558f04c00 100644 --- a/inc/lang/sk/lang.php +++ b/inc/lang/sk/lang.php @@ -38,7 +38,6 @@ $lang['btn_update'] = 'AktualizovaÅ¥'; $lang['btn_delete'] = 'ZmazaÅ¥'; $lang['btn_back'] = 'Späť'; $lang['btn_backlink'] = 'Spätné odkazy'; -$lang['btn_backtomedia'] = 'Späť na výber súboru'; $lang['btn_subscribe'] = 'SledovaÅ¥ zmeny'; $lang['btn_profile'] = 'AktualizovaÅ¥ profil'; $lang['btn_reset'] = 'ZruÅ¡iÅ¥'; @@ -51,8 +50,10 @@ $lang['btn_register'] = 'RegistrovaÅ¥'; $lang['btn_apply'] = 'PoužiÅ¥'; $lang['btn_media'] = 'Správa médiÃ'; $lang['btn_deleteuser'] = 'ZruÅ¡iÅ¥ môj úÄet'; +$lang['btn_img_backto'] = 'Späť na %s'; +$lang['btn_mediaManager'] = 'PrezrieÅ¥ v správcovi médiÃ'; $lang['loggedinas'] = 'Prihlásený(á) ako:'; -$lang['user'] = 'UžÃvateľské meno'; +$lang['user'] = 'PoužÃvateľské meno'; $lang['pass'] = 'Heslo'; $lang['newpass'] = 'Nové heslo'; $lang['oldpass'] = 'PotvrÄ aktuálne heslo'; @@ -60,36 +61,38 @@ $lang['passchk'] = 'EÅ¡te raz znovu'; $lang['remember'] = 'Zapamätaj si ma'; $lang['fullname'] = 'Celé meno'; $lang['email'] = 'E-Mail'; -$lang['profile'] = 'UžÃvateľský profil'; -$lang['badlogin'] = 'Zadané užÃvateľské meno a heslo nie je správne.'; +$lang['profile'] = 'PoužÃvateľský profil'; +$lang['badlogin'] = 'Zadané použÃvateľské meno a heslo nie je správne.'; $lang['badpassconfirm'] = 'Ľutujem, heslo bolo nesprávne.'; $lang['minoredit'] = 'MenÅ¡ie zmeny'; $lang['draftdate'] = 'Koncept automaticky uložený'; $lang['nosecedit'] = 'Stránka bola medziÄasom zmenená, informácie o sekcii sú zastaralé a z tohto dôvodu bola nahraná celá stránka.'; -$lang['searchcreatepage'] = "Pokiaľ ste nenaÅ¡li, Äo hľadáte, skúste požadovanú stránku sami vytvoriÅ¥ stlaÄenÃm tlaÄidla ''VytvoriÅ¥ stránku''."; +$lang['searchcreatepage'] = 'Pokiaľ ste nenaÅ¡li, Äo hľadáte, skúste požadovanú stránku sami vytvoriÅ¥ stlaÄenÃm tlaÄidla \'\'VytvoriÅ¥ stránku\'\'.'; $lang['regmissing'] = 'MusÃte vyplniÅ¥ vÅ¡etky údaje.'; -$lang['reguexists'] = 'UžÃvateľ s rovnakým menom je už zaregistrovaný.'; -$lang['regsuccess'] = 'UžÃvateľský úÄet bol vytvorený a heslo zaslané emailom.'; -$lang['regsuccess2'] = 'UžÃvateľský úÄet bol vytvorený.'; +$lang['reguexists'] = 'PoužÃvateľ s rovnakým menom je už zaregistrovaný.'; +$lang['regsuccess'] = 'PoužÃvateľský úÄet bol vytvorený a heslo zaslané emailom.'; +$lang['regsuccess2'] = 'PoužÃvateľský úÄet bol vytvorený.'; +$lang['regfail'] = 'PoužÃvateľský úÄet nemôže byÅ¥ vytvorený.'; $lang['regmailfail'] = 'Zdá sa, že nastala chyba pri posielanà mailu s heslom. Skúste kontaktovaÅ¥ správcu.'; $lang['regbadmail'] = 'Zadaná emailová adresa nie je platná. Pokiaľ si myslÃte, že to je zle, skúste kontaktovaÅ¥ správcu.'; $lang['regbadpass'] = 'Zadané heslá nie sú rovnaké, zadajte ich prosÃm znovu.'; $lang['regpwmail'] = 'VaÅ¡e heslo do systému DokuWiki'; -$lang['reghere'] = 'Nemáte užÃvateľský úÄet? Vytvorte si ho'; +$lang['reghere'] = 'Nemáte použÃvateľský úÄet? Vytvorte si ho'; $lang['profna'] = 'Táto wiki nepodporuje zmenu profilu'; $lang['profnochange'] = 'Žiadne zmeny, nie je Äo robiÅ¥.'; $lang['profnoempty'] = 'Prázdne meno alebo mailová adresa nie sú povolené.'; -$lang['profchanged'] = 'UžÃvateľský úÄet úspeÅ¡ne zmenený.'; +$lang['profchanged'] = 'Profil požÃvateľa bol úspeÅ¡ne zmenený.'; $lang['profnodelete'] = 'Táto wiki neumožňuje zruÅ¡enie použÃvateľov.'; $lang['profdeleteuser'] = 'ZruÅ¡iÅ¥ úÄet'; $lang['profdeleted'] = 'Váš úÄet bol zruÅ¡ený v tejto wiki.'; $lang['profconfdelete'] = 'Chcem odstrániÅ¥ môj úÄet z tejto wiki. <br/> Táto operácia je nevratná.'; $lang['profconfdeletemissing'] = 'Nebolo zavolené potvrdzovacie polÃÄko'; +$lang['proffail'] = 'Profil použÃvateľa nebol aktualizovaný.'; $lang['pwdforget'] = 'Zabudli ste heslo? ZÃskajte nové!'; $lang['resendna'] = 'Táto wiki nepodporuje opätovné zasielanie hesla.'; $lang['resendpwd'] = 'NastaviÅ¥ nové heslo pre'; $lang['resendpwdmissing'] = 'PrepáÄte, musÃte vyplniÅ¥ vÅ¡etky polia.'; -$lang['resendpwdnouser'] = 'PrepáÄte, nemôžeme nájsÅ¥ zadaného užÃvateľa v databáze.'; +$lang['resendpwdnouser'] = 'PrepáÄte, nemôžeme nájsÅ¥ zadaného použÃvateľa v databáze.'; $lang['resendpwdbadauth'] = 'PrepáÄte, tento autorizaÄný kód nie je platný. Uistite sa, Äi ste použili celý autorizaÄný odkaz.'; $lang['resendpwdconfirm'] = 'AutorizaÄný odkaz bol zaslaný na e-mail.'; $lang['resendpwdsuccess'] = 'VaÅ¡e nové heslo bolo zaslané na e-mail.'; @@ -149,7 +152,6 @@ $lang['js']['media_overwrt'] = 'PrepÃsaÅ¥ existujúce súbory'; $lang['rssfailed'] = 'Nastala chyba pri vytváranà tohto RSS: '; $lang['nothingfound'] = 'NiÄ nenájdené.'; $lang['mediaselect'] = 'Výber súboru'; -$lang['fileupload'] = 'Nahrávanie súboru'; $lang['uploadsucc'] = 'Prenos prebehol v poriadku'; $lang['uploadfail'] = 'Chyba pri nahrávanÃ. Možno kvôli zle nastaveným právam?'; $lang['uploadwrong'] = 'Prenos súboru s takouto prÃponou nie je dovolený.'; @@ -204,7 +206,7 @@ $lang['sidebar'] = 'BoÄný panel'; $lang['mail_newpage'] = 'stránka pridaná:'; $lang['mail_changed'] = 'stránka zmenená:'; $lang['mail_subscribe_list'] = 'stránky zmenené v mennom priestore:'; -$lang['mail_new_user'] = 'nový užÃvateľ:'; +$lang['mail_new_user'] = 'nový použÃvateľ:'; $lang['mail_upload'] = 'nahraný súbor:'; $lang['changes_type'] = 'Prehľad zmien'; $lang['pages_changes'] = 'Stránok'; @@ -235,11 +237,9 @@ $lang['qb_sig'] = 'VložiÅ¥ podpis'; $lang['qb_smileys'] = 'SmajlÃky'; $lang['qb_chars'] = 'Å peciálne znaky'; $lang['upperns'] = 'návrat do nadradeného menného priestoru'; -$lang['admin_register'] = 'Pridaj nového užÃvateľa'; $lang['metaedit'] = 'UpraviÅ¥ metainformácie'; $lang['metasaveerr'] = 'Zápis metainformácià zlyhal'; $lang['metasaveok'] = 'Metainformácie uložené'; -$lang['btn_img_backto'] = 'Späť na %s'; $lang['img_title'] = 'Titul:'; $lang['img_caption'] = 'Popis:'; $lang['img_date'] = 'Dátum:'; @@ -252,7 +252,6 @@ $lang['img_camera'] = 'Fotoaparát:'; $lang['img_keywords'] = 'KľúÄové slová:'; $lang['img_width'] = 'Å Ãrka:'; $lang['img_height'] = 'Výška:'; -$lang['btn_mediaManager'] = 'PrezrieÅ¥ v správcovi médiÃ'; $lang['subscr_subscribe_success'] = 'PoužÃvateľ %s bol pridaný do zoznamu hlásenà o zmenách %s'; $lang['subscr_subscribe_error'] = 'Chyba pri pridanà použÃvateľa %s do zoznamu hlásenà o zmenách %s'; $lang['subscr_subscribe_noaddress'] = 'VaÅ¡e prihlasovacie meno nemá priradenú žiadnu email adresu, nemôžete byÅ¥ pridaný do zoznamu hlásenà o zmenách'; @@ -269,8 +268,7 @@ $lang['subscr_m_receive'] = 'DostávaÅ¥'; $lang['subscr_style_every'] = 'email pri každej zmene'; $lang['subscr_style_digest'] = 'email so zhrnutÃm zmien pre každú stránku (perióda %.2f dňa)'; $lang['subscr_style_list'] = 'zoznam zmenených stránok od posledného emailu (perióda %.2f dňa)'; -$lang['authtempfail'] = 'UžÃvateľská autentifikácia je doÄasne nedostupná. Ak táto situácia pretrváva, prosÃm informujte správcu systému.'; -$lang['authpwdexpire'] = 'PlatnosÅ¥ hesla vyprÅ¡Ã za %d dnÃ, mali by ste ho zmeniÅ¥ Äo najskôr.'; +$lang['authtempfail'] = 'PoužÃvateľská autentifikácia je doÄasne nedostupná. Ak táto situácia pretrváva, prosÃm informujte správcu systému.'; $lang['i_chooselang'] = 'Zvoľte váš jazyk'; $lang['i_installer'] = 'DokuWiki inÅ¡talátor'; $lang['i_wikiname'] = 'Názov Wiki'; @@ -289,8 +287,8 @@ $lang['i_success'] = 'Konfigurácia bola úspeÅ¡ne ukonÄená. Teraz $lang['i_failure'] = 'Pri zápise konfiguraÄného súboru nastali nejaké chyby. Potrebujete ich opraviÅ¥ manuálne pred tým, ako budete môcÅ¥ použÃvaÅ¥ <a href="doku.php?id=wiki:welcome">vaÅ¡u novú DokuWiki</a>.'; $lang['i_policy'] = 'PoÄiatoÄná ACL politika'; $lang['i_pol0'] = 'Otvorená Wiki (ÄÃtanie, zápis a nahrávanie pre každého)'; -$lang['i_pol1'] = 'Verejná Wiki (ÄÃtanie pre každého, zápis a nahrávanie pre registrovaných užÃvateľov)'; -$lang['i_pol2'] = 'Uzatvorená Wiki (ÄÃtanie, zápis a nahrávanie len pre registrovaných užÃvateľov)'; +$lang['i_pol1'] = 'Verejná Wiki (ÄÃtanie pre každého, zápis a nahrávanie pre registrovaných použÃvateľov)'; +$lang['i_pol2'] = 'Uzatvorená Wiki (ÄÃtanie, zápis a nahrávanie len pre registrovaných použÃvateľov)'; $lang['i_allowreg'] = 'Povolenie samostanej registrácie použÃvateľov'; $lang['i_retry'] = 'SkúsiÅ¥ znovu'; $lang['i_license'] = 'Vyberte licenciu, pod ktorou chcete uložiÅ¥ váš obsah:'; diff --git a/inc/lang/sk/locked.txt b/inc/lang/sk/locked.txt index 5063c0605456fc8ea2caf73a19586069e2886428..fae400bcad76df7e02b7851775232b8abea3fdde 100644 --- a/inc/lang/sk/locked.txt +++ b/inc/lang/sk/locked.txt @@ -1,3 +1,3 @@ ====== Stránka je uzamknutá ====== -Tato stránka je práve uzamknutá pre úpravy iným užÃvateľom. MusÃte poÄkaÅ¥ dovtedy, pokiaľ daný užÃvateľ dokonÄà svoje úpravy alebo pokiaľ tento zámok stratà platnosÅ¥. +Tato stránka je práve uzamknutá pre úpravy iným použÃvateľom. MusÃte poÄkaÅ¥ dovtedy, pokiaľ daný použÃvateľ dokonÄà svoje úpravy alebo pokiaľ tento zámok stratà platnosÅ¥. diff --git a/inc/lang/sk/password.txt b/inc/lang/sk/password.txt index 2b85e9c393f5f8693b1746720280d14f4448ac39..582844f29939254453baec4e8b82e231086b9c66 100644 --- a/inc/lang/sk/password.txt +++ b/inc/lang/sk/password.txt @@ -3,7 +3,7 @@ Dobrý deň, Tu sú prihlasovacie informácie pre @TITLE@ (@DOKUWIKIURL@) Meno : @FULLNAME@ -UžÃvateľské meno : @LOGIN@ +PoužÃvateľské meno : @LOGIN@ Heslo : @PASSWORD@ -- diff --git a/inc/lang/sk/register.txt b/inc/lang/sk/register.txt index 59c225d7c44d175f0c3b26f8eb129f077f2c221c..b939dccca472b1899bf6b5a7d554ee298c052db9 100644 --- a/inc/lang/sk/register.txt +++ b/inc/lang/sk/register.txt @@ -1,3 +1,3 @@ ====== Zaregistrujte sa ako nový užÃvateľ ====== -Aby ste zÃskali užÃvateľský úÄet, vyplňte prosÃm vÅ¡etky informácie v nasledujúcom formulári. Zadajte **platnú** mailovú adresu, na ktorú bude zaslané heslo. UžÃvateľské meno musà byÅ¥ v platnom [[doku>pagename|formáte]] (ktorý je rovnaký ako formát názvu stránky). +Aby ste zÃskali použÃvateľský úÄet, vyplňte prosÃm vÅ¡etky informácie v nasledujúcom formulári. Zadajte **platnú** mailovú adresu, na ktorú bude zaslané heslo. PoužÃvateľské meno musà byÅ¥ v platnom [[doku>pagename|formáte]] (ktorý je rovnaký ako formát názvu stránky). diff --git a/inc/lang/sk/registermail.txt b/inc/lang/sk/registermail.txt index a0bf9e314d60f62fc70ee56ade5ba59f3f11ebae..9cde994a3de82835abdd75841c9ec74b1544df59 100644 --- a/inc/lang/sk/registermail.txt +++ b/inc/lang/sk/registermail.txt @@ -1,6 +1,6 @@ -Nový užÃvateľ bol registrovaný. Tu sú detaily: +Nový použÃvateľ bol registrovaný. Tu sú detaily: -UžÃvateľské meno : @NEWUSER@ +PoužÃvateľské meno : @NEWUSER@ Celé meno : @NEWNAME@ E-Mail : @NEWEMAIL@ diff --git a/inc/lang/sk/updateprofile.txt b/inc/lang/sk/updateprofile.txt index 67b823dc5b24874ce4f69441eb85fa28211d11e6..33b5e5b78b8fbef6f1fa5c48471248c0750eb53b 100644 --- a/inc/lang/sk/updateprofile.txt +++ b/inc/lang/sk/updateprofile.txt @@ -1,4 +1,4 @@ -====== Zmena vášho užÃvateľského profilu ====== +====== Zmena vášho použÃvateľského profilu ====== Potrebujete vyplniÅ¥ len tie polia, ktoré chcete zmeniÅ¥. Nemôžete zmeniÅ¥ prihlasovacie meno. diff --git a/inc/lang/sl/lang.php b/inc/lang/sl/lang.php index b649d08cb6f1b99de8ae464f17ce26926d2ff242..6f7a081ffb5a711d942b4233ff7bf6d4bf5f96b1 100644 --- a/inc/lang/sl/lang.php +++ b/inc/lang/sl/lang.php @@ -42,7 +42,6 @@ $lang['btn_update'] = 'Posodobi'; $lang['btn_delete'] = 'IzbriÅ¡i'; $lang['btn_back'] = 'Nazaj'; $lang['btn_backlink'] = 'Povratne povezave'; -$lang['btn_backtomedia'] = 'Nazaj na izbiro predstavnih datotek'; $lang['btn_subscribe'] = 'Urejanje naroÄnin'; $lang['btn_profile'] = 'Posodobi profil'; $lang['btn_reset'] = 'Ponastavi'; @@ -150,7 +149,6 @@ $lang['js']['media_overwrt'] = 'PrepiÅ¡i obstojeÄe datoteke'; $lang['rssfailed'] = 'PriÅ¡lo je do napake med pridobivanjem vira: '; $lang['nothingfound'] = 'Ni najdenih predmetov.'; $lang['mediaselect'] = 'Predstavne datoteke'; -$lang['fileupload'] = 'PoÅ¡iljanje predstavnih datotek'; $lang['uploadsucc'] = 'PoÅ¡iljanje je bilo uspeÅ¡no konÄano.'; $lang['uploadfail'] = 'PoÅ¡iljanje je spodletelo. Morda so uporabljena neustrezna dovoljenja.'; $lang['uploadwrong'] = 'PoÅ¡iljanje je zavrnjeno. Uporabljena pripona datoteke je prepovedana.'; @@ -239,7 +237,6 @@ $lang['qb_sig'] = 'Vstavi podpis'; $lang['qb_smileys'] = 'SmeÅ¡ki'; $lang['qb_chars'] = 'Posebni znaki'; $lang['upperns'] = 'skoÄi na nadrejeni imenski prostor'; -$lang['admin_register'] = 'Dodaj novega uporabnika'; $lang['metaedit'] = 'Uredi metapodatke'; $lang['metasaveerr'] = 'Zapisovanje metapodatkov je spodletelo'; $lang['metasaveok'] = 'Metapodatki so shranjeni'; @@ -272,7 +269,6 @@ $lang['subscr_style_every'] = 'elektronsko sporoÄilo ob vsaki spremembi'; $lang['subscr_style_digest'] = 'strnjeno elektronsko sporoÄilo sprememb za vsako stran (vsakih %.2f dni)'; $lang['subscr_style_list'] = 'seznam spremenjenih strani od zadnjega elektronskega sporoÄila (vsakih %.2f dni)'; $lang['authtempfail'] = 'Potrditev uporabnika je trenutno nedostopna. Stopite v stik s skrbnikom sistema wiki.'; -$lang['authpwdexpire'] = 'Geslo bo poteklo v %d dneh. PriporoÄljivo ga je zamenjati.'; $lang['i_chooselang'] = 'Izberite jezik'; $lang['i_installer'] = 'DokuWiki namestitev'; $lang['i_wikiname'] = 'Ime Wiki spletiÅ¡Äa'; diff --git a/inc/lang/sq/lang.php b/inc/lang/sq/lang.php index 4c61b6a70fe07c6dd10e81c438764a8dc6b3b8de..331819a667c42232c9a65035fc791eec89d9b326 100644 --- a/inc/lang/sq/lang.php +++ b/inc/lang/sq/lang.php @@ -12,10 +12,10 @@ */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; -$lang['doublequoteopening'] = '"'; -$lang['doublequoteclosing'] = '"'; -$lang['singlequoteopening'] = '\''; -$lang['singlequoteclosing'] = '\''; +$lang['doublequoteopening'] = '„'; +$lang['doublequoteclosing'] = '“'; +$lang['singlequoteopening'] = '‘'; +$lang['singlequoteclosing'] = '’'; $lang['apostrophe'] = '\''; $lang['btn_edit'] = 'Redaktoni këtë faqe'; $lang['btn_source'] = 'Trego kodin burim të faqes'; @@ -40,7 +40,6 @@ $lang['btn_update'] = 'Përditëso'; $lang['btn_delete'] = 'Fshi'; $lang['btn_back'] = 'Mbrapa'; $lang['btn_backlink'] = 'Lidhjet këtu'; -$lang['btn_backtomedia'] = 'Mbrapa tek Përzgjedhja e Media-ve'; $lang['btn_subscribe'] = 'Menaxho Abonimet'; $lang['btn_profile'] = 'Përditëso Profilin'; $lang['btn_reset'] = 'Rivendos'; @@ -98,7 +97,6 @@ $lang['js']['notsavedyet'] = 'Ndryshimet e paruajtura do të humbasin.\nVazh $lang['rssfailed'] = 'Ndoshi një gabim gjatë kapjes së këtij lajmi:'; $lang['nothingfound'] = 'Nuk u gjet asgjë.'; $lang['mediaselect'] = 'Skedarët e Medias'; -$lang['fileupload'] = 'Ngarkoje'; $lang['uploadsucc'] = 'Ngarkim i suksesshëm'; $lang['uploadfail'] = 'Ngarkimi dështoi. Ndoshta leje të gabuara?'; $lang['uploadwrong'] = 'Ngarkimi u refuzua! Prapashtesa e skedarit është e ndaluar!'; @@ -176,7 +174,6 @@ $lang['qb_sig'] = 'Fut Firmën'; $lang['qb_smileys'] = 'Smileys'; $lang['qb_chars'] = 'Karaktere Speciale'; $lang['upperns'] = 'kërce tek hapësira e emrit prind'; -$lang['admin_register'] = 'Shto Përdorues të Ri'; $lang['metaedit'] = 'Redakto Metadata'; $lang['metasaveerr'] = 'Shkrimi i metadata-ve dështoi'; $lang['metasaveok'] = 'Metadata u ruajt'; diff --git a/inc/lang/sr/lang.php b/inc/lang/sr/lang.php index 37a36c82b1343c859a4de4f653f201124ae40c80..46088dca8decfaa71cd35f09c091efd5805a2143 100644 --- a/inc/lang/sr/lang.php +++ b/inc/lang/sr/lang.php @@ -37,7 +37,6 @@ $lang['btn_update'] = 'Ðжурирај'; $lang['btn_delete'] = 'Избриши'; $lang['btn_back'] = 'Ðатраг'; $lang['btn_backlink'] = 'Повратне везе'; -$lang['btn_backtomedia'] = 'Врати Ñе на избор медијÑке датотеке'; $lang['btn_subscribe'] = 'Пријави Ñе на измене'; $lang['btn_profile'] = 'Ðжурирај профил'; $lang['btn_reset'] = 'Поништи'; @@ -125,7 +124,6 @@ $lang['js']['del_confirm'] = 'Обриши овај уноÑ?'; $lang['rssfailed'] = 'Дошло је до грешке приликом преузимања овог довода: '; $lang['nothingfound'] = 'Ðишта није нађено.'; $lang['mediaselect'] = 'Избор медијÑке датотеке'; -$lang['fileupload'] = 'Слање медијÑке датотеке'; $lang['uploadsucc'] = 'УÑпешно Ñлање'; $lang['uploadfail'] = 'ÐеуÑпешно Ñлање. Можда немате дозволу?'; $lang['uploadwrong'] = 'Слање је забрањено. Овај наÑтавак датотеке је забрањен!'; @@ -198,7 +196,6 @@ $lang['qb_sig'] = 'Убаци потпиÑ'; $lang['qb_smileys'] = 'Смешко'; $lang['qb_chars'] = 'ПоÑебни карактери'; $lang['upperns'] = 'Скочи на виши именÑки проÑтор'; -$lang['admin_register'] = 'Додај новог кориÑника'; $lang['metaedit'] = 'Измени мета-податке'; $lang['metasaveerr'] = 'ЗапиÑивање мета-података није било уÑпешно'; $lang['metasaveok'] = 'Мета-подаци Ñу Ñачувани'; diff --git a/inc/lang/sv/lang.php b/inc/lang/sv/lang.php index f22491db10e5b055ce75ce3b235b13222fdd26b7..0d1f30a7a051b748c68960bc2cc1668cbd7367d4 100644 --- a/inc/lang/sv/lang.php +++ b/inc/lang/sv/lang.php @@ -52,7 +52,6 @@ $lang['btn_update'] = 'Uppdatera'; $lang['btn_delete'] = 'Radera'; $lang['btn_back'] = 'Tillbaka'; $lang['btn_backlink'] = 'Tillbakalänkar'; -$lang['btn_backtomedia'] = 'Tillbaka till val av Mediafil'; $lang['btn_subscribe'] = 'Prenumerera pÃ¥ ändringar'; $lang['btn_profile'] = 'Uppdatera profil'; $lang['btn_reset'] = 'Ã…terställ'; @@ -164,7 +163,6 @@ $lang['js']['media_overwrt'] = 'Skriv över existerande filer'; $lang['rssfailed'] = 'Ett fel uppstod när detta RSS-flöde skulle hämtas: '; $lang['nothingfound'] = 'Inga filer hittades.'; $lang['mediaselect'] = 'Mediafiler'; -$lang['fileupload'] = 'Ladda upp mediafiler'; $lang['uploadsucc'] = 'Uppladdningen lyckades'; $lang['uploadfail'] = 'Uppladdningen misslyckades, fel filskydd?'; $lang['uploadwrong'] = 'Uppladdning nekad. Filändelsen är inte tillÃ¥ten!'; @@ -249,7 +247,6 @@ $lang['qb_sig'] = 'Infoga signatur'; $lang['qb_smileys'] = 'Smileys'; $lang['qb_chars'] = 'Specialtecken'; $lang['upperns'] = 'hoppa till föräldernamnrymd'; -$lang['admin_register'] = 'Lägg till ny användare'; $lang['metaedit'] = 'Redigera metadata'; $lang['metasaveerr'] = 'Skrivning av metadata misslyckades'; $lang['metasaveok'] = 'Metadata sparad'; @@ -280,7 +277,6 @@ $lang['subscr_m_receive'] = 'Ta emot'; $lang['subscr_style_every'] = 'skicka epost vid varje ändring'; $lang['subscr_style_list'] = 'lista över ändrade sidor sedan senaste e-post (varje %.2f dag)'; $lang['authtempfail'] = 'Tillfälligt fel pÃ¥ användarautentisering. Om felet kvarstÃ¥r, var vänlig meddela wikiadministratören.'; -$lang['authpwdexpire'] = 'Ditt lösenord kommer att bli ogiltigt om %d dagar, du bör ändra det snart.'; $lang['i_chooselang'] = 'Välj sprÃ¥k'; $lang['i_installer'] = 'Installation av DokuWiki'; $lang['i_wikiname'] = 'Wikins namn'; diff --git a/inc/lang/ta/admin.txt b/inc/lang/ta/admin.txt new file mode 100644 index 0000000000000000000000000000000000000000..2538b45691a707c0f2f83feee6aeae25600a347d --- /dev/null +++ b/inc/lang/ta/admin.txt @@ -0,0 +1,3 @@ +====== நிரà¯à®µà®¾à®•à®®à¯ ====== + +கீழே டோகà¯à®µà®¿à®•à¯à®•à®¿à®¯à®¿à®©à¯ நிரà¯à®µà®¾à®•à®®à¯ தொடரà¯à®ªà®¾à®© à®®à¯à®±à¯ˆà®®à¯ˆà®•à®³à¯ˆà®ªà¯ பாரà¯à®•à¯à®•à®²à®¾à®®à¯. \ No newline at end of file diff --git a/inc/lang/ta/adminplugins.txt b/inc/lang/ta/adminplugins.txt new file mode 100644 index 0000000000000000000000000000000000000000..54a363a8a80db0b915735ae5b762b7f38bb403a8 --- /dev/null +++ b/inc/lang/ta/adminplugins.txt @@ -0,0 +1 @@ +===== மேலதிக சொரà¯à®•à®¿à®•à®³à¯ ===== \ No newline at end of file diff --git a/inc/lang/ta/backlinks.txt b/inc/lang/ta/backlinks.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8e618fc0920f0e39863f68e8a76fdf8de0269f8 --- /dev/null +++ b/inc/lang/ta/backlinks.txt @@ -0,0 +1,3 @@ +====== பினà¯à®©à®¿à®£à¯ˆà®ªà¯à®ªà¯à®•à¯à®•à®³à¯ ====== + +கà¯à®±à®¿à®¤à¯à®¤ பகà¯à®•à®¤à¯à®¤à®¿à®±à¯à®•à®¾à®© இணைபà¯à®ªà¯ˆà®•à¯ கொணà¯à®Ÿà®¿à®°à¯à®•à¯à®•à¯à®®à¯ அனைதà¯à®¤à¯à®ªà¯ பகà¯à®•à®™à¯à®•à®³à¯à®®à¯ \ No newline at end of file diff --git a/inc/lang/ta/conflict.txt b/inc/lang/ta/conflict.txt new file mode 100644 index 0000000000000000000000000000000000000000..301c2f07a846e0cb31ff9847b650b3e118ea17fe --- /dev/null +++ b/inc/lang/ta/conflict.txt @@ -0,0 +1,3 @@ +====== பà¯à®¤à®¿à®¯ பதிபà¯à®ªà¯ உணà¯à®Ÿà¯ ====== + +நீஙà¯à®•à®³à¯ திரà¯à®¤à¯à®¤à®¿à®¯ பகà¯à®•à®¤à¯à®¤à®¿à®±à¯à®•à¯ பà¯à®¤à®¿à®¯ பதிபà¯à®ªà¯ உரà¯à®µà®¾à®•à®¿à®¯à¯à®³à¯à®³à®¤à¯. நீஙà¯à®•à®³à¯ கà¯à®±à®¿à®¤à¯à®¤ பகà¯à®•à®¤à¯à®¤à¯ˆ திரà¯à®¤à¯à®¤à¯à®®à¯ போதà¯, இனà¯à®©à¯à®®à¯Šà®°à¯ பயனர௠அதே பகà¯à®•à®¤à¯à®¤à¯ˆà®¤à¯ திரà¯à®¤à¯à®¤à®¿à®©à®¾à®²à¯ இபà¯à®ªà®Ÿà®¿ à®à®±à¯à®ªà®Ÿ வாயà¯à®ªà¯à®ªà¯à®£à¯à®Ÿà¯. \ No newline at end of file diff --git a/inc/lang/ta/diff.txt b/inc/lang/ta/diff.txt new file mode 100644 index 0000000000000000000000000000000000000000..bbc2876763903052bfb9e3d6904d39f0665546cd --- /dev/null +++ b/inc/lang/ta/diff.txt @@ -0,0 +1,3 @@ +====== வேறà¯à®ªà®¾à®Ÿà¯à®•à®³à¯ ====== + +கà¯à®±à®¿à®¤à¯à®¤ பகà¯à®•à®¤à¯à®¤à®¿à®±à¯à®•à®¾à®© இரà¯à®µà¯‡à®±à¯à®ªà®Ÿà¯à®Ÿ மாறà¯à®¤à®²à¯à®•à®³à¯ˆà®•à¯ காடà¯à®Ÿà¯à®•à®¿à®©à¯à®±à®¤à¯. \ No newline at end of file diff --git a/inc/lang/ta/draft.txt b/inc/lang/ta/draft.txt new file mode 100644 index 0000000000000000000000000000000000000000..2bb89219df57c073e65c2f7da6518643ca0ba3f1 --- /dev/null +++ b/inc/lang/ta/draft.txt @@ -0,0 +1 @@ +====== பூரணமாகத கோபà¯à®ªà¯ ====== \ No newline at end of file diff --git a/inc/lang/ta/edit.txt b/inc/lang/ta/edit.txt new file mode 100644 index 0000000000000000000000000000000000000000..e2d61d781b3c91552725fba8af1d9e59cf77724b --- /dev/null +++ b/inc/lang/ta/edit.txt @@ -0,0 +1 @@ +பகà¯à®•à®¤à¯à®¤à¯ˆà®¤à¯ திரà¯à®¤à¯à®¤à®¿ à®®à¯à®Ÿà®¿à®¨à¯à®¤à®µà¯à®Ÿà®©à¯, "செமி" எனà¯à®± படà¯à®Ÿà®©à¯ˆ à®…à®´à¯à®¤à¯à®¤à®µà¯à®®à¯. விகà¯à®•à®¿à®¯à®¿à®©à¯ வாகà¯à®•à®¿à®¯ அமைபà¯à®ªà¯à®•à¯à®•à®³à¯ˆà®ªà¯ அறிநà¯à®¤à¯à®•à¯Šà®³à¯à®³ [[wiki:syntax]] ஠பாரà¯à®•à¯à®•à®µà¯à®®à¯. நீஙà¯à®•à®³à¯ விகà¯à®•à®¿à®¯à®¿à®²à¯ எழà¯à®¤à®¿à®ªà¯ பயிறà¯à®šà®¿à®ªà¯†à®± [playground:playground|விளையாடà¯à®Ÿà¯à®¤à¯à®¤à®¾à®Ÿà®²à¯ˆ]] பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à®µà¯à®®à¯. \ No newline at end of file diff --git a/inc/lang/ta/jquery.ui.datepicker.js b/inc/lang/ta/jquery.ui.datepicker.js new file mode 100644 index 0000000000000000000000000000000000000000..113a2084948b29a6cb9091b9d3b27492dd80713e --- /dev/null +++ b/inc/lang/ta/jquery.ui.datepicker.js @@ -0,0 +1,37 @@ +/* Tamil (UTF-8) initialisation for the jQuery UI date picker plugin. */ +/* Written by S A Sureshkumar (saskumar@live.com). */ +(function( factory ) { + if ( typeof define === "function" && define.amd ) { + + // AMD. Register as an anonymous module. + define([ "../datepicker" ], factory ); + } else { + + // Browser globals + factory( jQuery.datepicker ); + } +}(function( datepicker ) { + +datepicker.regional['ta'] = { + closeText: 'மூடà¯', + prevText: 'à®®à¯à®©à¯à®©à¯ˆà®¯à®¤à¯', + nextText: 'அடà¯à®¤à¯à®¤à®¤à¯', + currentText: 'இனà¯à®±à¯', + monthNames: ['தை','மாசி','பஙà¯à®•à¯à®©à®¿','சிதà¯à®¤à®¿à®°à¯ˆ','வைகாசி','ஆனி', + 'ஆடி','ஆவணி','பà¯à®°à®Ÿà¯à®Ÿà®¾à®šà®¿','à®à®ªà¯à®ªà®šà®¿','காரà¯à®¤à¯à®¤à®¿à®•à¯ˆ','மாரà¯à®•à®´à®¿'], + monthNamesShort: ['தை','மாசி','பஙà¯','சிதà¯','வைகா','ஆனி', + 'ஆடி','ஆவ','பà¯à®°','à®à®ªà¯','காரà¯','மாரà¯'], + dayNames: ['ஞாயிறà¯à®±à¯à®•à¯à®•à®¿à®´à®®à¯ˆ','திஙà¯à®•à®Ÿà¯à®•à®¿à®´à®®à¯ˆ','செவà¯à®µà®¾à®¯à¯à®•à¯à®•à®¿à®´à®®à¯ˆ','பà¯à®¤à®©à¯à®•à®¿à®´à®®à¯ˆ','வியாழகà¯à®•à®¿à®´à®®à¯ˆ','வெளà¯à®³à®¿à®•à¯à®•à®¿à®´à®®à¯ˆ','சனிகà¯à®•à®¿à®´à®®à¯ˆ'], + dayNamesShort: ['ஞாயிறà¯','திஙà¯à®•à®³à¯','செவà¯à®µà®¾à®¯à¯','பà¯à®¤à®©à¯','வியாழனà¯','வெளà¯à®³à®¿','சனி'], + dayNamesMin: ['ஞா','தி','செ','பà¯','வி','வெ','ச'], + weekHeader: 'Ðе', + dateFormat: 'dd/mm/yy', + firstDay: 1, + isRTL: false, + showMonthAfterYear: false, + yearSuffix: ''}; +datepicker.setDefaults(datepicker.regional['ta']); + +return datepicker.regional['ta']; + +})); diff --git a/inc/lang/ta/lang.php b/inc/lang/ta/lang.php index a5b89527a05c468130d5b084934d99fef1743caf..422613ec7bcedd8914e42641b569fe2097677b67 100644 --- a/inc/lang/ta/lang.php +++ b/inc/lang/ta/lang.php @@ -2,23 +2,41 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Naveen Venugopal <naveen.venugopal.anu@gmail.com> + * @author Sri Saravana <saravanamuthaly@gmail.com> */ +$lang['doublequoteopening'] = '"'; +$lang['doublequoteclosing'] = '"'; +$lang['singlequoteopening'] = '\''; +$lang['singlequoteclosing'] = '\''; +$lang['apostrophe'] = '\''; $lang['btn_edit'] = 'இநà¯à®¤ பகà¯à®•à®¤à¯à®¤à¯ˆ திரà¯à®¤à¯à®¤à¯ '; +$lang['btn_source'] = 'பகà¯à®• மூலதà¯à®¤à¯ˆà®•à¯ காடà¯à®Ÿà¯'; $lang['btn_show'] = 'பகà¯à®•à®¤à¯à®¤à¯ˆ காணà¯à®ªà®¿ '; $lang['btn_create'] = 'இநà¯à®¤ பகà¯à®•à®¤à¯à®¤à¯ˆ உரà¯à®µà®¾à®•à¯à®•à¯ '; $lang['btn_search'] = 'தேடà¯'; $lang['btn_save'] = 'சேமி '; +$lang['btn_preview'] = 'à®®à¯à®©à¯à®©à¯‹à®Ÿà¯à®Ÿà®®à¯'; +$lang['btn_top'] = 'மேலே செலà¯'; $lang['btn_revs'] = 'பழைய திரà¯à®¤à¯à®¤à®™à¯à®•à®³à¯'; $lang['btn_recent'] = 'சமீபதà¯à®¤à®¿à®¯ மாறà¯à®±à®™à¯à®•à®³à¯'; $lang['btn_upload'] = 'பதிவேறà¯à®±à¯'; $lang['btn_cancel'] = 'ரதà¯à®¤à¯'; $lang['btn_index'] = 'தள வரைபடமà¯'; +$lang['btn_secedit'] = 'தொகà¯'; +$lang['btn_login'] = 'பà¯à®•à¯à®ªà®¤à®¿à®•à¯ˆ'; +$lang['btn_logout'] = 'விடà¯à®ªà®¤à®¿à®•à¯ˆ'; $lang['btn_admin'] = 'நிரà¯à®µà®¾à®•à®®à¯'; $lang['btn_update'] = 'மேமà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯ '; $lang['btn_delete'] = 'நீகà¯à®•à¯'; +$lang['btn_back'] = 'பினà¯'; +$lang['btn_backlink'] = 'பினà¯à®©à®¿à®£à¯ˆà®ªà¯à®ªà¯à®•à¯à®•à®³à¯'; +$lang['btn_subscribe'] = 'சநà¯à®¤à®¾ நிரà¯à®µà®•à®¿à®ªà¯à®ªà¯'; +$lang['btn_profile'] = 'பயனர௠கணகà¯à®•à¯ மாறà¯à®±à®®à¯'; +$lang['btn_reset'] = 'மீடà¯à®Ÿà®®à¯ˆ'; $lang['btn_resendpwd'] = 'பà¯à®¤à®¿à®¯ அடையாளசà¯à®šà¯Šà®²à¯à®²à¯ˆ நியமி'; +$lang['btn_draft'] = 'திரà¯à®¤à¯à®¤ வரைவà¯'; $lang['btn_apply'] = 'உபயோகி'; $lang['user'] = 'பயனரà¯à®ªà¯†à®¯à®°à¯'; $lang['pass'] = 'அடையாளசà¯à®šà¯Šà®²à¯'; diff --git a/inc/lang/th/lang.php b/inc/lang/th/lang.php index 113431276783fb21fb2ab401cde15139e98df4c9..ee1f1e0783bcee412d1d91c2b4050603d509c743 100644 --- a/inc/lang/th/lang.php +++ b/inc/lang/th/lang.php @@ -8,10 +8,11 @@ * @author Kittithat Arnontavilas <mrtomyum@gmail.com> * @author Thanasak Sompaisansin <jombthep@gmail.com> * @author Yuthana Tantirungrotechai <yt203y@gmail.com> + * @author Amnuay <amnuay@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; -$lang['doublequoteopening'] = '“ '; +$lang['doublequoteopening'] = '“'; $lang['doublequoteclosing'] = 'â€'; $lang['singlequoteopening'] = '‘'; $lang['singlequoteclosing'] = '’'; @@ -39,7 +40,6 @@ $lang['btn_update'] = 'ปรับปรุง'; $lang['btn_delete'] = 'ลบ'; $lang['btn_back'] = 'ย้à¸à¸™à¸à¸¥à¸±à¸š'; $lang['btn_backlink'] = 'หน้าที่ลิงà¸à¹Œà¸¡à¸²'; -$lang['btn_backtomedia'] = 'à¸à¸¥à¸±à¸šà¹„ปยังหน้าเลืà¸à¸à¹„ฟล์สื่à¸'; $lang['btn_subscribe'] = 'เà¸à¹‰à¸²à¸”ู'; $lang['btn_profile'] = 'à¹à¸à¹‰à¸‚้à¸à¸¡à¸¹à¸¥à¸œà¸¹à¹‰à¹ƒà¸Šà¹‰'; $lang['btn_reset'] = 'เริ่มใหม่'; @@ -49,6 +49,7 @@ $lang['btn_recover'] = 'à¸à¸¹à¹‰à¸„ืนเà¸à¸à¸ªà¸²à¸£à¸‰à¸šà¸± $lang['btn_draftdel'] = 'ลบเà¸à¸à¸ªà¸²à¸£à¸‰à¸šà¸±à¸šà¸£à¹ˆà¸²à¸‡'; $lang['btn_revert'] = 'à¸à¸¹à¹‰à¸„ืน'; $lang['btn_register'] = 'สร้างบัà¸à¸Šà¸µà¸œà¸¹à¹‰à¹ƒà¸Šà¹‰'; +$lang['btn_apply'] = 'นำไปใช้'; $lang['btn_media'] = 'ส่วนจัดà¸à¸²à¸£à¸ªà¸·à¹ˆà¸à¹à¸¥à¸°à¹„ฟล์'; $lang['btn_deleteuser'] = 'ลบบัà¸à¸Šà¸µà¸œà¸¹à¹‰à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸‚à¸à¸‡à¸‰à¸±à¸™'; $lang['btn_img_backto'] = 'à¸à¸¥à¸±à¸šà¹„ปยัง %s'; @@ -73,6 +74,7 @@ $lang['regmissing'] = 'ขà¸à¸à¸ ัย คุณต้à¸à¸‡à¸à¸£ $lang['reguexists'] = 'ชื่à¸à¸šà¸±à¸à¸Šà¸µà¸—ี่ใส่นั้นมีผู้à¸à¸·à¹ˆà¸™à¹„ด้ใช้à¹à¸¥à¹‰à¸§ à¸à¸£à¸¸à¸“าเลืà¸à¸à¸Šà¸·à¹ˆà¸à¸œà¸¹à¹‰à¹ƒà¸Šà¹‰à¸à¸·à¹ˆà¸™'; $lang['regsuccess'] = 'ผู้ใช้ถูà¸à¸ªà¸£à¹‰à¸²à¸‡à¹à¸¥à¹‰à¸§ à¹à¸¥à¸°à¸£à¸«à¸±à¸ªà¸œà¹ˆà¸²à¸™à¹„ด้ถูà¸à¸ªà¹ˆà¸‡à¹„ปทางà¸à¸µà¹€à¸¡à¸¥à¹à¸¥à¹‰à¸§'; $lang['regsuccess2'] = 'ชื่à¸à¸šà¸±à¸à¸Šà¸µà¹„ด้ถูà¸à¸ªà¸£à¹‰à¸²à¸‡à¸‚ึ้น'; +$lang['regfail'] = 'à¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸œà¸¹à¹‰à¹ƒà¸Šà¹‰à¹„ม่สำเร็จ'; $lang['regmailfail'] = 'ดูเหมืà¸à¸™à¸ˆà¸°à¸¡à¸µà¸‚้à¸à¸œà¸´à¸”พลาดในà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸£à¸«à¸±à¸ªà¸œà¹ˆà¸²à¸™à¸—างเมล์ à¸à¸£à¸¸à¸“าติดต่à¸à¸œà¸¹à¹‰à¸”ูà¹à¸¥à¸£à¸°à¸šà¸š'; $lang['regbadmail'] = 'รูปà¹à¸šà¸šà¸à¸µà¹€à¸¡à¸¥à¹„ม่ถูà¸à¸•à¹‰à¸à¸‡ ให้ใส่à¸à¸µà¹€à¸¡à¸¥à¹ƒà¸«à¹‰à¸–ูà¸à¸•à¹‰à¸à¸‡à¸•à¸²à¸¡à¸£à¸¹à¸›à¹à¸šà¸šà¸à¸µà¹€à¸¡à¸¥ หรืà¸à¹ƒà¸«à¹‰à¸—ำช่à¸à¸‡à¸à¸µà¹€à¸¡à¸¥à¹ƒà¸«à¹‰à¸§à¹ˆà¸²à¸‡à¹à¸—น'; $lang['regbadpass'] = 'รหัสผ่านที่ใส่ไม่ถูà¸à¸•à¹‰à¸à¸‡'; @@ -86,8 +88,11 @@ $lang['profnodelete'] = 'วิà¸à¸´à¸™à¸µà¹‰à¹„ม่รà¸à¸‡à¸£à¸± $lang['profdeleteuser'] = 'ลบบัà¸à¸Šà¸µà¸œà¸¹à¹‰à¹ƒà¸Šà¹‰à¸‡à¸²à¸™'; $lang['profdeleted'] = 'บัà¸à¸Šà¸µà¸œà¸¹à¹‰à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸‚à¸à¸‡à¸„ุณได้ถูà¸à¸¥à¸šà¸à¸à¸à¸ˆà¸²à¸à¸§à¸´à¸à¸´à¹à¸¥à¹‰à¸§'; $lang['profconfdelete'] = 'ฉันà¸à¸¢à¸²à¸à¸¥à¸šà¸šà¸±à¸à¸Šà¸µà¸œà¸¹à¹‰à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸‚à¸à¸‡à¸‰à¸±à¸™à¸ˆà¸²à¸à¸§à¸´à¸à¸´à¸™à¸µà¹‰ <br/> à¸à¸²à¸£à¸”ำเนินà¸à¸²à¸£à¸™à¸µà¹‰à¹„ม่สามารถà¹à¸à¹‰à¹„ขคืนได้ '; +$lang['profconfdeletemissing'] = 'ท่านไม่ได้ยืนยันในช่à¸à¸‡à¸¢à¸·à¸™à¸¢à¸±à¸™'; +$lang['proffail'] = 'ข้à¸à¸¡à¸¹à¸¥à¸œà¸¹à¹‰à¹ƒà¸Šà¹‰à¹„ม่เป็นปัจจุบัน'; $lang['pwdforget'] = 'ลืมรหัสผ่านหรืà¸? เà¸à¸²à¸à¸±à¸™à¹ƒà¸«à¸¡à¹ˆà¸ªà¸´'; $lang['resendna'] = 'วิà¸à¸´à¸™à¸µà¹‰à¹„ม่รà¸à¸‡à¸£à¸±à¸šà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸£à¸«à¸±à¸ªà¸œà¹ˆà¸²à¸™à¸‹à¹‰à¸³'; +$lang['resendpwd'] = 'สร้างรหัสผ่านใหม่สำหรับ'; $lang['resendpwdmissing'] = 'ขà¸à¸à¸ ัย, คุณต้à¸à¸‡à¸à¸£à¸à¸à¸—ุà¸à¸Šà¹ˆà¸à¸‡'; $lang['resendpwdnouser'] = 'ขà¸à¸à¸ ัย, เราไม่พบผู้ใช้คนนี้ในà¸à¸²à¸™à¸‚้à¸à¸¡à¸¹à¸¥à¸‚à¸à¸‡à¹€à¸£à¸²'; $lang['resendpwdbadauth'] = 'ขà¸à¸à¸ ัย, รหัสนี้ยังใช้ไม่ได้ à¸à¸£à¸¸à¸“าตรวจสà¸à¸šà¸§à¹ˆà¸²à¸„ุณà¸à¸”ลิ้งค์ยืนยันà¹à¸¥à¹‰à¸§'; @@ -100,6 +105,7 @@ $lang['searchmedia_in'] = 'สืบค้นใน %s'; $lang['txt_upload'] = 'เลืà¸à¸à¹„ฟล์ที่จะà¸à¸±à¸žà¹‚หลด:'; $lang['txt_filename'] = 'à¸à¸±à¸žà¹‚หลดเป็น(ตัวเลืà¸à¸):'; $lang['txt_overwrt'] = 'เขียนทับไฟล์ที่มีà¸à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§'; +$lang['maxuploadsize'] = 'à¸à¸±à¸žà¹‚หลด สูงสุด %s ต่à¸à¹„ฟล์'; $lang['lockedby'] = 'ตà¸à¸™à¸™à¸µà¹‰à¸–ูà¸à¸¥à¹Šà¸à¸„โดย:'; $lang['lockexpire'] = 'à¸à¸²à¸£à¸¥à¹Šà¸à¸„จะหมดà¸à¸²à¸¢à¸¸à¹€à¸¡à¸·à¹ˆà¸:'; $lang['js']['willexpire'] = 'à¸à¸²à¸£à¸¥à¹Šà¸à¸„เพื่à¸à¹à¸à¹‰à¹„ขหน้านี้à¸à¸³à¸¥à¸±à¸‡à¸ˆà¸°à¸«à¸¡à¸”เวลาในà¸à¸µà¸ \n นาที เพื่à¸à¸—ี่จะหลีà¸à¹€à¸¥à¸µà¹ˆà¸¢à¸‡à¸‚้à¸à¸‚ัดà¹à¸¢à¹‰à¸‡à¹ƒà¸«à¹‰à¹ƒà¸Šà¹‰à¸›à¸¸à¹ˆà¸¡ "Preview" เพื่à¸à¸£à¸µà¹€à¸‹à¹‡à¸—เวลาใหม่'; @@ -107,6 +113,19 @@ $lang['js']['notsavedyet'] = 'à¸à¸²à¸£à¹à¸à¹‰à¹„ขที่ไม่ไ $lang['js']['searchmedia'] = 'ค้นหาไฟล์'; $lang['js']['keepopen'] = 'เปิดหน้าต่างไว้ระหว่างที่เลืà¸à¸'; $lang['js']['hidedetails'] = 'ซ่à¸à¸™à¸£à¸²à¸¢à¸¥à¸°à¹€à¸à¸µà¸¢à¸”'; +$lang['js']['mediatitle'] = 'à¸à¸³à¸«à¸™à¸”ข้à¸à¸¡à¸¹à¸¥à¸¥à¸´à¸‡à¸„์'; +$lang['js']['mediadisplay'] = 'ชนิดขà¸à¸‡à¸¥à¸´à¸‡à¸„์'; +$lang['js']['mediaalign'] = 'à¸à¸²à¸£à¸ˆà¸±à¸”วาง'; +$lang['js']['mediasize'] = 'ขนาดรูปภาพ'; +$lang['js']['mediatarget'] = 'เป้าหมายขà¸à¸‡à¸¥à¸´à¸‡à¸„์'; +$lang['js']['mediaclose'] = 'ปิด'; +$lang['js']['mediainsert'] = 'à¹à¸—รà¸'; +$lang['js']['mediadisplayimg'] = 'à¹à¸ªà¸”งรูปภาพ'; +$lang['js']['mediadisplaylnk'] = 'à¹à¸ªà¸”งลิงค์ เท่านั้น'; +$lang['js']['mediasmall'] = 'รูปà¹à¸šà¸šà¸‚นาดเล็à¸'; +$lang['js']['mediamedium'] = 'รูปà¹à¸šà¸šà¸‚นาดà¸à¸¥à¸²à¸‡'; +$lang['js']['medialarge'] = 'รูปà¹à¸šà¸šà¸‚นาดใหà¸à¹ˆ'; +$lang['js']['mediaoriginal'] = 'รูปà¹à¸šà¸šà¸•à¸±à¹‰à¸‡à¸•à¹‰à¸™'; $lang['js']['nosmblinks'] = 'เชื่à¸à¸¡à¹„ปยังหน้าต่างà¹à¸šà¹ˆà¸‡à¸›à¸±à¸™ ทำงานได้à¸à¸±à¸šà¹€à¸‰à¸žà¸²à¸°à¹„มโครซà¸à¸Ÿà¸—์à¸à¸´à¸™à¹€à¸•à¸à¸£à¹Œà¹€à¸™à¹‡à¸•à¹€à¸à¹‡à¸à¸‹à¹‚ปรเรà¸à¸£à¹Œ(IE) คุณยังคงสามารถคัดลà¸à¸à¹à¸¥à¸°à¹à¸›à¸°à¸¥à¸´à¹‰à¸‡à¸„์ได้'; $lang['js']['linkwiz'] = 'ลิงค์วิเศษ'; $lang['js']['linkto'] = 'ลิงค์ไป:'; @@ -114,7 +133,6 @@ $lang['js']['del_confirm'] = 'ต้à¸à¸‡à¸à¸²à¸£à¸¥à¸šà¸£à¸²à¸¢à¸à¸²à¸£ $lang['rssfailed'] = 'มีข้à¸à¸œà¸´à¸”พลาดขณะดูดฟีดนี้'; $lang['nothingfound'] = 'ไม่พบสิ่งใด'; $lang['mediaselect'] = 'ไฟล์สื่à¸'; -$lang['fileupload'] = 'à¸à¸±à¸›à¹‚หลด'; $lang['uploadsucc'] = 'à¸à¸±à¸›à¹‚หลดสำเร็จ'; $lang['uploadfail'] = 'เà¸à¸´à¸”ความขัดข้à¸à¸‡à¹ƒà¸™à¸à¸²à¸£à¸à¸±à¸›à¹‚หลด'; $lang['uploadwrong'] = 'à¸à¸²à¸£à¸à¸±à¸žà¹‚หลดถูà¸à¸›à¸à¸´à¹€à¸ªà¸˜ ส่วนขยายไฟล์นี้ต้à¸à¸‡à¸«à¹‰à¸²à¸¡!'; @@ -184,7 +202,6 @@ $lang['qb_sig'] = 'ลายเซ็นพร้à¸à¸¡à¸¥à¸‡à¹€ $lang['qb_smileys'] = 'ภาพà¹à¸ªà¸”งà¸à¸²à¸£à¸¡à¸“์'; $lang['qb_chars'] = 'à¸à¸±à¸à¸‚ระพิเศษ'; $lang['upperns'] = 'à¸à¸£à¸°à¹‚ดดขึ้นไปยังเนมสเปซà¹à¸¡à¹ˆ'; -$lang['admin_register'] = 'สร้างบัà¸à¸Šà¸µà¸œà¸¹à¹‰à¹ƒà¸Šà¹‰'; $lang['metaedit'] = 'à¹à¸à¹‰à¹„ขข้à¸à¸¡à¸¹à¸¥à¹€à¸¡à¸•à¹‰à¸²'; $lang['metasaveerr'] = 'มีข้à¸à¸œà¸´à¸”พลาดในà¸à¸²à¸£à¹€à¸‚ียนข้à¸à¸¡à¸¹à¸¥à¹€à¸¡à¸•à¹‰à¸²'; $lang['metasaveok'] = 'บันทึà¸à¹€à¸¡à¸•à¹‰à¸²à¸”าต้าà¹à¸¥à¹‰à¸§'; diff --git a/inc/lang/tr/lang.php b/inc/lang/tr/lang.php index 1676256a58bc7763de9195aec3b18ba612d7b8f7..12d7f7490cee8bedadd18f18cb0ca24600a0de59 100644 --- a/inc/lang/tr/lang.php +++ b/inc/lang/tr/lang.php @@ -13,6 +13,7 @@ * @author huseyin can <huseyincan73@gmail.com> * @author ilker rifat kapaç <irifat@gmail.com> * @author Ä°lker R. Kapaç <irifat@gmail.com> + * @author Mete Cuma <mcumax@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -44,7 +45,6 @@ $lang['btn_update'] = 'Güncelle'; $lang['btn_delete'] = 'Sil'; $lang['btn_back'] = 'Geri'; $lang['btn_backlink'] = 'Geri linkler'; -$lang['btn_backtomedia'] = 'Çokluortam dosyası seçimine dön'; $lang['btn_subscribe'] = 'Sayfa DeÄŸiÅŸikliklerini Bildir'; $lang['btn_profile'] = 'Kullanıcı Bilgilerini Güncelle'; $lang['btn_reset'] = 'Sıfırla'; @@ -74,11 +74,12 @@ $lang['badpassconfirm'] = 'Ãœzgünüz, parolanız yanlış'; $lang['minoredit'] = 'Küçük DeÄŸiÅŸiklikler'; $lang['draftdate'] = 'Taslak ÅŸu saatte otomatik kaydedildi:'; $lang['nosecedit'] = 'Sayfa yakın zamanda deÄŸiÅŸtirilmiÅŸtir, bölüm bilgisi eski kalmıştır. Bunun için bölüm yerine tüm sayfa yüklenmiÅŸtir.'; -$lang['searchcreatepage'] = "Aradığınız ÅŸeyi bulamadıysanız, ''Sayfayı deÄŸiÅŸtir'' tuÅŸuna tıklayarak girdiÄŸiniz sorgu adıyla yeni bir sayfa oluÅŸturabilirsiniz ."; +$lang['searchcreatepage'] = 'Aradığınız ÅŸeyi bulamadıysanız, \'\'Sayfayı deÄŸiÅŸtir\'\' tuÅŸuna tıklayarak girdiÄŸiniz sorgu adıyla yeni bir sayfa oluÅŸturabilirsiniz .'; $lang['regmissing'] = 'Ãœzgünüz, tüm alanları doldurmalısınız.'; $lang['reguexists'] = 'Ãœzgünüz, bu isime sahip bir kullanıcı zaten mevcut.'; $lang['regsuccess'] = 'Kullanıcı oluÅŸturuldu ve ÅŸifre e-posta adresine gönderildi.'; $lang['regsuccess2'] = 'Kullanıcı oluÅŸturuldu.'; +$lang['regfail'] = 'Kullanıcı oluÅŸturulamadı.'; $lang['regmailfail'] = 'Åžifrenizi e-posta ile gönderirken bir hata oluÅŸmuÅŸ gibi görünüyor. Lütfen yönetici ile temasa geçiniz!'; $lang['regbadmail'] = 'Verilen e-posta adresi geçersiz gibi görünüyor - bunun bir hata olduÄŸunu düşünüyorsanız yönetici ile temasa geçiniz.'; $lang['regbadpass'] = 'Girilen parolalar aynı deÄŸil. Lütfen tekrar deneyiniz.'; @@ -93,6 +94,7 @@ $lang['profdeleteuser'] = 'Hesabı Sil'; $lang['profdeleted'] = 'Bu wiki\'den hesabınız silindi'; $lang['profconfdelete'] = 'Bu wiki\'den hesabımı silmek istiyorum. <br/>Bu iÅŸlem geri alınamaz'; $lang['profconfdeletemissing'] = 'Onay kutusu iÅŸaretlenmedi'; +$lang['proffail'] = 'Kullanıcı bilgileri güncellenmedi.'; $lang['pwdforget'] = 'Parolanızı mı unuttunuz? Yeni bir parola alın'; $lang['resendna'] = 'Bu wiki parolayı tekrar göndermeyi desteklememektedir.'; $lang['resendpwd'] = 'İçin yeni ÅŸifre belirle'; @@ -154,7 +156,6 @@ $lang['js']['media_overwrt'] = 'Var olan dosyaların üzerine yaz'; $lang['rssfailed'] = 'Bu beslemeyi çekerken hata oluÅŸtu: '; $lang['nothingfound'] = 'Hiçbir ÅŸey yok.'; $lang['mediaselect'] = 'Çokluortam dosyası seçimi'; -$lang['fileupload'] = 'Çokluortam dosyası yükleme'; $lang['uploadsucc'] = 'Yükleme tamam'; $lang['uploadfail'] = 'Yükleme baÅŸarısız. Yetki hatası olabilir!'; $lang['uploadwrong'] = 'Yükleme engellendi. Bu dosya uzantısına izin verilmiyor!'; @@ -186,6 +187,7 @@ $lang['diff'] = 'Kullanılan sürüm ile farkları göster'; $lang['diff2'] = 'Seçili sürümler arasındaki farkı göster'; $lang['difflink'] = 'KarşılaÅŸtırma görünümüne baÄŸlantı'; $lang['diff_type'] = 'farklı görünüş'; +$lang['diff_inline'] = 'Satır içi'; $lang['diff_side'] = 'Yan yana'; $lang['diffprevrev'] = 'Önceki sürüm'; $lang['diffnextrev'] = 'Sonraki sürüm'; @@ -244,7 +246,6 @@ $lang['qb_sig'] = 'Ä°mza Ekle'; $lang['qb_smileys'] = 'Gülen Yüzler'; $lang['qb_chars'] = 'Özel Karakterler'; $lang['upperns'] = 'ebeveyn isimalanına atla'; -$lang['admin_register'] = 'Yeni kullanıcı ekle...'; $lang['metaedit'] = 'Metaverileri DeÄŸiÅŸtir'; $lang['metasaveerr'] = 'Metaveri yazma baÅŸarısız '; $lang['metasaveok'] = 'Metaveri kaydedildi'; @@ -260,14 +261,22 @@ $lang['img_camera'] = 'FotoÄŸraf Makinası:'; $lang['img_keywords'] = 'Anahtar Sözcükler:'; $lang['img_width'] = 'GeniÅŸlik:'; $lang['img_height'] = 'Yükseklik:'; +$lang['subscr_subscribe_success'] = '%s, %s için abonelik listesine eklendi.'; +$lang['subscr_subscribe_error'] = '%s, %s için abonelik listesine eklenirken hata ile karşılaşıldı.'; +$lang['subscr_subscribe_noaddress'] = 'Oturum bilginiz ile iliÅŸkilendirilmiÅŸ bir adres olmadığı için abonelik listesine dahil olamazsınız.'; +$lang['subscr_unsubscribe_success'] = '%s, %s için abonelik listesinden çıkarıldı.'; +$lang['subscr_unsubscribe_error'] = '%s, %s için abonelik listesinden çıkarılırken hata ile karşılaşıldı.'; +$lang['subscr_already_subscribed'] = '%s zaten %s listesine abone.'; +$lang['subscr_not_subscribed'] = '%s, %s listesine abone deÄŸil.'; +$lang['subscr_m_not_subscribed'] = 'Bu sayfa veya isim alanına (namespace) abone deÄŸilsiniz. '; $lang['subscr_m_new_header'] = 'Ãœyelik ekle'; $lang['subscr_m_current_header'] = 'ÃœyeliÄŸini onayla'; $lang['subscr_m_unsubscribe'] = 'Ãœyelik iptali'; $lang['subscr_m_subscribe'] = 'Kayıt ol'; $lang['subscr_m_receive'] = 'Al'; $lang['subscr_style_every'] = 'her deÄŸiÅŸiklikte e-posta gönder'; +$lang['subscr_style_list'] = 'Son e-postadan bu yana deÄŸiÅŸtirilen sayfaların listesi (her %.2f gün)'; $lang['authtempfail'] = 'Kullanıcı doÄŸrulama geçici olarak yapılamıyor. EÄŸer bu durum devam ederse lütfen Wiki yöneticine haber veriniz.'; -$lang['authpwdexpire'] = 'Åžifreniz %d gün sonra geçersiz hale gelecek, yakın bir zamanda deÄŸiÅŸtirmelisiniz.'; $lang['i_chooselang'] = 'Dili seçiniz'; $lang['i_installer'] = 'Dokuwiki Kurulum Sihirbazı'; $lang['i_wikiname'] = 'Wiki Adı'; @@ -277,13 +286,14 @@ $lang['i_problems'] = 'Kurulum sihirbazı aÅŸağıda gösterilen soru $lang['i_modified'] = 'Güzenlik sebebiyle bu script sadece yeni ve deÄŸiÅŸtirilmemiÅŸ bir Dokuwiki kurulumunda çalışır. Ya indirdiÄŸiniz paketi yeniden açmalı ya da <a href="http://dokuwiki.org/install"> adresindeki Dokuwiki kurulum kılavuzu</a>na bakmalısınız.'; $lang['i_funcna'] = '<code>%s</code> PHP fonksiyonu bulunmamaktadır. Barındırma(Hosting) hizmetinde bu özellik kapatılmış olabilir.'; $lang['i_phpver'] = '<code>%s</code> PHP sürümü, gereken <code>%s</code> sürümünden daha düşük. PHP kurulumunu yükseltmeniz gerekmektedir.'; +$lang['i_mbfuncoverload'] = 'DokuWiki\'nin çalışması için php.ini dosyasında mbstring.func_overload seçeneÄŸi kapalı (deÄŸeri 0) olarak ayarlanmalıdır.'; $lang['i_permfail'] = '<code>%s</code> Dokuwiki tarafından yazılabilir deÄŸil. Ä°zin ayarlarını bu klasör için düzeltmeniz gerekmektedir!'; $lang['i_confexists'] = '<code>%s</code> zaten var'; $lang['i_writeerr'] = '<code>%s</code> oluÅŸturulamadı. Dosya/Klasör izin ayarlarını gözden geçirip dosyayı elle oluÅŸturmalısınız.'; $lang['i_badhash'] = 'dokuwiki.php tanınamadı ya da deÄŸiÅŸtirilmiÅŸ (hash=<code>%s</code>)'; $lang['i_badval'] = '<code>%s</code> - Yanlış veya boÅŸ deÄŸer'; -$lang['i_success'] = 'Kurulum baÅŸarıyla tamamlandı. Åžimdi install.php dosyasını silebilirsiniz. <a href="doku.php">Yeni DokuWikiniz</a>i kullanabilirsiniz.'; -$lang['i_failure'] = 'Ayar dosyalarını yazarken bazı hatalar oluÅŸtu. <a href="doku.php">Yeni DokuWikiniz</a>i kullanmadan önce bu hatalarınızı elle düzeltmeniz gerekebilir.'; +$lang['i_success'] = 'Kurulum baÅŸarıyla tamamlandı. Åžimdi install.php dosyasını silebilirsiniz. <a href="doku.php?id=wiki:welcome">Yeni DokuWikiniz</a>i kullanabilirsiniz.'; +$lang['i_failure'] = 'Ayar dosyalarını yazarken bazı hatalar oluÅŸtu. <a href="doku.php?id=wiki:welcome">Yeni DokuWikiniz</a>i kullanmadan önce bu hatalarınızı elle düzeltmeniz gerekebilir.'; $lang['i_policy'] = 'Ä°lk ACL ayarı'; $lang['i_pol0'] = 'Tamamen Açık Wiki (herkes okuyabilir, yazabilir ve dosya yükleyebilir)'; $lang['i_pol1'] = 'Açık Wiki (herkes okuyabilir, ancak sadece üye olanlar yazabilir ve dosya yükleyebilir)'; diff --git a/inc/lang/uk/lang.php b/inc/lang/uk/lang.php index a6b08c905ecf31bfc2a7897cd7b6aaaf584ad18a..7c99b6322c897c31349eaec70007079709578bb0 100644 --- a/inc/lang/uk/lang.php +++ b/inc/lang/uk/lang.php @@ -2,14 +2,17 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Oleksiy Voronin <ovoronin@gmail.com> * @author serg_stetsuk@ukr.net * @author Oleksandr Kunytsia <okunia@gmail.com> * @author Uko <uko@uar.net> - * @author Ulrikhe Lukoie <lukoie@gmail.com> + * @author Ulrikhe Lukoie <lukoie@gmail.com> * @author Kate Arzamastseva pshns@ukr.net * @author Egor Smkv <egorsmkv@gmail.com> + * @author Max Lyashuk <m_lyashuk@ukr.net> + * @author Pavel <pavelholovko@yandex.ru> + * @author Maksim <nikropol@yandex.ru> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -41,7 +44,6 @@ $lang['btn_update'] = 'Оновити'; $lang['btn_delete'] = 'Видалити'; $lang['btn_back'] = 'Ðазад'; $lang['btn_backlink'] = 'ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ñюди'; -$lang['btn_backtomedia'] = 'Ðазад до вибору медіа-файлу'; $lang['btn_subscribe'] = 'ПідпиÑатиÑÑ'; $lang['btn_profile'] = 'Оновити профіль'; $lang['btn_reset'] = 'ОчиÑтити'; @@ -52,7 +54,10 @@ $lang['btn_draftdel'] = 'Знищити чернетку'; $lang['btn_revert'] = 'Відновити'; $lang['btn_register'] = 'РеєÑтраціÑ'; $lang['btn_apply'] = 'ЗаÑтоÑувати'; +$lang['btn_media'] = 'ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼ÐµÐ´Ñ–Ð°-файлами'; $lang['btn_deleteuser'] = 'Видалити мій аккаунт'; +$lang['btn_img_backto'] = 'ПовернутиÑÑ Ð´Ð¾ %s'; +$lang['btn_mediaManager'] = 'Показати в медіа менеджері'; $lang['loggedinas'] = 'Ви:'; $lang['user'] = 'КориÑтувач'; $lang['pass'] = 'Пароль'; @@ -73,6 +78,7 @@ $lang['regmissing'] = 'Ðеобхідно заповнити вÑÑ– $lang['reguexists'] = 'КориÑтувач з таким іменем вже Ñ–Ñнує.'; $lang['regsuccess'] = 'КориÑтувача Ñтворено. Пароль відправлено на e-mail.'; $lang['regsuccess2'] = 'КориÑтувача Ñтворено.'; +$lang['regfail'] = 'КориÑтувач не Ñтворений'; $lang['regmailfail'] = 'При відправленні Ð¿Ð°Ñ€Ð¾Ð»Ñ ÑталаÑÑŒ помилка. Зв’ÑжітьÑÑ Ð· адмініÑтратором!'; $lang['regbadmail'] = 'Схоже, що адреÑа e-mail невірна - Ñкщо ви вважаєте, що це помилка, зв’ÑжітьÑÑ Ð· адмініÑтратором'; $lang['regbadpass'] = 'Ðадані паролі не Ñпівпадають, Ñпробуйте ще раз.'; @@ -83,6 +89,8 @@ $lang['profnochange'] = 'Ðемає змін, немає що роби $lang['profnoempty'] = 'Ð†Ð¼â€™Ñ Ð°Ð±Ð¾ e-mail не можуть бути пуÑтими.'; $lang['profchanged'] = 'Профіль уÑпішно змінено.'; $lang['profdeleteuser'] = 'Видалити аккаунт'; +$lang['profdeleted'] = 'Ваш профіль кориÑтувача буде видалено з цієї wiki.'; +$lang['proffail'] = 'Профіль кориÑтувача не вдалоÑÑ Ð¿Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸.'; $lang['pwdforget'] = 'Забули пароль? Отримайте новий'; $lang['resendna'] = 'Ð¦Ñ Ð’Ñ–ÐºÑ– не підтримує повторне Ð²Ñ–Ð´Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ.'; $lang['resendpwd'] = 'Ð’Ñтановити новий пароль длÑ'; @@ -98,6 +106,7 @@ $lang['searchmedia_in'] = 'Шукати у %s'; $lang['txt_upload'] = 'Виберіть файл Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ:'; $lang['txt_filename'] = 'Завантажити Ñк (не обов\'Ñзкове):'; $lang['txt_overwrt'] = 'ПерезапиÑати Ñ–Ñнуючий файл'; +$lang['maxuploadsize'] = 'Ð’Ñ–Ð´Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¼Ð°ÐºÑимум %s на файл.'; $lang['lockedby'] = 'Заблоковано:'; $lang['lockexpire'] = 'Ð‘Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÑƒÑ”Ñ‚ÑŒÑÑ Ð²:'; $lang['js']['willexpire'] = 'Ð‘Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ†Ñ–Ñ”Ñ— Ñторінки закінчуєтьÑÑ Ñ‡ÐµÑ€ÐµÐ· хвилину.\n Щоб уникнути конфліктів викориÑтовуйте кнопку переглÑду Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð²Ð¶ÐµÐ½Ð½Ñ Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ.'; @@ -132,13 +141,18 @@ $lang['js']['nosmblinks'] = 'ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° мережеві па $lang['js']['linkwiz'] = 'Чарівник поÑилань'; $lang['js']['linkto'] = 'ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð°:'; $lang['js']['del_confirm'] = 'ДійÑно знищити обрані елементи?'; +$lang['js']['restore_confirm'] = 'ДійÑно відновити цю верÑÑ–ÑŽ?'; +$lang['js']['media_diff'] = 'ПереглÑнути різницю:'; +$lang['js']['media_diff_portions'] = 'Прогорнути'; +$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'] = 'Виникла помилка під Ñ‡Ð°Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ RSS-Ñтрічки: '; $lang['nothingfound'] = 'Ðічого не знайдено.'; $lang['mediaselect'] = 'Вибір медіа-файлу'; -$lang['fileupload'] = 'Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¼ÐµÐ´Ñ–Ð°-файлу'; $lang['uploadsucc'] = 'Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð¹ÑˆÐ»Ð¾ уÑпішно'; $lang['uploadfail'] = 'Помилка при завантаженні. Можливо неправильні права?'; $lang['uploadwrong'] = 'Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ð±Ð¾Ñ€Ð¾Ð½ÐµÐ½Ð¾. Таке Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ не дозволÑєтьÑÑ!'; @@ -172,11 +186,13 @@ $lang['difflink'] = 'ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° цей ÑпиÑок з $lang['diff_type'] = 'ПереглÑнути відмінноÑÑ‚Ñ–:'; $lang['diff_inline'] = 'Вбудувати'; $lang['diff_side'] = 'ПорÑд'; +$lang['diffprevrev'] = 'ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ Ñ€ÐµÐ²Ñ–Ð·Ñ–Ñ'; +$lang['diffnextrev'] = 'ÐаÑтупна ревізіÑ'; +$lang['difflastrev'] = 'ОÑÑ‚Ð°Ð½Ð½Ñ Ñ€ÐµÐ²Ñ–Ð·Ñ–Ñ'; $lang['line'] = 'Ð Ñдок'; $lang['breadcrumb'] = 'Відвідано:'; $lang['youarehere'] = 'Ви тут:'; $lang['lastmod'] = 'Ð’ оÑтаннє змінено:'; -$lang['by'] = ' '; $lang['deleted'] = 'знищено'; $lang['created'] = 'Ñтворено'; $lang['restored'] = 'відновлено Ñтару ревізію (%s)'; @@ -194,7 +210,9 @@ $lang['mail_changed'] = 'Ñторінку змінено:'; $lang['mail_subscribe_list'] = 'Ñторінки, що змінено у проÑторі імен:'; $lang['mail_new_user'] = 'новий кориÑтувач:'; $lang['mail_upload'] = 'завантажено файл:'; +$lang['changes_type'] = 'ПереглÑнути зміни '; $lang['pages_changes'] = 'Сторінок'; +$lang['media_changes'] = 'Медіа-файли'; $lang['qb_bold'] = 'Ðапівжирний текÑÑ‚'; $lang['qb_italic'] = 'КурÑив'; $lang['qb_underl'] = 'ПідкреÑлений текÑÑ‚'; @@ -220,11 +238,9 @@ $lang['qb_sig'] = 'Додати підпиÑ'; $lang['qb_smileys'] = 'ПоÑмішки'; $lang['qb_chars'] = 'Спеціальні Ñимволи'; $lang['upperns'] = 'Перейти до батьківÑького проÑтору імен'; -$lang['admin_register'] = 'Додати нового кориÑтувача'; $lang['metaedit'] = 'Редагувати метадані'; $lang['metasaveerr'] = 'Помилка запиÑу метаданих'; $lang['metasaveok'] = 'Метадані збережено'; -$lang['btn_img_backto'] = 'ПовернутиÑÑ Ð´Ð¾ %s'; $lang['img_title'] = 'Ðазва:'; $lang['img_caption'] = 'ПідпиÑ:'; $lang['img_date'] = 'Дата:'; @@ -235,6 +251,8 @@ $lang['img_copyr'] = 'ÐвторÑькі права:'; $lang['img_format'] = 'Формат:'; $lang['img_camera'] = 'Камера:'; $lang['img_keywords'] = 'Ключові Ñлова:'; +$lang['img_width'] = 'Ширини:'; +$lang['img_height'] = 'ВиÑота:'; $lang['subscr_subscribe_success'] = 'Додано %s до ÑпиÑку підпиÑки Ð´Ð»Ñ %s'; $lang['subscr_subscribe_error'] = 'Помилка при додавані %s до ÑпиÑку підпиÑки Ð´Ð»Ñ %s'; $lang['subscr_subscribe_noaddress'] = 'Ðемає адреÑи, аÑоційованої з Вашим логіном, тому Ви не можете бути додані до ÑпиÑку підпиÑки.'; @@ -277,6 +295,7 @@ $lang['i_pol1'] = 'Публічна Вікі (Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð´Ð» $lang['i_pol2'] = 'Закрита Вікі (читаннÑ, Ð·Ð°Ð¿Ð¸Ñ Ñ‚Ð° Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‚Ñ–Ð»ÑŒÐºÐ¸ Ð´Ð»Ñ Ð·Ð°Ñ€ÐµÑ”Ñтрованих кориÑтувачів)'; $lang['i_retry'] = 'Повторити'; $lang['i_license'] = 'Будь лаÑка, виберіть тип ліцензії, під Ñкою Ð’Ñ– бажаєте опублікувати матеріал:'; +$lang['i_license_none'] = 'Ðе показувати жодної інформації про ліцензії.'; $lang['recent_global'] = 'Ви переглÑдаєте зміни в межах проÑтору імен <b>%s</b>. Також можна <a href="%s">переглÑнути зміни в межах уÑієї Вікі</a>.'; $lang['years'] = '%d років тому'; $lang['months'] = '%d міÑÑців тому'; @@ -286,3 +305,18 @@ $lang['hours'] = '%d годин тому'; $lang['minutes'] = '%d хвилин тому'; $lang['seconds'] = '%d Ñекунд тому'; $lang['wordblock'] = 'Ваші зміни не збережено, тому що вони розпізнані Ñк такі, що міÑÑ‚ÑÑ‚ÑŒ заблокований текÑÑ‚(Ñпам).'; +$lang['media_searchtab'] = 'Пошук'; +$lang['media_file'] = 'Файл'; +$lang['media_viewtab'] = 'ОглÑд'; +$lang['media_edittab'] = 'Редагувати'; +$lang['media_historytab'] = 'ІÑторіÑ'; +$lang['media_sort_name'] = 'Ім’Ñ'; +$lang['media_sort_date'] = 'Дата'; +$lang['media_meta_edited'] = 'метаданні відредаговано'; +$lang['media_perm_read'] = 'Вибачте, у Ð²Ð°Ñ Ð½Ðµ доÑтатньо прав Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ файлу.'; +$lang['media_update'] = 'Завантажити нову верÑÑ–ÑŽ'; +$lang['media_restore'] = 'Відновити цю верÑÑ–ÑŽ'; +$lang['currentns'] = 'Поточний діапазон імен'; +$lang['searchresult'] = 'Результати пошуку'; +$lang['plainhtml'] = 'ПроÑтий HTML'; +$lang['wikimarkup'] = 'Wiki розмітка'; diff --git a/inc/lang/uk/resetpwd.txt b/inc/lang/uk/resetpwd.txt new file mode 100644 index 0000000000000000000000000000000000000000..b24e88473749b9bb3c0ee8b4d5f6a98944464f0d --- /dev/null +++ b/inc/lang/uk/resetpwd.txt @@ -0,0 +1,3 @@ +====== Ð’Ñтановити новий пароль ====== + +Будь-лаÑка, введіть новий пароль Ð´Ð»Ñ Ñ†Ñ–Ñ”Ñ— wiki. \ No newline at end of file diff --git a/inc/lang/vi/lang.php b/inc/lang/vi/lang.php index 41a7d590ff6443b94d0b70d0f060384a9e1c90f3..944a9e5d6d4225a2f181a552e24a9dc855118ed7 100644 --- a/inc/lang/vi/lang.php +++ b/inc/lang/vi/lang.php @@ -130,7 +130,6 @@ $lang['js']['media_overwrt'] = 'Ghi đè các file trùng'; $lang['rssfailed'] = 'Nguồn nà y gặp phải lá»—i'; $lang['nothingfound'] = 'Không tìm được gì'; $lang['mediaselect'] = 'Xem'; -$lang['fileupload'] = 'Tải lên tệp media'; $lang['uploadsucc'] = 'Tải lên thà nh công'; $lang['uploadfail'] = 'Tải lên thất bại. Có thể vì không đủ quyá»n?'; $lang['uploadwrong'] = 'Tải lên bị từ chối. Cấm tải loại tệp nà y'; diff --git a/inc/lang/zh-tw/lang.php b/inc/lang/zh-tw/lang.php index c5e7da000ba68e06912cd260e3f186de59a8a5f8..4cd077381f5a7d5cf377de7431f692e07573b142 100644 --- a/inc/lang/zh-tw/lang.php +++ b/inc/lang/zh-tw/lang.php @@ -16,6 +16,7 @@ * @author Stan <talktostan@gmail.com> * @author June-Hao Hou <junehao@gmail.com> * @author lioujheyu <lioujheyu@gmail.com> + * @author Liou, Jhe-Yu <lioujheyu@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -47,7 +48,6 @@ $lang['btn_update'] = 'æ›´æ–°è¨å®š'; $lang['btn_delete'] = '刪除'; $lang['btn_back'] = '回上一æ¥'; $lang['btn_backlink'] = 'åå‘連çµ'; -$lang['btn_backtomedia'] = 'é‡æ–°é¸æ“‡åœ–檔'; $lang['btn_subscribe'] = '訂閱更動通知'; $lang['btn_profile'] = '更新個人資料'; $lang['btn_reset'] = '資料é‡è¨'; @@ -159,7 +159,6 @@ $lang['js']['media_overwrt'] = '覆蓋已å˜åœ¨çš„檔案'; $lang['rssfailed'] = 'æ“·å– RSS 饋é€æª”時發生錯誤:'; $lang['nothingfound'] = '沒找到任何çµæžœã€‚'; $lang['mediaselect'] = '媒體檔案'; -$lang['fileupload'] = '上傳媒體檔案'; $lang['uploadsucc'] = '已上傳'; $lang['uploadfail'] = '無法上傳。是å¦å› 權é™éŒ¯èª¤ï¼Ÿ'; $lang['uploadwrong'] = '拒絕上傳。這個副檔å被ç¦æ¢äº†ï¼'; @@ -250,7 +249,6 @@ $lang['qb_sig'] = 'æ’入簽å'; $lang['qb_smileys'] = '表情符號'; $lang['qb_chars'] = '特殊å—å…ƒ'; $lang['upperns'] = 'å‰å¾€çˆ¶åˆ†é¡žå稱'; -$lang['admin_register'] = '新增使用者'; $lang['metaedit'] = '編輯後è¨è³‡æ–™'; $lang['metasaveerr'] = '後è¨è³‡æ–™ç„¡æ³•å¯«å…¥'; $lang['metasaveok'] = '後è¨è³‡æ–™å·²å„²å˜'; @@ -283,7 +281,6 @@ $lang['subscr_style_every'] = 'æ¯æ¬¡æ›´æ”¹éƒ½ç™¼é€ä¿¡ä»¶'; $lang['subscr_style_digest'] = 'å°æ¯å€‹é é¢ç™¼é€æ›´æ”¹çš„摘è¦ä¿¡ä»¶ (æ¯ %.2f 天)'; $lang['subscr_style_list'] = '自上次發信以來更改的é é¢çš„列表 (æ¯ %.2f 天)'; $lang['authtempfail'] = 'æš«ä¸æ供帳號èªè‰ã€‚若本狀æ³æŒçºŒï¼Œè«‹é€šçŸ¥æœ¬ wiki 管ç†å“¡ã€‚'; -$lang['authpwdexpire'] = '您的密碼將在 %d 天內到期,請馬上更æ›æ–°å¯†ç¢¼ã€‚'; $lang['i_chooselang'] = 'é¸æ“‡æ‚¨çš„語系'; $lang['i_installer'] = 'DokuWiki 安è£å·¥å…·'; $lang['i_wikiname'] = '本 wiki çš„å稱'; @@ -300,8 +297,8 @@ $lang['i_writeerr'] = '無法建立 <code>%s</code>ã€‚æ‚¨å¿…é ˆæª¢æŸ¥ $lang['i_badhash'] = '無法辨è˜æˆ–å·²é修改的 dokuwiki.php (hash=<code>%s</code>)'; $lang['i_badval'] = '<code>%s</code> —— éžæ³•æˆ–空白的值'; $lang['i_success'] = 'è¨å®šå·²å®Œæˆã€‚您ç¾åœ¨å¯ä»¥åˆªé™¤ install.php 檔案。繼續到 -<a href="doku.php">您的新 DokuWiki</a>.'; -$lang['i_failure'] = '寫入è¨å®šæª”æ™‚ç™¼ç”Ÿäº†ä¸€äº›éŒ¯èª¤ã€‚æ‚¨å¿…é ˆåœ¨ä½¿ç”¨<a href="doku.php">您的新 Dokuwiki</a> 之å‰æ‰‹å‹•ä¿®æ£å®ƒå€‘。'; +<a href="doku.php?id=wiki:welcome">您的新 DokuWiki</a>.'; +$lang['i_failure'] = '寫入è¨å®šæª”æ™‚ç™¼ç”Ÿäº†ä¸€äº›éŒ¯èª¤ã€‚æ‚¨å¿…é ˆåœ¨ä½¿ç”¨<a href="doku.php?id=wiki:welcome">您的新 Dokuwiki</a> 之å‰æ‰‹å‹•ä¿®æ£å®ƒå€‘。'; $lang['i_policy'] = 'åˆæ¥çš„ ACL 政ç–'; $lang['i_pol0'] = '開放的 wiki (任何人å¯è®€å–ã€å¯«å…¥ã€ä¸Šå‚³)'; $lang['i_pol1'] = '公開的 wiki (任何人å¯è®€å–,註冊使用者å¯å¯«å…¥èˆ‡ä¸Šå‚³)'; diff --git a/inc/lang/zh/lang.php b/inc/lang/zh/lang.php index d960eb799992373c48b7df481f92754ccebe6c5c..03b1823903f955fb19bc6c4ab42377e578be4ca3 100644 --- a/inc/lang/zh/lang.php +++ b/inc/lang/zh/lang.php @@ -24,6 +24,8 @@ * @author xiqingongzi <Xiqingongzi@Gmail.com> * @author qinghao <qingxianhao@gmail.com> * @author Yuwei Sun <yuwei@hrz.tu-chemnitz.de> + * @author Errol <errol@hotmail.com> + * @author Garfield <garfield_550@outlook.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -55,7 +57,6 @@ $lang['btn_update'] = 'æ›´æ–°'; $lang['btn_delete'] = 'åˆ é™¤'; $lang['btn_back'] = '返回'; $lang['btn_backlink'] = 'åå‘链接'; -$lang['btn_backtomedia'] = '返回到媒体文件选择工具'; $lang['btn_subscribe'] = '订阅本页更改'; $lang['btn_profile'] = '更新个人信æ¯'; $lang['btn_reset'] = 'é‡è®¾'; @@ -90,6 +91,7 @@ $lang['regmissing'] = '对ä¸èµ·ï¼Œæ‚¨å¿…须填写所有的å—段。' $lang['reguexists'] = '对ä¸èµ·ï¼Œè¯¥ç”¨æˆ·åå·²ç»å˜åœ¨ã€‚'; $lang['regsuccess'] = '新用户已建立,密ç 将通过电å邮件å‘é€ç»™æ‚¨ã€‚'; $lang['regsuccess2'] = '新用户已建立'; +$lang['regfail'] = '用户ä¸èƒ½è¢«åˆ›å»ºã€‚'; $lang['regmailfail'] = 'å‘é€å¯†ç 邮件时产生错误。请è”系管ç†å‘˜ï¼'; $lang['regbadmail'] = '您输入的邮件地å€æœ‰é—®é¢˜â€”—如果您认为这是系统错误,请è”系管ç†å‘˜ã€‚'; $lang['regbadpass'] = '您输入的密ç 与系统产生的ä¸ç¬¦ï¼Œè¯·é‡è¯•ã€‚'; @@ -104,6 +106,7 @@ $lang['profdeleteuser'] = 'åˆ é™¤è´¦å·'; $lang['profdeleted'] = 'ä½ çš„ç”¨æˆ·å·²ç»ä»Žè¿™ä¸ª wiki ä¸åˆ 除'; $lang['profconfdelete'] = 'æˆ‘å¸Œæœ›åˆ é™¤æˆ‘çš„è´¦æˆ·ã€‚<br/>这项æ“ä½œæ— æ³•æ’¤é”€ã€‚'; $lang['profconfdeletemissing'] = '确认框未勾选'; +$lang['proffail'] = '用户设置没有更新。'; $lang['pwdforget'] = '忘记密ç ?立å³èŽ·å–新密ç '; $lang['resendna'] = '本维基ä¸æ”¯æŒäºŒæ¬¡å‘é€å¯†ç 。'; $lang['resendpwd'] = '设置新密ç 用于'; @@ -168,7 +171,6 @@ $lang['js']['media_overwrt'] = '覆盖已å˜åœ¨çš„文件'; $lang['rssfailed'] = '获å–该 RSS ä¿¡æ¯æ—¶äº§ç”Ÿé”™è¯¯ï¼š'; $lang['nothingfound'] = '什么都没有找到。'; $lang['mediaselect'] = '媒体文件'; -$lang['fileupload'] = 'ä¸Šä¼ åª’ä½“æ–‡ä»¶'; $lang['uploadsucc'] = 'ä¸Šä¼ æˆåŠŸ'; $lang['uploadfail'] = 'ä¸Šä¼ å¤±è´¥ã€‚ä¹Ÿè®¸æ˜¯ä¸Šä¼ æƒé™é”™è¯¯ã€‚'; $lang['uploadwrong'] = 'ä¸Šä¼ å¤±è´¥ã€‚è¯¥æ‰©å±•å被ç¦æ¢ã€‚'; @@ -259,7 +261,6 @@ $lang['qb_sig'] = 'æ’å…¥ç¾å'; $lang['qb_smileys'] = '表情符å·'; $lang['qb_chars'] = '特殊å—符'; $lang['upperns'] = '跳转到父级å空间'; -$lang['admin_register'] = 'æ·»åŠ æ–°ç”¨æˆ·'; $lang['metaedit'] = '编辑元数æ®'; $lang['metasaveerr'] = '写入元数æ®å¤±è´¥'; $lang['metasaveok'] = '元数æ®å·²ä¿å˜'; @@ -292,7 +293,6 @@ $lang['subscr_style_every'] = '对æ¯æ¬¡æ›´æ”¹å‘é€é‚®ä»¶'; $lang['subscr_style_digest'] = '对æ¯ä¸ªé¡µé¢å‘é€æ›´æ”¹çš„摘è¦é‚®ä»¶ï¼ˆæ¯ %.2f 天)'; $lang['subscr_style_list'] = '自上å°é‚®ä»¶ä»¥æ¥æ›´æ”¹çš„页é¢çš„åˆ—è¡¨ï¼ˆæ¯ %.2f 天)'; $lang['authtempfail'] = '用户认è¯æš‚æ—¶æ— æ³•ä½¿ç”¨ã€‚å¦‚æžœè¯¥çŠ¶æ€ä¸€ç›´å˜åœ¨ï¼Œè¯·é€šçŸ¥ç»´åŸºç®¡ç†å‘˜ã€‚'; -$lang['authpwdexpire'] = '您的密ç 将在 %d 天内过期,请尽快更改'; $lang['i_chooselang'] = '选择您的è¯è¨€'; $lang['i_installer'] = 'DokuWiki 安装工具'; $lang['i_wikiname'] = '维基å称'; @@ -356,7 +356,10 @@ $lang['media_perm_read'] = '抱æ‰ï¼Œæ‚¨æ²¡æœ‰è¶³å¤Ÿæƒé™è¯»å–这些文 $lang['media_perm_upload'] = '抱æ‰ï¼Œæ‚¨æ²¡æœ‰è¶³å¤Ÿæƒé™æ¥ä¸Šä¼ 文件。'; $lang['media_update'] = 'ä¸Šä¼ æ–°ç‰ˆæœ¬'; $lang['media_restore'] = 'æ¢å¤è¿™ä¸ªç‰ˆæœ¬'; +$lang['media_acl_warning'] = 'æ¤åˆ—表å¯èƒ½ä¸å®Œå…¨æ˜¯ç”±ACLé™åˆ¶å’Œéšè—的页é¢ã€‚'; $lang['currentns'] = '当å‰å‘½å空间'; $lang['searchresult'] = 'æœç´¢ç»“æžœ'; $lang['plainhtml'] = '纯HTML'; $lang['wikimarkup'] = 'Wiki Markup è¯è¨€'; +$lang['page_nonexist_rev'] = '页é¢åœ¨ %s ä¸å˜åœ¨ã€‚它曾创建于 <a href="%s">%s</a>。'; +$lang['unable_to_parse_date'] = 'æ— æ³•è§£æžå‚æ•° "%s"。'; diff --git a/inc/load.php b/inc/load.php index 18786dc79c56805cd69827c4382c84e11fc62d35..99e004b23ec577e2198540bb4dade4e6ddd97d30 100644 --- a/inc/load.php +++ b/inc/load.php @@ -70,9 +70,7 @@ function load_autoload($name){ 'IXR_Client' => DOKU_INC.'inc/IXR_Library.php', 'IXR_IntrospectionServer' => DOKU_INC.'inc/IXR_Library.php', 'Doku_Plugin_Controller'=> DOKU_INC.'inc/plugincontroller.class.php', - 'GeSHi' => DOKU_INC.'inc/geshi.php', 'Tar' => DOKU_INC.'inc/Tar.class.php', - 'TarLib' => DOKU_INC.'inc/TarLib.class.php', 'ZipLib' => DOKU_INC.'inc/ZipLib.class.php', 'DokuWikiFeedCreator' => DOKU_INC.'inc/feedcreator.class.php', 'Doku_Parser_Mode' => DOKU_INC.'inc/parser/parser.php', @@ -109,8 +107,15 @@ function load_autoload($name){ ); if(isset($classes[$name])){ - require_once($classes[$name]); - return; + require ($classes[$name]); + return true; + } + + // our own namespace + $name = str_replace('\\', '/', $name); + if(substr($name, 0, 9) == 'dokuwiki/') { + require substr($name, 9) . '.php'; + return true; } // Plugin loading @@ -120,9 +125,10 @@ function load_autoload($name){ $c = ((count($m) === 4) ? "/{$m[3]}" : ''); $plg = DOKU_PLUGIN . "{$m[2]}/{$m[1]}$c.php"; if(file_exists($plg)){ - include_once DOKU_PLUGIN . "{$m[2]}/{$m[1]}$c.php"; + require $plg; } - return; + return true; } + return false; } diff --git a/inc/mail.php b/inc/mail.php index 9f1b1f3d633d5047acbfb0f98310127422b346e7..e4d06fd8625c8b5606fbbfd28cb803a1667faaf3 100644 --- a/inc/mail.php +++ b/inc/mail.php @@ -96,15 +96,23 @@ function mail_setup(){ * * @author Andreas Gohr <andi@splitbrain.org> * @see mail() + * + * @deprecated User the Mailer:: class instead */ function mail_send($to, $subject, $body, $from='', $cc='', $bcc='', $headers=null, $params=null){ - + dbg_deprecated('class Mailer::'); $message = compact('to','subject','body','from','cc','bcc','headers','params'); return trigger_event('MAIL_MESSAGE_SEND',$message,'_mail_send_action'); } +/** + * @param $data + * @return bool + * + * @deprecated User the Mailer:: class instead + */ function _mail_send_action($data) { - + dbg_deprecated('class Mailer::'); // retrieve parameters from event data, $to, $subject, $body, $from, $cc, $bcc, $headers, $params $to = $data['to']; $subject = $data['subject']; @@ -177,8 +185,11 @@ function _mail_send_action($data) { * @param string $string Multiple adresses separated by commas * @param string $header Name of the header (To,Bcc,Cc,...) * @param boolean $names Allow named Recipients? + * + * @deprecated User the Mailer:: class instead */ function mail_encode_address($string,$header='',$names=true){ + dbg_deprecated('class Mailer::'); $headers = ''; $parts = explode(',',$string); foreach ($parts as $part){ diff --git a/inc/media.php b/inc/media.php index 81081d5dc9cf7e96a832992f204bd0f61889a6c7..e9fff14895e09fd7de578461f021a44a4aad6e53 100644 --- a/inc/media.php +++ b/inc/media.php @@ -1860,7 +1860,6 @@ function media_searchform($ns,$query='',$fullscreen=false){ $form->addHidden('ns', $ns); $form->addHidden($fullscreen ? 'mediado' : 'do', 'searchlist'); - if (!$fullscreen) $form->addElement('<div class="upload">' . $lang['mediasearch'] . '</div>'.NL); $form->addElement(form_makeOpenTag('p')); $form->addElement(form_makeTextField('q', $query,$lang['searchmedia'],'','',array('title'=>sprintf($lang['searchmedia_in'],hsc($ns).':*')))); $form->addElement(form_makeButton('submit', '', $lang['btn_search'])); diff --git a/inc/pageutils.php b/inc/pageutils.php index 3757126610c259f8b26de4e867b60a120d2fe1bd..a5bf039d50215548416701516afb25906a3f6006 100644 --- a/inc/pageutils.php +++ b/inc/pageutils.php @@ -243,7 +243,6 @@ function sectionID($title,&$check) { return $title; } - /** * Wiki page existence check * @@ -251,9 +250,10 @@ function sectionID($title,&$check) { * * @author Chris Smith <chris@jalakai.co.uk> * - * @param string $id page id - * @param string|int $rev empty or revision timestamp - * @param bool $clean flag indicating that $id should be cleaned (see wikiFN as well) + * @param string $id page id + * @param string|int $rev empty or revision timestamp + * @param bool $clean flag indicating that $id should be cleaned (see wikiFN as well) + * @param bool $date_at * @return bool exists? */ function page_exists($id,$rev='',$clean=true, $date_at=false) { @@ -489,9 +489,11 @@ function resolve_id($ns,$id,$clean=true){ * * @author Andreas Gohr <andi@splitbrain.org> * - * @param string $ns namespace which is context of id - * @param string &$page (reference) relative media id, updated to resolved id - * @param bool &$exists (reference) updated with existance of media + * @param string $ns namespace which is context of id + * @param string &$page (reference) relative media id, updated to resolved id + * @param bool &$exists (reference) updated with existance of media + * @param int|string $rev + * @param bool $date_at */ function resolve_mediaid($ns,&$page,&$exists,$rev='',$date_at=false){ $page = resolve_id($ns,$page); @@ -502,7 +504,7 @@ function resolve_mediaid($ns,&$page,&$exists,$rev='',$date_at=false){ $rev = $medialog_rev; } } - + $file = mediaFN($page,$rev); $exists = file_exists($file); } @@ -512,9 +514,11 @@ function resolve_mediaid($ns,&$page,&$exists,$rev='',$date_at=false){ * * @author Andreas Gohr <andi@splitbrain.org> * - * @param string $ns namespace which is context of id - * @param string &$page (reference) relative page id, updated to resolved id - * @param bool &$exists (reference) updated with existance of media + * @param string $ns namespace which is context of id + * @param string &$page (reference) relative page id, updated to resolved id + * @param bool &$exists (reference) updated with existance of media + * @param string $rev + * @param bool $date_at */ function resolve_pageid($ns,&$page,&$exists,$rev='',$date_at=false ){ global $conf; diff --git a/inc/parser/code.php b/inc/parser/code.php index 00b956c277df503efa584535c8c59722aa30a2ab..2353e0dfaf1eff91150cb6b7a420d726eafa9470 100644 --- a/inc/parser/code.php +++ b/inc/parser/code.php @@ -21,6 +21,11 @@ class Doku_Renderer_code extends Doku_Renderer { $filename = utf8_basename($filename); $filename = utf8_stripspecials($filename, '_'); + // send CRLF to Windows clients + if(strpos($INPUT->server->str('HTTP_USER_AGENT'), 'Windows') !== false) { + $text = str_replace("\n", "\r\n", $text); + } + if($this->_codeblock == $INPUT->str('codeblock')) { header("Content-Type: text/plain; charset=utf-8"); header("Content-Disposition: attachment; filename=$filename"); diff --git a/inc/parser/handler.php b/inc/parser/handler.php index b8e2de82ae48f372e4d6faf1b878b00d444bc2ba..815ac39c5d343dd57c16a992b504c5f21cd72182 100644 --- a/inc/parser/handler.php +++ b/inc/parser/handler.php @@ -17,7 +17,7 @@ class Doku_Handler { var $rewriteBlocks = true; - function Doku_Handler() { + function __construct() { $this->CallWriter = new Doku_Handler_CallWriter($this); } @@ -295,7 +295,7 @@ class Doku_Handler { switch ( $state ) { case DOKU_LEXER_ENTER: $ReWriter = new Doku_Handler_Preformatted($this->CallWriter); - $this->CallWriter = & $ReWriter; + $this->CallWriter = $ReWriter; $this->_addCall('preformatted_start',array(), $pos); break; case DOKU_LEXER_EXIT: @@ -715,15 +715,21 @@ function Doku_Handler_Parse_Media($match) { } //------------------------------------------------------------------------ -class Doku_Handler_CallWriter { +interface Doku_Handler_CallWriter_Interface { + public function writeCall($call); + public function writeCalls($calls); + public function finalise(); +} + +class Doku_Handler_CallWriter implements Doku_Handler_CallWriter_Interface { var $Handler; /** * @param Doku_Handler $Handler */ - function Doku_Handler_CallWriter(& $Handler) { - $this->Handler = & $Handler; + function __construct(Doku_Handler $Handler) { + $this->Handler = $Handler; } function writeCall($call) { @@ -748,7 +754,7 @@ class Doku_Handler_CallWriter { * * @author Chris Smith <chris@jalakai.co.uk> */ -class Doku_Handler_Nest { +class Doku_Handler_Nest implements Doku_Handler_CallWriter_Interface { var $CallWriter; var $calls = array(); @@ -762,8 +768,8 @@ class Doku_Handler_Nest { * @param string $close closing instruction name, this is required to properly terminate the * syntax mode if the document ends without a closing pattern */ - function Doku_Handler_Nest(& $CallWriter, $close="nest_close") { - $this->CallWriter = & $CallWriter; + function __construct(Doku_Handler_CallWriter_Interface $CallWriter, $close="nest_close") { + $this->CallWriter = $CallWriter; $this->closingInstruction = $close; } @@ -808,7 +814,7 @@ class Doku_Handler_Nest { } } -class Doku_Handler_List { +class Doku_Handler_List implements Doku_Handler_CallWriter_Interface { var $CallWriter; @@ -818,8 +824,8 @@ class Doku_Handler_List { const NODE = 1; - function Doku_Handler_List(& $CallWriter) { - $this->CallWriter = & $CallWriter; + function __construct(Doku_Handler_CallWriter_Interface $CallWriter) { + $this->CallWriter = $CallWriter; } function writeCall($call) { @@ -1018,7 +1024,7 @@ class Doku_Handler_List { } //------------------------------------------------------------------------ -class Doku_Handler_Preformatted { +class Doku_Handler_Preformatted implements Doku_Handler_CallWriter_Interface { var $CallWriter; @@ -1028,8 +1034,8 @@ class Doku_Handler_Preformatted { - function Doku_Handler_Preformatted(& $CallWriter) { - $this->CallWriter = & $CallWriter; + function __construct(Doku_Handler_CallWriter_Interface $CallWriter) { + $this->CallWriter = $CallWriter; } function writeCall($call) { @@ -1078,7 +1084,7 @@ class Doku_Handler_Preformatted { } //------------------------------------------------------------------------ -class Doku_Handler_Quote { +class Doku_Handler_Quote implements Doku_Handler_CallWriter_Interface { var $CallWriter; @@ -1086,8 +1092,8 @@ class Doku_Handler_Quote { var $quoteCalls = array(); - function Doku_Handler_Quote(& $CallWriter) { - $this->CallWriter = & $CallWriter; + function __construct(Doku_Handler_CallWriter_Interface $CallWriter) { + $this->CallWriter = $CallWriter; } function writeCall($call) { @@ -1170,7 +1176,7 @@ class Doku_Handler_Quote { } //------------------------------------------------------------------------ -class Doku_Handler_Table { +class Doku_Handler_Table implements Doku_Handler_CallWriter_Interface { var $CallWriter; @@ -1185,8 +1191,8 @@ class Doku_Handler_Table { var $currentRow = array('tableheader' => 0, 'tablecell' => 0); var $countTableHeadRows = 0; - function Doku_Handler_Table(& $CallWriter) { - $this->CallWriter = & $CallWriter; + function __construct(Doku_Handler_CallWriter_Interface $CallWriter) { + $this->CallWriter = $CallWriter; } function writeCall($call) { @@ -1551,7 +1557,7 @@ class Doku_Handler_Block { * * @author Andreas Gohr <andi@splitbrain.org> */ - function Doku_Handler_Block(){ + function __construct(){ global $DOKU_PLUGINS; //check if syntax plugins were loaded if(empty($DOKU_PLUGINS['syntax'])) return; diff --git a/inc/parser/lexer.php b/inc/parser/lexer.php index b46a5f505c38207dfefd6c2295482cba64773d49..17aa6c17058671c20b3c188b1bd3567b4711911d 100644 --- a/inc/parser/lexer.php +++ b/inc/parser/lexer.php @@ -46,7 +46,7 @@ class Doku_LexerParallelRegex { * for insensitive. * @access public */ - function Doku_LexerParallelRegex($case) { + function __construct($case) { $this->_case = $case; $this->_patterns = array(); $this->_labels = array(); @@ -232,7 +232,7 @@ class Doku_LexerStateStack { * @param string $start Starting state name. * @access public */ - function Doku_LexerStateStack($start) { + function __construct($start) { $this->_stack = array($start); } @@ -296,11 +296,11 @@ class Doku_Lexer { * @param boolean $case True for case sensitive. * @access public */ - function Doku_Lexer(&$parser, $start = "accept", $case = false) { + function __construct($parser, $start = "accept", $case = false) { $this->_case = $case; /** @var Doku_LexerParallelRegex[] _regexes */ $this->_regexes = array(); - $this->_parser = &$parser; + $this->_parser = $parser; $this->_mode = new Doku_LexerStateStack($start); $this->_mode_handlers = array(); } diff --git a/inc/parser/parser.php b/inc/parser/parser.php index 5f86cf5c4ebf8be1505d1520936fae62cd0c5066..7814e94f6104b11647e9016fd9cc573d28e11a23 100644 --- a/inc/parser/parser.php +++ b/inc/parser/parser.php @@ -64,24 +64,24 @@ class Doku_Parser { /** * @param Doku_Parser_Mode_base $BaseMode */ - function addBaseMode(& $BaseMode) { - $this->modes['base'] =& $BaseMode; + function addBaseMode($BaseMode) { + $this->modes['base'] = $BaseMode; if ( !$this->Lexer ) { $this->Lexer = new Doku_Lexer($this->Handler,'base', true); } - $this->modes['base']->Lexer =& $this->Lexer; + $this->modes['base']->Lexer = $this->Lexer; } /** * PHP preserves order of associative elements * Mode sequence is important */ - function addMode($name, & $Mode) { + function addMode($name, Doku_Parser_Mode_Interface $Mode) { if ( !isset($this->modes['base']) ) { $this->addBaseMode(new Doku_Parser_Mode_base()); } - $Mode->Lexer = & $this->Lexer; - $this->modes[$name] =& $Mode; + $Mode->Lexer = $this->Lexer; + $this->modes[$name] = $Mode; } function connectModes() { @@ -226,7 +226,7 @@ class Doku_Parser_Mode_Plugin extends DokuWiki_Plugin implements Doku_Parser_Mod //------------------------------------------------------------------- class Doku_Parser_Mode_base extends Doku_Parser_Mode { - function Doku_Parser_Mode_base() { + function __construct() { global $PARSER_MODES; $this->allowedModes = array_merge ( @@ -248,7 +248,7 @@ class Doku_Parser_Mode_base extends Doku_Parser_Mode { //------------------------------------------------------------------- class Doku_Parser_Mode_footnote extends Doku_Parser_Mode { - function Doku_Parser_Mode_footnote() { + function __construct() { global $PARSER_MODES; $this->allowedModes = array_merge ( @@ -416,7 +416,7 @@ class Doku_Parser_Mode_formatting extends Doku_Parser_Mode { /** * @param string $type */ - function Doku_Parser_Mode_formatting($type) { + function __construct($type) { global $PARSER_MODES; if ( !array_key_exists($type, $this->formatting) ) { @@ -470,7 +470,7 @@ class Doku_Parser_Mode_formatting extends Doku_Parser_Mode { //------------------------------------------------------------------- class Doku_Parser_Mode_listblock extends Doku_Parser_Mode { - function Doku_Parser_Mode_listblock() { + function __construct() { global $PARSER_MODES; $this->allowedModes = array_merge ( @@ -504,7 +504,7 @@ class Doku_Parser_Mode_listblock extends Doku_Parser_Mode { //------------------------------------------------------------------- class Doku_Parser_Mode_table extends Doku_Parser_Mode { - function Doku_Parser_Mode_table() { + function __construct() { global $PARSER_MODES; $this->allowedModes = array_merge ( @@ -648,7 +648,7 @@ class Doku_Parser_Mode_file extends Doku_Parser_Mode { //------------------------------------------------------------------- class Doku_Parser_Mode_quote extends Doku_Parser_Mode { - function Doku_Parser_Mode_quote() { + function __construct() { global $PARSER_MODES; $this->allowedModes = array_merge ( @@ -682,7 +682,7 @@ class Doku_Parser_Mode_acronym extends Doku_Parser_Mode { var $acronyms = array(); var $pattern = ''; - function Doku_Parser_Mode_acronym($acronyms) { + function __construct($acronyms) { usort($acronyms,array($this,'_compare')); $this->acronyms = $acronyms; } @@ -729,7 +729,7 @@ class Doku_Parser_Mode_smiley extends Doku_Parser_Mode { var $smileys = array(); var $pattern = ''; - function Doku_Parser_Mode_smiley($smileys) { + function __construct($smileys) { $this->smileys = $smileys; } @@ -762,7 +762,7 @@ class Doku_Parser_Mode_wordblock extends Doku_Parser_Mode { var $badwords = array(); var $pattern = ''; - function Doku_Parser_Mode_wordblock($badwords) { + function __construct($badwords) { $this->badwords = $badwords; } @@ -797,7 +797,7 @@ class Doku_Parser_Mode_entity extends Doku_Parser_Mode { var $entities = array(); var $pattern = ''; - function Doku_Parser_Mode_entity($entities) { + function __construct($entities) { $this->entities = $entities; } diff --git a/inc/parser/renderer.php b/inc/parser/renderer.php index e1d28267a1fab6c5c052bece3f3e312316686e6d..d7a3faef88fde27ff39ad214eba717f8ce9aee23 100644 --- a/inc/parser/renderer.php +++ b/inc/parser/renderer.php @@ -707,6 +707,18 @@ class Doku_Renderer extends DokuWiki_Plugin { function tablethead_close() { } + /** + * Open a table body + */ + function tabletbody_open() { + } + + /** + * Close a table body + */ + function tabletbody_close() { + } + /** * Open a table row */ @@ -794,18 +806,26 @@ class Doku_Renderer extends DokuWiki_Plugin { $url = $this->interwiki[$shortcut]; } else { // Default to Google I'm feeling lucky - $url = 'http://www.google.com/search?q={URL}&btnI=lucky'; + $url = 'https://www.google.com/search?q={URL}&btnI=lucky'; $shortcut = 'go'; } //split into hash and url part - @list($reference, $hash) = explode('#', $reference, 2); + $hash = strrchr($reference, '#'); + if($hash) { + $reference = substr($reference, 0, -strlen($hash)); + $hash = substr($hash, 1); + } //replace placeholder if(preg_match('#\{(URL|NAME|SCHEME|HOST|PORT|PATH|QUERY)\}#', $url)) { //use placeholders $url = str_replace('{URL}', rawurlencode($reference), $url); - $url = str_replace('{NAME}', $reference, $url); + //wiki names will be cleaned next, otherwise urlencode unsafe chars + $url = str_replace('{NAME}', ($url{0} === ':') ? $reference : + preg_replace_callback('/[[\\\\\]^`{|}#%]/', function($match) { + return rawurlencode($match[0]); + }, $reference), $url); $parsed = parse_url($reference); if(!$parsed['port']) $parsed['port'] = 80; $url = str_replace('{SCHEME}', $parsed['scheme'], $url); diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index c68d206be449b07d2a957a695371eba727d5573f..9d7613f32cbd7e0565f2e2a1e42e204aa2ab2487 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -761,27 +761,40 @@ class Doku_Renderer_xhtml extends Doku_Renderer { /** * Render a CamelCase link * - * @param string $link The link name + * @param string $link The link name + * @param bool $returnonly whether to return html or write to doc attribute * @see http://en.wikipedia.org/wiki/CamelCase */ - function camelcaselink($link) { - $this->internallink($link, $link); + function camelcaselink($link, $returnonly = false) { + if($returnonly) { + return $this->internallink($link, $link, null, true); + } else { + $this->internallink($link, $link); + } } /** * Render a page local link * - * @param string $hash hash link identifier - * @param string $name name for the link + * @param string $hash hash link identifier + * @param string $name name for the link + * @param bool $returnonly whether to return html or write to doc attribute */ - function locallink($hash, $name = null) { + function locallink($hash, $name = null, $returnonly = false) { global $ID; $name = $this->_getLinkTitle($name, $hash, $isImage); $hash = $this->_headerToLink($hash); $title = $ID.' ↵'; - $this->doc .= '<a href="#'.$hash.'" title="'.$title.'" class="wikilink1">'; - $this->doc .= $name; - $this->doc .= '</a>'; + + $doc = '<a href="#'.$hash.'" title="'.$title.'" class="wikilink1">'; + $doc .= $name; + $doc .= '</a>'; + + if($returnonly) { + return $doc; + } else { + $this->doc .= $doc; + } } /** @@ -884,10 +897,11 @@ class Doku_Renderer_xhtml extends Doku_Renderer { /** * Render an external link * - * @param string $url full URL with scheme - * @param string|array $name name for the link, array for media file + * @param string $url full URL with scheme + * @param string|array $name name for the link, array for media file + * @param bool $returnonly whether to return html or write to doc attribute */ - function externallink($url, $name = null) { + function externallink($url, $name = null, $returnonly = false) { global $conf; $name = $this->_getLinkTitle($name, $url, $isImage); @@ -900,7 +914,11 @@ class Doku_Renderer_xhtml extends Doku_Renderer { // is there still an URL? if(!$url) { - $this->doc .= $name; + if($returnonly) { + return $name; + } else { + $this->doc .= $name; + } return; } @@ -926,7 +944,11 @@ class Doku_Renderer_xhtml extends Doku_Renderer { if($conf['relnofollow']) $link['more'] .= ' rel="nofollow"'; //output formatted - $this->doc .= $this->_formatLink($link); + if($returnonly) { + return $this->_formatLink($link); + } else { + $this->doc .= $this->_formatLink($link); + } } /** @@ -934,12 +956,13 @@ class Doku_Renderer_xhtml extends Doku_Renderer { * * You may want to use $this->_resolveInterWiki() here * - * @param string $match original link - probably not much use - * @param string|array $name name for the link, array for media file - * @param string $wikiName indentifier (shortcut) for the remote wiki - * @param string $wikiUri the fragment parsed from the original link + * @param string $match original link - probably not much use + * @param string|array $name name for the link, array for media file + * @param string $wikiName indentifier (shortcut) for the remote wiki + * @param string $wikiUri the fragment parsed from the original link + * @param bool $returnonly whether to return html or write to doc attribute */ - function interwikilink($match, $name = null, $wikiName, $wikiUri) { + function interwikilink($match, $name = null, $wikiName, $wikiUri, $returnonly = false) { global $conf; $link = array(); @@ -977,16 +1000,21 @@ class Doku_Renderer_xhtml extends Doku_Renderer { $link['title'] = htmlspecialchars($link['url']); //output formatted - $this->doc .= $this->_formatLink($link); + if($returnonly) { + return $this->_formatLink($link); + } else { + $this->doc .= $this->_formatLink($link); + } } /** * Link to windows share * - * @param string $url the link - * @param string|array $name name for the link, array for media file + * @param string $url the link + * @param string|array $name name for the link, array for media file + * @param bool $returnonly whether to return html or write to doc attribute */ - function windowssharelink($url, $name = null) { + function windowssharelink($url, $name = null, $returnonly = false) { global $conf; //simple setup @@ -1005,12 +1033,15 @@ class Doku_Renderer_xhtml extends Doku_Renderer { $link['title'] = $this->_xmlEntities($url); $url = str_replace('\\', '/', $url); - $url = ltrim($url,'/'); $url = 'file:///'.$url; $link['url'] = $url; //output formatted - $this->doc .= $this->_formatLink($link); + if($returnonly) { + return $this->_formatLink($link); + } else { + $this->doc .= $this->_formatLink($link); + } } /** @@ -1018,10 +1049,11 @@ class Doku_Renderer_xhtml extends Doku_Renderer { * * Honors $conf['mailguard'] setting * - * @param string $address Email-Address - * @param string|array $name name for the link, array for media file + * @param string $address Email-Address + * @param string|array $name name for the link, array for media file + * @param bool $returnonly whether to return html or write to doc attribute */ - function emaillink($address, $name = null) { + function emaillink($address, $name = null, $returnonly = false) { global $conf; //simple setup $link = array(); @@ -1053,7 +1085,11 @@ class Doku_Renderer_xhtml extends Doku_Renderer { $link['title'] = $title; //output formatted - $this->doc .= $this->_formatLink($link); + if($returnonly) { + return $this->_formatLink($link); + } else { + $this->doc .= $this->_formatLink($link); + } } /** @@ -1289,6 +1325,20 @@ class Doku_Renderer_xhtml extends Doku_Renderer { $this->doc .= DOKU_TAB.'</thead>'.DOKU_LF; } + /** + * Open a table body + */ + function tabletbody_open() { + $this->doc .= DOKU_TAB.'<tbody>'.DOKU_LF; + } + + /** + * Close a table body + */ + function tabletbody_close() { + $this->doc .= DOKU_TAB.'</tbody>'.DOKU_LF; + } + /** * Open a table row */ @@ -1753,7 +1803,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { $out .= '</audio>'.NL; return $out; } - + /** * _getLastMediaRevisionAt is a helperfunction to internalmedia() and _media() * which returns an existing media revision less or equal to rev or date_at diff --git a/inc/parserutils.php b/inc/parserutils.php index 17c331ef5a9dc6b57901736f04695ef95b004047..5b96d39feba76a558d2189d6323319516aa4d92a 100644 --- a/inc/parserutils.php +++ b/inc/parserutils.php @@ -121,15 +121,21 @@ function p_cached_output($file, $format='xhtml', $id='') { $cache = new cache_renderer($id, $file, $format); if ($cache->useCache()) { $parsed = $cache->retrieveCache(false); - if($conf['allowdebug'] && $format=='xhtml') $parsed .= "\n<!-- cachefile {$cache->cache} used -->\n"; + if($conf['allowdebug'] && $format=='xhtml') { + $parsed .= "\n<!-- cachefile {$cache->cache} used -->\n"; + } } else { $parsed = p_render($format, p_cached_instructions($file,false,$id), $info); if ($info['cache'] && $cache->storeCache($parsed)) { // storeCache() attempts to save cachefile - if($conf['allowdebug'] && $format=='xhtml') $parsed .= "\n<!-- no cachefile used, but created {$cache->cache} -->\n"; + if($conf['allowdebug'] && $format=='xhtml') { + $parsed .= "\n<!-- no cachefile used, but created {$cache->cache} -->\n"; + } }else{ $cache->removeCache(); //try to delete cachefile - if($conf['allowdebug'] && $format=='xhtml') $parsed .= "\n<!-- no cachefile used, caching forbidden -->\n"; + if($conf['allowdebug'] && $format=='xhtml') { + $parsed .= "\n<!-- no cachefile used, caching forbidden -->\n"; + } } } @@ -616,8 +622,9 @@ function p_sort_modes($a, $b){ * @author Andreas Gohr <andi@splitbrain.org> * * @param string $mode - * @param array|null|false $instructions - * @param array $info returns render info like enabled toc and cache + * @param array|null|false $instructions + * @param array $info returns render info like enabled toc and cache + * @param string $date_at * @return null|string rendered output */ function p_render($mode,$instructions,&$info,$date_at=''){ @@ -632,7 +639,7 @@ function p_render($mode,$instructions,&$info,$date_at=''){ if($date_at) { $Renderer->date_at = $date_at; } - + $Renderer->smileys = getSmileys(); $Renderer->entities = getEntities(); $Renderer->acronyms = getAcronyms(); @@ -746,14 +753,13 @@ function p_xhtml_cached_geshi($code, $language, $wrapper='pre') { $cache = getCacheName($language.$code,".code"); $ctime = @filemtime($cache); if($ctime && !$INPUT->bool('purge') && - $ctime > filemtime(DOKU_INC.'inc/geshi.php') && // geshi changed - $ctime > @filemtime(DOKU_INC.'inc/geshi/'.$language.'.php') && // language syntax definition changed + $ctime > filemtime(DOKU_INC.'vendor/composer/installed.json') && // libraries changed $ctime > filemtime(reset($config_cascade['main']['default']))){ // dokuwiki changed $highlighted_code = io_readFile($cache, false); } else { - $geshi = new GeSHi($code, $language, DOKU_INC . 'inc/geshi'); + $geshi = new GeSHi($code, $language); $geshi->set_encoding('utf-8'); $geshi->enable_classes(); $geshi->set_header_type(GESHI_HEADER_PRE); diff --git a/inc/phpseclib/Crypt_AES.php b/inc/phpseclib/Crypt_AES.php index 81fa2feab66bc09569a807fbffbf470a4097b20c..f2df78351090d9138c7fca39a1a69012d46ef3ad 100644 --- a/inc/phpseclib/Crypt_AES.php +++ b/inc/phpseclib/Crypt_AES.php @@ -164,9 +164,9 @@ class Crypt_AES extends Crypt_Rijndael { * @param optional Integer $mode * @access public */ - function Crypt_AES($mode = CRYPT_AES_MODE_CBC) + function __construct($mode = CRYPT_AES_MODE_CBC) { - parent::Crypt_Rijndael($mode); + parent::__construct($mode); } /** diff --git a/inc/phpseclib/Crypt_Base.php b/inc/phpseclib/Crypt_Base.php index 7c650ca729b1d93f5aeeae621498e98713b5cde6..4fb9990c75372e16c2a62d5f39b1c3ce91fe3bab 100644 --- a/inc/phpseclib/Crypt_Base.php +++ b/inc/phpseclib/Crypt_Base.php @@ -445,7 +445,7 @@ class Crypt_Base { * @param optional Integer $mode * @access public */ - function Crypt_Base($mode = CRYPT_MODE_CBC) + function __construct($mode = CRYPT_MODE_CBC) { $const_crypt_mode = 'CRYPT_' . $this->const_namespace . '_MODE'; diff --git a/inc/phpseclib/Crypt_Hash.php b/inc/phpseclib/Crypt_Hash.php index 840fcd5088fa4c8e64e5f572d948fda2a3d40610..61825d3c3936834324fa7ff87e88b8146aaf55d2 100644 --- a/inc/phpseclib/Crypt_Hash.php +++ b/inc/phpseclib/Crypt_Hash.php @@ -143,7 +143,7 @@ class Crypt_Hash { * @return Crypt_Hash * @access public */ - function Crypt_Hash($hash = 'sha1') + function __construct($hash = 'sha1') { if ( !defined('CRYPT_HASH_MODE') ) { switch (true) { diff --git a/inc/phpseclib/Crypt_Rijndael.php b/inc/phpseclib/Crypt_Rijndael.php index c63e0ff7e3f4c7ef07add63b4b72886ea0675c2a..33f42da173a5cd386136ae7b04823d9bfefc2018 100644 --- a/inc/phpseclib/Crypt_Rijndael.php +++ b/inc/phpseclib/Crypt_Rijndael.php @@ -699,9 +699,9 @@ class Crypt_Rijndael extends Crypt_Base { * @param optional Integer $mode * @access public */ - function Crypt_Rijndael($mode = CRYPT_RIJNDAEL_MODE_CBC) + function __construct($mode = CRYPT_RIJNDAEL_MODE_CBC) { - parent::Crypt_Base($mode); + parent::__construct($mode); } /** diff --git a/inc/pluginutils.php b/inc/pluginutils.php index 4d591869d53eaaad88f23b6960ff2484f9dd90d8..60f79869fa3a62633e15a7c58d070f81d3868963 100644 --- a/inc/pluginutils.php +++ b/inc/pluginutils.php @@ -103,3 +103,34 @@ function plugin_getcascade() { global $plugin_controller; return $plugin_controller->getCascade(); } + + +/** + * Return the currently operating admin plugin or null + * if not on an admin plugin page + * + * @return Doku_Plugin_Admin + */ +function plugin_getRequestAdminPlugin(){ + static $admin_plugin = false; + global $ACT,$INPUT,$INFO; + + if ($admin_plugin === false) { + if (($ACT == 'admin') && ($page = $INPUT->str('page', '', true)) != '') { + $pluginlist = plugin_list('admin'); + if (in_array($page, $pluginlist)) { + // attempt to load the plugin + /** @var $admin_plugin DokuWiki_Admin_Plugin */ + $admin_plugin = plugin_load('admin', $page); + // verify + if ($admin_plugin && $admin_plugin->forAdminOnly() && !$INFO['isadmin']) { + $admin_plugin = null; + $INPUT->remove('page'); + msg('For admins only',-1); + } + } + } + } + + return $admin_plugin; +} diff --git a/inc/remote.php b/inc/remote.php index 861353a190b74fb0d1a4f5e693ee6d5d565e5185..3e032049d8e82343fca30dfe44083233edc6e48e 100644 --- a/inc/remote.php +++ b/inc/remote.php @@ -234,7 +234,7 @@ class RemoteAPI { global $INPUT; if (!$conf['remote']) { - return false; + throw new RemoteAccessDeniedException('server error. RPC server not enabled.',-32604); //should not be here,just throw } if(!$conf['useacl']) { return true; diff --git a/inc/search.php b/inc/search.php index 935969d3f2fb2871b79e15c76826e07dddcbbb3b..cc3579c3c787d554b82cbd580d1d0bc1f46604ca 100644 --- a/inc/search.php +++ b/inc/search.php @@ -28,6 +28,11 @@ function search(&$data,$base,$func,$opts,$dir='',$lvl=1,$sort='natural'){ $files = array(); $filepaths = array(); + // safeguard against runaways #1452 + if($base == '' || $base == '/') { + throw new RuntimeException('No valid $base passed to search() - possible misconfiguration or bug'); + } + //read in directories and files $dh = @opendir($base.'/'.$dir); if(!$dh) return; diff --git a/inc/subscription.php b/inc/subscription.php index 8b6dcb27edb9ecd69488340a0a24cc18ca8f4f04..74bec656dd57bc41664470b44a47ac9103a6dc0d 100644 --- a/inc/subscription.php +++ b/inc/subscription.php @@ -691,19 +691,3 @@ class Subscription { $data['addresslist'] = trim($addresslist.','.implode(',', $result), ','); } } - -/** - * Compatibility wrapper around Subscription:notifyaddresses - * - * for plugins emitting COMMON_NOTIFY_ADDRESSLIST themselves and relying on on this to - * be the default handler - * - * @param array $data event data for - * - * @deprecated 2012-12-07 - */ -function subscription_addresslist(&$data) { - dbg_deprecated('class Subscription'); - $sub = new Subscription(); - $sub->notifyaddresses($data); -} diff --git a/inc/template.php b/inc/template.php index 646f0873a7bf76d88743746c8550d495ecd7edf9..a1bdc8d640f29c48cae89ccd7ec86aa3eece9923 100644 --- a/inc/template.php +++ b/inc/template.php @@ -218,18 +218,9 @@ function tpl_toc($return = false) { $toc = array(); } } elseif($ACT == 'admin') { - // try to load admin plugin TOC FIXME: duplicates code from tpl_admin - $plugin = null; - $class = $INPUT->str('page'); - if(!empty($class)) { - $pluginlist = plugin_list('admin'); - if(in_array($class, $pluginlist)) { - // attempt to load the plugin - /** @var $plugin DokuWiki_Admin_Plugin */ - $plugin = plugin_load('admin', $class); - } - } - if( ($plugin !== null) && (!$plugin->forAdminOnly() || $INFO['isadmin']) ) { + // try to load admin plugin TOC + /** @var $plugin DokuWiki_Admin_Plugin */ + if ($plugin = plugin_getRequestAdminPlugin()) { $toc = $plugin->getTOC(); $TOC = $toc; // avoid later rebuild } @@ -306,6 +297,7 @@ function tpl_metaheaders($alt = true) { // prepare seed for js and css $tseed = $updateVersion; $depends = getConfigFiles('main'); + $depends[] = DOKU_CONF."tpl/".$conf['template']."/style.ini"; foreach($depends as $f) $tseed .= @filemtime($f); $tseed = md5($tseed); @@ -402,7 +394,7 @@ function tpl_metaheaders($alt = true) { // load stylesheets $head['link'][] = array( 'rel' => 'stylesheet', 'type'=> 'text/css', - 'href'=> DOKU_BASE.'lib/exe/css.php?t='.$conf['template'].'&tseed='.$tseed + 'href'=> DOKU_BASE.'lib/exe/css.php?t='.rawurlencode($conf['template']).'&tseed='.$tseed ); // make $INFO and other vars available to JavaScripts @@ -417,7 +409,7 @@ function tpl_metaheaders($alt = true) { // load external javascript $head['script'][] = array( 'type'=> 'text/javascript', 'charset'=> 'utf-8', '_data'=> '', - 'src' => DOKU_BASE.'lib/exe/js.php'.'?tseed='.$tseed + 'src' => DOKU_BASE.'lib/exe/js.php'.'?t='.rawurlencode($conf['template']).'&tseed='.$tseed ); // trigger event here @@ -655,6 +647,8 @@ function tpl_get_action($type) { $params = array('do' => $type); $nofollow = true; $replacement = ''; + + $unknown = false; switch($type) { case 'edit': // most complicated type - we need to decide on current action @@ -779,9 +773,23 @@ function tpl_get_action($type) { //$type = 'media'; break; default: - return '[unknown %s type]'; + //unknown type + $unknown = true; + } + + $data = compact('accesskey', 'type', 'id', 'method', 'params', 'nofollow', 'replacement'); + + $evt = new Doku_Event('TPL_ACTION_GET', $data); + if($evt->advise_before()) { + //handle unknown types + if($unknown) { + $data = '[unknown %s type]'; + } } - return compact('accesskey', 'type', 'id', 'method', 'params', 'nofollow', 'replacement'); + $evt->advise_after(); + unset($evt); + + return $data; } /** @@ -840,9 +848,10 @@ function tpl_searchform($ajax = true, $autocomplete = true) { print '<input type="hidden" name="do" value="search" />'; print '<input type="text" '; if($ACT == 'search') print 'value="'.htmlspecialchars($QUERY).'" '; + print 'placeholder="'.$lang['btn_search'].'" '; if(!$autocomplete) print 'autocomplete="off" '; print 'id="qsearch__in" accesskey="f" name="id" class="edit" title="[F]" />'; - print '<input type="submit" value="'.$lang['btn_search'].'" class="button" title="'.$lang['btn_search'].'" />'; + print '<button type="submit" title="'.$lang['btn_search'].'">'.$lang['btn_search'].'</button>'; if($ajax) print '<div id="qsearch__out" class="ajax_qsearch JSpopup"></div>'; print '</div></form>'; return true; @@ -1034,6 +1043,8 @@ function tpl_pageinfo($ret = false) { * @return bool|string */ function tpl_pagetitle($id = null, $ret = false) { + global $ACT, $INPUT, $conf, $lang; + if(is_null($id)) { global $ID; $id = $ID; @@ -1041,14 +1052,60 @@ function tpl_pagetitle($id = null, $ret = false) { $name = $id; if(useHeading('navigation')) { - $title = p_get_first_heading($id); - if($title) $name = $title; + $first_heading = p_get_first_heading($id); + if($first_heading) $name = $first_heading; + } + + // default page title is the page name, modify with the current action + switch ($ACT) { + // admin functions + case 'admin' : + $page_title = $lang['btn_admin']; + // try to get the plugin name + /** @var $plugin DokuWiki_Admin_Plugin */ + if ($plugin = plugin_getRequestAdminPlugin()){ + $plugin_title = $plugin->getMenuText($conf['lang']); + $page_title = $plugin_title ? $plugin_title : $plugin->getPluginName(); + } + break; + + // user functions + case 'login' : + case 'profile' : + case 'register' : + case 'resendpwd' : + $page_title = $lang['btn_'.$ACT]; + break; + + // wiki functions + case 'search' : + case 'index' : + $page_title = $lang['btn_'.$ACT]; + break; + + // page functions + case 'edit' : + $page_title = "✎ ".$name; + break; + + case 'revisions' : + $page_title = $name . ' - ' . $lang['btn_revs']; + break; + + case 'backlink' : + case 'recent' : + case 'subscribe' : + $page_title = $name . ' - ' . $lang['btn_'.$ACT]; + break; + + default : // SHOW and anything else not included + $page_title = $name; } if($ret) { - return hsc($name); + return hsc($page_title); } else { - print hsc($name); + print hsc($page_title); return true; } } @@ -1573,6 +1630,12 @@ function tpl_actiondropdown($empty = '', $button = '>') { /** @var Input $INPUT */ global $INPUT; + $action_structure = array( + 'page_tools' => array('edit', 'revert', 'revisions', 'backlink', 'subscribe'), + 'site_tools' => array('recent', 'media', 'index'), + 'user_tools' => array('login', 'register', 'profile', 'admin'), + ); + echo '<form action="'.script().'" method="get" accept-charset="utf-8">'; echo '<div class="no">'; echo '<input type="hidden" name="id" value="'.$ID.'" />'; @@ -1584,50 +1647,17 @@ function tpl_actiondropdown($empty = '', $button = '>') { echo '<select name="do" class="edit quickselect" title="'.$lang['tools'].'">'; echo '<option value="">'.$empty.'</option>'; - echo '<optgroup label="'.$lang['page_tools'].'">'; - $act = tpl_get_action('edit'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - - $act = tpl_get_action('revert'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - - $act = tpl_get_action('revisions'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - - $act = tpl_get_action('backlink'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - - $act = tpl_get_action('subscribe'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - echo '</optgroup>'; - - echo '<optgroup label="'.$lang['site_tools'].'">'; - $act = tpl_get_action('recent'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - - $act = tpl_get_action('media'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - - $act = tpl_get_action('index'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - echo '</optgroup>'; - - echo '<optgroup label="'.$lang['user_tools'].'">'; - $act = tpl_get_action('login'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - - $act = tpl_get_action('register'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - - $act = tpl_get_action('profile'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - - $act = tpl_get_action('admin'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - echo '</optgroup>'; + foreach($action_structure as $tools => $actions) { + echo '<optgroup label="'.$lang[$tools].'">'; + foreach($actions as $action) { + $act = tpl_get_action($action); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; + } + echo '</optgroup>'; + } echo '</select>'; - echo '<input type="submit" value="'.$button.'" />'; + echo '<button type="submit">'.$button.'</button>'; echo '</div>'; echo '</form>'; } @@ -1968,5 +1998,27 @@ function tpl_classes() { return join(' ', $classes); } +/** + * Create event for tools menues + * + * @author Anika Henke <anika@selfthinker.org> + * @param string $toolsname name of menu + * @param array $items + * @param string $view e.g. 'main', 'detail', ... + */ +function tpl_toolsevent($toolsname, $items, $view = 'main') { + $data = array( + 'view' => $view, + 'items' => $items + ); + + $hook = 'TEMPLATE_' . strtoupper($toolsname) . '_DISPLAY'; + $evt = new Doku_Event($hook, $data); + if($evt->advise_before()) { + foreach($evt->data['items'] as $k => $html) echo $html; + } + $evt->advise_after(); +} + //Setup VIM: ex: et ts=4 : diff --git a/inc/utf8.php b/inc/utf8.php index f86217686e219f0321cb34be948858920e8a90a1..2b6a0c4989752575155ad6565fdd47a821e87d4a 100644 --- a/inc/utf8.php +++ b/inc/utf8.php @@ -356,8 +356,12 @@ if(!function_exists('utf8_strtolower')){ * @return string */ function utf8_strtolower($string){ - if(UTF8_MBSTRING) return mb_strtolower($string,'utf-8'); - + if(UTF8_MBSTRING) { + if (class_exists("Normalizer", $autoload = false)) + return normalizer::normalize(mb_strtolower($string,'utf-8')); + else + return (mb_strtolower($string,'utf-8')); + } global $UTF8_UPPER_TO_LOWER; return strtr($string,$UTF8_UPPER_TO_LOWER); } @@ -1066,11 +1070,11 @@ if(!UTF8_MBSTRING){ "z"=>"Z","ï½™"=>"ï¼¹","x"=>"X","ï½—"=>"ï¼·","ï½–"=>"V","u"=>"ï¼µ","ï½”"=>"ï¼´","s"=>"ï¼³","ï½’"=>"ï¼²","q"=>"ï¼±", "ï½"=>"ï¼°","ï½"=>"O","n"=>"ï¼®","ï½"=>"ï¼","l"=>"L","k"=>"K","j"=>"J","i"=>"I","h"=>"H","g"=>"G", "f"=>"F","ï½…"=>"ï¼¥","d"=>"D","c"=>"ï¼£","b"=>"ï¼¢","ï½"=>"A","ῳ"=>"ῼ","á¿¥"=>"Ῥ","á¿¡"=>"á¿©","á¿‘"=>"á¿™", - "á¿"=>"Ῐ","ῃ"=>"á¿Œ","á¾¾"=>"Ι","á¾³"=>"á¾¼","á¾±"=>"á¾¹","á¾°"=>"Ᾰ","ᾧ"=>"ᾯ","ᾦ"=>"á¾®","á¾¥"=>"á¾","ᾤ"=>"ᾬ", + "á¿"=>"Ῐ","ῃ"=>"á¿Œ","ι"=>"Ι","á¾³"=>"á¾¼","á¾±"=>"á¾¹","á¾°"=>"Ᾰ","ᾧ"=>"ᾯ","ᾦ"=>"á¾®","á¾¥"=>"á¾","ᾤ"=>"ᾬ", "á¾£"=>"ᾫ","á¾¢"=>"ᾪ","ᾡ"=>"ᾩ","á¾—"=>"ᾟ","á¾–"=>"ᾞ","ᾕ"=>"á¾","á¾”"=>"ᾜ","ᾓ"=>"á¾›","á¾’"=>"ᾚ","ᾑ"=>"á¾™", - "á¾"=>"ᾘ","ᾇ"=>"á¾","ᾆ"=>"ᾎ","á¾…"=>"á¾","ᾄ"=>"ᾌ","ᾃ"=>"ᾋ","ᾂ"=>"ᾊ","á¾"=>"ᾉ","á¾€"=>"ᾈ","á½½"=>"á¿»", - "á½¼"=>"Ὼ","á½»"=>"á¿«","ὺ"=>"Ὺ","á½¹"=>"Ό","ὸ"=>"Ὸ","á½·"=>"á¿›","ὶ"=>"á¿š","á½µ"=>"á¿‹","á½´"=>"á¿Š","á½³"=>"Έ", - "á½²"=>"Ὲ","á½±"=>"á¾»","á½°"=>"Ὰ","ὧ"=>"Ὧ","ὦ"=>"á½®","á½¥"=>"á½","ὤ"=>"Ὤ","á½£"=>"Ὣ","á½¢"=>"Ὢ","ὡ"=>"Ὡ", + "á¾"=>"ᾘ","ᾇ"=>"á¾","ᾆ"=>"ᾎ","á¾…"=>"á¾","ᾄ"=>"ᾌ","ᾃ"=>"ᾋ","ᾂ"=>"ᾊ","á¾"=>"ᾉ","á¾€"=>"ᾈ","ÏŽ"=>"Î", + "á½¼"=>"Ὼ","Ï"=>"ÎŽ","ὺ"=>"Ὺ","ÏŒ"=>"ÎŒ","ὸ"=>"Ὸ","ί"=>"Ί","ὶ"=>"á¿š","ή"=>"Ή","á½´"=>"á¿Š","Î"=>"Έ", + "á½²"=>"Ὲ","ά"=>"Ά","á½°"=>"Ὰ","ὧ"=>"Ὧ","ὦ"=>"á½®","á½¥"=>"á½","ὤ"=>"Ὤ","á½£"=>"Ὣ","á½¢"=>"Ὢ","ὡ"=>"Ὡ", "á½—"=>"Ὗ","ὕ"=>"á½","ὓ"=>"á½›","ὑ"=>"á½™","á½…"=>"á½","ὄ"=>"Ὄ","ὃ"=>"Ὃ","ὂ"=>"Ὂ","á½"=>"Ὁ","á½€"=>"Ὀ", "á¼·"=>"Ἷ","ἶ"=>"á¼¾","á¼µ"=>"á¼½","á¼´"=>"á¼¼","á¼³"=>"á¼»","á¼²"=>"Ἲ","á¼±"=>"á¼¹","á¼°"=>"Ἰ","ἧ"=>"Ἧ","ἦ"=>"á¼®", "á¼¥"=>"á¼","ἤ"=>"Ἤ","á¼£"=>"Ἣ","á¼¢"=>"Ἢ","ἡ"=>"Ἡ","ἕ"=>"á¼","á¼”"=>"Ἔ","ἓ"=>"á¼›","á¼’"=>"Ἒ","ἑ"=>"á¼™", @@ -1145,11 +1149,11 @@ if(!UTF8_MBSTRING){ "Z"=>"z","ï¼¹"=>"ï½™","X"=>"x","ï¼·"=>"ï½—","V"=>"ï½–","ï¼µ"=>"u","ï¼´"=>"ï½”","ï¼³"=>"s","ï¼²"=>"ï½’","ï¼±"=>"q", "ï¼°"=>"ï½","O"=>"ï½","ï¼®"=>"n","ï¼"=>"ï½","L"=>"l","K"=>"k","J"=>"j","I"=>"i","H"=>"h","G"=>"g", "F"=>"f","ï¼¥"=>"ï½…","D"=>"d","ï¼£"=>"c","ï¼¢"=>"b","A"=>"ï½","ῼ"=>"ῳ","Ῥ"=>"á¿¥","á¿©"=>"á¿¡","á¿™"=>"á¿‘", - "Ῐ"=>"á¿","á¿Œ"=>"ῃ","Ι"=>"á¾¾","á¾¼"=>"á¾³","á¾¹"=>"á¾±","Ᾰ"=>"á¾°","ᾯ"=>"ᾧ","á¾®"=>"ᾦ","á¾"=>"á¾¥","ᾬ"=>"ᾤ", + "Ῐ"=>"á¿","á¿Œ"=>"ῃ","Ι"=>"ι","á¾¼"=>"á¾³","á¾¹"=>"á¾±","Ᾰ"=>"á¾°","ᾯ"=>"ᾧ","á¾®"=>"ᾦ","á¾"=>"á¾¥","ᾬ"=>"ᾤ", "ᾫ"=>"á¾£","ᾪ"=>"á¾¢","ᾩ"=>"ᾡ","ᾟ"=>"á¾—","ᾞ"=>"á¾–","á¾"=>"ᾕ","ᾜ"=>"á¾”","á¾›"=>"ᾓ","ᾚ"=>"á¾’","á¾™"=>"ᾑ", - "ᾘ"=>"á¾","á¾"=>"ᾇ","ᾎ"=>"ᾆ","á¾"=>"á¾…","ᾌ"=>"ᾄ","ᾋ"=>"ᾃ","ᾊ"=>"ᾂ","ᾉ"=>"á¾","ᾈ"=>"á¾€","á¿»"=>"á½½", - "Ὼ"=>"á½¼","á¿«"=>"á½»","Ὺ"=>"ὺ","Ό"=>"á½¹","Ὸ"=>"ὸ","á¿›"=>"á½·","á¿š"=>"ὶ","á¿‹"=>"á½µ","á¿Š"=>"á½´","Έ"=>"á½³", - "Ὲ"=>"á½²","á¾»"=>"á½±","Ὰ"=>"á½°","Ὧ"=>"ὧ","á½®"=>"ὦ","á½"=>"á½¥","Ὤ"=>"ὤ","Ὣ"=>"á½£","Ὢ"=>"á½¢","Ὡ"=>"ὡ", + "ᾘ"=>"á¾","á¾"=>"ᾇ","ᾎ"=>"ᾆ","á¾"=>"á¾…","ᾌ"=>"ᾄ","ᾋ"=>"ᾃ","ᾊ"=>"ᾂ","ᾉ"=>"á¾","ᾈ"=>"á¾€","Î"=>"ÏŽ", + "Ὼ"=>"á½¼","ÎŽ"=>"Ï","Ὺ"=>"ὺ","ÎŒ"=>"ÏŒ","Ὸ"=>"ὸ","Ί"=>"ί","á¿š"=>"ὶ","Ή"=>"ή","á¿Š"=>"á½´","Έ"=>"Î", + "Ὲ"=>"á½²","Ά"=>"ά","Ὰ"=>"á½°","Ὧ"=>"ὧ","á½®"=>"ὦ","á½"=>"á½¥","Ὤ"=>"ὤ","Ὣ"=>"á½£","Ὢ"=>"á½¢","Ὡ"=>"ὡ", "Ὗ"=>"á½—","á½"=>"ὕ","á½›"=>"ὓ","á½™"=>"ὑ","á½"=>"á½…","Ὄ"=>"ὄ","Ὃ"=>"ὃ","Ὂ"=>"ὂ","Ὁ"=>"á½","Ὀ"=>"á½€", "Ἷ"=>"á¼·","á¼¾"=>"ἶ","á¼½"=>"á¼µ","á¼¼"=>"á¼´","á¼»"=>"á¼³","Ἲ"=>"á¼²","á¼¹"=>"á¼±","Ἰ"=>"á¼°","Ἧ"=>"ἧ","á¼®"=>"ἦ", "á¼"=>"á¼¥","Ἤ"=>"ἤ","Ἣ"=>"á¼£","Ἢ"=>"á¼¢","Ἡ"=>"ἡ","á¼"=>"ἕ","Ἔ"=>"á¼”","á¼›"=>"ἓ","Ἒ"=>"á¼’","á¼™"=>"ἑ", @@ -1355,11 +1359,11 @@ global $UTF8_SPECIAL_CHARS2; if(empty($UTF8_SPECIAL_CHARS2)) $UTF8_SPECIAL_CHARS2 = "\x1A".' !"#$%&\'()+,/;<=>?@[\]^`{|}~€Â‚ƒ„…†‡ˆ‰Š‹ŒÂŽ‘’“”•�'. '�—˜™š›œÂžŸ ¡¢£¤¥¦§¨©ª«¬Â®¯°±²³´µ¶·¸¹º»¼½�'. - '�¿×÷ˇ˘˙˚˛˜ËÌ€Ị̀̃̉΄΅·ϖְֱֲֳִֵֶַָֹֻּֽ־ֿ�'. + '�¿×÷ˇ˘˙˚˛˜Ẹ̈̀Ì̃̉΄΅·ϖְֱֲֳִֵֶַָֹֻּֽ־ֿ�'. '�×ׂ׃׳״،؛؟ـًٌÙÙŽÙÙّْ٪฿‌â€â€Žâ€â€“—―‗‘’‚“â€ï¿½'. - '��†‡•…‰′″‹›â„₧₪₫€№℘™Ωℵâ†â†‘→↓↔↕↵'. + '��†‡•…‰′″‹›â„₧₪₫€№℘™Ωℵâ†â†‘→↓↔↕↵'. 'â‡â‡‘⇒⇓⇔∀∂∃∅∆∇∈∉∋âˆâˆ‘−∕∗∙√âˆâˆžâˆ ∧∨�'. - '�∪∫∴∼≅≈≠≡≤≥⊂⊃⊄⊆⊇⊕⊗⊥⋅âŒâŒ ⌡〈〉⑩─�'. + '�∪∫∴∼≅≈≠≡≤≥⊂⊃⊄⊆⊇⊕⊗⊥⋅âŒâŒ ⌡〈〉⑩─�'. '��┌â”└┘├┤┬┴┼â•â•‘╒╓╔╕╖╗╘╙╚╛╜â•â•žâ•Ÿâ• '. '╡╢╣╤╥╦╧╨╩╪╫╬▀▄█▌â–░▒▓■▲▼◆◊â—�'. '�★☎☛☞♠♣♥♦âœâœ‚✃✄✆✇✈✉✌âœâœŽâœâœâœ‘✒✓✔✕�'. diff --git a/index.php b/index.php index ad0807727c4afb4092c595346e2fc0c570ee3798..689ce1779b6209787e4d55adbeec3bce4e4dd1af 100644 --- a/index.php +++ b/index.php @@ -1,8 +1,68 @@ <?php /** - * Forwarder to doku.php + * Forwarder/Router to doku.php + * + * In normal usage, this script simply redirects to doku.php. However it can also be used as a routing + * script with PHP's builtin webserver. It takes care of .htaccess compatible rewriting, directory/file + * access permission checking and passing on static files. + * + * Usage example: + * + * php -S localhost:8000 index.php * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * @author Andreas Gohr <andi@splitbrain.org> */ -header("Location: doku.php"); +if(php_sapi_name() != 'cli-server') { + header("Location: doku.php"); + exit; +} + +# ROUTER starts below + +# avoid path traversal +$_SERVER['SCRIPT_NAME'] = str_replace('/../', '/', $_SERVER['SCRIPT_NAME']); + +# routing aka. rewriting +if(preg_match('/^\/_media\/(.*)/', $_SERVER['SCRIPT_NAME'], $m)) { + # media dispatcher + $_GET['media'] = $m[1]; + require $_SERVER['DOCUMENT_ROOT'] . '/lib/exe/fetch.php'; + +} else if(preg_match('/^\/_detail\/(.*)/', $_SERVER['SCRIPT_NAME'], $m)) { + # image detail view + $_GET['media'] = $m[1]; + require $_SERVER['DOCUMENT_ROOT'] . '/lib/exe/detail.php'; + +} else if(preg_match('/^\/_media\/(.*)/', $_SERVER['SCRIPT_NAME'], $m)) { + # exports + $_GET['do'] = 'export_' . $m[1]; + $_GET['id'] = $m[2]; + require $_SERVER['DOCUMENT_ROOT'] . '/doku.php'; + +} elseif($_SERVER['SCRIPT_NAME'] == '/index.php') { + # 404s are automatically mapped to index.php + if(isset($_SERVER['PATH_INFO'])) { + $_GET['id'] = $_SERVER['PATH_INFO']; + } + require $_SERVER['DOCUMENT_ROOT'] . '/doku.php'; + +} else if(file_exists($_SERVER['DOCUMENT_ROOT'] . $_SERVER['SCRIPT_NAME'])) { + # existing files + + # access limitiations + if(preg_match('/\/([\._]ht|README$|VERSION$|COPYING$)/', $_SERVER['SCRIPT_NAME']) or + preg_match('/^\/(data|conf|bin|inc)\//', $_SERVER['SCRIPT_NAME']) + ) { + die('Access denied'); + } + + if(substr($_SERVER['SCRIPT_NAME'], -4) == '.php') { + # php scripts + require $_SERVER['DOCUMENT_ROOT'] . $_SERVER['SCRIPT_NAME']; + } else { + # static files + return false; + } +} +# 404 diff --git a/install.php b/install.php index 1a2d03dff8372a56efb5e804fa09ff05a87e518d..6002ec88cb8699177d09f79b6beaf5130c325ea2 100644 --- a/install.php +++ b/install.php @@ -58,6 +58,7 @@ $dokuwiki_hash = array( '2013-05-10' => '7b62b75245f57f122d3e0f8ed7989623', '2013-12-08' => '263c76af309fbf083867c18a34ff5214', '2014-05-05' => '263c76af309fbf083867c18a34ff5214', + '2015-08-10' => '263c76af309fbf083867c18a34ff5214' ); @@ -243,7 +244,7 @@ function print_form($d){ </fieldset> <fieldset id="process"> - <input class="button" type="submit" name="submit" value="<?php echo $lang['btn_save']?>" /> + <button type="submit" name="submit"><?php echo $lang['btn_save']?></button> </fieldset> </form> <?php @@ -256,7 +257,7 @@ function print_retry() { <form action="" method="get"> <fieldset> <input type="hidden" name="l" value="<?php echo $LC ?>" /> - <input class="button" type="submit" value="<?php echo $lang['i_retry'];?>" /> + <button type="submit"><?php echo $lang['i_retry'];?></button> </fieldset> </form> <?php @@ -619,7 +620,7 @@ function langsel(){ echo '<option value="'.$l.'" '.$sel.'>'.$l.'</option>'; } echo '</select> '; - echo '<input type="submit" value="'.$lang['btn_update'].'" />'; + echo '<button type="submit">'.$lang['btn_update'].'</button>'; echo '</form>'; } diff --git a/lib/exe/ajax.php b/lib/exe/ajax.php index a200a3dedd2fde7302dfa1d17114ca5e2954cc1f..b3e9a618f565143707904fd89770accba787111f 100644 --- a/lib/exe/ajax.php +++ b/lib/exe/ajax.php @@ -303,7 +303,8 @@ function ajax_mediaupload(){ ); } $json = new JSON; - echo htmlspecialchars($json->encode($result), ENT_NOQUOTES); + header('Content-Type: application/json'); + echo $json->encode($result); } /** @@ -428,7 +429,7 @@ function ajax_linkwiz(){ echo '<a href="'.$link.'" title="'.htmlspecialchars($item['id']).'" class="wikilink1">'.$name.'</a>'; - if($item['title']){ + if(!blank($item['title'])){ echo '<span>'.htmlspecialchars($item['title']).'</span>'; } echo '</div>'; diff --git a/lib/exe/css.php b/lib/exe/css.php index 701cebaed2c517c9f2b21ab63805ca2f1a78aaa6..507a687371798b97d0aefe22bbfd215b2817fdf1 100644 --- a/lib/exe/css.php +++ b/lib/exe/css.php @@ -32,24 +32,23 @@ function css_out(){ global $config_cascade; global $INPUT; - // decide from where to get the template - $tpl = trim(preg_replace('/[^\w-]+/','',$INPUT->str('t'))); - if(!$tpl) $tpl = $conf['template']; - - // load style.ini - $styleini = css_styleini($tpl); - - // find mediatypes if ($INPUT->str('s') == 'feed') { $mediatypes = array('feed'); $type = 'feed'; } else { - $mediatypes = array_unique(array_merge(array('screen', 'all', 'print'), array_keys($styleini['stylesheets']))); + $mediatypes = array('screen', 'all', 'print'); $type = ''; } + // decide from where to get the template + $tpl = trim(preg_replace('/[^\w-]+/','',$INPUT->str('t'))); + if(!$tpl) $tpl = $conf['template']; + // The generated script depends on some dynamic options - $cache = new cache('styles'.$_SERVER['HTTP_HOST'].$_SERVER['SERVER_PORT'].DOKU_BASE.$tpl.$type,'.css'); + $cache = new cache('styles'.$_SERVER['HTTP_HOST'].$_SERVER['SERVER_PORT'].$INPUT->int('preview').DOKU_BASE.$tpl.$type,'.css'); + + // load styl.ini + $styleini = css_styleini($tpl, $INPUT->bool('preview')); // if old 'default' userstyle setting exists, make it 'screen' userstyle for backwards compatibility if (isset($config_cascade['userstyle']['default'])) { @@ -60,9 +59,9 @@ function css_out(){ $tplinc = tpl_incdir($tpl); $cache_files = getConfigFiles('main'); $cache_files[] = $tplinc.'style.ini'; - $cache_files[] = $tplinc.'style.local.ini'; // @deprecated $cache_files[] = DOKU_CONF."tpl/$tpl/style.ini"; $cache_files[] = __FILE__; + if($INPUT->bool('preview')) $cache_files[] = $conf['cachedir'].'/preview.ini'; // Array of needed files and their web locations, the latter ones // are needed to fix relative paths in the stylesheets @@ -262,9 +261,12 @@ function css_applystyle($css, $replacements) { * @author Andreas Gohr <andi@splitbrain.org> * * @param string $tpl the used template + * @param bool $preview load preview replacements * @return array with keys 'stylesheets' and 'replacements' */ -function css_styleini($tpl) { +function css_styleini($tpl, $preview=false) { + global $conf; + $stylesheets = array(); // mode, file => base $replacements = array(); // placeholder => value @@ -286,23 +288,6 @@ function css_styleini($tpl) { } } - // load template's style.local.ini - // @deprecated 2013-08-03 - $ini = $incbase.'style.local.ini'; - if(file_exists($ini)){ - $data = parse_ini_file($ini, true); - - // stylesheets - if(is_array($data['stylesheets'])) foreach($data['stylesheets'] as $file => $mode){ - $stylesheets[$mode][$incbase.$file] = $webbase; - } - - // replacements - if(is_array($data['replacements'])){ - $replacements = array_merge($replacements, css_fixreplacementurls($data['replacements'],$webbase)); - } - } - // load configs's style.ini $webbase = DOKU_BASE; $ini = DOKU_CONF."tpl/$tpl/style.ini"; @@ -311,16 +296,29 @@ function css_styleini($tpl) { $data = parse_ini_file($ini, true); // stylesheets - if(is_array($data['stylesheets'])) foreach($data['stylesheets'] as $file => $mode){ + if(isset($data['stylesheets']) && is_array($data['stylesheets'])) foreach($data['stylesheets'] as $file => $mode){ $stylesheets[$mode][$incbase.$file] = $webbase; } // replacements - if(is_array($data['replacements'])){ + if(isset($data['replacements']) && is_array($data['replacements'])){ $replacements = array_merge($replacements, css_fixreplacementurls($data['replacements'],$webbase)); } } + // allow replacement overwrites in preview mode + if($preview) { + $webbase = DOKU_BASE; + $ini = $conf['cachedir'].'/preview.ini'; + if(file_exists($ini)) { + $data = parse_ini_file($ini, true); + // replacements + if(is_array($data['replacements'])) { + $replacements = array_merge($replacements, css_fixreplacementurls($data['replacements'], $webbase)); + } + } + } + return array( 'stylesheets' => $stylesheets, 'replacements' => $replacements diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php index 330b8498df6555628c67d3a48610a6e521d81712..d2a4d45f79339c046696a143bfc748f819d3f66c 100644 --- a/lib/exe/indexer.php +++ b/lib/exe/indexer.php @@ -199,7 +199,7 @@ function sendGIF(){ header('Content-Length: '.strlen($img)); header('Connection: Close'); print $img; - flush(); + tpl_flush(); // Browser should drop connection after this // Thinks it's got the whole image } diff --git a/lib/exe/js.php b/lib/exe/js.php index 3f9781e3493ba0830cbb3523518ded3de1847728..e850218cf522d95e4f1e804ce9d7b632ce3fd37f 100644 --- a/lib/exe/js.php +++ b/lib/exe/js.php @@ -14,7 +14,7 @@ require_once(DOKU_INC.'inc/init.php'); // Main (don't run when UNIT test) if(!defined('SIMPLE_TEST')){ - header('Content-Type: text/javascript; charset=utf-8'); + header('Content-Type: application/javascript; charset=utf-8'); js_out(); } @@ -30,9 +30,14 @@ function js_out(){ global $conf; global $lang; global $config_cascade; + global $INPUT; + + // decide from where to get the template + $tpl = trim(preg_replace('/[^\w-]+/','',$INPUT->str('t'))); + if(!$tpl) $tpl = $conf['template']; // The generated script depends on some dynamic options - $cache = new cache('scripts'.$_SERVER['HTTP_HOST'].$_SERVER['SERVER_PORT'],'.js'); + $cache = new cache('scripts'.$_SERVER['HTTP_HOST'].$_SERVER['SERVER_PORT'].DOKU_BASE.$tpl,'.js'); $cache->_event = 'JS_CACHE_USE'; // load minified version for some files @@ -51,11 +56,9 @@ function js_out(){ DOKU_INC.'lib/scripts/delay.js', DOKU_INC.'lib/scripts/cookie.js', DOKU_INC.'lib/scripts/script.js', - DOKU_INC.'lib/scripts/tw-sack.js', DOKU_INC.'lib/scripts/qsearch.js', DOKU_INC.'lib/scripts/tree.js', DOKU_INC.'lib/scripts/index.js', - DOKU_INC.'lib/scripts/drag.js', DOKU_INC.'lib/scripts/textselection.js', DOKU_INC.'lib/scripts/toolbar.js', DOKU_INC.'lib/scripts/edit.js', @@ -63,11 +66,11 @@ function js_out(){ DOKU_INC.'lib/scripts/locktimer.js', DOKU_INC.'lib/scripts/linkwiz.js', DOKU_INC.'lib/scripts/media.js', -# deprecated DOKU_INC.'lib/scripts/compatibility.js', + DOKU_INC.'lib/scripts/compatibility.js', # disabled for FS#1958 DOKU_INC.'lib/scripts/hotkeys.js', DOKU_INC.'lib/scripts/behaviour.js', DOKU_INC.'lib/scripts/page.js', - tpl_incdir().'script.js', + tpl_incdir($tpl).'script.js', ); // add possible plugin scripts and userscript @@ -92,7 +95,7 @@ function js_out(){ $json = new JSON(); // add some global variables print "var DOKU_BASE = '".DOKU_BASE."';"; - print "var DOKU_TPL = '".tpl_basedir()."';"; + print "var DOKU_TPL = '".tpl_basedir($tpl)."';"; print "var DOKU_COOKIE_PARAM = " . $json->encode( array( 'path' => empty($conf['cookiedir']) ? DOKU_REL : $conf['cookiedir'], @@ -104,7 +107,7 @@ function js_out(){ // load JS specific translations $lang['js']['plugins'] = js_pluginstrings(); - $templatestrings = js_templatestrings(); + $templatestrings = js_templatestrings($tpl); if(!empty($templatestrings)) { $lang['js']['template'] = $templatestrings; } @@ -170,7 +173,7 @@ function js_load($file){ // is it a include_once? if($match[1]){ $base = utf8_basename($ifile); - if($loaded[$base]){ + if(array_key_exists($base, $loaded) && $loaded[$base] === true){ $data = str_replace($match[0], '' ,$data); continue; } @@ -240,19 +243,20 @@ function js_pluginstrings() { * - $lang['js'] must be an array. * - Nothing is returned for template without an entry for $lang['js'] * + * @param string $tpl * @return array */ -function js_templatestrings() { +function js_templatestrings($tpl) { global $conf; $templatestrings = array(); - if (file_exists(tpl_incdir()."lang/en/lang.php")) { - include tpl_incdir()."lang/en/lang.php"; + if (file_exists(tpl_incdir($tpl)."lang/en/lang.php")) { + include tpl_incdir($tpl)."lang/en/lang.php"; } - if (isset($conf['lang']) && $conf['lang']!='en' && file_exists(tpl_incdir()."lang/".$conf['lang']."/lang.php")) { - include tpl_incdir()."lang/".$conf['lang']."/lang.php"; + if (isset($conf['lang']) && $conf['lang']!='en' && file_exists(tpl_incdir($tpl)."lang/".$conf['lang']."/lang.php")) { + include tpl_incdir($tpl)."lang/".$conf['lang']."/lang.php"; } if (isset($lang['js'])) { - $templatestrings[$conf['template']] = $lang['js']; + $templatestrings[$tpl] = $lang['js']; } return $templatestrings; } @@ -415,9 +419,9 @@ function js_compress($s){ // Only consider deleting whitespace if the signs before and after // are not equal and are not an operator which may not follow itself. - if ((!$lch || $s[$i+1] == ' ') + if ($i+1 < $slen && ((!$lch || $s[$i+1] == ' ') || $lch != $s[$i+1] - || strpos($ops,$s[$i+1]) === false) { + || strpos($ops,$s[$i+1]) === false)) { // leading spaces if($i+1 < $slen && (strpos($chars,$s[$i+1]) !== false)){ $i = $i + 1; diff --git a/lib/exe/xmlrpc.php b/lib/exe/xmlrpc.php index 61a68281f417f0be8547e559ba7d195c145a7b9e..6a0163106507f01d2d1ec5bb98b6b0ce86090b68 100644 --- a/lib/exe/xmlrpc.php +++ b/lib/exe/xmlrpc.php @@ -20,7 +20,7 @@ class dokuwiki_xmlrpc_server extends IXR_Server { $this->remote = new RemoteAPI(); $this->remote->setDateTransformation(array($this, 'toDate')); $this->remote->setFileTransformation(array($this, 'toFile')); - $this->IXR_Server(); + parent::__construct(); } /** diff --git a/lib/images/admin/README b/lib/images/admin/README index 90bab95784b001e0fe0c72c66521e84bdf2ae710..53e7d839ae988c9dc3d6a3d7c0f43a3482df3718 100644 --- a/lib/images/admin/README +++ b/lib/images/admin/README @@ -1,2 +1,4 @@ These icons were taken from the nuvoX KDE icon theme and are GPL licensed See http://www.kde-look.org/content/show.php/nuvoX?content=38467 + +styling.png from https://openclipart.org/detail/25595/brush Public Domain diff --git a/lib/images/admin/acl.png b/lib/images/admin/acl.png index c8f610c12df1ee977d82fd4af08e084ddff67058..542e10899183cb0b367cc27b61d1a2dd09d3e807 100644 Binary files a/lib/images/admin/acl.png and b/lib/images/admin/acl.png differ diff --git a/lib/images/admin/config.png b/lib/images/admin/config.png index 3ec3923d114d829f57eafec58a1e525ddb65edb6..679a673722b8df339289f70b200d05be11905be2 100644 Binary files a/lib/images/admin/config.png and b/lib/images/admin/config.png differ diff --git a/lib/images/admin/plugin.png b/lib/images/admin/plugin.png index f71124e5c83f8ded2ad6a31ba2c2ff60b2d4d61a..27bd154102123cb11b02376a4591045855a11622 100644 Binary files a/lib/images/admin/plugin.png and b/lib/images/admin/plugin.png differ diff --git a/lib/images/admin/popularity.png b/lib/images/admin/popularity.png index 19392367a6d2024d5847921ef54e836b5c48785b..e18a8cb444bb9f3e579edabca92303f914ea9c6b 100644 Binary files a/lib/images/admin/popularity.png and b/lib/images/admin/popularity.png differ diff --git a/lib/images/admin/revert.png b/lib/images/admin/revert.png index 5304f1b7628bd09d3a2903c6a5aeb2192d5ff5dd..c74c7928b919edd26d075167c4c1395184adef58 100644 Binary files a/lib/images/admin/revert.png and b/lib/images/admin/revert.png differ diff --git a/lib/images/admin/styling.png b/lib/images/admin/styling.png new file mode 100644 index 0000000000000000000000000000000000000000..859c8c9ef4f465333cae13ea7a33c50af4ee3d8a Binary files /dev/null and b/lib/images/admin/styling.png differ diff --git a/lib/images/admin/usermanager.png b/lib/images/admin/usermanager.png index 898544ce9b489ddd1454fb362a4e3f5f51f9a686..e6f72e077db42e9e1b5d269b5f02a62374320934 100644 Binary files a/lib/images/admin/usermanager.png and b/lib/images/admin/usermanager.png differ diff --git a/lib/images/bullet.png b/lib/images/bullet.png index 5e557b334a36b3f1274edd6c7b9d70ff24347c02..b8ec60c74ee86e648646af84d6611ccd3c5075f5 100644 Binary files a/lib/images/bullet.png and b/lib/images/bullet.png differ diff --git a/lib/images/closed-rtl.png b/lib/images/closed-rtl.png index caa027e341541f00572a80f103413950e731a37b..016a3c370245ae211e243b4cf7ef23d8daa24f2c 100644 Binary files a/lib/images/closed-rtl.png and b/lib/images/closed-rtl.png differ diff --git a/lib/images/closed.png b/lib/images/closed.png index e3bd0f9e94cb25e2fe5db97ce4ff9743cbf3e06f..927bfc57ff7d734f41f2f66a3f8298849b20dfa7 100644 Binary files a/lib/images/closed.png and b/lib/images/closed.png differ diff --git a/lib/images/diff.png b/lib/images/diff.png index 657b109994d3c2d3f3f74c2a761cdf854f942c91..04fab07b737f3d74fd0c3f164aaa915078bc160f 100644 Binary files a/lib/images/diff.png and b/lib/images/diff.png differ diff --git a/lib/images/email.png b/lib/images/email.png index d1d4a5fd5db9f90c4f07dd98cb774cbc3a45db9f..575b8314209ddee37692fd0910971d410218d887 100644 Binary files a/lib/images/email.png and b/lib/images/email.png differ diff --git a/lib/images/error.png b/lib/images/error.png index 7bd84f7a36dedfa8107314e54836462ab93e5f7a..da0692429e404d4620f23a496890f09f6c8fc8ec 100644 Binary files a/lib/images/error.png and b/lib/images/error.png differ diff --git a/lib/images/external-link.png b/lib/images/external-link.png index a4d5de17c3ba2a00e4cd79fe10dc165044682148..fecac61c9204efb9a55a77b83a46c4da5cef8cc4 100644 Binary files a/lib/images/external-link.png and b/lib/images/external-link.png differ diff --git a/lib/images/fileicons/32x32/7z.png b/lib/images/fileicons/32x32/7z.png index 9ba7da94a99e3cbf5535d25a991ad71640c235ff..2537cb96d6ee151e70ef93659a2eceb86084ad45 100644 Binary files a/lib/images/fileicons/32x32/7z.png and b/lib/images/fileicons/32x32/7z.png differ diff --git a/lib/images/fileicons/32x32/asm.png b/lib/images/fileicons/32x32/asm.png index f1a1f322b16fe9cdf5de311e9db0f4ba89dc1aa2..17e74d0b21d113ab568f22921f4b91f43444a585 100644 Binary files a/lib/images/fileicons/32x32/asm.png and b/lib/images/fileicons/32x32/asm.png differ diff --git a/lib/images/fileicons/32x32/bash.png b/lib/images/fileicons/32x32/bash.png index c28404ed12e851a420e8ffb637038f42608314de..a31ee688bc95c745573b2ed93da10cd011c7b546 100644 Binary files a/lib/images/fileicons/32x32/bash.png and b/lib/images/fileicons/32x32/bash.png differ diff --git a/lib/images/fileicons/32x32/bz2.png b/lib/images/fileicons/32x32/bz2.png index 7be9b7c0627d15f23e2359f515b3aba10f6c7d0e..c780316526fb1a2f8b5339dadb2f9c4c21fc8749 100644 Binary files a/lib/images/fileicons/32x32/bz2.png and b/lib/images/fileicons/32x32/bz2.png differ diff --git a/lib/images/fileicons/32x32/c.png b/lib/images/fileicons/32x32/c.png index 0a01f8f3a69d59b17d7e2c13328f3ed5cca45fd4..d8032d07599664c0125fb93e072da4b86327f33c 100644 Binary files a/lib/images/fileicons/32x32/c.png and b/lib/images/fileicons/32x32/c.png differ diff --git a/lib/images/fileicons/32x32/cc.png b/lib/images/fileicons/32x32/cc.png index b09b3357fc591566f6f190a3ce52b755ba244b8f..241ebd4e80166887b2a050687df29a4e0bb7c1e3 100644 Binary files a/lib/images/fileicons/32x32/cc.png and b/lib/images/fileicons/32x32/cc.png differ diff --git a/lib/images/fileicons/32x32/conf.png b/lib/images/fileicons/32x32/conf.png index 91a8a10de17ddd89b4944e0468cfba9555ef474e..9797c2ad800ae3d048181eb3bbca55887b32cd15 100644 Binary files a/lib/images/fileicons/32x32/conf.png and b/lib/images/fileicons/32x32/conf.png differ diff --git a/lib/images/fileicons/32x32/cpp.png b/lib/images/fileicons/32x32/cpp.png index 1ce35422cdb9446e93ef8f5393d630eb3560e578..1289065283639fb99ec31f0de9f8b9fe84e7df8c 100644 Binary files a/lib/images/fileicons/32x32/cpp.png and b/lib/images/fileicons/32x32/cpp.png differ diff --git a/lib/images/fileicons/32x32/cs.png b/lib/images/fileicons/32x32/cs.png index d300f755167e2171ab3ff74854cd479f08a32075..6c2aae2727d8dd77fae10eb9c1f4ba7636ef12b7 100644 Binary files a/lib/images/fileicons/32x32/cs.png and b/lib/images/fileicons/32x32/cs.png differ diff --git a/lib/images/fileicons/32x32/csh.png b/lib/images/fileicons/32x32/csh.png index 72ecbcc52f6f897c3d70313e0a5c64501c3ff6e6..e43584c7e6ac409574ee183cf758642647b9c5bd 100644 Binary files a/lib/images/fileicons/32x32/csh.png and b/lib/images/fileicons/32x32/csh.png differ diff --git a/lib/images/fileicons/32x32/css.png b/lib/images/fileicons/32x32/css.png index 638957637a29c868f5a373e0f4b2b93d45e8a585..786f304718bdac6cfa3782740f6f935dc3bd8ac1 100644 Binary files a/lib/images/fileicons/32x32/css.png and b/lib/images/fileicons/32x32/css.png differ diff --git a/lib/images/fileicons/32x32/csv.png b/lib/images/fileicons/32x32/csv.png index 3ee42f04709e443a2363117e798d3ff3443cb419..e5cdbf94064d821f348bb72460c29053147c65ea 100644 Binary files a/lib/images/fileicons/32x32/csv.png and b/lib/images/fileicons/32x32/csv.png differ diff --git a/lib/images/fileicons/32x32/deb.png b/lib/images/fileicons/32x32/deb.png index 8d625ccf2ec0d00a0e43bb29a6636782d64c68c5..e2828a347189959098b577985d5df24ddcb0224d 100644 Binary files a/lib/images/fileicons/32x32/deb.png and b/lib/images/fileicons/32x32/deb.png differ diff --git a/lib/images/fileicons/32x32/diff.png b/lib/images/fileicons/32x32/diff.png index 4dd98e7cc15ab34d85768e4ed4f9de5347585939..9e413cb6ee9279dc638cf83c159f5a7480fbf418 100644 Binary files a/lib/images/fileicons/32x32/diff.png and b/lib/images/fileicons/32x32/diff.png differ diff --git a/lib/images/fileicons/32x32/doc.png b/lib/images/fileicons/32x32/doc.png index 8369c1f7327709761e9f5d34611ef5504ee6c3b1..43ec354163fe4e6c1a34a5da35429e87c6daf8a8 100644 Binary files a/lib/images/fileicons/32x32/doc.png and b/lib/images/fileicons/32x32/doc.png differ diff --git a/lib/images/fileicons/32x32/docx.png b/lib/images/fileicons/32x32/docx.png index ce5dfb3d38430e362ce0d055321f33d58713bf56..a25f260c66744fbd67642b2dc6c8f7ba53bde70e 100644 Binary files a/lib/images/fileicons/32x32/docx.png and b/lib/images/fileicons/32x32/docx.png differ diff --git a/lib/images/fileicons/32x32/file.png b/lib/images/fileicons/32x32/file.png index 52318f6e2c7fa4b9450f7deecffdbf1332e8b0f2..7f6d51a0982ba202d424b18c3ae1e289909f2fde 100644 Binary files a/lib/images/fileicons/32x32/file.png and b/lib/images/fileicons/32x32/file.png differ diff --git a/lib/images/fileicons/32x32/gif.png b/lib/images/fileicons/32x32/gif.png index e39af08cccf99f7380bf5a51e93deb10211d0f83..dde2d84143a5e9f4f42346b118cfdd95b10b10af 100644 Binary files a/lib/images/fileicons/32x32/gif.png and b/lib/images/fileicons/32x32/gif.png differ diff --git a/lib/images/fileicons/32x32/gz.png b/lib/images/fileicons/32x32/gz.png index 573ce7afd3620a2c4b2979baa3beac65f5469f20..5bddffb6daf1f29fc8e8a4b42bee195a36eae77a 100644 Binary files a/lib/images/fileicons/32x32/gz.png and b/lib/images/fileicons/32x32/gz.png differ diff --git a/lib/images/fileicons/32x32/h.png b/lib/images/fileicons/32x32/h.png index 27c8ceaf3f47bc849325298ef34f69bd6035d8b4..5c169a33b4c556d0381fe40a616d8cd8aea4c10f 100644 Binary files a/lib/images/fileicons/32x32/h.png and b/lib/images/fileicons/32x32/h.png differ diff --git a/lib/images/fileicons/32x32/hpp.png b/lib/images/fileicons/32x32/hpp.png index 04876a5d5e72feeff58662a1f3d61e28fcadd188..128110d5b764bf3092d22ba902856a351d992bf5 100644 Binary files a/lib/images/fileicons/32x32/hpp.png and b/lib/images/fileicons/32x32/hpp.png differ diff --git a/lib/images/fileicons/32x32/htm.png b/lib/images/fileicons/32x32/htm.png index ec4f15ac6c109ce5ccc48982449045f50de455c5..79096dc7e253209ffc1bec2705a004768189a428 100644 Binary files a/lib/images/fileicons/32x32/htm.png and b/lib/images/fileicons/32x32/htm.png differ diff --git a/lib/images/fileicons/32x32/html.png b/lib/images/fileicons/32x32/html.png index ec4f15ac6c109ce5ccc48982449045f50de455c5..79096dc7e253209ffc1bec2705a004768189a428 100644 Binary files a/lib/images/fileicons/32x32/html.png and b/lib/images/fileicons/32x32/html.png differ diff --git a/lib/images/fileicons/32x32/ico.png b/lib/images/fileicons/32x32/ico.png index 0a219e6f26095b55903cf7f84bed8c04fb7d33a3..60f73bd38fcc76c3d475b79893663bcffcbff1f4 100644 Binary files a/lib/images/fileicons/32x32/ico.png and b/lib/images/fileicons/32x32/ico.png differ diff --git a/lib/images/fileicons/32x32/java.png b/lib/images/fileicons/32x32/java.png index ee9cc4ccb720913b0dc57ce4c6d39e58d51306ad..1d8694996146c3c495787fc42d1d3615672aeaa6 100644 Binary files a/lib/images/fileicons/32x32/java.png and b/lib/images/fileicons/32x32/java.png differ diff --git a/lib/images/fileicons/32x32/jpeg.png b/lib/images/fileicons/32x32/jpeg.png index 5fb71dd735297e4d390c83d5f90618cd9d936ba7..4b5c425ad32977533e6167cfbc43d57798cf8289 100644 Binary files a/lib/images/fileicons/32x32/jpeg.png and b/lib/images/fileicons/32x32/jpeg.png differ diff --git a/lib/images/fileicons/32x32/jpg.png b/lib/images/fileicons/32x32/jpg.png index 5fb71dd735297e4d390c83d5f90618cd9d936ba7..4b5c425ad32977533e6167cfbc43d57798cf8289 100644 Binary files a/lib/images/fileicons/32x32/jpg.png and b/lib/images/fileicons/32x32/jpg.png differ diff --git a/lib/images/fileicons/32x32/js.png b/lib/images/fileicons/32x32/js.png index 9bbbfb709943eef4e5f7a1a983229dba318a50ee..5a8dabe81eee2d25c82b146ed6589abab3e8bee0 100644 Binary files a/lib/images/fileicons/32x32/js.png and b/lib/images/fileicons/32x32/js.png differ diff --git a/lib/images/fileicons/32x32/json.png b/lib/images/fileicons/32x32/json.png index 583ece68309cab4b2bff7b5659245e2f421b0c71..e4a55e634ba78e0ca7bc2efa40b9723c2324c9c7 100644 Binary files a/lib/images/fileicons/32x32/json.png and b/lib/images/fileicons/32x32/json.png differ diff --git a/lib/images/fileicons/32x32/lua.png b/lib/images/fileicons/32x32/lua.png index 9e8fc9517176be27aa4cb5c888f906d893013bb9..c8e0bf208c75080f6a93b33d589ba40db068ff23 100644 Binary files a/lib/images/fileicons/32x32/lua.png and b/lib/images/fileicons/32x32/lua.png differ diff --git a/lib/images/fileicons/32x32/mp3.png b/lib/images/fileicons/32x32/mp3.png index 1acd8327683146530e37feedc431426e43f1ca90..9bf1695533c2cab1cfceb70e518b15cd71c20e3f 100644 Binary files a/lib/images/fileicons/32x32/mp3.png and b/lib/images/fileicons/32x32/mp3.png differ diff --git a/lib/images/fileicons/32x32/mp4.png b/lib/images/fileicons/32x32/mp4.png index 03db6f45093564d224381de7010ca5873bb3e5c8..071abc324ac4c8bf960dbf1125f6509c96ae5067 100644 Binary files a/lib/images/fileicons/32x32/mp4.png and b/lib/images/fileicons/32x32/mp4.png differ diff --git a/lib/images/fileicons/32x32/odc.png b/lib/images/fileicons/32x32/odc.png index 9a34f21291c5a47d90916d9ba9f88764a6a9d345..3ad6a3c2d98f0aec616fea49db221d9e7bc9d822 100644 Binary files a/lib/images/fileicons/32x32/odc.png and b/lib/images/fileicons/32x32/odc.png differ diff --git a/lib/images/fileicons/32x32/odf.png b/lib/images/fileicons/32x32/odf.png index e3b4333adb8acb8a1d064c63903c16fe162de5d1..8dd89eac608abe3d38636276201d6203d9244a77 100644 Binary files a/lib/images/fileicons/32x32/odf.png and b/lib/images/fileicons/32x32/odf.png differ diff --git a/lib/images/fileicons/32x32/odg.png b/lib/images/fileicons/32x32/odg.png index c3b192b2def39718deef1d586ba8a92b60f3a349..7020d1396596e123d8e34d7c380125f45339038c 100644 Binary files a/lib/images/fileicons/32x32/odg.png and b/lib/images/fileicons/32x32/odg.png differ diff --git a/lib/images/fileicons/32x32/odi.png b/lib/images/fileicons/32x32/odi.png index 6baa6940728716979a718dbf82738694bc6a9558..9a08a426ac1134f379a1f80bdcdc6a1820e6a544 100644 Binary files a/lib/images/fileicons/32x32/odi.png and b/lib/images/fileicons/32x32/odi.png differ diff --git a/lib/images/fileicons/32x32/odp.png b/lib/images/fileicons/32x32/odp.png index 8e09dd6e4d65835eabbcdbf0ba8a0c19eb1d3993..e6b538d277705497146432585d86d3a34b0bd51e 100644 Binary files a/lib/images/fileicons/32x32/odp.png and b/lib/images/fileicons/32x32/odp.png differ diff --git a/lib/images/fileicons/32x32/ods.png b/lib/images/fileicons/32x32/ods.png index 90892f3d4a7f510609ec1d78f3868bb687c6137b..cf4a226ff601f342420df9305fb2d1cad3129655 100644 Binary files a/lib/images/fileicons/32x32/ods.png and b/lib/images/fileicons/32x32/ods.png differ diff --git a/lib/images/fileicons/32x32/odt.png b/lib/images/fileicons/32x32/odt.png index 22ec1fffbaf89d24787a6341f805476508547936..1eae19cc757b761b97fd5fd4a0edea1818e333c3 100644 Binary files a/lib/images/fileicons/32x32/odt.png and b/lib/images/fileicons/32x32/odt.png differ diff --git a/lib/images/fileicons/32x32/ogg.png b/lib/images/fileicons/32x32/ogg.png index f988fabc36bf4280d16f04ad51d8a33e1ba830a3..d7b0553f65b2da51a1c946e4f77df0fadb0c4344 100644 Binary files a/lib/images/fileicons/32x32/ogg.png and b/lib/images/fileicons/32x32/ogg.png differ diff --git a/lib/images/fileicons/32x32/ogv.png b/lib/images/fileicons/32x32/ogv.png index 1083455fb401b621f12d818836b249c10ca772f9..4fdedbaeef530d683a093eef4717e1699d941d92 100644 Binary files a/lib/images/fileicons/32x32/ogv.png and b/lib/images/fileicons/32x32/ogv.png differ diff --git a/lib/images/fileicons/32x32/pas.png b/lib/images/fileicons/32x32/pas.png index c2c05d2d1fbae8e8779efa364f69a2cd247d6b88..8d2999e98071d029876165fa032a12ab7b841cdd 100644 Binary files a/lib/images/fileicons/32x32/pas.png and b/lib/images/fileicons/32x32/pas.png differ diff --git a/lib/images/fileicons/32x32/pdf.png b/lib/images/fileicons/32x32/pdf.png index 0efa0dc3115f9eea5950bf2713a0d4242c54d5a6..09ae62e6ab3063f8de6093a12f56d01a581cfdae 100644 Binary files a/lib/images/fileicons/32x32/pdf.png and b/lib/images/fileicons/32x32/pdf.png differ diff --git a/lib/images/fileicons/32x32/php.png b/lib/images/fileicons/32x32/php.png index 8f3c84e32bed483f4de91a1a3299aa17fdf57f1c..1f4cabf6f491c0401f7745b6c2aea78e61c31b84 100644 Binary files a/lib/images/fileicons/32x32/php.png and b/lib/images/fileicons/32x32/php.png differ diff --git a/lib/images/fileicons/32x32/pl.png b/lib/images/fileicons/32x32/pl.png index 88aa2723fe5b11f29dbb997c7412516e8be9695c..038e9f3a72fd789e18f6c01031b25f04e852ce28 100644 Binary files a/lib/images/fileicons/32x32/pl.png and b/lib/images/fileicons/32x32/pl.png differ diff --git a/lib/images/fileicons/32x32/png.png b/lib/images/fileicons/32x32/png.png index 0ecd2969101d7adec9a0f85c80f22372743c77e9..e3ea1c3a046f456b335cfe718f7269f2217cadc9 100644 Binary files a/lib/images/fileicons/32x32/png.png and b/lib/images/fileicons/32x32/png.png differ diff --git a/lib/images/fileicons/32x32/ppt.png b/lib/images/fileicons/32x32/ppt.png index 84b523a23cb28bab1b5d31160f798dc94ffd1234..acee9457144bba235ed5f24e9d90c2623f80cba9 100644 Binary files a/lib/images/fileicons/32x32/ppt.png and b/lib/images/fileicons/32x32/ppt.png differ diff --git a/lib/images/fileicons/32x32/pptx.png b/lib/images/fileicons/32x32/pptx.png index 1446cf4debc97babdf9c52605a29f2ad4934ed9e..b57b09173ef14ed6dd46872779e4c44c9f0123f2 100644 Binary files a/lib/images/fileicons/32x32/pptx.png and b/lib/images/fileicons/32x32/pptx.png differ diff --git a/lib/images/fileicons/32x32/ps.png b/lib/images/fileicons/32x32/ps.png index e1a74988d873823c5729b9a4c04fecd89a1c27e2..523a0be30cd36c442c115ce8494aff2f46b09434 100644 Binary files a/lib/images/fileicons/32x32/ps.png and b/lib/images/fileicons/32x32/ps.png differ diff --git a/lib/images/fileicons/32x32/py.png b/lib/images/fileicons/32x32/py.png index cf6e412f08cf3458bfe54c9df72510934bd5f68d..ae6e06ad5d30e2ffb2854811a77103db66bb7016 100644 Binary files a/lib/images/fileicons/32x32/py.png and b/lib/images/fileicons/32x32/py.png differ diff --git a/lib/images/fileicons/32x32/rar.png b/lib/images/fileicons/32x32/rar.png index 4af2a4d4603291b588b4b2ed05e160fa8da8326a..5b1cfcbee33ddea026821fd86cf0b6182fa3f372 100644 Binary files a/lib/images/fileicons/32x32/rar.png and b/lib/images/fileicons/32x32/rar.png differ diff --git a/lib/images/fileicons/32x32/rb.png b/lib/images/fileicons/32x32/rb.png index b0dfd898018b92e27d4e6e9206a81ab0afaa1ffe..398f2080277af9f712be686f4de59da159e6cb9f 100644 Binary files a/lib/images/fileicons/32x32/rb.png and b/lib/images/fileicons/32x32/rb.png differ diff --git a/lib/images/fileicons/32x32/rpm.png b/lib/images/fileicons/32x32/rpm.png index 2ec5f4e1bf49ebb15f6a113c9647dc009eafb0b1..c66a907415973e264639cfc04b5781f5862e0e92 100644 Binary files a/lib/images/fileicons/32x32/rpm.png and b/lib/images/fileicons/32x32/rpm.png differ diff --git a/lib/images/fileicons/32x32/rtf.png b/lib/images/fileicons/32x32/rtf.png index 82add4fd7d9520b342649f6c764bbef3f4f637d1..43182f3493fdf8142ebc8fbb85ce6a8df373cd81 100644 Binary files a/lib/images/fileicons/32x32/rtf.png and b/lib/images/fileicons/32x32/rtf.png differ diff --git a/lib/images/fileicons/32x32/sh.png b/lib/images/fileicons/32x32/sh.png index 93c093ea40a5612e77fba79565fcc34c3ce47487..52e3f952cebdff10387d84a351fa846fc306eb91 100644 Binary files a/lib/images/fileicons/32x32/sh.png and b/lib/images/fileicons/32x32/sh.png differ diff --git a/lib/images/fileicons/32x32/sql.png b/lib/images/fileicons/32x32/sql.png index f6436e7259a028543f2e37a0b2aa58c86feebc29..bb23e56b9bc8572dd827c0591bed7fe7431ecb7f 100644 Binary files a/lib/images/fileicons/32x32/sql.png and b/lib/images/fileicons/32x32/sql.png differ diff --git a/lib/images/fileicons/32x32/swf.png b/lib/images/fileicons/32x32/swf.png index b436429058ff31a71581f5a088e22fe4aafe476e..be8f5460ee426ae9ef80726cc02c162cca91aaba 100644 Binary files a/lib/images/fileicons/32x32/swf.png and b/lib/images/fileicons/32x32/swf.png differ diff --git a/lib/images/fileicons/32x32/sxc.png b/lib/images/fileicons/32x32/sxc.png index 50676be6afcb59893271b117a9475239ce4ad52e..cc45ffa8e545ff9675ed306482a9f827b74c6dcf 100644 Binary files a/lib/images/fileicons/32x32/sxc.png and b/lib/images/fileicons/32x32/sxc.png differ diff --git a/lib/images/fileicons/32x32/sxd.png b/lib/images/fileicons/32x32/sxd.png index f715a8ff0c59797d0268639304e0ea7e87ab7038..26f44c2153d6618e2789b474dacdaf30894dee98 100644 Binary files a/lib/images/fileicons/32x32/sxd.png and b/lib/images/fileicons/32x32/sxd.png differ diff --git a/lib/images/fileicons/32x32/sxi.png b/lib/images/fileicons/32x32/sxi.png index 3d9f31d3bc097cc3e02e84738e9dd0690129cb69..62e90bc97f9b35a92d0359c0f6fd92cc8b54d20f 100644 Binary files a/lib/images/fileicons/32x32/sxi.png and b/lib/images/fileicons/32x32/sxi.png differ diff --git a/lib/images/fileicons/32x32/sxw.png b/lib/images/fileicons/32x32/sxw.png index bd8ab14363ebf58d5248e420d51752003c467678..5196307df64c21c79ddd2dc3c126758abfbf9530 100644 Binary files a/lib/images/fileicons/32x32/sxw.png and b/lib/images/fileicons/32x32/sxw.png differ diff --git a/lib/images/fileicons/32x32/tar.png b/lib/images/fileicons/32x32/tar.png index 4a420a22acca07582b4b82a0eac030ad6aa5605c..8eb0ef489c7019f4acd8966c6211ee3749744ce5 100644 Binary files a/lib/images/fileicons/32x32/tar.png and b/lib/images/fileicons/32x32/tar.png differ diff --git a/lib/images/fileicons/32x32/tgz.png b/lib/images/fileicons/32x32/tgz.png index 8cf6af41ac83d7db8fc2c7171f6194422f5cb60f..77faacb92bd6fba45acef5faa05b31b66838bbb4 100644 Binary files a/lib/images/fileicons/32x32/tgz.png and b/lib/images/fileicons/32x32/tgz.png differ diff --git a/lib/images/fileicons/32x32/txt.png b/lib/images/fileicons/32x32/txt.png index d9ff7d59551b769882f69027ab5604f03b00819f..5d09e3c93a9cb49d4ef196b3da6982c6d24b6914 100644 Binary files a/lib/images/fileicons/32x32/txt.png and b/lib/images/fileicons/32x32/txt.png differ diff --git a/lib/images/fileicons/32x32/wav.png b/lib/images/fileicons/32x32/wav.png index c39a8445fe91d2a21ec62d6a3c800647639eaca9..37b871be4423664741938f3db2ac1f127ac161e6 100644 Binary files a/lib/images/fileicons/32x32/wav.png and b/lib/images/fileicons/32x32/wav.png differ diff --git a/lib/images/fileicons/32x32/webm.png b/lib/images/fileicons/32x32/webm.png index 99b9c87b2626168ea98ce86783892ddd230c0173..9044845b9625b57481d05852a33215949ae41f36 100644 Binary files a/lib/images/fileicons/32x32/webm.png and b/lib/images/fileicons/32x32/webm.png differ diff --git a/lib/images/fileicons/32x32/xls.png b/lib/images/fileicons/32x32/xls.png index 7447d9cdfc71f21d0c7418b1d7519c31947ebf47..1c21a6ed3b29b42c2b172bf6fbf1e0a03652ab09 100644 Binary files a/lib/images/fileicons/32x32/xls.png and b/lib/images/fileicons/32x32/xls.png differ diff --git a/lib/images/fileicons/32x32/xlsx.png b/lib/images/fileicons/32x32/xlsx.png index 920217267c3909214dbf367ed4e5fc418c284dfe..cba5937abdcb6ab8ef4e463d45c2e3291dcf7a72 100644 Binary files a/lib/images/fileicons/32x32/xlsx.png and b/lib/images/fileicons/32x32/xlsx.png differ diff --git a/lib/images/fileicons/32x32/xml.png b/lib/images/fileicons/32x32/xml.png index 4ea3b1f6c8569e01bdd93cec6ff6ff65b9fca68f..8eee5839889f55f057ae1fd84a668034ff0f0f59 100644 Binary files a/lib/images/fileicons/32x32/xml.png and b/lib/images/fileicons/32x32/xml.png differ diff --git a/lib/images/fileicons/32x32/zip.png b/lib/images/fileicons/32x32/zip.png index f07d18e2c4d733514925d102739f72e9b54e1304..0ce83b6bcc00bc5b3c2179a07f185517b59c0a22 100644 Binary files a/lib/images/fileicons/32x32/zip.png and b/lib/images/fileicons/32x32/zip.png differ diff --git a/lib/images/fileicons/7z.png b/lib/images/fileicons/7z.png index 037cd73a04ea542fa79512e7a8808b393ee070d0..fa6abe35be445fa96cfda43cbbd5cf28d3ac7e90 100644 Binary files a/lib/images/fileicons/7z.png and b/lib/images/fileicons/7z.png differ diff --git a/lib/images/fileicons/asm.png b/lib/images/fileicons/asm.png index 1281e12b89ff41552e65cf4d261d262bee8d0953..c22c451a19fd374b5d23165e9fa1419089132517 100644 Binary files a/lib/images/fileicons/asm.png and b/lib/images/fileicons/asm.png differ diff --git a/lib/images/fileicons/bash.png b/lib/images/fileicons/bash.png index 25758464919d6025affe53bdd12edfef3b56b10e..f352cfdb16cc073c640fb47bce9a74336534a370 100644 Binary files a/lib/images/fileicons/bash.png and b/lib/images/fileicons/bash.png differ diff --git a/lib/images/fileicons/bz2.png b/lib/images/fileicons/bz2.png index a4bcc70a115f3f27b62cbce31806d41a28b43fa8..a1b048fc246d31a841a5f4c0314a274aa480489b 100644 Binary files a/lib/images/fileicons/bz2.png and b/lib/images/fileicons/bz2.png differ diff --git a/lib/images/fileicons/c.png b/lib/images/fileicons/c.png index f0d4e9aa1184b347a93485fc8cde71f206d96201..51d9c7f154a2c72655f2de3b19e5a2b2b5d67dcf 100644 Binary files a/lib/images/fileicons/c.png and b/lib/images/fileicons/c.png differ diff --git a/lib/images/fileicons/cc.png b/lib/images/fileicons/cc.png index e6f4c64574b1319b4b198d6a0ce5839c16d08d7b..8aeae79eb7b98d8969e04af0b17f0ded75620a85 100644 Binary files a/lib/images/fileicons/cc.png and b/lib/images/fileicons/cc.png differ diff --git a/lib/images/fileicons/conf.png b/lib/images/fileicons/conf.png index 94ace02cf3c4b7e29c7947068754b0716295c1c7..c845d4962457bedfc082cde05a8e68df343fa04d 100644 Binary files a/lib/images/fileicons/conf.png and b/lib/images/fileicons/conf.png differ diff --git a/lib/images/fileicons/cpp.png b/lib/images/fileicons/cpp.png index 4027e4bebdd34aaa3a59d6560da1c46fe615257d..1a04c32914e3bc1111dbc5b5312917a5cd9d03e7 100644 Binary files a/lib/images/fileicons/cpp.png and b/lib/images/fileicons/cpp.png differ diff --git a/lib/images/fileicons/cs.png b/lib/images/fileicons/cs.png index 31b7f76610d5c7a9daddf3b062aa3b34a24e8229..740725a30eed89d523f592a88f89f4b7e56094f0 100644 Binary files a/lib/images/fileicons/cs.png and b/lib/images/fileicons/cs.png differ diff --git a/lib/images/fileicons/csh.png b/lib/images/fileicons/csh.png index cc21e79952e61b085e897c158f3bb33b54555714..c0131c5f46d46986bb6984e95bc4bfc59451920c 100644 Binary files a/lib/images/fileicons/csh.png and b/lib/images/fileicons/csh.png differ diff --git a/lib/images/fileicons/css.png b/lib/images/fileicons/css.png index abd16fa8edd4c81c8f022e2f8d71ca6c00c5851d..89ac36470723bf3bd66eb169e0071d22b2863c03 100644 Binary files a/lib/images/fileicons/css.png and b/lib/images/fileicons/css.png differ diff --git a/lib/images/fileicons/csv.png b/lib/images/fileicons/csv.png index af37ba577130991be50f61cff50bb49d48a301d3..837ae295fa43731ee90e4f7d392814c5789de73f 100644 Binary files a/lib/images/fileicons/csv.png and b/lib/images/fileicons/csv.png differ diff --git a/lib/images/fileicons/deb.png b/lib/images/fileicons/deb.png index 9eb29019ba324a84366cdcf62b099bf1cb6c597f..1db6fa5b80efe3b048d98398e89fc4c70ff2aafe 100644 Binary files a/lib/images/fileicons/deb.png and b/lib/images/fileicons/deb.png differ diff --git a/lib/images/fileicons/diff.png b/lib/images/fileicons/diff.png index 1775da0143b83e108e69ac9fadb8f19ae1b2f292..03e9af94dec06fa21f8888b31b64a97fd077dfbd 100644 Binary files a/lib/images/fileicons/diff.png and b/lib/images/fileicons/diff.png differ diff --git a/lib/images/fileicons/doc.png b/lib/images/fileicons/doc.png index 92549457644738605381491be0804663af271e96..dcc070f493fb3306a1a7dd36315ad44854d3d40b 100644 Binary files a/lib/images/fileicons/doc.png and b/lib/images/fileicons/doc.png differ diff --git a/lib/images/fileicons/docx.png b/lib/images/fileicons/docx.png index 5bae13f9ef7299489a87d12b484bd9763d871502..1a98a8d4f95000f05589df87dd3bb34128a17cf0 100644 Binary files a/lib/images/fileicons/docx.png and b/lib/images/fileicons/docx.png differ diff --git a/lib/images/fileicons/file.png b/lib/images/fileicons/file.png index 8f31d38ac6bedf006a943f8599a9eb91b6fd8024..54fe8abdad1bc26fd09c217f62fc4069f2d6608b 100644 Binary files a/lib/images/fileicons/file.png and b/lib/images/fileicons/file.png differ diff --git a/lib/images/fileicons/gif.png b/lib/images/fileicons/gif.png index bcbb8366ba25ecb1ff8704e0daa258283805588d..38bdbf2dca30fc5dfd03b1188b1a988340cabbe0 100644 Binary files a/lib/images/fileicons/gif.png and b/lib/images/fileicons/gif.png differ diff --git a/lib/images/fileicons/gz.png b/lib/images/fileicons/gz.png index 0a0a4b94f949ddb8a12426610a222ac27edeaee4..422693a3970cb4a5a82408161c48610cbdf07bf7 100644 Binary files a/lib/images/fileicons/gz.png and b/lib/images/fileicons/gz.png differ diff --git a/lib/images/fileicons/h.png b/lib/images/fileicons/h.png index 4afe8f84fc67cd1fa46a1c1bf8b7045c38bd99c7..d65f2f507d8b0aa6f3a118d54d471c8c81e3d93b 100644 Binary files a/lib/images/fileicons/h.png and b/lib/images/fileicons/h.png differ diff --git a/lib/images/fileicons/hpp.png b/lib/images/fileicons/hpp.png index 3ee7583d2b5d6e967e23fe3a43d34adcbc5ff8c9..6d314f5c9566470e6dcc6a967d60e5a8f778ee8d 100644 Binary files a/lib/images/fileicons/hpp.png and b/lib/images/fileicons/hpp.png differ diff --git a/lib/images/fileicons/htm.png b/lib/images/fileicons/htm.png index 02e81932b399c68e56041a42e5017c4b63e3db85..f45847f7e7d556c43cd602164e685fa5719fa178 100644 Binary files a/lib/images/fileicons/htm.png and b/lib/images/fileicons/htm.png differ diff --git a/lib/images/fileicons/html.png b/lib/images/fileicons/html.png index 02e81932b399c68e56041a42e5017c4b63e3db85..f45847f7e7d556c43cd602164e685fa5719fa178 100644 Binary files a/lib/images/fileicons/html.png and b/lib/images/fileicons/html.png differ diff --git a/lib/images/fileicons/ico.png b/lib/images/fileicons/ico.png index 93343717c580a26702f6c2212794e4e97dd1f105..38aa34b2c986aca593029cb6a0057124249493fa 100644 Binary files a/lib/images/fileicons/ico.png and b/lib/images/fileicons/ico.png differ diff --git a/lib/images/fileicons/java.png b/lib/images/fileicons/java.png index cf6f5b4f5a1eade0b814d9c3f6c83c875a9e5212..0c62347f5c5cd1b3190915558b9b47e624b97a8b 100644 Binary files a/lib/images/fileicons/java.png and b/lib/images/fileicons/java.png differ diff --git a/lib/images/fileicons/jpeg.png b/lib/images/fileicons/jpeg.png index 29dea5761c8f247eae054b4d0992134645e01af0..e446dd410b6fee41e2d7be0a81057dfdfff8b171 100644 Binary files a/lib/images/fileicons/jpeg.png and b/lib/images/fileicons/jpeg.png differ diff --git a/lib/images/fileicons/jpg.png b/lib/images/fileicons/jpg.png index 29dea5761c8f247eae054b4d0992134645e01af0..e446dd410b6fee41e2d7be0a81057dfdfff8b171 100644 Binary files a/lib/images/fileicons/jpg.png and b/lib/images/fileicons/jpg.png differ diff --git a/lib/images/fileicons/js.png b/lib/images/fileicons/js.png index 16e3f95386298373625a8b5d07d5e1556a5e24e5..bee428f200d3b1574f921898534d554b97a978e5 100644 Binary files a/lib/images/fileicons/js.png and b/lib/images/fileicons/js.png differ diff --git a/lib/images/fileicons/json.png b/lib/images/fileicons/json.png index 96611cb539d09dcbd6d29664467f3a18306c735d..4d0a3cfb50986878adbb1912b368f4df30f455b4 100644 Binary files a/lib/images/fileicons/json.png and b/lib/images/fileicons/json.png differ diff --git a/lib/images/fileicons/lua.png b/lib/images/fileicons/lua.png index 81fdeea403a6d7dc6b88697a759ae025aceee2c5..fcebe3d020fd1d7db2300353f9566ca6f5c7317a 100644 Binary files a/lib/images/fileicons/lua.png and b/lib/images/fileicons/lua.png differ diff --git a/lib/images/fileicons/mp3.png b/lib/images/fileicons/mp3.png index 7c6d37184e5f3747364673ab462e4576ac04e25b..2be976f9cd9cb864bde096b1a5aba5077d375adb 100644 Binary files a/lib/images/fileicons/mp3.png and b/lib/images/fileicons/mp3.png differ diff --git a/lib/images/fileicons/mp4.png b/lib/images/fileicons/mp4.png index ee5b911502836e4a6acc73cace3eaec93b433cfa..dc6fd0022d2deb6a6dc8e06972ababf3bb4f0552 100644 Binary files a/lib/images/fileicons/mp4.png and b/lib/images/fileicons/mp4.png differ diff --git a/lib/images/fileicons/odc.png b/lib/images/fileicons/odc.png index 331140552aaa77de64d29b25ab264f7e08ecafcc..bf3b3a104c280727dc063a6c419fc0a7b21e7334 100644 Binary files a/lib/images/fileicons/odc.png and b/lib/images/fileicons/odc.png differ diff --git a/lib/images/fileicons/odf.png b/lib/images/fileicons/odf.png index eccae9e20de149573607af3cad49bdcd4725d09d..fcfc58f76ded0cb0aca1ffdab65dffc02a47ac3a 100644 Binary files a/lib/images/fileicons/odf.png and b/lib/images/fileicons/odf.png differ diff --git a/lib/images/fileicons/odg.png b/lib/images/fileicons/odg.png index 5224425e6f3f7f2d43358c413d931048d316bc80..0a8196cbf73055204cb5198d50d23c8aecdef891 100644 Binary files a/lib/images/fileicons/odg.png and b/lib/images/fileicons/odg.png differ diff --git a/lib/images/fileicons/odi.png b/lib/images/fileicons/odi.png index b57fd974d92f2b8af4a4bed282501b06e33eed88..0fc8508adc4c3d8af3d40195640d05dfd49d59f0 100644 Binary files a/lib/images/fileicons/odi.png and b/lib/images/fileicons/odi.png differ diff --git a/lib/images/fileicons/odp.png b/lib/images/fileicons/odp.png index 81d1023c08c320aa93ce4cc2461d48276446df74..75b1db8e11fc8d302f952fe5c8b3edc2ae42d564 100644 Binary files a/lib/images/fileicons/odp.png and b/lib/images/fileicons/odp.png differ diff --git a/lib/images/fileicons/ods.png b/lib/images/fileicons/ods.png index 77e6d5366b5175f6ba5d16041d10a9d313aa71dc..2017426bdefee34eb29e4b75a2e26e500b5df8ae 100644 Binary files a/lib/images/fileicons/ods.png and b/lib/images/fileicons/ods.png differ diff --git a/lib/images/fileicons/odt.png b/lib/images/fileicons/odt.png index 8490eec74d286390c3158171be915ed16c0712d2..6f8fae4382552e0b073ab96b1867ec881b78073b 100644 Binary files a/lib/images/fileicons/odt.png and b/lib/images/fileicons/odt.png differ diff --git a/lib/images/fileicons/ogg.png b/lib/images/fileicons/ogg.png index 38f615c9903c327f536826d1d57f94ff9a855b8c..8bb50800e61384bbf4c8c88d25fc66ff2d9b8033 100644 Binary files a/lib/images/fileicons/ogg.png and b/lib/images/fileicons/ogg.png differ diff --git a/lib/images/fileicons/ogv.png b/lib/images/fileicons/ogv.png index a937dfc4cc5cdaed5fe167b03be3b17417475282..e6b65ac60461f4b6578a8aa4db731d739f5a3eaf 100644 Binary files a/lib/images/fileicons/ogv.png and b/lib/images/fileicons/ogv.png differ diff --git a/lib/images/fileicons/pas.png b/lib/images/fileicons/pas.png index 0c14372d0e89a0fa4473b030690efeb1036189ab..19f0a3c6c18e2f4fe7fed3e5a49078d35aaa3a9a 100644 Binary files a/lib/images/fileicons/pas.png and b/lib/images/fileicons/pas.png differ diff --git a/lib/images/fileicons/pdf.png b/lib/images/fileicons/pdf.png index 1bc154641484e1aa1a1cac0f0787034eb0ec3762..42fbfd2bba6750c04da9fa694ef30a7126694237 100644 Binary files a/lib/images/fileicons/pdf.png and b/lib/images/fileicons/pdf.png differ diff --git a/lib/images/fileicons/php.png b/lib/images/fileicons/php.png index 2deb5d3b17e096c529f247cb64eea5b20530aa44..de0d8eeb925234269a5c0ece0fc6badbaba0fadb 100644 Binary files a/lib/images/fileicons/php.png and b/lib/images/fileicons/php.png differ diff --git a/lib/images/fileicons/pl.png b/lib/images/fileicons/pl.png index a4fa92203380580b57b6beb0eec2797ec3e60bfd..d95513d25df87d4e12bf3560a14b6264c1f730c2 100644 Binary files a/lib/images/fileicons/pl.png and b/lib/images/fileicons/pl.png differ diff --git a/lib/images/fileicons/png.png b/lib/images/fileicons/png.png index 007270532cb95814b7bcd49de0951a4b35a63d4f..273476daf4cac66ebcc25f2d5cc5a3e093bc5ff8 100644 Binary files a/lib/images/fileicons/png.png and b/lib/images/fileicons/png.png differ diff --git a/lib/images/fileicons/ppt.png b/lib/images/fileicons/ppt.png index 3355c2712a3603000fb5590858dd9b4c69e925d0..a03d3c0a6f939558594d99dc259d38c03c43297d 100644 Binary files a/lib/images/fileicons/ppt.png and b/lib/images/fileicons/ppt.png differ diff --git a/lib/images/fileicons/pptx.png b/lib/images/fileicons/pptx.png index 269cdb8fccac145a8c7fc2b9fcf1d8d511983a5d..9b5c6332ba8c52f59be09a4e0372801090dec832 100644 Binary files a/lib/images/fileicons/pptx.png and b/lib/images/fileicons/pptx.png differ diff --git a/lib/images/fileicons/ps.png b/lib/images/fileicons/ps.png index e61d1aa7e30b723c0d69c3973a5faa367e596ef0..3b7848c8e18dd0c4960556e260eb45cb5fcd1576 100644 Binary files a/lib/images/fileicons/ps.png and b/lib/images/fileicons/ps.png differ diff --git a/lib/images/fileicons/py.png b/lib/images/fileicons/py.png index f0ed0258c5571d6d4672b7269f4f0d4e061dbe51..893019ee6355f147e5d5443b806099f572dd6e72 100644 Binary files a/lib/images/fileicons/py.png and b/lib/images/fileicons/py.png differ diff --git a/lib/images/fileicons/rar.png b/lib/images/fileicons/rar.png index f15d4ce5b34de6518ac93bcdb29597ee61e62a9d..091a635b7a0055b6b584054dfd1266a48d67d212 100644 Binary files a/lib/images/fileicons/rar.png and b/lib/images/fileicons/rar.png differ diff --git a/lib/images/fileicons/rb.png b/lib/images/fileicons/rb.png index 0e59207fc16706dbe608f4f40b365c19162a7e4b..9b58db030a433f28cb2d58968fcf4febe25ce526 100644 Binary files a/lib/images/fileicons/rb.png and b/lib/images/fileicons/rb.png differ diff --git a/lib/images/fileicons/rpm.png b/lib/images/fileicons/rpm.png index 831424ff59db13558318e8317e9c7fbb2a2601c7..75da50e0c5fa58b7c424ad06b20b850b2fe7effc 100644 Binary files a/lib/images/fileicons/rpm.png and b/lib/images/fileicons/rpm.png differ diff --git a/lib/images/fileicons/rtf.png b/lib/images/fileicons/rtf.png index bbc425ca36b666197cf3248ec312b759850813c7..2e5a6e53ee57fa9518860f43e7b14c7e5d3b4c08 100644 Binary files a/lib/images/fileicons/rtf.png and b/lib/images/fileicons/rtf.png differ diff --git a/lib/images/fileicons/sh.png b/lib/images/fileicons/sh.png index 2560671066688162472bd6f9fc30b0cdbdbbdc9d..bc483541451bef7c9fc03c08fdedcd0a14d89ea7 100644 Binary files a/lib/images/fileicons/sh.png and b/lib/images/fileicons/sh.png differ diff --git a/lib/images/fileicons/sql.png b/lib/images/fileicons/sql.png index 6697943e2778938f47714ecdf639f6b2a2829920..c36f3a812885de2b4f940d4ea301478790834def 100644 Binary files a/lib/images/fileicons/sql.png and b/lib/images/fileicons/sql.png differ diff --git a/lib/images/fileicons/swf.png b/lib/images/fileicons/swf.png index b45a72cc934c7aff5e71d61fae3e1813de39166d..5c8838778fa2321a05bcfb8ae44c6aee807a1270 100644 Binary files a/lib/images/fileicons/swf.png and b/lib/images/fileicons/swf.png differ diff --git a/lib/images/fileicons/sxc.png b/lib/images/fileicons/sxc.png index c96cf303f14d9f5cd3348ff90a289eb6b6dd8afd..3b5c71f5972e11f18faaecda6ccdc7e4ad653913 100644 Binary files a/lib/images/fileicons/sxc.png and b/lib/images/fileicons/sxc.png differ diff --git a/lib/images/fileicons/sxd.png b/lib/images/fileicons/sxd.png index 124b928e138dd9312edf5bde7bbf6834ed6a4f13..15390cd0ca639567471bf421f547533b60469cc1 100644 Binary files a/lib/images/fileicons/sxd.png and b/lib/images/fileicons/sxd.png differ diff --git a/lib/images/fileicons/sxi.png b/lib/images/fileicons/sxi.png index 8a5e23033ee209a94d0e6f00100ed26b57a8fecc..a0fb654312e597052f1fa6d6e2619ec9bbe6edaf 100644 Binary files a/lib/images/fileicons/sxi.png and b/lib/images/fileicons/sxi.png differ diff --git a/lib/images/fileicons/sxw.png b/lib/images/fileicons/sxw.png index 9a903791cab3cadebb0ed88879a494dae7107656..865dc0c6e7ae134112b434898b285471262fb50b 100644 Binary files a/lib/images/fileicons/sxw.png and b/lib/images/fileicons/sxw.png differ diff --git a/lib/images/fileicons/tar.png b/lib/images/fileicons/tar.png index e57029adc8d4e99917dbca855281eae0ae89c6ac..8f9fd0f08a95ca78cb6ee9ba04730be65c2083fc 100644 Binary files a/lib/images/fileicons/tar.png and b/lib/images/fileicons/tar.png differ diff --git a/lib/images/fileicons/tgz.png b/lib/images/fileicons/tgz.png index 25ef9e15a0384cf920ae9d2c0a106792ca2711aa..8423ef08738af90d2cb4d0013cf9fdbc2f54c8a8 100644 Binary files a/lib/images/fileicons/tgz.png and b/lib/images/fileicons/tgz.png differ diff --git a/lib/images/fileicons/txt.png b/lib/images/fileicons/txt.png index 4fd9216559e2920a3fe1ecc7821129248d879005..1619cc497bc791d57d0d7515090f952bcedcea95 100644 Binary files a/lib/images/fileicons/txt.png and b/lib/images/fileicons/txt.png differ diff --git a/lib/images/fileicons/wav.png b/lib/images/fileicons/wav.png index c8880c62e20a5d6501f0de200e722455d8b77b38..80eac97837e27993566d00264c7124c8aa87856d 100644 Binary files a/lib/images/fileicons/wav.png and b/lib/images/fileicons/wav.png differ diff --git a/lib/images/fileicons/webm.png b/lib/images/fileicons/webm.png index 55db6191468b1fcd487c01345e4b055362d0dfb7..cec3e6d5b541a2f1c1cb3daf099d69215d1e2e12 100644 Binary files a/lib/images/fileicons/webm.png and b/lib/images/fileicons/webm.png differ diff --git a/lib/images/fileicons/xls.png b/lib/images/fileicons/xls.png index 5ac56f20dfe226d646f8320a3d79beeca09dae96..be9b42fff38f8170a67f5ec886e3e738da6354a3 100644 Binary files a/lib/images/fileicons/xls.png and b/lib/images/fileicons/xls.png differ diff --git a/lib/images/fileicons/xlsx.png b/lib/images/fileicons/xlsx.png index 89c84c52287893179a26518f2697563ca9b6fa6a..fd5d4f11729c219da6ff3efd9079eaea9a18db13 100644 Binary files a/lib/images/fileicons/xlsx.png and b/lib/images/fileicons/xlsx.png differ diff --git a/lib/images/fileicons/xml.png b/lib/images/fileicons/xml.png index 4480a63854677d93de8205f305b1d96a26519e92..2a96d8b319d3d31b2092aab26fa948538470268e 100644 Binary files a/lib/images/fileicons/xml.png and b/lib/images/fileicons/xml.png differ diff --git a/lib/images/fileicons/zip.png b/lib/images/fileicons/zip.png index 4a36a35ff7af6167a697ada2c5a4e77cdab5da6d..4ce08bf7d1c200ef4c004e08e01d98867b1f634c 100644 Binary files a/lib/images/fileicons/zip.png and b/lib/images/fileicons/zip.png differ diff --git a/lib/images/history.png b/lib/images/history.png index 82a418d44d01b72ecfb6ffbec87decf58aacf539..f6af0f6f18e0e13d38e024dea6ecb3034075cf9d 100644 Binary files a/lib/images/history.png and b/lib/images/history.png differ diff --git a/lib/images/icon-list.png b/lib/images/icon-list.png index ecfeed92d9c042ff0840a30084a092c0c13013c3..4ae738a07065e3bac6deb056fb2c2119097db7ea 100644 Binary files a/lib/images/icon-list.png and b/lib/images/icon-list.png differ diff --git a/lib/images/icon-sort.png b/lib/images/icon-sort.png index c6403dd3c4bce08f7ba9487ad15fcfe7a3c04ff0..190397eb6172eeb40cd6de84c1d25e2bf3bce5ab 100644 Binary files a/lib/images/icon-sort.png and b/lib/images/icon-sort.png differ diff --git a/lib/images/info.png b/lib/images/info.png index 121c7336dc5d7e72080980b934618d6608ee979f..5e2336435224870a0a09c4154f703c7bdd5c5de6 100644 Binary files a/lib/images/info.png and b/lib/images/info.png differ diff --git a/lib/images/interwiki.png b/lib/images/interwiki.png index f957e71e56fd7dc70bf8ba1aa9a39b044e1095b1..10a2bbe1ecb76b5fed2d51476bb1a687d5d781eb 100644 Binary files a/lib/images/interwiki.png and b/lib/images/interwiki.png differ diff --git a/lib/images/interwiki/coral.gif b/lib/images/interwiki/coral.gif deleted file mode 100644 index 0f9f67587d8ab56fa861a503543e69a9a6dcb80d..0000000000000000000000000000000000000000 Binary files a/lib/images/interwiki/coral.gif and /dev/null differ diff --git a/lib/images/interwiki/sb.gif b/lib/images/interwiki/sb.gif deleted file mode 100644 index 710e4945b404d2fdf2e2fca6c45e36d399abc87f..0000000000000000000000000000000000000000 Binary files a/lib/images/interwiki/sb.gif and /dev/null differ diff --git a/lib/images/interwiki/tel.gif b/lib/images/interwiki/tel.gif new file mode 100644 index 0000000000000000000000000000000000000000..60158c5652e9ea5ca6e47abd5e9c668e439c5ce2 Binary files /dev/null and b/lib/images/interwiki/tel.gif differ diff --git a/lib/images/interwiki/user.png b/lib/images/interwiki/user.png index 79f35ccbdad44489dbf07d1bf688c411aa3b612c..da84e3ddc17c7fda654aa9738ea8c979813a0a74 100644 Binary files a/lib/images/interwiki/user.png and b/lib/images/interwiki/user.png differ diff --git a/lib/images/license/badge/cc-by-nc-nd.png b/lib/images/license/badge/cc-by-nc-nd.png index 94aae9e090438bbfeb3a6f6fea17d8688a9ea8a3..c84aff10492669caa65dc8adb64114c7faf80278 100644 Binary files a/lib/images/license/badge/cc-by-nc-nd.png and b/lib/images/license/badge/cc-by-nc-nd.png differ diff --git a/lib/images/license/badge/cc-by-nc-sa.png b/lib/images/license/badge/cc-by-nc-sa.png index 51141f5ec4c37da45a6bc625aa4090be1098cf99..e7b57845bafbc3042c41177ebdf8e9909ca0b6eb 100644 Binary files a/lib/images/license/badge/cc-by-nc-sa.png and b/lib/images/license/badge/cc-by-nc-sa.png differ diff --git a/lib/images/license/badge/cc-by-nc.png b/lib/images/license/badge/cc-by-nc.png index aeb8cdc8ca6b64763e938f27d1a356e867deeba0..b422cdcfd0e33af019105667c0ff3e418c44750b 100644 Binary files a/lib/images/license/badge/cc-by-nc.png and b/lib/images/license/badge/cc-by-nc.png differ diff --git a/lib/images/license/badge/cc-by-nd.png b/lib/images/license/badge/cc-by-nd.png index 6a2e59a682d54e8716bdc77da5336bdd18f1fea3..18322992c13ebdcebdfad31af9d70ead60dffc33 100644 Binary files a/lib/images/license/badge/cc-by-nd.png and b/lib/images/license/badge/cc-by-nd.png differ diff --git a/lib/images/license/badge/cc-by-sa.png b/lib/images/license/badge/cc-by-sa.png index f0aa4aaf07b92e07feb1ac4e2df3731643373df3..5749f65b87fe31911a44d659727db630f735a9e4 100644 Binary files a/lib/images/license/badge/cc-by-sa.png and b/lib/images/license/badge/cc-by-sa.png differ diff --git a/lib/images/license/badge/cc-by.png b/lib/images/license/badge/cc-by.png index c7389b2f6938e75215375a2e80871f4922089038..700679a13ef4d50f08b752a26667244be941c9ec 100644 Binary files a/lib/images/license/badge/cc-by.png and b/lib/images/license/badge/cc-by.png differ diff --git a/lib/images/license/badge/cc-zero.png b/lib/images/license/badge/cc-zero.png index fd3dff422a3fddc4b72208a29b15740ce2e16d20..e6d82bfabab892d1af27b2ad2256d8104833e331 100644 Binary files a/lib/images/license/badge/cc-zero.png and b/lib/images/license/badge/cc-zero.png differ diff --git a/lib/images/license/badge/cc.png b/lib/images/license/badge/cc.png index 8ac73aa4e390ae1e35fdd8e811e447910d242468..e28f32c7936ac9d51e95769466902662f26eaa3c 100644 Binary files a/lib/images/license/badge/cc.png and b/lib/images/license/badge/cc.png differ diff --git a/lib/images/license/badge/gnufdl.png b/lib/images/license/badge/gnufdl.png index e9291012894865482b300cb7f6326896b75e2975..635de2bd3aed6f5af9fdf9e71ff2765166ba5f83 100644 Binary files a/lib/images/license/badge/gnufdl.png and b/lib/images/license/badge/gnufdl.png differ diff --git a/lib/images/license/badge/publicdomain.png b/lib/images/license/badge/publicdomain.png index 8148d037aa12d499ef662be48f3899361ebf4a6a..fd742cc9d4fc07cc4d2ca7ed7a7d1bc78eca924e 100644 Binary files a/lib/images/license/badge/publicdomain.png and b/lib/images/license/badge/publicdomain.png differ diff --git a/lib/images/license/button/cc-by-nc-nd.png b/lib/images/license/button/cc-by-nc-nd.png index ac58d8627734c450039dff71c50cc29ac939e5a5..994025f1576979c4812d928f615871fad261fcf0 100644 Binary files a/lib/images/license/button/cc-by-nc-nd.png and b/lib/images/license/button/cc-by-nc-nd.png differ diff --git a/lib/images/license/button/cc-by-nc-sa.png b/lib/images/license/button/cc-by-nc-sa.png index a9d23c0b68a46c558c7c83b72fff141ac0844630..3b896bd5203138c72bf593740580ac4f661fa047 100644 Binary files a/lib/images/license/button/cc-by-nc-sa.png and b/lib/images/license/button/cc-by-nc-sa.png differ diff --git a/lib/images/license/button/cc-by-nc.png b/lib/images/license/button/cc-by-nc.png index d936464ad3c8f213642d471ec8a0c760edba7163..d5be8f80341cbb0ff1f3e30c6fc7a0533f20a7f5 100644 Binary files a/lib/images/license/button/cc-by-nc.png and b/lib/images/license/button/cc-by-nc.png differ diff --git a/lib/images/license/button/cc-by-nd.png b/lib/images/license/button/cc-by-nd.png index 3fc490870bd03eeb5037f7a9a1d17b3aa4ff37ea..e1918b0cdd7a0ebdfbd1a65adfbd1730b39bd59c 100644 Binary files a/lib/images/license/button/cc-by-nd.png and b/lib/images/license/button/cc-by-nd.png differ diff --git a/lib/images/license/button/cc-by-sa.png b/lib/images/license/button/cc-by-sa.png index 3c6270a0dbb2180403183a7f542a26d2221242db..9b9b522abeafa9c9d61323bdef521050aee87df4 100644 Binary files a/lib/images/license/button/cc-by-sa.png and b/lib/images/license/button/cc-by-sa.png differ diff --git a/lib/images/license/button/cc-by.png b/lib/images/license/button/cc-by.png index 867daaee4731a49f0190d3baae9c631f7a8076f2..53b1dea0f2b1acbf9316443ff6929670dd56a9c2 100644 Binary files a/lib/images/license/button/cc-by.png and b/lib/images/license/button/cc-by.png differ diff --git a/lib/images/license/button/cc-zero.png b/lib/images/license/button/cc-zero.png index 251efcd1cc80f3b852d8f3c79d33ce3c9c950a2b..e6a1a5bf27f1fec007506295bf1051348e8112a3 100644 Binary files a/lib/images/license/button/cc-zero.png and b/lib/images/license/button/cc-zero.png differ diff --git a/lib/images/license/button/cc.png b/lib/images/license/button/cc.png index 9c492950ffd50953171106df54d42d6041088ce7..e04958a8bab6168c46dd19da9028b8210ccba0e2 100644 Binary files a/lib/images/license/button/cc.png and b/lib/images/license/button/cc.png differ diff --git a/lib/images/license/button/gnufdl.png b/lib/images/license/button/gnufdl.png index 0b52ea12e4427800cc5d857acccffcc51d5f16d5..b0e0793de8568c3f65d44152ec2423df57988ba9 100644 Binary files a/lib/images/license/button/gnufdl.png and b/lib/images/license/button/gnufdl.png differ diff --git a/lib/images/license/button/publicdomain.png b/lib/images/license/button/publicdomain.png index 54ea38b64555e895f59570d0ba6b44ea270da7b5..b301baf975424cb3a10e1d1c9bf97366b001ae47 100644 Binary files a/lib/images/license/button/publicdomain.png and b/lib/images/license/button/publicdomain.png differ diff --git a/lib/images/magnifier.png b/lib/images/magnifier.png index 89febff1035e680c0ef2b4182f09e46e09949011..014fa921bf17e1122a1bff1953e0a61375ab0f20 100644 Binary files a/lib/images/magnifier.png and b/lib/images/magnifier.png differ diff --git a/lib/images/media_align_center.png b/lib/images/media_align_center.png index 807f9d9a883f52156c75d51ffc82e5d376166787..8b30a051b7df348056da5b1601e17d945aaff0e8 100644 Binary files a/lib/images/media_align_center.png and b/lib/images/media_align_center.png differ diff --git a/lib/images/media_align_left.png b/lib/images/media_align_left.png index fa6cf33ca0bf10e4ac179c6474939588bb0e02e6..d32bbc235c58fef8a5c694da85d484159a30375a 100644 Binary files a/lib/images/media_align_left.png and b/lib/images/media_align_left.png differ diff --git a/lib/images/media_align_noalign.png b/lib/images/media_align_noalign.png index 263e090fed529615aa0606b6acb12c0fa542289a..e6ce85790da66432eb7491ed05cce7de6c7a593a 100644 Binary files a/lib/images/media_align_noalign.png and b/lib/images/media_align_noalign.png differ diff --git a/lib/images/media_align_right.png b/lib/images/media_align_right.png index 33539dbdb1f2600d38befe6cd92a539b3c1b6409..32a5cb0a342d45c50bf8ade73a4a5a44ee89147f 100644 Binary files a/lib/images/media_align_right.png and b/lib/images/media_align_right.png differ diff --git a/lib/images/media_link_direct.png b/lib/images/media_link_direct.png index 4350b803d0dc0727e7bc206471cf91464d1942e7..13d24ad7c2f41ce68bd5133f26344409e946d7fd 100644 Binary files a/lib/images/media_link_direct.png and b/lib/images/media_link_direct.png differ diff --git a/lib/images/media_link_displaylnk.png b/lib/images/media_link_displaylnk.png index 53927566a1be29e67155c4ba4a7dc4878ef2d6a5..102834e7b02f0a1c26d6ff1f38c6668eb9d16e66 100644 Binary files a/lib/images/media_link_displaylnk.png and b/lib/images/media_link_displaylnk.png differ diff --git a/lib/images/media_link_lnk.png b/lib/images/media_link_lnk.png index 5ff4ee182f79eb9ca9ce396a0390a16fb4e866c1..5db14ad03466af52175519bdca47e3d704a7cd2e 100644 Binary files a/lib/images/media_link_lnk.png and b/lib/images/media_link_lnk.png differ diff --git a/lib/images/media_link_nolnk.png b/lib/images/media_link_nolnk.png index c9378c7fd072761d8f1f724df1fc7b6403ba21fa..d277ac9554af876c4caa810d2f82c6d8ea7b14cb 100644 Binary files a/lib/images/media_link_nolnk.png and b/lib/images/media_link_nolnk.png differ diff --git a/lib/images/media_size_large.png b/lib/images/media_size_large.png index 012a418c36fd5f2455c4c7f4b7b23a3284fbc8a5..c4f745e4de4a43423078b2e126af36c512026795 100644 Binary files a/lib/images/media_size_large.png and b/lib/images/media_size_large.png differ diff --git a/lib/images/media_size_medium.png b/lib/images/media_size_medium.png index 1469f519fe25bb4ac261075082c072f229497d24..580c63ed57c6ef82989c3458f4ddd9c54e2d5533 100644 Binary files a/lib/images/media_size_medium.png and b/lib/images/media_size_medium.png differ diff --git a/lib/images/media_size_original.png b/lib/images/media_size_original.png index f58d056aa5de557f17288828baf8adcf11e0ca31..60d1925f5272d5cc0ac89f01c09fa457bc66f757 100644 Binary files a/lib/images/media_size_original.png and b/lib/images/media_size_original.png differ diff --git a/lib/images/media_size_small.png b/lib/images/media_size_small.png index a0aafa4a7f0810b48571ecd1001244d54ee67480..8d5a6293be381ead0426decd1929611bf119ce12 100644 Binary files a/lib/images/media_size_small.png and b/lib/images/media_size_small.png differ diff --git a/lib/images/mediamanager.png b/lib/images/mediamanager.png index 822b8458aad4d10125fa0c5201913b59d6a6b07b..5093381b62b3262dcbf8e4b2c031d97954439c68 100644 Binary files a/lib/images/mediamanager.png and b/lib/images/mediamanager.png differ diff --git a/lib/images/notify.png b/lib/images/notify.png index c18ef1001be7f5eebc88ad22a3b60938e1860018..f6c56ee5524600c84180cb4d051fdd1dc96bdd1e 100644 Binary files a/lib/images/notify.png and b/lib/images/notify.png differ diff --git a/lib/images/ns.png b/lib/images/ns.png index c35e832da26a01c0a1a54ca6c88b8ae9423c8b00..77e03b19e838cfc68ddc8b25e8e05015313b5ccc 100644 Binary files a/lib/images/ns.png and b/lib/images/ns.png differ diff --git a/lib/images/open.png b/lib/images/open.png index 5f2d408c53819c8d9519ea9230c119ae0303093f..b9e4fdf97c4cf858f46f75139335b8036c248b31 100644 Binary files a/lib/images/open.png and b/lib/images/open.png differ diff --git a/lib/images/resizecol.png b/lib/images/resizecol.png index b5aeec0043800139c75cb212e0c31d5c14c62b3f..91ad7d15a1533bf49711a5fc0448e0f42f338db6 100644 Binary files a/lib/images/resizecol.png and b/lib/images/resizecol.png differ diff --git a/lib/images/success.png b/lib/images/success.png index 9241adbb2f94a1f792e150f0284806149d4ae5e5..200142f94d0d5a125c449902f696e3949b675fba 100644 Binary files a/lib/images/success.png and b/lib/images/success.png differ diff --git a/lib/images/toolbar/bold.png b/lib/images/toolbar/bold.png index 51ddb8880ea44c574b98c851c79d84d4de316ecb..8f425e9d0e251c46333cce02b241289717814797 100644 Binary files a/lib/images/toolbar/bold.png and b/lib/images/toolbar/bold.png differ diff --git a/lib/images/toolbar/chars.png b/lib/images/toolbar/chars.png index bad37e503ea9e21d5f82952bb70e811d94959898..a906bc86142d6482ca6d86e4ae0d88deefcfb5f1 100644 Binary files a/lib/images/toolbar/chars.png and b/lib/images/toolbar/chars.png differ diff --git a/lib/images/toolbar/h.png b/lib/images/toolbar/h.png index 6a48cbbc0159248d72c70947667fd0bc6e64bc08..7e43d64218ac93f38ec288f8b75095ef7a130d55 100644 Binary files a/lib/images/toolbar/h.png and b/lib/images/toolbar/h.png differ diff --git a/lib/images/toolbar/h1.png b/lib/images/toolbar/h1.png index 85bd06e6cca083f1fb4d2a05e8dccca58d2ef20a..9f1970f4eeea99b611e81d1301c871bd88e3de1e 100644 Binary files a/lib/images/toolbar/h1.png and b/lib/images/toolbar/h1.png differ diff --git a/lib/images/toolbar/h2.png b/lib/images/toolbar/h2.png index be2c60031b0de8e1e1a19a50a40f5a136c20ca6b..adec9ec015d7ad0dc469484f0bf2457c0f5a2db2 100644 Binary files a/lib/images/toolbar/h2.png and b/lib/images/toolbar/h2.png differ diff --git a/lib/images/toolbar/h3.png b/lib/images/toolbar/h3.png index 350da88b698c9d90a288f837d977122787fefb27..a758b89145909153e993029332fda2fca2a71eb6 100644 Binary files a/lib/images/toolbar/h3.png and b/lib/images/toolbar/h3.png differ diff --git a/lib/images/toolbar/h4.png b/lib/images/toolbar/h4.png index bc1b7038f8ad49c4bc29c14e7a8d11cedbd6b254..9cd606133e866043fdbbe670fbbdb46eb5fb45dd 100644 Binary files a/lib/images/toolbar/h4.png and b/lib/images/toolbar/h4.png differ diff --git a/lib/images/toolbar/h5.png b/lib/images/toolbar/h5.png index b6c263dfb347a14beef7e4c5a61acfd03a7ba135..86b725991665a71b03e6ec456f481ec7f8c50625 100644 Binary files a/lib/images/toolbar/h5.png and b/lib/images/toolbar/h5.png differ diff --git a/lib/images/toolbar/hequal.png b/lib/images/toolbar/hequal.png index da4e921ff33cec7cc51c121ba4608110f124e1a7..869a2ddb3ec95fe06dfc57555f935dbfe7e9a528 100644 Binary files a/lib/images/toolbar/hequal.png and b/lib/images/toolbar/hequal.png differ diff --git a/lib/images/toolbar/hminus.png b/lib/images/toolbar/hminus.png index c00f70223fbc8238a1e5722622bb43dcf05f348b..1a99ee4b9ff8fa620aa7d2177e12347028bd68c6 100644 Binary files a/lib/images/toolbar/hminus.png and b/lib/images/toolbar/hminus.png differ diff --git a/lib/images/toolbar/hplus.png b/lib/images/toolbar/hplus.png index 6124b5c33a8274de9894ec6a49c01332d8c68e72..92efcdbd1ead1812d171f3b212d9255c8c17a7c8 100644 Binary files a/lib/images/toolbar/hplus.png and b/lib/images/toolbar/hplus.png differ diff --git a/lib/images/toolbar/hr.png b/lib/images/toolbar/hr.png index de3a8a55bd0bb30dd5b8fd4539eb41e1b5ddb7b0..40ae21026b052d39594547be7f318aadbcf65f1f 100644 Binary files a/lib/images/toolbar/hr.png and b/lib/images/toolbar/hr.png differ diff --git a/lib/images/toolbar/image.png b/lib/images/toolbar/image.png index 70b12fcc21831685ddd5e3e95e77844a0f55946d..5cc7afa698a014631ca2d5b60d09e74eada54a1c 100644 Binary files a/lib/images/toolbar/image.png and b/lib/images/toolbar/image.png differ diff --git a/lib/images/toolbar/italic.png b/lib/images/toolbar/italic.png index d69e66070eb0fda4cd24a9e8507cc3de86f2eadf..b37dc2d5205f52a493e9c78ed0b207a48aa5418e 100644 Binary files a/lib/images/toolbar/italic.png and b/lib/images/toolbar/italic.png differ diff --git a/lib/images/toolbar/link.png b/lib/images/toolbar/link.png index 01105b0d37b1d5d74980509d8fec7f5ea88f11a1..3d2180a6378c5a5158a7cbd4fa18df099bd147f7 100644 Binary files a/lib/images/toolbar/link.png and b/lib/images/toolbar/link.png differ diff --git a/lib/images/toolbar/linkextern.png b/lib/images/toolbar/linkextern.png index acc0c6fc5c9ed87c0b4966de0eb14543efd37d1b..e854572a9300f0d81fe407cb6e273c7aa6dd0ca1 100644 Binary files a/lib/images/toolbar/linkextern.png and b/lib/images/toolbar/linkextern.png differ diff --git a/lib/images/toolbar/mono.png b/lib/images/toolbar/mono.png index b91ad2e0dc87b276016b27523da3152706a09bf0..a6f56d6dc7efa6b333ea560b750d50f3da920b5b 100644 Binary files a/lib/images/toolbar/mono.png and b/lib/images/toolbar/mono.png differ diff --git a/lib/images/toolbar/ol.png b/lib/images/toolbar/ol.png index 186f1fad4559771d75dc28f3904f126de1f59f74..c12229a972a9d7e23d6b17ff79d2b4804fb41c92 100644 Binary files a/lib/images/toolbar/ol.png and b/lib/images/toolbar/ol.png differ diff --git a/lib/images/toolbar/smiley.png b/lib/images/toolbar/smiley.png index 85036c1a8cbfc46db899bcc66f33bac9bf40b068..54f1e6fb49a91dd801b62a9f2720da7eac2c650b 100644 Binary files a/lib/images/toolbar/smiley.png and b/lib/images/toolbar/smiley.png differ diff --git a/lib/images/toolbar/strike.png b/lib/images/toolbar/strike.png index e532d1f07526ae3b3d81d668bec6311a8fba0f81..5adbba40247c70b86e162fca7efef2531b3f788b 100644 Binary files a/lib/images/toolbar/strike.png and b/lib/images/toolbar/strike.png differ diff --git a/lib/images/toolbar/ul.png b/lib/images/toolbar/ul.png index 008820722a297bc030509fa4ce07398c21fbb48b..39e5d342e37269e514f85d8c2818f54647357934 100644 Binary files a/lib/images/toolbar/ul.png and b/lib/images/toolbar/ul.png differ diff --git a/lib/images/toolbar/underline.png b/lib/images/toolbar/underline.png index fa271517cd584fdbc159f7ee9af0aead35f5ae4a..57bf3e25a46db15c7678b43ab700bbbab063062e 100644 Binary files a/lib/images/toolbar/underline.png and b/lib/images/toolbar/underline.png differ diff --git a/lib/images/unc.png b/lib/images/unc.png index a552d6e6fafea438226730804df7095021f640ac..145b728bbd1bc3e340ab509802bc475c2da7556a 100644 Binary files a/lib/images/unc.png and b/lib/images/unc.png differ diff --git a/lib/images/up.png b/lib/images/up.png index b1eac912d7979b3829d9df3cadd75ae5b39756b9..dbacf3f23e5651e28d977e94055c4158204b6f3c 100644 Binary files a/lib/images/up.png and b/lib/images/up.png differ diff --git a/lib/plugins/acl/admin.php b/lib/plugins/acl/admin.php index 814bbfe9c44ff27524cad7b2e6c87c43c5d1b63f..f4baec9941aeca5aaad3ec70eb4ac10c05cc5403 100644 --- a/lib/plugins/acl/admin.php +++ b/lib/plugins/acl/admin.php @@ -332,7 +332,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { echo $this->getLang('acl_perms').' '; $inl = $this->_html_select(); echo '<input type="text" name="acl_w" class="edit" value="'.(($inl)?'':hsc(ltrim($this->who,'@'))).'" />'.NL; - echo '<input type="submit" value="'.$this->getLang('btn_select').'" class="button" />'.NL; + echo '<button type="submit">'.$this->getLang('btn_select').'</button>'.NL; echo '</div>'.NL; echo '<div id="acl__info">'; @@ -391,10 +391,10 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { echo $this->_html_checkboxes($current,empty($this->ns),'acl'); if(is_null($current)){ - echo '<input type="submit" name="cmd[save]" class="button" value="'.$lang['btn_save'].'" />'.NL; + echo '<button type="submit" name="cmd[save]">'.$lang['btn_save'].'</button>'.NL; }else{ - echo '<input type="submit" name="cmd[save]" class="button" value="'.$lang['btn_update'].'" />'.NL; - echo '<input type="submit" name="cmd[del]" class="button" value="'.$lang['btn_delete'].'" />'.NL; + echo '<button type="submit" name="cmd[save]">'.$lang['btn_update'].'</button>'.NL; + echo '<button type="submit" name="cmd[del]">'.$lang['btn_delete'].'</button>'.NL; } echo '</fieldset>'; @@ -641,7 +641,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { echo '<tr>'; echo '<th class="action" colspan="4">'; - echo '<input type="submit" value="'.$lang['btn_update'].'" name="cmd[update]" class="button" />'; + echo '<button type="submit" name="cmd[update]">'.$lang['btn_update'].'</button>'; echo '</th>'; echo '</tr>'; echo '</table>'; @@ -682,7 +682,6 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { */ function _acl_add($acl_scope, $acl_user, $acl_level){ global $config_cascade; - $acl_config = file_get_contents($config_cascade['acl']['default']); $acl_user = auth_nameencode($acl_user,true); // max level for pagenames is edit @@ -692,9 +691,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { $new_acl = "$acl_scope\t$acl_user\t$acl_level\n"; - $new_config = $acl_config.$new_acl; - - return io_saveFile($config_cascade['acl']['default'], $new_config); + return io_saveFile($config_cascade['acl']['default'], $new_acl, true); } /** @@ -704,15 +701,11 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { */ function _acl_del($acl_scope, $acl_user){ global $config_cascade; - $acl_config = file($config_cascade['acl']['default']); $acl_user = auth_nameencode($acl_user,true); $acl_pattern = '^'.preg_quote($acl_scope,'/').'[ \t]+'.$acl_user.'[ \t]+[0-8].*$'; - // save all non!-matching - $new_config = preg_grep("/$acl_pattern/", $acl_config, PREG_GREP_INVERT); - - return io_saveFile($config_cascade['acl']['default'], join('',$new_config)); + return io_deleteFromFile($config_cascade['acl']['default'], "/$acl_pattern/", true); } /** diff --git a/lib/plugins/acl/lang/bg/help.txt b/lib/plugins/acl/lang/bg/help.txt index 2de45342056180b1a27d547975fc993729b3a96c..ffda1ff7136e8615163a5387975ce0939780612c 100644 --- a/lib/plugins/acl/lang/bg/help.txt +++ b/lib/plugins/acl/lang/bg/help.txt @@ -1,11 +1,9 @@ === Помощ === От тук можете да добавÑте и премахвате права за именни проÑтранÑтва и Ñтраници във вашето Wiki. - -ЛевиÑÑ‚ панел показва вÑички налични именни проÑтранÑтва и Ñтраници. - -Формата отгоре ви позволÑва да преглеждате и променÑте правата на избран потребител или група. - -Ð’ таблицата отдолу Ñа показани вÑички актуални правила за контрол на доÑтъпа. Можете да Ñ Ð¿Ð¾Ð»Ð·Ð²Ð°Ñ‚Ðµ за бързо изтриване или промÑна на множеÑтво правила. + * левиÑÑ‚ панел показва вÑички налични именни проÑтранÑтва и Ñтраници. + * формата отгоре ви позволÑва да преглеждате и променÑте правата на избран потребител или група. + * в таблицата долу Ñа показани вÑички актуални правила за контрол на доÑтъпа. +Можете да Ñ Ð¿Ð¾Ð»Ð·Ð²Ð°Ñ‚Ðµ за бързо изтриване или промÑна на множеÑтво правила. За да разберете как работи контрола на доÑтъпа в DokuWiki Ñ‚Ñ€Ñбва да прочетете [[doku>acl|документациÑта отноÑно ACL]]. \ No newline at end of file diff --git a/lib/plugins/acl/lang/ca/lang.php b/lib/plugins/acl/lang/ca/lang.php index bead981f00765a74832a316a9bd0cdce7e2b1f01..18a4a3602d9c0269b78632c01e4ff8da36d95064 100644 --- a/lib/plugins/acl/lang/ca/lang.php +++ b/lib/plugins/acl/lang/ca/lang.php @@ -1,8 +1,8 @@ <?php + /** - * catalan language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Carles Bellver <carles.bellver@cent.uji.es> * @author Carles Bellver <carles.bellver@gmail.com> * @author carles.bellver@gmail.com diff --git a/lib/plugins/acl/lang/cy/help.txt b/lib/plugins/acl/lang/cy/help.txt new file mode 100644 index 0000000000000000000000000000000000000000..f3d6474f848523e1504258cb3856c3420e5ef871 --- /dev/null +++ b/lib/plugins/acl/lang/cy/help.txt @@ -0,0 +1,10 @@ +=== Cymorth Byw: === + +Ar y dudalen hon, gallwch chi ychwanegu a dileu hawliau ar gyfer namespaces a thudalennau yn eich wici. + * Mae'r panel ar y chwith yn dangos pob namespace a thudalen. + * Mae'r ffurflen uchod yn eich galluogi chi i weld a newid hawliau defnyddiwr neu grŵp a ddewiswyd. + * Yn y tabl isod, dengys pob rheol rheoli mynediad sydd wedi'u gosod yn bresennol. Gallwch chi ei ddefnyddio i ddileu neu newid sawl rheol ar y tro. + +Gall darllen [[doku>acl|dogfennaeth swyddogol ar ACL]] fod o fudd er mwyn eich helpu chi ddeall yn llawn sut mae rheolaeth mynediad yn gweithio mewn DokuWiki. + + diff --git a/lib/plugins/acl/lang/cy/lang.php b/lib/plugins/acl/lang/cy/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..add3ca40422094c046df8f6ccece1911c3e108fb --- /dev/null +++ b/lib/plugins/acl/lang/cy/lang.php @@ -0,0 +1,47 @@ +<?php +/** + * welsh language file + * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * @author Andreas Gohr <andi@splitbrain.org> + * @author Anika Henke <anika@selfthinker.org> + * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> + * @author Alan Davies <ben.brynsadler@gmail.com> + */ + +$lang['admin_acl'] = 'Rheolaeth Rhestr Rheoli Mynediad'; +$lang['acl_group'] = 'Grŵp:'; +$lang['acl_user'] = 'Defnyddiwr:'; +$lang['acl_perms'] = 'Hawliau'; +$lang['page'] = 'Tudalen'; +$lang['namespace'] = 'Namespace'; //namespace + +$lang['btn_select'] = 'Dewis'; + +$lang['p_user_id'] = 'Mae gan y defnyddiwr <b class="acluser">%s</b> yr hawliau canlynol yn bresennol ar dudalen <b class="aclpage">%s</b>: <i>%s</i>.'; +$lang['p_user_ns'] = 'Mae gan y defnyddiwr <b class="acluser">%s</b> yr hawliau canlynol yn bresennol mewn namespace <b class="aclns">%s</b>: <i>%s</i>.';//namespace +$lang['p_group_id'] = 'Mae gan aelodau grŵp <b class="aclgroup">%s</b> yr hawliau canlynol yn bresennol ar dudalen <b class="aclpage">%s</b>: <i>%s</i>.'; +$lang['p_group_ns'] = 'Mae gan aelodau grŵp <b class="aclgroup">%s</b> yr hawliau canlynol yn bresennol mewn namespace <b class="aclns">%s</b>: <i>%s</i>.';//namespace + +$lang['p_choose_id'] = 'Rhowch <b>ddefnyddiwr neu grŵp</b> yn y ffurflen uchod i weld neu golugu\'r hawliau sydd wedi\'u gosod ar gyfer y dudalen <b class="aclpage">%s</b>.'; +$lang['p_choose_ns'] = 'Rhowch <b>ddefnyddiwr neu grŵp</b> yn y ffurflen uchod i weld neu golugu\'r hawliau sydd wedi\'u gosod ar gyfer y namespace <b class="aclns">%s</b>.';//namespace + + +$lang['p_inherited'] = 'Sylw: Doedd yr hawliau hynny heb eu gosod yn uniongyrchol ond cawsant eu hetifeddu o grwpiau eraill neu namespaces uwch.';//namespace +$lang['p_isadmin'] = 'Sylw: Mae gan y grŵp neu\'r defnyddiwr hawliau llawn oherwydd mae wedi\'i ffurfweddu fel uwchddefnyddiwr.'; +$lang['p_include'] = 'Mae hawliau uwch yn cynnwys rhai is. Mae Creu, Lanlwytho a Dileu yn berthnasol i namespaces yn unig, nid tudalennau.';//namespace + +$lang['current'] = 'Rheolau ACL Cyfredol'; +$lang['where'] = 'Tudalen/Namespace';//namespace +$lang['who'] = 'Defnyddiwr/Grŵp'; +$lang['perm'] = 'Hawliau'; + +$lang['acl_perm0'] = 'Dim'; +$lang['acl_perm1'] = 'Darllen'; +$lang['acl_perm2'] = 'Golygu'; +$lang['acl_perm4'] = 'Creu'; +$lang['acl_perm8'] = 'Lanlwytho'; +$lang['acl_perm16'] = 'Dileu'; +$lang['acl_new'] = 'Ychwanegu Cofnod Newydd'; +$lang['acl_mod'] = 'Newid Cofnod'; +//Setup VIM: ex: et ts=2 : diff --git a/lib/plugins/acl/lang/de/lang.php b/lib/plugins/acl/lang/de/lang.php index f25a2ea7159ad72829575f4c0f6eb98b99af4b78..f4d7cc9e26b494d645ba50849a7d7bce7cc4bdb2 100644 --- a/lib/plugins/acl/lang/de/lang.php +++ b/lib/plugins/acl/lang/de/lang.php @@ -21,6 +21,7 @@ * @author Christian Wichmann <nospam@zone0.de> * @author Paul Lachewsky <kaeptn.haddock@gmail.com> * @author Pierre Corell <info@joomla-praxis.de> + * @author Michael Große <grosse@cosmocode.de> */ $lang['admin_acl'] = 'Zugangsverwaltung'; $lang['acl_group'] = 'Gruppe:'; @@ -36,7 +37,7 @@ $lang['p_group_ns'] = 'Mitglieder der Gruppe <b class="aclgroup">%s</ $lang['p_choose_id'] = 'Bitte geben Sie in obigem Formular eine <b>einen Benutzer oder eine Gruppe</b> an, um die Berechtigungen für die Seite <b class="aclpage">%s</b> zu sehen oder zu ändern.'; $lang['p_choose_ns'] = 'Bitte geben Sie in obigem Formular eine <b>einen Benutzer oder eine Gruppe</b> an, um die Berechtigungen für den Namensraum <b class="aclns">%s</b> zu sehen oder zu ändern.'; $lang['p_inherited'] = 'Hinweis: Diese Berechtigungen wurden nicht explizit gesetzt, sondern von anderen Gruppen oder höher liegenden Namensräumen geerbt.'; -$lang['p_isadmin'] = 'Hinweis: Die ausgewählte Gruppe oder Benutzer haben immer alle Berechtigungen das sie als Superuser konfiguriert wurden.'; +$lang['p_isadmin'] = 'Hinweis: Die ausgewählte Gruppe oder Benutzer haben immer alle Berechtigungen, da sie als Superuser konfiguriert wurden.'; $lang['p_include'] = 'Höhere Berechtigungen schließen niedrigere mit ein. Anlegen, Hochladen und Entfernen gilt nur für Namensräume, nicht für einzelne Seiten'; $lang['current'] = 'Momentane Zugriffsregeln'; $lang['where'] = 'Seite/Namensraum'; diff --git a/lib/plugins/acl/lang/es/help.txt b/lib/plugins/acl/lang/es/help.txt index c683477a873b94e6c93bf73f8f25e582e35bf575..01f7a2e79c1d1025a4864df7a2b377c6b3ad3c47 100644 --- a/lib/plugins/acl/lang/es/help.txt +++ b/lib/plugins/acl/lang/es/help.txt @@ -2,7 +2,7 @@ En esta página puede agregar o retirar permisos para los espacios de nombres y páginas en su wiki. -El panel de la izquierda muiestra todos los espacios de nombres y páginas +El panel de la izquierda muestra todos los espacios de nombres y páginas El formulario inferior permite ver y modificar los permisos del usuario o grupo elegido. diff --git a/lib/plugins/acl/lang/ja/help.txt b/lib/plugins/acl/lang/ja/help.txt index f7867f8e256e6b5d32d4ef7e72ec6b7dd773620b..a1f03a3afb52e8315f14747be7edcc2dbb002369 100644 --- a/lib/plugins/acl/lang/ja/help.txt +++ b/lib/plugins/acl/lang/ja/help.txt @@ -1,11 +1,8 @@ -=== クイックヘルプ: === +=== æ“作案内 === -ã“ã®ãƒšãƒ¼ã‚¸ã§ã¯ã€Wiki内ã®åå‰ç©ºé–“ã¨ãƒšãƒ¼ã‚¸ã«å¯¾ã™ã‚‹æ¨©é™ã‚’è¿½åŠ ãƒ»å‰Šé™¤ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +ã“ã®ãƒšãƒ¼ã‚¸ã§ã¯ã€Wiki 内ã®åå‰ç©ºé–“ã¨ãƒšãƒ¼ã‚¸ã«å¯¾ã™ã‚‹æ¨©é™ã‚’è¿½åŠ ãƒ»å‰Šé™¤ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + * å·¦å´ã®ãƒœãƒƒã‚¯ã‚¹ã«ã¯å˜åœ¨ã™ã‚‹åå‰ç©ºé–“ã¨ãƒšãƒ¼ã‚¸ãŒè¡¨ç¤ºã•ã‚Œã¦ã„ã¾ã™ã€‚ + * 上部ã®ãƒ•ã‚©ãƒ¼ãƒ を使ã£ã¦ã€é¸æŠžã—ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚‚ã—ãã¯ã‚°ãƒ«ãƒ¼ãƒ—ã®æ¨©é™ã‚’閲覧・変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + * 下部ã®ä¸€è¦§ã¯ã€ç¾åœ¨è¨å®šã•ã‚Œã¦ã„るアクセス制御ã®ãƒ«ãƒ¼ãƒ«ã‚’表示ã—ã¾ã™ã€‚ã“ã®ä¸€è¦§ã‚’使ã£ã¦ã€è¤‡æ•°ã®ãƒ«ãƒ¼ãƒ«ã‚’ç´ æ—©ã変更・削除ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚ -å·¦å´ã®ãƒœãƒƒã‚¯ã‚¹ã«ã¯å˜åœ¨ã™ã‚‹åå‰ç©ºé–“ã¨ãƒšãƒ¼ã‚¸ãŒè¡¨ç¤ºã•ã‚Œã¦ã„ã¾ã™ã€‚ - -上記ã®ãƒ•ã‚©ãƒ¼ãƒ を使ã£ã¦ã€é¸æŠžã—ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚‚ã—ãã¯ã‚°ãƒ«ãƒ¼ãƒ—ã®æ¨©é™ã‚’閲覧・変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ - -以下ã®ãƒ†ãƒ¼ãƒ—ルã«ã¯ã€ç¾åœ¨è¨å®šã•ã‚Œã¦ã„るアクセスコントãƒãƒ¼ãƒ«ã®ãƒ«ãƒ¼ãƒ«ãŒè¡¨ç¤ºã•ã‚Œã¦ã„ã¾ã™ã€‚ã“ã®ãƒ†ãƒ¼ãƒ–ルを使ã£ã¦ã€è¤‡æ•°ã®ãƒ«ãƒ¼ãƒ«ã‚’ç´ æ—©ã変更・削除ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚ - -DokuWikiã®ã‚¢ã‚¯ã‚»ã‚¹ã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ«ã«ã¤ã„ã¦ã¯ã€[[doku>acl|official documentation on ACL]] ã‚’ãŠèªã¿ä¸‹ã•ã„。 \ No newline at end of file +DokuWiki ã®ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡ã«ã¤ã„ã¦ã¯ã€[[doku>ja:acl|アクセス制御リスト (ACL)ã®å…¬å¼è§£èª¬]]ã‚’ãŠèªã¿ä¸‹ã•ã„。 \ No newline at end of file diff --git a/lib/plugins/acl/lang/ko/lang.php b/lib/plugins/acl/lang/ko/lang.php index 35563ff6c75fc1fb951fb5333959c997e65a20bf..40b6ff3510aa89669ba1053ebec500ffdc1a8b03 100644 --- a/lib/plugins/acl/lang/ko/lang.php +++ b/lib/plugins/acl/lang/ko/lang.php @@ -21,10 +21,10 @@ $lang['acl_perms'] = '권한'; $lang['page'] = '문서'; $lang['namespace'] = 'ì´ë¦„공간'; $lang['btn_select'] = 'ì„ íƒ'; -$lang['p_user_id'] = '<b class="acluser">%s</b> 사용ìžëŠ” 현재 <b class="aclpage">%s</b>: <i>%s</i> 문서 ì ‘ê·¼ì´ ê°€ëŠ¥í•©ë‹ˆë‹¤.'; -$lang['p_user_ns'] = '<b class="acluser">%s</b> 사용ìžëŠ” 현재 <b class="aclns">%s</b>: <i>%s</i> ì´ë¦„공간 ì ‘ê·¼ì´ ê°€ëŠ¥í•©ë‹ˆë‹¤.'; -$lang['p_group_id'] = '<b class="aclgroup">%s</b> 그룹 구성ì›ì€ 현재 <b class="aclpage">%s</b>: <i>%s</i> 문서 ì ‘ê·¼ì´ ê°€ëŠ¥í•©ë‹ˆë‹¤.'; -$lang['p_group_ns'] = '<b class="aclgroup">%s</b> 그룹 구성ì›ì€ 현재 <b class="aclns">%s</b>: <i>%s</i> ì´ë¦„공간 ì ‘ê·¼ì´ ê°€ëŠ¥í•©ë‹ˆë‹¤.'; +$lang['p_user_id'] = '<b class="acluser">%s</b> 사용ìžëŠ” 현재 <b class="aclpage">%s</b>: <i>%s</i> ë¬¸ì„œì— ì ‘ê·¼ì´ ê°€ëŠ¥í•©ë‹ˆë‹¤.'; +$lang['p_user_ns'] = '<b class="acluser">%s</b> 사용ìžëŠ” 현재 <b class="aclns">%s</b>: <i>%s</i> ì´ë¦„ê³µê°„ì— ì ‘ê·¼ì´ ê°€ëŠ¥í•©ë‹ˆë‹¤.'; +$lang['p_group_id'] = '<b class="aclgroup">%s</b> 그룹 구성ì›ì€ 현재 <b class="aclpage">%s</b>: <i>%s</i> ë¬¸ì„œì— ì ‘ê·¼ì´ ê°€ëŠ¥í•©ë‹ˆë‹¤.'; +$lang['p_group_ns'] = '<b class="aclgroup">%s</b> 그룹 구성ì›ì€ 현재 <b class="aclns">%s</b>: <i>%s</i> ì´ë¦„ê³µê°„ì— ì ‘ê·¼ì´ ê°€ëŠ¥í•©ë‹ˆë‹¤.'; $lang['p_choose_id'] = '<b class="aclpage">%s</b> 문서 ì ‘ê·¼ ê¶Œí•œì„ ë³´ê±°ë‚˜ ë°”ê¾¸ë ¤ë©´ <b>사용ìž</b>나 <b>그룹</b>ì„ ìœ„ ì–‘ì‹ì— ìž…ë ¥í•˜ì„¸ìš”.'; $lang['p_choose_ns'] = '<b class="aclns">%s</b> ì´ë¦„공간 ì ‘ê·¼ ê¶Œí•œì„ ë³´ê±°ë‚˜ ë°”ê¾¸ë ¤ë©´ <b>사용ìž</b>나 <b>그룹</b>ì„ ìœ„ ì–‘ì‹ì— ìž…ë ¥í•˜ì„¸ìš”.'; $lang['p_inherited'] = 'ì°¸ê³ : ê¶Œí•œì´ ëª…ì‹œì 으로 ì„¤ì •ë˜ì§€ 않았으므로 다른 그룹ì´ë‚˜ ìƒìœ„ ì´ë¦„공간으로부터 ê°€ì ¸ì™”ìŠµë‹ˆë‹¤.'; diff --git a/lib/plugins/acl/lang/lt/lang.php b/lib/plugins/acl/lang/lt/lang.php index ef339177b772745a629f69cdf5d2d2ede3c49121..2a1748abc50241d7f3d518fdf3177d620250528c 100644 --- a/lib/plugins/acl/lang/lt/lang.php +++ b/lib/plugins/acl/lang/lt/lang.php @@ -1,8 +1,8 @@ <?php + /** - * lithuanian language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Linas Valiukas <shirshegsm@gmail.com> * @author audrius.klevas@gmail.com * @author Arunas Vaitekunas <aras@fan.lt> diff --git a/lib/plugins/acl/pix/group.png b/lib/plugins/acl/pix/group.png index d80eb2606865fabcbc9ee53e2e0d1534df8c6337..348d4e55cee99dd26e62a054641735d571a5d6e4 100644 Binary files a/lib/plugins/acl/pix/group.png and b/lib/plugins/acl/pix/group.png differ diff --git a/lib/plugins/acl/pix/ns.png b/lib/plugins/acl/pix/ns.png index c35e832da26a01c0a1a54ca6c88b8ae9423c8b00..77e03b19e838cfc68ddc8b25e8e05015313b5ccc 100644 Binary files a/lib/plugins/acl/pix/ns.png and b/lib/plugins/acl/pix/ns.png differ diff --git a/lib/plugins/acl/pix/user.png b/lib/plugins/acl/pix/user.png index 7b4a507a0007c2d7237c9450d344eb51877ad155..8d5d1c2e9bd82220dd8fb533e621f1b2bc113c14 100644 Binary files a/lib/plugins/acl/pix/user.png and b/lib/plugins/acl/pix/user.png differ diff --git a/lib/plugins/acl/plugin.info.txt b/lib/plugins/acl/plugin.info.txt index cb8fe7e8e9be26e96c36ddb204e3c4270e858a8d..1b2c82cb307b33c0c2a2c690cbce6316c8a156fa 100644 --- a/lib/plugins/acl/plugin.info.txt +++ b/lib/plugins/acl/plugin.info.txt @@ -1,7 +1,7 @@ base acl author Andreas Gohr email andi@splitbrain.org -date 2014-06-04 +date 2015-07-25 name ACL Manager desc Manage Page Access Control Lists url http://dokuwiki.org/plugin:acl diff --git a/lib/plugins/acl/remote.php b/lib/plugins/acl/remote.php index b10c544eeb05bf5007952bbd8e5c257ce06e98d5..031686f959ab1c568b3a597e6060c02eb7fe04cc 100644 --- a/lib/plugins/acl/remote.php +++ b/lib/plugins/acl/remote.php @@ -8,7 +8,7 @@ class remote_plugin_acl extends DokuWiki_Remote_Plugin { /** * Returns details about the remote plugin methods * - * @return array + * @return array Information about all provided methods. {@see RemoteAPI} */ public function _getMethods() { return array( @@ -32,9 +32,14 @@ class remote_plugin_acl extends DokuWiki_Remote_Plugin { * @param string $scope * @param string $user * @param int $level see also inc/auth.php + * @throws RemoteAccessDeniedException * @return bool */ public function addAcl($scope, $user, $level){ + if(!auth_isadmin()) { + throw new RemoteAccessDeniedException('You are not allowed to access ACLs, superuser permission is required', 114); + } + /** @var admin_plugin_acl $apa */ $apa = plugin_load('admin', 'acl'); return $apa->_acl_add($scope, $user, $level); @@ -45,9 +50,14 @@ class remote_plugin_acl extends DokuWiki_Remote_Plugin { * * @param string $scope * @param string $user + * @throws RemoteAccessDeniedException * @return bool */ public function delAcl($scope, $user){ + if(!auth_isadmin()) { + throw new RemoteAccessDeniedException('You are not allowed to access ACLs, superuser permission is required', 114); + } + /** @var admin_plugin_acl $apa */ $apa = plugin_load('admin', 'acl'); return $apa->_acl_del($scope, $user); diff --git a/lib/plugins/acl/script.js b/lib/plugins/acl/script.js index 58598b1e04d382cd395194007d93b3e0e248b875..86badffdd66f746a3930793ad3e9b6f826b21cd5 100644 --- a/lib/plugins/acl/script.js +++ b/lib/plugins/acl/script.js @@ -16,7 +16,7 @@ var dw_acl = { } jQuery('#acl__user select').change(dw_acl.userselhandler); - jQuery('#acl__user input[type=submit]').click(dw_acl.loadinfo); + jQuery('#acl__user button').click(dw_acl.loadinfo); $tree = jQuery('#acl__tree'); $tree.dw_tree({toggle_selector: 'img', diff --git a/lib/plugins/acl/style.css b/lib/plugins/acl/style.css index a53a03450cc7e82a3de156edeab61229f87cff06..4233cd30bea4b68ee7aa853c08ac27fbfc892459 100644 --- a/lib/plugins/acl/style.css +++ b/lib/plugins/acl/style.css @@ -81,7 +81,6 @@ [dir=rtl] #acl_manager .aclgroup { background: transparent url(pix/group.png) right 1px no-repeat; padding: 1px 18px 1px 0px; - display: inline-block; /* needed for IE7 */ } #acl_manager .acluser { @@ -91,7 +90,6 @@ [dir=rtl] #acl_manager .acluser { background: transparent url(pix/user.png) right 1px no-repeat; padding: 1px 18px 1px 0px; - display: inline-block; /* needed for IE7 */ } #acl_manager .aclpage { @@ -101,7 +99,6 @@ [dir=rtl] #acl_manager .aclpage { background: transparent url(pix/page.png) right 1px no-repeat; padding: 1px 18px 1px 0px; - display: inline-block; /* needed for IE7 */ } #acl_manager .aclns { @@ -111,7 +108,6 @@ [dir=rtl] #acl_manager .aclns { background: transparent url(pix/ns.png) right 1px no-repeat; padding: 1px 18px 1px 0px; - display: inline-block; /* needed for IE7 */ } #acl_manager label.disabled { diff --git a/lib/plugins/action.php b/lib/plugins/action.php index 4b5eef60a8b7e23ce3517158dd7524b7952dd05f..23d94a509394f2620d8b3e30667e46e55623c354 100644 --- a/lib/plugins/action.php +++ b/lib/plugins/action.php @@ -16,6 +16,8 @@ class DokuWiki_Action_Plugin extends DokuWiki_Plugin { /** * Registers a callback function for a given event + * + * @param Doku_Event_Handler $controller */ public function register(Doku_Event_Handler $controller) { trigger_error('register() not implemented in '.get_class($this), E_USER_WARNING); diff --git a/lib/plugins/auth.php b/lib/plugins/auth.php index 4799b3a38dad26a3d3a9a7b4cdc36b1b3ea9df0d..036cb0d77531adec6e4511cb4ccb56b34bc2be88 100644 --- a/lib/plugins/auth.php +++ b/lib/plugins/auth.php @@ -295,7 +295,7 @@ class DokuWiki_Auth_Plugin extends DokuWiki_Plugin { */ public function deleteUsers($users) { msg("authorisation method does not allow deleting of users", -1); - return false; + return 0; } /** diff --git a/lib/plugins/authad/action.php b/lib/plugins/authad/action.php index 97be9897e676303a238097aa879c33118714c3ff..bc0f90c7ed3121bc974380d8aef2b360745bad0b 100644 --- a/lib/plugins/authad/action.php +++ b/lib/plugins/authad/action.php @@ -17,7 +17,7 @@ class action_plugin_authad extends DokuWiki_Action_Plugin { /** * Registers a callback function for a given event */ - public function register(Doku_Event_Handler &$controller) { + public function register(Doku_Event_Handler $controller) { $controller->register_hook('AUTH_LOGIN_CHECK', 'BEFORE', $this, 'handle_auth_login_check'); $controller->register_hook('HTML_LOGINFORM_OUTPUT', 'BEFORE', $this, 'handle_html_loginform_output'); diff --git a/lib/plugins/authad/auth.php b/lib/plugins/authad/auth.php index 88b56046cf3fedd6264cf7bd9be757302f9cc842..6e4f85f36847779048b0cd5ca94dff6406ec7177 100644 --- a/lib/plugins/authad/auth.php +++ b/lib/plugins/authad/auth.php @@ -3,6 +3,7 @@ if(!defined('DOKU_INC')) die(); require_once(DOKU_PLUGIN.'authad/adLDAP/adLDAP.php'); +require_once(DOKU_PLUGIN.'authad/adLDAP/classes/adLDAPUtils.php'); /** * Active Directory authentication backend for DokuWiki @@ -67,6 +68,10 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin { */ protected $_pattern = array(); + protected $_actualstart = 0; + + protected $_grpsusers = array(); + /** * Constructor */ @@ -114,8 +119,9 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin { } // other can do's are changed in $this->_loadServerConfig() base on domain setup - $this->cando['modName'] = true; - $this->cando['modMail'] = true; + $this->cando['modName'] = (bool)$this->conf['update_name']; + $this->cando['modMail'] = (bool)$this->conf['update_mail']; + $this->cando['getUserCount'] = true; } /** @@ -252,7 +258,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin { ($info['expiresin'] <= $this->conf['expirywarn']) && !$this->msgshown ) { - $msg = sprintf($lang['authpwdexpire'], $info['expiresin']); + $msg = sprintf($this->getLang('authpwdexpire'), $info['expiresin']); if($this->canDo('modPass')) { $url = wl($ID, array('do'=> 'profile')); $msg .= ' <a href="'.$url.'">'.$lang['btn_profile'].'</a>'; @@ -325,15 +331,138 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin { return false; } + /** + * Create a Search-String useable by adLDAPUsers::all($includeDescription = false, $search = "*", $sorted = true) + * + * @param array $filter + * @return string + */ + protected function _constructSearchString($filter){ + if (!$filter){ + return '*'; + } + $adldapUtils = new adLDAPUtils($this->_adldap(null)); + $result = '*'; + if (isset($filter['name'])) { + $result .= ')(displayname=*' . $adldapUtils->ldapSlashes($filter['name']) . '*'; + unset($filter['name']); + } + + if (isset($filter['user'])) { + $result .= ')(samAccountName=*' . $adldapUtils->ldapSlashes($filter['user']) . '*'; + unset($filter['user']); + } + + if (isset($filter['mail'])) { + $result .= ')(mail=*' . $adldapUtils->ldapSlashes($filter['mail']) . '*'; + unset($filter['mail']); + } + return $result; + } + + /** + * Return a count of the number of user which meet $filter criteria + * + * @param array $filter $filter array of field/pattern pairs, empty array for no filter + * @return int number of users + */ + public function getUserCount($filter = array()) { + $adldap = $this->_adldap(null); + if(!$adldap) { + dbglog("authad/auth.php getUserCount(): _adldap not set."); + return -1; + } + if ($filter == array()) { + $result = $adldap->user()->all(); + } else { + $searchString = $this->_constructSearchString($filter); + $result = $adldap->user()->all(false, $searchString); + if (isset($filter['grps'])) { + $this->users = array_fill_keys($result, false); + $usermanager = plugin_load("admin", "usermanager", false); + $usermanager->setLastdisabled(true); + if (!isset($this->_grpsusers[$this->_filterToString($filter)])){ + $this->_fillGroupUserArray($filter,$usermanager->getStart() + 3*$usermanager->getPagesize()); + } elseif (count($this->_grpsusers[$this->_filterToString($filter)]) < $usermanager->getStart() + 3*$usermanager->getPagesize()) { + $this->_fillGroupUserArray($filter,$usermanager->getStart() + 3*$usermanager->getPagesize() - count($this->_grpsusers[$this->_filterToString($filter)])); + } + $result = $this->_grpsusers[$this->_filterToString($filter)]; + } else { + $usermanager = plugin_load("admin", "usermanager", false); + $usermanager->setLastdisabled(false); + } + + } + + if (!$result) { + return 0; + } + return count($result); + } + + /** + * + * create a unique string for each filter used with a group + * + * @param array $filter + * @return string + */ + protected function _filterToString ($filter) { + $result = ''; + if (isset($filter['user'])) { + $result .= 'user-' . $filter['user']; + } + if (isset($filter['name'])) { + $result .= 'name-' . $filter['name']; + } + if (isset($filter['mail'])) { + $result .= 'mail-' . $filter['mail']; + } + if (isset($filter['grps'])) { + $result .= 'grps-' . $filter['grps']; + } + return $result; + } + + /** + * Create an array of $numberOfAdds users passing a certain $filter, including belonging + * to a certain group and save them to a object-wide array. If the array + * already exists try to add $numberOfAdds further users to it. + * + * @param array $filter + * @param int $numberOfAdds additional number of users requested + * @return int number of Users actually add to Array + */ + protected function _fillGroupUserArray($filter, $numberOfAdds){ + $this->_grpsusers[$this->_filterToString($filter)]; + $i = 0; + $count = 0; + $this->_constructPattern($filter); + foreach ($this->users as $user => &$info) { + if($i++ < $this->_actualstart) { + continue; + } + if($info === false) { + $info = $this->getUserData($user); + } + if($this->_filter($user, $info)) { + $this->_grpsusers[$this->_filterToString($filter)][$user] = $info; + if(($numberOfAdds > 0) && (++$count >= $numberOfAdds)) break; + } + } + $this->_actualstart = $i; + return $count; + } + /** * Bulk retrieval of user data * * @author Dominik Eckelmann <dokuwiki@cosmocode.de> * - * @param int $start index of first user to be returned - * @param int $limit max number of users to be returned - * @param array $filter array of field/pattern pairs, null for no filter - * @return array userinfo (refer getUserData for internal userinfo details) + * @param int $start index of first user to be returned + * @param int $limit max number of users to be returned + * @param array $filter array of field/pattern pairs, null for no filter + * @return array userinfo (refer getUserData for internal userinfo details) */ public function retrieveUsers($start = 0, $limit = 0, $filter = array()) { $adldap = $this->_adldap(null); @@ -341,27 +470,44 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin { if(!$this->users) { //get info for given user - $result = $adldap->user()->all(); + $result = $adldap->user()->all(false, $this->_constructSearchString($filter)); if (!$result) return array(); $this->users = array_fill_keys($result, false); } $i = 0; $count = 0; - $this->_constructPattern($filter); $result = array(); - foreach($this->users as $user => &$info) { - if($i++ < $start) { - continue; + if (!isset($filter['grps'])) { + $usermanager = plugin_load("admin", "usermanager", false); + $usermanager->setLastdisabled(false); + $this->_constructPattern($filter); + foreach($this->users as $user => &$info) { + if($i++ < $start) { + continue; + } + if($info === false) { + $info = $this->getUserData($user); + } + $result[$user] = $info; + if(($limit > 0) && (++$count >= $limit)) break; } - if($info === false) { - $info = $this->getUserData($user); + } else { + $usermanager = plugin_load("admin", "usermanager", false); + $usermanager->setLastdisabled(true); + if (!isset($this->_grpsusers[$this->_filterToString($filter)]) || count($this->_grpsusers[$this->_filterToString($filter)]) < ($start+$limit)) { + $this->_fillGroupUserArray($filter,$start+$limit - count($this->_grpsusers[$this->_filterToString($filter)]) +1); } - if($this->_filter($user, $info)) { + if (!$this->_grpsusers[$this->_filterToString($filter)]) return false; + foreach($this->_grpsusers[$this->_filterToString($filter)] as $user => &$info) { + if($i++ < $start) { + continue; + } $result[$user] = $info; if(($limit > 0) && (++$count >= $limit)) break; } + } return $result; } @@ -376,7 +522,10 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin { public function modifyUser($user, $changes) { $return = true; $adldap = $this->_adldap($this->_userDomain($user)); - if(!$adldap) return false; + if(!$adldap) { + msg($this->getLang('connectfail'), -1); + return false; + } // password changing if(isset($changes['pass'])) { @@ -386,7 +535,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin { if ($this->conf['debug']) msg('AD Auth: '.$e->getMessage(), -1); $return = false; } - if(!$return) msg('AD Auth: failed to change the password. Maybe the password policy was not met?', -1); + if(!$return) msg($this->getLang('passchangefail'), -1); } // changing user data @@ -408,6 +557,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin { if ($this->conf['debug']) msg('AD Auth: '.$e->getMessage(), -1); $return = false; } + if(!$return) msg($this->getLang('userchangefail'), -1); } return $return; diff --git a/lib/plugins/authad/conf/default.php b/lib/plugins/authad/conf/default.php index 6fb4c9145659dc6d26112f916cb44b5a0df1f49b..f2834c808ca62aae802425aafdb88239a88302e4 100644 --- a/lib/plugins/authad/conf/default.php +++ b/lib/plugins/authad/conf/default.php @@ -13,3 +13,5 @@ $conf['use_tls'] = 0; $conf['debug'] = 0; $conf['expirywarn'] = 0; $conf['additional'] = ''; +$conf['update_name'] = 0; +$conf['update_mail'] = 0; diff --git a/lib/plugins/authad/conf/metadata.php b/lib/plugins/authad/conf/metadata.php index 560d25315b8ea298740162edf3a547c8ab8467fb..25c4ab4134decacef4f19eefe7090b4f2514293f 100644 --- a/lib/plugins/authad/conf/metadata.php +++ b/lib/plugins/authad/conf/metadata.php @@ -13,3 +13,5 @@ $meta['use_tls'] = array('onoff','_caution' => 'danger'); $meta['debug'] = array('onoff','_caution' => 'security'); $meta['expirywarn'] = array('numeric', '_min'=>0,'_caution' => 'danger'); $meta['additional'] = array('string','_caution' => 'danger'); +$meta['update_name'] = array('onoff','_caution' => 'danger'); +$meta['update_mail'] = array('onoff','_caution' => 'danger'); diff --git a/lib/plugins/authad/lang/ar/lang.php b/lib/plugins/authad/lang/ar/lang.php index e0ba7681ac80a98dfdf09873f86e3821a9d28ac8..173c80f0c56e689fc6d7d08af94e6ea8246f94cc 100644 --- a/lib/plugins/authad/lang/ar/lang.php +++ b/lib/plugins/authad/lang/ar/lang.php @@ -4,5 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Mohamed Belhsine <b.mohamed897@gmail.com> + * @author Usama Akkad <uahello@gmail.com> */ $lang['domain'] = 'مجال تسجيل الدخول'; +$lang['authpwdexpire'] = 'ستنتهي صلاØية كلمة السر ÙÙŠ %d . عليك بتغييرها سريعا.'; diff --git a/lib/plugins/authad/lang/bg/lang.php b/lib/plugins/authad/lang/bg/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..3de5df65f0b270822aedce5a7993dddf4c2fea83 --- /dev/null +++ b/lib/plugins/authad/lang/bg/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Kiril <neohidra@gmail.com> + */ +$lang['authpwdexpire'] = 'Срока на паролата ви ще изтече Ñлед %d дни. Препоръчително е да Ñ Ñмените по-Ñкоро.'; diff --git a/lib/plugins/authad/lang/ca/lang.php b/lib/plugins/authad/lang/ca/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..abe25a5f249a8637a06e99b519b8156eacf2c9c1 --- /dev/null +++ b/lib/plugins/authad/lang/ca/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Daniel López Prat <daniel@6temes.cat> + */ +$lang['authpwdexpire'] = 'La vostra contrasenya caducarà en %d dies, l\'haurÃeu de canviar aviat.'; diff --git a/lib/plugins/authad/lang/cs/lang.php b/lib/plugins/authad/lang/cs/lang.php index 8119d208aeabb31bde53e05208449ff741ed5376..6223868c625dcbac485a157ee20a9808ccfcbade 100644 --- a/lib/plugins/authad/lang/cs/lang.php +++ b/lib/plugins/authad/lang/cs/lang.php @@ -4,5 +4,10 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> + * @author Miroslav Svoboda <msv@email.cz> */ $lang['domain'] = 'PÅ™ihlaÅ¡ovacà doména'; +$lang['authpwdexpire'] = 'Platnost vaÅ¡eho hesla vyprÅ¡Ã za %d dnÃ, mÄ›li byste ho zmÄ›nit co nejdÅ™Ãve.'; +$lang['passchangefail'] = 'ZmÄ›na hesla selhala. Možná nebyla dodržena pravidla pro jejich tvorbu?'; +$lang['userchangefail'] = 'ZmÄ›na atributů uživatele selhala. Možná nemá váš úÄet dostateÄná oprávnÄ›nà pro provádÄ›nà zmÄ›n. '; +$lang['connectfail'] = 'PÅ™ipojenà k serveru Active Directory selhalo.'; diff --git a/lib/plugins/authad/lang/cy/lang.php b/lib/plugins/authad/lang/cy/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..8cc3746f230245e310764dee03716741c1aaeb8e --- /dev/null +++ b/lib/plugins/authad/lang/cy/lang.php @@ -0,0 +1,16 @@ +<?php +/** + * Welsh language file for addomain plugin + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Andreas Gohr <gohr@cosmocode.de> + * @author Alan Davies <ben.brynsadler@gmail.com> + */ + +$lang['domain'] = 'Parth Mewngofnodi'; +$lang['authpwdexpire'] = 'Bydd eich cyfrinair yn dod i ben mewn %d diwrnod, dylech chi ei newid e\'n fuan.'; +$lang['passchangefail'] = 'Methodd newid y cyfrinair. Posib roedd y cyfrinair yn annilys?'; +$lang['userchangefail'] = 'Methodd newid priodoleddau defnyddiwr. Posib \'sdim hawliau \'da chi i wneud newidiadau?'; +$lang['connectfail'] = 'Methodd y cysylltiad i weinydd yr Active Directory.'; + +//Setup VIM: ex: et ts=4 : diff --git a/lib/plugins/authad/lang/cy/settings.php b/lib/plugins/authad/lang/cy/settings.php new file mode 100644 index 0000000000000000000000000000000000000000..e343485ec5e5c1b7d4eb1708b8ef6f99b62da2c0 --- /dev/null +++ b/lib/plugins/authad/lang/cy/settings.php @@ -0,0 +1,15 @@ +<?php + +$lang['account_suffix'] = 'Olddodiad eich cyfrif. Ee. <code>@my.domain.org</code>'; +$lang['base_dn'] = 'Sail eich DN. Eg. <code>DC=my,DC=domain,DC=org</code>'; +$lang['domain_controllers'] = 'Rhestr gwahanwyd gan goma o reolwyr Parth. Ee. <code>srv1.domain.org,srv2.domain.org</code>'; +$lang['admin_username'] = 'Defnyddiwr Active Directory breintiedig gyda mynediad i ddata pob defnyddiwr arall. Yn opsiynol, ond yn hanfodol ar gyfer gweithredoedd penodol fel anfon ebyst tanysgrifio.'; +$lang['admin_password'] = 'Cyfrinair y defnyddiwr uchod.'; +$lang['sso'] = 'A ddylai Mewngofnodi-Unigol gan Kerberos neu NTLM gael ei ddefnyddio?'; +$lang['sso_charset'] = 'Y set nod mae\'ch gweinydd gwe yn pasio defnyddair Kerberos neu NTLM ynddi. Gwag ar gyfer UTF-8 neu latin-1. Bydd angen estyniad iconv.'; +$lang['real_primarygroup'] = 'Os ydy\'r prif grŵp real yn cael ei hadfer yn hytrach na thybio "Defnyddwyr Parth" (arafach).'; +$lang['use_ssl'] = 'Defnyddio cysylltiad SSL? Os ydych chi\'n defnyddio hwn, peidiwch â galluogi TLS isod.'; +$lang['use_tls'] = 'Defnyddio cysylltiad TLS? Os ydych chi\'n defnyddio hwn, peidiwch â galluogi SSL uchod.'; +$lang['debug'] = 'Dangos allbwn dadfygio ychwanegol ar wallau?'; +$lang['expirywarn'] = 'Diwrnodau o flaen llaw i rybuddio defnyddwyr o ran cyfrinair yn dod i ben. 0 i analluogi.'; +$lang['additional'] = 'Rhestr a wahanwyd gan goma o briodoleddau AD ychwanegol i nôl o ddata defnyddiwr. Defnyddiwyd gan rai ategion.'; diff --git a/lib/plugins/authad/lang/da/lang.php b/lib/plugins/authad/lang/da/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..3d0730216e0156477ec463d195404a565ee1e374 --- /dev/null +++ b/lib/plugins/authad/lang/da/lang.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Jacob Palm <mail@jacobpalm.dk> + * @author Mikael Lyngvig <mikael@lyngvig.org> + */ +$lang['domain'] = 'Logondomæne'; +$lang['authpwdexpire'] = 'Din adgangskode vil udløbe om %d dage, du bør ændre det snart.'; diff --git a/lib/plugins/authad/lang/de-informal/lang.php b/lib/plugins/authad/lang/de-informal/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..973c992d2bb914f897988ae4d1ef2faaf3f045ff --- /dev/null +++ b/lib/plugins/authad/lang/de-informal/lang.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Andreas Gohr <gohr@cosmocode.de> + * @author rnck <dokuwiki@rnck.de> + */ +$lang['authpwdexpire'] = 'Dein Passwort läuft in %d Tag(en) ab. Du solltest es es frühzeitig ändern.'; +$lang['passchangefail'] = 'Das Passwort konnte nicht geändert werden. Eventuell wurde die Passwort-Richtlinie nicht eingehalten.'; +$lang['connectfail'] = 'Verbindung zum Active Directory Server fehlgeschlagen.'; diff --git a/lib/plugins/authad/lang/de/lang.php b/lib/plugins/authad/lang/de/lang.php index eea511d1bb3f0a96d089b1234704f55713a242b4..ec73ac7d7c7b847476308d1931dda181c32a64de 100644 --- a/lib/plugins/authad/lang/de/lang.php +++ b/lib/plugins/authad/lang/de/lang.php @@ -4,5 +4,11 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Andreas Gohr <gohr@cosmocode.de> + * @author Philip Knack <p.knack@stollfuss.de> + * @author Uwe Benzelrath <uwebenzelrath@gmail.com> */ $lang['domain'] = 'Anmelde-Domäne'; +$lang['authpwdexpire'] = 'Ihr Passwort läuft in %d Tag(en) ab. Sie sollten es frühzeitig ändern.'; +$lang['passchangefail'] = 'Kennwortänderung fehlgeschlagen. Entspricht das Kennwort der Richtlinie?'; +$lang['userchangefail'] = 'Änderung der Nutzerattribute fehlgeschlagen. Möglicherweise hat ihr Benutzerkonto nicht die nötigen Rechte um diese Änderungen durchzuführen'; +$lang['connectfail'] = 'Verbindung zum Active Directory Server fehlgeschlagen.'; diff --git a/lib/plugins/authad/lang/el/lang.php b/lib/plugins/authad/lang/el/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..39e3283ccfbdbb9cb380e5aa716532edf4d767a0 --- /dev/null +++ b/lib/plugins/authad/lang/el/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Vasileios Karavasilis vasileioskaravasilis@gmail.com + */ +$lang['authpwdexpire'] = 'Ο κωδικός Ï€Ïόσβασης θα λήξει σε %d ημÎÏες. Î Ïοτείνουμε να τον αλλάξετε σÏντομα.'; diff --git a/lib/plugins/authad/lang/en/lang.php b/lib/plugins/authad/lang/en/lang.php index e2967d662d254081f5f9d2c081b8a04e1d6cd730..3e8a9e2a698ab5176eaf544c99187fb6a7255a42 100644 --- a/lib/plugins/authad/lang/en/lang.php +++ b/lib/plugins/authad/lang/en/lang.php @@ -1,10 +1,15 @@ <?php /** * English language file for addomain plugin + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Andreas Gohr <gohr@cosmocode.de> */ -$lang['domain'] = 'Logon Domain'; +$lang['domain'] = 'Logon Domain'; +$lang['authpwdexpire'] = 'Your password will expire in %d days, you should change it soon.'; +$lang['passchangefail'] = 'Failed to change the password. Maybe the password policy was not met?'; +$lang['userchangefail'] = 'Failed to change user attributes. Maybe your account does not have permissions to make changes?'; +$lang['connectfail'] = 'Failed to connect to Active Directory server.'; //Setup VIM: ex: et ts=4 : diff --git a/lib/plugins/authad/lang/en/settings.php b/lib/plugins/authad/lang/en/settings.php index 92e9ac4e8182ec39f4e7795776afae4fd129ee83..9e7a7c320ab90130b39e8eb764f8aebc86417914 100644 --- a/lib/plugins/authad/lang/en/settings.php +++ b/lib/plugins/authad/lang/en/settings.php @@ -13,3 +13,5 @@ $lang['use_tls'] = 'Use TLS connection? If used, do not enable SSL ab $lang['debug'] = 'Display additional debugging output on errors?'; $lang['expirywarn'] = 'Days in advance to warn user about expiring password. 0 to disable.'; $lang['additional'] = 'A comma separated list of additional AD attributes to fetch from user data. Used by some plugins.'; +$lang['update_name'] = 'Allow users to update their AD display name?'; +$lang['update_mail'] = 'Allow users to update their email address?'; diff --git a/lib/plugins/authad/lang/eo/lang.php b/lib/plugins/authad/lang/eo/lang.php index be4abc123b4335096225f63e2836eeed8e967943..e738323da067f9c70f583c50587bdf309cc82519 100644 --- a/lib/plugins/authad/lang/eo/lang.php +++ b/lib/plugins/authad/lang/eo/lang.php @@ -6,3 +6,4 @@ * @author Robert Bogenschneider <bogi@uea.org> */ $lang['domain'] = 'Ensaluta domajno'; +$lang['authpwdexpire'] = 'Via pasvorto malvalidos post %d tagoj, prefere ÅanÄu Äin baldaÅ©.'; diff --git a/lib/plugins/authad/lang/es/lang.php b/lib/plugins/authad/lang/es/lang.php index c5b242cbaba065be6a2f90f5d7100bce53973a5c..d3d540b35df7dc21e0bbd05af93bcbddbf353ea0 100644 --- a/lib/plugins/authad/lang/es/lang.php +++ b/lib/plugins/authad/lang/es/lang.php @@ -4,5 +4,12 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Juan De La Cruz <juann.dlc@gmail.com> + * @author Gerardo Zamudio <gerardo@gerardozamudio.net> + * @author Mauricio Segura <maose38@yahoo.es> + * @author Romano <romanocl@outlook.com> */ $lang['domain'] = 'Dominio de inicio'; +$lang['authpwdexpire'] = 'Su contraseña caducara en %d dÃas, deberÃa cambiarla lo antes posible'; +$lang['passchangefail'] = 'Error al cambiar la contraseña. ¿Tal vez no se cumplió la directiva de contraseñas?'; +$lang['userchangefail'] = 'Falló al intentar modificar los atributos del usuario. Puede ser que su cuenta no tiene permisos para realizar cambios?'; +$lang['connectfail'] = 'Error al conectar con el servidor de Active Directory.'; diff --git a/lib/plugins/authad/lang/et/lang.php b/lib/plugins/authad/lang/et/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..94fe9ed8e10b3f004291a498cba7150e07d91c1c --- /dev/null +++ b/lib/plugins/authad/lang/et/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Janar Leas <janar.leas@eesti.ee> + */ +$lang['authpwdexpire'] = 'Sinu salasõna aegub %d päeva pärast, võiksid seda peatselt muuta.'; diff --git a/lib/plugins/authad/lang/eu/lang.php b/lib/plugins/authad/lang/eu/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..454e3be3496d6b527bb927e46d4f1cfa446f4975 --- /dev/null +++ b/lib/plugins/authad/lang/eu/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Zigor Astarbe <astarbe@gmail.com> + */ +$lang['authpwdexpire'] = 'Zure pasahitza %d egun barru iraungiko da, laster aldatu beharko zenuke.'; diff --git a/lib/plugins/authad/lang/fa/lang.php b/lib/plugins/authad/lang/fa/lang.php index 1ea73cfdb451e7556892a1a4cd927dd33b0b841d..ca1c8e807686bf30dc505e070c02306dfb856a39 100644 --- a/lib/plugins/authad/lang/fa/lang.php +++ b/lib/plugins/authad/lang/fa/lang.php @@ -4,5 +4,11 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Hamid <zarrabi@sharif.edu> + * @author Milad DZand <M.DastanZand@gmail.com> + * @author Mohmmad Razavi <sepent@gmail.com> */ $lang['domain'] = 'دامنه‌ی ورود'; +$lang['authpwdexpire'] = 'کلمه عبور شما در %d روز منقضی خواهد شد ØŒ شما باید آن را زود تغییر دهید'; +$lang['passchangefail'] = 'تغیر رمزعبور با خطا مواجه شد. شاید سیاستهای مربوط به گذاشتن نام کاربری درست رعایت نشده است.'; +$lang['userchangefail'] = 'تغییر ویژگی‌های کابر با خطا مواجه شد. شاید Øساب کاربری شما مجاز به انجام این تغییرات نیست.'; +$lang['connectfail'] = 'ارتباط با سرور Active Directory با خطا مواجه شد.'; diff --git a/lib/plugins/authad/lang/fa/settings.php b/lib/plugins/authad/lang/fa/settings.php index 161479afbe4ed6d5dc97ced8d35a97ca6a789736..fdf9479bd43c67937ebc57305c82d62f2a231d79 100644 --- a/lib/plugins/authad/lang/fa/settings.php +++ b/lib/plugins/authad/lang/fa/settings.php @@ -4,7 +4,21 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Omid Hezaveh <hezpublic@gmail.com> + * @author Mohmmad Razavi <sepent@gmail.com> + * @author Masoud Sadrnezhaad <masoud@sadrnezhaad.ir> */ +$lang['account_suffix'] = 'پسوند Øساب کاربری شما. به عنوان مثال <code>@my.domain.org</code>'; +$lang['base_dn'] = 'DN پایه شما. به عنوان مثال <code>DC=my,DC=domain,DC=org</code>'; +$lang['domain_controllers'] = 'لیست کنترل کننده‌های دامنه Ú©Ù‡ با کاما ازهم جدا شده اند. به عنوان مثال <code>srv1.domain.org,srv2.domain.org</code'; +$lang['admin_username'] = 'کاربر دارای دسترسی Active Directory Ú©Ù‡ دارای دسترسی به تمام اطلاعات کاربران است. اختیاریست ولی برای برخی Ùعالیت‌ها مثل ایمیل‌های عضویت لازم است.'; $lang['admin_password'] = 'رمز کاربر بالایی '; +$lang['sso'] = 'آیا Single-Sign-On از طریق Kerberos یا NTLM استÙاده شود؟'; +$lang['sso_charset'] = 'کدبندی نویسه‌ای Ú©Ù‡ وب‌سرورتان نام کاربری NTLM یا Kerberos را به آن منتقل می‌کند. برای انتخاب UTF-8 یا latin-1 خالی بگذارید. لازم است Ú©Ù‡ اÙزونهٔ iconv نصب باشد.'; +$lang['real_primarygroup'] = 'باید گروه اصلی به جای "دامنهٔ کاربران" برگردد. (کندتر)'; $lang['use_ssl'] = 'از اس‌اس‌ال استÙاده می‌کنید؟ در این صورت تی‌ال‌اس را در پایین Ùعال نکنید. '; $lang['use_tls'] = 'از تی‌ال‌اس استÙاده می‌کنید؟ در این صورت اس‌اس‌ال را در بالا Ùعال نکنید. '; +$lang['debug'] = 'داده‌های اضاÙÛŒ خروجی دیباگ در هنگام بروز خطا نمایش داده شود؟'; +$lang['expirywarn'] = 'تعداد روزهایی Ú©Ù‡ پس گذشتن آن برای تغییر رمزعبور به شما هشدار داده شود. باری غیرÙعال سازی از مقدار 0 استÙاده کنید.'; +$lang['additional'] = 'لیست صÙات اضاÙÛŒ AD برای گرÙتن از اطلاعات کاربر Ú©Ù‡ توسط برخی از اÙزونه‌ها استÙاده می‌شود. با کاما جدا شود.'; +$lang['update_name'] = 'به کاربران اجازهٔ به روزرسانی نام AD داده شود؟'; +$lang['update_mail'] = 'به کاربران اجازهٔ به روزرسانی ایمیلشان داده شود؟'; diff --git a/lib/plugins/authad/lang/fi/lang.php b/lib/plugins/authad/lang/fi/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..650d44f7ad36c18fa6f346d7fbcc27ebfea409aa --- /dev/null +++ b/lib/plugins/authad/lang/fi/lang.php @@ -0,0 +1,8 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Jussi Takala <jussi.takala@live.fi> + */ + +$lang['authpwdexpire'] = 'Salasanasi vanhenee %d pv:n päästä, vaihda salasanasi pikaisesti.'; diff --git a/lib/plugins/authad/lang/fr/lang.php b/lib/plugins/authad/lang/fr/lang.php index 2de362e41dd4b60f3d40124e6a572df301a24821..1ab523ff146f67e516bce3155b8732a119f72766 100644 --- a/lib/plugins/authad/lang/fr/lang.php +++ b/lib/plugins/authad/lang/fr/lang.php @@ -4,5 +4,12 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author ggallon <gwenael.gallon@mac.com> + * @author Yannick Aure <yannick.aure@gmail.com> + * @author Pietroni <pietroni@informatique.univ-paris-diderot.fr> + * @author Schplurtz le Déboulonné <Schplurtz@laposte.net> */ $lang['domain'] = 'Domaine de connexion'; +$lang['authpwdexpire'] = 'Votre mot de passe expirera dans %d jours, vous devriez le changer bientôt.'; +$lang['passchangefail'] = 'Impossible de changer le mot de passe. Il est possible que les règles de sécurité des mots de passe n\'aient pas été respectées.'; +$lang['userchangefail'] = 'Impossible de modifier les attributs de l\'utilisateur. Votre compte n\'a peut-être pas les permissions d\'effectuer des changements.'; +$lang['connectfail'] = 'Impossible de se connecter au serveur Active Directory.'; diff --git a/lib/plugins/authad/lang/gl/lang.php b/lib/plugins/authad/lang/gl/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..b10126a88433825df4609763e0ff0cfda66a2bfb --- /dev/null +++ b/lib/plugins/authad/lang/gl/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Rodrigo Rega <rodrigorega@gmail.com> + */ +$lang['authpwdexpire'] = 'A túa contrasinal expirará en %d dÃas, deberÃas cambiala pronto.'; diff --git a/lib/plugins/authad/lang/he/lang.php b/lib/plugins/authad/lang/he/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..5b193ed5f91cb6f8a9e68d5e48eeb5c28f33a8af --- /dev/null +++ b/lib/plugins/authad/lang/he/lang.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author tomer <tomercarolldergicz@gmail.com> + * @author Menashe Tomer <menashesite@gmail.com> + */ +$lang['authpwdexpire'] = 'הסיסמה שלך תפוג ב %d ימי×, ×תה צריך ×œ×©× ×•×ª ×ת ×–×” בקרוב.'; +$lang['passchangefail'] = 'שגי××” ×‘×©×™× ×•×™ סיסמה. ×”×× ×”×¡×™×¡×ž×” תו×מת ×œ×ž×“×™× ×™×•×ª המערכת?'; diff --git a/lib/plugins/authad/lang/he/settings.php b/lib/plugins/authad/lang/he/settings.php new file mode 100644 index 0000000000000000000000000000000000000000..b1436813018bfe4b8c55ef1f9a0857422cb0a8ee --- /dev/null +++ b/lib/plugins/authad/lang/he/settings.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Menashe Tomer <menashesite@gmail.com> + */ +$lang['admin_password'] = 'סיסמת המשתמש המוזכן'; diff --git a/lib/plugins/authad/lang/hr/lang.php b/lib/plugins/authad/lang/hr/lang.php index f750c91b5379545d53d703dbcbcd5c3e9df623c4..99c5c1623a033aa51b686a9bdcb0df980dc8c9dc 100644 --- a/lib/plugins/authad/lang/hr/lang.php +++ b/lib/plugins/authad/lang/hr/lang.php @@ -6,3 +6,6 @@ * @author Davor Turkalj <turki.bsc@gmail.com> */ $lang['domain'] = 'Domena za prijavu'; +$lang['authpwdexpire'] = 'VaÅ¡a lozinka će isteći za %d dana, trebate ju promijeniti.'; +$lang['passchangefail'] = 'Ne mogu izmijeniti lozinku. Možda nije zadovoljen set pravila za lozinke?'; +$lang['connectfail'] = 'Ne mogu se povezati s Active Directory poslužiteljem.'; diff --git a/lib/plugins/authad/lang/hu/lang.php b/lib/plugins/authad/lang/hu/lang.php index 7bb6084b0e2d0c270bb08560ec6b40e1c9996737..023e6b956613f1b9b219891fa014f3be732a53da 100644 --- a/lib/plugins/authad/lang/hu/lang.php +++ b/lib/plugins/authad/lang/hu/lang.php @@ -6,3 +6,6 @@ * @author Marton Sebok <sebokmarton@gmail.com> */ $lang['domain'] = 'Bejelentkezési tartomány'; +$lang['authpwdexpire'] = 'A jelszavad %d nap múlva lejár, hamarosan meg kell változtatnod.'; +$lang['passchangefail'] = 'A jelszó megváltoztatása sikertelen. Lehet, hogy nem felel meg a jelszóházirendnek?'; +$lang['connectfail'] = 'A csatlakozás az Active Directory szerverhez sikertelen.'; diff --git a/lib/plugins/authad/lang/it/lang.php b/lib/plugins/authad/lang/it/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..a30cd7cea826aa350d77ac128da20799841e5f7d --- /dev/null +++ b/lib/plugins/authad/lang/it/lang.php @@ -0,0 +1,13 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Matteo Pasotti <matteo@xquiet.eu> + * @author Torpedo <dgtorpedo@gmail.com> + */ +$lang['domain'] = 'Dominio di accesso'; +$lang['authpwdexpire'] = 'La tua password scadrà in %d giorni, dovresti cambiarla quanto prima.'; +$lang['passchangefail'] = 'Cambio password fallito. Forse non sono state rispettate le regole adottate per le password'; +$lang['userchangefail'] = 'Cambio attributi utente fallito. Forse il tuo account non ha i permessi per eseguire delle modifiche?'; +$lang['connectfail'] = 'Connessione fallita al server Active Directory'; diff --git a/lib/plugins/authad/lang/it/settings.php b/lib/plugins/authad/lang/it/settings.php index 2d68dad68750a51d3b1c26cad50222ba7a2985ce..3a92fcb7bd124046a8c1225e4bdc9ed3fcc8d65c 100644 --- a/lib/plugins/authad/lang/it/settings.php +++ b/lib/plugins/authad/lang/it/settings.php @@ -4,6 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Edmondo Di Tucci <snarchio@gmail.com> + * @author Torpedo <dgtorpedo@gmail.com> */ $lang['account_suffix'] = 'Il suffisso del tuo account. Eg. <code>@my.domain.org</code>'; $lang['base_dn'] = 'Il tuo DN. base Eg. <code>DC=my,DC=domain,DC=org</code>'; @@ -11,6 +12,8 @@ $lang['domain_controllers'] = 'Elenco separato da virgole di Domain Controlle $lang['admin_username'] = 'Utente privilegiato di Active Directory con accesso ai dati di tutti gli utenti. Opzionale ma necessario per alcune attività come mandare email di iscrizione.'; $lang['admin_password'] = 'La password dell\'utente soprascritto.'; $lang['sso'] = 'Deve essere usato Single-Sign-On via Kerberos oppure NTLM?'; +$lang['sso_charset'] = 'Il set di caratteri che il tuo web server passera nel nome utente Kerberos o NTLM. Lasciare vuoto per UTF-8 p latin-1. Richiesta estensione iconv. '; +$lang['real_primarygroup'] = 'Se il vero gruppo primario dovesse essere risolo invece di assumere "Domain Users" (lento).'; $lang['use_ssl'] = 'Usare la connessione SSL? Se usata, non abilitare TSL qui sotto.'; $lang['use_tls'] = 'Usare la connessione TSL? Se usata, non abilitare SSL qui sopra.'; $lang['debug'] = 'Visualizzare output addizionale di debug per gli errori?'; diff --git a/lib/plugins/authad/lang/ja/lang.php b/lib/plugins/authad/lang/ja/lang.php index b40aa5da39437c18ead598bb5d306f0df038f4ed..e82ca379142397d4d160decfac562fb17326b754 100644 --- a/lib/plugins/authad/lang/ja/lang.php +++ b/lib/plugins/authad/lang/ja/lang.php @@ -4,5 +4,10 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author PzF_X <jp_minecraft@yahoo.co.jp> + * @author Osaka <mr.osaka@gmail.com> + * @author Ikuo Obataya <i.obataya@gmail.com> */ $lang['domain'] = 'ãƒã‚°ã‚ªãƒ³æ™‚ã®ãƒ‰ãƒ¡ã‚¤ãƒ³'; +$lang['authpwdexpire'] = 'ã‚ãªãŸã®ãƒ‘スワードã¯ã€ã‚ã¨%dæ—¥ã§æœ‰åŠ¹æœŸé™ãŒåˆ‡ã‚Œã¾ã™ã€‚パスワードを変更ã—ã¦ãã ã•ã„。'; +$lang['passchangefail'] = 'パスワードを変更ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚パスワードã®ãƒ«ãƒ¼ãƒ«ã«åˆã‚ãªã‹ã£ãŸã®ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。'; +$lang['connectfail'] = 'Active Directoryサーãƒãƒ¼ã«æŽ¥ç¶šã§ãã¾ã›ã‚“ã§ã—ãŸã€‚'; diff --git a/lib/plugins/authad/lang/ka/lang.php b/lib/plugins/authad/lang/ka/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..ab0c86902c79de05d313ca6cabe67572732ec88a --- /dev/null +++ b/lib/plugins/authad/lang/ka/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Luka Lejava <luka.lejava@gmail.com> + */ +$lang['authpwdexpire'] = 'თქვენს პáƒáƒ áƒáƒšáƒ¡ ვáƒáƒ“რგáƒáƒ£áƒ•áƒ %d დღეში, მáƒáƒšáƒ” შეცვლრმáƒáƒ’იწევთ.'; diff --git a/lib/plugins/authad/lang/ko/lang.php b/lib/plugins/authad/lang/ko/lang.php index 5a2416b2c9028314b7b2923d9335c24ee3b82dbb..1326f28b488c6995fea8ceeb1c534838a8fb2085 100644 --- a/lib/plugins/authad/lang/ko/lang.php +++ b/lib/plugins/authad/lang/ko/lang.php @@ -4,5 +4,10 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Myeongjin <aranet100@gmail.com> + * @author Erial <erial2@gmail.com> */ $lang['domain'] = '로그온 ë„ë©”ì¸'; +$lang['authpwdexpire'] = '비밀번호를 바꾼지 %dì¼ì´ 지났으며, 비밀번호를 곧 바꿔야 합니다.'; +$lang['passchangefail'] = '비밀번호를 바꾸는 ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤. 비밀번호 ì •ì±…ì„ ë”°ë¥´ì§€ 않았나요?'; +$lang['userchangefail'] = '사용ìžì˜ 특성 ë³€ê²½ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤. 사용하시는 ê³„ì •ì— ë³€ê²½ ê¶Œí•œì´ ìžˆëŠ”ì§€ 확ì¸í•´ì£¼ì‹ì‹œì˜¤.'; +$lang['connectfail'] = 'Active Directory ì„œë²„ì— ì—°ê²°í•˜ëŠ” ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤.'; diff --git a/lib/plugins/authad/lang/lv/lang.php b/lib/plugins/authad/lang/lv/lang.php index 74becf756b55190068fe3859c1a59b9542d6049b..a208ac949f8391dd37c9b98147833fba0c17ca45 100644 --- a/lib/plugins/authad/lang/lv/lang.php +++ b/lib/plugins/authad/lang/lv/lang.php @@ -6,3 +6,4 @@ * @author Aivars MiÅ¡ka <allefm@gmail.com> */ $lang['domain'] = 'IežurnÄlÄ“Å¡anÄs domÄ“ns'; +$lang['authpwdexpire'] = 'Tavai parolei pÄ“c %d dienÄm biegsies termiņš, tÄ drÄ«zumÄ jÄnomaina.'; diff --git a/lib/plugins/authad/lang/nl/lang.php b/lib/plugins/authad/lang/nl/lang.php index ea841906992cec7d65707b9e7b3d86a7648ae31b..4e873201f765a8bcbe0a7fe8d0acbe513b70fa30 100644 --- a/lib/plugins/authad/lang/nl/lang.php +++ b/lib/plugins/authad/lang/nl/lang.php @@ -4,5 +4,12 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Rene <wllywlnt@yahoo.com> + * @author Dion Nicolaas <dion@nicolaas.net> + * @author Hugo Smet <hugo.smet@scarlet.be> + * @author Wesley de Weerd <wesleytiel@gmail.com> */ $lang['domain'] = 'Inlog Domein'; +$lang['authpwdexpire'] = 'Je wachtwoord verloopt in %d dagen, je moet het binnenkort veranderen'; +$lang['passchangefail'] = 'Wijziging van het paswoord is mislukt. Wellicht beantwoord het paswoord niet aan de voorwaarden. '; +$lang['userchangefail'] = 'Kan gebruiker attributen veranderen . Misschien heeft uw account geen rechten om wijzigingen aan te brengen?'; +$lang['connectfail'] = 'Connectie met Active Directory server mislukt.'; diff --git a/lib/plugins/authad/lang/no/lang.php b/lib/plugins/authad/lang/no/lang.php index a1c9c7e8a59a1799e222ea04815b74a01cc7a2f1..b497c4719549fa8913b0a22fcf4e95968f46d7fb 100644 --- a/lib/plugins/authad/lang/no/lang.php +++ b/lib/plugins/authad/lang/no/lang.php @@ -4,5 +4,10 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Patrick <spill.p@hotmail.com> + * @author Thomas Juberg <Thomas.Juberg@Gmail.com> + * @author Danny Buckhof <daniel.raknes@hotmail.no> */ $lang['domain'] = 'LoggpÃ¥-domene'; +$lang['authpwdexpire'] = 'Ditt passord gÃ¥r ut om %d dager, du bør endre det snarest.'; +$lang['passchangefail'] = 'Feil ved endring av passord. Det kan være at passordet ikke er i trÃ¥d med passordpolicyen '; +$lang['connectfail'] = 'Feil ved kontakt med Active Directory serveren.'; diff --git a/lib/plugins/authad/lang/no/settings.php b/lib/plugins/authad/lang/no/settings.php index f309ead50abb599da84b8804aca31e433dc1b1e8..727f6611dae6eecff4f9e2e7e769f40d4f26f56f 100644 --- a/lib/plugins/authad/lang/no/settings.php +++ b/lib/plugins/authad/lang/no/settings.php @@ -5,7 +5,10 @@ * * @author Christopher Schive <chschive@frisurf.no> * @author Patrick <spill.p@hotmail.com> + * @author Danny Buckhof <daniel.raknes@hotmail.no> */ $lang['account_suffix'] = 'Ditt konto-suffiks F. Eks. <code>@my.domain.org</code>'; $lang['admin_password'] = 'Passordet til brukeren over.'; +$lang['use_ssl'] = 'Bruk SSL tilknytning? Hvis denne brukes, ikke aktiver TLS nedenfor.'; +$lang['use_tls'] = 'Bruk TLS tilknytning? Hvis denne brukes, ikke aktiver SSL over.'; $lang['expirywarn'] = 'Antall dager pÃ¥ forhÃ¥nd brukeren varsles om at passordet utgÃ¥r. 0 for Ã¥ deaktivere.'; diff --git a/lib/plugins/authad/lang/pl/lang.php b/lib/plugins/authad/lang/pl/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..645b46afa4fa3ae4b34ccdd7bdb247286a1df905 --- /dev/null +++ b/lib/plugins/authad/lang/pl/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Aoi Karasu <aoikarasu@gmail.com> + */ +$lang['authpwdexpire'] = 'Twoje hasÅ‚o wygaÅ›nie za %d dni. Należy je zmienić w krótkim czasie.'; diff --git a/lib/plugins/authad/lang/pt-br/lang.php b/lib/plugins/authad/lang/pt-br/lang.php index 5fa963d4e2a2e8ea8e7be760f35c82f5b030f6c1..ddcfaa875ea36d994858243c0f445fd8a1a9f4a8 100644 --- a/lib/plugins/authad/lang/pt-br/lang.php +++ b/lib/plugins/authad/lang/pt-br/lang.php @@ -4,5 +4,11 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Felipe Castro <fefcas@gmail.com> + * @author Frederico Gonçalves Guimarães <frederico@teia.bio.br> + * @author Guilherme Cardoso <guicardoso@gmail.com> */ $lang['domain'] = 'DomÃnio de "Logon"'; +$lang['authpwdexpire'] = 'Sua senha vai expirar em %d dias. Você deve mudá-la assim que for possÃvel.'; +$lang['passchangefail'] = 'Não foi possÃvel alterar a senha. Pode ser algum conflito com a polÃtica de senhas.'; +$lang['userchangefail'] = 'Falha ao mudar os atributos do usuário. Talvez a sua conta não tenha permissões para fazer mudanças.'; +$lang['connectfail'] = 'Não foi possÃvel conectar ao servidor Active Directory.'; diff --git a/lib/plugins/authad/lang/pt/lang.php b/lib/plugins/authad/lang/pt/lang.php index f307bc901182de18b61b8841257886494b6c96e4..450e3a137603d72f6332559e1267e1d3f9c53128 100644 --- a/lib/plugins/authad/lang/pt/lang.php +++ b/lib/plugins/authad/lang/pt/lang.php @@ -4,5 +4,10 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Paulo Silva <paulotsilva@yahoo.com> + * @author André Neves <drakferion@gmail.com> + * @author Paulo Carmino <contato@paulocarmino.com> */ $lang['domain'] = 'DomÃnio de InÃcio de Sessão'; +$lang['authpwdexpire'] = 'A sua senha expirará dentro de %d dias, deve mudá-la em breve.'; +$lang['passchangefail'] = 'Falha ao alterar a senha. Tente prosseguir com uma senha mais segura.'; +$lang['connectfail'] = 'Falha ao conectar com o servidor Active Directory.'; diff --git a/lib/plugins/authad/lang/pt/settings.php b/lib/plugins/authad/lang/pt/settings.php index 6256eb5975a116c921e0539c9734b7c4076630a3..dc6741b2a65d3763c326bfaa406d67eb6c3ad54d 100644 --- a/lib/plugins/authad/lang/pt/settings.php +++ b/lib/plugins/authad/lang/pt/settings.php @@ -9,7 +9,7 @@ * @author Guido Salatino <guidorafael23@gmail.com> */ $lang['account_suffix'] = 'O sufixo da sua conta. Por exemplo, <code>@my.domain.org</code>'; -$lang['base_dn'] = 'Sua base DN. Eg. <code> DC=meu, DC=dominio, DC=org </ code>'; +$lang['base_dn'] = 'Sua base DN. Eg. <code> DC=meu, DC=dominio, DC=org </code>'; $lang['domain_controllers'] = 'Uma lista separada por vÃrgulas de Controladores de DomÃnio (AD DC). Ex.: <code>srv1.domain.org,srv2.domain.org</code>'; $lang['admin_username'] = 'Um utilizador com privilégios na Active Directory que tenha acesso aos dados de todos os outros utilizadores. Opcional, mas necessário para certas ações como enviar emails de subscrição.'; $lang['admin_password'] = 'A senha para o utilizador acima.'; diff --git a/lib/plugins/authad/lang/ro/lang.php b/lib/plugins/authad/lang/ro/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..28a0e1e64726ca580e3a87fca0a3fc3e6a62d86e --- /dev/null +++ b/lib/plugins/authad/lang/ro/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Razvan Deaconescu <razvan.deaconescu@cs.pub.ro> + */ +$lang['authpwdexpire'] = 'Parola va expira în %d zile, ar trebui să o schimbi în curând.'; diff --git a/lib/plugins/authad/lang/ru/lang.php b/lib/plugins/authad/lang/ru/lang.php index 6f3c03e39bf9f6e0a9adb48f7b55e59a9adbff84..ebce005c0fbb5d99e3f9e740ffd72fa7cfc337a8 100644 --- a/lib/plugins/authad/lang/ru/lang.php +++ b/lib/plugins/authad/lang/ru/lang.php @@ -4,5 +4,11 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Aleksandr Selivanov <alexgearbox@yandex.ru> + * @author Takumo <9206984@mail.ru> + * @author dimsharav <dimsharav@gmail.com> */ $lang['domain'] = 'Домен'; +$lang['authpwdexpire'] = 'ДейÑтвие вашего Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¸Ñтекает через %d дней. Ð’Ñ‹ должны изменить его как можно Ñкорее'; +$lang['passchangefail'] = 'Ðе удалоÑÑŒ изменить пароль. Возможно, он не ÑоответÑтвует требованиÑм к паролю.'; +$lang['userchangefail'] = 'Ошибка при изменении атрибутов пользователÑ. Возможно, у Вашей учетной запиÑи недоÑтаточно прав?'; +$lang['connectfail'] = 'Ðевозможно ÑоединитьÑÑ Ñ Ñервером AD.'; diff --git a/lib/plugins/authad/lang/ru/settings.php b/lib/plugins/authad/lang/ru/settings.php index 99c916b44cb5bf93acbb33e1c5479a80a34b89e4..d9cf1fd690c69a1cf2aae2086bb51b8e01f45406 100644 --- a/lib/plugins/authad/lang/ru/settings.php +++ b/lib/plugins/authad/lang/ru/settings.php @@ -14,14 +14,14 @@ */ $lang['account_suffix'] = 'Ð¡ÑƒÑ„Ñ„Ð¸ÐºÑ Ð²Ð°ÑˆÐµÐ³Ð¾ аккаунта. Ðапример, <code>@my.domain.org</code>'; $lang['base_dn'] = 'Ваш базовый DN. Ðапример: <code>DC=my,DC=domain,DC=org</code>'; -$lang['domain_controllers'] = 'СпиÑок DNS-Ñерверов, разделенных запÑтой. Ðапример:<code>srv1.domain.org,srv2.domain.org</code>'; +$lang['domain_controllers'] = 'СпиÑок DNS-Ñерверов, разделённых запÑтой. Ðапример:<code>srv1.domain.org,srv2.domain.org</code>'; $lang['admin_username'] = 'Привилегированный пользователь Active Directory Ñ Ð´Ð¾Ñтупом ко вÑем оÑтальным пользовательÑким данным. ÐеобÑзательно, однако необходимо Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ñ… дейÑтвий вроде отправки почтовой подпиÑки.'; $lang['admin_password'] = 'Пароль Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ пользователÑ.'; $lang['sso'] = 'ИÑпользовать SSO (Single-Sign-On) через Kerberos или NTLM?'; $lang['sso_charset'] = 'Кодировка, в которой веб-Ñервер передаёт Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Kerberos или NTLM. Ð”Ð»Ñ UTF-8 или latin-1 оÑтаётÑÑ Ð¿ÑƒÑтым. Требует раÑширение iconv.'; -$lang['real_primarygroup'] = 'Должна ли иÑпользоватьÑÑ Ð½Ð°ÑтоÑÑ‰Ð°Ñ Ð¿ÐµÑ€Ð²Ð¸Ñ‡Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° вмеÑто "Domain Users" (медленнее)'; +$lang['real_primarygroup'] = 'Должна ли иÑпользоватьÑÑ Ð½Ð°ÑтоÑÑ‰Ð°Ñ Ð¿ÐµÑ€Ð²Ð¸Ñ‡Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° вмеÑто “Domain Users†(медленнее)'; $lang['use_ssl'] = 'ИÑпользовать SSL? ЕÑли да, то не включайте TLS.'; $lang['use_tls'] = 'ИÑпользовать TLS? ЕÑли да, то не включайте SSL.'; $lang['debug'] = 'Выводить дополнительную информацию при ошибках?'; -$lang['expirywarn'] = 'За Ñколько дней нужно предупреждать Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¾ необходимоÑти изменить пароль. 0 - отключить.'; -$lang['additional'] = 'Дополнительные AD атрибуты, разделённые запÑтой, Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€ÐºÐ¸ из данных пользователÑ. ИÑпользуетÑÑ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼Ð¸ плагинами.'; +$lang['expirywarn'] = 'За Ñколько дней нужно предупреждать Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¾ необходимоÑти изменить пароль? Ð”Ð»Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ ÑƒÐºÐ°Ð¶Ð¸Ñ‚Ðµ 0 (ноль).'; +$lang['additional'] = 'Дополнительные AD-атрибуты, разделённые запÑтой, Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€ÐºÐ¸ из данных пользователÑ. ИÑпользуетÑÑ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼Ð¸ плагинами.'; diff --git a/lib/plugins/authad/lang/sk/lang.php b/lib/plugins/authad/lang/sk/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..cb0698f460a9e1e06edf9b981db41a1689d20281 --- /dev/null +++ b/lib/plugins/authad/lang/sk/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Martin Michalek <michalek.dev@gmail.com> + */ +$lang['authpwdexpire'] = 'PlatnosÅ¥ hesla vyprÅ¡Ã za %d dnÃ, mali by ste ho zmeniÅ¥ Äo najskôr.'; diff --git a/lib/plugins/authad/lang/sl/lang.php b/lib/plugins/authad/lang/sl/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..dc7b3567ae4185063385632b9b162fa1af9e15d7 --- /dev/null +++ b/lib/plugins/authad/lang/sl/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author matej <mateju@svn.gnome.org> + */ +$lang['authpwdexpire'] = 'Geslo bo poteklo v %d dneh. PriporoÄljivo ga je zamenjati.'; diff --git a/lib/plugins/authad/lang/sv/lang.php b/lib/plugins/authad/lang/sv/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..f253ae7fe60cf1d7b6ebcbb34fe23adc27657ebf --- /dev/null +++ b/lib/plugins/authad/lang/sv/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Smorkster Andersson smorkster@gmail.com + */ +$lang['authpwdexpire'] = 'Ditt lösenord kommer att bli ogiltigt om %d dagar, du bör ändra det snart.'; diff --git a/lib/plugins/authad/lang/tr/lang.php b/lib/plugins/authad/lang/tr/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..2336e0f0c4c67e442ea3ae27d7f6d976b958423c --- /dev/null +++ b/lib/plugins/authad/lang/tr/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author farukerdemoncel@gmail.com + */ +$lang['authpwdexpire'] = 'Åžifreniz %d gün sonra geçersiz hale gelecek, yakın bir zamanda deÄŸiÅŸtirmelisiniz.'; diff --git a/lib/plugins/authad/lang/zh-tw/lang.php b/lib/plugins/authad/lang/zh-tw/lang.php index 6ad0947a233e80db7e07e86c1e0eeb0380ca8747..b2ce48535b3baef5b68cb2801590b58ed55ac888 100644 --- a/lib/plugins/authad/lang/zh-tw/lang.php +++ b/lib/plugins/authad/lang/zh-tw/lang.php @@ -4,5 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author June-Hao Hou <junehao@gmail.com> + * @author syaoranhinata@gmail.com */ $lang['domain'] = '登入網域'; +$lang['authpwdexpire'] = '您的密碼將在 %d 天內到期,請馬上更æ›æ–°å¯†ç¢¼ã€‚'; diff --git a/lib/plugins/authad/lang/zh/lang.php b/lib/plugins/authad/lang/zh/lang.php index 2a05aa1682e467f181bb7b7a3ca428f3d63dc6b2..30d504515a65491de9130ee896446d62132378d7 100644 --- a/lib/plugins/authad/lang/zh/lang.php +++ b/lib/plugins/authad/lang/zh/lang.php @@ -4,5 +4,10 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author lainme <lainme993@gmail.com> + * @author Errol <errol@hotmail.com> */ $lang['domain'] = '登录域'; +$lang['authpwdexpire'] = '您的密ç 将在 %d 天内过期,请尽快更改'; +$lang['passchangefail'] = '密ç 更改失败。是ä¸æ˜¯å¯†ç 规则ä¸ç¬¦åˆï¼Ÿ'; +$lang['userchangefail'] = '更改用户属性失败。或许您的å¸å·æ²¡æœ‰åšæ¤æ›´æ”¹çš„æƒé™ï¼Ÿ'; +$lang['connectfail'] = 'æ— æ³•è¿žæŽ¥åˆ°Active DirectoryæœåŠ¡å™¨ã€‚'; diff --git a/lib/plugins/authad/plugin.info.txt b/lib/plugins/authad/plugin.info.txt index dc06291896e66d3a3fdc13187cc7556caabd6135..57e1387e9696a95e2bc078fc333eb9ca3d85692f 100644 --- a/lib/plugins/authad/plugin.info.txt +++ b/lib/plugins/authad/plugin.info.txt @@ -1,7 +1,7 @@ base authad author Andreas Gohr email andi@splitbrain.org -date 2014-04-03 +date 2015-07-13 name Active Directory Auth Plugin desc Provides user authentication against a Microsoft Active Directory url http://www.dokuwiki.org/plugin:authad diff --git a/lib/plugins/authldap/auth.php b/lib/plugins/authldap/auth.php index fd4729331719d8b63a80efcb132a7844479edabe..90ec770e9dc0d50e65155f0f61dd32a7964d1b8d 100644 --- a/lib/plugins/authldap/auth.php +++ b/lib/plugins/authldap/auth.php @@ -37,7 +37,7 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { } // Add the capabilities to change the password - $this->cando['modPass'] = true; + $this->cando['modPass'] = $this->getConf('modPass'); } /** @@ -281,14 +281,14 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { // open the connection to the ldap if(!$this->_openLDAP()){ - msg('LDAP cannot connect: '. htmlspecialchars(ldap_error($this->con))); + $this->_debug('LDAP cannot connect: '. htmlspecialchars(ldap_error($this->con)), 0, __LINE__, __FILE__); return false; } // find the information about the user, in particular the "dn" $info = $this->getUserData($user,true); if(empty($info['dn'])) { - msg('LDAP cannot find your user dn'); + $this->_debug('LDAP cannot find your user dn', 0, __LINE__, __FILE__); return false; } $dn = $info['dn']; @@ -301,7 +301,7 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { // bind with the ldap if(!@ldap_bind($this->con, $dn, $pass)){ - msg('LDAP user bind failed: '. htmlspecialchars($dn) .': '.htmlspecialchars(ldap_error($this->con)), 0, __LINE__, __FILE__); + $this->_debug('LDAP user bind failed: '. htmlspecialchars($dn) .': '.htmlspecialchars(ldap_error($this->con)), 0, __LINE__, __FILE__); return false; } } elseif ($this->getConf('binddn') && $this->getConf('bindpw')) { @@ -322,7 +322,7 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { // change the password if(!@ldap_mod_replace($this->con, $dn,array('userpassword' => $hash))){ - msg('LDAP mod replace failed: '. htmlspecialchars($dn) .': '.htmlspecialchars(ldap_error($this->con))); + $this->_debug('LDAP mod replace failed: '. htmlspecialchars($dn) .': '.htmlspecialchars(ldap_error($this->con)), 0, __LINE__, __FILE__); return false; } @@ -360,8 +360,9 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { $sr = ldap_search($this->con, $this->getConf('usertree'), $all_filter); $entries = ldap_get_entries($this->con, $sr); $users_array = array(); + $userkey = $this->getConf('userkey'); for($i = 0; $i < $entries["count"]; $i++) { - array_push($users_array, $entries[$i]["uid"][0]); + array_push($users_array, $entries[$i][$userkey][0]); } asort($users_array); $result = $users_array; @@ -462,9 +463,12 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { * @return string */ protected function _filterEscape($string) { - return preg_replace( - '/([\x00-\x1F\*\(\)\\\\])/e', - '"\\\\\".join("",unpack("H2","$1"))', + // see https://github.com/adldap/adLDAP/issues/22 + return preg_replace_callback( + '/([\x00-\x1F\*\(\)\\\\])/', + function ($matches) { + return "\\".join("", unpack("H2", $matches[1])); + }, $string ); } @@ -478,6 +482,10 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { protected function _openLDAP() { if($this->con) return true; // connection already established + if($this->getConf('debug')) { + ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7); + } + $this->bound = 0; $port = $this->getConf('port'); @@ -516,13 +524,13 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { } } // needs version 3 - if($this->getConf('referrals')) { + if($this->getConf('referrals') > -1) { if(!@ldap_set_option( $this->con, LDAP_OPT_REFERRALS, $this->getConf('referrals') ) ) { - msg('Setting LDAP referrals to off failed', -1); + msg('Setting LDAP referrals failed', -1); $this->_debug('LDAP referal set: '.htmlspecialchars(ldap_error($this->con)), 0, __LINE__, __FILE__); } } @@ -554,6 +562,7 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { if(!$bound) { msg("LDAP: couldn't connect to LDAP server", -1); + $this->_debug(ldap_error($this->con), 0, __LINE__, __FILE__); return false; } diff --git a/lib/plugins/authldap/conf/default.php b/lib/plugins/authldap/conf/default.php index 2c295eeeb1e192147a804f159e3bf8bcbc042999..116cb9d3faa4131386ab7970e76194fba24a0fca 100644 --- a/lib/plugins/authldap/conf/default.php +++ b/lib/plugins/authldap/conf/default.php @@ -8,7 +8,7 @@ $conf['userfilter'] = ''; $conf['groupfilter'] = ''; $conf['version'] = 2; $conf['starttls'] = 0; -$conf['referrals'] = 0; +$conf['referrals'] = -1; $conf['deref'] = 0; $conf['binddn'] = ''; $conf['bindpw'] = ''; @@ -16,5 +16,7 @@ $conf['bindpw'] = ''; //$conf['mapping']['grps'] unsupported in config manager $conf['userscope'] = 'sub'; $conf['groupscope'] = 'sub'; +$conf['userkey'] = 'uid'; $conf['groupkey'] = 'cn'; -$conf['debug'] = 0; \ No newline at end of file +$conf['debug'] = 0; +$conf['modPass'] = 1; diff --git a/lib/plugins/authldap/conf/metadata.php b/lib/plugins/authldap/conf/metadata.php index 6aa53c40d91e7b4d001a0eb74c5cc6b9a1bdcb3e..a67b11ca65d2d8c2436acc8a2643ee255e65fcba 100644 --- a/lib/plugins/authldap/conf/metadata.php +++ b/lib/plugins/authldap/conf/metadata.php @@ -7,7 +7,7 @@ $meta['userfilter'] = array('string','_caution' => 'danger'); $meta['groupfilter'] = array('string','_caution' => 'danger'); $meta['version'] = array('numeric','_caution' => 'danger'); $meta['starttls'] = array('onoff','_caution' => 'danger'); -$meta['referrals'] = array('onoff','_caution' => 'danger'); +$meta['referrals'] = array('multichoice','_choices' => array(-1,0,1),'_caution' => 'danger'); $meta['deref'] = array('multichoice','_choices' => array(0,1,2,3),'_caution' => 'danger'); $meta['binddn'] = array('string','_caution' => 'danger'); $meta['bindpw'] = array('password','_caution' => 'danger'); @@ -15,5 +15,7 @@ $meta['bindpw'] = array('password','_caution' => 'danger'); //$meta['mapping']['grps'] unsupported in config manager $meta['userscope'] = array('multichoice','_choices' => array('sub','one','base'),'_caution' => 'danger'); $meta['groupscope'] = array('multichoice','_choices' => array('sub','one','base'),'_caution' => 'danger'); +$meta['userkey'] = array('string','_caution' => 'danger'); $meta['groupkey'] = array('string','_caution' => 'danger'); -$meta['debug'] = array('onoff','_caution' => 'security'); \ No newline at end of file +$meta['debug'] = array('onoff','_caution' => 'security'); +$meta['modPass'] = array('onoff'); diff --git a/lib/plugins/authldap/lang/cs/lang.php b/lib/plugins/authldap/lang/cs/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..9b0e8d244c5188c4b01fa49eeb1692e6a0932bed --- /dev/null +++ b/lib/plugins/authldap/lang/cs/lang.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> + */ +$lang['connectfail'] = 'LDAP pÅ™ipojenà nefunkÄnÃ: %s'; +$lang['domainfail'] = 'LDAP nenalezlo uživatelské dn'; diff --git a/lib/plugins/authldap/lang/cs/settings.php b/lib/plugins/authldap/lang/cs/settings.php index a5aad5981393c18d5004b2484cb83956639cca39..c7e070ca8c44c7fe0ac5bb0c2a89d9ad1d91f44f 100644 --- a/lib/plugins/authldap/lang/cs/settings.php +++ b/lib/plugins/authldap/lang/cs/settings.php @@ -20,9 +20,14 @@ $lang['binddn'] = 'Doménový název DN volitelnÄ› pÅ™ipojeného $lang['bindpw'] = 'Heslo uživatele výše'; $lang['userscope'] = 'Omezenà rozsahu vyhledávánà uživatele'; $lang['groupscope'] = 'Omezenà rozsahu vyhledávánà skupiny'; +$lang['userkey'] = 'Atribut oznaÄujÃcà uživatelské jméno; musà být konzistetnà s uživatelským filtrem.'; $lang['groupkey'] = 'Atribut Å¡lenstvà uživatele ve skupinách (namÃsto standardnÃch AD skupin), tj. skupina z oddÄ›lenà nebo telefonnà ÄÃslo'; +$lang['modPass'] = 'Může být LDAP heslo zmÄ›nÄ›no pÅ™es dokuwiki?'; $lang['debug'] = 'Zobrazit dodateÄné debugovacà informace'; $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; $lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; $lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; +$lang['referrals_o_-1'] = 'použÃt výchozÃ'; +$lang['referrals_o_0'] = 'nenásledovat odkazy'; +$lang['referrals_o_1'] = 'následovat odkazy'; diff --git a/lib/plugins/authldap/lang/cy/lang.php b/lib/plugins/authldap/lang/cy/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..f6c5cf6bdfbc4d4d73695d0b68ab841b3329553b --- /dev/null +++ b/lib/plugins/authldap/lang/cy/lang.php @@ -0,0 +1,11 @@ +<?php +/** + * Welsh language file for authldap plugin + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ + +$lang['connectfail'] = 'LDAP yn methu cysylltu: %s'; +$lang['domainfail'] = 'LDAP yn methu darganfod eich defnyddiwr dn'; + +//Setup VIM: ex: et ts=4 : diff --git a/lib/plugins/authldap/lang/cy/settings.php b/lib/plugins/authldap/lang/cy/settings.php new file mode 100644 index 0000000000000000000000000000000000000000..91c9bfdee0f9078580e9e75226da24637b82bffe --- /dev/null +++ b/lib/plugins/authldap/lang/cy/settings.php @@ -0,0 +1,29 @@ +<?php +$lang['server'] = 'Eich gweinydd LDAP. Naill ai enw\'r gweinydd (<code>localhost</code>) neu\'r URL llawn (<code>ldap://server.tld:389</code>)'; +$lang['port'] = 'Porth gweinydd LDAP os nac oes URL llawn wedi\'i gyflwyno uchod'; +$lang['usertree'] = 'Ble i ddarganfod cyfrifon defnyddwyr. Ee. <code>ou=People, dc=server, dc=tld</code>'; +$lang['grouptree'] = 'Ble i ddarganfod y grwpiau defnyddiwr. Eg. <code>ou=Group, dc=server, dc=tld</code>'; +$lang['userfilter'] = 'Hidlydd LDAP i ddarganfod cyfrifon defnyddwyr. Eg. <code>(&(uid=%{user})(objectClass=posixAccount))</code>'; +$lang['groupfilter'] = 'Hidlydd LDAP i chwilio am grwpiau. Eg. <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; +$lang['version'] = 'Y fersiwn protocol i\'w ddefnyddio. Efallai bydd angen gosod hwn i <code>3</code>'; +$lang['starttls'] = 'Defnyddio cysylltiadau TLS?'; +$lang['referrals'] = 'Dilyn cyfeiriadau (referrals)?'; +$lang['deref'] = 'Sut i ddadgyfeirio alias?'; //alias - enw arall? +$lang['binddn'] = 'DN rhwymiad defnyddiwr opsiynol os ydy rhwymiad anhysbys yn annigonol. Ee. <code>cn=admin, dc=my, dc=home</code>'; +$lang['bindpw'] = 'Cyfrinair y defnyddiwr uchod'; +$lang['userscope'] = 'Cyfyngu sgôp chwiliadau ar gyfer chwiliad defnyddwyr'; +$lang['groupscope'] = 'Cyfyngu sgôp chwiliadau ar gyfer chwiliad grwpiau'; +$lang['userkey'] = 'Priodoledd yn denodi\'r defnyddair; rhaid iddo fod yn gyson i \'r hidlydd defnyddwyr.'; +$lang['groupkey'] = 'Aelodaeth grŵp o unrhyw briodoledd defnyddiwr (yn hytrach na grwpiau AD safonol) e.e. grŵp o adran neu rif ffôn'; +$lang['modPass'] = 'Gall cyfrinair LDAP gael ei newid gan DokuWiki?'; +$lang['debug'] = 'Dangos gwybodaeth dadfygio ychwanegol gyda gwallau'; + + +$lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; +$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; +$lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; +$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; + +$lang['referrals_o_-1'] = 'defnyddio\'r diofyn'; +$lang['referrals_o_0'] = 'peidio dilyn cyfeiriadau'; +$lang['referrals_o_1'] = 'dilyn cyfeiriadau'; \ No newline at end of file diff --git a/lib/plugins/authldap/lang/da/settings.php b/lib/plugins/authldap/lang/da/settings.php index b736504a5339b61e2310d1e6c39a36fd19eeb666..a9fce3a8ccd0a198b653c53f5582b044e3269740 100644 --- a/lib/plugins/authldap/lang/da/settings.php +++ b/lib/plugins/authldap/lang/da/settings.php @@ -5,11 +5,16 @@ * * @author Jens Hyllegaard <jens.hyllegaard@gmail.com> * @author soer9648 <soer9648@eucl.dk> + * @author Jacob Palm <mail@jacobpalm.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['userfilter'] = 'LDAP filter der benyttes til at søge efter brugerkonti. F.eks. <code>(&(uid=%{user})(objectClass=posixAccount))</code>'; +$lang['groupfilter'] = 'LDAP filter tder benyttes til at søge efter grupper. F.eks. <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; +$lang['version'] = 'Protokol version der skal benyttes. Det er muligvis nødvendigt at sætte denne til <code>3</code>'; $lang['starttls'] = 'Benyt TLS forbindelser?'; $lang['bindpw'] = 'Kodeord til ovenstÃ¥ende bruger'; +$lang['modPass'] = 'Kan LDAP adgangskoden skiftes via DokuWiki?'; $lang['debug'] = 'Vis yderligere debug output ved fejl'; diff --git a/lib/plugins/authldap/lang/de/lang.php b/lib/plugins/authldap/lang/de/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..74197f918a6500692d5ce4252043e85295016b2d --- /dev/null +++ b/lib/plugins/authldap/lang/de/lang.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Philip Knack <p.knack@stollfuss.de> + */ +$lang['connectfail'] = 'LDAP-Verbindung scheitert: %s'; +$lang['domainfail'] = 'LDAP kann nicht dein Benutzer finden dn'; diff --git a/lib/plugins/authldap/lang/de/settings.php b/lib/plugins/authldap/lang/de/settings.php index d788da8762836711d946671b43ff17c3ef102674..e986d0f80513c9d701720210778afcbdbbb51252 100644 --- a/lib/plugins/authldap/lang/de/settings.php +++ b/lib/plugins/authldap/lang/de/settings.php @@ -5,6 +5,8 @@ * * @author Matthias Schulte <dokuwiki@lupo49.de> * @author christian studer <cstuder@existenz.ch> + * @author Philip Knack <p.knack@stollfuss.de> + * @author Anika Henke <anika@selfthinker.org> */ $lang['server'] = 'Adresse zum LDAP-Server. Entweder als Hostname (<code>localhost</code>) oder als FQDN (<code>ldap://server.tld:389</code>).'; $lang['port'] = 'Port des LDAP-Servers, falls kein Port angegeben wurde.'; @@ -20,9 +22,14 @@ $lang['binddn'] = 'DN eines optionalen Benutzers, wenn der anonym $lang['bindpw'] = 'Passwort des angegebenen Benutzers.'; $lang['userscope'] = 'Die Suchweite nach Benutzeraccounts.'; $lang['groupscope'] = 'Die Suchweite nach Benutzergruppen.'; +$lang['userkey'] = 'Attribut, das den Benutzernamen enthält; muss konsistent zum userfilter sein.'; $lang['groupkey'] = 'Gruppieren der Benutzeraccounts anhand eines beliebigen Benutzerattributes z. B. Telefonnummer oder Abteilung, anstelle der Standard-Gruppen).'; +$lang['modPass'] = 'Darf über Dokuwiki das LDAP-Passwort geändert werden?'; $lang['debug'] = 'Debug-Informationen beim Auftreten von Fehlern anzeigen?'; $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; $lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; $lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; +$lang['referrals_o_-1'] = 'Standard verwenden'; +$lang['referrals_o_0'] = 'Nicht Referrals folgen'; +$lang['referrals_o_1'] = 'Referrals folgen'; diff --git a/lib/plugins/authldap/lang/en/lang.php b/lib/plugins/authldap/lang/en/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..8185a84fa04d0f528b2559b9aeca7b186206ed8f --- /dev/null +++ b/lib/plugins/authldap/lang/en/lang.php @@ -0,0 +1,11 @@ +<?php +/** + * English language file for authldap plugin + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ + +$lang['connectfail'] = 'LDAP cannot connect: %s'; +$lang['domainfail'] = 'LDAP cannot find your user dn'; + +//Setup VIM: ex: et ts=4 : diff --git a/lib/plugins/authldap/lang/en/settings.php b/lib/plugins/authldap/lang/en/settings.php index b73166ab2205b12bd27c3bf2be1d54d347ab9049..a4194b00a13e96b891140dda74046642a2c64126 100644 --- a/lib/plugins/authldap/lang/en/settings.php +++ b/lib/plugins/authldap/lang/en/settings.php @@ -13,7 +13,9 @@ $lang['binddn'] = 'DN of an optional bind user if anonymous bind is not suf $lang['bindpw'] = 'Password of above user'; $lang['userscope'] = 'Limit search scope for user search'; $lang['groupscope'] = 'Limit search scope for group search'; +$lang['userkey'] = 'Attribute denoting the username; must be consistent to userfilter.'; $lang['groupkey'] = 'Group membership from any user attribute (instead of standard AD groups) e.g. group from department or telephone number'; +$lang['modPass'] = 'Can the LDAP password be changed via dokuwiki?'; $lang['debug'] = 'Display additional debug information on errors'; @@ -21,3 +23,7 @@ $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; $lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; $lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; + +$lang['referrals_o_-1'] = 'use default'; +$lang['referrals_o_0'] = 'don\'t follow referrals'; +$lang['referrals_o_1'] = 'follow referrals'; \ No newline at end of file diff --git a/lib/plugins/authldap/lang/es/lang.php b/lib/plugins/authldap/lang/es/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..20de155c15d72fdaad6512dd368eb70d89a758b3 --- /dev/null +++ b/lib/plugins/authldap/lang/es/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Mauricio Segura <maose38@yahoo.es> + */ +$lang['connectfail'] = 'LDAP no se puede conectar: %s'; diff --git a/lib/plugins/authldap/lang/es/settings.php b/lib/plugins/authldap/lang/es/settings.php index 6991546d3227bf7b3cb679cde7d31251ede21088..8e1d0b4e1c92cb800c4087c3d6c522e1a70bf0d0 100644 --- a/lib/plugins/authldap/lang/es/settings.php +++ b/lib/plugins/authldap/lang/es/settings.php @@ -5,6 +5,7 @@ * * @author Antonio Bueno <atnbueno@gmail.com> * @author Eloy <ej.perezgomez@gmail.com> + * @author Alejandro Nunez <nunez.alejandro@gmail.com> */ $lang['server'] = 'Tu servidor LDAP. Puede ser el nombre del host (<code>localhost</code>) o una URL completa (<code>ldap://server.tld:389</code>)'; $lang['port'] = 'Servidor LDAP en caso de que no se diera la URL completa anteriormente.'; @@ -20,8 +21,12 @@ $lang['bindpw'] = 'Contraseña del usuario de arriba.'; $lang['userscope'] = 'Limitar ámbito de búsqueda para búsqueda de usuarios'; $lang['groupscope'] = 'Limitar ámbito de búsqueda para búsqueda de grupos'; $lang['groupkey'] = 'Pertenencia al grupo desde cualquier atributo de usuario (en lugar de grupos AD estándar) p.e., grupo a partir departamento o número de teléfono'; +$lang['modPass'] = 'Puede ser cambiara via dokuwiki la password LDAP?'; $lang['debug'] = 'Mostrar información adicional para depuración de errores'; $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; $lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; $lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; +$lang['referrals_o_-1'] = 'usar default'; +$lang['referrals_o_0'] = 'no seguir referencias'; +$lang['referrals_o_1'] = 'seguir referencias'; diff --git a/lib/plugins/authldap/lang/fa/lang.php b/lib/plugins/authldap/lang/fa/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..fdf4f6da982190c75114bae02e5543bbed4177aa --- /dev/null +++ b/lib/plugins/authldap/lang/fa/lang.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Masoud Sadrnezhaad <masoud@sadrnezhaad.ir> + */ +$lang['connectfail'] = 'LDAP نمیتواند وصل شود: %s'; +$lang['domainfail'] = 'LDAP نمیتواند کاربر شما را پیدا کند'; diff --git a/lib/plugins/authldap/lang/fa/settings.php b/lib/plugins/authldap/lang/fa/settings.php index 49d485afdd6346014cf493d951f50210a9fadce2..72eccb0ef40a45483eb557da4ce8cd98eea1bab7 100644 --- a/lib/plugins/authldap/lang/fa/settings.php +++ b/lib/plugins/authldap/lang/fa/settings.php @@ -5,6 +5,32 @@ * * @author Mohammad Sadegh <msdn2013@gmail.com> * @author Omid Hezaveh <hezpublic@gmail.com> + * @author Mohmmad Razavi <sepent@gmail.com> + * @author Masoud Sadrnezhaad <masoud@sadrnezhaad.ir> */ +$lang['server'] = 'سرور LDAP شما. Ú†Ù‡ به صورت '; +$lang['port'] = 'درگاه سرور LDAP اگر Ú©Ù‡ URL کامل در بالا نوشته نشده'; +$lang['usertree'] = 'Ù…ØÙ„ Øساب‌های کاربری. برای مثال <code>ou=People, dc=server, dc=tld</code>'; +$lang['grouptree'] = 'Ù…ØÙ„ گروه‌های کاربری. برای مثال <code>ou=Group, dc=server, dc=tld</code>'; +$lang['userfilter'] = 'Ùیتلرهای LDAP برای جستجوی Øساب‌های کاربری. برای مثال <code>(&(uid=%{user})(objectClass=posixAccount))</code>'; +$lang['groupfilter'] = 'Ùیلتر LDAP برای جستجوی گروه‌ها. برای مثال <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; +$lang['version'] = 'نسخهٔ پروتوکل برای استÙاده. اØتمالا این را باید <code>3</code> وارد کنید.'; $lang['starttls'] = 'از تی‌ال‌اس (TLS) استÙاده می‌کنید؟'; +$lang['referrals'] = 'آیا ارجاعات باید دنبال شوند؟'; +$lang['deref'] = 'نام‌های مستعار چطور ارجاع یابی شوند؟'; +$lang['binddn'] = ' DN برای کاربر اتصال اگر اتصال ناشناخته کاÙÛŒ نیست. مثال +<code>cn=admin, dc=my, dc=home</code>'; $lang['bindpw'] = 'رمزعبور کاربر بالا'; +$lang['userscope'] = 'Ù…Øدود کردن Ù…Øدودهٔ جستجو به جستجوی کاربر'; +$lang['groupscope'] = 'Ù…Øدود کردن Ù…Øدودهٔ جستجو به جستجوی گروه'; +$lang['userkey'] = 'صÙتی Ú©Ù‡ نشان‌دهندهٔ نام کاربر است؛ باید با userfilter نامتناقض باشد.'; +$lang['groupkey'] = 'عضویت در گروه برمبنای هر کدام از صÙات کاربر (به جای گروه‌های استاندارد AD) برای مثال گروه برمبنای دپارتمان یا شماره تلÙÙ†'; +$lang['modPass'] = 'آیا پسورد LDAP می‌تواند توسط داکو ویکی تغییر کند؟'; +$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'; +$lang['referrals_o_-1'] = 'استÙاده از پیشÙرض'; +$lang['referrals_o_0'] = 'ارجاعات را دنبال Ù†Ú©Ù†'; +$lang['referrals_o_1'] = 'ارجاعات را دنبال Ú©Ù†'; diff --git a/lib/plugins/authldap/lang/fr/lang.php b/lib/plugins/authldap/lang/fr/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..5797bda428e7345e8452cd1588efd5f0485d19ae --- /dev/null +++ b/lib/plugins/authldap/lang/fr/lang.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Pietroni <pietroni@informatique.univ-paris-diderot.fr> + */ +$lang['connectfail'] = 'LDAP ne peux se connecter : %s'; +$lang['domainfail'] = 'LDAP ne trouve pas l\'utilisateur dn'; diff --git a/lib/plugins/authldap/lang/fr/settings.php b/lib/plugins/authldap/lang/fr/settings.php index dc475071eb3b19ee8bc82b677e5d08769fddd5e9..619aee3d323f630b78bcc78076c35539df547080 100644 --- a/lib/plugins/authldap/lang/fr/settings.php +++ b/lib/plugins/authldap/lang/fr/settings.php @@ -5,6 +5,7 @@ * * @author Bruno Veilleux <bruno.vey@gmail.com> * @author schplurtz <Schplurtz@laposte.net> + * @author Schplurtz le Déboulonné <schplurtz@laposte.net> */ $lang['server'] = 'Votre serveur LDAP. Soit le nom d\'hôte (<code>localhost</code>) ou l\'URL complète (<code>ldap://serveur.dom:389</code>)'; $lang['port'] = 'Port du serveur LDAP si l\'URL complète n\'a pas été indiquée ci-dessus'; @@ -20,9 +21,14 @@ $lang['binddn'] = 'Nom de domaine d\'un utilisateur de connexion $lang['bindpw'] = 'Mot de passe de l\'utilisateur ci-dessus.'; $lang['userscope'] = 'Limiter la portée de recherche d\'utilisateurs'; $lang['groupscope'] = 'Limiter la portée de recherche de groupes'; +$lang['userkey'] = 'Attribut indiquant le nom d\'utilisateur. Doit être en accord avec le filtre d\'utilisateur.'; $lang['groupkey'] = 'Affiliation aux groupes à partir de n\'importe quel attribut utilisateur (au lieu des groupes AD standards), p. ex. groupes par département ou numéro de téléphone'; +$lang['modPass'] = 'Peut-on changer le mot de passe LDAP depuis DokiWiki ?'; $lang['debug'] = 'Afficher des informations de bégogage supplémentaires pour les erreurs'; $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; $lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; $lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; +$lang['referrals_o_-1'] = 'comportement par défaut'; +$lang['referrals_o_0'] = 'ne pas suivre les références'; +$lang['referrals_o_1'] = 'suivre les références'; diff --git a/lib/plugins/authldap/lang/he/settings.php b/lib/plugins/authldap/lang/he/settings.php index 357a58c56b8394b923ee21fbd107d6f9d58109fd..10af7010d21177312d329f9be591a16ca352a257 100644 --- a/lib/plugins/authldap/lang/he/settings.php +++ b/lib/plugins/authldap/lang/he/settings.php @@ -4,5 +4,9 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author matt carroll <matt.carroll@gmail.com> + * @author Menashe Tomer <menashesite@gmail.com> */ $lang['starttls'] = 'השתמש בחיבורי TLS'; +$lang['modPass'] = '×”×× dokuwiki יכול ליצור סיסמ×ות LDAP?'; +$lang['debug'] = 'הצג מידע × ×•×¡×£ על שגי×ות'; +$lang['referrals_o_-1'] = 'ברירת מחדל'; diff --git a/lib/plugins/authldap/lang/hr/lang.php b/lib/plugins/authldap/lang/hr/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..5e13d1b0572ff7f47726693ecb82e5153ed33e53 --- /dev/null +++ b/lib/plugins/authldap/lang/hr/lang.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> + */ +$lang['connectfail'] = 'LDAP se ne može spojiti: %s'; +$lang['domainfail'] = 'LDAP ne može pronaći VaÅ¡ korisniÄki dn'; diff --git a/lib/plugins/authldap/lang/hr/settings.php b/lib/plugins/authldap/lang/hr/settings.php index cb8df7218cc9bf64ccf4019d6c157eaac88a508c..5c306d84bb67e3d3a2580277062f4afba01c61e6 100644 --- a/lib/plugins/authldap/lang/hr/settings.php +++ b/lib/plugins/authldap/lang/hr/settings.php @@ -19,9 +19,14 @@ $lang['binddn'] = 'DN opcionalnog korisnika ako anonimni korisnik $lang['bindpw'] = 'Lozinka gore navedenog korisnika'; $lang['userscope'] = 'OgraniÄi podruÄje za pretragu korisnika'; $lang['groupscope'] = 'OgraniÄi podruÄje za pretragu grupa'; +$lang['userkey'] = 'Atribut oznaÄava ime; mora biti u skladu s korisniÄkim filterom.'; $lang['groupkey'] = 'ÄŒlanstvo grupa iz svih atributa korisnika (umjesto standardnih AD grupa) npr. grupa iz odjela ili telefonskog broja'; +$lang['modPass'] = 'Da li LDAP lozinka može biti izmijenjena kroz dokuwiki?'; $lang['debug'] = 'Prikaži dodatne informacije u sluÄaju greÅ¡ke'; $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; $lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; $lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; +$lang['referrals_o_-1'] = 'koristi podrazumijevano'; +$lang['referrals_o_0'] = 'ne slijedi preporuke'; +$lang['referrals_o_1'] = 'slijedi preporuke'; diff --git a/lib/plugins/authldap/lang/hu/lang.php b/lib/plugins/authldap/lang/hu/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..07c16f3f007800426ed330d0b561521ba9510bd4 --- /dev/null +++ b/lib/plugins/authldap/lang/hu/lang.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Marton Sebok <sebokmarton@gmail.com> + */ +$lang['connectfail'] = 'Az LDAP nem tudott csatlakozni: %s'; +$lang['domainfail'] = 'Az LDAP nem találta a felhasználód megkülönböztetÅ‘ nevét (DN)'; diff --git a/lib/plugins/authldap/lang/hu/settings.php b/lib/plugins/authldap/lang/hu/settings.php index 1e6608dabc9b6d4504e01a013022ad801165a90f..364a1e9870c043a5a78f11fb9bf15f91e1140226 100644 --- a/lib/plugins/authldap/lang/hu/settings.php +++ b/lib/plugins/authldap/lang/hu/settings.php @@ -20,9 +20,14 @@ $lang['binddn'] = 'Egy hozzáféréshez használt felhasználó D $lang['bindpw'] = 'Ehhez tartozó jelszó.'; $lang['userscope'] = 'A keresési tartomány korlátozása erre a felhasználókra való keresésnél'; $lang['groupscope'] = 'A keresési tartomány korlátozása erre a csoportokra való keresésnél'; +$lang['userkey'] = 'A felhasználónevet leÃró attribútum; konzisztensnek kell lennie a felhasználói szűrÅ‘vel (userfilter).'; $lang['groupkey'] = 'Csoport meghatározása a következÅ‘ attribútumból (az alapértelmezett AD csoporttagság helyett), pl. a szervezeti egység vagy a telefonszám'; +$lang['modPass'] = 'Az LDAP jelszó megváltoztatható a DokuWiki-n keresztül?'; $lang['debug'] = 'Továbi hibakeresési információk megjelenÃtése hiba esetén'; $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; $lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; $lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; +$lang['referrals_o_-1'] = 'alapértelmezett érték használata'; +$lang['referrals_o_0'] = 'ne kövesse az átirányÃtásokat (referral)'; +$lang['referrals_o_1'] = 'kövesse az átirányÃtásokat (referral)'; diff --git a/lib/plugins/authldap/lang/it/lang.php b/lib/plugins/authldap/lang/it/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..9832e9319764ef99ea7322d3e76e779ac9a1d6be --- /dev/null +++ b/lib/plugins/authldap/lang/it/lang.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Torpedo <dgtorpedo@gmail.com> + */ +$lang['connectfail'] = 'LDAP non è in grado di connettere: %s'; +$lang['domainfail'] = 'LDAP non è in grado di trovare il tuo DN utente'; diff --git a/lib/plugins/authldap/lang/it/settings.php b/lib/plugins/authldap/lang/it/settings.php index 858c694b824373b8b30bd27af52048cbe405081b..58bf497ed17c4394b57b6d9e8ffdfa8a364abffd 100644 --- a/lib/plugins/authldap/lang/it/settings.php +++ b/lib/plugins/authldap/lang/it/settings.php @@ -6,6 +6,7 @@ * @author Edmondo Di Tucci <snarchio@gmail.com> * @author Claudio Lanconelli <lancos@libero.it> * @author Francesco <francesco.cavalli@hotmail.com> + * @author Torpedo <dgtorpedo@gmail.com> */ $lang['server'] = 'Il tuo server LDAP. Inserire o l\'hostname (<code>localhost</code>) oppure un URL completo (<code>ldap://server.tld:389</code>)'; $lang['port'] = 'Porta del server LDAP se non è stato fornito un URL completo più sopra.'; @@ -15,11 +16,20 @@ $lang['userfilter'] = 'Filtro per cercare l\'account utente LDAP. Eg. $lang['groupfilter'] = 'Filtro per cercare i gruppi LDAP. Eg. <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; $lang['version'] = 'Versione protocollo da usare. Pu<code>3</code>'; $lang['starttls'] = 'Usare la connessione TSL?'; +$lang['referrals'] = 'Possono i reindirizzamenti essere seguiti?'; $lang['deref'] = 'Come differenziare un alias?'; +$lang['binddn'] = 'DN di un utente bind opzionale se un bind anonimo non è sufficiente. E.g. <code>cn=admin, dc=casa, dc=mia</code>'; +$lang['bindpw'] = 'Password del utente di cui sopra'; $lang['userscope'] = 'Limita il contesto di ricerca per la ricerca degli utenti'; $lang['groupscope'] = 'Limita il contesto di ricerca per la ricerca dei gruppi'; +$lang['userkey'] = 'Attributo indicante il nome utente; deve essere consistente con il filtro utente.'; +$lang['groupkey'] = 'Gruppo di appartenenza sulla base di qualunque attributo utente (invece di gruppo AD standard) e.g. gruppo in base al dipartimento o al numero di telefono'; +$lang['modPass'] = 'Può la password LDAP essere cambiata attraverso DokuWiki?'; $lang['debug'] = 'In caso di errori mostra ulteriori informazioni di 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'; +$lang['referrals_o_-1'] = 'usa default'; +$lang['referrals_o_0'] = 'non seguire i reindirizzamenti'; +$lang['referrals_o_1'] = 'segui i reindirizzamenti'; diff --git a/lib/plugins/authldap/lang/ja/lang.php b/lib/plugins/authldap/lang/ja/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..aeeb6c75e7956d16d3044fcabbe08013537f20e6 --- /dev/null +++ b/lib/plugins/authldap/lang/ja/lang.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Hideaki SAWADA <chuno@live.jp> + */ +$lang['connectfail'] = 'LDAP ã«æŽ¥ç¶šã§ãã¾ã›ã‚“: %s'; +$lang['domainfail'] = 'LDAP 㧠user dn を発見ã§ãã¾ã›ã‚“。'; diff --git a/lib/plugins/authldap/lang/ja/settings.php b/lib/plugins/authldap/lang/ja/settings.php index 6cff0ea67a1a25a1f3e89339057ea7e56e7ad79e..99a70de7964ae451d590e09cb07a734f4a9693a0 100644 --- a/lib/plugins/authldap/lang/ja/settings.php +++ b/lib/plugins/authldap/lang/ja/settings.php @@ -7,6 +7,7 @@ * @author Hideaki SAWADA <sawadakun@live.jp> * @author Hideaki SAWADA <chuno@live.jp> * @author PzF_X <jp_minecraft@yahoo.co.jp> + * @author Ikuo Obataya <i.obataya@gmail.com> */ $lang['server'] = 'LDAPサーãƒãƒ¼ã€‚ホストå(<code>localhost</code>)åˆã¯å®Œå…¨ä¿®é£¾URL(<code>ldap://server.tld:389</code>)'; $lang['port'] = '上記ãŒå®Œå…¨ä¿®é£¾URLã§ãªã„å ´åˆã€LDAPサーãƒãƒ¼ãƒãƒ¼ãƒˆ'; @@ -22,10 +23,15 @@ $lang['binddn'] = '匿åãƒã‚¤ãƒ³ãƒ‰ã§ã¯ä¸å分ãªå ´åˆã€ $lang['bindpw'] = '上記ユーザーã®ãƒ‘スワード'; $lang['userscope'] = 'ユーザー検索ã®ç¯„囲をé™å®šã•ã›ã‚‹'; $lang['groupscope'] = 'グループ検索ã®ç¯„囲をé™å®šã•ã›ã‚‹'; +$lang['userkey'] = 'ユーザーåを示ã™å±žæ€§ã€‚userfilter ã¨ä¸€è‡´ã—ã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚'; $lang['groupkey'] = 'ユーザー属性をグループã®ãƒ¡ãƒ³ãƒãƒ¼ã‚·ãƒƒãƒ—ã‹ã‚‰è¨å®šã—ã¾ã™(代ã‚ã‚Šã«æ¨™æº–ã®ADグループ)。 例ãˆã°ã€éƒ¨ç½²ã‚„電話番å·ãªã©ã§ã™ã€‚'; +$lang['modPass'] = 'DokuWiki ã‹ã‚‰ LDAP パスワードã®å¤‰æ›´ãŒå¯èƒ½ï¼Ÿ'; $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'; +$lang['referrals_o_-1'] = 'デフォルトを使用ã™ã‚‹'; +$lang['referrals_o_0'] = 'referral ã«å¾“ã‚ãªã„'; +$lang['referrals_o_1'] = 'referral ã«å¾“ã†'; diff --git a/lib/plugins/authldap/lang/ko/lang.php b/lib/plugins/authldap/lang/ko/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..3c6722a81230ea4f33465d6de49ede159793e14c --- /dev/null +++ b/lib/plugins/authldap/lang/ko/lang.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Myeongjin <aranet100@gmail.com> + */ +$lang['connectfail'] = 'LDAPê°€ ì—°ê²°í• ìˆ˜ 없습니다: %s'; +$lang['domainfail'] = 'LDAPê°€ ì‚¬ìš©ìž DNì„ ì°¾ì„ ìˆ˜ 없습니다'; diff --git a/lib/plugins/authldap/lang/ko/settings.php b/lib/plugins/authldap/lang/ko/settings.php index e663ba0633fbec77721a6910565c3449c5be9f76..d3e93ff51747555b2412cb63fcd0bb1746c02612 100644 --- a/lib/plugins/authldap/lang/ko/settings.php +++ b/lib/plugins/authldap/lang/ko/settings.php @@ -19,9 +19,14 @@ $lang['binddn'] = 'ìµëª… ë°”ì¸ë“œê°€ 충분하지 않으면 ì„ $lang['bindpw'] = '위 사용ìžì˜ 비밀번호'; $lang['userscope'] = 'ì‚¬ìš©ìž ê²€ìƒ‰ì— ëŒ€í•œ 검색 범위 ì œí•œ'; $lang['groupscope'] = '그룹 ê²€ìƒ‰ì— ëŒ€í•œ 검색 범위 ì œí•œ'; +$lang['userkey'] = 'ì‚¬ìš©ìž ì´ë¦„ì„ ë‚˜íƒ€ë‚´ëŠ” 특성; ì‚¬ìš©ìž í•„í„°ì— ì¼ê´€ì„±ì´ 있어야 합니다.'; $lang['groupkey'] = '(표준 AD 그룹 ëŒ€ì‹ ) ì‚¬ìš©ìž ì†ì„±ì—ì„œ 그룹 구성ì›. 예를 들어 부서나 ì „í™”ì—ì„œ 그룹'; +$lang['modPass'] = 'LDAP 비밀번호를 ë„ì¿ ìœ„í‚¤ë¥¼ 통해 바꿀 수 있습니까?'; $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'; +$lang['referrals_o_-1'] = '기본값 사용'; +$lang['referrals_o_0'] = '참조 (referral)를 따르지 ì•ŠìŒ'; +$lang['referrals_o_1'] = '참조 (referral)를 따름'; diff --git a/lib/plugins/authldap/lang/nl/lang.php b/lib/plugins/authldap/lang/nl/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..7cbec9baa6ab9da37b1c9fac5f085afce1399e08 --- /dev/null +++ b/lib/plugins/authldap/lang/nl/lang.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Hugo Smet <hugo.smet@scarlet.be> + */ +$lang['connectfail'] = 'LDAP kan niet connecteren: %s'; +$lang['domainfail'] = 'LDAP kan je gebruikers dn niet vinden'; diff --git a/lib/plugins/authldap/lang/nl/settings.php b/lib/plugins/authldap/lang/nl/settings.php index 193d1a386b33d4d6d19f3c8c600658d129a8482b..41fcce2cd66f0bc4ae2ef814d871de80b90b9189 100644 --- a/lib/plugins/authldap/lang/nl/settings.php +++ b/lib/plugins/authldap/lang/nl/settings.php @@ -5,6 +5,7 @@ * * @author Gerrit Uitslag <klapinklapin@gmail.com> * @author Remon <no@email.local> + * @author Johan Wijnker <johan@wijnker.eu> */ $lang['server'] = 'Je LDAP server. Of de servernaam (<code>localhost</code>) of de volledige URL (<code>ldap://server.tld:389</code>)'; $lang['port'] = 'LDAP server poort als bij de entry hierboven geen volledige URL is opgegeven'; @@ -20,9 +21,14 @@ $lang['binddn'] = 'DN van een optionele bind gebruiker als anonie $lang['bindpw'] = 'Wachtwoord van bovenstaande gebruiker'; $lang['userscope'] = 'Beperken scope van zoekfuncties voor gebruikers'; $lang['groupscope'] = 'Beperken scope van zoekfuncties voor groepen'; +$lang['userkey'] = 'Attribuut aanduiding van de gebruikersnaam; moet consistent zijn met userfilter.'; $lang['groupkey'] = 'Groepslidmaatschap van enig gebruikersattribuut (in plaats van standaard AD groepen), bijv. groep van afdeling of telefoonnummer'; +$lang['modPass'] = 'Kan het LDAP wachtwoord worden gewijzigd met DokuWiki?'; $lang['debug'] = 'Tonen van aanvullende debuginformatie bij fouten'; $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; $lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; $lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; +$lang['referrals_o_-1'] = 'gebruik standaard'; +$lang['referrals_o_0'] = 'volg verwijzing niet'; +$lang['referrals_o_1'] = 'volg verwijzing'; diff --git a/lib/plugins/authldap/lang/pt-br/lang.php b/lib/plugins/authldap/lang/pt-br/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..20f5ec33bb3125fb35790e2312ba2ce277e1f7d2 --- /dev/null +++ b/lib/plugins/authldap/lang/pt-br/lang.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Frederico Gonçalves Guimarães <frederico@teia.bio.br> + */ +$lang['connectfail'] = 'Não foi possÃvel conectar ao LDAP: %s'; +$lang['domainfail'] = 'Não foi possÃvel encontrar o seu user dn no LDAP'; diff --git a/lib/plugins/authldap/lang/pt-br/settings.php b/lib/plugins/authldap/lang/pt-br/settings.php index 6ad6b4862fb347441f936024d498dc60726eceb6..f35ed8eb85306397b5fb3370643fdf66e17978a0 100644 --- a/lib/plugins/authldap/lang/pt-br/settings.php +++ b/lib/plugins/authldap/lang/pt-br/settings.php @@ -5,6 +5,7 @@ * * @author Victor Westmann <victor.westmann@gmail.com> * @author Frederico Guimarães <frederico@teia.bio.br> + * @author Hudson FAS <hudsonfas@gmail.com> */ $lang['server'] = 'Seu servidor LDAP. Ou hostname (<code>localhost</code>) ou uma URL completa (<code>ldap://server.tld:389</code>)'; $lang['port'] = 'Porta LDAP do servidor se nenhuma URL completa tiver sido fornecida acima'; @@ -20,9 +21,14 @@ $lang['binddn'] = 'DN de um vÃnculo opcional de usuário se vÃn $lang['bindpw'] = 'Senha do usuário acima'; $lang['userscope'] = 'Limitar escopo da busca para busca de usuário'; $lang['groupscope'] = 'Limitar escopo da busca para busca de grupo'; +$lang['userkey'] = 'Atributo que indica o nome do usuário; deve ser consistente com userfilter.'; $lang['groupkey'] = 'Membro de grupo vem de qualquer atributo do usuário (ao invés de grupos padrões AD) e.g. departamento de grupo ou número de telefone'; +$lang['modPass'] = 'A senha LDAP pode ser alterada pelo dokuwiki ?'; $lang['debug'] = 'Mostrar informações adicionais de depuração em erros'; $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; $lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; $lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; +$lang['referrals_o_-1'] = 'use o padrão'; +$lang['referrals_o_0'] = 'não seguem referências'; +$lang['referrals_o_1'] = 'seguem referências'; diff --git a/lib/plugins/authldap/lang/pt/lang.php b/lib/plugins/authldap/lang/pt/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..cd782f4b421cdc4826d36dba561c5b65914551d7 --- /dev/null +++ b/lib/plugins/authldap/lang/pt/lang.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Paulo Carmino <contato@paulocarmino.com> + */ +$lang['connectfail'] = 'Não foi possÃvel conectar o LDAP: %s'; +$lang['domainfail'] = 'O LDAP não encontrou seu usuário'; diff --git a/lib/plugins/authldap/lang/pt/settings.php b/lib/plugins/authldap/lang/pt/settings.php index b54f2a1bcdb1d6dc5242f5845d30d3b525a17a99..4d4ed2d85bb532f0df61324e37f8c294ff38fedc 100644 --- a/lib/plugins/authldap/lang/pt/settings.php +++ b/lib/plugins/authldap/lang/pt/settings.php @@ -5,6 +5,8 @@ * * @author André Neves <drakferion@gmail.com> * @author Guido Salatino <guidorafael23@gmail.com> + * @author Romulo Pereira <romuloccomp@gmail.com> + * @author Paulo Carmino <contato@paulocarmino.com> */ $lang['server'] = 'O seu servidor de LDAP. Ou hostname (<code>localhost</code>) ou URL qualificado completo (<code>ldap://servidor.tld:389</code>)'; $lang['port'] = 'Porta de servidor de LDAP se o URL completo não foi fornecido acima'; @@ -21,8 +23,12 @@ $lang['bindpw'] = 'Senha do utilizador acima'; $lang['userscope'] = 'Escopo de pesquisa Limite para pesquisa de usuário'; $lang['groupscope'] = 'Escopo de pesquisa Limite para pesquisa de grupo'; $lang['groupkey'] = 'A participação no grupo a partir de qualquer atributo de usuário (em vez de AD padrão de grupos) exemplo: grupo de departamento ou número de telefone'; +$lang['modPass'] = 'Sua senha LDAP pode ser alterada via dokuwiki?'; $lang['debug'] = 'Mostrar informação adicional de debug aquando de erros'; $lang['deref_o_0'] = 'LDAP_DEREF_NUNCA'; $lang['deref_o_1'] = 'LDAP_DEREF_PESQUISANDO'; $lang['deref_o_2'] = 'LDAP_DEREF_BUSCANDO'; $lang['deref_o_3'] = 'LDAP_DEREF_SEMPRE'; +$lang['referrals_o_-1'] = 'usar padrão'; +$lang['referrals_o_0'] = 'não seguir as referências'; +$lang['referrals_o_1'] = 'seguir as referências'; diff --git a/lib/plugins/authldap/lang/ru/lang.php b/lib/plugins/authldap/lang/ru/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..c05ed3b1545204e912f6e7cab7fc5628c4aaf848 --- /dev/null +++ b/lib/plugins/authldap/lang/ru/lang.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Takumo <9206984@mail.ru> + */ +$lang['connectfail'] = 'Ошибка ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ LDAP Ñ %s'; +$lang['domainfail'] = 'Ðе найдено Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ LDAP (dn)'; diff --git a/lib/plugins/authldap/lang/ru/settings.php b/lib/plugins/authldap/lang/ru/settings.php index 53499064891a10049e95d7916b0687389de04241..0b6ad4abd23f0ea35c0a214bd9140e2a27933450 100644 --- a/lib/plugins/authldap/lang/ru/settings.php +++ b/lib/plugins/authldap/lang/ru/settings.php @@ -9,21 +9,30 @@ * @author Aleksandr Selivanov <alexgearbox@yandex.ru> * @author Владимир <id37736@yandex.ru> * @author Vitaly Filatenko <kot@hacktest.net> + * @author Alex P <alexander@lanos.co.uk> */ -$lang['server'] = 'Ваш LDAP Ñервер. Либо Ð¸Ð¼Ñ Ñ…Ð¾Ñта (<code>localhost</code>), либо полный URL (<code>ldap://server.tld:389</code>)'; -$lang['port'] = 'Порт LDAP Ñервера, еÑли выше не был указан полный URL'; -$lang['usertree'] = 'Где иÑкать аккаунты пользователей. Ðапример: <code>ou=People, dc=server, dc=tld</code>'; -$lang['grouptree'] = 'Где иÑкать группы пользователей. Ðапример: <code>ou=Group, dc=server, dc=tld</code>'; -$lang['userfilter'] = 'LDAP фильтр Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка аккаунтов пользователей. Ðапример: <code>(&(uid=%{user})(objectClass=posixAccount))</code>'; -$lang['groupfilter'] = 'LDAP фильтр Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка групп. Ðапример: <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; -$lang['version'] = 'ВерÑÐ¸Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð°. Возможно вам нужно указать <code>3</code>'; -$lang['starttls'] = 'ИÑпользовать TLS подключениÑ?'; +$lang['server'] = 'Ваш LDAP-Ñервер. Либо Ð¸Ð¼Ñ Ñ…Ð¾Ñта (<code>localhost</code>), либо полный URL (<code>ldap://server.tld:389</code>)'; +$lang['port'] = 'Порт LDAP-Ñервера, еÑли выше не был указан полный URL'; +$lang['usertree'] = 'Где иÑкать аккаунты пользователей? Ðапример: <code>ou=People, dc=server, dc=tld</code>'; +$lang['grouptree'] = 'Где иÑкать группы пользователей? Ðапример: <code>ou=Group, dc=server, dc=tld</code>'; +$lang['userfilter'] = 'LDAP-фильтр Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка аккаунтов пользователей. Ðапример: <code>(&(uid=%{user})(objectClass=posixAccount))</code>'; +$lang['groupfilter'] = 'LDAP-фильтр Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка групп. Ðапример: <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; +$lang['version'] = 'ВерÑÐ¸Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð°. Возможно, вам нужно указать <code>3</code>'; +$lang['starttls'] = 'ИÑпользовать TLS-подключениÑ?'; +$lang['referrals'] = 'Следовать за referrals?'; $lang['deref'] = 'Как раÑшифровывать пÑевдонимы?'; -$lang['bindpw'] = 'Пароль Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ пользователÑ.'; +$lang['binddn'] = 'DN вторичного bind-пользователÑ, еÑли anonymous bind недоÑтаточно. Ðапример: <code>cn=admin, dc=my, dc=home</code>'; +$lang['bindpw'] = 'Пароль Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ пользователÑ'; $lang['userscope'] = 'Ограничить облаÑÑ‚ÑŒ поиÑка при поиÑке пользователей'; $lang['groupscope'] = 'Ограничить облаÑÑ‚ÑŒ поиÑка при поиÑке групп'; +$lang['userkey'] = 'Ðтрибут означающий Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ; должен быть таким же как в userfilter'; +$lang['groupkey'] = 'ИÑпользовать любой атрибут Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð² группу (вмеÑто Ñтандартного AD groups) Ðапример из атрибута department или telephone number'; +$lang['modPass'] = 'Может ли пароль LDAP быть изменён через «Докувики»?'; $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'; +$lang['referrals_o_-1'] = 'иÑользовать по умолчанию'; +$lang['referrals_o_0'] = 'не Ñледовать за referrals'; +$lang['referrals_o_1'] = 'Ñледовать за referrals'; diff --git a/lib/plugins/authldap/lang/zh-tw/settings.php b/lib/plugins/authldap/lang/zh-tw/settings.php index e3d85cb873e532e2f6be164763620fc73433170a..cb0bb71a43a10b4cb5d3c86572bf13875a0bf41e 100644 --- a/lib/plugins/authldap/lang/zh-tw/settings.php +++ b/lib/plugins/authldap/lang/zh-tw/settings.php @@ -9,8 +9,8 @@ $lang['server'] = '您的 LDAP 伺æœå™¨ã€‚填寫主機å稱 (<c $lang['port'] = 'LDAP 伺æœå™¨ç«¯å£ (若上方沒填寫完整的 URL)'; $lang['usertree'] = '到哪è£å°‹æ‰¾ä½¿ç”¨è€…帳號?如: <code>ou=People, dc=server, dc=tld</code>'; $lang['grouptree'] = '到哪è£å°‹æ‰¾ä½¿ç”¨è€…群組?如: <code>ou=Group, dc=server, dc=tld</code>'; -$lang['userfilter'] = '用於æœç´¢ä½¿ç”¨è€…賬號的 LDAP 篩é¸å™¨ã€‚如: <code>(&(uid=%{user})(objectClass=posixAccount))</code>'; -$lang['groupfilter'] = '用於æœç´¢ç¾¤çµ„çš„ LDAP 篩é¸å™¨ã€‚例如 <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; +$lang['userfilter'] = '用於æœç´¢ä½¿ç”¨è€…賬號的 LDAP 篩é¸å™¨ã€‚如: <code>(&(uid=%{user})(objectClass=posixAccount))</code>'; +$lang['groupfilter'] = '用於æœç´¢ç¾¤çµ„çš„ LDAP 篩é¸å™¨ã€‚例如 <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; $lang['version'] = '使用的通訊å”定版本。您å¯èƒ½è¦è¨ç½®ç‚º <code>3</code>'; $lang['starttls'] = '使用 TLS 連接嗎?'; $lang['referrals'] = '是å¦å…許引用 (referrals)?'; diff --git a/lib/plugins/authldap/lang/zh/lang.php b/lib/plugins/authldap/lang/zh/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..ef727497ed2ccae463b734cfd9b04e4b415c9bf5 --- /dev/null +++ b/lib/plugins/authldap/lang/zh/lang.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Errol <errol@hotmail.com> + */ +$lang['connectfail'] = 'LDAP æ— æ³•è¿žæŽ¥: %s'; +$lang['domainfail'] = 'LDAP æ— æ³•æ‰¾åˆ°ä½ çš„ç”¨æˆ· dn'; diff --git a/lib/plugins/authldap/lang/zh/settings.php b/lib/plugins/authldap/lang/zh/settings.php index cdaf3dc64836e49dfc548d8f933836924e350e52..7bb63975f08ca8602f8b37d84354d704833758d6 100644 --- a/lib/plugins/authldap/lang/zh/settings.php +++ b/lib/plugins/authldap/lang/zh/settings.php @@ -5,13 +5,14 @@ * * @author lainme <lainme993@gmail.com> * @author oott123 <ip.192.168.1.1@qq.com> + * @author Errol <errol@hotmail.com> */ $lang['server'] = '您的 LDAP æœåŠ¡å™¨ã€‚填写主机å (<code>localhost</code>) 或者完整的 URL (<code>ldap://server.tld:389</code>)'; $lang['port'] = 'LDAP æœåŠ¡å™¨ç«¯å£ (如果上é¢æ²¡æœ‰ç»™å‡ºå®Œæ•´çš„ URL)'; $lang['usertree'] = '何处查找用户账户。例如 <code>ou=People, dc=server, dc=tld</code>'; $lang['grouptree'] = '何处查找用户组。例如 <code>ou=Group, dc=server, dc=tld</code>'; -$lang['userfilter'] = '用于æœç´¢ç”¨æˆ·è´¦æˆ·çš„ LDAP ç›é€‰å™¨ã€‚例如 <code>(&(uid=%{user})(objectClass=posixAccount))</code>'; -$lang['groupfilter'] = '用于æœç´¢ç»„çš„ LDAP ç›é€‰å™¨ã€‚例如 <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; +$lang['userfilter'] = '用于æœç´¢ç”¨æˆ·è´¦æˆ·çš„ LDAP ç›é€‰å™¨ã€‚例如 <code>(&(uid=%{user})(objectClass=posixAccount))</code>'; +$lang['groupfilter'] = '用于æœç´¢ç»„çš„ LDAP ç›é€‰å™¨ã€‚例如 <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; $lang['version'] = '使用的å议版本。您或许需è¦è®¾ç½®ä¸º <code>3</code>'; $lang['starttls'] = '使用 TLS 连接?'; $lang['referrals'] = '是å¦å…许引用 (referrals)?'; @@ -20,9 +21,14 @@ $lang['binddn'] = '一个å¯é€‰çš„绑定用户的 DN (如果匿 $lang['bindpw'] = '上述用户的密ç '; $lang['userscope'] = 'é™åˆ¶ç”¨æˆ·æœç´¢çš„范围'; $lang['groupscope'] = 'é™åˆ¶ç»„æœç´¢çš„范围'; +$lang['userkey'] = '表示用户å的属性;必须和用户过滤器ä¿æŒä¸€è‡´ã€‚'; $lang['groupkey'] = 'æ ¹æ®ä»»ä½•ç”¨æˆ·å±žæ€§å¾—æ¥çš„组æˆå‘˜(而ä¸æ˜¯æ ‡å‡†çš„ AD 组)ï¼Œä¾‹å¦‚æ ¹æ®éƒ¨é—¨æˆ–者电è¯å·ç 得到的组。'; +$lang['modPass'] = ' LDAP密ç å¯ä»¥ç”±dokuwiki修改å—?'; $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'; +$lang['referrals_o_-1'] = '默认'; +$lang['referrals_o_0'] = 'ä¸è¦è·Ÿéšå‚ç…§(referral)'; +$lang['referrals_o_1'] = 'è·Ÿéšå‚ç…§(referral)'; diff --git a/lib/plugins/authldap/plugin.info.txt b/lib/plugins/authldap/plugin.info.txt index 964fbb99453718d2e1a5702cbd61464543a32084..e0c6144c37eb324fe70f97f2fa2de1a1a2e5b518 100644 --- a/lib/plugins/authldap/plugin.info.txt +++ b/lib/plugins/authldap/plugin.info.txt @@ -1,7 +1,7 @@ base authldap author Andreas Gohr email andi@splitbrain.org -date 2014-05-18 +date 2015-07-13 name LDAP Auth Plugin desc Provides user authentication against an LDAP server url http://www.dokuwiki.org/plugin:authldap diff --git a/lib/plugins/authmysql/auth.php b/lib/plugins/authmysql/auth.php index 0d423b6c9bf053a830fd508dba19cd0c392246f9..1b7d0bfa4ea0668eb1d4911e67622b03c52de4dc 100644 --- a/lib/plugins/authmysql/auth.php +++ b/lib/plugins/authmysql/auth.php @@ -222,6 +222,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { if($this->_openDB()) { if(($info = $this->_getUserInfo($user)) !== false) { + msg($this->getLang('userexists'), -1); return false; // user already exists } @@ -235,7 +236,13 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { $rc = $this->_addUser($user, $pwd, $name, $mail, $grps); $this->_unlockTables(); $this->_closeDB(); - if($rc) return true; + if(!$rc) { + msg($this->getLang('writefail')); + return null; + } + return true; + } else { + msg($this->getLang('connectfail'), -1); } return null; // return error } @@ -279,7 +286,9 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { $rc = $this->_updateUserInfo($user, $changes); - if($rc && isset($changes['grps']) && $this->cando['modGroups']) { + if(!$rc) { + msg($this->getLang('usernotexists'), -1); + } elseif(isset($changes['grps']) && $this->cando['modGroups']) { $groups = $this->_getGroups($user); $grpadd = array_diff($changes['grps'], $groups); $grpdel = array_diff($groups, $changes['grps']); @@ -295,10 +304,14 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { $rc = false; } } + + if(!$rc) msg($this->getLang('writefail')); } $this->_unlockTables(); $this->_closeDB(); + } else { + msg($this->getLang('connectfail'), -1); } return $rc; } @@ -328,6 +341,8 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { $this->_unlockTables(); } $this->_closeDB(); + } else { + msg($this->getLang('connectfail'), -1); } return $count; } diff --git a/lib/plugins/authmysql/lang/bg/lang.php b/lib/plugins/authmysql/lang/bg/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..d5837c72631063c23903de22c522c994ac4a9933 --- /dev/null +++ b/lib/plugins/authmysql/lang/bg/lang.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Kiril <neohidra@gmail.com> + */ +$lang['connectfail'] = 'Свързването Ñ Ð±Ð°Ð·Ð°Ñ‚Ð° данни Ñе провали.'; +$lang['userexists'] = 'За Ñъжаление вече ÑъщеÑтвува потребител Ñ Ñ‚Ð¾Ð²Ð° име.'; +$lang['usernotexists'] = 'За Ñъжаление не ÑъщеÑтвува такъв потребител.'; diff --git a/lib/plugins/authmysql/lang/cs/lang.php b/lib/plugins/authmysql/lang/cs/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..464a031b1604575d60edabe2816fe285c9d7f951 --- /dev/null +++ b/lib/plugins/authmysql/lang/cs/lang.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> + */ +$lang['connectfail'] = 'Selhalo pÅ™ipojenà k databázi.'; +$lang['userexists'] = 'Omlouváme se, ale uživatel s tÃmto jménem již existuje.'; +$lang['usernotexists'] = 'Omlouváme se, uživatel tohoto jména neexistuje.'; +$lang['writefail'] = 'Nelze zmÄ›nit údaje uživatele. Informujte prosÃm správce wiki'; diff --git a/lib/plugins/authmysql/lang/cy/lang.php b/lib/plugins/authmysql/lang/cy/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..a96715c12a1ca1fbdaac14af5c43d753803fba30 --- /dev/null +++ b/lib/plugins/authmysql/lang/cy/lang.php @@ -0,0 +1,13 @@ +<?php +/** + * Welsh language file for authmysql plugin + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ + +$lang['connectfail'] = 'Method y cysylltiad i\'r databas.'; +$lang['userexists'] = 'Sori, mae defnyddiwr gyda\'r enw mewngofnodi hwn eisoes yn bodoli.'; +$lang['usernotexists'] = 'Sori, \'dyw\'r defnyddiwr hwnnw ddim yn bodoli.'; +$lang['writefail'] = 'Methu â newid data defnyddiwr. Rhowch wybod i Weinyddwr y Wici'; + +//Setup VIM: ex: et ts=4 : diff --git a/lib/plugins/authmysql/lang/cy/settings.php b/lib/plugins/authmysql/lang/cy/settings.php new file mode 100644 index 0000000000000000000000000000000000000000..526cffa6151d74958b13d8f7793a5a2dfb5c1d71 --- /dev/null +++ b/lib/plugins/authmysql/lang/cy/settings.php @@ -0,0 +1,39 @@ +<?php + +$lang['server'] = 'Eich gweinydd MySQL'; +$lang['user'] = 'Defnyddair MySQL'; +$lang['password'] = 'Cyfrinair y defnyddiwr uchod'; +$lang['database'] = 'Databas i\'w ddefnyddio'; +$lang['charset'] = 'Set nodau i\'w defnyddio gyda\'r databas'; +$lang['debug'] = 'Dangos gwybodaeth dadfygio ychwanegol'; +$lang['forwardClearPass'] = 'Pasio cyfrineiriau defnyddwyr fel \'cleartext\' i\'r datganiadau SQL isod, yn hytrach na defnyddio\'r opsiwn \'passcrypt\''; +$lang['TablesToLock'] = 'Rhestr a wahanwyd gan goma o dablau sydd angen eu cloi yn ystod gweithredoedd ysgrifennu'; +$lang['checkPass'] = 'Datganiad SQL i wirio cyfrineiriau'; +$lang['getUserInfo'] = 'Datganiad SQL i nôl gwybodaeth defnyddiwr'; +$lang['getGroups'] = 'Datganiad SQL i nôl aelodaeth grŵp y defnyddiwr'; +$lang['getUsers'] = 'Datganiad SQL i restru pob defnyddiwr'; +$lang['FilterLogin'] = 'Cymal SQL i hidlo defnyddwyr gan enw mewngofnodi'; +$lang['FilterName'] = 'Cymal SQL i hidlo defnyddwyr gan enw llawn'; +$lang['FilterEmail'] = 'Cymal SQL i hidlo defnyddwyr gan gyfeiriad ebost'; +$lang['FilterGroup'] = 'Cymal SQL i hidlo defnyddwyr gan aelodaeth grŵp'; +$lang['SortOrder'] = 'Cymal SQL i drefnu defnyddwyr'; +$lang['addUser'] = 'Datganiad SQL i ychwanegu defnyddiwr newydd'; +$lang['addGroup'] = 'Datganiad SQL i ychwanegu grŵp newydd'; +$lang['addUserGroup'] = 'Datganiad SQL i ychwanegu defnyddiwr newydd i grŵp sy\'n bodoli eisoes'; +$lang['delGroup'] = 'Datganiad SQL i dynnu grŵp'; +$lang['getUserID'] = 'Datganiad SQL i nôl prif allwedd y defnyddiwr'; +$lang['delUser'] = 'Datganiad SQL i ddileu defnyddiwr'; +$lang['delUserRefs'] = 'Datganiad SQL i dynnu defnyddiwr o bob grŵp'; +$lang['updateUser'] = 'Datganiad SQL i ddiweddaru proffil defnyddiwr'; +$lang['UpdateLogin'] = 'Cymal Diweddaru i ddiweddaru enw mewngofnodi defnyddiwr'; +$lang['UpdatePass'] = 'Cymal Diweddaru i ddiweddaru cyfrinair defnyddiwr'; +$lang['UpdateEmail'] = 'Cymal Diweddaru i ddiweddaru cyfeiriad ebost defnyddiwr'; +$lang['UpdateName'] = 'Cymal Diweddaru i ddiweddaru enw llawn defnyddiwr'; +$lang['UpdateTarget'] = 'Cymal Cyfyngu i adnabod y defnyddiwr wrth ddiweddaru'; +$lang['delUserGroup'] = 'Datganiad SQL i dynnu defnyddiwr oddi ar grŵp'; +$lang['getGroupID'] = 'Datganiad SQL i nôl prif allwedd grŵp penodol'; + + +$lang['debug_o_0'] = 'dim'; +$lang['debug_o_1'] = 'gyda gwallau yn unig'; +$lang['debug_o_2'] = 'pob ymholiad SQL'; diff --git a/lib/plugins/authmysql/lang/da/settings.php b/lib/plugins/authmysql/lang/da/settings.php index ed21201fbb25ff203a4dfb142c1281a3f7c0275d..5fd66dbad0b5b3f67d543e417584c3180577d158 100644 --- a/lib/plugins/authmysql/lang/da/settings.php +++ b/lib/plugins/authmysql/lang/da/settings.php @@ -5,6 +5,7 @@ * * @author Jens Hyllegaard <jens.hyllegaard@gmail.com> * @author soer9648 <soer9648@eucl.dk> + * @author Jacob Palm <mail@jacobpalm.dk> */ $lang['server'] = 'Din MySQL server'; $lang['user'] = 'MySQL brugernavn'; @@ -12,8 +13,11 @@ $lang['password'] = 'Kodeord til ovenstÃ¥ende bruger'; $lang['database'] = 'Database der skal benyttes'; $lang['charset'] = 'Tegnsæt benyttet i database'; $lang['debug'] = 'Vis yderligere debug output'; +$lang['forwardClearPass'] = 'Videregiv bruger adgangskoder i klar tekst til nedenstÃ¥ende SQL statement, i stedet for at benytte passcrypt'; +$lang['TablesToLock'] = 'Kommasepareret liste over tabeller der skal lÃ¥ses under skrivning'; $lang['checkPass'] = 'SQL-sætning til at kontrollere kodeord'; $lang['getUserInfo'] = 'SQL-sætning til at hente brugerinformation'; +$lang['getGroups'] = 'SQL statement til at bestemme en brugers medlemskab af grupper'; $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'; diff --git a/lib/plugins/authmysql/lang/de/lang.php b/lib/plugins/authmysql/lang/de/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..c5c3c657a3dae22529c1b3c18df55a9b9f8de80a --- /dev/null +++ b/lib/plugins/authmysql/lang/de/lang.php @@ -0,0 +1,13 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Noel Tilliot <noeltilliot@byom.de> + * @author Hendrik Diel <diel.hendrik@gmail.com> + * @author Philip Knack <p.knack@stollfuss.de> + */ +$lang['connectfail'] = 'Verbindung zur Datenbank fehlgeschlagen.'; +$lang['userexists'] = 'Entschuldigung, aber dieser Benutzername ist bereits vergeben.'; +$lang['usernotexists'] = 'Sorry, dieser Nutzer existiert nicht.'; +$lang['writefail'] = 'Die Benutzerdaten konnten nicht geändert werden. Bitte wenden Sie sich an den Wiki-Admin.'; diff --git a/lib/plugins/authmysql/lang/en/lang.php b/lib/plugins/authmysql/lang/en/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..8313616c6184e756a8c64360a91294515f06fb15 --- /dev/null +++ b/lib/plugins/authmysql/lang/en/lang.php @@ -0,0 +1,13 @@ +<?php +/** + * English language file for authmysql plugin + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ + +$lang['connectfail'] = 'Failed to connect to database.'; +$lang['userexists'] = 'Sorry, a user with this login already exists.'; +$lang['usernotexists'] = 'Sorry, that user doesn\'t exist.'; +$lang['writefail'] = 'Unable to modify user data. Please inform the Wiki-Admin'; + +//Setup VIM: ex: et ts=4 : diff --git a/lib/plugins/authmysql/lang/es/lang.php b/lib/plugins/authmysql/lang/es/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..e25b801c33b5316871d741316c04ea6cf2c11664 --- /dev/null +++ b/lib/plugins/authmysql/lang/es/lang.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Domingo Redal <docxml@gmail.com> + */ +$lang['connectfail'] = 'Error al conectar con la base de datos.'; +$lang['userexists'] = 'Lo sentimos, ya existe un usuario con ese inicio de sesión.'; +$lang['usernotexists'] = 'Lo sentimos, no existe ese usuario.'; +$lang['writefail'] = 'No es posible modificar los datos del usuario. Por favor, informa al Administrador del Wiki'; diff --git a/lib/plugins/authmysql/lang/es/settings.php b/lib/plugins/authmysql/lang/es/settings.php index b82620fc60230ab4176f3b1c8229700dbdbe278d..8b5c79995028f5c0fb91ca6310a649fd8990e55f 100644 --- a/lib/plugins/authmysql/lang/es/settings.php +++ b/lib/plugins/authmysql/lang/es/settings.php @@ -6,6 +6,8 @@ * @author Antonio Bueno <atnbueno@gmail.com> * @author Eloy <ej.perezgomez@gmail.com> * @author Antonio Castilla <antoniocastilla@trazoide.com> + * @author Alejandro Nunez <nunez.alejandro@gmail.com> + * @author Domingo Redal <docxml@gmail.com> */ $lang['server'] = 'Tu servidor MySQL'; $lang['user'] = 'Nombre de usuario MySQL'; @@ -32,6 +34,11 @@ $lang['getUserID'] = 'Sentencia SQL para obtener la clave primaria d $lang['delUser'] = 'Sentencia SQL para eliminar un usuario'; $lang['delUserRefs'] = 'Sentencia SQL para eliminar un usuario de todos los grupos'; $lang['updateUser'] = 'Sentencia SQL para actualizar un perfil de usuario'; +$lang['UpdateLogin'] = 'Cláusula de actualización para actualizar el login del usuario'; +$lang['UpdatePass'] = 'Cláusula de actualización para actualizar la contraseña del usuario'; +$lang['UpdateEmail'] = 'Cláusula de actualización para actualizar la dirección de correo del usuario'; +$lang['UpdateName'] = 'Cláusula de actualización para actualizar el nomblre completo del usuario'; +$lang['UpdateTarget'] = 'Cláusula limite para identificar al usuario cuando se actualiza'; $lang['delUserGroup'] = 'Sentencia SQL para eliminar un usuario de un grupo dado'; $lang['getGroupID'] = 'Sentencia SQL para obtener la clave principal de un grupo dado'; $lang['debug_o_0'] = 'ninguno'; diff --git a/lib/plugins/authmysql/lang/fa/lang.php b/lib/plugins/authmysql/lang/fa/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..c73c053b16529e773bff09b55abfe6984e0310f8 --- /dev/null +++ b/lib/plugins/authmysql/lang/fa/lang.php @@ -0,0 +1,12 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Mohmmad Razavi <sepent@gmail.com> + * @author Masoud Sadrnezhaad <masoud@sadrnezhaad.ir> + */ +$lang['connectfail'] = 'خطا در اتصال به دیتابیس'; +$lang['userexists'] = 'با عرض پوزش، یک کاربر با این نام از قبل وجود دارد.'; +$lang['usernotexists'] = 'با عرض پوزش، آن کاربر وجود نداشت.'; +$lang['writefail'] = 'امکان تغییر داده کاربر وجود نداشت. لطÙا مسئول Wiki را آگاه کنید.'; diff --git a/lib/plugins/authmysql/lang/fa/settings.php b/lib/plugins/authmysql/lang/fa/settings.php index 68ad5ce8374104adaf90a3a769fc92d545f686f3..bca4bbf07dc6cc824eaf9620f0deac151184fe4f 100644 --- a/lib/plugins/authmysql/lang/fa/settings.php +++ b/lib/plugins/authmysql/lang/fa/settings.php @@ -4,7 +4,40 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Mohamad Mehdi Habibi <habibi.esf@gmail.com> + * @author Mohmmad Razavi <sepent@gmail.com> */ $lang['server'] = 'سرور MySQL'; $lang['user'] = 'نام کاربری MySQL'; +$lang['password'] = 'رمزعبور کاربر بالا'; $lang['database'] = 'پایگاه داده مورد استÙاده'; +$lang['charset'] = 'مجموعه کاراکترهایی (Character set) Ú©Ù‡ در پایگاه داده بکار رÙته'; +$lang['debug'] = 'نمایش اطلاعات بیشتر برای دیباگ'; +$lang['forwardClearPass'] = 'بجای استÙاده از گزینه passcryptØŒ رمزعبورهای کاربر را بصورت آشکار به دستور SQL زیر پاس دهید.'; +$lang['TablesToLock'] = 'لیست جدولهایی Ú©Ù‡ هنگام عملیات نوشتن باید Ù‚ÙÙ„ شود Ú©Ù‡ با کاما از هم جدا شده اند'; +$lang['checkPass'] = 'دستور SQL برای بررسی رمزعبورها'; +$lang['getUserInfo'] = 'دستور SQL برای دریاÙت اطلاعات نام کاربری'; +$lang['getGroups'] = 'دستور SQL برای دریاÙت گروه‌های عضویت یک کاربر'; +$lang['getUsers'] = 'دستور SQL برای گرÙتن لیست تمامی کاربران'; +$lang['FilterLogin'] = 'عبارت SQL برای Ùیلتر کردن کاربران با نام کاربری (login name)'; +$lang['FilterName'] = 'عبارت SQL برای Ùیلتر کردن کاربران با نام کامل'; +$lang['FilterEmail'] = 'عبارت SQL برای Ùیلتر کردن کابران با آدرس ایمیل'; +$lang['FilterGroup'] = 'عبارت SQL برای Ùیلتر کاربران با گروه عضویتشان'; +$lang['SortOrder'] = 'عبارت SQL برای مرتب کردن کاربران'; +$lang['addUser'] = 'دستور SQL برای اضاÙÙ‡ کردن کاربر جدید'; +$lang['addGroup'] = 'دستور SQL برای اضاÙÙ‡ کردن گروه جدید'; +$lang['addUserGroup'] = 'دستور SQL برای اضاÙÙ‡ کردن یک کاربر به یک گروه موجود از قبل'; +$lang['delGroup'] = 'دستور SQL برای Øذ٠یک گروه'; +$lang['getUserID'] = 'دستور SQL برای گرÙتن کلید اصلی (primary key) یک کاربر'; +$lang['delUser'] = 'دستور SQL برای Øذ٠یک کاربر'; +$lang['delUserRefs'] = 'دستور SQL برای Øذ٠یک کابر از تمامی گروه‌ها'; +$lang['updateUser'] = 'دستور SQL برای بروزرسانی پروÙایل یک کاربر'; +$lang['UpdateLogin'] = 'عبارت Update برای بروزرسانی نام کاربری (login name)'; +$lang['UpdatePass'] = 'عبارت Update برای بروزرسانی رمزعبور کاربر'; +$lang['UpdateEmail'] = 'عبارت Update برای بروزرسانی ادرسی ایمیل کاربر'; +$lang['UpdateName'] = 'عبارت Update برای بروزرسانی نام کامل کاربر'; +$lang['UpdateTarget'] = 'عبارت Limit برای شناسایی کابر هنگام بروزرسانی'; +$lang['delUserGroup'] = 'دستور SQL برای Øذ٠یک کاربر '; +$lang['getGroupID'] = 'دستور SQL برای گرÙتن کلید اصلی (primary key) گروه داده شده'; +$lang['debug_o_0'] = 'هیچ'; +$lang['debug_o_1'] = 'Ùقط هنگام خطا'; +$lang['debug_o_2'] = 'تمام پرس‌وجوهای SQL'; diff --git a/lib/plugins/authmysql/lang/fr/lang.php b/lib/plugins/authmysql/lang/fr/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..d5a1e1209dae8833941ccf8ee169d8e6502d80e1 --- /dev/null +++ b/lib/plugins/authmysql/lang/fr/lang.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Pietroni <pietroni@informatique.univ-paris-diderot.fr> + */ +$lang['connectfail'] = 'Impossible de se connecter à la base de données.'; +$lang['userexists'] = 'Désolé, un utilisateur avec cet identifiant existe déjà .'; +$lang['usernotexists'] = 'Désolé, cet utilisateur n\'existe pas.'; +$lang['writefail'] = 'Impossible de modifier les données utilisateur. Veuillez en informer l\'administrateur du Wiki.'; diff --git a/lib/plugins/authmysql/lang/he/settings.php b/lib/plugins/authmysql/lang/he/settings.php new file mode 100644 index 0000000000000000000000000000000000000000..3671b1bb9c86a996577ef3be6f3de642e0ec58df --- /dev/null +++ b/lib/plugins/authmysql/lang/he/settings.php @@ -0,0 +1,12 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Menashe Tomer <menashesite@gmail.com> + */ +$lang['getUserID'] = 'ש×ילתת SQL לקבלת מפתח ר×שי של המשתמש'; +$lang['UpdateLogin'] = 'ש×ילתת SQL לעדכון ×©× ×”×ž×©×ª×ž×©'; +$lang['UpdatePass'] = 'ש×ילתת SQL לעדכון סיסמת המשתמש'; +$lang['UpdateEmail'] = 'ש×ילתת SQL לעדכון כתובת הדו×"ל של המשתמש'; +$lang['UpdateName'] = 'ש×ילתת SQL לעדכון ×©× ×”×ž×©×ª×ž×©'; diff --git a/lib/plugins/authmysql/lang/hr/lang.php b/lib/plugins/authmysql/lang/hr/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..3f5dc5d6010a0754e4807bda379fb2d665f8fd96 --- /dev/null +++ b/lib/plugins/authmysql/lang/hr/lang.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> + */ +$lang['connectfail'] = 'Ne mogu se spojiti na bazu.'; +$lang['userexists'] = 'Oprostite ali korisnik s ovom prijavom već postoji.'; +$lang['usernotexists'] = 'Oprostite ali ovaj korisnik ne postoji.'; +$lang['writefail'] = 'Ne mogu izmijeniti podatke. Molim obavijestite Wiki administratora'; diff --git a/lib/plugins/authmysql/lang/hu/lang.php b/lib/plugins/authmysql/lang/hu/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..3f48da3356f4df9dec265f25a362000db6e27f2e --- /dev/null +++ b/lib/plugins/authmysql/lang/hu/lang.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Marton Sebok <sebokmarton@gmail.com> + */ +$lang['connectfail'] = 'Az adatbázishoz való csatlakozás sikertelen.'; +$lang['userexists'] = 'Sajnos már létezik ilyen azonosÃtójú felhasználó.'; +$lang['usernotexists'] = 'Sajnos ez a felhasználó nem létezik.'; +$lang['writefail'] = 'A felhasználói adatok módosÃtása sikertelen. Kérlek, fordulj a wiki rendszergazdájához!'; diff --git a/lib/plugins/authmysql/lang/it/lang.php b/lib/plugins/authmysql/lang/it/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..5b1ae0a00d3b19af16aa76012ff188c69515ed14 --- /dev/null +++ b/lib/plugins/authmysql/lang/it/lang.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Torpedo <dgtorpedo@gmail.com> + */ +$lang['connectfail'] = 'Connessione fallita al database.'; +$lang['userexists'] = 'Spiacente, esiste già un utente con queste credenziali.'; +$lang['usernotexists'] = 'Spiacente, quell\'utente non esiste.'; +$lang['writefail'] = 'Non è possibile cambiare le informazioni utente. Si prega di informare l\'Amministratore del wiki'; diff --git a/lib/plugins/authmysql/lang/it/settings.php b/lib/plugins/authmysql/lang/it/settings.php index 10c0de96fb49ae7c969de59f790ed8a01c694a30..1e93077000bb9ef9c89dbc72c1e3efe1cc27c5a6 100644 --- a/lib/plugins/authmysql/lang/it/settings.php +++ b/lib/plugins/authmysql/lang/it/settings.php @@ -6,18 +6,26 @@ * @author Claudio Lanconelli <lancos@libero.it> * @author Mirko <malisan.mirko@gmail.com> * @author Francesco <francesco.cavalli@hotmail.com> + * @author Maurizio <mcannavo@katamail.com> + * @author Torpedo <dgtorpedo@gmail.com> */ $lang['server'] = 'Il tuo server MySQL'; $lang['user'] = 'User name di MySQL'; +$lang['password'] = 'Password per l\'utente di cui sopra'; $lang['database'] = 'Database da usare'; $lang['charset'] = 'Set di caratteri usato nel database'; $lang['debug'] = 'Mostra ulteriori informazioni di debug'; +$lang['forwardClearPass'] = 'Fornisci le password utente come testo visibile alle istruzioni SQL qui sotto, invece che usare l\'opzione passcrypt'; $lang['TablesToLock'] = 'Lista, separata da virgola, delle tabelle che devono essere bloccate in scrittura'; $lang['checkPass'] = 'Istruzione SQL per il controllo password'; $lang['getUserInfo'] = 'Istruzione SQL per recuperare le informazioni utente'; +$lang['getGroups'] = 'Istruzione SQL per recuperare il gruppo di appartenenza di un utente'; $lang['getUsers'] = 'Istruzione SQL per listare tutti gli utenti'; -$lang['FilterLogin'] = 'Istruzione SQL per per filtrare gli utenti in funzione del "login name"'; -$lang['SortOrder'] = 'Istruzione SQL per ordinare gli utenti'; +$lang['FilterLogin'] = 'Condizione SQL per per filtrare gli utenti in funzione del "login name"'; +$lang['FilterName'] = 'Condizione SQL per filtrare gli utenti in base al nome completo'; +$lang['FilterEmail'] = 'Condizione SQL per filtrare gli utenti in base all\'indirizzo e-mail'; +$lang['FilterGroup'] = 'Condizione SQL per filtrare gli utenti in base al gruppo di appartenenza'; +$lang['SortOrder'] = 'Condizione SQL per ordinare gli utenti'; $lang['addUser'] = 'Istruzione SQL per aggiungere un nuovo utente'; $lang['addGroup'] = 'Istruzione SQL per aggiungere un nuovo gruppo'; $lang['addUserGroup'] = 'Istruzione SQL per aggiungere un utente ad un gruppo esistente'; @@ -26,10 +34,11 @@ $lang['getUserID'] = 'Istruzione SQL per recuperare la primary key d $lang['delUser'] = 'Istruzione SQL per cancellare un utente'; $lang['delUserRefs'] = 'Istruzione SQL per rimuovere un utente da tutti i gruppi'; $lang['updateUser'] = 'Istruzione SQL per aggiornare il profilo utente'; -$lang['UpdateLogin'] = 'Clausola per aggiornare il "login name" dell\'utente'; -$lang['UpdatePass'] = 'Clausola per aggiornare la password utente'; -$lang['UpdateEmail'] = 'Clausola per aggiornare l\'email utente'; -$lang['UpdateName'] = 'Clausola per aggiornare il nome completo'; +$lang['UpdateLogin'] = 'Condizione SQL per aggiornare il nome di accesso dell\'utente'; +$lang['UpdatePass'] = 'Condizione SQL per aggiornare la password utente'; +$lang['UpdateEmail'] = 'Condizione SQL per aggiornare l\'e-mail utente'; +$lang['UpdateName'] = 'Condizione SQL per aggiornare il nome completo dell\'utente'; +$lang['UpdateTarget'] = 'Condizione SQL per identificare l\'utente quando aggiornato'; $lang['delUserGroup'] = 'Istruzione SQL per rimuovere un utente da un dato gruppo'; $lang['getGroupID'] = 'Istruzione SQL per avere la primary key di un dato gruppo'; $lang['debug_o_0'] = 'Nulla'; diff --git a/lib/plugins/authmysql/lang/ja/lang.php b/lib/plugins/authmysql/lang/ja/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..a2348f2f3ab6a5013a6b88c9fd2a44ea6803b4a6 --- /dev/null +++ b/lib/plugins/authmysql/lang/ja/lang.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Hideaki SAWADA <chuno@live.jp> + */ +$lang['connectfail'] = 'データベースã¸ã®æŽ¥ç¶šã«å¤±æ•—ã—ã¾ã—ãŸã€‚'; +$lang['userexists'] = 'ã“ã®ãƒã‚°ã‚¤ãƒ³åã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒæ—¢ã«å˜åœ¨ã—ã¦ã„ã¾ã™ã€‚'; +$lang['usernotexists'] = 'ãã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯å˜åœ¨ã—ã¾ã›ã‚“。'; +$lang['writefail'] = 'ユーザーデータを変更ã§ãã¾ã›ã‚“。Wiki ã®ç®¡ç†è€…ã«é€£çµ¡ã—ã¦ãã ã•ã„。'; diff --git a/lib/plugins/authmysql/lang/ja/settings.php b/lib/plugins/authmysql/lang/ja/settings.php index e5d5689df24be1f61c3e745b9bba711a3af115ca..6bc3f9a14705c1bf7d04e72a5567472098620c7a 100644 --- a/lib/plugins/authmysql/lang/ja/settings.php +++ b/lib/plugins/authmysql/lang/ja/settings.php @@ -11,7 +11,7 @@ $lang['password'] = 'MySQL 接続用ユーザーã®ãƒ‘スワード' $lang['database'] = '使用ã™ã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹å'; $lang['charset'] = 'データベースã®æ–‡å—コード'; $lang['debug'] = 'デãƒãƒƒã‚¯æƒ…å ±ã‚’è¡¨ç¤ºã™ã‚‹'; -$lang['forwardClearPass'] = '以下ã§å®šç¾©ã™ã‚‹ SQL ステートメントã«ãŠã„ã¦, パスワード変数 %{pass} を平文ã¨ã™ã‚‹(DokiWikiå´ã§æš—å·åŒ–ã—ãªã„)'; +$lang['forwardClearPass'] = '以下ã§å®šç¾©ã™ã‚‹ SQL ステートメントã«ãŠã„ã¦, パスワード変数 を平文ã¨ã™ã‚‹(DokiWikiå´ã§æš—å·åŒ–ã—ãªã„)'; $lang['TablesToLock'] = '書ãè¾¼ã¿æ™‚ã«ãƒãƒƒã‚¯ã™ã‚‹ãƒ†ãƒ¼ãƒ–ル(コンマ区切りã§åˆ—挙)'; $lang['checkPass'] = 'パスワードã®ç…§åˆã«ç”¨ã„ã‚‹ SQL ステートメント'; $lang['getUserInfo'] = 'ãƒ¦ãƒ¼ã‚¶ãƒ¼æƒ…å ±ã®å–å¾—ã«ç”¨ã„ã‚‹ SQL ステートメント'; diff --git a/lib/plugins/authmysql/lang/ko/lang.php b/lib/plugins/authmysql/lang/ko/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..d07d58388cd25487a72a7ca888b886b5e0d91d09 --- /dev/null +++ b/lib/plugins/authmysql/lang/ko/lang.php @@ -0,0 +1,12 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author hyeonsoft <hyeonsoft@live.co.kr> + * @author Myeongjin <aranet100@gmail.com> + */ +$lang['connectfail'] = 'ë°ì´í„°ë² ì´ìŠ¤ì— 연결하는 ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤.'; +$lang['userexists'] = '죄송하지만 ì´ ê³„ì •ìœ¼ë¡œ ì´ë¯¸ 로그ì¸í•œ 사용ìžê°€ 있습니다.'; +$lang['usernotexists'] = '죄송하지만 해당 사용ìžê°€ 존재하지 않습니다.'; +$lang['writefail'] = 'ì‚¬ìš©ìž ë°ì´í„°ë¥¼ ìˆ˜ì •í• ìˆ˜ 없습니다. 위키 관리ìžì—게 문ì˜í•˜ì‹œê¸° ë°”ëžë‹ˆë‹¤'; diff --git a/lib/plugins/authmysql/lang/nl/lang.php b/lib/plugins/authmysql/lang/nl/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..9a8cf31147a603c6e7258c96cf9c7ef81564dd51 --- /dev/null +++ b/lib/plugins/authmysql/lang/nl/lang.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Hugo Smet <hugo.smet@scarlet.be> + */ +$lang['connectfail'] = 'Connectie met de database mislukt.'; +$lang['userexists'] = 'Sorry, een gebruiker met deze login bestaat reeds.'; +$lang['usernotexists'] = 'Sorry, deze gebruiker bestaat niet.'; +$lang['writefail'] = 'Onmogelijk om de gebruikers data te wijzigen. Gelieve de Wiki-Admin te informeren.'; diff --git a/lib/plugins/authmysql/lang/pt-br/lang.php b/lib/plugins/authmysql/lang/pt-br/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..6b1a4c3add73399aaafd54e81ffe8fe6f894a5ba --- /dev/null +++ b/lib/plugins/authmysql/lang/pt-br/lang.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Frederico Gonçalves Guimarães <frederico@teia.bio.br> + */ +$lang['connectfail'] = 'Não foi possÃvel conectar ao banco de dados.'; +$lang['userexists'] = 'Desculpe, mas já existe esse nome de usuário.'; +$lang['usernotexists'] = 'Desculpe, mas esse usuário não existe.'; +$lang['writefail'] = 'Não foi possÃvel modificar os dados do usuário. Por favor, informe ao administrador do Wiki.'; diff --git a/lib/plugins/authmysql/lang/pt/lang.php b/lib/plugins/authmysql/lang/pt/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..754a552f8dee424aab6375d16abf584ebdb78c8f --- /dev/null +++ b/lib/plugins/authmysql/lang/pt/lang.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Paulo Carmino <contato@paulocarmino.com> + */ +$lang['connectfail'] = 'Falha ao conectar com o banco de dados.'; +$lang['userexists'] = 'Desculpe, esse login já está sendo usado.'; +$lang['usernotexists'] = 'Desculpe, esse login não existe.'; diff --git a/lib/plugins/authmysql/lang/ru/lang.php b/lib/plugins/authmysql/lang/ru/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..e2160c375f9cc0e223e779ea4d12129741b150a8 --- /dev/null +++ b/lib/plugins/authmysql/lang/ru/lang.php @@ -0,0 +1,12 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Takumo <9206984@mail.ru> + * @author Aleksandr Selivanov <alexgearbox@yandex.ru> + */ +$lang['connectfail'] = 'Ошибка ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ Ð±Ð°Ð·Ð¾Ð¹ данных.'; +$lang['userexists'] = 'Извините, пользователь Ñ Ñ‚Ð°ÐºÐ¸Ð¼ логином уже ÑущеÑтвует.'; +$lang['usernotexists'] = 'Извините, такой пользователь не ÑущеÑтвует.'; +$lang['writefail'] = 'Ðевозможно изменить данные пользователÑ. Сообщите об Ñтом админиÑтратору вики.'; diff --git a/lib/plugins/authmysql/lang/ru/settings.php b/lib/plugins/authmysql/lang/ru/settings.php index eefec065bb1caacac5231a95e7b6d0fa685f78c1..d9afa14e6a16a63837a36151b28c3bc41ad0ed7e 100644 --- a/lib/plugins/authmysql/lang/ru/settings.php +++ b/lib/plugins/authmysql/lang/ru/settings.php @@ -6,6 +6,7 @@ * @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua) * @author Aleksandr Selivanov <alexgearbox@gmail.com> * @author Type-kun <workwork-1@yandex.ru> + * @author Aleksandr Selivanov <alexgearbox@yandex.ru> */ $lang['server'] = 'Ваш MySQL-Ñервер'; $lang['user'] = 'Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ MySQL'; @@ -14,7 +15,7 @@ $lang['database'] = 'Ð˜Ð¼Ñ Ð±Ð°Ð·Ñ‹ данных'; $lang['charset'] = 'ИÑпользуемый набор Ñимволов в базе данных'; $lang['debug'] = 'Отображение дополнительной отладочной информации'; $lang['forwardClearPass'] = 'Передача Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ текÑтом, вмеÑто зашифрованной формы в иÑпользуемом выражении SQL'; -$lang['TablesToLock'] = 'Имена таблиц (через запÑтую), которые необходимо ограничение Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи'; +$lang['TablesToLock'] = 'Имена таблиц (через запÑтую), которым необходимо ограничение Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи'; $lang['checkPass'] = 'Выражение SQL, оÑущеÑтвлÑющее проверку паролÑ'; $lang['getUserInfo'] = 'Выражение SQL, оÑущеÑтвлÑющее извлечение информации о пользователе'; $lang['getGroups'] = 'Выражение SQL, оÑущеÑтвлÑющее извлечение информации о членÑтве пользователе в группах'; diff --git a/lib/plugins/authmysql/lang/sk/lang.php b/lib/plugins/authmysql/lang/sk/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..d143bbf2c7071014639cba2e0266b1d98de73f31 --- /dev/null +++ b/lib/plugins/authmysql/lang/sk/lang.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Martin Michalek <michalek.dev@gmail.com> + */ +$lang['connectfail'] = 'Nepodarilo sa pripojiÅ¥ k databáze.'; +$lang['userexists'] = 'Ľutujem, ale použÃvateľ s týmto prihlasovacÃm menom už existuje.'; +$lang['writefail'] = 'Nie je možné zmeniÅ¥ údaje použÃvateľa, informujte prosÃm administrátora Wiki.'; diff --git a/lib/plugins/authmysql/lang/tr/lang.php b/lib/plugins/authmysql/lang/tr/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..b5c7b2fe198c0e33d994f9667ba94d93f6bc8d85 --- /dev/null +++ b/lib/plugins/authmysql/lang/tr/lang.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Mete Cuma <mcumax@gmail.com> + */ +$lang['connectfail'] = 'Veritabanına baÄŸlantı kurulamadı.'; +$lang['usernotexists'] = 'Ãœzgünüz, kullanıcı mevcut deÄŸil.'; diff --git a/lib/plugins/authmysql/lang/zh/lang.php b/lib/plugins/authmysql/lang/zh/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..044fe6d609d545d9fdfd0e2f2c5995e7a4fc8f53 --- /dev/null +++ b/lib/plugins/authmysql/lang/zh/lang.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Errol <errol@hotmail.com> + */ +$lang['connectfail'] = '连接数æ®åº“失败'; +$lang['userexists'] = '抱æ‰ï¼Œç”¨æˆ·å已被使用。'; +$lang['usernotexists'] = '抱æ‰ï¼Œç”¨æˆ·ä¸å˜åœ¨ã€‚'; +$lang['writefail'] = 'æ— æ³•ä¿®æ”¹ç”¨æˆ·æ•°æ®ã€‚请通知管ç†å‘˜'; diff --git a/lib/plugins/authmysql/plugin.info.txt b/lib/plugins/authmysql/plugin.info.txt index fa00fccf4ba75fba6ff14013a3121550abeac88e..1658d7aac231e094012f5718fbdfe285f6df344c 100644 --- a/lib/plugins/authmysql/plugin.info.txt +++ b/lib/plugins/authmysql/plugin.info.txt @@ -1,7 +1,7 @@ base authmysql author Andreas Gohr email andi@splitbrain.org -date 2014-02-15 +date 2015-07-13 name MYSQL Auth Plugin desc Provides user authentication against a MySQL database url http://www.dokuwiki.org/plugin:authmysql diff --git a/lib/plugins/authpgsql/lang/cy/settings.php b/lib/plugins/authpgsql/lang/cy/settings.php new file mode 100644 index 0000000000000000000000000000000000000000..0c32ad7b2f145988e549394012d1c708680655de --- /dev/null +++ b/lib/plugins/authpgsql/lang/cy/settings.php @@ -0,0 +1,33 @@ +<?php + +$lang['server'] = 'Eich gweinydd PostgreSQL'; +$lang['port'] = 'Porth eich gweinydd PostgreSQL'; +$lang['user'] = 'Defnyddair PostgreSQL'; +$lang['password'] = 'Cyfrinair y defnyddiwr uchod'; +$lang['database'] = 'Databas i\'w ddefnyddio'; +$lang['debug'] = 'angos gwybodaeth dadfygio ychwanegol'; +$lang['forwardClearPass'] = 'Pasio cyfrineiriau defnyddwyr fel \'cleartext\' i\'r datganiadau SQL isod, yn hytrach na defnyddio\'r opsiwn \'passcrypt\''; +$lang['checkPass'] = 'Datganiad SQL i wirio cyfrineiriau'; +$lang['getUserInfo'] = 'Datganiad SQL i nôl gwybodaeth defnyddiwr'; +$lang['getGroups'] = 'Datganiad SQL i nôl aelodaeth grŵp y defnyddiwr'; +$lang['getUsers'] = 'Datganiad SQL i restru pob defnyddiwr'; +$lang['FilterLogin'] = 'Cymal SQL i hidlo defnyddwyr gan enw mewngofnodi'; +$lang['FilterName'] = 'Cymal SQL i hidlo defnyddwyr gan enw llawn'; +$lang['FilterEmail'] = 'Cymal SQL i hidlo defnyddwyr gan gyfeiriad ebost'; +$lang['FilterGroup'] = 'Cymal SQL i hidlo defnyddwyr gan aelodaeth grŵp'; +$lang['SortOrder'] = 'Cymal SQL i drefnu defnyddwyr'; +$lang['addUser'] = 'Datganiad SQL i ychwanegu defnyddiwr newydd'; +$lang['addGroup'] = 'Datganiad SQL i ychwanegu grŵp newydd'; +$lang['addUserGroup'] = 'Datganiad SQL i ychwanegu defnyddiwr newydd i grŵp sy\'n bodoli eisoes'; +$lang['delGroup'] = 'Datganiad SQL i dynnu grŵp'; +$lang['getUserID'] = 'Datganiad SQL i nôl prif allwedd y defnyddiwr'; +$lang['delUser'] = 'Datganiad SQL i ddileu defnyddiwr'; +$lang['delUserRefs'] = 'Datganiad SQL i dynnu defnyddiwr o bob grŵp'; +$lang['updateUser'] = 'Datganiad SQL i ddiweddaru proffil defnyddiwr'; +$lang['UpdateLogin'] = 'Cymal Diweddaru i ddiweddaru enw mewngofnodi defnyddiwr'; +$lang['UpdatePass'] = 'Cymal Diweddaru i ddiweddaru cyfrinair defnyddiwr'; +$lang['UpdateEmail'] = 'Cymal Diweddaru i ddiweddaru cyfeiriad ebost defnyddiwr'; +$lang['UpdateName'] = 'Cymal Diweddaru i ddiweddaru enw llawn defnyddiwr'; +$lang['UpdateTarget'] = 'Cymal Cyfyngu i adnabod y defnyddiwr wrth ddiweddaru'; +$lang['delUserGroup'] = 'Datganiad SQL i dynnu defnyddiwr oddi ar grŵp'; +$lang['getGroupID'] = 'Datganiad SQL i nôl prif allwedd grŵp penodol'; diff --git a/lib/plugins/authpgsql/lang/es/settings.php b/lib/plugins/authpgsql/lang/es/settings.php index abfb00d387bd8e8e5bc1d9bf1fe0d59b4d91190e..0ca264bc200b9deb3540736821e48d6ffe6eab96 100644 --- a/lib/plugins/authpgsql/lang/es/settings.php +++ b/lib/plugins/authpgsql/lang/es/settings.php @@ -6,6 +6,7 @@ * @author Antonio Bueno <atnbueno@gmail.com> * @author Antonio Castilla <antoniocastilla@trazoide.com> * @author pokesakura <pokesakura@gmail.com> + * @author Domingo Redal <docxml@gmail.com> */ $lang['server'] = 'Su servidor PostgreSQL'; $lang['port'] = 'Puerto de su servidor PostgreSQL'; @@ -35,4 +36,6 @@ $lang['UpdateLogin'] = 'Sentencia de actualizacion para el login del u $lang['UpdatePass'] = 'Sentencia de actualizacion para el password del usuario'; $lang['UpdateEmail'] = 'Sentencia de actualizacion del correo electrónico del usuario'; $lang['UpdateName'] = 'Sentencia de actualizacion del nombre completo del usuario'; +$lang['UpdateTarget'] = 'Cláusula limite para identificar al usuario cuando se actualiza'; +$lang['delUserGroup'] = 'Sentencia SQL para eliminar un usuario de un grupo determinado'; $lang['getGroupID'] = 'Sentencia SQL para obtener la clave principal de un grupo dado'; diff --git a/lib/plugins/authpgsql/lang/fa/settings.php b/lib/plugins/authpgsql/lang/fa/settings.php index 8134939674937ca62b6b6f4ae199add8dbc76b19..5afe8118217fbe147a927da94283156f3d3bfc12 100644 --- a/lib/plugins/authpgsql/lang/fa/settings.php +++ b/lib/plugins/authpgsql/lang/fa/settings.php @@ -4,5 +4,37 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Mohamad Mehdi Habibi <habibi.esf@gmail.com> + * @author Mohmmad Razavi <sepent@gmail.com> + * @author Masoud Sadrnezhaad <masoud@sadrnezhaad.ir> */ +$lang['server'] = 'سرور PostgreSQL شما'; +$lang['port'] = 'پورت سرور PostgreSQL شما'; +$lang['user'] = 'نام کاربری PostgreSQL'; +$lang['password'] = 'رمزعبور کابر بالا'; $lang['database'] = 'پایگاه داده مورد استÙاده'; +$lang['debug'] = 'نمایش اطلاعات بیشتر برای خطایابی'; +$lang['forwardClearPass'] = 'به جای استÙاده از امکان رمزنگاری، پسورد کاربران به صورت متنی به دستورات SQL ارسال شود'; +$lang['checkPass'] = 'دستور SQL برای Ú†Ú© کردن پسورد'; +$lang['getUserInfo'] = 'دستور SQL برای دریاÙت اطلاعات کاربران'; +$lang['getGroups'] = 'دستور SQL برای دریاÙت گروه‌های یک کاربر'; +$lang['getUsers'] = 'دستور SQL برای Ùهرست کردن تمام کاربران'; +$lang['FilterLogin'] = 'کلاز SQL برای Ùیلتر کردن کاربران با نام کاربری'; +$lang['FilterName'] = 'کلاز SQL برای Ùیلتر کردن کاربران با نام کامل'; +$lang['FilterEmail'] = 'کلاز SQL برای Ùیلتر کردن کاربران با آدرس ایمیل'; +$lang['FilterGroup'] = 'کلاز SQL برای Ùیلتر کردن کاربران با عضویت در گروه'; +$lang['SortOrder'] = 'کلاز SQL برای مرتب کردن کاربران'; +$lang['addUser'] = 'دستور SQL برای اÙزودن کاربر جدید'; +$lang['addGroup'] = 'دستور SQL برای اÙزودن گروه جدید'; +$lang['addUserGroup'] = 'دستور SQL برای اÙزودن یک کاربر به یک گروه موجود'; +$lang['delGroup'] = 'دستور SQL برای پاک کردن یک گروه'; +$lang['getUserID'] = 'دستور SQL برای گرÙتن کلید اصلی یک کاربر'; +$lang['delUser'] = 'دستور SQL برای Øذ٠یک کاربر'; +$lang['delUserRefs'] = 'دستور SQL برای پاک کردن یک کاربر از تمام گروه‌ها'; +$lang['updateUser'] = 'دستور SQL برای به‌روزرسانی پروÙایل کاربر'; +$lang['UpdateLogin'] = 'کلاز Update برای به روز کردن نام کاربری'; +$lang['UpdatePass'] = 'کلاز Update برای به روز کردن پسورد کاربر'; +$lang['UpdateEmail'] = 'کلاز Update برای به روز کردن ایمیل کاربر'; +$lang['UpdateName'] = 'کلاز Update برای به روز کردن نام کامل کاربر'; +$lang['UpdateTarget'] = 'کلاز Limit برای شناسایی کاربر هنگام به روز رسانی'; +$lang['delUserGroup'] = 'دستور SQL برای Øذ٠یک کاربر از یک گروه'; +$lang['getGroupID'] = 'دستور SQL برای گرÙتن کلید اصلی یک گروه'; diff --git a/lib/plugins/authpgsql/lang/it/settings.php b/lib/plugins/authpgsql/lang/it/settings.php index e8a40dcb2c7310ba308a51f9d5bbba80570386da..e786f2f2d007c9b516a06ce416a02cd147e44e1a 100644 --- a/lib/plugins/authpgsql/lang/it/settings.php +++ b/lib/plugins/authpgsql/lang/it/settings.php @@ -5,9 +5,36 @@ * * @author Francesco <francesco.cavalli@hotmail.com> * @author Torpedo <dgtorpedo@gmail.com> + * @author Maurizio <mcannavo@katamail.com> */ $lang['server'] = 'Il tuo server PostgreSQL '; $lang['port'] = 'La porta del tuo server PostgreSQL '; $lang['user'] = 'Lo username PostgreSQL'; +$lang['password'] = 'Password dell\'utente summenzionato'; $lang['database'] = 'Database da usare'; -$lang['getUsers'] = 'Dichiarazione SQL per elencare tutti gli utenti'; +$lang['debug'] = 'Visualizza informazioni addizionali di debug'; +$lang['forwardClearPass'] = 'Fornisci le password utente come testo visibile alle istruzioni SQL qui sotto, invece che usare l\'opzione passcrypt'; +$lang['checkPass'] = 'Istruzione SQL per il controllo password'; +$lang['getUserInfo'] = 'Istruzione SQL per recuperare le informazioni utente'; +$lang['getGroups'] = 'Istruzione SQL per recuperare il gruppo di appartenenza di un utente'; +$lang['getUsers'] = 'Istruzione SQL per elencare tutti gli utenti'; +$lang['FilterLogin'] = 'Condizione SQL per filtrare gli utenti in base al nome di accesso'; +$lang['FilterName'] = 'Condizione SQL per filtrare gli utenti in base al nome completo'; +$lang['FilterEmail'] = 'Condizione SQL per filtrare gli utenti in base all\'indirizzo e-mail'; +$lang['FilterGroup'] = 'Condizione SQL per filtrare gli utenti in base al gruppo di appartenenza'; +$lang['SortOrder'] = 'Condizione SQL per ordinare gli utenti'; +$lang['addUser'] = 'Istruzione SQL per aggiungere un nuovo utente'; +$lang['addGroup'] = 'Istruzione SQL per aggiungere un nuovo gruppo'; +$lang['addUserGroup'] = 'Istruzione SQL per aggiungere un utente ad un gruppo esistente'; +$lang['delGroup'] = 'Istruzione SQL per imuovere un gruppo'; +$lang['getUserID'] = 'Istruzione SQL per recuperare la primary key di un utente'; +$lang['delUser'] = 'Istruzione SQL per cancellare un utente'; +$lang['delUserRefs'] = 'Istruzione SQL per rimuovere un utente da tutti i gruppi'; +$lang['updateUser'] = 'Istruzione SQL per aggiornare il profilo utente'; +$lang['UpdateLogin'] = 'Condizione SQL per aggiornare il nome di accesso dell\'utente'; +$lang['UpdatePass'] = 'Condizione SQL per aggiornare la password utente'; +$lang['UpdateEmail'] = 'Condizione SQL per aggiornare l\'e-mail utente'; +$lang['UpdateName'] = 'Condizione SQL per aggiornare il nome completo dell\'utente'; +$lang['UpdateTarget'] = 'Condizione SQL per identificare l\'utente quando aggiornato'; +$lang['delUserGroup'] = 'Istruzione SQL per rimuovere un utente da un dato gruppo'; +$lang['getGroupID'] = 'Istruzione SQL per avere la primary key di un dato gruppo'; diff --git a/lib/plugins/authpgsql/lang/ja/settings.php b/lib/plugins/authpgsql/lang/ja/settings.php index d7a5f6cf26540e70074e2edf70773f1daf224007..c4a82a1790747883333692d4c388d649cf9bfbeb 100644 --- a/lib/plugins/authpgsql/lang/ja/settings.php +++ b/lib/plugins/authpgsql/lang/ja/settings.php @@ -11,7 +11,7 @@ $lang['user'] = 'PostgreSQL 接続用ユーザーå'; $lang['password'] = 'PostgreSQL 接続用ユーザーã®ãƒ‘スワード'; $lang['database'] = '使用ã™ã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹å'; $lang['debug'] = 'デãƒãƒƒã‚¯æƒ…å ±ã‚’è¡¨ç¤ºã™ã‚‹'; -$lang['forwardClearPass'] = '以下ã§å®šç¾©ã™ã‚‹ SQL ステートメントã«ãŠã„ã¦, パスワード変数 %{pass} を平文ã¨ã™ã‚‹(DokiWikiå´ã§æš—å·åŒ–ã—ãªã„)'; +$lang['forwardClearPass'] = '以下ã§å®šç¾©ã™ã‚‹ SQL ステートメントã«ãŠã„ã¦, パスワード変数 を平文ã¨ã™ã‚‹(DokiWikiå´ã§æš—å·åŒ–ã—ãªã„)'; $lang['checkPass'] = 'パスワードã®ç…§åˆã«ç”¨ã„ã‚‹ SQL ステートメント'; $lang['getUserInfo'] = 'ãƒ¦ãƒ¼ã‚¶ãƒ¼æƒ…å ±ã®å–å¾—ã«ç”¨ã„ã‚‹ SQL ステートメント'; $lang['getGroups'] = 'ユーザーãŒæ‰€å±žã™ã‚‹å…¨ã¦ã®ã‚°ãƒ«ãƒ¼ãƒ—ã®å–å¾—ã«ç”¨ã„ã‚‹ SQL ステートメント'; diff --git a/lib/plugins/authpgsql/lang/ru/settings.php b/lib/plugins/authpgsql/lang/ru/settings.php index 2af2991723b1b2157472cc1044a58808c0709135..a74296ab8ee1daadefb9fcd2b391dcf5da310da1 100644 --- a/lib/plugins/authpgsql/lang/ru/settings.php +++ b/lib/plugins/authpgsql/lang/ru/settings.php @@ -8,6 +8,7 @@ * @author Aleksandr Selivanov <alexgearbox@yandex.ru> * @author Vitaly Filatenko <kot@hacktest.net> * @author Type-kun <workwork-1@yandex.ru> + * @author Alex P <alexander@lanos.co.uk> */ $lang['server'] = 'Ваш PostgreSQL-Ñервер'; $lang['port'] = 'Порт вашего PostgreSQL-Ñервера'; @@ -15,6 +16,7 @@ $lang['user'] = 'Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ PostgreSQL'; $lang['password'] = 'Пароль Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ пользователÑ'; $lang['database'] = 'Ð˜Ð¼Ñ Ð±Ð°Ð·Ñ‹ данных'; $lang['debug'] = 'Отображать дополнительную отладочную информацию'; +$lang['forwardClearPass'] = 'Передать чиÑтым текÑтом ползовательÑкие пароли в SQL запроÑÑ‹ ниже, вмеÑто иÑпользование опции passcrypt'; $lang['checkPass'] = 'Выражение SQL, оÑущеÑтвлÑющее проверку паролÑ'; $lang['getUserInfo'] = 'Выражение SQL, оÑущеÑтвлÑющее извлечение информации о пользователе'; $lang['getGroups'] = 'Выражение SQL, оÑущеÑтвлÑющее извлечение информации о членÑтве пользователе в группах'; diff --git a/lib/plugins/authpgsql/plugin.info.txt b/lib/plugins/authpgsql/plugin.info.txt index 59b7d89a9839533607216fcb52ae9ccaa9435141..1d53ca0b1f4e9e18908e8c13602f257a2b3403da 100644 --- a/lib/plugins/authpgsql/plugin.info.txt +++ b/lib/plugins/authpgsql/plugin.info.txt @@ -1,7 +1,7 @@ base authpgsql author Andreas Gohr email andi@splitbrain.org -date 2014-02-15 +date 2015-07-13 name PostgreSQL Auth Plugin desc Provides user authentication against a PostgreSQL database url http://www.dokuwiki.org/plugin:authpgsql diff --git a/lib/plugins/authplain/_test/escaping.test.php b/lib/plugins/authplain/_test/escaping.test.php index e1eade8d4c273666fbc80bac11516f8402a3e593..7139aa99b0b2bcc684588ef8c0c39f4a518a0539 100644 --- a/lib/plugins/authplain/_test/escaping.test.php +++ b/lib/plugins/authplain/_test/escaping.test.php @@ -9,7 +9,9 @@ * authplain won't get unexpectedly surprised.) * * @group plugin_authplain + * @group auth_plugins * @group plugins + * @group bundled_plugins */ class helper_plugin_authplain_escaping_test extends DokuWikiTest { diff --git a/lib/plugins/authplain/auth.php b/lib/plugins/authplain/auth.php index b31c02fc8634237f9f9859385b3264380e179d1a..8ec632dada62424a5a847ce3c36d9bd9833ae6e9 100644 --- a/lib/plugins/authplain/auth.php +++ b/lib/plugins/authplain/auth.php @@ -134,7 +134,10 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin { global $config_cascade; // user mustn't already exist - if($this->getUserData($user) !== false) return false; + if($this->getUserData($user) !== false) { + msg($this->getLang('userexists'), -1); + return false; + } $pass = auth_cryptPassword($pwd); @@ -144,16 +147,13 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin { // prepare user line $userline = $this->_createUserLine($user, $pass, $name, $mail, $grps); - if(io_saveFile($config_cascade['plainauth.users']['default'], $userline, true)) { - $this->users[$user] = compact('pass', 'name', 'mail', 'grps'); - return $pwd; + if(!io_saveFile($config_cascade['plainauth.users']['default'], $userline, true)) { + msg($this->getLang('writefail'), -1); + return null; } - msg( - 'The '.$config_cascade['plainauth.users']['default']. - ' file is not writable. Please inform the Wiki-Admin', -1 - ); - return null; + $this->users[$user] = compact('pass', 'name', 'mail', 'grps'); + return $pwd; } /** @@ -169,7 +169,10 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin { global $config_cascade; // sanity checks, user must already exist and there must be something to change - if(($userinfo = $this->getUserData($user)) === false) return false; + if(($userinfo = $this->getUserData($user)) === false) { + msg($this->getLang('usernotexists'), -1); + return false; + } if(!is_array($changes) || !count($changes)) return true; // update userinfo with new data, remembering to encrypt any password @@ -185,14 +188,9 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin { $userline = $this->_createUserLine($newuser, $userinfo['pass'], $userinfo['name'], $userinfo['mail'], $userinfo['grps']); - if(!$this->deleteUsers(array($user))) { - msg('Unable to modify user data. Please inform the Wiki-Admin', -1); - return false; - } - - if(!io_saveFile($config_cascade['plainauth.users']['default'], $userline, true)) { - msg('There was an error modifying your user data. You should register again.', -1); - // FIXME, user has been deleted but not recreated, should force a logout and redirect to login page + if(!io_replaceInFile($config_cascade['plainauth.users']['default'], '/^'.$user.':/', $userline, true)) { + msg('There was an error modifying your user data. You may need to register again.', -1); + // FIXME, io functions should be fail-safe so existing data isn't lost $ACT = 'register'; return false; } @@ -223,7 +221,10 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin { if(empty($deleted)) return 0; $pattern = '/^('.join('|', $deleted).'):/'; - io_deleteFromFile($config_cascade['plainauth.users']['default'], $pattern, true); + if (!io_deleteFromFile($config_cascade['plainauth.users']['default'], $pattern, true)) { + msg($this->getLang('writefail'), -1); + return 0; + } // reload the user list and count the difference $count = count($this->users); @@ -407,4 +408,4 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin { $this->_pattern[$item] = '/'.str_replace('/', '\/', $pattern).'/i'; // allow regex characters } } -} \ No newline at end of file +} diff --git a/lib/plugins/authplain/lang/af/lang.php b/lib/plugins/authplain/lang/af/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..29742cfd2062078ee4a93af2200dca3c1d8b535b --- /dev/null +++ b/lib/plugins/authplain/lang/af/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Die gebruikersnaam wat jy gebruik het, is alreeds gebruik. Kies asseblief \'n ander gebruikersnaam.'; diff --git a/lib/plugins/authplain/lang/ar/lang.php b/lib/plugins/authplain/lang/ar/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..16d59f397a0a9c9aab1f2c835a4e50a29af05573 --- /dev/null +++ b/lib/plugins/authplain/lang/ar/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'عذرا، يوجد مشترك بنÙس الاسم.'; diff --git a/lib/plugins/authplain/lang/az/lang.php b/lib/plugins/authplain/lang/az/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..f98eccde17c5136f3117c2edfcdcb33f1ee291d0 --- /dev/null +++ b/lib/plugins/authplain/lang/az/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'TÉ™ssüf ki bu ad ilÉ™ istifadəçi artıq mövcuddur.'; diff --git a/lib/plugins/authplain/lang/bg/lang.php b/lib/plugins/authplain/lang/bg/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..62e62dc134d4b461e604d2b453168f0e62fce634 --- /dev/null +++ b/lib/plugins/authplain/lang/bg/lang.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Kiril <neohidra@gmail.com> + */ +$lang['userexists'] = 'Вече ÑъщеÑтвува потребител Ñ Ð¸Ð·Ð±Ñ€Ð°Ð½Ð¾Ñ‚Ð¾ име.'; +$lang['usernotexists'] = 'За Ñъжаление потребителÑÑ‚ не ÑъщеÑтвува.'; diff --git a/lib/plugins/authplain/lang/bn/lang.php b/lib/plugins/authplain/lang/bn/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..43fe4ca6ec28fb1fcabe09873819dbfa0d8787c4 --- /dev/null +++ b/lib/plugins/authplain/lang/bn/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'দà§à¦ƒà¦–িত, à¦à¦‡ লগইন সঙà§à¦—ে à¦à¦•à¦Ÿà¦¿ বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•à¦¾à¦°à§€ ইতিমধà§à¦¯à§‡à¦‡ বিদà§à¦¯à¦®à¦¾à¦¨.'; diff --git a/lib/plugins/authplain/lang/ca-valencia/lang.php b/lib/plugins/authplain/lang/ca-valencia/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..3e973beaef57c467e9797152a9e103bb50ddf2ba --- /dev/null +++ b/lib/plugins/authplain/lang/ca-valencia/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Disculpe, pero ya existix un usuari en este nom.'; diff --git a/lib/plugins/authplain/lang/ca/lang.php b/lib/plugins/authplain/lang/ca/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..8cbada1b92e15c66d480f501893e73c811d39640 --- /dev/null +++ b/lib/plugins/authplain/lang/ca/lang.php @@ -0,0 +1,7 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Ja existeix un altre usuari amb aquest nom.'; diff --git a/lib/plugins/authplain/lang/cs/lang.php b/lib/plugins/authplain/lang/cs/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..852a3004481495458a117afe4bd06097a6df5e04 --- /dev/null +++ b/lib/plugins/authplain/lang/cs/lang.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> + */ +$lang['userexists'] = 'Uživatel se stejným jménem už je zaregistrován.'; +$lang['usernotexists'] = 'Omlouváme se, uživatel tohoto jména neexistuje.'; +$lang['writefail'] = 'Nelze zmÄ›nit údaje uživatele. Informujte prosÃm správce wiki'; diff --git a/lib/plugins/authplain/lang/cy/lang.php b/lib/plugins/authplain/lang/cy/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..7f789e5291008112af69f7133e05fd99a6eba5b2 --- /dev/null +++ b/lib/plugins/authplain/lang/cy/lang.php @@ -0,0 +1,8 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Sori, mae defnyddiwr gyda\'r enw hwnnw eisoes yn bodoli.'; +$lang['usernotexists'] = 'Sori, \'dyw\'r defnyddiwr hwnnw ddim yn bodoli.'; +$lang['writefail'] = 'Methu â newid data defnyddiwr. Rhowch wybod i Weinydd y Wici'; diff --git a/lib/plugins/authplain/lang/da/lang.php b/lib/plugins/authplain/lang/da/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..c7dd376c1771fa6c2b3aea91dbb61f67cabb3d9a --- /dev/null +++ b/lib/plugins/authplain/lang/da/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Dette brugernavn er allerede i brug.'; diff --git a/lib/plugins/authplain/lang/de-informal/lang.php b/lib/plugins/authplain/lang/de-informal/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..f1d484947f1ab0244c6252b2ecf68cbf4d7a612c --- /dev/null +++ b/lib/plugins/authplain/lang/de-informal/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Der Benutzername existiert leider schon.'; diff --git a/lib/plugins/authplain/lang/de/lang.php b/lib/plugins/authplain/lang/de/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..b0cff006860828827a6d89aa9440780428b0f643 --- /dev/null +++ b/lib/plugins/authplain/lang/de/lang.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Anika Henke <anika@selfthinker.org> + */ +$lang['userexists'] = 'Der Benutzername existiert leider schon.'; +$lang['usernotexists'] = 'Dieser Benutzer existiert nicht.'; +$lang['writefail'] = 'Kann Benutzerdaten nicht ändern. Bitte informieren Sie den Wiki-Administratoren'; diff --git a/lib/plugins/authplain/lang/el/lang.php b/lib/plugins/authplain/lang/el/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..7f7e4e76dc617a654a18a61c7ae159df000f616f --- /dev/null +++ b/lib/plugins/authplain/lang/el/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Αυτός ο λογαÏιασμός υπάÏχει ήδη.'; diff --git a/lib/plugins/authplain/lang/en/lang.php b/lib/plugins/authplain/lang/en/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..6f8abfdb6cbf70ad9ff6faf10529f45fb4cf18e8 --- /dev/null +++ b/lib/plugins/authplain/lang/en/lang.php @@ -0,0 +1,8 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Sorry, a user with this login already exists.'; +$lang['usernotexists'] = 'Sorry, that user doesn\'t exist.'; +$lang['writefail'] = 'Unable to modify user data. Please inform the Wiki-Admin'; diff --git a/lib/plugins/authplain/lang/eo/lang.php b/lib/plugins/authplain/lang/eo/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..ab7655e818a5c4875b9a94c8dd398f43bca13be3 --- /dev/null +++ b/lib/plugins/authplain/lang/eo/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Pardonu, ĉi tiu uzanto-nomo jam ekzistas.'; diff --git a/lib/plugins/authplain/lang/es/lang.php b/lib/plugins/authplain/lang/es/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..8ef567a16697154f9759166d34c168d3beef909c --- /dev/null +++ b/lib/plugins/authplain/lang/es/lang.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Domingo Redal <docxml@gmail.com> + */ +$lang['userexists'] = 'Lo siento, ya existe un usuario con este nombre.'; +$lang['usernotexists'] = 'Lo sentimos, no existe ese usuario.'; +$lang['writefail'] = 'No es posible modificar los datos del usuario. Por favor, informa al Administrador del Wiki'; diff --git a/lib/plugins/authplain/lang/et/lang.php b/lib/plugins/authplain/lang/et/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..7f9f7771bf9521ff51f31a82bffab04bcef89c73 --- /dev/null +++ b/lib/plugins/authplain/lang/et/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Tegelikult on sellise nimega kasutaja juba olemas.'; diff --git a/lib/plugins/authplain/lang/eu/lang.php b/lib/plugins/authplain/lang/eu/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..09ca4d3b77ab859ec7073ddb99e9747ad155728e --- /dev/null +++ b/lib/plugins/authplain/lang/eu/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Barkatu, izen bereko erabiltzailea existitzen da.'; diff --git a/lib/plugins/authplain/lang/fa/lang.php b/lib/plugins/authplain/lang/fa/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..c222927dbdeb551a8e10ff6937fb1c32ff0aeba9 --- /dev/null +++ b/lib/plugins/authplain/lang/fa/lang.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Masoud Sadrnezhaad <masoud@sadrnezhaad.ir> + */ +$lang['userexists'] = 'نام کاربری‌ای Ú©Ù‡ وارد کردید قبلن استÙاده شده است. خواهشمندیم یک نام دیگر انتخاب کنید.'; +$lang['usernotexists'] = 'متاسÙانه این کاربر وجود ندارد.'; +$lang['writefail'] = 'امکان ویرایش اطلاعات کاربر وجود ندارد. لطÙا ادمین ویکی را مطلع نمایید.'; diff --git a/lib/plugins/authplain/lang/fi/lang.php b/lib/plugins/authplain/lang/fi/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..3a77f3e3ae7176a4d8c82e78539f158ffe4fc3f2 --- /dev/null +++ b/lib/plugins/authplain/lang/fi/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Käyttäjä tällä käyttäjänimellä on jo olemassa.'; diff --git a/lib/plugins/authplain/lang/fo/lang.php b/lib/plugins/authplain/lang/fo/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..a9654664b2f2fb195583b4b2c195c5548aa4bca5 --- /dev/null +++ b/lib/plugins/authplain/lang/fo/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Hetta brúkaranavn er upptiki.'; diff --git a/lib/plugins/authplain/lang/fr/lang.php b/lib/plugins/authplain/lang/fr/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..362e03bffeeb4e9980b3057ea68091f1cc5bc389 --- /dev/null +++ b/lib/plugins/authplain/lang/fr/lang.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Carbain Frédéric <fcarbain@yahoo.fr> + * @author Nicolas Friedli <nicolas@theologique.ch> + */ +$lang['userexists'] = 'Désolé, ce nom d\'utilisateur est déjà pris.'; +$lang['usernotexists'] = 'Désolé, cet utilisateur n\'existe pas.'; +$lang['writefail'] = 'Impossible de modifier les données utilisateur. Merci d\'en informer l\'administrateur du wiki.'; diff --git a/lib/plugins/authplain/lang/gl/lang.php b/lib/plugins/authplain/lang/gl/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..35138d3788d747060754d4d390848c8a1f924fda --- /dev/null +++ b/lib/plugins/authplain/lang/gl/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'SentÃmolo, mais xa existe un usuario con ese nome.'; diff --git a/lib/plugins/authplain/lang/he/lang.php b/lib/plugins/authplain/lang/he/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..160968edd26c10446374f8cb35a78617a3a440b2 --- /dev/null +++ b/lib/plugins/authplain/lang/he/lang.php @@ -0,0 +1,7 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'משתמש ×‘×©× ×–×” כבר × ×¨×©×, עמך הסליחה.'; diff --git a/lib/plugins/authplain/lang/hr/lang.php b/lib/plugins/authplain/lang/hr/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..ffcbf5f61ebb2c1cdfddf9f9a03402288a6c8a24 --- /dev/null +++ b/lib/plugins/authplain/lang/hr/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Korisnik s tim korisniÄkim imenom već postoji.'; diff --git a/lib/plugins/authplain/lang/hu/lang.php b/lib/plugins/authplain/lang/hu/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..5f684d722c2a087516e0667119c153db76db8651 --- /dev/null +++ b/lib/plugins/authplain/lang/hu/lang.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Marton Sebok <sebokmarton@gmail.com> + */ +$lang['userexists'] = 'Sajnáljuk, ilyen azonosÃtójú felhasználónk már van.'; +$lang['usernotexists'] = 'Sajnos ez a felhasználó nem létezik.'; +$lang['writefail'] = 'A felhasználói adatok módosÃtása sikertelen. Kérlek, fordulj a wiki rendszergazdájához!'; diff --git a/lib/plugins/authplain/lang/ia/lang.php b/lib/plugins/authplain/lang/ia/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..7596f3f4c21dd7de9fd004df09a0b1bcbbfc20c0 --- /dev/null +++ b/lib/plugins/authplain/lang/ia/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Regrettabilemente, un usator con iste nomine ja existe.'; diff --git a/lib/plugins/authplain/lang/id-ni/lang.php b/lib/plugins/authplain/lang/id-ni/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..729c9f9dcb5b26a0eb4a2368e7b82638f42a0441 --- /dev/null +++ b/lib/plugins/authplain/lang/id-ni/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Bologö dödöu, no so zangoguna\'ö töi da\'a.'; diff --git a/lib/plugins/authplain/lang/id/lang.php b/lib/plugins/authplain/lang/id/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..5e6a99830f921969099a7af7354c095a46513efc --- /dev/null +++ b/lib/plugins/authplain/lang/id/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Maaf, user dengan user login ini telah ada.'; diff --git a/lib/plugins/authplain/lang/is/lang.php b/lib/plugins/authplain/lang/is/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..21392ee5e715c5a2407040fe06a40918ed1bd5d1 --- /dev/null +++ b/lib/plugins/authplain/lang/is/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Afsakið, notandi með þessu nafni er þegar skráður inn.'; diff --git a/lib/plugins/authplain/lang/it/lang.php b/lib/plugins/authplain/lang/it/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..59c8c30764198b7e1595490b998281297c3c64a1 --- /dev/null +++ b/lib/plugins/authplain/lang/it/lang.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Torpedo <dgtorpedo@gmail.com> + */ +$lang['userexists'] = 'Il nome utente inserito esiste già .'; +$lang['usernotexists'] = 'Spiacente, quell\'utente non esiste.'; +$lang['writefail'] = 'Impossibile modificare i dati utente. Per favore informa l\'Amministratore del Wiki'; diff --git a/lib/plugins/authplain/lang/ja/lang.php b/lib/plugins/authplain/lang/ja/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..6aa0be79c895836599852df27b75e91c79a94bf4 --- /dev/null +++ b/lib/plugins/authplain/lang/ja/lang.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Hideaki SAWADA <chuno@live.jp> + */ +$lang['userexists'] = 'ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼åã¯æ—¢ã«å˜åœ¨ã—ã¦ã„ã¾ã™ã€‚'; +$lang['usernotexists'] = 'ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯æœªç™»éŒ²ã§ã™ã€‚'; +$lang['writefail'] = 'ユーザーデータを変更ã§ãã¾ã›ã‚“。管ç†è€…ã«å•ã„åˆã‚ã›ã¦ãã ã•ã„。'; diff --git a/lib/plugins/authplain/lang/ka/lang.php b/lib/plugins/authplain/lang/ka/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..8983791c98d2077c1dfaa5ac5e591cc430f7b674 --- /dev/null +++ b/lib/plugins/authplain/lang/ka/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'მსგáƒáƒ•áƒ¡áƒ˜ ლáƒáƒ’ინი უკვე áƒáƒ სებáƒáƒ‘ს'; diff --git a/lib/plugins/authplain/lang/kk/lang.php b/lib/plugins/authplain/lang/kk/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..95fe532045c9b7a13eac1d6d8e812edcf8d8e856 --- /dev/null +++ b/lib/plugins/authplain/lang/kk/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Кешіріңіз, бұл түпнұÑкамен де пайдаланушы бар.'; diff --git a/lib/plugins/authplain/lang/km/lang.php b/lib/plugins/authplain/lang/km/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..322e454e50052e5337c798055d4776e2241965fb --- /dev/null +++ b/lib/plugins/authplain/lang/km/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'សុំអាទោស​ នាមប្រើនáŸáŸ‡áž˜áž¶áž“រួចហើ។'; diff --git a/lib/plugins/authplain/lang/ko/lang.php b/lib/plugins/authplain/lang/ko/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..50669822eda401435f32971faf7846714f0e6c00 --- /dev/null +++ b/lib/plugins/authplain/lang/ko/lang.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Myeongjin <aranet100@gmail.com> + */ +$lang['userexists'] = '죄송하지만 ê°™ì€ ì´ë¦„ì„ ì‚¬ìš©í•˜ëŠ” 사용ìžê°€ 있습니다.'; +$lang['usernotexists'] = '죄송하지만 해당 사용ìžê°€ 존재하지 않습니다.'; +$lang['writefail'] = 'ì‚¬ìš©ìž ë°ì´í„°ë¥¼ ìˆ˜ì •í• ìˆ˜ 없습니다. 위키 관리ìžì—게 문ì˜í•˜ì‹œê¸° ë°”ëžë‹ˆë‹¤'; diff --git a/lib/plugins/authplain/lang/ku/lang.php b/lib/plugins/authplain/lang/ku/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..64cb834f30e8a9a9179bc23423566bf652a072cd --- /dev/null +++ b/lib/plugins/authplain/lang/ku/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Sorry, a user with this login already exists.'; diff --git a/lib/plugins/authplain/lang/la/lang.php b/lib/plugins/authplain/lang/la/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..5f2eecfd826981f334984b33863d5d3ccb92e9ef --- /dev/null +++ b/lib/plugins/authplain/lang/la/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Nomen Sodalis ab aliquo iam elegitur.'; diff --git a/lib/plugins/authplain/lang/lb/lang.php b/lib/plugins/authplain/lang/lb/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..4c760dfe40e77b47d7bc1ca47ad0dc8476eb81fc --- /dev/null +++ b/lib/plugins/authplain/lang/lb/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Et get schonn e Benotzer mat deem Numm.'; diff --git a/lib/plugins/authplain/lang/lt/lang.php b/lib/plugins/authplain/lang/lt/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..5ad435a045536f64c5bbd1e28c91767d21ea2b32 --- /dev/null +++ b/lib/plugins/authplain/lang/lt/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Vartotojas su pasirinktu prisijungimo vardu jau egzistuoja.'; diff --git a/lib/plugins/authplain/lang/lv/lang.php b/lib/plugins/authplain/lang/lv/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..3a9d4d3e5c5b249267dd23032a73e9b3d79bf5e1 --- /dev/null +++ b/lib/plugins/authplain/lang/lv/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Atvaino, tÄds lietotÄjs jau ir.'; diff --git a/lib/plugins/authplain/lang/mg/lang.php b/lib/plugins/authplain/lang/mg/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..8472161b7825f179f38b2fef3c98a832d2d5efe3 --- /dev/null +++ b/lib/plugins/authplain/lang/mg/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Indrisy fa efa nisy namandrika io anarana io.'; diff --git a/lib/plugins/authplain/lang/mk/lang.php b/lib/plugins/authplain/lang/mk/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..8ebb9fab85396eaca48bfbd0cb6d60fe4ff1af10 --- /dev/null +++ b/lib/plugins/authplain/lang/mk/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Жалам, кориÑник Ñо ова кориÑничко име веќе поÑтои.'; diff --git a/lib/plugins/authplain/lang/mr/lang.php b/lib/plugins/authplain/lang/mr/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..15dcf18a065fd2e707a6999b78e6831b2f84fad9 --- /dev/null +++ b/lib/plugins/authplain/lang/mr/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'या नावाने सदसà¥à¤¯à¤¾à¤šà¥€ नोंदणी à¤à¤¾à¤²à¥‡à¤²à¥€ आहे, कृपया दà¥à¤¸à¤°à¥‡ सदसà¥à¤¯ नाव निवडा.'; diff --git a/lib/plugins/authplain/lang/ms/lang.php b/lib/plugins/authplain/lang/ms/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..14c3b11af92d7b79e4bfbbb767f7543ea89ca2bf --- /dev/null +++ b/lib/plugins/authplain/lang/ms/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Maaf, nama pengguna yang dimasukkan telah diguna. Sila pilih nama yang lain.'; diff --git a/lib/plugins/authplain/lang/ne/lang.php b/lib/plugins/authplain/lang/ne/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..94275785574b32dc0f79b3c9bc68f546cad26dd9 --- /dev/null +++ b/lib/plugins/authplain/lang/ne/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'यो नामको पà¥à¤°à¤¯à¥‹à¤—करà¥à¤¤à¤¾ पहिले देखि रहेको छ।'; diff --git a/lib/plugins/authplain/lang/nl/lang.php b/lib/plugins/authplain/lang/nl/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..56ba2ab90318d0f95adf53fa88f61dcaf22293ea --- /dev/null +++ b/lib/plugins/authplain/lang/nl/lang.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Hugo Smet <hugo.smet@scarlet.be> + */ +$lang['userexists'] = 'Er bestaat al een gebruiker met deze loginnaam.'; +$lang['usernotexists'] = 'Sorry, deze gebruiker bestaat niet.'; +$lang['writefail'] = 'Onmogelijk om de gebruikers data te wijzigen. Gelieve de Wiki-Admin te informeren.'; diff --git a/lib/plugins/authplain/lang/no/lang.php b/lib/plugins/authplain/lang/no/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..981881369f35257aaf386a045587916b5ccce6ea --- /dev/null +++ b/lib/plugins/authplain/lang/no/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Det finnes allerede en konto med dette brukernavnet.'; diff --git a/lib/plugins/authplain/lang/pl/lang.php b/lib/plugins/authplain/lang/pl/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..9a61b004764ff7030cd900587206b284a9b1bcb8 --- /dev/null +++ b/lib/plugins/authplain/lang/pl/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Użytkownik o tej nazwie już istnieje.'; diff --git a/lib/plugins/authplain/lang/pt-br/lang.php b/lib/plugins/authplain/lang/pt-br/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..654ec2b801218b3895b9967ab7c5d47238d59881 --- /dev/null +++ b/lib/plugins/authplain/lang/pt-br/lang.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Frederico Gonçalves Guimarães <frederico@teia.bio.br> + */ +$lang['userexists'] = 'Desculpe, mas já existe um usuário com esse nome.'; +$lang['usernotexists'] = 'Desculpe, mas esse usuário não existe.'; +$lang['writefail'] = 'Não foi possÃvel modificar os dados do usuário. Por favor, informe ao administrador do Wiki.'; diff --git a/lib/plugins/authplain/lang/pt/lang.php b/lib/plugins/authplain/lang/pt/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..26d4180c5bcca0ab2272ad99477199681cee5463 --- /dev/null +++ b/lib/plugins/authplain/lang/pt/lang.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Paulo Carmino <contato@paulocarmino.com> + */ +$lang['userexists'] = 'Este utilizador já está inscrito. Por favor escolha outro nome de utilizador.'; +$lang['usernotexists'] = 'Desculpe, esse login não existe.'; diff --git a/lib/plugins/authplain/lang/ro/lang.php b/lib/plugins/authplain/lang/ro/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..eb243a12f4bf45e2f95ad8ede358450786a90b0c --- /dev/null +++ b/lib/plugins/authplain/lang/ro/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Ne pare rău, un utilizator cu acest nume este deja autentificat.'; diff --git a/lib/plugins/authplain/lang/ru/lang.php b/lib/plugins/authplain/lang/ru/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..a53a57b40bbdb9ee2b1ba86e3b5ff36da5d21a08 --- /dev/null +++ b/lib/plugins/authplain/lang/ru/lang.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author RainbowSpike <1@2.ru> + * @author Aleksandr Selivanov <alexgearbox@yandex.ru> + */ +$lang['userexists'] = 'Извините, пользователь Ñ Ñ‚Ð°ÐºÐ¸Ð¼ логином уже ÑущеÑтвует.'; +$lang['usernotexists'] = 'Ðтот пользователь не зарегиÑтрирован.'; +$lang['writefail'] = 'Ðевозможно обновить данные пользователÑ. СвÑжитеÑÑŒ Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтратором вики'; diff --git a/lib/plugins/authplain/lang/sk/lang.php b/lib/plugins/authplain/lang/sk/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..46ce389f3d38f5534f5a3d3ca5671cd3c9e6696f --- /dev/null +++ b/lib/plugins/authplain/lang/sk/lang.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Martin Michalek <michalek.dev@gmail.com> + */ +$lang['userexists'] = 'UžÃvateľ s rovnakým menom je už zaregistrovaný.'; +$lang['writefail'] = 'Nie je možné zmeniÅ¥ údaje použÃvateľa, informujte prosÃm administrátora Wiki.'; diff --git a/lib/plugins/authplain/lang/sl/lang.php b/lib/plugins/authplain/lang/sl/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..d4ee30fda514aadd47e958be644251b755dfe5f3 --- /dev/null +++ b/lib/plugins/authplain/lang/sl/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Uporabnik s tem imenom že obstaja.'; diff --git a/lib/plugins/authplain/lang/sq/lang.php b/lib/plugins/authplain/lang/sq/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..e3a93502f0f8e6c4aa4edc7d50ee790f4bd334c0 --- /dev/null +++ b/lib/plugins/authplain/lang/sq/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Na vjen keq, ekziston një përdorues tjetër me të njëjtin emër.'; diff --git a/lib/plugins/authplain/lang/sr/lang.php b/lib/plugins/authplain/lang/sr/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..2d85ca42a1f52092e610789eac66d75b22f60967 --- /dev/null +++ b/lib/plugins/authplain/lang/sr/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Извините, кориÑник Ñа иÑтим именом већ поÑтоји.'; diff --git a/lib/plugins/authplain/lang/sv/lang.php b/lib/plugins/authplain/lang/sv/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..fb80df956601d67ecb91d4590edf3145db660688 --- /dev/null +++ b/lib/plugins/authplain/lang/sv/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Det finns redan en användare med det användarnamnet.'; diff --git a/lib/plugins/authplain/lang/th/lang.php b/lib/plugins/authplain/lang/th/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..463a2799296a1e466e78046ef86fa924ddc1d5c6 --- /dev/null +++ b/lib/plugins/authplain/lang/th/lang.php @@ -0,0 +1,7 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'ชื่à¸à¸šà¸±à¸à¸Šà¸µà¸—ี่ใส่นั้นมีผู้à¸à¸·à¹ˆà¸™à¹„ด้ใช้à¹à¸¥à¹‰à¸§ à¸à¸£à¸¸à¸“าเลืà¸à¸à¸Šà¸·à¹ˆà¸à¸œà¸¹à¹‰à¹ƒà¸Šà¹‰à¸à¸·à¹ˆà¸™'; diff --git a/lib/plugins/authplain/lang/tr/lang.php b/lib/plugins/authplain/lang/tr/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..6111085c21cc607f148ea14327bbe0f324e19a0a --- /dev/null +++ b/lib/plugins/authplain/lang/tr/lang.php @@ -0,0 +1,7 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Ãœzgünüz, bu isime sahip bir kullanıcı zaten mevcut.'; diff --git a/lib/plugins/authplain/lang/uk/lang.php b/lib/plugins/authplain/lang/uk/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..8a796870facee443e46266b50ea9ccc35402c110 --- /dev/null +++ b/lib/plugins/authplain/lang/uk/lang.php @@ -0,0 +1,7 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'КориÑтувач з таким іменем вже Ñ–Ñнує.'; diff --git a/lib/plugins/authplain/lang/vi/lang.php b/lib/plugins/authplain/lang/vi/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..7ecb0a27cff5728cc084649f0219da11728c5b25 --- /dev/null +++ b/lib/plugins/authplain/lang/vi/lang.php @@ -0,0 +1,6 @@ +<?php +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = 'Bạn khác đã dùng username nà y rồi.'; diff --git a/lib/plugins/authplain/lang/zh-tw/lang.php b/lib/plugins/authplain/lang/zh-tw/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..39578f52da79cc9f99a53b39d741164a760e686e --- /dev/null +++ b/lib/plugins/authplain/lang/zh-tw/lang.php @@ -0,0 +1,7 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + */ +$lang['userexists'] = '很抱æ‰ï¼Œæœ‰äººå·²ä½¿ç”¨äº†é€™å€‹å¸³è™Ÿã€‚'; diff --git a/lib/plugins/authplain/lang/zh/lang.php b/lib/plugins/authplain/lang/zh/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..3dcebd28dbe22f01ae1b8d6528e678cd29a31cf6 --- /dev/null +++ b/lib/plugins/authplain/lang/zh/lang.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author lainme <lainme993@gmail.com> + */ +$lang['userexists'] = '对ä¸èµ·ï¼Œè¯¥ç”¨æˆ·åå·²ç»å˜åœ¨ã€‚'; +$lang['usernotexists'] = '抱æ‰ï¼Œè¯¥ç”¨æˆ·ä¸å˜åœ¨'; +$lang['writefail'] = 'æ— æ³•ä¿®æ”¹ç”¨æˆ·æ•°æ®ã€‚请è”系维基管ç†å‘˜'; diff --git a/lib/plugins/authplain/plugin.info.txt b/lib/plugins/authplain/plugin.info.txt index 2659ac7ad5c38cb121caede91f3a1a6a9c7381cd..c09dbcb34bc281eb8c2de9c3d47c86d8d5e0d5e2 100644 --- a/lib/plugins/authplain/plugin.info.txt +++ b/lib/plugins/authplain/plugin.info.txt @@ -1,7 +1,7 @@ base authplain author Andreas Gohr email andi@splitbrain.org -date 2014-07-01 +date 2015-07-18 name Plain Auth Plugin desc Provides user authentication against DokuWiki's local password storage url http://www.dokuwiki.org/plugin:authplain diff --git a/lib/plugins/config/_test/configuration.test.php b/lib/plugins/config/_test/configuration.test.php index b808ad505844c8cf2cc5e1e9636fe8d41c8eec2e..6e9eb0cc6f4ea6f9303d84cfce78b12ee5944447 100644 --- a/lib/plugins/config/_test/configuration.test.php +++ b/lib/plugins/config/_test/configuration.test.php @@ -1,4 +1,10 @@ <?php +/** + * @group plugin_config + * @group admin_plugins + * @group plugins + * @group bundled_plugins + */ class plugin_config_configuration_test extends DokuWikiTest { diff --git a/lib/plugins/config/admin.php b/lib/plugins/config/admin.php index 2ef570b682c0738880d19cc737818446af5ef53f..ec8ee0b842bf566a635754c554b86cb969383cec 100644 --- a/lib/plugins/config/admin.php +++ b/lib/plugins/config/admin.php @@ -212,8 +212,8 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { if (!$this->_config->locked) { ptln(' <input type="hidden" name="save" value="1" />'); - ptln(' <input type="submit" name="submit" class="button" value="'.$lang['btn_save'].'" accesskey="s" />'); - ptln(' <input type="reset" class="button" value="'.$lang['btn_reset'].'" />'); + ptln(' <button type="submit" name="submit" accesskey="s">'.$lang['btn_save'].'</button>'); + ptln(' <button type="reset">'.$lang['btn_reset'].'</button>'); } ptln('</p>'); diff --git a/lib/plugins/config/images/danger.png b/lib/plugins/config/images/danger.png index 7bd84f7a36dedfa8107314e54836462ab93e5f7a..da0692429e404d4620f23a496890f09f6c8fc8ec 100644 Binary files a/lib/plugins/config/images/danger.png and b/lib/plugins/config/images/danger.png differ diff --git a/lib/plugins/config/images/security.png b/lib/plugins/config/images/security.png index 1800f8e56b81fe93899caf3e79d840e83a66c0f2..3ee8476accd6ef3ae50b5b869d24446d1a7c60c6 100644 Binary files a/lib/plugins/config/images/security.png and b/lib/plugins/config/images/security.png differ diff --git a/lib/plugins/config/images/warning.png b/lib/plugins/config/images/warning.png index c5e482f84b3a140a062da69cd86d0a98019a8fcb..c1af79f0ffa5b8ebe561b8983fb0e843d8157e4d 100644 Binary files a/lib/plugins/config/images/warning.png and b/lib/plugins/config/images/warning.png differ diff --git a/lib/plugins/config/lang/ar/intro.txt b/lib/plugins/config/lang/ar/intro.txt index d447ec315eb66deb8fa0c874956759f94684545c..15905189f94bd5c9b7cf00826ace90a10af9e551 100644 --- a/lib/plugins/config/lang/ar/intro.txt +++ b/lib/plugins/config/lang/ar/intro.txt @@ -4,4 +4,4 @@ الاعدادات الظاهرة بخلÙية Øمراء ÙاتØØ© اعدادات Ù…Øمية ولا يمكن تغييرها بهذه الاضاÙØ©. الاعدادات الظاهرة بخلÙية زرقاء هي القيم الاÙتراضية والاعدادات الظاهرة بخلÙية بيضاء خصصت لهذا التثبيت Ù…Øليا. الاعدادات الزرقاء والبيضاء يمكن تغييرها. -تأكد من ضغط زر **SAVE** قبل ترك الصÙØØ© وإلا ستضيع تعديلاتك. \ No newline at end of file +تأكد من ضغط زر **SAVE** قبل ترك الصÙØØ© وإلا ستضيع تعديلاتك. diff --git a/lib/plugins/config/lang/bg/lang.php b/lib/plugins/config/lang/bg/lang.php index 64ddb1eae873a749a4f1d33c82b5123809b6531c..0426df0609c5a546e4a1368e61c978c6e31182b7 100644 --- a/lib/plugins/config/lang/bg/lang.php +++ b/lib/plugins/config/lang/bg/lang.php @@ -1,259 +1,195 @@ <?php + /** - * bulgarian language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Nikolay Vladimirov <nikolay@vladimiroff.com> * @author Viktor Usunov <usun0v@mail.bg> * @author Kiril <neohidra@gmail.com> */ - -// for admin plugins, the menu prompt to be displayed in the admin menu -// if set here, the plugin doesn't need to override the getMenuText() method -$lang['menu'] = 'ÐаÑтройки'; - -$lang['error'] = 'ОбновÑването на наÑтройките не е възможно, поради невалидна ÑтойноÑÑ‚, молÑ, прегледайте промените Ñи и пробвайте отново. +$lang['menu'] = 'ÐаÑтройки'; +$lang['error'] = 'ОбновÑването на наÑтройките не е възможно, поради невалидна ÑтойноÑÑ‚, молÑ, прегледайте промените Ñи и пробвайте отново. <br />Ðеверните ÑтойноÑти ще бъдат обградени Ñ Ñ‡ÐµÑ€Ð²ÐµÐ½Ð° рамка.'; -$lang['updated'] = 'ОбновÑването на наÑтройките е уÑпешно.'; -$lang['nochoice'] = '(нÑма друг възможен избор)'; -$lang['locked'] = 'ОбновÑването на файла Ñ Ð½Ð°Ñтройките не е възможно, ако това не е нарочно, проверете,<br /> +$lang['updated'] = 'ОбновÑването на наÑтройките е уÑпешно.'; +$lang['nochoice'] = '(нÑма друг възможен избор)'; +$lang['locked'] = 'ОбновÑването на файла Ñ Ð½Ð°Ñтройките не е възможно, ако това не е нарочно, проверете,<br /> дали името на Ð»Ð¾ÐºÐ°Ð»Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» Ñ Ð½Ð°Ñтройки и правата Ñа верни.'; - -$lang['danger'] = 'Внимание: промÑна на опциÑта може да направи Wiki-то и менюто за наÑтройване недоÑтъпни.'; -$lang['warning'] = 'Предупреждение: промÑна на опциÑта може предизвика нежелани поÑледици.'; -$lang['security'] = 'Предупреждение: промÑна на опциÑта може да предÑтавлÑва риÑк за ÑигурноÑтта.'; - -/* --- Config Setting Headers --- */ -$lang['_configuration_manager'] = 'ДиÑпечер на наÑтройките'; //same as heading in intro.txt -$lang['_header_dokuwiki'] = 'ÐаÑтройки на DokuWiki'; -$lang['_header_plugin'] = 'ÐаÑтройки на приÑтавки'; -$lang['_header_template'] = 'ÐаÑтройки на шаблона'; -$lang['_header_undefined'] = 'Ðеопределени наÑтройки'; - -/* --- Config Setting Groups --- */ -$lang['_basic'] = 'ОÑновни наÑтройки'; -$lang['_display'] = 'ÐаÑтройки за изобразÑване'; -$lang['_authentication'] = 'ÐаÑтройки за удоÑтоверÑване'; -$lang['_anti_spam'] = 'ÐаÑтройки за борба ÑÑŠÑ SPAM-ма'; -$lang['_editing'] = 'ÐаÑтройки за редактиране'; -$lang['_links'] = 'ÐаÑтройки на препратките'; -$lang['_media'] = 'ÐаÑтройки на медиÑта'; -$lang['_notifications'] = 'ÐаÑтройки за извеÑÑ‚Ñване'; -$lang['_syndication'] = 'ÐаÑтройки на RSS емиÑиите'; -$lang['_advanced'] = 'Допълнителни наÑтройки'; -$lang['_network'] = 'Мрежови наÑтройки'; - -/* --- Undefined Setting Messages --- */ +$lang['danger'] = 'Внимание: промÑна на опциÑта може да направи Wiki-то и менюто за наÑтройване недоÑтъпни.'; +$lang['warning'] = 'Предупреждение: промÑна на опциÑта може предизвика нежелани поÑледици.'; +$lang['security'] = 'Предупреждение: промÑна на опциÑта може да предÑтавлÑва риÑк за ÑигурноÑтта.'; +$lang['_configuration_manager'] = 'ДиÑпечер на наÑтройките'; +$lang['_header_dokuwiki'] = 'ÐаÑтройки на DokuWiki'; +$lang['_header_plugin'] = 'ÐаÑтройки на приÑтавки'; +$lang['_header_template'] = 'ÐаÑтройки на шаблона'; +$lang['_header_undefined'] = 'Ðеопределени наÑтройки'; +$lang['_basic'] = 'ОÑновни наÑтройки'; +$lang['_display'] = 'ÐаÑтройки за изобразÑване'; +$lang['_authentication'] = 'ÐаÑтройки за удоÑтоверÑване'; +$lang['_anti_spam'] = 'ÐаÑтройки за борба ÑÑŠÑ SPAM-ма'; +$lang['_editing'] = 'ÐаÑтройки за редактиране'; +$lang['_links'] = 'ÐаÑтройки на препратките'; +$lang['_media'] = 'ÐаÑтройки на медиÑта'; +$lang['_notifications'] = 'ÐаÑтройки за извеÑÑ‚Ñване'; +$lang['_syndication'] = 'ÐаÑтройки на RSS емиÑиите'; +$lang['_advanced'] = 'Допълнителни наÑтройки'; +$lang['_network'] = 'Мрежови наÑтройки'; $lang['_msg_setting_undefined'] = 'ÐÑма метаданни за наÑтройките.'; $lang['_msg_setting_no_class'] = 'ÐÑма ÐºÐ»Ð°Ñ Ð½Ð°Ñтройки.'; $lang['_msg_setting_no_default'] = 'ÐÑма Ñтандартна ÑтойноÑÑ‚.'; - -/* -------------------- Config Options --------------------------- */ - -/* Basic Settings */ -$lang['title'] = 'Заглавие за Wiki-то, тоеÑÑ‚ името'; -$lang['start'] = 'Име на началната Ñтраница'; -$lang['lang'] = 'Език на интерфейÑа'; -$lang['template'] = 'Шаблон (Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ Ð²Ð¸Ð´Ð° на Ñтраниците)'; -$lang['tagline'] = 'Подзаглавие - изобразÑва Ñе под името на Wiki-то (ако Ñе поддържа от шаблона)'; -$lang['sidebar'] = 'Име на Ñтраницата за Ñтраничната лента (ако Ñе поддържа от шаблона). ОÑтавите ли полето празно лентата ще бъде изключена'; -$lang['license'] = 'Под какъв лиценз да бъде публикувано Ñъдържанието?'; -$lang['savedir'] = 'Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð·Ð° запиÑване на данните'; -$lang['basedir'] = 'Главна Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ (напр. <code>/dokuwiki/</code>). ОÑтавете празно, за да бъде заÑечена автоматично.'; -$lang['baseurl'] = 'URL Ð°Ð´Ñ€ÐµÑ (напр. <code>http://www.yourserver.com</code>). ОÑтавете празно, за да бъде заÑечен автоматично.'; -$lang['cookiedir'] = 'Път за биÑквитките. ОÑтавите ли полето празно ще Ñе ползва Ð³Ð¾Ñ€Ð½Ð¸Ñ URL адреÑ.'; -$lang['dmode'] = 'Режим (права) за Ñъздаване на директории'; -$lang['fmode'] = 'Режим (права) за Ñъздаване на файлове'; -$lang['allowdebug'] = 'Включване на режи debug - <b>изключете, ако не е нужен!</b>'; - -/* Display Settings */ -$lang['recent'] = 'Скорошни промени - брой елементи на Ñтраница'; -$lang['recent_days'] = 'Колко от Ñкорошните промени да Ñе пазÑÑ‚ (дни)'; -$lang['breadcrumbs'] = 'Брой на Ñледите. За изключване на функциÑта задайте 0.'; -$lang['youarehere'] = 'Йерархични Ñледи (в този Ñлучай можете да изключите горната опциÑ)'; -$lang['fullpath'] = 'Показване на Ð¿ÑŠÐ»Ð½Ð¸Ñ Ð¿ÑŠÑ‚ до Ñтраниците в Ð´Ð¾Ð»Ð½Ð¸Ñ ÐºÐ¾Ð»Ð¾Ð½Ñ‚Ð¸Ñ‚ÑƒÐ».'; -$lang['typography'] = 'ЗамÑна на поÑледователноÑÑ‚ от Ñимволи Ñ Ñ‚Ð¸Ð¿Ð¾Ð³Ñ€Ð°Ñ„Ñки еквивалент'; -$lang['dformat'] = 'Формат на датата (виж. <a href="http://www.php.net/strftime">strftime</a> функциÑта на PHP)'; -$lang['signature'] = 'ÐŸÐ¾Ð´Ð¿Ð¸Ñ - какво да внаÑÑ Ð±ÑƒÑ‚Ð¾Ð½Ð° "Вмъкване на подпиÑ" от редактора'; -$lang['showuseras'] = 'Какво да Ñе показва за потребителÑ, който поÑледно е променил дадена Ñтраницата'; -$lang['toptoclevel'] = 'Главно ниво (заглавие) за Ñъдържанието'; -$lang['tocminheads'] = 'Минимален брой заглавиÑ, определÑщ дали да бъде Ñъздадено Ñъдържание'; -$lang['maxtoclevel'] = 'МакÑимален брой нива (заглавиÑ) за включване в Ñъдържанието'; -$lang['maxseclevel'] = 'МакÑимален брой нива предоÑтавÑни за ÑамоÑтоÑтелно редактиране'; -$lang['camelcase'] = 'Ползване на CamelCase за линкове'; -$lang['deaccent'] = 'ПочиÑтване имената на Ñтраниците (на файловете)'; -$lang['useheading'] = 'Ползване на първото заглавие за име на Ñтраница'; -$lang['sneaky_index'] = 'Стандартно DokuWiki ще показва вÑички именни проÑтранÑтва в индекÑа. ОпциÑта Ñкрива тези, за които потребителÑÑ‚ нÑма права за четене. Това може да доведе и до Ñкриване на иначе доÑтъпни подименни проÑтранÑтва. С определени наÑтройки на ÑпиÑъците за контрол на доÑтъпа (ACL) може да направи индекÑа неизползваем. '; -$lang['hidepages'] = 'Скриване на Ñтраниците Ñъвпадащи Ñ Ñ‚Ð¾Ð·Ð¸ регулÑрен израз(regular expressions)'; - -/* Authentication Settings */ -$lang['useacl'] = 'Ползване на ÑпиÑъци за доÑтъп'; -$lang['autopasswd'] = 'Ðвтоматично генериране на пароли, на нови потребители и пращане по пощата'; -$lang['authtype'] = 'Метод за удоÑтоверÑване'; -$lang['passcrypt'] = 'Метод за криптиране на паролите'; -$lang['defaultgroup']= 'Стандартна група'; -$lang['superuser'] = 'Супер потребител - група, потребител или ÑпиÑък ÑÑŠÑ ÑтойноÑти разделени чрез Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ (user1,@group1,user2) Ñ Ð¿ÑŠÐ»ÐµÐ½ доÑтъп до вÑички Ñтраници и функции без значение от наÑтройките на ÑпиÑъците за доÑтъп (ACL)'; -$lang['manager'] = 'Управител - група, потребител или ÑпиÑък ÑÑŠÑ ÑтойноÑти разделени чрез Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ (user1,@group1,user2) Ñ Ð´Ð¾Ñтъп до определени управленÑки функции '; -$lang['profileconfirm'] = 'Потвърждаване на промени в профила Ñ Ð¿Ð°Ñ€Ð¾Ð»Ð°'; -$lang['rememberme'] = 'Ползване на поÑтоÑнни биÑквитки за впиÑване (за функциÑта "Запомни ме")'; -$lang['disableactions'] = 'Изключване функции на DokuWiki'; -$lang['disableactions_check'] = 'Проверка'; +$lang['title'] = 'Заглавие за Wiki-то, тоеÑÑ‚ името'; +$lang['start'] = 'Име на началната Ñтраница'; +$lang['lang'] = 'Език на интерфейÑа'; +$lang['template'] = 'Шаблон (Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ Ð²Ð¸Ð´Ð° на Ñтраниците)'; +$lang['tagline'] = 'Подзаглавие - изобразÑва Ñе под името на Wiki-то (ако Ñе поддържа от шаблона)'; +$lang['sidebar'] = 'Име на Ñтраницата за Ñтраничната лента (ако Ñе поддържа от шаблона). ОÑтавите ли полето празно лентата ще бъде изключена'; +$lang['license'] = 'Под какъв лиценз да бъде публикувано Ñъдържанието?'; +$lang['savedir'] = 'Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð·Ð° запиÑване на данните'; +$lang['basedir'] = 'Главна Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ (напр. <code>/dokuwiki/</code>). ОÑтавете празно, за да бъде заÑечена автоматично.'; +$lang['baseurl'] = 'URL Ð°Ð´Ñ€ÐµÑ (напр. <code>http://www.yourserver.com</code>). ОÑтавете празно, за да бъде заÑечен автоматично.'; +$lang['cookiedir'] = 'Път за биÑквитките. ОÑтавите ли полето празно ще Ñе ползва Ð³Ð¾Ñ€Ð½Ð¸Ñ URL адреÑ.'; +$lang['dmode'] = 'Режим (права) за Ñъздаване на директории'; +$lang['fmode'] = 'Режим (права) за Ñъздаване на файлове'; +$lang['allowdebug'] = 'Включване на режи debug - <b>изключете, ако не е нужен!</b>'; +$lang['recent'] = 'Скорошни промени - брой елементи на Ñтраница'; +$lang['recent_days'] = 'Колко от Ñкорошните промени да Ñе пазÑÑ‚ (дни)'; +$lang['breadcrumbs'] = 'Брой на Ñледите. За изключване на функциÑта задайте 0.'; +$lang['youarehere'] = 'Йерархични Ñледи (в този Ñлучай можете да изключите горната опциÑ)'; +$lang['fullpath'] = 'Показване на Ð¿ÑŠÐ»Ð½Ð¸Ñ Ð¿ÑŠÑ‚ до Ñтраниците в Ð´Ð¾Ð»Ð½Ð¸Ñ ÐºÐ¾Ð»Ð¾Ð½Ñ‚Ð¸Ñ‚ÑƒÐ».'; +$lang['typography'] = 'ЗамÑна на поÑледователноÑÑ‚ от Ñимволи Ñ Ñ‚Ð¸Ð¿Ð¾Ð³Ñ€Ð°Ñ„Ñки еквивалент'; +$lang['dformat'] = 'Формат на датата (виж. <a href="http://www.php.net/strftime">strftime</a> функциÑта на PHP)'; +$lang['signature'] = 'ÐŸÐ¾Ð´Ð¿Ð¸Ñ - какво да внаÑÑ Ð±ÑƒÑ‚Ð¾Ð½Ð° "Вмъкване на подпиÑ" от редактора'; +$lang['showuseras'] = 'Какво да Ñе показва за потребителÑ, който поÑледно е променил дадена Ñтраницата'; +$lang['toptoclevel'] = 'Главно ниво (заглавие) за Ñъдържанието'; +$lang['tocminheads'] = 'Минимален брой заглавиÑ, определÑщ дали да бъде Ñъздадено Ñъдържание'; +$lang['maxtoclevel'] = 'МакÑимален брой нива (заглавиÑ) за включване в Ñъдържанието'; +$lang['maxseclevel'] = 'МакÑимален брой нива предоÑтавÑни за ÑамоÑтоÑтелно редактиране'; +$lang['camelcase'] = 'Ползване на CamelCase за линкове'; +$lang['deaccent'] = 'ПочиÑтване имената на Ñтраниците (на файловете)'; +$lang['useheading'] = 'Ползване на първото заглавие за име на Ñтраница'; +$lang['sneaky_index'] = 'Стандартно DokuWiki ще показва вÑички именни проÑтранÑтва в индекÑа. ОпциÑта Ñкрива тези, за които потребителÑÑ‚ нÑма права за четене. Това може да доведе и до Ñкриване на иначе доÑтъпни подименни проÑтранÑтва. С определени наÑтройки на ÑпиÑъците за контрол на доÑтъпа (ACL) може да направи индекÑа неизползваем. '; +$lang['hidepages'] = 'Скриване на Ñтраниците Ñъвпадащи Ñ Ñ‚Ð¾Ð·Ð¸ регулÑрен израз(regular expressions)'; +$lang['useacl'] = 'Ползване на ÑпиÑъци за доÑтъп'; +$lang['autopasswd'] = 'Ðвтоматично генериране на пароли, на нови потребители и пращане по пощата'; +$lang['authtype'] = 'Метод за удоÑтоверÑване'; +$lang['passcrypt'] = 'Метод за криптиране на паролите'; +$lang['defaultgroup'] = 'Стандартна група'; +$lang['superuser'] = 'Супер потребител - група, потребител или ÑпиÑък ÑÑŠÑ ÑтойноÑти разделени чрез Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ (user1,@group1,user2) Ñ Ð¿ÑŠÐ»ÐµÐ½ доÑтъп до вÑички Ñтраници и функции без значение от наÑтройките на ÑпиÑъците за доÑтъп (ACL)'; +$lang['manager'] = 'Управител - група, потребител или ÑпиÑък ÑÑŠÑ ÑтойноÑти разделени чрез Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ (user1,@group1,user2) Ñ Ð´Ð¾Ñтъп до определени управленÑки функции '; +$lang['profileconfirm'] = 'Потвърждаване на промени в профила Ñ Ð¿Ð°Ñ€Ð¾Ð»Ð°'; +$lang['rememberme'] = 'Ползване на поÑтоÑнни биÑквитки за впиÑване (за функциÑта "Запомни ме")'; +$lang['disableactions'] = 'Изключване функции на DokuWiki'; +$lang['disableactions_check'] = 'Проверка'; $lang['disableactions_subscription'] = 'Ðбониране/ОтпиÑване'; $lang['disableactions_wikicode'] = 'Преглед на кода/ЕкÑпортиране на оригинална верÑиÑ'; -$lang['disableactions_other'] = 'Други дейÑÑ‚Ð²Ð¸Ñ (разделени ÑÑŠÑ Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ)'; +$lang['disableactions_other'] = 'Други дейÑÑ‚Ð²Ð¸Ñ (разделени ÑÑŠÑ Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ)'; $lang['auth_security_timeout'] = 'Ðвтоматично проверÑване на удоÑтоверÑването вÑеки (Ñек)'; -$lang['securecookie'] = 'Да Ñе изпращат ли биÑквитките зададени чрез HTTPS, Ñамо чрез HTTPS от браузъра? Изключете опциÑта, когато SSL Ñе ползва Ñамо за впиÑване, а четенето е без SSL.'; -$lang['remote'] = 'Включване на ÑиÑтемата за отдалечен API доÑтъп. Това ще позволи на Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð° Ñе Ñвързват Ñ DokuWiki чрез XML-RPC или друг механизъм.'; -$lang['remoteuser'] = 'Ограничаване на Ð¾Ñ‚Ð´Ð°Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ API доÑтъп - активиране Ñамо за Ñледните групи и потребители (отделени ÑÑŠÑ Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ). Ðко оÑтавите полето празно вÑеки ще има доÑтъп доÑтъп.'; - -/* Anti-Spam Settings */ -$lang['usewordblock'] = 'Блокиране на SPAM въз оÑнова на на ÑпиÑък от думи'; -$lang['relnofollow'] = 'Ползване на rel="nofollow" за външни препратки'; -$lang['indexdelay'] = 'ЗабавÑне преди индекÑиране (Ñек)'; -$lang['mailguard'] = 'ПромÑна на адреÑите на ел. поща (във форма непозволÑваща пращането на SPAM)'; -$lang['iexssprotect'] = 'ПроверÑване на качените файлове за вероÑтен зловреден JavaScript и HTML код'; - -/* Editing Settings */ -$lang['usedraft'] = 'Ðвтоматично запазване на чернова по време на редактиране'; -$lang['htmlok'] = 'Разрешаване вграждането на HTML код'; -$lang['phpok'] = 'Разрешаване вграждането на PHP код'; -$lang['locktime'] = 'МакÑ. период за ÑъхранÑване на заключените файлове (Ñек)'; -$lang['cachetime'] = 'МакÑ. период за ÑъхранÑване на кеша (Ñек)'; - -/* Link settings */ -$lang['target____wiki'] = 'Прозорец за вътрешни препратки'; -$lang['target____interwiki'] = 'Прозорец за препратки към други Wiki Ñайтове'; -$lang['target____extern'] = 'Прозорец за външни препратки'; -$lang['target____media'] = 'Прозорец за медийни препратки'; -$lang['target____windows'] = 'Прозорец за препратки към Windows'; - -/* Media Settings */ -$lang['mediarevisions'] = 'Да Ñе пазÑÑ‚ ли Ñтари верÑии на качените файлове (Mediarevisions)?'; -$lang['refcheck'] = 'Проверка за препратка към медиÑ, преди да бъде изтрита'; -$lang['gdlib'] = 'ВерÑÐ¸Ñ Ð½Ð° GD Lib'; -$lang['im_convert'] = 'Път до инÑтрумента за транÑÑ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð½Ð° ImageMagick'; -$lang['jpg_quality'] = 'КачеÑтво на JPG компреÑиÑта (0-100)'; -$lang['fetchsize'] = 'МакÑимален размер (байтове), който fetch.php може да ÑвалÑ'; - -/* Notification Settings */ -$lang['subscribers'] = 'Включване на поддръжката за абониране към Ñтраници'; -$lang['subscribe_time'] = 'Време Ñлед което абонаментните ÑпиÑъци и Ð¾Ð±Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñе изпращат (Ñек); ТрÑбва да е по-малко от времето определено в recent_days.'; -$lang['notify'] = 'Пращане на ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð·Ð° промени по Ñтраниците на Ñледната eл. поща'; -$lang['registernotify'] = 'Пращане на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° нови потребители на Ñледната ел. поща'; -$lang['mailfrom'] = 'Ел. поща, коÑто да Ñе ползва за автоматично изпращане на ел. пиÑма'; -$lang['mailprefix'] = 'ПредÑтавка за темите (поле subject) на автоматично изпращаните ел. пиÑма'; -$lang['htmlmail'] = 'Изпращане на по-добре изглеждащи, но по-големи по-размер HTML ел. пиÑма. Изключете ако желаете пиÑмата да Ñе изпращат като чиÑÑ‚ текÑÑ‚.'; - -/* Syndication Settings */ -$lang['sitemap'] = 'Генериране на Google sitemap (дни)'; -$lang['rss_type'] = 'Тип на XML емиÑиÑта'; -$lang['rss_linkto'] = 'XML емиÑиÑта препраща към'; -$lang['rss_content'] = 'Какво да показват елементите на XML емиÑиÑта?'; -$lang['rss_update'] = 'Интервал на актуализиране на XML емиÑиÑта (Ñек)'; -$lang['rss_show_summary'] = 'Показване на обобщение в заглавието на XML емиÑиÑта'; -$lang['rss_media'] = 'Кой тип промени да Ñе включват в XML миÑиÑта?'; - -/* Advanced Options */ -$lang['updatecheck'] = 'ПроверÑване за за нови верÑии и Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð·Ð° ÑигурноÑтта? Ðеобходимо е Dokiwiki да може да Ñе Ñвързва ÑÑŠÑ update.dokuwiki.org за тази функционалноÑÑ‚.'; -$lang['userewrite'] = 'Ползване на nice URL адреÑи'; -$lang['useslash'] = 'Ползване на наклонена черта за разделител на именните проÑтранÑтва в URL'; -$lang['sepchar'] = 'Разделител между думите в имената на Ñтраници'; -$lang['canonical'] = 'Ползване на напълно уеднаквени URL адреÑи (абÑолютни адреÑи - http://server/path)'; -$lang['fnencode'] = 'Метод за кодиране на не-ASCII именуваните файлове.'; -$lang['autoplural'] = 'ПроверÑване за множеÑтвено чиÑло в препратките'; -$lang['compression'] = 'Метод за компреÑÐ¸Ñ Ð½Ð° attic файлове'; -$lang['gzip_output'] = 'Кодиране на Ñъдържанието Ñ gzip за xhtml'; -$lang['compress'] = 'Компактен CSS и javascript изглед'; -$lang['cssdatauri'] = 'МакÑимален размер, в байтове, до който изображениÑта поÑочени в .CSS файл ще бъдат вграждани в Ñтила (stylesheet), за да Ñе намали Ð±Ñ€Ð¾Ñ Ð½Ð° HTTP заÑвките. Техниката не работи за верÑиите на IE преди 8! Препоръчителни ÑтойноÑти: <code>400</code> до <code>600</code> байта. Въведете <code>0</code> за изключване.'; -$lang['send404'] = 'Пращане на "HTTP 404/Page Not Found" за неÑъщеÑтвуващи Ñтраници'; -$lang['broken_iua'] = 'Отметнете, ако ignore_user_abort функциÑта не работи. Може да попречи на Ñ‚ÑŠÑ€Ñенето в Ñтраниците. Знае Ñе, че комбинациÑта IIS+PHP/CGI е лоша. Вижте <a href="http://bugs.splitbrain.org/?do=details&task_id=852">Грешка 852</a> за повече информациÑ.'; -$lang['xsendfile'] = 'Ползване на Ð¥-Sendfile header, за да може уебÑървъра да дава Ñтатични файлове? ВашиÑÑ‚ уеб Ñървър Ñ‚Ñ€Ñбва да го поддържа.'; -$lang['renderer_xhtml'] = 'ПредÑтавÑне на оÑновните изходни данни (xhtml) от Wiki-то Ñ'; -$lang['renderer__core'] = '%s (Ñдрото на DokuWiki)'; -$lang['renderer__plugin'] = '%s (приÑтавка)'; - -/* Network Options */ -$lang['dnslookups'] = 'DokuWiki ще Ñ‚ÑŠÑ€Ñи имената на хоÑтовете, на отдалечени IP адреÑи, от които потребители редактират Ñтраници. ÐЕ е желателно да ползвате опциÑта ако имате бавен или неработещ DNS Ñървър.'; - -/* Proxy Options */ -$lang['proxy____host'] = 'Име на прокÑи Ñървър'; -$lang['proxy____port'] = 'Порт за прокÑито'; -$lang['proxy____user'] = 'Потребител за прокÑито'; -$lang['proxy____pass'] = 'Парола за прокÑито'; -$lang['proxy____ssl'] = 'Ползване на SSL при Ñвързване Ñ Ð¿Ñ€Ð¾ÐºÑито'; -$lang['proxy____except'] = 'РегулÑрен израз определÑщ за кои URL адреÑи да не Ñе ползва прокÑи Ñървър.'; - -/* Safemode Hack */ -$lang['safemodehack'] = 'Ползване на хака safemode'; -$lang['ftp____host'] = 'FTP Ñървър за хака safemode'; -$lang['ftp____port'] = 'FTP порт за хака safemode'; -$lang['ftp____user'] = 'FTP потребител за хака safemode'; -$lang['ftp____pass'] = 'FTP парола за хака safemode'; -$lang['ftp____root'] = 'FTP главна Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð·Ð° хака safemode'; - -/* License Options */ -$lang['license_o_'] = 'Ðищо не е избрано'; - -/* typography options */ -$lang['typography_o_0'] = 'без'; -$lang['typography_o_1'] = 'Ñ Ð¸Ð·ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ðµ на единични кавички'; -$lang['typography_o_2'] = 'включително единични кавички (не винаги работи)'; - -/* userewrite options */ -$lang['userewrite_o_0'] = 'без'; -$lang['userewrite_o_1'] = 'файлът .htaccess'; -$lang['userewrite_o_2'] = 'вътрешно от DokuWiki '; - -/* deaccent options */ -$lang['deaccent_o_0'] = 'изключено'; -$lang['deaccent_o_1'] = 'премахване на акценти'; -$lang['deaccent_o_2'] = 'транÑлитерациÑ'; - -/* gdlib options */ -$lang['gdlib_o_0'] = 'GD Lib не е доÑтъпна'; -$lang['gdlib_o_1'] = 'ВерÑÐ¸Ñ 1.x'; -$lang['gdlib_o_2'] = 'Ðвтоматично разпознаване'; - -/* rss_type options */ -$lang['rss_type_o_rss'] = 'RSS верÑÐ¸Ñ 0.91'; -$lang['rss_type_o_rss1'] = 'RSS верÑÐ¸Ñ 1.0'; -$lang['rss_type_o_rss2'] = 'RSS верÑÐ¸Ñ 2.0'; -$lang['rss_type_o_atom'] = 'Atom верÑÐ¸Ñ 0.3'; -$lang['rss_type_o_atom1'] = 'Atom верÑÐ¸Ñ 1.0'; - -/* rss_content options */ +$lang['securecookie'] = 'Да Ñе изпращат ли биÑквитките зададени чрез HTTPS, Ñамо чрез HTTPS от браузъра? Изключете опциÑта, когато SSL Ñе ползва Ñамо за впиÑване, а четенето е без SSL.'; +$lang['remote'] = 'Включване на ÑиÑтемата за отдалечен API доÑтъп. Това ще позволи на Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð° Ñе Ñвързват Ñ DokuWiki чрез XML-RPC или друг механизъм.'; +$lang['remoteuser'] = 'Ограничаване на Ð¾Ñ‚Ð´Ð°Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ API доÑтъп - активиране Ñамо за Ñледните групи и потребители (отделени ÑÑŠÑ Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ). Ðко оÑтавите полето празно вÑеки ще има доÑтъп доÑтъп.'; +$lang['usewordblock'] = 'Блокиране на SPAM въз оÑнова на на ÑпиÑък от думи'; +$lang['relnofollow'] = 'Ползване на rel="nofollow" за външни препратки'; +$lang['indexdelay'] = 'ЗабавÑне преди индекÑиране (Ñек)'; +$lang['mailguard'] = 'ПромÑна на адреÑите на ел. поща (във форма непозволÑваща пращането на SPAM)'; +$lang['iexssprotect'] = 'ПроверÑване на качените файлове за вероÑтен зловреден JavaScript и HTML код'; +$lang['usedraft'] = 'Ðвтоматично запазване на чернова по време на редактиране'; +$lang['htmlok'] = 'Разрешаване вграждането на HTML код'; +$lang['phpok'] = 'Разрешаване вграждането на PHP код'; +$lang['locktime'] = 'МакÑ. период за ÑъхранÑване на заключените файлове (Ñек)'; +$lang['cachetime'] = 'МакÑ. период за ÑъхранÑване на кеша (Ñек)'; +$lang['target____wiki'] = 'Прозорец за вътрешни препратки'; +$lang['target____interwiki'] = 'Прозорец за препратки към други Wiki Ñайтове'; +$lang['target____extern'] = 'Прозорец за външни препратки'; +$lang['target____media'] = 'Прозорец за медийни препратки'; +$lang['target____windows'] = 'Прозорец за препратки към Windows'; +$lang['mediarevisions'] = 'Да Ñе пазÑÑ‚ ли Ñтари верÑии на качените файлове (Mediarevisions)?'; +$lang['refcheck'] = 'Проверка за препратка към медиÑ, преди да бъде изтрита'; +$lang['gdlib'] = 'ВерÑÐ¸Ñ Ð½Ð° GD Lib'; +$lang['im_convert'] = 'Път до инÑтрумента за транÑÑ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð½Ð° ImageMagick'; +$lang['jpg_quality'] = 'КачеÑтво на JPG компреÑиÑта (0-100)'; +$lang['fetchsize'] = 'МакÑимален размер (байтове), който fetch.php може да ÑвалÑ'; +$lang['subscribers'] = 'Включване на поддръжката за абониране към Ñтраници'; +$lang['subscribe_time'] = 'Време Ñлед което абонаментните ÑпиÑъци и Ð¾Ð±Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñе изпращат (Ñек); ТрÑбва да е по-малко от времето определено в recent_days.'; +$lang['notify'] = 'Пращане на ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð·Ð° промени по Ñтраниците на Ñледната eл. поща'; +$lang['registernotify'] = 'Пращане на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° нови потребители на Ñледната ел. поща'; +$lang['mailfrom'] = 'Ел. поща, коÑто да Ñе ползва за автоматично изпращане на ел. пиÑма'; +$lang['mailprefix'] = 'ПредÑтавка за темите (поле subject) на автоматично изпращаните ел. пиÑма'; +$lang['htmlmail'] = 'Изпращане на по-добре изглеждащи, но по-големи по-размер HTML ел. пиÑма. Изключете ако желаете пиÑмата да Ñе изпращат като чиÑÑ‚ текÑÑ‚.'; +$lang['sitemap'] = 'Генериране на Google sitemap (дни)'; +$lang['rss_type'] = 'Тип на XML емиÑиÑта'; +$lang['rss_linkto'] = 'XML емиÑиÑта препраща към'; +$lang['rss_content'] = 'Какво да показват елементите на XML емиÑиÑта?'; +$lang['rss_update'] = 'Интервал на актуализиране на XML емиÑиÑта (Ñек)'; +$lang['rss_show_summary'] = 'Показване на обобщение в заглавието на XML емиÑиÑта'; +$lang['rss_media'] = 'Кой тип промени да Ñе включват в XML миÑиÑта?'; +$lang['updatecheck'] = 'ПроверÑване за за нови верÑии и Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð·Ð° ÑигурноÑтта? Ðеобходимо е Dokiwiki да може да Ñе Ñвързва ÑÑŠÑ update.dokuwiki.org за тази функционалноÑÑ‚.'; +$lang['userewrite'] = 'Ползване на nice URL адреÑи'; +$lang['useslash'] = 'Ползване на наклонена черта за разделител на именните проÑтранÑтва в URL'; +$lang['sepchar'] = 'Разделител между думите в имената на Ñтраници'; +$lang['canonical'] = 'Ползване на напълно уеднаквени URL адреÑи (абÑолютни адреÑи - http://server/path)'; +$lang['fnencode'] = 'Метод за кодиране на не-ASCII именуваните файлове.'; +$lang['autoplural'] = 'ПроверÑване за множеÑтвено чиÑло в препратките'; +$lang['compression'] = 'Метод за компреÑÐ¸Ñ Ð½Ð° attic файлове'; +$lang['gzip_output'] = 'Кодиране на Ñъдържанието Ñ gzip за xhtml'; +$lang['compress'] = 'Компактен CSS и javascript изглед'; +$lang['cssdatauri'] = 'МакÑимален размер, в байтове, до който изображениÑта поÑочени в .CSS файл ще бъдат вграждани в Ñтила (stylesheet), за да Ñе намали Ð±Ñ€Ð¾Ñ Ð½Ð° HTTP заÑвките. Техниката не работи за верÑиите на IE преди 8! Препоръчителни ÑтойноÑти: <code>400</code> до <code>600</code> байта. Въведете <code>0</code> за изключване.'; +$lang['send404'] = 'Пращане на "HTTP 404/Page Not Found" за неÑъщеÑтвуващи Ñтраници'; +$lang['broken_iua'] = 'Отметнете, ако ignore_user_abort функциÑта не работи. Може да попречи на Ñ‚ÑŠÑ€Ñенето в Ñтраниците. Знае Ñе, че комбинациÑта IIS+PHP/CGI е лоша. Вижте <a href="http://bugs.splitbrain.org/?do=details&task_id=852">Грешка 852</a> за повече информациÑ.'; +$lang['xsendfile'] = 'Ползване на Ð¥-Sendfile header, за да може уебÑървъра да дава Ñтатични файлове? ВашиÑÑ‚ уеб Ñървър Ñ‚Ñ€Ñбва да го поддържа.'; +$lang['renderer_xhtml'] = 'ПредÑтавÑне на оÑновните изходни данни (xhtml) от Wiki-то Ñ'; +$lang['renderer__core'] = '%s (Ñдрото на DokuWiki)'; +$lang['renderer__plugin'] = '%s (приÑтавка)'; +$lang['dnslookups'] = 'DokuWiki ще Ñ‚ÑŠÑ€Ñи имената на хоÑтовете, на отдалечени IP адреÑи, от които потребители редактират Ñтраници. ÐЕ е желателно да ползвате опциÑта ако имате бавен или неработещ DNS Ñървър.'; +$lang['proxy____host'] = 'Име на прокÑи Ñървър'; +$lang['proxy____port'] = 'Порт за прокÑито'; +$lang['proxy____user'] = 'Потребител за прокÑито'; +$lang['proxy____pass'] = 'Парола за прокÑито'; +$lang['proxy____ssl'] = 'Ползване на SSL при Ñвързване Ñ Ð¿Ñ€Ð¾ÐºÑито'; +$lang['proxy____except'] = 'РегулÑрен израз определÑщ за кои URL адреÑи да не Ñе ползва прокÑи Ñървър.'; +$lang['safemodehack'] = 'Ползване на хака safemode'; +$lang['ftp____host'] = 'FTP Ñървър за хака safemode'; +$lang['ftp____port'] = 'FTP порт за хака safemode'; +$lang['ftp____user'] = 'FTP потребител за хака safemode'; +$lang['ftp____pass'] = 'FTP парола за хака safemode'; +$lang['ftp____root'] = 'FTP главна Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð·Ð° хака safemode'; +$lang['license_o_'] = 'Ðищо не е избрано'; +$lang['typography_o_0'] = 'без'; +$lang['typography_o_1'] = 'Ñ Ð¸Ð·ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ðµ на единични кавички'; +$lang['typography_o_2'] = 'включително единични кавички (не винаги работи)'; +$lang['userewrite_o_0'] = 'без'; +$lang['userewrite_o_1'] = 'файлът .htaccess'; +$lang['userewrite_o_2'] = 'вътрешно от DokuWiki '; +$lang['deaccent_o_0'] = 'изключено'; +$lang['deaccent_o_1'] = 'премахване на акценти'; +$lang['deaccent_o_2'] = 'транÑлитерациÑ'; +$lang['gdlib_o_0'] = 'GD Lib не е доÑтъпна'; +$lang['gdlib_o_1'] = 'ВерÑÐ¸Ñ 1.x'; +$lang['gdlib_o_2'] = 'Ðвтоматично разпознаване'; +$lang['rss_type_o_rss'] = 'RSS верÑÐ¸Ñ 0.91'; +$lang['rss_type_o_rss1'] = 'RSS верÑÐ¸Ñ 1.0'; +$lang['rss_type_o_rss2'] = 'RSS верÑÐ¸Ñ 2.0'; +$lang['rss_type_o_atom'] = 'Atom верÑÐ¸Ñ 0.3'; +$lang['rss_type_o_atom1'] = 'Atom верÑÐ¸Ñ 1.0'; $lang['rss_content_o_abstract'] = 'Извлечение'; -$lang['rss_content_o_diff'] = 'Обединени разлики'; +$lang['rss_content_o_diff'] = 'Обединени разлики'; $lang['rss_content_o_htmldiff'] = 'Таблица Ñ Ñ€Ð°Ð·Ð»Ð¸ÐºÐ¸Ñ‚Ðµ в HTML формат'; -$lang['rss_content_o_html'] = 'ЦÑлото Ñъдържание на HTML Ñтраницата'; - -/* rss_linkto options */ +$lang['rss_content_o_html'] = 'ЦÑлото Ñъдържание на HTML Ñтраницата'; $lang['rss_linkto_o_diff'] = 'изглед на разликите'; $lang['rss_linkto_o_page'] = 'променената Ñтраница'; $lang['rss_linkto_o_rev'] = 'ÑпиÑък на верÑиите'; $lang['rss_linkto_o_current'] = 'текущата Ñтраница'; - -/* compression options */ -$lang['compression_o_0'] = 'без'; -$lang['compression_o_gz'] = 'gzip'; -$lang['compression_o_bz2'] = 'bz2'; - -/* xsendfile header */ -$lang['xsendfile_o_0'] = 'без'; -$lang['xsendfile_o_1'] = 'Специфичен lighttpd header (преди верÑÐ¸Ñ 1.5)'; -$lang['xsendfile_o_2'] = 'Стандартен X-Sendfile header'; -$lang['xsendfile_o_3'] = 'Специфичен Nginx X-Accel-Redirect header за пренаÑочване'; - -/* Display user info */ -$lang['showuseras_o_loginname'] = 'Име за впиÑване'; -$lang['showuseras_o_username'] = 'Пълно потребителÑко име'; -$lang['showuseras_o_email'] = 'Ел, поща (променени Ñпоред наÑтройките на mailguard)'; +$lang['compression_o_0'] = 'без'; +$lang['compression_o_gz'] = 'gzip'; +$lang['compression_o_bz2'] = 'bz2'; +$lang['xsendfile_o_0'] = 'без'; +$lang['xsendfile_o_1'] = 'Специфичен lighttpd header (преди верÑÐ¸Ñ 1.5)'; +$lang['xsendfile_o_2'] = 'Стандартен X-Sendfile header'; +$lang['xsendfile_o_3'] = 'Специфичен Nginx X-Accel-Redirect header за пренаÑочване'; +$lang['showuseras_o_loginname'] = 'Име за впиÑване'; +$lang['showuseras_o_username'] = 'Пълно потребителÑко име'; +$lang['showuseras_o_email'] = 'Ел, поща (променени Ñпоред наÑтройките на mailguard)'; $lang['showuseras_o_email_link'] = 'Ел. поща под формата на връзка тип mailto:'; - -/* useheading options */ -$lang['useheading_o_0'] = 'Ðикога'; +$lang['useheading_o_0'] = 'Ðикога'; $lang['useheading_o_navigation'] = 'Само за навигациÑ'; -$lang['useheading_o_content'] = 'Само за Ñъдържанието на Wiki-то'; -$lang['useheading_o_1'] = 'Винаги'; - -$lang['readdircache'] = 'МакÑимален период за ÑъхранÑване кеша на readdir (Ñек)'; +$lang['useheading_o_content'] = 'Само за Ñъдържанието на Wiki-то'; +$lang['useheading_o_1'] = 'Винаги'; +$lang['readdircache'] = 'МакÑимален период за ÑъхранÑване кеша на readdir (Ñек)'; diff --git a/lib/plugins/config/lang/ca-valencia/intro.txt b/lib/plugins/config/lang/ca-valencia/intro.txt index 40729e5fe9adb569d8a482e146b9f7ad488e9d24..6dd461db344b9519c5f47f9d1bee8c5aa353db59 100644 --- a/lib/plugins/config/lang/ca-valencia/intro.txt +++ b/lib/plugins/config/lang/ca-valencia/intro.txt @@ -7,4 +7,4 @@ Per a més informació al voltant d'este plúgin vaja a [[doku>config]]. Els ajusts mostrats en un fondo roig claret estan protegits i no els pot modificar en este plúgin. Els ajusts mostrats en un fondo blau tenen els valors predeterminats i els ajusts mostrats en un fondo blanc han segut modificats localment per ad esta instalació. Abdós ajusts, blaus i blancs, es poden modificar. -Recorde pulsar el botó **GUARDAR** ans d'anar-se'n d'esta pà gina o perdrà els canvis que haja fet. \ No newline at end of file +Recorde pulsar el botó **GUARDAR** ans d'anar-se'n d'esta pà gina o perdrà els canvis que haja fet. diff --git a/lib/plugins/config/lang/ca/lang.php b/lib/plugins/config/lang/ca/lang.php index a53a859a0a48f6b8874e6aa2bcd0f531a0b04c76..404d3ea709d22ee165dacec78c80f233466edfd1 100644 --- a/lib/plugins/config/lang/ca/lang.php +++ b/lib/plugins/config/lang/ca/lang.php @@ -1,12 +1,14 @@ <?php + /** - * Catalan language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Carles Bellver <carles.bellver@gmail.com> * @author carles.bellver@gmail.com * @author carles.bellver@cent.uji.es * @author Carles Bellver <carles.bellver@cent.uji.es> * @author daniel@6temes.cat + * @author controlonline.net <controlonline.net@gmail.com> */ $lang['menu'] = 'Parà metres de configuració'; $lang['error'] = 'Els parà metres no s\'han pogut actualitzar per causa d\'un valor incorrecte Reviseu els canvis i torneu a enviar-los.<br />Els valors incorrectes es ressaltaran amb un marc vermell.'; diff --git a/lib/plugins/config/lang/cs/intro.txt b/lib/plugins/config/lang/cs/intro.txt index 63381b84e66fb258b56f4b2beb3e356d2a0882fd..f98a62a6e9ae99563738cb0945d85874c3d22e04 100644 --- a/lib/plugins/config/lang/cs/intro.txt +++ b/lib/plugins/config/lang/cs/intro.txt @@ -5,4 +5,3 @@ Tuto stránku můžete použÃvat ke správÄ› nastavenà vaÅ¡Ã instalace DokuWi Položky se svÄ›tle Äerveným pozadÃm jsou chránÄ›né a nelze je upravovat tÃmto pluginem. Položky s modrým pozadÃm jsou výchozà hodnoty a položky s bÃlým pozadÃm byly nastaveny lokálnÄ› v této konkrétnà instalaci. Modré i bÃlé položky je možné upravovat. Než opustÃte tuto stránku, nezapomeňte stisknout tlaÄÃtko **Uložit**, jinak budou zmÄ›ny ztraceny. - diff --git a/lib/plugins/config/lang/cs/lang.php b/lib/plugins/config/lang/cs/lang.php index 289c458e5cb1ebe592b4a34be0b6b646d7db20ff..05d2d52f740872bd24f4394eac215d291737dd52 100644 --- a/lib/plugins/config/lang/cs/lang.php +++ b/lib/plugins/config/lang/cs/lang.php @@ -1,8 +1,8 @@ <?php + /** - * Czech language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Bohumir Zamecnik <bohumir@zamecnik.org> * @author Zbynek Krivka <zbynek.krivka@seznam.cz> * @author tomas@valenta.cz @@ -13,6 +13,8 @@ * @author Bohumir Zamecnik <bohumir.zamecnik@gmail.com> * @author Jakub A. TěšÃnský (j@kub.cz) * @author mkucera66@seznam.cz + * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> + * @author Turkislav <turkislav@blabla.com> */ $lang['menu'] = 'Správa nastavenÃ'; $lang['error'] = 'Nastavenà nebyla zmÄ›nÄ›na kvůli alespoň jedné neplatné položce, @@ -95,7 +97,9 @@ $lang['disableactions'] = 'Vypnout DokuWiki akce'; $lang['disableactions_check'] = 'Zkontrolovat'; $lang['disableactions_subscription'] = 'PÅ™ihlásit se/Odhlásit se ze seznamu pro odbÄ›r zmÄ›n'; $lang['disableactions_wikicode'] = 'ProhlÞet zdrojové kódy/Export wiki textu'; +$lang['disableactions_profile_delete'] = 'Smazat vlasnà úÄet'; $lang['disableactions_other'] = 'DalÅ¡Ã akce (oddÄ›lené Äárkou)'; +$lang['disableactions_rss'] = 'XMS syndikace (RSS)'; $lang['auth_security_timeout'] = 'ÄŒasový limit pro autentikaci (v sekundách)'; $lang['securecookie'] = 'Má prohlÞeÄ posÃlat cookies nastavené pÅ™es HTTPS opÄ›t jen pÅ™es HTTPS? VypnÄ›te tuto volbu, pokud chcete, aby bylo pomocà SSL zabezpeÄeno pouze pÅ™ihlaÅ¡ovánà do wiki, ale obsah budete prohlÞet nezabezpeÄenÄ›.'; $lang['remote'] = 'Zapne API systému, umožňujÃcà jiným aplikacÃm vzdálený pÅ™Ãstup k wiki pomoci XML-RPC nebo jiných mechanizmů.'; @@ -200,6 +204,7 @@ $lang['xsendfile_o_2'] = 'Standardnà hlaviÄka X-Sendfile'; $lang['xsendfile_o_3'] = 'Proprietárnà hlaviÄka Nginx X-Accel-Redirect'; $lang['showuseras_o_loginname'] = 'PÅ™ihlaÅ¡ovacà jméno'; $lang['showuseras_o_username'] = 'Celé jméno uživatele'; +$lang['showuseras_o_username_link'] = 'Celé uživatelské jméno jako odkaz mezi wiki'; $lang['showuseras_o_email'] = 'E-mailová adresa uživatele ("zamaskována" aktuálnÄ› nastavenou metodou)'; $lang['showuseras_o_email_link'] = 'E-mailová adresa uživatele jako mailto: odkaz'; $lang['useheading_o_0'] = 'Nikdy'; diff --git a/lib/plugins/config/lang/cy/intro.txt b/lib/plugins/config/lang/cy/intro.txt new file mode 100644 index 0000000000000000000000000000000000000000..02ccec5860d63e9b62e4313277e84a00b7622c49 --- /dev/null +++ b/lib/plugins/config/lang/cy/intro.txt @@ -0,0 +1,7 @@ +====== Rheolwr Ffurfwedd ====== + +Defnyddiwch y dudalen hon i reoli gosodiadau eich arsefydliad DokuWiki. Am gymorth ar osodiadau unigol ewch i [[doku>config]]. Am wybodaeth bellach ar yr ategyn hwn ewch i [[doku>plugin:config]]. + +Mae gosodiadau gyda chefndir coch golau wedi\'u hamddiffyn a \'sdim modd eu newid gyda\'r ategyn hwn. Mae gosodiaadau gyda chefndir glas yn dynodi gwerthoedd diofyn ac mae gosodiadau gyda chefndir gwyn wedi\'u gosod yn lleol ar gyfer yr arsefydliad penodol hwn. Mae modd newid gosodiadau gwyn a glas. + +Cofiwch bwyso y botwm **Cadw** cyn gadael y dudalen neu caiff eich newidiadau eu colli. diff --git a/lib/plugins/config/lang/cy/lang.php b/lib/plugins/config/lang/cy/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..54f3b4cebe52178ae48d8738a3273280f095fc40 --- /dev/null +++ b/lib/plugins/config/lang/cy/lang.php @@ -0,0 +1,262 @@ +<?php +/** + * welsh language file + * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * @author Christopher Smith <chris@jalakai.co.uk> + * @author Matthias Schulte <dokuwiki@lupo49.de> + * @author Alan Davies <ben.brynsadler@gmail.com> + */ + +// for admin plugins, the menu prompt to be displayed in the admin menu +// if set here, the plugin doesn't need to override the getMenuText() method +$lang['menu'] = 'Gosodiadau Ffurwedd'; + +$lang['error'] = 'Gosodiadau heb eu diweddaru oherwydd gwerth annilys, gwiriwch eich newidiadau ac ailgyflwyno. + <br />Caiff y gwerth(oedd) anghywir ei/eu dangos gydag ymyl coch.'; +$lang['updated'] = 'Diweddarwyd gosodiadau\'n llwyddiannus.'; +$lang['nochoice'] = '(dim dewisiadau eraill ar gael)'; +$lang['locked'] = '\'Sdim modd diweddaru\'r ffeil osodiadau, os ydy hyn yn anfwriadol, <br /> + sicrhewch fod enw\'r ffeil osodiadau a\'r hawliau lleol yn gywir.'; + +$lang['danger'] = 'Perygl: Gall newid yr opsiwn hwn wneud eich wici a\'r ddewislen ffurfwedd yn anghyraeddadwy.'; +$lang['warning'] = 'Rhybudd: Gall newid yr opsiwn hwn achosi ymddygiad anfwriadol.'; +$lang['security'] = 'Rhybudd Diogelwch: Gall newid yr opsiwn hwn achosi risg diogelwch.'; + +/* --- Config Setting Headers --- */ +$lang['_configuration_manager'] = 'Rheolwr Ffurfwedd'; //same as heading in intro.txt +$lang['_header_dokuwiki'] = 'DokuWiki'; +$lang['_header_plugin'] = 'Ategyn'; +$lang['_header_template'] = 'Templed'; +$lang['_header_undefined'] = 'Gosodiadau Amhenodol'; + +/* --- Config Setting Groups --- */ +$lang['_basic'] = 'Sylfaenol'; +$lang['_display'] = 'Dangos'; +$lang['_authentication'] = 'Dilysiad'; +$lang['_anti_spam'] = 'Gwrth-Sbam'; +$lang['_editing'] = 'Yn Golygu'; +$lang['_links'] = 'Dolenni'; +$lang['_media'] = 'Cyfrwng'; +$lang['_notifications'] = 'Hysbysiad'; +$lang['_syndication'] = 'Syndication (RSS)'; //angen newid +$lang['_advanced'] = 'Uwch'; +$lang['_network'] = 'Rhwydwaith'; + +/* --- Undefined Setting Messages --- */ +$lang['_msg_setting_undefined'] = 'Dim gosodiad metadata.'; +$lang['_msg_setting_no_class'] = 'Dim gosodiad dosbarth.'; +$lang['_msg_setting_no_default'] = 'Dim gwerth diofyn.'; + +/* -------------------- Config Options --------------------------- */ + +/* Basic Settings */ +$lang['title'] = 'Teitl y wici h.y. enw\'ch wici'; +$lang['start'] = 'Enw\'r dudalen i\'w defnyddio fel man cychwyn ar gyfer pob namespace'; //namespace +$lang['lang'] = 'Iaith y rhyngwyneb'; +$lang['template'] = 'Templed h.y. dyluniad y wici.'; +$lang['tagline'] = 'Taglinell (os yw\'r templed yn ei gynnal)'; +$lang['sidebar'] = 'Enw tudalen y bar ochr (os yw\'r templed yn ei gynnal), Mae maes gwag yn analluogi\'r bar ochr'; +$lang['license'] = 'O dan ba drwydded dylai\'ch cynnwys gael ei ryddhau?'; +$lang['savedir'] = 'Ffolder ar gyfer cadw data'; +$lang['basedir'] = 'Llwybr y gweinydd (ee. <code>/dokuwiki/</code>). Gadewch yn wag ar gyfer awtoddatgeliad.'; +$lang['baseurl'] = 'URL y gweinydd (ee. <code>http://www.yourserver.com</code>). Gadewch yn wag ar gyfer awtoddatgeliad.'; +$lang['cookiedir'] = 'Llwybr cwcis. Gadewch yn wag i ddefnyddio \'baseurl\'.'; +$lang['dmode'] = 'Modd creu ffolderi'; +$lang['fmode'] = 'Modd creu ffeiliau'; +$lang['allowdebug'] = 'Caniatáu dadfygio. <b>Analluogwch os nac oes angen hwn!</b>'; + +/* Display Settings */ +$lang['recent'] = 'Nifer y cofnodion y dudalen yn y newidiadau diweddar'; +$lang['recent_days'] = 'Sawl newid diweddar i\'w cadw (diwrnodau)'; +$lang['breadcrumbs'] = 'Nifer y briwsion "trywydd". Gosodwch i 0 i analluogi.'; +$lang['youarehere'] = 'Defnyddiwch briwsion hierarchaidd (byddwch chi yn debygol o angen analluogi\'r opsiwn uchod wedyn)'; +$lang['fullpath'] = 'Datgelu llwybr llawn y tudalennau yn y troedyn'; +$lang['typography'] = 'Gwnewch amnewidiadau argraffyddol'; +$lang['dformat'] = 'Fformat dyddiad (gweler swyddogaeth <a href="http://www.php.net/strftime">strftime</a> PHP)'; +$lang['signature'] = 'Yr hyn i\'w mewnosod gyda\'r botwm llofnod yn y golygydd'; +$lang['showuseras'] = 'Yr hyn i\'w harddangos wrth ddangos y defnyddiwr a wnaeth olygu\'r dudalen yn olaf'; +$lang['toptoclevel'] = 'Lefel uchaf ar gyfer tabl cynnwys'; +$lang['tocminheads'] = 'Isafswm y penawdau sy\'n penderfynu os ydy\'r tabl cynnwys yn cael ei adeiladu'; +$lang['maxtoclevel'] = 'Lefel uchaf ar gyfer y tabl cynnwys'; +$lang['maxseclevel'] = 'Lefel uchaf adran olygu'; +$lang['camelcase'] = 'Defnyddio CamelCase ar gyfer dolenni'; +$lang['deaccent'] = 'Sut i lanhau enwau tudalennau'; +$lang['useheading'] = 'Defnyddio\'r pennawd cyntaf ar gyfer enwau tudalennau'; +$lang['sneaky_index'] = 'Yn ddiofyn, bydd DokuWiki yn dangos pob namespace yn y map safle. Bydd galluogi yr opsiwn hwn yn cuddio\'r rheiny lle \'sdim hawliau darllen gan y defnyddiwr. Gall hwn achosi cuddio subnamespaces cyraeddadwy a fydd yn gallu peri\'r indecs i beidio â gweithio gyda gosodiadau ACL penodol.'; //namespace +$lang['hidepages'] = 'Cuddio tudalennau sy\'n cydweddu gyda\'r mynegiad rheolaidd o\'r chwiliad, y map safle ac indecsau awtomatig eraill'; + +/* Authentication Settings */ +$lang['useacl'] = 'Defnyddio rhestrau rheoli mynediad'; +$lang['autopasswd'] = 'Awtogeneradu cyfrineiriau'; +$lang['authtype'] = 'Ôl-brosesydd dilysu'; +$lang['passcrypt'] = 'Dull amgryptio cyfrineiriau'; +$lang['defaultgroup']= 'Grŵp diofyn, caiff pob defnyddiwr newydd ei osod yn y grŵp hwn'; +$lang['superuser'] = 'Uwchddefnyddiwr - grŵp, defnyddiwr neu restr gwahanwyd gan goma defnyddiwr1,@group1,defnyddiwr2 gyda mynediad llawn i bob tudalen beth bynnag y gosodiadau ACL'; +$lang['manager'] = 'Rheolwr - grŵp, defnyddiwr neu restr gwahanwyd gan goma defnyddiwr1,@group1,defnyddiwr2 gyda mynediad i swyddogaethau rheoli penodol'; +$lang['profileconfirm'] = 'Cadrnhau newidiadau proffil gyda chyfrinair'; +$lang['rememberme'] = 'Caniatáu cwcis mewngofnodi parhaol (cofio fi)'; +$lang['disableactions'] = 'Analluogi gweithredoedd DokuWiki'; +$lang['disableactions_check'] = 'Gwirio'; +$lang['disableactions_subscription'] = 'Tanysgrifio/Dad-tanysgrifio'; +$lang['disableactions_wikicode'] = 'Dangos ffynhonnell/Allforio Crai'; +$lang['disableactions_profile_delete'] = 'Dileu Cyfrif Eu Hunain'; +$lang['disableactions_other'] = 'Gweithredoedd eraill (gwahanu gan goma)'; +$lang['disableactions_rss'] = 'XML Syndication (RSS)'; //angen newid hwn +$lang['auth_security_timeout'] = 'Terfyn Amser Diogelwch Dilysiad (eiliadau)'; +$lang['securecookie'] = 'A ddylai cwcis sydd wedi cael eu gosod gan HTTPS gael eu hanfon trwy HTTPS yn unig gan y porwr? Analluogwch yr opsiwn hwn dim ond pan fydd yr unig mewngofnodiad i\'ch wici wedi\'i ddiogelu gydag SSL ond mae pori\'r wici yn cael ei wneud heb ddiogelu.'; +$lang['remote'] = 'Galluogi\'r system API pell. Mae hwn yn galluogi apps eraill i gael mynediad i\'r wici trwy XML-RPC neu fecanweithiau eraill.'; +$lang['remoteuser'] = 'Cyfyngu mynediad API pell i grwpiau neu ddefnydwyr wedi\'u gwahanu gan goma yma. Gadewch yn wag i roi mynediad i bawb.'; + +/* Anti-Spam Settings */ +$lang['usewordblock']= 'Blocio sbam wedi selio ar restr eiriau'; +$lang['relnofollow'] = 'Defnyddio rel="nofollow" ar ddolenni allanol'; +$lang['indexdelay'] = 'Oediad cyn indecsio (eil)'; +$lang['mailguard'] = 'Tywyllu cyfeiriadau ebost'; +$lang['iexssprotect']= 'Gwirio ffeiliau a lanlwythwyd am JavaScript neu god HTML sydd efallai\'n faleisis'; + +/* Editing Settings */ +$lang['usedraft'] = 'Cadw drafft yn awtomatig wrth olygu'; +$lang['htmlok'] = 'Caniatáu HTML wedi\'i fewnosod'; +$lang['phpok'] = 'Caniatáu PHP wedi\'i fewnosod'; +$lang['locktime'] = 'Oed mwyaf ar gyfer cloi ffeiliau (eil)'; +$lang['cachetime'] = 'Oed mwyaf ar gyfer y storfa (eil)'; + +/* Link settings */ +$lang['target____wiki'] = 'Ffenestr darged ar gyfer dolenni mewnol'; +$lang['target____interwiki'] = 'Ffenestr darged ar gyfer dolenni interwiki'; +$lang['target____extern'] = 'Ffenestr darged ar gyfer dolenni allanol'; +$lang['target____media'] = 'Ffenestr darged ar gyfer dolenni cyfrwng'; +$lang['target____windows'] = 'Ffenestr darged ar gyfer dolenni ffenestri'; + +/* Media Settings */ +$lang['mediarevisions'] = 'Galluogi Mediarevisions?'; +$lang['refcheck'] = 'Gwirio os ydy ffeil gyfrwng yn dal yn cael ei defnydio cyn ei dileu hi'; +$lang['gdlib'] = 'Fersiwn GD Lib'; +$lang['im_convert'] = 'Llwybr i declyn trosi ImageMagick'; +$lang['jpg_quality'] = 'Ansawdd cywasgu JPG (0-100)'; +$lang['fetchsize'] = 'Uchafswm maint (beit) gall fetch.php lawlwytho o URL allanol, ee. i storio ac ailfeintio delweddau allanol.'; + +/* Notification Settings */ +$lang['subscribers'] = 'Caniatáu defnyddwyr i danysgrifio i newidiadau tudalen gan ebost'; +$lang['subscribe_time'] = 'Yr amser cyn caiff rhestrau tanysgrifio a chrynoadau eu hanfon (eil); Dylai hwn fod yn llai na\'r amser wedi\'i gosod mewn recent_days.'; +$lang['notify'] = 'Wastad anfon hysbysiadau newidiadau i\'r cyfeiriad ebost hwn'; +$lang['registernotify'] = 'Wastad anfon gwybodaeth ar ddefnyddwyr newydd gofrestru i\'r cyfeiriad ebost hwn'; +$lang['mailfrom'] = 'Cyfeiriad anfon ebyst i\'w ddefnyddio ar gyfer pyst awtomatig'; +$lang['mailprefix'] = 'Rhagddodiad testun ebyst i\'w ddefnyddio ar gyfer pyst awtomatig. Gadewch yn wag i ddefnyddio teitl y wici'; +$lang['htmlmail'] = 'Anfonwch ebyst aml-ddarn HTML sydd yn edrych yn well, ond sy\'n fwy mewn maint. Analluogwch ar gyfer pyst testun plaen yn unig.'; + +/* Syndication Settings */ +$lang['sitemap'] = 'Generadu map safle Google mor aml â hyn (mewn diwrnodau). 0 i anallogi'; +$lang['rss_type'] = 'Math y ffrwd XML'; +$lang['rss_linkto'] = 'Ffrwd XML yn cysylltu â'; +$lang['rss_content'] = 'Beth i\'w ddangos mewn eitemau\'r ffrwd XML?'; +$lang['rss_update'] = 'Cyfnod diwedaru ffrwd XML (eil)'; +$lang['rss_show_summary'] = 'Dangos crynodeb mewn teitl y ffrwd XML'; +$lang['rss_media'] = 'Pa fath newidiadau a ddylai cael eu rhestru yn y ffrwd XML??'; + +/* Advanced Options */ +$lang['updatecheck'] = 'Gwirio am ddiweddariadau a rhybuddion diogelwch? Mae\'n rhaid i DokuWiki gysylltu ag update.dokuwiki.org ar gyfer y nodwedd hon.'; +$lang['userewrite'] = 'Defnyddio URLs pert'; +$lang['useslash'] = 'Defnyddio slaes fel gwahanydd namespace mewn URL'; +$lang['sepchar'] = 'Gwanahydd geiriau mewn enw tudalennau'; +$lang['canonical'] = 'Defnyddio URLs canonaidd llawn'; +$lang['fnencode'] = 'Dull amgodio enw ffeiliau \'non-ASCII\'.'; +$lang['autoplural'] = 'Gwirio am ffurfiau lluosog mewn dolenni'; +$lang['compression'] = 'Dull cywasgu ar gyfer ffeiliau llofft (hen adolygiadau)'; +$lang['gzip_output'] = 'Defnyddio gzip Content-Encoding ar gyfer xhtml'; //pwy a wyr +$lang['compress'] = 'Cywasgu allbwn CSS a javascript'; +$lang['cssdatauri'] = 'Uchafswm maint mewn beitiau ar gyfer delweddau i\'w cyfeirio atynt mewn ffeiliau CSS a ddylai cael eu mewnosod i\'r ddalen arddull i leihau gorbenion pennyn cais HTTP. \'Dyw\'r dechneg hon ddim yn gweithio mewn IE 7 ac is! Mae <code>400</code> i <code>600</code> beit yn werth da. Gosodwch i <code>0</code> i\'w analluogi.'; +$lang['send404'] = 'Anfon "HTTP 404/Page Not Found" ar gyfer tudalennau sy ddim yn bodoli'; +$lang['broken_iua'] = 'Ydy\'r swyddogaeth ignore_user_abort wedi torri ar eich system? Gall hwn achosi\'r indecs chwilio i beidio â gweithio. Rydym yn gwybod bod IIS+PHP/CGI wedi torri. Gweler <a href="http://bugs.dokuwiki.org/?do=details&task_id=852">Bug 852</a> am wybodaeth bellach.'; +$lang['xsendfile'] = 'Defnyddio\'r pennyn X-Sendfile i ganiatáu\'r gweinydd gwe i ddanfon ffeiliau statig? Mae\'n rhaid bod eich gweinydd gwe yn caniatáu hyn.'; +$lang['renderer_xhtml'] = 'Cyflwynydd i ddefnyddio ar gyfer prif allbwn (xhtml) y wici'; +$lang['renderer__core'] = '%s (craidd dokuwiki)'; +$lang['renderer__plugin'] = '%s (ategyn)'; + +/* Network Options */ +$lang['dnslookups'] = 'Bydd DokuWiki yn edrych i fyny enwau gwesteiwyr ar gyfer cyfeiriadau IP pell y defnyddwyr hynny sy\'n golygu tudalennau. Os oes gweinydd DNS sy\'n araf neu sy ddim yn gweithio \'da chi neu \'dych chi ddim am ddefnyddio\'r nodwedd hon, analluogwch yr opsiwn hwn.'; + +/* Proxy Options */ +$lang['proxy____host'] = 'Enw\'r gweinydd procsi'; +$lang['proxy____port'] = 'Porth procsi'; +$lang['proxy____user'] = 'Defnyddair procsi'; +$lang['proxy____pass'] = 'Cyfrinair procsi'; +$lang['proxy____ssl'] = 'Defnyddio SSL i gysylltu â\'r procsi'; +$lang['proxy____except'] = 'Mynegiad rheolaidd i gydweddu URL ar gyfer y procsi a ddylai cael eu hanwybyddu.'; + +/* Safemode Hack */ +$lang['safemodehack'] = 'Galluogi safemode hack'; +$lang['ftp____host'] = 'Gweinydd FTP safemode hack'; +$lang['ftp____port'] = 'Porth FTP safemode hack'; +$lang['ftp____user'] = 'Defnyddair FTP safemode hack'; +$lang['ftp____pass'] = 'Cyfrinair FTP safemode hack'; +$lang['ftp____root'] = 'Gwraiddffolder FTP safemode hack'; + +/* License Options */ +$lang['license_o_'] = 'Dim wedi\'i ddewis'; + +/* typography options */ +$lang['typography_o_0'] = 'dim'; +$lang['typography_o_1'] = 'eithrio dyfynodau sengl'; +$lang['typography_o_2'] = 'cynnwys dyfynodau sengl (efallai ddim yn gweithio pob tro)'; + +/* userewrite options */ +$lang['userewrite_o_0'] = 'dim'; +$lang['userewrite_o_1'] = '.htaccess'; +$lang['userewrite_o_2'] = 'DokuWiki mewnol'; + +/* deaccent options */ +$lang['deaccent_o_0'] = 'bant'; +$lang['deaccent_o_1'] = 'tynnu acenion'; +$lang['deaccent_o_2'] = 'rhufeinio'; + +/* gdlib options */ +$lang['gdlib_o_0'] = 'GD Lib ddim ar gael'; +$lang['gdlib_o_1'] = 'Fersiwn 1.x'; +$lang['gdlib_o_2'] = 'Awtoddatgeliad'; + +/* rss_type options */ +$lang['rss_type_o_rss'] = 'RSS 0.91'; +$lang['rss_type_o_rss1'] = 'RSS 1.0'; +$lang['rss_type_o_rss2'] = 'RSS 2.0'; +$lang['rss_type_o_atom'] = 'Atom 0.3'; +$lang['rss_type_o_atom1'] = 'Atom 1.0'; + +/* rss_content options */ +$lang['rss_content_o_abstract'] = 'Crynodeb'; +$lang['rss_content_o_diff'] = 'Gwahan. Unedig'; +$lang['rss_content_o_htmldiff'] = 'Gwahaniaethau ar ffurf tabl HTML'; +$lang['rss_content_o_html'] = 'Cynnwys tudalen HTML llawn'; + +/* rss_linkto options */ +$lang['rss_linkto_o_diff'] = 'golwg gwahaniaethau'; +$lang['rss_linkto_o_page'] = 'y dudalen a adolygwyd'; +$lang['rss_linkto_o_rev'] = 'rhestr adolygiadau'; +$lang['rss_linkto_o_current'] = 'y dudalen gyfredol'; + +/* compression options */ +$lang['compression_o_0'] = 'dim'; +$lang['compression_o_gz'] = 'gzip'; +$lang['compression_o_bz2'] = 'bz2'; + +/* xsendfile header */ +$lang['xsendfile_o_0'] = "peidio â defnyddio"; +$lang['xsendfile_o_1'] = 'Pennyn perchnogol lighttpd (cyn rhyddhad 1.5)'; +$lang['xsendfile_o_2'] = 'Pennyn safonol X-Sendfile'; +$lang['xsendfile_o_3'] = 'Pennyn perchnogol Nginx X-Accel-Redirect'; + +/* Display user info */ +$lang['showuseras_o_loginname'] = 'Enw mewngofnodi'; +$lang['showuseras_o_username'] = "Enw llawn y defnyddiwr"; +$lang['showuseras_o_username_link'] = "Enw llawn y defnyddiwr fel dolen defnyddiwr interwiki"; +$lang['showuseras_o_email'] = "Cyfeiriad e-bost y defnyddiwr (tywyllu yn ôl gosodiad mailguard)"; +$lang['showuseras_o_email_link'] = "Cyfeiriad e-bost y defnyddiwr fel dolen mailto:"; + +/* useheading options */ +$lang['useheading_o_0'] = 'Byth'; +$lang['useheading_o_navigation'] = 'Llywio yn Unig'; +$lang['useheading_o_content'] = 'Cynnwys Wici yn Unig'; +$lang['useheading_o_1'] = 'Wastad'; + +$lang['readdircache'] = 'Uchafswm amser ar gyfer storfa readdir (eil)'; diff --git a/lib/plugins/config/lang/da/intro.txt b/lib/plugins/config/lang/da/intro.txt index f20961b9881014b440374465bf6d7b57e7105eae..14cd3d601d43f9ff0007ed313f335af647b4193c 100644 --- a/lib/plugins/config/lang/da/intro.txt +++ b/lib/plugins/config/lang/da/intro.txt @@ -5,4 +5,3 @@ Brug denne side til at kontrollere indstillingerne for din Dokuwiki-opsætning. Indstillinger vist med lys rød baggrund er beskyttede og kan ikke ændres med denne udvidelse. Indstillinger vist med blÃ¥ baggrund er standardindstillinger og indstillinger vist med hvid baggrund er blevet sat lokalt denne konkrete opsætning. BÃ¥de blÃ¥ og hvide indstillinger kan ændres. Husk at trykke pÃ¥ **Gem**-knappen før du forlader siden, for at du ikke mister dine ændringer. - diff --git a/lib/plugins/config/lang/de-informal/intro.txt b/lib/plugins/config/lang/de-informal/intro.txt index df9845ebc0610e1d8508da0ec967f4e3289013dd..ce4625cffb079869ebeaf49a5b254078edbd8c8b 100644 --- a/lib/plugins/config/lang/de-informal/intro.txt +++ b/lib/plugins/config/lang/de-informal/intro.txt @@ -4,4 +4,4 @@ Benutze diese Seite zur Kontrolle der Einstellungen deiner DokuWiki-Installation Einstellungen die mit einem hellroten Hintergrund angezeigt werden, können mit dieser Erweiterung nicht verändert werden. Einstellungen mit einem blauen Hintergrund sind Standardwerte und Einstellungen mit einem weißen Hintergrund wurden lokal gesetzt für diese Installation. Sowohl blaue als auch weiße Einstellungen können angepasst werden. -Denke dran **Speichern** zu drücken bevor du die Seite verlässt, andernfalls werden deine Änderungen nicht übernommen. \ No newline at end of file +Denke dran **Speichern** zu drücken bevor du die Seite verlässt, andernfalls werden deine Änderungen nicht übernommen. diff --git a/lib/plugins/config/lang/de/intro.txt b/lib/plugins/config/lang/de/intro.txt index b79b5f871c05c9087754b4eea33a750b979b5d89..e743379ff53d50273612f00ee461aeaf246daf00 100644 --- a/lib/plugins/config/lang/de/intro.txt +++ b/lib/plugins/config/lang/de/intro.txt @@ -5,6 +5,3 @@ Dieses Plugin hilft Ihnen bei der Konfiguration von DokuWiki. Hilfe zu den einze Einstellungen mit einem hellroten Hintergrund sind gesichert und können nicht mit diesem Plugin verändert werden, Einstellungen mit hellblauem Hintergrund sind Voreinstellungen, weiß hinterlegte Felder zeigen lokal veränderte Werte an. Sowohl die blauen als auch die weißen Felder können verändert werden. Bitte vergessen Sie nicht **Speichern** zu drücken bevor Sie die Seite verlassen, andernfalls gehen Ihre Änderungen verloren. - - - diff --git a/lib/plugins/config/lang/de/lang.php b/lib/plugins/config/lang/de/lang.php index d398ebf843872a31f6c25d7511b6fd7a32eba662..f3ddefd9b5057a756bbd2758d8411dd4228b50f0 100644 --- a/lib/plugins/config/lang/de/lang.php +++ b/lib/plugins/config/lang/de/lang.php @@ -1,8 +1,8 @@ <?php + /** - * German language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Andreas Gohr <andi@splitbrain.org> * @author Michael Klier <chi@chimeric.de> * @author Leo Moll <leo@yeasoft.com> @@ -18,6 +18,7 @@ * @author Pierre Corell <info@joomla-praxis.de> * @author Matthias Schulte <dokuwiki@lupo49.de> * @author Mateng Schimmerlos <mateng@firemail.de> + * @author Anika Henke <anika@selfthinker.org> */ $lang['menu'] = 'Konfiguration'; $lang['error'] = 'Die Einstellungen wurden wegen einer fehlerhaften Eingabe nicht gespeichert.<br /> Bitte überprüfen sie die rot umrandeten Eingaben und speichern Sie erneut.'; @@ -46,28 +47,29 @@ $lang['_network'] = 'Netzwerk'; $lang['_msg_setting_undefined'] = 'Keine Konfigurationsmetadaten.'; $lang['_msg_setting_no_class'] = 'Keine Konfigurationsklasse.'; $lang['_msg_setting_no_default'] = 'Kein Standardwert.'; -$lang['fmode'] = 'Berechtigungen für neue Dateien'; -$lang['dmode'] = 'Berechtigungen für neue Verzeichnisse'; -$lang['lang'] = 'Sprache'; -$lang['basedir'] = 'Installationsverzeichnis'; -$lang['baseurl'] = 'Installationspfad (URL)'; -$lang['savedir'] = 'Speicherverzeichnis'; -$lang['cookiedir'] = 'Cookiepfad. Frei lassen, um den gleichen Pfad wie "baseurl" zu benutzen.'; -$lang['start'] = 'Startseitenname'; $lang['title'] = 'Titel des Wikis'; +$lang['start'] = 'Startseitenname'; +$lang['lang'] = 'Sprache'; $lang['template'] = 'Designvorlage (Template)'; $lang['tagline'] = 'Tag-Linie (nur, wenn vom Template unterstützt)'; $lang['sidebar'] = 'Name der Sidebar-Seite (nur, wenn vom Template unterstützt), ein leeres Feld deaktiviert die Sidebar'; $lang['license'] = 'Unter welcher Lizenz sollen Ihre Inhalte veröffentlicht werden?'; -$lang['fullpath'] = 'Den kompletten Dateipfad im Footer anzeigen'; +$lang['savedir'] = 'Speicherverzeichnis'; +$lang['basedir'] = 'Installationsverzeichnis'; +$lang['baseurl'] = 'Installationspfad (URL)'; +$lang['cookiedir'] = 'Cookiepfad. Frei lassen, um den gleichen Pfad wie "baseurl" zu benutzen.'; +$lang['dmode'] = 'Berechtigungen für neue Verzeichnisse'; +$lang['fmode'] = 'Berechtigungen für neue Dateien'; +$lang['allowdebug'] = 'Debug-Ausgaben erlauben <b>Abschalten wenn nicht benötigt!</b>'; $lang['recent'] = 'Anzahl der Einträge in der Änderungsliste'; +$lang['recent_days'] = 'Wie viele letzte Änderungen sollen einsehbar bleiben? (Tage)'; $lang['breadcrumbs'] = 'Anzahl der Einträge im "Krümelpfad"'; $lang['youarehere'] = 'Hierarchische Pfadnavigation verwenden'; +$lang['fullpath'] = 'Den kompletten Dateipfad im Footer anzeigen'; $lang['typography'] = 'Typographische Ersetzungen'; -$lang['htmlok'] = 'HTML erlauben'; -$lang['phpok'] = 'PHP erlauben'; $lang['dformat'] = 'Datumsformat (Siehe PHP <a href="http://www.php.net/strftime">strftime</a> Funktion)'; $lang['signature'] = 'Signatur'; +$lang['showuseras'] = 'Was angezeigt werden soll, wenn der Benutzer, der zuletzt eine Seite bearbeitet hat, angezeigt wird'; $lang['toptoclevel'] = 'Inhaltsverzeichnis bei dieser Ãœberschriftengröße beginnen'; $lang['tocminheads'] = 'Mindestanzahl der Ãœberschriften die entscheidet, ob ein Inhaltsverzeichnis erscheinen soll'; $lang['maxtoclevel'] = 'Maximale Ãœberschriftengröße für Inhaltsverzeichnis'; @@ -75,15 +77,8 @@ $lang['maxseclevel'] = 'Abschnitte bis zu dieser Stufe einzeln editier $lang['camelcase'] = 'CamelCase-Verlinkungen verwenden'; $lang['deaccent'] = 'Seitennamen bereinigen'; $lang['useheading'] = 'Erste Ãœberschrift als Seitennamen verwenden'; -$lang['refcheck'] = 'Auf Verwendung beim Löschen von Media-Dateien testen'; -$lang['allowdebug'] = 'Debug-Ausgaben erlauben <b>Abschalten wenn nicht benötigt!</b>'; -$lang['mediarevisions'] = 'Media-Revisionen (ältere Versionen) aktivieren?'; -$lang['usewordblock'] = 'Spam-Blocking benutzen'; -$lang['indexdelay'] = 'Zeit bevor Suchmaschinenindexierung erlaubt ist'; -$lang['relnofollow'] = 'rel="nofollow" verwenden'; -$lang['mailguard'] = 'E-Mail-Adressen schützen'; -$lang['iexssprotect'] = 'Hochgeladene Dateien auf bösartigen JavaScript- und HTML-Code untersuchen'; -$lang['showuseras'] = 'Was angezeigt werden soll, wenn der Benutzer, der zuletzt eine Seite bearbeitet hat, angezeigt wird'; +$lang['sneaky_index'] = 'Standardmäßig zeigt DokuWiki alle Namensräume in der Ãœbersicht. Wenn diese Option aktiviert wird, werden alle Namensräume, für die der Benutzer keine Lese-Rechte hat, nicht angezeigt. Dies kann unter Umständen dazu führen, das lesbare Unter-Namensräume nicht angezeigt werden und macht die Ãœbersicht evtl. unbrauchbar in Kombination mit bestimmten ACL Einstellungen.'; +$lang['hidepages'] = 'Seiten verstecken (Regulärer Ausdruck)'; $lang['useacl'] = 'Zugangskontrolle verwenden'; $lang['autopasswd'] = 'Passwort automatisch generieren'; $lang['authtype'] = 'Authentifizierungsmechanismus'; @@ -92,63 +87,70 @@ $lang['defaultgroup'] = 'Standardgruppe'; $lang['superuser'] = 'Administrator - Eine Gruppe oder Benutzer mit vollem Zugriff auf alle Seiten und Administrationswerkzeuge.'; $lang['manager'] = 'Manager - Eine Gruppe oder Benutzer mit Zugriff auf einige Administrationswerkzeuge.'; $lang['profileconfirm'] = 'Profiländerung nur nach Passwortbestätigung'; +$lang['rememberme'] = 'Permanente Login-Cookies erlauben (Auf diesem Computer eingeloggt bleiben)'; $lang['disableactions'] = 'DokuWiki-Aktionen deaktivieren'; $lang['disableactions_check'] = 'Check'; $lang['disableactions_subscription'] = 'Seiten-Abonnements'; $lang['disableactions_wikicode'] = 'Quelltext betrachten/exportieren'; $lang['disableactions_profile_delete'] = 'Eigenes Benutzerprofil löschen'; $lang['disableactions_other'] = 'Andere Aktionen (durch Komma getrennt)'; -$lang['sneaky_index'] = 'Standardmäßig zeigt DokuWiki alle Namensräume in der Ãœbersicht. Wenn diese Option aktiviert wird, werden alle Namensräume, für die der Benutzer keine Lese-Rechte hat, nicht angezeigt. Dies kann unter Umständen dazu führen, das lesbare Unter-Namensräume nicht angezeigt werden und macht die Ãœbersicht evtl. unbrauchbar in Kombination mit bestimmten ACL Einstellungen.'; +$lang['disableactions_rss'] = 'XML-Syndikation (RSS)'; $lang['auth_security_timeout'] = 'Authentifikations-Timeout (Sekunden)'; $lang['securecookie'] = 'Sollen Cookies, die via HTTPS gesetzt wurden nur per HTTPS versendet werden? Deaktivieren Sie diese Option, wenn nur der Login Ihres Wikis mit SSL gesichert ist, aber das Betrachten des Wikis ungesichert geschieht.'; $lang['remote'] = 'Aktiviert den externen API-Zugang. Diese Option erlaubt es externen Anwendungen von außen auf die XML-RPC-Schnittstelle oder anderweitigen Schnittstellen zu zugreifen.'; $lang['remoteuser'] = 'Zugriff auf die externen Schnittstellen durch kommaseparierte Angabe von Benutzern oder Gruppen einschränken. Ein leeres Feld erlaubt Zugriff für jeden.'; -$lang['updatecheck'] = 'Automatisch auf Updates und Sicherheitswarnungen prüfen? DokuWiki muss sich dafür mit update.dokuwiki.org verbinden.'; -$lang['userewrite'] = 'URL rewriting'; -$lang['useslash'] = 'Schrägstrich (/) als Namensraumtrenner in URLs verwenden'; +$lang['usewordblock'] = 'Spam-Blocking benutzen'; +$lang['relnofollow'] = 'rel="nofollow" verwenden'; +$lang['indexdelay'] = 'Zeit bevor Suchmaschinenindexierung erlaubt ist'; +$lang['mailguard'] = 'E-Mail-Adressen schützen'; +$lang['iexssprotect'] = 'Hochgeladene Dateien auf bösartigen JavaScript- und HTML-Code untersuchen'; $lang['usedraft'] = 'Während des Bearbeitens automatisch Zwischenentwürfe speichern'; -$lang['sepchar'] = 'Worttrenner für Seitennamen in URLs'; -$lang['canonical'] = 'Immer Links mit vollständigen URLs erzeugen'; -$lang['fnencode'] = 'Methode um nicht-ASCII Dateinamen zu kodieren.'; -$lang['autoplural'] = 'Bei Links automatisch nach vorhandenen Pluralformen suchen'; -$lang['compression'] = 'Komprimierungsmethode für alte Seitenrevisionen'; -$lang['cachetime'] = 'Maximale Cachespeicherung (Sekunden)'; +$lang['htmlok'] = 'HTML erlauben'; +$lang['phpok'] = 'PHP erlauben'; $lang['locktime'] = 'Maximales Alter für Seitensperren (Sekunden)'; +$lang['cachetime'] = 'Maximale Cachespeicherung (Sekunden)'; +$lang['target____wiki'] = 'Zielfenster für interne Links (target Attribut)'; +$lang['target____interwiki'] = 'Zielfenster für InterWiki-Links (target Attribut)'; +$lang['target____extern'] = 'Zielfenster für Externe Links (target Attribut)'; +$lang['target____media'] = 'Zielfenster für (Bild-)Dateien (target Attribut)'; +$lang['target____windows'] = 'Zielfenster für Windows Freigaben (target Attribut)'; +$lang['mediarevisions'] = 'Media-Revisionen (ältere Versionen) aktivieren?'; +$lang['refcheck'] = 'Auf Verwendung beim Löschen von Media-Dateien testen'; +$lang['gdlib'] = 'GD Lib Version'; +$lang['im_convert'] = 'Pfad zum ImageMagicks-Konvertierwerkzeug'; +$lang['jpg_quality'] = 'JPEG Kompressionsqualität (0-100)'; $lang['fetchsize'] = 'Maximale Größe (in Bytes), die fetch.php von extern herunterladen darf'; +$lang['subscribers'] = 'E-Mail-Abos zulassen'; +$lang['subscribe_time'] = 'Zeit nach der Zusammenfassungs- und Änderungslisten-E-Mails verschickt werden; Dieser Wert sollte kleiner als die in recent_days konfigurierte Zeit sein.'; $lang['notify'] = 'Änderungsmitteilungen an diese E-Mail-Adresse versenden'; $lang['registernotify'] = 'Information über neu registrierte Benutzer an diese E-Mail-Adresse senden'; $lang['mailfrom'] = 'Absender-E-Mail-Adresse für automatische Mails'; $lang['mailprefix'] = 'Präfix für E-Mail-Betreff beim automatischen Versand von Benachrichtigungen'; $lang['htmlmail'] = 'Versendet optisch angenehmere, aber größere E-Mails im HTML-Format (multipart). Deaktivieren, um Text-Mails zu versenden.'; +$lang['sitemap'] = 'Google Sitemap erzeugen (Tage)'; +$lang['rss_type'] = 'XML-Feed-Format'; +$lang['rss_linkto'] = 'XML-Feed verlinken auf'; +$lang['rss_content'] = 'Welche Inhalte sollen im XML-Feed dargestellt werden?'; +$lang['rss_update'] = 'XML-Feed Aktualisierungsintervall (Sekunden)'; +$lang['rss_show_summary'] = 'Bearbeitungs-Zusammenfassung im XML-Feed anzeigen'; +$lang['rss_media'] = 'Welche Änderungen sollen im XML-Feed angezeigt werden?'; +$lang['updatecheck'] = 'Automatisch auf Updates und Sicherheitswarnungen prüfen? DokuWiki muss sich dafür mit update.dokuwiki.org verbinden.'; +$lang['userewrite'] = 'URL rewriting'; +$lang['useslash'] = 'Schrägstrich (/) als Namensraumtrenner in URLs verwenden'; +$lang['sepchar'] = 'Worttrenner für Seitennamen in URLs'; +$lang['canonical'] = 'Immer Links mit vollständigen URLs erzeugen'; +$lang['fnencode'] = 'Methode um nicht-ASCII Dateinamen zu kodieren.'; +$lang['autoplural'] = 'Bei Links automatisch nach vorhandenen Pluralformen suchen'; +$lang['compression'] = 'Komprimierungsmethode für alte Seitenrevisionen'; $lang['gzip_output'] = 'Seiten mit gzip komprimiert ausliefern'; -$lang['gdlib'] = 'GD Lib Version'; -$lang['im_convert'] = 'Pfad zum ImageMagicks-Konvertierwerkzeug'; -$lang['jpg_quality'] = 'JPEG Kompressionsqualität (0-100)'; -$lang['subscribers'] = 'E-Mail-Abos zulassen'; -$lang['subscribe_time'] = 'Zeit nach der Zusammenfassungs- und Änderungslisten-E-Mails verschickt werden; Dieser Wert sollte kleiner als die in recent_days konfigurierte Zeit sein.'; $lang['compress'] = 'JavaScript und Stylesheets komprimieren'; $lang['cssdatauri'] = 'Größe in Bytes, bis zu der Bilder in CSS-Dateien referenziert werden können, um HTTP-Anfragen zu minimieren. Diese Technik funktioniert nicht im IE 7 und älter! Empfohlene Einstellung: <code>400</code> to <code>600</code> Bytes. Setzen Sie die Einstellung auf <code>0</code> um die Funktion zu deaktivieren.'; -$lang['hidepages'] = 'Seiten verstecken (Regulärer Ausdruck)'; $lang['send404'] = 'Bei nicht vorhandenen Seiten mit 404 Fehlercode antworten'; -$lang['sitemap'] = 'Google Sitemap erzeugen (Tage)'; $lang['broken_iua'] = 'Falls die Funktion ignore_user_abort auf Ihrem System nicht funktioniert, könnte der Such-Index nicht funktionieren. IIS+PHP/CGI ist bekannt dafür. Siehe auch <a href="http://bugs.splitbrain.org/?do=details&task_id=852">Bug 852</a>.'; $lang['xsendfile'] = 'Den X-Sendfile-Header nutzen, um Dateien direkt vom Webserver ausliefern zu lassen? Ihr Webserver muss dies unterstützen!'; $lang['renderer_xhtml'] = 'Standard-Renderer für die normale (XHTML) Wiki-Ausgabe.'; $lang['renderer__core'] = '%s (DokuWiki Kern)'; $lang['renderer__plugin'] = '%s (Plugin)'; -$lang['rememberme'] = 'Permanente Login-Cookies erlauben (Auf diesem Computer eingeloggt bleiben)'; -$lang['rss_type'] = 'XML-Feed-Format'; -$lang['rss_linkto'] = 'XML-Feed verlinken auf'; -$lang['rss_content'] = 'Welche Inhalte sollen im XML-Feed dargestellt werden?'; -$lang['rss_update'] = 'XML-Feed Aktualisierungsintervall (Sekunden)'; -$lang['recent_days'] = 'Wie viele letzte Änderungen sollen einsehbar bleiben? (Tage)'; -$lang['rss_show_summary'] = 'Bearbeitungs-Zusammenfassung im XML-Feed anzeigen'; -$lang['rss_media'] = 'Welche Änderungen sollen im XML-Feed angezeigt werden?'; -$lang['target____wiki'] = 'Zielfenster für interne Links (target Attribut)'; -$lang['target____interwiki'] = 'Zielfenster für InterWiki-Links (target Attribut)'; -$lang['target____extern'] = 'Zielfenster für Externe Links (target Attribut)'; -$lang['target____media'] = 'Zielfenster für (Bild-)Dateien (target Attribut)'; -$lang['target____windows'] = 'Zielfenster für Windows Freigaben (target Attribut)'; $lang['dnslookups'] = 'DokuWiki löst die IP-Adressen von Benutzern zu deren Hostnamen auf. Wenn du einen langsamen, unbrauchbaren DNS-Server verwendest oder die Funktion nicht benötigst, dann sollte diese Option deaktiviert sein.'; $lang['proxy____host'] = 'Proxy-Server'; $lang['proxy____port'] = 'Proxy-Port'; @@ -197,6 +199,7 @@ $lang['xsendfile_o_2'] = 'Standard X-Sendfile-Header'; $lang['xsendfile_o_3'] = 'Proprietärer Nginx X-Accel-Redirect-Header'; $lang['showuseras_o_loginname'] = 'Login-Name'; $lang['showuseras_o_username'] = 'Vollständiger Name des Benutzers'; +$lang['showuseras_o_username_link'] = 'Kompletter Name des Benutzers als Interwiki-Link'; $lang['showuseras_o_email'] = 'E-Mail-Adresse des Benutzers (je nach Mailguard-Einstellung verschleiert)'; $lang['showuseras_o_email_link'] = 'E-Mail-Adresse des Benutzers als mailto:-Link'; $lang['useheading_o_0'] = 'Nie'; diff --git a/lib/plugins/config/lang/en/intro.txt b/lib/plugins/config/lang/en/intro.txt index 7cf46cee3c23e25a9625c757846765fe11aa2818..01089871c3a15e34dbd1d2d41d21639f60d140bf 100644 --- a/lib/plugins/config/lang/en/intro.txt +++ b/lib/plugins/config/lang/en/intro.txt @@ -5,5 +5,3 @@ Use this page to control the settings of your DokuWiki installation. For help o Settings shown with a light red background are protected and can not be altered with this plugin. Settings shown with a blue background are the default values and settings shown with a white background have been set locally for this particular installation. Both blue and white settings can be altered. Remember to press the **Save** button before leaving this page otherwise your changes will be lost. - - diff --git a/lib/plugins/config/lang/eo/lang.php b/lib/plugins/config/lang/eo/lang.php index 440d771dcca39ae24f09b706ed79ffe165ed0d4c..566da0d2d052e67d7589490125fa4cf834d36afd 100644 --- a/lib/plugins/config/lang/eo/lang.php +++ b/lib/plugins/config/lang/eo/lang.php @@ -137,7 +137,7 @@ $lang['compress'] = 'Kompaktigi CSS-ajn kaj ĵavaskriptajn elmetojn $lang['cssdatauri'] = 'Grandeco en bitokoj, Äis kiom en CSS-dosieroj referencitaj bildoj enmetiÄu rekte en la stilfolion por malgrandigi vanan HTTP-kapan trafikon. Tiu tekniko ne funkcias en IE 7 aÅ pli frua! <code>400</code> Äis <code>600</code> bitokoj estas bona grandeco. Indiku <code>0</code> por malebligi enmeton.'; $lang['send404'] = 'Sendi la mesaÄon "HTTP 404/PaÄo ne trovita" por ne ekzistantaj paÄoj'; -$lang['broken_iua'] = 'Ĉu la funkcio "ignore_user_abort" difektas en via sistemo? Tio povus misfunkciigi la serĉindekson. IIS+PHP/CGI estas konata kiel fuÅaĵo. Vidu <a href="http://bugs.splitbrain.org/?do=details&task_id=852&">Cimon 852</a> por pli da informoj.'; +$lang['broken_iua'] = 'Ĉu la funkcio "ignore_user_abort" difektas en via sistemo? Tio povus misfunkciigi la serĉindekson. IIS+PHP/CGI estas konata kiel fuÅaĵo. Vidu <a href="http://bugs.splitbrain.org/?do=details&task_id=852">Cimon 852</a> por pli da informoj.'; $lang['xsendfile'] = 'Ĉu uzi la kaplinion X-Sendfile por ebligi al la retservilo liveri fiksajn dosierojn? Via retservilo subtenu tion.'; $lang['renderer_xhtml'] = 'Prezentilo por la ĉefa vikia rezulto (xhtml)'; $lang['renderer__core'] = '%s (DokuWiki-a kerno)'; diff --git a/lib/plugins/config/lang/es/lang.php b/lib/plugins/config/lang/es/lang.php index 847b326a8a241453c9fca9e42b59591ba54eecef..74946bde868c7374054451e4ba64d0f51dcdfb30 100644 --- a/lib/plugins/config/lang/es/lang.php +++ b/lib/plugins/config/lang/es/lang.php @@ -1,8 +1,8 @@ <?php + /** - * spanish language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Miguel Pagano <miguel.pagano@gmail.com> * @author Oscar M. Lage <r0sk10@gmail.com> * @author Gabriel Castillo <gch@pumas.ii.unam.mx> @@ -24,6 +24,7 @@ * @author Ruben Figols <ruben.figols@gmail.com> * @author Gerardo Zamudio <gerardo@gerardozamudio.net> * @author Mercè López mercelz@gmail.com + * @author Domingo Redal <docxml@gmail.com> */ $lang['menu'] = 'Parámetros de configuración'; $lang['error'] = 'Los parámetros no han sido actualizados a causa de un valor inválido, por favor revise los cambios y re-envÃe el formulario. <br /> Los valores incorrectos se mostrarán con un marco rojo alrededor.'; @@ -97,7 +98,9 @@ $lang['disableactions'] = 'Deshabilitar acciones DokuWiki'; $lang['disableactions_check'] = 'Controlar'; $lang['disableactions_subscription'] = 'Suscribirse/Cancelar suscripción'; $lang['disableactions_wikicode'] = 'Ver la fuente/Exportar en formato raw'; +$lang['disableactions_profile_delete'] = 'Borrar tu propia cuenta'; $lang['disableactions_other'] = 'Otras acciones (separadas por coma)'; +$lang['disableactions_rss'] = 'Sindicación XML (RSS)'; $lang['auth_security_timeout'] = 'Tiempo de Autenticación (en segundos), por motivos de seguridad'; $lang['securecookie'] = 'Las cookies establecidas por HTTPS, ¿el naveagdor solo puede enviarlas por HTTPS? Inhabilite esta opción cuando solo se asegure con SSL la entrada, pero no la navegación de su wiki.'; $lang['remote'] = 'Activar el sistema API remoto. Esto permite a otras aplicaciones acceder al wiki a traves de XML-RPC u otros mecanismos.'; @@ -202,6 +205,7 @@ $lang['xsendfile_o_2'] = 'Encabezado X-Sendfile estándar'; $lang['xsendfile_o_3'] = 'Encabezado propietario Nginx X-Accel-Redirect'; $lang['showuseras_o_loginname'] = 'Nombre de entrada'; $lang['showuseras_o_username'] = 'Nombre completo del usuario'; +$lang['showuseras_o_username_link'] = 'Nombre completo del usuario como enlace de usuario interwiki'; $lang['showuseras_o_email'] = 'Dirección de correo electrónico del usuario (ofuscada según la configuración de "mailguard")'; $lang['showuseras_o_email_link'] = 'Dirección de correo de usuario como enlace de envÃo de correo'; $lang['useheading_o_0'] = 'Nunca'; diff --git a/lib/plugins/config/lang/fa/intro.txt b/lib/plugins/config/lang/fa/intro.txt index f5b6ba235d181fa624043c513ff6f44c6a5b4106..31bbaea98daa731c4bc89b30ba6172e41e25bcb0 100644 --- a/lib/plugins/config/lang/fa/intro.txt +++ b/lib/plugins/config/lang/fa/intro.txt @@ -5,4 +5,4 @@ تنظیماتی Ú©Ù‡ با پیش‌زمینه‌ی قرمز مشخص شده‌اند، غیرقابل تغییر می‌باشند. تنظیماتی Ú©Ù‡ به پیش‌زمینه‌ی آبی مشخص شده‌اند نیز Øامل مقادیر پیش‌Ùرض می‌باشند Ùˆ تنظیماتی Ú©Ù‡ پیش‌زمینه‌ی سÙید دارند به طور Ù…ØÙ„ÛŒ برای این سیستم تنظیم شده‌اند. تمامی مقادیر آبی Ùˆ سÙید قابلیت تغییر دارند. -به یاد داشته باشید Ú©Ù‡ قبل از ترک صÙØه، دکمه‌ی **ذخیره** را بÙشارید، در غیر این صورت تنظیمات شما از بین خواهد رÙت. \ No newline at end of file +به یاد داشته باشید Ú©Ù‡ قبل از ترک صÙØه، دکمه‌ی **ذخیره** را بÙشارید، در غیر این صورت تنظیمات شما از بین خواهد رÙت. diff --git a/lib/plugins/config/lang/fa/lang.php b/lib/plugins/config/lang/fa/lang.php index dd97f716e7e0ac3afd96b2b7ea80a465233c8298..00b60f062b9e7b6e5d018576d8c3cfb2ffc9dca4 100644 --- a/lib/plugins/config/lang/fa/lang.php +++ b/lib/plugins/config/lang/fa/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Persian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author behrad eslamifar <behrad_es@yahoo.com) * @author Mohsen Firoozmandan <info@mambolearn.com> * @author omidmr@gmail.com @@ -9,6 +10,8 @@ * @author Mohammad Reza Shoaei <shoaei@gmail.com> * @author Milad DZand <M.DastanZand@gmail.com> * @author AmirH Hassaneini <mytechmix@gmail.com> + * @author Mohmmad Razavi <sepent@gmail.com> + * @author Masoud Sadrnezhaad <masoud@sadrnezhaad.ir> */ $lang['menu'] = 'تنظیمات پیکر‌بندی'; $lang['error'] = 'به دلیل ایراد در مقادیر وارد شده، تنظیمات اعمال نشد، خواهشمندیم تغییرات را مجددن کنترل نمایید Ùˆ دوباره ارسال کنید.<br/> مقادیر مشکل‌دار با کادر قرمز مشخص شده‌اند.'; @@ -82,7 +85,9 @@ $lang['disableactions'] = 'غیرÙعال کردن Ùعالیت‌های $lang['disableactions_check'] = 'بررسی'; $lang['disableactions_subscription'] = 'عضویت/عدم عضویت'; $lang['disableactions_wikicode'] = 'نمایش سورس/برون‌بری خام'; +$lang['disableactions_profile_delete'] = 'ØØ°Ù Øساب کاربری خود.'; $lang['disableactions_other'] = 'Ùعالیت‌های دیگر (با ویرگول انگلیسی «,» از هم جدا کنید)'; +$lang['disableactions_rss'] = 'خبرخوان (RSS)'; $lang['auth_security_timeout'] = 'زمان انقضای معتبرسازی به ثانیه'; $lang['securecookie'] = 'آیا کوکی‌ها باید با قرارداد HTTPS ارسال شوند؟ این گزینه را زمانی Ú©Ù‡ Ùقط صÙØه‌ی ورود ویکی‌تان با SSL امن شده است، اما ویکی را ناامن مرور می‌کنید، غیرÙعال نمایید.'; $lang['remote'] = 'سیستم API راه دور را Ùعال کنید . این به سایر کاربردها اجازه Ù…ÛŒ دهد Ú©Ù‡ به ویکی از طریق XML-RPC یا سایر مکانیزم ها دسترسی داشته باشند.'; @@ -188,6 +193,7 @@ $lang['xsendfile_o_2'] = 'هدر استاندارد X-Sendfile'; $lang['xsendfile_o_3'] = 'هدر اختصاصی X-Accel-Redirect در وب سرور Nginx'; $lang['showuseras_o_loginname'] = 'نام کاربری'; $lang['showuseras_o_username'] = 'نام کامل کاربران'; +$lang['showuseras_o_username_link'] = 'نام کامل کاربر به عنوان لینک داخلی ویکی'; $lang['showuseras_o_email'] = 'آدرس ایمیل کاربران (با تنظیمات «نگهبان ایمیل» مبهم می‌شود)'; $lang['showuseras_o_email_link'] = 'نمایش ایمیل کاربران با اÙزودن mailto'; $lang['useheading_o_0'] = 'هرگز'; diff --git a/lib/plugins/config/lang/fi/intro.txt b/lib/plugins/config/lang/fi/intro.txt index f6eedb50c015238b3cf173405c0e22631eb47db8..2765a18afe19ef025a0ff5258408df190a5382a3 100644 --- a/lib/plugins/config/lang/fi/intro.txt +++ b/lib/plugins/config/lang/fi/intro.txt @@ -4,4 +4,4 @@ Käytä tätä sivua hallitaksesi DokuWikisi asetuksia. Apua yksittäisiin asetu Asetukset, jotka näkyvät vaaleanpunaisella taustalla ovat suojattuja, eikä niitä voi muutta tämän liitännäisen avulla. Asetukset, jotka näkyvät sinisellä taustalla ovat oletusasetuksia. Asetukset valkoisella taustalla ovat asetettu paikallisesti tätä asennusta varten. Sekä sinisiä että valkoisia asetuksia voi muokata. -Muista painaa **TALLENNA**-nappia ennen kuin poistut sivulta. Muuten muutoksesi häviävät. \ No newline at end of file +Muista painaa **TALLENNA**-nappia ennen kuin poistut sivulta. Muuten muutoksesi häviävät. diff --git a/lib/plugins/config/lang/fr/intro.txt b/lib/plugins/config/lang/fr/intro.txt index 3d71f618488f12de0f93a1d284ce05a365dfab41..afc5805d8a9e9bc3420ee6bd62cc60c6e5278fe2 100644 --- a/lib/plugins/config/lang/fr/intro.txt +++ b/lib/plugins/config/lang/fr/intro.txt @@ -5,5 +5,3 @@ Utilisez cette page pour contrôler les paramètres de votre installation de Dok Les paramètres affichés sur un fond rouge sont protégés et ne peuvent être modifiés avec cette extension. Les paramètres affichés sur un fond bleu sont les valeurs par défaut et les valeurs spécifiquement définies pour votre installation sont affichées sur un fond blanc. Seuls les paramètres sur fond bleu ou blanc peuvent être modifiés. N'oubliez pas d'utiliser le bouton **ENREGISTRER** avant de quitter cette page, sinon vos modifications ne seront pas prises en compte ! - - diff --git a/lib/plugins/config/lang/fr/lang.php b/lib/plugins/config/lang/fr/lang.php index e92144b22fe7114a8fd11f8deff0b3b6d9666b4f..88f78f4252e9aac21a7bfa4a491d7a9b2e5f3d7d 100644 --- a/lib/plugins/config/lang/fr/lang.php +++ b/lib/plugins/config/lang/fr/lang.php @@ -1,26 +1,30 @@ <?php + /** - * french language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Guy Brand <gb@unistra.fr> * @author Delassaux Julien <julien@delassaux.fr> * @author Maurice A. LeBlanc <leblancma@cooptel.qc.ca> - * @author stephane.gully@gmail.com + * @author <stephane.gully@gmail.com> * @author Guillaume Turri <guillaume.turri@gmail.com> * @author Erik Pedersen <erik.pedersen@shaw.ca> * @author olivier duperray <duperray.olivier@laposte.net> * @author Vincent Feltz <psycho@feltzv.fr> * @author Philippe Bajoit <philippe.bajoit@gmail.com> * @author Florian Gaub <floriang@floriang.net> - * @author Samuel Dorsaz samuel.dorsaz@novelion.net + * @author Samuel Dorsaz <samuel.dorsaz@novelion.net> * @author Johan Guilbaud <guilbaud.johan@gmail.com> - * @author schplurtz@laposte.net - * @author skimpax@gmail.com + * @author <skimpax@gmail.com> * @author Yannick Aure <yannick.aure@gmail.com> * @author Olivier DUVAL <zorky00@gmail.com> * @author Anael Mobilia <contrib@anael.eu> * @author Bruno Veilleux <bruno.vey@gmail.com> + * @author Carbain Frédéric <fcarbain@yahoo.fr> + * @author Nicolas Friedli <nicolas@theologique.ch> + * @author Floriang <antispam@floriang.eu> + * @author Schplurtz le Déboulonné <Schplurtz@laposte.net> + * @author Simon DELAGE <simon.geekitude@gmail.com> */ $lang['menu'] = 'Paramètres de configuration'; $lang['error'] = 'Paramètres non modifiés en raison d\'une valeur invalide, vérifiez vos réglages puis réessayez. <br />Les valeurs erronées sont entourées d\'une bordure rouge.'; @@ -33,7 +37,7 @@ $lang['security'] = 'Avertissement de sécurité : modifier cette o $lang['_configuration_manager'] = 'Gestionnaire de configuration'; $lang['_header_dokuwiki'] = 'Paramètres de DokuWiki'; $lang['_header_plugin'] = 'Paramètres des extensions'; -$lang['_header_template'] = 'Paramètres des modèles'; +$lang['_header_template'] = 'Paramètres du modèle'; $lang['_header_undefined'] = 'Paramètres indéfinis'; $lang['_basic'] = 'Paramètres de base'; $lang['_display'] = 'Paramètres d\'affichage'; @@ -94,7 +98,9 @@ $lang['disableactions'] = 'Actions à désactiver dans DokuWiki'; $lang['disableactions_check'] = 'Vérifier'; $lang['disableactions_subscription'] = 'Abonnement aux pages'; $lang['disableactions_wikicode'] = 'Afficher le texte source'; +$lang['disableactions_profile_delete'] = 'Supprimer votre propre compte'; $lang['disableactions_other'] = 'Autres actions (séparées par des virgules)'; +$lang['disableactions_rss'] = 'Syndication XML (RSS)'; $lang['auth_security_timeout'] = 'Délai d\'expiration de sécurité (secondes)'; $lang['securecookie'] = 'Les cookies définis via HTTPS doivent-ils n\'être envoyé par le navigateur que via HTTPS ? Désactivez cette option lorsque seule la connexion à votre wiki est sécurisée avec SSL et que la navigation sur le wiki est effectuée de manière non sécurisée.'; $lang['remote'] = 'Active l\'API système distante. Ceci permet à d\'autres applications d\'accéder au wiki via XML-RPC ou d\'autres mécanismes.'; @@ -200,6 +206,7 @@ $lang['xsendfile_o_2'] = 'Entête standard X-Sendfile'; $lang['xsendfile_o_3'] = 'En-tête propriétaire Nginx X-Accel-Redirect'; $lang['showuseras_o_loginname'] = 'Identifiant de l\'utilisateur'; $lang['showuseras_o_username'] = 'Nom de l\'utilisateur'; +$lang['showuseras_o_username_link'] = 'Nom complet de l\'utilisateur en tant que lien interwiki'; $lang['showuseras_o_email'] = 'Courriel de l\'utilisateur (brouillé suivant les paramètres de brouillage sélectionnés)'; $lang['showuseras_o_email_link'] = 'Courriel de l\'utilisateur en tant que lien mailto:'; $lang['useheading_o_0'] = 'Jamais'; diff --git a/lib/plugins/config/lang/he/intro.txt b/lib/plugins/config/lang/he/intro.txt index 010c69018d36dc3982554ccb2605d99c7f49f0f5..d61a93861ff6f8def21ceeea7f1f965228f2682f 100644 --- a/lib/plugins/config/lang/he/intro.txt +++ b/lib/plugins/config/lang/he/intro.txt @@ -5,5 +5,3 @@ הגדרות ×¢× ×¨×§×¢ ×דו×-בהיר ×ž×•×’× ×•×ª ו×ין ×פשרות ×œ×©× ×•×ª×Ÿ ×¢× ×ª×•×¡×£ ×–×”. הגדרות ×¢× ×¨×§×¢ כחול הן בעלות ערך ברירת המחדל והגדרות ×¢× ×¨×§×¢ לבן הוגדרו ב×ופן מקומי עבור ×”×ª×§× ×” זו. ההגדרות בעלות ×”×¨×§×¢×™× ×”×›×—×•×œ והלבן הן ברות ×©×™× ×•×™. יש לזכור ללחוץ על כפתור ×”**שמירה** ×˜×¨× ×¢×–×™×‘×ª דף ×–×” פן ×™×בדו ×”×©×™× ×•×™×™×. - - diff --git a/lib/plugins/config/lang/he/lang.php b/lib/plugins/config/lang/he/lang.php index bddfd90afb6bdf6dcc4c3fb9a9a972764bb116b5..416d775d00c0dddeacfa2c19fe172c16b3fe8850 100644 --- a/lib/plugins/config/lang/he/lang.php +++ b/lib/plugins/config/lang/he/lang.php @@ -1,13 +1,14 @@ <?php + /** - * hebrew language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author DoK <kamberd@yahoo.com> * @author Dotan Kamber <kamberd@yahoo.com> * @author Moshe Kaplan <mokplan@gmail.com> * @author Yaron Yogev <yaronyogev@gmail.com> * @author Yaron Shahrabani <sh.yaron@gmail.com> + * @author sagi <sagiyosef@gmail.com> */ $lang['menu'] = 'הגדרות תצורה'; $lang['error'] = 'ההגדרות ×œ× ×¢×•×“×›× ×• בגלל ערך ×œ× ×ª×§×£, × × ×œ×¢×™×™×Ÿ ×‘×©×™× ×•×™×™× ×•×œ×©×œ×•×— ×©× ×™×ª. @@ -33,22 +34,22 @@ $lang['_network'] = 'הגדרות רשת'; $lang['_msg_setting_undefined'] = '×ין מידע-על להגדרה.'; $lang['_msg_setting_no_class'] = '×ין קבוצה להגדרה.'; $lang['_msg_setting_no_default'] = '×ין ערך ברירת מחדל.'; -$lang['fmode'] = 'מצב יצירת קובץ'; -$lang['dmode'] = 'מצב יצירת ספריה'; +$lang['title'] = 'כותרת הויקי'; +$lang['start'] = '×©× ×“×£ הפתיחה'; $lang['lang'] = 'שפה'; +$lang['template'] = '×ª×‘× ×™×ª'; +$lang['savedir'] = 'ספריה לשמירת מידע'; $lang['basedir'] = 'ספרית בסיס'; $lang['baseurl'] = 'כתובת URL בסיסית'; -$lang['savedir'] = 'ספריה לשמירת מידע'; -$lang['start'] = '×©× ×“×£ הפתיחה'; -$lang['title'] = 'כותרת הויקי'; -$lang['template'] = '×ª×‘× ×™×ª'; -$lang['fullpath'] = 'הצגת × ×ª×™×‘ ×ž×œ× ×œ×“×¤×™× ×‘×ª×—×ª×™×ª'; +$lang['dmode'] = 'מצב יצירת ספריה'; +$lang['fmode'] = 'מצב יצירת קובץ'; +$lang['allowdebug'] = '×פשר דיבוג <b>יש לבטל ×× ×ין צורך!</b>'; $lang['recent'] = '×©×™× ×•×™×™× ××—×¨×•× ×™×'; +$lang['recent_days'] = 'כמה ×©×™× ×•×™×™× ××—×¨×•× ×™× ×œ×©×ž×•×¨ (ימי×)'; $lang['breadcrumbs'] = 'מספר עקבות להיסטוריה'; $lang['youarehere'] = 'עקבות היררכיות להיסטוריה'; +$lang['fullpath'] = 'הצגת × ×ª×™×‘ ×ž×œ× ×œ×“×¤×™× ×‘×ª×—×ª×™×ª'; $lang['typography'] = 'שימוש בחלופות טיפוגרפיות'; -$lang['htmlok'] = '×ישור שיבוץ HTML'; -$lang['phpok'] = '×ישור שיבוץ PHP'; $lang['dformat'] = 'תסדיר ת×ריך (× × ×œ×¤× ×•×ª ×œ×¤×•× ×§×¦×™×” <a href="http://www.php.net/strftime">strftime</a> של PHP)'; $lang['signature'] = 'חתימה'; $lang['toptoclevel'] = 'רמה ×¢×œ×™×•× ×” בתוכן ×”×¢× ×™× ×™×'; @@ -57,13 +58,8 @@ $lang['maxseclevel'] = 'רמה מירבית בעריכת קטעי×'; $lang['camelcase'] = 'השתמש בר×שיות גדולות לקישורי×'; $lang['deaccent'] = '× ×§×” שמות דפי×'; $lang['useheading'] = 'השתמש בכותרת הר××©×•× ×” ×œ×©× ×”×“×£'; -$lang['refcheck'] = 'בדוק שיוך מדיה'; -$lang['allowdebug'] = '×פשר דיבוג <b>יש לבטל ×× ×ין צורך!</b>'; -$lang['usewordblock'] = 'חסימת דו×ר זבל לפי רשימת מילי×'; -$lang['indexdelay'] = 'השהיה ×‘×˜×¨× ×”×›× ×¡×” ל××™× ×“×§×¡ (×©× ×™×•×ª)'; -$lang['relnofollow'] = 'השתמש ב- rel="nofollow" ×œ×§×™×©×•×¨×™× ×—×™×¦×•× ×™×™×'; -$lang['mailguard'] = 'הגן על כתובות דו×"ל'; -$lang['iexssprotect'] = 'בדוק ×ת ×”×“×¤×™× ×”×ž×•×¢×œ×™× ×œ×—×©×“ ל-JavaScript ×ו קוד HTML ×–×“×•× ×™'; +$lang['sneaky_index'] = 'כברירת מחדל, דוקוויקי יציג ×ת כל מרחבי השמות בתצוגת תוכן ×”×¢× ×™× ×™×. בחירה ב×פשרות ×–×ת תסתיר ×ת ×לו ×©×‘×”× ×œ×ž×©×ª×ž×© ×ין הרש×ות קרי××”. התוצ××” עלולה להיות הסתרת תת מרחבי שמות ××œ×™×”× ×™×© למשתמש גישה. ב×ופן ×–×” תוכן ×”×¢× ×™× ×™× ×¢×œ×•×œ להפוך לחסר תועלת ×¢× ×”×’×“×¨×•×ª ACL מסוימות'; +$lang['hidepages'] = 'הסתר ×“×¤×™× ×ª×•××ž×™× (×‘×™×˜×•×™×™× ×¨×’×•×œ×¨×™×™×)'; $lang['useacl'] = 'השתמש ברשימות בקרת גישה'; $lang['autopasswd'] = 'צור סיסמ×ות ב×ופן ×וטומטי'; $lang['authtype'] = '×ž× ×•×¢ הזדהות'; @@ -77,47 +73,52 @@ $lang['disableactions_check'] = 'בדיקה'; $lang['disableactions_subscription'] = 'הרשמה/הסרה מרשימה'; $lang['disableactions_wikicode'] = 'הצגת המקור/×™×¦×•× ×’×•×œ×ž×™'; $lang['disableactions_other'] = 'פעולות ×חרות (מופרדות בפסיק)'; -$lang['sneaky_index'] = 'כברירת מחדל, דוקוויקי יציג ×ת כל מרחבי השמות בתצוגת תוכן ×”×¢× ×™× ×™×. בחירה ב×פשרות ×–×ת תסתיר ×ת ×לו ×©×‘×”× ×œ×ž×©×ª×ž×© ×ין הרש×ות קרי××”. התוצ××” עלולה להיות הסתרת תת מרחבי שמות ××œ×™×”× ×™×© למשתמש גישה. ב×ופן ×–×” תוכן ×”×¢× ×™× ×™× ×¢×œ×•×œ להפוך לחסר תועלת ×¢× ×”×’×“×¨×•×ª ACL מסוימות'; $lang['auth_security_timeout'] = 'מגבלת ×בטח פסק הזמן להזדהות (×©× ×™×•×ª)'; +$lang['usewordblock'] = 'חסימת דו×ר זבל לפי רשימת מילי×'; +$lang['relnofollow'] = 'השתמש ב- rel="nofollow" ×œ×§×™×©×•×¨×™× ×—×™×¦×•× ×™×™×'; +$lang['indexdelay'] = 'השהיה ×‘×˜×¨× ×”×›× ×¡×” ל××™× ×“×§×¡ (×©× ×™×•×ª)'; +$lang['mailguard'] = 'הגן על כתובות דו×"ל'; +$lang['iexssprotect'] = 'בדוק ×ת ×”×“×¤×™× ×”×ž×•×¢×œ×™× ×œ×—×©×“ ל-JavaScript ×ו קוד HTML ×–×“×•× ×™'; +$lang['usedraft'] = 'שמור טיוטות ב×ופן ×וטומטי בעת עריכה'; +$lang['htmlok'] = '×ישור שיבוץ HTML'; +$lang['phpok'] = '×ישור שיבוץ PHP'; +$lang['locktime'] = 'גיל מירבי לקבצי × ×¢×™×œ×” (×©× ×™×•×ª)'; +$lang['cachetime'] = 'גיל מירבי לזכרון מטמון (×©× ×™×•×ª)'; +$lang['target____wiki'] = 'חלון יעד ×œ×§×™×©×•×¨×™× ×¤× ×™×ž×™×™×'; +$lang['target____interwiki'] = 'חלון יעד ×œ×§×™×©×•×¨×™× ×‘×™×Ÿ מערכות ויקי'; +$lang['target____extern'] = 'חלון יעד ×œ×§×™×©×•×¨×™× ×—×™×¦×•× ×™×™×'; +$lang['target____media'] = 'חלון יעד לקישור למדיה'; +$lang['target____windows'] = 'חלון יעד לתיקיות משותפות'; +$lang['refcheck'] = 'בדוק שיוך מדיה'; +$lang['gdlib'] = 'גרסת ספרית ×”-GD'; +$lang['im_convert'] = '× ×ª×™×‘ לכלי ×”-convert של ImageMagick'; +$lang['jpg_quality'] = '×יכות הדחיסה של JPG (0-100)'; +$lang['fetchsize'] = 'גודל הקובץ המירבי (bytes) ש-fetch.php יכול להוריד מבחוץ'; +$lang['subscribers'] = 'התר תמיכה ×‘×¨×™×©×•× ×œ×“×¤×™×'; +$lang['notify'] = 'שלח התר×ות על ×©×™× ×•×™×™× ×œ×›×ª×•×‘×ª דו×"ל זו'; +$lang['registernotify'] = 'שלח מידע על ×ž×©×ª×ž×©×™× ×¨×©×•×ž×™× ×—×“×©×™× ×œ×›×ª×•×‘×ª דו×"ל זו'; +$lang['mailfrom'] = 'כתובת הדו×"ל לשימוש בדברי דו×"ל ×וטומטיי×'; +$lang['sitemap'] = 'צור מפת ×תר של Google (ימי×)'; +$lang['rss_type'] = 'סוג פלט XML'; +$lang['rss_linkto'] = 'פלט ×”-XML מקשר ×ל'; +$lang['rss_content'] = 'מה להציג בפרטי פלט ×”-XML'; +$lang['rss_update'] = 'פלט ×”-XML מתעדכן כל (×©× ×™×•×ª)'; +$lang['rss_show_summary'] = 'פלט ×”-XML מציג תקציר בכותרת'; $lang['updatecheck'] = 'בדיקת ×¢×™×“×›×•× ×™ ×בטחה והתר×ות? על DokuWiki להתקשר ×ל update.dokuwiki.org לצורך כך.'; $lang['userewrite'] = 'השתמש בכתובות URL יפות'; $lang['useslash'] = 'השתמש בלוכסן להגדרת מרחבי שמות בכתובות'; -$lang['usedraft'] = 'שמור טיוטות ב×ופן ×וטומטי בעת עריכה'; $lang['sepchar'] = 'מפריד בין מילות ש×-דף'; $lang['canonical'] = 'השתמש בכתובות URL מל×ות'; $lang['autoplural'] = 'בדוק לצורת ×¨×‘×™× ×‘×§×™×©×•×¨×™×'; $lang['compression'] = '×ופן דחיסת ×§×‘×¦×™× ×‘-attic'; -$lang['cachetime'] = 'גיל מירבי לזכרון מטמון (×©× ×™×•×ª)'; -$lang['locktime'] = 'גיל מירבי לקבצי × ×¢×™×œ×” (×©× ×™×•×ª)'; -$lang['fetchsize'] = 'גודל הקובץ המירבי (bytes) ש-fetch.php יכול להוריד מבחוץ'; -$lang['notify'] = 'שלח התר×ות על ×©×™× ×•×™×™× ×œ×›×ª×•×‘×ª דו×"ל זו'; -$lang['registernotify'] = 'שלח מידע על ×ž×©×ª×ž×©×™× ×¨×©×•×ž×™× ×—×“×©×™× ×œ×›×ª×•×‘×ª דו×"ל זו'; -$lang['mailfrom'] = 'כתובת הדו×"ל לשימוש בדברי דו×"ל ×וטומטיי×'; $lang['gzip_output'] = 'השתמש בקידוד תוכן של gzip עבור xhtml'; -$lang['gdlib'] = 'גרסת ספרית ×”-GD'; -$lang['im_convert'] = '× ×ª×™×‘ לכלי ×”-convert של ImageMagick'; -$lang['jpg_quality'] = '×יכות הדחיסה של JPG (0-100)'; -$lang['subscribers'] = 'התר תמיכה ×‘×¨×™×©×•× ×œ×“×¤×™×'; $lang['compress'] = 'פלט קומפקטי של CSS ו-javascript'; -$lang['hidepages'] = 'הסתר ×“×¤×™× ×ª×•××ž×™× (×‘×™×˜×•×™×™× ×¨×’×•×œ×¨×™×™×)'; $lang['send404'] = 'שלח "HTTP 404/Page Not Found" עבור ×“×¤×™× ×©××™× × ×§×™×™×ž×™×'; -$lang['sitemap'] = 'צור מפת ×תר של Google (ימי×)'; $lang['broken_iua'] = '×”×× ×”×¤×¢×•×œ×” ignore_user_abort תקולה במערכת שלך? הדבר עלול ×œ×”×‘×™× ×œ×ª×•×›×Ÿ חיפוש ש××™× ×• תקין. IIS+PHP/CGI ידוע כתקול. ר××” ×ת <a href="http://bugs.splitbrain.org/?do=details&task_id=852">ב××’ 852</a> למידע × ×•×¡×£'; $lang['xsendfile'] = 'להשתמש בכותר X-Sendfile כדי ל×פשר לשרת לספק ×§×‘×¦×™× ×¡×˜×˜×™×™×? על השרת שלך לתמוך ב×פשרות ×–×ת.'; $lang['renderer_xhtml'] = 'מחולל לשימוש עבור פלט הויקי העיקרי (xhtml)'; $lang['renderer__core'] = '%s (ליבת דוקוויקי)'; $lang['renderer__plugin'] = '%s (הרחבות)'; -$lang['rss_type'] = 'סוג פלט XML'; -$lang['rss_linkto'] = 'פלט ×”-XML מקשר ×ל'; -$lang['rss_content'] = 'מה להציג בפרטי פלט ×”-XML'; -$lang['rss_update'] = 'פלט ×”-XML מתעדכן כל (×©× ×™×•×ª)'; -$lang['recent_days'] = 'כמה ×©×™× ×•×™×™× ××—×¨×•× ×™× ×œ×©×ž×•×¨ (ימי×)'; -$lang['rss_show_summary'] = 'פלט ×”-XML מציג תקציר בכותרת'; -$lang['target____wiki'] = 'חלון יעד ×œ×§×™×©×•×¨×™× ×¤× ×™×ž×™×™×'; -$lang['target____interwiki'] = 'חלון יעד ×œ×§×™×©×•×¨×™× ×‘×™×Ÿ מערכות ויקי'; -$lang['target____extern'] = 'חלון יעד ×œ×§×™×©×•×¨×™× ×—×™×¦×•× ×™×™×'; -$lang['target____media'] = 'חלון יעד לקישור למדיה'; -$lang['target____windows'] = 'חלון יעד לתיקיות משותפות'; $lang['proxy____host'] = '×©× ×”×©×¨×ª המתווך'; $lang['proxy____port'] = 'שער השרת המתווך'; $lang['proxy____user'] = '×©× ×”×ž×©×ª×ž×© בשרת המתווך'; diff --git a/lib/plugins/config/lang/hu/lang.php b/lib/plugins/config/lang/hu/lang.php index 6f774bfacc893895ddaf70e4fad26d60d7845cf7..59d7e9f57a49cd6739d591b11b6d6ceb178410a4 100644 --- a/lib/plugins/config/lang/hu/lang.php +++ b/lib/plugins/config/lang/hu/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Hungarian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Sandor TIHANYI <stihanyi+dw@gmail.com> * @author Siaynoq Mage <siaynoqmage@gmail.com> * @author schilling.janos@gmail.com @@ -84,7 +85,9 @@ $lang['disableactions'] = 'Bizonyos DokuWiki tevékenységek (action) til $lang['disableactions_check'] = 'EllenÅ‘rzés'; $lang['disableactions_subscription'] = 'Feliratkozás/Leiratkozás'; $lang['disableactions_wikicode'] = 'Forrás megtekintése/Nyers adat exportja'; +$lang['disableactions_profile_delete'] = 'Saját felhasználó törlése'; $lang['disableactions_other'] = 'Egyéb tevékenységek (vesszÅ‘vel elválasztva)'; +$lang['disableactions_rss'] = 'XML hÃrfolyam (RSS)'; $lang['auth_security_timeout'] = 'Authentikációs biztonsági idÅ‘ablak (másodperc)'; $lang['securecookie'] = 'A böngészÅ‘k a HTTPS felett beállÃtott sütijüket csak HTTPS felett küldhetik? Kapcsoljuk ki ezt az opciót, ha csak a bejelentkezést védjük SSL-lel, a wiki tartalmának böngészése nyÃlt forgalommal történik.'; $lang['remote'] = 'Távoli API engedélyezése. Ezzel más alkalmazások XML-RPC-n keresztül hozzáférhetnek a wikihez.'; @@ -189,6 +192,7 @@ $lang['xsendfile_o_2'] = 'Standard X-Sendfile fejléc'; $lang['xsendfile_o_3'] = 'Nginx saját X-Accel-Redirect fejléce'; $lang['showuseras_o_loginname'] = 'AzonosÃtó'; $lang['showuseras_o_username'] = 'Teljes név'; +$lang['showuseras_o_username_link'] = 'A felhasználó teljes neve belsÅ‘ wiki-hivatkozásként'; $lang['showuseras_o_email'] = 'E-mail cÃm (olvashatatlanná téve az e-mailcÃm védelem beállÃtása szerint)'; $lang['showuseras_o_email_link'] = 'E-mail cÃm mailto: linkként'; $lang['useheading_o_0'] = 'Soha'; diff --git a/lib/plugins/config/lang/ia/intro.txt b/lib/plugins/config/lang/ia/intro.txt index 37b970c4f935231a1f015c8b38029d58bf2193fe..eb2e105915ff740f3c7c08df34e9947a9450e399 100644 --- a/lib/plugins/config/lang/ia/intro.txt +++ b/lib/plugins/config/lang/ia/intro.txt @@ -4,4 +4,4 @@ Usa iste pagina pro controlar le configurationes de tu installation de DokuWiki. Le configurationes monstrate super un fundo rubie clar es protegite e non pote esser alterate con iste plug-in. Le configurationes monstrate super un fundo blau es le valores predefinite e le configurationes monstrate super un fundo blanc ha essite definite localmente pro iste particular installation. Le configurationes blau e blanc pote esser alterate. -Rememora de premer le button **SALVEGUARDAR** ante de quitar iste pagina, alteremente tu modificationes essera perdite. \ No newline at end of file +Rememora de premer le button **SALVEGUARDAR** ante de quitar iste pagina, alteremente tu modificationes essera perdite. diff --git a/lib/plugins/config/lang/it/intro.txt b/lib/plugins/config/lang/it/intro.txt index 617e8c7b5f9baa0498baea0daad922e2ac74a2e8..02984baa7c0be4230d70e23478f698f3e26b4548 100644 --- a/lib/plugins/config/lang/it/intro.txt +++ b/lib/plugins/config/lang/it/intro.txt @@ -5,5 +5,3 @@ Usa questa pagina per gestire la configurazione della tua installazione DokuWiki Le impostazioni con lo sfondo rosso chiaro sono protette e non possono essere modificate con questo plugin. Le impostazioni con lo sfondo blu contengono i valori predefiniti, e le impostazioni con lo sfondo bianco sono relative solo a questa particolare installazione. Sia le impostazioni su sfondo blu che quelle su sfondo bianco possono essere modificate. Ricordati di premere il pulsante **SALVA** prima di lasciare questa pagina altrimenti le modifiche andranno perse. - - diff --git a/lib/plugins/config/lang/it/lang.php b/lib/plugins/config/lang/it/lang.php index 7a831c8ded2aa1e50d02f83851f5c6874de3c790..1e371613c330bc39233e8c5e9dfd4f2c6d41d93f 100644 --- a/lib/plugins/config/lang/it/lang.php +++ b/lib/plugins/config/lang/it/lang.php @@ -1,8 +1,8 @@ <?php + /** - * Italian language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Christopher Smith <chris@jalakai.co.uk> * @author Silvia Sargentoni <polinnia@tin.it> * @author Pietro Battiston toobaz@email.it @@ -15,6 +15,7 @@ * @author Jacopo Corbetta <jacopo.corbetta@gmail.com> * @author Matteo Pasotti <matteo@xquiet.eu> * @author snarchio@gmail.com + * @author Torpedo <dgtorpedo@gmail.com> */ $lang['menu'] = 'Configurazione Wiki'; $lang['error'] = 'Impostazioni non aggiornate a causa di un valore non corretto, controlla le modifiche apportate e salva di nuovo. @@ -90,7 +91,9 @@ $lang['disableactions'] = 'Disabilita azioni DokuWiki'; $lang['disableactions_check'] = 'Controlla'; $lang['disableactions_subscription'] = 'Sottoscrivi/Rimuovi sottoscrizione'; $lang['disableactions_wikicode'] = 'Mostra sorgente/Esporta Raw'; +$lang['disableactions_profile_delete'] = 'Elimina il proprio account'; $lang['disableactions_other'] = 'Altre azioni (separate da virgola)'; +$lang['disableactions_rss'] = 'XML Syndication (RSS)'; $lang['auth_security_timeout'] = 'Tempo di sicurezza per l\'autenticazione (secondi)'; $lang['securecookie'] = 'Devono i cookies impostati tramite HTTPS essere inviati al browser solo tramite HTTPS? Disattiva questa opzione solo quando l\'accesso al tuo wiki viene effettuato con il protocollo SSL ma la navigazione del wiki non risulta sicura.'; $lang['remote'] = 'Abilita il sistema di API remoto. Questo permette ad altre applicazioni di accedere al wiki tramite XML-RPC o altri meccanismi.'; @@ -195,6 +198,7 @@ $lang['xsendfile_o_2'] = 'Header standard X-Sendfile'; $lang['xsendfile_o_3'] = 'Header proprietario Nginx X-Accel-Redirect'; $lang['showuseras_o_loginname'] = 'Nome utente'; $lang['showuseras_o_username'] = 'Nome completo dell\'utente'; +$lang['showuseras_o_username_link'] = 'Nome completo dell\'utente come link interwiki'; $lang['showuseras_o_email'] = 'Indirizzo email dell\'utente (offuscato in base alle impostazioni di sicurezza posta)'; $lang['showuseras_o_email_link'] = 'Indirizzo email dell\'utente come collegamento mailto:'; $lang['useheading_o_0'] = 'Mai'; diff --git a/lib/plugins/config/lang/ja/intro.txt b/lib/plugins/config/lang/ja/intro.txt index 0c45471c6ce6194df42e77b58a9e8ded0736b75d..4d98dd3ed0fbae0e2f4a94984abb476ff2b1702c 100644 --- a/lib/plugins/config/lang/ja/intro.txt +++ b/lib/plugins/config/lang/ja/intro.txt @@ -1,9 +1,11 @@ ====== è¨å®šç®¡ç† ====== -ã“ã®ç”»é¢ã§ã€Dokuwikiã®è¨å®šã‚’管ç†ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚ 個々ã®è¨å®šã«é–¢ã—ã¦ã¯ [[doku>config]] ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 ã“ã®ãƒ—ラグインã«é–¢ã™ã‚‹è©³ç´°ãªæƒ…å ±ã¯ [[doku>plugin:config]] ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 - -背景ãŒè–„ã„赤ã«ãªã£ã¦ã„ã‚‹å ´åˆã€ãã®è¨å®šã¯å¤‰æ›´ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“。 背景ãŒé’ã®å€¤ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã€èƒŒæ™¯ãŒç™½ã®å€¤ã¯ç¾åœ¨ã®è¨å®šã¨ãªã£ã¦ãŠã‚Šã€ ã©ã¡ã‚‰ã®å€¤ã‚‚変更ãŒå¯èƒ½ã§ã™ã€‚ - -è¨å®šã®å¤‰æ›´å¾Œã¯å¿…ãš **ä¿å˜** ボタンを押ã—ã¦å¤‰æ›´ã‚’確定ã—ã¦ãã ã•ã„。 ボタンを押ã•ãªã‹ã£ãŸå ´åˆã€å¤‰æ›´ã¯ç ´æ£„ã•ã‚Œã¾ã™ã€‚ +ã“ã®ç”»é¢ã§ã€Dokuwikiã®è¨å®šã‚’管ç†ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚ +個々ã®è¨å®šã«é–¢ã—ã¦ã¯[[doku>ja:config|DokuWiki ã®è¨å®š]]ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 +ã“ã®ãƒ—ラグインã«é–¢ã™ã‚‹è©³ç´°ãªæƒ…å ±ã¯[[doku>ja:plugin:config|è¨å®šç®¡ç†ãƒ—ラグイン]]ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 +背景ãŒè–„ã„赤ã®å ´åˆã€ãã®è¨å®šã¯å¤‰æ›´ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“。 +背景ãŒé’ã®å ´åˆã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆè¨å®šã€èƒŒæ™¯ãŒç™½ã®å ´åˆã¯ã‚µã‚¤ãƒˆå›ºæœ‰ã®è¨å®šã«ãªã£ã¦ãŠã‚Šã€ã©ã¡ã‚‰è¨å®šã‚‚変更ãŒå¯èƒ½ã§ã™ã€‚ +è¨å®šã®å¤‰æ›´å¾Œã¯å¿…ãš **ä¿å˜** ボタンを押ã—ã¦å¤‰æ›´ã‚’確定ã—ã¦ãã ã•ã„。 +ボタンを押ã•ãªã‹ã£ãŸå ´åˆã€å¤‰æ›´ã¯ç ´æ£„ã•ã‚Œã¾ã™ã€‚ diff --git a/lib/plugins/config/lang/ja/lang.php b/lib/plugins/config/lang/ja/lang.php index e8cf8227b92fbff0a97a6e94bc9104e40db8f66a..83445e6f12bfaffc4854489bfbd421244d69a453 100644 --- a/lib/plugins/config/lang/ja/lang.php +++ b/lib/plugins/config/lang/ja/lang.php @@ -1,8 +1,8 @@ <?php + /** - * japanese language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Yuji Takenaka <webmaster@davilin.com> * @author Christopher Smith <chris@jalakai.co.uk> * @author Ikuo Obataya <i.obataya@gmail.com> @@ -10,6 +10,7 @@ * @author Kazutaka Miyasaka <kazmiya@gmail.com> * @author Taisuke Shimamoto <dentostar@gmail.com> * @author Satoshi Sahara <sahara.satoshi@gmail.com> + * @author Hideaki SAWADA <chuno@live.jp> */ $lang['menu'] = 'サイトè¨å®š'; $lang['error'] = 'ä¸æ£ãªå€¤ãŒå˜åœ¨ã™ã‚‹ãŸã‚ã€è¨å®šã¯æ›´æ–°ã•ã‚Œã¾ã›ã‚“ã§ã—ãŸã€‚入力値を確èªã—ã¦ã‹ã‚‰ã€å†åº¦æ›´æ–°ã—ã¦ãã ã•ã„。 @@ -83,9 +84,11 @@ $lang['profileconfirm'] = 'プãƒãƒ•ã‚£ãƒ¼ãƒ«å¤‰æ›´æ™‚ã«ç¾åœ¨ã®ãƒ‘ス $lang['rememberme'] = 'ãƒã‚°ã‚¤ãƒ³ç”¨ã‚¯ãƒƒã‚ーを永久ã«ä¿æŒã™ã‚‹ã“ã¨ã‚’許å¯ï¼ˆãƒã‚°ã‚¤ãƒ³ã‚’ä¿æŒï¼‰'; $lang['disableactions'] = 'DokuWiki ã®å‹•ä½œã‚’無効ã«ã™ã‚‹'; $lang['disableactions_check'] = 'ãƒã‚§ãƒƒã‚¯'; -$lang['disableactions_subscription'] = '登録 / 解除'; +$lang['disableactions_subscription'] = '変更履æ´é…ä¿¡ã®ç™»éŒ²ãƒ»è§£é™¤'; $lang['disableactions_wikicode'] = 'ソース閲覧 / 生データ出力'; +$lang['disableactions_profile_delete'] = '自分ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®æŠ¹æ¶ˆ'; $lang['disableactions_other'] = 'ãã®ä»–ã®å‹•ä½œï¼ˆã‚«ãƒ³ãƒžåŒºåˆ‡ã‚Šï¼‰'; +$lang['disableactions_rss'] = 'XML é…信(RSS)'; $lang['auth_security_timeout'] = 'èªè¨¼ã‚¿ã‚¤ãƒ アウトè¨å®šï¼ˆç§’)'; $lang['securecookie'] = 'クッã‚ーをHTTPSã«ã¦ã‚»ãƒƒãƒˆã™ã‚‹å ´åˆã¯ã€ãƒ–ラウザよりHTTPS経由ã§é€ä¿¡ã•ã‚ŒãŸå ´åˆã«ã¿ã«åˆ¶é™ã—ã¾ã™ã‹ï¼Ÿãƒã‚°ã‚¤ãƒ³ã®ã¿ã‚’SSLã§è¡Œã†å ´åˆã¯ã€ã“ã®æ©Ÿèƒ½ã‚’無効ã«ã—ã¦ãã ã•ã„。'; $lang['remote'] = 'リモートAPIを有効化ã—ã¾ã™ã€‚有効化ã™ã‚‹ã¨XML-RPCã¾ãŸã¯ä»–ã®æ‰‹æ®µã§wikiã«ã‚¢ãƒ—リケーションãŒã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ã‚’許å¯ã—ã¾ã™ã€‚'; @@ -190,6 +193,7 @@ $lang['xsendfile_o_2'] = '標準 X-Sendfile ヘッダー'; $lang['xsendfile_o_3'] = 'Nginx X-Accel-Redirect ヘッダー'; $lang['showuseras_o_loginname'] = 'ãƒã‚°ã‚¤ãƒ³å'; $lang['showuseras_o_username'] = 'ユーザーã®ãƒ•ãƒ«ãƒãƒ¼ãƒ '; +$lang['showuseras_o_username_link'] = 'user ã¨ã„ㆠInterWiki リンクã«ãªã£ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ãƒ•ãƒ«ãƒãƒ¼ãƒ '; $lang['showuseras_o_email'] = 'ユーザーã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ï¼ˆãƒ¡ãƒ¼ãƒ«ã‚¬ãƒ¼ãƒ‰è¨å®šã«ã‚ˆã‚‹é›£èªåŒ–)'; $lang['showuseras_o_email_link'] = 'ユーザーã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’リンクã«ã™ã‚‹'; $lang['useheading_o_0'] = '使用ã—ãªã„'; diff --git a/lib/plugins/config/lang/ko/intro.txt b/lib/plugins/config/lang/ko/intro.txt index 979bbcb147643ec542388ceaf05d455e8d8e7a68..b05264a64350d86f61fd21e8ee6f0655c14ff065 100644 --- a/lib/plugins/config/lang/ko/intro.txt +++ b/lib/plugins/config/lang/ko/intro.txt @@ -1,8 +1,7 @@ ====== 환경 ì„¤ì • ê´€ë¦¬ìž ====== -ë„ì¿ ìœ„í‚¤ë¥¼ ì„¤ì¹˜í• ë•Œ ì„¤ì •ì„ ë°”ê¾¸ë ¤ë©´ ì´ íŽ˜ì´ì§€ë¥¼ 사용하세요. 개별 ì„¤ì •ì— ëŒ€í•œ ë„움ë§ì€ [[doku>ko:config]]를 ì°¸ê³ í•˜ì„¸ìš”. ì´ í”ŒëŸ¬ê·¸ì¸ì— 대한 ìžì„¸í•œ ë‚´ìš©ì€ [[doku>ko:plugin:config]]를 ì°¸ê³ í•˜ì„¸ìš”. +ì„¤ì¹˜ëœ ë„ì¿ ìœ„í‚¤ì˜ ì„¤ì •ì„ ì œì–´í•˜ë ¤ë©´ ì´ íŽ˜ì´ì§€ë¥¼ 사용하세요. 개별 ì„¤ì •ì— ëŒ€í•œ ë„움ë§ì€ [[doku>ko:config]]를 참조하세요. ì´ í”ŒëŸ¬ê·¸ì¸ì— 대한 ìžì„¸í•œ ë‚´ìš©ì€ [[doku>ko:plugin:config]]를 참조하세요. -ë°ì€ 빨간색 배경으로 ë³´ì´ëŠ” ì„¤ì •ì€ ì´ í”ŒëŸ¬ê·¸ì¸ì—ì„œ 바꿀 수 ì—†ë„ë¡ ë³´í˜¸ë˜ì–´ 있습니다. 파란색 배경으로 ë³´ì´ëŠ” ì„¤ì •ì€ ê¸°ë³¸ê°’ì´ë©° 하얀색 배경으로 ë³´ì´ëŠ” ì„¤ì •ì€ íŠ¹ìˆ˜í•œ 설치를 위해 로컬로 ì„¤ì •ë˜ì–´ 있습니다. 파란색과 하얀색 배경으로 ëœ ì„¤ì •ì€ ë°”ê¿€ 수 있습니다. - -ì´ íŽ˜ì´ì§€ë¥¼ ë– ë‚˜ê¸° ì „ì— **ì €ìž¥** ë²„íŠ¼ì„ ëˆ„ë¥´ì§€ 않으면 ë°”ë€œì´ ì‚¬ë¼ì§€ëŠ” ê²ƒì— ì£¼ì˜í•˜ì„¸ìš”. +ë°ì€ 빨간색 배경으로 ë³´ì´ëŠ” ì„¤ì •ì€ ì´ í”ŒëŸ¬ê·¸ì¸ìœ¼ë¡œ 바꿀 수 ì—†ë„ë¡ ë³´í˜¸ë˜ì–´ 있습니다. 파란색 배경으로 ë³´ì´ëŠ” ì„¤ì •ì€ ê¸°ë³¸ê°’ì´ë©° 하얀색 배경으로 ë³´ì´ëŠ” ì„¤ì •ì€ íŠ¹ì • ì„¤ì¹˜ì— ëŒ€í•´ 로컬로 ì„¤ì •ë˜ì–´ 있습니다. 파란색과 하얀색 배경으로 ëœ ì„¤ì •ì€ ë°”ê¿€ 수 있습니다. +ì´ íŽ˜ì´ì§€ë¥¼ ë– ë‚˜ê¸° ì „ì— **ì €ìž¥** ë²„íŠ¼ì„ ëˆ„ë¥´ì§€ 않으면 ë°”ë€œì´ ì‚¬ë¼ì§€ëŠ” ê²ƒì— ì£¼ì˜í•˜ì„¸ìš”. \ No newline at end of file diff --git a/lib/plugins/config/lang/ko/lang.php b/lib/plugins/config/lang/ko/lang.php index 0cdaca90db1208522d21f864fe3132ebc7fa790e..9793595267ac9e17f61b37672895b0893361ff5f 100644 --- a/lib/plugins/config/lang/ko/lang.php +++ b/lib/plugins/config/lang/ko/lang.php @@ -1,199 +1,202 @@ <?php + /** - * Korean language file - * - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author jk Lee * @author dongnak@gmail.com * @author Song Younghwan <purluno@gmail.com> * @author Seung-Chul Yoo <dryoo@live.com> * @author erial2@gmail.com * @author Myeongjin <aranet100@gmail.com> + * @author Erial <erial2@gmail.com> */ $lang['menu'] = '환경 ì„¤ì •'; -$lang['error'] = 'ìž˜ëª»ëœ ê°’ ë•Œë¬¸ì— ì„¤ì •ì„ ë°”ê¿€ 수 없습니다. ë°”ë€œì„ ê²€í† í•˜ê³ í™•ì¸ì„ 누르세요. -<br />ìž˜ëª»ëœ ê°’ì€ ë¹¨ê°„ ì„ ìœ¼ë¡œ 둘러싸여 있습니다.'; +$lang['error'] = 'ìž˜ëª»ëœ ê°’ ë•Œë¬¸ì— ì„¤ì •ì„ ë°”ê¿€ 수 없습니다, ë°”ë€œì„ ê²€í† í•˜ê³ ë‹¤ì‹œ ì œì¶œí•˜ì„¸ìš”. + <br />ìž˜ëª»ëœ ê°’ì€ ë¹¨ê°„ ì„ ìœ¼ë¡œ 둘러싸여 보여집니다.'; $lang['updated'] = 'ì„¤ì •ì´ ì„±ê³µì 으로 바뀌었습니다.'; -$lang['nochoice'] = '(다른 ì„ íƒì´ 불가능합니다)'; -$lang['locked'] = '환경 ì„¤ì • 파ì¼ì„ 바꿀 수 없습니다. ì˜ë„í•œ í–‰ë™ì´ 아니ë¼ë©´,<br /> -íŒŒì¼ ì´ë¦„ê³¼ ê¶Œí•œì´ ë§žëŠ”ì§€ 확ì¸í•˜ì„¸ìš”.'; -$lang['danger'] = '위험: ì´ ì˜µì…˜ì„ ìž˜ëª» 바꾸면 환경 ì„¤ì • 메뉴를 ì‚¬ìš©í• ìˆ˜ ì—†ì„ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤.'; -$lang['warning'] = 'ê²½ê³ : ì´ ì˜µì…˜ì„ ìž˜ëª» 바꾸면 잘못 ë™ìž‘í• ìˆ˜ 있습니다.'; -$lang['security'] = '보안 ê²½ê³ : ì´ ì˜µì…˜ì€ ë³´ì•ˆì— ìœ„í—˜ì´ ìžˆì„ ìˆ˜ 있습니다.'; +$lang['nochoice'] = '(다른 ì„ íƒì€ í• ìˆ˜ 없습니다)'; +$lang['locked'] = 'ì„¤ì • 파ì¼ì„ 바꿀 수 없습니다, ì˜ë„하지 않았다면, <br /> + 로컬 ì„¤ì • íŒŒì¼ ì´ë¦„ê³¼ ê¶Œí•œì´ ë§žëŠ”ì§€ 확ì¸í•˜ì„¸ìš”.'; +$lang['danger'] = '위험: ì´ ì˜µì…˜ì„ ë°”ê¾¸ë©´ 위키와 환경 ì„¤ì • ë©”ë‰´ì— ì ‘ê·¼í• ìˆ˜ ì—†ì„ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤.'; +$lang['warning'] = 'ê²½ê³ : ì´ ì˜µì…˜ì„ ë°”ê¾¸ë©´ ì˜ë„하지 않는 ë™ìž‘ì„ ì¼ìœ¼í‚¬ 수 있습니다.'; +$lang['security'] = '보안 ê²½ê³ : ì´ ì˜µì…˜ì„ ë°”ê¾¸ë©´ 보안 ìœ„í—˜ì´ ìžˆì„ ìˆ˜ 있습니다.'; $lang['_configuration_manager'] = '환경 ì„¤ì • 관리ìž'; -$lang['_header_dokuwiki'] = 'ë„ì¿ ìœ„í‚¤ ì„¤ì •'; -$lang['_header_plugin'] = 'í”ŒëŸ¬ê·¸ì¸ ì„¤ì •'; -$lang['_header_template'] = '템플릿 ì„¤ì •'; +$lang['_header_dokuwiki'] = 'ë„ì¿ ìœ„í‚¤'; +$lang['_header_plugin'] = '플러그ì¸'; +$lang['_header_template'] = '템플릿'; $lang['_header_undefined'] = 'ì •ì˜ë˜ì§€ ì•Šì€ ì„¤ì •'; -$lang['_basic'] = '기본 ì„¤ì •'; -$lang['_display'] = '화면 표시 ì„¤ì •'; -$lang['_authentication'] = 'ì¸ì¦ ì„¤ì •'; -$lang['_anti_spam'] = '스팸 방지 ì„¤ì •'; -$lang['_editing'] = '편집 ì„¤ì •'; -$lang['_links'] = 'ë§í¬ ì„¤ì •'; -$lang['_media'] = '미디어 ì„¤ì •'; -$lang['_notifications'] = '알림 ì„¤ì •'; -$lang['_syndication'] = 'ì‹ ë””ì¼€ì´ì…˜ ì„¤ì •'; -$lang['_advanced'] = 'ê³ ê¸‰ ì„¤ì •'; -$lang['_network'] = 'ë„¤íŠ¸ì›Œí¬ ì„¤ì •'; -$lang['_msg_setting_undefined'] = 'ì„¤ì •ëœ ë©”íƒ€ë°ì´í„°ê°€ 없습니다.'; -$lang['_msg_setting_no_class'] = 'ì„¤ì •ëœ í´ëž˜ìŠ¤ê°€ 없습니다.'; +$lang['_basic'] = '기본'; +$lang['_display'] = 'ë³´ì´ê¸°'; +$lang['_authentication'] = 'ì¸ì¦'; +$lang['_anti_spam'] = '스팸 방지'; +$lang['_editing'] = '편집'; +$lang['_links'] = 'ë§í¬'; +$lang['_media'] = '미디어'; +$lang['_notifications'] = '알림'; +$lang['_syndication'] = 'ì‹ ë””ì¼€ì´ì…˜ (RSS)'; +$lang['_advanced'] = 'ê³ ê¸‰'; +$lang['_network'] = '네트워í¬'; +$lang['_msg_setting_undefined'] = 'ì„¤ì •ì— ë©”íƒ€ë°ì´í„°ê°€ 없습니다.'; +$lang['_msg_setting_no_class'] = 'ì„¤ì •ì— í´ëž˜ìŠ¤ê°€ 없습니다.'; $lang['_msg_setting_no_default'] = 'ê¸°ë³¸ê°’ì´ ì—†ìŠµë‹ˆë‹¤.'; $lang['title'] = '위키 ì œëª© (위키 ì´ë¦„)'; -$lang['start'] = 'ê° ì´ë¦„공간ì—ì„œ ì‚¬ìš©í• ì‹œìž‘ 문서 ì´ë¦„'; +$lang['start'] = 'ê° ì´ë¦„ê³µê°„ì— ì‹œìž‘ì 으로 ì‚¬ìš©í• ë¬¸ì„œ ì´ë¦„'; $lang['lang'] = 'ì¸í„°íŽ˜ì´ìŠ¤ 언어'; $lang['template'] = '템플릿 (위키 ë””ìžì¸)'; -$lang['tagline'] = '태그 ë¼ì¸ (í…œí”Œë¦¿ì´ ì§€ì›í• ë•Œì— í•œí•¨)'; -$lang['sidebar'] = '사ì´ë“œë°” 문서 ì´ë¦„ (í…œí”Œë¦¿ì´ ì§€ì›í• ë•Œì— í•œí•¨), 비워ë‘ë©´ 사ì´ë“œë°”를 비활성화'; -$lang['license'] = 'ë‚´ìš©ì— ì–´ë–¤ ë¼ì´ì„ 스를 ì ìš©í•˜ê² ìŠµë‹ˆê¹Œ?'; -$lang['savedir'] = 'ë°ì´í„° ì €ìž¥ ë””ë ‰í„°ë¦¬'; -$lang['basedir'] = '서버 경로 (예를 들어 <code>/dokuwiki/</code>). ìžë™ ê°ì§€ë¥¼ í•˜ë ¤ë©´ 비우세요.'; -$lang['baseurl'] = '서버 URL (예를 들어 <code>http://www.yourserver.com</code>). ìžë™ ê°ì§€ë¥¼ í•˜ë ¤ë©´ 비우세요.'; -$lang['cookiedir'] = 'ì¿ í‚¤ 위치. 비워ë‘ë©´ 기본 URL 위치로 ì§€ì •ë©ë‹ˆë‹¤.'; +$lang['tagline'] = '태그ë¼ì¸ (í…œí”Œë¦¿ì´ ì§€ì›í• 경우)'; +$lang['sidebar'] = '사ì´ë“œë°” 문서 ì´ë¦„ (í…œí”Œë¦¿ì´ ì§€ì›í• 경우), 필드를 비우면 사ì´ë“œë°”를 비활성화'; +$lang['license'] = 'ë‚´ìš©ì„ ë°°í¬í• ë•Œ ì–´ë–¤ ë¼ì´ì„ ìŠ¤ì— ë”°ë¼ì•¼ 합니까?'; +$lang['savedir'] = 'ë°ì´í„°ë¥¼ ì €ìž¥í• ë””ë ‰í„°ë¦¬'; +$lang['basedir'] = '서버 경로 (예 <code>/dokuwiki/</code>). ìžë™ ê°ì§€ë¥¼ í•˜ë ¤ë©´ 비워 ë‘세요.'; +$lang['baseurl'] = '서버 URL (예 <code>http://www.yourserver.com</code>). ìžë™ ê°ì§€ë¥¼ í•˜ë ¤ë©´ 비워 ë‘세요.'; +$lang['cookiedir'] = 'ì¿ í‚¤ 경로. 기본 URL 위치로 ì§€ì •í•˜ë ¤ë©´ 비워 ë‘세요.'; $lang['dmode'] = 'ë””ë ‰í„°ë¦¬ 만들기 모드'; $lang['fmode'] = 'íŒŒì¼ ë§Œë“¤ê¸° 모드'; -$lang['allowdebug'] = '디버그 허용 <b>필요하지 않으면 비활성화하세요!</b>'; -$lang['recent'] = '최근 ë°”ë€ ë¬¸ì„œë‹¹ í•ëª© 수'; -$lang['recent_days'] = '최근 ë°”ë€ ë¬¸ì„œ 기준 시간 (ì¼)'; -$lang['breadcrumbs'] = '위치 "추ì " 수. 0으로 ì„¤ì •í•˜ë©´ 비활성화합니다.'; -$lang['youarehere'] = '계층형 위치 추ì (ë‹¤ìŒ ìœ„ì˜ ì˜µì…˜ì„ ë¹„í™œì„±í™”í•˜ê²Œ ë©ë‹ˆë‹¤)'; -$lang['fullpath'] = '문서 í•˜ë‹¨ì— ì „ì²´ 경로 보여주기'; -$lang['typography'] = '기호 대체'; -$lang['dformat'] = 'ë‚ ì§œ í˜•ì‹ (PHP <a href="http://www.php.net/strftime">strftime</a> 기능 ì°¸ê³ )'; +$lang['allowdebug'] = '디버그 허용. <b>필요하지 않으면 비활성화하세요!</b>'; +$lang['recent'] = '최근 바뀜ì—ì„œ 문서당 í•ëª© 수'; +$lang['recent_days'] = '최근 ë°”ë€œì„ ìœ ì§€í• ê¸°í•œ (ì¼)'; +$lang['breadcrumbs'] = 'ì´ë™ 경로 "추ì " 수. ë¹„í™œì„±í™”í•˜ë ¤ë©´ 0으로 ì„¤ì •í•˜ì„¸ìš”.'; +$lang['youarehere'] = '계층ì ì´ë™ 경로 사용 (다ìŒì— 위 ì˜µì…˜ì„ ë¹„í™œì„±í™”í•˜ê¸°ë¥¼ ì›í• ê²ë‹ˆë‹¤)'; +$lang['fullpath'] = 'ë°”ë‹¥ê¸€ì— ë¬¸ì„œì˜ ì „ì²´ 경로 ë°ížˆê¸°'; +$lang['typography'] = '타ì´í¬ê·¸ëž˜í”¼ 대체'; +$lang['dformat'] = 'ë‚ ì§œ í˜•ì‹ (PHPì˜ <a href="http://www.php.net/strftime">strftime</a> 함수 ì°¸ê³ )'; $lang['signature'] = '편집기ì—ì„œ 서명 ë²„íŠ¼ì„ ëˆ„ë¥¼ ë•Œ ë„£ì„ ë‚´ìš©'; -$lang['showuseras'] = 'ë§ˆì§€ë§‰ì— ë¬¸ì„œë¥¼ 편집한 사용ìžë¥¼ 보여줄지 여부'; -$lang['toptoclevel'] = '목차 최ìƒìœ„ í•ëª©'; -$lang['tocminheads'] = '목차 표시 여부를 ê²°ì •í• ìµœì†Œí•œì˜ ë¬¸ë‹¨ ì œëª© í•ëª©ì˜ 수'; -$lang['maxtoclevel'] = '목차 최대 단계'; -$lang['maxseclevel'] = '문단 최대 편집 단계'; +$lang['showuseras'] = '문서를 마지막으로 편집한 사용ìžë¥¼ 보여줄지 여부'; +$lang['toptoclevel'] = 'ëª©ì°¨ì˜ ìµœìƒìœ„ 단계'; +$lang['tocminheads'] = '목차를 ë„£ì„ ì—¬ë¶€ë¥¼ ê²°ì •í• ìµœì†Œ 문단 수'; +$lang['maxtoclevel'] = 'ëª©ì°¨ì˜ ìµœëŒ€ 단계'; +$lang['maxseclevel'] = 'ë¬¸ë‹¨ì˜ ìµœëŒ€ 편집 단계'; $lang['camelcase'] = 'ë§í¬ì— CamelCase 사용'; $lang['deaccent'] = '문서 ì´ë¦„ì„ ì§€ìš°ëŠ” 방법'; -$lang['useheading'] = '문서 ì´ë¦„으로 첫 문단 ì œëª© 사용'; -$lang['sneaky_index'] = '기본ì 으로 ë„ì¿ ìœ„í‚¤ëŠ” ìƒ‰ì¸ ëª©ë¡ì— ëª¨ë“ ì´ë¦„ê³µê°„ì„ ë³´ì—¬ì¤ë‹ˆë‹¤. -ì´ ì˜µì…˜ì„ ì„¤ì •í•˜ë©´ 사용ìžê°€ ì½ê¸° ê¶Œí•œì„ ê°€ì§€ê³ ìžˆì§€ ì•Šì€ ì´ë¦„ê³µê°„ì€ ë³´ì—¬ì£¼ì§€ 않습니다. ì ‘ê·¼ 가능한 하위 ì´ë¦„ê³µê°„ì„ ë³´ì´ì§€ 않게 ì„¤ì •í•˜ë©´ ìžë™ìœ¼ë¡œ ì„¤ì •ë©ë‹ˆë‹¤. íŠ¹ì • ACL ì„¤ì •ì€ ìƒ‰ì¸ ì‚¬ìš©ì´ ë¶ˆê°€ëŠ¥í•˜ê²Œ í• ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤.'; -$lang['hidepages'] = '검색, 사ì´íŠ¸ë§µê³¼ 기타 ìžë™ 색ì¸ì—ì„œ ì •ê·œ 표현ì‹ê³¼ ì¼ì¹˜í•˜ëŠ” 문서 숨기기'; +$lang['useheading'] = '문서 ì´ë¦„ì„ ì²« 문단 ì œëª©ìœ¼ë¡œ 사용'; +$lang['sneaky_index'] = '기본ì 으로, ë„ì¿ ìœ„í‚¤ëŠ” 사ì´íŠ¸ë§µì— ëª¨ë“ ì´ë¦„ê³µê°„ì„ ë³´ì—¬ì¤ë‹ˆë‹¤. ì´ ì˜µì…˜ì„ í™œì„±í™”í•˜ë©´ 사용ìžê°€ ì½ê¸° ê¶Œí•œì´ ì—†ëŠ” ì´ë¦„ê³µê°„ì„ ìˆ¨ê¸°ê²Œ ë©ë‹ˆë‹¤. íŠ¹ì • ACL ì„¤ì •ìœ¼ë¡œ 색ì¸ì„ ì‚¬ìš©í• ìˆ˜ 없게 í• ìˆ˜ 있는 ì ‘ê·¼í• ìˆ˜ 있는 하위 ì´ë¦„ê³µê°„ì„ ìˆ¨ê¸°ë©´ ì„¤ì •ë©ë‹ˆë‹¤.'; +$lang['hidepages'] = '검색, 사ì´íŠ¸ë§µ ë° ë‹¤ë¥¸ ìžë™ 색ì¸ì—ì„œ ì´ ì •ê·œ 표현ì‹ê³¼ ì¼ì¹˜í•˜ëŠ” 문서 숨기기'; $lang['useacl'] = 'ì ‘ê·¼ ì œì–´ ëª©ë¡ (ACL) 사용'; -$lang['autopasswd'] = 'ìžë™ìœ¼ë¡œ 만들어진 비밀번호'; -$lang['authtype'] = 'ì¸ì¦ ë°±-엔드'; +$lang['autopasswd'] = 'ìžë™ ìƒì„± 비밀번호'; +$lang['authtype'] = 'ì¸ì¦ 백엔드'; $lang['passcrypt'] = '비밀번호 암호화 방법'; -$lang['defaultgroup'] = '기본 그룹, ëª¨ë“ ìƒˆ 사용ìžëŠ” ì´ ê·¸ë£¹ì— ì†í•©ë‹ˆë‹¤'; -$lang['superuser'] = 'ìŠˆí¼ ìœ ì € - ACL ì„¤ì •ê³¼ ìƒê´€ì—†ì´ ëª¨ë“ ë¬¸ì„œì™€ ê¸°ëŠ¥ì— ëŒ€í•œ ì „ì²´ ì ‘ê·¼ ê¶Œí•œì„ ê°€ì§„ 그룹ì´ë‚˜ ì‚¬ìš©ìž ë˜ëŠ” 사용ìž1,@그룹1,사용ìž2 쉼표로 구분한 목ë¡'; -$lang['manager'] = 'ê´€ë¦¬ìž - 관리 ê¸°ëŠ¥ì„ ì‚¬ìš©í• ìˆ˜ 있는 그룹ì´ë‚˜ ì‚¬ìš©ìž ë˜ëŠ” 사용ìž1,@그룹1,사용ìž2 쉼표로 구분한 목ë¡'; -$lang['profileconfirm'] = 'ê°œì¸ ì •ë³´ë¥¼ 바꿀 ë•Œ 비밀번호 다시 확ì¸'; -$lang['rememberme'] = 'í•ìƒ ë¡œê·¸ì¸ ì •ë³´ ì €ìž¥ 허용 (기억하기)'; -$lang['disableactions'] = 'ë„ì¿ ìœ„í‚¤ í™œë™ ë¹„í™œì„±í™”'; +$lang['defaultgroup'] = '기본 그룹, ëª¨ë“ ìƒˆ 사용ìžëŠ” ì´ ê·¸ë£¹ì— ì†í•˜ê²Œ ë©ë‹ˆë‹¤'; +$lang['superuser'] = '슈í¼ìœ ì € - ACL ì„¤ì •ê³¼ ìƒê´€ì—†ì´ ëª¨ë“ ë¬¸ì„œì™€ ê¸°ëŠ¥ì— ì™„ì „ížˆ ì ‘ê·¼í• ìˆ˜ 있는 그룹, ì‚¬ìš©ìž ë˜ëŠ” 쉼표로 êµ¬ë¶„ëœ ëª©ë¡ ì‚¬ìš©ìž1,@그룹1,사용ìž2'; +$lang['manager'] = 'ê´€ë¦¬ìž - íŠ¹ì • 관리 ê¸°ëŠ¥ì— ì ‘ê·¼í• ìˆ˜ 있는 그룹, ì‚¬ìš©ìž ë˜ëŠ” 쉼표로 êµ¬ë¶„ëœ ëª©ë¡ ì‚¬ìš©ìž1,@그룹1,사용ìž2'; +$lang['profileconfirm'] = 'í”„ë¡œí•„ì„ ë°”ê¿€ ë•Œ 비밀번호로 확ì¸'; +$lang['rememberme'] = 'ì˜êµ¬ì 으로 ë¡œê·¸ì¸ ì¿ í‚¤ 허용 (기억하기)'; +$lang['disableactions'] = 'ë„ì¿ ìœ„í‚¤ ë™ìž‘ 비활성화'; $lang['disableactions_check'] = '검사'; -$lang['disableactions_subscription'] = 'êµ¬ë… ì‹ ì²/êµ¬ë… ì·¨ì†Œ'; +$lang['disableactions_subscription'] = '구ë…/êµ¬ë… ì·¨ì†Œ'; $lang['disableactions_wikicode'] = 'ì›ë³¸ 보기/ì›ë³¸ 내보내기'; -$lang['disableactions_other'] = '다른 í™œë™ (쉼표로 구분)'; -$lang['auth_security_timeout'] = 'ì¸ì¦ 보안 초과 시간 (ì´ˆ)'; -$lang['securecookie'] = 'HTTPSë¡œ 보내진 ì¿ í‚¤ëŠ” HTTPSì—만 ì ìš© í• ê¹Œìš”? ìœ„í‚¤ì˜ ë¡œê·¸ì¸ íŽ˜ì´ì§€ë§Œ SSLë¡œ ì•”í˜¸í™”í•˜ê³ ìœ„í‚¤ 문서는 ê·¸ë ‡ì§€ ì•Šì€ ê²½ìš° 비활성화 합니다.'; -$lang['remote'] = 'ì›ê²© API를 활성화 합니다. ì´ í•ëª©ì„ 허용하면 XML-RPC ë° ê¸°íƒ€ ë©”ì»¤ë‹ˆì¦˜ì„ í†µí•´ 다른 어플리케ì´ì…˜ìœ¼ë¡œ ì ‘ê·¼ 가능합니다.'; -$lang['remoteuser'] = 'ì´ í•ëª©ì— ìž…ë ¥ëœ ì‰¼í‘œë¡œ ë‚˜ëˆ ì§„ 그룹ì´ë‚˜ 사용ìžì—게 ì›ê²© API ì ‘ê·¼ì„ ì œí•œí•©ë‹ˆë‹¤. 빈칸으로 ë‘ë©´ 모ë‘ì—게 허용합니다.'; -$lang['usewordblock'] = '금지 단어를 사용해 스팸 막기'; +$lang['disableactions_profile_delete'] = 'ìžì‹ ì˜ ê³„ì • ì‚ì œ'; +$lang['disableactions_other'] = '다른 ë™ìž‘ (쉼표로 구분)'; +$lang['disableactions_rss'] = 'XML ì‹ ë””ì¼€ì´ì…˜ (RSS)'; +$lang['auth_security_timeout'] = 'ì¸ì¦ 보안 시간 초과 (ì´ˆ)'; +$lang['securecookie'] = 'HTTPS를 통해 ì„¤ì •ëœ ì¿ í‚¤ëŠ” HTTPS를 통해서만 ë³´ë‚´ì ¸ì•¼ 합니까? 위키 로그ì¸ì—만 SSLë¡œ ë³´í˜¸í•˜ê³ ìœ„í‚¤ë¥¼ 둘러보는 것ì—는 보호하지 않게 í•˜ë ¤ë©´ ì´ ì˜µì…˜ì„ ë¹„í™œì„±í™”í•˜ì„¸ìš”.'; +$lang['remote'] = 'ì›ê²© API 시스템 활성화. 다른 어플리케ì´ì…˜ì´ XML-RPC ë˜ëŠ” 다른 ë©”ì»¤ë‹ˆì¦˜ì„ í†µí•´ ìœ„í‚¤ì— ì ‘ê·¼í• ìˆ˜ 있습니다.'; +$lang['remoteuser'] = 'ì—¬ê¸°ì— ìž…ë ¥í•œ 쉼표로 êµ¬ë¶„ëœ ê·¸ë£¹ ë˜ëŠ” 사용ìžì—게 ì›ê²© API ì ‘ê·¼ì„ ì œí•œí•©ë‹ˆë‹¤. 모ë‘ì—게 ì ‘ê·¼ ê¶Œí•œì„ ì£¼ë ¤ë©´ 비워 ë‘세요.'; +$lang['usewordblock'] = 'ë‚±ë§ ëª©ë¡ì„ 바탕으로 스팸 막기'; $lang['relnofollow'] = '바깥 ë§í¬ì— rel="nofollow" 사용'; -$lang['indexdelay'] = 'ìƒ‰ì¸ ì—°ê¸° 시간 (ì´ˆ)'; +$lang['indexdelay'] = 'ìƒ‰ì¸ ì „ 지연 시간 (ì´ˆ)'; $lang['mailguard'] = 'ì´ë©”ì¼ ì£¼ì†Œë¥¼ 알아볼 수 없게 하기'; $lang['iexssprotect'] = '올린 파ì¼ì˜ 악성 ìžë°”스í¬ë¦½íŠ¸, HTML 코드 가능성 여부를 검사'; -$lang['usedraft'] = '편집하는 ë™ì•ˆ ìžë™ìœ¼ë¡œ 문서 초안 ì €ìž¥'; -$lang['htmlok'] = 'HTML 내장 허용'; -$lang['phpok'] = 'PHP 내장 허용'; -$lang['locktime'] = '최대 íŒŒì¼ ìž ê¸ˆ 시간(ì´ˆ)'; -$lang['cachetime'] = '최대 ìºì‹œ ìƒì¡´ 시간 (ì´ˆ)'; +$lang['usedraft'] = '편집하는 ë™ì•ˆ ìžë™ìœ¼ë¡œ 초안 ì €ìž¥'; +$lang['htmlok'] = 'HTML í¬í•¨ 허용'; +$lang['phpok'] = 'PHP í¬í•¨ 허용'; +$lang['locktime'] = 'íŒŒì¼ ìž ê·¸ê¸°ì— ëŒ€í•œ 최대 시간 (ì´ˆ)'; +$lang['cachetime'] = 'ìºì‹œì— 대한 최대 시간 (ì´ˆ)'; $lang['target____wiki'] = '안쪽 ë§í¬ì— 대한 타겟 ì°½'; $lang['target____interwiki'] = 'ì¸í„°ìœ„키 ë§í¬ì— 대한 타겟 ì°½'; $lang['target____extern'] = '바깥 ë§í¬ì— 대한 타겟 ì°½'; $lang['target____media'] = '미디어 ë§í¬ì— 대한 타겟 ì°½'; -$lang['target____windows'] = 'ì°½ ë§í¬ì— 대한 타겟 ì°½'; -$lang['mediarevisions'] = '미디어 íŒ ê´€ë¦¬ë¥¼ ì‚¬ìš©í•˜ê² ìŠµë‹ˆê¹Œ?'; -$lang['refcheck'] = '미디어 파ì¼ì„ ì‚ì œí•˜ê¸° ì „ì— ì‚¬ìš©í•˜ê³ ìžˆëŠ”ì§€ 검사'; +$lang['target____windows'] = 'Windows ë§í¬ì— 대한 타겟 ì°½'; +$lang['mediarevisions'] = '미디어 íŒì„ í™œì„±í™”í•˜ê² ìŠµë‹ˆê¹Œ?'; +$lang['refcheck'] = '미디어 파ì¼ì„ ì‚ì œí•˜ê¸° ì „ì— ì•„ì§ ì‚¬ìš©í•˜ê³ ìžˆëŠ”ì§€ 검사'; $lang['gdlib'] = 'GD ë¼ì´ë¸ŒëŸ¬ë¦¬ ë²„ì „'; -$lang['im_convert'] = 'ImageMagick 변환 ë„구 위치'; +$lang['im_convert'] = 'ImageMagickì˜ ë³€í™˜ ë„êµ¬ì˜ ê²½ë¡œ'; $lang['jpg_quality'] = 'JPG 압축 품질 (0-100)'; -$lang['fetchsize'] = 'fetch.phpê°€ 바깥ì—ì„œ ë‹¤ìš´ë¡œë“œí• ìˆ˜ë„ ìžˆëŠ” 최대 í¬ê¸° (ë°”ì´íŠ¸)'; -$lang['subscribers'] = '사용ìžê°€ ì´ë©”ì¼ë¡œ 문서 ë°”ë€œì— êµ¬ë…하ë„ë¡ í—ˆìš©'; -$lang['subscribe_time'] = 'êµ¬ë… ëª©ë¡ê³¼ ìš”ì•½ì´ ë³´ë‚´ì§ˆ 경과 시간 (ì´ˆ); recent_daysì—ì„œ ì„¤ì •ëœ ì‹œê°„ë³´ë‹¤ 작아야 합니다.'; +$lang['fetchsize'] = 'fetch.phpê°€ 바깥 URLì—ì„œ ë‹¤ìš´ë¡œë“œí• ìˆ˜ 있는 최대 í¬ê¸° (ë°”ì´íŠ¸), 예를 들어 바깥 ê·¸ë¦¼ì„ ìºì‹œí•˜ê³ í¬ê¸° ì¡°ì ˆí• ë•Œ.'; +$lang['subscribers'] = '사용ìžê°€ ì´ë©”ì¼ë¡œ 문서 ë°”ë€œì„ êµ¬ë…하는 ê²ƒì„ í—ˆìš©'; +$lang['subscribe_time'] = 'êµ¬ë… ëª©ë¡ê³¼ ìš”ì•½ì´ ë³´ë‚´ì§ˆ 경과 시간 (ì´ˆ); recent_daysì— ì§€ì •ëœ ì‹œê°„ë³´ë‹¤ 작아야 합니다.'; $lang['notify'] = 'í•ìƒ ì´ ì´ë©”ì¼ ì£¼ì†Œë¡œ 바뀜 ì•Œë¦¼ì„ ë³´ëƒ„'; -$lang['registernotify'] = 'í•ìƒ 새 사용ìží•œí…Œ ì´ ì´ë©”ì¼ ì£¼ì†Œë¡œ ì •ë³´ë¥¼ 보냄'; -$lang['mailfrom'] = 'ìžë™ìœ¼ë¡œ 보내지는 ë©”ì¼ ë°œì‹ ìž'; -$lang['mailprefix'] = 'ìžë™ìœ¼ë¡œ 보내지는 ë©”ì¼ì˜ ì œëª© ë§ë¨¸ë¦¬ ë‚´ìš©. ë¹„ì› ì„ ê²½ìš° 위키 ì œëª© 사용'; -$lang['htmlmail'] = 'ìš©ëŸ‰ì€ ì¡°ê¸ˆ ë” í¬ì§€ë§Œ 보기 ì¢‹ì€ HTML 태그가 í¬í•¨ëœ ë©”ì¼ì„ 보냅니다. í…ìŠ¤íŠ¸ë§Œì˜ ë©”ì¼ì„ ë³´ë‚´ë ¤ë©´ 비활성화하세요.'; -$lang['sitemap'] = '구글 사ì´íŠ¸ë§µ ìƒì„± ë‚ ì§œ 빈ë„. 0ì¼ ê²½ìš° 비활성화합니다'; -$lang['rss_type'] = 'XML 피드 타입'; +$lang['registernotify'] = 'í•ìƒ ì´ ì´ë©”ì¼ ì£¼ì†Œë¡œ 새로 등ë¡í•œ 사용ìžì˜ ì •ë³´ë¥¼ 보냄'; +$lang['mailfrom'] = 'ìžë™ìœ¼ë¡œ 보내는 ë©”ì¼ì— ì‚¬ìš©í• ë³´ë‚´ëŠ” 사람 ì´ë©”ì¼ ì£¼ì†Œ'; +$lang['mailprefix'] = 'ìžë™ìœ¼ë¡œ 보내는 ë©”ì¼ì— ì‚¬ìš©í• ì´ë©”ì¼ ì œëª© ì ‘ë‘ì–´. 위키 ì œëª©ì„ ì‚¬ìš©í•˜ë ¤ë©´ 비워 ë‘세요'; +$lang['htmlmail'] = '보기ì—는 ë” ì¢‹ì§€ë§Œ í¬í‚¤ê°€ 조금 ë” í° HTML 태그가 í¬í•¨ëœ ì´ë©”ì¼ì„ 보내기. ì¼ë°˜ í…스트만으로 ëœ ë©”ì¼ì„ ë³´ë‚´ë ¤ë©´ 비활성화하세요.'; +$lang['sitemap'] = 'Google 사ì´íŠ¸ë§µ ìƒì„± ë‚ ì§œ ë¹ˆë„ (ì¼). ë¹„í™œì„±í™”í•˜ë ¤ë©´ 0'; +$lang['rss_type'] = 'XML 피드 형ì‹'; $lang['rss_linkto'] = 'XML 피드 ë§í¬ ì •ë³´'; -$lang['rss_content'] = 'XML 피드 í•ëª©ì— 표시ë˜ëŠ” ë‚´ìš©ì€ ë¬´ì—‡ìž…ë‹ˆê¹Œ?'; -$lang['rss_update'] = 'XML 피드 ì—…ë°ì´íŠ¸ 주기 (ì´ˆ)'; -$lang['rss_show_summary'] = 'XML 피드 ì œëª©ì—ì„œ 요약 보여주기'; -$lang['rss_media'] = 'ì–´ë–¤ 규격으로 XML 피드를 ë°›ì•„ë³´ì‹œê² ìŠµë‹ˆê¹Œ?'; -$lang['updatecheck'] = 'ì—…ë°ì´íŠ¸ì™€ 보안 ë¬¸ì œë¥¼ ê²€ì‚¬í• ê¹Œìš”? ì´ ê¸°ëŠ¥ì„ ì‚¬ìš©í•˜ë ¤ë©´ ë„ì¿ ìœ„í‚¤ë¥¼ update.dokuwiki.orgì— ì—°ê²°í•´ì•¼ 합니다.'; +$lang['rss_content'] = 'XML 피드 í•ëª©ì— 보여주는 ë‚´ìš©ì€ ë¬´ì—‡ìž…ë‹ˆê¹Œ?'; +$lang['rss_update'] = 'XML 피드 ì—…ë°ì´íŠ¸ 간격 (ì´ˆ)'; +$lang['rss_show_summary'] = 'XML í”¼ë“œì˜ ì œëª©ì—ì„œ 요악 보여주기'; +$lang['rss_media'] = 'ì–´ë–¤ 규격으로 XML í”¼ë“œì— ë°”ë€œì„ ë‚˜ì—´í•´ì•¼ 합니까?'; +$lang['updatecheck'] = 'ë°ì´íŠ¸ì™€ 보안 ê²½ê³ ë¥¼ ê²€ì‚¬í• ê¹Œìš”? ë„ì¿ ìœ„í‚¤ëŠ” ì´ ê¸°ëŠ¥ì„ ìœ„í•´ update.dokuwiki.orgì— ì—°ê²°ì´ í•„ìš”í•©ë‹ˆë‹¤.'; $lang['userewrite'] = '멋진 URL 사용'; -$lang['useslash'] = 'URLì—ì„œ ì´ë¦„ 구분ìžë¡œ 슬래시 ë¬¸ìž ì‚¬ìš©'; -$lang['sepchar'] = '문서 ì´ë¦„ 단어 구분ìž'; +$lang['useslash'] = 'URLì—ì„œ ì´ë¦„공간 구분ìžë¡œ 슬래시 사용'; +$lang['sepchar'] = '문서 ì´ë¦„ ë‚±ë§ êµ¬ë¶„ìž'; $lang['canonical'] = 'ì™„ì „í•œ canonical URL 사용'; -$lang['fnencode'] = 'ASCIIê°€ ì•„ë‹Œ íŒŒì¼ ì´ë¦„ì„ ì¸ì½”딩 하는 방법.'; -$lang['autoplural'] = 'ë§í¬ ì—°ê²°ì‹œ 복수 ì–‘ì‹ ê²€ì‚¬'; -$lang['compression'] = '첨부 íŒŒì¼ ì••ì¶• 방법 ì„ íƒ'; -$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['xsendfile'] = '웹 서버가 ì •ì 파ì¼ì„ ì œê³µí•˜ë„ë¡ X-Sendfile í—¤ë”를 ì‚¬ìš©í•˜ê² ìŠµë‹ˆê¹Œ? 웹 서버가 ì´ ê¸°ëŠ¥ì„ ì§€ì›í•´ì•¼ 합니다.'; -$lang['renderer_xhtml'] = '주 (xhtml) 위키 ì¶œë ¥ 처리기'; -$lang['renderer__core'] = '%s (ë„ì¿ ìœ„í‚¤ 내부)'; +$lang['fnencode'] = 'ASCIIê°€ ì•„ë‹Œ íŒŒì¼ ì´ë¦„ì„ ì¸ì½”딩하는 방법.'; +$lang['autoplural'] = 'ë§í¬ì—ì„œ 복수형 검사'; +$lang['compression'] = '첨부 파ì¼ì˜ 압축 방법'; +$lang['gzip_output'] = 'xhtmlì— ëŒ€í•´ 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['xsendfile'] = '웹 서버가 ì •ì 파ì¼ì„ ì œê³µí• ìˆ˜ 있ë„ë¡ X-Sendfile í—¤ë”를 ì‚¬ìš©í•˜ê² ìŠµë‹ˆê¹Œ? 웹 서버가 ì´ ê¸°ëŠ¥ì„ ì§€ì›í•´ì•¼ 합니다.'; +$lang['renderer_xhtml'] = '주요 (xhtml) 위키 ì¶œë ¥ì— ì‚¬ìš©í• ë Œë”러'; +$lang['renderer__core'] = '%s (ë„ì¿ ìœ„í‚¤ 코어)'; $lang['renderer__plugin'] = '%s (플러그ì¸)'; -$lang['dnslookups'] = 'ì´ ì˜µì…˜ì„ í™œì„±í™”í•˜ë©´ ë„ì¿ ìœ„í‚¤ê°€ 문서를 편집하는 사용ìžì˜ 호스트 네임과 ì›ê²© IP 주소를 확ì¸í•©ë‹ˆë‹¤. 서버가 ëŠë¦¬ê±°ë‚˜, DNS를 ìš´ì˜í•˜ì§€ 않거나 ì´ ê¸°ëŠ¥ì„ ì›ì¹˜ 않으면 비활성화하세요'; +$lang['dnslookups'] = 'ë„ì¿ ìœ„í‚¤ê°€ 문서를 편집하는 사용ìžì˜ ì›ê²© IP ì£¼ì†Œì— ëŒ€í•œ 호스트 ì´ë¦„ì„ ì¡°íšŒí•©ë‹ˆë‹¤. 서버가 ëŠë¦¬ê±°ë‚˜ DNS 서버를 ìž‘ë™í•˜ì§€ 않거나 ì´ ê¸°ëŠ¥ì„ ì›í•˜ì§€ 않으면, ì´ ì˜µì…˜ì„ ë¹„í™œì„±í™”í•˜ì„¸ìš”'; $lang['proxy____host'] = '프ë¡ì‹œ 서버 ì´ë¦„'; -$lang['proxy____port'] = '프ë¡ì‹œ 서버 í¬íŠ¸'; +$lang['proxy____port'] = '프ë¡ì‹œ í¬íŠ¸'; $lang['proxy____user'] = '프ë¡ì‹œ ì‚¬ìš©ìž ì´ë¦„'; $lang['proxy____pass'] = '프ë¡ì‹œ 비밀번호'; -$lang['proxy____ssl'] = '프ë¡ì‹œ ì—°ê²°ì‹œ SSL 사용'; -$lang['proxy____except'] = '프ë¡ì‹œ ì„¤ì •ì´ ë¬´ì‹œë URLì£¼ì†Œì˜ ì •ê·œ 표현ì‹'; -$lang['safemodehack'] = 'safemode hack기능 사용'; +$lang['proxy____ssl'] = '프ë¡ì‹œë¡œ 연결하는 ë° SSL 사용'; +$lang['proxy____except'] = '프ë¡ì‹œê°€ 건너뛰어야 í• ì¼ì¹˜í•˜ëŠ” URLì˜ ì •ê·œ 표현ì‹.'; +$lang['safemodehack'] = 'safemode hack 활성화'; $lang['ftp____host'] = 'safemode hackì˜ FTP 서버'; $lang['ftp____port'] = 'safemode hackì˜ FTP í¬íŠ¸'; $lang['ftp____user'] = 'safemode hackì˜ FTP ì‚¬ìš©ìž ì´ë¦„'; $lang['ftp____pass'] = 'safemode hackì˜ FTP 비밀번호'; $lang['ftp____root'] = 'safemode hackì˜ FTP 루트 ë””ë ‰í„°ë¦¬'; $lang['license_o_'] = 'ì„ íƒí•˜ì§€ ì•ŠìŒ'; -$lang['typography_o_0'] = '사용 안함'; -$lang['typography_o_1'] = 'ì´ì¤‘ ì¸ìš©ë¶€í˜¸("")만 지ì›'; -$lang['typography_o_2'] = 'ëª¨ë“ ê°€ëŠ¥í•œ ì¸ìš© 부호 (ë™ìž‘ 안ë ìˆ˜ë„ ìžˆìŒ)'; -$lang['userewrite_o_0'] = '사용 안함'; +$lang['typography_o_0'] = 'ì—†ìŒ'; +$lang['typography_o_1'] = 'ìž‘ì€ë”°ì˜´í‘œë¥¼ ì œì™¸'; +$lang['typography_o_2'] = 'ìž‘ì€ë”°ì˜´í‘œë¥¼ í¬í•¨ (í•ìƒ ë™ìž‘하지 ì•Šì„ ìˆ˜ë„ ìžˆìŒ)'; +$lang['userewrite_o_0'] = 'ì—†ìŒ'; $lang['userewrite_o_1'] = '.htaccess'; -$lang['userewrite_o_2'] = 'ë„ì¿ ìœ„í‚¤ 내부 기능'; +$lang['userewrite_o_2'] = 'ë„ì¿ ìœ„í‚¤ 내부'; $lang['deaccent_o_0'] = 'ë„기'; $lang['deaccent_o_1'] = '악센트 ì œê±°'; -$lang['deaccent_o_2'] = 'ë¼í‹´ë¬¸ìží™”'; -$lang['gdlib_o_0'] = 'GD ë¼ì´ë¸ŒëŸ¬ë¦¬ 사용 불가'; +$lang['deaccent_o_2'] = '로마ìží™”'; +$lang['gdlib_o_0'] = 'GD ë¼ì´ë¸ŒëŸ¬ë¦¬ë¥¼ ì‚¬ìš©í• ìˆ˜ ì—†ìŒ'; $lang['gdlib_o_1'] = 'ë²„ì „ 1.x'; -$lang['gdlib_o_2'] = 'ìžë™ ì¸ì‹'; +$lang['gdlib_o_2'] = 'ìžë™ ê°ì§€'; $lang['rss_type_o_rss'] = 'RSS 0.91'; $lang['rss_type_o_rss1'] = 'RSS 1.0'; $lang['rss_type_o_rss2'] = 'RSS 2.0'; $lang['rss_type_o_atom'] = 'Atom 0.3'; $lang['rss_type_o_atom1'] = 'Atom 1.0'; $lang['rss_content_o_abstract'] = '개요'; -$lang['rss_content_o_diff'] = '통합 ì°¨ì´ ëª©ë¡'; -$lang['rss_content_o_htmldiff'] = 'HTML ì°¨ì´ ëª©ë¡ í˜•ì‹'; -$lang['rss_content_o_html'] = '최대 HTML 페ì´ì§€ ë‚´ìš©'; +$lang['rss_content_o_diff'] = '통합 ì°¨ì´'; +$lang['rss_content_o_htmldiff'] = 'HTML 형ì‹ì˜ ì°¨ì´ í‘œ'; +$lang['rss_content_o_html'] = 'ì „ì²´ HTML 페ì´ì§€ ë‚´ìš©'; $lang['rss_linkto_o_diff'] = 'ì°¨ì´ ë³´ê¸°'; -$lang['rss_linkto_o_page'] = 'ë°”ë€ ë¬¸ì„œ 보기'; -$lang['rss_linkto_o_rev'] = 'ë°”ë€ ëª©ë¡ ë³´ê¸°'; -$lang['rss_linkto_o_current'] = '현재 문서 보기'; +$lang['rss_linkto_o_page'] = 'ê°œì •ëœ ë¬¸ì„œ'; +$lang['rss_linkto_o_rev'] = 'íŒì˜ 목ë¡'; +$lang['rss_linkto_o_current'] = '현재 문서'; $lang['compression_o_0'] = 'ì—†ìŒ'; $lang['compression_o_gz'] = 'gzip'; $lang['compression_o_bz2'] = 'bz2'; -$lang['xsendfile_o_0'] = '사용 불가'; -$lang['xsendfile_o_1'] = '비공개 lighttpd í—¤ë” (1.5 ì´ì „ ë²„ì „)'; +$lang['xsendfile_o_0'] = '사용하지 ì•ŠìŒ'; +$lang['xsendfile_o_1'] = 'ì‚¬ìœ lighttpd í—¤ë” (릴리스 1.5 ì´ì „)'; $lang['xsendfile_o_2'] = '표준 X-Sendfile í—¤ë”'; -$lang['xsendfile_o_3'] = '비공개 Nginx X-Accel-Redirect í—¤ë”'; +$lang['xsendfile_o_3'] = 'ì‚¬ìœ Nginx X-Accel-Redirect í—¤ë”'; $lang['showuseras_o_loginname'] = 'ë¡œê·¸ì¸ ì´ë¦„'; -$lang['showuseras_o_username'] = '사용ìžì˜ ì „ì²´ ì´ë¦„'; +$lang['showuseras_o_username'] = '사용ìžì˜ 실명'; +$lang['showuseras_o_username_link'] = 'ì¸í„°ìœ„키 ì‚¬ìš©ìž ë§í¬ë¡œ ëœ ì‚¬ìš©ìžì˜ 실명'; $lang['showuseras_o_email'] = '사용ìžì˜ ì´ë©”ì¼ ì£¼ì†Œ (ë©”ì¼ ì£¼ì†Œ ì„¤ì •ì— ë”°ë¼ ì•ˆë³´ì¼ ìˆ˜ 있ìŒ)'; -$lang['showuseras_o_email_link'] = 'mailto: linkë¡œ 표현ë ì‚¬ìš©ìž ì´ë©”ì¼ ì£¼ì†Œ'; -$lang['useheading_o_0'] = '아니오'; +$lang['showuseras_o_email_link'] = 'mailto: ë§í¬ë¡œ ëœ ì‚¬ìš©ìžì˜ ì´ë©”ì¼ ì£¼ì†Œ'; +$lang['useheading_o_0'] = 'ì „í˜€ ì—†ìŒ'; $lang['useheading_o_navigation'] = '둘러보기ì—만'; $lang['useheading_o_content'] = '위키 ë‚´ìš©ì—만'; $lang['useheading_o_1'] = 'í•ìƒ'; -$lang['readdircache'] = 'readdir ìºì‹œë¥¼ 위한 최대 시간 (ì´ˆ)'; +$lang['readdircache'] = 'readdir ìºì‹œì˜ 최대 시간 (ì´ˆ)'; diff --git a/lib/plugins/config/lang/la/intro.txt b/lib/plugins/config/lang/la/intro.txt index 573d34ac1e42943f3c06ca3ed8b0e4da6dd2914f..51d8c3d711f7034a64cda573ec3504d95dd84a03 100644 --- a/lib/plugins/config/lang/la/intro.txt +++ b/lib/plugins/config/lang/la/intro.txt @@ -4,4 +4,4 @@ In hac pagina administratoris optiones mutare et inspicere potes. Auxilia in pag Optiones ostensae rubro colore tutae et non nunc mutabiles sunt. Optiones ostensae caeruleo colore praecipuae sunt et optiones ostensae in area alba singulares huic uici sunt. Et caerulae et albae optiones mutabiles sunt. -Memento premere **SERVA** ante quam nouam paginam eas: si hoc non facias, mutata amissa sunt. \ No newline at end of file +Memento premere **SERVA** ante quam nouam paginam eas: si hoc non facias, mutata amissa sunt. diff --git a/lib/plugins/config/lang/mr/intro.txt b/lib/plugins/config/lang/mr/intro.txt index 12ada73a146c76f7fea7725d39df7bb1d7d73d6e..e068295e5aab88efbdcc14c2c15da54ed721271a 100644 --- a/lib/plugins/config/lang/mr/intro.txt +++ b/lib/plugins/config/lang/mr/intro.txt @@ -7,4 +7,4 @@ निळà¥à¤¯à¤¾ पारà¥à¤¶à¥à¤µà¤à¥‚मीमधे दाखवलेले सेटिंग आपोआप सेट होणारà¥à¤¯à¤¾ किमती आहेत आणि पांढरà¥à¤¯à¤¾ पारà¥à¤¶à¥à¤µà¤à¥‚मीमधे दाखवलेले सेटिंग या इनà¥à¤¸à¥à¤Ÿà¥‰à¤²à¥‡à¤¶à¤¨à¤¸à¤¾à¤ ी ख़ास सेट केलेले आहेत. निळे आणि पांढरे दोनà¥à¤¹à¥€ सेटिंग बदलता येतील. -हà¥à¤¯à¤¾ पानावरून बाहर जाणà¥à¤¯à¤¾à¤†à¤§à¥€ "Save" चे बटन कà¥à¤²à¤¿à¤• करायला विसरू नका नाहीतर सरà¥à¤µ बदल नाहीसे होतील. \ No newline at end of file +हà¥à¤¯à¤¾ पानावरून बाहर जाणà¥à¤¯à¤¾à¤†à¤§à¥€ "Save" चे बटन कà¥à¤²à¤¿à¤• करायला विसरू नका नाहीतर सरà¥à¤µ बदल नाहीसे होतील. diff --git a/lib/plugins/config/lang/nl/intro.txt b/lib/plugins/config/lang/nl/intro.txt index 3814b70bdf139c26558b1a2fe6b440beea9ebe53..4d72b695da1922ebde4292e58b5c3d79e63fe2ef 100644 --- a/lib/plugins/config/lang/nl/intro.txt +++ b/lib/plugins/config/lang/nl/intro.txt @@ -5,5 +5,3 @@ Gebruik deze pagina om de instellingen van je DokuWiki te bekijken en/of te wijz Instellingen met een rode achtergond kunnen niet worden gewijzigd met deze plugin. Instellingen met een blauwe achtergrond hebben de default waarde, en instellingen met een witte achtergrond zijn lokaal gewijzigd voor deze specifieke installatie. Zowel blauwe als witte instellingen kunnen worden gewijzigd. Vergeet niet op **Opslaan** te drukken alvorens de pagina te verlaten, anders gaan je wijzigingen verloren. - - diff --git a/lib/plugins/config/lang/nl/lang.php b/lib/plugins/config/lang/nl/lang.php index 14c8f9b1e311f6c167b166466031c4ab1faaa9f1..a9791b7871f60689230c11ed1f25d4f455450f72 100644 --- a/lib/plugins/config/lang/nl/lang.php +++ b/lib/plugins/config/lang/nl/lang.php @@ -1,8 +1,8 @@ <?php + /** - * dutch language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Pieter van der Meulen <pieter@vdmeulen.net> * @author Wouter Schoot <wouter@schoot.org> * @author John de Graaff <john@de-graaff.net> @@ -16,6 +16,8 @@ * @author Jeroen * @author Ricardo Guijt <ricardoguijt@gmail.com> * @author Gerrit <klapinklapin@gmail.com> + * @author Hugo Smet <hugo.smet@scarlet.be> + * @author hugo smet <hugo.smet@scarlet.be> */ $lang['menu'] = 'Configuratie-instellingen'; $lang['error'] = 'De instellingen zijn niet gewijzigd wegens een incorrecte waarde, kijk je wijzigingen na en sla dan opnieuw op.<br />Je kunt de incorrecte waarde(s) herkennen aan de rode rand.'; @@ -28,7 +30,7 @@ $lang['security'] = 'Beveiligingswaarschuwing: Het wijzigen van dez $lang['_configuration_manager'] = 'Configuratiemanager'; $lang['_header_dokuwiki'] = 'DokuWiki-instellingen'; $lang['_header_plugin'] = 'Plugin-instellingen'; -$lang['_header_template'] = 'Sjabloon-instellingen'; +$lang['_header_template'] = 'Template-instellingen'; $lang['_header_undefined'] = 'Ongedefinieerde instellingen'; $lang['_basic'] = 'Basisinstellingen'; $lang['_display'] = 'Beeldinstellingen'; @@ -47,9 +49,9 @@ $lang['_msg_setting_no_default'] = 'Geen standaard waarde.'; $lang['title'] = 'Titel van de wiki'; $lang['start'] = 'Naam startpagina'; $lang['lang'] = 'Taal'; -$lang['template'] = 'Sjabloon ofwel het design van de wiki.'; -$lang['tagline'] = 'Ondertitel (als het sjabloon dat ondersteunt)'; -$lang['sidebar'] = 'Zijbalk-paginanaam (als het sjabloon dat ondersteunt), leeg veld betekent geen zijbalk'; +$lang['template'] = 'Template ofwel het design van de wiki.'; +$lang['tagline'] = 'Ondertitel (als het template dat ondersteunt)'; +$lang['sidebar'] = 'Zijbalk-paginanaam (als het template dat ondersteunt), leeg veld betekent geen zijbalk'; $lang['license'] = 'Onder welke licentie zou je tekst moeten worden gepubliceerd?'; $lang['savedir'] = 'Directory om data op te slaan'; $lang['basedir'] = 'Basisdirectory'; @@ -89,7 +91,9 @@ $lang['disableactions'] = 'Aangevinkte DokuWiki-akties uitschakelen'; $lang['disableactions_check'] = 'Controleer'; $lang['disableactions_subscription'] = 'Inschrijven/opzeggen'; $lang['disableactions_wikicode'] = 'Bron bekijken/exporteer rauw'; +$lang['disableactions_profile_delete'] = 'Schrap eigen account'; $lang['disableactions_other'] = 'Andere akties (gescheiden door komma\'s)'; +$lang['disableactions_rss'] = 'XML Syndication (RSS)'; $lang['auth_security_timeout'] = 'Authenticatiebeveiligings-timeout (seconden)'; $lang['securecookie'] = 'Moeten cookies die via HTTPS gezet zijn alleen via HTTPS verzonden worden door de browser? Zet deze optie uit als alleen het inloggen op de wiki beveiligd is, maar het gebruik verder niet.'; $lang['remote'] = 'Activeer het remote API-systeem. Hiermee kunnen andere applicaties de wiki benaderen via XML-RPC of andere mechanismen.'; @@ -194,6 +198,7 @@ $lang['xsendfile_o_2'] = 'Standaard X-Sendfile header'; $lang['xsendfile_o_3'] = 'Merkgebonden Nginx X-Accel-Redirect header'; $lang['showuseras_o_loginname'] = 'Loginnaam'; $lang['showuseras_o_username'] = 'Volledige naam'; +$lang['showuseras_o_username_link'] = 'Gebruikers volledige naam als interwiki gebruikers link'; $lang['showuseras_o_email'] = 'E-mailadres (onherkenbaar gemaakt volgens mailguard-instelling)'; $lang['showuseras_o_email_link'] = 'E-mailadres als mailto: link'; $lang['useheading_o_0'] = 'Nooit'; diff --git a/lib/plugins/config/lang/pl/intro.txt b/lib/plugins/config/lang/pl/intro.txt index 72c0e1c13bb84a0842454aba321bc28c819c034c..9d85c7a7ccd99066502010d052f868926d4b7540 100644 --- a/lib/plugins/config/lang/pl/intro.txt +++ b/lib/plugins/config/lang/pl/intro.txt @@ -5,5 +5,3 @@ Na tej stronie można zmienić ustawienia tej instalacji DokuWiki. W celu uzyska Ustawienia w kolorze jasnoczerwonym sÄ… chronione i nie mogÄ… być zmienionÄ… z użyciem tej wtyczki. Ustawienia w kolorze niebieskim majÄ… domyÅ›lne wartoÅ›ci. Ustawienia w kolorze biaÅ‚ym sÄ… specyficzne dla tej instalacji. Ustawienia w kolorach niebieskim i biaÅ‚ym mogÄ… być zmienione. W celu zapisania nowej konfiguracji naciÅ›nij **zapisz** przed opuszczeniem tej strony. - - diff --git a/lib/plugins/config/lang/pt-br/intro.txt b/lib/plugins/config/lang/pt-br/intro.txt index 850ba25cb7e4363f58e7e8a1cdb2634b2db23d58..db31de4cf2e72c685c2b57f6c5a68c205e90ec1f 100644 --- a/lib/plugins/config/lang/pt-br/intro.txt +++ b/lib/plugins/config/lang/pt-br/intro.txt @@ -4,4 +4,4 @@ Use essa página para controlar as configurações da instalação do seu DokuWi Definições que apresentem um fundo vermelho claro são protegidas e não podem ser alteradas com esse plug-in. As definições com um fundo azul são o padrão e as com um fundo branco foram configuradas localmente para essa instalação em particular. Tanto as definições em azul quanto as em branco podem ser alteradas. -Lembre-se de pressionar o botão **Salvar** antes de sair dessa página, caso contrário, suas configurações serão perdidas. \ No newline at end of file +Lembre-se de pressionar o botão **Salvar** antes de sair dessa página, caso contrário, suas configurações serão perdidas. diff --git a/lib/plugins/config/lang/pt-br/lang.php b/lib/plugins/config/lang/pt-br/lang.php index 795ee81c0c9c364de9473aedbaaa897b458b8b43..abda9640ec7d90a5b551777a719df8455394c902 100644 --- a/lib/plugins/config/lang/pt-br/lang.php +++ b/lib/plugins/config/lang/pt-br/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Portuguese language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Frederico Gonçalves Guimarães <frederico@teia.bio.br> * @author Felipe Castro <fefcas@gmail.com> * @author Lucien Raven <lucienraven@yahoo.com.br> @@ -17,6 +18,7 @@ * @author Isaias Masiero Filho <masiero@masiero.org> * @author Balaco Baco <balacobaco@imap.cc> * @author Victor Westmann <victor.westmann@gmail.com> + * @author Guilherme Cardoso <guicardoso@gmail.com> */ $lang['menu'] = 'Configurações do DokuWiki'; $lang['error'] = 'As configurações não foram atualizadas devido a um valor inválido. Por favor, reveja suas alterações e reenvie-as.<br />O(s) valor(es) incorreto(s) serão exibidos contornados por uma borda vermelha.'; @@ -92,7 +94,9 @@ $lang['disableactions'] = 'Desabilitar as ações do DokuWiki'; $lang['disableactions_check'] = 'Verificação'; $lang['disableactions_subscription'] = 'Monitoramento'; $lang['disableactions_wikicode'] = 'Ver a fonte/Exportar sem processamento'; +$lang['disableactions_profile_delete'] = 'Excluir a própria conta'; $lang['disableactions_other'] = 'Outras ações (separadas por vÃrgula)'; +$lang['disableactions_rss'] = 'Sindicância XML (RSS)'; $lang['auth_security_timeout'] = 'Tempo limite de segurança para autenticações (seg)'; $lang['securecookie'] = 'Os cookies definidos via HTTPS devem ser enviados para o navegador somente via HTTPS? Desabilite essa opção quando somente a autenticação do seu wiki for realizada de maneira segura via SSL e a navegação, de maneira insegura.'; $lang['remote'] = 'Habilitar o sistema de API remota. Isso permite que outras aplicações acessem o wiki via XML-RPC ou outros mecanismos.'; @@ -197,6 +201,7 @@ $lang['xsendfile_o_2'] = 'cabeçalho "X-Sendfile" padrão'; $lang['xsendfile_o_3'] = 'cabeçalho proprietário "Nginx X-Accel-Redirect"'; $lang['showuseras_o_loginname'] = 'nome de usuário'; $lang['showuseras_o_username'] = 'nome completo do usuário'; +$lang['showuseras_o_username_link'] = 'Nome completo do usuário como um link de usuário interwiki'; $lang['showuseras_o_email'] = 'endereço de e-mail do usuário (obscurecido segundo a definição anterior)'; $lang['showuseras_o_email_link'] = 'endereço de e-mail de usuário como um link "mailto:"'; $lang['useheading_o_0'] = 'nunca'; diff --git a/lib/plugins/config/lang/pt/intro.txt b/lib/plugins/config/lang/pt/intro.txt index 2010dadafa50eec22a952a6a03b5b8c5cbb7456c..06a68c4750c866f016b967dfdeb53377701538d8 100644 --- a/lib/plugins/config/lang/pt/intro.txt +++ b/lib/plugins/config/lang/pt/intro.txt @@ -4,4 +4,4 @@ Use esta página para controlar as definições da instalação do seu DokuWiki. Definições que apresentem um fundo vermelho claro são protegidas e não podem ser alteradas com este plugin. Definições com um fundo azul são padrão e definições com um fundo branco foram configuradas localmente para essa instalação em particular. Tanto as definições em azul como em branco podem ser alteradas. -Lembre-se de pressionar o botão **Guardar** antes de sair desta página, caso contrário, as suas definições serão perdidas. \ No newline at end of file +Lembre-se de pressionar o botão **Guardar** antes de sair desta página, caso contrário, as suas definições serão perdidas. diff --git a/lib/plugins/config/lang/pt/lang.php b/lib/plugins/config/lang/pt/lang.php index 7a9111c62b9d933ffefa7dde9a11b1f29d150538..509ccc6a78cd9073541ed88486879309f30a027d 100644 --- a/lib/plugins/config/lang/pt/lang.php +++ b/lib/plugins/config/lang/pt/lang.php @@ -1,12 +1,15 @@ <?php + /** - * Portugueselanguage file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author José Monteiro <Jose.Monteiro@DoWeDo-IT.com> * @author Enrico Nicoletto <liverig@gmail.com> * @author Fil <fil@meteopt.com> * @author André Neves <drakferion@gmail.com> * @author José Campos zecarlosdecampos@gmail.com + * @author Paulo Carmino <contato@paulocarmino.com> + * @author Alfredo Silva <alfredo.silva@sky.com> */ $lang['menu'] = 'Configuração'; $lang['error'] = 'Parâmetros de Configuração não actualizados devido a valores inválidos. Por favor, reveja as modificações que pretende efectuar antes de re-submetê-las.<br /> Os valores incorrectos serão mostrados dentro de uma "moldura" vermelha.'; @@ -29,30 +32,33 @@ $lang['_anti_spam'] = 'Configuração Anti-Spam'; $lang['_editing'] = 'Configuração de Edição'; $lang['_links'] = 'Configuração de Ligações'; $lang['_media'] = 'Configuração de Media'; +$lang['_notifications'] = 'Notificação'; +$lang['_syndication'] = 'Sindicação (RSS)'; $lang['_advanced'] = 'Configurações Avançadas'; $lang['_network'] = 'Configuração de Rede'; $lang['_msg_setting_undefined'] = 'Nenhum metadado configurado.'; $lang['_msg_setting_no_class'] = 'Nenhuma classe definida.'; $lang['_msg_setting_no_default'] = 'Sem valor por omissão.'; -$lang['fmode'] = 'Modo de criação de ficheiros.'; -$lang['dmode'] = 'Modo de criação de pastas.'; -$lang['lang'] = 'Idioma'; -$lang['basedir'] = 'Pasta Base'; -$lang['baseurl'] = 'URL Base'; -$lang['savedir'] = 'Pasta para guardar dados'; -$lang['start'] = 'Nome da Página Inicial'; $lang['title'] = 'TÃtulo deste Wiki'; +$lang['start'] = 'Nome da Página Inicial'; +$lang['lang'] = 'Idioma'; $lang['template'] = 'Template'; $lang['license'] = 'Sob que licença o seu conteúdo deverá ser disponibilizado?'; -$lang['fullpath'] = 'Revelar caminho completo no rodapé'; +$lang['savedir'] = 'Pasta para guardar dados'; +$lang['basedir'] = 'Pasta Base'; +$lang['baseurl'] = 'URL Base'; +$lang['dmode'] = 'Modo de criação de pastas.'; +$lang['fmode'] = 'Modo de criação de ficheiros.'; +$lang['allowdebug'] = 'Permitir depuração <b>desabilite se não for necessário!</b>'; $lang['recent'] = 'Alterações recentes'; +$lang['recent_days'] = 'Quantas mudanças recentes devem ser mantidas? (dias)'; $lang['breadcrumbs'] = 'Número máximo de breadcrumbs'; $lang['youarehere'] = 'Breadcrumbs hierárquicas'; +$lang['fullpath'] = 'Revelar caminho completo no rodapé'; $lang['typography'] = 'Executar substituições tipográficas'; -$lang['htmlok'] = 'Permitir embeber HTML'; -$lang['phpok'] = 'Permitir embeber PHP'; $lang['dformat'] = 'Formato de Data (ver função PHP\'s <a href="http://www.php.net/strftime">strftime</a>)'; $lang['signature'] = 'Assinatura'; +$lang['showuseras'] = 'O que exibir quando mostrar o utilizador que editou a página pela última vez'; $lang['toptoclevel'] = 'NÃvel de topo para a tabela de conteúdo'; $lang['tocminheads'] = 'Quantidade mÃnima de cabeçalhos para a construção da tabela de conteúdos.'; $lang['maxtoclevel'] = 'Máximo nÃvel para a tabela de conteúdo'; @@ -60,14 +66,8 @@ $lang['maxseclevel'] = 'Máximo nÃvel para editar secção'; $lang['camelcase'] = 'Usar CamelCase'; $lang['deaccent'] = 'Nomes das páginas sem acentos'; $lang['useheading'] = 'Usar o primeiro cabeçalho para o nome da página'; -$lang['refcheck'] = 'Verificação de referência da media'; -$lang['allowdebug'] = 'Permitir depuração <b>desabilite se não for necessário!</b>'; -$lang['usewordblock'] = 'Bloquear spam baseado em lista de palavras (wordlist)'; -$lang['indexdelay'] = 'Tempo de espera antes da indexação (seg)'; -$lang['relnofollow'] = 'Usar rel="nofollow" em links externos'; -$lang['mailguard'] = 'Obscurecer endereços de email'; -$lang['iexssprotect'] = 'Verificar os arquivos enviados contra possÃveis códigos maliciosos em HTML ou JavaScript'; -$lang['showuseras'] = 'O que exibir quando mostrar o utilizador que editou a página pela última vez'; +$lang['sneaky_index'] = 'Por norma, o DokuWiki irá exibir todos os espaços de nomes na visualização do Ãndice. Ao habilitar essa opção, serão escondidos aqueles em que o utilizador não tenha permissão de leitura. Isto pode resultar na omissão de sub-ramos acessÃveis, que poderá tornar o Ãndice inútil para certas configurações de ACL.'; +$lang['hidepages'] = 'Esconder páginas correspondentes (expressões regulares)'; $lang['useacl'] = 'Usar ACL - Listas de Controlo de Acessos'; $lang['autopasswd'] = 'Auto-gerar senhas'; $lang['authtype'] = 'Método de autenticação'; @@ -76,58 +76,66 @@ $lang['defaultgroup'] = 'Grupo por omissão'; $lang['superuser'] = 'Superutilizador - um grupo, utilizador ou uma lista separada por vÃrgulas usuário1,@grupo1,usuário2 que tem acesso completo a todas as páginas e funções, independente das definições da ACL'; $lang['manager'] = 'Gestor - um grupo, utilizador ou uma lista separada por vÃrgulas usuário1,@grupo1,usuário2 que tem acesso a certas funções de gestão'; $lang['profileconfirm'] = 'Confirmar mudanças no perfil com a senha'; +$lang['rememberme'] = 'Permitir cookies de autenticação permanentes (Memorizar?)'; $lang['disableactions'] = 'Desactivar acções DokuWiki'; $lang['disableactions_check'] = 'Checar'; $lang['disableactions_subscription'] = 'Subscrever/Não Subscrver'; $lang['disableactions_wikicode'] = 'Ver fonte/Exportar em bruto'; +$lang['disableactions_profile_delete'] = 'Deletar Sua Conta.'; $lang['disableactions_other'] = 'Outras acções (separadas por vÃrgula)'; -$lang['sneaky_index'] = 'Por norma, o DokuWiki irá exibir todos os espaços de nomes na visualização do Ãndice. Ao habilitar essa opção, serão escondidos aqueles em que o utilizador não tenha permissão de leitura. Isto pode resultar na omissão de sub-ramos acessÃveis, que poderá tornar o Ãndice inútil para certas configurações de ACL.'; +$lang['disableactions_rss'] = 'Sindicação XML (RSS)'; $lang['auth_security_timeout'] = 'Tempo limite de segurança para autenticações (seg)'; $lang['securecookie'] = 'Os cookies definidos via HTTPS deverão ser enviados para o navegador somente via HTTPS? Desabilite essa opção quando somente a autenticação do seu wiki for realizada de maneira segura via SSL e a navegação de maneira insegura.'; +$lang['usewordblock'] = 'Bloquear spam baseado em lista de palavras (wordlist)'; +$lang['relnofollow'] = 'Usar rel="nofollow" em links externos'; +$lang['indexdelay'] = 'Tempo de espera antes da indexação (seg)'; +$lang['mailguard'] = 'Obscurecer endereços de email'; +$lang['iexssprotect'] = 'Verificar os arquivos enviados contra possÃveis códigos maliciosos em HTML ou JavaScript'; +$lang['usedraft'] = 'Guardar o rascunho automaticamente durante a edição'; +$lang['htmlok'] = 'Permitir embeber HTML'; +$lang['phpok'] = 'Permitir embeber PHP'; +$lang['locktime'] = 'Idade máxima para locks (seg.)'; +$lang['cachetime'] = 'Idade máxima para cache (seg.)'; +$lang['target____wiki'] = 'Parâmetro "target" para links internos'; +$lang['target____interwiki'] = 'Parâmetro "target" para links entre wikis'; +$lang['target____extern'] = 'Parâmetro "target" para links externos'; +$lang['target____media'] = 'Parâmetro "target" para links de media'; +$lang['target____windows'] = 'Parâmetro "target" para links do Windows'; +$lang['mediarevisions'] = 'Ativar Mediarevisions?'; +$lang['refcheck'] = 'Verificação de referência da media'; +$lang['gdlib'] = 'Versão GD Lib'; +$lang['im_convert'] = 'Caminho para a ferramenta "convert" do ImageMagick'; +$lang['jpg_quality'] = 'Compressão/Qualidade JPG (0-100)'; +$lang['fetchsize'] = 'Tamanho máximo (bytes) que o fetch.php pode transferir do exterior'; +$lang['subscribers'] = 'Habilitar o suporte a subscrição de páginas '; +$lang['subscribe_time'] = 'Tempo após o qual as listas de subscrição e "digests" são enviados (seg.); Isto deve ser inferior ao tempo especificado em recent_days.'; +$lang['notify'] = 'Enviar notificações de mudanças para este endereço de email'; +$lang['registernotify'] = 'Enviar informações de utilizadores registados para este endereço de email'; +$lang['mailfrom'] = 'Endereço de email a ser utilizado para mensagens automáticas'; +$lang['mailprefix'] = 'Prefixo de email a ser utilizado para mensagens automáticas'; +$lang['sitemap'] = 'Gerar Sitemap Google (dias)'; +$lang['rss_type'] = 'Tipo de feed XML'; +$lang['rss_linkto'] = 'Links de feed XML ara'; +$lang['rss_content'] = 'O que deve ser exibido nos itens do alimentador XML?'; +$lang['rss_update'] = 'Intervalo de actualização do alimentador XML (seg)'; +$lang['rss_show_summary'] = 'Resumo de exibição do alimentador XML no tÃtulo'; $lang['updatecheck'] = 'Verificar por actualizações e avisos de segurança? O DokuWiki precisa contactar o "splitbrain.org" para efectuar esta verificação.'; $lang['userewrite'] = 'Usar URLs SEO'; $lang['useslash'] = 'Usar a barra como separador de espaços de nomes nas URLs'; -$lang['usedraft'] = 'Guardar o rascunho automaticamente durante a edição'; $lang['sepchar'] = 'Separador de palavras no nome da página'; $lang['canonical'] = 'Usar URLs absolutas (http://servidor/caminho)'; $lang['fnencode'] = 'Método de codificar nomes de ficheiro não-ASCII.'; $lang['autoplural'] = 'Verificar formas plurais nos links'; $lang['compression'] = 'Método de compressão para histórico'; -$lang['cachetime'] = 'Idade máxima para cache (seg.)'; -$lang['locktime'] = 'Idade máxima para locks (seg.)'; -$lang['fetchsize'] = 'Tamanho máximo (bytes) que o fetch.php pode transferir do exterior'; -$lang['notify'] = 'Enviar notificações de mudanças para este endereço de email'; -$lang['registernotify'] = 'Enviar informações de utilizadores registados para este endereço de email'; -$lang['mailfrom'] = 'Endereço de email a ser utilizado para mensagens automáticas'; -$lang['mailprefix'] = 'Prefixo de email a ser utilizado para mensagens automáticas'; $lang['gzip_output'] = 'Usar "Content-Encoding" do gzip para o código xhtml'; -$lang['gdlib'] = 'Versão GD Lib'; -$lang['im_convert'] = 'Caminho para a ferramenta "convert" do ImageMagick'; -$lang['jpg_quality'] = 'Compressão/Qualidade JPG (0-100)'; -$lang['subscribers'] = 'Habilitar o suporte a subscrição de páginas '; -$lang['subscribe_time'] = 'Tempo após o qual as listas de subscrição e "digests" são enviados (seg.); Isto deve ser inferior ao tempo especificado em recent_days.'; $lang['compress'] = 'Compactar as saÃdas de CSS e JavaScript'; $lang['cssdatauri'] = 'Tamanho em bytes até ao qual as imagens referenciadas em ficheiros CSS devem ser embutidas diretamente no CSS para reduzir a carga de pedidos HTTP extra. Esta técnica não funciona em IE 7 e abaixo! <code>400</code> a <code>600</code> bytes é um bom valor. Escolher <code>0</code> para desativar.'; -$lang['hidepages'] = 'Esconder páginas correspondentes (expressões regulares)'; $lang['send404'] = 'Enviar "HTTP 404/Página não encontrada" para páginas não existentes'; -$lang['sitemap'] = 'Gerar Sitemap Google (dias)'; $lang['broken_iua'] = 'A função "ignore_user_abort" não está a funcionar no seu sistema? Isso pode causar um Ãndice de busca defeituoso. Sistemas com IIS+PHP/CGI são conhecidos por possuÃrem este problema. Veja o <a href="http://bugs.splitbrain.org/?do=details&task_id=852">bug 852</a> para mais informações.'; $lang['xsendfile'] = 'Usar o cabeçalho "X-Sendfile" para permitir o servidor de internet encaminhar ficheiros estáticos? O seu servidor de internet precisa ter suporte a isso.'; $lang['renderer_xhtml'] = 'Renderizador a ser utilizado para a saÃda principal do wiki (xhtml)'; $lang['renderer__core'] = '%s (núcleo dokuwiki)'; $lang['renderer__plugin'] = '%s (plugin)'; -$lang['rememberme'] = 'Permitir cookies de autenticação permanentes (Memorizar?)'; -$lang['rss_type'] = 'Tipo de feed XML'; -$lang['rss_linkto'] = 'Links de feed XML ara'; -$lang['rss_content'] = 'O que deve ser exibido nos itens do alimentador XML?'; -$lang['rss_update'] = 'Intervalo de actualização do alimentador XML (seg)'; -$lang['recent_days'] = 'Quantas mudanças recentes devem ser mantidas? (dias)'; -$lang['rss_show_summary'] = 'Resumo de exibição do alimentador XML no tÃtulo'; -$lang['target____wiki'] = 'Parâmetro "target" para links internos'; -$lang['target____interwiki'] = 'Parâmetro "target" para links entre wikis'; -$lang['target____extern'] = 'Parâmetro "target" para links externos'; -$lang['target____media'] = 'Parâmetro "target" para links de media'; -$lang['target____windows'] = 'Parâmetro "target" para links do Windows'; $lang['proxy____host'] = 'Nome do servidor proxy'; $lang['proxy____port'] = 'Porta de Proxy'; $lang['proxy____user'] = 'Nome de utilizador Proxy'; diff --git a/lib/plugins/config/lang/ru/intro.txt b/lib/plugins/config/lang/ru/intro.txt index a629d9332ce071b17b802b14aa6fb94311488adf..01cf19063721b0744ae6aeaf62c60956bb3bc158 100644 --- a/lib/plugins/config/lang/ru/intro.txt +++ b/lib/plugins/config/lang/ru/intro.txt @@ -1,9 +1,7 @@ ====== ÐаÑтройки вики ====== -ЗдеÑÑŒ вы можете изменить наÑтройки Ñвоей «ДокуВики». Ð”Ð»Ñ Ñправки по поводу конкретных опций Ñмотрите [[doku>config]]. Дополнительные детали об Ñтом плагине доÑтупны здеÑÑŒ: [[doku>plugin:config]]. +ЗдеÑÑŒ вы можете изменить наÑтройки Ñвоей «Докувики». Ð”Ð»Ñ Ñправки по поводу конкретных опций Ñмотрите [[doku>config|Конфигурирование «Докувики»]]. Дополнительные детали об Ñтом плагине доÑтупны здеÑÑŒ: [[doku>plugin:config]]. -ÐаÑтройки, отображаемые на Ñветло-краÑном фоне, защищены от изменений и не могут быть отредактированы Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñтого плагина. Голубым фоном отмечены наÑтройки Ñо значениÑми по умолчанию, а белым фоном — наÑтройки, которые были локально изменены Ð´Ð»Ñ Ñтой конкретной «ДокуВики». Как голубые, так и белые наÑтройки доÑтупны Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ. +ÐаÑтройки, отображаемые на Ñветло-краÑном фоне, защищены от изменений и не могут быть отредактированы Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñтого плагина. Голубым фоном отмечены наÑтройки Ñо значениÑми по умолчанию, а белым фоном — наÑтройки, которые были локально изменены Ð´Ð»Ñ Ñтой конкретной «Докувики». Как голубые, так и белые наÑтройки доÑтупны Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ. Ðе забудьте нажать кнопку «**Сохранить**» перед тем, как покинуть Ñту Ñтраницу, иначе вÑе ваши Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ потерÑны. - - diff --git a/lib/plugins/config/lang/ru/lang.php b/lib/plugins/config/lang/ru/lang.php index 596ad4eadf787f5a9a9f751a393a2aa549b3370b..0bc6d8f752f23e2f777a76b75cfbbacf5408b9b5 100644 --- a/lib/plugins/config/lang/ru/lang.php +++ b/lib/plugins/config/lang/ru/lang.php @@ -1,8 +1,8 @@ <?php + /** - * Russian language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Denis Simakov <akinoame1@gmail.com> * @author Andrew Pleshakov <beotiger@mail.ru> * @author Змей ÐтерийÑкий evil_snake@eternion.ru @@ -18,6 +18,8 @@ * @author Eugene <windy.wanderer@gmail.com> * @author Johnny Utah <pcpa@cyberpunk.su> * @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua) + * @author RainbowSpike <1@2.ru> + * @author Aleksandr Selivanov <alexgearbox@yandex.ru> */ $lang['menu'] = 'ÐаÑтройки вики'; $lang['error'] = 'ÐаÑтройки не были Ñохранены из-за ошибки в одном из значений. ПожалуйÑта, проверьте Ñвои Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸ попробуйте ещё раз.<br />Ðеправильные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ обведены краÑной рамкой.'; @@ -28,7 +30,7 @@ $lang['danger'] = 'Внимание: изменение Ñтой $lang['warning'] = 'ПредоÑтережение: изменение Ñтой опции может вызвать непредÑказуемое поведение.'; $lang['security'] = 'ПредоÑтережение по безопаÑноÑти: изменение Ñтой опции может вызвать риÑк, ÑвÑзанный Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑтью.'; $lang['_configuration_manager'] = 'ÐаÑтройки вики'; -$lang['_header_dokuwiki'] = 'Параметры «ДокуВики»'; +$lang['_header_dokuwiki'] = 'Параметры «Докувики»'; $lang['_header_plugin'] = 'Параметры плагинов'; $lang['_header_template'] = 'Параметры шаблонов'; $lang['_header_undefined'] = 'Прочие параметры'; @@ -51,7 +53,7 @@ $lang['start'] = 'Ð˜Ð¼Ñ Ñтартовой Ñтраницы'; $lang['lang'] = 'Язык'; $lang['template'] = 'Шаблон'; $lang['tagline'] = 'Слоган (еÑли поддерживаетÑÑ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð¼)'; -$lang['sidebar'] = 'Ð‘Ð¾ÐºÐ¾Ð²Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ, пуÑтое поле отключает боковую панель.'; +$lang['sidebar'] = 'Ð‘Ð¾ÐºÐ¾Ð²Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ; пуÑтое поле отключает боковую панель.'; $lang['license'] = 'Ðа уÑловиÑÑ… какой лицензии будет предоÑтавлÑÑ‚ÑŒÑÑ Ñодержимое вики?'; $lang['savedir'] = 'Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ…'; $lang['basedir'] = 'ÐšÐ¾Ñ€Ð½ÐµÐ²Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ (например, <code>/dokuwiki/</code>). ОÑтавьте пуÑтым Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ.'; @@ -59,14 +61,14 @@ $lang['baseurl'] = 'Корневой Ð°Ð´Ñ€ÐµÑ (URL) (напри $lang['cookiedir'] = 'Cookie директориÑ. ОÑтавьте пуÑтым Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ.'; $lang['dmode'] = 'Права Ð´Ð»Ñ Ñоздаваемых директорий'; $lang['fmode'] = 'Права Ð´Ð»Ñ Ñоздаваемых файлов'; -$lang['allowdebug'] = 'Включить отладку (отключите!)'; +$lang['allowdebug'] = 'Включить отладку. <b>Отключите, еÑли она вам не нужна!</b>'; $lang['recent'] = 'Ðедавние Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ (кол-во)'; $lang['recent_days'] = 'Ðа Ñколько дней назад ÑохранÑÑ‚ÑŒ недавние изменениÑ'; -$lang['breadcrumbs'] = 'Ð’Ñ‹ поÑетили (кол-во)'; +$lang['breadcrumbs'] = 'Ð’Ñ‹ поÑетили (кол-во). ПоÑтавьте 0 (ноль) Ð´Ð»Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ.'; $lang['youarehere'] = 'Показывать «Вы находитеÑÑŒ здеÑь»'; $lang['fullpath'] = 'Полный путь к документу'; $lang['typography'] = 'ТипографÑкие Ñимволы'; -$lang['dformat'] = 'Формат даты и времени'; +$lang['dformat'] = 'Формат даты и времени (Ñм. функцию PHP <a href="http://www.php.net/strftime">strftime</a>)'; $lang['signature'] = 'Шаблон подпиÑи'; $lang['showuseras'] = 'Что отображать при показе пользователÑ, редактировавшего Ñтраницу поÑледним'; $lang['toptoclevel'] = 'Мин. уровень в Ñодержании'; @@ -75,30 +77,32 @@ $lang['maxtoclevel'] = 'МакÑ. уровень в Ñодержани $lang['maxseclevel'] = 'МакÑ. уровень Ð´Ð»Ñ Ð¿Ñ€Ð°Ð²ÐºÐ¸'; $lang['camelcase'] = 'ИÑпользовать ВикиРегиÑÑ‚Ñ€ Ð´Ð»Ñ ÑÑылок'; $lang['deaccent'] = 'ТранÑÐ»Ð¸Ñ‚ÐµÑ€Ð°Ñ†Ð¸Ñ Ð² именах Ñтраниц'; -$lang['useheading'] = 'Первый заголовок вмеÑто имени'; -$lang['sneaky_index'] = 'По умолчанию, «ДокуВики» показывает в индекÑе Ñтраниц вÑе проÑтранÑтва имён. Включение Ñтой опции Ñкроет проÑтранÑтва имён, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… пользователь не имеет прав чтениÑ. Ðто может привеÑти к Ñкрытию доÑтупных вложенных проÑтранÑтв имён и потере функциональноÑти индекÑа Ñтраниц при некоторых конфигурациÑÑ… прав доÑтупа.'; -$lang['hidepages'] = 'Скрыть Ñтраницы (рег. выражение)'; +$lang['useheading'] = 'Первый заголовок вмеÑто имени Ñтраницы'; +$lang['sneaky_index'] = 'По умолчанию, «Докувики» показывает в индекÑе Ñтраниц вÑе проÑтранÑтва имён. Включение Ñтой опции Ñкроет проÑтранÑтва имён, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… пользователь не имеет прав чтениÑ. Ðто может привеÑти к Ñкрытию доÑтупных вложенных проÑтранÑтв имён и потере функциональноÑти индекÑа Ñтраниц при некоторых конфигурациÑÑ… прав доÑтупа.'; +$lang['hidepages'] = 'Скрыть Ñтраницы (регулÑрное выражение)'; $lang['useacl'] = 'ИÑпользовать ÑпиÑки прав доÑтупа'; $lang['autopasswd'] = 'ÐÐ²Ñ‚Ð¾Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»ÐµÐ¹'; $lang['authtype'] = 'Механизм аутентификации'; $lang['passcrypt'] = 'Метод ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ'; -$lang['defaultgroup'] = 'Группа по умолчанию'; -$lang['superuser'] = 'Суперпользователь — группа или пользователь Ñ Ð¿Ð¾Ð»Ð½Ñ‹Ð¼ доÑтупом ко вÑем Ñтраницам и функциÑм админиÑтрированиÑ, незавиÑимо от уÑтановок ACL. Перечень разделÑйте запÑтыми: user1,@group1,user2'; +$lang['defaultgroup'] = 'Группа по умолчанию. Ð’Ñе новые пользователю будут добавлÑÑ‚ÑŒÑÑ Ð²Â Ñту группу.'; +$lang['superuser'] = 'Суперпользователь — группа или пользователь Ñ Ð¿Ð¾Ð»Ð½Ñ‹Ð¼ доÑтупом ко вÑем Ñтраницам и функциÑм админиÑтрированиÑ, незавиÑимо от уÑтановок ÑпиÑков прав доÑтупа. Перечень разделÑйте запÑтыми: user1,@group1,user2'; $lang['manager'] = 'Менеджер — группа или пользователь Ñ Ð´Ð¾Ñтупом к определённым функциÑм управлениÑ. Перечень разделÑйте запÑтыми: user1,@group1,user2'; $lang['profileconfirm'] = 'Пароль Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ'; $lang['rememberme'] = 'Разрешить перманентные куки (cookies) Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ð° («запомнить менÑ»)'; -$lang['disableactions'] = 'Заблокировать операции «ДокуВики»'; +$lang['disableactions'] = 'Заблокировать операции «Докувики»'; $lang['disableactions_check'] = 'Проверка'; $lang['disableactions_subscription'] = 'ПодпиÑка/Отмена подпиÑки'; $lang['disableactions_wikicode'] = 'Показ/ÑкÑпорт иÑходного текÑта'; +$lang['disableactions_profile_delete'] = 'Удалить Ñвой аккаунт'; $lang['disableactions_other'] = 'Другие операции (через запÑтую)'; +$lang['disableactions_rss'] = 'XML-ÑÐ¸Ð½Ð´Ð¸ÐºÐ°Ñ†Ð¸Ñ (RSS)'; $lang['auth_security_timeout'] = 'Интервал Ð´Ð»Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑти авторизации (Ñек.)'; $lang['securecookie'] = 'Должны ли куки (cookies), выÑтавленные через HTTPS, отправлÑÑ‚ÑŒÑÑ Ð±Ñ€Ð°ÑƒÐ·ÐµÑ€Ð¾Ð¼ только через HTTPS. Отключите Ñту опцию в Ñлучае, когда только логин вашей вики передаётÑÑ Ñ‡ÐµÑ€ÐµÐ· SSL, а обычный проÑмотр оÑущеÑтвлÑетÑÑ Ð² небезопаÑном режиме.'; $lang['remote'] = 'Включить ÑиÑтему API Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ð¹. Ðто позволит другим приложениÑм получить доÑтуп к вики через XML-RPC или другие механизмы.'; -$lang['remoteuser'] = 'Дать права Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð½Ð¾Ð³Ð¾ API доÑтупа пользователÑм указанным тут (разделÑÑ‚ÑŒ запÑтыми). ОÑтавьте Ñто поле пуÑтым что бы открыть доÑтуп вÑем.'; +$lang['remoteuser'] = 'Дать права Ð´Ð»Ñ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ API-доÑтупа пользователÑм, указанным здеÑÑŒ (разделÑйте запÑтыми). ОÑтавьте поле пуÑтым Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð¾Ñтупа вÑем.'; $lang['usewordblock'] = 'Блокировать Ñпам по ключевым Ñловам'; -$lang['relnofollow'] = 'rel="nofollow" Ð´Ð»Ñ Ð²Ð½ÐµÑˆÐ½Ð¸Ñ… ÑÑылок'; -$lang['indexdelay'] = 'Задержка перед индекÑированием'; +$lang['relnofollow'] = 'ИÑпользовать rel="nofollow" Ð´Ð»Ñ Ð²Ð½ÐµÑˆÐ½Ð¸Ñ… ÑÑылок'; +$lang['indexdelay'] = 'Задержка перед индекÑированием (Ñек.)'; $lang['mailguard'] = 'Кодировать адреÑа Ñлектронной почты'; $lang['iexssprotect'] = 'ПроверÑÑ‚ÑŒ закачанные файлы на наличие потенциально опаÑного кода JavaScript или HTML'; $lang['usedraft'] = 'ÐвтоматичеÑки ÑохранÑÑ‚ÑŒ черновик во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð°Ð²ÐºÐ¸'; @@ -119,35 +123,36 @@ $lang['jpg_quality'] = 'КачеÑтво ÑÐ¶Ð°Ñ‚Ð¸Ñ JPG (0–100). $lang['fetchsize'] = 'МакÑимальный размер файла (в байтах), который fetch.php может Ñкачивать Ñ Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ иÑточника'; $lang['subscribers'] = 'Разрешить подпиÑку на изменениÑ'; $lang['subscribe_time'] = 'Интервал раÑÑылки подпиÑок и Ñводок (Ñек.). Должен быть меньше, чем значение, указанное в recent_days.'; -$lang['notify'] = 'Ðлектронный Ð°Ð´Ñ€ÐµÑ Ð´Ð»Ñ Ð¸Ð·Ð²ÐµÑ‰ÐµÐ½Ð¸Ð¹'; -$lang['registernotify'] = 'ПоÑылать информацию о новых зарегиÑтрированных пользователÑÑ… на Ñтот Ñлектронный адреÑ'; +$lang['notify'] = 'Ð’Ñегда отправлÑÑ‚ÑŒ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ð±Â Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸ÑÑ… на Ñтот Ñлектронный адреÑ'; +$lang['registernotify'] = 'Ð’Ñегода отправлÑÑ‚ÑŒ информацию о новых зарегиÑтрированных пользователÑÑ… на Ñтот Ñлектронный адреÑ'; $lang['mailfrom'] = 'Ðлектронный Ð°Ð´Ñ€ÐµÑ Ð²Ð¸ÐºÐ¸ (От:)'; -$lang['mailprefix'] = 'ÐŸÑ€ÐµÑ„Ð¸ÐºÑ Ð¸Ñпользуемый Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкого пиÑьма Ñтанет темой Ñообщений'; -$lang['sitemap'] = 'ЧиÑло дней, через которое нужно Ñоздавать (обновлÑÑ‚ÑŒ) карту Ñайта Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñковиков (Гугл, Ð¯Ð½Ð´ÐµÐºÑ Ð¸ др.)'; -$lang['rss_type'] = 'Тип RSS'; -$lang['rss_linkto'] = 'СÑылки в RSS'; -$lang['rss_content'] = 'Что отображать в Ñтроках XML-ленты?'; +$lang['mailprefix'] = 'ПрефикÑ, иÑпользуемый Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкого пиÑьма, Ñтанет темой ÑообщениÑ. ОÑтавьте поле пуÑтым Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð²Ð¸ÐºÐ¸.'; +$lang['htmlmail'] = 'ОтправлÑÑ‚ÑŒ краÑивые, но крупные HTML-многочаÑтные пиÑьма. Ð”Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ проÑÑ‚Ñ‹Ñ… текÑтовых пиÑем - отключить'; +$lang['sitemap'] = 'ЧиÑло дней, через которое нужно Ñоздавать (обновлÑÑ‚ÑŒ) карту Ñайта Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñковиков (Гугл, Ð¯Ð½Ð´ÐµÐºÑ Ð¸ др.). Укажите 0 (ноль) Ð´Ð»Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ.'; +$lang['rss_type'] = 'Тип XML-ленты'; +$lang['rss_linkto'] = 'СÑылки в XML-ленте указывают на'; +$lang['rss_content'] = 'Что показывать в XML-ленте?'; $lang['rss_update'] = 'Интервал Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ XML-ленты (Ñек.)'; $lang['rss_show_summary'] = 'Показывать краткую выдержку в заголовках XML-ленты'; -$lang['rss_media'] = 'Какие Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ быть отображены в XML?'; -$lang['updatecheck'] = 'ПроверÑÑ‚ÑŒ наличие обновлений и предупреждений о безопаÑноÑти? Ð”Ð»Ñ Ñтого «ДокуВики» потребуетÑÑ ÑвÑзыватьÑÑ Ñ Ñайтом <a href="http://www.splitbrain.org/">splitbrain.org</a>.'; +$lang['rss_media'] = 'Какие Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ быть отображены в XML-ленте?'; +$lang['updatecheck'] = 'ПроверÑÑ‚ÑŒ наличие обновлений и предупреждений о безопаÑноÑти? Ð”Ð»Ñ Ñтого «Докувики» потребуетÑÑ ÑвÑзыватьÑÑ Ñ update.dokuwiki.org.'; $lang['userewrite'] = 'Удобочитаемые адреÑа (URL)'; -$lang['useslash'] = 'ИÑпользовать ÑлÑш'; +$lang['useslash'] = 'ИÑпользовать ÑлÑш в URL'; $lang['sepchar'] = 'Разделитель Ñлов в имени Ñтраницы'; $lang['canonical'] = 'Полные каноничеÑкие адреÑа (URL)'; $lang['fnencode'] = 'Метод ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð¼Ñ‘Ð½ файлов, запиÑанных не ASCII-Ñимволами.'; -$lang['autoplural'] = 'ÐвтоматичеÑкое мн. чиÑло'; +$lang['autoplural'] = 'ПроверÑÑ‚ÑŒ можеÑтвенную форму имени Ñтраницы в ÑÑылках'; $lang['compression'] = 'Метод ÑÐ¶Ð°Ñ‚Ð¸Ñ Ð´Ð»Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð½Ñ‹Ñ… файлов'; $lang['gzip_output'] = 'ИÑпользовать gzip-Ñжатие Ð´Ð»Ñ xhtml'; $lang['compress'] = 'Сжимать файлы CSS и javascript'; $lang['cssdatauri'] = 'Размер в байтах до которого изображениÑ, указанные в CSS-файлах, должны быть вÑтроены прÑмо в таблицу Ñтилей, Ð´Ð»Ñ ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ Ð¸Ð·Ð±Ñ‹Ñ‡Ñ‚Ð¾Ð½Ñ‹Ñ… HTTP-запроÑов. Ðтот метод не будет работать в IE верÑии 7 и ниже! УÑтановка от <code>400</code> до <code>600</code> байт ÑвлÑетÑÑ Ñ…Ð¾Ñ€Ð¾ÑˆÐ¸Ð¼ показателем. УÑтановите <code>0</code>, чтобы отключить.'; -$lang['send404'] = 'ПоÑылать «HTTP404/Page Not Found»'; +$lang['send404'] = 'ПоÑылать «HTTP 404/Страница не найдена» Ð´Ð»Ñ Ð½ÐµÑущеÑтвующих Ñтраниц'; $lang['broken_iua'] = 'Возможно, Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ ignore_user_abort не работает в вашей ÑиÑтеме? Ðто может привеÑти к потере функциональноÑти индекÑÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð¸Ñка. Ðта проблема приÑутÑтвует, например, в IIS+PHP/CGI. Ð”Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации Ñмотрите <a href="http://bugs.splitbrain.org/?do=details&task_id=852">баг 852</a>.'; $lang['xsendfile'] = 'ИÑпользуете заголовок X-Sendfile Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ файлов на веб-Ñервер? Ваш веб-Ñервер должен поддерживать Ñто.'; $lang['renderer_xhtml'] = 'Обработчик оÑновного (xhtml) вывода вики'; -$lang['renderer__core'] = '%s (Ñдро dokuwiki)'; +$lang['renderer__core'] = '%s (Ñдро «Докувики»)'; $lang['renderer__plugin'] = '%s (плагин)'; -$lang['dnslookups'] = 'DokuWiki ищет DNS имена пользователей редактирующих Ñтраницы. ЕÑли у Ð²Ð°Ñ Ð½ÐµÑ‚ DNS Ñервера или он работает медленно, рекомендуем отключить Ñту опцию.'; +$lang['dnslookups'] = '«Докувики» ищет DNS-имена пользователей, редактирующих Ñтраницы. ЕÑли у Ð²Ð°Ñ Ð½ÐµÑ‚ DNS-Ñервера или он работает медленно, рекомендуем отключить Ñту опцию.'; $lang['proxy____host'] = 'proxy-адреÑ'; $lang['proxy____port'] = 'proxy-порт'; $lang['proxy____user'] = 'proxy-Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ'; @@ -162,15 +167,15 @@ $lang['ftp____pass'] = 'ftp-пароль'; $lang['ftp____root'] = 'ftp-ÐºÐ¾Ñ€Ð½ÐµÐ²Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ'; $lang['license_o_'] = 'Ðе выбрано'; $lang['typography_o_0'] = 'нет'; -$lang['typography_o_1'] = 'Только двойные кавычки'; -$lang['typography_o_2'] = 'Ð’Ñе кавычки (может не вÑегда работать)'; +$lang['typography_o_1'] = 'только двойные кавычки'; +$lang['typography_o_2'] = 'вÑе кавычки (может не вÑегда работать)'; $lang['userewrite_o_0'] = '(нет)'; $lang['userewrite_o_1'] = '.htaccess'; -$lang['userewrite_o_2'] = 'ÑредÑтвами «ДокуВики»'; +$lang['userewrite_o_2'] = 'ÑредÑтвами «Докувики»'; $lang['deaccent_o_0'] = 'отключить'; $lang['deaccent_o_1'] = 'убирать только диакр. знаки'; $lang['deaccent_o_2'] = 'Ð¿Ð¾Ð»Ð½Ð°Ñ Ñ‚Ñ€Ð°Ð½ÑлитерациÑ'; -$lang['gdlib_o_0'] = 'LibGD недоÑтупна'; +$lang['gdlib_o_0'] = 'GD Lib недоÑтупна'; $lang['gdlib_o_1'] = 'верÑÐ¸Ñ 1.x'; $lang['gdlib_o_2'] = 'автоопределение'; $lang['rss_type_o_rss'] = 'RSS 0.91'; @@ -178,10 +183,10 @@ $lang['rss_type_o_rss1'] = 'RSS 1.0'; $lang['rss_type_o_rss2'] = 'RSS 2.0'; $lang['rss_type_o_atom'] = 'Atom 0.3'; $lang['rss_type_o_atom1'] = 'Atom 1.0'; -$lang['rss_content_o_abstract'] = 'ÐбÑтрактный'; -$lang['rss_content_o_diff'] = 'Объединённый diff'; +$lang['rss_content_o_abstract'] = 'абÑтрактный'; +$lang['rss_content_o_diff'] = 'объединённый diff'; $lang['rss_content_o_htmldiff'] = 'HTML-Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° diff'; -$lang['rss_content_o_html'] = 'Полное Ñодержимое HTML-Ñтраницы'; +$lang['rss_content_o_html'] = 'полное Ñодержимое HTML-Ñтраницы'; $lang['rss_linkto_o_diff'] = 'Ð¾Ñ‚Ð»Ð¸Ñ‡Ð¸Ñ Ð¾Ñ‚ текущей'; $lang['rss_linkto_o_page'] = 'текÑÑ‚ Ñтраницы'; $lang['rss_linkto_o_rev'] = 'иÑÑ‚Ð¾Ñ€Ð¸Ñ Ð¿Ñ€Ð°Ð²Ð¾Ðº'; @@ -190,15 +195,16 @@ $lang['compression_o_0'] = 'без ÑжатиÑ'; $lang['compression_o_gz'] = 'gzip'; $lang['compression_o_bz2'] = 'bz2'; $lang['xsendfile_o_0'] = 'не иÑпользуетÑÑ'; -$lang['xsendfile_o_1'] = 'Проприетарный lighttpd-заголовок (перед релизом 1.5)'; +$lang['xsendfile_o_1'] = 'Проприетарный lighttpd-заголовок (до релиза 1.5)'; $lang['xsendfile_o_2'] = 'Стандартный заголовок X-Sendfile'; $lang['xsendfile_o_3'] = 'Проприетарный заголовок Nginx X-Accel-Redirect'; -$lang['showuseras_o_loginname'] = 'Логин'; -$lang['showuseras_o_username'] = 'Полное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ'; -$lang['showuseras_o_email'] = 'ÐÐ´Ñ€ÐµÑ Ñлектропочты в шифрованном виде (Ñм. mailguard)'; -$lang['showuseras_o_email_link'] = 'ÐÐ´Ñ€ÐµÑ Ñлектропочты в виде ÑÑылки mailto:'; -$lang['useheading_o_0'] = 'Ðикогда'; -$lang['useheading_o_navigation'] = 'Только навигациÑ'; -$lang['useheading_o_content'] = 'Только Ñодержимое вики'; -$lang['useheading_o_1'] = 'Ð’Ñегда'; +$lang['showuseras_o_loginname'] = 'логин'; +$lang['showuseras_o_username'] = 'полное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ'; +$lang['showuseras_o_username_link'] = 'полное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ ÐºÐ°Ðº интервики-ÑÑылка'; +$lang['showuseras_o_email'] = 'Ð°Ð´Ñ€ÐµÑ Ñлектропочты в шифрованном виде (Ñм. mailguard)'; +$lang['showuseras_o_email_link'] = 'Ð°Ð´Ñ€ÐµÑ Ñлектропочты в виде ÑÑылки mailto:'; +$lang['useheading_o_0'] = 'никогда'; +$lang['useheading_o_navigation'] = 'только в навигации'; +$lang['useheading_o_content'] = 'только в Ñодержимом вики'; +$lang['useheading_o_1'] = 'вÑегда'; $lang['readdircache'] = 'МакÑимальное Ð²Ñ€ÐµÐ¼Ñ Ð¶Ð¸Ð·Ð½Ð¸ кÑша readdir (Ñек.)'; diff --git a/lib/plugins/config/lang/sk/intro.txt b/lib/plugins/config/lang/sk/intro.txt index 5de62a3152fbaf5d3a0213f9f6b68f7ab657855a..a3d15bf93ce72a883abc14ca2f6a9befe3804272 100644 --- a/lib/plugins/config/lang/sk/intro.txt +++ b/lib/plugins/config/lang/sk/intro.txt @@ -4,4 +4,4 @@ Túto stránku môžete použÃvaÅ¥ na zmenu nastavenà VaÅ¡ej DokuWiki inÅ¡tal Nastavenia zobrazené na Äervenom pozadà sú neprÃstupné a nemôžu byÅ¥ týmto pluginom zmenené. Nastavenia s modrým pozadÃm obsahujú prednastavené hodnoty a nastavenia s bielym pozadÃm boli nastavené lokálne pre túto konkrétnu inÅ¡taláciu. Nastavenia s modrým a bielym pozadÃm môžu byÅ¥ zmenené. -Nezabudnite stlaÄiÅ¥ tlaÄidlo **UložiÅ¥** pred opustenÃm stránky, inak budú vaÅ¡e zmeny stratené. \ No newline at end of file +Nezabudnite stlaÄiÅ¥ tlaÄidlo **UložiÅ¥** pred opustenÃm stránky, inak budú vaÅ¡e zmeny stratené. diff --git a/lib/plugins/config/lang/sk/lang.php b/lib/plugins/config/lang/sk/lang.php index 46e4081a959875b87787b88d68d4bec4c78f0f12..f56353680e367bf33a5a5c8a907d1000c698787c 100644 --- a/lib/plugins/config/lang/sk/lang.php +++ b/lib/plugins/config/lang/sk/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Slovaklanguage file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Michal Mesko <michal.mesko@gmail.com> * @author exusik@gmail.com * @author Martin Michalek <michalek.dev@gmail.com> @@ -139,7 +140,7 @@ $lang['renderer__plugin'] = '%s (plugin)'; $lang['dnslookups'] = 'DokuWiki hľadá mená vzdialených IP adries použÃvateľov editujúcich stránky. Ak máte pomalý alebo nefunkÄný DNS server alebo nechcete túto možnosÅ¥, deaktivujte túto voľbu'; $lang['proxy____host'] = 'Proxy server - názov'; $lang['proxy____port'] = 'Proxy server - port'; -$lang['proxy____user'] = 'Proxy server - užÃvateľské meno'; +$lang['proxy____user'] = 'Proxy server - použÃvateľské meno'; $lang['proxy____pass'] = 'Proxy server - heslo'; $lang['proxy____ssl'] = 'Proxy server - použiÅ¥ SSL'; $lang['proxy____except'] = 'Regulárny výraz popisujúci URL odkazy, pre ktoré by proxy nemala byÅ¥ použitá.'; diff --git a/lib/plugins/config/lang/sq/intro.txt b/lib/plugins/config/lang/sq/intro.txt index 687b497c9c5500da1efcc37c9ec431ebd5878af8..d2bab0fd562c925e985c7696de6cfbdb02b9087a 100644 --- a/lib/plugins/config/lang/sq/intro.txt +++ b/lib/plugins/config/lang/sq/intro.txt @@ -4,4 +4,4 @@ Përdoreni këtë faqe për të kontrolluar kuadrot e instalimit të DokuWiki-t Kuadrot e treguara me një backgroudn me një ngjyrë të kuqe të lehtë janë të mbrojtura dhe nuk mund të ndryshohen me këtë plugin. Kuadrot e treguara me një background blu janë vlerat default dhe kuadrot e treguara me një background të bardhë janë vendosur lokalisht për këtë instalim të caktuar. Si kuadrot blu, ashtu edhe ato të bardhë mund të ndryshohen. -Kujtohuni të shtypni butonin **Ruaj** para se të dilni nga kjo faqe ose ndryshimet tuaja do të humbasin. \ No newline at end of file +Kujtohuni të shtypni butonin **Ruaj** para se të dilni nga kjo faqe ose ndryshimet tuaja do të humbasin. diff --git a/lib/plugins/config/lang/sv/intro.txt b/lib/plugins/config/lang/sv/intro.txt index 8887d4a7bd6f57978732a97d0e6aac44597a4172..fd77634c2b0c936c958cb5c7019707c9dd34eed8 100644 --- a/lib/plugins/config/lang/sv/intro.txt +++ b/lib/plugins/config/lang/sv/intro.txt @@ -5,5 +5,3 @@ Använd den här sidan för att göra inställningar i din Dokuwiki. För hjälp Inställningar med en rosa bakgrund är skyddade och kan inte ändras med den här insticksmodulen. Inställningar med en blÃ¥ bakgrund är standardvärden, och inställningar som visas med en vit bakgrund har ändrats i den här installationen. BÃ¥de blÃ¥a och vita inställningar kan ändras. Kom i hÃ¥g att trycka pÃ¥ knappen **Spara** innan du lämnar den här sidan, annars kommer ändringarna att gÃ¥ förlorade. - - diff --git a/lib/plugins/config/lang/th/lang.php b/lib/plugins/config/lang/th/lang.php index 68ee8b8a27a6f38ecfd44c87dee5f8d69405c079..ce1d30d6278905e4272ea50cf4ce309d07803280 100644 --- a/lib/plugins/config/lang/th/lang.php +++ b/lib/plugins/config/lang/th/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Thai language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Komgrit Niyomrath <n.komgrit@gmail.com> * @author Kittithat Arnontavilas mrtomyum@gmail.com * @author Arthit Suriyawongkul <arthit@gmail.com> @@ -23,48 +24,48 @@ $lang['_links'] = 'à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าลิงà¸à¹Œ' $lang['_media'] = 'à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าภาพ-เสียง'; $lang['_advanced'] = 'à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าขั้นสูง'; $lang['_network'] = 'à¸à¸²à¸£à¸•à¸±à¹‰à¸‡à¸„่าเครืà¸à¸‚่าย'; +$lang['start'] = 'ชื่à¸à¸«à¸™à¹‰à¸²à¹€à¸£à¸´à¹ˆà¸¡à¸•à¹‰à¸™'; $lang['lang'] = 'ภาษา'; +$lang['savedir'] = 'ไดเรคทà¸à¸£à¸µà¸—ี่บันทึà¸à¸‚้à¸à¸¡à¸¹à¸¥'; $lang['basedir'] = 'ไดเรคทà¸à¸£à¸µà¸žà¸·à¹‰à¸™à¸à¸²à¸™'; $lang['baseurl'] = 'URL พื้นà¸à¸²à¸™'; -$lang['savedir'] = 'ไดเรคทà¸à¸£à¸µà¸—ี่บันทึà¸à¸‚้à¸à¸¡à¸¹à¸¥'; -$lang['start'] = 'ชื่à¸à¸«à¸™à¹‰à¸²à¹€à¸£à¸´à¹ˆà¸¡à¸•à¹‰à¸™'; $lang['recent'] = 'à¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡à¸¥à¹ˆà¸²à¸ªà¸¸à¸”'; -$lang['htmlok'] = 'à¸à¸™à¸¸à¸à¸²à¸•à¹ƒà¸«à¹‰à¹ƒà¸Šà¹‰ HTML'; -$lang['phpok'] = 'à¸à¸™à¸¸à¸à¸²à¸•à¹ƒà¸«à¹‰à¹ƒà¸Šà¹‰ PHP'; +$lang['recent_days'] = 'จำนวนวันที่เà¸à¹‡à¸šà¸£à¸²à¸¢à¸à¸²à¸£à¸—ี่ถูà¸à¹à¸à¹‰à¹„ขล่าสุด'; $lang['signature'] = 'ลายเซนต์'; -$lang['usewordblock'] = 'คำที่จะถืà¸à¸§à¹ˆà¸²à¹€à¸›à¹‡à¸™à¸ªà¹à¸›à¸¡'; -$lang['relnofollow'] = 'ใช้ rel="nofollow" สำหรับลิงà¸à¹Œà¸ ายนà¸à¸'; +$lang['hidepages'] = 'ซ่à¸à¸™à¸«à¸™à¹‰à¸²à¸—ี่เข้าà¸à¸±à¸™à¹„ด้ (regular expressions)'; $lang['autopasswd'] = 'สร้างรหัสผ่านให้à¸à¸±à¸•à¹‚นมัติ'; $lang['passcrypt'] = 'à¸à¸£à¸°à¸šà¸§à¸™à¸à¸²à¸£à¹€à¸‚้ารหัส สำหรับเà¸à¹‡à¸šà¸šà¸±à¸™à¸—ึà¸à¸£à¸«à¸±à¸ªà¸œà¹ˆà¸²à¸™'; $lang['defaultgroup'] = 'à¸à¸¥à¸¸à¹ˆà¸¡à¸¡à¸²à¸•à¸£à¸à¸²à¸™'; $lang['profileconfirm'] = 'ใส่รหัสผ่านเพื่à¸à¸¢à¸·à¸™à¸¢à¸±à¸™à¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡à¸‚้à¸à¸¡à¸¹à¸¥'; +$lang['rememberme'] = 'à¸à¸™à¸¸à¸à¸²à¸•à¹ƒà¸«à¹‰à¸ˆà¸”จำà¸à¸²à¸£ login à¹à¸šà¸šà¸–าวร'; $lang['disableactions_check'] = 'ตรวจสà¸à¸š'; $lang['auth_security_timeout'] = 'ระยะเวลาที่จะตัดà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸à¸¡à¸•à¹ˆà¸à¹à¸šà¸šà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸”้วยสิทธิ์ผู้ใช้ (วินาที)'; -$lang['userewrite'] = 'à¹à¸ªà¸”งที่à¸à¸¢à¸¹à¹ˆà¹€à¸§à¹‡à¸š (URL) à¹à¸šà¸šà¸à¹ˆà¸²à¸™à¹€à¸‚้าใจง่าย'; -$lang['cachetime'] = 'ระยะเวลาสำหรับà¸à¸²à¸£à¹€à¸à¹‡à¸šà¹à¸„ช (วินาที)'; +$lang['usewordblock'] = 'คำที่จะถืà¸à¸§à¹ˆà¸²à¹€à¸›à¹‡à¸™à¸ªà¹à¸›à¸¡'; +$lang['relnofollow'] = 'ใช้ rel="nofollow" สำหรับลิงà¸à¹Œà¸ ายนà¸à¸'; +$lang['htmlok'] = 'à¸à¸™à¸¸à¸à¸²à¸•à¹ƒà¸«à¹‰à¹ƒà¸Šà¹‰ HTML'; +$lang['phpok'] = 'à¸à¸™à¸¸à¸à¸²à¸•à¹ƒà¸«à¹‰à¹ƒà¸Šà¹‰ PHP'; $lang['locktime'] = 'ระยะเวลานานสุด ที่จะล็à¸à¸„ไม่ให้à¹à¸à¹‰à¹„ขไฟล์ (วินาที)'; +$lang['cachetime'] = 'ระยะเวลาสำหรับà¸à¸²à¸£à¹€à¸à¹‡à¸šà¹à¸„ช (วินาที)'; +$lang['target____wiki'] = 'เปิดà¹à¸ªà¸”งลิงà¸à¹Œà¸ ายใน ในหน้าเว็บà¹à¸šà¸šà¹ƒà¸”'; +$lang['target____interwiki'] = 'เปิดà¹à¸ªà¸”งลิงà¸à¹Œ interwiki ในหน้าเว็บà¹à¸šà¸šà¹ƒà¸”'; +$lang['target____extern'] = 'เปิดà¹à¸ªà¸”งลิงà¸à¹Œà¸ ายนà¸à¸ ในหน้าเว็บà¹à¸šà¸šà¹ƒà¸”'; +$lang['target____media'] = 'เปิดà¹à¸ªà¸”งลิงà¸à¹Œà¸‚à¸à¸‡à¸¡à¸µà¹€à¸”ีย ในหน้าเว็บà¹à¸šà¸šà¹ƒà¸”'; +$lang['target____windows'] = 'เปิดà¹à¸ªà¸”งลิงà¸à¹Œà¸‚à¸à¸‡à¸§à¸´à¸™à¹‚ดวส์ ในหน้าเว็บà¹à¸šà¸šà¹ƒà¸”'; +$lang['gdlib'] = 'เลขรุ่นขà¸à¸‡ GD Library'; $lang['fetchsize'] = 'ขนาดไฟล์ใหà¸à¹ˆà¸ªà¸¸à¸” (bytes) fetch.php ที่จะดาวน์โหลดจาà¸à¸ ายนà¸à¸'; $lang['notify'] = 'ส่งà¸à¸²à¸£à¹à¸ˆà¹‰à¸‡à¹€à¸•à¸·à¸à¸™à¹„ปยังที่à¸à¸¢à¸¹à¹ˆà¸à¸µà¹€à¸¡à¸¥à¸™à¸µà¹‰'; -$lang['gzip_output'] = 'ใช้ gzip Content-Encoding สำหรับ xhtml'; -$lang['gdlib'] = 'เลขรุ่นขà¸à¸‡ GD Library'; -$lang['compress'] = 'บีบย่ภCSS à¹à¸¥à¸° javascript (เพื่à¸à¹ƒà¸«à¹‰à¹à¸ªà¸”งหน้าเว็บเร็วขึ้น)'; -$lang['hidepages'] = 'ซ่à¸à¸™à¸«à¸™à¹‰à¸²à¸—ี่เข้าà¸à¸±à¸™à¹„ด้ (regular expressions)'; -$lang['send404'] = 'ให้à¹à¸ªà¸”ง "HTTP 404/Page Not Found" เมื่à¸à¹„ม่พบข้à¸à¸¡à¸¹à¸¥à¸«à¸™à¹‰à¸²à¸™à¸±à¹‰à¸™'; $lang['sitemap'] = 'สร้าง à¸à¸¹à¹€à¸à¸´à¹‰à¸¥ ไซต์à¹à¸¡à¸ž (จำนวนวัน)'; -$lang['renderer__core'] = '%s (à¹à¸à¸™à¸«à¸¥à¸±à¸à¸‚à¸à¸‡ dokuwiki)'; -$lang['renderer__plugin'] = '%s (โปรà¹à¸à¸£à¸¡à¹€à¸ªà¸£à¸´à¸¡ - plugin)'; -$lang['rememberme'] = 'à¸à¸™à¸¸à¸à¸²à¸•à¹ƒà¸«à¹‰à¸ˆà¸”จำà¸à¸²à¸£ login à¹à¸šà¸šà¸–าวร'; $lang['rss_type'] = 'ชนิดขà¸à¸‡ XML feed'; $lang['rss_linkto'] = 'ลิงà¸à¹Œà¹€à¸Šà¸·à¹ˆà¸à¸¡à¹‚ยงไปยัง XML feed'; $lang['rss_content'] = 'ต้à¸à¸‡à¸à¸²à¸£à¹ƒà¸«à¹‰à¸¡à¸µà¸à¸°à¹„รà¹à¸ªà¸”งà¸à¸¢à¸¹à¹ˆà¹ƒà¸™ XML feed บ้าง?'; $lang['rss_update'] = 'ความถี่ในà¸à¸²à¸£à¸à¸±à¸žà¹€à¸”ท XML feed (เป็นวินาที)'; -$lang['recent_days'] = 'จำนวนวันที่เà¸à¹‡à¸šà¸£à¸²à¸¢à¸à¸²à¸£à¸—ี่ถูà¸à¹à¸à¹‰à¹„ขล่าสุด'; $lang['rss_show_summary'] = 'ไตเติ้ลขà¸à¸‡à¸šà¸—สรุปย่à¸à¸‚à¸à¸‡ XML feed'; -$lang['target____wiki'] = 'เปิดà¹à¸ªà¸”งลิงà¸à¹Œà¸ ายใน ในหน้าเว็บà¹à¸šà¸šà¹ƒà¸”'; -$lang['target____interwiki'] = 'เปิดà¹à¸ªà¸”งลิงà¸à¹Œ interwiki ในหน้าเว็บà¹à¸šà¸šà¹ƒà¸”'; -$lang['target____extern'] = 'เปิดà¹à¸ªà¸”งลิงà¸à¹Œà¸ ายนà¸à¸ ในหน้าเว็บà¹à¸šà¸šà¹ƒà¸”'; -$lang['target____media'] = 'เปิดà¹à¸ªà¸”งลิงà¸à¹Œà¸‚à¸à¸‡à¸¡à¸µà¹€à¸”ีย ในหน้าเว็บà¹à¸šà¸šà¹ƒà¸”'; -$lang['target____windows'] = 'เปิดà¹à¸ªà¸”งลิงà¸à¹Œà¸‚à¸à¸‡à¸§à¸´à¸™à¹‚ดวส์ ในหน้าเว็บà¹à¸šà¸šà¹ƒà¸”'; +$lang['userewrite'] = 'à¹à¸ªà¸”งที่à¸à¸¢à¸¹à¹ˆà¹€à¸§à¹‡à¸š (URL) à¹à¸šà¸šà¸à¹ˆà¸²à¸™à¹€à¸‚้าใจง่าย'; +$lang['gzip_output'] = 'ใช้ gzip Content-Encoding สำหรับ xhtml'; +$lang['compress'] = 'บีบย่ภCSS à¹à¸¥à¸° javascript (เพื่à¸à¹ƒà¸«à¹‰à¹à¸ªà¸”งหน้าเว็บเร็วขึ้น)'; +$lang['send404'] = 'ให้à¹à¸ªà¸”ง "HTTP 404/Page Not Found" เมื่à¸à¹„ม่พบข้à¸à¸¡à¸¹à¸¥à¸«à¸™à¹‰à¸²à¸™à¸±à¹‰à¸™'; +$lang['renderer__core'] = '%s (à¹à¸à¸™à¸«à¸¥à¸±à¸à¸‚à¸à¸‡ dokuwiki)'; +$lang['renderer__plugin'] = '%s (โปรà¹à¸à¸£à¸¡à¹€à¸ªà¸£à¸´à¸¡ - plugin)'; $lang['proxy____host'] = 'ชื่ภserver ขà¸à¸‡ proxy'; $lang['proxy____port'] = 'port ขà¸à¸‡ proxy'; $lang['proxy____user'] = 'user name ขà¸à¸‡ proxy'; diff --git a/lib/plugins/config/lang/tr/intro.txt b/lib/plugins/config/lang/tr/intro.txt index 4a965422224afd8031113f95d4026a2af6667e21..2602fb3eda9fb007fc094dfd532b36216fb430f3 100644 --- a/lib/plugins/config/lang/tr/intro.txt +++ b/lib/plugins/config/lang/tr/intro.txt @@ -4,4 +4,4 @@ Bu sayfayı DokuWiki kurulumunun ayarlarını deÄŸiÅŸtirmek için kullanabilirsi Açık kırmızı renkle gösterilenler bu eklenti ile deÄŸiÅŸtirilemez. Mavi ile gösterilenler varsayılan deÄŸerlerdir. Beyaz altyazı ile gösterilenler is bu kuruluma özel deÄŸiÅŸtirilmiÅŸ ayarlardır. Mavi ve beyaz ayarlar deÄŸiÅŸtirilebilir. -DeÄŸiÅŸiklik yapmanız durumunda **Kaydet** tuÅŸuna basmayı unutmayınız. Aksi takdirde sayfayı kapattığınızda tüm ayarlar silinecektir. \ No newline at end of file +DeÄŸiÅŸiklik yapmanız durumunda **Kaydet** tuÅŸuna basmayı unutmayınız. Aksi takdirde sayfayı kapattığınızda tüm ayarlar silinecektir. diff --git a/lib/plugins/config/lang/tr/lang.php b/lib/plugins/config/lang/tr/lang.php index cb610f4ff67d97f4f8fa9250dfe77f6b5b1fda6f..344f22de1bd55932d6a300ab325c3b2d42b531ce 100644 --- a/lib/plugins/config/lang/tr/lang.php +++ b/lib/plugins/config/lang/tr/lang.php @@ -1,12 +1,14 @@ <?php + /** - * Turkish language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Aydın CoÅŸkuner <aydinweb@gmail.com> * @author Cihan Kahveci <kahvecicihan@gmail.com> * @author Yavuz Selim <yavuzselim@gmail.com> * @author Caleb Maclennan <caleb@alerque.com> * @author farukerdemoncel@gmail.com + * @author Mete Cuma <mcumax@gmail.com> */ $lang['menu'] = 'Site Ayarları'; $lang['error'] = 'Ayarlar yanlış bir deÄŸer girildiÄŸi için güncellenemedi. Lütfen deÄŸiÅŸikliklerinizi gözden geçirin ve tekrar gönderin. diff --git a/lib/plugins/config/lang/uk/lang.php b/lib/plugins/config/lang/uk/lang.php index dea9203e845246f960f51bdb1cc659a25ed95044..02c3273679022ff6eb252e78c2642a70ecdb740f 100644 --- a/lib/plugins/config/lang/uk/lang.php +++ b/lib/plugins/config/lang/uk/lang.php @@ -1,8 +1,8 @@ <?php + /** - * ukrainian language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Oleksiy Voronin <ovoronin@gmail.com> * @author serg_stetsuk@ukr.net * @author okunia@gmail.com @@ -10,6 +10,7 @@ * @author Uko uko@uar.net * @author Ulrikhe Lukoie <lukoie@gmail>.com * @author Kate Arzamastseva pshns@ukr.net + * @author Maksim <nikropol@yandex.ru> */ $lang['menu'] = 'ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð’Ñ–ÐºÑ–'; $lang['error'] = 'Параметри не збережено через помилкові значеннÑ. Будь лаÑка, переглÑньте ваші зміни та Ñпробуйте ще раз diff --git a/lib/plugins/config/lang/zh-tw/intro.txt b/lib/plugins/config/lang/zh-tw/intro.txt index 228c12e0abbceafaac8c7d55448d6f916d203e2e..e131ec342d20e405da5b0dfa08da48fe9874cee1 100644 --- a/lib/plugins/config/lang/zh-tw/intro.txt +++ b/lib/plugins/config/lang/zh-tw/intro.txt @@ -4,4 +4,4 @@ æ·¡ç´…è‰²èƒŒæ™¯çš„é …ç›®æ˜¯å—到ä¿è·çš„,ä¸èƒ½é€šéŽé€™ç®¡ç†å™¨æ›´æ”¹ã€‚è—è‰²èƒŒæ™¯çš„é …ç›®æ˜¯ç³»çµ±çš„é è¨å€¼ï¼Œç™½è‰²èƒŒæ™¯çš„é …ç›®æ˜¯æ‚¨æ›´æ”¹éŽçš„。è—色和白色的è¨å®šé …目都å¯ä»¥æ›´æ”¹ã€‚ -離開本é 之å‰ï¼Œä¸è¦å¿˜è¨˜é»žæ“Šæœ€ä¸‹é¢çš„ **儲å˜** 按鈕,å¦å‰‡æ‚¨çš„修改ä¸æœƒç”Ÿæ•ˆã€‚ \ No newline at end of file +離開本é 之å‰ï¼Œä¸è¦å¿˜è¨˜é»žæ“Šæœ€ä¸‹é¢çš„ **儲å˜** 按鈕,å¦å‰‡æ‚¨çš„修改ä¸æœƒç”Ÿæ•ˆã€‚ diff --git a/lib/plugins/config/lang/zh-tw/lang.php b/lib/plugins/config/lang/zh-tw/lang.php index cc2c28c31084c1437f0c6ea6e5d26f071a120cee..e5b051bfbcd186940295d6accf7328d60d490978 100644 --- a/lib/plugins/config/lang/zh-tw/lang.php +++ b/lib/plugins/config/lang/zh-tw/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Chinese Traditional language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Li-Jiun Huang <ljhuang.tw@gmail.com> * @author http://www.chinese-tools.com/tools/converter-simptrad.html * @author Wayne San <waynesan@zerozone.tw> @@ -11,6 +12,7 @@ * @author Shuo-Ting Jian <shoting@gmail.com> * @author syaoranhinata@gmail.com * @author Ichirou Uchiki <syaoranhinata@gmail.com> + * @author Liou, Jhe-Yu <lioujheyu@gmail.com> */ $lang['menu'] = '系統è¨å®š'; $lang['error'] = 'å› ç‚ºå«æœ‰ä¸åˆè¦æ ¼çš„è¨å®šå€¼ï¼Œæ•…未能更新è¨å®šã€‚請檢查您的更改並é‡æ–°é€å‡ºã€‚ @@ -137,7 +139,7 @@ $lang['gzip_output'] = 'å° xhtml 使用 gzip 內容編碼'; $lang['compress'] = '壓縮 CSS 與 JavaScript 的輸出'; $lang['cssdatauri'] = 'å‡å¦‚ CSS ä¸æ‰€å¼•ç”¨çš„圖片å°æ–¼è©²æ•¸å—大å°(bytes),圖片將被直接嵌入 CSS ä¸ï¼Œä»¥æ¸›å°‘ HTTP Request 的發é€ã€‚ IE 7 åŠä»¥ä¸‹çš„版本並ä¸æ”¯æ´æ¤åŠŸèƒ½ã€‚推薦把æ¤æ•¸å€¼è¨å®šæˆ <code>400</code> 至 <code>600</code> bytes 之間。若輸入 <code>0</code> 則åœç”¨æ¤åŠŸèƒ½ã€‚'; $lang['send404'] = 'å˜å–ä¸å˜åœ¨çš„é é¢æ™‚é€å‡º "HTTP 404/Page Not Found"'; -$lang['broken_iua'] = 'ignore_user_abort 功能失效了?這有å¯èƒ½å°Žè‡´æœç´¢ç´¢å¼•ä¸å¯ç”¨ã€‚IIS+PHP/CGI å·²æ壞。請åƒé–± <a href=\"http://bugs.splitbrain.org/?do=details&task_id=852\">Bug 852</a> ç²å–更多訊æ¯ã€‚'; +$lang['broken_iua'] = 'ignore_user_abort 功能失效了?這有å¯èƒ½å°Žè‡´æœç´¢ç´¢å¼•ä¸å¯ç”¨ã€‚IIS+PHP/CGI å·²æ壞。請åƒé–± <a href=\"http://bugs.splitbrain.org/?do=details&task_id=852">Bug 852</a> ç²å–更多訊æ¯ã€‚'; $lang['xsendfile'] = '使用 X-Sendfile é 讓網é 伺æœå™¨ç™¼é€ç‹€æ…‹æ–‡ä»¶ï¼Ÿæ‚¨çš„網é 伺æœå™¨éœ€è¦æ”¯æŒè©²åŠŸèƒ½ã€‚'; $lang['renderer_xhtml'] = 'ä¸»è¦ wiki 輸出 (xhtml) 的渲染器'; $lang['renderer__core'] = '%s (dokuwiki æ ¸å¿ƒ)'; diff --git a/lib/plugins/config/lang/zh/intro.txt b/lib/plugins/config/lang/zh/intro.txt index a7db4eda0f4ea03d359b32c92a1adef4ddb60bc5..30cb650042c8bceb046eb0bd019cfdcc49a64e49 100644 --- a/lib/plugins/config/lang/zh/intro.txt +++ b/lib/plugins/config/lang/zh/intro.txt @@ -5,5 +5,3 @@ 淡红色背景的项目被ä¿æŠ¤ï¼Œä¸èƒ½é€šè¿‡è¿™ä¸ªç®¡ç†å™¨æ›´æ”¹ã€‚ è“色背景的项目是系统的默认值,白色背景的项目是您作出更改的项目。è“色和白色的设置项目都å¯ä»¥æ›´æ”¹ã€‚ 离开本页之å‰ä¸è¦å¿˜è®°ç‚¹å‡»æœ€åŽçš„ **ä¿å˜** 按钮,å¦åˆ™æ‚¨åšçš„修改ä¸ä¼šç”Ÿæ•ˆã€‚ - - diff --git a/lib/plugins/config/lang/zh/lang.php b/lib/plugins/config/lang/zh/lang.php index 364ad3fe64101ffae766f7e8a1a46db9e6c98a16..4ae3a01fd249864a57830e760983d74a8800ff93 100644 --- a/lib/plugins/config/lang/zh/lang.php +++ b/lib/plugins/config/lang/zh/lang.php @@ -1,8 +1,8 @@ <?php + /** - * Chinese(Simplified) language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author ZDYX <zhangduyixiong@gmail.com> * @author http://www.chinese-tools.com/tools/converter-tradsimp.html * @author George Sheraton guxd@163.com @@ -15,6 +15,7 @@ * @author caii, patent agent in China <zhoucaiqi@gmail.com> * @author lainme993@gmail.com * @author Shuo-Ting Jian <shoting@gmail.com> + * @author Garfield <garfield_550@outlook.com> */ $lang['menu'] = 'é…置设置'; $lang['error'] = '由于éžæ³•å‚数,设置没有更新。请检查您åšçš„改动并é‡æ–°æ交。 @@ -90,7 +91,9 @@ $lang['disableactions'] = 'åœç”¨ DokuWiki 功能'; $lang['disableactions_check'] = '检查'; $lang['disableactions_subscription'] = '订阅/退订'; $lang['disableactions_wikicode'] = '查看æºæ–‡ä»¶/导出æºæ–‡ä»¶'; +$lang['disableactions_profile_delete'] = 'åˆ é™¤è‡ªå·±çš„è´¦æˆ·'; $lang['disableactions_other'] = '其他功能(用英文逗å·åˆ†éš”)'; +$lang['disableactions_rss'] = 'XML åŒæ¥ (RSS)'; $lang['auth_security_timeout'] = '认è¯å®‰å…¨è¶…时(秒)'; $lang['securecookie'] = 'è¦è®©æµè§ˆå™¨é¡»ä»¥HTTPSæ–¹å¼ä¼ é€åœ¨HTTPS会è¯ä¸è®¾ç½®çš„cookieså—?请åªåœ¨ç™»å½•è¿‡ç¨‹ä¸ºSSLåŠ å¯†è€Œæµè§ˆç»´åŸºä¸ºæ˜Žæ–‡çš„情况下打开æ¤é€‰é¡¹ã€‚'; $lang['remote'] = '激活远程 API 系统。这å…许其他程åºé€šè¿‡ XML-RPC 或其他机制æ¥è®¿é—®ç»´åŸºã€‚'; @@ -196,6 +199,7 @@ $lang['xsendfile_o_2'] = 'æ ‡å‡† X-Sendfile 头'; $lang['xsendfile_o_3'] = '专有 Nginx X-Accel-Redirect 头'; $lang['showuseras_o_loginname'] = '登录å'; $lang['showuseras_o_username'] = '用户全å'; +$lang['showuseras_o_username_link'] = '使用用户全å作为维基内的用户链接'; $lang['showuseras_o_email'] = '用户的电å邮箱(按邮箱ä¿æŠ¤è®¾ç½®åŠ 扰)'; $lang['showuseras_o_email_link'] = '以mailto:形å¼æ˜¾ç¤ºç”¨æˆ·çš„电å邮箱'; $lang['useheading_o_0'] = '从ä¸'; diff --git a/lib/plugins/config/plugin.info.txt b/lib/plugins/config/plugin.info.txt index 9472346b9384b3d8344afe2e975507a870c98440..ddd72657d52ff675db1965e69aabeccdf12cff2e 100644 --- a/lib/plugins/config/plugin.info.txt +++ b/lib/plugins/config/plugin.info.txt @@ -1,7 +1,7 @@ base config author Christopher Smith email chris@jalakai.co.uk -date 2014-03-18 +date 2015-07-18 name Configuration Manager desc Manage Dokuwiki's Configuration Settings url http://dokuwiki.org/plugin:config diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php index 316cc2c593e5db1519547e5214828e96ef8ae3c9..9c4cca49c8e9d16336b62b4c0e5fd51495dae1bb 100644 --- a/lib/plugins/config/settings/config.class.php +++ b/lib/plugins/config/settings/config.class.php @@ -37,7 +37,7 @@ if (!class_exists('configuration')) { * * @param string $datafile path to config metadata file */ - public function configuration($datafile) { + public function __construct($datafile) { global $conf, $config_cascade; if (!file_exists($datafile)) { @@ -101,7 +101,12 @@ if (!class_exists('configuration')) { } $this->setting[$key] = new $class($key,$param); - $this->setting[$key]->initialize($default[$key],$local[$key],$protected[$key]); + + $d = array_key_exists($key, $default) ? $default[$key] : null; + $l = array_key_exists($key, $local) ? $local[$key] : null; + $p = array_key_exists($key, $protected) ? $protected[$key] : null; + + $this->setting[$key]->initialize($d,$l,$p); } $this->_loaded = true; @@ -434,7 +439,7 @@ if (!class_exists('setting')) { * @param string $key * @param array|null $params array with metadata of setting */ - public function setting($key, $params=null) { + public function __construct($key, $params=null) { $this->_key = $key; if (is_array($params)) { @@ -887,29 +892,6 @@ if (!class_exists('setting_email')) { } } -/** - * @deprecated 2013-02-16 - */ -if (!class_exists('setting_richemail')) { - /** - * Class setting_richemail - */ - class setting_richemail extends setting_email { - /** - * update changed setting with user provided value $input - * - if changed value fails error check, save it - * - * @param mixed $input the new value - * @return boolean true if changed, false otherwise (also on error) - */ - function update($input) { - $this->_placeholders = true; - return parent::update($input); - } - } -} - - if (!class_exists('setting_numeric')) { /** * Class setting_numeric @@ -1242,7 +1224,7 @@ if (!class_exists('setting_multicheckbox')) { * Build html for label and input of setting * * @param DokuWiki_Plugin $plugin object of config plugin - * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting + * @param bool $echo true: show input value, when error occurred, otherwise the stored setting * @return string[] with content array(string $label_html, string $input_html) */ function html(&$plugin, $echo=false) { diff --git a/lib/plugins/config/settings/extra.class.php b/lib/plugins/config/settings/extra.class.php index fd3a90e284e5d6f8afb2935b0d11ba99f36c088c..2445577d1288ae91e933c571b5b56edb7a2c6e10 100644 --- a/lib/plugins/config/settings/extra.class.php +++ b/lib/plugins/config/settings/extra.class.php @@ -15,12 +15,12 @@ if (!class_exists('setting_sepchar')) { * @param string $key * @param array|null $param array with metadata of setting */ - function setting_sepchar($key,$param=null) { + function __construct($key,$param=null) { $str = '_-.'; for ($i=0;$i<strlen($str);$i++) $this->_choices[] = $str{$i}; // call foundation class constructor - $this->setting($key,$param); + parent::__construct($key,$param); } } } diff --git a/lib/plugins/extension/_test/extension.test.php b/lib/plugins/extension/_test/extension.test.php index 453b95e79355807ee34fd63fd6e3abeec9b0badf..d4f13201d3a63a6c68316ad798850893d5355975 100644 --- a/lib/plugins/extension/_test/extension.test.php +++ b/lib/plugins/extension/_test/extension.test.php @@ -14,7 +14,9 @@ class mock_helper_plugin_extension_extension extends helper_plugin_extension_ext /** * @group plugin_extension + * @group admin_plugins * @group plugins + * @group bundled_plugins */ class helper_plugin_extension_extension_test extends DokuWikiTest { diff --git a/lib/plugins/extension/helper/extension.php b/lib/plugins/extension/helper/extension.php index 6c0946b09acf185d206e8294bea7d6be8da72993..2f44f55ba77310ec245dd87d02623e6130747456 100644 --- a/lib/plugins/extension/helper/extension.php +++ b/lib/plugins/extension/helper/extension.php @@ -105,10 +105,10 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin { */ public function isBundled() { if (!empty($this->remoteInfo['bundled'])) return $this->remoteInfo['bundled']; - return in_array($this->base, + return in_array($this->id, array( 'authad', 'authldap', 'authmysql', 'authpgsql', 'authplain', 'acl', 'info', 'extension', - 'revert', 'popularity', 'config', 'safefnrecode', 'testing', 'template:dokuwiki' + 'revert', 'popularity', 'config', 'safefnrecode', 'styling', 'testing', 'template:dokuwiki' ) ); } @@ -578,6 +578,7 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin { try { $installed = $this->installArchive("$tmp/upload.archive", true, $basename); $this->updateManagerData('', $installed); + $this->removeDeletedfiles($installed); // purge cache $this->purgeCache(); }catch (Exception $e){ @@ -598,6 +599,7 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin { $path = $this->download($url); $installed = $this->installArchive($path, true); $this->updateManagerData($url, $installed); + $this->removeDeletedfiles($installed); // purge cache $this->purgeCache(); @@ -623,6 +625,7 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin { if (!isset($installed[$this->getID()])) { throw new Exception('Error, the requested extension hasn\'t been installed or updated'); } + $this->removeDeletedfiles($installed); $this->setExtension($this->getID()); $this->purgeCache(); return $installed; @@ -918,7 +921,9 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin { if($this->dircopy($item['tmp'], $target)) { // return info $id = $item['base']; - if($item['type'] == 'template') $id = 'template:'.$id; + if($item['type'] == 'template') { + $id = 'template:'.$id; + } $installed_extensions[$id] = array( 'base' => $item['base'], 'type' => $item['type'], @@ -1035,33 +1040,24 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin { $ext = $this->guess_archive($file); if(in_array($ext, array('tar', 'bz', 'gz'))) { - switch($ext) { - case 'bz': - $compress_type = Tar::COMPRESS_BZIP; - break; - case 'gz': - $compress_type = Tar::COMPRESS_GZIP; - break; - default: - $compress_type = Tar::COMPRESS_NONE; - } - $tar = new Tar(); try { - $tar->open($file, $compress_type); + $tar = new \splitbrain\PHPArchive\Tar(); + $tar->open($file); $tar->extract($target); - } catch (Exception $e) { + } catch (\splitbrain\PHPArchive\ArchiveIOException $e) { throw new Exception($this->getLang('error_decompress').' '.$e->getMessage()); } return true; } elseif($ext == 'zip') { - $zip = new ZipLib(); - $ok = $zip->Extract($file, $target); - - if($ok == -1){ - throw new Exception($this->getLang('error_decompress').' Error extracting the zip archive'); + try { + $zip = new \splitbrain\PHPArchive\Zip(); + $zip->open($file); + $zip->extract($target); + } catch (\splitbrain\PHPArchive\ArchiveIOException $e) { + throw new Exception($this->getLang('error_decompress').' '.$e->getMessage()); } return true; @@ -1126,6 +1122,40 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin { return true; } + + /** + * Delete outdated files from updated plugins + * + * @param array $installed + */ + private function removeDeletedfiles($installed) { + foreach($installed as $id => $extension) { + // only on update + if($extension['action'] == 'install') continue; + + // get definition file + if($extension['type'] == 'template') { + $extensiondir = DOKU_TPLLIB; + }else{ + $extensiondir = DOKU_PLUGIN; + } + $extensiondir = $extensiondir . $extension['base'] .'/'; + $definitionfile = $extensiondir . 'deleted.files'; + if(!file_exists($definitionfile)) continue; + + // delete the old files + $list = file($definitionfile); + + foreach($list as $line) { + $line = trim(preg_replace('/#.*$/', '', $line)); + if(!$line) continue; + $file = $extensiondir . $line; + if(!file_exists($file)) continue; + + io_rmdir($file, true); + } + } + } } // vim:ts=4:sw=4:et: diff --git a/lib/plugins/extension/helper/gui.php b/lib/plugins/extension/helper/gui.php index 3a0f0c58985ccc1681f38d1f1ed216e21894342c..4ec6fec8561edfdde8cae09c1a295fbf8ac13b2f 100644 --- a/lib/plugins/extension/helper/gui.php +++ b/lib/plugins/extension/helper/gui.php @@ -144,11 +144,11 @@ class helper_plugin_extension_gui extends DokuWiki_Plugin { foreach($this->tabs as $tab) { $url = $this->tabURL($tab); if($this->currentTab() == $tab) { - $class = 'class="active"'; + $class = ' active'; } else { $class = ''; } - echo '<li '.$class.'><a href="'.$url.'">'.$this->getLang('tab_'.$tab).'</a></li>'; + echo '<li class="'.$tab.$class.'"><a href="'.$url.'">'.$this->getLang('tab_'.$tab).'</a></li>'; } echo '</ul>'; } diff --git a/lib/plugins/extension/helper/list.php b/lib/plugins/extension/helper/list.php index 872cccc8c8d35a69e6b600a89308ba00e6259846..6ca72f7cef90438a2720589fa417a09c4e1df790 100644 --- a/lib/plugins/extension/helper/list.php +++ b/lib/plugins/extension/helper/list.php @@ -151,6 +151,7 @@ class helper_plugin_extension_list extends DokuWiki_Plugin { if($extension->isInstalled()) { $class.=' installed'; $class.= ($extension->isEnabled()) ? ' enabled':' disabled'; + if($extension->updateAvailable()) $class .= ' updatable'; } if(!$extension->canModify()) $class.= ' notselect'; if($extension->isProtected()) $class.= ' protected'; @@ -265,7 +266,7 @@ class helper_plugin_extension_list extends DokuWiki_Plugin { $return = '<div class="linkbar">'; $return .= $this->make_homepagelink($extension); if ($extension->getBugtrackerURL()) { - $return .= ' <a href="'.hsc($extension->getBugtrackerURL()).'" title="'.hsc($extension->getBugtrackerURL()).'" class ="interwiki iw_dokubug">'.$this->getLang('bugs_features').'</a> '; + $return .= ' <a href="'.hsc($extension->getBugtrackerURL()).'" title="'.hsc($extension->getBugtrackerURL()).'" class ="bugs">'.$this->getLang('bugs_features').'</a> '; } if ($extension->getTags()){ $first = true; @@ -492,7 +493,7 @@ class helper_plugin_extension_list extends DokuWiki_Plugin { $errors .= '<p class="permerror">'.$this->getLang('git').'</p>'; } - if ($extension->isEnabled() && in_array('Auth', $extension->getTypes()) && $conf['auth'] != $extension->getID()) { + if ($extension->isEnabled() && in_array('Auth', $extension->getTypes()) && $conf['authtype'] != $extension->getID()) { $errors .= '<p class="permerror">'.$this->getLang('auth').'</p>'; } @@ -534,7 +535,7 @@ class helper_plugin_extension_list extends DokuWiki_Plugin { $classes = 'button '.$action; $name = 'fn['.$action.']['.hsc($extension->getID()).']'; - return '<input class="'.$classes.'" name="'.$name.'" type="submit" value="'.$this->getLang('btn_'.$action).'" '.$title.' />'; + return '<button class="'.$classes.'" name="'.$name.'" type="submit" '.$title.'>'.$this->getLang('btn_'.$action).'</button> '; } /** diff --git a/lib/images/interwiki/dokubug.gif b/lib/plugins/extension/images/bug.gif similarity index 100% rename from lib/images/interwiki/dokubug.gif rename to lib/plugins/extension/images/bug.gif diff --git a/lib/plugins/extension/images/disabled.png b/lib/plugins/extension/images/disabled.png index 93a813642a955210f14433ed542f4711190ce482..9c18b0452a1c3620341532f32fabc7444070d666 100644 Binary files a/lib/plugins/extension/images/disabled.png and b/lib/plugins/extension/images/disabled.png differ diff --git a/lib/plugins/extension/images/donate.png b/lib/plugins/extension/images/donate.png index 9e234da1c5f7112d9d38eee45866f58ac517521e..a76dfaaec7daa63d4425a8dfd50b4ceffc505697 100644 Binary files a/lib/plugins/extension/images/donate.png and b/lib/plugins/extension/images/donate.png differ diff --git a/lib/plugins/extension/images/down.png b/lib/plugins/extension/images/down.png index df7beda4ea08724419bc851dc2489b48dd690e03..8e399a97db4a9be31174e12c69ceabd8cb6d35b9 100644 Binary files a/lib/plugins/extension/images/down.png and b/lib/plugins/extension/images/down.png differ diff --git a/lib/plugins/extension/images/enabled.png b/lib/plugins/extension/images/enabled.png index 92d958802c8e19e0b25a940bbfe0176d33862307..edbbb5b3cd494fc7d7b67f3fef56a03eb50559c4 100644 Binary files a/lib/plugins/extension/images/enabled.png and b/lib/plugins/extension/images/enabled.png differ diff --git a/lib/plugins/extension/images/overlay.png b/lib/plugins/extension/images/overlay.png index 8f92c2fe7707273dbd79c2ea3ab840c2d02979f6..5414206c555d670826eead514b2257192ce2f6b4 100644 Binary files a/lib/plugins/extension/images/overlay.png and b/lib/plugins/extension/images/overlay.png differ diff --git a/lib/plugins/extension/images/plugin.png b/lib/plugins/extension/images/plugin.png index e4a2d3be6a70009baf5027afcbc67d3360618876..62424b2c7a15fad2e05f1674ef3c04f6c353d6eb 100644 Binary files a/lib/plugins/extension/images/plugin.png and b/lib/plugins/extension/images/plugin.png differ diff --git a/lib/plugins/extension/images/tag.png b/lib/plugins/extension/images/tag.png index 155dbb3ddd292dfd6bd6f0f914caffa1101778a6..1b1dd750ca351bc0c51f7d15124a9391fcadfe9a 100644 Binary files a/lib/plugins/extension/images/tag.png and b/lib/plugins/extension/images/tag.png differ diff --git a/lib/plugins/extension/images/template.png b/lib/plugins/extension/images/template.png index ee74bc1d54eec6080fdb298da960566673eaf708..67240d1eb0c8fb91f7db528c20296a1029512497 100644 Binary files a/lib/plugins/extension/images/template.png and b/lib/plugins/extension/images/template.png differ diff --git a/lib/plugins/extension/images/up.png b/lib/plugins/extension/images/up.png index ec9337715cdcd9f4faf722214df78e71e5f021df..531b2dd7bc710855ce1e5e47be1333fcf6927c45 100644 Binary files a/lib/plugins/extension/images/up.png and b/lib/plugins/extension/images/up.png differ diff --git a/lib/plugins/extension/images/warning.png b/lib/plugins/extension/images/warning.png index c5e482f84b3a140a062da69cd86d0a98019a8fcb..c1af79f0ffa5b8ebe561b8983fb0e843d8157e4d 100644 Binary files a/lib/plugins/extension/images/warning.png and b/lib/plugins/extension/images/warning.png differ diff --git a/lib/plugins/extension/lang/bg/intro_install.txt b/lib/plugins/extension/lang/bg/intro_install.txt new file mode 100644 index 0000000000000000000000000000000000000000..34b92484caa8aa5ce76b46c1254963a159cadb7c --- /dev/null +++ b/lib/plugins/extension/lang/bg/intro_install.txt @@ -0,0 +1 @@ +От тук можете да инÑталирате ръчно приÑтавки и шаблони като качите архив или поÑочите URL за ÑвалÑне на архива. \ No newline at end of file diff --git a/lib/plugins/extension/lang/bg/intro_plugins.txt b/lib/plugins/extension/lang/bg/intro_plugins.txt new file mode 100644 index 0000000000000000000000000000000000000000..927f617dbed895537dc05272eaa99fd8aa2530e9 --- /dev/null +++ b/lib/plugins/extension/lang/bg/intro_plugins.txt @@ -0,0 +1 @@ +Това Ñа инÑталираните приÑтавки. От тук можете да ги включвате и изключвате както и да ги деинÑталирате. Тук ще виждате и наличните актуализации, като преди вÑÑка такава прочетете документациÑта на Ñъответната приÑтавка. \ No newline at end of file diff --git a/lib/plugins/extension/lang/bg/intro_search.txt b/lib/plugins/extension/lang/bg/intro_search.txt new file mode 100644 index 0000000000000000000000000000000000000000..cec4cd243414363b42fab90926a32108c5e6343d --- /dev/null +++ b/lib/plugins/extension/lang/bg/intro_search.txt @@ -0,0 +1 @@ +От тук имате доÑтъп до вÑички налични приÑтавки и шаблони за DokuWiki, които Ñа дело на трети лица. Имайте предвид, че кодът им е потенциален **риÑк за ÑигурноÑтта на Ñървъра**! Повече по темата можете да прочетете в [[doku>security#plugin_security|plugin security]] first. \ No newline at end of file diff --git a/lib/plugins/extension/lang/bg/intro_templates.txt b/lib/plugins/extension/lang/bg/intro_templates.txt new file mode 100644 index 0000000000000000000000000000000000000000..8824b4d8eabc84bb9baa2a1ba37254aec69db3f7 --- /dev/null +++ b/lib/plugins/extension/lang/bg/intro_templates.txt @@ -0,0 +1 @@ +Това Ñа инÑталираните шаблони. Можете да определите кой шаблон да Ñе ползва от [[?do=admin&page=config|ÐаÑтройки]]. \ No newline at end of file diff --git a/lib/plugins/extension/lang/bg/lang.php b/lib/plugins/extension/lang/bg/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..dda69a4b9ded484d56812c046215e9c05560b712 --- /dev/null +++ b/lib/plugins/extension/lang/bg/lang.php @@ -0,0 +1,84 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Kiril <neohidra@gmail.com> + */ +$lang['menu'] = 'ДиÑпечер на приÑтавки'; +$lang['tab_plugins'] = 'ИнÑталирани приÑтавки'; +$lang['tab_templates'] = 'ИнÑталирани шаблони'; +$lang['tab_search'] = 'ТърÑене и инÑталиране'; +$lang['tab_install'] = 'Ръчно инÑталиране'; +$lang['notimplemented'] = 'ФункционалноÑтта вÑе още не реализирана'; +$lang['notinstalled'] = 'ПриÑтавката не е инÑталирана'; +$lang['alreadyenabled'] = 'ПриÑтавката е включена'; +$lang['alreadydisabled'] = 'ПриÑтавката е изключена'; +$lang['pluginlistsaveerror'] = 'Възникна грешка при запиÑването на ÑпиÑъка Ñ Ð¿Ñ€Ð¸Ñтавки'; +$lang['unknownauthor'] = 'ÐеизвеÑтен автор'; +$lang['unknownversion'] = 'ÐеизвеÑтна верÑиÑ'; +$lang['btn_info'] = 'Повече информациÑ'; +$lang['btn_update'] = 'Ðктуализиране'; +$lang['btn_uninstall'] = 'ДеинÑталиране'; +$lang['btn_enable'] = 'Включване'; +$lang['btn_disable'] = 'Изключване'; +$lang['btn_install'] = 'ИнÑталиране'; +$lang['btn_reinstall'] = 'ПреинÑталиране'; +$lang['js']['reallydel'] = 'ÐаиÑтина ли желаете приÑтавката да бъде деинÑталирана?'; +$lang['js']['display_viewoptions'] = 'Филтриране:'; +$lang['js']['display_enabled'] = 'включени'; +$lang['js']['display_disabled'] = 'изключени'; +$lang['js']['display_updatable'] = 'Ñ Ð½Ð°Ð»Ð¸Ñ‡Ð½Ð¸ актуализации'; +$lang['search_for'] = 'ТърÑене за приÑтавки:'; +$lang['search'] = 'ТърÑене'; +$lang['extensionby'] = '<strong>%s</strong> от %s'; +$lang['popularity'] = 'ПопулÑрноÑÑ‚: %s%%'; +$lang['homepage_link'] = 'Документи'; +$lang['tags'] = 'Етикети:'; +$lang['author_hint'] = 'ТърÑене за други приÑтавки от този автор'; +$lang['installed'] = 'ИнÑталирано:'; +$lang['downloadurl'] = 'СвалÑне от URL:'; +$lang['repository'] = 'Хранилище:'; +$lang['unknown'] = '<em>неизвеÑтно</em>'; +$lang['installed_version'] = 'ИнÑталирана верÑиÑ:'; +$lang['install_date'] = 'ПоÑл. актуализиране:'; +$lang['available_version'] = 'Ðалична верÑиÑ:'; +$lang['compatible'] = 'СъвмеÑтимоÑÑ‚ Ñ:'; +$lang['depends'] = 'ИзиÑква:'; +$lang['similar'] = 'ÐаподобÑва:'; +$lang['conflicts'] = 'Ð’ кофликт Ñ:'; +$lang['donate'] = 'ХареÑва ли ви?'; +$lang['donate_action'] = 'Купете на автора кафе!'; +$lang['repo_retry'] = 'Повторен опит'; +$lang['provides'] = 'ОÑигурÑва:'; +$lang['status'] = 'СъÑтоÑние:'; +$lang['status_installed'] = 'инÑталирана'; +$lang['status_not_installed'] = 'неинÑталирана'; +$lang['status_protected'] = 'защитена'; +$lang['status_enabled'] = 'включена'; +$lang['status_disabled'] = 'изключена'; +$lang['status_plugin'] = 'приÑтавка'; +$lang['status_template'] = 'шаблон'; +$lang['msg_enabled'] = 'ПриÑтавката "%s" е включена'; +$lang['msg_disabled'] = 'ПриÑтавката "%s" е изключена'; +$lang['msg_delete_success'] = 'ПриÑтавката "%s" е деинÑталирана'; +$lang['msg_delete_failed'] = 'ДеинÑталирането на приÑтавката "%s" Ñе провали '; +$lang['msg_template_install_success'] = 'Шаблонът "%s" е инÑталиран уÑпешно'; +$lang['msg_template_update_success'] = 'Шаблонът "%s" е актуализиран уÑпешно'; +$lang['msg_plugin_install_success'] = 'ПриÑтавката "%s" е инÑталирана уÑпешно'; +$lang['msg_plugin_update_success'] = 'ПриÑтавката "%s" е актуализирана уÑпешно'; +$lang['msg_upload_failed'] = 'Качването на файлът Ñе провали'; +$lang['missing_dependency'] = '<strong>ИзиÑкван компонент липÑва или е изключен:</strong> %s'; +$lang['security_issue'] = '<strong>Проблем ÑÑŠÑ ÑигурноÑтта:</strong> %s'; +$lang['security_warning'] = '<strong>Предупреждние за ÑигурноÑтта:</strong> %s'; +$lang['update_available'] = '<strong>ÐктуализациÑ:</strong> Ðалична е нова верÑÐ¸Ñ - %s'; +$lang['wrong_folder'] = '<strong>Ðекоректно инÑталирана приÑтавка:</strong> Преименувайте директориÑта "%s" на "%s".'; +$lang['error_badurl'] = 'URL адреÑите Ñ‚Ñ€Ñбва да започват Ñ http или https'; +$lang['error_dircreate'] = 'Създаването на временна поапка за получаване на файла не е възможно'; +$lang['error_download'] = 'ÐевъзможноÑÑ‚ за ÑвалÑне на файл: %s'; +$lang['noperms'] = 'Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð½Ð° разширението не е доÑтъпна за пиÑане'; +$lang['notplperms'] = 'Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð½Ð° шаблона не е доÑтъпна за пиÑане'; +$lang['nopluginperms'] = 'Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð½Ð° приÑтавката не е доÑтъпна за пиÑане'; +$lang['install_url'] = 'ИнÑталиране от URL:'; +$lang['install_upload'] = 'Качване:'; +$lang['repo_error'] = 'ÐÑма връзка Ñ Ñ…Ñ€Ð°Ð½Ð¸Ð»Ð¸Ñ‰ÐµÑ‚Ð¾ на добавката. Проверете възможна ли е комуникациÑта www.dokuwiki.org и прокÑи наÑтройките.'; diff --git a/lib/plugins/extension/lang/cs/lang.php b/lib/plugins/extension/lang/cs/lang.php index dc38afd52ad018e11729ac67e78d9f76e3156e1f..1fef75a457359b1963108e0cdac6ccaaeb130c54 100644 --- a/lib/plugins/extension/lang/cs/lang.php +++ b/lib/plugins/extension/lang/cs/lang.php @@ -5,8 +5,9 @@ * * @author Viktor Zavadil <vzavadil@newps.cz> * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> + * @author Turkislav <turkislav@blabla.com> */ -$lang['menu'] = 'Manager rozÅ¡ÃÅ™enÃ'; +$lang['menu'] = 'Správce rozÅ¡ÃÅ™enÃ'; $lang['tab_plugins'] = 'Instalované moduly'; $lang['tab_templates'] = 'Instalované Å¡ablony'; $lang['tab_search'] = 'Vyhledej a instaluj'; @@ -26,6 +27,10 @@ $lang['btn_disable'] = 'Zakázat'; $lang['btn_install'] = 'Instalovat'; $lang['btn_reinstall'] = 'PÅ™einstalovat'; $lang['js']['reallydel'] = 'Opravdu odinstalovat toto rozÅ¡ÃÅ™enÃ?'; +$lang['js']['display_viewoptions'] = 'Zobrazit možnosti:'; +$lang['js']['display_enabled'] = 'povolit'; +$lang['js']['display_disabled'] = 'zakázat'; +$lang['js']['display_updatable'] = 'aktualizovatelné'; $lang['search_for'] = 'Hledat rozÅ¡ÃÅ™enÃ:'; $lang['search'] = 'Hledat'; $lang['extensionby'] = '<strong>%s</strong> od %s'; @@ -62,7 +67,7 @@ $lang['status_template'] = 'Å¡ablona'; $lang['status_bundled'] = 'svázaný'; $lang['msg_enabled'] = 'Zásuvný modul %s povolen'; $lang['msg_disabled'] = 'Zásuvný modul %s zakázán'; -$lang['msg_delete_success'] = 'RozÅ¡ÃÅ™enà odinstalováno'; +$lang['msg_delete_success'] = 'RozÅ¡ÃÅ™enà %s odinstalováno'; $lang['msg_delete_failed'] = 'Odinstalovánà rozÅ¡ÃÅ™enà %s selhalo'; $lang['msg_template_install_success'] = 'Å ablona %s úspěšnÄ› nainstalována'; $lang['msg_template_update_success'] = 'Å ablona %s úspěšnÄ› aktualizována'; diff --git a/lib/plugins/extension/lang/cy/intro_install.txt b/lib/plugins/extension/lang/cy/intro_install.txt new file mode 100644 index 0000000000000000000000000000000000000000..2bc933ec7c8dbb71d58b1b962de4de465a5ec0c4 --- /dev/null +++ b/lib/plugins/extension/lang/cy/intro_install.txt @@ -0,0 +1 @@ +Gallwch chi arsefydlu ategion a thempledau gan law yma, naill ai gan eu lanlwytho neu gan gyflwyno URL lawrlwytho uniongyrchol. diff --git a/lib/plugins/extension/lang/cy/intro_plugins.txt b/lib/plugins/extension/lang/cy/intro_plugins.txt new file mode 100644 index 0000000000000000000000000000000000000000..dd49a7a6b6c65d37bbc47debb37ddd81d98bc019 --- /dev/null +++ b/lib/plugins/extension/lang/cy/intro_plugins.txt @@ -0,0 +1 @@ +Dyma'r ategion sydd wedi\'u harsefydlu yn eich DokuWiki yn bresennol. Gallwch chi eu galluogi neu eu hanalluogi nhw neu hyd yn oed eu dad-arsefydlu yn llwyr yma. Caiff diweddariadau'r ategion eu dangos yma hefyd, sicrhewch eich bod chi'n darllen dogfennaeth yr ategyn cyn diweddaru. diff --git a/lib/plugins/extension/lang/cy/intro_search.txt b/lib/plugins/extension/lang/cy/intro_search.txt new file mode 100644 index 0000000000000000000000000000000000000000..8aef9603948fa60637b4f8b2d4621f7fa099d4c0 --- /dev/null +++ b/lib/plugins/extension/lang/cy/intro_search.txt @@ -0,0 +1 @@ +Mae'r tab hwn yn rhoi mynediad i bob ategyn a thempled 3ydd parti ar gael ar gyfer DokuWiki. Sylwch fod arsefydlu cod 3ydd parti yn achosi **risg diogelwch**. Efallai hoffech chi ddarllen mwy ar [[doku>security#plugin_security|ddiogelwch ategion]] yn gyntaf. \ No newline at end of file diff --git a/lib/plugins/extension/lang/cy/intro_templates.txt b/lib/plugins/extension/lang/cy/intro_templates.txt new file mode 100644 index 0000000000000000000000000000000000000000..49471451fa0f988b3d0657ac325254571d7badb5 --- /dev/null +++ b/lib/plugins/extension/lang/cy/intro_templates.txt @@ -0,0 +1 @@ +Dyma'r templedau sydd wedi'u harsefydlu yn eich DokuWiki yn bresennol. Gallwch chi ddewis y templed i'w ddefnyddio yn y [[?do=admin&page=config|Rheolwr Ffurfwedd]]. diff --git a/lib/plugins/extension/lang/cy/lang.php b/lib/plugins/extension/lang/cy/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..2a2a8c8fac6d1e430d6904f6fcbbcecc4bbffcba --- /dev/null +++ b/lib/plugins/extension/lang/cy/lang.php @@ -0,0 +1,111 @@ +<?php +/** + * Welsh language file for extension plugin + * + * @author Michael Hamann <michael@content-space.de> + * @author Christopher Smith <chris@jalakai.co.uk> + * @author Alan Davies <ben.brynsadler@gmail.com> + */ + +$lang['menu'] = 'Rheolwr Estyniadau'; + +$lang['tab_plugins'] = 'Ategion a Arsefydlwyd'; +$lang['tab_templates'] = 'Templedau a Arsefydlwyd'; +$lang['tab_search'] = 'Chwilio ac Arsefydlu'; +$lang['tab_install'] = 'Arsefydlu gan Law'; + +$lang['notimplemented'] = '\'Dyw\'r nodwedd hon heb ei rhoi ar waith eto'; +$lang['notinstalled'] = '\'Dyw\'r estyniad hwn heb ei arsefydlu'; +$lang['alreadyenabled'] = 'Cafodd yr estyniad hwn ei alluogi'; +$lang['alreadydisabled'] = 'Cafodd yr estyniad hwn ei analluogi'; +$lang['pluginlistsaveerror'] = 'Roedd gwall wrth gadw\'r rhestr ategion'; +$lang['unknownauthor'] = 'Awdur anhysbys'; +$lang['unknownversion'] = 'Fersiwn anhysbys'; + +$lang['btn_info'] = 'Dangos wybodaeth bellach'; +$lang['btn_update'] = 'Diweddaru'; +$lang['btn_uninstall'] = 'Dad-arsefydlu'; +$lang['btn_enable'] = 'Galluogi'; +$lang['btn_disable'] = 'Analluogi'; +$lang['btn_install'] = 'Arsyfydlu'; +$lang['btn_reinstall'] = 'Ail-arsefydlu'; + +$lang['js']['reallydel'] = 'Ydych chi wir am ddad-arsefydlu\'r estyniad hwn?'; + +$lang['search_for'] = 'Chwilio Estyniadau:'; +$lang['search'] = 'Chwilio'; + +$lang['extensionby'] = '<strong>%s</strong> gan %s'; +$lang['screenshot'] = 'Sgrinlun %s'; +$lang['popularity'] = 'Poblogrwydd: %s%%'; +$lang['homepage_link'] = 'Dogfennau'; +$lang['bugs_features'] = 'Bygiau'; +$lang['tags'] = 'Tagiau:'; +$lang['author_hint'] = 'Chwilio estyniadau gan awdur'; +$lang['installed'] = 'Arsefydlwyd:'; +$lang['downloadurl'] = 'URL Lawlwytho:'; +$lang['repository'] = 'Ystorfa:'; +$lang['unknown'] = '<em>anhysbys</em>'; +$lang['installed_version'] = 'Fersiwn a arsefydlwyd:'; +$lang['install_date'] = 'Eich diweddariad diwethaf:'; +$lang['available_version'] = 'Fersiwn ar gael:'; +$lang['compatible'] = 'Yn gydnaws â:'; +$lang['depends'] = 'Yn dibynnu ar:'; +$lang['similar'] = 'Yn debyg i:'; +$lang['conflicts'] = 'Y gwrthdaro â:'; +$lang['donate'] = 'Fel hwn?'; +$lang['donate_action'] = 'Prynwch goffi i\'r awdur!'; +$lang['repo_retry'] = 'Ailgeisio'; +$lang['provides'] = 'Darparu:'; +$lang['status'] = 'Statws:'; +$lang['status_installed'] = 'arsefydlwyd'; +$lang['status_not_installed'] = 'heb ei arsefydlu'; +$lang['status_protected'] = 'amddiffynwyd'; +$lang['status_enabled'] = 'galluogwyd'; +$lang['status_disabled'] = 'analluogwyd'; +$lang['status_unmodifiable'] = 'methu addasu'; +$lang['status_plugin'] = 'ategyn'; +$lang['status_template'] = 'templed'; +$lang['status_bundled'] = 'bwndlwyd'; + +$lang['msg_enabled'] = 'Galluogwyd ategyn %s'; +$lang['msg_disabled'] = 'Analluogwyd ategyn %s'; +$lang['msg_delete_success'] = 'Dad-arsefydlwyd estyniad %s'; +$lang['msg_delete_failed'] = 'Methodd dad-arsefydlu estyniad %s'; +$lang['msg_template_install_success'] = 'Arsefydlwyd templed %s yn llwyddiannus'; +$lang['msg_template_update_success'] = 'Diweddarwyd templed %s yn llwyddiannus'; +$lang['msg_plugin_install_success'] = 'Arsefydlwyd ategyn %s yn llwyddiannus'; +$lang['msg_plugin_update_success'] = 'Diweddarwyd ategyn %s yn llwyddiannus'; +$lang['msg_upload_failed'] = 'Methodd lanlwytho\'r ffeil'; + +$lang['missing_dependency'] = '<strong>Missing or disabled dependency:</strong> %s'; +$lang['security_issue'] = '<strong>Mater Diogelwch:</strong> %s'; +$lang['security_warning'] = '<strong>Rhybudd Diogelwch:</strong> %s'; +$lang['update_available'] = '<strong>Diweddariad:</strong> Mae fersiwn newydd %s ar gael.'; +$lang['wrong_folder'] = '<strong>Ategyn wedi\'i arsefydlu\'n anghywir:</strong> Ailenwch ffolder yr ategyn o "%s" i "%s".'; +$lang['url_change'] = '<strong>Newid i\'r URL:</strong> Newidiodd yr URL lawlwytho ers y diweddariad diwethaf. Gwiriwch i weld os yw\'r URL newydd yn ddilys cyn diweddaru\'r estyniad.<br />Newydd: %s<br />Hen: %s'; + +$lang['error_badurl'] = 'Dylai URL ddechrau gyda http neu https'; +$lang['error_dircreate'] = 'Methu â chreu ffolder dros dro er mwyn derbyn y lawrlwythiad'; +$lang['error_download'] = 'Methu lawrlwytho\'r ffeil: %s'; +$lang['error_decompress'] = 'Methu datgywasgu\'r ffeil a lawrlwythwyd. Gall hwn fod o ganlyniad i lawrlwythiad gwael, felly ceisiwch eto; neu gall fod fformat y cywasgiad fod yn anhysbys, felly bydd yn rhaid i chi lawlwytho ac arsefydlu gan law.'; +$lang['error_findfolder'] = 'Methu ag adnabod ffolder yr estyniad, bydd angen lawrlwytho ac arsefydlu gan law'; +$lang['error_copy'] = 'Roedd gwall copïo ffeil wrth geisio arsefydlu ffeiliau i\'r ffolder <em>%s</em>: gall fod y ddisgen yn llawn neu gall hawliau mynediad i ffeiliau fod yn anghywir. Gall hwn fod wedi achosi ategyn sydd wedi arsefydlu\'n rhannol ac sydd wedi ansefydlogi\'ch arsefydliad wici'; + +$lang['noperms'] = '\'Sdim modd ysgrifennu i\'r ffolder estyniadau'; +$lang['notplperms'] = '\'Sdim modd ysgrifennu i\'r ffolder templedau'; + +$lang['nopluginperms'] = '\'Sdim modd ysgrifennu i\'r ffolder ategion'; +$lang['git'] = 'Cafodd yr estyniad hwn ei arsefydlu gan git, mae\'n bosib na fyddwch chi am ei ddiweddaru yma.'; +$lang['auth'] = '\'Dyw\'r ategyn dilysu hwn heb ei alluogi yn y ffurfwedd, ystyriwch ei analluogi.'; + +$lang['install_url'] = 'Arsefydlu o URL:'; +$lang['install_upload'] = 'Lanlwytho Estyniad:'; + +$lang['repo_error'] = 'Doedd dim modd cysylltu â\'r ystorfa ategion. Sicrhewch fod hawl gan eich gweinydd i gysylltu â www.dokuwiki.org a gwiriwch eich gosodiadau procsi.'; +$lang['nossl'] = 'Mae\'n debyg \'dyw eich PHP ddim yn cynnal SSL. Na fydd lawrlwytho yn gweithio ar gyfer nifer o estyniadau DokuWiki.'; + +$lang['js']['display_viewoptions'] = 'Opsiynau Golwg:'; +$lang['js']['display_enabled'] = 'galluogwyd'; +$lang['js']['display_disabled'] = 'analluogwyd'; +$lang['js']['display_updatable'] = 'gallu diweddaru'; diff --git a/lib/plugins/extension/lang/da/intro_install.txt b/lib/plugins/extension/lang/da/intro_install.txt new file mode 100644 index 0000000000000000000000000000000000000000..e5657f21847fb3054d10c72c89c3e31b27b5ac58 --- /dev/null +++ b/lib/plugins/extension/lang/da/intro_install.txt @@ -0,0 +1 @@ +Her kan du installerer plugins eller templates manuelt, ved enten at uploade dem eller angive en direkte URL til download. \ No newline at end of file diff --git a/lib/plugins/extension/lang/da/intro_plugins.txt b/lib/plugins/extension/lang/da/intro_plugins.txt new file mode 100644 index 0000000000000000000000000000000000000000..5d9deaf1ea3f4b06fff861b3d525f9cb1ad0edc8 --- /dev/null +++ b/lib/plugins/extension/lang/da/intro_plugins.txt @@ -0,0 +1 @@ +Dette er de plugins du aktuelt har installeret i din DokuWiki. Du kan aktivere, deaktiver eller fjerne plugins fra denne side. Opdateringer til plugins vises ogsÃ¥ her - husk at læse dokumentationen til et plugin inden du opdaterer det. \ No newline at end of file diff --git a/lib/plugins/extension/lang/da/intro_templates.txt b/lib/plugins/extension/lang/da/intro_templates.txt new file mode 100644 index 0000000000000000000000000000000000000000..1914500b154e03862dc67b04b5d981ee462004e6 --- /dev/null +++ b/lib/plugins/extension/lang/da/intro_templates.txt @@ -0,0 +1 @@ +Dette er de templates du aktuelt har installeret i din DokuWiki. Du kan vælge det template du vil benytte under [[?do=admin&page=config|Opsætningsstyring]]. \ No newline at end of file diff --git a/lib/plugins/extension/lang/da/lang.php b/lib/plugins/extension/lang/da/lang.php index c341bc5f91ebb75c25e2a497ce929566f4d222df..17cb3b57cd6afef90479acbce92708d771a7da2a 100644 --- a/lib/plugins/extension/lang/da/lang.php +++ b/lib/plugins/extension/lang/da/lang.php @@ -4,7 +4,62 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Søren Birk <soer9648@eucl.dk> + * @author Jacob Palm <mail@jacobpalm.dk> */ +$lang['tab_plugins'] = 'Installerede plugins'; +$lang['tab_templates'] = 'Installerede templates'; +$lang['tab_search'] = 'Søg og installer'; +$lang['tab_install'] = 'Manuel installation'; +$lang['notimplemented'] = 'Denne funktion er ikke implementeret endnu'; +$lang['unknownauthor'] = 'Ukendt udgiver'; +$lang['unknownversion'] = 'Ukendt version'; +$lang['btn_info'] = 'Vis mere information'; +$lang['btn_update'] = 'Opdater'; +$lang['btn_uninstall'] = 'Afinstaller'; +$lang['btn_enable'] = 'Aktiver'; +$lang['btn_disable'] = 'Deaktiver'; +$lang['btn_install'] = 'Installer'; +$lang['btn_reinstall'] = 'Geninstaller'; +$lang['js']['reallydel'] = 'Er du sikker pÃ¥ at du vil afinstallere denne udvidelse?'; +$lang['search_for'] = 'Søg efter udvidelse:'; +$lang['search'] = 'Søg'; +$lang['extensionby'] = '<strong>%s</strong> af %s'; +$lang['screenshot'] = 'Skærmbillede af %s'; +$lang['popularity'] = 'Popularitet: %s%%'; +$lang['homepage_link'] = 'Dokumenter'; +$lang['bugs_features'] = 'Fejl'; +$lang['tags'] = 'Tags:'; +$lang['author_hint'] = 'Søg efter udvidelse af denne udgiver'; +$lang['installed'] = 'Installeret:'; +$lang['downloadurl'] = 'Download URL:'; +$lang['unknown'] = '<em>ukendt</em>'; +$lang['installed_version'] = 'Installeret version:'; +$lang['install_date'] = 'Din sidste opdatering:'; +$lang['available_version'] = 'Tilgængelig version:'; +$lang['compatible'] = 'Kompatibel med:'; +$lang['depends'] = 'Afhængig af:'; +$lang['similar'] = 'Ligner:'; +$lang['donate'] = 'Synes du om denne?'; +$lang['donate_action'] = 'Køb en kop kaffe til udvikleren!'; +$lang['repo_retry'] = 'Førsøg igen'; +$lang['status'] = 'Status:'; +$lang['status_installed'] = 'installeret'; +$lang['status_not_installed'] = 'ikke installeret'; +$lang['status_protected'] = 'beskyttet'; +$lang['status_enabled'] = 'aktiveret'; +$lang['status_disabled'] = 'deaktiveret'; +$lang['status_unmodifiable'] = 'lÃ¥st for ændringer'; +$lang['status_plugin'] = 'plugin'; +$lang['status_template'] = 'template'; +$lang['msg_enabled'] = 'Plugin %s aktiveret'; +$lang['msg_disabled'] = 'Plugin %s deaktiveret'; +$lang['msg_delete_success'] = 'Udvidelse %s afinstalleret'; +$lang['msg_delete_failed'] = 'Kunne ikke afinstallere udvidelsen %s'; +$lang['msg_template_install_success'] = 'Template %s blev installeret'; +$lang['msg_template_update_success'] = 'Template %s blev opdateret'; +$lang['msg_plugin_install_success'] = 'Plugin %s blev installeret'; +$lang['msg_plugin_update_success'] = 'Plugin %s blev opdateret'; +$lang['msg_upload_failed'] = 'Kunne ikke uploade filen'; $lang['update_available'] = '<strong>Opdatering:</strong> Ny version %s er tilgængelig.'; $lang['wrong_folder'] = '<strong>Plugin ikke installeret korrekt:</strong> Omdøb plugin-mappe "%s" til "%s".'; $lang['url_change'] = '<strong>URL ændret:</strong> Download-URL er blevet ændret siden sidste download. Kontrollér om den nye URL er valid, inden udvidelsen opdateres.<br />Ny: %s<br />Gammel: %s'; @@ -22,3 +77,4 @@ $lang['auth'] = 'Auth-plugin er ikke aktiveret i konfiguratione $lang['install_url'] = 'Installér fra URL:'; $lang['install_upload'] = 'Upload Udvidelse:'; $lang['repo_error'] = 'Plugin-arkivet kunne ikke kontaktes. Kontrollér at din server kan kontakte www.dokuwiki.org kontrollér dine proxy-indstillinger.'; +$lang['nossl'] = 'Din PHP lader til at mangle understøttelse for SSL. Mange DokuWiki udvidelser vil ikke kunne downloades.'; diff --git a/lib/plugins/extension/lang/de/lang.php b/lib/plugins/extension/lang/de/lang.php index ce5495e243efb2efbb84bd4517497026225aaf44..a47c9360f65d1e02d7b238d403048cb3c0b0bcfe 100644 --- a/lib/plugins/extension/lang/de/lang.php +++ b/lib/plugins/extension/lang/de/lang.php @@ -8,6 +8,8 @@ * @author Simon <st103267@stud.uni-stuttgart.de> * @author Hoisl <hoisl@gmx.at> * @author Dominik Mahr <drache.mahr@gmx.de> + * @author Noel Tilliot <noeltilliot@byom.de> + * @author Philip Knack <p.knack@stollfuss.de> */ $lang['menu'] = 'Erweiterungen verwalten'; $lang['tab_plugins'] = 'Installierte Plugins'; @@ -29,6 +31,10 @@ $lang['btn_disable'] = 'Deaktivieren'; $lang['btn_install'] = 'Installieren'; $lang['btn_reinstall'] = 'Neu installieren'; $lang['js']['reallydel'] = 'Wollen Sie diese Erweiterung wirklich löschen?'; +$lang['js']['display_viewoptions'] = 'Optionen anzeigen'; +$lang['js']['display_enabled'] = 'aktiviert'; +$lang['js']['display_disabled'] = 'deaktiviert'; +$lang['js']['display_updatable'] = 'aktualisierbar'; $lang['search_for'] = 'Erweiterung suchen:'; $lang['search'] = 'Suchen'; $lang['extensionby'] = '<strong>%s</strong> von %s'; @@ -65,7 +71,8 @@ $lang['status_template'] = 'Template'; $lang['status_bundled'] = 'gebündelt'; $lang['msg_enabled'] = 'Plugin %s ist aktiviert'; $lang['msg_disabled'] = 'Erweiterung %s ist deaktiviert'; -$lang['msg_delete_success'] = 'Erweiterung wurde entfernt'; +$lang['msg_delete_success'] = 'Erweiterung %s wurde entfernt'; +$lang['msg_delete_failed'] = 'Deinstallation der Erweiterung %s fehlgeschlagen'; $lang['msg_template_install_success'] = 'Das Template %s wurde erfolgreich installiert'; $lang['msg_template_update_success'] = 'Das Update des Templates %s war erfolgreich '; $lang['msg_plugin_install_success'] = 'Das Plugin %s wurde erfolgreich installiert'; @@ -87,6 +94,8 @@ $lang['noperms'] = 'Das Erweiterungs-Verzeichnis ist schreibgesch $lang['notplperms'] = 'Das Template-Verzeichnis ist schreibgeschützt'; $lang['nopluginperms'] = 'Das Plugin-Verzeichnis ist schreibgeschützt'; $lang['git'] = 'Diese Erweiterung wurde über git installiert und sollte daher nicht hier aktualisiert werden.'; +$lang['auth'] = 'Dieses Auth Plugin ist in der Konfiguration nicht aktiviert, Sie sollten es deaktivieren.'; $lang['install_url'] = 'Von Webadresse (URL) installieren'; $lang['install_upload'] = 'Erweiterung hochladen:'; $lang['repo_error'] = 'Es konnte keine Verbindung zum Plugin-Verzeichnis hergestellt werden. Stellen sie sicher das der Server Verbindung mit www.dokuwiki.org aufnehmen darf und überprüfen sie ihre Proxy Einstellungen.'; +$lang['nossl'] = 'Ihr PHP scheint SSL nicht zu unterstützen. Das Herunterladen vieler DokuWiki Erweiterungen wird scheitern.'; diff --git a/lib/plugins/extension/lang/en/lang.php b/lib/plugins/extension/lang/en/lang.php index f545b6da345c0ac83b32de59c11ad0cddceb35ca..79f64362938b31c1b379496626822923022f5fe6 100644 --- a/lib/plugins/extension/lang/en/lang.php +++ b/lib/plugins/extension/lang/en/lang.php @@ -101,4 +101,9 @@ $lang['install_url'] = 'Install from URL:'; $lang['install_upload'] = 'Upload Extension:'; $lang['repo_error'] = 'The plugin repository could not be contacted. Make sure your server is allowed to contact www.dokuwiki.org and check your proxy settings.'; -$lang['nossl'] = 'Your PHP seems to miss SSL support. Downloading will not work for many DokuWiki extensions.'; \ No newline at end of file +$lang['nossl'] = 'Your PHP seems to miss SSL support. Downloading will not work for many DokuWiki extensions.'; + +$lang['js']['display_viewoptions'] = 'View Options:'; +$lang['js']['display_enabled'] = 'enabled'; +$lang['js']['display_disabled'] = 'disabled'; +$lang['js']['display_updatable'] = 'updatable'; diff --git a/lib/plugins/extension/lang/eo/lang.php b/lib/plugins/extension/lang/eo/lang.php index 6ce840be8bdce2b9f748b84b3ebc916b1f899772..e0488cb46446ea43d4c9a8e8f8cdcac6ff036d3b 100644 --- a/lib/plugins/extension/lang/eo/lang.php +++ b/lib/plugins/extension/lang/eo/lang.php @@ -2,7 +2,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Robert Bogenschneider <bogi@uea.org> */ $lang['menu'] = 'Aldonaĵa administrado'; @@ -61,7 +61,7 @@ $lang['status_template'] = 'Åablono'; $lang['status_bundled'] = 'kunliverita'; $lang['msg_enabled'] = 'Kromaĵo %s ebligita'; $lang['msg_disabled'] = 'Kromaĵo %s malebligita'; -$lang['msg_delete_success'] = 'Aldonaĵo malinstaliÄis'; +$lang['msg_delete_success'] = 'Aldonaĵo %s malinstaliÄis'; $lang['msg_template_install_success'] = 'Åœablono %s sukcese instaliÄis'; $lang['msg_template_update_success'] = 'Åœablono %s sukcese aktualiÄis'; $lang['msg_plugin_install_success'] = 'Kromaĵo %s sukcese instaliÄis'; diff --git a/lib/plugins/extension/lang/es/intro_plugins.txt b/lib/plugins/extension/lang/es/intro_plugins.txt new file mode 100644 index 0000000000000000000000000000000000000000..4805021f9833fc6dba3e2d1a2b9ec7464ab7f729 --- /dev/null +++ b/lib/plugins/extension/lang/es/intro_plugins.txt @@ -0,0 +1 @@ +Estos son los plugins actualmente instalados en su DokuWiki. Puede activar, desactivar o incluso desinstalar completamente desde aquÃ. Actualizaciones de los Plugin se muestran también aquÃ, asegúrese de leer la documentación del plugin antes de actualizar. \ No newline at end of file diff --git a/lib/plugins/extension/lang/es/intro_search.txt b/lib/plugins/extension/lang/es/intro_search.txt new file mode 100644 index 0000000000000000000000000000000000000000..f59bb33df7ef0d3d87ac0301d85aac23bbbdb38e --- /dev/null +++ b/lib/plugins/extension/lang/es/intro_search.txt @@ -0,0 +1 @@ +Esta pestaña te da acceso a todos los plugins de 3as partes disponibles y plantillas para DokuWiki. Tenga en cuenta que la instalación de código de terceras partes puede plantear un **riesgo de seguridad**, es posible que desee leer primero sobre [[doku>security#plugin_security|plugin security]]. \ No newline at end of file diff --git a/lib/plugins/extension/lang/es/lang.php b/lib/plugins/extension/lang/es/lang.php index 63742c3b39ccf31ee39dab356bcf384534e7ba65..28cdf86ca9ca0be426a2a93aedb7649b89e6f0ef 100644 --- a/lib/plugins/extension/lang/es/lang.php +++ b/lib/plugins/extension/lang/es/lang.php @@ -6,6 +6,9 @@ * @author Antonio Bueno <atnbueno@gmail.com> * @author Antonio Castilla <antoniocastilla@trazoide.com> * @author Jonathan Hernández <me@jhalicea.com> + * @author Ãlvaro Iradier <airadier@gmail.com> + * @author Mauricio Segura <maose38@yahoo.es> + * @author Domingo Redal <docxml@gmail.com> */ $lang['menu'] = 'Administrador de Extensiones '; $lang['tab_plugins'] = 'Plugins instalados'; @@ -27,6 +30,10 @@ $lang['btn_disable'] = 'Desactivar'; $lang['btn_install'] = 'Instalar'; $lang['btn_reinstall'] = 'Reinstalar'; $lang['js']['reallydel'] = '¿Realmente quiere desinstalar esta extensión?'; +$lang['js']['display_viewoptions'] = 'Ver opciones:'; +$lang['js']['display_enabled'] = 'habilitado'; +$lang['js']['display_disabled'] = 'deshabilitado'; +$lang['js']['display_updatable'] = 'actualizable'; $lang['search_for'] = 'Extensión de búsqueda :'; $lang['search'] = 'Buscar'; $lang['extensionby'] = '<strong>%s</strong> por %s'; @@ -63,7 +70,8 @@ $lang['status_template'] = 'plantilla'; $lang['status_bundled'] = 'agrupado'; $lang['msg_enabled'] = 'Plugin %s activado'; $lang['msg_disabled'] = 'Plugin %s desactivado'; -$lang['msg_delete_success'] = 'Extensión desinstalada'; +$lang['msg_delete_success'] = 'Extensión %s desinstalada'; +$lang['msg_delete_failed'] = 'La desinstalación de la extensión %s ha fallado'; $lang['msg_template_install_success'] = 'Plantilla %s instalada con éxito'; $lang['msg_template_update_success'] = 'Plantilla %s actualizada con éxito'; $lang['msg_plugin_install_success'] = 'Plugin %s instalado con éxito'; @@ -78,7 +86,15 @@ $lang['url_change'] = '<strong>URL actualizada:</strong> El Download $lang['error_badurl'] = 'URLs deberÃan empezar con http o https'; $lang['error_dircreate'] = 'No es posible de crear un directorio temporero para poder recibir el download'; $lang['error_download'] = 'No es posible descargar el documento: %s'; +$lang['error_decompress'] = 'No se pudo descomprimir el fichero descargado. Puede ser a causa de una descarga incorrecta, en cuyo caso puedes intentarlo de nuevo; o puede que el formato de compresión sea desconocido, en cuyo caso necesitarás descargar e instalar manualmente.'; +$lang['error_findfolder'] = 'No se ha podido identificar el directorio de la extensión, es necesario descargar e instalar manualmente'; +$lang['error_copy'] = 'Hubo un error durante la copia de archivos al intentar instalar los archivos del directorio <em>%s</em>: el disco puede estar lleno o los permisos de acceso a los archivos pueden ser incorrectos. Esto puede haber dado lugar a un plugin instalado parcialmente y dejar su instalación wiki inestable'; +$lang['noperms'] = 'El directorio de extensiones no tiene permiso de escritura.'; +$lang['notplperms'] = 'El directorio de plantillas no tiene permiso de escritura.'; +$lang['nopluginperms'] = 'No se puede escribir en el directorio de plugins'; $lang['git'] = 'Esta extensión fue instalada a través de git, quizás usted no quiera actualizarla aquà mismo.'; +$lang['auth'] = 'Este plugin de autenticación no está habilitada en la configuración, considere la posibilidad de desactivarlo.'; $lang['install_url'] = 'Instalar desde URL:'; $lang['install_upload'] = 'Subir Extensión:'; $lang['repo_error'] = 'El repositorio de plugins no puede ser contactado. Asegúrese que su servidor pueda contactar www.dokuwiki.org y verificar la configuración de su proxy.'; +$lang['nossl'] = 'Tu PHP parece no tener soporte SSL. Las descargas no funcionaran para muchas extensiones de DokuWiki.'; diff --git a/lib/plugins/extension/lang/fa/intro_install.txt b/lib/plugins/extension/lang/fa/intro_install.txt new file mode 100644 index 0000000000000000000000000000000000000000..93c2b9734db7d4615e5940e478e4af98e44e86f7 --- /dev/null +++ b/lib/plugins/extension/lang/fa/intro_install.txt @@ -0,0 +1 @@ +در اینجا می‌توانید اÙزونه‌ها Ùˆ قالب‌ها را به صورت دستی از طریق آپلودشان یا با ارائهٔ لینک مستقیم دانلود نصب کنید. \ No newline at end of file diff --git a/lib/plugins/extension/lang/fa/intro_plugins.txt b/lib/plugins/extension/lang/fa/intro_plugins.txt new file mode 100644 index 0000000000000000000000000000000000000000..7d7d331b358f3da10080979e96ee8c6f11b52260 --- /dev/null +++ b/lib/plugins/extension/lang/fa/intro_plugins.txt @@ -0,0 +1 @@ +این‌ها اÙزونه‌هایی است Ú©Ù‡ اکنون روی داکو ویکی شما نصب می‌باشند. از اینجا می‌توانید آن‌ها را غیرÙعال، Ùعال یا به طور کامل Øذ٠نمایید. به‌روزرسانی اÙزونه‌ها نیز در اینجا نمایش داده می‌شود. پیش از به‌روزرسانی مطمئن شوید Ú©Ù‡ مستندات اÙزونه را مطالعه نموده‌اید. \ No newline at end of file diff --git a/lib/plugins/extension/lang/fa/intro_search.txt b/lib/plugins/extension/lang/fa/intro_search.txt new file mode 100644 index 0000000000000000000000000000000000000000..07fde76c1c6a2fa28e1ffe0cc9e50c47df229900 --- /dev/null +++ b/lib/plugins/extension/lang/fa/intro_search.txt @@ -0,0 +1 @@ +این شاخه به تمام اÙزونه‌ها Ùˆ قالب‌های نسل سوم داکو ویکی دسترسی می‌دهد. لطÙا دقت کنید Ú©Ù‡ نصب کد نسل سوم یک **ریسک امنیتی** است برای همین بهتر است Ú©Ù‡ ابتدا [[doku>security#plugin_security|امنیت اÙزونه]] را مطالعه نمایید. \ No newline at end of file diff --git a/lib/plugins/extension/lang/fa/intro_templates.txt b/lib/plugins/extension/lang/fa/intro_templates.txt new file mode 100644 index 0000000000000000000000000000000000000000..1a127c0ce4126b7803bf50c8758df414f3c7e96d --- /dev/null +++ b/lib/plugins/extension/lang/fa/intro_templates.txt @@ -0,0 +1 @@ +این‌ها قالب‌هاییست Ú©Ù‡ اکنون در داکو ویکی شما نصب می‌باشد. شما می‌توانید قالبی Ú©Ù‡ می‌خواهید استÙاده شود را در [[?do=admin&page=config|تنظیمات پیکربندی]] انتخاب نمایید. \ No newline at end of file diff --git a/lib/plugins/extension/lang/fa/lang.php b/lib/plugins/extension/lang/fa/lang.php index 95c3e9652cf199ca2a5022f1e570dab83e930bbe..aa0613f91df87f0a24f7491f66cba7cd144759bc 100644 --- a/lib/plugins/extension/lang/fa/lang.php +++ b/lib/plugins/extension/lang/fa/lang.php @@ -4,37 +4,93 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Mohamad Mehdi Habibi <habibi.esf@gmail.com> + * @author Masoud Sadrnezhaad <masoud@sadrnezhaad.ir> */ $lang['menu'] = 'مدیریت اÙزونه ها'; $lang['tab_plugins'] = 'پلاگین های نصب شده'; $lang['tab_templates'] = 'قالب های نصب شده'; $lang['tab_search'] = 'جستجو Ùˆ نصب'; $lang['tab_install'] = 'نصب دستی'; +$lang['notimplemented'] = 'این قابلیت هنوز پیاده‌سازی نشده'; $lang['notinstalled'] = 'این اÙزونه نصب نشده است'; $lang['alreadyenabled'] = 'این اÙزونه Ùعال شده است'; $lang['alreadydisabled'] = 'این اÙزونه غیرÙعال شده است'; +$lang['pluginlistsaveerror'] = 'یک خطا هنگام ذخیره‌سازی این اÙزونه رخ داده'; +$lang['unknownauthor'] = 'نویسنده نامشخص'; $lang['unknownversion'] = 'نسخه ناشناخته'; $lang['btn_info'] = 'نمایش اطلاعات بیشتر'; $lang['btn_update'] = 'به روز رسانی'; +$lang['btn_uninstall'] = 'ØØ°Ù'; $lang['btn_enable'] = 'Ùعال'; $lang['btn_disable'] = 'غیرÙعال'; $lang['btn_install'] = 'نصب'; $lang['btn_reinstall'] = 'نصب مجدد'; +$lang['js']['reallydel'] = 'واقعا می‌خواهید این اÙزونه را Øذ٠کنید؟'; +$lang['js']['display_viewoptions'] = 'نمایش گزینه‌ها:'; +$lang['js']['display_enabled'] = 'Ùعال'; +$lang['js']['display_disabled'] = 'غیرÙعال'; +$lang['js']['display_updatable'] = 'قابل به‌روزرسانی'; $lang['search_for'] = 'جستجوی اÙزونه:'; $lang['search'] = 'جستجو'; +$lang['extensionby'] = '<strong>%s</strong> به وسیلهٔ %s'; +$lang['screenshot'] = 'اسکرینشات %s'; +$lang['popularity'] = 'Ù…Øبوبیت: %s%%'; +$lang['homepage_link'] = 'مستندات'; +$lang['bugs_features'] = 'اشکالات'; $lang['tags'] = 'برچسب ها:'; +$lang['author_hint'] = 'جستجوی اÙزونه‌های این نویسنده'; +$lang['installed'] = 'نصب شده:'; +$lang['downloadurl'] = 'لینک دانلود:'; +$lang['repository'] = 'مخزن:'; +$lang['unknown'] = '<em>ناشناخته</em>'; $lang['installed_version'] = 'نسخه نصب شده:'; +$lang['install_date'] = 'آخرین به‌روزرسانی شما:'; $lang['available_version'] = 'نسخه در دسترس:'; +$lang['compatible'] = 'سازگار با:'; +$lang['depends'] = 'وابسته به:'; +$lang['similar'] = 'شبیه به:'; +$lang['conflicts'] = 'تداخل دارد با:'; +$lang['donate'] = 'به این علاقه‌مندید؟'; +$lang['donate_action'] = 'برای نویسنده یک Ùنجان قهوه بخرید!'; $lang['repo_retry'] = 'دوباره'; +$lang['provides'] = 'شامل می‌شود:'; $lang['status'] = 'وضعیت'; $lang['status_installed'] = 'نصب شده'; $lang['status_not_installed'] = 'نصب نشده'; +$lang['status_protected'] = 'Ù…ØاÙظت شده'; $lang['status_enabled'] = 'Ùعال'; $lang['status_disabled'] = 'غیرÙعال'; +$lang['status_unmodifiable'] = 'غیرقابل تغییر'; $lang['status_plugin'] = 'پلاگین'; $lang['status_template'] = 'قالب'; +$lang['status_bundled'] = 'باندل شده'; +$lang['msg_enabled'] = 'اÙزونه %s Ùعال شده'; +$lang['msg_disabled'] = 'اÙزونه %s غیرÙعال شده'; +$lang['msg_delete_success'] = 'اÙزونه %s Øذ٠شده'; +$lang['msg_delete_failed'] = 'Øذ٠اÙزونه %s ناموÙÙ‚ بود'; +$lang['msg_template_install_success'] = 'قالب %s با موÙقیت نصب شد'; +$lang['msg_template_update_success'] = 'قالب %s با موÙقیت به‌روزرسانی شد'; +$lang['msg_plugin_install_success'] = 'اÙزونهٔ %s با موÙقیت نصب شد'; +$lang['msg_plugin_update_success'] = 'اÙزونهٔ %s با موÙقیت نصب شد'; +$lang['msg_upload_failed'] = 'بارگذاری Ùایل ناموÙÙ‚ بود'; +$lang['missing_dependency'] = '<strong>نیازمندی وجود ندارد یا غیرÙعال است:</strong> %s'; +$lang['security_issue'] = '<strong>اشکال امنیتی:</strong> %s'; +$lang['security_warning'] = '<strong>اخطار امنیتی:</strong> %s'; +$lang['update_available'] = '<strong>به‌روزرسانی</strong> نسخهٔ جدید %s موجود است.'; +$lang['wrong_folder'] = '<strong>اÙزونه اشتباه نصب شده:</strong> نام پوشهٔ اÙزونه را از "%s" به "%s" تغییر دهید.'; +$lang['url_change'] = '<strong>لینک تغییر کرد:</strong> لینک دانلود از آخرین دانلود تغییر کرد. پیش از به‌روزرسانی اÙزونه، Ú†Ú© کنید Ú©Ù‡ لینک جدید درست باشد.<br />جدید: %s<br />قدیمی: %s'; +$lang['error_badurl'] = 'لینک‌ها باید با http یا https شروع شوند'; +$lang['error_dircreate'] = 'امکان ایجاد پوشهٔ موقت برای دریاÙت دانلود وجود ندارد'; +$lang['error_download'] = 'امکان دانلود Ùایل وجود ندارد: %s'; +$lang['error_decompress'] = 'امکان خارج کردن Ùایل دانلود شده از Øالت Ùشرده وجود ندارد. این می‌توانید در اثر دانلود ناقص باشد Ú©Ù‡ در اینصورت باید دوباره تلاش کنید؛ یا اینکه Ùرمت Ùشرده‌سازی نامعلوم است Ú©Ù‡ در اینصورت باید به صورت دستی دانلود Ùˆ نصب نمایید.'; +$lang['error_findfolder'] = 'امکان تشخیص پوشهٔ اÙزونه وجود ندارد. باید به صورت دستی دانلود Ùˆ نصب کنید.'; +$lang['error_copy'] = 'هنگام تلاش برای نصب Ùایل‌ها برای پوشهٔ <em>%s</em> خطای Ú©Ù¾ÛŒ Ùایل وجود دارد: رسانه ذخیره‌سازی می‌تواند پر باشد یا پرمیشن‌های Ùایل نادرست است. این می‌تواند باعث نصب بخشی از اÙزونه شده باشد Ùˆ ویکی را ناپایدار نماید.'; $lang['noperms'] = 'پوشه اÙزونه ها قابل نوشتن نیست'; $lang['notplperms'] = 'پوشه قالب ها قابل نوشتن نیست'; $lang['nopluginperms'] = 'پوشه پلاگین ها قابل نوشتن نیست'; +$lang['git'] = 'این اÙزونه از طریق گیت نصب شده، شما نباید آن را از اینجا به‌روزرسانی کنید.'; +$lang['auth'] = 'این اÙزونهٔ auth در بخش تنظیمات Ùعال نشده، غیرÙعالش کنید.'; $lang['install_url'] = 'نصب از آدرس:'; $lang['install_upload'] = 'بارگذاری اÙزونه:'; +$lang['repo_error'] = 'امکان ارتباط با مخزن اÙزونه‌ها وجود ندارد. مطمئن شوید Ú©Ù‡ سرور شما اجازهٔ ارتباط با www.dokuwiki.org را دارد Ùˆ تنظیمات پراکسی را Ú†Ú© کنید.'; +$lang['nossl'] = 'به نظر می‌آید Ú©Ù‡ PHP شما از SSL پشتیبانی نمی‌کند. دانلود کردن برای بسیاری از اÙزونه‌های داکو ویکی کار نمی‌کند.'; diff --git a/lib/plugins/extension/lang/fr/lang.php b/lib/plugins/extension/lang/fr/lang.php index 44d4038470c14b453d2c57f26f87b72a23fef487..4cb6f0d25b89c32c5c446dabb88a34f0fc45eaaf 100644 --- a/lib/plugins/extension/lang/fr/lang.php +++ b/lib/plugins/extension/lang/fr/lang.php @@ -5,6 +5,8 @@ * * @author Schplurtz le Déboulonné <schplurtz@laposte.net> * @author Yves Grandvalet <Yves.Grandvalet@laposte.net> + * @author Carbain Frédéric <fcarbain@yahoo.fr> + * @author Nicolas Friedli <nicolas@theologique.ch> */ $lang['menu'] = 'Gestionnaire d\'extensions'; $lang['tab_plugins'] = 'Greffons installés'; @@ -26,6 +28,10 @@ $lang['btn_disable'] = 'Désactiver'; $lang['btn_install'] = 'Installer'; $lang['btn_reinstall'] = 'Réinstaller'; $lang['js']['reallydel'] = 'Vraiment désinstaller cette extension'; +$lang['js']['display_viewoptions'] = 'Voir les options:'; +$lang['js']['display_enabled'] = 'activé'; +$lang['js']['display_disabled'] = 'désactivé'; +$lang['js']['display_updatable'] = 'Mise à jour possible'; $lang['search_for'] = 'Rechercher l\'extension :'; $lang['search'] = 'Chercher'; $lang['extensionby'] = '<strong>%s</strong> de %s'; @@ -64,7 +70,7 @@ $lang['msg_enabled'] = 'Greffon %s activé'; $lang['msg_disabled'] = 'Greffon %s désactivé'; $lang['msg_delete_success'] = 'Extension %s désinstallée.'; $lang['msg_delete_failed'] = 'Echec de la désinstallation de l\'extension %s'; -$lang['msg_template_install_success'] = 'Thème %s installée avec succès'; +$lang['msg_template_install_success'] = 'Thème %s installé avec succès'; $lang['msg_template_update_success'] = 'Thème %s mis à jour avec succès'; $lang['msg_plugin_install_success'] = 'Greffon %s installé avec succès'; $lang['msg_plugin_update_success'] = 'Greffon %s mis à jour avec succès'; @@ -79,7 +85,7 @@ $lang['error_badurl'] = 'Les URL doivent commencer par http ou https'; $lang['error_dircreate'] = 'Impossible de créer le dossier temporaire pour le téléchargement.'; $lang['error_download'] = 'Impossible de télécharger le fichier : %s'; $lang['error_decompress'] = 'Impossible de décompresser le fichier téléchargé. C\'est peut être le résultat d\'une erreur de téléchargement, auquel cas vous devriez réessayer. Le format de compression est peut-être inconnu. Dans ce cas il vous faudra procéder à une installation manuelle.'; -$lang['error_findfolder'] = 'Impossible d\'idnetifier le dossier de l\'extension. vous devez procéder à une installation manuelle.'; +$lang['error_findfolder'] = 'Impossible d\'identifier le dossier de l\'extension. vous devez procéder à une installation manuelle.'; $lang['error_copy'] = 'Une erreur de copie de fichier s\'est produite lors de l\'installation des fichiers dans le dossier <em>%s</em>. Il se peut que le disque soit plein, ou que les permissions d\'accès aux fichiers soient incorrectes. Il est possible que le greffon soit partiellement installé et que cela laisse votre installation de DoluWiki instable.'; $lang['noperms'] = 'Impossible d\'écrire dans le dossier des extensions.'; $lang['notplperms'] = 'Impossible d\'écrire dans le dossier des thèmes.'; diff --git a/lib/plugins/extension/lang/hr/intro_install.txt b/lib/plugins/extension/lang/hr/intro_install.txt index fc2d22f52f8ddefd5c09669cc1270c0701c1b6f1..f3274b0f78a4c8b7f3be5c014883615efc337330 100644 --- a/lib/plugins/extension/lang/hr/intro_install.txt +++ b/lib/plugins/extension/lang/hr/intro_install.txt @@ -1 +1 @@ -Ovdje možete ruÄno instalirati dodatak (plugin) i predložak (template) bilo uÄitavanjem ili specificiranjem URL-a za direktno uÄitavanje. \ No newline at end of file +Ovdje možete ruÄno postaviti dodatak (plugin) i predložak (template) bilo uÄitavanjem ili navoÄ‘enjem URL adrese za direktno uÄitavanje. \ No newline at end of file diff --git a/lib/plugins/extension/lang/hr/intro_plugins.txt b/lib/plugins/extension/lang/hr/intro_plugins.txt index fdc629d62f6518171087aca2d628dafb29301db2..0c458ee432bd7bed4afeb515f3c6cbdf2d831bd5 100644 --- a/lib/plugins/extension/lang/hr/intro_plugins.txt +++ b/lib/plugins/extension/lang/hr/intro_plugins.txt @@ -1 +1 @@ -Ovo su dodaci (plugin) trenutno instalirani na VaÅ¡em DokuWiku-u. Možete ih omogućiti, onemogućiti ili u potpunosti deinstalirati. Nadogradnje dodataka su takoÄ‘er prikazane, obavezno proÄitajte dokumentaciju dodatka prije nadogradnje. \ No newline at end of file +Ovo su dodaci (plugin) trenutno postavljeni na VaÅ¡em DokuWiku-u. Možete ih omogućiti, onemogućiti ili u potpunosti ukloniti. Nadogradnje dodataka su takoÄ‘er prikazane, obavezno proÄitajte dokumentaciju dodatka prije nadogradnje. \ No newline at end of file diff --git a/lib/plugins/extension/lang/hr/intro_search.txt b/lib/plugins/extension/lang/hr/intro_search.txt index 93bf4b000365f1b8cdd7f3b8eebf9bce4008d4b4..405690581cd829e5518d5c376145a07d0a5d3b48 100644 --- a/lib/plugins/extension/lang/hr/intro_search.txt +++ b/lib/plugins/extension/lang/hr/intro_search.txt @@ -1 +1 @@ -Ovaj tab vam pruža pristup dostupnim dodatcima i predloÅ¡cima za DokuWiki od treće strane. Molimo budite svjesni da instaliranje koda od treće strane može biti **sigurnosni rizik**, možda želite prvo proÄitati o [[doku>security#plugin_security|sigurnosti dodataka]]. \ No newline at end of file +Ovdje možete potražiti i druge dostupne dodatke i predloÅ¡ke za DokuWiki. Molimo budite svjesni da postavljanje koda razvijenog od treće strane može biti **sigurnosni rizik**, možda želite prvo proÄitati o [[doku>security#plugin_security|sigurnosti dodataka]]. \ No newline at end of file diff --git a/lib/plugins/extension/lang/hr/intro_templates.txt b/lib/plugins/extension/lang/hr/intro_templates.txt index 968906cf971c72a814ee1822524c0d09ee637d95..76dafe6b7a18703c9c83003104028f84411b4987 100644 --- a/lib/plugins/extension/lang/hr/intro_templates.txt +++ b/lib/plugins/extension/lang/hr/intro_templates.txt @@ -1 +1 @@ -Ovo su predloÅ¡ci trenutno instalirani na VaÅ¡em DokuWiki-u. Možete odabrati koji se predložak koristi na [[?do=admin&page=config|Upravitelju postavki]]. \ No newline at end of file +Ovo su predloÅ¡ci trenutno postavljeni na VaÅ¡em DokuWiki-u. Koji se predložak koristi možete odabrati na [[?do=admin&page=config|Upravitelju postavki]]. \ No newline at end of file diff --git a/lib/plugins/extension/lang/hr/lang.php b/lib/plugins/extension/lang/hr/lang.php index f43defcb10fd735c7e76684792c3188685530ed6..e51d8cba3faecac920f0c480e89440d28f76f29c 100644 --- a/lib/plugins/extension/lang/hr/lang.php +++ b/lib/plugins/extension/lang/hr/lang.php @@ -5,20 +5,20 @@ * * @author Davor Turkalj <turki.bsc@gmail.com> */ -$lang['menu'] = 'Upravitelj dodataka'; +$lang['menu'] = 'Upravitelj proÅ¡irenja'; $lang['tab_plugins'] = 'UgraÄ‘eni dodatci'; $lang['tab_templates'] = 'UgraÄ‘eni predloÅ¡ci'; $lang['tab_search'] = 'Potraži i ugradi'; $lang['tab_install'] = 'RuÄna ugradnja'; $lang['notimplemented'] = 'Ova mogućnost joÅ¡ nije napravljena'; -$lang['notinstalled'] = 'Dodatak nije ugraÄ‘en'; -$lang['alreadyenabled'] = 'Ovaj dodatak je već omogućen'; -$lang['alreadydisabled'] = 'Ovaj dodatak je već onemogućen'; +$lang['notinstalled'] = 'ProÅ¡irenje nije ugraÄ‘eno'; +$lang['alreadyenabled'] = 'Ovo proÅ¡irenje je već omogućeno'; +$lang['alreadydisabled'] = 'Ovo proÅ¡irenje je već onemogućeno'; $lang['pluginlistsaveerror'] = 'Dogodila se greÅ¡ka pri snimanju liste dodataka'; $lang['unknownauthor'] = 'Nepoznat autor'; $lang['unknownversion'] = 'Nepoznata inaÄica'; $lang['btn_info'] = 'Prikaži viÅ¡e informacija'; -$lang['btn_update'] = 'Dogradi'; +$lang['btn_update'] = 'Ažuriraj'; $lang['btn_uninstall'] = 'Ukloni'; $lang['btn_enable'] = 'Omogući'; $lang['btn_disable'] = 'Onemogući'; @@ -33,7 +33,7 @@ $lang['popularity'] = 'Popularnost: %s%%'; $lang['homepage_link'] = 'Upute'; $lang['bugs_features'] = 'GreÅ¡ke'; $lang['tags'] = 'Oznake:'; -$lang['author_hint'] = 'Potraži dodatke od ovog autora'; +$lang['author_hint'] = 'Potraži proÅ¡irenja od ovog autora'; $lang['installed'] = 'UgraÄ‘eno:'; $lang['downloadurl'] = 'URL adresa preuzimanja:'; $lang['repository'] = 'Repozitorij:'; @@ -61,7 +61,8 @@ $lang['status_template'] = 'predložak'; $lang['status_bundled'] = 'ugraÄ‘en'; $lang['msg_enabled'] = 'Dodatak %s omogućen'; $lang['msg_disabled'] = 'Dodatak %s onemogućen'; -$lang['msg_delete_success'] = 'ProÅ¡irenje uklonjeno'; +$lang['msg_delete_success'] = 'ProÅ¡irenje %s uklonjeno'; +$lang['msg_delete_failed'] = 'Uklanjanje proÅ¡irenja %s nije uspjelo'; $lang['msg_template_install_success'] = 'Predložak %s uspjeÅ¡no ugraÄ‘en'; $lang['msg_template_update_success'] = 'Predložak %s uspjeÅ¡no nadograÄ‘en'; $lang['msg_plugin_install_success'] = 'Dodatak %s uspjeÅ¡no ugraÄ‘en'; @@ -83,6 +84,8 @@ $lang['noperms'] = 'Nije moguće pisati u mapu proÅ¡iranja'; $lang['notplperms'] = 'Nije moguće pisati u mapu predloÅ¡ka'; $lang['nopluginperms'] = 'Nije moguće pisati u mapu dodatka'; $lang['git'] = 'ProÅ¡irenje je ugraÄ‘eno preko Git-a, možda ga ne želite nadograÄ‘ivati ovdje.'; +$lang['auth'] = 'Autorizacijski dodatak nije podeÅ¡en, razmotrite njegovo onemogućavanje kao dodatka.'; $lang['install_url'] = 'Ugradi s URL-a:'; $lang['install_upload'] = 'UÄitaj proÅ¡irenje:'; $lang['repo_error'] = 'Repozitorij dodataka nije dostupan. Budite sigurni da server može pristupiti www.dokuwiki.org i provjerite proxy postavke.'; +$lang['nossl'] = 'Izgleda da koriÅ¡teni PHP ne podržava SSL. UÄitavanje neće raditi na mnogim DokuWiki dodatcima.'; diff --git a/lib/plugins/extension/lang/hu/lang.php b/lib/plugins/extension/lang/hu/lang.php index a27b5a3079f12279ece6fc9e3711e362afc867ef..7d531e15b359fb795eadbed4396d0f00247fbd13 100644 --- a/lib/plugins/extension/lang/hu/lang.php +++ b/lib/plugins/extension/lang/hu/lang.php @@ -25,6 +25,10 @@ $lang['btn_disable'] = 'Letiltás'; $lang['btn_install'] = 'TelepÃtés'; $lang['btn_reinstall'] = 'ÚjratelepÃtés'; $lang['js']['reallydel'] = 'Biztosan törlöd ezt a bÅ‘vÃtményt?'; +$lang['js']['display_viewoptions'] = 'Nézet beállÃtásai:'; +$lang['js']['display_enabled'] = 'engedélyezve'; +$lang['js']['display_disabled'] = 'letiltva'; +$lang['js']['display_updatable'] = 'frissÃthetÅ‘'; $lang['search_for'] = 'BÅ‘vÃtmények keresése:'; $lang['search'] = 'Keresés'; $lang['extensionby'] = '<strong>%s</strong>, %s szerzÅ‘tÅ‘l'; @@ -61,7 +65,8 @@ $lang['status_template'] = 'sablon'; $lang['status_bundled'] = 'beépÃtett'; $lang['msg_enabled'] = 'A(z) %s modul engedélyezve'; $lang['msg_disabled'] = 'A(z) %s modul letiltva'; -$lang['msg_delete_success'] = 'A bÅ‘vÃtmény törölve'; +$lang['msg_delete_success'] = 'A bÅ‘vÃtmény %s törölve'; +$lang['msg_delete_failed'] = 'A(z) %s bÅ‘vÃtmény eltávolÃtása sikertelen'; $lang['msg_template_install_success'] = 'A(z) %s sablon sikeresen telepÃtve'; $lang['msg_template_update_success'] = 'A(z) %s sablon sikeresen frissÃtve'; $lang['msg_plugin_install_success'] = 'A(z) %s modul sikeresen telepÃtve'; @@ -83,6 +88,8 @@ $lang['noperms'] = 'A bÅ‘vÃtmény könyvtára nem Ãrható'; $lang['notplperms'] = 'A sablon könyvtára nem Ãrható'; $lang['nopluginperms'] = 'A modul könyvtára nem Ãrható'; $lang['git'] = 'Ezt a bÅ‘vÃtményt git-tel telepÃtették, lehet, hogy nem itt célszerű frissÃteni'; +$lang['auth'] = 'Ez az autentikációs modul nincs engedélyezve a beállÃtásokban, érdemes lehet letiltani.'; $lang['install_url'] = 'TelepÃtés errÅ‘l az URL-rÅ‘l:'; $lang['install_upload'] = 'BÅ‘vÃtmény feltöltése:'; $lang['repo_error'] = 'A modul repository-ja nem érhetÅ‘ el. Bizonyosodj meg róla, hogy a szervereden engedélyezett a www.dokuwiki.org cÃm elérése és ellenÅ‘rizd a proxy beállÃtásaidat!'; +$lang['nossl'] = 'Úgy tűnik, a PHP konfigurációd nem támogatja az SSL-t. Néhány DokuWiki bÅ‘vÃtmény letöltése sikertelen lehet.'; diff --git a/lib/plugins/extension/lang/it/intro_install.txt b/lib/plugins/extension/lang/it/intro_install.txt new file mode 100644 index 0000000000000000000000000000000000000000..5106500bae7a1385fed530a9a28269bdd5434b75 --- /dev/null +++ b/lib/plugins/extension/lang/it/intro_install.txt @@ -0,0 +1 @@ +Qui potete installare manualmente plugin e template, sia caricandoli in upload sia fornendo una URL per scaricarli direttamente. \ No newline at end of file diff --git a/lib/plugins/extension/lang/it/intro_plugins.txt b/lib/plugins/extension/lang/it/intro_plugins.txt new file mode 100644 index 0000000000000000000000000000000000000000..cd7825fb2a695d2996caa421f126b4fd121710ed --- /dev/null +++ b/lib/plugins/extension/lang/it/intro_plugins.txt @@ -0,0 +1 @@ +Questi sono i plugin attualmente installati nel vostro DokuWiki. Qui potete abilitarli o disabilitarli o addirittura disinstallarli completamente. Qui sono mostrati anche gli aggiornamenti dei plugin, assicurativi di leggere la relativa documentazione prima di aggiornarli. \ No newline at end of file diff --git a/lib/plugins/extension/lang/it/intro_search.txt b/lib/plugins/extension/lang/it/intro_search.txt new file mode 100644 index 0000000000000000000000000000000000000000..fb77d36837fbc6caabce43e3aa71a93107a0d757 --- /dev/null +++ b/lib/plugins/extension/lang/it/intro_search.txt @@ -0,0 +1 @@ +Questa sezione ti da accesso a tutti i plugin e temi di terze parti disponibili per DokuWiki. Sappi che l'installazione di codice di terze parti potrebbe rappresentare un **rischio di sicurezza**, quindi, forse, prima vorresti informarti a proposito della [[doku>security#plugin_security|sicurezza dei plugin]]. \ No newline at end of file diff --git a/lib/plugins/extension/lang/it/intro_templates.txt b/lib/plugins/extension/lang/it/intro_templates.txt new file mode 100644 index 0000000000000000000000000000000000000000..a38d86814694734e5029202d01e982f5d9c7e010 --- /dev/null +++ b/lib/plugins/extension/lang/it/intro_templates.txt @@ -0,0 +1 @@ +Questi sono i temi attualmente installati nel tuo DokuWiki. Puoi selezionare il tema da usare in [[?do=admin&page=config|Configurazione Wiki]]. \ No newline at end of file diff --git a/lib/plugins/extension/lang/it/lang.php b/lib/plugins/extension/lang/it/lang.php index 1aa658e0f9cba8ea6b3b81bf416355c7c25f16b3..d22cb9d52ba8aff7cf8105bb162827111c15db22 100644 --- a/lib/plugins/extension/lang/it/lang.php +++ b/lib/plugins/extension/lang/it/lang.php @@ -6,7 +6,18 @@ * @author Francesco <francesco.cavalli@hotmail.com> * @author Fabio <fabioslurp@yahoo.it> * @author Torpedo <dgtorpedo@gmail.com> + * @author Maurizio <mcannavo@katamail.com> */ +$lang['menu'] = 'Manager delle Extension'; +$lang['tab_plugins'] = 'Plugin Installati'; +$lang['tab_templates'] = 'Template Installati'; +$lang['tab_search'] = 'Ricerca e Installazione'; +$lang['tab_install'] = 'Installazione Manuale'; +$lang['notimplemented'] = 'Questa funzionalità non è ancora stata implementata'; +$lang['notinstalled'] = 'Questa extension non è installata'; +$lang['alreadyenabled'] = 'Questa extension è già stata abilitata'; +$lang['alreadydisabled'] = 'Questa extension à già stata disabilitata'; +$lang['pluginlistsaveerror'] = 'Si è verificato un errore durante il salvataggio dell\'elenco dei plugin'; $lang['unknownauthor'] = 'Autore sconosciuto'; $lang['unknownversion'] = 'Revisione sconosciuta'; $lang['btn_info'] = 'Mostra maggiori informazioni'; @@ -17,7 +28,15 @@ $lang['btn_disable'] = 'Disabilita'; $lang['btn_install'] = 'Installa'; $lang['btn_reinstall'] = 'Reinstalla'; $lang['js']['reallydel'] = 'Sicuro di disinstallare questa estensione?'; +$lang['js']['display_viewoptions'] = 'Opzioni di Visualizzazione:'; +$lang['js']['display_enabled'] = 'abilitato'; +$lang['js']['display_disabled'] = 'disabilitato'; +$lang['js']['display_updatable'] = 'aggiornabile'; +$lang['search_for'] = 'Extension di Ricerca:'; $lang['search'] = 'Cerca'; +$lang['extensionby'] = '<strong>%s</strong> da %s'; +$lang['screenshot'] = 'Screenshot di %s'; +$lang['popularity'] = 'Popolarità : %s%%'; $lang['homepage_link'] = 'Documenti'; $lang['bugs_features'] = 'Bug'; $lang['tags'] = 'Tag:'; @@ -46,19 +65,34 @@ $lang['status_disabled'] = 'disabilitato'; $lang['status_unmodifiable'] = 'inmodificabile'; $lang['status_plugin'] = 'plugin'; $lang['status_template'] = 'modello'; +$lang['status_bundled'] = 'accoppiato'; $lang['msg_enabled'] = 'Plugin %s abilitato'; $lang['msg_disabled'] = 'Plugin %s disabilitato'; $lang['msg_delete_success'] = 'Estensione %s disinstallata'; +$lang['msg_delete_failed'] = 'Disinstallazione dell\'Extension %s fallita'; +$lang['msg_template_install_success'] = 'Il template %s è stato installato correttamente'; +$lang['msg_template_update_success'] = 'Il Template %s è stato aggiornato correttamente'; $lang['msg_plugin_install_success'] = 'Plugin %s installato con successo'; $lang['msg_plugin_update_success'] = 'Plugin %s aggiornato con successo'; $lang['msg_upload_failed'] = 'Caricamento del file fallito'; $lang['missing_dependency'] = '<strong>Dipendenza mancante o disabilitata: </strong> %s'; +$lang['security_issue'] = '<strong>Problema di sicurezza:</strong> %s'; +$lang['security_warning'] = '<strong>Avvertimento di sicurezza:</strong> %s'; $lang['update_available'] = '<strong>Aggiornamento:</strong> Nuova versione %s disponibile.'; $lang['wrong_folder'] = '<strong>Plugin non installato correttamente:</strong> rinomina la directory del plugin "%s" in "%s".'; +$lang['url_change'] = '<strong>URL cambiato:</strong> l\'URL per il download è cambiato dall\'ultima volta che è stato utilizzato. Controlla se il nuovo URL è valido prima di aggiornare l\'estensione.<br />Nuovo: %s<br />Vecchio: %s'; $lang['error_badurl'] = 'URLs deve iniziare con http o https'; $lang['error_dircreate'] = 'Impossibile creare una cartella temporanea per ricevere il download'; $lang['error_download'] = 'Impossibile scaricare il file: %s'; +$lang['error_decompress'] = 'Impossibile decomprimere il file scaricato. Ciò può dipendere da errori in fase di download, nel qual caso dovreste ripetere l\'operazione; oppure il formato di compressione è sconosciuto, e in questo caso dovrete scaricare e installare manualmente.'; +$lang['error_findfolder'] = 'Impossibile identificare la directory dell\'extension, dovrete scaricare e installare manualmente'; +$lang['error_copy'] = 'C\'è stato un errore di copia dei file mentre si tentava di copiare i file per la directory <em>%s</em>: il disco potrebbe essere pieno o i pemessi di accesso ai file potrebbero essere sbagliati. Questo potrebbe aver causato una parziale installazione dei plugin lasciando il tuo wiki instabile'; $lang['noperms'] = 'La directory Extension non è scrivibile'; $lang['notplperms'] = 'Il modello di cartella non è scrivibile'; $lang['nopluginperms'] = 'La cartella plugin non è scrivibile'; +$lang['git'] = 'Questa extension è stata installata da git, potreste non volerla aggiornare qui.'; +$lang['auth'] = 'Questo plugin di autenticazione non è abilitato nella configurazione, considera di disabilitarlo.'; $lang['install_url'] = 'Installa da URL:'; +$lang['install_upload'] = 'Caricamento Extension:'; +$lang['repo_error'] = 'Il repository dei plugin non può essere raggiunto. Assicuratevi che il vostro server sia abilitato a contattare l\'indirizzo www.dokuwiki.org e controllate le impostazioni del vostro proxy.'; +$lang['nossl'] = 'La tua installazione PHP sembra mancare del supporto SSL. I download per molte estensioni di DokuWiki non funzioneranno.'; diff --git a/lib/plugins/extension/lang/ja/lang.php b/lib/plugins/extension/lang/ja/lang.php index ce6ed2b976caa533c8c95104fa14b98bf216a16e..689a9877ef741a8f72b76266e65aec6e955d1a20 100644 --- a/lib/plugins/extension/lang/ja/lang.php +++ b/lib/plugins/extension/lang/ja/lang.php @@ -6,6 +6,7 @@ * @author Hideaki SAWADA <chuno@live.jp> * @author PzF_X <jp_minecraft@yahoo.co.jp> * @author Satoshi Sahara <sahara.satoshi@gmail.com> + * @author Ikuo Obataya <i.obataya@gmail.com> */ $lang['menu'] = '拡張機能管ç†'; $lang['tab_plugins'] = 'インストール済プラグイン'; @@ -27,6 +28,10 @@ $lang['btn_disable'] = '無効化'; $lang['btn_install'] = 'インストール'; $lang['btn_reinstall'] = 'å†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«'; $lang['js']['reallydel'] = 'ã“ã®æ‹¡å¼µæ©Ÿèƒ½ã‚’本当ã«ã‚¢ãƒ³ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¾ã™ã‹ï¼Ÿ'; +$lang['js']['display_viewoptions'] = '表示オプション: '; +$lang['js']['display_enabled'] = '有効'; +$lang['js']['display_disabled'] = '無効'; +$lang['js']['display_updatable'] = 'æ›´æ–°å¯èƒ½'; $lang['search_for'] = '拡張機能ã®æ¤œç´¢ï¼š'; $lang['search'] = '検索'; $lang['extensionby'] = '<strong>%s</strong> 作者: %s'; diff --git a/lib/plugins/extension/lang/ko/lang.php b/lib/plugins/extension/lang/ko/lang.php index 5dc5d826947a4a35d8f3e6155d1326f3f8294ced..31b230b535229293c2f51a7fe4a2fdfe875c33e8 100644 --- a/lib/plugins/extension/lang/ko/lang.php +++ b/lib/plugins/extension/lang/ko/lang.php @@ -5,6 +5,7 @@ * * @author Young gon Cha <garmede@gmail.com> * @author Myeongjin <aranet100@gmail.com> + * @author hyeonsoft <hyeonsoft@live.co.kr> */ $lang['menu'] = '확장 기능 관리ìž'; $lang['tab_plugins'] = 'ì„¤ì¹˜ëœ í”ŒëŸ¬ê·¸ì¸'; @@ -26,6 +27,10 @@ $lang['btn_disable'] = '비활성화'; $lang['btn_install'] = '설치'; $lang['btn_reinstall'] = '다시 설치'; $lang['js']['reallydel'] = 'ì •ë§ ì´ í™•ìž¥ ê¸°ëŠ¥ì„ ì œê±°í•˜ê² ìŠµë‹ˆê¹Œ?'; +$lang['js']['display_viewoptions'] = '보기 옵션:'; +$lang['js']['display_enabled'] = '활성화ë¨'; +$lang['js']['display_disabled'] = '비활성화ë¨'; +$lang['js']['display_updatable'] = 'ì—…ë°ì´íŠ¸í• 수 있ìŒ'; $lang['search_for'] = '확장 기능 검색:'; $lang['search'] = '검색'; $lang['extensionby'] = '<strong>%s</strong> (ì €ìž %s)'; diff --git a/lib/plugins/extension/lang/lv/lang.php b/lib/plugins/extension/lang/lv/lang.php index e7e9bdfd9a1206a86a72129c74748f2d2fbe946a..b3e5ce0d24269c4650276c53f3cd96c5d04928b0 100644 --- a/lib/plugins/extension/lang/lv/lang.php +++ b/lib/plugins/extension/lang/lv/lang.php @@ -2,7 +2,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Aivars MiÅ¡ka <allefm@gmail.com> */ -$lang['msg_delete_success'] = 'PapildinÄjums atinstalÄ“ts'; +$lang['msg_delete_success'] = 'PapildinÄjums %s atinstalÄ“ts'; diff --git a/lib/plugins/extension/lang/nl/lang.php b/lib/plugins/extension/lang/nl/lang.php index 194b4b3e199088870707ede15947296224e7d148..ead2d9e8f8a496572970d88de455e55d4d20bd97 100644 --- a/lib/plugins/extension/lang/nl/lang.php +++ b/lib/plugins/extension/lang/nl/lang.php @@ -7,6 +7,9 @@ * @author Gerrit Uitslag <klapinklapin@gmail.com> * @author Johan Vervloet <johan.vervloet@gmail.com> * @author Mijndert <mijndert@mijndertstuij.nl> + * @author Johan Wijnker <johan@wijnker.eu> + * @author Mark C. Prins <mprins@users.sf.net> + * @author hugo smet <hugo.smet@scarlet.be> */ $lang['menu'] = 'Uitbreidingen'; $lang['tab_plugins'] = 'Geïnstalleerde Plugins'; @@ -28,6 +31,10 @@ $lang['btn_disable'] = 'Schakel uit'; $lang['btn_install'] = 'Installeer'; $lang['btn_reinstall'] = 'Her-installeer'; $lang['js']['reallydel'] = 'Wilt u deze uitbreiding deinstalleren?'; +$lang['js']['display_viewoptions'] = 'Weergave opties:'; +$lang['js']['display_enabled'] = 'ingeschakeld'; +$lang['js']['display_disabled'] = 'uitgeschakeld'; +$lang['js']['display_updatable'] = 'update beschikbaar'; $lang['search_for'] = 'Zoek Uitbreiding:'; $lang['search'] = 'Zoek'; $lang['extensionby'] = '<strong>%s</strong> by %s'; @@ -87,6 +94,8 @@ $lang['noperms'] = 'Uitbreidings directory is niet schrijfbaar'; $lang['notplperms'] = 'Template directory is niet schrijfbaar'; $lang['nopluginperms'] = 'Plugin directory is niet schrijfbaar'; $lang['git'] = 'De uitbreiding werd geïnstalleerd via git, u wilt deze hier wellicht niet aanpassen.'; +$lang['auth'] = 'Deze auth plugin is niet geactiveerd in de configuratie, overweeg het om uit te schakelen.'; $lang['install_url'] = 'Installeer vanaf URL:'; $lang['install_upload'] = 'Upload Uitbreiding:'; $lang['repo_error'] = 'Er kon geen verbinding worden gemaakt met de centrale plugin opslag. Controleer of de server verbinding mag maken met www.dokuwiki.org en controleer de proxy instellingen.'; +$lang['nossl'] = 'Je PHP mist SSL ondersteuning. Downloaden werkt niet met veel DokuWiki extensies.'; diff --git a/lib/plugins/extension/lang/pl/lang.php b/lib/plugins/extension/lang/pl/lang.php index 4fdca79c9caca2c538744cc84e7cce18b1266250..ab9a818b6d5bc007651d3288eb1b61e1e12185b1 100644 --- a/lib/plugins/extension/lang/pl/lang.php +++ b/lib/plugins/extension/lang/pl/lang.php @@ -2,7 +2,7 @@ /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * + * * @author Mati <mackosa@wp.pl> */ $lang['menu'] = 'Menedżer rozszerzeÅ„'; @@ -36,4 +36,4 @@ $lang['status_not_installed'] = 'nie zainstalowano'; $lang['status_enabled'] = 'uruchomione'; $lang['status_disabled'] = 'wyÅ‚Ä…czone'; $lang['status_plugin'] = 'dodatek'; -$lang['msg_delete_success'] = 'Rozszerzenie odinstalowane'; +$lang['msg_delete_success'] = 'Rozszerzenie %s odinstalowane'; diff --git a/lib/plugins/extension/lang/pt-br/lang.php b/lib/plugins/extension/lang/pt-br/lang.php index 0d897616abd4425aaa742da2b25214133519a9ac..73012f369187cc5150f565d3ed4130cea8a7df61 100644 --- a/lib/plugins/extension/lang/pt-br/lang.php +++ b/lib/plugins/extension/lang/pt-br/lang.php @@ -4,6 +4,8 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Felipe Castro <fefcas@gmail.com> + * @author Hudson FAS <hudsonfas@gmail.com> + * @author Frederico Gonçalves Guimarães <frederico@teia.bio.br> */ $lang['menu'] = 'Gerenciador de extensões'; $lang['tab_plugins'] = 'Extensões instaladas'; @@ -25,6 +27,10 @@ $lang['btn_disable'] = 'Desabilitar'; $lang['btn_install'] = 'Instalar'; $lang['btn_reinstall'] = 'Re-instalar'; $lang['js']['reallydel'] = 'Quer mesmo desinstalar esta extensão?'; +$lang['js']['display_viewoptions'] = 'Opções de visualização:'; +$lang['js']['display_enabled'] = 'habilitado'; +$lang['js']['display_disabled'] = 'desabilitado'; +$lang['js']['display_updatable'] = 'atualizável'; $lang['search_for'] = 'Procurar extensão:'; $lang['search'] = 'Procurar'; $lang['extensionby'] = '<strong>%s</strong> de %s'; @@ -61,7 +67,8 @@ $lang['status_template'] = 'modelo'; $lang['status_bundled'] = 'agrupado'; $lang['msg_enabled'] = 'Extensão %s habilitada'; $lang['msg_disabled'] = 'Extensão %s desabilitada'; -$lang['msg_delete_success'] = 'Extensão desinstalada'; +$lang['msg_delete_success'] = 'Extensão %s desinstalada'; +$lang['msg_delete_failed'] = 'Falha na desinstalação da extensão %s'; $lang['msg_template_install_success'] = 'Modelo %s instalado com sucesso'; $lang['msg_template_update_success'] = 'Modelo %s atualizado com sucesso'; $lang['msg_plugin_install_success'] = 'Extensão %s instalada com sucesso'; @@ -73,3 +80,18 @@ $lang['security_warning'] = '<strong>Aviso sobre segurança:</strong> %s'; $lang['update_available'] = '<strong>Atualização:</strong> Nova versão %s está disponÃvel.'; $lang['wrong_folder'] = '<strong>Extensão instalada incorretamente:</strong> Renomeie o diretório de extensões "%s" para "%s".'; $lang['url_change'] = '<strong>URL mudou:</strong> A URL para baixar mudou desde a última baixada. Verifique se a nova URL é válida antes de atualizar a extensão.<br />Novo: %s<br />Velho: %s'; +$lang['error_badurl'] = 'O URL deve começar com http ou https'; +$lang['error_dircreate'] = 'ImpossÃvel criar pasta temporária para receber o download'; +$lang['error_download'] = 'Impossável baixar o arquivo: %s'; +$lang['error_decompress'] = 'Impossável descompimir o arquivo baixado. Isso pode ser resultado de um download ruim que neste caso pode ser tentado novamente; ou o formato da compressão pode ser desconhecido, neste caso baixe e instale manualmente.'; +$lang['error_findfolder'] = 'ImpossÃl identificar a extensão do diretório, você deve baixar e instalar manualmente.'; +$lang['error_copy'] = 'Houve um erro de cópia de arquivo durante a tentativa de instalar os arquivos para o diretório <em>%s</em> : o disco pode estar cheio ou as permissões de acesso ao arquivo podem estar incorreta. Isso pode ter resultado em um plugin parcialmente instalado e deixar a sua instalação wiki instável'; +$lang['noperms'] = 'Diretório de extensão não é gravável'; +$lang['notplperms'] = 'Diretório de modelo (Template) não é gravável'; +$lang['nopluginperms'] = 'Diretório de plugin não é gravável'; +$lang['git'] = 'A extensão foi instalada via git, você talvez não queira atualizá-lo aqui.'; +$lang['auth'] = 'O plugin auth não está ativado na configuração, considere desativá-lo.'; +$lang['install_url'] = 'Instale a partir do URL:'; +$lang['install_upload'] = 'Publicar Extensão:'; +$lang['repo_error'] = 'O repositório de plugin não pode ser contactado. Certifique-se de que o servidor pode acessar www.dokuwiki.org e confira suas configurações de proxy.'; +$lang['nossl'] = 'Sua instalação PHP parece que não suporta SSL. Algumas extensões DokuWiki não serão baixadas.'; diff --git a/lib/plugins/extension/lang/pt/intro_templates.txt b/lib/plugins/extension/lang/pt/intro_templates.txt index ecdf99f17886d6fec5f466398bbf2179a7494263..02bc3364384a3512bbc23bdd99b5291a76de5617 100644 --- a/lib/plugins/extension/lang/pt/intro_templates.txt +++ b/lib/plugins/extension/lang/pt/intro_templates.txt @@ -1 +1 @@ -Estes são os modelos atualmente instalados em seu DokuWiki. Você pode selecionar o modelo a ser usado no [[Do = admin & page = configuração |? Configuration Manager]]. \ No newline at end of file +Estes são os modelos atualmente instalados em seu DokuWiki. Você pode selecionar o modelo a ser usado no [[?do=admin&page=config|Configuration Manager]]. diff --git a/lib/plugins/extension/lang/pt/lang.php b/lib/plugins/extension/lang/pt/lang.php index c7b4f29c2b23aeda4a9c1344250bf21f973eb3e2..9713f91f3941a77df908ff8ceeb18c69fc6bdc8f 100644 --- a/lib/plugins/extension/lang/pt/lang.php +++ b/lib/plugins/extension/lang/pt/lang.php @@ -4,6 +4,9 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Guido Salatino <guidorafael23@gmail.com> + * @author Romulo Pereira <romuloccomp@gmail.com> + * @author Paulo Carmino <contato@paulocarmino.com> + * @author Alfredo Silva <alfredo.silva@sky.com> */ $lang['menu'] = 'Gerenciador de Extensões'; $lang['tab_plugins'] = 'Plugins Instalados'; @@ -25,6 +28,10 @@ $lang['btn_disable'] = 'Desabilitar'; $lang['btn_install'] = 'Instalar'; $lang['btn_reinstall'] = 'Reinstalar'; $lang['js']['reallydel'] = 'Confirma a desinstalação desta extensão?'; +$lang['js']['display_viewoptions'] = 'Ver Opções:'; +$lang['js']['display_enabled'] = 'ativado'; +$lang['js']['display_disabled'] = 'desativado'; +$lang['js']['display_updatable'] = 'atualizável'; $lang['search_for'] = 'Pesquisar Extensão:'; $lang['search'] = 'Pesquisar'; $lang['extensionby'] = '<strong>%s</strong> by %s'; @@ -40,7 +47,7 @@ $lang['downloadurl'] = 'Baixar URL: '; $lang['repository'] = 'Repositório: '; -$lang['unknown'] = '<em> desconhecido </ em> +$lang['unknown'] = '<em> desconhecido </em> '; $lang['installed_version'] = 'Versão instalada:'; $lang['install_date'] = 'Sua última atualização:'; diff --git a/lib/plugins/extension/lang/ru/intro_install.txt b/lib/plugins/extension/lang/ru/intro_install.txt index 7b8ac661bb2d62c88a3969617b987b09c0eba1d2..0c555aee2c54ad081dc35752af33f3b30093a12a 100644 --- a/lib/plugins/extension/lang/ru/intro_install.txt +++ b/lib/plugins/extension/lang/ru/intro_install.txt @@ -1 +1 @@ -ЗдеÑÑŒ вы можете ÑамоÑтоÑтельно уÑтановить плагины и шаблоны, загрузив их или предоÑтавив прÑмой URL Ð´Ð»Ñ ÑкачиваниÑ. \ No newline at end of file +ЗдеÑÑŒ вы можете ÑамоÑтоÑтельно уÑтановить плагины и шаблоны, загрузив их или предоÑтавив прÑмой URL Ð´Ð»Ñ ÑкачиваниÑ. \ No newline at end of file diff --git a/lib/plugins/extension/lang/ru/intro_plugins.txt b/lib/plugins/extension/lang/ru/intro_plugins.txt index 7262516db9bf82ff44b2c9969d5c7b6b4fd458ee..547ca7184f5c70f15496d2660acbb247d08987cb 100644 --- a/lib/plugins/extension/lang/ru/intro_plugins.txt +++ b/lib/plugins/extension/lang/ru/intro_plugins.txt @@ -1 +1 @@ -Плагины, уÑтановленные в вашей DokuWiki. ЗдеÑÑŒ вы можете их включить или выключить, или даже полноÑтью удалить. Также здеÑÑŒ показываютÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð¾Ð², обÑзательно прочтите документацию плагина перед обновлением. \ No newline at end of file +Плагины, уÑтановленные в вашей «Докувики». ЗдеÑÑŒ вы можете их включить или выключить, или даже полноÑтью удалить. Также здеÑÑŒ показываютÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð¾Ð²; обÑзательно прочтите документацию плагина перед обновлением. \ No newline at end of file diff --git a/lib/plugins/extension/lang/ru/intro_search.txt b/lib/plugins/extension/lang/ru/intro_search.txt index a8486eab6c386db5511250dcaa020202dc701d0d..609985bf4d5546a1d9bc26d3f1cadd25fc61df85 100644 --- a/lib/plugins/extension/lang/ru/intro_search.txt +++ b/lib/plugins/extension/lang/ru/intro_search.txt @@ -1 +1 @@ -Ðта вкладка дает вам доÑтуп ко вÑем имеющимÑÑ Ñторонним плагинам и шаблонам Ð´Ð»Ñ DokuWiki. Имейте в виду, что уÑтановка Ñтороннего кода может предÑтавлÑÑ‚ÑŒ **угрозу безопаÑноÑти**, возможно вам нужно Ñперва прочитать о [[doku>security#plugin_security|безопаÑноÑти плагинов]]. \ No newline at end of file +Вкладка даёт вам доÑтуп ко вÑем имеющимÑÑ Ñторонним плагинам и шаблонам Ð´Ð»Ñ Â«Ð”Ð¾ÐºÑƒÐ²Ð¸ÐºÐ¸Â». Имейте в виду, что уÑтановка Ñтороннего кода может предÑтавлÑÑ‚ÑŒ **угрозу безопаÑноÑти,** возможно вам нужно Ñперва прочитать о [[doku>security#plugin_security|безопаÑноÑти плагинов]]. \ No newline at end of file diff --git a/lib/plugins/extension/lang/ru/intro_templates.txt b/lib/plugins/extension/lang/ru/intro_templates.txt index 2d0b742567e57d9e5030ee15efee9d91674e66e4..a71ad67378e875cdf83170a8e5b81b4c37b640f6 100644 --- a/lib/plugins/extension/lang/ru/intro_templates.txt +++ b/lib/plugins/extension/lang/ru/intro_templates.txt @@ -1 +1 @@ -Ðто шаблоны, уÑтановленные в вашей DokuWiki. Ð’Ñ‹ можете выбрать шаблон, который нужно иÑпользовать в [[?do=admin&page=config|Менеджере Конфигурации]] \ No newline at end of file +Шаблоны (темы оформлениÑ), уÑтановленные в вашей «Докувики». Шаблон, который нужно иÑпользовать, выбираетÑÑ в [[?do=admin&page=config|наÑтройках вики]] \ No newline at end of file diff --git a/lib/plugins/extension/lang/ru/lang.php b/lib/plugins/extension/lang/ru/lang.php index 64db39b789551929df095e08c137ef95f01f6232..6df783cc8d4ffea552a525dfa0620a5520fdac12 100644 --- a/lib/plugins/extension/lang/ru/lang.php +++ b/lib/plugins/extension/lang/ru/lang.php @@ -7,6 +7,8 @@ * @author Igor Degraf <igordegraf@gmail.com> * @author Type-kun <workwork-1@yandex.ru> * @author Vitaly Filatenko <kot@hacktest.net> + * @author Alex P <alexander@lanos.co.uk> + * @author Takumo <9206984@mail.ru> */ $lang['menu'] = 'Управление дополнениÑми'; $lang['tab_plugins'] = 'УÑтановленные плагины'; @@ -15,12 +17,12 @@ $lang['tab_search'] = 'ПоиÑк и уÑтановка'; $lang['tab_install'] = 'Ð ÑƒÑ‡Ð½Ð°Ñ ÑƒÑтановка'; $lang['notimplemented'] = 'Ðта возможноÑÑ‚ÑŒ ещё не реализована'; $lang['notinstalled'] = 'Ðто дополнение не уÑтановлено'; -$lang['alreadyenabled'] = 'Ðто раÑширение уже включено'; -$lang['alreadydisabled'] = 'Ðто раÑширение уже выключено'; +$lang['alreadyenabled'] = 'Ðто дополнение уже включено'; +$lang['alreadydisabled'] = 'Ðто дополнение уже отключено'; $lang['pluginlistsaveerror'] = 'Ошибка при Ñохранении ÑпиÑка плагинов'; $lang['unknownauthor'] = 'Ðвтор неизвеÑтен'; $lang['unknownversion'] = 'ВерÑÐ¸Ñ Ð½ÐµÐ¸Ð·Ð²ÐµÑтна'; -$lang['btn_info'] = 'Отобразить доп. информацию'; +$lang['btn_info'] = 'Подробнее'; $lang['btn_update'] = 'Обновить'; $lang['btn_uninstall'] = 'Удалить'; $lang['btn_enable'] = 'Включить'; @@ -28,44 +30,48 @@ $lang['btn_disable'] = 'Отключить'; $lang['btn_install'] = 'УÑтановить'; $lang['btn_reinstall'] = 'ПереуÑтановить'; $lang['js']['reallydel'] = 'ДейÑтвительно удалить Ñто дополнение?'; -$lang['search_for'] = 'ПоиÑк дополнениÑ:'; +$lang['js']['display_viewoptions'] = 'Показать как:'; +$lang['js']['display_enabled'] = 'включён'; +$lang['js']['display_disabled'] = 'отключён'; +$lang['js']['display_updatable'] = 'обновление'; +$lang['search_for'] = 'ПоиÑк дополнениÑ'; $lang['search'] = 'Ðайти'; -$lang['extensionby'] = '<strong>%s</strong> — %s'; +$lang['extensionby'] = '<strong>%s</strong> %s'; $lang['screenshot'] = 'Скриншот: %s'; $lang['popularity'] = 'ПопулÑрноÑÑ‚ÑŒ: %s%%'; $lang['homepage_link'] = 'ОпиÑание'; $lang['bugs_features'] = 'Баг-трекер'; $lang['tags'] = 'Метки:'; $lang['author_hint'] = 'Ðайти Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñтого автора'; -$lang['installed'] = 'УÑтановлено:'; -$lang['downloadurl'] = 'СÑылка Ð´Ð»Ñ ÑкачиваниÑ:'; -$lang['repository'] = 'Репозиторий:'; +$lang['installed'] = 'УÑтановлен'; +$lang['downloadurl'] = 'URL ÑкачиваниÑ'; +$lang['repository'] = 'Репозиторий'; $lang['unknown'] = '<em>неизвеÑтно</em>'; -$lang['installed_version'] = 'УÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð²ÐµÑ€ÑиÑ:'; -$lang['install_date'] = 'ПоÑледнее обновление:'; -$lang['available_version'] = 'ДоÑÑ‚ÑƒÐ¿Ð½Ð°Ñ Ð²ÐµÑ€ÑиÑ:'; -$lang['compatible'] = 'СовмеÑтим Ñ:'; -$lang['depends'] = 'ЗавиÑит от:'; -$lang['similar'] = 'Похож на:'; -$lang['conflicts'] = 'Конфликтует Ñ:'; +$lang['installed_version'] = 'ВерÑиÑ'; +$lang['install_date'] = 'Обновлено'; +$lang['available_version'] = 'ДоÑÑ‚ÑƒÐ¿Ð½Ð°Ñ Ð²ÐµÑ€ÑиÑ'; +$lang['compatible'] = 'СовмеÑтимоÑÑ‚ÑŒ'; +$lang['depends'] = 'ЗавиÑит от'; +$lang['similar'] = 'Похож на'; +$lang['conflicts'] = 'Конфликтует Ñ'; $lang['donate'] = 'ÐравитÑÑ?'; $lang['donate_action'] = 'Купить автору кофе!'; $lang['repo_retry'] = 'Повторить'; -$lang['provides'] = 'ПредоÑтавлÑет:'; -$lang['status'] = 'СтатуÑ:'; -$lang['status_installed'] = 'уÑтановлено'; -$lang['status_not_installed'] = 'не уÑтановлено'; -$lang['status_protected'] = 'защищено'; +$lang['provides'] = 'ПредоÑтавлÑет'; +$lang['status'] = 'СтатуÑ'; +$lang['status_installed'] = 'уÑтановлен'; +$lang['status_not_installed'] = 'не уÑтановлен'; +$lang['status_protected'] = 'защищён'; $lang['status_enabled'] = 'включён'; -$lang['status_disabled'] = 'отключено'; -$lang['status_unmodifiable'] = 'неизменÑемо'; +$lang['status_disabled'] = 'отключён'; +$lang['status_unmodifiable'] = 'неизменÑем'; $lang['status_plugin'] = 'плагин'; $lang['status_template'] = 'шаблон'; $lang['status_bundled'] = 'в комплекте'; $lang['msg_enabled'] = 'Плагин %s включён'; $lang['msg_disabled'] = 'Плагин %s отключён'; -$lang['msg_delete_success'] = 'Дополнение удалено'; -$lang['msg_delete_failed'] = 'Ðе удалоÑÑŒ удалить раÑширение %s'; +$lang['msg_delete_success'] = 'Дополнение %s удалено'; +$lang['msg_delete_failed'] = 'Ðе удалоÑÑŒ удалить дополнение %s'; $lang['msg_template_install_success'] = 'Шаблон %s уÑпешно уÑтановлен'; $lang['msg_template_update_success'] = 'Шаблон %s уÑпешно обновлён'; $lang['msg_plugin_install_success'] = 'Плагин %s уÑпешно уÑтановлен'; @@ -74,19 +80,21 @@ $lang['msg_upload_failed'] = 'Ðе удалоÑÑŒ загрузить фай $lang['missing_dependency'] = '<strong>ОтÑутÑтвует или отключена завиÑимоÑÑ‚ÑŒ:</strong> %s'; $lang['security_issue'] = '<strong>Проблема безопаÑноÑти:</strong> %s'; $lang['security_warning'] = '<strong>Предупреждение безопаÑноÑти:</strong> %s'; -$lang['update_available'] = '<strong>Обновление:</strong> доÑтупна Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ %s.'; -$lang['wrong_folder'] = '<strong>Плагин уÑтановлен неправильно:</strong> Переименуйте директорию "%s" в "%s".'; -$lang['url_change'] = '<strong>СÑылка изменилаÑÑŒ:</strong> СÑылка Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ изменилаÑÑŒ Ñ Ð¿Ñ€Ð¾ÑˆÐ»Ð¾Ð³Ð¾ раза. Проверьте новую ÑÑылку прежде чем обновлÑÑ‚ÑŒ раÑширение.<br />ÐоваÑ: %s<br />СтараÑ: %s'; -$lang['error_badurl'] = 'СÑылки должны начинатьÑÑ Ñ http или https'; +$lang['update_available'] = '<strong>Обновление:</strong> доÑтупна Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ %s'; +$lang['wrong_folder'] = '<strong>Плагин уÑтановлен неправильно:</strong> переименуйте директорию плагина из %s в %s'; +$lang['url_change'] = '<strong>СÑылка изменилаÑÑŒ:</strong> ÑÑылка Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ изменилаÑÑŒ Ñ Ð¿Ñ€Ð¾ÑˆÐ»Ð¾Ð³Ð¾ раза. Проверьте новую ÑÑылку прежде, чем обновлÑÑ‚ÑŒ дополнение.<br />ÐоваÑ: %s<br />СтараÑ: %s'; +$lang['error_badurl'] = 'СÑылка должна начинатьÑÑ Ñ http или https'; $lang['error_dircreate'] = 'Ðе удалоÑÑŒ Ñоздать временную директорию Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸'; $lang['error_download'] = 'Ðе удалоÑÑŒ загрузить файл: %s'; -$lang['error_decompress'] = 'Ðе удалоÑÑŒ раÑпаковать загруженный файл. Возможно, файл был повреждён при загрузке - тогда нужно попробовать ещё раз. Либо неизвеÑтен формат архива - тогда загрузку и уÑтановку надо произвеÑти вручную.'; -$lang['error_findfolder'] = 'Ðе удалоÑÑŒ определить директорию Ð´Ð»Ñ Ñ€Ð°ÑширениÑ, загрузку и уÑтановку надо произвеÑти вручную.'; -$lang['error_copy'] = 'Возникла ошибка ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² в директорию <em>%s</em>: возможно, диÑк переполнен, или неверно выÑтавлены права доÑтупа. Ðто могло привеÑти к неполной уÑтановке плагина и нарушить работу вашей вики.'; -$lang['noperms'] = 'Папка Ð´Ð»Ñ Ñ€Ð°Ñширений недоÑтупна Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи'; -$lang['notplperms'] = 'Папка Ð´Ð»Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð² недоÑтупна Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи'; -$lang['nopluginperms'] = 'Папка плагинов недоÑтупна Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи'; -$lang['git'] = 'Ðто раÑширение было уÑтановлено через git. Ð’Ñ‹ не можете обновить его тут.'; -$lang['install_url'] = 'УÑтановить Ñ Ð°Ð´Ñ€ÐµÑа URL:'; -$lang['install_upload'] = 'Скачать раÑширение:'; -$lang['repo_error'] = 'Сайт Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð°Ð¼Ð¸ недоÑтупен. УбедитеÑÑŒ, что у Ñайта еÑÑ‚ÑŒ доÑтуп на www.dokuwiki.org, а также проверьте наÑтройки ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ Ð˜Ð½Ñ‚ÐµÑ€Ð½ÐµÑ‚Ð¾Ð¼.'; +$lang['error_decompress'] = 'Ðе удалоÑÑŒ раÑпаковать загруженный файл. Возможно, файл был повреждён при загрузке — тогда нужно попробовать ещё раз. Либо неизвеÑтен формат архива — тогда загрузку и уÑтановку надо произвеÑти вручную'; +$lang['error_findfolder'] = 'Ðе удалоÑÑŒ определить директорию Ð´Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ, загрузку и уÑтановку надо произвеÑти вручную.'; +$lang['error_copy'] = 'Возникла ошибка ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² в директорию <em>%s</em>: возможно, диÑк переполнен, или неверно выÑтавлены права доÑтупа. Ðто могло привеÑти к неполной уÑтановке плагина и нарушить работу вашей вики.'; +$lang['noperms'] = 'Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð´Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ð¹ недоÑтупна Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи'; +$lang['notplperms'] = 'Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð´Ð»Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð² недоÑтупна Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи'; +$lang['nopluginperms'] = 'Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð´Ð»Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð¾Ð² недоÑтупна Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи'; +$lang['git'] = 'Ðто дополнение было уÑтановлено через git. Ð’Ñ‹ не можете обновить его тут.'; +$lang['auth'] = 'Ðтот auth-плагин не включён в конфигурации, подумайте об его отключении'; +$lang['install_url'] = 'УÑтановить Ñ Ð°Ð´Ñ€ÐµÑа'; +$lang['install_upload'] = 'Загрузить дополнение'; +$lang['repo_error'] = 'Сайт Ñ плагинами недоÑтупен. УбедитеÑÑŒ, что у Ñайта еÑÑ‚ÑŒ доÑтуп на www.dokuwiki.org, а также проверьте наÑтройки ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐºÑи.'; +$lang['nossl'] = 'Ваша PHP-ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð½Ðµ имеет SSL-поддержки. Ðто нарушит Ñкачивание Ð´Ð»Ñ Ð¼Ð½Ð¾Ð³Ð¸Ñ… дополнений.'; diff --git a/lib/plugins/extension/lang/tr/lang.php b/lib/plugins/extension/lang/tr/lang.php index dfabfa715a63ee1b260a3f658bfb4a285ecf30e1..c90b7b1c5aec40cbe94e6f1836c25ca5fe5f4eaa 100644 --- a/lib/plugins/extension/lang/tr/lang.php +++ b/lib/plugins/extension/lang/tr/lang.php @@ -4,6 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Ä°lker R. Kapaç <irifat@gmail.com> + * @author Mete Cuma <mcumax@gmail.com> */ $lang['menu'] = 'GeniÅŸletme Yöneticisi'; $lang['tab_plugins'] = 'KurulmuÅŸ Eklentiler'; @@ -44,7 +45,7 @@ $lang['available_version'] = 'Müsait sürüm:'; $lang['compatible'] = 'Åžununla uyumlu:'; $lang['depends'] = 'Åžuna bağımlı'; $lang['similar'] = 'Åžununla benzer'; -$lang['conflicts'] = 'Åžununla çeliÅŸir'; +$lang['conflicts'] = 'Åžununla çeliÅŸir:'; $lang['donate'] = 'BeÄŸendiniz mi?'; $lang['donate_action'] = 'Yazara bir kahve ısmarlayın!'; $lang['repo_retry'] = 'Yeniden dene'; diff --git a/lib/plugins/extension/lang/zh-tw/lang.php b/lib/plugins/extension/lang/zh-tw/lang.php index 79657ffeb4b8da326b5714fc9a311c8d47ad8cb9..c5b1e6dc58df836d0ddaa74fb4147d2c11a3d64d 100644 --- a/lib/plugins/extension/lang/zh-tw/lang.php +++ b/lib/plugins/extension/lang/zh-tw/lang.php @@ -6,6 +6,7 @@ * @author Stan <talktostan@gmail.com> * @author June-Hao Hou <junehao@gmail.com> * @author lioujheyu <lioujheyu@gmail.com> + * @author Liou, Jhe-Yu <lioujheyu@gmail.com> */ $lang['menu'] = '延伸功能管ç†'; $lang['tab_plugins'] = '已安è£å¤–掛'; @@ -27,6 +28,9 @@ $lang['btn_disable'] = 'åœç”¨'; $lang['btn_install'] = '安è£'; $lang['btn_reinstall'] = 'é‡æ–°å®‰è£'; $lang['js']['reallydel'] = '確定è¦ç§»é™¤æ¤å»¶ä¼¸åŠŸèƒ½ï¼Ÿ'; +$lang['js']['display_enabled'] = '啟用'; +$lang['js']['display_disabled'] = 'ç¦ç”¨'; +$lang['js']['display_updatable'] = 'å¯æ›´æ–°'; $lang['search_for'] = 'æœå°‹å»¶ä¼¸åŠŸèƒ½ï¼š'; $lang['search'] = 'æœå°‹'; $lang['homepage_link'] = '文件'; @@ -58,6 +62,7 @@ $lang['status_bundled'] = '已綑ç¶å…§é™„'; $lang['msg_enabled'] = '外掛 %s 已啟用'; $lang['msg_disabled'] = '外掛 %s å·²ç¦ç”¨'; $lang['msg_delete_success'] = 'é™„åŠ å…ƒä»¶å·²ç§»é™¤'; +$lang['msg_delete_failed'] = 'è§£é™¤å®‰è£ %s 失敗'; $lang['msg_template_install_success'] = 'æ¨¡æ¿ %s 以æˆåŠŸå®‰è£'; $lang['msg_template_update_success'] = 'æ¨¡æ¿ %s 以æˆåŠŸæ›´æ–°'; $lang['msg_plugin_install_success'] = '外掛 %s 以æˆåŠŸå®‰è£'; @@ -69,6 +74,7 @@ $lang['security_warning'] = '<strong>安全å•é¡Œè¦å‘Š:</strong> %s'; $lang['update_available'] = '<strong>æ›´æ–°:</strong> å·²å¯å–å¾— %s 的新版本'; $lang['wrong_folder'] = '<strong>外掛安è£ä¸æ£ç¢º:</strong> 將外掛資料夾從 "%s" æ›´å至 "%s"。'; $lang['url_change'] = '<strong>網å€å·²è®Šæ›´:</strong> 自從上次下載後下載網å€å·²è®Šæ›´ã€‚在更新延伸功能å‰è«‹å…ˆæª¢æŸ¥æ–°ç¶²å€æ˜¯å¦å¯ç”¨ã€‚<br />æ–°: %s<br />舊: %s'; +$lang['error_dircreate'] = '無法建立暫å˜ç›®éŒ„以接收下載檔案'; $lang['error_download'] = '無法下載檔案:%s'; $lang['error_decompress'] = '無法解壓縮檔案。這å¯èƒ½æ˜¯ä¸‹è¼‰å“質ä¸ä½³æ‰€è‡´ï¼Œåœ¨é€™å€‹æƒ…æ³ä¸‹ä½ 應該å†è©¦ä¸€æ¬¡ï¼›ä¹Ÿæœ‰å¯èƒ½æ˜¯å› 為無法辨è˜çš„å£“ç¸®æ ¼å¼ï¼Œåœ¨é€™å€‹æƒ…æ³ä¸‹ä½ 應該自行下載並手動安è£'; $lang['error_findfolder'] = '無法辨èªå»¶ä¼¸åŠŸèƒ½è³‡æ–™å¤¾ï¼Œä½ å¿…é ˆè‡ªè¡Œä¸‹è¼‰ä¸¦æ‰‹å‹•å®‰è£'; diff --git a/lib/plugins/extension/lang/zh/lang.php b/lib/plugins/extension/lang/zh/lang.php index 0264f3e9cf5a16baa1f89231a031bc300552cb0f..62d54c160b89c820def66ce3847d093549cf3b44 100644 --- a/lib/plugins/extension/lang/zh/lang.php +++ b/lib/plugins/extension/lang/zh/lang.php @@ -7,6 +7,7 @@ * @author xiqingongzi <Xiqingongzi@Gmail.com> * @author qinghao <qingxianhao@gmail.com> * @author lainme <lainme993@gmail.com> + * @author Errol <errol@hotmail.com> */ $lang['menu'] = '扩展管ç†å™¨'; $lang['tab_plugins'] = '安装æ’件'; @@ -28,6 +29,10 @@ $lang['btn_disable'] = 'å…³é—'; $lang['btn_install'] = '安装'; $lang['btn_reinstall'] = 'é‡æ–°å®‰è£…'; $lang['js']['reallydel'] = '确定å¸è½½è¿™ä¸ªæ‰©å±•ä¹ˆï¼Ÿ'; +$lang['js']['display_viewoptions'] = '查看选项:'; +$lang['js']['display_enabled'] = 'å¯ç”¨'; +$lang['js']['display_disabled'] = 'ç¦ç”¨'; +$lang['js']['display_updatable'] = 'å¯æ›´æ–°'; $lang['search_for'] = 'æœç´¢æ‰©å±•'; $lang['search'] = 'æœç´¢'; $lang['extensionby'] = '<strong>%s</strong> by %s'; @@ -65,6 +70,7 @@ $lang['status_bundled'] = '内建'; $lang['msg_enabled'] = 'æ’件 %s å·²å¯ç”¨'; $lang['msg_disabled'] = 'æ’件 %s å·²ç¦ç”¨'; $lang['msg_delete_success'] = 'æ’件已ç»å¸è½½'; +$lang['msg_delete_failed'] = 'å¸è½½æ‰©å±• %s 失败'; $lang['msg_template_install_success'] = 'æ¨¡æ¿ %s 安装æˆåŠŸ'; $lang['msg_template_update_success'] = 'æ¨¡æ¿ %s æ›´æ–°æˆåŠŸ'; $lang['msg_plugin_install_success'] = 'æ’件 %s 安装æˆåŠŸ'; @@ -86,6 +92,8 @@ $lang['noperms'] = '扩展目录ä¸å¯å†™'; $lang['notplperms'] = '模æ¿ç›®å½•ä¸å¯å†™'; $lang['nopluginperms'] = 'æ’件目录ä¸å¯å†™'; $lang['git'] = '这个扩展是通过 git 安装的,您å¯èƒ½ä¸æƒ³åœ¨è¿™é‡Œå‡çº§å®ƒ'; +$lang['auth'] = '这个认è¯æ’件没有在é…ç½®ä¸å¯ç”¨ï¼Œè¯·è€ƒè™‘ç¦ç”¨å®ƒã€‚'; $lang['install_url'] = '从 URL 安装:'; $lang['install_upload'] = 'ä¸Šä¼ æ‰©å±•ï¼š'; $lang['repo_error'] = 'æ— æ³•è¿žæŽ¥åˆ°æ’件仓库。请确定您的æœåŠ¡å™¨å¯ä»¥è¿žæŽ¥ www.dokuwiki.org 并检查您的代ç†è®¾ç½®ã€‚'; +$lang['nossl'] = '您的 PHP 似乎没有 SSL 支æŒã€‚很多 Dokuwiki æ‰©å±•å°†æ— æ³•ä¸‹è½½ã€‚'; diff --git a/lib/plugins/extension/plugin.info.txt b/lib/plugins/extension/plugin.info.txt index ee983062838443c151d08e76340cd2d530e2b7a3..7ee84dcc0630888434f3d1633e21e9e971418d44 100644 --- a/lib/plugins/extension/plugin.info.txt +++ b/lib/plugins/extension/plugin.info.txt @@ -1,7 +1,7 @@ base extension author Michael Hamann email michael@content-space.de -date 2014-06-15 +date 2015-07-26 name Extension Manager desc Allows managing and installing plugins and templates url https://www.dokuwiki.org/plugin:extension diff --git a/lib/plugins/extension/script.js b/lib/plugins/extension/script.js index fab88162d8c6c1f62e23bcb9e5745ffc326435ad..0c43de6ae97403f85f9cffb759ee84040751d734 100644 --- a/lib/plugins/extension/script.js +++ b/lib/plugins/extension/script.js @@ -5,7 +5,7 @@ jQuery(function(){ /** * Confirm uninstalling */ - $extmgr.find('input.uninstall').click(function(e){ + $extmgr.find('button.uninstall').click(function(e){ if(!window.confirm(LANG.plugins.extension.reallydel)){ e.preventDefault(); return false; @@ -46,7 +46,7 @@ jQuery(function(){ /** * Enable/Disable extension via AJAX */ - $extmgr.find('input.disable, input.enable').click(function (e) { + $extmgr.find('button.disable, button.enable').click(function (e) { e.preventDefault(); var $btn = jQuery(this); @@ -110,4 +110,24 @@ jQuery(function(){ ); }); -}); \ No newline at end of file + /** + Create section for enabling/disabling viewing options + */ + if ( $extmgr.find('.plugins, .templates').hasClass('active') ) { + var $extlist = jQuery('#extension__list'); + $extlist.addClass('hasDisplayOptions'); + var $displayOpts = jQuery('<p>', { id: 'extension__viewoptions'} ).appendTo($extmgr.find( '.panelHeader' )); + + $displayOpts.append(LANG.plugins.extension.display_viewoptions); + + var displayOptionsHandler = function(){ + $extlist.toggleClass( this.name ); + }; + + jQuery(['enabled', 'disabled', 'updatable']).each(function(index, chkName){ + var $label = jQuery( '<label></label>' ).appendTo($displayOpts); + jQuery( '<input />', { type: 'checkbox', name: chkName }).change(displayOptionsHandler).appendTo($label).click(); + jQuery( '<span/>' ).append(' '+LANG.plugins.extension['display_'+chkName]).appendTo($label); + }); + } +}); diff --git a/lib/plugins/extension/style.less b/lib/plugins/extension/style.less index d206890995b7a62594b14f11dcd5af3d29401592..38e63205510c69499b78328389d789a6b0d4fa90 100644 --- a/lib/plugins/extension/style.less +++ b/lib/plugins/extension/style.less @@ -80,8 +80,8 @@ overflow: hidden; } - input.button { - margin: 0 .3em .3em 0; + button { + margin-bottom: .3em; } } @@ -171,6 +171,11 @@ padding-left: 18px; background: transparent url(images/tag.png) no-repeat 0 0; } + + a.bugs { + padding-left: 18px; + background: transparent url(images/bug.gif) no-repeat 0 0; + } } // more info button @@ -281,6 +286,21 @@ * Enabled/Disabled overrides */ #extension__list { + + &.hasDisplayOptions { + .enabled, + .disabled, + .updatable { + display: none; + } + + &.enabled .enabled, + &.disabled .disabled, + &.updatable .updatable { + display: block; + } + } + .enabled div.screenshot span { background: transparent url(images/enabled.png) no-repeat 2px 2px; } @@ -361,3 +381,8 @@ display: block; width: 60%; } + +#extension__viewoptions label { + margin-left: 1em; + vertical-align: baseline; +} diff --git a/lib/plugins/info/plugin.info.txt b/lib/plugins/info/plugin.info.txt index 7773a419de5dd3aa4d23471e015250f1a0726b5b..3f05391f71d497bf8226ed5801ffe5233a0f2855 100644 --- a/lib/plugins/info/plugin.info.txt +++ b/lib/plugins/info/plugin.info.txt @@ -1,7 +1,7 @@ base info author Andreas Gohr email andi@splitbrain.org -date 2014-03-05 +date 2014-10-01 name Info Plugin desc Displays information about various DokuWiki internals url http://dokuwiki.org/plugin:info diff --git a/lib/plugins/popularity/action.php b/lib/plugins/popularity/action.php index 9e2e78d11b55c84ee9992ea1adc8ee186a20c160..d5ec0f5c5d183efce736c9e8bcdbbd0206ebca23 100644 --- a/lib/plugins/popularity/action.php +++ b/lib/plugins/popularity/action.php @@ -15,7 +15,7 @@ class action_plugin_popularity extends Dokuwiki_Action_Plugin { */ var $helper; - function action_plugin_popularity(){ + function __construct(){ $this->helper = $this->loadHelper('popularity', false); } diff --git a/lib/plugins/popularity/admin.php b/lib/plugins/popularity/admin.php index ab569b8b4bf7ad164ee05aabec710709060a1603..0cf174e0de7c20d8b197e4e240241b36bf0940e1 100644 --- a/lib/plugins/popularity/admin.php +++ b/lib/plugins/popularity/admin.php @@ -20,7 +20,7 @@ class admin_plugin_popularity extends DokuWiki_Admin_Plugin { var $helper; var $sentStatus = null; - function admin_plugin_popularity(){ + function __construct(){ $this->helper = $this->loadHelper('popularity', false); } @@ -144,7 +144,7 @@ class admin_plugin_popularity extends DokuWiki_Admin_Plugin { .'<input type="hidden" name="do" value="admin" />' .'<input type="hidden" name="page" value="popularity" />'; } - $form .= '<input type="submit" class="button" value="'.$this->getLang('submit').'"/>' + $form .= '<button type="submit">'.$this->getLang('submit').'</button>' .'</fieldset>' .'</form>'; return $form; diff --git a/lib/plugins/popularity/helper.php b/lib/plugins/popularity/helper.php index 8673fb5aff830d5a3b21766660595c75665d0e60..27755b0ed3a02460da8ce033013653a77c344d58 100644 --- a/lib/plugins/popularity/helper.php +++ b/lib/plugins/popularity/helper.php @@ -30,7 +30,7 @@ class helper_plugin_popularity extends Dokuwiki_Plugin { var $popularityLastSubmitFile; - function helper_plugin_popularity(){ + function __construct(){ global $conf; $this->autosubmitFile = $conf['cachedir'].'/autosubmit.txt'; $this->autosubmitErrorFile = $conf['cachedir'].'/autosubmitError.txt'; @@ -253,9 +253,26 @@ class helper_plugin_popularity extends Dokuwiki_Plugin { $data['php_exectime'] = $phptime; $data['php_extension'] = get_loaded_extensions(); + // plugin usage data + $this->_add_plugin_usage_data($data); + return $data; } + protected function _add_plugin_usage_data(&$data){ + $pluginsData = array(); + trigger_event('PLUGIN_POPULARITY_DATA_SETUP', $pluginsData); + foreach($pluginsData as $plugin => $d){ + if ( is_array($d) ) { + foreach($d as $key => $value){ + $data['plugin_' . $plugin . '_' . $key] = $value; + } + } else { + $data['plugin_' . $plugin] = $d; + } + } + } + /** * Callback to search and count the content of directories in DokuWiki * diff --git a/lib/plugins/popularity/lang/ca/lang.php b/lib/plugins/popularity/lang/ca/lang.php index b3084611837c42f2ec63a221c6654c0db9c07248..9eb1655d266fbca95494dd9fc505827eed73a997 100644 --- a/lib/plugins/popularity/lang/ca/lang.php +++ b/lib/plugins/popularity/lang/ca/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Catalan language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Carles Bellver <carles.bellver@cent.uji.es> * @author Carles Bellver <carles.bellver@gmail.com> * @author carles.bellver@cent.uji.es diff --git a/lib/plugins/popularity/lang/cy/intro.txt b/lib/plugins/popularity/lang/cy/intro.txt new file mode 100644 index 0000000000000000000000000000000000000000..187dfe0b77e78186a6b5d97460a59c9c762804d8 --- /dev/null +++ b/lib/plugins/popularity/lang/cy/intro.txt @@ -0,0 +1,11 @@ +====== Adborth Poblogrwydd ====== + +Mae'r [[doku>popularity|teclyn]] hwn yn casglu data anhysbys am eich wici ac yn eich galluogi chi i'w anfon yn ôl i ddatblygwyr DokuWiki. Mae hwn yn eu helpu nhw i ddeall sut mae DokuWiki yn cael ei ddefnyddio gan ei ddefnyddwyr ac mae\'n sicrhau bod penderfyniadau datblygu yn y dyfodol yn cael eu cefnogi gan ystadegau defnydd go iawn. + +Cewch eich annog i ailadrodd y cam hwn o dro i dro er mwyn hysbysu datblygwyr wrth i'ch wici dyfu. Caiff eich setiau data eilfydd eu hadnabod gan ID anhysbys. + +Mae'r data sy'n cael ei gasglu yn cynnwys pethau fel fersiwn eich DokuWiki, nifer a maint eich tudalennau a'ch ffeiliau chi, ategion sydd wedi'u harsefydlu a gwybodaeth parthed eich arsefydliad PHP. + +Caiff y data crai i'w anfon ei ddangos isod. Pwyswch fotwm "Anfon Data" i drosglwyddo'r wybodaeth. + + diff --git a/lib/plugins/popularity/lang/cy/lang.php b/lib/plugins/popularity/lang/cy/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..7bee7bdf2a0d262a07a17487cb7d37f8c4463626 --- /dev/null +++ b/lib/plugins/popularity/lang/cy/lang.php @@ -0,0 +1,9 @@ +<?php + +$lang['name'] = 'Adborth Poblogrwydd (gall gymryd ychydig o amser i lwytho)'; +$lang['submit'] = 'Anfon Data'; +$lang['autosubmit'] = 'Anfon data yn awtomatig unwaith y mis'; +$lang['submissionFailed'] = 'Doedd dim modd anfon y data oherwydd y gwall canlynol:'; +$lang['submitDirectly'] = 'Gallwch chi anfon y data gan law gan gyflwyno\'r ffurflen ganlynol.'; +$lang['autosubmitError'] = 'Methodd yr awtogyflwyniad diwethaf oherwydd y gwall canlynol: '; +$lang['lastSent'] = 'Anfonwyd y data'; diff --git a/lib/plugins/popularity/lang/cy/submitted.txt b/lib/plugins/popularity/lang/cy/submitted.txt new file mode 100644 index 0000000000000000000000000000000000000000..eb6fd815a7f6a1759d1ab0abd65494a0043f85d4 --- /dev/null +++ b/lib/plugins/popularity/lang/cy/submitted.txt @@ -0,0 +1,3 @@ +====== Adborth Poblogrwydd ====== + +Cafodd y data ei anfon yn llwyddiannus. diff --git a/lib/plugins/popularity/lang/ja/intro.txt b/lib/plugins/popularity/lang/ja/intro.txt index 09886f418b973af7c1035cd2816f56286cd46b08..db9a342845d40b72f3fdebf343b0c3da387ffcd8 100644 --- a/lib/plugins/popularity/lang/ja/intro.txt +++ b/lib/plugins/popularity/lang/ja/intro.txt @@ -1,6 +1,6 @@ ====== 利用状æ³èª¿æŸ» ====== -ã“ã®ãƒ„ールã¯ã€ã”利用ä¸ã®wikiã®æƒ…å ±ã‚’åŽé›†ã—ã€ãれをDokuWikiã®é–‹ç™ºè€…ã¸åŒ¿åã§é€ä¿¡ã™ã‚‹ã‚‚ã®ã§ã™ã€‚開発者ã¯ã“ã®ãƒ„ールã«ã‚ˆã‚Šã€DokuWikiãŒå®Ÿéš›ã«ã©ã®æ§˜ã«åˆ©ç”¨ã•ã‚Œã¦ã„ã‚‹ã‹ã‚’ç†è§£ã—ã€ãã—ã¦å®Ÿéš›ã®åˆ©ç”¨çŠ¶æ³ã«åŸºã¥ã„ã¦ä»Šå¾Œã®é–‹ç™ºæ–¹é‡ã®æ±ºå®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +ã“ã®[[doku>ja:popularity|ツール]]ã¯ã€ã”利用ä¸ã®wikiã®æƒ…å ±ã‚’åŽé›†ã—ã€ãれをDokuWikiã®é–‹ç™ºè€…ã¸åŒ¿åã§é€ä¿¡ã™ã‚‹ã‚‚ã®ã§ã™ã€‚開発者ã¯ã“ã®ãƒ„ールã«ã‚ˆã‚Šã€DokuWikiãŒå®Ÿéš›ã«ã©ã®æ§˜ã«åˆ©ç”¨ã•ã‚Œã¦ã„ã‚‹ã‹ã‚’ç†è§£ã—ã€ãã—ã¦å®Ÿéš›ã®åˆ©ç”¨çŠ¶æ³ã«åŸºã¥ã„ã¦ä»Šå¾Œã®é–‹ç™ºæ–¹é‡ã®æ±ºå®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ãŠä½¿ã„ã®wikiã®è¦æ¨¡ãŒå¤§ãããªã£ã¦ããŸã¨ãã¯ã€ã“ã®ã‚¹ãƒ†ãƒƒãƒ—を定期的ã«ç¹°ã‚Šè¿”ã™ã“ã¨ã‚’推奨ã—ã¦ã„ã¾ã™ã€‚ã¾ãŸã€é€ä¿¡ã•ã‚ŒãŸãƒ‡ãƒ¼ã‚¿ã¯åŒ¿åã®IDã§è˜åˆ¥ã•ã‚Œã¾ã™ã€‚ diff --git a/lib/plugins/popularity/lang/ko/intro.txt b/lib/plugins/popularity/lang/ko/intro.txt index bc9bb9dd0ec9c0faac8659c21468cbd9f2420fef..edc0f87332a3a83cf17b80f56699c6dd2a0a3a33 100644 --- a/lib/plugins/popularity/lang/ko/intro.txt +++ b/lib/plugins/popularity/lang/ko/intro.txt @@ -1,6 +1,6 @@ ====== ì¸ê¸°ë„ 조사 ====== -ì„¤ì¹˜ëœ ìœ„í‚¤ì˜ ìµëª… ì •ë³´ë¥¼ ë„ì¿ ìœ„í‚¤ 개발ìžì—게 보냅니다. ì´ [[doku>ko:popularity|ë„구]]는 ë„ì¿ ìœ„í‚¤ê°€ ì‹¤ì œ 사용ìžì—게 어떻게 사용ë˜ëŠ”지 ë„ì¿ ìœ„í‚¤ 개발ìžì—게 ì•Œë ¤ì¤Œìœ¼ë¡œì¨ ì´ í›„ 개발 ì‹œ ì°¸ê³ ê°€ ë©ë‹ˆë‹¤. +ì„¤ì¹˜ëœ ìœ„í‚¤ì˜ ìµëª… ì •ë³´ë¥¼ ë„ì¿ ìœ„í‚¤ 개발ìžì—게 보냅니다. ì´ [[doku>ko:popularity|ë„구]]는 ë„ì¿ ìœ„í‚¤ê°€ ì‹¤ì œ 사용ìžì—게 어떻게 사용ë˜ëŠ”지 ë„ì¿ ìœ„í‚¤ 개발ìžì—게 ì•Œë ¤ì¤Œìœ¼ë¡œì¨ ì´ í›„ 개발 ì‹œ 참조가 ë©ë‹ˆë‹¤. ì„¤ì¹˜ëœ ìœ„í‚¤ê°€ 커ì§ì— ë”°ë¼ì„œ ì´ ê³¼ì •ì„ ë°˜ë³µí• í•„ìš”ê°€ 있습니다. ë°˜ë³µëœ ë°ì´í„°ëŠ” ìµëª… IDë¡œ 구별ë˜ì–´ì§‘니다. diff --git a/lib/plugins/popularity/lang/lt/lang.php b/lib/plugins/popularity/lang/lt/lang.php index 88df29c50b7408b5867df74c1d56a6ad521e2159..dca350475379b025f11d63c9b3bc4cc523a7c248 100644 --- a/lib/plugins/popularity/lang/lt/lang.php +++ b/lib/plugins/popularity/lang/lt/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Lithuanian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author audrius.klevas@gmail.com * @author Arunas Vaitekunas <aras@fan.lt> */ diff --git a/lib/plugins/popularity/plugin.info.txt b/lib/plugins/popularity/plugin.info.txt index eadfffaa09d5f04e82c73ec7841c31c901abe87c..8ffc136a167220bcf73b6809e88d755298af9835 100644 --- a/lib/plugins/popularity/plugin.info.txt +++ b/lib/plugins/popularity/plugin.info.txt @@ -1,7 +1,7 @@ base popularity author Andreas Gohr email andi@splitbrain.org -date 2013-10-14 +date 2015-07-15 name Popularity Feedback Plugin desc Send anonymous data about your wiki to the DokuWiki developers url http://www.dokuwiki.org/plugin:popularity diff --git a/lib/plugins/remote.php b/lib/plugins/remote.php index a51f701fbf87e7158cbe3246c5d74934dbeb9767..47f954ee6034aa05d4b726a184ee9f9642e135e9 100644 --- a/lib/plugins/remote.php +++ b/lib/plugins/remote.php @@ -1,19 +1,30 @@ <?php +/** + * Class DokuWiki_Remote_Plugin + */ abstract class DokuWiki_Remote_Plugin extends DokuWiki_Plugin { private $api; + /** + * Constructor + */ public function __construct() { $this->api = new RemoteAPI(); } /** + * Get all available methods with remote access. + * * @abstract - * @return array Information to all provided methods. {@see RemoteAPI}. + * @return array Information about all provided methods. {@see RemoteAPI}. */ public abstract function _getMethods(); + /** + * @return RemoteAPI + */ protected function getApi() { return $this->api; } diff --git a/lib/plugins/revert/admin.php b/lib/plugins/revert/admin.php index 88d8cd93d5a6b76e6ace6fa1c647410499581e08..1a03005857b815854247979b4d02e510ecf3851a 100644 --- a/lib/plugins/revert/admin.php +++ b/lib/plugins/revert/admin.php @@ -16,7 +16,7 @@ class admin_plugin_revert extends DokuWiki_Admin_Plugin { /** * Constructor */ - function admin_plugin_revert(){ + function __construct(){ $this->setupLocale(); } @@ -64,9 +64,9 @@ class admin_plugin_revert extends DokuWiki_Admin_Plugin { global $lang, $INPUT; echo '<form action="" method="post"><div class="no">'; echo '<label>'.$this->getLang('filter').': </label>'; - echo '<input type="text" name="filter" class="edit" value="'.hsc($INPUT->str('filter')).'" />'; - echo ' <input type="submit" class="button" value="'.$lang['btn_search'].'" />'; - echo ' <span>'.$this->getLang('note1').'</span>'; + echo '<input type="text" name="filter" class="edit" value="'.hsc($INPUT->str('filter')).'" /> '; + echo '<button type="submit">'.$lang['btn_search'].'</button> '; + echo '<span>'.$this->getLang('note1').'</span>'; echo '</div></form><br /><br />'; } @@ -173,7 +173,7 @@ class admin_plugin_revert extends DokuWiki_Admin_Plugin { echo '</ul>'; echo '<p>'; - echo '<input type="submit" class="button" value="'.$this->getLang('revert').'" /> '; + echo '<button type="submit">'.$this->getLang('revert').'</button> '; printf($this->getLang('note2'),hsc($filter)); echo '</p>'; diff --git a/lib/plugins/revert/lang/ca/lang.php b/lib/plugins/revert/lang/ca/lang.php index 4f4d518ea134d45f03c04f88ec2ab9e6e484195e..e2755f8d3b879523b5b347abb0ba3a4473c3c36e 100644 --- a/lib/plugins/revert/lang/ca/lang.php +++ b/lib/plugins/revert/lang/ca/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Catalan language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Carles Bellver <carles.bellver@gmail.com> * @author carles.bellver@gmail.com * @author carles.bellver@cent.uji.es diff --git a/lib/plugins/revert/lang/cs/lang.php b/lib/plugins/revert/lang/cs/lang.php index 619a9d929af2a2f6ce057af30baefe9a25649ef1..494750d5ef5f6113ab694cd69bdffa309ea12789 100644 --- a/lib/plugins/revert/lang/cs/lang.php +++ b/lib/plugins/revert/lang/cs/lang.php @@ -19,6 +19,7 @@ * @author Radovan Buroň <radovan@buron.cz> * @author Viktor Zavadil <vzavadil@newps.cz> * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> + * @author Turkislav <turkislav@blabla.com> */ $lang['menu'] = 'Obnova zaspamovaných stránek'; $lang['filter'] = 'Hledat zaspamované stránky'; diff --git a/lib/plugins/revert/lang/cy/intro.txt b/lib/plugins/revert/lang/cy/intro.txt new file mode 100644 index 0000000000000000000000000000000000000000..0e09bab09f452b13d00ea234316e32e581138b8f --- /dev/null +++ b/lib/plugins/revert/lang/cy/intro.txt @@ -0,0 +1,3 @@ +====== Rheolwr Troi'n Ôl ====== + +Mae'r dudalen hon yn eich helpu chi i droi'n ôl yn awtomatig yn dilyn ymosodiad sbam. Er mwyn darganfod rhestr o dudalennau sbamllyd, rhowch linyn chwilio (ee. URL sbamllyd), yna cadarnhewch fod y tudalennau a ddarganfuwyd wir yn sbamllyd a throwch y golygiadau'n ôl. diff --git a/lib/plugins/revert/lang/cy/lang.php b/lib/plugins/revert/lang/cy/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..ce4f005c15130629a0fefc02bcc7eb2730aee2f4 --- /dev/null +++ b/lib/plugins/revert/lang/cy/lang.php @@ -0,0 +1,22 @@ +<?php +/** + * welsh language file + */ + +// for admin plugins, the menu prompt to be displayed in the admin menu +// if set here, the plugin doesn't need to override the getMenuText() method +$lang['menu'] = 'Rheolwr Troi\'n Ôl'; + +// custom language strings for the plugin + +$lang['filter'] = 'Chwilio tudalennau sbamllyd'; +$lang['revert'] = 'Troi tudalennau a ddewiswyd yn ôl'; +$lang['reverted'] = 'Trowyd %s yn ôl i adolygiad %s'; +$lang['removed'] = '%s wedi\'i dynnu'; +$lang['revstart'] = 'Mae\'r broses troi\'n ôl wedi dechrau. Gall hwn gymryd amser hir. Os yw\'r + sgript yn bwrw\'r terfyn amser cyn gorffen, bydd angen troi\n ôl mewn dognau llai.'; +$lang['revstop'] = 'Gwnaeth y broses troi\'n ôl gwblhau\'n llwyddiannus.'; +$lang['note1'] = 'Sylw: mae\'r chwiliad yn sensitif i nodau uwch/is'; +$lang['note2'] = 'Sylw: caiff y dudalen ei throi\'n ôl i\'r fersiwn diwethaf sy ddim yn cynnwys y term sbamllyd <i>%s</i>.'; + +//Setup VIM: ex: et ts=4 : diff --git a/lib/plugins/revert/lang/ko/lang.php b/lib/plugins/revert/lang/ko/lang.php index df4b271b1302e1f22d9cd46775fdef94b80e44ba..263537203c6ce63e6e7bc6a387095658e11fbdbf 100644 --- a/lib/plugins/revert/lang/ko/lang.php +++ b/lib/plugins/revert/lang/ko/lang.php @@ -9,13 +9,16 @@ * @author Seung-Chul Yoo <dryoo@live.com> * @author erial2@gmail.com * @author Myeongjin <aranet100@gmail.com> + * @author Erial <erial2@gmail.com> */ $lang['menu'] = 'ë˜ëŒë¦¬ê¸° 관리ìž'; $lang['filter'] = '스팸 문서 검색'; $lang['revert'] = 'ì„ íƒí•œ 문서 ë˜ëŒë¦¬ê¸°'; $lang['reverted'] = '%s íŒì„ %s íŒìœ¼ë¡œ ë˜ëŒë¦¼'; $lang['removed'] = '%s ì œê±°ë¨'; -$lang['revstart'] = 'ë˜ëŒë¦¬ê¸° ìž‘ì—…ì„ ì‹œìž‘í•©ë‹ˆë‹¤. 오랜 ì‹œê°„ì´ ê±¸ë¦´ 수 있습니다. 완료ë˜ê¸° ì „ì— ìŠ¤í¬ë¦½íŠ¸ 시간 초과가 ë°œìƒí•œë‹¤ë©´ ë” ìž‘ì€ ìž‘ì—…ìœ¼ë¡œ 나누어서 ë˜ëŒë¦¬ì‹œê¸° ë°”ëžë‹ˆë‹¤.'; +$lang['revstart'] = 'ë˜ëŒë¦¬ê¸° ìž‘ì—…ì„ ì‹œìž‘í•©ë‹ˆë‹¤. 오랜 ì‹œê°„ì´ ê±¸ë¦´ 수 있습니다. 완료ë˜ê¸° ì „ì— + 스í¬ë¦½íŠ¸ 시간 초과가 ë°œìƒí•œë‹¤ë©´ ë” ìž‘ì€ ìž‘ì—…ìœ¼ë¡œ 나누어서 + ë˜ëŒë¦¬ì‹œê¸° ë°”ëžë‹ˆë‹¤.'; $lang['revstop'] = 'ë˜ëŒë¦¬ê¸° ìž‘ì—…ì´ ì„±ê³µì 으로 ë났습니다.'; $lang['note1'] = 'ì°¸ê³ : 대소문ìžë¥¼ 구별해 찾습니다'; $lang['note2'] = 'ì°¸ê³ : 문서는 <i>%s</i> 스팸 단어를 í¬í•¨í•˜ì§€ ì•Šì€ ìµœì‹ íŒìœ¼ë¡œ ë˜ëŒë¦½ë‹ˆë‹¤.'; diff --git a/lib/plugins/revert/lang/no/lang.php b/lib/plugins/revert/lang/no/lang.php index 76da8ca9cfe65d77dd7a482feafa94bdc45a7e79..d5307c7ca0972cdcd5f36710a3e6a40acb364ada 100644 --- a/lib/plugins/revert/lang/no/lang.php +++ b/lib/plugins/revert/lang/no/lang.php @@ -20,6 +20,7 @@ * @author Boris <boris@newton-media.no> * @author Christopher Schive <chschive@frisurf.no> * @author Patrick <spill.p@hotmail.com> + * @author Danny Buckhof <daniel.raknes@hotmail.no> */ $lang['menu'] = 'Tilbakestillingsbehandler'; $lang['filter'] = 'Søk etter søppelmeldinger'; diff --git a/lib/plugins/revert/plugin.info.txt b/lib/plugins/revert/plugin.info.txt index 8d107dc3224f0c42be7288b01fcd6e1edb920812..bba939d3713ec60311ba83cf41c2dda2bb111712 100644 --- a/lib/plugins/revert/plugin.info.txt +++ b/lib/plugins/revert/plugin.info.txt @@ -1,7 +1,7 @@ base revert author Andreas Gohr email andi@splitbrain.org -date 2013-11-21 +date 2015-07-15 name Revert Manager desc Allows you to mass revert recent edits to remove Spam or vandalism url http://dokuwiki.org/plugin:revert diff --git a/lib/plugins/styling/.travis.yml b/lib/plugins/styling/.travis.yml new file mode 100644 index 0000000000000000000000000000000000000000..75ee0b152cfdd19356b7add7f6e8231a215f7677 --- /dev/null +++ b/lib/plugins/styling/.travis.yml @@ -0,0 +1,13 @@ +# Config file for travis-ci.org + +language: php +php: + - "5.5" + - "5.4" + - "5.3" +env: + - DOKUWIKI=master + - DOKUWIKI=stable +before_install: wget https://raw.github.com/splitbrain/dokuwiki-travis/master/travis.sh +install: sh travis.sh +script: cd _test && phpunit --stderr --group plugin_styling diff --git a/lib/plugins/styling/README b/lib/plugins/styling/README new file mode 100644 index 0000000000000000000000000000000000000000..a1a5e890cfa237335a96f0d07c03801592db17ef --- /dev/null +++ b/lib/plugins/styling/README @@ -0,0 +1,27 @@ +styling Plugin for DokuWiki + +Allows to edit style.ini replacements + +All documentation for this plugin can be found at +https://www.dokuwiki.org/plugin:styling + +If you install this plugin manually, make sure it is installed in +lib/plugins/styling/ - if the folder is called different it +will not work! + +Please refer to http://www.dokuwiki.org/plugins for additional info +on how to install plugins in DokuWiki. + +---- +Copyright (C) Andreas Gohr <andi@splitbrain.org> + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; version 2 of the License + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +See the COPYING file in your DokuWiki folder for details diff --git a/lib/plugins/styling/_test/general.test.php b/lib/plugins/styling/_test/general.test.php new file mode 100644 index 0000000000000000000000000000000000000000..1337f6f759e77f1d88b6a21165c2b3c60cb50030 --- /dev/null +++ b/lib/plugins/styling/_test/general.test.php @@ -0,0 +1,33 @@ +<?php +/** + * General tests for the styling plugin + * + * @group plugin_styling + * @group plugins + */ +class general_plugin_styling_test extends DokuWikiTest { + + /** + * Simple test to make sure the plugin.info.txt is in correct format + */ + public function test_plugininfo() { + $file = __DIR__.'/../plugin.info.txt'; + $this->assertFileExists($file); + + $info = confToHash($file); + + $this->assertArrayHasKey('base', $info); + $this->assertArrayHasKey('author', $info); + $this->assertArrayHasKey('email', $info); + $this->assertArrayHasKey('date', $info); + $this->assertArrayHasKey('name', $info); + $this->assertArrayHasKey('desc', $info); + $this->assertArrayHasKey('url', $info); + + $this->assertEquals('styling', $info['base']); + $this->assertRegExp('/^https?:\/\//', $info['url']); + $this->assertTrue(mail_isvalid($info['email'])); + $this->assertRegExp('/^\d\d\d\d-\d\d-\d\d$/', $info['date']); + $this->assertTrue(false !== strtotime($info['date'])); + } +} diff --git a/lib/plugins/styling/action.php b/lib/plugins/styling/action.php new file mode 100644 index 0000000000000000000000000000000000000000..896e14bef8ed60d137ea28591760688bfe30d236 --- /dev/null +++ b/lib/plugins/styling/action.php @@ -0,0 +1,60 @@ +<?php +/** + * DokuWiki Plugin styling (Action Component) + * + * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html + * @author Andreas Gohr <andi@splitbrain.org> + */ + +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +/** + * Class action_plugin_styling + * + * This handles all the save actions and loading the interface + * + * All this usually would be done within an admin plugin, but we want to have this available outside + * the admin interface using our floating dialog. + */ +class action_plugin_styling extends DokuWiki_Action_Plugin { + + /** + * Registers a callback functions + * + * @param Doku_Event_Handler $controller DokuWiki's event controller object + * @return void + */ + public function register(Doku_Event_Handler $controller) { + $controller->register_hook('TPL_METAHEADER_OUTPUT', 'BEFORE', $this, 'handle_header'); + } + + /** + * Adds the preview parameter to the stylesheet loading in non-js mode + * + * @param Doku_Event $event event object by reference + * @param mixed $param [the parameters passed as fifth argument to register_hook() when this + * handler was registered] + * @return void + */ + public function handle_header(Doku_Event &$event, $param) { + global $ACT; + global $INPUT; + if($ACT != 'admin' || $INPUT->str('page') != 'styling') return; + if(!auth_isadmin()) return; + + // set preview + $len = count($event->data['link']); + for($i = 0; $i < $len; $i++) { + if( + $event->data['link'][$i]['rel'] == 'stylesheet' && + strpos($event->data['link'][$i]['href'], 'lib/exe/css.php') !== false + ) { + $event->data['link'][$i]['href'] .= '&preview=1&tseed='.time(); + } + } + } + +} + +// vim:ts=4:sw=4:et: diff --git a/lib/plugins/styling/admin.php b/lib/plugins/styling/admin.php new file mode 100644 index 0000000000000000000000000000000000000000..c747c3130e1c1d4cc609f3c5d855db1eda451d7b --- /dev/null +++ b/lib/plugins/styling/admin.php @@ -0,0 +1,211 @@ +<?php +/** + * DokuWiki Plugin styling (Admin Component) + * + * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html + * @author Andreas Gohr <andi@splitbrain.org> + */ + +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +class admin_plugin_styling extends DokuWiki_Admin_Plugin { + + public $ispopup = false; + + /** + * @return int sort number in admin menu + */ + public function getMenuSort() { + return 1000; + } + + /** + * @return bool true if only access for superuser, false is for superusers and moderators + */ + public function forAdminOnly() { + return true; + } + + /** + * handle the different actions (also called from ajax) + */ + public function handle() { + global $INPUT; + $run = $INPUT->extract('run')->str('run'); + if(!$run) return; + $run = "run_$run"; + $this->$run(); + } + + /** + * Render HTML output, e.g. helpful text and a form + */ + public function html() { + $class = 'nopopup'; + if($this->ispopup) $class = 'ispopup page'; + + echo '<div id="plugin__styling" class="'.$class.'">'; + ptln('<h1>'.$this->getLang('menu').'</h1>'); + $this->form(); + echo '</div>'; + } + + /** + * Create the actual editing form + */ + public function form() { + global $conf; + global $ID; + define('SIMPLE_TEST', 1); // hack, ideally certain functions should be moved out of css.php + require_once(DOKU_INC.'lib/exe/css.php'); + $styleini = css_styleini($conf['template'], true); + $replacements = $styleini['replacements']; + + if($this->ispopup) { + $target = DOKU_BASE.'lib/plugins/styling/popup.php'; + } else { + $target = wl($ID, array('do' => 'admin', 'page' => 'styling')); + } + + if(empty($replacements)) { + echo '<p class="error">'.$this->getLang('error').'</p>'; + } else { + echo $this->locale_xhtml('intro'); + + echo '<form class="styling" method="post" action="'.$target.'">'; + + echo '<table><tbody>'; + foreach($replacements as $key => $value) { + $name = tpl_getLang($key); + if(empty($name)) $name = $this->getLang($key); + if(empty($name)) $name = $key; + + echo '<tr>'; + echo '<td><label for="tpl__'.hsc($key).'">'.$name.'</label></td>'; + echo '<td><input type="text" name="tpl['.hsc($key).']" id="tpl__'.hsc($key).'" value="'.hsc($value).'" '.$this->colorClass($key).' dir="ltr" /></td>'; + echo '</tr>'; + } + echo '</tbody></table>'; + + echo '<p>'; + echo '<button type="submit" name="run[preview]" class="btn_preview primary">'.$this->getLang('btn_preview').'</button> '; + echo '<button type="submit" name="run[reset]">'.$this->getLang('btn_reset').'</button>'; #FIXME only if preview.ini exists + echo '</p>'; + + echo '<p>'; + echo '<button type="submit" name="run[save]" class="primary">'.$this->getLang('btn_save').'</button>'; + echo '</p>'; + + echo '<p>'; + echo '<button type="submit" name="run[revert]">'.$this->getLang('btn_revert').'</button>'; #FIXME only if local.ini exists + echo '</p>'; + + echo '</form>'; + + echo tpl_locale_xhtml('style'); + + } + } + + /** + * set the color class attribute + */ + protected function colorClass($key) { + static $colors = array( + 'text', + 'background', + 'text_alt', + 'background_alt', + 'text_neu', + 'background_neu', + 'border', + 'highlight', + 'background_site', + 'link', + 'existing', + 'missing', + ); + + if(preg_match('/colou?r/', $key) || in_array(trim($key,'_'), $colors)) { + return 'class="color"'; + } else { + return ''; + } + } + + /** + * saves the preview.ini (alos called from ajax directly) + */ + public function run_preview() { + global $conf; + $ini = $conf['cachedir'].'/preview.ini'; + io_saveFile($ini, $this->makeini()); + } + + /** + * deletes the preview.ini + */ + protected function run_reset() { + global $conf; + $ini = $conf['cachedir'].'/preview.ini'; + io_saveFile($ini, ''); + } + + /** + * deletes the local style.ini replacements + */ + protected function run_revert() { + $this->replaceini(''); + $this->run_reset(); + } + + /** + * save the local style.ini replacements + */ + protected function run_save() { + $this->replaceini($this->makeini()); + $this->run_reset(); + } + + /** + * create the replacement part of a style.ini from submitted data + * + * @return string + */ + protected function makeini() { + global $INPUT; + + $ini = "[replacements]\n"; + $ini .= ";These overwrites have been generated from the Template styling Admin interface\n"; + $ini .= ";Any values in this section will be overwritten by that tool again\n"; + foreach($INPUT->arr('tpl') as $key => $val) { + $ini .= $key.' = "'.addslashes($val).'"'."\n"; + } + + return $ini; + } + + /** + * replaces the replacement parts in the local ini + * + * @param string $new the new ini contents + */ + protected function replaceini($new) { + global $conf; + $ini = DOKU_CONF."tpl/".$conf['template']."/style.ini"; + if(file_exists($ini)) { + $old = io_readFile($ini); + $old = preg_replace('/\[replacements\]\n.*?(\n\[.*]|$)/s', '\\1', $old); + $old = trim($old); + } else { + $old = ''; + } + + io_makeFileDir($ini); + io_saveFile($ini, "$old\n\n$new"); + } + +} + +// vim:ts=4:sw=4:et: diff --git a/lib/plugins/styling/iris.js b/lib/plugins/styling/iris.js new file mode 100644 index 0000000000000000000000000000000000000000..4eda5022e3577ec57b448dc0e97e8ab2be6186d4 --- /dev/null +++ b/lib/plugins/styling/iris.js @@ -0,0 +1,1488 @@ +/*! Iris Color Picker - v1.0.7 - 2014-11-28 +* https://github.com/Automattic/Iris +* Copyright (c) 2014 Matt Wiebe; Licensed GPLv2 */ +(function( $, undef ){ + var _html, nonGradientIE, gradientType, vendorPrefixes, _css, Iris, UA, isIE, IEVersion; + + _html = '<div class="iris-picker"><div class="iris-picker-inner"><div class="iris-square"><a class="iris-square-value" href="#"><span class="iris-square-handle ui-slider-handle"></span></a><div class="iris-square-inner iris-square-horiz"></div><div class="iris-square-inner iris-square-vert"></div></div><div class="iris-slider iris-strip"><div class="iris-slider-offset"></div></div></div></div>'; + _css = '.iris-picker{display:block;position:relative}.iris-picker,.iris-picker *{-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input+.iris-picker{margin-top:4px}.iris-error{background-color:#ffafaf}.iris-border{border-radius:3px;border:1px solid #aaa;width:200px;background-color:#fff}.iris-picker-inner{position:absolute;top:0;right:0;left:0;bottom:0}.iris-border .iris-picker-inner{top:10px;right:10px;left:10px;bottom:10px}.iris-picker .iris-square-inner{position:absolute;left:0;right:0;top:0;bottom:0}.iris-picker .iris-square,.iris-picker .iris-slider,.iris-picker .iris-square-inner,.iris-picker .iris-palette{border-radius:3px;box-shadow:inset 0 0 5px rgba(0,0,0,.4);height:100%;width:12.5%;float:left;margin-right:5%}.iris-picker .iris-square{width:76%;margin-right:10%;position:relative}.iris-picker .iris-square-inner{width:auto;margin:0}.iris-ie-9 .iris-square,.iris-ie-9 .iris-slider,.iris-ie-9 .iris-square-inner,.iris-ie-9 .iris-palette{box-shadow:none;border-radius:0}.iris-ie-9 .iris-square,.iris-ie-9 .iris-slider,.iris-ie-9 .iris-palette{outline:1px solid rgba(0,0,0,.1)}.iris-ie-lt9 .iris-square,.iris-ie-lt9 .iris-slider,.iris-ie-lt9 .iris-square-inner,.iris-ie-lt9 .iris-palette{outline:1px solid #aaa}.iris-ie-lt9 .iris-square .ui-slider-handle{outline:1px solid #aaa;background-color:#fff;-ms-filter:"alpha(Opacity=30)"}.iris-ie-lt9 .iris-square .iris-square-handle{background:0;border:3px solid #fff;-ms-filter:"alpha(Opacity=50)"}.iris-picker .iris-strip{margin-right:0;position:relative}.iris-picker .iris-strip .ui-slider-handle{position:absolute;background:0;margin:0;right:-3px;left:-3px;border:4px solid #aaa;border-width:4px 3px;width:auto;height:6px;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.2);opacity:.9;z-index:5;cursor:ns-resize}.iris-strip .ui-slider-handle:before{content:" ";position:absolute;left:-2px;right:-2px;top:-3px;bottom:-3px;border:2px solid #fff;border-radius:3px}.iris-picker .iris-slider-offset{position:absolute;top:11px;left:0;right:0;bottom:-3px;width:auto;height:auto;background:transparent;border:0;border-radius:0}.iris-picker .iris-square-handle{background:transparent;border:5px solid #aaa;border-radius:50%;border-color:rgba(128,128,128,.5);box-shadow:none;width:12px;height:12px;position:absolute;left:-10px;top:-10px;cursor:move;opacity:1;z-index:10}.iris-picker .ui-state-focus .iris-square-handle{opacity:.8}.iris-picker .iris-square-handle:hover{border-color:#999}.iris-picker .iris-square-value:focus .iris-square-handle{box-shadow:0 0 2px rgba(0,0,0,.75);opacity:.8}.iris-picker .iris-square-handle:hover::after{border-color:#fff}.iris-picker .iris-square-handle::after{position:absolute;bottom:-4px;right:-4px;left:-4px;top:-4px;border:3px solid #f9f9f9;border-color:rgba(255,255,255,.8);border-radius:50%;content:" "}.iris-picker .iris-square-value{width:8px;height:8px;position:absolute}.iris-ie-lt9 .iris-square-value,.iris-mozilla .iris-square-value{width:1px;height:1px}.iris-palette-container{position:absolute;bottom:0;left:0;margin:0;padding:0}.iris-border .iris-palette-container{left:10px;bottom:10px}.iris-picker .iris-palette{margin:0;cursor:pointer}.iris-square-handle,.ui-slider-handle{border:0;outline:0}'; + + // Even IE9 dosen't support gradients. Elaborate sigh. + UA = navigator.userAgent.toLowerCase(); + isIE = navigator.appName === 'Microsoft Internet Explorer'; + IEVersion = isIE ? parseFloat( UA.match( /msie ([0-9]{1,}[\.0-9]{0,})/ )[1] ) : 0; + nonGradientIE = ( isIE && IEVersion < 10 ); + gradientType = false; + + // we don't bother with an unprefixed version, as it has a different syntax + vendorPrefixes = [ '-moz-', '-webkit-', '-o-', '-ms-' ]; + + // Bail for IE <= 7 + if ( nonGradientIE && IEVersion <= 7 ) { + $.fn.iris = $.noop; + $.support.iris = false; + return; + } + + $.support.iris = true; + + function testGradientType() { + var el, base, + bgImageString = 'backgroundImage'; + + if ( nonGradientIE ) { + gradientType = 'filter'; + } + else { + el = $( '<div id="iris-gradtest" />' ); + base = 'linear-gradient(top,#fff,#000)'; + $.each( vendorPrefixes, function( i, val ){ + el.css( bgImageString, val + base ); + if ( el.css( bgImageString ).match( 'gradient' ) ) { + gradientType = i; + return false; + } + }); + // check for legacy webkit gradient syntax + if ( gradientType === false ) { + el.css( 'background', '-webkit-gradient(linear,0% 0%,0% 100%,from(#fff),to(#000))' ); + if ( el.css( bgImageString ).match( 'gradient' ) ) { + gradientType = 'webkit'; + } + } + el.remove(); + } + + } + + /** + * Only for CSS3 gradients. oldIE will use a separate function. + * + * Accepts as many color stops as necessary from 2nd arg on, or 2nd + * arg can be an array of color stops + * + * @param {string} origin Gradient origin - top or left, defaults to left. + * @return {string} Appropriate CSS3 gradient string for use in + */ + function createGradient( origin, stops ) { + origin = ( origin === 'top' ) ? 'top' : 'left'; + stops = $.isArray( stops ) ? stops : Array.prototype.slice.call( arguments, 1 ); + if ( gradientType === 'webkit' ) { + return legacyWebkitGradient( origin, stops ); + } else { + return vendorPrefixes[ gradientType ] + 'linear-gradient(' + origin + ', ' + stops.join(', ') + ')'; + } + } + + /** + * Stupid gradients for a stupid browser. + */ + function stupidIEGradient( origin, stops ) { + var type, self, lastIndex, filter, startPosProp, endPosProp, dimensionProp, template, html; + + origin = ( origin === 'top' ) ? 'top' : 'left'; + stops = $.isArray( stops ) ? stops : Array.prototype.slice.call( arguments, 1 ); + // 8 hex: AARRGGBB + // GradientType: 0 vertical, 1 horizontal + type = ( origin === 'top' ) ? 0 : 1; + self = $( this ); + lastIndex = stops.length - 1; + filter = 'filter'; + startPosProp = ( type === 1 ) ? 'left' : 'top'; + endPosProp = ( type === 1 ) ? 'right' : 'bottom'; + dimensionProp = ( type === 1 ) ? 'height' : 'width'; + template = '<div class="iris-ie-gradient-shim" style="position:absolute;' + dimensionProp + ':100%;' + startPosProp + ':%start%;' + endPosProp + ':%end%;' + filter + ':%filter%;" data-color:"%color%"></div>'; + html = ''; + // need a positioning context + if ( self.css('position') === 'static' ) { + self.css( {position: 'relative' } ); + } + + stops = fillColorStops( stops ); + $.each(stops, function( i, startColor ) { + var endColor, endStop, filterVal; + + // we want two at a time. if we're on the last pair, bail. + if ( i === lastIndex ) { + return false; + } + + endColor = stops[ i + 1 ]; + //if our pairs are at the same color stop, moving along. + if ( startColor.stop === endColor.stop ) { + return; + } + + endStop = 100 - parseFloat( endColor.stop ) + '%'; + startColor.octoHex = new Color( startColor.color ).toIEOctoHex(); + endColor.octoHex = new Color( endColor.color ).toIEOctoHex(); + + filterVal = 'progid:DXImageTransform.Microsoft.Gradient(GradientType=' + type + ', StartColorStr=\'' + startColor.octoHex + '\', EndColorStr=\'' + endColor.octoHex + '\')'; + html += template.replace( '%start%', startColor.stop ).replace( '%end%', endStop ).replace( '%filter%', filterVal ); + }); + self.find( '.iris-ie-gradient-shim' ).remove(); + $( html ).prependTo( self ); + } + + function legacyWebkitGradient( origin, colorList ) { + var stops = []; + origin = ( origin === 'top' ) ? '0% 0%,0% 100%,' : '0% 100%,100% 100%,'; + colorList = fillColorStops( colorList ); + $.each( colorList, function( i, val ){ + stops.push( 'color-stop(' + ( parseFloat( val.stop ) / 100 ) + ', ' + val.color + ')' ); + }); + return '-webkit-gradient(linear,' + origin + stops.join(',') + ')'; + } + + function fillColorStops( colorList ) { + var colors = [], + percs = [], + newColorList = [], + lastIndex = colorList.length - 1; + + $.each( colorList, function( index, val ) { + var color = val, + perc = false, + match = val.match( /1?[0-9]{1,2}%$/ ); + + if ( match ) { + color = val.replace( /\s?1?[0-9]{1,2}%$/, '' ); + perc = match.shift(); + } + colors.push( color ); + percs.push( perc ); + }); + + // back fill first and last + if ( percs[0] === false ) { + percs[0] = '0%'; + } + + if ( percs[lastIndex] === false ) { + percs[lastIndex] = '100%'; + } + + percs = backFillColorStops( percs ); + + $.each( percs, function( i ){ + newColorList[i] = { color: colors[i], stop: percs[i] }; + }); + return newColorList; + } + + function backFillColorStops( stops ) { + var first = 0, + last = stops.length - 1, + i = 0, + foundFirst = false, + incr, + steps, + step, + firstVal; + + if ( stops.length <= 2 || $.inArray( false, stops ) < 0 ) { + return stops; + } + while ( i < stops.length - 1 ) { + if ( ! foundFirst && stops[i] === false ) { + first = i - 1; + foundFirst = true; + } else if ( foundFirst && stops[i] !== false ) { + last = i; + i = stops.length; + } + i++; + } + steps = last - first; + firstVal = parseInt( stops[first].replace('%'), 10 ); + incr = ( parseFloat( stops[last].replace('%') ) - firstVal ) / steps; + i = first + 1; + step = 1; + while ( i < last ) { + stops[i] = ( firstVal + ( step * incr ) ) + '%'; + step++; + i++; + } + return backFillColorStops( stops ); + } + + $.fn.gradient = function() { + var args = arguments; + return this.each( function() { + // this'll be oldishIE + if ( nonGradientIE ) { + stupidIEGradient.apply( this, args ); + } else { + // new hotness + $( this ).css( 'backgroundImage', createGradient.apply( this, args ) ); + } + }); + }; + + $.fn.raninbowGradient = function( origin, args ) { + var opts, template, i, steps; + + origin = origin || 'top'; + opts = $.extend( {}, { s: 100, l: 50 }, args ); + template = 'hsl(%h%,' + opts.s + '%,' + opts.l + '%)'; + i = 0; + steps = []; + while ( i <= 360 ) { + steps.push( template.replace('%h%', i) ); + i += 30; + } + return this.each(function() { + $(this).gradient( origin, steps ); + }); + }; + + // the colorpicker widget def. + Iris = { + options: { + color: false, + mode: 'hsl', + controls: { + horiz: 's', // horizontal defaults to saturation + vert: 'l', // vertical defaults to lightness + strip: 'h' // right strip defaults to hue + }, + hide: true, // hide the color picker by default + border: true, // draw a border around the collection of UI elements + target: false, // a DOM element / jQuery selector that the element will be appended within. Only used when called on an input. + width: 200, // the width of the collection of UI elements + palettes: false // show a palette of basic colors beneath the square. + }, + _color: '', + _palettes: [ '#000', '#fff', '#d33', '#d93', '#ee2', '#81d742', '#1e73be', '#8224e3' ], + _inited: false, + _defaultHSLControls: { + horiz: 's', + vert: 'l', + strip: 'h' + }, + _defaultHSVControls: { + horiz: 'h', + vert: 'v', + strip: 's' + }, + _scale: { + h: 360, + s: 100, + l: 100, + v: 100 + }, + _create: function() { + var self = this, + el = self.element, + color = self.options.color || el.val(); + + if ( gradientType === false ) { + testGradientType(); + } + + if ( el.is( 'input' ) ) { + if ( self.options.target ) { + self.picker = $( _html ).appendTo( self.options.target ); + } else { + self.picker = $( _html ).insertAfter( el ); + } + + self._addInputListeners( el ); + } else { + el.append( _html ); + self.picker = el.find( '.iris-picker' ); + } + + // Browsers / Versions + // Feature detection doesn't work for these, and $.browser is deprecated + if ( isIE ) { + if ( IEVersion === 9 ) { + self.picker.addClass( 'iris-ie-9' ); + } else if ( IEVersion <= 8 ) { + self.picker.addClass( 'iris-ie-lt9' ); + } + } else if ( UA.indexOf('compatible') < 0 && UA.indexOf('khtml') < 0 && UA.match( /mozilla/ ) ) { + self.picker.addClass( 'iris-mozilla' ); + } + + if ( self.options.palettes ) { + self._addPalettes(); + } + + self._color = new Color( color ).setHSpace( self.options.mode ); + self.options.color = self._color.toString(); + + // prep 'em for re-use + self.controls = { + square: self.picker.find( '.iris-square' ), + squareDrag: self.picker.find( '.iris-square-value' ), + horiz: self.picker.find( '.iris-square-horiz' ), + vert: self.picker.find( '.iris-square-vert' ), + strip: self.picker.find( '.iris-strip' ), + stripSlider: self.picker.find( '.iris-strip .iris-slider-offset' ) + }; + + // small sanity check - if we chose hsv, change default controls away from hsl + if ( self.options.mode === 'hsv' && self._has('l', self.options.controls) ) { + self.options.controls = self._defaultHSVControls; + } else if ( self.options.mode === 'hsl' && self._has('v', self.options.controls) ) { + self.options.controls = self._defaultHSLControls; + } + + // store it. HSL gets squirrely + self.hue = self._color.h(); + + if ( self.options.hide ) { + self.picker.hide(); + } + + if ( self.options.border ) { + self.picker.addClass( 'iris-border' ); + } + + self._initControls(); + self.active = 'external'; + self._dimensions(); + self._change(); + }, + _has: function(needle, haystack) { + var ret = false; + $.each(haystack, function(i,v){ + if ( needle === v ) { + ret = true; + // exit the loop + return false; + } + }); + return ret; + }, + _addPalettes: function () { + var container = $( '<div class="iris-palette-container" />' ), + palette = $( '<a class="iris-palette" tabindex="0" />' ), + colors = $.isArray( this.options.palettes ) ? this.options.palettes : this._palettes; + + // do we have an existing container? Empty and reuse it. + if ( this.picker.find( '.iris-palette-container' ).length ) { + container = this.picker.find( '.iris-palette-container' ).detach().html( '' ); + } + + $.each(colors, function(index, val) { + palette.clone().data( 'color', val ) + .css( 'backgroundColor', val ).appendTo( container ) + .height( 10 ).width( 10 ); + }); + + this.picker.append(container); + }, + _paint: function() { + var self = this; + self._paintDimension( 'top', 'strip' ); + self._paintDimension( 'top', 'vert' ); + self._paintDimension( 'left', 'horiz' ); + }, + _paintDimension: function( origin, control ) { + var self = this, + c = self._color, + mode = self.options.mode, + color = self._getHSpaceColor(), + target = self.controls[ control ], + controlOpts = self.options.controls, + stops; + + // don't paint the active control + if ( control === self.active || ( self.active === 'square' && control !== 'strip' ) ) { + return; + } + + switch ( controlOpts[ control ] ) { + case 'h': + if ( mode === 'hsv' ) { + color = c.clone(); + switch ( control ) { + case 'horiz': + color[controlOpts.vert](100); + break; + case 'vert': + color[controlOpts.horiz](100); + break; + case 'strip': + color.setHSpace('hsl'); + break; + } + stops = color.toHsl(); + } else { + if ( control === 'strip' ) { + stops = { s: color.s, l: color.l }; + } else { + stops = { s: 100, l: color.l }; + } + } + + target.raninbowGradient( origin, stops ); + break; + case 's': + if ( mode === 'hsv' ) { + if ( control === 'vert' ) { + stops = [ c.clone().a(0).s(0).toCSS('rgba'), c.clone().a(1).s(0).toCSS('rgba') ]; + } else if ( control === 'strip' ) { + stops = [ c.clone().s(100).toCSS('hsl'), c.clone().s(0).toCSS('hsl') ]; + } else if ( control === 'horiz' ) { + stops = [ '#fff', 'hsl(' + color.h + ',100%,50%)' ]; + } + } else { // implicit mode === 'hsl' + if ( control === 'vert' && self.options.controls.horiz === 'h' ) { + stops = ['hsla(0, 0%, ' + color.l + '%, 0)', 'hsla(0, 0%, ' + color.l + '%, 1)']; + } else { + stops = ['hsl('+ color.h +',0%,50%)', 'hsl(' + color.h + ',100%,50%)']; + } + } + + + target.gradient( origin, stops ); + break; + case 'l': + if ( control === 'strip' ) { + stops = ['hsl(' + color.h + ',100%,100%)', 'hsl(' + color.h + ', ' + color.s + '%,50%)', 'hsl('+ color.h +',100%,0%)']; + } else { + stops = ['#fff', 'rgba(255,255,255,0) 50%', 'rgba(0,0,0,0) 50%', 'rgba(0,0,0,1)']; + } + target.gradient( origin, stops ); + break; + case 'v': + if ( control === 'strip' ) { + stops = [ c.clone().v(100).toCSS(), c.clone().v(0).toCSS() ]; + } else { + stops = ['rgba(0,0,0,0)', '#000']; + } + target.gradient( origin, stops ); + break; + default: + break; + } + }, + + _getHSpaceColor: function() { + return ( this.options.mode === 'hsv' ) ? this._color.toHsv() : this._color.toHsl(); + }, + + _dimensions: function( reset ) { + // whatever size + var self = this, + opts = self.options, + controls = self.controls, + square = controls.square, + strip = self.picker.find( '.iris-strip' ), + squareWidth = '77.5%', + stripWidth = '12%', + totalPadding = 20, + innerWidth = opts.border ? opts.width - totalPadding : opts.width, + controlsHeight, + paletteCount = $.isArray( opts.palettes ) ? opts.palettes.length : self._palettes.length, + paletteMargin, paletteWidth, paletteContainerWidth; + + if ( reset ) { + square.css( 'width', '' ); + strip.css( 'width', '' ); + self.picker.css( {width: '', height: ''} ); + } + + squareWidth = innerWidth * ( parseFloat( squareWidth ) / 100 ); + stripWidth = innerWidth * ( parseFloat( stripWidth ) / 100 ); + controlsHeight = opts.border ? squareWidth + totalPadding : squareWidth; + + square.width( squareWidth ).height( squareWidth ); + strip.height( squareWidth ).width( stripWidth ); + self.picker.css( { width: opts.width, height: controlsHeight } ); + + if ( ! opts.palettes ) { + return self.picker.css( 'paddingBottom', '' ); + } + + // single margin at 2% + paletteMargin = squareWidth * 2 / 100; + paletteContainerWidth = squareWidth - ( ( paletteCount - 1 ) * paletteMargin ); + paletteWidth = paletteContainerWidth / paletteCount; + self.picker.find('.iris-palette').each( function( i ) { + var margin = i === 0 ? 0 : paletteMargin; + $( this ).css({ + width: paletteWidth, + height: paletteWidth, + marginLeft: margin + }); + }); + self.picker.css( 'paddingBottom', paletteWidth + paletteMargin ); + strip.height( paletteWidth + paletteMargin + squareWidth ); + }, + + _addInputListeners: function( input ) { + var self = this, + debounceTimeout = 100, + callback = function( event ){ + var color = new Color( input.val() ), + val = input.val().replace( /^#/, '' ); + + input.removeClass( 'iris-error' ); + // we gave a bad color + if ( color.error ) { + // don't error on an empty input - we want those allowed + if ( val !== '' ) { + input.addClass( 'iris-error' ); + } + } else { + if ( color.toString() !== self._color.toString() ) { + // let's not do this on keyup for hex shortcodes + if ( ! ( event.type === 'keyup' && val.match( /^[0-9a-fA-F]{3}$/ ) ) ) { + self._setOption( 'color', color.toString() ); + } + } + } + }; + + input.on( 'change', callback ).on( 'keyup', self._debounce( callback, debounceTimeout ) ); + + // If we initialized hidden, show on first focus. The rest is up to you. + if ( self.options.hide ) { + input.one( 'focus', function() { + self.show(); + }); + } + }, + + _initControls: function() { + var self = this, + controls = self.controls, + square = controls.square, + controlOpts = self.options.controls, + stripScale = self._scale[controlOpts.strip]; + + controls.stripSlider.slider({ + orientation: 'vertical', + max: stripScale, + slide: function( event, ui ) { + self.active = 'strip'; + // "reverse" for hue. + if ( controlOpts.strip === 'h' ) { + ui.value = stripScale - ui.value; + } + + self._color[controlOpts.strip]( ui.value ); + self._change.apply( self, arguments ); + } + }); + + controls.squareDrag.draggable({ + containment: controls.square.find( '.iris-square-inner' ), + zIndex: 1000, + cursor: 'move', + drag: function( event, ui ) { + self._squareDrag( event, ui ); + }, + start: function() { + square.addClass( 'iris-dragging' ); + $(this).addClass( 'ui-state-focus' ); + }, + stop: function() { + square.removeClass( 'iris-dragging' ); + $(this).removeClass( 'ui-state-focus' ); + } + }).on( 'mousedown mouseup', function( event ) { + var focusClass = 'ui-state-focus'; + event.preventDefault(); + if (event.type === 'mousedown' ) { + self.picker.find( '.' + focusClass ).removeClass( focusClass ).blur(); + $(this).addClass( focusClass ).focus(); + } else { + $(this).removeClass( focusClass ); + } + }).on( 'keydown', function( event ) { + var container = controls.square, + draggable = controls.squareDrag, + position = draggable.position(), + distance = self.options.width / 100; // Distance in pixels the draggable should be moved: 1 "stop" + + // make alt key go "10" + if ( event.altKey ) { + distance *= 10; + } + + // Reposition if one of the directional keys is pressed + switch ( event.keyCode ) { + case 37: position.left -= distance; break; // Left + case 38: position.top -= distance; break; // Up + case 39: position.left += distance; break; // Right + case 40: position.top += distance; break; // Down + default: return true; // Exit and bubble + } + + // Keep draggable within container + position.left = Math.max( 0, Math.min( position.left, container.width() ) ); + position.top = Math.max( 0, Math.min( position.top, container.height() ) ); + + draggable.css(position); + self._squareDrag( event, { position: position }); + event.preventDefault(); + }); + + // allow clicking on the square to move there and keep dragging + square.mousedown( function( event ) { + var squareOffset, pos; + // only left click + if ( event.which !== 1 ) { + return; + } + + // prevent bubbling from the handle: no infinite loops + if ( ! $( event.target ).is( 'div' ) ) { + return; + } + + squareOffset = self.controls.square.offset(); + pos = { + top: event.pageY - squareOffset.top, + left: event.pageX - squareOffset.left + }; + event.preventDefault(); + self._squareDrag( event, { position: pos } ); + event.target = self.controls.squareDrag.get(0); + self.controls.squareDrag.css( pos ).trigger( event ); + }); + + // palettes + if ( self.options.palettes ) { + self._paletteListeners(); + } + }, + + _paletteListeners: function() { + var self = this; + self.picker.find('.iris-palette-container').on('click.palette', '.iris-palette', function() { + self._color.fromCSS( $(this).data('color') ); + self.active = 'external'; + self._change(); + }).on( 'keydown.palette', '.iris-palette', function( event ) { + if ( ! ( event.keyCode === 13 || event.keyCode === 32 ) ) { + return true; + } + event.stopPropagation(); + $( this ).click(); + }); + }, + + _squareDrag: function( event, ui ) { + var self = this, + controlOpts = self.options.controls, + dimensions = self._squareDimensions(), + vertVal = Math.round( ( dimensions.h - ui.position.top ) / dimensions.h * self._scale[controlOpts.vert] ), + horizVal = self._scale[controlOpts.horiz] - Math.round( ( dimensions.w - ui.position.left ) / dimensions.w * self._scale[controlOpts.horiz] ); + + self._color[controlOpts.horiz]( horizVal )[controlOpts.vert]( vertVal ); + + self.active = 'square'; + self._change.apply( self, arguments ); + }, + + _setOption: function( key, value ) { + var self = this, + oldValue = self.options[key], + doDimensions = false, + hexLessColor, + newColor, + method; + + // ensure the new value is set. We can reset to oldValue if some check wasn't met. + self.options[key] = value; + + switch(key) { + case 'color': + // cast to string in case we have a number + value = '' + value; + hexLessColor = value.replace( /^#/, '' ); + newColor = new Color( value ).setHSpace( self.options.mode ); + if ( newColor.error ) { + self.options[key] = oldValue; + } else { + self._color = newColor; + self.options.color = self.options[key] = self._color.toString(); + self.active = 'external'; + self._change(); + } + break; + case 'palettes': + doDimensions = true; + + if ( value ) { + self._addPalettes(); + } else { + self.picker.find('.iris-palette-container').remove(); + } + + // do we need to add events? + if ( ! oldValue ) { + self._paletteListeners(); + } + break; + case 'width': + doDimensions = true; + break; + case 'border': + doDimensions = true; + method = value ? 'addClass' : 'removeClass'; + self.picker[method]('iris-border'); + break; + case 'mode': + case 'controls': + // if nothing's changed, let's bail, since this causes re-rendering the whole widget + if ( oldValue === value ) { + return; + } + + // we're using these poorly named variables because they're already scoped. + // method is the element that Iris was called on. oldValue will be the options + method = self.element; + oldValue = self.options; + oldValue.hide = ! self.picker.is( ':visible' ); + self.destroy(); + self.picker.remove(); + return $(self.element).iris(oldValue); + } + + // Do we need to recalc dimensions? + if ( doDimensions ) { + self._dimensions(true); + } + }, + + _squareDimensions: function( forceRefresh ) { + var square = this.controls.square, + dimensions, + control; + + if ( forceRefresh !== undef && square.data('dimensions') ) { + return square.data('dimensions'); + } + + control = this.controls.squareDrag; + dimensions = { + w: square.width(), + h: square.height() + }; + square.data( 'dimensions', dimensions ); + return dimensions; + }, + + _isNonHueControl: function( active, type ) { + if ( active === 'square' && this.options.controls.strip === 'h' ) { + return true; + } else if ( type === 'external' || ( type === 'h' && active === 'strip' ) ) { + return false; + } + + return true; + }, + + _change: function() { + var self = this, + controls = self.controls, + color = self._getHSpaceColor(), + actions = [ 'square', 'strip' ], + controlOpts = self.options.controls, + type = controlOpts[self.active] || 'external', + oldHue = self.hue; + + if ( self.active === 'strip' ) { + // take no action on any of the square sliders if we adjusted the strip + actions = []; + } else if ( self.active !== 'external' ) { + // for non-strip, non-external, strip should never change + actions.pop(); // conveniently the last item + } + + $.each( actions, function(index, item) { + var value, dimensions, cssObj; + if ( item !== self.active ) { + switch ( item ) { + case 'strip': + // reverse for hue + value = ( controlOpts.strip === 'h' ) ? self._scale[controlOpts.strip] - color[controlOpts.strip] : color[controlOpts.strip]; + controls.stripSlider.slider( 'value', value ); + break; + case 'square': + dimensions = self._squareDimensions(); + cssObj = { + left: color[controlOpts.horiz] / self._scale[controlOpts.horiz] * dimensions.w, + top: dimensions.h - ( color[controlOpts.vert] / self._scale[controlOpts.vert] * dimensions.h ) + }; + + self.controls.squareDrag.css( cssObj ); + break; + } + } + }); + + // Ensure that we don't change hue if we triggered a hue reset + if ( color.h !== oldHue && self._isNonHueControl( self.active, type ) ) { + self._color.h(oldHue); + } + + // store hue for repeating above check next time + self.hue = self._color.h(); + + self.options.color = self._color.toString(); + + // only run after the first time + if ( self._inited ) { + self._trigger( 'change', { type: self.active }, { color: self._color } ); + } + + if ( self.element.is( ':input' ) && ! self._color.error ) { + self.element.removeClass( 'iris-error' ); + if ( self.element.val() !== self._color.toString() ) { + self.element.val( self._color.toString() ); + } + } + + self._paint(); + self._inited = true; + self.active = false; + }, + // taken from underscore.js _.debounce method + _debounce: function( func, wait, immediate ) { + var timeout, result; + return function() { + var context = this, + args = arguments, + later, + callNow; + + later = function() { + timeout = null; + if ( ! immediate) { + result = func.apply( context, args ); + } + }; + + callNow = immediate && !timeout; + clearTimeout( timeout ); + timeout = setTimeout( later, wait ); + if ( callNow ) { + result = func.apply( context, args ); + } + return result; + }; + }, + show: function() { + this.picker.show(); + }, + hide: function() { + this.picker.hide(); + }, + toggle: function() { + this.picker.toggle(); + }, + color: function(newColor) { + if ( newColor === true ) { + return this._color.clone(); + } else if ( newColor === undef ) { + return this._color.toString(); + } + this.option('color', newColor); + } + }; + // initialize the widget + $.widget( 'a8c.iris', Iris ); + // add CSS + $( '<style id="iris-css">' + _css + '</style>' ).appendTo( 'head' ); + +}( jQuery )); +/*! Color.js - v0.9.11 - 2013-08-09 +* https://github.com/Automattic/Color.js +* Copyright (c) 2013 Matt Wiebe; Licensed GPLv2 */ +(function(global, undef) { + + var Color = function( color, type ) { + if ( ! ( this instanceof Color ) ) + return new Color( color, type ); + + return this._init( color, type ); + }; + + Color.fn = Color.prototype = { + _color: 0, + _alpha: 1, + error: false, + // for preserving hue/sat in fromHsl().toHsl() flows + _hsl: { h: 0, s: 0, l: 0 }, + // for preserving hue/sat in fromHsv().toHsv() flows + _hsv: { h: 0, s: 0, v: 0 }, + // for setting hsl or hsv space - needed for .h() & .s() functions to function properly + _hSpace: 'hsl', + _init: function( color ) { + var func = 'noop'; + switch ( typeof color ) { + case 'object': + // alpha? + if ( color.a !== undef ) + this.a( color.a ); + func = ( color.r !== undef ) ? 'fromRgb' : + ( color.l !== undef ) ? 'fromHsl' : + ( color.v !== undef ) ? 'fromHsv' : func; + return this[func]( color ); + case 'string': + return this.fromCSS( color ); + case 'number': + return this.fromInt( parseInt( color, 10 ) ); + } + return this; + }, + + _error: function() { + this.error = true; + return this; + }, + + clone: function() { + var newColor = new Color( this.toInt() ), + copy = ['_alpha', '_hSpace', '_hsl', '_hsv', 'error']; + for ( var i = copy.length - 1; i >= 0; i-- ) { + newColor[ copy[i] ] = this[ copy[i] ]; + } + return newColor; + }, + + setHSpace: function( space ) { + this._hSpace = ( space === 'hsv' ) ? space : 'hsl'; + return this; + }, + + noop: function() { + return this; + }, + + fromCSS: function( color ) { + var list, + leadingRE = /^(rgb|hs(l|v))a?\(/; + this.error = false; + + // whitespace and semicolon trim + color = color.replace(/^\s+/, '').replace(/\s+$/, '').replace(/;$/, ''); + + if ( color.match(leadingRE) && color.match(/\)$/) ) { + list = color.replace(/(\s|%)/g, '').replace(leadingRE, '').replace(/,?\);?$/, '').split(','); + + if ( list.length < 3 ) + return this._error(); + + if ( list.length === 4 ) { + this.a( parseFloat( list.pop() ) ); + // error state has been set to true in .a() if we passed NaN + if ( this.error ) + return this; + } + + for (var i = list.length - 1; i >= 0; i--) { + list[i] = parseInt(list[i], 10); + if ( isNaN( list[i] ) ) + return this._error(); + } + + if ( color.match(/^rgb/) ) { + return this.fromRgb( { + r: list[0], + g: list[1], + b: list[2] + } ); + } else if ( color.match(/^hsv/) ) { + return this.fromHsv( { + h: list[0], + s: list[1], + v: list[2] + } ); + } else { + return this.fromHsl( { + h: list[0], + s: list[1], + l: list[2] + } ); + } + } else { + // must be hex amirite? + return this.fromHex( color ); + } + }, + + fromRgb: function( rgb, preserve ) { + if ( typeof rgb !== 'object' || rgb.r === undef || rgb.g === undef || rgb.b === undef ) + return this._error(); + + this.error = false; + return this.fromInt( parseInt( ( rgb.r << 16 ) + ( rgb.g << 8 ) + rgb.b, 10 ), preserve ); + }, + + fromHex: function( color ) { + color = color.replace(/^#/, '').replace(/^0x/, ''); + if ( color.length === 3 ) { + color = color[0] + color[0] + color[1] + color[1] + color[2] + color[2]; + } + + // rough error checking - this is where things go squirrely the most + this.error = ! /^[0-9A-F]{6}$/i.test( color ); + return this.fromInt( parseInt( color, 16 ) ); + }, + + fromHsl: function( hsl ) { + var r, g, b, q, p, h, s, l; + + if ( typeof hsl !== 'object' || hsl.h === undef || hsl.s === undef || hsl.l === undef ) + return this._error(); + + this._hsl = hsl; // store it + this._hSpace = 'hsl'; // implicit + h = hsl.h / 360; s = hsl.s / 100; l = hsl.l / 100; + if ( s === 0 ) { + r = g = b = l; // achromatic + } + else { + q = l < 0.5 ? l * ( 1 + s ) : l + s - l * s; + p = 2 * l - q; + r = this.hue2rgb( p, q, h + 1/3 ); + g = this.hue2rgb( p, q, h ); + b = this.hue2rgb( p, q, h - 1/3 ); + } + return this.fromRgb( { + r: r * 255, + g: g * 255, + b: b * 255 + }, true ); // true preserves hue/sat + }, + + fromHsv: function( hsv ) { + var h, s, v, r, g, b, i, f, p, q, t; + if ( typeof hsv !== 'object' || hsv.h === undef || hsv.s === undef || hsv.v === undef ) + return this._error(); + + this._hsv = hsv; // store it + this._hSpace = 'hsv'; // implicit + + h = hsv.h / 360; s = hsv.s / 100; v = hsv.v / 100; + i = Math.floor( h * 6 ); + f = h * 6 - i; + p = v * ( 1 - s ); + q = v * ( 1 - f * s ); + t = v * ( 1 - ( 1 - f ) * s ); + + switch( i % 6 ) { + case 0: + r = v; g = t; b = p; + break; + case 1: + r = q; g = v; b = p; + break; + case 2: + r = p; g = v; b = t; + break; + case 3: + r = p; g = q; b = v; + break; + case 4: + r = t; g = p; b = v; + break; + case 5: + r = v; g = p; b = q; + break; + } + + return this.fromRgb( { + r: r * 255, + g: g * 255, + b: b * 255 + }, true ); // true preserves hue/sat + + }, + // everything comes down to fromInt + fromInt: function( color, preserve ) { + this._color = parseInt( color, 10 ); + + if ( isNaN( this._color ) ) + this._color = 0; + + // let's coerce things + if ( this._color > 16777215 ) + this._color = 16777215; + else if ( this._color < 0 ) + this._color = 0; + + // let's not do weird things + if ( preserve === undef ) { + this._hsv.h = this._hsv.s = this._hsl.h = this._hsl.s = 0; + } + // EVENT GOES HERE + return this; + }, + + hue2rgb: function( p, q, t ) { + if ( t < 0 ) { + t += 1; + } + if ( t > 1 ) { + t -= 1; + } + if ( t < 1/6 ) { + return p + ( q - p ) * 6 * t; + } + if ( t < 1/2 ) { + return q; + } + if ( t < 2/3 ) { + return p + ( q - p ) * ( 2/3 - t ) * 6; + } + return p; + }, + + toString: function() { + var hex = parseInt( this._color, 10 ).toString( 16 ); + if ( this.error ) + return ''; + // maybe left pad it + if ( hex.length < 6 ) { + for (var i = 6 - hex.length - 1; i >= 0; i--) { + hex = '0' + hex; + } + } + return '#' + hex; + }, + + toCSS: function( type, alpha ) { + type = type || 'hex'; + alpha = parseFloat( alpha || this._alpha ); + switch ( type ) { + case 'rgb': + case 'rgba': + var rgb = this.toRgb(); + if ( alpha < 1 ) { + return "rgba( " + rgb.r + ", " + rgb.g + ", " + rgb.b + ", " + alpha + " )"; + } + else { + return "rgb( " + rgb.r + ", " + rgb.g + ", " + rgb.b + " )"; + } + break; + case 'hsl': + case 'hsla': + var hsl = this.toHsl(); + if ( alpha < 1 ) { + return "hsla( " + hsl.h + ", " + hsl.s + "%, " + hsl.l + "%, " + alpha + " )"; + } + else { + return "hsl( " + hsl.h + ", " + hsl.s + "%, " + hsl.l + "% )"; + } + break; + default: + return this.toString(); + } + }, + + toRgb: function() { + return { + r: 255 & ( this._color >> 16 ), + g: 255 & ( this._color >> 8 ), + b: 255 & ( this._color ) + }; + }, + + toHsl: function() { + var rgb = this.toRgb(); + var r = rgb.r / 255, g = rgb.g / 255, b = rgb.b / 255; + var max = Math.max( r, g, b ), min = Math.min( r, g, b ); + var h, s, l = ( max + min ) / 2; + + if ( max === min ) { + h = s = 0; // achromatic + } else { + var d = max - min; + s = l > 0.5 ? d / ( 2 - max - min ) : d / ( max + min ); + switch ( max ) { + case r: h = ( g - b ) / d + ( g < b ? 6 : 0 ); + break; + case g: h = ( b - r ) / d + 2; + break; + case b: h = ( r - g ) / d + 4; + break; + } + h /= 6; + } + + // maintain hue & sat if we've been manipulating things in the HSL space. + h = Math.round( h * 360 ); + if ( h === 0 && this._hsl.h !== h ) { + h = this._hsl.h; + } + s = Math.round( s * 100 ); + if ( s === 0 && this._hsl.s ) { + s = this._hsl.s; + } + + return { + h: h, + s: s, + l: Math.round( l * 100 ) + }; + + }, + + toHsv: function() { + var rgb = this.toRgb(); + var r = rgb.r / 255, g = rgb.g / 255, b = rgb.b / 255; + var max = Math.max( r, g, b ), min = Math.min( r, g, b ); + var h, s, v = max; + var d = max - min; + s = max === 0 ? 0 : d / max; + + if ( max === min ) { + h = s = 0; // achromatic + } else { + switch( max ){ + case r: + h = ( g - b ) / d + ( g < b ? 6 : 0 ); + break; + case g: + h = ( b - r ) / d + 2; + break; + case b: + h = ( r - g ) / d + 4; + break; + } + h /= 6; + } + + // maintain hue & sat if we've been manipulating things in the HSV space. + h = Math.round( h * 360 ); + if ( h === 0 && this._hsv.h !== h ) { + h = this._hsv.h; + } + s = Math.round( s * 100 ); + if ( s === 0 && this._hsv.s ) { + s = this._hsv.s; + } + + return { + h: h, + s: s, + v: Math.round( v * 100 ) + }; + }, + + toInt: function() { + return this._color; + }, + + toIEOctoHex: function() { + // AARRBBGG + var hex = this.toString(); + var AA = parseInt( 255 * this._alpha, 10 ).toString(16); + if ( AA.length === 1 ) { + AA = '0' + AA; + } + return '#' + AA + hex.replace(/^#/, '' ); + }, + + toLuminosity: function() { + var rgb = this.toRgb(); + return 0.2126 * Math.pow( rgb.r / 255, 2.2 ) + 0.7152 * Math.pow( rgb.g / 255, 2.2 ) + 0.0722 * Math.pow( rgb.b / 255, 2.2); + }, + + getDistanceLuminosityFrom: function( color ) { + if ( ! ( color instanceof Color ) ) { + throw 'getDistanceLuminosityFrom requires a Color object'; + } + var lum1 = this.toLuminosity(); + var lum2 = color.toLuminosity(); + if ( lum1 > lum2 ) { + return ( lum1 + 0.05 ) / ( lum2 + 0.05 ); + } + else { + return ( lum2 + 0.05 ) / ( lum1 + 0.05 ); + } + }, + + getMaxContrastColor: function() { + var lum = this.toLuminosity(); + var hex = ( lum >= 0.5 ) ? '000000' : 'ffffff'; + return new Color( hex ); + }, + + getReadableContrastingColor: function( bgColor, minContrast ) { + if ( ! bgColor instanceof Color ) { + return this; + } + + // you shouldn't use less than 5, but you might want to. + var targetContrast = ( minContrast === undef ) ? 5 : minContrast; + // working things + var contrast = bgColor.getDistanceLuminosityFrom( this ); + var maxContrastColor = bgColor.getMaxContrastColor(); + var maxContrast = maxContrastColor.getDistanceLuminosityFrom( bgColor ); + + // if current max contrast is less than the target contrast, we had wishful thinking. + // still, go max + if ( maxContrast <= targetContrast ) { + return maxContrastColor; + } + // or, we might already have sufficient contrast + else if ( contrast >= targetContrast ) { + return this; + } + + var incr = ( 0 === maxContrastColor.toInt() ) ? -1 : 1; + while ( contrast < targetContrast ) { + this.l( incr, true ); // 2nd arg turns this into an incrementer + contrast = this.getDistanceLuminosityFrom( bgColor ); + // infininite loop prevention: you never know. + if ( this._color === 0 || this._color === 16777215 ) { + break; + } + } + + return this; + + }, + + a: function( val ) { + if ( val === undef ) + return this._alpha; + + var a = parseFloat( val ); + + if ( isNaN( a ) ) + return this._error(); + + this._alpha = a; + return this; + }, + + // TRANSFORMS + + darken: function( amount ) { + amount = amount || 5; + return this.l( - amount, true ); + }, + + lighten: function( amount ) { + amount = amount || 5; + return this.l( amount, true ); + }, + + saturate: function( amount ) { + amount = amount || 15; + return this.s( amount, true ); + }, + + desaturate: function( amount ) { + amount = amount || 15; + return this.s( - amount, true ); + }, + + toGrayscale: function() { + return this.setHSpace('hsl').s( 0 ); + }, + + getComplement: function() { + return this.h( 180, true ); + }, + + getSplitComplement: function( step ) { + step = step || 1; + var incr = 180 + ( step * 30 ); + return this.h( incr, true ); + }, + + getAnalog: function( step ) { + step = step || 1; + var incr = step * 30; + return this.h( incr, true ); + }, + + getTetrad: function( step ) { + step = step || 1; + var incr = step * 60; + return this.h( incr, true ); + }, + + getTriad: function( step ) { + step = step || 1; + var incr = step * 120; + return this.h( incr, true ); + }, + + _partial: function( key ) { + var prop = shortProps[key]; + return function( val, incr ) { + var color = this._spaceFunc('to', prop.space); + + // GETTER + if ( val === undef ) + return color[key]; + + // INCREMENT + if ( incr === true ) + val = color[key] + val; + + // MOD & RANGE + if ( prop.mod ) + val = val % prop.mod; + if ( prop.range ) + val = ( val < prop.range[0] ) ? prop.range[0] : ( val > prop.range[1] ) ? prop.range[1] : val; + + // NEW VALUE + color[key] = val; + + return this._spaceFunc('from', prop.space, color); + }; + }, + + _spaceFunc: function( dir, s, val ) { + var space = s || this._hSpace, + funcName = dir + space.charAt(0).toUpperCase() + space.substr(1); + return this[funcName](val); + } + }; + + var shortProps = { + h: { + mod: 360 + }, + s: { + range: [0,100] + }, + l: { + space: 'hsl', + range: [0,100] + }, + v: { + space: 'hsv', + range: [0,100] + }, + r: { + space: 'rgb', + range: [0,255] + }, + g: { + space: 'rgb', + range: [0,255] + }, + b: { + space: 'rgb', + range: [0,255] + } + }; + + for ( var key in shortProps ) { + if ( shortProps.hasOwnProperty( key ) ) + Color.fn[key] = Color.fn._partial(key); + } + + // play nicely with Node + browser + if ( typeof exports === 'object' ) + module.exports = Color; + else + global.Color = Color; + +}(this)); diff --git a/lib/plugins/styling/lang/bg/lang.php b/lib/plugins/styling/lang/bg/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..7d17caffb62b3ac3ce47c0a908cf92b619746bf3 --- /dev/null +++ b/lib/plugins/styling/lang/bg/lang.php @@ -0,0 +1,21 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Kiril <neohidra@gmail.com> + */ +$lang['menu'] = 'ÐаÑтройки на Ñтила на шаблона'; +$lang['error'] = 'За Ñъжаление шаблона не поддържа тази функционалноÑÑ‚.'; +$lang['btn_preview'] = 'Преглед на промените'; +$lang['btn_save'] = 'Ð—Ð°Ð¿Ð¸Ñ Ð½Ð° промените'; +$lang['btn_reset'] = 'Ðнулиране на промените'; +$lang['btn_revert'] = 'Връщане на Ñтила към Ñтандартните ÑтойноÑти'; +$lang['__text__'] = 'ЦвÑÑ‚ на оÑÐ½Ð¾Ð²Ð½Ð¸Ñ Ñ‚ÐµÐºÑÑ‚'; +$lang['__background__'] = 'ЦвÑÑ‚ на оÑÐ½Ð¾Ð²Ð½Ð¸Ñ Ñ„Ð¾Ð½'; +$lang['__text_alt__'] = 'Ðлтернативен цвÑÑ‚ за текÑта'; +$lang['__background_alt__'] = 'Ðлтернативен цвÑÑ‚ за фона'; +$lang['__text_neu__'] = 'Ðеутрален цвÑÑ‚ за текÑта'; +$lang['__background_neu__'] = 'Ðеутрален цвÑÑ‚ за фона'; +$lang['__border__'] = 'ЦвÑÑ‚ на рамката'; +$lang['__highlight__'] = 'ЦвÑÑ‚ за отличаване (оÑновно на резултата от Ñ‚ÑŠÑ€ÑениÑ)'; diff --git a/lib/plugins/styling/lang/cs/intro.txt b/lib/plugins/styling/lang/cs/intro.txt new file mode 100644 index 0000000000000000000000000000000000000000..00365a09103a148229990dd05439bf52a81e077b --- /dev/null +++ b/lib/plugins/styling/lang/cs/intro.txt @@ -0,0 +1,2 @@ +Tento nástroj umožňuje zmÄ›nu urÄitých nastavenà stylu právÄ› použÃvané Å¡ablony vzhledu. +VÅ¡echny zmÄ›ny jsou uloženy v lokálnÃm konfiguraÄnÃm souboru a tÃm chránÄ›ny pÅ™ed smazánÃm pÅ™i aktualizaci. \ No newline at end of file diff --git a/lib/plugins/styling/lang/cs/lang.php b/lib/plugins/styling/lang/cs/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..8148b784f5ab5cc35d03242bab04a68298f4e0c4 --- /dev/null +++ b/lib/plugins/styling/lang/cs/lang.php @@ -0,0 +1,23 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> + */ +$lang['menu'] = 'Nastavenà stylů vzhledu'; +$lang['js']['loader'] = 'Náhled se naÄÃtá...<br />pokud tento text nezmizÃ, pravdÄ›podobnÄ› jsou nastaveny nesprávné hodnoty'; +$lang['js']['popup'] = 'OtevÅ™it ve vlastnÃm oknÄ›'; +$lang['error'] = 'Omlouváme se, tento '; +$lang['btn_preview'] = 'Náhled zmÄ›n'; +$lang['btn_save'] = 'Uložit zmÄ›ny'; +$lang['btn_reset'] = 'ZruÅ¡it aktuálnà zmÄ›ny'; +$lang['btn_revert'] = 'Vrátit styly zpÄ›t na výchozà hodnoty vzhledu'; +$lang['__text__'] = 'Barva hlavnÃho textu'; +$lang['__background__'] = 'Barva hlavnÃho pozadÃ'; +$lang['__text_alt__'] = 'Barva alternativnÃho textu'; +$lang['__background_alt__'] = 'Barva alternativnÃho pozadÃ'; +$lang['__text_neu__'] = 'Barva neutrálnÃho textu'; +$lang['__background_neu__'] = 'Barva neutrálnÃho pozadÃ'; +$lang['__border__'] = 'Barva rámovánÃ'; +$lang['__highlight__'] = 'ZvýraznÄ›ná barva (hlavnÄ› pro výsledky vyhledávánÃ)'; diff --git a/lib/plugins/styling/lang/cy/intro.txt b/lib/plugins/styling/lang/cy/intro.txt new file mode 100644 index 0000000000000000000000000000000000000000..7c825967bf922384aa4b4d501c3ca572a907e8ad --- /dev/null +++ b/lib/plugins/styling/lang/cy/intro.txt @@ -0,0 +1,2 @@ +Mae'r teclyn hwn yn eich galluogi chi newid gosodiadau arddull penodol y templed rydych chi'n defnyddio'n bresennol. +Caiff pob newid ei storio mewn ffeil ffurfwedd leol sy'n uwchradd-ddiogel. \ No newline at end of file diff --git a/lib/plugins/styling/lang/cy/lang.php b/lib/plugins/styling/lang/cy/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..4d22a59f0814acfd195b350520e108f9be63f69c --- /dev/null +++ b/lib/plugins/styling/lang/cy/lang.php @@ -0,0 +1,36 @@ +<?php +/** + * Welsh language file for styling plugin + * + * @author Andreas Gohr <andi@splitbrain.org> + * @author Alan Davies <ben.brynsadler@gmail.com> + */ + +// menu entry for admin plugins +$lang['menu'] = 'Gosodiadau Arddull Templed'; + +$lang['js']['loader'] = 'Rhagolwg yn llwytho...<br />os \'dyw hwn ddim yn diflannu, efallai bod eich gwerthoedd yn annilys'; +$lang['js']['popup'] = 'Agor fel ffurflen naid'; + +// custom language strings for the plugin +$lang['error'] = 'Sori, \'dyw\'r templed hwn ddim yn cynnal y swyddogaethedd hwn.'; + +$lang['btn_preview'] = 'Rhagolwg newidiadau'; +$lang['btn_save'] = 'Cadw newidiadau'; +$lang['btn_reset'] = 'Ailosod newidiadau cyfredol'; +$lang['btn_revert'] = 'Troi arddulliau\'n ôl i ddiofyn y templed'; + +// default guaranteed placeholders +$lang['__text__'] = 'Lliw\'r prif destun'; +$lang['__background__'] = 'Lliw\'r prif gefndir'; +$lang['__text_alt__'] = 'Lliw testun amgen'; +$lang['__background_alt__'] = 'Lliw cefndir amgen'; +$lang['__text_neu__'] = 'lliw testun niwtral'; +$lang['__background_neu__'] = 'Lliw cefndir niwtral'; +$lang['__border__'] = 'Lliw border'; +$lang['__highlight__'] = 'Lliw uwcholeuad (am ganlyniadau chwiliad yn bennaf)'; + + + + +//Setup VIM: ex: et ts=4 : diff --git a/lib/plugins/styling/lang/de/intro.txt b/lib/plugins/styling/lang/de/intro.txt new file mode 100644 index 0000000000000000000000000000000000000000..aa9577355efe7d602e898367b76227bd5979d774 --- /dev/null +++ b/lib/plugins/styling/lang/de/intro.txt @@ -0,0 +1,2 @@ +Dieses Plugin ermöglicht es, bestimmte Designeinstellungen des ausgewählten Templates zu ändern. +Alle Änderungen werden in einer lokalen Konfigurationsdatei gespeichert und sind upgrade-sicher. \ No newline at end of file diff --git a/lib/plugins/styling/lang/de/lang.php b/lib/plugins/styling/lang/de/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..8a46f818e29fbe5810596ef014d07fe9adb51ae8 --- /dev/null +++ b/lib/plugins/styling/lang/de/lang.php @@ -0,0 +1,23 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Anika Henke <anika@selfthinker.org> + */ +$lang['menu'] = 'Einstellungen fürs Template-Design'; +$lang['js']['loader'] = 'Vorschau lädt...<br />Falls diese Nachricht nicht verschwindet, könnten Ihre Werte fehlerhaft sein'; +$lang['js']['popup'] = 'Öffne als Popup'; +$lang['error'] = 'Dieses Template unterstützt diese Funktion nicht.'; +$lang['btn_preview'] = 'Vorschau der Änderungen anzeigen'; +$lang['btn_save'] = 'Änderungen speichern'; +$lang['btn_reset'] = 'Jetzige Änderungen rückgängig machen'; +$lang['btn_revert'] = 'Auf Templates Voreinstellungen zurückfallen'; +$lang['__text__'] = 'Haupttextfarbe'; +$lang['__background__'] = 'Haupthintergrundfarbe'; +$lang['__text_alt__'] = 'Alternative Textfarbe'; +$lang['__background_alt__'] = 'Alternative Hintergrundfarbe'; +$lang['__text_neu__'] = 'Neutrale Textfarbe'; +$lang['__background_neu__'] = 'Neutrale Hintergrundfarbe'; +$lang['__border__'] = 'Rahmenfarbe'; +$lang['__highlight__'] = 'Hervorhebungsfarbe (hauptsächlich für Suchergebnisse)'; diff --git a/lib/plugins/styling/lang/en/intro.txt b/lib/plugins/styling/lang/en/intro.txt new file mode 100644 index 0000000000000000000000000000000000000000..4ea55172fdaa3ee383b2fbf78e294210d35a4f45 --- /dev/null +++ b/lib/plugins/styling/lang/en/intro.txt @@ -0,0 +1,2 @@ +This tool allows you to change certain style settings of your currently selected template. +All changes are stored in a local configuration file and are upgrade safe. \ No newline at end of file diff --git a/lib/plugins/styling/lang/en/lang.php b/lib/plugins/styling/lang/en/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..e0011eb83577e91f96d6198572c76bfb1730743d --- /dev/null +++ b/lib/plugins/styling/lang/en/lang.php @@ -0,0 +1,35 @@ +<?php +/** + * English language file for styling plugin + * + * @author Andreas Gohr <andi@splitbrain.org> + */ + +// menu entry for admin plugins +$lang['menu'] = 'Template Style Settings'; + +$lang['js']['loader'] = 'Preview is loading...<br />if this does not goes away, your values may be faulty'; +$lang['js']['popup'] = 'Open as a popup'; + +// custom language strings for the plugin +$lang['error'] = 'Sorry, this template does not support this functionality.'; + +$lang['btn_preview'] = 'Preview changes'; +$lang['btn_save'] = 'Save changes'; +$lang['btn_reset'] = 'Reset current changes'; +$lang['btn_revert'] = 'Revert styles back to template\'s default'; + +// default guaranteed placeholders +$lang['__text__'] = 'Main text color'; +$lang['__background__'] = 'Main background color'; +$lang['__text_alt__'] = 'Alternative text color'; +$lang['__background_alt__'] = 'Alternative background color'; +$lang['__text_neu__'] = 'Neutral text color'; +$lang['__background_neu__'] = 'Neutral background color'; +$lang['__border__'] = 'Border color'; +$lang['__highlight__'] = 'Highlight color (for search results mainly)'; + + + + +//Setup VIM: ex: et ts=4 : diff --git a/lib/plugins/styling/lang/es/intro.txt b/lib/plugins/styling/lang/es/intro.txt new file mode 100644 index 0000000000000000000000000000000000000000..8a556002e4d7ff8aba3dd562813f13d508fd93b4 --- /dev/null +++ b/lib/plugins/styling/lang/es/intro.txt @@ -0,0 +1,2 @@ +Esta herramienta le permite cambiar algunos ajustes de estilo de la plantilla seleccionada. +Todos los cambios se guardan en un archivo de configuración local y son una actualización segura. \ No newline at end of file diff --git a/lib/plugins/styling/lang/es/lang.php b/lib/plugins/styling/lang/es/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..ad300dc12aea9bd19e50987d868b5c0fbf4869bd --- /dev/null +++ b/lib/plugins/styling/lang/es/lang.php @@ -0,0 +1,23 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Domingo Redal <docxml@gmail.com> + */ +$lang['menu'] = 'Ajustes de plantilla'; +$lang['js']['loader'] = 'La vista previa se está cargando ... <br /> si esto no se ve, sus valores pueden ser defectuosos'; +$lang['js']['popup'] = 'Abrir como una ventana emergente'; +$lang['error'] = 'Lo sentimos, esta plantilla no admite esta funcionalidad.'; +$lang['btn_preview'] = 'Vista previa de los cambios'; +$lang['btn_save'] = 'Guardar cambios'; +$lang['btn_reset'] = 'Reiniciar los cambios actuales'; +$lang['btn_revert'] = 'Revertir estilos volviendo a los valores por defecto de la plantilla'; +$lang['__text__'] = 'Color del texto principal'; +$lang['__background__'] = 'Color de fondo del texto principal'; +$lang['__text_alt__'] = 'Color del texto alternativo'; +$lang['__background_alt__'] = 'Color de fondo del texto alternativo'; +$lang['__text_neu__'] = 'Color del texto neutro'; +$lang['__background_neu__'] = 'Color de fondo del texto neutro'; +$lang['__border__'] = 'Color del borde'; +$lang['__highlight__'] = 'Color resaltado (para los resultados de búsqueda, principalmente)'; diff --git a/lib/plugins/styling/lang/fa/intro.txt b/lib/plugins/styling/lang/fa/intro.txt new file mode 100644 index 0000000000000000000000000000000000000000..428a25130f569aeb012ff941242e47cb41700779 --- /dev/null +++ b/lib/plugins/styling/lang/fa/intro.txt @@ -0,0 +1,2 @@ +این ابزار این امکان را Ùراهم می‌سازد Ú©Ù‡ برخی تنظیمات مشخص از قالبی Ú©Ù‡ انتخاب کردید را تغییر دهید. +تمام تغییرات در Ùایل داخلی تنظیمات ذخیره می‌شود Ùˆ به‌روزرسانی هم ایمن است. \ No newline at end of file diff --git a/lib/plugins/styling/lang/fa/lang.php b/lib/plugins/styling/lang/fa/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..c8d1bd60efad5aebe67636ef7a3d522eaf4e1bf7 --- /dev/null +++ b/lib/plugins/styling/lang/fa/lang.php @@ -0,0 +1,23 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Masoud Sadrnezhaad <masoud@sadrnezhaad.ir> + */ +$lang['menu'] = 'تنظیمات ظاهری تمپلیت'; +$lang['js']['loader'] = 'پیش‌نمایش در Øال باز شدن است... <br />اگر این پیش نرÙت یعنی مقادیرتان اشکال دارد'; +$lang['js']['popup'] = 'باز کردن به صورت popup'; +$lang['error'] = 'ببخشید، این قالب از این قابلیت پشتیبانی نمی‌کند'; +$lang['btn_preview'] = 'نمایش تغییرات'; +$lang['btn_save'] = 'ذخیره تغییرات'; +$lang['btn_reset'] = 'بازگردانی تغییر Ùعلی'; +$lang['btn_revert'] = 'بازگردانی ظاهر به پیشÙرض قالب'; +$lang['__text__'] = 'رنگ اصلی متن'; +$lang['__background__'] = 'رنگ اصلی زمینه'; +$lang['__text_alt__'] = 'رنگ ثانویه متن'; +$lang['__background_alt__'] = 'رنگ ثانویه زمینه'; +$lang['__text_neu__'] = 'رنگ خنثی متن'; +$lang['__background_neu__'] = 'رنگ خنثی زمینه'; +$lang['__border__'] = 'رنگ Øاشیه'; +$lang['__highlight__'] = 'رنگ برجسته‌سازی (برای نتیجه جستجو)'; diff --git a/lib/plugins/styling/lang/fr/intro.txt b/lib/plugins/styling/lang/fr/intro.txt new file mode 100644 index 0000000000000000000000000000000000000000..14a615c8d227bc5c2b71f95a0f377474f341e9e5 --- /dev/null +++ b/lib/plugins/styling/lang/fr/intro.txt @@ -0,0 +1,2 @@ +Cet outil vous permet de changer les paramètres de certains style de votre thème actuel. +Tous les changement sont enregistrés dans un fichier de configuration local qui sera inchangé en cas de mise à jour. \ No newline at end of file diff --git a/lib/plugins/styling/lang/fr/lang.php b/lib/plugins/styling/lang/fr/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..92b8c3d741990641227a85171601608da9b7a683 --- /dev/null +++ b/lib/plugins/styling/lang/fr/lang.php @@ -0,0 +1,24 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Carbain Frédéric <fcarbain@yahoo.fr> + * @author Nicolas Friedli <nicolas@theologique.ch> + */ +$lang['menu'] = 'Paramètres de style du thème (template)'; +$lang['js']['loader'] = 'La prévisualisation est en chargement... <br />Si rien ne se passe, les données sont peut-être erronées'; +$lang['js']['popup'] = 'Ouvrir dans une nouvelle fenêtre'; +$lang['error'] = 'Désolé, ce thème ne supporte pas cette fonctionnalité.'; +$lang['btn_preview'] = 'Aperçu des changements'; +$lang['btn_save'] = 'sauvegarder les changements.'; +$lang['btn_reset'] = 'Remettre les changements courants à zéro'; +$lang['btn_revert'] = 'Remettre les styles du thème aux valeurs par défaut'; +$lang['__text__'] = 'Couleur de texte principale'; +$lang['__background__'] = 'Couleur de fond principale'; +$lang['__text_alt__'] = 'Couleur de texte alternative'; +$lang['__background_alt__'] = 'Couleur de fond alternative'; +$lang['__text_neu__'] = 'Couleur de texte neutre'; +$lang['__background_neu__'] = 'Couleur de fond neutre'; +$lang['__border__'] = 'Couleur des contours'; +$lang['__highlight__'] = 'Couleur de surbrillance (utilisée pincipalement pour les résultats de recherche)'; diff --git a/lib/plugins/styling/lang/hu/intro.txt b/lib/plugins/styling/lang/hu/intro.txt new file mode 100644 index 0000000000000000000000000000000000000000..42f451d9a5e927713080e2f0d6468a1e045e5220 --- /dev/null +++ b/lib/plugins/styling/lang/hu/intro.txt @@ -0,0 +1,2 @@ +Ezzel az eszközzel módosÃthatod az aktuális sablon kinézetének néhány elemét. +A változtatások egy helyi konfigurációs fájlban kerülnek tárolásra, Ãgy a frissÃtések során megmaradnak. \ No newline at end of file diff --git a/lib/plugins/styling/lang/hu/lang.php b/lib/plugins/styling/lang/hu/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..c6ef5de93974d840212114f7901ea0fd33cfc9cd --- /dev/null +++ b/lib/plugins/styling/lang/hu/lang.php @@ -0,0 +1,23 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Marton Sebok <sebokmarton@gmail.com> + */ +$lang['menu'] = 'Sablon kinézetének beállÃtásai'; +$lang['js']['loader'] = 'Az elÅ‘nézet töltÅ‘dik...<br />ha ez az üzenet nem tűnik el, a beállÃtott értékek hibásak lehetnek'; +$lang['js']['popup'] = 'Megnyitás felugró ablakban'; +$lang['error'] = 'Ez a sablon sajnos nem támogatja ezt a funkciót'; +$lang['btn_preview'] = 'Változtatások elÅ‘nézete'; +$lang['btn_save'] = 'Változtatások mentése'; +$lang['btn_reset'] = 'Jelenlegi változtatások visszaállÃtása'; +$lang['btn_revert'] = 'A sablon alapértelmezett kinézetének visszaállÃtása'; +$lang['__text__'] = 'FÅ‘ szövegszÃn'; +$lang['__background__'] = 'FÅ‘ háttérszÃn'; +$lang['__text_alt__'] = 'AlternatÃv szövegszÃn'; +$lang['__background_alt__'] = 'AlternatÃv háttérszÃn'; +$lang['__text_neu__'] = 'Semleges szövegszÃn'; +$lang['__background_neu__'] = 'Semleges háttérszÃn'; +$lang['__border__'] = 'Keret szÃne'; +$lang['__highlight__'] = 'Kijelölés szÃne (leginkább a keresési eredményeknél)'; diff --git a/lib/plugins/styling/lang/it/intro.txt b/lib/plugins/styling/lang/it/intro.txt new file mode 100644 index 0000000000000000000000000000000000000000..6c798e432e3aadbb583aae7858456a3eaa85beef --- /dev/null +++ b/lib/plugins/styling/lang/it/intro.txt @@ -0,0 +1,2 @@ +Questo strumento ti permette di cambiare certe configurazioni di stile del tema attualmente in uso. +Tutte le modifiche sono salvate in un file di configurazione locale e sono aggiornate in modo sicuro. \ No newline at end of file diff --git a/lib/plugins/styling/lang/it/lang.php b/lib/plugins/styling/lang/it/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..aea011feba5c95ffb575f427914d62a1e899d2df --- /dev/null +++ b/lib/plugins/styling/lang/it/lang.php @@ -0,0 +1,23 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Torpedo <dgtorpedo@gmail.com> + */ +$lang['menu'] = 'Configurazioni di stile del tema'; +$lang['js']['loader'] = 'Anteprima in corso...<br />se questo non sparisce, potresti aver fornito dei valori sbagliati'; +$lang['js']['popup'] = 'Apri in un finestra a parte'; +$lang['error'] = 'Spiacente, questo template non supporta questa funzionalità .'; +$lang['btn_preview'] = 'Cambiamenti precedenti'; +$lang['btn_save'] = 'Salva i cambiamenti'; +$lang['btn_reset'] = 'Azzera le modifiche correnti'; +$lang['btn_revert'] = 'Ripristina gli stili ai valori originari del tema'; +$lang['__text__'] = 'Colore principale del testo'; +$lang['__background__'] = 'Colore principale dello sfondo'; +$lang['__text_alt__'] = 'Colore alternativo per il testo'; +$lang['__background_alt__'] = 'Colore alternativo dello sfondo'; +$lang['__text_neu__'] = 'Colore testo neutrale'; +$lang['__background_neu__'] = 'Colore sfondo neutrale'; +$lang['__border__'] = 'Colore del bordo'; +$lang['__highlight__'] = 'Colore di evidenziazione (principalmente per i risultati di ricerca)'; diff --git a/lib/plugins/styling/lang/ja/intro.txt b/lib/plugins/styling/lang/ja/intro.txt new file mode 100644 index 0000000000000000000000000000000000000000..1feb4e033fe68926131bc52150e0d3a33004e7d5 --- /dev/null +++ b/lib/plugins/styling/lang/ja/intro.txt @@ -0,0 +1,2 @@ +ã“ã®ç”»é¢ä¸Šã§ã€é¸æŠžä¸ã®ãƒ†ãƒ³ãƒ—レート固有ã®ã‚¹ã‚¿ã‚¤ãƒ«è¨å®šã‚’変更ã§ãã¾ã™ã€‚ +変更内容ã¯ã™ã¹ã¦ãƒãƒ¼ã‚«ãƒ«ã®è¨å®šãƒ•ã‚¡ã‚¤ãƒ«å†…ã«ä¿å˜ã•ã‚Œã€ãƒ†ãƒ³ãƒ—レートを更新ã—ã¦ã‚‚åˆæœŸåŒ–ã•ã‚Œã¾ã›ã‚“。 \ No newline at end of file diff --git a/lib/plugins/styling/lang/ja/lang.php b/lib/plugins/styling/lang/ja/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..da18829b2ca6775ae32abd19da1fa3d4e48e4966 --- /dev/null +++ b/lib/plugins/styling/lang/ja/lang.php @@ -0,0 +1,23 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Hideaki SAWADA <chuno@live.jp> + */ +$lang['menu'] = 'テンプレートã®ã‚¹ã‚¿ã‚¤ãƒ«è¨å®š'; +$lang['js']['loader'] = 'プレビューをèªè¾¼ã¿ä¸ã§ã™ãƒ»ãƒ»ãƒ»<br/>ã“ã®è¡¨ç¤ºãŒæ¶ˆãˆãªã„å ´åˆã€å¤‰æ›´ã—ãŸè¨å®šå€¤ã«å•é¡ŒãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。'; +$lang['js']['popup'] = 'ãƒãƒƒãƒ—アップã¨ã—ã¦è¡¨ç¤º'; +$lang['error'] = 'ã“ã®ãƒ†ãƒ³ãƒ—レートã¯ã€ã“ã®æ©Ÿèƒ½ã«å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“。'; +$lang['btn_preview'] = '変更内容ã®ãƒ—レビュー'; +$lang['btn_save'] = '変更内容ã®ä¿å˜'; +$lang['btn_reset'] = '変更内容ã®åˆæœŸåŒ–'; +$lang['btn_revert'] = 'テンプレートã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã«æˆ»ã™'; +$lang['__text__'] = 'メイン文å—色'; +$lang['__background__'] = 'メイン背景色'; +$lang['__text_alt__'] = '代替文å—色'; +$lang['__background_alt__'] = '代替背景色'; +$lang['__text_neu__'] = '無彩色ã®æ–‡å—色'; +$lang['__background_neu__'] = '無彩色ã®èƒŒæ™¯è‰²'; +$lang['__border__'] = 'æž ç·šã®è‰²'; +$lang['__highlight__'] = '強調色(主ã«æ¤œç´¢çµæžœç”¨ï¼‰'; diff --git a/lib/plugins/styling/lang/ko/intro.txt b/lib/plugins/styling/lang/ko/intro.txt new file mode 100644 index 0000000000000000000000000000000000000000..c460801b159db3d1ede04f922269111a328b6043 --- /dev/null +++ b/lib/plugins/styling/lang/ko/intro.txt @@ -0,0 +1,2 @@ +ì´ ë„구는 현재 ì„ íƒí•œ í…œí”Œë¦¿ì˜ íŠ¹ì • ìŠ¤íƒ€ì¼ ì„¤ì •ì„ ë°”ê¿€ 수 있습니다. +ëª¨ë“ ë°”ë€œì€ ë¡œì»¬ 환경 ì„¤ì • 파ì¼ì— ì €ìž¥ë˜ë©° ì•ˆì „í•˜ê²Œ ì—…ê·¸ë ˆì´ë“œë©ë‹ˆë‹¤. \ No newline at end of file diff --git a/lib/plugins/styling/lang/ko/lang.php b/lib/plugins/styling/lang/ko/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..96da76d4829062c1db3615673ce6eac9f3eca86b --- /dev/null +++ b/lib/plugins/styling/lang/ko/lang.php @@ -0,0 +1,23 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Myeongjin <aranet100@gmail.com> + */ +$lang['menu'] = '템플릿 ìŠ¤íƒ€ì¼ ì„¤ì •'; +$lang['js']['loader'] = '미리 보기를 불러오는 중...<br />만약 ì´ê²ƒì´ 사ë¼ì§€ì§€ 않는다면, ë‹¹ì‹ ì€ ì‹¤ë§í•˜ê² ì£ '; +$lang['js']['popup'] = 'íŒì—…으로 열기'; +$lang['error'] = '죄송하지만 ì´ í…œí”Œë¦¿ì€ ì´ ê¸°ëŠ¥ìœ¼ë¡œ 지ì›í•˜ì§€ 않습니다.'; +$lang['btn_preview'] = '바뀜 미리 보기'; +$lang['btn_save'] = '바뀜 ì €ìž¥'; +$lang['btn_reset'] = '현재 바뀜 ìž¬ì„¤ì •'; +$lang['btn_revert'] = 'í‹€ì˜ ê¸°ë³¸ê°’ìœ¼ë¡œ 스타ì¼ì„ ë˜ëŒë¦¬ê¸°'; +$lang['__text__'] = '주요 í…스트 색'; +$lang['__background__'] = '주요 ë°°ê²½ 색'; +$lang['__text_alt__'] = '대체 í…스트 색'; +$lang['__background_alt__'] = '대체 ë°°ê²½ 색'; +$lang['__text_neu__'] = '중립 í…스트 색'; +$lang['__background_neu__'] = '중립 ë°°ê²½ 색'; +$lang['__border__'] = 'ìœ¤ê³½ì„ ìƒ‰'; +$lang['__highlight__'] = '(주로 검색 결과를 위한) ê°•ì¡° 색'; diff --git a/lib/plugins/styling/lang/nl/intro.txt b/lib/plugins/styling/lang/nl/intro.txt new file mode 100644 index 0000000000000000000000000000000000000000..727593848b90a00c35935cc3041aac4b9564c440 --- /dev/null +++ b/lib/plugins/styling/lang/nl/intro.txt @@ -0,0 +1,2 @@ +Deze tool laat u een aantal stijlinstellingen van uw huidig geselecteerde template aanpassen. +Alle aanpassingen worden in een lokaal configuratiebestand bewaard en zijn upgrade veilig. diff --git a/lib/plugins/styling/lang/nl/lang.php b/lib/plugins/styling/lang/nl/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..dd258051e3ecfaf8ac841683bce7fe5a81f02d79 --- /dev/null +++ b/lib/plugins/styling/lang/nl/lang.php @@ -0,0 +1,24 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Mark C. Prins <mprins@users.sf.net> + * @author hugo smet <hugo.smet@scarlet.be> + */ +$lang['menu'] = 'Template stijl-instellingen'; +$lang['js']['loader'] = 'Voorbeeldweergave is aan het laden...<br />als dit niet verdwijnt zijn uw instellingen mogelijk foutief.'; +$lang['js']['popup'] = 'Open als popup'; +$lang['error'] = 'Sorry, deze template ondersteunt deze functionaliteit niet.'; +$lang['btn_preview'] = 'Bekijk aanpassingen'; +$lang['btn_save'] = 'Sla aanpassingen op'; +$lang['btn_reset'] = 'Huidige aanpassingen verwerpen'; +$lang['btn_revert'] = 'Stijlen terugzetten naar de standaard waardes van de template'; +$lang['__text__'] = 'Hoofd tekstkleur'; +$lang['__background__'] = 'Hoofd achtergrondkleur'; +$lang['__text_alt__'] = 'Alternatieve tekstkleur'; +$lang['__background_alt__'] = 'Alternatieve achtergrondkleur'; +$lang['__text_neu__'] = 'Neutrale tekstkleur'; +$lang['__background_neu__'] = 'Neutrale achtergrondkleur'; +$lang['__border__'] = 'Kader kleur'; +$lang['__highlight__'] = 'Markeringskleur (hoofdzakelijk voor zoekresultaten)'; diff --git a/lib/plugins/styling/lang/pt-br/intro.txt b/lib/plugins/styling/lang/pt-br/intro.txt new file mode 100644 index 0000000000000000000000000000000000000000..3d0f47fd694417a7bc8cd4be108b5a3ba27f5298 --- /dev/null +++ b/lib/plugins/styling/lang/pt-br/intro.txt @@ -0,0 +1,2 @@ +Essa ferramente permite a alteração de certas configurações do estilo do seu modelo atual. +Todas as modificações são armazenadas em um arquivo de configuração local e estão protegidas contra atualizações. \ No newline at end of file diff --git a/lib/plugins/styling/lang/pt-br/lang.php b/lib/plugins/styling/lang/pt-br/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..b7ac1fcd83bca0f41dd7c821c57084a55784c48c --- /dev/null +++ b/lib/plugins/styling/lang/pt-br/lang.php @@ -0,0 +1,23 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Frederico Gonçalves Guimarães <frederico@teia.bio.br> + */ +$lang['menu'] = 'Configurações de estilo do modelo'; +$lang['js']['loader'] = 'A visualização está carregando...<br />Caso essa mensagem não desapareça, pode ter algum problema com os seus valores.'; +$lang['js']['popup'] = 'Abrir como um popup'; +$lang['error'] = 'Desculpe, mas esse modelo não suporta essa funcionalidade.'; +$lang['btn_preview'] = 'Ver alterações'; +$lang['btn_save'] = 'Salvar alterações'; +$lang['btn_reset'] = 'Eliminar as alterações atuais'; +$lang['btn_revert'] = 'Reverter o estilo para os padrões do modelo'; +$lang['__text__'] = 'Cor principal do texto'; +$lang['__background__'] = 'Cor principal do fundo'; +$lang['__text_alt__'] = 'Cor alternativa do texto'; +$lang['__background_alt__'] = 'Cor alternativa do fundo'; +$lang['__text_neu__'] = 'Cor neutra do texto'; +$lang['__background_neu__'] = 'Cor neutra do fundo'; +$lang['__border__'] = 'Cor da borda'; +$lang['__highlight__'] = 'Cor do destaque (primariamente em resultados da pesquisa)'; diff --git a/lib/plugins/styling/lang/pt/lang.php b/lib/plugins/styling/lang/pt/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..6929a40dc4487dff22efb6db95740a1f70dcd132 --- /dev/null +++ b/lib/plugins/styling/lang/pt/lang.php @@ -0,0 +1,13 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Alfredo Silva <alfredo.silva@sky.com> + */ +$lang['js']['popup'] = 'Abrir como uma janela extra'; +$lang['error'] = 'Desculpe, este modelo não suporta esta funcionalidade.'; +$lang['btn_preview'] = 'Pré-visualizar alterações'; +$lang['btn_save'] = 'Guardar alterações'; +$lang['btn_reset'] = 'Reiniciar alterações atuais'; +$lang['__text__'] = 'Cor do texto principal'; diff --git a/lib/plugins/styling/lang/ru/intro.txt b/lib/plugins/styling/lang/ru/intro.txt new file mode 100644 index 0000000000000000000000000000000000000000..3a0141149fd83082249cc62705b7ecfcafbee11e --- /dev/null +++ b/lib/plugins/styling/lang/ru/intro.txt @@ -0,0 +1 @@ +Ðтот инÑтрумент позволÑет изменÑÑ‚ÑŒ Ñтилевые наÑтройки выбранного шаблона. Ð’Ñе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ…Ñ€Ð°Ð½ÑÑ‚ÑÑ Ð²Â Ñ„Ð°Ð¹Ð»Ðµ конфигурации и защищены от ÑброÑа при обновлении. diff --git a/lib/plugins/styling/lang/ru/lang.php b/lib/plugins/styling/lang/ru/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..beda17619eb52fc2c27a1faea19ffc2d58e88a38 --- /dev/null +++ b/lib/plugins/styling/lang/ru/lang.php @@ -0,0 +1,23 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author RainbowSpike <1@2.ru> + */ +$lang['menu'] = 'ÐаÑтройки Ñтилей шаблона'; +$lang['js']['loader'] = 'ЗагружаетÑÑ Ð¿Ñ€ÐµÐ´Ð¿Ñ€Ð¾Ñмотр...<br />ЕÑли здеÑÑŒ ÑлучилÑÑ Ñбой, ваши наÑтройки могут быть Ñброшены'; +$lang['js']['popup'] = 'Открыть во вÑплывающем окне'; +$lang['error'] = 'Ðтот шаблон не поддерживает такой функционал.'; +$lang['btn_preview'] = 'ПроÑмотреть изменениÑ'; +$lang['btn_save'] = 'Сохранить изменениÑ'; +$lang['btn_reset'] = 'СброÑить Ñделанные изменениÑ'; +$lang['btn_revert'] = 'Откатить Ñтили к иÑходным Ð´Ð»Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°'; +$lang['__text__'] = 'Цвет текÑта'; +$lang['__background__'] = 'Цвет фона'; +$lang['__text_alt__'] = 'Второй цвет текÑта'; +$lang['__background_alt__'] = 'Второй цвет фона'; +$lang['__text_neu__'] = 'Ðейтральный цвет текÑта'; +$lang['__background_neu__'] = 'Ðейтральный цвет фона'; +$lang['__border__'] = 'Цвет границ'; +$lang['__highlight__'] = 'Цвет подÑветки (в оÑновном Ð´Ð»Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ð¾Ð² поиÑка)'; diff --git a/lib/plugins/styling/lang/sk/lang.php b/lib/plugins/styling/lang/sk/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..f1017e5c11458184c360b4f0107b8f7bd864629a --- /dev/null +++ b/lib/plugins/styling/lang/sk/lang.php @@ -0,0 +1,18 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Martin Michalek <michalek.dev@gmail.com> + */ +$lang['btn_preview'] = 'Náhľad zmien'; +$lang['btn_save'] = 'Uloženie zmien'; +$lang['btn_reset'] = 'ZruÅ¡ prevedené zmeny'; +$lang['__text__'] = 'Primárna farba textu'; +$lang['__background__'] = 'Primárna farba pozadia'; +$lang['__text_alt__'] = 'AlternatÃvna farba textu'; +$lang['__background_alt__'] = 'AlternatÃvna farba pozadia'; +$lang['__text_neu__'] = 'Neutrálna farba textu'; +$lang['__background_neu__'] = 'Neutrálna farba pozadia'; +$lang['__border__'] = 'Farba okraja'; +$lang['__highlight__'] = 'Farba zvýraznenia (zvyÄajne výsledkov vyhľadávania)'; diff --git a/lib/plugins/styling/lang/zh-tw/lang.php b/lib/plugins/styling/lang/zh-tw/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..ce4a9a960ce9b82725283636e3682fed8e0cdc57 --- /dev/null +++ b/lib/plugins/styling/lang/zh-tw/lang.php @@ -0,0 +1,15 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Liou, Jhe-Yu <lioujheyu@gmail.com> + */ +$lang['menu'] = '模æ¿é¢¨æ ¼è¨å®š'; +$lang['error'] = '抱æ‰ï¼Œè©²æ¨¡æ¿ä¸æ”¯æŒé€™å€‹åŠŸèƒ½'; +$lang['btn_preview'] = 'é 覽'; +$lang['btn_save'] = '儲å˜'; +$lang['btn_reset'] = 'é‡è¨'; +$lang['btn_revert'] = 'å°‡é¢¨æ ¼å¾©åŽŸè‡³æ¨¡æ¿é è¨å€¼'; +$lang['__text__'] = '主è¦æ–‡å—é¡è‰²'; +$lang['__background__'] = '主è¦èƒŒæ™¯é¡è‰²'; diff --git a/lib/plugins/styling/lang/zh/intro.txt b/lib/plugins/styling/lang/zh/intro.txt new file mode 100644 index 0000000000000000000000000000000000000000..709171247457133e6b80e462a2c7ec18a49aa4e0 --- /dev/null +++ b/lib/plugins/styling/lang/zh/intro.txt @@ -0,0 +1 @@ +这个工具å¯ä»¥è®©æ‚¨å¯¹å½“å‰é€‰ä¸çš„模æ¿çš„æŸäº›æ ·å¼è®¾ç½®è¿›è¡Œæ”¹å˜ã€‚所有改动会ä¿å˜åœ¨ä¸€ä¸ªæœ¬åœ°é…置文件ä¸ï¼Œä¸ä¼šè¢«å‡çº§æ‰€å½±å“。 \ No newline at end of file diff --git a/lib/plugins/styling/lang/zh/lang.php b/lib/plugins/styling/lang/zh/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..805d070dfcdd5374f6b927948ea079fb290286d1 --- /dev/null +++ b/lib/plugins/styling/lang/zh/lang.php @@ -0,0 +1,23 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author lainme <lainme993@gmail.com> + */ +$lang['menu'] = '模æ¿æ ·å¼è®¾ç½®'; +$lang['js']['loader'] = 'æ£åœ¨è½½å…¥é¢„览...<br />如果本å¥ä¸€ç›´æ²¡æœ‰æ¶ˆå¤±ï¼Œæ‚¨çš„设置å¯èƒ½æœ‰é”™'; +$lang['js']['popup'] = '作为弹出窗å£æ‰“å¼€'; +$lang['error'] = '抱æ‰ï¼Œè¿™ä¸ªæ¨¡æ¿ä¸æ”¯æŒè¿™é¡¹åŠŸèƒ½ã€‚'; +$lang['btn_preview'] = '预览改动'; +$lang['btn_save'] = 'ä¿å˜æ”¹åŠ¨'; +$lang['btn_reset'] = 'é‡ç½®å½“å‰æ”¹åŠ¨'; +$lang['btn_revert'] = 'å›žé€€æ ·å¼åˆ°æ¨¡æ¿çš„默认值'; +$lang['__text__'] = '主è¦çš„å—体颜色'; +$lang['__background__'] = '主è¦çš„背景颜色'; +$lang['__text_alt__'] = '备选å—体的颜色'; +$lang['__background_alt__'] = '备选背景的颜色'; +$lang['__text_neu__'] = 'ä¸æ€§å—体的颜色'; +$lang['__background_neu__'] = 'ä¸æ€§èƒŒæ™¯çš„颜色'; +$lang['__border__'] = '边框颜色'; +$lang['__highlight__'] = '高亮颜色 (主è¦ç”¨äºŽæœç´¢ç»“æžœ)'; diff --git a/lib/plugins/styling/plugin.info.txt b/lib/plugins/styling/plugin.info.txt new file mode 100644 index 0000000000000000000000000000000000000000..9f002e28258740811e89466cb90fa8ad923105a1 --- /dev/null +++ b/lib/plugins/styling/plugin.info.txt @@ -0,0 +1,7 @@ +base styling +author Andreas Gohr +email andi@splitbrain.org +date 2015-07-26 +name styling plugin +desc Allows to edit style.ini replacements +url https://www.dokuwiki.org/plugin:styling diff --git a/lib/plugins/styling/popup.php b/lib/plugins/styling/popup.php new file mode 100644 index 0000000000000000000000000000000000000000..964b19e296a1d2217591e5dd3f76d3d0003168f8 --- /dev/null +++ b/lib/plugins/styling/popup.php @@ -0,0 +1,30 @@ +<?php +if(!defined('DOKU_INC')) define('DOKU_INC', dirname(__FILE__) . '/../../../'); +require_once(DOKU_INC . 'inc/init.php'); +//close session +session_write_close(); +header('Content-Type: text/html; charset=utf-8'); +header('X-UA-Compatible: IE=edge,chrome=1'); + +/** @var admin_plugin_styling $plugin */ +$plugin = plugin_load('admin', 'styling'); +if(!auth_isadmin()) die('only admins allowed'); +$plugin->ispopup = true; + +// handle posts +$plugin->handle(); + +// output plugin in a very minimal template: +?><!DOCTYPE html> +<html lang="<?php echo $conf['lang'] ?>" dir="<?php echo $lang['direction'] ?>"> +<head> + <meta charset="utf-8" /> + <title><?php echo $plugin->getLang('menu') ?></title> + <?php tpl_metaheaders(false) ?> + <meta name="viewport" content="width=device-width,initial-scale=1" /> + <?php echo tpl_favicon(array('favicon')) ?> +</head> +<body class="dokuwiki"> + <?php $plugin->html() ?> +</body> +</html> diff --git a/lib/plugins/styling/script.js b/lib/plugins/styling/script.js new file mode 100644 index 0000000000000000000000000000000000000000..074c8dc40296e87004a597fa58ecdc2a39370bd8 --- /dev/null +++ b/lib/plugins/styling/script.js @@ -0,0 +1,97 @@ +/* DOKUWIKI:include_once iris.js */ + +jQuery(function () { + + /** + * Function to reload the preview styles in the main window + * + * @param {Window} target the main window + */ + function applyPreview(target) { + // remove style + var $style = target.jQuery('link[rel=stylesheet][href*="lib/exe/css.php"]'); + $style.attr('href', ''); + + // append the loader screen + var $loader = target.jQuery('#plugin__styling_loader'); + if (!$loader.length) { + $loader = target.jQuery('<div id="plugin__styling_loader">' + LANG.plugins.styling.loader + '</div>'); + $loader.css({ + 'position': 'absolute', + 'width': '100%', + 'height': '100%', + 'top': 0, + 'left': 0, + 'z-index': 5000, + 'background-color': '#fff', + 'opacity': '0.7', + 'color': '#000', + 'font-size': '2.5em', + 'text-align': 'center', + 'line-height': 1.5, + 'padding-top': '2em' + }); + target.jQuery('body').append($loader); + } + + // load preview in main window (timeout works around chrome updating CSS weirdness) + setTimeout(function () { + var now = new Date().getTime(); + $style.attr('href', DOKU_BASE + 'lib/exe/css.php?preview=1&tseed=' + now); + }, 500); + } + + var doreload = 1; + var $styling_plugin = jQuery('#plugin__styling'); + + // if we are not on the plugin page (either main or popup) + if (!$styling_plugin.length) { + // handle the preview cookie + if(DokuCookie.getValue('styling_plugin') == 1) { + applyPreview(window); + } + return; // nothing more to do here + } + + /* ---- from here on we're in the popup or admin page ---- */ + + // add the color picker + $styling_plugin.find('.color').iris({}); + + // add button on main page + if (!$styling_plugin.hasClass('ispopup')) { + var $form = $styling_plugin.find('form.styling').first(); + var $btn = jQuery('<button>' + LANG.plugins.styling.popup + '</button>'); + $form.prepend($btn); + + $btn.click(function (e) { + var windowFeatures = "menubar=no,location=no,resizable=yes,scrollbars=yes,status=false,width=500,height=500"; + window.open(DOKU_BASE + 'lib/plugins/styling/popup.php', 'styling_popup', windowFeatures); + e.preventDefault(); + e.stopPropagation(); + }).wrap('<p></p>'); + return; // we exit here if this is not the popup + } + + /* ---- from here on we're in the popup only ---- */ + + // reload the main page on close + window.onunload = function(e) { + if(doreload) { + window.opener.DokuCookie.setValue('styling_plugin', 0); + window.opener.document.location.reload(); + } + return null; + }; + + // don't reload on our own buttons + jQuery(':button').click(function(e){ + doreload = false; + }); + + // on first load apply preview + applyPreview(window.opener); + + // enable the preview cookie + window.opener.DokuCookie.setValue('styling_plugin', 1); +}); diff --git a/lib/plugins/styling/style.less b/lib/plugins/styling/style.less new file mode 100644 index 0000000000000000000000000000000000000000..be0e16a5b97baf2706b9bf78e63de895bb2257e1 --- /dev/null +++ b/lib/plugins/styling/style.less @@ -0,0 +1,13 @@ +#plugin__styling { + button.primary { + font-weight: bold; + } + + [dir=rtl] & table input { + text-align: right; + } +} + +#plugin__styling_loader { + display: none; +} diff --git a/lib/plugins/usermanager/admin.php b/lib/plugins/usermanager/admin.php index 86562f1dd7fc36fdebe6754295c54ad502e22b64..f90a172b3b7abedae44c903c8a5d9d93578f51b9 100644 --- a/lib/plugins/usermanager/admin.php +++ b/lib/plugins/usermanager/admin.php @@ -31,11 +31,12 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { protected $_edit_userdata = array(); protected $_disabled = ''; // if disabled set to explanatory string protected $_import_failures = array(); + protected $_lastdisabled = false; // set to true if last user is unknown and last button is hence buggy /** * Constructor */ - public function admin_plugin_usermanager(){ + public function __construct(){ /** @var DokuWiki_Auth_Plugin $auth */ global $auth; @@ -81,6 +82,27 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { return 2; } + /** + * @return int current start value for pageination + */ + public function getStart() { + return $this->_start; + } + + /** + * @return int number of users per page + */ + public function getPagesize() { + return $this->_pagesize; + } + + /** + * @param boolean $lastdisabled + */ + public function setLastdisabled($lastdisabled) { + $this->_lastdisabled = $lastdisabled; + } + /** * Handle user request * @@ -200,9 +222,9 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { */ $groups = join(', ',$grps); ptln(" <tr class=\"user_info\">"); - ptln(" <td class=\"centeralign\"><input type=\"checkbox\" name=\"delete[".$user."]\" ".$delete_disable." /></td>"); + ptln(" <td class=\"centeralign\"><input type=\"checkbox\" name=\"delete[".hsc($user)."]\" ".$delete_disable." /></td>"); if ($editable) { - ptln(" <td><a href=\"".wl($ID,array('fn[edit]['.hsc($user).']' => 1, + ptln(" <td><a href=\"".wl($ID,array('fn[edit]['.$user.']' => 1, 'do' => 'admin', 'page' => 'usermanager', 'sectok' => getSecurityToken())). @@ -219,18 +241,18 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { ptln(" <tbody>"); ptln(" <tr><td colspan=\"5\" class=\"centeralign\">"); ptln(" <span class=\"medialeft\">"); - ptln(" <input type=\"submit\" name=\"fn[delete]\" ".$delete_disable." class=\"button\" value=\"".$this->lang['delete_selected']."\" id=\"usrmgr__del\" />"); + ptln(" <button type=\"submit\" name=\"fn[delete]\" id=\"usrmgr__del\" ".$delete_disable.">".$this->lang['delete_selected']."</button>"); ptln(" </span>"); ptln(" <span class=\"mediaright\">"); - ptln(" <input type=\"submit\" name=\"fn[start]\" ".$page_buttons['start']." class=\"button\" value=\"".$this->lang['start']."\" />"); - ptln(" <input type=\"submit\" name=\"fn[prev]\" ".$page_buttons['prev']." class=\"button\" value=\"".$this->lang['prev']."\" />"); - ptln(" <input type=\"submit\" name=\"fn[next]\" ".$page_buttons['next']." class=\"button\" value=\"".$this->lang['next']."\" />"); - ptln(" <input type=\"submit\" name=\"fn[last]\" ".$page_buttons['last']." class=\"button\" value=\"".$this->lang['last']."\" />"); + ptln(" <button type=\"submit\" name=\"fn[start]\" ".$page_buttons['start'].">".$this->lang['start']."</button>"); + ptln(" <button type=\"submit\" name=\"fn[prev]\" ".$page_buttons['prev'].">".$this->lang['prev']."</button>"); + ptln(" <button type=\"submit\" name=\"fn[next]\" ".$page_buttons['next'].">".$this->lang['next']."</button>"); + ptln(" <button type=\"submit\" name=\"fn[last]\" ".$page_buttons['last'].">".$this->lang['last']."</button>"); ptln(" </span>"); if (!empty($this->_filter)) { - ptln(" <input type=\"submit\" name=\"fn[search][clear]\" class=\"button\" value=\"".$this->lang['clear']."\" />"); + ptln(" <button type=\"submit\" name=\"fn[search][clear]\">".$this->lang['clear']."</button>"); } - ptln(" <input type=\"submit\" name=\"fn[export]\" class=\"button\" value=\"".$export_label."\" />"); + ptln(" <button type=\"submit\" name=\"fn[export]\">".$export_label."</button>"); ptln(" <input type=\"hidden\" name=\"do\" value=\"admin\" />"); ptln(" <input type=\"hidden\" name=\"page\" value=\"usermanager\" />"); @@ -307,12 +329,12 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { ptln(" </thead>",$indent); ptln(" <tbody>",$indent); - $this->_htmlInputField($cmd."_userid", "userid", $this->lang["user_id"], $user, $this->_auth->canDo("modLogin"), $indent+6); - $this->_htmlInputField($cmd."_userpass", "userpass", $this->lang["user_pass"], "", $this->_auth->canDo("modPass"), $indent+6); - $this->_htmlInputField($cmd."_userpass2", "userpass2", $lang["passchk"], "", $this->_auth->canDo("modPass"), $indent+6); - $this->_htmlInputField($cmd."_username", "username", $this->lang["user_name"], $name, $this->_auth->canDo("modName"), $indent+6); - $this->_htmlInputField($cmd."_usermail", "usermail", $this->lang["user_mail"], $mail, $this->_auth->canDo("modMail"), $indent+6); - $this->_htmlInputField($cmd."_usergroups","usergroups",$this->lang["user_groups"],$groups,$this->_auth->canDo("modGroups"),$indent+6); + $this->_htmlInputField($cmd."_userid", "userid", $this->lang["user_id"], $user, $this->_auth->canDo("modLogin"), true, $indent+6); + $this->_htmlInputField($cmd."_userpass", "userpass", $this->lang["user_pass"], "", $this->_auth->canDo("modPass"), false, $indent+6); + $this->_htmlInputField($cmd."_userpass2", "userpass2", $lang["passchk"], "", $this->_auth->canDo("modPass"), false, $indent+6); + $this->_htmlInputField($cmd."_username", "username", $this->lang["user_name"], $name, $this->_auth->canDo("modName"), true, $indent+6); + $this->_htmlInputField($cmd."_usermail", "usermail", $this->lang["user_mail"], $mail, $this->_auth->canDo("modMail"), true, $indent+6); + $this->_htmlInputField($cmd."_usergroups","usergroups",$this->lang["user_groups"],$groups,$this->_auth->canDo("modGroups"), false, $indent+6); if ($this->_auth->canDo("modPass")) { if ($cmd == 'add') { @@ -334,11 +356,11 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { // save current $user, we need this to access details if the name is changed if ($user) - ptln(" <input type=\"hidden\" name=\"userid_old\" value=\"".$user."\" />",$indent); + ptln(" <input type=\"hidden\" name=\"userid_old\" value=\"".hsc($user)."\" />",$indent); $this->_htmlFilterSettings($indent+10); - ptln(" <input type=\"submit\" name=\"fn[".$cmd."]\" class=\"button\" value=\"".$this->lang[$cmd]."\" />",$indent); + ptln(" <button type=\"submit\" name=\"fn[".$cmd."]\">".$this->lang[$cmd]."</button>",$indent); ptln(" </td>",$indent); ptln(" </tr>",$indent); ptln(" </tbody>",$indent); @@ -347,7 +369,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { if ($notes) { ptln(" <ul class=\"notes\">"); foreach ($notes as $note) { - ptln(" <li><span class=\"li\">".$note."</span></li>",$indent); + ptln(" <li><span class=\"li\">".$note."</li>",$indent); } ptln(" </ul>"); } @@ -363,9 +385,10 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { * @param string $label * @param string $value * @param bool $cando whether auth backend is capable to do this action + * @param bool $required is this field required? * @param int $indent */ - protected function _htmlInputField($id, $name, $label, $value, $cando, $indent=0) { + protected function _htmlInputField($id, $name, $label, $value, $cando, $required, $indent=0) { $class = $cando ? '' : ' class="disabled"'; echo str_pad('',$indent); @@ -379,12 +402,15 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { $fieldtype = 'text'; $autocomp = ''; } + $value = hsc($value); echo "<tr $class>"; echo "<td><label for=\"$id\" >$label: </label></td>"; echo "<td>"; if($cando){ - echo "<input type=\"$fieldtype\" id=\"$id\" name=\"$name\" value=\"$value\" class=\"edit\" $autocomp />"; + $req = ''; + if($required) $req = 'required="required"'; + echo "<input type=\"$fieldtype\" id=\"$id\" name=\"$name\" value=\"$value\" class=\"edit\" $autocomp $req />"; }else{ echo "<input type=\"hidden\" name=\"$name\" value=\"$value\" />"; echo "<input type=\"$fieldtype\" id=\"$id\" name=\"$name\" value=\"$value\" class=\"edit disabled\" disabled=\"disabled\" />"; @@ -433,7 +459,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { ptln(' <form action="'.wl($ID).'" method="post" enctype="multipart/form-data">',$indent); formSecurityToken(); ptln(' <label>'.$this->lang['import_userlistcsv'].'<input type="file" name="import" /></label>',$indent); - ptln(' <input type="submit" name="fn[import]" value="'.$this->lang['import'].'" />',$indent); + ptln(' <button type="submit" name="fn[import]">'.$this->lang['import'].'</button>',$indent); ptln(' <input type="hidden" name="do" value="admin" />',$indent); ptln(' <input type="hidden" name="page" value="usermanager" />',$indent); @@ -495,16 +521,20 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { $pass = auth_pwgen($user); } else { msg($this->lang['add_fail'], -1); + msg($this->lang['addUser_error_missing_pass'], -1); return false; } } else { if (!$this->_verifyPassword($pass,$passconfirm)) { + msg($this->lang['add_fail'], -1); + msg($this->lang['addUser_error_pass_not_identical'], -1); return false; } } } else { if (!empty($pass)){ msg($this->lang['add_fail'], -1); + msg($this->lang['addUser_error_modPass_disabled'], -1); return false; } } @@ -512,10 +542,13 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { if ($this->_auth->canDo('modName')){ if (empty($name)){ msg($this->lang['add_fail'], -1); + msg($this->lang['addUser_error_name_missing'], -1); return false; } } else { if (!empty($name)){ + msg($this->lang['add_fail'], -1); + msg($this->lang['addUser_error_modName_disabled'], -1); return false; } } @@ -523,10 +556,13 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { if ($this->_auth->canDo('modMail')){ if (empty($mail)){ msg($this->lang['add_fail'], -1); + msg($this->lang['addUser_error_mail_missing'], -1); return false; } } else { if (!empty($mail)){ + msg($this->lang['add_fail'], -1); + msg($this->lang['addUser_error_modMail_disabled'], -1); return false; } } @@ -540,6 +576,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { } } else { msg($this->lang['add_fail'], -1); + msg($this->lang['addUser_error_create_event_failed'], -1); } return $ok; @@ -836,6 +873,10 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { $buttons['last'] = $buttons['next'] = (($this->_start + $this->_pagesize) >= $this->_user_total) ? $disabled : ''; } + if ($this->_lastdisabled) { + $buttons['last'] = $disabled; + } + return $buttons; } diff --git a/lib/plugins/usermanager/images/search.png b/lib/plugins/usermanager/images/search.png index e9dabc11ec18b16b320a6a3caed01bf46539ad00..3f2a0b53b8d2948dd6666848eb6c9aa5ae4f923f 100644 Binary files a/lib/plugins/usermanager/images/search.png and b/lib/plugins/usermanager/images/search.png differ diff --git a/lib/plugins/usermanager/lang/bg/lang.php b/lib/plugins/usermanager/lang/bg/lang.php index aadf7651284797489889ab3ebdfa64f0753fd697..f98cc8c4044fb4f0ceab31686e5a96df46608bb0 100644 --- a/lib/plugins/usermanager/lang/bg/lang.php +++ b/lib/plugins/usermanager/lang/bg/lang.php @@ -28,6 +28,10 @@ $lang['search'] = 'ТърÑене'; $lang['search_prompt'] = 'ТърÑи'; $lang['clear'] = 'ОбновÑване на Ñ‚ÑŠÑ€Ñенето'; $lang['filter'] = 'Филтър'; +$lang['export_all'] = 'Ð˜Ð·Ð½Ð¾Ñ Ð½Ð° вÑички потребители (CSV)'; +$lang['import'] = 'Импорт на нови потребители'; +$lang['line'] = 'Ред â„–'; +$lang['error'] = 'Съобщение за грешка'; $lang['summary'] = 'Показване на потребители %1$d-%2$d от %3$d намерени. Общо %4$d потребителÑ.'; $lang['nonefound'] = 'Ðе Ñа намерени потребители. Общо %d потребителÑ.'; $lang['delete_ok'] = '%d изтрити потребителÑ'; @@ -48,3 +52,8 @@ $lang['add_ok'] = 'ДобавÑнето на потребител $lang['add_fail'] = 'ДобавÑнето на Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ»Ñ Ñе провали'; $lang['notify_ok'] = 'Изпратено е оÑведомителен имейл'; $lang['notify_fail'] = 'Изпращането на оÑведомителен имейл не е възможно'; +$lang['import_error_badname'] = 'Грешно потребителÑко име'; +$lang['import_error_badmail'] = 'Грешен имейл адреÑ'; +$lang['import_error_upload'] = 'ВнаÑÑнето Ñе провали. CSV файлът не може да бъде качен или е празен.'; +$lang['import_error_readfail'] = 'ВнаÑÑнето Ñе провали. КачениÑÑ‚ файл не може да бъде прочетен.'; +$lang['import_error_create'] = 'ПотребителÑÑ‚ не може да бъде Ñъдаден'; diff --git a/lib/plugins/usermanager/lang/ca/lang.php b/lib/plugins/usermanager/lang/ca/lang.php index 6debd73ca119387bbfdb4869fb81e06d4fa309c0..4b07326aba08ff307325cdcc23c6f1cedd8965ed 100644 --- a/lib/plugins/usermanager/lang/ca/lang.php +++ b/lib/plugins/usermanager/lang/ca/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Catalan language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Carles Bellver <carles.bellver@gmail.com> * @author carles.bellver@gmail.com * @author carles.bellver@cent.uji.es diff --git a/lib/plugins/usermanager/lang/cs/lang.php b/lib/plugins/usermanager/lang/cs/lang.php index 6130fccd88e7aee6e333f463a3a28a34aaddfe62..3cd42efcb55b85419dda3f5681760b59879a511c 100644 --- a/lib/plugins/usermanager/lang/cs/lang.php +++ b/lib/plugins/usermanager/lang/cs/lang.php @@ -76,3 +76,11 @@ $lang['import_error_readfail'] = 'Import selhal. Nelze ÄÃst nahraný soubor.'; $lang['import_error_create'] = 'Nelze vytvoÅ™it uživatele'; $lang['import_notify_fail'] = 'Importovanému uživateli %s s e-mailem %s nemohlo být zasláno upozornÄ›nÃ.'; $lang['import_downloadfailures'] = 'Stáhnout chyby pro nápravu jako CVS'; +$lang['addUser_error_missing_pass'] = 'BuÄ prosÃm nastavte heslo nebo aktivujte upozorňovánà uživatel aby fungovalo vytvářenà hesel.'; +$lang['addUser_error_pass_not_identical'] = 'Zadaná hesla nebyla shodná.'; +$lang['addUser_error_modPass_disabled'] = 'ZmÄ›na hesel je momentálnÄ› zákázána.'; +$lang['addUser_error_name_missing'] = 'Zadejte prosÃm jméno nového uživatele.'; +$lang['addUser_error_modName_disabled'] = 'ZmÄ›na jmen je momentálnÄ› zákázána.'; +$lang['addUser_error_mail_missing'] = 'Zadejte prosÃm emailovou adresu nového uživatele.'; +$lang['addUser_error_modMail_disabled'] = 'ZmÄ›na emailové adresy je momentálnÄ› zákázána.'; +$lang['addUser_error_create_event_failed'] = 'Zásuvný modul zabránil pÅ™idánà nového uživatele. Pro vÃce informacà si prohlédnÄ›te dalÅ¡Ã možné zprávy.'; diff --git a/lib/plugins/usermanager/lang/cy/add.txt b/lib/plugins/usermanager/lang/cy/add.txt new file mode 100644 index 0000000000000000000000000000000000000000..c804e531d91831df5e3315b92442ec31bbc8b8a6 --- /dev/null +++ b/lib/plugins/usermanager/lang/cy/add.txt @@ -0,0 +1 @@ +===== Ychwanegu defnyddiwr ===== diff --git a/lib/plugins/usermanager/lang/cy/delete.txt b/lib/plugins/usermanager/lang/cy/delete.txt new file mode 100644 index 0000000000000000000000000000000000000000..a81f3a9896ccbcd072f74aed26e0192c10e37236 --- /dev/null +++ b/lib/plugins/usermanager/lang/cy/delete.txt @@ -0,0 +1 @@ +===== Dileu defnyddiwr ===== diff --git a/lib/plugins/usermanager/lang/cy/edit.txt b/lib/plugins/usermanager/lang/cy/edit.txt new file mode 100644 index 0000000000000000000000000000000000000000..3fcb6d1d2272756455e6e9bda710954267f7a35d --- /dev/null +++ b/lib/plugins/usermanager/lang/cy/edit.txt @@ -0,0 +1 @@ +===== Golygu defnyddiwr ===== diff --git a/lib/plugins/usermanager/lang/cy/import.txt b/lib/plugins/usermanager/lang/cy/import.txt new file mode 100644 index 0000000000000000000000000000000000000000..211e8cf24f7e7dcc9b5fb5a71dc7a64aad03c9de --- /dev/null +++ b/lib/plugins/usermanager/lang/cy/import.txt @@ -0,0 +1,9 @@ +===== Swmp Mewnforio Defnyddwyr ===== + +Mae hwn angen ffeil CSV o ddefnyddwyr gydag o leiaf pedair colofn. +Mae'n rhaid i'r colofnau gynnwys, mewn trefn: id-defnyddiwr, enw llawn, cyfeiriad ebost a grwpiau. +Dylai'r meysydd CSV gael eu gwahanu gan goma (,) a llinynnau eu hamffinio gan ddyfynodau (%%""%%). Gall ôl-slaes (\) ei ddefnyddio ar gyfer glanhau (escaping). +Am enghraifft o ffeil addas, ceisiwch y swyddogaeth "Allforio Defnyddwyr" uchod. +Caiff id-defnyddiwr dyblygiedig eu hanwybyddu. + +Generadwyd cyfrinair a'i ebostio i bob defnyddiwr sydd wedi'i fewnforio'n llwyddiannus. diff --git a/lib/plugins/usermanager/lang/cy/intro.txt b/lib/plugins/usermanager/lang/cy/intro.txt new file mode 100644 index 0000000000000000000000000000000000000000..a381a30764bd6b79fe4b87bd3f70cbaa4ec70688 --- /dev/null +++ b/lib/plugins/usermanager/lang/cy/intro.txt @@ -0,0 +1 @@ +====== Rheolwr Defnyddwyr ====== diff --git a/lib/plugins/usermanager/lang/cy/lang.php b/lib/plugins/usermanager/lang/cy/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..5120d39e24d043db945d1ec9d99748ac42d1eb26 --- /dev/null +++ b/lib/plugins/usermanager/lang/cy/lang.php @@ -0,0 +1,87 @@ +<?php +/** + * Welsh language file + * + * @author Chris Smith <chris@jalakai.co.uk> + * @author Alan Davies <ben.brynsadler@gmail.com> + */ + +$lang['menu'] = 'Rheolwr Defnyddwyr'; + +// custom language strings for the plugin +$lang['noauth'] = '(dilysiad defnddwyr ddim ar gael)'; +$lang['nosupport'] = '(rheolaeth defnyddwyr heb ei chynnal)'; + +$lang['badauth'] = 'mecanwaith dilysu annilys'; // should never be displayed! + +$lang['user_id'] = 'Defnyddiwr'; +$lang['user_pass'] = 'Cyfrinair'; +$lang['user_name'] = 'Enw Cywir'; +$lang['user_mail'] = 'Ebost'; +$lang['user_groups'] = 'Grwpiau'; + +$lang['field'] = 'Maes'; +$lang['value'] = 'Gwerth'; +$lang['add'] = 'Ychwanegu'; +$lang['delete'] = 'Dileu'; +$lang['delete_selected'] = 'Dileu\'r Dewisiadau'; +$lang['edit'] = 'Golygu'; +$lang['edit_prompt'] = 'Golygu\'r defnyddiwr hwn'; +$lang['modify'] = 'Cadw Newidiadau'; +$lang['search'] = 'Chwilio'; +$lang['search_prompt'] = 'Perfformio chwiliad'; +$lang['clear'] = 'Ailosod Hidlydd Chwilio'; +$lang['filter'] = 'Hidlo'; +$lang['export_all'] = 'Allforio Pob Defnyddiwr (CSV)'; +$lang['export_filtered'] = 'Allforio Rhestr Defnyddwyr wedi\'u Hidlo (CSV)'; +$lang['import'] = 'Mewnforio Defnyddwyr Newydd'; +$lang['line'] = 'Llinell rhif'; +$lang['error'] = 'Gwallneges'; + +$lang['summary'] = 'Yn dangos %1$d-%2$d defnyddiwr allan o %3$d wedi\'u darganfod. %4$d defnyddiwr yn gyfan gwbl.'; +$lang['nonefound'] = 'Dim defnyddwyr wedi\'u darganfod. %d defnyddiwr yn gyfan gwbl.'; +$lang['delete_ok'] = 'Dilëwyd %d defnyddiwr'; +$lang['delete_fail'] = 'Dileu %d wedi methu.'; +$lang['update_ok'] = 'Diweddarwyd y defnyddiwr yn llwyddiannus'; +$lang['update_fail'] = 'Methodd diweddariad y defnyddiwr'; +$lang['update_exists'] = 'Methodd newid y defnyddair, mae\'r defnyddair hwnnw (%s) yn bodoli eisoes (caiff pob newid arall ei gyflwyno).'; + +$lang['start'] = 'dechrau'; +$lang['prev'] = 'blaenorol'; +$lang['next'] = 'nesaf'; +$lang['last'] = 'diwethaf'; + +// added after 2006-03-09 release +$lang['edit_usermissing'] = 'Methu darganfod y defnyddiwr hwn. Efallai bod y defnyddair hwn wedi\'i ddileu neu wedi\'i newid mewn man arall.'; +$lang['user_notify'] = 'Hysbysu defnyddiwr'; +$lang['note_notify'] = 'Bydd ebyst hysbysu eu hanfon dim ond os ydy defnyddiwr yn derbyn cyfrinair newydd.'; +$lang['note_group'] = 'Bydd defnyddwyr newydd yn cael eu hychwanegu i\'r grŵp diofyn (%s) os na chaiff grŵp ei enwi.'; +$lang['note_pass'] = 'Caiff y cyfrinair ei generadu\'n awtomatig os caiff y maes ei adael yn wag a bod hysbysu\'r defnyddiwr wedi\'i alluogi.'; +$lang['add_ok'] = 'Ychwanegwyd y defnyddiwr yn llwyddiannus'; +$lang['add_fail'] = 'Methodd ychwanegu defnyddiwr'; +$lang['notify_ok'] = 'Anfonwyd yr ebost hysbysu'; +$lang['notify_fail'] = 'Doedd dim modd anfon yr ebost hysbysu'; + +// import & errors +$lang['import_userlistcsv'] = 'Ffeil rhestr defnyddwyr (CSV): '; +$lang['import_header'] = 'Mewnforiad Diweddaraf - Methiannau'; +$lang['import_success_count'] = 'Mewnforio Defnyddwyr: darganfuwyd %d defnyddiwr, mewnforiwyd %d yn llwyddiannus.'; +$lang['import_failure_count'] = 'Mewnforio Defnyddwyr: methodd %d. Rhestrwyd y methiannau isod.'; +$lang['import_error_fields'] = "Meysydd annigonol, darganfuwyd %d, angen 4."; +$lang['import_error_baduserid'] = "Id-defnyddiwr ar goll"; +$lang['import_error_badname'] = 'Enw gwael'; +$lang['import_error_badmail'] = 'Cyfeiriad ebost gwael'; +$lang['import_error_upload'] = 'Methodd y Mewnforiad. Doedd dim modd lanlwytho\'r ffeil neu roedd yn wag.'; +$lang['import_error_readfail'] = 'Methodd y Mewnforiad. Methu â darllen y ffeil a lanlwythwyd.'; +$lang['import_error_create'] = 'Methu â chreu\'r defnyddiwr'; +$lang['import_notify_fail'] = 'Doedd dim modd anfon neges hysbysu i\'r defyddiwr a fewnforiwyd, %s gydag ebost %s.'; +$lang['import_downloadfailures'] = 'Lawlwytho Methiannau fel CSV er mwyn cywiro'; + +$lang['addUser_error_missing_pass'] = 'Gosodwch gyfrinair neu trowch hysbysu defnyddwyr ymlaen i alluogi generadu cyfrineiriau.'; +$lang['addUser_error_pass_not_identical'] = '\'Dyw\'r cyfrineiriau hyn ddim yn cydweddu.'; +$lang['addUser_error_modPass_disabled'] = 'Mae newid cyfrineiriau wedi\'i analluogi\'n bresennol.'; +$lang['addUser_error_name_missing'] = 'Rhowch enw ar gyfer y defnyddiwr newydd.'; +$lang['addUser_error_modName_disabled'] = 'Mae newid enwau wedi\'i analluogi\'n bresennol.'; +$lang['addUser_error_mail_missing'] = 'Rhowch gyfeiriad ebost ar gyfer y defnyddiwr newydd.'; +$lang['addUser_error_modMail_disabled'] = 'Mae newid cyfeiriadau ebost wedi\'i analluogi\'n bresennol.'; +$lang['addUser_error_create_event_failed'] = 'Mae ategyn wedi atal ychwanegu\'r defnyddiwr newydd. Adolygwch negeseuon ychwanegol bosib am wybodaeth bellach.'; diff --git a/lib/plugins/usermanager/lang/cy/list.txt b/lib/plugins/usermanager/lang/cy/list.txt new file mode 100644 index 0000000000000000000000000000000000000000..653177491f70178b928ebafd27c0d6f40572dcc4 --- /dev/null +++ b/lib/plugins/usermanager/lang/cy/list.txt @@ -0,0 +1 @@ +===== Rhestr Defnyddwyr ===== diff --git a/lib/plugins/usermanager/lang/de/lang.php b/lib/plugins/usermanager/lang/de/lang.php index 4b297b0dc257e02a0646ff3ee65ee57fd542a434..a388eb53152f801f0b9eaf2fa31653c79f0d40c0 100644 --- a/lib/plugins/usermanager/lang/de/lang.php +++ b/lib/plugins/usermanager/lang/de/lang.php @@ -22,6 +22,8 @@ * @author christian studer <cstuder@existenz.ch> * @author Ben Fey <benedikt.fey@beck-heun.de> * @author Jonas Gröger <jonas.groeger@gmail.com> + * @author Uwe Benzelrath <uwebenzelrath@gmail.com> + * @author ms <msocial@posteo.de> */ $lang['menu'] = 'Benutzerverwaltung'; $lang['noauth'] = '(Authentifizierungssystem nicht verfügbar)'; @@ -82,3 +84,10 @@ $lang['import_error_readfail'] = 'Import fehlgeschlagen. Die hochgeladene Datei $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'; +$lang['addUser_error_pass_not_identical'] = 'Die eingegebenen Passwörter stimmen nicht überein.'; +$lang['addUser_error_modPass_disabled'] = 'Das bearbeiten von Passwörtern ist momentan deaktiviert'; +$lang['addUser_error_name_missing'] = 'Bitte geben sie den Namen des neuen Benutzer ein.'; +$lang['addUser_error_modName_disabled'] = 'Das bearbeiten von Namen ist momentan deaktiviert.'; +$lang['addUser_error_mail_missing'] = 'Bitte geben sie die E-Mail-Adresse des neuen Benutzer ein.'; +$lang['addUser_error_modMail_disabled'] = 'Das bearbeiten von E-Mailadressen ist momentan deaktiviert.'; +$lang['addUser_error_create_event_failed'] = 'Ein Plug-in hat das hinzufügen des neuen Benutzers verhindert. Für weitere Informationen, sehen Sie sich mögliche andere Meldungen an.'; diff --git a/lib/plugins/usermanager/lang/en/import.txt b/lib/plugins/usermanager/lang/en/import.txt index 360a0689b6748db5251a69a026966e72f7bddd14..3a1cf999ef026b79967762b77912c9ff29991a8d 100644 --- a/lib/plugins/usermanager/lang/en/import.txt +++ b/lib/plugins/usermanager/lang/en/import.txt @@ -2,8 +2,8 @@ Requires a CSV file of users with at least four columns. The columns must contain, in order: user-id, full name, email address and groups. -The CSV fields should be separated by commas (,) and strings delimited by quotation marks (%%""%%). Backslash (\) can be used for escaping. -For an example of a suitable file, try the "Export Users" function above. +The CSV fields should be separated by commas (,) and strings delimited by quotation marks (%%""%%). Backslash (\) can be used for escaping. +For an example of a suitable file, try the "Export Users" function above. Duplicate user-ids will be ignored. A password will be generated and emailed to each successfully imported user. diff --git a/lib/plugins/usermanager/lang/en/lang.php b/lib/plugins/usermanager/lang/en/lang.php index b55ecc998e9d9643121da1c73ae2fd397b9fe351..5f47673f3855ad2150ed0bf2fe4667cb2a30b557 100644 --- a/lib/plugins/usermanager/lang/en/lang.php +++ b/lib/plugins/usermanager/lang/en/lang.php @@ -76,3 +76,11 @@ $lang['import_error_create'] = 'Unable to create the user'; $lang['import_notify_fail'] = 'Notification message could not be sent for imported user, %s with email %s.'; $lang['import_downloadfailures'] = 'Download Failures as CSV for correction'; +$lang['addUser_error_missing_pass'] = 'Please either set a password or activate user notification to enable password generation.'; +$lang['addUser_error_pass_not_identical'] = 'The entered passwords were not identical.'; +$lang['addUser_error_modPass_disabled'] = 'Modifing passwords is currently disabled'; +$lang['addUser_error_name_missing'] = 'Please enter a name for the new user.'; +$lang['addUser_error_modName_disabled'] = 'Modifing names is currently disabled.'; +$lang['addUser_error_mail_missing'] = 'Please enter an Email-Adress for the new user.'; +$lang['addUser_error_modMail_disabled'] = 'Modifing Email-Adresses is currently disabled.'; +$lang['addUser_error_create_event_failed'] = 'A plugin prevented the new user being added. Review possible other messages for more information.'; diff --git a/lib/plugins/usermanager/lang/es/import.txt b/lib/plugins/usermanager/lang/es/import.txt new file mode 100644 index 0000000000000000000000000000000000000000..2482096d5505ec455feea073208ff29cafa7196b --- /dev/null +++ b/lib/plugins/usermanager/lang/es/import.txt @@ -0,0 +1,9 @@ +===== Importación y carga de usuarios ===== + +Se requiere un archivo CSV de usuarios con al menos cuatro columnas. +Las columnas deben contener, en este orden: Identificador de usuario, nombre completo, dirección de correo electrónico y grupos. +Los campos CSV deben estar separados por comas (,) y las cadenas delimitadas por comillas dobles (%%""%%). Barra inversa (\\) se puede utilizar para escapar caracteres. +Para un ejemplo de un archivo adecuado, probar la función "Exportar usuarios" de arriba. +Valores de identificador de usuario duplicados serán ignorados. + +Una contraseña será generada y enviada por correo electrónico a cada usuario importado correctamente. \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/es/lang.php b/lib/plugins/usermanager/lang/es/lang.php index a557eacdd0ad8d2ff610058e1879185c8ab0c08c..57752de068e4318aea9a9cf213bdf385533aa3ee 100644 --- a/lib/plugins/usermanager/lang/es/lang.php +++ b/lib/plugins/usermanager/lang/es/lang.php @@ -27,6 +27,8 @@ * @author Antonio Bueno <atnbueno@gmail.com> * @author Antonio Castilla <antoniocastilla@trazoide.com> * @author Jonathan Hernández <me@jhalicea.com> + * @author Domingo Redal <docxml@gmail.com> + * @author solohazlo <solohhazlo@gmail.com> */ $lang['menu'] = 'Administración de usuarios'; $lang['noauth'] = '(la autenticación de usuarios no está disponible)'; @@ -75,9 +77,18 @@ $lang['add_fail'] = 'Falló la creación del usuario'; $lang['notify_ok'] = 'Se envió la notificación por correo electrónico'; $lang['notify_fail'] = 'No se pudo enviar la notificación por correo electrónico'; $lang['import_userlistcsv'] = 'Lista de usuarios (CSV): '; +$lang['import_header'] = 'Importaciones Más Recientes - Fallos'; +$lang['import_success_count'] = 'Importación de usuarios: %d usuarios encontrados, %d importados correctamente.'; +$lang['import_failure_count'] = 'Importación de usuarios: %d fallaron. Los fallos se enumeran a continuación.'; +$lang['import_error_fields'] = 'Campos insuficientes, encontrados %d, se requieren 4.'; +$lang['import_error_baduserid'] = 'Identificador de usuario no encontrado'; +$lang['import_error_badname'] = 'Nombre erróneo'; $lang['import_error_badmail'] = 'Dirección de correo electrónico incorrecta'; $lang['import_error_upload'] = 'Error al importar. El archivo csv no se pudo cargar o está vacÃo.'; $lang['import_error_readfail'] = 'Error al importar. No se puede leer el archivo subido.'; $lang['import_error_create'] = 'No se puede crear el usuario'; $lang['import_notify_fail'] = 'Mensaje de notificación no se ha podido enviar por el usuario importado,%s con el email %s.'; $lang['import_downloadfailures'] = 'Descarga errores en archivo CSV para la corrección'; +$lang['addUser_error_pass_not_identical'] = 'Las contraseñas no coinciden'; +$lang['addUser_error_modPass_disabled'] = 'Está desactivado por ahora modificar contraseñas.'; +$lang['addUser_error_name_missing'] = 'Por favor teclea el nombre del nuevo usuario.'; diff --git a/lib/plugins/usermanager/lang/fa/import.txt b/lib/plugins/usermanager/lang/fa/import.txt new file mode 100644 index 0000000000000000000000000000000000000000..562a28aa5cb71460bf9facd94712d84a4d27658e --- /dev/null +++ b/lib/plugins/usermanager/lang/fa/import.txt @@ -0,0 +1,6 @@ + ===== اضاÙÙ‡ کردن کاربر ===== + +برای اینکار یک Ùایل CSV با Øداقل چهار ستون لازم است. ستون‌ها به ترتیب باید شامل id کاربر، نام کامل کاربر، آدرس ایمیل Ùˆ گروه‌های کاربری او باشند. +خانه‌های جدول CSV باید به وسیلهٔ کاما (,) Ùˆ رشته‌ها با علامت نقل قول (%%""%%) از هم جدا شوند. علامت واکج‌خط (\) می‌تواند برای غیرÙعال کردن معنای کاراکترها استÙاده شود. برای دیدن یک نمونه از Ùایل مناسب، از گزینهٔ "خروجی کاربران" در بالا استÙاده کنید. id های تکراری در جدول در نظر گرÙته نمی‌شوند. + +به ازای هر کاربری Ú©Ù‡ با موÙقیت اضاÙÙ‡ شود یک رمز تولید Ùˆ ایمیل می‌شود. \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/fa/lang.php b/lib/plugins/usermanager/lang/fa/lang.php index bb2505a2774e949afb7fe3f13e9521adce285e9e..cfa14f23b3b02e567933d29c39a3c5a9135178ad 100644 --- a/lib/plugins/usermanager/lang/fa/lang.php +++ b/lib/plugins/usermanager/lang/fa/lang.php @@ -12,6 +12,7 @@ * @author AmirH Hassaneini <mytechmix@gmail.com> * @author Hamid <zarrabi@sharif.edu> * @author Mohamad Mehdi Habibi <habibi.esf@gmail.com> + * @author Masoud Sadrnezhaad <masoud@sadrnezhaad.ir> */ $lang['menu'] = 'مدیریت کاربر'; $lang['noauth'] = '(معتبرسازی کاربر ممکن نیست)'; @@ -34,7 +35,10 @@ $lang['search'] = 'جستجو'; $lang['search_prompt'] = 'انجام جستجو'; $lang['clear'] = 'بازنویسی Ùیلترهای جستجو'; $lang['filter'] = 'Ùیلتر'; +$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 کاربر.'; @@ -56,3 +60,24 @@ $lang['add_ok'] = 'کاربر با موÙقیت اÙزوده شد $lang['add_fail'] = 'اÙزودن کاربر با مشکل مواجه شد'; $lang['notify_ok'] = 'ایمیل آگاهی‌دهنده ارسال شد'; $lang['notify_fail'] = 'ارسال ایمیل آگاهی‌دهنده با مشکل مواجه شد'; +$lang['import_userlistcsv'] = 'Ùایل لیست کاربران (CSV):'; +$lang['import_header'] = 'آخرین ایمپورت - خطا'; +$lang['import_success_count'] = 'ایمپورت کاربران: %d کاربر پیدا شد، %d با موÙقیت وارد شد.'; +$lang['import_failure_count'] = 'ایمپورت کاربران: %d ناموÙÙ‚. موارد ناموÙÙ‚ در پایین Ùهرست شده.'; +$lang['import_error_fields'] = 'Ùیلدهای ناکاÙÛŒ. %d تا پیدا شد ولی Û´ تا لازم است.'; +$lang['import_error_baduserid'] = 'id کاربر وارد نشده'; +$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 برای اصلاØ'; +$lang['addUser_error_missing_pass'] = 'لطÙا یک پسورد وارد کنید یا آگاهی‌رسان کاربر را Ùعال کنید تا امکان تولید پسورد ایجاد شود'; +$lang['addUser_error_pass_not_identical'] = 'پسورد وارد شده معتبر نیست.'; +$lang['addUser_error_modPass_disabled'] = 'پسوردهای تغییریاÙتنی غیرÙعال است.'; +$lang['addUser_error_name_missing'] = 'لطÙا یک نام برای کاربر جدید وارد کنید.'; +$lang['addUser_error_modName_disabled'] = 'نام‌های تغییریاÙتنی غیر Ùعال است.'; +$lang['addUser_error_mail_missing'] = 'لطÙا یک نشانی ایمیل برای کاربر جدید وارد نمایید.'; +$lang['addUser_error_modMail_disabled'] = 'ایمیل‌های تغییریاÙتنی غیر Ùعال است.'; +$lang['addUser_error_create_event_failed'] = 'اÙزونه از اضاÙÙ‡ شدن کاربر جدید جلوگیری کرد. برای اطلاعات بیشتر پیغام‌های اØتمالی دیگر را مطالعه کنید.'; diff --git a/lib/plugins/usermanager/lang/fr/lang.php b/lib/plugins/usermanager/lang/fr/lang.php index dd0e64fc4d6433f177fe0e0f2e7d06d70bbc3bc8..eef81c6c5bf0fd98f68d864c2d5e53054a875311 100644 --- a/lib/plugins/usermanager/lang/fr/lang.php +++ b/lib/plugins/usermanager/lang/fr/lang.php @@ -15,15 +15,15 @@ * @author Florian Gaub <floriang@floriang.net> * @author Samuel Dorsaz samuel.dorsaz@novelion.net * @author Johan Guilbaud <guilbaud.johan@gmail.com> - * @author schplurtz@laposte.net * @author skimpax@gmail.com * @author Yannick Aure <yannick.aure@gmail.com> * @author Olivier DUVAL <zorky00@gmail.com> * @author Anael Mobilia <contrib@anael.eu> * @author Bruno Veilleux <bruno.vey@gmail.com> * @author Antoine Turmel <geekshadow@gmail.com> - * @author schplurtz <Schplurtz@laposte.net> * @author Jérôme Brandt <jeromebrandt@gmail.com> + * @author Schplurtz le Déboulonné <Schplurtz@laposte.net> + * @author Olivier Humbert <trebmuh@tuxfamily.org> */ $lang['menu'] = 'Gestion des utilisateurs'; $lang['noauth'] = '(authentification de l\'utilisateur non disponible)'; @@ -84,3 +84,11 @@ $lang['import_error_readfail'] = 'L\'import a échoué. Impossible de lire le fi $lang['import_error_create'] = 'Impossible de créer l\'utilisateur'; $lang['import_notify_fail'] = 'Impossible d\'expédier une notification à l\'utilisateur importé %s, adresse %s.'; $lang['import_downloadfailures'] = 'Télécharger les erreurs au format CSV pour correction'; +$lang['addUser_error_missing_pass'] = 'Veuillez saisir un mot de passe ou activer la notification à l\'utilisateur pour permettre la génération d\'un mot de passe.'; +$lang['addUser_error_pass_not_identical'] = 'Les mots de passe saisis diffèrent.'; +$lang['addUser_error_modPass_disabled'] = 'La modification des mots de passe est actuellement désactivée.'; +$lang['addUser_error_name_missing'] = 'Veuillez saisir un nom pour le nouvel utilisateur.'; +$lang['addUser_error_modName_disabled'] = 'La modification des noms est actuellement désactivée.'; +$lang['addUser_error_mail_missing'] = 'Veuillez saisir une adressse de courriel pour le nouvel utilisateur.'; +$lang['addUser_error_modMail_disabled'] = 'La modification des adresses de courriel est actuellement désactivée.'; +$lang['addUser_error_create_event_failed'] = 'Un greffon a empêché l\'ajout du nouvel utilisateur. Examinez les autres messages potentiels pour obtenir de plus amples informations.'; diff --git a/lib/plugins/usermanager/lang/it/import.txt b/lib/plugins/usermanager/lang/it/import.txt new file mode 100644 index 0000000000000000000000000000000000000000..ed7b0001183d9f8a2c1e7111aec9ae779a5e4e3f --- /dev/null +++ b/lib/plugins/usermanager/lang/it/import.txt @@ -0,0 +1,9 @@ +===== Importazione Bulk di utente ===== + +Richiesto un file CSV di utenti con almeno quattro colonne. +Le colonne devono contenere, in ordine: ID utente, nome completo, indirizzo e-mail e gruppi. +I campi CSV devono essere separati da una virgola (,) e le stringhe delimitate con apici (%%""%%). Il backslash (\) può essere usato come carattere di escape, cioè per indicare che il carattere successivo deve essere trattato in maniera speciale. +Per un esempio di file tipo, prova la funzione "Esporta Utenti" che trovi qui sopra. +Verranno ignorati gli ID utenti duplicati. + +Verrà generata una password ed inviata via e-mail ad ogni utente correttamente importato. \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/it/lang.php b/lib/plugins/usermanager/lang/it/lang.php index ffded3481af1d33a162dad226b60d63bc32e7ec4..fe52d5e91a877b78ac552805670303dbf123d80b 100644 --- a/lib/plugins/usermanager/lang/it/lang.php +++ b/lib/plugins/usermanager/lang/it/lang.php @@ -18,6 +18,7 @@ * @author Claudio Lanconelli <lancos@libero.it> * @author Francesco <francesco.cavalli@hotmail.com> * @author Fabio <fabioslurp@yahoo.it> + * @author Torpedo <dgtorpedo@gmail.com> */ $lang['menu'] = 'Gestione Utenti'; $lang['noauth'] = '(autenticazione non disponibile)'; @@ -65,6 +66,8 @@ $lang['add_ok'] = 'Utente aggiunto correttamente'; $lang['add_fail'] = 'Aggiunta utente fallita'; $lang['notify_ok'] = 'Email di notifica inviata'; $lang['notify_fail'] = 'L\'email di notifica non può essere inviata'; +$lang['import_userlistcsv'] = 'File lista utente (CSV):'; +$lang['import_header'] = 'Importazioni più recenti - Non riuscite'; $lang['import_success_count'] = 'Importazione utenti: %d utenti trovati, %d utenti importati con successo.'; $lang['import_failure_count'] = 'Importazione utenti: %d falliti. Errori riportati qui sotto.'; $lang['import_error_fields'] = 'Campi insufficienti, trovati %d, richiesti 4.'; @@ -74,3 +77,13 @@ $lang['import_error_badmail'] = 'Indirizzo email errato'; $lang['import_error_upload'] = 'Importazione fallita. Il file CSV non può essere caricato, o è vuoto.'; $lang['import_error_readfail'] = 'Importazione in errore. Impossibile leggere i file caricati.'; $lang['import_error_create'] = 'Impossibile creare l\'utente'; +$lang['import_notify_fail'] = 'Non è stato possibile inviare un messaggio di notifica per l\'utente importato %s con e-mail %s.'; +$lang['import_downloadfailures'] = 'Scarica operazioni non riuscite come CSV per correzione'; +$lang['addUser_error_missing_pass'] = 'Imposta una password oppure attiva la notifica utente per abilitare la generazione password.'; +$lang['addUser_error_pass_not_identical'] = 'Le password inserite non sono identiche.'; +$lang['addUser_error_modPass_disabled'] = 'La modifica delle password è al momento disabilitata.'; +$lang['addUser_error_name_missing'] = 'Inserire un nome per il nuovo utente.'; +$lang['addUser_error_modName_disabled'] = 'La modifica dei nomi è al momento disabilitata.'; +$lang['addUser_error_mail_missing'] = 'Inserire un indirizzo e-mail per il nuovo utente.'; +$lang['addUser_error_modMail_disabled'] = 'La modifica degli indirizzi e-mail è al momento disabilitata.'; +$lang['addUser_error_create_event_failed'] = 'Un plugin ha impedito che il nuovo utente venisse aggiunto. Rivedere gli altri messaggi per maggiori informazioni.'; diff --git a/lib/plugins/usermanager/lang/ja/import.txt b/lib/plugins/usermanager/lang/ja/import.txt index 6af87c263e750dd28e0636b92b714d44a295407d..4987df0e3b8a3ded7f492da1db19c72ad9c89de4 100644 --- a/lib/plugins/usermanager/lang/ja/import.txt +++ b/lib/plugins/usermanager/lang/ja/import.txt @@ -1,7 +1,7 @@ ===== 一括ユーザーインãƒãƒ¼ãƒˆ ===== å°‘ãªãã¨ã‚‚4列ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼CSVファイルãŒå¿…è¦ã§ã™ã€‚ -列ã®é †åºï¼šãƒ¦ãƒ¼ã‚¶ãƒ¼IDã€æ°åã€é›»åメールアドレスã€ã‚°ãƒ«ãƒ¼ãƒ—。 +列ã®é †åºï¼š ユーザーIDã€ãƒ•ãƒ«ãƒãƒ¼ãƒ ã€é›»åメールアドレスã€ã‚°ãƒ«ãƒ¼ãƒ—。 CSVフィールドã¯ã‚«ãƒ³ãƒžï¼ˆ,)区切りã€æ–‡å—列ã¯å¼•ç”¨ç¬¦ï¼ˆ%%""%%)区切りã§ã™ã€‚ エスケープã«ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ï¼ˆ\)を使用ã§ãã¾ã™ã€‚ é©åˆ‡ãªãƒ•ã‚¡ã‚¤ãƒ«ä¾‹ã¯ã€ä¸Šè¨˜ã®"エクスãƒãƒ¼ãƒˆãƒ¦ãƒ¼ã‚¶ãƒ¼"機能ã§è©¦ã—ã¦ä¸‹ã•ã„。 diff --git a/lib/plugins/usermanager/lang/ja/lang.php b/lib/plugins/usermanager/lang/ja/lang.php index 23109f2a29a42db53abe76e43ef351b9c02eb0f2..ad55a3e8ae97e4b4060e340c2467f0533325633b 100644 --- a/lib/plugins/usermanager/lang/ja/lang.php +++ b/lib/plugins/usermanager/lang/ja/lang.php @@ -19,7 +19,7 @@ $lang['nosupport'] = '(ユーザー管ç†ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ $lang['badauth'] = 'èªè¨¼ã®ãƒ¡ã‚«ãƒ‹ã‚ºãƒ ãŒç„¡åŠ¹ã§ã™'; $lang['user_id'] = 'ユーザー'; $lang['user_pass'] = 'パスワード'; -$lang['user_name'] = 'æ°å'; +$lang['user_name'] = 'フルãƒãƒ¼ãƒ '; $lang['user_mail'] = 'メールアドレス'; $lang['user_groups'] = 'グループ'; $lang['field'] = 'é …ç›®'; @@ -65,10 +65,18 @@ $lang['import_success_count'] = 'ユーザーインãƒãƒ¼ãƒˆï¼šãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒ% $lang['import_failure_count'] = 'ユーザーインãƒãƒ¼ãƒˆï¼š%d件ãŒå¤±æ•—ã—ã¾ã—ãŸã€‚失敗ã¯æ¬¡ã®ã¨ãŠã‚Šã§ã™ã€‚'; $lang['import_error_fields'] = '列ã®ä¸è¶³ï¼ˆï¼”列必è¦ï¼‰ãŒ%d件ã‚ã‚Šã¾ã—ãŸã€‚'; $lang['import_error_baduserid'] = 'æ¬ è½ã—ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ID'; -$lang['import_error_badname'] = 'ä¸æ£ãªæ°å'; +$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ファイルã¨ã—ã¦ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã™ã‚‹ã€‚'; +$lang['addUser_error_missing_pass'] = 'パスワードをè¨å®šã™ã‚‹ã‹ãƒ‘スワードã®è‡ªå‹•ç”Ÿæˆã§ãるよã†ã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¸ã®é€šçŸ¥ã‚’有効ã«ã—ã¦ä¸‹ã•ã„。'; +$lang['addUser_error_pass_not_identical'] = '入力ã•ã‚ŒãŸãƒ‘スワードã¯åŒä¸€ã§ã¯ã‚ã‚Šã¾ã›ã‚“。'; +$lang['addUser_error_modPass_disabled'] = 'パスワードã®å¤‰æ›´ã¯ç¾åœ¨ç„¡åŠ¹ã«ãªã£ã¦ã„ã¾ã™ã€‚'; +$lang['addUser_error_name_missing'] = 'æ–°è¦ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ãƒ•ãƒ«ãƒãƒ¼ãƒ を入力ã—ã¦ãã ã•ã„。'; +$lang['addUser_error_modName_disabled'] = 'フルãƒãƒ¼ãƒ ã®å¤‰æ›´ã¯ç¾åœ¨ç„¡åŠ¹ã«ãªã£ã¦ã„ã¾ã™ã€‚'; +$lang['addUser_error_mail_missing'] = 'æ–°è¦ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’入力ã—ã¦ãã ã•ã„。'; +$lang['addUser_error_modMail_disabled'] = 'メールアドレスã®å¤‰æ›´ã¯ç¾åœ¨ç„¡åŠ¹ã«ãªã£ã¦ã„ã¾ã™ã€‚'; +$lang['addUser_error_create_event_failed'] = 'プラグインãŒæ–°è¦ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®è¿½åŠ を抑æ¢ã—ã¾ã—ãŸã€‚詳細ã«ã¤ã„ã¦ã¯ã€ä»–ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã§ç¢ºèªã§ãã¾ã™ã€‚'; diff --git a/lib/plugins/usermanager/lang/ko/lang.php b/lib/plugins/usermanager/lang/ko/lang.php index bc76470e84911dd059a22bf5ee0dbfe1254b042a..af020a72df9401c29577005f4b16ee8389c02ba5 100644 --- a/lib/plugins/usermanager/lang/ko/lang.php +++ b/lib/plugins/usermanager/lang/ko/lang.php @@ -11,6 +11,7 @@ * @author Myeongjin <aranet100@gmail.com> * @author Gerrit Uitslag <klapinklapin@gmail.com> * @author Garam <rowain8@gmail.com> + * @author Erial <erial2@gmail.com> */ $lang['menu'] = 'ì‚¬ìš©ìž ê´€ë¦¬ìž'; $lang['noauth'] = '(ì‚¬ìš©ìž ì¸ì¦ì„ ì‚¬ìš©í• ìˆ˜ 없습니다)'; @@ -43,7 +44,7 @@ $lang['nonefound'] = 'ì°¾ì€ ì‚¬ìš©ìžê°€ 없습니다. ì „ì²´ 사 $lang['delete_ok'] = 'ì‚¬ìš©ìž %dëª…ì´ ì‚ì œë˜ì—ˆìŠµë‹ˆë‹¤'; $lang['delete_fail'] = 'ì‚¬ìš©ìž %dëª…ì„ ì‚ì œí•˜ëŠ” ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤.'; $lang['update_ok'] = 'ì‚¬ìš©ìž ì •ë³´ë¥¼ 성공ì 으로 바꾸었습니다'; -$lang['update_fail'] = 'ì‚¬ìš©ìž ì •ë³´ë¥¼ 바꾸는 ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤'; +$lang['update_fail'] = 'ì‚¬ìš©ìž ì •ë³´ë¥¼ ì—…ë°ì´íŠ¸í•˜ëŠ” ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤'; $lang['update_exists'] = 'ì‚¬ìš©ìž ì´ë¦„ì„ ë°”ê¾¸ëŠ” ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤. ì‚¬ìš©ìž ì´ë¦„(%s)ì´ ì´ë¯¸ 존재합니다. (다른 í•ëª©ì˜ ë°”ë€œì€ ì ìš©ë©ë‹ˆë‹¤)'; $lang['start'] = '시작'; $lang['prev'] = 'ì´ì „'; @@ -53,7 +54,7 @@ $lang['edit_usermissing'] = 'ì„ íƒëœ 사용ìžë¥¼ ì°¾ì„ ìˆ˜ 없습니다 $lang['user_notify'] = '사용ìžì—게 알림'; $lang['note_notify'] = '사용ìžì—게 새로운 비밀번호를 준 경우ì—만 알림 ì´ë©”ì¼ì´ 보내집니다.'; $lang['note_group'] = '새로운 사용ìžëŠ” ì–´ë–¤ ê·¸ë£¹ë„ ì„¤ì •í•˜ì§€ ì•Šì€ ê²½ìš°ì— ê¸°ë³¸ 그룹(%s)ì— ì¶”ê°€ë©ë‹ˆë‹¤.'; -$lang['note_pass'] = 'ì‚¬ìš©ìž ì•Œë¦¼ì´ ì§€ì •ë˜ì–´ ìžˆì„ ë•Œ í•„ë“œì— ì•„ë¬´ ê°’ë„ ìž…ë ¥í•˜ì§€ 않으면 비밀번호가 ìžë™ìœ¼ë¡œ 만들어집니다.'; +$lang['note_pass'] = 'ì‚¬ìš©ìž ì•Œë¦¼ì´ ì§€ì •ë˜ì–´ ìžˆì„ ë•Œ í•„ë“œì— ì•„ë¬´ ê°’ë„ ìž…ë ¥í•˜ì§€ 않으면 비밀번호가 ìžë™ìœ¼ë¡œ ìƒì„±ë©ë‹ˆë‹¤.'; $lang['add_ok'] = '사용ìžë¥¼ 성공ì 으로 추가했습니다'; $lang['add_fail'] = 'ì‚¬ìš©ìž ì¶”ê°€ë¥¼ 실패했습니다'; $lang['notify_ok'] = '알림 ì´ë©”ì¼ì„ 성공ì 으로 보냈습니다'; @@ -71,3 +72,11 @@ $lang['import_error_readfail'] = 'ê°€ì ¸ì˜¤ê¸°ë¥¼ 실패했습니다. 올린 파 $lang['import_error_create'] = '사용ìžë¥¼ 만들 수 없습니다'; $lang['import_notify_fail'] = '알림 메시지를 ê°€ì ¸ì˜¨ %s (ì´ë©”ì¼: %s) 사용ìžì—게 보낼 수 없습니다.'; $lang['import_downloadfailures'] = 'êµì •ì„ 위한 CSVë¡œ 다운로드 실패'; +$lang['addUser_error_missing_pass'] = '암호를 ìž…ë ¥í•˜ì‹œê±°ë‚˜, 암호 ìƒì„± ê¸°ëŠ¥ì´ ì¼œì§„ 경우 ì‚¬ìš©ìž ì•Œë¦¼ì„ í™œì„±í™” 해주ì‹ì‹œì˜¤.'; +$lang['addUser_error_pass_not_identical'] = 'ìž…ë ¥ëœ ì•”í˜¸ê°€ ì¼ì¹˜í•˜ì§€ 않습니다.'; +$lang['addUser_error_modPass_disabled'] = '현재 암호 ë³€ê²½ì´ ê¸ˆì§€ë˜ì–´ìžˆìŠµë‹ˆë‹¤'; +$lang['addUser_error_name_missing'] = '새 사용ìžì˜ ì´ë¦„ì„ ë„£ì–´ì£¼ì„¸ìš”.'; +$lang['addUser_error_modName_disabled'] = '현재 ì´ë¦„ ë³€ê²½ì´ ê¸ˆì§€ë˜ì–´ìžˆìŠµë‹ˆë‹¤.'; +$lang['addUser_error_mail_missing'] = '새 사용ìžì˜ ì´ë©”ì¼ ì£¼ì†Œë¥¼ 넣어주세요.'; +$lang['addUser_error_modMail_disabled'] = '현재 ì´ë©”ì¼ ì£¼ì†Œ ë³€ê²½ì´ ê¸ˆì§€ë˜ì–´ìžˆìŠµë‹ˆë‹¤.'; +$lang['addUser_error_create_event_failed'] = '새 ì‚¬ìš©ìž ì¶”ê°€ë¥¼ 플러그ì¸ì´ 막았습니다. ì •í™•í•œ ì •ë³´ë¥¼ 위한 메시지를 ë³´ê³ í•´ì£¼ì‹œê¸° ë°”ëžë‹ˆë‹¤.'; diff --git a/lib/plugins/usermanager/lang/lt/lang.php b/lib/plugins/usermanager/lang/lt/lang.php index db3cf2d32648c347b6fc28284d51d10669517ebd..3c002930395400845bdc390a5846b33e28e59e28 100644 --- a/lib/plugins/usermanager/lang/lt/lang.php +++ b/lib/plugins/usermanager/lang/lt/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Lithuanian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author grawity <grawity@gmail.com> * @author audrius.klevas@gmail.com * @author Arunas Vaitekunas <aras@fan.lt> diff --git a/lib/plugins/usermanager/lang/nl/lang.php b/lib/plugins/usermanager/lang/nl/lang.php index 3f9902e141e6478ae4b1740db5fc18b3699e08d3..ea85d0f7b73e2b28cc45c2eccb5723b75a7ecba2 100644 --- a/lib/plugins/usermanager/lang/nl/lang.php +++ b/lib/plugins/usermanager/lang/nl/lang.php @@ -16,6 +16,7 @@ * @author Ricardo Guijt <ricardoguijt@gmail.com> * @author Gerrit Uitslag <klapinklapin@gmail.com> * @author Rene <wllywlnt@yahoo.com> + * @author Wesley de Weerd <wesleytiel@gmail.com> */ $lang['menu'] = 'Gebruikersbeheer'; $lang['noauth'] = '(gebruikersauthenticatie niet beschikbaar)'; @@ -76,3 +77,11 @@ $lang['import_error_readfail'] = 'Importeren mislukt. Lezen van het geüploade b $lang['import_error_create'] = 'Aanmaken van de gebruiker was niet mogelijk.'; $lang['import_notify_fail'] = 'Notificatiebericht kon niet naar de geïmporteerde gebruiker worden verstuurd, %s met e-mail %s.'; $lang['import_downloadfailures'] = 'Download de gevonden fouten als CSV voor correctie'; +$lang['addUser_error_missing_pass'] = 'Vul een wachtwoord in of activeer de gebruikers notificatie om een wachtwoord te genereren.'; +$lang['addUser_error_pass_not_identical'] = 'De ingevulde wachtwoorden komen niet overeen'; +$lang['addUser_error_modPass_disabled'] = 'Het aanpassen van wachtwoorden is momenteel uitgeschakeld'; +$lang['addUser_error_name_missing'] = 'Vul een naam in voor de nieuwe gebruiker'; +$lang['addUser_error_modName_disabled'] = 'Het aanpassen van namen is momenteel uitgeschakeld'; +$lang['addUser_error_mail_missing'] = 'Vul een email adres in voor de nieuwe gebruiker'; +$lang['addUser_error_modMail_disabled'] = 'Het aanpassen van uw email adres is momenteel uitgeschakeld'; +$lang['addUser_error_create_event_failed'] = 'Een plugin heeft voorkomen dat de nieuwe gebruiker wordt toegevoegd . Bekijk mogelijke andere berichten voor meer informatie.'; diff --git a/lib/plugins/usermanager/lang/pt-br/import.txt b/lib/plugins/usermanager/lang/pt-br/import.txt new file mode 100644 index 0000000000000000000000000000000000000000..d692bb3642a5696992abf04ec66bcea53c21a713 --- /dev/null +++ b/lib/plugins/usermanager/lang/pt-br/import.txt @@ -0,0 +1,9 @@ +===== Importação de Usuários em Massa ===== + +Requer um arquivo CSV de usuários com pelo menos quatro colunas. +As colunas devem conter, nesta ordem: id-usuário, nome completo, endereço de e-mail e grupos. +Os campos CSV devem ser separados por vÃrgulas ( , ) e nomes delimitados por aspas (). Barra invertida (\ ) pode ser usado para escapar nomes. +Para um exemplo de um arquivo adequado , tente a função Exportar usuários acima. +Usuário ids duplicados serão ignorados. + +A senha será gerada e enviada para cada usuário importado com sucesso. \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/pt-br/lang.php b/lib/plugins/usermanager/lang/pt-br/lang.php index 356d139ebed6ee251a6510b2ede3870fee050c22..4c6ada86201fa5230c845ea431e20e066abc4b8d 100644 --- a/lib/plugins/usermanager/lang/pt-br/lang.php +++ b/lib/plugins/usermanager/lang/pt-br/lang.php @@ -21,6 +21,7 @@ * @author Leone Lisboa Magevski <leone1983@gmail.com> * @author Dário Estevão <darioems@gmail.com> * @author Juliano Marconi Lanigra <juliano.marconi@gmail.com> + * @author Guilherme Cardoso <guicardoso@gmail.com> */ $lang['menu'] = 'Gerenciamento de Usuários'; $lang['noauth'] = '(o gerenciamento de usuários não está disponÃvel)'; @@ -81,3 +82,9 @@ $lang['import_error_readfail'] = 'Falha na Importação: Habilitar para ler o ar $lang['import_error_create'] = 'Habilitar para criar o usuário.'; $lang['import_notify_fail'] = 'Mensagem de notificação não pode ser enviada para o usuário importado, %s com email %s.'; $lang['import_downloadfailures'] = 'Falhas no Download como CSV para correção'; +$lang['addUser_error_missing_pass'] = 'Por favor coloque uma senha ou ative as notificações do usuário para habilitar a geração de senhas.'; +$lang['addUser_error_pass_not_identical'] = 'As senhas fornecidas não são idênticas.'; +$lang['addUser_error_modPass_disabled'] = 'A alteração de senhas está atualmente desabilitada.'; +$lang['addUser_error_name_missing'] = 'Por favor entre com um nome para o novo usuário.'; +$lang['addUser_error_mail_missing'] = 'Por favor entre com um endereço de e-mail para o novo usuário.'; +$lang['addUser_error_create_event_failed'] = 'Uma extensão impediu que um novo usuário seja adicionado. Reveja outras mensagens para mais informações.'; diff --git a/lib/plugins/usermanager/lang/pt/lang.php b/lib/plugins/usermanager/lang/pt/lang.php index 43ea69e53e5cea7b1cab2c55b49480e0ee835faf..86885e415e3d0a69f994874dc3acd0996d4ebb55 100644 --- a/lib/plugins/usermanager/lang/pt/lang.php +++ b/lib/plugins/usermanager/lang/pt/lang.php @@ -9,6 +9,9 @@ * @author André Neves <drakferion@gmail.com> * @author José Campos zecarlosdecampos@gmail.com * @author Guido Salatino <guidorafael23@gmail.com> + * @author Romulo Pereira <romuloccomp@gmail.com> + * @author Paulo Carmino <contato@paulocarmino.com> + * @author Alfredo Silva <alfredo.silva@sky.com> */ $lang['menu'] = 'Gestor de Perfis'; $lang['noauth'] = '(autenticação indisponÃvel)'; diff --git a/lib/plugins/usermanager/lang/ru/import.txt b/lib/plugins/usermanager/lang/ru/import.txt index c92e47b4c8051dcaee2e04d10fdbebab726bb350..22372c25460364dca6a30b42ae403f35595fd78b 100644 --- a/lib/plugins/usermanager/lang/ru/import.txt +++ b/lib/plugins/usermanager/lang/ru/import.txt @@ -2,7 +2,8 @@ ПотребуетÑÑ ÑпиÑок пользователей в файле формата CSV, ÑоÑтоÑщий из 4 Ñтолбцов. Столбцы должны быть заполнены Ñледующим образом: user-id, полное имÑ, Ñл. почта, группы. -ÐŸÐ¾Ð»Ñ CSV должны быть отделены запÑтой (,), а Ñтроки должны быть заключены в кавычки (%%""%%). Обратный ÑлÑш иÑпользуетÑÑ ÐºÐ°Ðº прерывание. -Ð’ качеÑтве примера можете взÑÑ‚ÑŒ ÑпиÑок пользователей, ÑкÑпортированный через «ÐкÑпорт пользователей». ПовторÑющиеÑÑ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ñ‹ user-id будут игнорироватьÑÑ. +ÐŸÐ¾Ð»Ñ CSV должны быть отделены запÑтой (,), а Ñтроки должны быть заключены в кавычки (%%""%%). Обратный ÑлÑш (\) иÑпользуетÑÑ ÐºÐ°Ðº прерывание. +Ð’ качеÑтве примера можете взÑÑ‚ÑŒ ÑпиÑок пользователей, ÑкÑпортированный через «ÐкÑпорт пользователей». +ПовторÑющиеÑÑ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ñ‹ user-id будут игнорироватьÑÑ. Пароль доÑтупа будет Ñгенерирован и отправлен по почте удачно импортированному пользователю. \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/ru/lang.php b/lib/plugins/usermanager/lang/ru/lang.php index 0914d7b499f23cc4e2b7f6e87d86b79701825eee..ca39b879597cbe7b3112421fb11b13e24712416f 100644 --- a/lib/plugins/usermanager/lang/ru/lang.php +++ b/lib/plugins/usermanager/lang/ru/lang.php @@ -22,6 +22,7 @@ * @author Aleksandr Selivanov <alexgearbox@yandex.ru> * @author Igor Degraf <igordegraf@gmail.com> * @author Vitaly Filatenko <kot@hacktest.net> + * @author dimsharav <dimsharav@gmail.com> */ $lang['menu'] = 'Управление пользователÑми'; $lang['noauth'] = '(Ð°Ð²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹ недоÑтупна)'; @@ -45,8 +46,8 @@ $lang['search_prompt'] = 'ИÑкать'; $lang['clear'] = 'Ð¡Ð±Ñ€Ð¾Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð° поиÑка'; $lang['filter'] = 'Фильтр'; $lang['export_all'] = 'ÐкÑпорт вÑех пользователей (CSV)'; -$lang['export_filtered'] = 'ÐкÑпорт пользователей Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸ÐµÐ¹ ÑпиÑка (CSV)'; -$lang['import'] = 'Импорт новых пользователей'; +$lang['export_filtered'] = 'ÐкÑпорт отфильтрованного ÑпиÑка пользователей (CSV)'; +$lang['import'] = 'импортировать новых пользователей'; $lang['line'] = 'Строка â„–'; $lang['error'] = 'Ошибка'; $lang['summary'] = 'Показаны пользователи %1$d–%2$d из %3$d найденных. Ð’Ñего пользователей: %4$d.'; @@ -60,20 +61,20 @@ $lang['start'] = 'в начало'; $lang['prev'] = 'назад'; $lang['next'] = 'вперёд'; $lang['last'] = 'в конец'; -$lang['edit_usermissing'] = 'Выбранный пользователь не найден. Возможно, указанный логин был удалён или изменён извне.'; -$lang['user_notify'] = 'Сообщить пользователю'; -$lang['note_notify'] = 'ПиÑьма Ñ ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸ÐµÐ¼ выÑылаютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в Ñлучае Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ паролÑ.'; -$lang['note_group'] = 'ЕÑли группа не указана, новые пользователи будут добавлены в группу по умолчанию (%s).'; -$lang['note_pass'] = 'Пароль будет Ñгенерирован автоматичеÑки, еÑли поле оÑтавлено пуÑтым и включено уведомление пользователÑ.'; +$lang['edit_usermissing'] = 'Выбранный пользователь не найден. Возможно, указанный логин был удалён или изменён извне.'; +$lang['user_notify'] = 'ОповеÑтить пользователÑ'; +$lang['note_notify'] = 'ПиÑьма Ñ уведомлением выÑылаютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в Ñлучае Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ паролÑ.'; +$lang['note_group'] = 'ЕÑли группа не указана, новые пользователи будут добавлены в группу по умолчанию (%s).'; +$lang['note_pass'] = 'Пароль будет Ñгенерирован автоматичеÑки, еÑли поле оÑтавлено пуÑтым и включено уведомление пользователÑ.'; $lang['add_ok'] = 'Пользователь уÑпешно добавлен'; $lang['add_fail'] = 'Ðе удалоÑÑŒ добавить пользователÑ'; $lang['notify_ok'] = 'ПиÑьмо Ñ ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸ÐµÐ¼ отправлено'; $lang['notify_fail'] = 'Ðе удалоÑÑŒ отправить пиÑьмо Ñ ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸ÐµÐ¼'; $lang['import_userlistcsv'] = 'Файл Ñо ÑпиÑком пользователей (CSV):'; -$lang['import_header'] = 'ПоÑледний импорт - ÑпиÑок ошибок'; +$lang['import_header'] = 'ПоÑледний импорт — ÑпиÑок ошибок'; $lang['import_success_count'] = 'Импорт пользователей: %d пользователей найдено, %d импортировано уÑпешно.'; -$lang['import_failure_count'] = 'Импорт пользователей: %d не удалоÑÑŒ. СпиÑок ошибок прочтите ниже.'; -$lang['import_error_fields'] = 'Ðе вÑе Ð¿Ð¾Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ñ‹. Ðайдено %d, а нужно 4.'; +$lang['import_failure_count'] = 'Импорт пользователей: %d не удалоÑÑŒ. Ошибки перечиÑлены ниже.'; +$lang['import_error_fields'] = 'Ðе вÑе Ð¿Ð¾Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ñ‹. Ðайдено %d, а нужно: 4.'; $lang['import_error_baduserid'] = 'ОтÑутÑтвует идентификатор пользователÑ'; $lang['import_error_badname'] = 'Ð˜Ð¼Ñ Ð½Ðµ годитÑÑ'; $lang['import_error_badmail'] = 'ÐÐ´Ñ€ÐµÑ Ñлектронной почты не годитÑÑ'; @@ -82,3 +83,10 @@ $lang['import_error_readfail'] = 'Импорт не удалÑÑ. Ðевозмо $lang['import_error_create'] = 'Ðевозможно Ñоздать пользователÑ'; $lang['import_notify_fail'] = 'Оповещение не может быть отправлено импортированному пользователю %s по Ñлектронной почте %s.'; $lang['import_downloadfailures'] = 'Скачать ошибки в формате CSV Ð´Ð»Ñ Ð¸ÑправлениÑ'; +$lang['addUser_error_missing_pass'] = 'Ð”Ð»Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñти генерации паролÑ, пожалуйÑта, уÑтановите пароль или активируйте оповещениÑ.'; +$lang['addUser_error_pass_not_identical'] = 'Введённые ппароли не Ñовпадают.'; +$lang['addUser_error_modPass_disabled'] = 'Изменение Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð² наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾.'; +$lang['addUser_error_name_missing'] = 'Укажите Ð¸Ð¼Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ пользователÑ.'; +$lang['addUser_error_modName_disabled'] = 'Изменение имени в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾.'; +$lang['addUser_error_mail_missing'] = 'Укажите Ð°Ð´Ñ€ÐµÑ Ñл. почты нового пользователÑ.'; +$lang['addUser_error_modMail_disabled'] = 'Изменение e-mail в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾.'; diff --git a/lib/plugins/usermanager/lang/sk/lang.php b/lib/plugins/usermanager/lang/sk/lang.php index 535f77972a9b93a8dfe785e33e0bb065b82bc462..a3ae713953e344484b60395829305dbe04179788 100644 --- a/lib/plugins/usermanager/lang/sk/lang.php +++ b/lib/plugins/usermanager/lang/sk/lang.php @@ -40,7 +40,7 @@ $lang['delete_ok'] = '%d užÃvateľov zmazaných'; $lang['delete_fail'] = '%d chýb vymazania.'; $lang['update_ok'] = 'UžÃvateľ úspeÅ¡ne zmenený'; $lang['update_fail'] = 'Chyba zmeny užÃvateľa'; -$lang['update_exists'] = 'Chyba zmeny užÃvateľa, užÃvateľské meno (%s) už existuje (iné zmeny budú zaznamenané).'; +$lang['update_exists'] = 'Chyba zmeny mena použÃvateľa, použÃvateľské meno (%s) už existuje (iné zmeny budú zaznamenané).'; $lang['start'] = 'prvé'; $lang['prev'] = 'predoÅ¡lé'; $lang['next'] = 'ÄalÅ¡ie'; diff --git a/lib/plugins/usermanager/lang/zh/lang.php b/lib/plugins/usermanager/lang/zh/lang.php index b833c6ce4650ab37846eb69b86afc9468aab8fb0..69d0c818907aa7bab2cdc3abbd8737ebac556b92 100644 --- a/lib/plugins/usermanager/lang/zh/lang.php +++ b/lib/plugins/usermanager/lang/zh/lang.php @@ -18,6 +18,7 @@ * @author Rachel <rzhang0802@gmail.com> * @author Yangyu Huang <yangyu.huang@gmail.com> * @author oott123 <ip.192.168.1.1@qq.com> + * @author Garfield <garfield_550@outlook.com> */ $lang['menu'] = '用户管ç†å™¨'; $lang['noauth'] = '(用户认è¯ä¸å¯ç”¨ï¼‰'; @@ -78,3 +79,11 @@ $lang['import_error_readfail'] = 'å¯¼å…¥å¤±è´¥ã€‚æ— æ³•è¯»å–ä¸Šä¼ çš„æ–‡ä»¶ã€‚' $lang['import_error_create'] = 'ä¸èƒ½åˆ›å»ºæ–°ç”¨æˆ·'; $lang['import_notify_fail'] = '通知消æ¯æ— 法å‘é€åˆ°å¯¼å…¥çš„用户 %s,电å邮件地å€æ˜¯ %s。'; $lang['import_downloadfailures'] = '下载CSV的错误信æ¯ä»¥ä¿®æ£ã€‚'; +$lang['addUser_error_missing_pass'] = '请设置一个密ç 或者激活用户通知æ¥å¯ç”¨å¯†ç 生æˆã€‚'; +$lang['addUser_error_pass_not_identical'] = '输入的密ç ä¸ç›¸åŒã€‚'; +$lang['addUser_error_modPass_disabled'] = '修改密ç å·²ç¦ç”¨'; +$lang['addUser_error_name_missing'] = '请为新用户输入一个åå—。'; +$lang['addUser_error_modName_disabled'] = '修改åå—å·²ç¦ç”¨'; +$lang['addUser_error_mail_missing'] = '请为新用户输入一个电å邮件地å€ã€‚'; +$lang['addUser_error_modMail_disabled'] = '修改邮件地å€å·²ç¦ç”¨'; +$lang['addUser_error_create_event_failed'] = '一个æ’件阻æ¢äº†æ·»åŠ 新用户。请查看其它å¯èƒ½çš„消æ¯æ¥èŽ·å–更多信æ¯ã€‚'; diff --git a/lib/plugins/usermanager/plugin.info.txt b/lib/plugins/usermanager/plugin.info.txt index ae4f9b9ccab4ead43febf119ee0a153d1c65a830..607eca75f0de2350469fb0153a84318559371be8 100644 --- a/lib/plugins/usermanager/plugin.info.txt +++ b/lib/plugins/usermanager/plugin.info.txt @@ -1,7 +1,7 @@ base usermanager author Chris Smith email chris@jalakai.co.uk -date 2014-03-05 +date 2015-07-15 name User Manager desc Manage DokuWiki user accounts url http://dokuwiki.org/plugin:usermanager diff --git a/lib/plugins/usermanager/style.css b/lib/plugins/usermanager/style.css index d119b195a0475eb0cadb7143436f4cd9ec7f71d8..9028fed5eb58d0e66cd866864c50943d83c27442 100644 --- a/lib/plugins/usermanager/style.css +++ b/lib/plugins/usermanager/style.css @@ -17,7 +17,7 @@ padding-left: 0; padding-right: 1.4em; } -#user__manager input.button[disabled] { +#user__manager button[disabled] { color: #ccc!important; border-color: #ccc!important; } diff --git a/lib/scripts/behaviour.js b/lib/scripts/behaviour.js index fb61f6e48b4de063787f30c10ab9affbe18a5759..b05949a90533f97f6f094add3690dbeaeed60d76 100644 --- a/lib/scripts/behaviour.js +++ b/lib/scripts/behaviour.js @@ -1,37 +1,41 @@ /** * Hides elements with a slide animation * - * @param fn optional callback to run after hiding + * @param {function} fn optional callback to run after hiding + * @param {bool} noaria supress aria-expanded state setting * @author Adrian Lang <mail@adrianlang.de> */ -jQuery.fn.dw_hide = function(fn) { - this.attr('aria-expanded', 'false'); +jQuery.fn.dw_hide = function(fn, noaria) { + if(!noaria) this.attr('aria-expanded', 'false'); return this.slideUp('fast', fn); }; /** * Unhides elements with a slide animation * - * @param fn optional callback to run after hiding + * @param {function} fn optional callback to run after hiding + * @param {bool} noaria supress aria-expanded state setting * @author Adrian Lang <mail@adrianlang.de> */ -jQuery.fn.dw_show = function(fn) { - this.attr('aria-expanded', 'true'); +jQuery.fn.dw_show = function(fn, noaria) { + if(!noaria) this.attr('aria-expanded', 'true'); return this.slideDown('fast', fn); }; /** * Toggles visibility of an element using a slide element * - * @param bool the current state of the element (optional) + * @param {bool} state the current state of the element (optional) + * @param {function} fn callback after the state has been toggled + * @param {bool} noaria supress aria-expanded state setting */ -jQuery.fn.dw_toggle = function(bool, fn) { +jQuery.fn.dw_toggle = function(state, fn, noaria) { return this.each(function() { var $this = jQuery(this); - if (typeof bool === 'undefined') { - bool = $this.is(':hidden'); + if (typeof state === 'undefined') { + state = $this.is(':hidden'); } - $this[bool ? "dw_show" : "dw_hide" ](fn); + $this[state ? "dw_show" : "dw_hide" ](fn, noaria); }); }; @@ -107,7 +111,7 @@ var dw_behaviour = { quickSelect: function(){ jQuery('select.quickselect') .change(function(e){ e.target.form.submit(); }) - .closest('form').find('input[type=submit]').not('.show').hide(); + .closest('form').find(':button').not('.show').hide(); }, /** @@ -171,10 +175,10 @@ var dw_behaviour = { if($checked.length < 2){ $all.attr('disabled',false); - jQuery('#page__revisions input[type=submit]').attr('disabled',true); + jQuery('#page__revisions button').attr('disabled',true); }else{ $all.attr('disabled',true); - jQuery('#page__revisions input[type=submit]').attr('disabled',false); + jQuery('#page__revisions button').attr('disabled',false); for(var i=0; i<$checked.length; i++){ $checked[i].disabled = false; if(i>1){ diff --git a/lib/scripts/compatibility.js b/lib/scripts/compatibility.js index fc020cce80845d7207009b4437d60098ee06b1e5..154aeadf7266fe31697c43b759c15c2c53a2a48b 100644 --- a/lib/scripts/compatibility.js +++ b/lib/scripts/compatibility.js @@ -40,398 +40,3 @@ function DEPRECATED_WRAP(func, context) { return func.apply(context || this, arguments); }; } - -/** - * Handy shortcut to document.getElementById - * - * This function was taken from the prototype library - * - * @link http://prototype.conio.net/ - */ -function $() { - DEPRECATED('Please use the jQuery() function instead.'); - - var elements = new Array(); - - for (var i = 0; i < arguments.length; i++) { - var element = arguments[i]; - if (typeof element == 'string') - element = document.getElementById(element); - - if (arguments.length == 1) - return element; - - elements.push(element); - } - - return elements; -} - - - - -var index = { - throbber_delay: dw_index.throbber_delay, - toggle: DEPRECATED_WRAP(dw_index.toggle, dw_index), - treeattach: DEPRECATED_WRAP(dw_index.treeattach, dw_index) -}; - -var ajax_quicksearch = { - init: function() { - DEPRECATED('Use jQuery().dw_qsearch() instead'); - jQuery('#qsearch__in').dw_qsearch({ - output: '#qsearch__out' - }); - }, - clear_results: function() { - DEPRECATED('ajax_quicksearch.clear_results is removed'); - }, - onCompletion: function() { - DEPRECATED('ajax_quicksearch.onCompletion is removed'); - } -}; -var dw_qsearch = { - init: function(input, output) { - DEPRECATED('Use jQuery().dw_qsearch() instead'); - jQuery(input).dw_qsearch({ - output: output - }); - }, - clear_results: function() { - DEPRECATED('dw_qsearch.clear_results is removed'); - }, - onCompletion: function() { - DEPRECATED('dw_qsearch.onCompletion is removed'); - } -}; - -var linkwiz = { - init: DEPRECATED_WRAP(dw_linkwiz.init, dw_linkwiz), - onEntry: DEPRECATED_WRAP(dw_linkwiz.onEntry, dw_linkwiz), - getResult: DEPRECATED_WRAP(dw_linkwiz.getResult, dw_linkwiz), - select: DEPRECATED_WRAP(dw_linkwiz.select, dw_linkwiz), - deselect: DEPRECATED_WRAP(dw_linkwiz.deselect, dw_linkwiz), - onResultClick: DEPRECATED_WRAP(dw_linkwiz.onResultClick, dw_linkwiz), - resultClick: DEPRECATED_WRAP(dw_linkwiz.resultClick, dw_linkwiz), - insertLink: DEPRECATED_WRAP(dw_linkwiz.insertLink, dw_linkwiz), - autocomplete: DEPRECATED_WRAP(dw_linkwiz.autocomplete, dw_linkwiz), - autocomplete_exec: DEPRECATED_WRAP(dw_linkwiz.autocomplete_exec, dw_linkwiz), - show: DEPRECATED_WRAP(dw_linkwiz.show, dw_linkwiz), - hide: DEPRECATED_WRAP(dw_linkwiz.hide, dw_linkwiz), - toggle: DEPRECATED_WRAP(dw_linkwiz.toggle, dw_linkwiz) -}; - -var locktimer = { - init: DEPRECATED_WRAP(dw_locktimer.init, dw_locktimer), - reset: DEPRECATED_WRAP(dw_locktimer.reset, dw_locktimer), - warning: DEPRECATED_WRAP(dw_locktimer.warning, dw_locktimer), - clear: DEPRECATED_WRAP(dw_locktimer.clear, dw_locktimer), - refresh: DEPRECATED_WRAP(dw_locktimer.refresh, dw_locktimer), - refreshed: DEPRECATED_WRAP(dw_locktimer.refreshed, dw_locktimer) -}; - -var media_manager = { - // treeattach, selectorattach, confirmattach are munched together into - // dw_mediamanager.init - attachoptions: DEPRECATED_WRAP(dw_mediamanager.attachoptions, dw_mediamanager), - togglekeepopen: function (event, cb) { - DEPRECATED('Use dw_mediamanager.toggleOption instead'); - return dw_mediamanager.toggleOption.call(cb, 'keepopen'); - }, - togglehide: function (event, cb) { - DEPRECATED('Use dw_mediamanager.toggleOption instead'); - return dw_mediamanager.toggleOption.call(cb, 'hide'); - }, - updatehide: DEPRECATED_WRAP(dw_mediamanager.updatehide, dw_mediamanager), - select: function (event, link) { - DEPRECATED('Use dw_mediamanager.select instead'); - return dw_mediamanager.select.call(link, event); - }, - initpopup: DEPRECATED_WRAP(dw_mediamanager.initpopup, dw_mediamanager), - insert: DEPRECATED_WRAP(dw_mediamanager.insert, dw_mediamanager), - list: function (event, link) { - DEPRECATED('Use dw_mediamanager.list instead'); - return dw_mediamanager.list.call(link, event); - }, - // toggle is handled by dw_tree - suggest: DEPRECATED_WRAP(dw_mediamanager.suggest, dw_mediamanager), - initFlashUpload: DEPRECATED_WRAP(dw_mediamanager.initFlashUpload, dw_mediamanager), - closePopup: function () { - DEPRECATED(); - dw_mediamanager.$popup.dialog('close'); - }, - setalign: function (event, cb) { - DEPRECATED('Use dw_mediamanager.setOpt instead'); - return dw_mediamanager.setOpt.call(this, 'align', event); - }, - setlink: function (event, cb) { - DEPRECATED('Use dw_mediamanager.setOpt instead'); - return dw_mediamanager.setOpt.call(this, 'link', event); - }, - setsize: function (event, cb) { - DEPRECATED('Use dw_mediamanager.setOpt instead'); - return dw_mediamanager.setOpt.call(this, 'size', event); - }, - outSet: function (id) { - DEPRECATED(); - return jQuery(id).removeClass('selected'); - }, - inSet: function (id) { - DEPRECATED(); - return jQuery(id).addClass('selected'); - } -}; - -initSizeCtl = DEPRECATED_WRAP(dw_editor.initSizeCtl); -sizeCtl = DEPRECATED_WRAP(dw_editor.sizeCtl); -toggleWrap = DEPRECATED_WRAP(dw_editor.toggleWrap); -setWrap = DEPRECATED_WRAP(dw_editor.setWrap); - -function findPosX(object){ - DEPRECATED('Use jQuery.offset() instead'); - return jQuery(object).offset().left; -} - -function findPosY(object){ - DEPRECATED('Use jQuery.offset() instead'); - return jQuery(object).offset().top; -} - -function getElementsByClass(searchClass,node,tag){ - DEPRECATED('Use jQuery() instead'); - if(node == null) node = document; - if(typeof tag === 'undefined') tag = ''; - return jQuery(node).find(tag+'.'+searchClass).toArray(); -} - -function prependChild(parent,element) { - DEPRECATED('Use jQuery.prepend() instead'); - jQuery(parent).prepend(element); -} - -function addEvent(element, type, handler) { - DEPRECATED('Use jQuery.bind() instead. Note that jQuery’s behaviour' + - ' when a handler returns false differs from addEvent’s'); - jQuery(element).bind(type,{},function (e) { - // returning false in an addEvent event handler did not prevent - // bubbling but just canceled handlers on this node and prevented - // default behavior, so wrap the handler call and mimic that behavior. - // - // Refer to jQuery.event.handle(). - var ret = handler.apply(this, Array.prototype.slice.call(arguments, 0)); - if (typeof ret !== 'undefined') { - if ( ret !== false ) { - return ret; - } - // What jQuery does. - e.result = ret; - e.preventDefault(); - // Not what jQuery does. This would be: event.stopPropagation(); - // Hack it so that immediate propagation (other event handlers on - // this element) appears stopped without stopping the actual - // propagation (bubbling) - e.isImmediatePropagationStopped = function () { return true; }; - } - }); -} - -function removeEvent(element, type, handler) { - DEPRECATED('Use jQuery.unbind() instead.'); - jQuery(element).unbind(type,handler); -} - -function addInitEvent(func) { - DEPRECATED('Use jQuery(<function>) instead'); - jQuery(func); -} - - -function jsEscape(text){ - DEPRECATED('Insert text through jQuery.text() instead of escaping on your own'); - var re=new RegExp("\\\\","g"); - text=text.replace(re,"\\\\"); - re=new RegExp("'","g"); - text=text.replace(re,"\\'"); - re=new RegExp('"',"g"); - text=text.replace(re,'"'); - re=new RegExp("\\\\\\\\n","g"); - text=text.replace(re,"\\n"); - return text; -} - -/** - * Simple function to check if a global var is defined - * - * @author Kae Verens - * @link http://verens.com/archives/2005/07/25/isset-for-javascript/#comment-2835 - */ -function isset(varname){ - DEPRECATED("Use `typeof var !== 'undefined'` instead"); - return(typeof(window[varname])!='undefined'); -} - -/** - * Checks if property is undefined - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public - * @author Ilya Lebedev <ilya@lebedev.net> - */ -function isUndefined (prop /* :Object */) /* :Boolean */ { - DEPRECATED("Use `typeof var === 'undefined'` instead"); - return (typeof prop == 'undefined'); -} - -/** - * Checks if property is function - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public - * @author Ilya Lebedev <ilya@lebedev.net> - */ -function isFunction (prop /* :Object */) /* :Boolean */ { - DEPRECATED("Use `typeof var === 'function'` instead"); - return (typeof prop == 'function'); -} -/** - * Checks if property is string - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public - * @author Ilya Lebedev <ilya@lebedev.net> - */ -function isString (prop /* :Object */) /* :Boolean */ { - DEPRECATED("Use `typeof var === 'string'` instead"); - return (typeof prop == 'string'); -} - -/** - * Checks if property is number - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public - * @author Ilya Lebedev <ilya@lebedev.net> - */ -function isNumber (prop /* :Object */) /* :Boolean */ { - DEPRECATED("Use `typeof var === 'number'` instead"); - return (typeof prop == 'number'); -} - -/** - * Checks if property is the calculable number - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public - * @author Ilya Lebedev <ilya@lebedev.net> - */ -function isNumeric (prop /* :Object */) /* :Boolean */ { - DEPRECATED("Use `typeof var === 'number' && !isNaN(var) && isFinite(var)` instead"); - return isNumber(prop)&&!isNaN(prop)&&isFinite(prop); -} - -/** - * Checks if property is array - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public - * @author Ilya Lebedev <ilya@lebedev.net> - */ -function isArray (prop /* :Object */) /* :Boolean */ { - DEPRECATED("Use `var instanceof Array` instead"); - return (prop instanceof Array); -} - -/** - * Checks if property is regexp - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public - * @author Ilya Lebedev <ilya@lebedev.net> - */ -function isRegExp (prop /* :Object */) /* :Boolean */ { - DEPRECATED("Use `var instanceof RegExp` instead"); - return (prop instanceof RegExp); -} - -/** - * Checks if property is a boolean value - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public - * @author Ilya Lebedev <ilya@lebedev.net> - */ -function isBoolean (prop /* :Object */) /* :Boolean */ { - DEPRECATED("Use `typeof var === 'boolean'` instead"); - return ('boolean' == typeof prop); -} - -/** - * Checks if property is a scalar value (value that could be used as the hash key) - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public - * @author Ilya Lebedev <ilya@lebedev.net> - */ -function isScalar (prop /* :Object */) /* :Boolean */ { - DEPRECATED("Use `typeof var === 'string' || (typeof var === 'number' &&" + - " !isNaN(var) && isFinite(var))` instead"); - return isNumeric(prop)||isString(prop); -} - -/** - * Checks if property is empty - * - * @param {Object} prop value to check - * @return {Boolean} true if matched - * @scope public - * @author Ilya Lebedev <ilya@lebedev.net> - */ -function isEmpty (prop /* :Object */) /* :Boolean */ { - DEPRECATED(); - var i; - if (isBoolean(prop)) { - return false; - } else if (isRegExp(prop) && new RegExp("").toString() == prop.toString()) { - return true; - } else if (isString(prop) || isNumber(prop)) { - return !prop; - } else if (Boolean(prop) && false != prop) { - for (i in prop) { - if(prop.hasOwnProperty(i)) { - return false; - } - } - } - return true; -} - -/** - * Get the computed style of a node. - * - * @link https://acidmartin.wordpress.com/2008/08/26/style-get-any-css-property-value-of-an-object/ - * @link http://svn.dojotoolkit.org/src/dojo/trunk/_base/html.js - */ -function gcs(node){ - DEPRECATED('Use jQuery(node).style() instead'); - if(node.currentStyle){ - return node.currentStyle; - }else{ - return node.ownerDocument.defaultView.getComputedStyle(node, null); - } -} - -/** - * Until 2011-05-25 "Rincewind", a code intended to fix some Safari issue - * always declared the global _timer. plugin:sortablejs relies on _timer - * being declared. - */ -var _timer; diff --git a/lib/scripts/drag.js b/lib/scripts/drag.js deleted file mode 100644 index dd252d95d5a13690c7871168e367b5697a914400..0000000000000000000000000000000000000000 --- a/lib/scripts/drag.js +++ /dev/null @@ -1,87 +0,0 @@ -/** - * Makes a DOM object draggable - * - * If you just want to move objects around, use drag.attach. For full - * customization, drag can be used as a javascript prototype, it is - * inheritance-aware. - * - * @deprecated - * @link http://nofunc.org/Drag_Drop/ - */ -var drag = { - obj: null, - handle: null, - oX: 0, // object X position - oY: 0, // object Y position - eX: 0, // event X delta - eY: 0, // event Y delta - - /** - * Attaches the needed handlers to the given object - * - * This can be called for multiple objects, the right one is later - * determined from the event itself. The handle is optional - * - * @param DOMObject obj The object that should be draggable - * @param DOMObject handle A handle on which the obj can be dragged - */ - attach: function (obj,handle) { - DEPRECATED('Use jQuery.draggable() instead.'); - if(handle){ - handle.dragobject = obj; - }else{ - handle = obj; - } - var _this = this; - addEvent($(handle),'mousedown',function (e) {return _this.start(e); }); - }, - - /** - * Starts the dragging operation - */ - start: function (e){ - this.handle = e.target; - if(this.handle.dragobject){ - this.obj = this.handle.dragobject; - }else{ - this.obj = this.handle; - } - - this.handle.className += ' ondrag'; - this.obj.className += ' ondrag'; - - this.oX = parseInt(this.obj.style.left); - this.oY = parseInt(this.obj.style.top); - this.eX = e.pageX; - this.eY = e.pageY; - - var _this = this; - this.mousehandlers = [function (e) {return _this.drag(e);}, function (e) {return _this.stop(e);}]; - addEvent(document,'mousemove', this.mousehandlers[0]); - addEvent(document,'mouseup', this.mousehandlers[1]); - - return false; - }, - - /** - * Ends the dragging operation - */ - stop: function(){ - this.handle.className = this.handle.className.replace(/ ?ondrag/,''); - this.obj.className = this.obj.className.replace(/ ?ondrag/,''); - removeEvent(document,'mousemove', this.mousehandlers[0]); - removeEvent(document,'mouseup', this.mousehandlers[1]); - this.obj = null; - this.handle = null; - }, - - /** - * Moves the object during the dragging operation - */ - drag: function(e) { - if(this.obj) { - this.obj.style.top = (e.pageY+this.oY-this.eY+'px'); - this.obj.style.left = (e.pageX+this.oX-this.eX+'px'); - } - } -}; diff --git a/lib/scripts/editor.js b/lib/scripts/editor.js index f4143f0bc20a9edd9cb53bddb23af6bf81ac4397..fac084489246a7dc73987e5c360f5d82701fc79c 100644 --- a/lib/scripts/editor.js +++ b/lib/scripts/editor.js @@ -146,7 +146,7 @@ var dw_editor = { if((e.keyCode == 13 || e.keyCode == 10) && e.ctrlKey) { // Ctrl-Enter (With Chrome workaround) // Submit current edit - jQuery('input#edbtn__save').click(); + jQuery('#edbtn__save').click(); e.preventDefault(); // prevent enter key return false; }else if(e.keyCode == 13){ // Enter diff --git a/lib/scripts/fileuploaderextended.js b/lib/scripts/fileuploaderextended.js index f5786c387dbcb9a5c55f8f7b428c32cbf5e7737a..d6a82397d7e5a6c2e705123775f95e1d689130f3 100644 --- a/lib/scripts/fileuploaderextended.js +++ b/lib/scripts/fileuploaderextended.js @@ -82,7 +82,7 @@ qq.FileUploaderExtended = function(o){ '<div class="qq-upload-button">' + LANG.media_select + '</div>' + '<ul class="qq-upload-list"></ul>' + '<div class="qq-action-container">' + - ' <input class="qq-upload-action button" type="submit" value="' + LANG.media_upload_btn + '" id="mediamanager__upload_button">' + + ' <button class="qq-upload-action" type="submit" id="mediamanager__upload_button">' + LANG.media_upload_btn + '</button>' + ' <label class="qq-overwrite-check"><input type="checkbox" value="1" name="ow" class="dw__ow"> <span>' + LANG.media_overwrt + '</span></label>' + '</div>' + '</div>', @@ -189,7 +189,7 @@ qq.extend(qq.FileUploaderExtended.prototype, { var button = '<form method="post" action="' + action + '" id="mediamanager__done_form"><div>'; button += '<input type="hidden" value="' + result.ns + '" name="ns">'; button += '<input type="hidden" value="1" name="recent">'; - button += '<input class="button" type="submit" value="' + LANG.media_done_btn + '"></div></form>'; + button += '<button type="submit">' + LANG.media_done_btn + '</button></div></form>'; jQuery('#mediamanager__uploader').append(button); } } diff --git a/lib/scripts/hotkeys.js b/lib/scripts/hotkeys.js index bff28530d240d70bba0c34d1b8974d4344e4bcd8..76a277aea2ad6b09e7d2850def2b16678b58d90d 100644 --- a/lib/scripts/hotkeys.js +++ b/lib/scripts/hotkeys.js @@ -26,7 +26,7 @@ function Hotkeys() { * Initialization * * This function looks up all the accesskeys used in the current page - * (at anchor elements and input elements [type="submit"]) and registers + * (at anchor elements and button elements [type="submit"]) and registers * appropriate shortcuts. * * Secondly, initialization registers listeners on document to catch all @@ -59,10 +59,10 @@ function Hotkeys() { }); /** - * Lookup all input [type="submit"] with accesskey and register event - + * Lookup all button [type="submit"] with accesskey and register event - * perform "click" on a button. */ - var inputs = document.getElementsByTagName("input"); + var inputs = document.getElementsByTagName("button"); t.each(inputs, function(i) { if (i.type == "submit" && i.accessKey != "") { t.addShortcut(t.modifier + '+' + i.accessKey, function() { diff --git a/lib/scripts/jquery/jquery-ui-theme/images/animated-overlay.gif b/lib/scripts/jquery/jquery-ui-theme/images/animated-overlay.gif deleted file mode 100644 index d441f75ebfbdf26a265dfccd670120d25c0a341c..0000000000000000000000000000000000000000 Binary files a/lib/scripts/jquery/jquery-ui-theme/images/animated-overlay.gif and /dev/null differ diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_0_aaaaaa_40x100.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_0_aaaaaa_40x100.png index 4b8c26b723c23f7e83e5d61edaf0872d7b1bf6df..03b1d721659c41bb2e6ba452c214ce17b7c79611 100644 Binary files a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_0_aaaaaa_40x100.png and b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_0_aaaaaa_40x100.png differ diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_75_ffffff_40x100.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_75_ffffff_40x100.png index 718a4045414e0dabd438660f79cd4c6f228e6e19..882c78c4f389908c4211b7b54eab4a5dabcc8031 100644 Binary files a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_75_ffffff_40x100.png and b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_75_ffffff_40x100.png differ diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_55_fbf9ee_1x400.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_55_fbf9ee_1x400.png index 9e3de4335ad12bdadbe7cc0710afb7ad73e42ff1..e17b8809cab832ba9cb4518a4bcbd598747e3c77 100644 Binary files a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_55_fbf9ee_1x400.png and b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_55_fbf9ee_1x400.png differ diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_65_ffffff_1x400.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_65_ffffff_1x400.png index 18fd8b166728f5ff185aa4bb3df012d08ac78854..de3b7cc4d70392be37c496b40c853bf78b39a983 100644 Binary files a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_65_ffffff_1x400.png and b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_65_ffffff_1x400.png differ diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_75_dadada_1x400.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_75_dadada_1x400.png index 8f31ae15dc12a2fd2e30491065baa6735ae6fd0c..74ff8a2f52a8e40dadde8c4337c4b9d5cabef808 100644 Binary files a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_75_dadada_1x400.png and b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_75_dadada_1x400.png differ diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_75_e6e6e6_1x400.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_75_e6e6e6_1x400.png index a6effc68ebd9aee94648798a7a6422afebb81618..08cf4c38aa14cb03b4d307749bd8538a4629e821 100644 Binary files a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_75_e6e6e6_1x400.png and b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_75_e6e6e6_1x400.png differ diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_95_fef1ec_1x400.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_95_fef1ec_1x400.png index c50038affa7e2dd8704b809efca7cc0edd834a69..e7b6f8322735075b05c7d436a23d55c7368b7892 100644 Binary files a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_95_fef1ec_1x400.png and b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_95_fef1ec_1x400.png differ diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_highlight-soft_75_cccccc_1x100.png index f08378e9febd56a97ba6699b43b3ec803ae973ae..fea66d4dd97d03924cb5296c80bd5459dcbb5c57 100644 Binary files a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_highlight-soft_75_cccccc_1x100.png and b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_highlight-soft_75_cccccc_1x100.png differ diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_222222_256x240.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_222222_256x240.png index 8deb23b9d3247e4c0abd245bc0f44857157650db..e556b9a90b19e71d08950599014c86d344e54a87 100644 Binary files a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_222222_256x240.png and b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_222222_256x240.png differ diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_2e83ff_256x240.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_2e83ff_256x240.png index aa2ddc3b505ab063a07c0cb81fdfaf7050a4223e..54f652fec05082143f8e400e322590fe0d5120aa 100644 Binary files a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_2e83ff_256x240.png and b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_2e83ff_256x240.png differ diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_454545_256x240.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_454545_256x240.png index ef231bb2550f0ecdfa2470eff59573d80fbe4d74..1a2b52e8991536267f7e10ebb27048b1e1d1768f 100644 Binary files a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_454545_256x240.png and b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_454545_256x240.png differ diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_888888_256x240.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_888888_256x240.png index 8bfb685341064524e810de23eb8b22c45b3fb70a..88c31424bb54f423de5ed12c52bd3ccf4c27080a 100644 Binary files a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_888888_256x240.png and b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_888888_256x240.png differ diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_cd0a0a_256x240.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_cd0a0a_256x240.png index d72d6906d1068db96752c0cce7f6253b1a081336..8da7fb0823e83fe8606c02f64905fa144c447d86 100644 Binary files a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_cd0a0a_256x240.png and b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_cd0a0a_256x240.png differ diff --git a/lib/scripts/jquery/jquery-ui-theme/smoothness.css b/lib/scripts/jquery/jquery-ui-theme/smoothness.css index 93a79cad2dce85399e74ecb7a99935935c93682e..2fa859a43b6573f783aa1e742212fe23c23920e8 100644 --- a/lib/scripts/jquery/jquery-ui-theme/smoothness.css +++ b/lib/scripts/jquery/jquery-ui-theme/smoothness.css @@ -1,8 +1,8 @@ -/*! jQuery UI - v1.11.0 - 2014-06-26 +/*! jQuery UI - v1.11.4 - 2015-03-11 * http://jqueryui.com * Includes: core.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, draggable.css, menu.css, progressbar.css, resizable.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px -* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ +* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ /* Layout helpers ----------------------------------*/ @@ -48,7 +48,7 @@ left: 0; position: absolute; opacity: 0; - filter:Alpha(Opacity=0); + filter:Alpha(Opacity=0); /* support: IE8 */ } .ui-front { @@ -274,7 +274,7 @@ button.ui-button::-moz-focus-inner { } .ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year { - width: 49%; + width: 45%; } .ui-datepicker table { width: 100%; @@ -514,9 +514,9 @@ button.ui-button::-moz-focus-inner { height: 100%; } .ui-progressbar .ui-progressbar-overlay { - background: url("images/animated-overlay.gif"); + background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw=="); height: 100%; - filter: alpha(opacity=25); + filter: alpha(opacity=25); /* support: IE8 */ opacity: 0.25; } .ui-progressbar-indeterminate .ui-progressbar-value { @@ -672,7 +672,7 @@ button.ui-button::-moz-focus-inner { background-position: 0 0; } -/* For IE8 - See #6727 */ +/* support: IE8 - See #6727 */ .ui-slider.ui-state-disabled .ui-slider-handle, .ui-slider.ui-state-disabled .ui-slider-range { filter: inherit; @@ -954,18 +954,18 @@ body .ui-tooltip { .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; - filter:Alpha(Opacity=70); + filter:Alpha(Opacity=70); /* support: IE8 */ font-weight: normal; } .ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; - filter:Alpha(Opacity=35); + filter:Alpha(Opacity=35); /* support: IE8 */ background-image: none; } .ui-state-disabled .ui-icon { - filter:Alpha(Opacity=35); /* For IE8 - See #6059 */ + filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ } /* Icons @@ -1213,13 +1213,13 @@ body .ui-tooltip { .ui-widget-overlay { background: #aaaaaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x; opacity: .3; - filter: Alpha(Opacity=30); + filter: Alpha(Opacity=30); /* support: IE8 */ } .ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x; opacity: .3; - filter: Alpha(Opacity=30); + filter: Alpha(Opacity=30); /* support: IE8 */ border-radius: 8px; } diff --git a/lib/scripts/jquery/jquery-ui.js b/lib/scripts/jquery/jquery-ui.js index 670e39a8f96e55cac280d4d91318daafd5a73a9e..31ee9cd8116b6b65683351c782446eb7ee48cf15 100644 --- a/lib/scripts/jquery/jquery-ui.js +++ b/lib/scripts/jquery/jquery-ui.js @@ -1,7 +1,7 @@ -/*! jQuery UI - v1.11.0 - 2014-06-26 +/*! jQuery UI - v1.11.4 - 2015-03-11 * http://jqueryui.com * Includes: core.js, widget.js, mouse.js, position.js, accordion.js, autocomplete.js, button.js, datepicker.js, dialog.js, draggable.js, droppable.js, effect.js, effect-blind.js, effect-bounce.js, effect-clip.js, effect-drop.js, effect-explode.js, effect-fade.js, effect-fold.js, effect-highlight.js, effect-puff.js, effect-pulsate.js, effect-scale.js, effect-shake.js, effect-size.js, effect-slide.js, effect-transfer.js, menu.js, progressbar.js, resizable.js, selectable.js, selectmenu.js, slider.js, sortable.js, spinner.js, tabs.js, tooltip.js -* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ +* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ (function( factory ) { if ( typeof define === "function" && define.amd ) { @@ -15,10 +15,10 @@ } }(function( $ ) { /*! - * jQuery UI Core 1.11.0 + * jQuery UI Core 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -30,7 +30,7 @@ $.ui = $.ui || {}; $.extend( $.ui, { - version: "1.11.0", + version: "1.11.4", keyCode: { BACKSPACE: 8, @@ -54,15 +54,16 @@ $.extend( $.ui, { // plugins $.fn.extend({ - scrollParent: function() { + scrollParent: function( includeHidden ) { var position = this.css( "position" ), excludeStaticParent = position === "absolute", + overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/, scrollParent = this.parents().filter( function() { var parent = $( this ); if ( excludeStaticParent && parent.css( "position" ) === "static" ) { return false; } - return (/(auto|scroll)/).test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + parent.css( "overflow-x" ) ); + return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + parent.css( "overflow-x" ) ); }).eq( 0 ); return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent; @@ -99,10 +100,10 @@ function focusable( element, isTabIndexNotNaN ) { if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { return false; } - img = $( "img[usemap=#" + mapName + "]" )[0]; + img = $( "img[usemap='#" + mapName + "']" )[ 0 ]; return !!img && visible( img ); } - return ( /input|select|textarea|button|object/.test( nodeName ) ? + return ( /^(input|select|textarea|button|object)$/.test( nodeName ) ? !element.disabled : "a" === nodeName ? element.href || isTabIndexNotNaN : @@ -308,10 +309,10 @@ $.ui.plugin = { /*! - * jQuery UI Widget 1.11.0 + * jQuery UI Widget 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -324,11 +325,18 @@ var widget_uuid = 0, $.cleanData = (function( orig ) { return function( elems ) { - for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { + var events, elem, i; + for ( i = 0; (elem = elems[i]) != null; i++ ) { try { - $( elem ).triggerHandler( "remove" ); + + // Only trigger remove when necessary to save time + events = $._data( elem, "events" ); + if ( events && events.remove ) { + $( elem ).triggerHandler( "remove" ); + } + // http://bugs.jquery.com/ticket/8235 - } catch( e ) {} + } catch ( e ) {} } orig( elems ); }; @@ -482,11 +490,6 @@ $.widget.bridge = function( name, object ) { args = widget_slice.call( arguments, 1 ), returnValue = this; - // allow multiple hashes to be passed on init - options = !isMethodCall && args.length ? - $.widget.extend.apply( null, [ options ].concat(args) ) : - options; - if ( isMethodCall ) { this.each(function() { var methodValue, @@ -511,6 +514,12 @@ $.widget.bridge = function( name, object ) { } }); } else { + + // Allow multiple hashes to be passed on init + if ( args.length ) { + options = $.widget.extend.apply( null, [ options ].concat(args) ); + } + this.each(function() { var instance = $.data( this, fullName ); if ( instance ) { @@ -546,10 +555,6 @@ $.Widget.prototype = { this.element = $( element ); this.uuid = widget_uuid++; this.eventNamespace = "." + this.widgetName + this.uuid; - this.options = $.widget.extend( {}, - this.options, - this._getCreateOptions(), - options ); this.bindings = $(); this.hoverable = $(); @@ -572,6 +577,11 @@ $.Widget.prototype = { this.window = $( this.document[0].defaultView || this.document[0].parentWindow ); } + this.options = $.widget.extend( {}, + this.options, + this._getCreateOptions(), + options ); + this._create(); this._trigger( "create", null, this._getCreateEventData() ); this._init(); @@ -734,8 +744,14 @@ $.Widget.prototype = { }, _off: function( element, eventName ) { - eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace; + eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + + this.eventNamespace; element.unbind( eventName ).undelegate( eventName ); + + // Clear the stack to avoid memory leaks (#10056) + this.bindings = $( this.bindings.not( element ).get() ); + this.focusable = $( this.focusable.not( element ).get() ); + this.hoverable = $( this.hoverable.not( element ).get() ); }, _delay: function( handler, delay ) { @@ -841,10 +857,10 @@ var widget = $.widget; /*! - * jQuery UI Mouse 1.11.0 + * jQuery UI Mouse 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -858,7 +874,7 @@ $( document ).mouseup( function() { }); var mouse = $.widget("ui.mouse", { - version: "1.11.0", + version: "1.11.4", options: { cancel: "input,textarea,button,select,option", distance: 1, @@ -899,6 +915,8 @@ var mouse = $.widget("ui.mouse", { return; } + this._mouseMoved = false; + // we may have missed mouseup (out of window) (this._mouseStarted && this._mouseUp(event)); @@ -952,13 +970,23 @@ var mouse = $.widget("ui.mouse", { }, _mouseMove: function(event) { - // IE mouseup check - mouseup happened when mouse was out of window - if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) { - return this._mouseUp(event); + // Only check for mouseups outside the document if you've moved inside the document + // at least once. This prevents the firing of mouseup in the case of IE<9, which will + // fire a mousemove event if content is placed under the cursor. See #7778 + // Support: IE <9 + if ( this._mouseMoved ) { + // IE mouseup check - mouseup happened when mouse was out of window + if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) { + return this._mouseUp(event); + + // Iframe mouseup check - mouseup occurred in another document + } else if ( !event.which ) { + return this._mouseUp( event ); + } + } - // Iframe mouseup check - mouseup occurred in another document - } else if ( !event.which ) { - return this._mouseUp( event ); + if ( event.which || event.button ) { + this._mouseMoved = true; } if (this._mouseStarted) { @@ -1015,10 +1043,10 @@ var mouse = $.widget("ui.mouse", { /*! - * jQuery UI Position 1.11.0 + * jQuery UI Position 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -1129,8 +1157,11 @@ $.position = { offset: withinElement.offset() || { left: 0, top: 0 }, scrollLeft: withinElement.scrollLeft(), scrollTop: withinElement.scrollTop(), - width: isWindow ? withinElement.width() : withinElement.outerWidth(), - height: isWindow ? withinElement.height() : withinElement.outerHeight() + + // support: jQuery 1.6.x + // jQuery 1.6 doesn't support .outerWidth/Height() on documents or windows + width: isWindow || isDocument ? withinElement.width() : withinElement.outerWidth(), + height: isWindow || isDocument ? withinElement.height() : withinElement.outerHeight() }; } }; @@ -1451,12 +1482,12 @@ $.ui.position = { newOverBottom; if ( overTop < 0 ) { newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset; - if ( ( position.top + myOffset + atOffset + offset) > overTop && ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) ) { + if ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) { position.top += myOffset + atOffset + offset; } } else if ( overBottom > 0 ) { newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop; - if ( ( position.top + myOffset + atOffset + offset) > overBottom && ( newOverTop > 0 || abs( newOverTop ) < overBottom ) ) { + if ( newOverTop > 0 || abs( newOverTop ) < overBottom ) { position.top += myOffset + atOffset + offset; } } @@ -1519,10 +1550,10 @@ var position = $.ui.position; /*! - * jQuery UI Accordion 1.11.0 + * jQuery UI Accordion 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -1531,7 +1562,7 @@ var position = $.ui.position; var accordion = $.widget( "ui.accordion", { - version: "1.11.0", + version: "1.11.4", options: { active: 0, animate: {}, @@ -1765,13 +1796,22 @@ var accordion = $.widget( "ui.accordion", { }, _processPanels: function() { + var prevHeaders = this.headers, + prevPanels = this.panels; + this.headers = this.element.find( this.options.header ) .addClass( "ui-accordion-header ui-state-default ui-corner-all" ); - this.headers.next() + this.panels = this.headers.next() .addClass( "ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom" ) .filter( ":not(.ui-accordion-content-active)" ) .hide(); + + // Avoid memory leaks (#10056) + if ( prevPanels ) { + this._off( prevHeaders.not( this.headers ) ); + this._off( prevPanels.not( this.panels ) ); + } }, _refresh: function() { @@ -1980,7 +2020,10 @@ var accordion = $.widget( "ui.accordion", { toHide.attr({ "aria-hidden": "true" }); - toHide.prev().attr( "aria-selected", "false" ); + toHide.prev().attr({ + "aria-selected": "false", + "aria-expanded": "false" + }); // if we're switching panels, remove the old header from the tab order // if we're opening from collapsed state, remove the previous header from the tab order // if we're collapsing, then keep the collapsing header in the tab order @@ -1991,7 +2034,7 @@ var accordion = $.widget( "ui.accordion", { }); } else if ( toShow.length ) { this.headers.filter(function() { - return $( this ).attr( "tabIndex" ) === 0; + return parseInt( $( this ).attr( "tabIndex" ), 10 ) === 0; }) .attr( "tabIndex", -1 ); } @@ -2001,8 +2044,8 @@ var accordion = $.widget( "ui.accordion", { .prev() .attr({ "aria-selected": "true", - tabIndex: 0, - "aria-expanded": "true" + "aria-expanded": "true", + tabIndex: 0 }); }, @@ -2010,6 +2053,7 @@ var accordion = $.widget( "ui.accordion", { var total, easing, duration, that = this, adjust = 0, + boxSizing = toShow.css( "box-sizing" ), down = toShow.length && ( !toHide.length || ( toShow.index() < toHide.index() ) ), animate = this.options.animate || {}, @@ -2052,7 +2096,9 @@ var accordion = $.widget( "ui.accordion", { step: function( now, fx ) { fx.now = Math.round( now ); if ( fx.prop !== "height" ) { - adjust += fx.now; + if ( boxSizing === "content-box" ) { + adjust += fx.now; + } } else if ( that.options.heightStyle !== "content" ) { fx.now = Math.round( total - toHide.outerHeight() - adjust ); adjust = 0; @@ -2080,10 +2126,10 @@ var accordion = $.widget( "ui.accordion", { /*! - * jQuery UI Menu 1.11.0 + * jQuery UI Menu 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -2092,7 +2138,7 @@ var accordion = $.widget( "ui.accordion", { var menu = $.widget( "ui.menu", { - version: "1.11.0", + version: "1.11.4", defaultElement: "<ul>", delay: 300, options: { @@ -2167,6 +2213,12 @@ var menu = $.widget( "ui.menu", { } }, "mouseenter .ui-menu-item": function( event ) { + // Ignore mouse events while typeahead is active, see #10458. + // Prevents focusing the wrong item when typeahead causes a scroll while the mouse + // is over an item in the menu + if ( this.previousFilter ) { + return; + } var target = $( event.currentTarget ); // Remove ui-state-active class from siblings of the newly focused menu item // to avoid a jump caused by adjacent elements both having a class with a border @@ -2246,13 +2298,9 @@ var menu = $.widget( "ui.menu", { }, _keydown: function( event ) { - var match, prev, character, skip, regex, + var match, prev, character, skip, preventDefault = true; - function escape( value ) { - return value.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ); - } - switch ( event.keyCode ) { case $.ui.keyCode.PAGE_UP: this.previousPage( event ); @@ -2301,10 +2349,7 @@ var menu = $.widget( "ui.menu", { character = prev + character; } - regex = new RegExp( "^" + escape( character ), "i" ); - match = this.activeMenu.find( this.options.items ).filter(function() { - return regex.test( $( this ).text() ); - }); + match = this._filterMenuItems( character ); match = skip && match.index( this.active.next() ) !== -1 ? this.active.nextAll( ".ui-menu-item" ) : match; @@ -2313,22 +2358,15 @@ var menu = $.widget( "ui.menu", { // to move down the menu to the first item that starts with that character if ( !match.length ) { character = String.fromCharCode( event.keyCode ); - regex = new RegExp( "^" + escape( character ), "i" ); - match = this.activeMenu.find( this.options.items ).filter(function() { - return regex.test( $( this ).text() ); - }); + match = this._filterMenuItems( character ); } if ( match.length ) { this.focus( event, match ); - if ( match.length > 1 ) { - this.previousFilter = character; - this.filterTimer = this._delay(function() { - delete this.previousFilter; - }, 1000 ); - } else { + this.previousFilter = character; + this.filterTimer = this._delay(function() { delete this.previousFilter; - } + }, 1000 ); } else { delete this.previousFilter; } @@ -2700,15 +2738,29 @@ var menu = $.widget( "ui.menu", { this.collapseAll( event, true ); } this._trigger( "select", event, ui ); + }, + + _filterMenuItems: function(character) { + var escapedCharacter = character.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ), + regex = new RegExp( "^" + escapedCharacter, "i" ); + + return this.activeMenu + .find( this.options.items ) + + // Only match on items, not dividers or other content (#10571) + .filter( ".ui-menu-item" ) + .filter(function() { + return regex.test( $.trim( $( this ).text() ) ); + }); } }); /*! - * jQuery UI Autocomplete 1.11.0 + * jQuery UI Autocomplete 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -2717,7 +2769,7 @@ var menu = $.widget( "ui.menu", { $.widget( "ui.autocomplete", { - version: "1.11.0", + version: "1.11.4", defaultElement: "<input>", options: { appendTo: null, @@ -2820,7 +2872,9 @@ $.widget( "ui.autocomplete", { break; case keyCode.ESCAPE: if ( this.menu.element.is( ":visible" ) ) { - this._value( this.term ); + if ( !this.isMultiLine ) { + this._value( this.term ); + } this.close( event ); // Different browsers have different default behavior for escape // Single press can mean undo or clear @@ -2956,7 +3010,7 @@ $.widget( "ui.autocomplete", { // Announce the value in the liveRegion label = ui.item.attr( "aria-label" ) || item.value; - if ( label && jQuery.trim( label ).length ) { + if ( label && $.trim( label ).length ) { this.liveRegion.children().hide(); $( "<div>" ).text( label ).appendTo( this.liveRegion ); } @@ -3315,10 +3369,10 @@ var autocomplete = $.ui.autocomplete; /*! - * jQuery UI Button 1.11.0 + * jQuery UI Button 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -3354,7 +3408,7 @@ var lastActive, }; $.widget( "ui.button", { - version: "1.11.0", + version: "1.11.4", defaultElement: "<button>", options: { disabled: null, @@ -3650,7 +3704,7 @@ $.widget( "ui.button", { }); $.widget( "ui.buttonset", { - version: "1.11.0", + version: "1.11.4", options: { items: "button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)" }, @@ -3712,10 +3766,10 @@ var button = $.ui.button; /*! - * jQuery UI Datepicker 1.11.0 + * jQuery UI Datepicker 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -3723,7 +3777,7 @@ var button = $.ui.button; */ -$.extend($.ui, { datepicker: { version: "1.11.0" } }); +$.extend($.ui, { datepicker: { version: "1.11.4" } }); var datepicker_instActive; @@ -4089,6 +4143,10 @@ $.extend(Datepicker.prototype, { } else if (nodeName === "div" || nodeName === "span") { $target.removeClass(this.markerClassName).empty(); } + + if ( datepicker_instActive === inst ) { + datepicker_instActive = null; + } }, /* Enable the date picker to a jQuery selection. @@ -4499,12 +4557,16 @@ $.extend(Datepicker.prototype, { datepicker_instActive = inst; // for delegate hover events inst.dpDiv.empty().append(this._generateHTML(inst)); this._attachHandlers(inst); - inst.dpDiv.find("." + this._dayOverClass + " a"); var origyearshtml, numMonths = this._getNumberOfMonths(inst), cols = numMonths[1], - width = 17; + width = 17, + activeCell = inst.dpDiv.find( "." + this._dayOverClass + " a" ); + + if ( activeCell.length > 0 ) { + datepicker_handleMouseover.apply( activeCell.get( 0 ) ); + } inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""); if (cols > 1) { @@ -4838,7 +4900,8 @@ $.extend(Datepicker.prototype, { var isDoubled = lookAhead(match), size = (match === "@" ? 14 : (match === "!" ? 20 : (match === "y" && isDoubled ? 4 : (match === "o" ? 3 : 2)))), - digits = new RegExp("^\\d{1," + size + "}"), + minSize = (match === "y" ? size : 1), + digits = new RegExp("^\\d{" + minSize + "," + size + "}"), num = value.substring(iValue).match(digits); if (!num) { throw "Missing number at position " + iValue; @@ -5699,18 +5762,20 @@ function datepicker_bindHover(dpDiv) { $(this).removeClass("ui-datepicker-next-hover"); } }) - .delegate(selector, "mouseover", function(){ - if (!$.datepicker._isDisabledDatepicker( datepicker_instActive.inline ? dpDiv.parent()[0] : datepicker_instActive.input[0])) { - $(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"); - $(this).addClass("ui-state-hover"); - if (this.className.indexOf("ui-datepicker-prev") !== -1) { - $(this).addClass("ui-datepicker-prev-hover"); - } - if (this.className.indexOf("ui-datepicker-next") !== -1) { - $(this).addClass("ui-datepicker-next-hover"); - } - } - }); + .delegate( selector, "mouseover", datepicker_handleMouseover ); +} + +function datepicker_handleMouseover() { + if (!$.datepicker._isDisabledDatepicker( datepicker_instActive.inline? datepicker_instActive.dpDiv.parent()[0] : datepicker_instActive.input[0])) { + $(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"); + $(this).addClass("ui-state-hover"); + if (this.className.indexOf("ui-datepicker-prev") !== -1) { + $(this).addClass("ui-datepicker-prev-hover"); + } + if (this.className.indexOf("ui-datepicker-next") !== -1) { + $(this).addClass("ui-datepicker-next-hover"); + } + } } /* jQuery extend now ignores nulls! */ @@ -5766,16 +5831,16 @@ $.fn.datepicker = function(options){ $.datepicker = new Datepicker(); // singleton instance $.datepicker.initialized = false; $.datepicker.uuid = new Date().getTime(); -$.datepicker.version = "1.11.0"; +$.datepicker.version = "1.11.4"; var datepicker = $.datepicker; /*! - * jQuery UI Draggable 1.11.0 + * jQuery UI Draggable 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -5784,7 +5849,7 @@ var datepicker = $.datepicker; $.widget("ui.draggable", $.ui.mouse, { - version: "1.11.0", + version: "1.11.4", widgetEventPrefix: "drag", options: { addClasses: true, @@ -5819,8 +5884,8 @@ $.widget("ui.draggable", $.ui.mouse, { }, _create: function() { - if (this.options.helper === "original" && !(/^(?:r|a|f)/).test(this.element.css("position"))) { - this.element[0].style.position = "relative"; + if ( this.options.helper === "original" ) { + this._setPositionRelative(); } if (this.options.addClasses){ this.element.addClass("ui-draggable"); @@ -5836,6 +5901,7 @@ $.widget("ui.draggable", $.ui.mouse, { _setOption: function( key, value ) { this._super( key, value ); if ( key === "handle" ) { + this._removeHandleClassName(); this._setHandleClassName(); } }, @@ -5851,20 +5917,9 @@ $.widget("ui.draggable", $.ui.mouse, { }, _mouseCapture: function(event) { + var o = this.options; - var document = this.document[ 0 ], - o = this.options; - - // support: IE9 - // IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe> - try { - // Support: IE9+ - // If the <body> is blurred, IE will switch windows, see #9520 - if ( document.activeElement && document.activeElement.nodeName.toLowerCase() !== "body" ) { - // Blur any element that currently has focus, see #4261 - $( document.activeElement ).blur(); - } - } catch ( error ) {} + this._blurActiveElement( event ); // among others, prevent a drag on a resizable-handle if (this.helper || o.disabled || $(event.target).closest(".ui-resizable-handle").length > 0) { @@ -5877,20 +5932,54 @@ $.widget("ui.draggable", $.ui.mouse, { return false; } - $(o.iframeFix === true ? "iframe" : o.iframeFix).each(function() { - $("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>") - .css({ - width: this.offsetWidth + "px", height: this.offsetHeight + "px", - position: "absolute", opacity: "0.001", zIndex: 1000 - }) - .css($(this).offset()) - .appendTo("body"); - }); + this._blockFrames( o.iframeFix === true ? "iframe" : o.iframeFix ); return true; }, + _blockFrames: function( selector ) { + this.iframeBlocks = this.document.find( selector ).map(function() { + var iframe = $( this ); + + return $( "<div>" ) + .css( "position", "absolute" ) + .appendTo( iframe.parent() ) + .outerWidth( iframe.outerWidth() ) + .outerHeight( iframe.outerHeight() ) + .offset( iframe.offset() )[ 0 ]; + }); + }, + + _unblockFrames: function() { + if ( this.iframeBlocks ) { + this.iframeBlocks.remove(); + delete this.iframeBlocks; + } + }, + + _blurActiveElement: function( event ) { + var document = this.document[ 0 ]; + + // Only need to blur if the event occurred on the draggable itself, see #10527 + if ( !this.handleElement.is( event.target ) ) { + return; + } + + // support: IE9 + // IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe> + try { + + // Support: IE9, IE10 + // If the <body> is blurred, IE will switch windows, see #9520 + if ( document.activeElement && document.activeElement.nodeName.toLowerCase() !== "body" ) { + + // Blur any element that currently has focus, see #4261 + $( document.activeElement ).blur(); + } + } catch ( error ) {} + }, + _mouseStart: function(event) { var o = this.options; @@ -5918,28 +6007,15 @@ $.widget("ui.draggable", $.ui.mouse, { //Store the helper's css position this.cssPosition = this.helper.css( "position" ); - this.scrollParent = this.helper.scrollParent(); + this.scrollParent = this.helper.scrollParent( true ); this.offsetParent = this.helper.offsetParent(); - this.offsetParentCssPosition = this.offsetParent.css( "position" ); + this.hasFixedAncestor = this.helper.parents().filter(function() { + return $( this ).css( "position" ) === "fixed"; + }).length > 0; //The element's absolute position on the page minus margins - this.offset = this.positionAbs = this.element.offset(); - this.offset = { - top: this.offset.top - this.margins.top, - left: this.offset.left - this.margins.left - }; - - //Reset scroll cache - this.offset.scroll = false; - - $.extend(this.offset, { - click: { //Where the click happened, relative to the element - left: event.pageX - this.offset.left, - top: event.pageY - this.offset.top - }, - parent: this._getParentOffset(), - relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper - }); + this.positionAbs = this.element.offset(); + this._refreshOffsets( event ); //Generate the original position this.originalPosition = this.position = this._generatePosition( event, false ); @@ -5966,6 +6042,10 @@ $.widget("ui.draggable", $.ui.mouse, { $.ui.ddmanager.prepareOffsets(this, event); } + // Reset helper's right/bottom css if they're set and set explicit width/height instead + // as this prevents resizing of elements with right/bottom set (see #7772) + this._normalizeRightBottom(); + this._mouseDrag(event, true); //Execute the drag once - this causes the helper not to be visible before getting its correct position //If the ddmanager is used for droppables, inform the manager that dragging has started (see #5003) @@ -5976,9 +6056,24 @@ $.widget("ui.draggable", $.ui.mouse, { return true; }, + _refreshOffsets: function( event ) { + this.offset = { + top: this.positionAbs.top - this.margins.top, + left: this.positionAbs.left - this.margins.left, + scroll: false, + parent: this._getParentOffset(), + relative: this._getRelativeOffset() + }; + + this.offset.click = { + left: event.pageX - this.offset.left, + top: event.pageY - this.offset.top + }; + }, + _mouseDrag: function(event, noPropagation) { // reset any necessary cached properties (see #5009) - if ( this.offsetParentCssPosition === "fixed" ) { + if ( this.hasFixedAncestor ) { this.offset.parent = this._getParentOffset(); } @@ -6036,19 +6131,19 @@ $.widget("ui.draggable", $.ui.mouse, { return false; }, - _mouseUp: function(event) { - //Remove frame helpers - $("div.ui-draggable-iframeFix").each(function() { - this.parentNode.removeChild(this); - }); + _mouseUp: function( event ) { + this._unblockFrames(); //If the ddmanager is used for droppables, inform the manager that dragging has stopped (see #5003) if ( $.ui.ddmanager ) { $.ui.ddmanager.dragStop(this, event); } - // The interaction is over; whether or not the click resulted in a drag, focus the element - this.element.focus(); + // Only need to focus if the event occurred on the draggable itself, see #10527 + if ( this.handleElement.is( event.target ) ) { + // The interaction is over; whether or not the click resulted in a drag, focus the element + this.element.focus(); + } return $.ui.mouse.prototype._mouseUp.call(this, event); }, @@ -6072,25 +6167,36 @@ $.widget("ui.draggable", $.ui.mouse, { }, _setHandleClassName: function() { - this._removeHandleClassName(); - $( this.options.handle || this.element ).addClass( "ui-draggable-handle" ); + this.handleElement = this.options.handle ? + this.element.find( this.options.handle ) : this.element; + this.handleElement.addClass( "ui-draggable-handle" ); }, _removeHandleClassName: function() { - this.element.find( ".ui-draggable-handle" ) - .addBack() - .removeClass( "ui-draggable-handle" ); + this.handleElement.removeClass( "ui-draggable-handle" ); }, _createHelper: function(event) { var o = this.options, - helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[ 0 ], [ event ])) : (o.helper === "clone" ? this.element.clone().removeAttr("id") : this.element); + helperIsFunction = $.isFunction( o.helper ), + helper = helperIsFunction ? + $( o.helper.apply( this.element[ 0 ], [ event ] ) ) : + ( o.helper === "clone" ? + this.element.clone().removeAttr( "id" ) : + this.element ); if (!helper.parents("body").length) { helper.appendTo((o.appendTo === "parent" ? this.element[0].parentNode : o.appendTo)); } + // http://bugs.jqueryui.com/ticket/9446 + // a helper function can return the original element + // which wouldn't have been set to relative in _create + if ( helperIsFunction && helper[ 0 ] === this.element[ 0 ] ) { + this._setPositionRelative(); + } + if (helper[0] !== this.element[0] && !(/(fixed|absolute)/).test(helper.css("position"))) { helper.css("position", "absolute"); } @@ -6099,6 +6205,12 @@ $.widget("ui.draggable", $.ui.mouse, { }, + _setPositionRelative: function() { + if ( !( /^(?:r|a|f)/ ).test( this.element.css( "position" ) ) ) { + this.element[ 0 ].style.position = "relative"; + } + }, + _adjustOffsetFromHelper: function(obj) { if (typeof obj === "string") { obj = obj.split(" "); @@ -6144,8 +6256,8 @@ $.widget("ui.draggable", $.ui.mouse, { } return { - top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0), - left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0) + top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), + left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0) }; }, @@ -6167,10 +6279,10 @@ $.widget("ui.draggable", $.ui.mouse, { _cacheMargins: function() { this.margins = { - left: (parseInt(this.element.css("marginLeft"),10) || 0), - top: (parseInt(this.element.css("marginTop"),10) || 0), - right: (parseInt(this.element.css("marginRight"),10) || 0), - bottom: (parseInt(this.element.css("marginBottom"),10) || 0) + left: (parseInt(this.element.css("marginLeft"), 10) || 0), + top: (parseInt(this.element.css("marginTop"), 10) || 0), + right: (parseInt(this.element.css("marginRight"), 10) || 0), + bottom: (parseInt(this.element.css("marginBottom"), 10) || 0) }; }, @@ -6183,11 +6295,11 @@ $.widget("ui.draggable", $.ui.mouse, { _setContainment: function() { - var over, c, ce, + var isUserScrollable, c, ce, o = this.options, document = this.document[ 0 ]; - this.relative_container = null; + this.relativeContainer = null; if ( !o.containment ) { this.containment = null; @@ -6230,15 +6342,25 @@ $.widget("ui.draggable", $.ui.mouse, { return; } - over = c.css( "overflow" ) !== "hidden"; + isUserScrollable = /(scroll|auto)/.test( c.css( "overflow" ) ); this.containment = [ ( parseInt( c.css( "borderLeftWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingLeft" ), 10 ) || 0 ), ( parseInt( c.css( "borderTopWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingTop" ), 10 ) || 0 ), - ( over ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) - ( parseInt( c.css( "borderRightWidth" ), 10 ) || 0 ) - ( parseInt( c.css( "paddingRight" ), 10 ) || 0 ) - this.helperProportions.width - this.margins.left - this.margins.right, - ( over ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) - ( parseInt( c.css( "borderBottomWidth" ), 10 ) || 0 ) - ( parseInt( c.css( "paddingBottom" ), 10 ) || 0 ) - this.helperProportions.height - this.margins.top - this.margins.bottom + ( isUserScrollable ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) - + ( parseInt( c.css( "borderRightWidth" ), 10 ) || 0 ) - + ( parseInt( c.css( "paddingRight" ), 10 ) || 0 ) - + this.helperProportions.width - + this.margins.left - + this.margins.right, + ( isUserScrollable ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) - + ( parseInt( c.css( "borderBottomWidth" ), 10 ) || 0 ) - + ( parseInt( c.css( "paddingBottom" ), 10 ) || 0 ) - + this.helperProportions.height - + this.margins.top - + this.margins.bottom ]; - this.relative_container = c; + this.relativeContainer = c; }, _convertPositionTo: function(d, pos) { @@ -6291,8 +6413,8 @@ $.widget("ui.draggable", $.ui.mouse, { // If we are not dragging yet, we won't check for options if ( constrainPosition ) { if ( this.containment ) { - if ( this.relative_container ){ - co = this.relative_container.offset(); + if ( this.relativeContainer ){ + co = this.relativeContainer.offset(); containment = [ this.containment[ 0 ] + co.left, this.containment[ 1 ] + co.top, @@ -6366,16 +6488,29 @@ $.widget("ui.draggable", $.ui.mouse, { } }, + _normalizeRightBottom: function() { + if ( this.options.axis !== "y" && this.helper.css( "right" ) !== "auto" ) { + this.helper.width( this.helper.width() ); + this.helper.css( "right", "auto" ); + } + if ( this.options.axis !== "x" && this.helper.css( "bottom" ) !== "auto" ) { + this.helper.height( this.helper.height() ); + this.helper.css( "bottom", "auto" ); + } + }, + // From now on bulk stuff - mainly helpers - _trigger: function(type, event, ui) { + _trigger: function( type, event, ui ) { ui = ui || this._uiHash(); $.ui.plugin.call( this, type, [ event, ui, this ], true ); - //The absolute position has to be recalculated after plugins - if (type === "drag") { - this.positionAbs = this._convertPositionTo("absolute"); + + // Absolute position and offset (see #6884 ) have to be recalculated after plugins + if ( /^(drag|start|stop)/.test( type ) ) { + this.positionAbs = this._convertPositionTo( "absolute" ); + ui.offset = this.positionAbs; } - return $.Widget.prototype._trigger.call(this, type, event, ui); + return $.Widget.prototype._trigger.call( this, type, event, ui ); }, plugins: {}, @@ -6391,160 +6526,201 @@ $.widget("ui.draggable", $.ui.mouse, { }); -$.ui.plugin.add("draggable", "connectToSortable", { - start: function( event, ui, inst ) { +$.ui.plugin.add( "draggable", "connectToSortable", { + start: function( event, ui, draggable ) { + var uiSortable = $.extend( {}, ui, { + item: draggable.element + }); - var o = inst.options, - uiSortable = $.extend({}, ui, { item: inst.element }); - inst.sortables = []; - $(o.connectToSortable).each(function() { + draggable.sortables = []; + $( draggable.options.connectToSortable ).each(function() { var sortable = $( this ).sortable( "instance" ); - if (sortable && !sortable.options.disabled) { - inst.sortables.push({ - instance: sortable, - shouldRevert: sortable.options.revert - }); - sortable.refreshPositions(); // Call the sortable's refreshPositions at drag start to refresh the containerCache since the sortable container cache is used in drag and needs to be up to date (this will ensure it's initialised as well as being kept in step with any changes that might have happened on the page). + + if ( sortable && !sortable.options.disabled ) { + draggable.sortables.push( sortable ); + + // refreshPositions is called at drag start to refresh the containerCache + // which is used in drag. This ensures it's initialized and synchronized + // with any changes that might have happened on the page since initialization. + sortable.refreshPositions(); sortable._trigger("activate", event, uiSortable); } }); - }, - stop: function( event, ui, inst ) { - - //If we are still over the sortable, we fake the stop event of the sortable, but also remove helper + stop: function( event, ui, draggable ) { var uiSortable = $.extend( {}, ui, { - item: inst.element + item: draggable.element }); - $.each(inst.sortables, function() { - if (this.instance.isOver) { + draggable.cancelHelperRemoval = false; - this.instance.isOver = 0; + $.each( draggable.sortables, function() { + var sortable = this; - inst.cancelHelperRemoval = true; //Don't remove the helper in the draggable instance - this.instance.cancelHelperRemoval = false; //Remove it in the sortable instance (so sortable plugins like revert still work) - - //The sortable revert is supported, and we have to set a temporary dropped variable on the draggable to support revert: "valid/invalid" - if (this.shouldRevert) { - this.instance.options.revert = this.shouldRevert; - } + if ( sortable.isOver ) { + sortable.isOver = 0; - //Trigger the stop of the sortable - this.instance._mouseStop(event); + // Allow this sortable to handle removing the helper + draggable.cancelHelperRemoval = true; + sortable.cancelHelperRemoval = false; - this.instance.options.helper = this.instance.options._helper; + // Use _storedCSS To restore properties in the sortable, + // as this also handles revert (#9675) since the draggable + // may have modified them in unexpected ways (#8809) + sortable._storedCSS = { + position: sortable.placeholder.css( "position" ), + top: sortable.placeholder.css( "top" ), + left: sortable.placeholder.css( "left" ) + }; - //If the helper has been the original item, restore properties in the sortable - if (inst.options.helper === "original") { - this.instance.currentItem.css({ top: "auto", left: "auto" }); - } + sortable._mouseStop(event); + // Once drag has ended, the sortable should return to using + // its original helper, not the shared helper from draggable + sortable.options.helper = sortable.options._helper; } else { - this.instance.cancelHelperRemoval = false; //Remove the helper in the sortable instance - this.instance._trigger("deactivate", event, uiSortable); - } + // Prevent this Sortable from removing the helper. + // However, don't set the draggable to remove the helper + // either as another connected Sortable may yet handle the removal. + sortable.cancelHelperRemoval = true; + sortable._trigger( "deactivate", event, uiSortable ); + } }); - }, - drag: function( event, ui, inst ) { - - var that = this; - - $.each(inst.sortables, function() { - + drag: function( event, ui, draggable ) { + $.each( draggable.sortables, function() { var innermostIntersecting = false, - thisSortable = this; + sortable = this; - //Copy over some variables to allow calling the sortable's native _intersectsWith - this.instance.positionAbs = inst.positionAbs; - this.instance.helperProportions = inst.helperProportions; - this.instance.offset.click = inst.offset.click; + // Copy over variables that sortable's _intersectsWith uses + sortable.positionAbs = draggable.positionAbs; + sortable.helperProportions = draggable.helperProportions; + sortable.offset.click = draggable.offset.click; - if (this.instance._intersectsWith(this.instance.containerCache)) { + if ( sortable._intersectsWith( sortable.containerCache ) ) { innermostIntersecting = true; - $.each(inst.sortables, function() { - this.instance.positionAbs = inst.positionAbs; - this.instance.helperProportions = inst.helperProportions; - this.instance.offset.click = inst.offset.click; - if (this !== thisSortable && - this.instance._intersectsWith(this.instance.containerCache) && - $.contains(thisSortable.instance.element[0], this.instance.element[0]) - ) { + + $.each( draggable.sortables, function() { + // Copy over variables that sortable's _intersectsWith uses + this.positionAbs = draggable.positionAbs; + this.helperProportions = draggable.helperProportions; + this.offset.click = draggable.offset.click; + + if ( this !== sortable && + this._intersectsWith( this.containerCache ) && + $.contains( sortable.element[ 0 ], this.element[ 0 ] ) ) { innermostIntersecting = false; } + return innermostIntersecting; }); } - if (innermostIntersecting) { - //If it intersects, we use a little isOver variable and set it once, so our move-in stuff gets fired only once - if (!this.instance.isOver) { + if ( innermostIntersecting ) { + // If it intersects, we use a little isOver variable and set it once, + // so that the move-in stuff gets fired only once. + if ( !sortable.isOver ) { + sortable.isOver = 1; - this.instance.isOver = 1; - //Now we fake the start of dragging for the sortable instance, - //by cloning the list group item, appending it to the sortable and using it as inst.currentItem - //We can then fire the start event of the sortable with our passed browser event, and our own helper (so it doesn't create a new one) - this.instance.currentItem = $(that).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item", true); - this.instance.options._helper = this.instance.options.helper; //Store helper option to later restore it - this.instance.options.helper = function() { return ui.helper[0]; }; + // Store draggable's parent in case we need to reappend to it later. + draggable._parent = ui.helper.parent(); - event.target = this.instance.currentItem[0]; - this.instance._mouseCapture(event, true); - this.instance._mouseStart(event, true, true); + sortable.currentItem = ui.helper + .appendTo( sortable.element ) + .data( "ui-sortable-item", true ); - //Because the browser event is way off the new appended portlet, we modify a couple of variables to reflect the changes - this.instance.offset.click.top = inst.offset.click.top; - this.instance.offset.click.left = inst.offset.click.left; - this.instance.offset.parent.left -= inst.offset.parent.left - this.instance.offset.parent.left; - this.instance.offset.parent.top -= inst.offset.parent.top - this.instance.offset.parent.top; + // Store helper option to later restore it + sortable.options._helper = sortable.options.helper; - inst._trigger("toSortable", event); - inst.dropped = this.instance.element; //draggable revert needs that - //hack so receive/update callbacks work (mostly) - inst.currentItem = inst.element; - this.instance.fromOutside = inst; + sortable.options.helper = function() { + return ui.helper[ 0 ]; + }; - } + // Fire the start events of the sortable with our passed browser event, + // and our own helper (so it doesn't create a new one) + event.target = sortable.currentItem[ 0 ]; + sortable._mouseCapture( event, true ); + sortable._mouseStart( event, true, true ); + + // Because the browser event is way off the new appended portlet, + // modify necessary variables to reflect the changes + sortable.offset.click.top = draggable.offset.click.top; + sortable.offset.click.left = draggable.offset.click.left; + sortable.offset.parent.left -= draggable.offset.parent.left - + sortable.offset.parent.left; + sortable.offset.parent.top -= draggable.offset.parent.top - + sortable.offset.parent.top; + + draggable._trigger( "toSortable", event ); + + // Inform draggable that the helper is in a valid drop zone, + // used solely in the revert option to handle "valid/invalid". + draggable.dropped = sortable.element; + + // Need to refreshPositions of all sortables in the case that + // adding to one sortable changes the location of the other sortables (#9675) + $.each( draggable.sortables, function() { + this.refreshPositions(); + }); - //Provided we did all the previous steps, we can fire the drag event of the sortable on every draggable drag, when it intersects with the sortable - if (this.instance.currentItem) { - this.instance._mouseDrag(event); + // hack so receive/update callbacks work (mostly) + draggable.currentItem = draggable.element; + sortable.fromOutside = draggable; } + if ( sortable.currentItem ) { + sortable._mouseDrag( event ); + // Copy the sortable's position because the draggable's can potentially reflect + // a relative position, while sortable is always absolute, which the dragged + // element has now become. (#8809) + ui.position = sortable.position; + } } else { + // If it doesn't intersect with the sortable, and it intersected before, + // we fake the drag stop of the sortable, but make sure it doesn't remove + // the helper by using cancelHelperRemoval. + if ( sortable.isOver ) { - //If it doesn't intersect with the sortable, and it intersected before, - //we fake the drag stop of the sortable, but make sure it doesn't remove the helper by using cancelHelperRemoval - if (this.instance.isOver) { - - this.instance.isOver = 0; - this.instance.cancelHelperRemoval = true; + sortable.isOver = 0; + sortable.cancelHelperRemoval = true; - //Prevent reverting on this forced stop - this.instance.options.revert = false; + // Calling sortable's mouseStop would trigger a revert, + // so revert must be temporarily false until after mouseStop is called. + sortable.options._revert = sortable.options.revert; + sortable.options.revert = false; - // The out event needs to be triggered independently - this.instance._trigger("out", event, this.instance._uiHash(this.instance)); + sortable._trigger( "out", event, sortable._uiHash( sortable ) ); + sortable._mouseStop( event, true ); - this.instance._mouseStop(event, true); - this.instance.options.helper = this.instance.options._helper; + // restore sortable behaviors that were modfied + // when the draggable entered the sortable area (#9481) + sortable.options.revert = sortable.options._revert; + sortable.options.helper = sortable.options._helper; - //Now we remove our currentItem, the list group clone again, and the placeholder, and animate the helper back to it's original size - this.instance.currentItem.remove(); - if (this.instance.placeholder) { - this.instance.placeholder.remove(); + if ( sortable.placeholder ) { + sortable.placeholder.remove(); } - inst._trigger("fromSortable", event); - inst.dropped = false; //draggable revert needs that - } + // Restore and recalculate the draggable's offset considering the sortable + // may have modified them in unexpected ways. (#8809, #10669) + ui.helper.appendTo( draggable._parent ); + draggable._refreshOffsets( event ); + ui.position = draggable._generatePosition( event, true ); - } + draggable._trigger( "fromSortable", event ); - }); + // Inform draggable that the helper is no longer in a valid drop zone + draggable.dropped = false; + // Need to refreshPositions of all sortables just in case removing + // from one sortable changes the location of other sortables (#9675) + $.each( draggable.sortables, function() { + this.refreshPositions(); + }); + } + } + }); } }); @@ -6585,30 +6761,35 @@ $.ui.plugin.add("draggable", "opacity", { $.ui.plugin.add("draggable", "scroll", { start: function( event, ui, i ) { - if ( i.scrollParent[ 0 ] !== i.document[ 0 ] && i.scrollParent[ 0 ].tagName !== "HTML" ) { - i.overflowOffset = i.scrollParent.offset(); + if ( !i.scrollParentNotHidden ) { + i.scrollParentNotHidden = i.helper.scrollParent( false ); + } + + if ( i.scrollParentNotHidden[ 0 ] !== i.document[ 0 ] && i.scrollParentNotHidden[ 0 ].tagName !== "HTML" ) { + i.overflowOffset = i.scrollParentNotHidden.offset(); } }, drag: function( event, ui, i ) { var o = i.options, scrolled = false, + scrollParent = i.scrollParentNotHidden[ 0 ], document = i.document[ 0 ]; - if ( i.scrollParent[ 0 ] !== document && i.scrollParent[ 0 ].tagName !== "HTML" ) { - if (!o.axis || o.axis !== "x") { - if ((i.overflowOffset.top + i.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) { - i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop + o.scrollSpeed; - } else if (event.pageY - i.overflowOffset.top < o.scrollSensitivity) { - i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop - o.scrollSpeed; + if ( scrollParent !== document && scrollParent.tagName !== "HTML" ) { + if ( !o.axis || o.axis !== "x" ) { + if ( ( i.overflowOffset.top + scrollParent.offsetHeight ) - event.pageY < o.scrollSensitivity ) { + scrollParent.scrollTop = scrolled = scrollParent.scrollTop + o.scrollSpeed; + } else if ( event.pageY - i.overflowOffset.top < o.scrollSensitivity ) { + scrollParent.scrollTop = scrolled = scrollParent.scrollTop - o.scrollSpeed; } } - if (!o.axis || o.axis !== "y") { - if ((i.overflowOffset.left + i.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) { - i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft + o.scrollSpeed; - } else if (event.pageX - i.overflowOffset.left < o.scrollSensitivity) { - i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft - o.scrollSpeed; + if ( !o.axis || o.axis !== "y" ) { + if ( ( i.overflowOffset.left + scrollParent.offsetWidth ) - event.pageX < o.scrollSensitivity ) { + scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft + o.scrollSpeed; + } else if ( event.pageX - i.overflowOffset.left < o.scrollSensitivity ) { + scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft - o.scrollSpeed; } } @@ -6669,9 +6850,9 @@ $.ui.plugin.add("draggable", "snap", { for (i = inst.snapElements.length - 1; i >= 0; i--){ - l = inst.snapElements[i].left; + l = inst.snapElements[i].left - inst.margins.left; r = l + inst.snapElements[i].width; - t = inst.snapElements[i].top; + t = inst.snapElements[i].top - inst.margins.top; b = t + inst.snapElements[i].height; if ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d || !$.contains( inst.snapElements[ i ].item.ownerDocument, inst.snapElements[ i ].item ) ) { @@ -6688,16 +6869,16 @@ $.ui.plugin.add("draggable", "snap", { ls = Math.abs(l - x2) <= d; rs = Math.abs(r - x1) <= d; if (ts) { - ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top - inst.margins.top; + ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top; } if (bs) { - ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top - inst.margins.top; + ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top; } if (ls) { - ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left - inst.margins.left; + ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left; } if (rs) { - ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left - inst.margins.left; + ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left; } } @@ -6709,16 +6890,16 @@ $.ui.plugin.add("draggable", "snap", { ls = Math.abs(l - x1) <= d; rs = Math.abs(r - x2) <= d; if (ts) { - ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top - inst.margins.top; + ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top; } if (bs) { - ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top - inst.margins.top; + ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top; } if (ls) { - ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left - inst.margins.left; + ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left; } if (rs) { - ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left - inst.margins.left; + ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left; } } @@ -6736,8 +6917,8 @@ $.ui.plugin.add("draggable", "stack", { start: function( event, ui, instance ) { var min, o = instance.options, - group = $.makeArray($(o.stack)).sort(function(a,b) { - return (parseInt($(a).css("zIndex"),10) || 0) - (parseInt($(b).css("zIndex"),10) || 0); + group = $.makeArray($(o.stack)).sort(function(a, b) { + return (parseInt($(a).css("zIndex"), 10) || 0) - (parseInt($(b).css("zIndex"), 10) || 0); }); if (!group.length) { return; } @@ -6773,10 +6954,10 @@ var draggable = $.ui.draggable; /*! - * jQuery UI Resizable 1.11.0 + * jQuery UI Resizable 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -6785,7 +6966,7 @@ var draggable = $.ui.draggable; $.widget("ui.resizable", $.ui.mouse, { - version: "1.11.0", + version: "1.11.4", widgetEventPrefix: "resize", options: { alsoResize: false, @@ -6817,7 +6998,7 @@ $.widget("ui.resizable", $.ui.mouse, { }, _isNumber: function( value ) { - return !isNaN( parseInt( value , 10 ) ); + return !isNaN( parseInt( value, 10 ) ); }, _hasScroll: function( el, a ) { @@ -6858,7 +7039,7 @@ $.widget("ui.resizable", $.ui.mouse, { }); // Wrap the element if it cannot hold child nodes - if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)) { + if (this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)) { this.element.wrap( $("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({ @@ -6876,14 +7057,28 @@ $.widget("ui.resizable", $.ui.mouse, { this.elementIsWrapper = true; - this.element.css({ marginLeft: this.originalElement.css("marginLeft"), marginTop: this.originalElement.css("marginTop"), marginRight: this.originalElement.css("marginRight"), marginBottom: this.originalElement.css("marginBottom") }); - this.originalElement.css({ marginLeft: 0, marginTop: 0, marginRight: 0, marginBottom: 0}); + this.element.css({ + marginLeft: this.originalElement.css("marginLeft"), + marginTop: this.originalElement.css("marginTop"), + marginRight: this.originalElement.css("marginRight"), + marginBottom: this.originalElement.css("marginBottom") + }); + this.originalElement.css({ + marginLeft: 0, + marginTop: 0, + marginRight: 0, + marginBottom: 0 + }); // support: Safari // Prevent Safari textarea resize this.originalResizeStyle = this.originalElement.css("resize"); this.originalElement.css("resize", "none"); - this._proportionallyResizeElements.push(this.originalElement.css({ position: "static", zoom: 1, display: "block" })); + this._proportionallyResizeElements.push( this.originalElement.css({ + position: "static", + zoom: 1, + display: "block" + }) ); // support: IE9 // avoid IE jump (hard set the margin) @@ -6892,8 +7087,21 @@ $.widget("ui.resizable", $.ui.mouse, { this._proportionallyResize(); } - this.handles = o.handles || (!$(".ui-resizable-handle", this.element).length ? "e,s,se" : { n: ".ui-resizable-n", e: ".ui-resizable-e", s: ".ui-resizable-s", w: ".ui-resizable-w", se: ".ui-resizable-se", sw: ".ui-resizable-sw", ne: ".ui-resizable-ne", nw: ".ui-resizable-nw" }); - if(this.handles.constructor === String) { + this.handles = o.handles || + ( !$(".ui-resizable-handle", this.element).length ? + "e,s,se" : { + n: ".ui-resizable-n", + e: ".ui-resizable-e", + s: ".ui-resizable-s", + w: ".ui-resizable-w", + se: ".ui-resizable-se", + sw: ".ui-resizable-sw", + ne: ".ui-resizable-ne", + nw: ".ui-resizable-nw" + } ); + + this._handles = $(); + if ( this.handles.constructor === String ) { if ( this.handles === "all") { this.handles = "n,e,s,w,se,sw,ne,nw"; @@ -6902,10 +7110,10 @@ $.widget("ui.resizable", $.ui.mouse, { n = this.handles.split(","); this.handles = {}; - for(i = 0; i < n.length; i++) { + for (i = 0; i < n.length; i++) { handle = $.trim(n[i]); - hname = "ui-resizable-"+handle; + hname = "ui-resizable-" + handle; axis = $("<div class='ui-resizable-handle " + hname + "'></div>"); axis.css({ zIndex: o.zIndex }); @@ -6915,7 +7123,7 @@ $.widget("ui.resizable", $.ui.mouse, { axis.addClass("ui-icon ui-icon-gripsmall-diagonal-se"); } - this.handles[handle] = ".ui-resizable-"+handle; + this.handles[handle] = ".ui-resizable-" + handle; this.element.append(axis); } @@ -6927,13 +7135,16 @@ $.widget("ui.resizable", $.ui.mouse, { target = target || this.element; - for(i in this.handles) { + for (i in this.handles) { - if(this.handles[i].constructor === String) { + if (this.handles[i].constructor === String) { this.handles[i] = this.element.children( this.handles[ i ] ).first().show(); + } else if ( this.handles[ i ].jquery || this.handles[ i ].nodeType ) { + this.handles[ i ] = $( this.handles[ i ] ); + this._on( this.handles[ i ], { "mousedown": that._mouseDown }); } - if (this.elementIsWrapper && this.originalElement[0].nodeName.match(/textarea|input|select|button/i)) { + if (this.elementIsWrapper && this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)) { axis = $(this.handles[i], this.element); @@ -6947,21 +7158,17 @@ $.widget("ui.resizable", $.ui.mouse, { target.css(padPos, padWrapper); this._proportionallyResize(); - } - // TODO: What's that good for? There's not anything to be executed left - if(!$(this.handles[i]).length) { - continue; - } + this._handles = this._handles.add( this.handles[ i ] ); } }; // TODO: make renderAxis a prototype function this._renderAxis(this.element); - this._handles = $(".ui-resizable-handle", this.element) - .disableSelection(); + this._handles = this._handles.add( this.element.find( ".ui-resizable-handle" ) ); + this._handles.disableSelection(); this._handles.mouseover(function() { if (!that.resizing) { @@ -6983,7 +7190,7 @@ $.widget("ui.resizable", $.ui.mouse, { $(this).removeClass("ui-resizable-autohide"); that._handles.show(); }) - .mouseleave(function(){ + .mouseleave(function() { if (o.disabled) { return; } @@ -6995,7 +7202,6 @@ $.widget("ui.resizable", $.ui.mouse, { } this._mouseInit(); - }, _destroy: function() { @@ -7004,8 +7210,13 @@ $.widget("ui.resizable", $.ui.mouse, { var wrapper, _destroy = function(exp) { - $(exp).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing") - .removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove(); + $(exp) + .removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing") + .removeData("resizable") + .removeData("ui-resizable") + .unbind(".resizable") + .find(".ui-resizable-handle") + .remove(); }; // TODO: Unwrap at same DOM position @@ -7062,13 +7273,34 @@ $.widget("ui.resizable", $.ui.mouse, { this.offset = this.helper.offset(); this.position = { left: curleft, top: curtop }; - this.size = this._helper ? { width: this.helper.width(), height: this.helper.height() } : { width: el.width(), height: el.height() }; - this.originalSize = this._helper ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() }; + + this.size = this._helper ? { + width: this.helper.width(), + height: this.helper.height() + } : { + width: el.width(), + height: el.height() + }; + + this.originalSize = this._helper ? { + width: el.outerWidth(), + height: el.outerHeight() + } : { + width: el.width(), + height: el.height() + }; + + this.sizeDiff = { + width: el.outerWidth() - el.width(), + height: el.outerHeight() - el.height() + }; + this.originalPosition = { left: curleft, top: curtop }; - this.sizeDiff = { width: el.outerWidth() - el.width(), height: el.outerHeight() - el.height() }; this.originalMousePosition = { left: event.pageX, top: event.pageY }; - this.aspectRatio = (typeof o.aspectRatio === "number") ? o.aspectRatio : ((this.originalSize.width / this.originalSize.height) || 1); + this.aspectRatio = (typeof o.aspectRatio === "number") ? + o.aspectRatio : + ((this.originalSize.width / this.originalSize.height) || 1); cursor = $(".ui-resizable-" + this.axis).css("cursor"); $("body").css("cursor", cursor === "auto" ? this.axis + "-resize" : cursor); @@ -7080,28 +7312,20 @@ $.widget("ui.resizable", $.ui.mouse, { _mouseDrag: function(event) { - var data, - el = this.helper, props = {}, + var data, props, smp = this.originalMousePosition, a = this.axis, - dx = (event.pageX-smp.left)||0, - dy = (event.pageY-smp.top)||0, + dx = (event.pageX - smp.left) || 0, + dy = (event.pageY - smp.top) || 0, trigger = this._change[a]; - this.prevPosition = { - top: this.position.top, - left: this.position.left - }; - this.prevSize = { - width: this.size.width, - height: this.size.height - }; + this._updatePrevProperties(); if (!trigger) { return false; } - data = trigger.apply(this, [event, dx, dy]); + data = trigger.apply(this, [ event, dx, dy ]); this._updateVirtualBoundaries(event.shiftKey); if (this._aspectRatio || event.shiftKey) { @@ -7114,26 +7338,16 @@ $.widget("ui.resizable", $.ui.mouse, { this._propagate("resize", event); - if ( this.position.top !== this.prevPosition.top ) { - props.top = this.position.top + "px"; - } - if ( this.position.left !== this.prevPosition.left ) { - props.left = this.position.left + "px"; - } - if ( this.size.width !== this.prevSize.width ) { - props.width = this.size.width + "px"; - } - if ( this.size.height !== this.prevSize.height ) { - props.height = this.size.height + "px"; - } - el.css( props ); + props = this._applyChanges(); if ( !this._helper && this._proportionallyResizeElements.length ) { this._proportionallyResize(); } if ( !$.isEmptyObject( props ) ) { + this._updatePrevProperties(); this._trigger( "resize", event, this.ui() ); + this._applyChanges(); } return false; @@ -7145,16 +7359,21 @@ $.widget("ui.resizable", $.ui.mouse, { var pr, ista, soffseth, soffsetw, s, left, top, o = this.options, that = this; - if(this._helper) { + if (this._helper) { pr = this._proportionallyResizeElements; ista = pr.length && (/textarea/i).test(pr[0].nodeName); - soffseth = ista && this._hasScroll(pr[0], "left") /* TODO - jump height */ ? 0 : that.sizeDiff.height; + soffseth = ista && this._hasScroll(pr[0], "left") ? 0 : that.sizeDiff.height; soffsetw = ista ? 0 : that.sizeDiff.width; - s = { width: (that.helper.width() - soffsetw), height: (that.helper.height() - soffseth) }; - left = (parseInt(that.element.css("left"), 10) + (that.position.left - that.originalPosition.left)) || null; - top = (parseInt(that.element.css("top"), 10) + (that.position.top - that.originalPosition.top)) || null; + s = { + width: (that.helper.width() - soffsetw), + height: (that.helper.height() - soffseth) + }; + left = (parseInt(that.element.css("left"), 10) + + (that.position.left - that.originalPosition.left)) || null; + top = (parseInt(that.element.css("top"), 10) + + (that.position.top - that.originalPosition.top)) || null; if (!o.animate) { this.element.css($.extend(s, { top: top, left: left })); @@ -7182,6 +7401,38 @@ $.widget("ui.resizable", $.ui.mouse, { }, + _updatePrevProperties: function() { + this.prevPosition = { + top: this.position.top, + left: this.position.left + }; + this.prevSize = { + width: this.size.width, + height: this.size.height + }; + }, + + _applyChanges: function() { + var props = {}; + + if ( this.position.top !== this.prevPosition.top ) { + props.top = this.position.top + "px"; + } + if ( this.position.left !== this.prevPosition.left ) { + props.left = this.position.left + "px"; + } + if ( this.size.width !== this.prevSize.width ) { + props.width = this.size.width + "px"; + } + if ( this.size.height !== this.prevSize.height ) { + props.height = this.size.height + "px"; + } + + this.helper.css( props ); + + return props; + }, + _updateVirtualBoundaries: function(forceAspectRatio) { var pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b, o = this.options; @@ -7193,22 +7444,22 @@ $.widget("ui.resizable", $.ui.mouse, { maxHeight: this._isNumber(o.maxHeight) ? o.maxHeight : Infinity }; - if(this._aspectRatio || forceAspectRatio) { + if (this._aspectRatio || forceAspectRatio) { pMinWidth = b.minHeight * this.aspectRatio; pMinHeight = b.minWidth / this.aspectRatio; pMaxWidth = b.maxHeight * this.aspectRatio; pMaxHeight = b.maxWidth / this.aspectRatio; - if(pMinWidth > b.minWidth) { + if (pMinWidth > b.minWidth) { b.minWidth = pMinWidth; } - if(pMinHeight > b.minHeight) { + if (pMinHeight > b.minHeight) { b.minHeight = pMinHeight; } - if(pMaxWidth < b.maxWidth) { + if (pMaxWidth < b.maxWidth) { b.maxWidth = pMaxWidth; } - if(pMaxHeight < b.maxHeight) { + if (pMaxHeight < b.maxHeight) { b.maxHeight = pMaxHeight; } } @@ -7259,8 +7510,10 @@ $.widget("ui.resizable", $.ui.mouse, { var o = this._vBoundaries, a = this.axis, - ismaxw = this._isNumber(data.width) && o.maxWidth && (o.maxWidth < data.width), ismaxh = this._isNumber(data.height) && o.maxHeight && (o.maxHeight < data.height), - isminw = this._isNumber(data.width) && o.minWidth && (o.minWidth > data.width), isminh = this._isNumber(data.height) && o.minHeight && (o.minHeight > data.height), + ismaxw = this._isNumber(data.width) && o.maxWidth && (o.maxWidth < data.width), + ismaxh = this._isNumber(data.height) && o.maxHeight && (o.maxHeight < data.height), + isminw = this._isNumber(data.width) && o.minWidth && (o.minWidth > data.width), + isminh = this._isNumber(data.height) && o.minHeight && (o.minHeight > data.height), dw = this.originalPosition.left + this.originalSize.width, dh = this.position.top + this.size.height, cw = /sw|nw|w/.test(a), ch = /nw|ne|n/.test(a); @@ -7300,32 +7553,56 @@ $.widget("ui.resizable", $.ui.mouse, { return data; }, + _getPaddingPlusBorderDimensions: function( element ) { + var i = 0, + widths = [], + borders = [ + element.css( "borderTopWidth" ), + element.css( "borderRightWidth" ), + element.css( "borderBottomWidth" ), + element.css( "borderLeftWidth" ) + ], + paddings = [ + element.css( "paddingTop" ), + element.css( "paddingRight" ), + element.css( "paddingBottom" ), + element.css( "paddingLeft" ) + ]; + + for ( ; i < 4; i++ ) { + widths[ i ] = ( parseInt( borders[ i ], 10 ) || 0 ); + widths[ i ] += ( parseInt( paddings[ i ], 10 ) || 0 ); + } + + return { + height: widths[ 0 ] + widths[ 2 ], + width: widths[ 1 ] + widths[ 3 ] + }; + }, + _proportionallyResize: function() { if (!this._proportionallyResizeElements.length) { return; } - var i, j, borders, paddings, prel, + var prel, + i = 0, element = this.helper || this.element; - for ( i=0; i < this._proportionallyResizeElements.length; i++) { + for ( ; i < this._proportionallyResizeElements.length; i++) { prel = this._proportionallyResizeElements[i]; - if (!this.borderDif) { - this.borderDif = []; - borders = [prel.css("borderTopWidth"), prel.css("borderRightWidth"), prel.css("borderBottomWidth"), prel.css("borderLeftWidth")]; - paddings = [prel.css("paddingTop"), prel.css("paddingRight"), prel.css("paddingBottom"), prel.css("paddingLeft")]; - - for ( j = 0; j < borders.length; j++ ) { - this.borderDif[ j ] = ( parseInt( borders[ j ], 10 ) || 0 ) + ( parseInt( paddings[ j ], 10 ) || 0 ); - } + // TODO: Seems like a bug to cache this.outerDimensions + // considering that we are in a loop. + if (!this.outerDimensions) { + this.outerDimensions = this._getPaddingPlusBorderDimensions( prel ); } prel.css({ - height: (element.height() - this.borderDif[0] - this.borderDif[2]) || 0, - width: (element.width() - this.borderDif[1] - this.borderDif[3]) || 0 + height: (element.height() - this.outerDimensions.height) || 0, + width: (element.width() - this.outerDimensions.width) || 0 }); } @@ -7337,7 +7614,7 @@ $.widget("ui.resizable", $.ui.mouse, { var el = this.element, o = this.options; this.elementOffset = el.offset(); - if(this._helper) { + if (this._helper) { this.helper = this.helper || $("<div style='overflow:hidden;'></div>"); @@ -7345,8 +7622,8 @@ $.widget("ui.resizable", $.ui.mouse, { width: this.element.outerWidth() - 1, height: this.element.outerHeight() - 1, position: "absolute", - left: this.elementOffset.left +"px", - top: this.elementOffset.top +"px", + left: this.elementOffset.left + "px", + top: this.elementOffset.top + "px", zIndex: ++o.zIndex //TODO: Don't modify option }); @@ -7376,21 +7653,25 @@ $.widget("ui.resizable", $.ui.mouse, { return { height: this.originalSize.height + dy }; }, se: function(event, dx, dy) { - return $.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [event, dx, dy])); + return $.extend(this._change.s.apply(this, arguments), + this._change.e.apply(this, [ event, dx, dy ])); }, sw: function(event, dx, dy) { - return $.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [event, dx, dy])); + return $.extend(this._change.s.apply(this, arguments), + this._change.w.apply(this, [ event, dx, dy ])); }, ne: function(event, dx, dy) { - return $.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [event, dx, dy])); + return $.extend(this._change.n.apply(this, arguments), + this._change.e.apply(this, [ event, dx, dy ])); }, nw: function(event, dx, dy) { - return $.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [event, dx, dy])); + return $.extend(this._change.n.apply(this, arguments), + this._change.w.apply(this, [ event, dx, dy ])); } }, _propagate: function(n, event) { - $.ui.plugin.call(this, n, [event, this.ui()]); + $.ui.plugin.call(this, n, [ event, this.ui() ]); (n !== "resize" && this._trigger(n, event, this.ui())); }, @@ -7404,9 +7685,7 @@ $.widget("ui.resizable", $.ui.mouse, { position: this.position, size: this.size, originalSize: this.originalSize, - originalPosition: this.originalPosition, - prevSize: this.prevSize, - prevPosition: this.prevPosition + originalPosition: this.originalPosition }; } @@ -7423,11 +7702,13 @@ $.ui.plugin.add("resizable", "animate", { o = that.options, pr = that._proportionallyResizeElements, ista = pr.length && (/textarea/i).test(pr[0].nodeName), - soffseth = ista && that._hasScroll(pr[0], "left") /* TODO - jump height */ ? 0 : that.sizeDiff.height, + soffseth = ista && that._hasScroll(pr[0], "left") ? 0 : that.sizeDiff.height, soffsetw = ista ? 0 : that.sizeDiff.width, style = { width: (that.size.width - soffsetw), height: (that.size.height - soffseth) }, - left = (parseInt(that.element.css("left"), 10) + (that.position.left - that.originalPosition.left)) || null, - top = (parseInt(that.element.css("top"), 10) + (that.position.top - that.originalPosition.top)) || null; + left = (parseInt(that.element.css("left"), 10) + + (that.position.left - that.originalPosition.left)) || null, + top = (parseInt(that.element.css("top"), 10) + + (that.position.top - that.originalPosition.top)) || null; that.element.animate( $.extend(style, top && left ? { top: top, left: left } : {}), { @@ -7520,7 +7801,7 @@ $.ui.plugin.add( "resizable", "containment", { } }, - resize: function( event, ui ) { + resize: function( event ) { var woset, hoset, isParent, isOffsetRelative, that = $( this ).resizable( "instance" ), o = that.options, @@ -7539,7 +7820,11 @@ $.ui.plugin.add( "resizable", "containment", { } if ( cp.left < ( that._helper ? co.left : 0 ) ) { - that.size.width = that.size.width + ( that._helper ? ( that.position.left - co.left ) : ( that.position.left - cop.left ) ); + that.size.width = that.size.width + + ( that._helper ? + ( that.position.left - co.left ) : + ( that.position.left - cop.left ) ); + if ( pRatio ) { that.size.height = that.size.width / that.aspectRatio; continueResize = false; @@ -7548,7 +7833,11 @@ $.ui.plugin.add( "resizable", "containment", { } if ( cp.top < ( that._helper ? co.top : 0 ) ) { - that.size.height = that.size.height + ( that._helper ? ( that.position.top - co.top ) : that.position.top ); + that.size.height = that.size.height + + ( that._helper ? + ( that.position.top - co.top ) : + that.position.top ); + if ( pRatio ) { that.size.width = that.size.height * that.aspectRatio; continueResize = false; @@ -7556,19 +7845,27 @@ $.ui.plugin.add( "resizable", "containment", { that.position.top = that._helper ? co.top : 0; } - that.offset.left = that.parentData.left + that.position.left; - that.offset.top = that.parentData.top + that.position.top; - - woset = Math.abs( ( that._helper ? that.offset.left - cop.left : ( that.offset.left - co.left ) ) + that.sizeDiff.width ); - hoset = Math.abs( ( that._helper ? that.offset.top - cop.top : ( that.offset.top - co.top ) ) + that.sizeDiff.height ); - isParent = that.containerElement.get( 0 ) === that.element.parent().get( 0 ); isOffsetRelative = /relative|absolute/.test( that.containerElement.css( "position" ) ); if ( isParent && isOffsetRelative ) { - woset -= Math.abs( that.parentData.left ); + that.offset.left = that.parentData.left + that.position.left; + that.offset.top = that.parentData.top + that.position.top; + } else { + that.offset.left = that.element.offset().left; + that.offset.top = that.element.offset().top; } + woset = Math.abs( that.sizeDiff.width + + (that._helper ? + that.offset.left - cop.left : + (that.offset.left - co.left)) ); + + hoset = Math.abs( that.sizeDiff.height + + (that._helper ? + that.offset.top - cop.top : + (that.offset.top - co.top)) ); + if ( woset + that.size.width >= that.parentData.width ) { that.size.width = that.parentData.width - woset; if ( pRatio ) { @@ -7585,15 +7882,15 @@ $.ui.plugin.add( "resizable", "containment", { } } - if ( !continueResize ){ - that.position.left = ui.prevPosition.left; - that.position.top = ui.prevPosition.top; - that.size.width = ui.prevSize.width; - that.size.height = ui.prevSize.height; + if ( !continueResize ) { + that.position.left = that.prevPosition.left; + that.position.top = that.prevPosition.top; + that.size.width = that.prevSize.width; + that.size.height = that.prevSize.height; } }, - stop: function(){ + stop: function() { var that = $( this ).resizable( "instance" ), o = that.options, co = that.containerOffset, @@ -7624,61 +7921,49 @@ $.ui.plugin.add( "resizable", "containment", { $.ui.plugin.add("resizable", "alsoResize", { - start: function () { + start: function() { var that = $(this).resizable( "instance" ), - o = that.options, - _store = function (exp) { - $(exp).each(function() { - var el = $(this); - el.data("ui-resizable-alsoresize", { - width: parseInt(el.width(), 10), height: parseInt(el.height(), 10), - left: parseInt(el.css("left"), 10), top: parseInt(el.css("top"), 10) - }); - }); - }; + o = that.options; - if (typeof(o.alsoResize) === "object" && !o.alsoResize.parentNode) { - if (o.alsoResize.length) { o.alsoResize = o.alsoResize[0]; _store(o.alsoResize); } - else { $.each(o.alsoResize, function (exp) { _store(exp); }); } - }else{ - _store(o.alsoResize); - } + $(o.alsoResize).each(function() { + var el = $(this); + el.data("ui-resizable-alsoresize", { + width: parseInt(el.width(), 10), height: parseInt(el.height(), 10), + left: parseInt(el.css("left"), 10), top: parseInt(el.css("top"), 10) + }); + }); }, - resize: function (event, ui) { + resize: function(event, ui) { var that = $(this).resizable( "instance" ), o = that.options, os = that.originalSize, op = that.originalPosition, delta = { - height: (that.size.height - os.height) || 0, width: (that.size.width - os.width) || 0, - top: (that.position.top - op.top) || 0, left: (that.position.left - op.left) || 0 - }, - - _alsoResize = function (exp, c) { - $(exp).each(function() { - var el = $(this), start = $(this).data("ui-resizable-alsoresize"), style = {}, - css = c && c.length ? c : el.parents(ui.originalElement[0]).length ? ["width", "height"] : ["width", "height", "top", "left"]; + height: (that.size.height - os.height) || 0, + width: (that.size.width - os.width) || 0, + top: (that.position.top - op.top) || 0, + left: (that.position.left - op.left) || 0 + }; - $.each(css, function (i, prop) { - var sum = (start[prop]||0) + (delta[prop]||0); - if (sum && sum >= 0) { - style[prop] = sum || null; - } - }); + $(o.alsoResize).each(function() { + var el = $(this), start = $(this).data("ui-resizable-alsoresize"), style = {}, + css = el.parents(ui.originalElement[0]).length ? + [ "width", "height" ] : + [ "width", "height", "top", "left" ]; - el.css(style); + $.each(css, function(i, prop) { + var sum = (start[prop] || 0) + (delta[prop] || 0); + if (sum && sum >= 0) { + style[prop] = sum || null; + } }); - }; - if (typeof(o.alsoResize) === "object" && !o.alsoResize.nodeType) { - $.each(o.alsoResize, function (exp, c) { _alsoResize(exp, c); }); - }else{ - _alsoResize(o.alsoResize); - } + el.css(style); + }); }, - stop: function () { + stop: function() { $(this).removeData("resizable-alsoresize"); } }); @@ -7691,7 +7976,16 @@ $.ui.plugin.add("resizable", "ghost", { that.ghost = that.originalElement.clone(); that.ghost - .css({ opacity: 0.25, display: "block", position: "relative", height: cs.height, width: cs.width, margin: 0, left: 0, top: 0 }) + .css({ + opacity: 0.25, + display: "block", + position: "relative", + height: cs.height, + width: cs.width, + margin: 0, + left: 0, + top: 0 + }) .addClass("ui-resizable-ghost") .addClass(typeof o.ghost === "string" ? o.ghost : ""); @@ -7699,10 +7993,14 @@ $.ui.plugin.add("resizable", "ghost", { }, - resize: function(){ + resize: function() { var that = $(this).resizable( "instance" ); if (that.ghost) { - that.ghost.css({ position: "relative", height: that.size.height, width: that.size.width }); + that.ghost.css({ + position: "relative", + height: that.size.height, + width: that.size.width + }); } }, @@ -7718,15 +8016,16 @@ $.ui.plugin.add("resizable", "ghost", { $.ui.plugin.add("resizable", "grid", { resize: function() { - var that = $(this).resizable( "instance" ), + var outerDimensions, + that = $(this).resizable( "instance" ), o = that.options, cs = that.size, os = that.originalSize, op = that.originalPosition, a = that.axis, - grid = typeof o.grid === "number" ? [o.grid, o.grid] : o.grid, - gridX = (grid[0]||1), - gridY = (grid[1]||1), + grid = typeof o.grid === "number" ? [ o.grid, o.grid ] : o.grid, + gridX = (grid[0] || 1), + gridY = (grid[1] || 1), ox = Math.round((cs.width - os.width) / gridX) * gridX, oy = Math.round((cs.height - os.height) / gridY) * gridY, newWidth = os.width + ox, @@ -7739,16 +8038,16 @@ $.ui.plugin.add("resizable", "grid", { o.grid = grid; if (isMinWidth) { - newWidth = newWidth + gridX; + newWidth += gridX; } if (isMinHeight) { - newHeight = newHeight + gridY; + newHeight += gridY; } if (isMaxWidth) { - newWidth = newWidth - gridX; + newWidth -= gridX; } if (isMaxHeight) { - newHeight = newHeight - gridY; + newHeight -= gridY; } if (/^(se|s|e)$/.test(a)) { @@ -7763,19 +8062,25 @@ $.ui.plugin.add("resizable", "grid", { that.size.height = newHeight; that.position.left = op.left - ox; } else { + if ( newHeight - gridY <= 0 || newWidth - gridX <= 0) { + outerDimensions = that._getPaddingPlusBorderDimensions( this ); + } + if ( newHeight - gridY > 0 ) { that.size.height = newHeight; that.position.top = op.top - oy; } else { - that.size.height = gridY; - that.position.top = op.top + os.height - gridY; + newHeight = gridY - outerDimensions.height; + that.size.height = newHeight; + that.position.top = op.top + os.height - newHeight; } if ( newWidth - gridX > 0 ) { that.size.width = newWidth; that.position.left = op.left - ox; } else { - that.size.width = gridX; - that.position.left = op.left + os.width - gridX; + newWidth = gridX - outerDimensions.width; + that.size.width = newWidth; + that.position.left = op.left + os.width - newWidth; } } } @@ -7786,10 +8091,10 @@ var resizable = $.ui.resizable; /*! - * jQuery UI Dialog 1.11.0 + * jQuery UI Dialog 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -7798,7 +8103,7 @@ var resizable = $.ui.resizable; var dialog = $.widget( "ui.dialog", { - version: "1.11.0", + version: "1.11.4", options: { appendTo: "body", autoOpen: true, @@ -7918,6 +8223,7 @@ var dialog = $.widget( "ui.dialog", { var next, originalPosition = this.originalPosition; + this._untrackInstance(); this._destroyOverlay(); this.element @@ -7996,10 +8302,10 @@ var dialog = $.widget( "ui.dialog", { _moveToTop: function( event, silent ) { var moved = false, - zIndicies = this.uiDialog.siblings( ".ui-front:visible" ).map(function() { + zIndices = this.uiDialog.siblings( ".ui-front:visible" ).map(function() { return +$( this ).css( "z-index" ); }).get(), - zIndexMax = Math.max.apply( null, zIndicies ); + zIndexMax = Math.max.apply( null, zIndices ); if ( zIndexMax >= +this.uiDialog.css( "z-index" ) ) { this.uiDialog.css( "z-index", zIndexMax + 1 ); @@ -8028,11 +8334,24 @@ var dialog = $.widget( "ui.dialog", { this._position(); this._createOverlay(); this._moveToTop( null, true ); + + // Ensure the overlay is moved to the top with the dialog, but only when + // opening. The overlay shouldn't move after the dialog is open so that + // modeless dialogs opened after the modal dialog stack properly. + if ( this.overlay ) { + this.overlay.css( "z-index", this.uiDialog.css( "z-index" ) - 1 ); + } + this._show( this.uiDialog, this.options.show, function() { that._focusTabbable(); that._trigger( "focus" ); }); + // Track the dialog immediately upon openening in case a focus event + // somehow occurs outside of the dialog before an element inside the + // dialog is focused (#10152) + this._makeFocusTarget(); + this._trigger( "open" ); }, @@ -8344,14 +8663,18 @@ var dialog = $.widget( "ui.dialog", { _trackFocus: function() { this._on( this.widget(), { - "focusin": function( event ) { - this._untrackInstance(); - this._trackingInstances().unshift( this ); + focusin: function( event ) { + this._makeFocusTarget(); this._focusedElement = $( event.target ); } }); }, + _makeFocusTarget: function() { + this._untrackInstance(); + this._trackingInstances().unshift( this ); + }, + _untrackInstance: function() { var instances = this._trackingInstances(), exists = $.inArray( this, instances ); @@ -8625,10 +8948,10 @@ var dialog = $.widget( "ui.dialog", { /*! - * jQuery UI Droppable 1.11.0 + * jQuery UI Droppable 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -8637,7 +8960,7 @@ var dialog = $.widget( "ui.dialog", { $.widget( "ui.droppable", { - version: "1.11.0", + version: "1.11.4", widgetEventPrefix: "drop", options: { accept: "*", @@ -8801,7 +9124,7 @@ $.widget( "ui.droppable", { !inst.options.disabled && inst.options.scope === draggable.options.scope && inst.accept.call( inst.element[ 0 ], ( draggable.currentItem || draggable.element ) ) && - $.ui.intersect( draggable, $.extend( inst, { offset: inst.element.offset() } ), inst.options.tolerance ) + $.ui.intersect( draggable, $.extend( inst, { offset: inst.element.offset() } ), inst.options.tolerance, event ) ) { childrenIntersection = true; return false; } }); if ( childrenIntersection ) { @@ -8839,15 +9162,14 @@ $.ui.intersect = (function() { return ( x >= reference ) && ( x < ( reference + size ) ); } - return function( draggable, droppable, toleranceMode ) { + return function( draggable, droppable, toleranceMode, event ) { if ( !droppable.offset ) { return false; } - var draggableLeft, draggableTop, - x1 = ( draggable.positionAbs || draggable.position.absolute ).left, - y1 = ( draggable.positionAbs || draggable.position.absolute ).top, + var x1 = ( draggable.positionAbs || draggable.position.absolute ).left + draggable.margins.left, + y1 = ( draggable.positionAbs || draggable.position.absolute ).top + draggable.margins.top, x2 = x1 + draggable.helperProportions.width, y2 = y1 + draggable.helperProportions.height, l = droppable.offset.left, @@ -8864,9 +9186,7 @@ $.ui.intersect = (function() { t < y1 + ( draggable.helperProportions.height / 2 ) && // Bottom Half y2 - ( draggable.helperProportions.height / 2 ) < b ); // Top Half case "pointer": - draggableLeft = ( ( draggable.positionAbs || draggable.position.absolute ).left + ( draggable.clickOffset || draggable.offset.click ).left ); - draggableTop = ( ( draggable.positionAbs || draggable.position.absolute ).top + ( draggable.clickOffset || draggable.offset.click ).top ); - return isOverAxis( draggableTop, t, droppable.proportions().height ) && isOverAxis( draggableLeft, l, droppable.proportions().width ); + return isOverAxis( event.pageY, t, droppable.proportions().height ) && isOverAxis( event.pageX, l, droppable.proportions().width ); case "touch": return ( ( y1 >= t && y1 <= b ) || // Top edge touching @@ -8936,7 +9256,7 @@ $.ui.ddmanager = { if ( !this.options ) { return; } - if ( !this.options.disabled && this.visible && $.ui.intersect( draggable, this, this.options.tolerance ) ) { + if ( !this.options.disabled && this.visible && $.ui.intersect( draggable, this, this.options.tolerance, event ) ) { dropped = this._drop.call( this, event ) || dropped; } @@ -8973,7 +9293,7 @@ $.ui.ddmanager = { } var parentInstance, scope, parent, - intersects = $.ui.intersect( draggable, this, this.options.tolerance ), + intersects = $.ui.intersect( draggable, this, this.options.tolerance, event ), c = !intersects && this.isover ? "isout" : ( intersects && !this.isover ? "isover" : null ); if ( !c ) { return; @@ -9025,10 +9345,10 @@ var droppable = $.ui.droppable; /*! - * jQuery UI Effects 1.11.0 + * jQuery UI Effects 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -9036,7 +9356,11 @@ var droppable = $.ui.droppable; */ -var dataSpace = "ui-effects-"; +var dataSpace = "ui-effects-", + + // Create a local jQuery because jQuery Color relies on it and the + // global may not exist with AMD and a custom build (#10199) + jQuery = $; $.effects = { effect: {} @@ -9645,7 +9969,7 @@ color.hook = function( hook ) { } try { elem.style[ hook ] = value; - } catch( e ) { + } catch ( e ) { // wrapped to prevent IE from throwing errors on "invalid" values like 'auto' or 'inherit' } } @@ -9916,7 +10240,7 @@ $.fn.extend({ (function() { $.extend( $.effects, { - version: "1.11.0", + version: "1.11.4", // Saves a set of properties in a data storage save: function( element, set ) { @@ -10010,7 +10334,7 @@ $.extend( $.effects, { // https://bugzilla.mozilla.org/show_bug.cgi?id=561664 try { active.id; - } catch( e ) { + } catch ( e ) { active = document.body; } @@ -10312,10 +10636,10 @@ var effect = $.effects; /*! - * jQuery UI Effects Blind 1.11.0 + * jQuery UI Effects Blind 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -10389,10 +10713,10 @@ var effectBlind = $.effects.effect.blind = function( o, done ) { /*! - * jQuery UI Effects Bounce 1.11.0 + * jQuery UI Effects Bounce 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -10499,10 +10823,10 @@ var effectBounce = $.effects.effect.bounce = function( o, done ) { /*! - * jQuery UI Effects Clip 1.11.0 + * jQuery UI Effects Clip 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -10563,10 +10887,10 @@ var effectClip = $.effects.effect.clip = function( o, done ) { /*! - * jQuery UI Effects Drop 1.11.0 + * jQuery UI Effects Drop 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -10593,7 +10917,7 @@ var effectDrop = $.effects.effect.drop = function( o, done ) { el.show(); $.effects.createWrapper( el ); - distance = o.distance || el[ ref === "top" ? "outerHeight": "outerWidth" ]( true ) / 2; + distance = o.distance || el[ ref === "top" ? "outerHeight" : "outerWidth" ]( true ) / 2; if ( show ) { el @@ -10625,10 +10949,10 @@ var effectDrop = $.effects.effect.drop = function( o, done ) { /*! - * jQuery UI Effects Explode 1.11.0 + * jQuery UI Effects Explode 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -10719,10 +11043,10 @@ var effectExplode = $.effects.effect.explode = function( o, done ) { /*! - * jQuery UI Effects Fade 1.11.0 + * jQuery UI Effects Fade 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -10746,10 +11070,10 @@ var effectFade = $.effects.effect.fade = function( o, done ) { /*! - * jQuery UI Effects Fold 1.11.0 + * jQuery UI Effects Fold 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -10819,10 +11143,10 @@ var effectFold = $.effects.effect.fold = function( o, done ) { /*! - * jQuery UI Effects Highlight 1.11.0 + * jQuery UI Effects Highlight 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -10866,10 +11190,10 @@ var effectHighlight = $.effects.effect.highlight = function( o, done ) { /*! - * jQuery UI Effects Size 1.11.0 + * jQuery UI Effects Size 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -11086,10 +11410,10 @@ var effectSize = $.effects.effect.size = function( o, done ) { /*! - * jQuery UI Effects Scale 1.11.0 + * jQuery UI Effects Scale 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -11161,10 +11485,10 @@ var effectScale = $.effects.effect.scale = function( o, done ) { /*! - * jQuery UI Effects Puff 1.11.0 + * jQuery UI Effects Puff 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -11207,10 +11531,10 @@ var effectPuff = $.effects.effect.puff = function( o, done ) { /*! - * jQuery UI Effects Pulsate 1.11.0 + * jQuery UI Effects Pulsate 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -11267,10 +11591,10 @@ var effectPulsate = $.effects.effect.pulsate = function( o, done ) { /*! - * jQuery UI Effects Shake 1.11.0 + * jQuery UI Effects Shake 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -11338,10 +11662,10 @@ var effectShake = $.effects.effect.shake = function( o, done ) { /*! - * jQuery UI Effects Slide 1.11.0 + * jQuery UI Effects Slide 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -11399,10 +11723,10 @@ var effectSlide = $.effects.effect.slide = function( o, done ) { /*! - * jQuery UI Effects Transfer 1.11.0 + * jQuery UI Effects Transfer 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -11443,10 +11767,10 @@ var effectTransfer = $.effects.effect.transfer = function( o, done ) { /*! - * jQuery UI Progressbar 1.11.0 + * jQuery UI Progressbar 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -11455,7 +11779,7 @@ var effectTransfer = $.effects.effect.transfer = function( o, done ) { var progressbar = $.widget( "ui.progressbar", { - version: "1.11.0", + version: "1.11.4", options: { max: 100, value: 0, @@ -11588,10 +11912,10 @@ var progressbar = $.widget( "ui.progressbar", { /*! - * jQuery UI Selectable 1.11.0 + * jQuery UI Selectable 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -11600,7 +11924,7 @@ var progressbar = $.widget( "ui.progressbar", { var selectable = $.widget("ui.selectable", $.ui.mouse, { - version: "1.11.0", + version: "1.11.4", options: { appendTo: "body", autoRefresh: true, @@ -11860,10 +12184,10 @@ var selectable = $.widget("ui.selectable", $.ui.mouse, { /*! - * jQuery UI Selectmenu 1.11.0 + * jQuery UI Selectmenu 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -11872,7 +12196,7 @@ var selectable = $.widget("ui.selectable", $.ui.mouse, { var selectmenu = $.widget( "ui.selectmenu", { - version: "1.11.0", + version: "1.11.4", defaultElement: "<select>", options: { appendTo: null, @@ -11912,8 +12236,7 @@ var selectmenu = $.widget( "ui.selectmenu", { }, _drawButton: function() { - var that = this, - tabindex = this.element.attr( "tabindex" ); + var that = this; // Associate existing label with the new button this.label = $( "label[for='" + this.ids.element + "']" ).attr( "for", this.ids.button ); @@ -11930,7 +12253,7 @@ var selectmenu = $.widget( "ui.selectmenu", { // Create button this.button = $( "<span>", { "class": "ui-selectmenu-button ui-widget ui-state-default ui-corner-all", - tabindex: tabindex || this.options.disabled ? -1 : 0, + tabindex: this.options.disabled ? -1 : 0, id: this.ids.button, role: "combobox", "aria-expanded": "false", @@ -11951,7 +12274,7 @@ var selectmenu = $.widget( "ui.selectmenu", { .appendTo( this.button ); this._setText( this.buttonText, this.element.find( "option:selected" ).text() ); - this._setOption( "width", this.options.width ); + this._resizeButton(); this._on( this.button, this._buttonEvents ); this.button.one( "focusin", function() { @@ -11989,6 +12312,12 @@ var selectmenu = $.widget( "ui.selectmenu", { role: "listbox", select: function( event, ui ) { event.preventDefault(); + + // support: IE8 + // If the item was selected via a click, the text selection + // will be destroyed in IE + that._setSelection(); + that._select( ui.item.data( "ui-selectmenu-item" ), event ); }, focus: function( event, ui ) { @@ -12031,7 +12360,9 @@ var selectmenu = $.widget( "ui.selectmenu", { refresh: function() { this._refreshMenu(); this._setText( this.buttonText, this._getSelectedItem().text() ); - this._setOption( "width", this.options.width ); + if ( !this.options.width ) { + this._resizeButton(); + } }, _refreshMenu: function() { @@ -12097,6 +12428,7 @@ var selectmenu = $.widget( "ui.selectmenu", { this.isOpen = false; this._toggleAttr(); + this.range = null; this._off( this.document ); this._trigger( "close", event ); @@ -12185,6 +12517,29 @@ var selectmenu = $.widget( "ui.selectmenu", { this[ this.isOpen ? "close" : "open" ]( event ); }, + _setSelection: function() { + var selection; + + if ( !this.range ) { + return; + } + + if ( window.getSelection ) { + selection = window.getSelection(); + selection.removeAllRanges(); + selection.addRange( this.range ); + + // support: IE8 + } else { + this.range.select(); + } + + // support: IE + // Setting the text selection kills the button focus in IE, but + // restoring the focus doesn't kill the selection. + this.button.focus(); + }, + _documentClick: { mousedown: function( event ) { if ( !this.isOpen ) { @@ -12198,7 +12553,28 @@ var selectmenu = $.widget( "ui.selectmenu", { }, _buttonEvents: { - click: "_toggle", + + // Prevent text selection from being reset when interacting with the selectmenu (#10144) + mousedown: function() { + var selection; + + if ( window.getSelection ) { + selection = window.getSelection(); + if ( selection.rangeCount ) { + this.range = selection.getRangeAt( 0 ); + } + + // support: IE8 + } else { + this.range = document.selection.createRange(); + } + }, + + click: function( event ) { + this._setSelection(); + this._toggle( event ); + }, + keydown: function( event ) { var preventDefault = true; switch ( event.keyCode ) { @@ -12320,10 +12696,7 @@ var selectmenu = $.widget( "ui.selectmenu", { } if ( key === "width" ) { - if ( !value ) { - value = this.element.outerWidth(); - } - this.button.outerWidth( value ); + this._resizeButton(); } }, @@ -12356,6 +12729,17 @@ var selectmenu = $.widget( "ui.selectmenu", { this.menu.attr( "aria-hidden", !this.isOpen ); }, + _resizeButton: function() { + var width = this.options.width; + + if ( !width ) { + width = this.element.show().outerWidth(); + this.element.hide(); + } + + this.button.outerWidth( width ); + }, + _resizeMenu: function() { this.menu.outerWidth( Math.max( this.button.outerWidth(), @@ -12379,7 +12763,7 @@ var selectmenu = $.widget( "ui.selectmenu", { data.push({ element: option, index: index, - value: option.attr( "value" ), + value: option.val(), label: option.text(), optgroup: optgroup.attr( "label" ) || "", disabled: optgroup.prop( "disabled" ) || option.prop( "disabled" ) @@ -12399,10 +12783,10 @@ var selectmenu = $.widget( "ui.selectmenu", { /*! - * jQuery UI Slider 1.11.0 + * jQuery UI Slider 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -12411,7 +12795,7 @@ var selectmenu = $.widget( "ui.selectmenu", { var slider = $.widget( "ui.slider", $.ui.mouse, { - version: "1.11.0", + version: "1.11.4", widgetEventPrefix: "slide", options: { @@ -12443,6 +12827,7 @@ var slider = $.widget( "ui.slider", $.ui.mouse, { this._handleIndex = null; this._detectOrientation(); this._mouseInit(); + this._calculateNewMax(); this.element .addClass( "ui-slider" + @@ -12839,6 +13224,9 @@ var slider = $.widget( "ui.slider", $.ui.mouse, { .removeClass( "ui-slider-horizontal ui-slider-vertical" ) .addClass( "ui-slider-" + this.orientation ); this._refreshValue(); + + // Reset positioning from previous orientation + this.handles.css( value === "horizontal" ? "bottom" : "left", "" ); break; case "value": this._animateOff = true; @@ -12854,9 +13242,11 @@ var slider = $.widget( "ui.slider", $.ui.mouse, { } this._animateOff = false; break; + case "step": case "min": case "max": this._animateOff = true; + this._calculateNewMax(); this._refreshValue(); this._animateOff = false; break; @@ -12894,7 +13284,7 @@ var slider = $.widget( "ui.slider", $.ui.mouse, { // .slice() creates a copy of the array // this copy gets trimmed by min and max and then returned vals = this.options.values.slice(); - for ( i = 0; i < vals.length; i+= 1) { + for ( i = 0; i < vals.length; i += 1) { vals[ i ] = this._trimAlignValue( vals[ i ] ); } @@ -12925,12 +13315,35 @@ var slider = $.widget( "ui.slider", $.ui.mouse, { return parseFloat( alignValue.toFixed(5) ); }, + _calculateNewMax: function() { + var max = this.options.max, + min = this._valueMin(), + step = this.options.step, + aboveMin = Math.floor( ( +( max - min ).toFixed( this._precision() ) ) / step ) * step; + max = aboveMin + min; + this.max = parseFloat( max.toFixed( this._precision() ) ); + }, + + _precision: function() { + var precision = this._precisionOf( this.options.step ); + if ( this.options.min !== null ) { + precision = Math.max( precision, this._precisionOf( this.options.min ) ); + } + return precision; + }, + + _precisionOf: function( num ) { + var str = num.toString(), + decimal = str.indexOf( "." ); + return decimal === -1 ? 0 : str.length - decimal - 1; + }, + _valueMin: function() { return this.options.min; }, _valueMax: function() { - return this.options.max; + return this.max; }, _refreshValue: function() { @@ -13072,10 +13485,10 @@ var slider = $.widget( "ui.slider", $.ui.mouse, { /*! - * jQuery UI Sortable 1.11.0 + * jQuery UI Sortable 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -13084,7 +13497,7 @@ var slider = $.widget( "ui.slider", $.ui.mouse, { var sortable = $.widget("ui.sortable", $.ui.mouse, { - version: "1.11.0", + version: "1.11.4", widgetEventPrefix: "sort", ready: false, options: { @@ -13135,17 +13548,12 @@ var sortable = $.widget("ui.sortable", $.ui.mouse, { }, _create: function() { - - var o = this.options; this.containerCache = {}; this.element.addClass("ui-sortable"); //Get the items this.refresh(); - //Let's determine if the items are being displayed horizontally - this.floating = this.items.length ? o.axis === "x" || this._isFloating(this.items[0].item) : false; - //Let's determine the parent's offset this.offset = this.element.offset(); @@ -13334,7 +13742,7 @@ var sortable = $.widget("ui.sortable", $.ui.mouse, { } //Prepare scrolling - if(this.scrollParent[0] !== document && this.scrollParent[0].tagName !== "HTML") { + if(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== "HTML") { this.overflowOffset = this.scrollParent.offset(); } @@ -13386,7 +13794,7 @@ var sortable = $.widget("ui.sortable", $.ui.mouse, { //Do scrolling if(this.options.scroll) { - if(this.scrollParent[0] !== document && this.scrollParent[0].tagName !== "HTML") { + if(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== "HTML") { if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) { this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed; @@ -13402,16 +13810,16 @@ var sortable = $.widget("ui.sortable", $.ui.mouse, { } else { - if(event.pageY - $(document).scrollTop() < o.scrollSensitivity) { - scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed); - } else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) { - scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed); + if(event.pageY - this.document.scrollTop() < o.scrollSensitivity) { + scrolled = this.document.scrollTop(this.document.scrollTop() - o.scrollSpeed); + } else if(this.window.height() - (event.pageY - this.document.scrollTop()) < o.scrollSensitivity) { + scrolled = this.document.scrollTop(this.document.scrollTop() + o.scrollSpeed); } - if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity) { - scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed); - } else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) { - scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed); + if(event.pageX - this.document.scrollLeft() < o.scrollSensitivity) { + scrolled = this.document.scrollLeft(this.document.scrollLeft() - o.scrollSpeed); + } else if(this.window.width() - (event.pageX - this.document.scrollLeft()) < o.scrollSensitivity) { + scrolled = this.document.scrollLeft(this.document.scrollLeft() + o.scrollSpeed); } } @@ -13510,10 +13918,10 @@ var sortable = $.widget("ui.sortable", $.ui.mouse, { animation = {}; if ( !axis || axis === "x" ) { - animation.left = cur.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] === document.body ? 0 : this.offsetParent[0].scrollLeft); + animation.left = cur.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollLeft); } if ( !axis || axis === "y" ) { - animation.top = cur.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] === document.body ? 0 : this.offsetParent[0].scrollTop); + animation.top = cur.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollTop); } this.reverting = true; $(this.helper).animate( animation, parseInt(this.options.revert, 10) || 500, function() { @@ -13706,7 +14114,7 @@ var sortable = $.widget("ui.sortable", $.ui.mouse, { if(connectWith && connected) { for (i = connectWith.length - 1; i >= 0; i--){ - cur = $(connectWith[i]); + cur = $(connectWith[i], this.document[0]); for ( j = cur.length - 1; j >= 0; j--){ inst = $.data(cur[j], this.widgetFullName); if(inst && inst !== this && !inst.options.disabled) { @@ -13756,7 +14164,7 @@ var sortable = $.widget("ui.sortable", $.ui.mouse, { if(connectWith && this.ready) { //Shouldn't be run the first time through due to massive slow-down for (i = connectWith.length - 1; i >= 0; i--){ - cur = $(connectWith[i]); + cur = $(connectWith[i], this.document[0]); for (j = cur.length - 1; j >= 0; j--){ inst = $.data(cur[j], this.widgetFullName); if(inst && inst !== this && !inst.options.disabled) { @@ -13789,6 +14197,11 @@ var sortable = $.widget("ui.sortable", $.ui.mouse, { refreshPositions: function(fast) { + // Determine whether items are being displayed horizontally + this.floating = this.items.length ? + this.options.axis === "x" || this._isFloating( this.items[ 0 ].item ) : + false; + //This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change if(this.offsetParent && this.helper) { this.offset.parent = this._getParentOffset(); @@ -13846,12 +14259,13 @@ var sortable = $.widget("ui.sortable", $.ui.mouse, { .addClass(className || that.currentItem[0].className+" ui-sortable-placeholder") .removeClass("ui-sortable-helper"); - if ( nodeName === "tr" ) { - that.currentItem.children().each(function() { - $( "<td> </td>", that.document[0] ) - .attr( "colspan", $( this ).attr( "colspan" ) || 1 ) - .appendTo( element ); - }); + if ( nodeName === "tbody" ) { + that._createTrPlaceholder( + that.currentItem.find( "tr" ).eq( 0 ), + $( "<tr>", that.document[ 0 ] ).appendTo( element ) + ); + } else if ( nodeName === "tr" ) { + that._createTrPlaceholder( that.currentItem, element ); } else if ( nodeName === "img" ) { element.attr( "src", that.currentItem.attr( "src" ) ); } @@ -13888,6 +14302,16 @@ var sortable = $.widget("ui.sortable", $.ui.mouse, { }, + _createTrPlaceholder: function( sourceTr, targetTr ) { + var that = this; + + sourceTr.children().each(function() { + $( "<td> </td>", that.document[ 0 ] ) + .attr( "colspan", $( this ).attr( "colspan" ) || 1 ) + .appendTo( targetTr ); + }); + }, + _contactContainers: function(event) { var i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, cur, nearBottom, floating, axis, innermostContainer = null, @@ -13969,6 +14393,10 @@ var sortable = $.widget("ui.sortable", $.ui.mouse, { } if(this.currentContainer === this.containers[innermostIndex]) { + if ( !this.currentContainer.containerCache.over ) { + this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash() ); + this.currentContainer.containerCache.over = 1; + } return; } @@ -14044,14 +14472,14 @@ var sortable = $.widget("ui.sortable", $.ui.mouse, { // 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that // the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag - if(this.cssPosition === "absolute" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) { + if(this.cssPosition === "absolute" && this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) { po.left += this.scrollParent.scrollLeft(); po.top += this.scrollParent.scrollTop(); } // This needs to be actually done for all browsers, since pageX/pageY includes this information // with an ugly IE fix - if( this.offsetParent[0] === document.body || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) { + if( this.offsetParent[0] === this.document[0].body || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) { po = { top: 0, left: 0 }; } @@ -14101,8 +14529,8 @@ var sortable = $.widget("ui.sortable", $.ui.mouse, { this.containment = [ 0 - this.offset.relative.left - this.offset.parent.left, 0 - this.offset.relative.top - this.offset.parent.top, - $(o.containment === "document" ? document : window).width() - this.helperProportions.width - this.margins.left, - ($(o.containment === "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top + o.containment === "document" ? this.document.width() : this.window.width() - this.helperProportions.width - this.margins.left, + (o.containment === "document" ? this.document.width() : this.window.height() || this.document[0].body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top ]; } @@ -14127,7 +14555,7 @@ var sortable = $.widget("ui.sortable", $.ui.mouse, { pos = this.position; } var mod = d === "absolute" ? 1 : -1, - scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, + scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName); return { @@ -14153,13 +14581,13 @@ var sortable = $.widget("ui.sortable", $.ui.mouse, { o = this.options, pageX = event.pageX, pageY = event.pageY, - scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName); + scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName); // This is another very weird special case that only happens for relative elements: // 1. If the css position is relative // 2. and the scroll parent is the document or similar to the offset parent // we have to refresh the relative offset during the scroll so there are no jumps - if(this.cssPosition === "relative" && !(this.scrollParent[0] !== document && this.scrollParent[0] !== this.offsetParent[0])) { + if(this.cssPosition === "relative" && !(this.scrollParent[0] !== this.document[0] && this.scrollParent[0] !== this.offsetParent[0])) { this.offset.relative = this._getRelativeOffset(); } @@ -14307,18 +14735,6 @@ var sortable = $.widget("ui.sortable", $.ui.mouse, { } this.dragging = false; - if(this.cancelHelperRemoval) { - if(!noPropagation) { - this._trigger("beforeStop", event, this._uiHash()); - for (i=0; i < delayedTriggers.length; i++) { - delayedTriggers[i].call(this, event); - } //Trigger all delayed events - this._trigger("stop", event, this._uiHash()); - } - - this.fromOutside = false; - return false; - } if(!noPropagation) { this._trigger("beforeStop", event, this._uiHash()); @@ -14327,10 +14743,12 @@ var sortable = $.widget("ui.sortable", $.ui.mouse, { //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node! this.placeholder[0].parentNode.removeChild(this.placeholder[0]); - if(this.helper[0] !== this.currentItem[0]) { - this.helper.remove(); + if ( !this.cancelHelperRemoval ) { + if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) { + this.helper.remove(); + } + this.helper = null; } - this.helper = null; if(!noPropagation) { for (i=0; i < delayedTriggers.length; i++) { @@ -14340,7 +14758,7 @@ var sortable = $.widget("ui.sortable", $.ui.mouse, { } this.fromOutside = false; - return true; + return !this.cancelHelperRemoval; }, @@ -14367,10 +14785,10 @@ var sortable = $.widget("ui.sortable", $.ui.mouse, { /*! - * jQuery UI Spinner 1.11.0 + * jQuery UI Spinner 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -14390,7 +14808,7 @@ function spinner_modifier( fn ) { } var spinner = $.widget( "ui.spinner", { - version: "1.11.0", + version: "1.11.4", defaultElement: "<input>", widgetEventPrefix: "spin", options: { @@ -14866,10 +15284,10 @@ var spinner = $.widget( "ui.spinner", { /*! - * jQuery UI Tabs 1.11.0 + * jQuery UI Tabs 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -14878,7 +15296,7 @@ var spinner = $.widget( "ui.spinner", { var tabs = $.widget( "ui.tabs", { - version: "1.11.0", + version: "1.11.4", delay: 300, options: { active: null, @@ -14928,24 +15346,7 @@ var tabs = $.widget( "ui.tabs", { this.element .addClass( "ui-tabs ui-widget ui-widget-content ui-corner-all" ) - .toggleClass( "ui-tabs-collapsible", options.collapsible ) - // Prevent users from focusing disabled tabs via click - .delegate( ".ui-tabs-nav > li", "mousedown" + this.eventNamespace, function( event ) { - if ( $( this ).is( ".ui-state-disabled" ) ) { - event.preventDefault(); - } - }) - // support: IE <9 - // Preventing the default action in mousedown doesn't prevent IE - // from focusing the element, so if the anchor gets focused, blur. - // We don't have to worry about focusing the previously focused - // element since clicking on a non-focusable element should focus - // the body anyway. - .delegate( ".ui-tabs-anchor", "focus" + this.eventNamespace, function() { - if ( $( this ).closest( "li" ).is( ".ui-state-disabled" ) ) { - this.blur(); - } - }); + .toggleClass( "ui-tabs-collapsible", options.collapsible ); this._processTabs(); options.active = this._initialActive(); @@ -15071,8 +15472,9 @@ var tabs = $.widget( "ui.tabs", { clearTimeout( this.activating ); selectedIndex = this._focusNextTab( selectedIndex, goingForward ); - // Navigating with control key will prevent automatic activation - if ( !event.ctrlKey ) { + // Navigating with control/command key will prevent automatic activation + if ( !event.ctrlKey && !event.metaKey ) { + // Update aria-selected immediately so that AT think the tab is already selected. // Otherwise AT may confuse the user by stating that they need to activate the tab, // but the tab will already be activated by the time the announcement finishes. @@ -15242,11 +15644,33 @@ var tabs = $.widget( "ui.tabs", { }, _processTabs: function() { - var that = this; + var that = this, + prevTabs = this.tabs, + prevAnchors = this.anchors, + prevPanels = this.panels; this.tablist = this._getList() .addClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" ) - .attr( "role", "tablist" ); + .attr( "role", "tablist" ) + + // Prevent users from focusing disabled tabs via click + .delegate( "> li", "mousedown" + this.eventNamespace, function( event ) { + if ( $( this ).is( ".ui-state-disabled" ) ) { + event.preventDefault(); + } + }) + + // support: IE <9 + // Preventing the default action in mousedown doesn't prevent IE + // from focusing the element, so if the anchor gets focused, blur. + // We don't have to worry about focusing the previously focused + // element since clicking on a non-focusable element should focus + // the body anyway. + .delegate( ".ui-tabs-anchor", "focus" + this.eventNamespace, function() { + if ( $( this ).closest( "li" ).is( ".ui-state-disabled" ) ) { + this.blur(); + } + }); this.tabs = this.tablist.find( "> li:has(a[href])" ) .addClass( "ui-state-default ui-corner-top" ) @@ -15307,6 +15731,13 @@ var tabs = $.widget( "ui.tabs", { this.panels .addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" ) .attr( "role", "tabpanel" ); + + // Avoid memory leaks (#10056) + if ( prevTabs ) { + this._off( prevTabs.not( this.tabs ) ); + this._off( prevAnchors.not( this.anchors ) ); + this._off( prevPanels.not( this.panels ) ); + } }, // allow overriding how to find the list for rare usage scenarios (#7715) @@ -15564,6 +15995,8 @@ var tabs = $.widget( "ui.tabs", { .removeAttr( "tabIndex" ) .removeUniqueId(); + this.tablist.unbind( this.eventNamespace ); + this.tabs.add( this.panels ).each(function() { if ( $.data( this, "ui-tabs-destroy" ) ) { $( this ).remove(); @@ -15655,6 +16088,18 @@ var tabs = $.widget( "ui.tabs", { eventData = { tab: tab, panel: panel + }, + complete = function( jqXHR, status ) { + if ( status === "abort" ) { + that.panels.stop( false, true ); + } + + tab.removeClass( "ui-tabs-loading" ); + panel.removeAttr( "aria-busy" ); + + if ( jqXHR === that.xhr ) { + delete that.xhr; + } }; // not remote @@ -15672,28 +16117,21 @@ var tabs = $.widget( "ui.tabs", { panel.attr( "aria-busy", "true" ); this.xhr - .success(function( response ) { + .done(function( response, status, jqXHR ) { // support: jQuery <1.8 // http://bugs.jquery.com/ticket/11778 setTimeout(function() { panel.html( response ); that._trigger( "load", event, eventData ); + + complete( jqXHR, status ); }, 1 ); }) - .complete(function( jqXHR, status ) { + .fail(function( jqXHR, status ) { // support: jQuery <1.8 // http://bugs.jquery.com/ticket/11778 setTimeout(function() { - if ( status === "abort" ) { - that.panels.stop( false, true ); - } - - tab.removeClass( "ui-tabs-loading" ); - panel.removeAttr( "aria-busy" ); - - if ( jqXHR === that.xhr ) { - delete that.xhr; - } + complete( jqXHR, status ); }, 1 ); }); } @@ -15718,10 +16156,10 @@ var tabs = $.widget( "ui.tabs", { /*! - * jQuery UI Tooltip 1.11.0 + * jQuery UI Tooltip 1.11.4 * http://jqueryui.com * - * Copyright 2014 jQuery Foundation and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * @@ -15730,7 +16168,7 @@ var tabs = $.widget( "ui.tabs", { var tooltip = $.widget( "ui.tooltip", { - version: "1.11.0", + version: "1.11.4", options: { content: function() { // support: IE<9, Opera in jQuery <1.7 @@ -15790,6 +16228,7 @@ var tooltip = $.widget( "ui.tooltip", { // IDs of generated tooltips, needed for destroy this.tooltips = {}; + // IDs of parent tooltips where we removed the title attribute this.parents = {}; @@ -15821,8 +16260,8 @@ var tooltip = $.widget( "ui.tooltip", { this._super( key, value ); if ( key === "content" ) { - $.each( this.tooltips, function( id, element ) { - that._updateContent( element ); + $.each( this.tooltips, function( id, tooltipData ) { + that._updateContent( tooltipData.element ); }); } }, @@ -15831,9 +16270,9 @@ var tooltip = $.widget( "ui.tooltip", { var that = this; // close open tooltips - $.each( this.tooltips, function( id, element ) { + $.each( this.tooltips, function( id, tooltipData ) { var event = $.Event( "blur" ); - event.target = event.currentTarget = element[0]; + event.target = event.currentTarget = tooltipData.element[ 0 ]; that.close( event, true ); }); @@ -15897,6 +16336,7 @@ var tooltip = $.widget( "ui.tooltip", { }); } + this._registerCloseHandlers( event, target ); this._updateContent( target, event ); }, @@ -15911,13 +16351,16 @@ var tooltip = $.widget( "ui.tooltip", { } content = contentOption.call( target[0], function( response ) { - // ignore async response if tooltip was closed already - if ( !target.data( "ui-tooltip-open" ) ) { - return; - } + // IE may instantly serve a cached response for ajax requests // delay this call to _open so the other call to _open runs first that._delay(function() { + + // Ignore async response if tooltip was closed already + if ( !target.data( "ui-tooltip-open" ) ) { + return; + } + // jQuery creates a special event for focusin when it doesn't // exist natively. To improve performance, the native event // object is reused and the type is changed. Therefore, we can't @@ -15935,7 +16378,7 @@ var tooltip = $.widget( "ui.tooltip", { }, _open: function( event, target, content ) { - var tooltip, events, delayedShow, a11yContent, + var tooltipData, tooltip, delayedShow, a11yContent, positionOption = $.extend( {}, this.options.position ); if ( !content ) { @@ -15944,9 +16387,9 @@ var tooltip = $.widget( "ui.tooltip", { // Content can be updated multiple times. If the tooltip already // exists, then just update the content and bail. - tooltip = this._find( target ); - if ( tooltip.length ) { - tooltip.find( ".ui-tooltip-content" ).html( content ); + tooltipData = this._find( target ); + if ( tooltipData ) { + tooltipData.tooltip.find( ".ui-tooltip-content" ).html( content ); return; } @@ -15965,7 +16408,8 @@ var tooltip = $.widget( "ui.tooltip", { } } - tooltip = this._tooltip( target ); + tooltipData = this._tooltip( target ); + tooltip = tooltipData.tooltip; this._addDescribedBy( target, tooltip.attr( "id" ) ); tooltip.find( ".ui-tooltip-content" ).html( content ); @@ -16016,8 +16460,10 @@ var tooltip = $.widget( "ui.tooltip", { } this._trigger( "open", event, { tooltip: tooltip } ); + }, - events = { + _registerCloseHandlers: function( event, target ) { + var events = { keyup: function( event ) { if ( event.keyCode === $.ui.keyCode.ESCAPE ) { var fakeEvent = $.Event(event); @@ -16031,7 +16477,7 @@ var tooltip = $.widget( "ui.tooltip", { // tooltips will handle this in destroy. if ( target[ 0 ] !== this.element[ 0 ] ) { events.remove = function() { - this._removeTooltip( tooltip ); + this._removeTooltip( this._find( target ).tooltip ); }; } @@ -16045,13 +16491,27 @@ var tooltip = $.widget( "ui.tooltip", { }, close: function( event ) { - var that = this, + var tooltip, + that = this, target = $( event ? event.currentTarget : this.element ), - tooltip = this._find( target ); + tooltipData = this._find( target ); + + // The tooltip may already be closed + if ( !tooltipData ) { + + // We set ui-tooltip-open immediately upon open (in open()), but only set the + // additional data once there's actually content to show (in _open()). So even if the + // tooltip doesn't have full data, we always remove ui-tooltip-open in case we're in + // the period between open() and _open(). + target.removeData( "ui-tooltip-open" ); + return; + } + + tooltip = tooltipData.tooltip; // disabling closes the tooltip, so we need to track when we're closing // to avoid an infinite loop in case the tooltip becomes disabled on close - if ( this.closing ) { + if ( tooltipData.closing ) { return; } @@ -16066,6 +16526,7 @@ var tooltip = $.widget( "ui.tooltip", { this._removeDescribedBy( target ); + tooltipData.hiding = true; tooltip.stop( true ); this._hide( tooltip, this.options.hide, function() { that._removeTooltip( $( this ) ); @@ -16087,9 +16548,11 @@ var tooltip = $.widget( "ui.tooltip", { }); } - this.closing = true; + tooltipData.closing = true; this._trigger( "close", event, { tooltip: tooltip } ); - this.closing = false; + if ( !tooltipData.hiding ) { + tooltipData.closing = false; + } }, _tooltip: function( element ) { @@ -16104,13 +16567,16 @@ var tooltip = $.widget( "ui.tooltip", { .appendTo( tooltip ); tooltip.appendTo( this.document[0].body ); - this.tooltips[ id ] = element; - return tooltip; + + return this.tooltips[ id ] = { + element: element, + tooltip: tooltip + }; }, _find: function( target ) { var id = target.data( "ui-tooltip-id" ); - return id ? $( "#" + id ) : $(); + return id ? this.tooltips[ id ] : null; }, _removeTooltip: function( tooltip ) { @@ -16122,10 +16588,11 @@ var tooltip = $.widget( "ui.tooltip", { var that = this; // close open tooltips - $.each( this.tooltips, function( id, element ) { + $.each( this.tooltips, function( id, tooltipData ) { // Delegate to close method to handle common cleanup - var event = $.Event( "blur" ); - event.target = event.currentTarget = element[0]; + var event = $.Event( "blur" ), + element = tooltipData.element; + event.target = event.currentTarget = element[ 0 ]; that.close( event, true ); // Remove immediately; destroying an open tooltip doesn't use the diff --git a/lib/scripts/jquery/jquery-ui.min.js b/lib/scripts/jquery/jquery-ui.min.js index b2fdf864ae214f18bd1bf566df3738843f04d654..5824d1292db4b99708fff6c950bf64861f083aa2 100644 --- a/lib/scripts/jquery/jquery-ui.min.js +++ b/lib/scripts/jquery/jquery-ui.min.js @@ -1,13 +1,13 @@ -/*! jQuery UI - v1.11.0 - 2014-06-26 +/*! jQuery UI - v1.11.4 - 2015-03-11 * http://jqueryui.com * Includes: core.js, widget.js, mouse.js, position.js, accordion.js, autocomplete.js, button.js, datepicker.js, dialog.js, draggable.js, droppable.js, effect.js, effect-blind.js, effect-bounce.js, effect-clip.js, effect-drop.js, effect-explode.js, effect-fade.js, effect-fold.js, effect-highlight.js, effect-puff.js, effect-pulsate.js, effect-scale.js, effect-shake.js, effect-size.js, effect-slide.js, effect-transfer.js, menu.js, progressbar.js, resizable.js, selectable.js, selectmenu.js, slider.js, sortable.js, spinner.js, tabs.js, tooltip.js -* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ +* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ -(function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){function t(t,s){var n,a,o,r=t.nodeName.toLowerCase();return"area"===r?(n=t.parentNode,a=n.name,t.href&&a&&"map"===n.nodeName.toLowerCase()?(o=e("img[usemap=#"+a+"]")[0],!!o&&i(o)):!1):(/input|select|textarea|button|object/.test(r)?!t.disabled:"a"===r?t.href||s:s)&&i(t)}function i(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}function s(e){for(var t,i;e.length&&e[0]!==document;){if(t=e.css("position"),("absolute"===t||"relative"===t||"fixed"===t)&&(i=parseInt(e.css("zIndex"),10),!isNaN(i)&&0!==i))return i;e=e.parent()}return 0}function n(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},e.extend(this._defaults,this.regional[""]),this.regional.en=e.extend(!0,{},this.regional[""]),this.regional["en-US"]=e.extend(!0,{},this.regional.en),this.dpDiv=a(e("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function a(t){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return t.delegate(i,"mouseout",function(){e(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).removeClass("ui-datepicker-next-hover")}).delegate(i,"mouseover",function(){e.datepicker._isDisabledDatepicker(g.inline?t.parent()[0]:g.input[0])||(e(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),e(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).addClass("ui-datepicker-next-hover"))})}function o(t,i){e.extend(t,i);for(var s in i)null==i[s]&&(t[s]=i[s]);return t}function r(e){return function(){var t=this.element.val();e.apply(this,arguments),this._refresh(),t!==this.element.val()&&this._trigger("change")}}e.ui=e.ui||{},e.extend(e.ui,{version:"1.11.0",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({scrollParent:function(){var t=this.css("position"),i="absolute"===t,s=this.parents().filter(function(){var t=e(this);return i&&"static"===t.css("position")?!1:/(auto|scroll)/.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==t&&s.length?s:e(this[0].ownerDocument||document)},uniqueId:function(){var e=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++e)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(i){return t(i,!isNaN(e.attr(i,"tabindex")))},tabbable:function(i){var s=e.attr(i,"tabindex"),n=isNaN(s);return(n||s>=0)&&t(i,!n)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(t,i){function s(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],a=i.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+i]=function(t){return void 0===t?o["inner"+i].call(this):this.each(function(){e(this).css(a,s(this,t)+"px")})},e.fn["outer"+i]=function(t,n){return"number"!=typeof t?o["outer"+i].call(this,t):this.each(function(){e(this).css(a,s(this,t,!0,n)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),disableSelection:function(){var e="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.bind(e+".ui-disableSelection",function(e){e.preventDefault()})}}(),enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(t){if(void 0!==t)return this.css("zIndex",t);if(this.length)for(var i,s,n=e(this[0]);n.length&&n[0]!==document;){if(i=n.css("position"),("absolute"===i||"relative"===i||"fixed"===i)&&(s=parseInt(n.css("zIndex"),10),!isNaN(s)&&0!==s))return s;n=n.parent()}return 0}}),e.ui.plugin={add:function(t,i,s){var n,a=e.ui[t].prototype;for(n in s)a.plugins[n]=a.plugins[n]||[],a.plugins[n].push([i,s[n]])},call:function(e,t,i,s){var n,a=e.plugins[t];if(a&&(s||e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType))for(n=0;a.length>n;n++)e.options[a[n][0]]&&a[n][1].apply(e.element,i)}};var h=0,l=Array.prototype.slice;e.cleanData=function(t){return function(i){for(var s,n=0;null!=(s=i[n]);n++)try{e(s).triggerHandler("remove")}catch(a){}t(i)}}(e.cleanData),e.widget=function(t,i,s){var n,a,o,r,h={},l=t.split(".")[0];return t=t.split(".")[1],n=l+"-"+t,s||(s=i,i=e.Widget),e.expr[":"][n.toLowerCase()]=function(t){return!!e.data(t,n)},e[l]=e[l]||{},a=e[l][t],o=e[l][t]=function(e,t){return this._createWidget?(arguments.length&&this._createWidget(e,t),void 0):new o(e,t)},e.extend(o,a,{version:s.version,_proto:e.extend({},s),_childConstructors:[]}),r=new i,r.options=e.widget.extend({},r.options),e.each(s,function(t,s){return e.isFunction(s)?(h[t]=function(){var e=function(){return i.prototype[t].apply(this,arguments)},n=function(e){return i.prototype[t].apply(this,e)};return function(){var t,i=this._super,a=this._superApply;return this._super=e,this._superApply=n,t=s.apply(this,arguments),this._super=i,this._superApply=a,t}}(),void 0):(h[t]=s,void 0)}),o.prototype=e.widget.extend(r,{widgetEventPrefix:a?r.widgetEventPrefix||t:t},h,{constructor:o,namespace:l,widgetName:t,widgetFullName:n}),a?(e.each(a._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete a._childConstructors):i._childConstructors.push(o),e.widget.bridge(t,o),o},e.widget.extend=function(t){for(var i,s,n=l.call(arguments,1),a=0,o=n.length;o>a;a++)for(i in n[a])s=n[a][i],n[a].hasOwnProperty(i)&&void 0!==s&&(t[i]=e.isPlainObject(s)?e.isPlainObject(t[i])?e.widget.extend({},t[i],s):e.widget.extend({},s):s);return t},e.widget.bridge=function(t,i){var s=i.prototype.widgetFullName||t;e.fn[t]=function(n){var a="string"==typeof n,o=l.call(arguments,1),r=this;return n=!a&&o.length?e.widget.extend.apply(null,[n].concat(o)):n,a?this.each(function(){var i,a=e.data(this,s);return"instance"===n?(r=a,!1):a?e.isFunction(a[n])&&"_"!==n.charAt(0)?(i=a[n].apply(a,o),i!==a&&void 0!==i?(r=i&&i.jquery?r.pushStack(i.get()):i,!1):void 0):e.error("no such method '"+n+"' for "+t+" widget instance"):e.error("cannot call methods on "+t+" prior to initialization; "+"attempted to call method '"+n+"'")}):this.each(function(){var t=e.data(this,s);t?(t.option(n||{}),t._init&&t._init()):e.data(this,s,new i(n,this))}),r}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(t,i){i=e(i||this.defaultElement||this)[0],this.element=e(i),this.uuid=h++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this.bindings=e(),this.hoverable=e(),this.focusable=e(),i!==this&&(e.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===i&&this.destroy()}}),this.document=e(i.style?i.ownerDocument:i.document||i),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(t,i){var s,n,a,o=t;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof t)if(o={},s=t.split("."),t=s.shift(),s.length){for(n=o[t]=e.widget.extend({},this.options[t]),a=0;s.length-1>a;a++)n[s[a]]=n[s[a]]||{},n=n[s[a]];if(t=s.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=i}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];o[t]=i}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!t),t&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(t,i,s){var n,a=this;"boolean"!=typeof t&&(s=i,i=t,t=!1),s?(i=n=e(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),e.each(s,function(s,o){function r(){return t||a.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?a[o]:o).apply(a,arguments):void 0}"string"!=typeof o&&(r.guid=o.guid=o.guid||r.guid||e.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+a.eventNamespace,u=h[2];u?n.delegate(u,l,r):i.bind(l,r)})},_off:function(e,t){t=(t||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.unbind(t).undelegate(t)},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,o=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(o)&&o.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var o,r=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),o=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),o&&e.effects&&e.effects.effect[r]?s[t](n):r!==t&&s[r]?s[r](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}}),e.widget;var u=!1;e(document).mouseup(function(){u=!1}),e.widget("ui.mouse",{version:"1.11.0",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){if(!u){this._mouseStarted&&this._mouseUp(t),this._mouseDownEvent=t;var i=this,s=1===t.which,n="string"==typeof this.options.cancel&&t.target.nodeName?e(t.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(t)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(t)!==!1,!this._mouseStarted)?(t.preventDefault(),!0):(!0===e.data(t.target,this.widgetName+".preventClickEvent")&&e.removeData(t.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return i._mouseMove(e)},this._mouseUpDelegate=function(e){return i._mouseUp(e)},this.document.bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),t.preventDefault(),u=!0,!0)):!0}},_mouseMove:function(t){return e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button?this._mouseUp(t):t.which?this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted):this._mouseUp(t)},_mouseUp:function(t){return this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),u=!1,!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),function(){function t(e,t,i){return[parseFloat(e[0])*(p.test(e[0])?t/100:1),parseFloat(e[1])*(p.test(e[1])?i/100:1)]}function i(t,i){return parseInt(e.css(t,i),10)||0}function s(t){var i=t[0];return 9===i.nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:e.isWindow(i)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()}}e.ui=e.ui||{};var n,a,o=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,u=/top|center|bottom/,d=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,p=/%$/,f=e.fn.position;e.position={scrollbarWidth:function(){if(void 0!==n)return n;var t,i,s=e("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),a=s.children()[0];return e("body").append(s),t=a.offsetWidth,s.css("overflow","scroll"),i=a.offsetWidth,t===i&&(i=s[0].clientWidth),s.remove(),n=t-i},getScrollInfo:function(t){var i=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),s=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),n="scroll"===i||"auto"===i&&t.width<t.element[0].scrollWidth,a="scroll"===s||"auto"===s&&t.height<t.element[0].scrollHeight;return{width:a?e.position.scrollbarWidth():0,height:n?e.position.scrollbarWidth():0}},getWithinInfo:function(t){var i=e(t||window),s=e.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType;return{element:i,isWindow:s,isDocument:n,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s?i.width():i.outerWidth(),height:s?i.height():i.outerHeight()}}},e.fn.position=function(n){if(!n||!n.of)return f.apply(this,arguments);n=e.extend({},n);var p,m,g,v,y,b,_=e(n.of),x=e.position.getWithinInfo(n.within),w=e.position.getScrollInfo(x),k=(n.collision||"flip").split(" "),T={};return b=s(_),_[0].preventDefault&&(n.at="left top"),m=b.width,g=b.height,v=b.offset,y=e.extend({},v),e.each(["my","at"],function(){var e,t,i=(n[this]||"").split(" ");1===i.length&&(i=l.test(i[0])?i.concat(["center"]):u.test(i[0])?["center"].concat(i):["center","center"]),i[0]=l.test(i[0])?i[0]:"center",i[1]=u.test(i[1])?i[1]:"center",e=d.exec(i[0]),t=d.exec(i[1]),T[this]=[e?e[0]:0,t?t[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===k.length&&(k[1]=k[0]),"right"===n.at[0]?y.left+=m:"center"===n.at[0]&&(y.left+=m/2),"bottom"===n.at[1]?y.top+=g:"center"===n.at[1]&&(y.top+=g/2),p=t(T.at,m,g),y.left+=p[0],y.top+=p[1],this.each(function(){var s,l,u=e(this),d=u.outerWidth(),c=u.outerHeight(),f=i(this,"marginLeft"),b=i(this,"marginTop"),D=d+f+i(this,"marginRight")+w.width,S=c+b+i(this,"marginBottom")+w.height,M=e.extend({},y),N=t(T.my,u.outerWidth(),u.outerHeight());"right"===n.my[0]?M.left-=d:"center"===n.my[0]&&(M.left-=d/2),"bottom"===n.my[1]?M.top-=c:"center"===n.my[1]&&(M.top-=c/2),M.left+=N[0],M.top+=N[1],a||(M.left=h(M.left),M.top=h(M.top)),s={marginLeft:f,marginTop:b},e.each(["left","top"],function(t,i){e.ui.position[k[t]]&&e.ui.position[k[t]][i](M,{targetWidth:m,targetHeight:g,elemWidth:d,elemHeight:c,collisionPosition:s,collisionWidth:D,collisionHeight:S,offset:[p[0]+N[0],p[1]+N[1]],my:n.my,at:n.at,within:x,elem:u})}),n.using&&(l=function(e){var t=v.left-M.left,i=t+m-d,s=v.top-M.top,a=s+g-c,h={target:{element:_,left:v.left,top:v.top,width:m,height:g},element:{element:u,left:M.left,top:M.top,width:d,height:c},horizontal:0>i?"left":t>0?"right":"center",vertical:0>a?"top":s>0?"bottom":"middle"};d>m&&m>r(t+i)&&(h.horizontal="center"),c>g&&g>r(s+a)&&(h.vertical="middle"),h.important=o(r(t),r(i))>o(r(s),r(a))?"horizontal":"vertical",n.using.call(this,e,h)}),u.offset(e.extend(M,{using:l}))})},e.ui.position={fit:{left:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=e.left-t.collisionPosition.marginLeft,h=n-r,l=r+t.collisionWidth-a-n;t.collisionWidth>a?h>0&&0>=l?(i=e.left+h+t.collisionWidth-a-n,e.left+=h-i):e.left=l>0&&0>=h?n:h>l?n+a-t.collisionWidth:n:h>0?e.left+=h:l>0?e.left-=l:e.left=o(e.left-r,e.left)},top:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollTop:s.offset.top,a=t.within.height,r=e.top-t.collisionPosition.marginTop,h=n-r,l=r+t.collisionHeight-a-n;t.collisionHeight>a?h>0&&0>=l?(i=e.top+h+t.collisionHeight-a-n,e.top+=h-i):e.top=l>0&&0>=h?n:h>l?n+a-t.collisionHeight:n:h>0?e.top+=h:l>0?e.top-=l:e.top=o(e.top-r,e.top)}},flip:{left:function(e,t){var i,s,n=t.within,a=n.offset.left+n.scrollLeft,o=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=e.left-t.collisionPosition.marginLeft,u=l-h,d=l+t.collisionWidth-o-h,c="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,p="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,f=-2*t.offset[0];0>u?(i=e.left+c+p+f+t.collisionWidth-o-a,(0>i||r(u)>i)&&(e.left+=c+p+f)):d>0&&(s=e.left-t.collisionPosition.marginLeft+c+p+f-h,(s>0||d>r(s))&&(e.left+=c+p+f))},top:function(e,t){var i,s,n=t.within,a=n.offset.top+n.scrollTop,o=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=e.top-t.collisionPosition.marginTop,u=l-h,d=l+t.collisionHeight-o-h,c="top"===t.my[1],p=c?-t.elemHeight:"bottom"===t.my[1]?t.elemHeight:0,f="top"===t.at[1]?t.targetHeight:"bottom"===t.at[1]?-t.targetHeight:0,m=-2*t.offset[1];0>u?(s=e.top+p+f+m+t.collisionHeight-o-a,e.top+p+f+m>u&&(0>s||r(u)>s)&&(e.top+=p+f+m)):d>0&&(i=e.top-t.collisionPosition.marginTop+p+f+m-h,e.top+p+f+m>d&&(i>0||d>r(i))&&(e.top+=p+f+m))}},flipfit:{left:function(){e.ui.position.flip.left.apply(this,arguments),e.ui.position.fit.left.apply(this,arguments)},top:function(){e.ui.position.flip.top.apply(this,arguments),e.ui.position.fit.top.apply(this,arguments)}}},function(){var t,i,s,n,o,r=document.getElementsByTagName("body")[0],h=document.createElement("div");t=document.createElement(r?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},r&&e.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(o in s)t.style[o]=s[o];t.appendChild(h),i=r||document.documentElement,i.insertBefore(t,i.firstChild),h.style.cssText="position: absolute; left: 10.7432222px;",n=e(h).offset().left,a=n>10&&11>n,t.innerHTML="",i.removeChild(t)}()}(),e.ui.position,e.widget("ui.accordion",{version:"1.11.0",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var t=this.options;this.prevShow=this.prevHide=e(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),t.collapsible||t.active!==!1&&null!=t.active||(t.active=0),this._processPanels(),0>t.active&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():e()}},_createIcons:function(){var t=this.options.icons;t&&(e("<span>").addClass("ui-accordion-header-icon ui-icon "+t.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var e;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").removeUniqueId(),this._destroyIcons(),e=this.headers.next().removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&e.css("height","")},_setOption:function(e,t){return"active"===e?(this._activate(t),void 0):("event"===e&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),"collapsible"!==e||t||this.options.active!==!1||this._activate(0),"icons"===e&&(this._destroyIcons(),t&&this._createIcons()),"disabled"===e&&(this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!t)),void 0)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var i=e.ui.keyCode,s=this.headers.length,n=this.headers.index(t.target),a=!1;switch(t.keyCode){case i.RIGHT:case i.DOWN:a=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:a=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(t);break;case i.HOME:a=this.headers[0];break;case i.END:a=this.headers[s-1]}a&&(e(t.target).attr("tabIndex",-1),e(a).attr("tabIndex",0),a.focus(),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().focus()},refresh:function(){var t=this.options;this._processPanels(),t.active===!1&&t.collapsible===!0||!this.headers.length?(t.active=!1,this.active=e()):t.active===!1?this._activate(0):this.active.length&&!e.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=e()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-state-default ui-corner-all"),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide()},_refresh:function(){var t,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(){var t=e(this),i=t.uniqueId().attr("id"),s=t.next(),n=s.uniqueId().attr("id");t.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(t=n.height(),this.element.siblings(":visible").each(function(){var i=e(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(t-=i.outerHeight(!0))}),this.headers.each(function(){t-=e(this).outerHeight(!0)}),this.headers.next().each(function(){e(this).height(Math.max(0,t-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===s&&(t=0,this.headers.next().each(function(){t=Math.max(t,e(this).css("height","").height())}).height(t))},_activate:function(t){var i=this._findActive(t)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):e()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n[0]===s[0],o=a&&i.collapsible,r=o?e():n.next(),h=s.next(),l={oldHeader:s,oldPanel:h,newHeader:o?e():n,newPanel:r};t.preventDefault(),a&&!i.collapsible||this._trigger("beforeActivate",t,l)===!1||(i.active=o?!1:this.headers.index(n),this.active=a?e():n,this._toggle(l),s.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),a||(n.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&n.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),n.next().addClass("ui-accordion-content-active")))},_toggle:function(t){var i=t.newPanel,s=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,t):(s.hide(),i.show(),this._toggleComplete(t)),s.attr({"aria-hidden":"true"}),s.prev().attr("aria-selected","false"),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true",tabIndex:0,"aria-expanded":"true"})},_animate:function(e,t,i){var s,n,a,o=this,r=0,h=e.length&&(!t.length||e.index()<t.index()),l=this.options.animate||{},u=h&&l.down||l,d=function(){o._toggleComplete(i)};return"number"==typeof u&&(a=u),"string"==typeof u&&(n=u),n=n||u.easing||l.easing,a=a||u.duration||l.duration,t.length?e.length?(s=e.show().outerHeight(),t.animate(this.hideProps,{duration:a,easing:n,step:function(e,t){t.now=Math.round(e)}}),e.hide().animate(this.showProps,{duration:a,easing:n,complete:d,step:function(e,i){i.now=Math.round(e),"height"!==i.prop?r+=i.now:"content"!==o.options.heightStyle&&(i.now=Math.round(s-t.outerHeight()-r),r=0)}}),void 0):t.animate(this.hideProps,a,n,d):e.animate(this.showProps,a,n,d)},_toggleComplete:function(e){var t=e.oldPanel;t.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),t.length&&(t.parent()[0].className=t.parent()[0].className),this._trigger("activate",null,e)}}),e.widget("ui.menu",{version:"1.11.0",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},items:"> *",menus:"ul",position:{my:"left-1 top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item":function(e){e.preventDefault()},"click .ui-menu-item":function(t){var i=e(t.target);!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&e(this.document[0].activeElement).closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(t){var i=e(t.currentTarget);i.siblings(".ui-state-active").removeClass("ui-state-active"),this.focus(t,i)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(e,t){var i=this.active||this.element.find(this.options.items).eq(0);t||this.focus(e,i)},blur:function(t){this._delay(function(){e.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){this._closeOnDocumentClick(e)&&this.collapseAll(e),this.mouseHandled=!1 -}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-menu-icons ui-front").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").removeUniqueId().removeClass("ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var t=e(this);t.data("ui-menu-submenu-carat")&&t.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(t){function i(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var s,n,a,o,r,h=!0;switch(t.keyCode){case e.ui.keyCode.PAGE_UP:this.previousPage(t);break;case e.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case e.ui.keyCode.HOME:this._move("first","first",t);break;case e.ui.keyCode.END:this._move("last","last",t);break;case e.ui.keyCode.UP:this.previous(t);break;case e.ui.keyCode.DOWN:this.next(t);break;case e.ui.keyCode.LEFT:this.collapse(t);break;case e.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case e.ui.keyCode.ENTER:case e.ui.keyCode.SPACE:this._activate(t);break;case e.ui.keyCode.ESCAPE:this.collapse(t);break;default:h=!1,n=this.previousFilter||"",a=String.fromCharCode(t.keyCode),o=!1,clearTimeout(this.filterTimer),a===n?o=!0:a=n+a,r=RegExp("^"+i(a),"i"),s=this.activeMenu.find(this.options.items).filter(function(){return r.test(e(this).text())}),s=o&&-1!==s.index(this.active.next())?this.active.nextAll(".ui-menu-item"):s,s.length||(a=String.fromCharCode(t.keyCode),r=RegExp("^"+i(a),"i"),s=this.activeMenu.find(this.options.items).filter(function(){return r.test(e(this).text())})),s.length?(this.focus(t,s),s.length>1?(this.previousFilter=a,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}h&&t.preventDefault()},_activate:function(e){this.active.is(".ui-state-disabled")||(this.active.is("[aria-haspopup='true']")?this.expand(e):this.select(e))},refresh:function(){var t,i,s=this,n=this.options.icons.submenu,a=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),a.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-front").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=e(this),i=t.parent(),s=e("<span>").addClass("ui-menu-icon ui-icon "+n).data("ui-menu-submenu-carat",!0);i.attr("aria-haspopup","true").prepend(s),t.attr("aria-labelledby",i.attr("id"))}),t=a.add(this.element),i=t.find(this.options.items),i.not(".ui-menu-item").each(function(){var t=e(this);s._isDivider(t)&&t.addClass("ui-widget-content ui-menu-divider")}),i.not(".ui-menu-item, .ui-menu-divider").addClass("ui-menu-item").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!e.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(e,t){"icons"===e&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(t.submenu),"disabled"===e&&this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this._super(e,t)},focus:function(e,t){var i,s;this.blur(e,e&&"focus"===e.type),this._scrollIntoView(t),this.active=t.first(),s=this.active.addClass("ui-state-focus").removeClass("ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").addClass("ui-state-active"),e&&"keydown"===e.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=t.children(".ui-menu"),i.length&&e&&/^mouse/.test(e.type)&&this._startOpening(i),this.activeMenu=t.parent(),this._trigger("focus",e,{item:t})},_scrollIntoView:function(t){var i,s,n,a,o,r;this._hasScroll()&&(i=parseFloat(e.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(e.css(this.activeMenu[0],"paddingTop"))||0,n=t.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),o=this.activeMenu.height(),r=t.outerHeight(),0>n?this.activeMenu.scrollTop(a+n):n+r>o&&this.activeMenu.scrollTop(a+n-o+r))},blur:function(e,t){t||clearTimeout(this.timer),this.active&&(this.active.removeClass("ui-state-focus"),this.active=null,this._trigger("blur",e,{item:this.active}))},_startOpening:function(e){clearTimeout(this.timer),"true"===e.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(e)},this.delay))},_open:function(t){var i=e.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(t,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:e(t&&t.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(t),this.activeMenu=s},this.delay)},_close:function(e){e||(e=this.active?this.active.parent():this.element),e.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find(".ui-state-active").not(".ui-state-focus").removeClass("ui-state-active")},_closeOnDocumentClick:function(t){return!e(t.target).closest(".ui-menu").length},_isDivider:function(e){return!/[^\-\u2014\u2013\s]/.test(e.text())},collapse:function(e){var t=this.active&&this.active.parent().closest(".ui-menu-item",this.element);t&&t.length&&(this._close(),this.focus(e,t))},expand:function(e){var t=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();t&&t.length&&(this._open(t.parent()),this._delay(function(){this.focus(e,t)}))},next:function(e){this._move("next","first",e)},previous:function(e){this._move("prev","last",e)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(e,t,i){var s;this.active&&(s="first"===e||"last"===e?this.active["first"===e?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[e+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[t]()),this.focus(i,s)},nextPage:function(t){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=e(this),0>i.offset().top-s-n}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(t),void 0)},previousPage:function(t){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=e(this),i.offset().top-s+n>0}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items).first())),void 0):(this.next(t),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(t){this.active=this.active||e(t.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(t,!0),this._trigger("select",t,i)}}),e.widget("ui.autocomplete",{version:"1.11.0",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,i=!0,void 0;t=!1,s=!1,i=!1;var a=e.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:t=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case a.UP:t=!0,this._keyEvent("previous",n);break;case a.DOWN:t=!0,this._keyEvent("next",n);break;case a.ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),void 0):(this._searchTimeout(e),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(e),this._change(e),void 0)}}),this._initSource(),this.menu=e("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];e(t.target).closest(".ui-menu-item").length||this._delay(function(){var t=this;this.document.one("mousedown",function(s){s.target===t.element[0]||s.target===i||e.contains(i,s.target)||t.close()})})},menufocus:function(t,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){e(t.target).trigger(t.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:n})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&jQuery.trim(s).length&&(this.liveRegion.children().hide(),e("<div>").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,t){var i=t.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",e,{item:i})&&this._value(i.value),this.term=this._value(),this.close(e),this.selectedItem=i}}),this.liveRegion=e("<span>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(t,n){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){n(e)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),i=this.menu.element.is(":visible"),s=e.altKey||e.ctrlKey||e.metaKey||e.shiftKey;(!t||t&&!i&&!s)&&(this.selectedItem=null,this.search(null,e))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):this._trigger("search",t)!==!1?this._search(e):void 0},_search:function(e){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var t=++this.requestIndex;return e.proxy(function(e){t===this.requestIndex&&this.__response(e),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},this)},__response:function(e){e&&(e=this._normalize(e)),this._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:e.map(t,function(t){return"string"==typeof t?{label:t,value:t}:e.extend({},t,{label:t.label||t.value,value:t.value||t.label})})},_suggest:function(t){var i=this.menu.element.empty();this._renderMenu(i,t),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(e.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(t,i){var s=this;e.each(i,function(e,i){s._renderItemData(t,i)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(t,i){return e("<li>").text(i.label).appendTo(t)},_move:function(e,t){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[e](t),void 0):(this.search(null,t),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(e,t),t.preventDefault())}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var s=RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,function(e){return s.test(e.label||e.value||e)})}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,this.liveRegion.children().hide(),e("<div>").text(i).appendTo(this.liveRegion))}}),e.ui.autocomplete;var d,c="ui-button ui-widget ui-state-default ui-corner-all",p="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",f=function(){var t=e(this);setTimeout(function(){t.find(":ui-button").button("refresh")},1)},m=function(t){var i=t.name,s=t.form,n=e([]);return i&&(i=i.replace(/'/g,"\\'"),n=s?e(s).find("[name='"+i+"'][type=radio]"):e("[name='"+i+"'][type=radio]",t.ownerDocument).filter(function(){return!this.form})),n};e.widget("ui.button",{version:"1.11.0",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,f),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var t=this,i=this.options,s="checkbox"===this.type||"radio"===this.type,n=s?"":"ui-state-active";null===i.label&&(i.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(c).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){i.disabled||this===d&&e(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){i.disabled||e(this).removeClass(n)}).bind("click"+this.eventNamespace,function(e){i.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}),this._on({focus:function(){this.buttonElement.addClass("ui-state-focus")},blur:function(){this.buttonElement.removeClass("ui-state-focus")}}),s&&this.element.bind("change"+this.eventNamespace,function(){t.refresh()}),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return i.disabled?!1:void 0}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(i.disabled)return!1;e(this).addClass("ui-state-active"),t.buttonElement.attr("aria-pressed","true");var s=t.element[0];m(s).not(s).map(function(){return e(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return i.disabled?!1:(e(this).addClass("ui-state-active"),d=this,t.document.one("mouseup",function(){d=null}),void 0)}).bind("mouseup"+this.eventNamespace,function(){return i.disabled?!1:(e(this).removeClass("ui-state-active"),void 0)}).bind("keydown"+this.eventNamespace,function(t){return i.disabled?!1:((t.keyCode===e.ui.keyCode.SPACE||t.keyCode===e.ui.keyCode.ENTER)&&e(this).addClass("ui-state-active"),void 0)}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){e(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(t){t.keyCode===e.ui.keyCode.SPACE&&e(this).click()})),this._setOption("disabled",i.disabled),this._resetButton()},_determineButtonType:function(){var e,t,i;this.type=this.element.is("[type=checkbox]")?"checkbox":this.element.is("[type=radio]")?"radio":this.element.is("input")?"input":"button","checkbox"===this.type||"radio"===this.type?(e=this.element.parents().last(),t="label[for='"+this.element.attr("id")+"']",this.buttonElement=e.find(t),this.buttonElement.length||(e=e.length?e.siblings():this.element.siblings(),this.buttonElement=e.filter(t),this.buttonElement.length||(this.buttonElement=e.find(t))),this.element.addClass("ui-helper-hidden-accessible"),i=this.element.is(":checked"),i&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",i)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(c+" ui-state-active "+p).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(e,t){return this._super(e,t),"disabled"===e?(this.widget().toggleClass("ui-state-disabled",!!t),this.element.prop("disabled",!!t),t&&("checkbox"===this.type||"radio"===this.type?this.buttonElement.removeClass("ui-state-focus"):this.buttonElement.removeClass("ui-state-focus ui-state-active")),void 0):(this._resetButton(),void 0)},refresh:function(){var t=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOption("disabled",t),"radio"===this.type?m(this.element[0]).each(function(){e(this).is(":checked")?e(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):e(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return this.options.label&&this.element.val(this.options.label),void 0;var t=this.buttonElement.removeClass(p),i=e("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(t.empty()).text(),s=this.options.icons,n=s.primary&&s.secondary,a=[];s.primary||s.secondary?(this.options.text&&a.push("ui-button-text-icon"+(n?"s":s.primary?"-primary":"-secondary")),s.primary&&t.prepend("<span class='ui-button-icon-primary ui-icon "+s.primary+"'></span>"),s.secondary&&t.append("<span class='ui-button-icon-secondary ui-icon "+s.secondary+"'></span>"),this.options.text||(a.push(n?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||t.attr("title",e.trim(i)))):a.push("ui-button-text-only"),t.addClass(a.join(" "))}}),e.widget("ui.buttonset",{version:"1.11.0",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(e,t){"disabled"===e&&this.buttons.button("option",e,t),this._super(e,t)},refresh:function(){var t="rtl"===this.element.css("direction"),i=this.element.find(this.options.items),s=i.filter(":ui-button");i.not(":ui-button").button(),s.button("refresh"),this.buttons=i.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(t?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(t?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}}),e.ui.button,e.extend(e.ui,{datepicker:{version:"1.11.0"}});var g;e.extend(n.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(e){return o(this._defaults,e||{}),this},_attachDatepicker:function(t,i){var s,n,a;s=t.nodeName.toLowerCase(),n="div"===s||"span"===s,t.id||(this.uuid+=1,t.id="dp"+this.uuid),a=this._newInst(e(t),n),a.settings=e.extend({},i||{}),"input"===s?this._connectDatepicker(t,a):n&&this._inlineDatepicker(t,a)},_newInst:function(t,i){var s=t[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:s,input:t,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?a(e("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(t,i){var s=e(t);i.append=e([]),i.trigger=e([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(i),e.data(t,"datepicker",i),i.settings.disabled&&this._disableDatepicker(t))},_attachments:function(t,i){var s,n,a,o=this._get(i,"appendText"),r=this._get(i,"isRTL");i.append&&i.append.remove(),o&&(i.append=e("<span class='"+this._appendClass+"'>"+o+"</span>"),t[r?"before":"after"](i.append)),t.unbind("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&t.focus(this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),a=this._get(i,"buttonImage"),i.trigger=e(this._get(i,"buttonImageOnly")?e("<img/>").addClass(this._triggerClass).attr({src:a,alt:n,title:n}):e("<button type='button'></button>").addClass(this._triggerClass).html(a?e("<img/>").attr({src:a,alt:n,title:n}):n)),t[r?"before":"after"](i.trigger),i.trigger.click(function(){return e.datepicker._datepickerShowing&&e.datepicker._lastInput===t[0]?e.datepicker._hideDatepicker():e.datepicker._datepickerShowing&&e.datepicker._lastInput!==t[0]?(e.datepicker._hideDatepicker(),e.datepicker._showDatepicker(t[0])):e.datepicker._showDatepicker(t[0]),!1}))},_autoSize:function(e){if(this._get(e,"autoSize")&&!e.inline){var t,i,s,n,a=new Date(2009,11,20),o=this._get(e,"dateFormat");o.match(/[DM]/)&&(t=function(e){for(i=0,s=0,n=0;e.length>n;n++)e[n].length>i&&(i=e[n].length,s=n);return s},a.setMonth(t(this._get(e,o.match(/MM/)?"monthNames":"monthNamesShort"))),a.setDate(t(this._get(e,o.match(/DD/)?"dayNames":"dayNamesShort"))+20-a.getDay())),e.input.attr("size",this._formatDate(e,a).length)}},_inlineDatepicker:function(t,i){var s=e(t);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),e.data(t,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(t),i.dpDiv.css("display","block"))},_dialogDatepicker:function(t,i,s,n,a){var r,h,l,u,d,c=this._dialogInst;return c||(this.uuid+=1,r="dp"+this.uuid,this._dialogInput=e("<input type='text' id='"+r+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),e("body").append(this._dialogInput),c=this._dialogInst=this._newInst(this._dialogInput,!1),c.settings={},e.data(this._dialogInput[0],"datepicker",c)),o(c.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(c,i):i,this._dialogInput.val(i),this._pos=a?a.length?a:[a.pageX,a.pageY]:null,this._pos||(h=document.documentElement.clientWidth,l=document.documentElement.clientHeight,u=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[h/2-100+u,l/2-150+d]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),c.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),e.blockUI&&e.blockUI(this.dpDiv),e.data(this._dialogInput[0],"datepicker",c),this},_destroyDatepicker:function(t){var i,s=e(t),n=e.data(t,"datepicker");s.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),e.removeData(t,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty())},_enableDatepicker:function(t){var i,s,n=e(t),a=e.data(t,"datepicker");n.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!1,a.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}))},_disableDatepicker:function(t){var i,s,n=e(t),a=e.data(t,"datepicker");n.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!0,a.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}),this._disabledInputs[this._disabledInputs.length]=t)},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;this._disabledInputs.length>t;t++)if(this._disabledInputs[t]===e)return!0;return!1},_getInst:function(t){try{return e.data(t,"datepicker")}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(t,i,s){var n,a,r,h,l=this._getInst(t);return 2===arguments.length&&"string"==typeof i?"defaults"===i?e.extend({},e.datepicker._defaults):l?"all"===i?e.extend({},l.settings):this._get(l,i):null:(n=i||{},"string"==typeof i&&(n={},n[i]=s),l&&(this._curInst===l&&this._hideDatepicker(),a=this._getDateDatepicker(t,!0),r=this._getMinMaxDate(l,"min"),h=this._getMinMaxDate(l,"max"),o(l.settings,n),null!==r&&void 0!==n.dateFormat&&void 0===n.minDate&&(l.settings.minDate=this._formatDate(l,r)),null!==h&&void 0!==n.dateFormat&&void 0===n.maxDate&&(l.settings.maxDate=this._formatDate(l,h)),"disabled"in n&&(n.disabled?this._disableDatepicker(t):this._enableDatepicker(t)),this._attachments(e(t),l),this._autoSize(l),this._setDate(l,a),this._updateAlternate(l),this._updateDatepicker(l)),void 0)},_changeDatepicker:function(e,t,i){this._optionDatepicker(e,t,i)},_refreshDatepicker:function(e){var t=this._getInst(e);t&&this._updateDatepicker(t)},_setDateDatepicker:function(e,t){var i=this._getInst(e);i&&(this._setDate(i,t),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(e,t){var i=this._getInst(e);return i&&!i.inline&&this._setDateFromField(i,t),i?this._getDate(i):null},_doKeyDown:function(t){var i,s,n,a=e.datepicker._getInst(t.target),o=!0,r=a.dpDiv.is(".ui-datepicker-rtl");if(a._keyEvent=!0,e.datepicker._datepickerShowing)switch(t.keyCode){case 9:e.datepicker._hideDatepicker(),o=!1;break;case 13:return n=e("td."+e.datepicker._dayOverClass+":not(."+e.datepicker._currentClass+")",a.dpDiv),n[0]&&e.datepicker._selectDay(t.target,a.selectedMonth,a.selectedYear,n[0]),i=e.datepicker._get(a,"onSelect"),i?(s=e.datepicker._formatDate(a),i.apply(a.input?a.input[0]:null,[s,a])):e.datepicker._hideDatepicker(),!1;case 27:e.datepicker._hideDatepicker();break;case 33:e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(a,"stepBigMonths"):-e.datepicker._get(a,"stepMonths"),"M");break;case 34:e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(a,"stepBigMonths"):+e.datepicker._get(a,"stepMonths"),"M");break;case 35:(t.ctrlKey||t.metaKey)&&e.datepicker._clearDate(t.target),o=t.ctrlKey||t.metaKey;break;case 36:(t.ctrlKey||t.metaKey)&&e.datepicker._gotoToday(t.target),o=t.ctrlKey||t.metaKey;break;case 37:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,r?1:-1,"D"),o=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(a,"stepBigMonths"):-e.datepicker._get(a,"stepMonths"),"M");break;case 38:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,-7,"D"),o=t.ctrlKey||t.metaKey;break;case 39:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,r?-1:1,"D"),o=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(a,"stepBigMonths"):+e.datepicker._get(a,"stepMonths"),"M");break;case 40:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,7,"D"),o=t.ctrlKey||t.metaKey;break;default:o=!1}else 36===t.keyCode&&t.ctrlKey?e.datepicker._showDatepicker(this):o=!1;o&&(t.preventDefault(),t.stopPropagation())},_doKeyPress:function(t){var i,s,n=e.datepicker._getInst(t.target);return e.datepicker._get(n,"constrainInput")?(i=e.datepicker._possibleChars(e.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==t.charCode?t.keyCode:t.charCode),t.ctrlKey||t.metaKey||" ">s||!i||i.indexOf(s)>-1):void 0},_doKeyUp:function(t){var i,s=e.datepicker._getInst(t.target);if(s.input.val()!==s.lastVal)try{i=e.datepicker.parseDate(e.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,e.datepicker._getFormatConfig(s)),i&&(e.datepicker._setDateFromField(s),e.datepicker._updateAlternate(s),e.datepicker._updateDatepicker(s)) -}catch(n){}return!0},_showDatepicker:function(t){if(t=t.target||t,"input"!==t.nodeName.toLowerCase()&&(t=e("input",t.parentNode)[0]),!e.datepicker._isDisabledDatepicker(t)&&e.datepicker._lastInput!==t){var i,n,a,r,h,l,u;i=e.datepicker._getInst(t),e.datepicker._curInst&&e.datepicker._curInst!==i&&(e.datepicker._curInst.dpDiv.stop(!0,!0),i&&e.datepicker._datepickerShowing&&e.datepicker._hideDatepicker(e.datepicker._curInst.input[0])),n=e.datepicker._get(i,"beforeShow"),a=n?n.apply(t,[t,i]):{},a!==!1&&(o(i.settings,a),i.lastVal=null,e.datepicker._lastInput=t,e.datepicker._setDateFromField(i),e.datepicker._inDialog&&(t.value=""),e.datepicker._pos||(e.datepicker._pos=e.datepicker._findPos(t),e.datepicker._pos[1]+=t.offsetHeight),r=!1,e(t).parents().each(function(){return r|="fixed"===e(this).css("position"),!r}),h={left:e.datepicker._pos[0],top:e.datepicker._pos[1]},e.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),e.datepicker._updateDatepicker(i),h=e.datepicker._checkOffset(i,h,r),i.dpDiv.css({position:e.datepicker._inDialog&&e.blockUI?"static":r?"fixed":"absolute",display:"none",left:h.left+"px",top:h.top+"px"}),i.inline||(l=e.datepicker._get(i,"showAnim"),u=e.datepicker._get(i,"duration"),i.dpDiv.css("z-index",s(e(t))+1),e.datepicker._datepickerShowing=!0,e.effects&&e.effects.effect[l]?i.dpDiv.show(l,e.datepicker._get(i,"showOptions"),u):i.dpDiv[l||"show"](l?u:null),e.datepicker._shouldFocusInput(i)&&i.input.focus(),e.datepicker._curInst=i))}},_updateDatepicker:function(t){this.maxRows=4,g=t,t.dpDiv.empty().append(this._generateHTML(t)),this._attachHandlers(t),t.dpDiv.find("."+this._dayOverClass+" a");var i,s=this._getNumberOfMonths(t),n=s[1],a=17;t.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&t.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",a*n+"em"),t.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),t.dpDiv[(this._get(t,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),t===e.datepicker._curInst&&e.datepicker._datepickerShowing&&e.datepicker._shouldFocusInput(t)&&t.input.focus(),t.yearshtml&&(i=t.yearshtml,setTimeout(function(){i===t.yearshtml&&t.yearshtml&&t.dpDiv.find("select.ui-datepicker-year:first").replaceWith(t.yearshtml),i=t.yearshtml=null},0))},_shouldFocusInput:function(e){return e.input&&e.input.is(":visible")&&!e.input.is(":disabled")&&!e.input.is(":focus")},_checkOffset:function(t,i,s){var n=t.dpDiv.outerWidth(),a=t.dpDiv.outerHeight(),o=t.input?t.input.outerWidth():0,r=t.input?t.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:e(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:e(document).scrollTop());return i.left-=this._get(t,"isRTL")?n-o:0,i.left-=s&&i.left===t.input.offset().left?e(document).scrollLeft():0,i.top-=s&&i.top===t.input.offset().top+r?e(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+a>l&&l>a?Math.abs(a+r):0),i},_findPos:function(t){for(var i,s=this._getInst(t),n=this._get(s,"isRTL");t&&("hidden"===t.type||1!==t.nodeType||e.expr.filters.hidden(t));)t=t[n?"previousSibling":"nextSibling"];return i=e(t).offset(),[i.left,i.top]},_hideDatepicker:function(t){var i,s,n,a,o=this._curInst;!o||t&&o!==e.data(t,"datepicker")||this._datepickerShowing&&(i=this._get(o,"showAnim"),s=this._get(o,"duration"),n=function(){e.datepicker._tidyDialog(o)},e.effects&&(e.effects.effect[i]||e.effects[i])?o.dpDiv.hide(i,e.datepicker._get(o,"showOptions"),s,n):o.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,a=this._get(o,"onClose"),a&&a.apply(o.input?o.input[0]:null,[o.input?o.input.val():"",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),e.blockUI&&(e.unblockUI(),e("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(e){e.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(t){if(e.datepicker._curInst){var i=e(t.target),s=e.datepicker._getInst(i[0]);(i[0].id!==e.datepicker._mainDivId&&0===i.parents("#"+e.datepicker._mainDivId).length&&!i.hasClass(e.datepicker.markerClassName)&&!i.closest("."+e.datepicker._triggerClass).length&&e.datepicker._datepickerShowing&&(!e.datepicker._inDialog||!e.blockUI)||i.hasClass(e.datepicker.markerClassName)&&e.datepicker._curInst!==s)&&e.datepicker._hideDatepicker()}},_adjustDate:function(t,i,s){var n=e(t),a=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(a,i+("M"===s?this._get(a,"showCurrentAtPos"):0),s),this._updateDatepicker(a))},_gotoToday:function(t){var i,s=e(t),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(t,i,s){var n=e(t),a=this._getInst(n[0]);a["selected"+("M"===s?"Month":"Year")]=a["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(a),this._adjustDate(n)},_selectDay:function(t,i,s,n){var a,o=e(t);e(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(o[0])||(a=this._getInst(o[0]),a.selectedDay=a.currentDay=e("a",n).html(),a.selectedMonth=a.currentMonth=i,a.selectedYear=a.currentYear=s,this._selectDate(t,this._formatDate(a,a.currentDay,a.currentMonth,a.currentYear)))},_clearDate:function(t){var i=e(t);this._selectDate(i,"")},_selectDate:function(t,i){var s,n=e(t),a=this._getInst(n[0]);i=null!=i?i:this._formatDate(a),a.input&&a.input.val(i),this._updateAlternate(a),s=this._get(a,"onSelect"),s?s.apply(a.input?a.input[0]:null,[i,a]):a.input&&a.input.trigger("change"),a.inline?this._updateDatepicker(a):(this._hideDatepicker(),this._lastInput=a.input[0],"object"!=typeof a.input[0]&&a.input.focus(),this._lastInput=null)},_updateAlternate:function(t){var i,s,n,a=this._get(t,"altField");a&&(i=this._get(t,"altFormat")||this._get(t,"dateFormat"),s=this._getDate(t),n=this.formatDate(i,s,this._getFormatConfig(t)),e(a).each(function(){e(this).val(n)}))},noWeekends:function(e){var t=e.getDay();return[t>0&&6>t,""]},iso8601Week:function(e){var t,i=new Date(e.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),t=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((t-i)/864e5)/7)+1},parseDate:function(t,i,s){if(null==t||null==i)throw"Invalid arguments";if(i="object"==typeof i?""+i:i+"",""===i)return null;var n,a,o,r,h=0,l=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,u="string"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),d=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,c=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,m=-1,g=-1,v=-1,y=-1,b=!1,_=function(e){var i=t.length>n+1&&t.charAt(n+1)===e;return i&&n++,i},x=function(e){var t=_(e),s="@"===e?14:"!"===e?20:"y"===e&&t?4:"o"===e?3:2,n=RegExp("^\\d{1,"+s+"}"),a=i.substring(h).match(n);if(!a)throw"Missing number at position "+h;return h+=a[0].length,parseInt(a[0],10)},w=function(t,s,n){var a=-1,o=e.map(_(t)?n:s,function(e,t){return[[t,e]]}).sort(function(e,t){return-(e[1].length-t[1].length)});if(e.each(o,function(e,t){var s=t[1];return i.substr(h,s.length).toLowerCase()===s.toLowerCase()?(a=t[0],h+=s.length,!1):void 0}),-1!==a)return a+1;throw"Unknown name at position "+h},k=function(){if(i.charAt(h)!==t.charAt(n))throw"Unexpected literal at position "+h;h++};for(n=0;t.length>n;n++)if(b)"'"!==t.charAt(n)||_("'")?k():b=!1;else switch(t.charAt(n)){case"d":v=x("d");break;case"D":w("D",d,c);break;case"o":y=x("o");break;case"m":g=x("m");break;case"M":g=w("M",p,f);break;case"y":m=x("y");break;case"@":r=new Date(x("@")),m=r.getFullYear(),g=r.getMonth()+1,v=r.getDate();break;case"!":r=new Date((x("!")-this._ticksTo1970)/1e4),m=r.getFullYear(),g=r.getMonth()+1,v=r.getDate();break;case"'":_("'")?k():b=!0;break;default:k()}if(i.length>h&&(o=i.substr(h),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===m?m=(new Date).getFullYear():100>m&&(m+=(new Date).getFullYear()-(new Date).getFullYear()%100+(u>=m?0:-100)),y>-1)for(g=1,v=y;;){if(a=this._getDaysInMonth(m,g-1),a>=v)break;g++,v-=a}if(r=this._daylightSavingAdjust(new Date(m,g-1,v)),r.getFullYear()!==m||r.getMonth()+1!==g||r.getDate()!==v)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(e,t,i){if(!t)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,a=(i?i.dayNames:null)||this._defaults.dayNames,o=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(t){var i=e.length>s+1&&e.charAt(s+1)===t;return i&&s++,i},l=function(e,t,i){var s=""+t;if(h(e))for(;i>s.length;)s="0"+s;return s},u=function(e,t,i,s){return h(e)?s[t]:i[t]},d="",c=!1;if(t)for(s=0;e.length>s;s++)if(c)"'"!==e.charAt(s)||h("'")?d+=e.charAt(s):c=!1;else switch(e.charAt(s)){case"d":d+=l("d",t.getDate(),2);break;case"D":d+=u("D",t.getDay(),n,a);break;case"o":d+=l("o",Math.round((new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-new Date(t.getFullYear(),0,0).getTime())/864e5),3);break;case"m":d+=l("m",t.getMonth()+1,2);break;case"M":d+=u("M",t.getMonth(),o,r);break;case"y":d+=h("y")?t.getFullYear():(10>t.getYear()%100?"0":"")+t.getYear()%100;break;case"@":d+=t.getTime();break;case"!":d+=1e4*t.getTime()+this._ticksTo1970;break;case"'":h("'")?d+="'":c=!0;break;default:d+=e.charAt(s)}return d},_possibleChars:function(e){var t,i="",s=!1,n=function(i){var s=e.length>t+1&&e.charAt(t+1)===i;return s&&t++,s};for(t=0;e.length>t;t++)if(s)"'"!==e.charAt(t)||n("'")?i+=e.charAt(t):s=!1;else switch(e.charAt(t)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=e.charAt(t)}return i},_get:function(e,t){return void 0!==e.settings[t]?e.settings[t]:this._defaults[t]},_setDateFromField:function(e,t){if(e.input.val()!==e.lastVal){var i=this._get(e,"dateFormat"),s=e.lastVal=e.input?e.input.val():null,n=this._getDefaultDate(e),a=n,o=this._getFormatConfig(e);try{a=this.parseDate(i,s,o)||n}catch(r){s=t?"":s}e.selectedDay=a.getDate(),e.drawMonth=e.selectedMonth=a.getMonth(),e.drawYear=e.selectedYear=a.getFullYear(),e.currentDay=s?a.getDate():0,e.currentMonth=s?a.getMonth():0,e.currentYear=s?a.getFullYear():0,this._adjustInstDate(e)}},_getDefaultDate:function(e){return this._restrictMinMax(e,this._determineDate(e,this._get(e,"defaultDate"),new Date))},_determineDate:function(t,i,s){var n=function(e){var t=new Date;return t.setDate(t.getDate()+e),t},a=function(i){try{return e.datepicker.parseDate(e.datepicker._get(t,"dateFormat"),i,e.datepicker._getFormatConfig(t))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?e.datepicker._getDate(t):null)||new Date,a=n.getFullYear(),o=n.getMonth(),r=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":r+=parseInt(l[1],10);break;case"w":case"W":r+=7*parseInt(l[1],10);break;case"m":case"M":o+=parseInt(l[1],10),r=Math.min(r,e.datepicker._getDaysInMonth(a,o));break;case"y":case"Y":a+=parseInt(l[1],10),r=Math.min(r,e.datepicker._getDaysInMonth(a,o))}l=h.exec(i)}return new Date(a,o,r)},o=null==i||""===i?s:"string"==typeof i?a(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return o=o&&"Invalid Date"==""+o?s:o,o&&(o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)),this._daylightSavingAdjust(o)},_daylightSavingAdjust:function(e){return e?(e.setHours(e.getHours()>12?e.getHours()+2:0),e):null},_setDate:function(e,t,i){var s=!t,n=e.selectedMonth,a=e.selectedYear,o=this._restrictMinMax(e,this._determineDate(e,t,new Date));e.selectedDay=e.currentDay=o.getDate(),e.drawMonth=e.selectedMonth=e.currentMonth=o.getMonth(),e.drawYear=e.selectedYear=e.currentYear=o.getFullYear(),n===e.selectedMonth&&a===e.selectedYear||i||this._notifyChange(e),this._adjustInstDate(e),e.input&&e.input.val(s?"":this._formatDate(e))},_getDate:function(e){var t=!e.currentYear||e.input&&""===e.input.val()?null:this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return t},_attachHandlers:function(t){var i=this._get(t,"stepMonths"),s="#"+t.id.replace(/\\\\/g,"\\");t.dpDiv.find("[data-handler]").map(function(){var t={prev:function(){e.datepicker._adjustDate(s,-i,"M")},next:function(){e.datepicker._adjustDate(s,+i,"M")},hide:function(){e.datepicker._hideDatepicker()},today:function(){e.datepicker._gotoToday(s)},selectDay:function(){return e.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return e.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return e.datepicker._selectMonthYear(s,this,"Y"),!1}};e(this).bind(this.getAttribute("data-event"),t[this.getAttribute("data-handler")])})},_generateHTML:function(e){var t,i,s,n,a,o,r,h,l,u,d,c,p,f,m,g,v,y,b,_,x,w,k,T,D,S,M,N,C,A,I,P,z,H,F,E,j,O,W,L=new Date,R=this._daylightSavingAdjust(new Date(L.getFullYear(),L.getMonth(),L.getDate())),Y=this._get(e,"isRTL"),B=this._get(e,"showButtonPanel"),J=this._get(e,"hideIfNoPrevNext"),q=this._get(e,"navigationAsDateFormat"),K=this._getNumberOfMonths(e),V=this._get(e,"showCurrentAtPos"),U=this._get(e,"stepMonths"),Q=1!==K[0]||1!==K[1],G=this._daylightSavingAdjust(e.currentDay?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(9999,9,9)),X=this._getMinMaxDate(e,"min"),$=this._getMinMaxDate(e,"max"),Z=e.drawMonth-V,et=e.drawYear;if(0>Z&&(Z+=12,et--),$)for(t=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-K[0]*K[1]+1,$.getDate())),t=X&&X>t?X:t;this._daylightSavingAdjust(new Date(et,Z,1))>t;)Z--,0>Z&&(Z=11,et--);for(e.drawMonth=Z,e.drawYear=et,i=this._get(e,"prevText"),i=q?this.formatDate(i,this._daylightSavingAdjust(new Date(et,Z-U,1)),this._getFormatConfig(e)):i,s=this._canAdjustMonth(e,-1,et,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":J?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",n=this._get(e,"nextText"),n=q?this.formatDate(n,this._daylightSavingAdjust(new Date(et,Z+U,1)),this._getFormatConfig(e)):n,a=this._canAdjustMonth(e,1,et,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>":J?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>",o=this._get(e,"currentText"),r=this._get(e,"gotoCurrent")&&e.currentDay?G:R,o=q?this.formatDate(o,r,this._getFormatConfig(e)):o,h=e.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(e,"closeText")+"</button>",l=B?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(e,r)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+o+"</button>":"")+(Y?"":h)+"</div>":"",u=parseInt(this._get(e,"firstDay"),10),u=isNaN(u)?0:u,d=this._get(e,"showWeek"),c=this._get(e,"dayNames"),p=this._get(e,"dayNamesMin"),f=this._get(e,"monthNames"),m=this._get(e,"monthNamesShort"),g=this._get(e,"beforeShowDay"),v=this._get(e,"showOtherMonths"),y=this._get(e,"selectOtherMonths"),b=this._getDefaultDate(e),_="",w=0;K[0]>w;w++){for(k="",this.maxRows=4,T=0;K[1]>T;T++){if(D=this._daylightSavingAdjust(new Date(et,Z,e.selectedDay)),S=" ui-corner-all",M="",Q){if(M+="<div class='ui-datepicker-group",K[1]>1)switch(T){case 0:M+=" ui-datepicker-group-first",S=" ui-corner-"+(Y?"right":"left");break;case K[1]-1:M+=" ui-datepicker-group-last",S=" ui-corner-"+(Y?"left":"right");break;default:M+=" ui-datepicker-group-middle",S=""}M+="'>"}for(M+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+S+"'>"+(/all|left/.test(S)&&0===w?Y?a:s:"")+(/all|right/.test(S)&&0===w?Y?s:a:"")+this._generateMonthYearHeader(e,Z,et,X,$,w>0||T>0,f,m)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",N=d?"<th class='ui-datepicker-week-col'>"+this._get(e,"weekHeader")+"</th>":"",x=0;7>x;x++)C=(x+u)%7,N+="<th scope='col'"+((x+u+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+c[C]+"'>"+p[C]+"</span></th>";for(M+=N+"</tr></thead><tbody>",A=this._getDaysInMonth(et,Z),et===e.selectedYear&&Z===e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,A)),I=(this._getFirstDayOfMonth(et,Z)-u+7)%7,P=Math.ceil((I+A)/7),z=Q?this.maxRows>P?this.maxRows:P:P,this.maxRows=z,H=this._daylightSavingAdjust(new Date(et,Z,1-I)),F=0;z>F;F++){for(M+="<tr>",E=d?"<td class='ui-datepicker-week-col'>"+this._get(e,"calculateWeek")(H)+"</td>":"",x=0;7>x;x++)j=g?g.apply(e.input?e.input[0]:null,[H]):[!0,""],O=H.getMonth()!==Z,W=O&&!y||!j[0]||X&&X>H||$&&H>$,E+="<td class='"+((x+u+6)%7>=5?" ui-datepicker-week-end":"")+(O?" ui-datepicker-other-month":"")+(H.getTime()===D.getTime()&&Z===e.selectedMonth&&e._keyEvent||b.getTime()===H.getTime()&&b.getTime()===D.getTime()?" "+this._dayOverClass:"")+(W?" "+this._unselectableClass+" ui-state-disabled":"")+(O&&!v?"":" "+j[1]+(H.getTime()===G.getTime()?" "+this._currentClass:"")+(H.getTime()===R.getTime()?" ui-datepicker-today":""))+"'"+(O&&!v||!j[2]?"":" title='"+j[2].replace(/'/g,"'")+"'")+(W?"":" data-handler='selectDay' data-event='click' data-month='"+H.getMonth()+"' data-year='"+H.getFullYear()+"'")+">"+(O&&!v?" ":W?"<span class='ui-state-default'>"+H.getDate()+"</span>":"<a class='ui-state-default"+(H.getTime()===R.getTime()?" ui-state-highlight":"")+(H.getTime()===G.getTime()?" ui-state-active":"")+(O?" ui-priority-secondary":"")+"' href='#'>"+H.getDate()+"</a>")+"</td>",H.setDate(H.getDate()+1),H=this._daylightSavingAdjust(H);M+=E+"</tr>"}Z++,Z>11&&(Z=0,et++),M+="</tbody></table>"+(Q?"</div>"+(K[0]>0&&T===K[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),k+=M}_+=k}return _+=l,e._keyEvent=!1,_},_generateMonthYearHeader:function(e,t,i,s,n,a,o,r){var h,l,u,d,c,p,f,m,g=this._get(e,"changeMonth"),v=this._get(e,"changeYear"),y=this._get(e,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",_="";if(a||!g)_+="<span class='ui-datepicker-month'>"+o[t]+"</span>";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,_+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",u=0;12>u;u++)(!h||u>=s.getMonth())&&(!l||n.getMonth()>=u)&&(_+="<option value='"+u+"'"+(u===t?" selected='selected'":"")+">"+r[u]+"</option>");_+="</select>"}if(y||(b+=_+(!a&&g&&v?"":" ")),!e.yearshtml)if(e.yearshtml="",a||!v)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(d=this._get(e,"yearRange").split(":"),c=(new Date).getFullYear(),p=function(e){var t=e.match(/c[+\-].*/)?i+parseInt(e.substring(1),10):e.match(/[+\-].*/)?c+parseInt(e,10):parseInt(e,10);return isNaN(t)?c:t},f=p(d[0]),m=Math.max(f,p(d[1]||"")),f=s?Math.max(f,s.getFullYear()):f,m=n?Math.min(m,n.getFullYear()):m,e.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";m>=f;f++)e.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";e.yearshtml+="</select>",b+=e.yearshtml,e.yearshtml=null}return b+=this._get(e,"yearSuffix"),y&&(b+=(!a&&g&&v?"":" ")+_),b+="</div>"},_adjustInstDate:function(e,t,i){var s=e.drawYear+("Y"===i?t:0),n=e.drawMonth+("M"===i?t:0),a=Math.min(e.selectedDay,this._getDaysInMonth(s,n))+("D"===i?t:0),o=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(s,n,a)));e.selectedDay=o.getDate(),e.drawMonth=e.selectedMonth=o.getMonth(),e.drawYear=e.selectedYear=o.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(e)},_restrictMinMax:function(e,t){var i=this._getMinMaxDate(e,"min"),s=this._getMinMaxDate(e,"max"),n=i&&i>t?i:t;return s&&n>s?s:n},_notifyChange:function(e){var t=this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){var t=this._get(e,"numberOfMonths");return null==t?[1,1]:"number"==typeof t?[1,t]:t},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return new Date(e,t,1).getDay()},_canAdjustMonth:function(e,t,i,s){var n=this._getNumberOfMonths(e),a=this._daylightSavingAdjust(new Date(i,s+(0>t?t:n[0]*n[1]),1));return 0>t&&a.setDate(this._getDaysInMonth(a.getFullYear(),a.getMonth())),this._isInRange(e,a)},_isInRange:function(e,t){var i,s,n=this._getMinMaxDate(e,"min"),a=this._getMinMaxDate(e,"max"),o=null,r=null,h=this._get(e,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),o=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(o+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||t.getTime()>=n.getTime())&&(!a||t.getTime()<=a.getTime())&&(!o||t.getFullYear()>=o)&&(!r||r>=t.getFullYear())},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),{shortYearCutoff:t,dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,i,s){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var n=t?"object"==typeof t?t:this._daylightSavingAdjust(new Date(s,i,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),n,this._getFormatConfig(e))}}),e.fn.datepicker=function(t){if(!this.length)return this;e.datepicker.initialized||(e(document).mousedown(e.datepicker._checkExternalClick),e.datepicker.initialized=!0),0===e("#"+e.datepicker._mainDivId).length&&e("body").append(e.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof t||"isDisabled"!==t&&"getDate"!==t&&"widget"!==t?"option"===t&&2===arguments.length&&"string"==typeof arguments[1]?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof t?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this].concat(i)):e.datepicker._attachDatepicker(this,t)}):e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i))},e.datepicker=new n,e.datepicker.initialized=!1,e.datepicker.uuid=(new Date).getTime(),e.datepicker.version="1.11.0",e.datepicker,e.widget("ui.draggable",e.ui.mouse,{version:"1.11.0",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._setHandleClassName(),this._mouseInit()},_setOption:function(e,t){this._super(e,t),"handle"===e&&this._setHandleClassName()},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(t){var i=this.document[0],s=this.options;try{i.activeElement&&"body"!==i.activeElement.nodeName.toLowerCase()&&e(i.activeElement).blur()}catch(n){}return this.helper||s.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(e(s.iframeFix===!0?"iframe":s.iframeFix).each(function(){e("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(e(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(t,!1),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_mouseDrag:function(t,i){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",t,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=this,s=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(s=e.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",t)!==!1&&i._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1},_mouseUp:function(t){return e("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),this.element.focus(),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this._removeHandleClassName(),e(this.options.handle||this.element).addClass("ui-draggable-handle")},_removeHandleClassName:function(){this.element.find(".ui-draggable-handle").addBack().removeClass("ui-draggable-handle")},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return s.parents("body").length||s.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s[0]===this.element[0]||/(fixed|absolute)/.test(s.css("position"))||s.css("position","absolute"),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(e){return/(html|body)/i.test(e.tagName)||e===this.document[0]},_getParentOffset:function(){var t=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var e=this.element.position(),t=this._isRootNode(this.scrollParent[0]);return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+(t?0:this.scrollParent.scrollTop()),left:e.left-(parseInt(this.helper.css("left"),10)||0)+(t?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options,a=this.document[0];return this.relative_container=null,n.containment?"window"===n.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,e(a).width()-this.helperProportions.width-this.margins.left,(e(a).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=e(n.containment),s=i[0],s&&(t="hidden"!==i.css("overflow"),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(t?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=i),void 0):(this.containment=null,void 0)},_convertPositionTo:function(e,t){t||(t=this.position);var i="absolute"===e?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:t.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:t.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i} -},_generatePosition:function(e,t){var i,s,n,a,o=this.options,r=this._isRootNode(this.scrollParent[0]),h=e.pageX,l=e.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),t&&(this.containment&&(this.relative_container?(s=this.relative_container.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,e.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),e.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),e.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),e.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,h=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a),"y"===o.axis&&(h=this.originalPageX),"x"===o.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(t,i,s){return s=s||this._uiHash(),e.ui.plugin.call(this,t,[i,s,this],!0),"drag"===t&&(this.positionAbs=this._convertPositionTo("absolute")),e.Widget.prototype._trigger.call(this,t,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i,s){var n=s.options,a=e.extend({},i,{item:s.element});s.sortables=[],e(n.connectToSortable).each(function(){var i=e(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push({instance:i,shouldRevert:i.options.revert}),i.refreshPositions(),i._trigger("activate",t,a))})},stop:function(t,i,s){var n=e.extend({},i,{item:s.element});e.each(s.sortables,function(){this.instance.isOver?(this.instance.isOver=0,s.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(t),this.instance.options.helper=this.instance.options._helper,"original"===s.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",t,n))})},drag:function(t,i,s){var n=this;e.each(s.sortables,function(){var a=!1,o=this;this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(a=!0,e.each(s.sortables,function(){return this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this!==o&&this.instance._intersectsWith(this.instance.containerCache)&&e.contains(o.instance.element[0],this.instance.element[0])&&(a=!1),a})),a?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=e(n).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return i.helper[0]},t.target=this.instance.currentItem[0],this.instance._mouseCapture(t,!0),this.instance._mouseStart(t,!0,!0),this.instance.offset.click.top=s.offset.click.top,this.instance.offset.click.left=s.offset.click.left,this.instance.offset.parent.left-=s.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=s.offset.parent.top-this.instance.offset.parent.top,s._trigger("toSortable",t),s.dropped=this.instance.element,s.currentItem=s.element,this.instance.fromOutside=s),this.instance.currentItem&&this.instance._mouseDrag(t)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",t,this.instance._uiHash(this.instance)),this.instance._mouseStop(t,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),s._trigger("fromSortable",t),s.dropped=!1)})}}),e.ui.plugin.add("draggable","cursor",{start:function(t,i,s){var n=e("body"),a=s.options;n.css("cursor")&&(a._cursor=n.css("cursor")),n.css("cursor",a.cursor)},stop:function(t,i,s){var n=s.options;n._cursor&&e("body").css("cursor",n._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("opacity")&&(a._opacity=n.css("opacity")),n.css("opacity",a.opacity)},stop:function(t,i,s){var n=s.options;n._opacity&&e(i.helper).css("opacity",n._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(e,t,i){i.scrollParent[0]!==i.document[0]&&"HTML"!==i.scrollParent[0].tagName&&(i.overflowOffset=i.scrollParent.offset())},drag:function(t,i,s){var n=s.options,a=!1,o=s.document[0];s.scrollParent[0]!==o&&"HTML"!==s.scrollParent[0].tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+s.scrollParent[0].offsetHeight-t.pageY<n.scrollSensitivity?s.scrollParent[0].scrollTop=a=s.scrollParent[0].scrollTop+n.scrollSpeed:t.pageY-s.overflowOffset.top<n.scrollSensitivity&&(s.scrollParent[0].scrollTop=a=s.scrollParent[0].scrollTop-n.scrollSpeed)),n.axis&&"y"===n.axis||(s.overflowOffset.left+s.scrollParent[0].offsetWidth-t.pageX<n.scrollSensitivity?s.scrollParent[0].scrollLeft=a=s.scrollParent[0].scrollLeft+n.scrollSpeed:t.pageX-s.overflowOffset.left<n.scrollSensitivity&&(s.scrollParent[0].scrollLeft=a=s.scrollParent[0].scrollLeft-n.scrollSpeed))):(n.axis&&"x"===n.axis||(t.pageY-e(o).scrollTop()<n.scrollSensitivity?a=e(o).scrollTop(e(o).scrollTop()-n.scrollSpeed):e(window).height()-(t.pageY-e(o).scrollTop())<n.scrollSensitivity&&(a=e(o).scrollTop(e(o).scrollTop()+n.scrollSpeed))),n.axis&&"y"===n.axis||(t.pageX-e(o).scrollLeft()<n.scrollSensitivity?a=e(o).scrollLeft(e(o).scrollLeft()-n.scrollSpeed):e(window).width()-(t.pageX-e(o).scrollLeft())<n.scrollSensitivity&&(a=e(o).scrollLeft(e(o).scrollLeft()+n.scrollSpeed)))),a!==!1&&e.ui.ddmanager&&!n.dropBehaviour&&e.ui.ddmanager.prepareOffsets(s,t)}}),e.ui.plugin.add("draggable","snap",{start:function(t,i,s){var n=s.options;s.snapElements=[],e(n.snap.constructor!==String?n.snap.items||":data(ui-draggable)":n.snap).each(function(){var t=e(this),i=t.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:t.outerWidth(),height:t.outerHeight(),top:i.top,left:i.left})})},drag:function(t,i,s){var n,a,o,r,h,l,u,d,c,p,f=s.options,m=f.snapTolerance,g=i.offset.left,v=g+s.helperProportions.width,y=i.offset.top,b=y+s.helperProportions.height;for(c=s.snapElements.length-1;c>=0;c--)h=s.snapElements[c].left,l=h+s.snapElements[c].width,u=s.snapElements[c].top,d=u+s.snapElements[c].height,h-m>v||g>l+m||u-m>b||y>d+m||!e.contains(s.snapElements[c].item.ownerDocument,s.snapElements[c].item)?(s.snapElements[c].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=!1):("inner"!==f.snapMode&&(n=m>=Math.abs(u-b),a=m>=Math.abs(d-y),o=m>=Math.abs(h-v),r=m>=Math.abs(l-g),n&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top-s.margins.top),a&&(i.position.top=s._convertPositionTo("relative",{top:d,left:0}).top-s.margins.top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left-s.margins.left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left-s.margins.left)),p=n||a||o||r,"outer"!==f.snapMode&&(n=m>=Math.abs(u-y),a=m>=Math.abs(d-b),o=m>=Math.abs(h-g),r=m>=Math.abs(l-v),n&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top-s.margins.top),a&&(i.position.top=s._convertPositionTo("relative",{top:d-s.helperProportions.height,left:0}).top-s.margins.top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left-s.margins.left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left-s.margins.left)),!s.snapElements[c].snapping&&(n||a||o||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=n||a||o||r||p)}}),e.ui.plugin.add("draggable","stack",{start:function(t,i,s){var n,a=s.options,o=e.makeArray(e(a.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});o.length&&(n=parseInt(e(o[0]).css("zIndex"),10)||0,e(o).each(function(t){e(this).css("zIndex",n+t)}),this.css("zIndex",n+o.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("zIndex")&&(a._zIndex=n.css("zIndex")),n.css("zIndex",a.zIndex)},stop:function(t,i,s){var n=s.options;n._zIndex&&e(i.helper).css("zIndex",n._zIndex)}}),e.ui.draggable,e.widget("ui.resizable",e.ui.mouse,{version:"1.11.0",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(e){return parseInt(e,10)||0},_isNumber:function(e){return!isNaN(parseInt(e,10))},_hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return t[s]>0?!0:(t[s]=1,n=t[s]>0,t[s]=0,n)},_create:function(){var t,i,s,n,a,o=this,r=this.options;if(this.element.addClass("ui-resizable"),e.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(e("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),t=this.handles.split(","),this.handles={},i=0;t.length>i;i++)s=e.trim(t[i]),a="ui-resizable-"+s,n=e("<div class='ui-resizable-handle "+a+"'></div>"),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(t){var i,s,n,a;t=t||this.element;for(i in this.handles)this.handles[i].constructor===String&&(this.handles[i]=this.element.children(this.handles[i]).first().show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(s=e(this.handles[i],this.element),a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),t.css(n,a),this._proportionallyResize()),e(this.handles[i]).length},this._renderAxis(this.element),this._handles=e(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),e(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(e(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(e(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t,i=function(t){e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),t=this.element,this.originalElement.css({position:t.css("position"),width:t.outerWidth(),height:t.outerHeight(),top:t.css("top"),left:t.css("left")}).insertAfter(t),t.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(t){var i,s,n=!1;for(i in this.handles)s=e(this.handles[i])[0],(s===t.target||e.contains(s,t.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(t){var i,s,n,a=this.options,o=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),a.containment&&(i+=e(a.containment).scrollLeft()||0,s+=e(a.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:o.width(),height:o.height()},this.originalSize=this._helper?{width:o.outerWidth(),height:o.outerHeight()}:{width:o.width(),height:o.height()},this.originalPosition={left:i,top:s},this.sizeDiff={width:o.outerWidth()-o.width(),height:o.outerHeight()-o.height()},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof a.aspectRatio?a.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=e(".ui-resizable-"+this.axis).css("cursor"),e("body").css("cursor","auto"===n?this.axis+"-resize":n),o.addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var i,s=this.helper,n={},a=this.originalMousePosition,o=this.axis,r=t.pageX-a.left||0,h=t.pageY-a.top||0,l=this._change[o];return this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height},l?(i=l.apply(this,[t,r,h]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(i=this._updateRatio(i,t)),i=this._respectSize(i,t),this._updateCache(i),this._propagate("resize",t),this.position.top!==this.prevPosition.top&&(n.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(n.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(n.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(n.height=this.size.height+"px"),s.css(n),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),e.isEmptyObject(n)||this._trigger("resize",t,this.ui()),!1):!1},_mouseStop:function(t){this.resizing=!1;var i,s,n,a,o,r,h,l=this.options,u=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:u.sizeDiff.height,a=s?0:u.sizeDiff.width,o={width:u.helper.width()-a,height:u.helper.height()-n},r=parseInt(u.element.css("left"),10)+(u.position.left-u.originalPosition.left)||null,h=parseInt(u.element.css("top"),10)+(u.position.top-u.originalPosition.top)||null,l.animate||this.element.css(e.extend(o,{top:h,left:r})),u.helper.height(u.size.height),u.helper.width(u.size.width),this._helper&&!l.animate&&this._proportionallyResize()),e("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(e){var t,i,s,n,a,o=this.options;a={minWidth:this._isNumber(o.minWidth)?o.minWidth:0,maxWidth:this._isNumber(o.maxWidth)?o.maxWidth:1/0,minHeight:this._isNumber(o.minHeight)?o.minHeight:0,maxHeight:this._isNumber(o.maxHeight)?o.maxHeight:1/0},(this._aspectRatio||e)&&(t=a.minHeight*this.aspectRatio,s=a.minWidth/this.aspectRatio,i=a.maxHeight*this.aspectRatio,n=a.maxWidth/this.aspectRatio,t>a.minWidth&&(a.minWidth=t),s>a.minHeight&&(a.minHeight=s),a.maxWidth>i&&(a.maxWidth=i),a.maxHeight>n&&(a.maxHeight=n)),this._vBoundaries=a},_updateCache:function(e){this.offset=this.helper.offset(),this._isNumber(e.left)&&(this.position.left=e.left),this._isNumber(e.top)&&(this.position.top=e.top),this._isNumber(e.height)&&(this.size.height=e.height),this._isNumber(e.width)&&(this.size.width=e.width)},_updateRatio:function(e){var t=this.position,i=this.size,s=this.axis;return this._isNumber(e.height)?e.width=e.height*this.aspectRatio:this._isNumber(e.width)&&(e.height=e.width/this.aspectRatio),"sw"===s&&(e.left=t.left+(i.width-e.width),e.top=null),"nw"===s&&(e.top=t.top+(i.height-e.height),e.left=t.left+(i.width-e.width)),e},_respectSize:function(e){var t=this._vBoundaries,i=this.axis,s=this._isNumber(e.width)&&t.maxWidth&&t.maxWidth<e.width,n=this._isNumber(e.height)&&t.maxHeight&&t.maxHeight<e.height,a=this._isNumber(e.width)&&t.minWidth&&t.minWidth>e.width,o=this._isNumber(e.height)&&t.minHeight&&t.minHeight>e.height,r=this.originalPosition.left+this.originalSize.width,h=this.position.top+this.size.height,l=/sw|nw|w/.test(i),u=/nw|ne|n/.test(i);return a&&(e.width=t.minWidth),o&&(e.height=t.minHeight),s&&(e.width=t.maxWidth),n&&(e.height=t.maxHeight),a&&l&&(e.left=r-t.minWidth),s&&l&&(e.left=r-t.maxWidth),o&&u&&(e.top=h-t.minHeight),n&&u&&(e.top=h-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var e,t,i,s,n,a=this.helper||this.element;for(e=0;this._proportionallyResizeElements.length>e;e++){if(n=this._proportionallyResizeElements[e],!this.borderDif)for(this.borderDif=[],i=[n.css("borderTopWidth"),n.css("borderRightWidth"),n.css("borderBottomWidth"),n.css("borderLeftWidth")],s=[n.css("paddingTop"),n.css("paddingRight"),n.css("paddingBottom"),n.css("paddingLeft")],t=0;i.length>t;t++)this.borderDif[t]=(parseInt(i[t],10)||0)+(parseInt(s[t],10)||0);n.css({height:a.height()-this.borderDif[0]-this.borderDif[2]||0,width:a.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var t=this.element,i=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||e("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var i=this.originalSize,s=this.originalPosition;return{left:s.left+t,width:i.width-t}},n:function(e,t,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(e,t,i){return{height:this.originalSize.height+i}},se:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},sw:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,i,s]))},ne:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},nw:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,i,s]))}},_propagate:function(t,i){e.ui.plugin.call(this,t,[i,this.ui()]),"resize"!==t&&this._trigger(t,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition,prevSize:this.prevSize,prevPosition:this.prevPosition}}}),e.ui.plugin.add("resizable","animate",{stop:function(t){var i=e(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,a=n.length&&/textarea/i.test(n[0].nodeName),o=a&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=a?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-o},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,u=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(e.extend(h,u&&l?{top:u,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&e(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(){var t,i,s,n,a,o,r,h=e(this).resizable("instance"),l=h.options,u=h.element,d=l.containment,c=d instanceof e?d.get(0):/parent/.test(d)?u.parent().get(0):d;c&&(h.containerElement=e(c),/document/.test(d)||d===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}):(t=e(c),i=[],e(["Top","Right","Left","Bottom"]).each(function(e,s){i[e]=h._num(t.css("padding"+s))}),h.containerOffset=t.offset(),h.containerPosition=t.position(),h.containerSize={height:t.innerHeight()-i[3],width:t.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,a=h.containerSize.width,o=h._hasScroll(c,"left")?c.scrollWidth:a,r=h._hasScroll(c)?c.scrollHeight:n,h.parentData={element:c,left:s.left,top:s.top,width:o,height:r}))},resize:function(t,i){var s,n,a,o,r=e(this).resizable("instance"),h=r.options,l=r.containerOffset,u=r.position,d=r._aspectRatio||t.shiftKey,c={top:0,left:0},p=r.containerElement,f=!0;p[0]!==document&&/static/.test(p.css("position"))&&(c=l),u.left<(r._helper?l.left:0)&&(r.size.width=r.size.width+(r._helper?r.position.left-l.left:r.position.left-c.left),d&&(r.size.height=r.size.width/r.aspectRatio,f=!1),r.position.left=h.helper?l.left:0),u.top<(r._helper?l.top:0)&&(r.size.height=r.size.height+(r._helper?r.position.top-l.top:r.position.top),d&&(r.size.width=r.size.height*r.aspectRatio,f=!1),r.position.top=r._helper?l.top:0),r.offset.left=r.parentData.left+r.position.left,r.offset.top=r.parentData.top+r.position.top,s=Math.abs((r._helper?r.offset.left-c.left:r.offset.left-l.left)+r.sizeDiff.width),n=Math.abs((r._helper?r.offset.top-c.top:r.offset.top-l.top)+r.sizeDiff.height),a=r.containerElement.get(0)===r.element.parent().get(0),o=/relative|absolute/.test(r.containerElement.css("position")),a&&o&&(s-=Math.abs(r.parentData.left)),s+r.size.width>=r.parentData.width&&(r.size.width=r.parentData.width-s,d&&(r.size.height=r.size.width/r.aspectRatio,f=!1)),n+r.size.height>=r.parentData.height&&(r.size.height=r.parentData.height-n,d&&(r.size.width=r.size.height*r.aspectRatio,f=!1)),f||(r.position.left=i.prevPosition.left,r.position.top=i.prevPosition.top,r.size.width=i.prevSize.width,r.size.height=i.prevSize.height)},stop:function(){var t=e(this).resizable("instance"),i=t.options,s=t.containerOffset,n=t.containerPosition,a=t.containerElement,o=e(t.helper),r=o.offset(),h=o.outerWidth()-t.sizeDiff.width,l=o.outerHeight()-t.sizeDiff.height;t._helper&&!i.animate&&/relative/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l}),t._helper&&!i.animate&&/static/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),e.ui.plugin.add("resizable","alsoResize",{start:function(){var t=e(this).resizable("instance"),i=t.options,s=function(t){e(t).each(function(){var t=e(this);t.data("ui-resizable-alsoresize",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css("left"),10),top:parseInt(t.css("top"),10)})})};"object"!=typeof i.alsoResize||i.alsoResize.parentNode?s(i.alsoResize):i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):e.each(i.alsoResize,function(e){s(e)})},resize:function(t,i){var s=e(this).resizable("instance"),n=s.options,a=s.originalSize,o=s.originalPosition,r={height:s.size.height-a.height||0,width:s.size.width-a.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0},h=function(t,s){e(t).each(function(){var t=e(this),n=e(this).data("ui-resizable-alsoresize"),a={},o=s&&s.length?s:t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(o,function(e,t){var i=(n[t]||0)+(r[t]||0);i&&i>=0&&(a[t]=i||null)}),t.css(a)})};"object"!=typeof n.alsoResize||n.alsoResize.nodeType?h(n.alsoResize):e.each(n.alsoResize,function(e,t){h(e,t)})},stop:function(){e(this).removeData("resizable-alsoresize")}}),e.ui.plugin.add("resizable","ghost",{start:function(){var t=e(this).resizable("instance"),i=t.options,s=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(){var t=e(this).resizable("instance"),i=t.options,s=t.size,n=t.originalSize,a=t.originalPosition,o=t.axis,r="number"==typeof i.grid?[i.grid,i.grid]:i.grid,h=r[0]||1,l=r[1]||1,u=Math.round((s.width-n.width)/h)*h,d=Math.round((s.height-n.height)/l)*l,c=n.width+u,p=n.height+d,f=i.maxWidth&&c>i.maxWidth,m=i.maxHeight&&p>i.maxHeight,g=i.minWidth&&i.minWidth>c,v=i.minHeight&&i.minHeight>p;i.grid=r,g&&(c+=h),v&&(p+=l),f&&(c-=h),m&&(p-=l),/^(se|s|e)$/.test(o)?(t.size.width=c,t.size.height=p):/^(ne)$/.test(o)?(t.size.width=c,t.size.height=p,t.position.top=a.top-d):/^(sw)$/.test(o)?(t.size.width=c,t.size.height=p,t.position.left=a.left-u):(p-l>0?(t.size.height=p,t.position.top=a.top-d):(t.size.height=l,t.position.top=a.top+n.height-l),c-h>0?(t.size.width=c,t.position.left=a.left-u):(t.size.width=h,t.position.left=a.left+n.width-h))}}),e.ui.resizable,e.widget("ui.dialog",{version:"1.11.0",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"Close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var i=e(this).css(t).offset().top;0>i&&e(this).css("top",t.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&e.fn.draggable&&this._makeDraggable(),this.options.resizable&&e.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var t=this.options.appendTo;return t&&(t.jquery||t.nodeType)?e(t):this.document.find(t||"body").eq(0)},_destroy:function(){var e,t=this.originalPosition;this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),e=t.parent.children().eq(t.index),e.length&&e[0]!==this.element[0]?e.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},disable:e.noop,enable:e.noop,close:function(t){var i,s=this;if(this._isOpen&&this._trigger("beforeClose",t)!==!1){if(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),!this.opener.filter(":focusable").focus().length)try{i=this.document[0].activeElement,i&&"body"!==i.nodeName.toLowerCase()&&e(i).blur()}catch(n){}this._hide(this.uiDialog,this.options.hide,function(){s._trigger("close",t)})}},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,i){var s=!1,n=this.uiDialog.siblings(".ui-front:visible").map(function(){return+e(this).css("z-index")}).get(),a=Math.max.apply(null,n);return a>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",a+1),s=!0),s&&!i&&this._trigger("focus",t),s},open:function(){var t=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),void 0):(this._isOpen=!0,this.opener=e(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this._show(this.uiDialog,this.options.show,function(){t._focusTabbable(),t._trigger("focus")}),this._trigger("open"),void 0)},_focusTabbable:function(){var e=this._focusedElement;e||(e=this.element.find("[autofocus]")),e.length||(e=this.element.find(":tabbable")),e.length||(e=this.uiDialogButtonPane.find(":tabbable")),e.length||(e=this.uiDialogTitlebarClose.filter(":tabbable")),e.length||(e=this.uiDialog),e.eq(0).focus()},_keepFocus:function(t){function i(){var t=this.document[0].activeElement,i=this.uiDialog[0]===t||e.contains(this.uiDialog[0],t);i||this._focusTabbable()}t.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=e("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(t){if(this.options.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===e.ui.keyCode.ESCAPE)return t.preventDefault(),this.close(t),void 0;if(t.keyCode===e.ui.keyCode.TAB&&!t.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");t.target!==n[0]&&t.target!==this.uiDialog[0]||t.shiftKey?t.target!==s[0]&&t.target!==this.uiDialog[0]||!t.shiftKey||(this._delay(function(){n.focus()}),t.preventDefault()):(this._delay(function(){s.focus()}),t.preventDefault())}},mousedown:function(e){this._moveToTop(e)&&this._focusTabbable() -}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var t;this.uiDialogTitlebar=e("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(t){e(t.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=e("<button type='button'></button>").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(e){e.preventDefault(),this.close(e)}}),t=e("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(t),this.uiDialog.attr({"aria-labelledby":t.attr("id")})},_title:function(e){this.options.title||e.html(" "),e.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=e("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=e("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var t=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),e.isEmptyObject(i)||e.isArray(i)&&!i.length?(this.uiDialog.removeClass("ui-dialog-buttons"),void 0):(e.each(i,function(i,s){var n,a;s=e.isFunction(s)?{click:s,text:i}:s,s=e.extend({type:"button"},s),n=s.click,s.click=function(){n.apply(t.element[0],arguments)},a={icons:s.icons,text:s.showText},delete s.icons,delete s.showText,e("<button></button>",s).button(a).appendTo(t.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),void 0)},_makeDraggable:function(){function t(e){return{position:e.position,offset:e.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){e(this).addClass("ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,t(n))},drag:function(e,s){i._trigger("drag",e,t(s))},stop:function(n,a){var o=a.offset.left-i.document.scrollLeft(),r=a.offset.top-i.document.scrollTop();s.position={my:"left top",at:"left"+(o>=0?"+":"")+o+" "+"top"+(r>=0?"+":"")+r,of:i.window},e(this).removeClass("ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,t(a))}})},_makeResizable:function(){function t(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}var i=this,s=this.options,n=s.resizable,a=this.uiDialog.css("position"),o="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:o,start:function(s,n){e(this).addClass("ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,t(n))},resize:function(e,s){i._trigger("resize",e,t(s))},stop:function(n,a){var o=i.uiDialog.offset(),r=o.left-i.document.scrollLeft(),h=o.top-i.document.scrollTop();s.height=i.uiDialog.height(),s.width=i.uiDialog.width(),s.position={my:"left top",at:"left"+(r>=0?"+":"")+r+" "+"top"+(h>=0?"+":"")+h,of:i.window},e(this).removeClass("ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,t(a))}}).css("position",a)},_trackFocus:function(){this._on(this.widget(),{focusin:function(t){this._untrackInstance(),this._trackingInstances().unshift(this),this._focusedElement=e(t.target)}})},_untrackInstance:function(){var t=this._trackingInstances(),i=e.inArray(this,t);-1!==i&&t.splice(i,1)},_trackingInstances:function(){var e=this.document.data("ui-dialog-instances");return e||(e=[],this.document.data("ui-dialog-instances",e)),e},_minHeight:function(){var e=this.options;return"auto"===e.height?e.minHeight:Math.min(e.minHeight,e.height)},_position:function(){var e=this.uiDialog.is(":visible");e||this.uiDialog.show(),this.uiDialog.position(this.options.position),e||this.uiDialog.hide()},_setOptions:function(t){var i=this,s=!1,n={};e.each(t,function(e,t){i._setOption(e,t),e in i.sizeRelatedOptions&&(s=!0),e in i.resizableRelatedOptions&&(n[e]=t)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(e,t){var i,s,n=this.uiDialog;"dialogClass"===e&&n.removeClass(this.options.dialogClass).addClass(t),"disabled"!==e&&(this._super(e,t),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:""+t}),"draggable"===e&&(i=n.is(":data(ui-draggable)"),i&&!t&&n.draggable("destroy"),!i&&t&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(s=n.is(":data(ui-resizable)"),s&&!t&&n.resizable("destroy"),s&&"string"==typeof t&&n.resizable("option","handles",t),s||t===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var e,t,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),e=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),t=Math.max(0,s.minHeight-e),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-e):"none","auto"===s.height?this.element.css({minHeight:t,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-e)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var t=e(this);return e("<div>").css({position:"absolute",width:t.outerWidth(),height:t.outerHeight()}).appendTo(t.parent()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(t){return e(t.target).closest(".ui-dialog").length?!0:!!e(t.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var t=!0;this._delay(function(){t=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(e){t||this._allowInteraction(e)||(e.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=e("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var e=this.document.data("ui-dialog-overlays")-1;e?this.document.data("ui-dialog-overlays",e):this.document.unbind("focusin").removeData("ui-dialog-overlays"),this.overlay.remove(),this.overlay=null}}}),e.widget("ui.droppable",{version:"1.11.0",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=e.isFunction(s)?s:function(e){return e.is(s)},this.proportions=function(){return arguments.length?(t=arguments[0],void 0):t?t:t={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this.element.addClass("ui-droppable")},_addToManager:function(t){e.ui.ddmanager.droppables[t]=e.ui.ddmanager.droppables[t]||[],e.ui.ddmanager.droppables[t].push(this)},_splice:function(e){for(var t=0;e.length>t;t++)e[t]===this&&e.splice(t,1)},_destroy:function(){var t=e.ui.ddmanager.droppables[this.options.scope];this._splice(t),this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(t,i){if("accept"===t)this.accept=e.isFunction(i)?i:function(e){return e.is(i)};else if("scope"===t){var s=e.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(t,i)},_activate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",t,this.ui(i))},_deactivate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",t,this.ui(i))},_over:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(i)))},_out:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(i)))},_drop:function(t,i){var s=i||e.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var t=e(this).droppable("instance");return t.options.greedy&&!t.options.disabled&&t.options.scope===s.options.scope&&t.accept.call(t.element[0],s.currentItem||s.element)&&e.ui.intersect(s,e.extend(t,{offset:t.element.offset()}),t.options.tolerance)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(s)),this.element):!1):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(){function e(e,t,i){return e>=t&&t+i>e}return function(t,i,s){if(!i.offset)return!1;var n,a,o=(t.positionAbs||t.position.absolute).left,r=(t.positionAbs||t.position.absolute).top,h=o+t.helperProportions.width,l=r+t.helperProportions.height,u=i.offset.left,d=i.offset.top,c=u+i.proportions().width,p=d+i.proportions().height;switch(s){case"fit":return o>=u&&c>=h&&r>=d&&p>=l;case"intersect":return o+t.helperProportions.width/2>u&&c>h-t.helperProportions.width/2&&r+t.helperProportions.height/2>d&&p>l-t.helperProportions.height/2;case"pointer":return n=(t.positionAbs||t.position.absolute).left+(t.clickOffset||t.offset.click).left,a=(t.positionAbs||t.position.absolute).top+(t.clickOffset||t.offset.click).top,e(a,d,i.proportions().height)&&e(n,u,i.proportions().width);case"touch":return(r>=d&&p>=r||l>=d&&p>=l||d>r&&l>p)&&(o>=u&&c>=o||h>=u&&c>=h||u>o&&h>c);default:return!1}}}(),e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,i){var s,n,a=e.ui.ddmanager.droppables[t.options.scope]||[],o=i?i.type:null,r=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||t&&!a[s].accept.call(a[s].element[0],t.currentItem||t.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions().height=0;continue e}a[s].visible="none"!==a[s].element.css("display"),a[s].visible&&("mousedown"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions({width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight}))}},drop:function(t,i){var s=!1;return e.each((e.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(t,i){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)})},drag:function(t,i){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,i),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=e.ui.intersect(t,this,this.options.tolerance),r=!o&&this.isover?"isout":o&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(":data(ui-droppable)").filter(function(){return e(this).droppable("instance").options.scope===n}),a.length&&(s=e(a[0]).droppable("instance"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(t,i){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)}},e.ui.droppable;var v="ui-effects-";e.effects={effect:{}},function(e,t){function i(e,t,i){var s=d[t.type]||{};return null==e?i||!t.def?null:t.def:(e=s.floor?~~e:parseFloat(e),isNaN(e)?t.def:s.mod?(e+s.mod)%s.mod:0>e?0:e>s.max?s.max:e)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(e,a){var o,r=a.re.exec(i),h=r&&a.parse(r),l=a.space||"rgba";return h?(o=s[l](h),s[u[l].cache]=o[u[l].cache],n=s._rgba=o._rgba,!1):t}),n.length?("0,0,0,0"===n.join()&&e.extend(n,a.transparent),s):a[i]}function n(e,t,i){return i=(i+1)%1,1>6*i?e+6*(t-e)*i:1>2*i?t:2>3*i?e+6*(t-e)*(2/3-i):e}var a,o="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(e){return[e[1],e[2],e[3],e[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(e){return[2.55*e[1],2.55*e[2],2.55*e[3],e[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(e){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(e){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(e){return[e[1],e[2]/100,e[3]/100,e[4]]}}],l=e.Color=function(t,i,s,n){return new e.Color.fn.parse(t,i,s,n)},u={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},d={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},c=l.support={},p=e("<p>")[0],f=e.each;p.style.cssText="background-color:rgba(1,1,1,.5)",c.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(u,function(e,t){t.cache="_"+e,t.props.alpha={idx:3,type:"percent",def:1}}),l.fn=e.extend(l.prototype,{parse:function(n,o,r,h){if(n===t)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=e(n).css(o),o=t);var d=this,c=e.type(n),p=this._rgba=[];return o!==t&&(n=[n,o,r,h],c="array"),"string"===c?this.parse(s(n)||a._default):"array"===c?(f(u.rgba.props,function(e,t){p[t.idx]=i(n[t.idx],t)}),this):"object"===c?(n instanceof l?f(u,function(e,t){n[t.cache]&&(d[t.cache]=n[t.cache].slice())}):f(u,function(t,s){var a=s.cache;f(s.props,function(e,t){if(!d[a]&&s.to){if("alpha"===e||null==n[e])return;d[a]=s.to(d._rgba)}d[a][t.idx]=i(n[e],t,!0)}),d[a]&&0>e.inArray(null,d[a].slice(0,3))&&(d[a][3]=1,s.from&&(d._rgba=s.from(d[a])))}),this):t},is:function(e){var i=l(e),s=!0,n=this;return f(u,function(e,a){var o,r=i[a.cache];return r&&(o=n[a.cache]||a.to&&a.to(n._rgba)||[],f(a.props,function(e,i){return null!=r[i.idx]?s=r[i.idx]===o[i.idx]:t})),s}),s},_space:function(){var e=[],t=this;return f(u,function(i,s){t[s.cache]&&e.push(i)}),e.pop()},transition:function(e,t){var s=l(e),n=s._space(),a=u[n],o=0===this.alpha()?l("transparent"):this,r=o[a.cache]||a.to(o._rgba),h=r.slice();return s=s[a.cache],f(a.props,function(e,n){var a=n.idx,o=r[a],l=s[a],u=d[n.type]||{};null!==l&&(null===o?h[a]=l:(u.mod&&(l-o>u.mod/2?o+=u.mod:o-l>u.mod/2&&(o-=u.mod)),h[a]=i((l-o)*t+o,n)))}),this[n](h)},blend:function(t){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(t)._rgba;return l(e.map(i,function(e,t){return(1-s)*n[t]+s*e}))},toRgbaString:function(){var t="rgba(",i=e.map(this._rgba,function(e,t){return null==e?t>2?1:0:e});return 1===i[3]&&(i.pop(),t="rgb("),t+i.join()+")"},toHslaString:function(){var t="hsla(",i=e.map(this.hsla(),function(e,t){return null==e&&(e=t>2?1:0),t&&3>t&&(e=Math.round(100*e)+"%"),e});return 1===i[3]&&(i.pop(),t="hsl("),t+i.join()+")"},toHexString:function(t){var i=this._rgba.slice(),s=i.pop();return t&&i.push(~~(255*s)),"#"+e.map(i,function(e){return e=(e||0).toString(16),1===e.length?"0"+e:e}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,u.hsla.to=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t,i,s=e[0]/255,n=e[1]/255,a=e[2]/255,o=e[3],r=Math.max(s,n,a),h=Math.min(s,n,a),l=r-h,u=r+h,d=.5*u;return t=h===r?0:s===r?60*(n-a)/l+360:n===r?60*(a-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=d?l/u:l/(2-u),[Math.round(t)%360,i,d,null==o?1:o]},u.hsla.from=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t=e[0]/360,i=e[1],s=e[2],a=e[3],o=.5>=s?s*(1+i):s+i-s*i,r=2*s-o;return[Math.round(255*n(r,o,t+1/3)),Math.round(255*n(r,o,t)),Math.round(255*n(r,o,t-1/3)),a]},f(u,function(s,n){var a=n.props,o=n.cache,h=n.to,u=n.from;l.fn[s]=function(s){if(h&&!this[o]&&(this[o]=h(this._rgba)),s===t)return this[o].slice();var n,r=e.type(s),d="array"===r||"object"===r?s:arguments,c=this[o].slice();return f(a,function(e,t){var s=d["object"===r?e:t.idx];null==s&&(s=c[t.idx]),c[t.idx]=i(s,t)}),u?(n=l(u(c)),n[o]=c,n):l(c)},f(a,function(t,i){l.fn[t]||(l.fn[t]=function(n){var a,o=e.type(n),h="alpha"===t?this._hsla?"hsla":"rgba":s,l=this[h](),u=l[i.idx];return"undefined"===o?u:("function"===o&&(n=n.call(this,u),o=e.type(n)),null==n&&i.empty?this:("string"===o&&(a=r.exec(n),a&&(n=u+parseFloat(a[2])*("+"===a[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(t){var i=t.split(" ");f(i,function(t,i){e.cssHooks[i]={set:function(t,n){var a,o,r="";if("transparent"!==n&&("string"!==e.type(n)||(a=s(n)))){if(n=l(a||n),!c.rgba&&1!==n._rgba[3]){for(o="backgroundColor"===i?t.parentNode:t;(""===r||"transparent"===r)&&o&&o.style;)try{r=e.css(o,"backgroundColor"),o=o.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{t.style[i]=n}catch(h){}}},e.fx.step[i]=function(t){t.colorInit||(t.start=l(t.elem,i),t.end=l(t.end),t.colorInit=!0),e.cssHooks[i].set(t.elem,t.start.transition(t.end,t.pos))}})},l.hook(o),e.cssHooks.borderColor={expand:function(e){var t={};return f(["Top","Right","Bottom","Left"],function(i,s){t["border"+s+"Color"]=e}),t}},a=e.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function t(t){var i,s,n=t.ownerDocument.defaultView?t.ownerDocument.defaultView.getComputedStyle(t,null):t.currentStyle,a={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(a[e.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(a[i]=n[i]);return a}function i(t,i){var s,a,o={};for(s in i)a=i[s],t[s]!==a&&(n[s]||(e.fx.step[s]||!isNaN(parseFloat(a)))&&(o[s]=a));return o}var s=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};e.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(t,i){e.fx.step[i]=function(e){("none"!==e.end&&!e.setAttr||1===e.pos&&!e.setAttr)&&(jQuery.style(e.elem,i,e.end),e.setAttr=!0)}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e.effects.animateClass=function(n,a,o,r){var h=e.speed(a,o,r);return this.queue(function(){var a,o=e(this),r=o.attr("class")||"",l=h.children?o.find("*").addBack():o;l=l.map(function(){var i=e(this);return{el:i,start:t(this)}}),a=function(){e.each(s,function(e,t){n[t]&&o[t+"Class"](n[t])})},a(),l=l.map(function(){return this.end=t(this.el[0]),this.diff=i(this.start,this.end),this}),o.attr("class",r),l=l.map(function(){var t=this,i=e.Deferred(),s=e.extend({},h,{queue:!1,complete:function(){i.resolve(t)}});return this.el.animate(this.diff,s),i.promise()}),e.when.apply(e,l.get()).done(function(){a(),e.each(arguments,function(){var t=this.el;e.each(this.diff,function(e){t.css(e,"")})}),h.complete.call(o[0])})})},e.fn.extend({addClass:function(t){return function(i,s,n,a){return s?e.effects.animateClass.call(this,{add:i},s,n,a):t.apply(this,arguments)}}(e.fn.addClass),removeClass:function(t){return function(i,s,n,a){return arguments.length>1?e.effects.animateClass.call(this,{remove:i},s,n,a):t.apply(this,arguments)}}(e.fn.removeClass),toggleClass:function(t){return function(i,s,n,a,o){return"boolean"==typeof s||void 0===s?n?e.effects.animateClass.call(this,s?{add:i}:{remove:i},n,a,o):t.apply(this,arguments):e.effects.animateClass.call(this,{toggle:i},s,n,a)}}(e.fn.toggleClass),switchClass:function(t,i,s,n,a){return e.effects.animateClass.call(this,{add:i,remove:t},s,n,a)}})}(),function(){function t(t,i,s,n){return e.isPlainObject(t)&&(i=t,t=t.effect),t={effect:t},null==i&&(i={}),e.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||e.fx.speeds[i])&&(n=s,s=i,i={}),e.isFunction(s)&&(n=s,s=null),i&&e.extend(t,i),s=s||i.duration,t.duration=e.fx.off?0:"number"==typeof s?s:s in e.fx.speeds?e.fx.speeds[s]:e.fx.speeds._default,t.complete=n||i.complete,t}function i(t){return!t||"number"==typeof t||e.fx.speeds[t]?!0:"string"!=typeof t||e.effects.effect[t]?e.isFunction(t)?!0:"object"!=typeof t||t.effect?!1:!0:!0}e.extend(e.effects,{version:"1.11.0",save:function(e,t){for(var i=0;t.length>i;i++)null!==t[i]&&e.data(v+t[i],e[0].style[t[i]])},restore:function(e,t){var i,s;for(s=0;t.length>s;s++)null!==t[s]&&(i=e.data(v+t[s]),void 0===i&&(i=""),e.css(t[s],i))},setMode:function(e,t){return"toggle"===t&&(t=e.is(":hidden")?"show":"hide"),t},getBaseline:function(e,t){var i,s;switch(e[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=e[0]/t.height}switch(e[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=e[1]/t.width}return{x:s,y:i}},createWrapper:function(t){if(t.parent().is(".ui-effects-wrapper"))return t.parent();var i={width:t.outerWidth(!0),height:t.outerHeight(!0),"float":t.css("float")},s=e("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:t.width(),height:t.height()},a=document.activeElement;try{a.id}catch(o){a=document.body}return t.wrap(s),(t[0]===a||e.contains(t[0],a))&&e(a).focus(),s=t.parent(),"static"===t.css("position")?(s.css({position:"relative"}),t.css({position:"relative"})):(e.extend(i,{position:t.css("position"),zIndex:t.css("z-index")}),e.each(["top","left","bottom","right"],function(e,s){i[s]=t.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),t.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),t.css(n),s.css(i).show()},removeWrapper:function(t){var i=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),(t[0]===i||e.contains(t[0],i))&&e(i).focus()),t},setTransition:function(t,i,s,n){return n=n||{},e.each(i,function(e,i){var a=t.cssUnit(i);a[0]>0&&(n[i]=a[0]*s+a[1])}),n}}),e.fn.extend({effect:function(){function i(t){function i(){e.isFunction(a)&&a.call(n[0]),e.isFunction(t)&&t()}var n=e(this),a=s.complete,r=s.mode;(n.is(":hidden")?"hide"===r:"show"===r)?(n[r](),i()):o.call(n[0],s,i)}var s=t.apply(this,arguments),n=s.mode,a=s.queue,o=e.effects.effect[s.effect];return e.fx.off||!o?n?this[n](s.duration,s.complete):this.each(function(){s.complete&&s.complete.call(this)}):a===!1?this.each(i):this.queue(a||"fx",i)},show:function(e){return function(s){if(i(s))return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="show",this.effect.call(this,n)}}(e.fn.show),hide:function(e){return function(s){if(i(s))return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(e.fn.hide),toggle:function(e){return function(s){if(i(s)||"boolean"==typeof s)return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(e.fn.toggle),cssUnit:function(t){var i=this.css(t),s=[];return e.each(["em","px","%","pt"],function(e,t){i.indexOf(t)>0&&(s=[parseFloat(i),t])}),s}})}(),function(){var t={};e.each(["Quad","Cubic","Quart","Quint","Expo"],function(e,i){t[i]=function(t){return Math.pow(t,e+2)}}),e.extend(t,{Sine:function(e){return 1-Math.cos(e*Math.PI/2)},Circ:function(e){return 1-Math.sqrt(1-e*e)},Elastic:function(e){return 0===e||1===e?e:-Math.pow(2,8*(e-1))*Math.sin((80*(e-1)-7.5)*Math.PI/15)},Back:function(e){return e*e*(3*e-2)},Bounce:function(e){for(var t,i=4;((t=Math.pow(2,--i))-1)/11>e;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*t-2)/22-e,2)}}),e.each(t,function(t,i){e.easing["easeIn"+t]=i,e.easing["easeOut"+t]=function(e){return 1-i(1-e)},e.easing["easeInOut"+t]=function(e){return.5>e?i(2*e)/2:1-i(-2*e+2)/2}})}(),e.effects,e.effects.effect.blind=function(t,i){var s,n,a,o=e(this),r=/up|down|vertical/,h=/up|left|vertical|horizontal/,l=["position","top","bottom","left","right","height","width"],u=e.effects.setMode(o,t.mode||"hide"),d=t.direction||"up",c=r.test(d),p=c?"height":"width",f=c?"top":"left",m=h.test(d),g={},v="show"===u;o.parent().is(".ui-effects-wrapper")?e.effects.save(o.parent(),l):e.effects.save(o,l),o.show(),s=e.effects.createWrapper(o).css({overflow:"hidden"}),n=s[p](),a=parseFloat(s.css(f))||0,g[p]=v?n:0,m||(o.css(c?"bottom":"right",0).css(c?"top":"left","auto").css({position:"absolute"}),g[f]=v?a:n+a),v&&(s.css(p,0),m||s.css(f,a+n)),s.animate(g,{duration:t.duration,easing:t.easing,queue:!1,complete:function(){"hide"===u&&o.hide(),e.effects.restore(o,l),e.effects.removeWrapper(o),i()}})},e.effects.effect.bounce=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","height","width"],h=e.effects.setMode(o,t.mode||"effect"),l="hide"===h,u="show"===h,d=t.direction||"up",c=t.distance,p=t.times||5,f=2*p+(u||l?1:0),m=t.duration/f,g=t.easing,v="up"===d||"down"===d?"top":"left",y="up"===d||"left"===d,b=o.queue(),_=b.length;for((u||l)&&r.push("opacity"),e.effects.save(o,r),o.show(),e.effects.createWrapper(o),c||(c=o["top"===v?"outerHeight":"outerWidth"]()/3),u&&(a={opacity:1},a[v]=0,o.css("opacity",0).css(v,y?2*-c:2*c).animate(a,m,g)),l&&(c/=Math.pow(2,p-1)),a={},a[v]=0,s=0;p>s;s++)n={},n[v]=(y?"-=":"+=")+c,o.animate(n,m,g).animate(a,m,g),c=l?2*c:c/2;l&&(n={opacity:0},n[v]=(y?"-=":"+=")+c,o.animate(n,m,g)),o.queue(function(){l&&o.hide(),e.effects.restore(o,r),e.effects.removeWrapper(o),i()}),_>1&&b.splice.apply(b,[1,0].concat(b.splice(_,f+1))),o.dequeue()},e.effects.effect.clip=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","height","width"],h=e.effects.setMode(o,t.mode||"hide"),l="show"===h,u=t.direction||"vertical",d="vertical"===u,c=d?"height":"width",p=d?"top":"left",f={};e.effects.save(o,r),o.show(),s=e.effects.createWrapper(o).css({overflow:"hidden"}),n="IMG"===o[0].tagName?s:o,a=n[c](),l&&(n.css(c,0),n.css(p,a/2)),f[c]=l?a:0,f[p]=l?0:a/2,n.animate(f,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){l||o.hide(),e.effects.restore(o,r),e.effects.removeWrapper(o),i()}})},e.effects.effect.drop=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","opacity","height","width"],o=e.effects.setMode(n,t.mode||"hide"),r="show"===o,h=t.direction||"left",l="up"===h||"down"===h?"top":"left",u="up"===h||"left"===h?"pos":"neg",d={opacity:r?1:0};e.effects.save(n,a),n.show(),e.effects.createWrapper(n),s=t.distance||n["top"===l?"outerHeight":"outerWidth"](!0)/2,r&&n.css("opacity",0).css(l,"pos"===u?-s:s),d[l]=(r?"pos"===u?"+=":"-=":"pos"===u?"-=":"+=")+s,n.animate(d,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}})},e.effects.effect.explode=function(t,i){function s(){b.push(this),b.length===d*c&&n()}function n(){p.css({visibility:"visible"}),e(b).remove(),m||p.hide(),i()}var a,o,r,h,l,u,d=t.pieces?Math.round(Math.sqrt(t.pieces)):3,c=d,p=e(this),f=e.effects.setMode(p,t.mode||"hide"),m="show"===f,g=p.show().css("visibility","hidden").offset(),v=Math.ceil(p.outerWidth()/c),y=Math.ceil(p.outerHeight()/d),b=[];for(a=0;d>a;a++)for(h=g.top+a*y,u=a-(d-1)/2,o=0;c>o;o++)r=g.left+o*v,l=o-(c-1)/2,p.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-o*v,top:-a*y}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:v,height:y,left:r+(m?l*v:0),top:h+(m?u*y:0),opacity:m?0:1}).animate({left:r+(m?0:l*v),top:h+(m?0:u*y),opacity:m?1:0},t.duration||500,t.easing,s)},e.effects.effect.fade=function(t,i){var s=e(this),n=e.effects.setMode(s,t.mode||"toggle");s.animate({opacity:n},{queue:!1,duration:t.duration,easing:t.easing,complete:i})},e.effects.effect.fold=function(t,i){var s,n,a=e(this),o=["position","top","bottom","left","right","height","width"],r=e.effects.setMode(a,t.mode||"hide"),h="show"===r,l="hide"===r,u=t.size||15,d=/([0-9]+)%/.exec(u),c=!!t.horizFirst,p=h!==c,f=p?["width","height"]:["height","width"],m=t.duration/2,g={},v={};e.effects.save(a,o),a.show(),s=e.effects.createWrapper(a).css({overflow:"hidden"}),n=p?[s.width(),s.height()]:[s.height(),s.width()],d&&(u=parseInt(d[1],10)/100*n[l?0:1]),h&&s.css(c?{height:0,width:u}:{height:u,width:0}),g[f[0]]=h?n[0]:u,v[f[1]]=h?n[1]:0,s.animate(g,m,t.easing).animate(v,m,t.easing,function(){l&&a.hide(),e.effects.restore(a,o),e.effects.removeWrapper(a),i()})},e.effects.effect.highlight=function(t,i){var s=e(this),n=["backgroundImage","backgroundColor","opacity"],a=e.effects.setMode(s,t.mode||"show"),o={backgroundColor:s.css("backgroundColor")};"hide"===a&&(o.opacity=0),e.effects.save(s,n),s.show().css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(o,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===a&&s.hide(),e.effects.restore(s,n),i()}})},e.effects.effect.size=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","width","height","overflow","opacity"],h=["position","top","bottom","left","right","overflow","opacity"],l=["width","height","overflow"],u=["fontSize"],d=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],c=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=e.effects.setMode(o,t.mode||"effect"),f=t.restore||"effect"!==p,m=t.scale||"both",g=t.origin||["middle","center"],v=o.css("position"),y=f?r:h,b={height:0,width:0,outerHeight:0,outerWidth:0};"show"===p&&o.show(),s={height:o.height(),width:o.width(),outerHeight:o.outerHeight(),outerWidth:o.outerWidth()},"toggle"===t.mode&&"show"===p?(o.from=t.to||b,o.to=t.from||s):(o.from=t.from||("show"===p?b:s),o.to=t.to||("hide"===p?b:s)),a={from:{y:o.from.height/s.height,x:o.from.width/s.width},to:{y:o.to.height/s.height,x:o.to.width/s.width}},("box"===m||"both"===m)&&(a.from.y!==a.to.y&&(y=y.concat(d),o.from=e.effects.setTransition(o,d,a.from.y,o.from),o.to=e.effects.setTransition(o,d,a.to.y,o.to)),a.from.x!==a.to.x&&(y=y.concat(c),o.from=e.effects.setTransition(o,c,a.from.x,o.from),o.to=e.effects.setTransition(o,c,a.to.x,o.to))),("content"===m||"both"===m)&&a.from.y!==a.to.y&&(y=y.concat(u).concat(l),o.from=e.effects.setTransition(o,u,a.from.y,o.from),o.to=e.effects.setTransition(o,u,a.to.y,o.to)),e.effects.save(o,y),o.show(),e.effects.createWrapper(o),o.css("overflow","hidden").css(o.from),g&&(n=e.effects.getBaseline(g,s),o.from.top=(s.outerHeight-o.outerHeight())*n.y,o.from.left=(s.outerWidth-o.outerWidth())*n.x,o.to.top=(s.outerHeight-o.to.outerHeight)*n.y,o.to.left=(s.outerWidth-o.to.outerWidth)*n.x),o.css(o.from),("content"===m||"both"===m)&&(d=d.concat(["marginTop","marginBottom"]).concat(u),c=c.concat(["marginLeft","marginRight"]),l=r.concat(d).concat(c),o.find("*[width]").each(function(){var i=e(this),s={height:i.height(),width:i.width(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth()}; -f&&e.effects.save(i,l),i.from={height:s.height*a.from.y,width:s.width*a.from.x,outerHeight:s.outerHeight*a.from.y,outerWidth:s.outerWidth*a.from.x},i.to={height:s.height*a.to.y,width:s.width*a.to.x,outerHeight:s.height*a.to.y,outerWidth:s.width*a.to.x},a.from.y!==a.to.y&&(i.from=e.effects.setTransition(i,d,a.from.y,i.from),i.to=e.effects.setTransition(i,d,a.to.y,i.to)),a.from.x!==a.to.x&&(i.from=e.effects.setTransition(i,c,a.from.x,i.from),i.to=e.effects.setTransition(i,c,a.to.x,i.to)),i.css(i.from),i.animate(i.to,t.duration,t.easing,function(){f&&e.effects.restore(i,l)})})),o.animate(o.to,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){0===o.to.opacity&&o.css("opacity",o.from.opacity),"hide"===p&&o.hide(),e.effects.restore(o,y),f||("static"===v?o.css({position:"relative",top:o.to.top,left:o.to.left}):e.each(["top","left"],function(e,t){o.css(t,function(t,i){var s=parseInt(i,10),n=e?o.to.left:o.to.top;return"auto"===i?n+"px":s+n+"px"})})),e.effects.removeWrapper(o),i()}})},e.effects.effect.scale=function(t,i){var s=e(this),n=e.extend(!0,{},t),a=e.effects.setMode(s,t.mode||"effect"),o=parseInt(t.percent,10)||(0===parseInt(t.percent,10)?0:"hide"===a?0:100),r=t.direction||"both",h=t.origin,l={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()},u={y:"horizontal"!==r?o/100:1,x:"vertical"!==r?o/100:1};n.effect="size",n.queue=!1,n.complete=i,"effect"!==a&&(n.origin=h||["middle","center"],n.restore=!0),n.from=t.from||("show"===a?{height:0,width:0,outerHeight:0,outerWidth:0}:l),n.to={height:l.height*u.y,width:l.width*u.x,outerHeight:l.outerHeight*u.y,outerWidth:l.outerWidth*u.x},n.fade&&("show"===a&&(n.from.opacity=0,n.to.opacity=1),"hide"===a&&(n.from.opacity=1,n.to.opacity=0)),s.effect(n)},e.effects.effect.puff=function(t,i){var s=e(this),n=e.effects.setMode(s,t.mode||"hide"),a="hide"===n,o=parseInt(t.percent,10)||150,r=o/100,h={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()};e.extend(t,{effect:"scale",queue:!1,fade:!0,mode:n,complete:i,percent:a?o:100,from:a?h:{height:h.height*r,width:h.width*r,outerHeight:h.outerHeight*r,outerWidth:h.outerWidth*r}}),s.effect(t)},e.effects.effect.pulsate=function(t,i){var s,n=e(this),a=e.effects.setMode(n,t.mode||"show"),o="show"===a,r="hide"===a,h=o||"hide"===a,l=2*(t.times||5)+(h?1:0),u=t.duration/l,d=0,c=n.queue(),p=c.length;for((o||!n.is(":visible"))&&(n.css("opacity",0).show(),d=1),s=1;l>s;s++)n.animate({opacity:d},u,t.easing),d=1-d;n.animate({opacity:d},u,t.easing),n.queue(function(){r&&n.hide(),i()}),p>1&&c.splice.apply(c,[1,0].concat(c.splice(p,l+1))),n.dequeue()},e.effects.effect.shake=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","height","width"],o=e.effects.setMode(n,t.mode||"effect"),r=t.direction||"left",h=t.distance||20,l=t.times||3,u=2*l+1,d=Math.round(t.duration/u),c="up"===r||"down"===r?"top":"left",p="up"===r||"left"===r,f={},m={},g={},v=n.queue(),y=v.length;for(e.effects.save(n,a),n.show(),e.effects.createWrapper(n),f[c]=(p?"-=":"+=")+h,m[c]=(p?"+=":"-=")+2*h,g[c]=(p?"-=":"+=")+2*h,n.animate(f,d,t.easing),s=1;l>s;s++)n.animate(m,d,t.easing).animate(g,d,t.easing);n.animate(m,d,t.easing).animate(f,d/2,t.easing).queue(function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}),y>1&&v.splice.apply(v,[1,0].concat(v.splice(y,u+1))),n.dequeue()},e.effects.effect.slide=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","width","height"],o=e.effects.setMode(n,t.mode||"show"),r="show"===o,h=t.direction||"left",l="up"===h||"down"===h?"top":"left",u="up"===h||"left"===h,d={};e.effects.save(n,a),n.show(),s=t.distance||n["top"===l?"outerHeight":"outerWidth"](!0),e.effects.createWrapper(n).css({overflow:"hidden"}),r&&n.css(l,u?isNaN(s)?"-"+s:-s:s),d[l]=(r?u?"+=":"-=":u?"-=":"+=")+s,n.animate(d,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}})},e.effects.effect.transfer=function(t,i){var s=e(this),n=e(t.to),a="fixed"===n.css("position"),o=e("body"),r=a?o.scrollTop():0,h=a?o.scrollLeft():0,l=n.offset(),u={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},d=s.offset(),c=e("<div class='ui-effects-transfer'></div>").appendTo(document.body).addClass(t.className).css({top:d.top-r,left:d.left-h,height:s.innerHeight(),width:s.innerWidth(),position:a?"fixed":"absolute"}).animate(u,t.duration,t.easing,function(){c.remove(),i()})},e.widget("ui.progressbar",{version:"1.11.0",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=e("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(e){return void 0===e?this.options.value:(this.options.value=this._constrainedValue(e),this._refreshValue(),void 0)},_constrainedValue:function(e){return void 0===e&&(e=this.options.value),this.indeterminate=e===!1,"number"!=typeof e&&(e=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,e))},_setOptions:function(e){var t=e.value;delete e.value,this._super(e),this.options.value=this._constrainedValue(t),this._refreshValue()},_setOption:function(e,t){"max"===e&&(t=Math.max(this.min,t)),"disabled"===e&&this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this._super(e,t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var t=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||t>this.min).toggleClass("ui-corner-right",t===this.options.max).width(i.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=e("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":t}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==t&&(this.oldValue=t,this._trigger("change")),t===this.options.max&&this._trigger("complete")}}),e.widget("ui.selectable",e.ui.mouse,{version:"1.11.0",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var t,i=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){t=e(i.options.filter,i.element[0]),t.addClass("ui-selectee"),t.each(function(){var t=e(this),i=t.offset();e.data(this,"selectable-item",{element:this,$element:t,left:i.left,top:i.top,right:i.left+t.outerWidth(),bottom:i.top+t.outerHeight(),startselected:!1,selected:t.hasClass("ui-selected"),selecting:t.hasClass("ui-selecting"),unselecting:t.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=t.addClass("ui-selectee"),this._mouseInit(),this.helper=e("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(t){var i=this,s=this.options;this.opos=[t.pageX,t.pageY],this.options.disabled||(this.selectees=e(s.filter,this.element[0]),this._trigger("start",t),e(s.appendTo).append(this.helper),this.helper.css({left:t.pageX,top:t.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=e.data(this,"selectable-item");s.startselected=!0,t.metaKey||t.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",t,{unselecting:s.element}))}),e(t.target).parents().addBack().each(function(){var s,n=e.data(this,"selectable-item");return n?(s=!t.metaKey&&!t.ctrlKey||!n.$element.hasClass("ui-selected"),n.$element.removeClass(s?"ui-unselecting":"ui-selected").addClass(s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",t,{selecting:n.element}):i._trigger("unselecting",t,{unselecting:n.element}),!1):void 0}))},_mouseDrag:function(t){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,a=this.opos[0],o=this.opos[1],r=t.pageX,h=t.pageY;return a>r&&(i=r,r=a,a=i),o>h&&(i=h,h=o,o=i),this.helper.css({left:a,top:o,width:r-a,height:h-o}),this.selectees.each(function(){var i=e.data(this,"selectable-item"),l=!1;i&&i.element!==s.element[0]&&("touch"===n.tolerance?l=!(i.left>r||a>i.right||i.top>h||o>i.bottom):"fit"===n.tolerance&&(l=i.left>a&&r>i.right&&i.top>o&&h>i.bottom),l?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,s._trigger("selecting",t,{selecting:i.element}))):(i.selecting&&((t.metaKey||t.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",t,{unselecting:i.element}))),i.selected&&(t.metaKey||t.ctrlKey||i.startselected||(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",t,{unselecting:i.element})))))}),!1}},_mouseStop:function(t){var i=this;return this.dragged=!1,e(".ui-unselecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",t,{unselected:s.element})}),e(".ui-selecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",t,{selected:s.element})}),this._trigger("stop",t),this.helper.remove(),!1}}),e.widget("ui.selectmenu",{version:"1.11.0",defaultElement:"<select>",options:{appendTo:null,disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:null,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this.options.disabled&&this.disable()},_drawButton:function(){var t=this,i=this.element.attr("tabindex");this.label=e("label[for='"+this.ids.element+"']").attr("for",this.ids.button),this._on(this.label,{click:function(e){this.button.focus(),e.preventDefault()}}),this.element.hide(),this.button=e("<span>",{"class":"ui-selectmenu-button ui-widget ui-state-default ui-corner-all",tabindex:i||this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true"}).insertAfter(this.element),e("<span>",{"class":"ui-icon "+this.options.icons.button}).prependTo(this.button),this.buttonText=e("<span>",{"class":"ui-selectmenu-text"}).appendTo(this.button),this._setText(this.buttonText,this.element.find("option:selected").text()),this._setOption("width",this.options.width),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){t.menuItems||t._refreshMenu()}),this._hoverable(this.button),this._focusable(this.button)},_drawMenu:function(){var t=this;this.menu=e("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=e("<div>",{"class":"ui-selectmenu-menu ui-front"}).append(this.menu).appendTo(this._appendTo()),this.menuInstance=this.menu.menu({role:"listbox",select:function(e,i){e.preventDefault(),t._select(i.item.data("ui-selectmenu-item"),e)},focus:function(e,i){var s=i.item.data("ui-selectmenu-item");null!=t.focusIndex&&s.index!==t.focusIndex&&(t._trigger("focus",e,{item:s}),t.isOpen||t._select(s,e)),t.focusIndex=s.index,t.button.attr("aria-activedescendant",t.menuItems.eq(s.index).attr("id"))}}).menu("instance"),this.menu.addClass("ui-corner-bottom").removeClass("ui-corner-all"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this._setText(this.buttonText,this._getSelectedItem().text()),this._setOption("width",this.options.width)},_refreshMenu:function(){this.menu.empty();var e,t=this.element.find("option");t.length&&(this._parseOptions(t),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup"),e=this._getSelectedItem(),this.menuInstance.focus(null,e),this._setAria(e.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(e){this.options.disabled||(this.menuItems?(this.menu.find(".ui-state-focus").removeClass("ui-state-focus"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",e))},_position:function(){this.menuWrap.position(e.extend({of:this.button},this.options.position))},close:function(e){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this._off(this.document),this._trigger("close",e))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderMenu:function(t,i){var s=this,n="";e.each(i,function(i,a){a.optgroup!==n&&(e("<li>",{"class":"ui-selectmenu-optgroup ui-menu-divider"+(a.element.parent("optgroup").prop("disabled")?" ui-state-disabled":""),text:a.optgroup}).appendTo(t),n=a.optgroup),s._renderItemData(t,a)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-selectmenu-item",t)},_renderItem:function(t,i){var s=e("<li>");return i.disabled&&s.addClass("ui-state-disabled"),this._setText(s,i.label),s.appendTo(t)},_setText:function(e,t){t?e.text(t):e.html(" ")},_move:function(e,t){var i,s,n=".ui-menu-item";this.isOpen?i=this.menuItems.eq(this.focusIndex):(i=this.menuItems.eq(this.element[0].selectedIndex),n+=":not(.ui-state-disabled)"),s="first"===e||"last"===e?i["first"===e?"prevAll":"nextAll"](n).eq(-1):i[e+"All"](n).eq(0),s.length&&this.menuInstance.focus(t,s)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex)},_toggle:function(e){this[this.isOpen?"close":"open"](e)},_documentClick:{mousedown:function(t){this.isOpen&&(e(t.target).closest(".ui-selectmenu-menu, #"+this.ids.button).length||this.close(t))}},_buttonEvents:{click:"_toggle",keydown:function(t){var i=!0;switch(t.keyCode){case e.ui.keyCode.TAB:case e.ui.keyCode.ESCAPE:this.close(t),i=!1;break;case e.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(t);break;case e.ui.keyCode.UP:t.altKey?this._toggle(t):this._move("prev",t);break;case e.ui.keyCode.DOWN:t.altKey?this._toggle(t):this._move("next",t);break;case e.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(t):this._toggle(t);break;case e.ui.keyCode.LEFT:this._move("prev",t);break;case e.ui.keyCode.RIGHT:this._move("next",t);break;case e.ui.keyCode.HOME:case e.ui.keyCode.PAGE_UP:this._move("first",t);break;case e.ui.keyCode.END:case e.ui.keyCode.PAGE_DOWN:this._move("last",t);break;default:this.menu.trigger(t),i=!1}i&&t.preventDefault()}},_selectFocusedItem:function(e){var t=this.menuItems.eq(this.focusIndex);t.hasClass("ui-state-disabled")||this._select(t.data("ui-selectmenu-item"),e)},_select:function(e,t){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=e.index,this._setText(this.buttonText,e.label),this._setAria(e),this._trigger("select",t,{item:e}),e.index!==i&&this._trigger("change",t,{item:e}),this.close(t)},_setAria:function(e){var t=this.menuItems.eq(e.index).attr("id");this.button.attr({"aria-labelledby":t,"aria-activedescendant":t}),this.menu.attr("aria-activedescendant",t)},_setOption:function(e,t){"icons"===e&&this.button.find("span.ui-icon").removeClass(this.options.icons.button).addClass(t.button),this._super(e,t),"appendTo"===e&&this.menuWrap.appendTo(this._appendTo()),"disabled"===e&&(this.menuInstance.option("disabled",t),this.button.toggleClass("ui-state-disabled",t).attr("aria-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)),"width"===e&&(t||(t=this.element.outerWidth()),this.button.outerWidth(t))},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_toggleAttr:function(){this.button.toggleClass("ui-corner-top",this.isOpen).toggleClass("ui-corner-all",!this.isOpen).attr("aria-expanded",this.isOpen),this.menuWrap.toggleClass("ui-selectmenu-open",this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){return{disabled:this.element.prop("disabled")}},_parseOptions:function(t){var i=[];t.each(function(t,s){var n=e(s),a=n.parent("optgroup");i.push({element:n,index:t,value:n.attr("value"),label:n.text(),optgroup:a.attr("label")||"",disabled:a.prop("disabled")||n.prop("disabled")})}),this.items=i},_destroy:function(){this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.label.attr("for",this.ids.element)}}),e.widget("ui.slider",e.ui.mouse,{version:"1.11.0",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var t,i,s=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),a="<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>",o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),t=n.length;i>t;t++)o.push(a);this.handles=n.add(e(o.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(t){e(this).data("ui-slider-handle-index",t)})},_createRange:function(){var t=this.options,i="";t.range?(t.range===!0&&(t.values?t.values.length&&2!==t.values.length?t.values=[t.values[0],t.values[0]]:e.isArray(t.values)&&(t.values=t.values.slice(0)):t.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=e("<div></div>").appendTo(this.element),i="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(i+("min"===t.range||"max"===t.range?" ui-slider-range-"+t.range:""))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(t){var i,s,n,a,o,r,h,l,u=this,d=this.options;return d.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:t.pageX,y:t.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(t){var i=Math.abs(s-u.values(t));(n>i||n===i&&(t===u._lastChangedValue||u.values(t)===d.min))&&(n=i,a=e(this),o=t)}),r=this._start(t,o),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,a.addClass("ui-state-active").focus(),h=a.offset(),l=!e(t.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:t.pageX-h.left-a.width()/2,top:t.pageY-h.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(t,o,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(e){var t={x:e.pageX,y:e.pageY},i=this._normValueFromMouse(t);return this._slide(e,this._handleIndex,i),!1},_mouseStop:function(e){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(e,this._handleIndex),this._change(e,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(e){var t,i,s,n,a;return"horizontal"===this.orientation?(t=this.elementSize.width,i=e.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(t=this.elementSize.height,i=e.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/t,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),a=this._valueMin()+s*n,this._trimAlignValue(a)},_start:function(e,t){var i={handle:this.handles[t],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger("start",e,i)},_slide:function(e,t,i){var s,n,a;this.options.values&&this.options.values.length?(s=this.values(t?0:1),2===this.options.values.length&&this.options.range===!0&&(0===t&&i>s||1===t&&s>i)&&(i=s),i!==this.values(t)&&(n=this.values(),n[t]=i,a=this._trigger("slide",e,{handle:this.handles[t],value:i,values:n}),s=this.values(t?0:1),a!==!1&&this.values(t,i))):i!==this.value()&&(a=this._trigger("slide",e,{handle:this.handles[t],value:i}),a!==!1&&this.value(i))},_stop:function(e,t){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger("stop",e,i)},_change:function(e,t){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._lastChangedValue=t,this._trigger("change",e,i)}},value:function(e){return arguments.length?(this.options.value=this._trimAlignValue(e),this._refreshValue(),this._change(null,0),void 0):this._value()},values:function(t,i){var s,n,a;if(arguments.length>1)return this.options.values[t]=this._trimAlignValue(i),this._refreshValue(),this._change(null,t),void 0;if(!arguments.length)return this._values();if(!e.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(t):this.value();for(s=this.options.values,n=arguments[0],a=0;s.length>a;a+=1)s[a]=this._trimAlignValue(n[a]),this._change(null,a);this._refreshValue()},_setOption:function(t,i){var s,n=0;switch("range"===t&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),e.isArray(this.options.values)&&(n=this.options.values.length),"disabled"===t&&this.element.toggleClass("ui-state-disabled",!!i),this._super(t,i),t){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"min":case"max":this._animateOff=!0,this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var e=this.options.value;return e=this._trimAlignValue(e)},_values:function(e){var t,i,s;if(arguments.length)return t=this.options.values[e],t=this._trimAlignValue(t);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(e){if(this._valueMin()>=e)return this._valueMin();if(e>=this._valueMax())return this._valueMax();var t=this.options.step>0?this.options.step:1,i=(e-this._valueMin())%t,s=e-i;return 2*Math.abs(i)>=t&&(s+=i>0?t:-t),parseFloat(s.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var t,i,s,n,a,o=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),u["horizontal"===h.orientation?"left":"bottom"]=i+"%",e(this).stop(1,1)[l?"animate":"css"](u,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-t+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-t+"%"},{queue:!1,duration:r.animate}))),t=i}):(s=this.value(),n=this._valueMin(),a=this._valueMax(),i=a!==n?100*((s-n)/(a-n)):0,u["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](u,r.animate),"min"===o&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===o&&"horizontal"===this.orientation&&this.range[l?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===o&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===o&&"vertical"===this.orientation&&this.range[l?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(t){var i,s,n,a,o=e(t.target).data("ui-slider-handle-index");switch(t.keyCode){case e.ui.keyCode.HOME:case e.ui.keyCode.END:case e.ui.keyCode.PAGE_UP:case e.ui.keyCode.PAGE_DOWN:case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(t.preventDefault(),!this._keySliding&&(this._keySliding=!0,e(t.target).addClass("ui-state-active"),i=this._start(t,o),i===!1))return}switch(a=this.options.step,s=n=this.options.values&&this.options.values.length?this.values(o):this.value(),t.keyCode){case e.ui.keyCode.HOME:n=this._valueMin();break;case e.ui.keyCode.END:n=this._valueMax();break;case e.ui.keyCode.PAGE_UP:n=this._trimAlignValue(s+(this._valueMax()-this._valueMin())/this.numPages);break;case e.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(s-(this._valueMax()-this._valueMin())/this.numPages);break;case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:if(s===this._valueMax())return;n=this._trimAlignValue(s+a);break;case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(s===this._valueMin())return;n=this._trimAlignValue(s-a)}this._slide(t,o,n)},keyup:function(t){var i=e(t.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(t,i),this._change(t,i),e(t.target).removeClass("ui-state-active"))}}}),e.widget("ui.sortable",e.ui.mouse,{version:"1.11.0",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(e,t,i){return e>=t&&t+i>e},_isFloating:function(e){return/left|right/.test(e.css("float"))||/inline|table-cell/.test(e.css("display"))},_create:function(){var e=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===e.axis||this._isFloating(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(e,t){this._super(e,t),"handle"===e&&this._setHandleClassName()},_setHandleClassName:function(){this.element.find(".ui-sortable-handle").removeClass("ui-sortable-handle"),e.each(this.items,function(){(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item).addClass("ui-sortable-handle")})},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").find(".ui-sortable-handle").removeClass("ui-sortable-handle"),this._mouseDestroy();for(var e=this.items.length-1;e>=0;e--)this.items[e].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(t,i){var s=null,n=!1,a=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(t),e(t.target).parents().each(function(){return e.data(this,a.widgetName+"-item")===a?(s=e(this),!1):void 0}),e.data(t.target,a.widgetName+"-item")===a&&(s=e(t.target)),s?!this.options.handle||i||(e(this.options.handle,s).find("*").addBack().each(function(){this===t.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(t,i,s){var n,a,o=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),o.containment&&this._setContainment(),o.cursor&&"auto"!==o.cursor&&(a=this.document.find("body"),this.storedCursor=a.css("cursor"),a.css("cursor",o.cursor),this.storedStylesheet=e("<style>*{ cursor: "+o.cursor+" !important; }</style>").appendTo(a)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",t,this._uiHash(this)); -return e.ui.ddmanager&&(e.ui.ddmanager.current=this),e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(t),!0},_mouseDrag:function(t){var i,s,n,a,o=this.options,r=!1;for(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY<o.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+o.scrollSpeed:t.pageY-this.overflowOffset.top<o.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-o.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-t.pageX<o.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+o.scrollSpeed:t.pageX-this.overflowOffset.left<o.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-o.scrollSpeed)):(t.pageY-e(document).scrollTop()<o.scrollSensitivity?r=e(document).scrollTop(e(document).scrollTop()-o.scrollSpeed):e(window).height()-(t.pageY-e(document).scrollTop())<o.scrollSensitivity&&(r=e(document).scrollTop(e(document).scrollTop()+o.scrollSpeed)),t.pageX-e(document).scrollLeft()<o.scrollSensitivity?r=e(document).scrollLeft(e(document).scrollLeft()-o.scrollSpeed):e(window).width()-(t.pageX-e(document).scrollLeft())<o.scrollSensitivity&&(r=e(document).scrollLeft(e(document).scrollLeft()+o.scrollSpeed))),r!==!1&&e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],a=this._intersectsWithPointer(s),a&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===a?"next":"prev"]()[0]!==n&&!e.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!e.contains(this.element[0],n):!0)){if(this.direction=1===a?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(t,s),this._trigger("change",t,this._uiHash());break}return this._contactContainers(t),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,i){if(t){if(e.ui.ddmanager&&!this.options.dropBehaviour&&e.ui.ddmanager.drop(this,t),this.options.revert){var s=this,n=this.placeholder.offset(),a=this.options.axis,o={};a&&"x"!==a||(o.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),a&&"y"!==a||(o.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,e(this.helper).animate(o,parseInt(this.options.revert,10)||500,function(){s._clear(t)})}else this._clear(t,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var t=this.containers.length-1;t>=0;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),e.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?e(this.domPosition.prev).after(this.currentItem):e(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},e(i).each(function(){var i=(e(t.item||this).attr(t.attribute||"id")||"").match(t.expression||/(.+)[\-=_](.+)/);i&&s.push((t.key||i[1]+"[]")+"="+(t.key&&t.expression?i[1]:i[2]))}),!s.length&&t.key&&s.push(t.key+"="),s.join("&")},toArray:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},i.each(function(){s.push(e(t.item||this).attr(t.attribute||"id")||"")}),s},_intersectsWith:function(e){var t=this.positionAbs.left,i=t+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,a=e.left,o=a+e.width,r=e.top,h=r+e.height,l=this.offset.click.top,u=this.offset.click.left,d="x"===this.options.axis||s+l>r&&h>s+l,c="y"===this.options.axis||t+u>a&&o>t+u,p=d&&c;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>e[this.floating?"width":"height"]?p:t+this.helperProportions.width/2>a&&o>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(e){var t="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top,e.height),i="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left,e.width),s=t&&i,n=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return s?this.floating?a&&"right"===a||"down"===n?2:1:n&&("down"===n?2:1):!1},_intersectsWithSides:function(e){var t=this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top+e.height/2,e.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left+e.width/2,e.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"===n&&i||"left"===n&&!i:s&&("down"===s&&t||"up"===s&&!t)},_getDragVerticalDirection:function(){var e=this.positionAbs.top-this.lastPositionAbs.top;return 0!==e&&(e>0?"down":"up")},_getDragHorizontalDirection:function(){var e=this.positionAbs.left-this.lastPositionAbs.left;return 0!==e&&(e>0?"right":"left")},refresh:function(e){return this._refreshItems(e),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var e=this.options;return e.connectWith.constructor===String?[e.connectWith]:e.connectWith},_getItemsAsjQuery:function(t){function i(){r.push(this)}var s,n,a,o,r=[],h=[],l=this._connectWith();if(l&&t)for(s=l.length-1;s>=0;s--)for(a=e(l[s]),n=a.length-1;n>=0;n--)o=e.data(a[n],this.widgetFullName),o&&o!==this&&!o.options.disabled&&h.push([e.isFunction(o.options.items)?o.options.items.call(o.element):e(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);for(h.push([e.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):e(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return e(r)},_removeCurrentsFromItems:function(){var t=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=e.grep(this.items,function(e){for(var i=0;t.length>i;i++)if(t[i]===e.item[0])return!1;return!0})},_refreshItems:function(t){this.items=[],this.containers=[this];var i,s,n,a,o,r,h,l,u=this.items,d=[[e.isFunction(this.options.items)?this.options.items.call(this.element[0],t,{item:this.currentItem}):e(this.options.items,this.element),this]],c=this._connectWith();if(c&&this.ready)for(i=c.length-1;i>=0;i--)for(n=e(c[i]),s=n.length-1;s>=0;s--)a=e.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&(d.push([e.isFunction(a.options.items)?a.options.items.call(a.element[0],t,{item:this.currentItem}):e(a.options.items,a.element),a]),this.containers.push(a));for(i=d.length-1;i>=0;i--)for(o=d[i][1],r=d[i][0],s=0,l=r.length;l>s;s++)h=e(r[s]),h.data(this.widgetName+"-item",o),u.push({item:h,instance:o,width:0,height:0,left:0,top:0})},refreshPositions:function(t){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,a;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?e(this.options.toleranceElement,s.item):s.item,t||(s.width=n.outerWidth(),s.height=n.outerHeight()),a=n.offset(),s.left=a.left,s.top=a.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)a=this.containers[i].element.offset(),this.containers[i].containerCache.left=a.left,this.containers[i].containerCache.top=a.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(t){t=t||this;var i,s=t.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=t.currentItem[0].nodeName.toLowerCase(),n=e("<"+s+">",t.document[0]).addClass(i||t.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===s?t.currentItem.children().each(function(){e("<td> </td>",t.document[0]).attr("colspan",e(this).attr("colspan")||1).appendTo(n)}):"img"===s&&n.attr("src",t.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(e,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(t.currentItem.innerHeight()-parseInt(t.currentItem.css("paddingTop")||0,10)-parseInt(t.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(t.currentItem.innerWidth()-parseInt(t.currentItem.css("paddingLeft")||0,10)-parseInt(t.currentItem.css("paddingRight")||0,10)))}}),t.placeholder=e(s.placeholder.element.call(t.element,t.currentItem)),t.currentItem.after(t.placeholder),s.placeholder.update(t,t.placeholder)},_contactContainers:function(t){var i,s,n,a,o,r,h,l,u,d,c=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!e.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(c&&e.contains(this.containers[i].element[0],c.element[0]))continue;c=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",t,this._uiHash(this)),this.containers[i].containerCache.over=0);if(c)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,a=null,u=c.floating||this._isFloating(this.currentItem),o=u?"left":"top",r=u?"width":"height",d=u?"clientX":"clientY",s=this.items.length-1;s>=0;s--)e.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[o],l=!1,t[d]-h>this.items[s][r]/2&&(l=!0),n>Math.abs(t[d]-h)&&(n=Math.abs(t[d]-h),a=this.items[s],this.direction=l?"up":"down"));if(!a&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return;a?this._rearrange(t,a,null,!0):this._rearrange(t,null,this.containers[p].element,!0),this._trigger("change",t,this._uiHash()),this.containers[p]._trigger("change",t,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||e("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.currentItem.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,e("document"===n.containment?document:window).width()-this.helperProportions.width-this.margins.left,(e("document"===n.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(t=e(n.containment)[0],i=e(n.containment).offset(),s="hidden"!==e(t).css("overflow"),this.containment=[i.left+(parseInt(e(t).css("borderLeftWidth"),10)||0)+(parseInt(e(t).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(e(t).css("borderTopWidth"),10)||0)+(parseInt(e(t).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(t.scrollWidth,t.offsetWidth):t.offsetWidth)-(parseInt(e(t).css("borderLeftWidth"),10)||0)-(parseInt(e(t).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(t.scrollHeight,t.offsetHeight):t.offsetHeight)-(parseInt(e(t).css("borderTopWidth"),10)||0)-(parseInt(e(t).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(t,i){i||(i=this.position);var s="absolute"===t?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():a?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:n.scrollLeft())*s}},_generatePosition:function(t){var i,s,n=this.options,a=t.pageX,o=t.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(t.pageX-this.offset.click.left<this.containment[0]&&(a=this.containment[0]+this.offset.click.left),t.pageY-this.offset.click.top<this.containment[1]&&(o=this.containment[1]+this.offset.click.top),t.pageX-this.offset.click.left>this.containment[2]&&(a=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1],o=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((a-this.originalPageX)/n.grid[0])*n.grid[0],a=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(e,t,i,s){i?i[0].appendChild(this.placeholder[0]):t.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?t.item[0]:t.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(e,t){function i(e,t,i){return function(s){i._trigger(e,s,t._uiHash(t))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!t&&n.push(function(e){this._trigger("receive",e,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||t||n.push(function(e){this._trigger("update",e,this._uiHash())}),this!==this.currentContainer&&(t||(n.push(function(e){this._trigger("remove",e,this._uiHash())}),n.push(function(e){return function(t){e._trigger("receive",t,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(e){return function(t){e._trigger("update",t,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)t||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!t){for(this._trigger("beforeStop",e,this._uiHash()),s=0;n.length>s;s++)n[s].call(this,e);this._trigger("stop",e,this._uiHash())}return this.fromOutside=!1,!1}if(t||this._trigger("beforeStop",e,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null,!t){for(s=0;n.length>s;s++)n[s].call(this,e);this._trigger("stop",e,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){e.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(t){var i=t||this;return{helper:i.helper,placeholder:i.placeholder||e([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:t?t.element:null}}}),e.widget("ui.spinner",{version:"1.11.0",defaultElement:"<input>",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var t={},i=this.element;return e.each(["min","max","step"],function(e,s){var n=i.attr(s);void 0!==n&&n.length&&(t[s]=n)}),t},_events:{keydown:function(e){this._start(e)&&this._keydown(e)&&e.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",e),void 0)},mousewheel:function(e,t){if(t){if(!this.spinning&&!this._start(e))return!1;this._spin((t>0?1:-1)*this.options.step,e),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(e)},100),e.preventDefault()}},"mousedown .ui-spinner-button":function(t){function i(){var e=this.element[0]===this.document[0].activeElement;e||(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),t.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(t)!==!1&&this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(t){return e(t.currentTarget).hasClass("ui-state-active")?this._start(t)===!1?!1:(this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var e=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=e.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*e.height())&&e.height()>0&&e.height(e.height()),this.options.disabled&&this.disable()},_keydown:function(t){var i=this.options,s=e.ui.keyCode;switch(t.keyCode){case s.UP:return this._repeat(null,1,t),!0;case s.DOWN:return this._repeat(null,-1,t),!0;case s.PAGE_UP:return this._repeat(null,i.page,t),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,t),!0}return!1},_uiSpinnerHtml:function(){return"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"},_buttonHtml:function(){return"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon "+this.options.icons.up+"'>▲</span>"+"</a>"+"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>"+"<span class='ui-icon "+this.options.icons.down+"'>▼</span>"+"</a>"},_start:function(e){return this.spinning||this._trigger("start",e)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(e,t,i){e=e||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,t,i)},e),this._spin(t*this.options.step,i)},_spin:function(e,t){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+e*this._increment(this.counter)),this.spinning&&this._trigger("spin",t,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(t){var i=this.options.incremental;return i?e.isFunction(i)?i(t):Math.floor(t*t*t/5e4-t*t/500+17*t/200+1):1},_precision:function(){var e=this._precisionOf(this.options.step);return null!==this.options.min&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=""+e,i=t.indexOf(".");return-1===i?0:t.length-i-1},_adjustValue:function(e){var t,i,s=this.options;return t=null!==s.min?s.min:0,i=e-t,i=Math.round(i/s.step)*s.step,e=t+i,e=parseFloat(e.toFixed(this._precision())),null!==s.max&&e>s.max?s.max:null!==s.min&&s.min>e?s.min:e},_stop:function(e){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",e))},_setOption:function(e,t){if("culture"===e||"numberFormat"===e){var i=this._parse(this.element.val());return this.options[e]=t,this.element.val(this._format(i)),void 0}("max"===e||"min"===e||"step"===e)&&"string"==typeof t&&(t=this._parse(t)),"icons"===e&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(t.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(t.down)),this._super(e,t),"disabled"===e&&(this.widget().toggleClass("ui-state-disabled",!!t),this.element.prop("disabled",!!t),this.buttons.button(t?"disable":"enable"))},_setOptions:r(function(e){this._super(e)}),_parse:function(e){return"string"==typeof e&&""!==e&&(e=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(e,10,this.options.culture):+e),""===e||isNaN(e)?null:e},_format:function(e){return""===e?"":window.Globalize&&this.options.numberFormat?Globalize.format(e,this.options.numberFormat,this.options.culture):e},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var e=this.value();return null===e?!1:e===this._adjustValue(e)},_value:function(e,t){var i;""!==e&&(i=this._parse(e),null!==i&&(t||(i=this._adjustValue(i)),e=this._format(i))),this.element.val(e),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:r(function(e){this._stepUp(e)}),_stepUp:function(e){this._start()&&(this._spin((e||1)*this.options.step),this._stop())},stepDown:r(function(e){this._stepDown(e)}),_stepDown:function(e){this._start()&&(this._spin((e||1)*-this.options.step),this._stop())},pageUp:r(function(e){this._stepUp((e||1)*this.options.page)}),pageDown:r(function(e){this._stepDown((e||1)*this.options.page)}),value:function(e){return arguments.length?(r(this._value).call(this,e),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),e.widget("ui.tabs",{version:"1.11.0",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var e=/#.*$/;return function(t){var i,s;t=t.cloneNode(!1),i=t.href.replace(e,""),s=location.href.replace(e,"");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return t.hash.length>1&&i===s}}(),_create:function(){var t=this,i=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",i.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(t){e(this).is(".ui-state-disabled")&&t.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){e(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs(),i.active=this._initialActive(),e.isArray(i.disabled)&&(i.disabled=e.unique(i.disabled.concat(e.map(this.tabs.filter(".ui-state-disabled"),function(e){return t.tabs.index(e)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):e(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var t=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===t&&(s&&this.tabs.each(function(i,n){return e(n).attr("aria-controls")===s?(t=i,!1):void 0}),null===t&&(t=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===t||-1===t)&&(t=this.tabs.length?0:!1)),t!==!1&&(t=this.tabs.index(this.tabs.eq(t)),-1===t&&(t=i?!1:0)),!i&&t===!1&&this.anchors.length&&(t=0),t},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):e()}},_tabKeydown:function(t){var i=e(this.document[0].activeElement).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(t)){switch(t.keyCode){case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:s++;break;case e.ui.keyCode.UP:case e.ui.keyCode.LEFT:n=!1,s--;break;case e.ui.keyCode.END:s=this.anchors.length-1;break;case e.ui.keyCode.HOME:s=0;break;case e.ui.keyCode.SPACE:return t.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case e.ui.keyCode.ENTER:return t.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}t.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),t.ctrlKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(t){this._handlePageNav(t)||t.ctrlKey&&t.keyCode===e.ui.keyCode.UP&&(t.preventDefault(),this.active.focus())},_handlePageNav:function(t){return t.altKey&&t.keyCode===e.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):t.altKey&&t.keyCode===e.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(t,i){function s(){return t>n&&(t=0),0>t&&(t=n),t}for(var n=this.tabs.length-1;-1!==e.inArray(s(),this.options.disabled);)t=i?t+1:t-1;return t},_focusNextTab:function(e,t){return e=this._findNextTab(e,t),this.tabs.eq(e).focus(),e},_setOption:function(e,t){return"active"===e?(this._activate(t),void 0):"disabled"===e?(this._setupDisabled(t),void 0):(this._super(e,t),"collapsible"===e&&(this.element.toggleClass("ui-tabs-collapsible",t),t||this.options.active!==!1||this._activate(0)),"event"===e&&this._setupEvents(t),"heightStyle"===e&&this._setupHeightStyle(t),void 0)},_sanitizeSelector:function(e){return e?e.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var t=this.options,i=this.tablist.children(":has(a[href])");t.disabled=e.map(i.filter(".ui-state-disabled"),function(e){return i.index(e)}),this._processTabs(),t.active!==!1&&this.anchors.length?this.active.length&&!e.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=e()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active):(t.active=!1,this.active=e()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var t=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return e("a",this)[0] -}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=e(),this.anchors.each(function(i,s){var n,a,o,r=e(s).uniqueId().attr("id"),h=e(s).closest("li"),l=h.attr("aria-controls");t._isLocal(s)?(n=s.hash,o=n.substring(1),a=t.element.find(t._sanitizeSelector(n))):(o=h.attr("aria-controls")||e({}).uniqueId()[0].id,n="#"+o,a=t.element.find(n),a.length||(a=t._createPanel(o),a.insertAfter(t.panels[i-1]||t.tablist)),a.attr("aria-live","polite")),a.length&&(t.panels=t.panels.add(a)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":o,"aria-labelledby":r}),a.attr("aria-labelledby",r)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(t){return e("<div>").attr("id",t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(t){e.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1);for(var i,s=0;i=this.tabs[s];s++)t===!0||-1!==e.inArray(s,t)?e(i).addClass("ui-state-disabled").attr("aria-disabled","true"):e(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=t},_setupEvents:function(t){var i={};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(e){e.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var i,s=this.element.parent();"fill"===t?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var t=e(this),s=t.css("position");"absolute"!==s&&"fixed"!==s&&(i-=t.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=e(this).outerHeight(!0)}),this.panels.each(function(){e(this).height(Math.max(0,i-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===t&&(i=0,this.panels.each(function(){i=Math.max(i,e(this).height("").height())}).height(i))},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n.closest("li"),o=a[0]===s[0],r=o&&i.collapsible,h=r?e():this._getPanelForTab(a),l=s.length?this._getPanelForTab(s):e(),u={oldTab:s,oldPanel:l,newTab:r?e():a,newPanel:h};t.preventDefault(),a.hasClass("ui-state-disabled")||a.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||this._trigger("beforeActivate",t,u)===!1||(i.active=r?!1:this.tabs.index(a),this.active=o?e():a,this.xhr&&this.xhr.abort(),l.length||h.length||e.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(a),t),this._toggle(t,u))},_toggle:function(t,i){function s(){a.running=!1,a._trigger("activate",t,i)}function n(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),o.length&&a.options.show?a._show(o,a.options.show,s):(o.show(),s())}var a=this,o=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),n()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),n()),r.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),o.length&&r.length?i.oldTab.attr("tabIndex",-1):o.length&&this.tabs.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),o.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(t){var i,s=this._findActive(t);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return t===!1?e():this.tabs.eq(t)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+e+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){e.data(this,"ui-tabs-destroy")?e(this).remove():e(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var t=e(this),i=t.data("ui-tabs-aria-controls");i?t.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):t.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(t){var i=this.options.disabled;i!==!1&&(void 0===t?i=!1:(t=this._getIndex(t),i=e.isArray(i)?e.map(i,function(e){return e!==t?e:null}):e.map(this.tabs,function(e,i){return i!==t?i:null})),this._setupDisabled(i))},disable:function(t){var i=this.options.disabled;if(i!==!0){if(void 0===t)i=!0;else{if(t=this._getIndex(t),-1!==e.inArray(t,i))return;i=e.isArray(i)?e.merge([t],i).sort():[t]}this._setupDisabled(i)}},load:function(t,i){t=this._getIndex(t);var s=this,n=this.tabs.eq(t),a=n.find(".ui-tabs-anchor"),o=this._getPanelForTab(n),r={tab:n,panel:o};this._isLocal(a[0])||(this.xhr=e.ajax(this._ajaxSettings(a,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(n.addClass("ui-tabs-loading"),o.attr("aria-busy","true"),this.xhr.success(function(e){setTimeout(function(){o.html(e),s._trigger("load",i,r)},1)}).complete(function(e,t){setTimeout(function(){"abort"===t&&s.panels.stop(!1,!0),n.removeClass("ui-tabs-loading"),o.removeAttr("aria-busy"),e===s.xhr&&delete s.xhr},1)})))},_ajaxSettings:function(t,i,s){var n=this;return{url:t.attr("href"),beforeSend:function(t,a){return n._trigger("beforeLoad",i,e.extend({jqXHR:t,ajaxSettings:a},s))}}},_getPanelForTab:function(t){var i=e(t).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),e.widget("ui.tooltip",{version:"1.11.0",options:{content:function(){var t=e(this).attr("title")||"";return e("<a>").text(t).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_addDescribedBy:function(t,i){var s=(t.attr("aria-describedby")||"").split(/\s+/);s.push(i),t.data("ui-tooltip-id",i).attr("aria-describedby",e.trim(s.join(" ")))},_removeDescribedBy:function(t){var i=t.data("ui-tooltip-id"),s=(t.attr("aria-describedby")||"").split(/\s+/),n=e.inArray(i,s);-1!==n&&s.splice(n,1),t.removeData("ui-tooltip-id"),s=e.trim(s.join(" ")),s?t.attr("aria-describedby",s):t.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable(),this.liveRegion=e("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body)},_setOption:function(t,i){var s=this;return"disabled"===t?(this[i?"_disable":"_enable"](),this.options[t]=i,void 0):(this._super(t,i),"content"===t&&e.each(this.tooltips,function(e,t){s._updateContent(t)}),void 0)},_disable:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event("blur");n.target=n.currentTarget=s[0],t.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.is("[title]")&&t.data("ui-tooltip-title",t.attr("title")).removeAttr("title")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.data("ui-tooltip-title")&&t.attr("title",t.data("ui-tooltip-title"))})},open:function(t){var i=this,s=e(t?t.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),t&&"mouseover"===t.type&&s.parents().each(function(){var t,s=e(this);s.data("ui-tooltip-open")&&(t=e.Event("blur"),t.target=t.currentTarget=this,i.close(t,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._updateContent(s,t))},_updateContent:function(e,t){var i,s=this.options.content,n=this,a=t?t.type:null;return"string"==typeof s?this._open(t,e,s):(i=s.call(e[0],function(i){e.data("ui-tooltip-open")&&n._delay(function(){t&&(t.type=a),this._open(t,e,i)})}),i&&this._open(t,e,i),void 0)},_open:function(t,i,s){function n(e){l.of=e,a.is(":hidden")||a.position(l)}var a,o,r,h,l=e.extend({},this.options.position);if(s){if(a=this._find(i),a.length)return a.find(".ui-tooltip-content").html(s),void 0;i.is("[title]")&&(t&&"mouseover"===t.type?i.attr("title",""):i.removeAttr("title")),a=this._tooltip(i),this._addDescribedBy(i,a.attr("id")),a.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),s.clone?(h=s.clone(),h.removeAttr("id").find("[id]").removeAttr("id")):h=s,e("<div>").html(h).appendTo(this.liveRegion),this.options.track&&t&&/^mouse/.test(t.type)?(this._on(this.document,{mousemove:n}),n(t)):a.position(e.extend({of:i},this.options.position)),a.hide(),this._show(a,this.options.show),this.options.show&&this.options.show.delay&&(r=this.delayedShow=setInterval(function(){a.is(":visible")&&(n(l.of),clearInterval(r))},e.fx.interval)),this._trigger("open",t,{tooltip:a}),o={keyup:function(t){if(t.keyCode===e.ui.keyCode.ESCAPE){var s=e.Event(t);s.currentTarget=i[0],this.close(s,!0)}}},i[0]!==this.element[0]&&(o.remove=function(){this._removeTooltip(a)}),t&&"mouseover"!==t.type||(o.mouseleave="close"),t&&"focusin"!==t.type||(o.focusout="close"),this._on(!0,i,o)}},close:function(t){var i=this,s=e(t?t.currentTarget:this.element),n=this._find(s);this.closing||(clearInterval(this.delayedShow),s.data("ui-tooltip-title")&&!s.attr("title")&&s.attr("title",s.data("ui-tooltip-title")),this._removeDescribedBy(s),n.stop(!0),this._hide(n,this.options.hide,function(){i._removeTooltip(e(this))}),s.removeData("ui-tooltip-open"),this._off(s,"mouseleave focusout keyup"),s[0]!==this.element[0]&&this._off(s,"remove"),this._off(this.document,"mousemove"),t&&"mouseleave"===t.type&&e.each(this.parents,function(t,s){e(s.element).attr("title",s.title),delete i.parents[t]}),this.closing=!0,this._trigger("close",t,{tooltip:n}),this.closing=!1)},_tooltip:function(t){var i=e("<div>").attr("role","tooltip").addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||"")),s=i.uniqueId().attr("id");return e("<div>").addClass("ui-tooltip-content").appendTo(i),i.appendTo(this.document[0].body),this.tooltips[s]=t,i},_find:function(t){var i=t.data("ui-tooltip-id");return i?e("#"+i):e()},_removeTooltip:function(e){e.remove(),delete this.tooltips[e.attr("id")]},_destroy:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event("blur");n.target=n.currentTarget=s[0],t.close(n,!0),e("#"+i).remove(),s.data("ui-tooltip-title")&&(s.attr("title")||s.attr("title",s.data("ui-tooltip-title")),s.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}})}); \ No newline at end of file +(function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){function t(t,s){var n,a,o,r=t.nodeName.toLowerCase();return"area"===r?(n=t.parentNode,a=n.name,t.href&&a&&"map"===n.nodeName.toLowerCase()?(o=e("img[usemap='#"+a+"']")[0],!!o&&i(o)):!1):(/^(input|select|textarea|button|object)$/.test(r)?!t.disabled:"a"===r?t.href||s:s)&&i(t)}function i(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}function s(e){for(var t,i;e.length&&e[0]!==document;){if(t=e.css("position"),("absolute"===t||"relative"===t||"fixed"===t)&&(i=parseInt(e.css("zIndex"),10),!isNaN(i)&&0!==i))return i;e=e.parent()}return 0}function n(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},e.extend(this._defaults,this.regional[""]),this.regional.en=e.extend(!0,{},this.regional[""]),this.regional["en-US"]=e.extend(!0,{},this.regional.en),this.dpDiv=a(e("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function a(t){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return t.delegate(i,"mouseout",function(){e(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).removeClass("ui-datepicker-next-hover")}).delegate(i,"mouseover",o)}function o(){e.datepicker._isDisabledDatepicker(v.inline?v.dpDiv.parent()[0]:v.input[0])||(e(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),e(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).addClass("ui-datepicker-next-hover"))}function r(t,i){e.extend(t,i);for(var s in i)null==i[s]&&(t[s]=i[s]);return t}function h(e){return function(){var t=this.element.val();e.apply(this,arguments),this._refresh(),t!==this.element.val()&&this._trigger("change")}}e.ui=e.ui||{},e.extend(e.ui,{version:"1.11.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({scrollParent:function(t){var i=this.css("position"),s="absolute"===i,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,a=this.parents().filter(function(){var t=e(this);return s&&"static"===t.css("position")?!1:n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==i&&a.length?a:e(this[0].ownerDocument||document)},uniqueId:function(){var e=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++e)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(i){return t(i,!isNaN(e.attr(i,"tabindex")))},tabbable:function(i){var s=e.attr(i,"tabindex"),n=isNaN(s);return(n||s>=0)&&t(i,!n)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(t,i){function s(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],a=i.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+i]=function(t){return void 0===t?o["inner"+i].call(this):this.each(function(){e(this).css(a,s(this,t)+"px")})},e.fn["outer"+i]=function(t,n){return"number"!=typeof t?o["outer"+i].call(this,t):this.each(function(){e(this).css(a,s(this,t,!0,n)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),disableSelection:function(){var e="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.bind(e+".ui-disableSelection",function(e){e.preventDefault()})}}(),enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(t){if(void 0!==t)return this.css("zIndex",t);if(this.length)for(var i,s,n=e(this[0]);n.length&&n[0]!==document;){if(i=n.css("position"),("absolute"===i||"relative"===i||"fixed"===i)&&(s=parseInt(n.css("zIndex"),10),!isNaN(s)&&0!==s))return s;n=n.parent()}return 0}}),e.ui.plugin={add:function(t,i,s){var n,a=e.ui[t].prototype;for(n in s)a.plugins[n]=a.plugins[n]||[],a.plugins[n].push([i,s[n]])},call:function(e,t,i,s){var n,a=e.plugins[t];if(a&&(s||e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType))for(n=0;a.length>n;n++)e.options[a[n][0]]&&a[n][1].apply(e.element,i)}};var l=0,u=Array.prototype.slice;e.cleanData=function(t){return function(i){var s,n,a;for(a=0;null!=(n=i[a]);a++)try{s=e._data(n,"events"),s&&s.remove&&e(n).triggerHandler("remove")}catch(o){}t(i)}}(e.cleanData),e.widget=function(t,i,s){var n,a,o,r,h={},l=t.split(".")[0];return t=t.split(".")[1],n=l+"-"+t,s||(s=i,i=e.Widget),e.expr[":"][n.toLowerCase()]=function(t){return!!e.data(t,n)},e[l]=e[l]||{},a=e[l][t],o=e[l][t]=function(e,t){return this._createWidget?(arguments.length&&this._createWidget(e,t),void 0):new o(e,t)},e.extend(o,a,{version:s.version,_proto:e.extend({},s),_childConstructors:[]}),r=new i,r.options=e.widget.extend({},r.options),e.each(s,function(t,s){return e.isFunction(s)?(h[t]=function(){var e=function(){return i.prototype[t].apply(this,arguments)},n=function(e){return i.prototype[t].apply(this,e)};return function(){var t,i=this._super,a=this._superApply;return this._super=e,this._superApply=n,t=s.apply(this,arguments),this._super=i,this._superApply=a,t}}(),void 0):(h[t]=s,void 0)}),o.prototype=e.widget.extend(r,{widgetEventPrefix:a?r.widgetEventPrefix||t:t},h,{constructor:o,namespace:l,widgetName:t,widgetFullName:n}),a?(e.each(a._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete a._childConstructors):i._childConstructors.push(o),e.widget.bridge(t,o),o},e.widget.extend=function(t){for(var i,s,n=u.call(arguments,1),a=0,o=n.length;o>a;a++)for(i in n[a])s=n[a][i],n[a].hasOwnProperty(i)&&void 0!==s&&(t[i]=e.isPlainObject(s)?e.isPlainObject(t[i])?e.widget.extend({},t[i],s):e.widget.extend({},s):s);return t},e.widget.bridge=function(t,i){var s=i.prototype.widgetFullName||t;e.fn[t]=function(n){var a="string"==typeof n,o=u.call(arguments,1),r=this;return a?this.each(function(){var i,a=e.data(this,s);return"instance"===n?(r=a,!1):a?e.isFunction(a[n])&&"_"!==n.charAt(0)?(i=a[n].apply(a,o),i!==a&&void 0!==i?(r=i&&i.jquery?r.pushStack(i.get()):i,!1):void 0):e.error("no such method '"+n+"' for "+t+" widget instance"):e.error("cannot call methods on "+t+" prior to initialization; "+"attempted to call method '"+n+"'")}):(o.length&&(n=e.widget.extend.apply(null,[n].concat(o))),this.each(function(){var t=e.data(this,s);t?(t.option(n||{}),t._init&&t._init()):e.data(this,s,new i(n,this))})),r}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(t,i){i=e(i||this.defaultElement||this)[0],this.element=e(i),this.uuid=l++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=e(),this.hoverable=e(),this.focusable=e(),i!==this&&(e.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===i&&this.destroy()}}),this.document=e(i.style?i.ownerDocument:i.document||i),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(t,i){var s,n,a,o=t;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof t)if(o={},s=t.split("."),t=s.shift(),s.length){for(n=o[t]=e.widget.extend({},this.options[t]),a=0;s.length-1>a;a++)n[s[a]]=n[s[a]]||{},n=n[s[a]];if(t=s.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=i}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];o[t]=i}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!t),t&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(t,i,s){var n,a=this;"boolean"!=typeof t&&(s=i,i=t,t=!1),s?(i=n=e(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),e.each(s,function(s,o){function r(){return t||a.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?a[o]:o).apply(a,arguments):void 0}"string"!=typeof o&&(r.guid=o.guid=o.guid||r.guid||e.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+a.eventNamespace,u=h[2];u?n.delegate(u,l,r):i.bind(l,r)})},_off:function(t,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(i).undelegate(i),this.bindings=e(this.bindings.not(t).get()),this.focusable=e(this.focusable.not(t).get()),this.hoverable=e(this.hoverable.not(t).get())},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,o=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(o)&&o.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var o,r=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),o=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),o&&e.effects&&e.effects.effect[r]?s[t](n):r!==t&&s[r]?s[r](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}}),e.widget;var d=!1;e(document).mouseup(function(){d=!1}),e.widget("ui.mouse",{version:"1.11.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){if(!d){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(t),this._mouseDownEvent=t;var i=this,s=1===t.which,n="string"==typeof this.options.cancel&&t.target.nodeName?e(t.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(t)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(t)!==!1,!this._mouseStarted)?(t.preventDefault(),!0):(!0===e.data(t.target,this.widgetName+".preventClickEvent")&&e.removeData(t.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return i._mouseMove(e)},this._mouseUpDelegate=function(e){return i._mouseUp(e)},this.document.bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),t.preventDefault(),d=!0,!0)):!0}},_mouseMove:function(t){if(this._mouseMoved){if(e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button)return this._mouseUp(t);if(!t.which)return this._mouseUp(t)}return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),d=!1,!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),function(){function t(e,t,i){return[parseFloat(e[0])*(p.test(e[0])?t/100:1),parseFloat(e[1])*(p.test(e[1])?i/100:1)]}function i(t,i){return parseInt(e.css(t,i),10)||0}function s(t){var i=t[0];return 9===i.nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:e.isWindow(i)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()}}e.ui=e.ui||{};var n,a,o=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,u=/top|center|bottom/,d=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,p=/%$/,f=e.fn.position;e.position={scrollbarWidth:function(){if(void 0!==n)return n;var t,i,s=e("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),a=s.children()[0];return e("body").append(s),t=a.offsetWidth,s.css("overflow","scroll"),i=a.offsetWidth,t===i&&(i=s[0].clientWidth),s.remove(),n=t-i},getScrollInfo:function(t){var i=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),s=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),n="scroll"===i||"auto"===i&&t.width<t.element[0].scrollWidth,a="scroll"===s||"auto"===s&&t.height<t.element[0].scrollHeight;return{width:a?e.position.scrollbarWidth():0,height:n?e.position.scrollbarWidth():0}},getWithinInfo:function(t){var i=e(t||window),s=e.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType;return{element:i,isWindow:s,isDocument:n,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s||n?i.width():i.outerWidth(),height:s||n?i.height():i.outerHeight()}}},e.fn.position=function(n){if(!n||!n.of)return f.apply(this,arguments);n=e.extend({},n);var p,m,g,v,y,b,_=e(n.of),x=e.position.getWithinInfo(n.within),w=e.position.getScrollInfo(x),k=(n.collision||"flip").split(" "),T={};return b=s(_),_[0].preventDefault&&(n.at="left top"),m=b.width,g=b.height,v=b.offset,y=e.extend({},v),e.each(["my","at"],function(){var e,t,i=(n[this]||"").split(" ");1===i.length&&(i=l.test(i[0])?i.concat(["center"]):u.test(i[0])?["center"].concat(i):["center","center"]),i[0]=l.test(i[0])?i[0]:"center",i[1]=u.test(i[1])?i[1]:"center",e=d.exec(i[0]),t=d.exec(i[1]),T[this]=[e?e[0]:0,t?t[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===k.length&&(k[1]=k[0]),"right"===n.at[0]?y.left+=m:"center"===n.at[0]&&(y.left+=m/2),"bottom"===n.at[1]?y.top+=g:"center"===n.at[1]&&(y.top+=g/2),p=t(T.at,m,g),y.left+=p[0],y.top+=p[1],this.each(function(){var s,l,u=e(this),d=u.outerWidth(),c=u.outerHeight(),f=i(this,"marginLeft"),b=i(this,"marginTop"),D=d+f+i(this,"marginRight")+w.width,S=c+b+i(this,"marginBottom")+w.height,M=e.extend({},y),C=t(T.my,u.outerWidth(),u.outerHeight());"right"===n.my[0]?M.left-=d:"center"===n.my[0]&&(M.left-=d/2),"bottom"===n.my[1]?M.top-=c:"center"===n.my[1]&&(M.top-=c/2),M.left+=C[0],M.top+=C[1],a||(M.left=h(M.left),M.top=h(M.top)),s={marginLeft:f,marginTop:b},e.each(["left","top"],function(t,i){e.ui.position[k[t]]&&e.ui.position[k[t]][i](M,{targetWidth:m,targetHeight:g,elemWidth:d,elemHeight:c,collisionPosition:s,collisionWidth:D,collisionHeight:S,offset:[p[0]+C[0],p[1]+C[1]],my:n.my,at:n.at,within:x,elem:u})}),n.using&&(l=function(e){var t=v.left-M.left,i=t+m-d,s=v.top-M.top,a=s+g-c,h={target:{element:_,left:v.left,top:v.top,width:m,height:g},element:{element:u,left:M.left,top:M.top,width:d,height:c},horizontal:0>i?"left":t>0?"right":"center",vertical:0>a?"top":s>0?"bottom":"middle"};d>m&&m>r(t+i)&&(h.horizontal="center"),c>g&&g>r(s+a)&&(h.vertical="middle"),h.important=o(r(t),r(i))>o(r(s),r(a))?"horizontal":"vertical",n.using.call(this,e,h)}),u.offset(e.extend(M,{using:l}))})},e.ui.position={fit:{left:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=e.left-t.collisionPosition.marginLeft,h=n-r,l=r+t.collisionWidth-a-n;t.collisionWidth>a?h>0&&0>=l?(i=e.left+h+t.collisionWidth-a-n,e.left+=h-i):e.left=l>0&&0>=h?n:h>l?n+a-t.collisionWidth:n:h>0?e.left+=h:l>0?e.left-=l:e.left=o(e.left-r,e.left)},top:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollTop:s.offset.top,a=t.within.height,r=e.top-t.collisionPosition.marginTop,h=n-r,l=r+t.collisionHeight-a-n;t.collisionHeight>a?h>0&&0>=l?(i=e.top+h+t.collisionHeight-a-n,e.top+=h-i):e.top=l>0&&0>=h?n:h>l?n+a-t.collisionHeight:n:h>0?e.top+=h:l>0?e.top-=l:e.top=o(e.top-r,e.top)}},flip:{left:function(e,t){var i,s,n=t.within,a=n.offset.left+n.scrollLeft,o=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=e.left-t.collisionPosition.marginLeft,u=l-h,d=l+t.collisionWidth-o-h,c="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,p="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,f=-2*t.offset[0];0>u?(i=e.left+c+p+f+t.collisionWidth-o-a,(0>i||r(u)>i)&&(e.left+=c+p+f)):d>0&&(s=e.left-t.collisionPosition.marginLeft+c+p+f-h,(s>0||d>r(s))&&(e.left+=c+p+f))},top:function(e,t){var i,s,n=t.within,a=n.offset.top+n.scrollTop,o=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=e.top-t.collisionPosition.marginTop,u=l-h,d=l+t.collisionHeight-o-h,c="top"===t.my[1],p=c?-t.elemHeight:"bottom"===t.my[1]?t.elemHeight:0,f="top"===t.at[1]?t.targetHeight:"bottom"===t.at[1]?-t.targetHeight:0,m=-2*t.offset[1];0>u?(s=e.top+p+f+m+t.collisionHeight-o-a,(0>s||r(u)>s)&&(e.top+=p+f+m)):d>0&&(i=e.top-t.collisionPosition.marginTop+p+f+m-h,(i>0||d>r(i))&&(e.top+=p+f+m))}},flipfit:{left:function(){e.ui.position.flip.left.apply(this,arguments),e.ui.position.fit.left.apply(this,arguments)},top:function(){e.ui.position.flip.top.apply(this,arguments),e.ui.position.fit.top.apply(this,arguments)}}},function(){var t,i,s,n,o,r=document.getElementsByTagName("body")[0],h=document.createElement("div");t=document.createElement(r?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},r&&e.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(o in s)t.style[o]=s[o];t.appendChild(h),i=r||document.documentElement,i.insertBefore(t,i.firstChild),h.style.cssText="position: absolute; left: 10.7432222px;",n=e(h).offset().left,a=n>10&&11>n,t.innerHTML="",i.removeChild(t)}()}(),e.ui.position,e.widget("ui.accordion",{version:"1.11.4",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var t=this.options;this.prevShow=this.prevHide=e(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),t.collapsible||t.active!==!1&&null!=t.active||(t.active=0),this._processPanels(),0>t.active&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():e()}},_createIcons:function(){var t=this.options.icons;t&&(e("<span>").addClass("ui-accordion-header-icon ui-icon "+t.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var e;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").removeUniqueId(),this._destroyIcons(),e=this.headers.next().removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&e.css("height","")},_setOption:function(e,t){return"active"===e?(this._activate(t),void 0):("event"===e&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),"collapsible"!==e||t||this.options.active!==!1||this._activate(0),"icons"===e&&(this._destroyIcons(),t&&this._createIcons()),"disabled"===e&&(this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!t)),void 0)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var i=e.ui.keyCode,s=this.headers.length,n=this.headers.index(t.target),a=!1;switch(t.keyCode){case i.RIGHT:case i.DOWN:a=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:a=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(t);break;case i.HOME:a=this.headers[0];break;case i.END:a=this.headers[s-1]}a&&(e(t.target).attr("tabIndex",-1),e(a).attr("tabIndex",0),a.focus(),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().focus()},refresh:function(){var t=this.options;this._processPanels(),t.active===!1&&t.collapsible===!0||!this.headers.length?(t.active=!1,this.active=e()):t.active===!1?this._activate(0):this.active.length&&!e.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=e()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var e=this.headers,t=this.panels;this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-state-default ui-corner-all"),this.panels=this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide(),t&&(this._off(e.not(this.headers)),this._off(t.not(this.panels)))},_refresh:function(){var t,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(){var t=e(this),i=t.uniqueId().attr("id"),s=t.next(),n=s.uniqueId().attr("id");t.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(t=n.height(),this.element.siblings(":visible").each(function(){var i=e(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(t-=i.outerHeight(!0))}),this.headers.each(function(){t-=e(this).outerHeight(!0)}),this.headers.next().each(function(){e(this).height(Math.max(0,t-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===s&&(t=0,this.headers.next().each(function(){t=Math.max(t,e(this).css("height","").height())}).height(t))},_activate:function(t){var i=this._findActive(t)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):e()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n[0]===s[0],o=a&&i.collapsible,r=o?e():n.next(),h=s.next(),l={oldHeader:s,oldPanel:h,newHeader:o?e():n,newPanel:r};t.preventDefault(),a&&!i.collapsible||this._trigger("beforeActivate",t,l)===!1||(i.active=o?!1:this.headers.index(n),this.active=a?e():n,this._toggle(l),s.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),a||(n.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&n.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),n.next().addClass("ui-accordion-content-active")))},_toggle:function(t){var i=t.newPanel,s=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,t):(s.hide(),i.show(),this._toggleComplete(t)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(e(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(e,t,i){var s,n,a,o=this,r=0,h=e.css("box-sizing"),l=e.length&&(!t.length||e.index()<t.index()),u=this.options.animate||{},d=l&&u.down||u,c=function(){o._toggleComplete(i)};return"number"==typeof d&&(a=d),"string"==typeof d&&(n=d),n=n||d.easing||u.easing,a=a||d.duration||u.duration,t.length?e.length?(s=e.show().outerHeight(),t.animate(this.hideProps,{duration:a,easing:n,step:function(e,t){t.now=Math.round(e)}}),e.hide().animate(this.showProps,{duration:a,easing:n,complete:c,step:function(e,i){i.now=Math.round(e),"height"!==i.prop?"content-box"===h&&(r+=i.now):"content"!==o.options.heightStyle&&(i.now=Math.round(s-t.outerHeight()-r),r=0)}}),void 0):t.animate(this.hideProps,a,n,c):e.animate(this.showProps,a,n,c)},_toggleComplete:function(e){var t=e.oldPanel;t.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),t.length&&(t.parent()[0].className=t.parent()[0].className),this._trigger("activate",null,e)}}),e.widget("ui.menu",{version:"1.11.4",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},items:"> *",menus:"ul",position:{my:"left-1 top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item":function(e){e.preventDefault()},"click .ui-menu-item":function(t){var i=e(t.target);!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&e(this.document[0].activeElement).closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(t){if(!this.previousFilter){var i=e(t.currentTarget); +i.siblings(".ui-state-active").removeClass("ui-state-active"),this.focus(t,i)}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(e,t){var i=this.active||this.element.find(this.options.items).eq(0);t||this.focus(e,i)},blur:function(t){this._delay(function(){e.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){this._closeOnDocumentClick(e)&&this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-menu-icons ui-front").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").removeUniqueId().removeClass("ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var t=e(this);t.data("ui-menu-submenu-carat")&&t.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(t){var i,s,n,a,o=!0;switch(t.keyCode){case e.ui.keyCode.PAGE_UP:this.previousPage(t);break;case e.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case e.ui.keyCode.HOME:this._move("first","first",t);break;case e.ui.keyCode.END:this._move("last","last",t);break;case e.ui.keyCode.UP:this.previous(t);break;case e.ui.keyCode.DOWN:this.next(t);break;case e.ui.keyCode.LEFT:this.collapse(t);break;case e.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case e.ui.keyCode.ENTER:case e.ui.keyCode.SPACE:this._activate(t);break;case e.ui.keyCode.ESCAPE:this.collapse(t);break;default:o=!1,s=this.previousFilter||"",n=String.fromCharCode(t.keyCode),a=!1,clearTimeout(this.filterTimer),n===s?a=!0:n=s+n,i=this._filterMenuItems(n),i=a&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(t.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(t,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}o&&t.preventDefault()},_activate:function(e){this.active.is(".ui-state-disabled")||(this.active.is("[aria-haspopup='true']")?this.expand(e):this.select(e))},refresh:function(){var t,i,s=this,n=this.options.icons.submenu,a=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),a.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-front").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=e(this),i=t.parent(),s=e("<span>").addClass("ui-menu-icon ui-icon "+n).data("ui-menu-submenu-carat",!0);i.attr("aria-haspopup","true").prepend(s),t.attr("aria-labelledby",i.attr("id"))}),t=a.add(this.element),i=t.find(this.options.items),i.not(".ui-menu-item").each(function(){var t=e(this);s._isDivider(t)&&t.addClass("ui-widget-content ui-menu-divider")}),i.not(".ui-menu-item, .ui-menu-divider").addClass("ui-menu-item").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!e.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(e,t){"icons"===e&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(t.submenu),"disabled"===e&&this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this._super(e,t)},focus:function(e,t){var i,s;this.blur(e,e&&"focus"===e.type),this._scrollIntoView(t),this.active=t.first(),s=this.active.addClass("ui-state-focus").removeClass("ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").addClass("ui-state-active"),e&&"keydown"===e.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=t.children(".ui-menu"),i.length&&e&&/^mouse/.test(e.type)&&this._startOpening(i),this.activeMenu=t.parent(),this._trigger("focus",e,{item:t})},_scrollIntoView:function(t){var i,s,n,a,o,r;this._hasScroll()&&(i=parseFloat(e.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(e.css(this.activeMenu[0],"paddingTop"))||0,n=t.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),o=this.activeMenu.height(),r=t.outerHeight(),0>n?this.activeMenu.scrollTop(a+n):n+r>o&&this.activeMenu.scrollTop(a+n-o+r))},blur:function(e,t){t||clearTimeout(this.timer),this.active&&(this.active.removeClass("ui-state-focus"),this.active=null,this._trigger("blur",e,{item:this.active}))},_startOpening:function(e){clearTimeout(this.timer),"true"===e.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(e)},this.delay))},_open:function(t){var i=e.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(t,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:e(t&&t.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(t),this.activeMenu=s},this.delay)},_close:function(e){e||(e=this.active?this.active.parent():this.element),e.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find(".ui-state-active").not(".ui-state-focus").removeClass("ui-state-active")},_closeOnDocumentClick:function(t){return!e(t.target).closest(".ui-menu").length},_isDivider:function(e){return!/[^\-\u2014\u2013\s]/.test(e.text())},collapse:function(e){var t=this.active&&this.active.parent().closest(".ui-menu-item",this.element);t&&t.length&&(this._close(),this.focus(e,t))},expand:function(e){var t=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();t&&t.length&&(this._open(t.parent()),this._delay(function(){this.focus(e,t)}))},next:function(e){this._move("next","first",e)},previous:function(e){this._move("prev","last",e)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(e,t,i){var s;this.active&&(s="first"===e||"last"===e?this.active["first"===e?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[e+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[t]()),this.focus(i,s)},nextPage:function(t){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=e(this),0>i.offset().top-s-n}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(t),void 0)},previousPage:function(t){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=e(this),i.offset().top-s+n>0}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items).first())),void 0):(this.next(t),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(t){this.active=this.active||e(t.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(t,!0),this._trigger("select",t,i)},_filterMenuItems:function(t){var i=t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return s.test(e.trim(e(this).text()))})}}),e.widget("ui.autocomplete",{version:"1.11.4",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,i=!0,void 0;t=!1,s=!1,i=!1;var a=e.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:t=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case a.UP:t=!0,this._keyEvent("previous",n);break;case a.DOWN:t=!0,this._keyEvent("next",n);break;case a.ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),void 0):(this._searchTimeout(e),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(e),this._change(e),void 0)}}),this._initSource(),this.menu=e("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];e(t.target).closest(".ui-menu-item").length||this._delay(function(){var t=this;this.document.one("mousedown",function(s){s.target===t.element[0]||s.target===i||e.contains(i,s.target)||t.close()})})},menufocus:function(t,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){e(t.target).trigger(t.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:n})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&e.trim(s).length&&(this.liveRegion.children().hide(),e("<div>").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,t){var i=t.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",e,{item:i})&&this._value(i.value),this.term=this._value(),this.close(e),this.selectedItem=i}}),this.liveRegion=e("<span>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(t,n){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){n(e)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),i=this.menu.element.is(":visible"),s=e.altKey||e.ctrlKey||e.metaKey||e.shiftKey;(!t||t&&!i&&!s)&&(this.selectedItem=null,this.search(null,e))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):this._trigger("search",t)!==!1?this._search(e):void 0},_search:function(e){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var t=++this.requestIndex;return e.proxy(function(e){t===this.requestIndex&&this.__response(e),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},this)},__response:function(e){e&&(e=this._normalize(e)),this._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:e.map(t,function(t){return"string"==typeof t?{label:t,value:t}:e.extend({},t,{label:t.label||t.value,value:t.value||t.label})})},_suggest:function(t){var i=this.menu.element.empty();this._renderMenu(i,t),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(e.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(t,i){var s=this;e.each(i,function(e,i){s._renderItemData(t,i)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(t,i){return e("<li>").text(i.label).appendTo(t)},_move:function(e,t){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[e](t),void 0):(this.search(null,t),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(e,t),t.preventDefault())}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var s=RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,function(e){return s.test(e.label||e.value||e)})}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,this.liveRegion.children().hide(),e("<div>").text(i).appendTo(this.liveRegion))}}),e.ui.autocomplete;var c,p="ui-button ui-widget ui-state-default ui-corner-all",f="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",m=function(){var t=e(this);setTimeout(function(){t.find(":ui-button").button("refresh")},1)},g=function(t){var i=t.name,s=t.form,n=e([]);return i&&(i=i.replace(/'/g,"\\'"),n=s?e(s).find("[name='"+i+"'][type=radio]"):e("[name='"+i+"'][type=radio]",t.ownerDocument).filter(function(){return!this.form})),n};e.widget("ui.button",{version:"1.11.4",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,m),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var t=this,i=this.options,s="checkbox"===this.type||"radio"===this.type,n=s?"":"ui-state-active";null===i.label&&(i.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(p).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){i.disabled||this===c&&e(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){i.disabled||e(this).removeClass(n)}).bind("click"+this.eventNamespace,function(e){i.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}),this._on({focus:function(){this.buttonElement.addClass("ui-state-focus")},blur:function(){this.buttonElement.removeClass("ui-state-focus")}}),s&&this.element.bind("change"+this.eventNamespace,function(){t.refresh()}),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return i.disabled?!1:void 0}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(i.disabled)return!1;e(this).addClass("ui-state-active"),t.buttonElement.attr("aria-pressed","true");var s=t.element[0];g(s).not(s).map(function(){return e(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return i.disabled?!1:(e(this).addClass("ui-state-active"),c=this,t.document.one("mouseup",function(){c=null}),void 0)}).bind("mouseup"+this.eventNamespace,function(){return i.disabled?!1:(e(this).removeClass("ui-state-active"),void 0)}).bind("keydown"+this.eventNamespace,function(t){return i.disabled?!1:((t.keyCode===e.ui.keyCode.SPACE||t.keyCode===e.ui.keyCode.ENTER)&&e(this).addClass("ui-state-active"),void 0)}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){e(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(t){t.keyCode===e.ui.keyCode.SPACE&&e(this).click()})),this._setOption("disabled",i.disabled),this._resetButton()},_determineButtonType:function(){var e,t,i;this.type=this.element.is("[type=checkbox]")?"checkbox":this.element.is("[type=radio]")?"radio":this.element.is("input")?"input":"button","checkbox"===this.type||"radio"===this.type?(e=this.element.parents().last(),t="label[for='"+this.element.attr("id")+"']",this.buttonElement=e.find(t),this.buttonElement.length||(e=e.length?e.siblings():this.element.siblings(),this.buttonElement=e.filter(t),this.buttonElement.length||(this.buttonElement=e.find(t))),this.element.addClass("ui-helper-hidden-accessible"),i=this.element.is(":checked"),i&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",i)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(p+" ui-state-active "+f).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(e,t){return this._super(e,t),"disabled"===e?(this.widget().toggleClass("ui-state-disabled",!!t),this.element.prop("disabled",!!t),t&&("checkbox"===this.type||"radio"===this.type?this.buttonElement.removeClass("ui-state-focus"):this.buttonElement.removeClass("ui-state-focus ui-state-active")),void 0):(this._resetButton(),void 0)},refresh:function(){var t=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOption("disabled",t),"radio"===this.type?g(this.element[0]).each(function(){e(this).is(":checked")?e(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):e(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return this.options.label&&this.element.val(this.options.label),void 0;var t=this.buttonElement.removeClass(f),i=e("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(t.empty()).text(),s=this.options.icons,n=s.primary&&s.secondary,a=[];s.primary||s.secondary?(this.options.text&&a.push("ui-button-text-icon"+(n?"s":s.primary?"-primary":"-secondary")),s.primary&&t.prepend("<span class='ui-button-icon-primary ui-icon "+s.primary+"'></span>"),s.secondary&&t.append("<span class='ui-button-icon-secondary ui-icon "+s.secondary+"'></span>"),this.options.text||(a.push(n?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||t.attr("title",e.trim(i)))):a.push("ui-button-text-only"),t.addClass(a.join(" "))}}),e.widget("ui.buttonset",{version:"1.11.4",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(e,t){"disabled"===e&&this.buttons.button("option",e,t),this._super(e,t)},refresh:function(){var t="rtl"===this.element.css("direction"),i=this.element.find(this.options.items),s=i.filter(":ui-button");i.not(":ui-button").button(),s.button("refresh"),this.buttons=i.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(t?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(t?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}}),e.ui.button,e.extend(e.ui,{datepicker:{version:"1.11.4"}});var v;e.extend(n.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(e){return r(this._defaults,e||{}),this},_attachDatepicker:function(t,i){var s,n,a;s=t.nodeName.toLowerCase(),n="div"===s||"span"===s,t.id||(this.uuid+=1,t.id="dp"+this.uuid),a=this._newInst(e(t),n),a.settings=e.extend({},i||{}),"input"===s?this._connectDatepicker(t,a):n&&this._inlineDatepicker(t,a)},_newInst:function(t,i){var s=t[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:s,input:t,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?a(e("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(t,i){var s=e(t);i.append=e([]),i.trigger=e([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(i),e.data(t,"datepicker",i),i.settings.disabled&&this._disableDatepicker(t))},_attachments:function(t,i){var s,n,a,o=this._get(i,"appendText"),r=this._get(i,"isRTL");i.append&&i.append.remove(),o&&(i.append=e("<span class='"+this._appendClass+"'>"+o+"</span>"),t[r?"before":"after"](i.append)),t.unbind("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&t.focus(this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),a=this._get(i,"buttonImage"),i.trigger=e(this._get(i,"buttonImageOnly")?e("<img/>").addClass(this._triggerClass).attr({src:a,alt:n,title:n}):e("<button type='button'></button>").addClass(this._triggerClass).html(a?e("<img/>").attr({src:a,alt:n,title:n}):n)),t[r?"before":"after"](i.trigger),i.trigger.click(function(){return e.datepicker._datepickerShowing&&e.datepicker._lastInput===t[0]?e.datepicker._hideDatepicker():e.datepicker._datepickerShowing&&e.datepicker._lastInput!==t[0]?(e.datepicker._hideDatepicker(),e.datepicker._showDatepicker(t[0])):e.datepicker._showDatepicker(t[0]),!1}))},_autoSize:function(e){if(this._get(e,"autoSize")&&!e.inline){var t,i,s,n,a=new Date(2009,11,20),o=this._get(e,"dateFormat");o.match(/[DM]/)&&(t=function(e){for(i=0,s=0,n=0;e.length>n;n++)e[n].length>i&&(i=e[n].length,s=n);return s},a.setMonth(t(this._get(e,o.match(/MM/)?"monthNames":"monthNamesShort"))),a.setDate(t(this._get(e,o.match(/DD/)?"dayNames":"dayNamesShort"))+20-a.getDay())),e.input.attr("size",this._formatDate(e,a).length)}},_inlineDatepicker:function(t,i){var s=e(t);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),e.data(t,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(t),i.dpDiv.css("display","block"))},_dialogDatepicker:function(t,i,s,n,a){var o,h,l,u,d,c=this._dialogInst;return c||(this.uuid+=1,o="dp"+this.uuid,this._dialogInput=e("<input type='text' id='"+o+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),e("body").append(this._dialogInput),c=this._dialogInst=this._newInst(this._dialogInput,!1),c.settings={},e.data(this._dialogInput[0],"datepicker",c)),r(c.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(c,i):i,this._dialogInput.val(i),this._pos=a?a.length?a:[a.pageX,a.pageY]:null,this._pos||(h=document.documentElement.clientWidth,l=document.documentElement.clientHeight,u=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[h/2-100+u,l/2-150+d]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),c.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),e.blockUI&&e.blockUI(this.dpDiv),e.data(this._dialogInput[0],"datepicker",c),this},_destroyDatepicker:function(t){var i,s=e(t),n=e.data(t,"datepicker");s.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),e.removeData(t,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty(),v===n&&(v=null))},_enableDatepicker:function(t){var i,s,n=e(t),a=e.data(t,"datepicker");n.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!1,a.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}))},_disableDatepicker:function(t){var i,s,n=e(t),a=e.data(t,"datepicker");n.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!0,a.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}),this._disabledInputs[this._disabledInputs.length]=t)},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;this._disabledInputs.length>t;t++)if(this._disabledInputs[t]===e)return!0;return!1},_getInst:function(t){try{return e.data(t,"datepicker")}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(t,i,s){var n,a,o,h,l=this._getInst(t);return 2===arguments.length&&"string"==typeof i?"defaults"===i?e.extend({},e.datepicker._defaults):l?"all"===i?e.extend({},l.settings):this._get(l,i):null:(n=i||{},"string"==typeof i&&(n={},n[i]=s),l&&(this._curInst===l&&this._hideDatepicker(),a=this._getDateDatepicker(t,!0),o=this._getMinMaxDate(l,"min"),h=this._getMinMaxDate(l,"max"),r(l.settings,n),null!==o&&void 0!==n.dateFormat&&void 0===n.minDate&&(l.settings.minDate=this._formatDate(l,o)),null!==h&&void 0!==n.dateFormat&&void 0===n.maxDate&&(l.settings.maxDate=this._formatDate(l,h)),"disabled"in n&&(n.disabled?this._disableDatepicker(t):this._enableDatepicker(t)),this._attachments(e(t),l),this._autoSize(l),this._setDate(l,a),this._updateAlternate(l),this._updateDatepicker(l)),void 0)},_changeDatepicker:function(e,t,i){this._optionDatepicker(e,t,i)},_refreshDatepicker:function(e){var t=this._getInst(e);t&&this._updateDatepicker(t)},_setDateDatepicker:function(e,t){var i=this._getInst(e);i&&(this._setDate(i,t),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(e,t){var i=this._getInst(e);return i&&!i.inline&&this._setDateFromField(i,t),i?this._getDate(i):null},_doKeyDown:function(t){var i,s,n,a=e.datepicker._getInst(t.target),o=!0,r=a.dpDiv.is(".ui-datepicker-rtl");if(a._keyEvent=!0,e.datepicker._datepickerShowing)switch(t.keyCode){case 9:e.datepicker._hideDatepicker(),o=!1;break;case 13:return n=e("td."+e.datepicker._dayOverClass+":not(."+e.datepicker._currentClass+")",a.dpDiv),n[0]&&e.datepicker._selectDay(t.target,a.selectedMonth,a.selectedYear,n[0]),i=e.datepicker._get(a,"onSelect"),i?(s=e.datepicker._formatDate(a),i.apply(a.input?a.input[0]:null,[s,a])):e.datepicker._hideDatepicker(),!1;case 27:e.datepicker._hideDatepicker();break;case 33:e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(a,"stepBigMonths"):-e.datepicker._get(a,"stepMonths"),"M");break;case 34:e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(a,"stepBigMonths"):+e.datepicker._get(a,"stepMonths"),"M");break;case 35:(t.ctrlKey||t.metaKey)&&e.datepicker._clearDate(t.target),o=t.ctrlKey||t.metaKey;break;case 36:(t.ctrlKey||t.metaKey)&&e.datepicker._gotoToday(t.target),o=t.ctrlKey||t.metaKey;break;case 37:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,r?1:-1,"D"),o=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(a,"stepBigMonths"):-e.datepicker._get(a,"stepMonths"),"M");break;case 38:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,-7,"D"),o=t.ctrlKey||t.metaKey;break;case 39:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,r?-1:1,"D"),o=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(a,"stepBigMonths"):+e.datepicker._get(a,"stepMonths"),"M");break;case 40:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,7,"D"),o=t.ctrlKey||t.metaKey;break;default:o=!1}else 36===t.keyCode&&t.ctrlKey?e.datepicker._showDatepicker(this):o=!1;o&&(t.preventDefault(),t.stopPropagation())},_doKeyPress:function(t){var i,s,n=e.datepicker._getInst(t.target); +return e.datepicker._get(n,"constrainInput")?(i=e.datepicker._possibleChars(e.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==t.charCode?t.keyCode:t.charCode),t.ctrlKey||t.metaKey||" ">s||!i||i.indexOf(s)>-1):void 0},_doKeyUp:function(t){var i,s=e.datepicker._getInst(t.target);if(s.input.val()!==s.lastVal)try{i=e.datepicker.parseDate(e.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,e.datepicker._getFormatConfig(s)),i&&(e.datepicker._setDateFromField(s),e.datepicker._updateAlternate(s),e.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(t){if(t=t.target||t,"input"!==t.nodeName.toLowerCase()&&(t=e("input",t.parentNode)[0]),!e.datepicker._isDisabledDatepicker(t)&&e.datepicker._lastInput!==t){var i,n,a,o,h,l,u;i=e.datepicker._getInst(t),e.datepicker._curInst&&e.datepicker._curInst!==i&&(e.datepicker._curInst.dpDiv.stop(!0,!0),i&&e.datepicker._datepickerShowing&&e.datepicker._hideDatepicker(e.datepicker._curInst.input[0])),n=e.datepicker._get(i,"beforeShow"),a=n?n.apply(t,[t,i]):{},a!==!1&&(r(i.settings,a),i.lastVal=null,e.datepicker._lastInput=t,e.datepicker._setDateFromField(i),e.datepicker._inDialog&&(t.value=""),e.datepicker._pos||(e.datepicker._pos=e.datepicker._findPos(t),e.datepicker._pos[1]+=t.offsetHeight),o=!1,e(t).parents().each(function(){return o|="fixed"===e(this).css("position"),!o}),h={left:e.datepicker._pos[0],top:e.datepicker._pos[1]},e.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),e.datepicker._updateDatepicker(i),h=e.datepicker._checkOffset(i,h,o),i.dpDiv.css({position:e.datepicker._inDialog&&e.blockUI?"static":o?"fixed":"absolute",display:"none",left:h.left+"px",top:h.top+"px"}),i.inline||(l=e.datepicker._get(i,"showAnim"),u=e.datepicker._get(i,"duration"),i.dpDiv.css("z-index",s(e(t))+1),e.datepicker._datepickerShowing=!0,e.effects&&e.effects.effect[l]?i.dpDiv.show(l,e.datepicker._get(i,"showOptions"),u):i.dpDiv[l||"show"](l?u:null),e.datepicker._shouldFocusInput(i)&&i.input.focus(),e.datepicker._curInst=i))}},_updateDatepicker:function(t){this.maxRows=4,v=t,t.dpDiv.empty().append(this._generateHTML(t)),this._attachHandlers(t);var i,s=this._getNumberOfMonths(t),n=s[1],a=17,r=t.dpDiv.find("."+this._dayOverClass+" a");r.length>0&&o.apply(r.get(0)),t.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&t.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",a*n+"em"),t.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),t.dpDiv[(this._get(t,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),t===e.datepicker._curInst&&e.datepicker._datepickerShowing&&e.datepicker._shouldFocusInput(t)&&t.input.focus(),t.yearshtml&&(i=t.yearshtml,setTimeout(function(){i===t.yearshtml&&t.yearshtml&&t.dpDiv.find("select.ui-datepicker-year:first").replaceWith(t.yearshtml),i=t.yearshtml=null},0))},_shouldFocusInput:function(e){return e.input&&e.input.is(":visible")&&!e.input.is(":disabled")&&!e.input.is(":focus")},_checkOffset:function(t,i,s){var n=t.dpDiv.outerWidth(),a=t.dpDiv.outerHeight(),o=t.input?t.input.outerWidth():0,r=t.input?t.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:e(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:e(document).scrollTop());return i.left-=this._get(t,"isRTL")?n-o:0,i.left-=s&&i.left===t.input.offset().left?e(document).scrollLeft():0,i.top-=s&&i.top===t.input.offset().top+r?e(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+a>l&&l>a?Math.abs(a+r):0),i},_findPos:function(t){for(var i,s=this._getInst(t),n=this._get(s,"isRTL");t&&("hidden"===t.type||1!==t.nodeType||e.expr.filters.hidden(t));)t=t[n?"previousSibling":"nextSibling"];return i=e(t).offset(),[i.left,i.top]},_hideDatepicker:function(t){var i,s,n,a,o=this._curInst;!o||t&&o!==e.data(t,"datepicker")||this._datepickerShowing&&(i=this._get(o,"showAnim"),s=this._get(o,"duration"),n=function(){e.datepicker._tidyDialog(o)},e.effects&&(e.effects.effect[i]||e.effects[i])?o.dpDiv.hide(i,e.datepicker._get(o,"showOptions"),s,n):o.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,a=this._get(o,"onClose"),a&&a.apply(o.input?o.input[0]:null,[o.input?o.input.val():"",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),e.blockUI&&(e.unblockUI(),e("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(e){e.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(t){if(e.datepicker._curInst){var i=e(t.target),s=e.datepicker._getInst(i[0]);(i[0].id!==e.datepicker._mainDivId&&0===i.parents("#"+e.datepicker._mainDivId).length&&!i.hasClass(e.datepicker.markerClassName)&&!i.closest("."+e.datepicker._triggerClass).length&&e.datepicker._datepickerShowing&&(!e.datepicker._inDialog||!e.blockUI)||i.hasClass(e.datepicker.markerClassName)&&e.datepicker._curInst!==s)&&e.datepicker._hideDatepicker()}},_adjustDate:function(t,i,s){var n=e(t),a=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(a,i+("M"===s?this._get(a,"showCurrentAtPos"):0),s),this._updateDatepicker(a))},_gotoToday:function(t){var i,s=e(t),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(t,i,s){var n=e(t),a=this._getInst(n[0]);a["selected"+("M"===s?"Month":"Year")]=a["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(a),this._adjustDate(n)},_selectDay:function(t,i,s,n){var a,o=e(t);e(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(o[0])||(a=this._getInst(o[0]),a.selectedDay=a.currentDay=e("a",n).html(),a.selectedMonth=a.currentMonth=i,a.selectedYear=a.currentYear=s,this._selectDate(t,this._formatDate(a,a.currentDay,a.currentMonth,a.currentYear)))},_clearDate:function(t){var i=e(t);this._selectDate(i,"")},_selectDate:function(t,i){var s,n=e(t),a=this._getInst(n[0]);i=null!=i?i:this._formatDate(a),a.input&&a.input.val(i),this._updateAlternate(a),s=this._get(a,"onSelect"),s?s.apply(a.input?a.input[0]:null,[i,a]):a.input&&a.input.trigger("change"),a.inline?this._updateDatepicker(a):(this._hideDatepicker(),this._lastInput=a.input[0],"object"!=typeof a.input[0]&&a.input.focus(),this._lastInput=null)},_updateAlternate:function(t){var i,s,n,a=this._get(t,"altField");a&&(i=this._get(t,"altFormat")||this._get(t,"dateFormat"),s=this._getDate(t),n=this.formatDate(i,s,this._getFormatConfig(t)),e(a).each(function(){e(this).val(n)}))},noWeekends:function(e){var t=e.getDay();return[t>0&&6>t,""]},iso8601Week:function(e){var t,i=new Date(e.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),t=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((t-i)/864e5)/7)+1},parseDate:function(t,i,s){if(null==t||null==i)throw"Invalid arguments";if(i="object"==typeof i?""+i:i+"",""===i)return null;var n,a,o,r,h=0,l=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,u="string"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),d=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,c=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,m=-1,g=-1,v=-1,y=-1,b=!1,_=function(e){var i=t.length>n+1&&t.charAt(n+1)===e;return i&&n++,i},x=function(e){var t=_(e),s="@"===e?14:"!"===e?20:"y"===e&&t?4:"o"===e?3:2,n="y"===e?s:1,a=RegExp("^\\d{"+n+","+s+"}"),o=i.substring(h).match(a);if(!o)throw"Missing number at position "+h;return h+=o[0].length,parseInt(o[0],10)},w=function(t,s,n){var a=-1,o=e.map(_(t)?n:s,function(e,t){return[[t,e]]}).sort(function(e,t){return-(e[1].length-t[1].length)});if(e.each(o,function(e,t){var s=t[1];return i.substr(h,s.length).toLowerCase()===s.toLowerCase()?(a=t[0],h+=s.length,!1):void 0}),-1!==a)return a+1;throw"Unknown name at position "+h},k=function(){if(i.charAt(h)!==t.charAt(n))throw"Unexpected literal at position "+h;h++};for(n=0;t.length>n;n++)if(b)"'"!==t.charAt(n)||_("'")?k():b=!1;else switch(t.charAt(n)){case"d":v=x("d");break;case"D":w("D",d,c);break;case"o":y=x("o");break;case"m":g=x("m");break;case"M":g=w("M",p,f);break;case"y":m=x("y");break;case"@":r=new Date(x("@")),m=r.getFullYear(),g=r.getMonth()+1,v=r.getDate();break;case"!":r=new Date((x("!")-this._ticksTo1970)/1e4),m=r.getFullYear(),g=r.getMonth()+1,v=r.getDate();break;case"'":_("'")?k():b=!0;break;default:k()}if(i.length>h&&(o=i.substr(h),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===m?m=(new Date).getFullYear():100>m&&(m+=(new Date).getFullYear()-(new Date).getFullYear()%100+(u>=m?0:-100)),y>-1)for(g=1,v=y;;){if(a=this._getDaysInMonth(m,g-1),a>=v)break;g++,v-=a}if(r=this._daylightSavingAdjust(new Date(m,g-1,v)),r.getFullYear()!==m||r.getMonth()+1!==g||r.getDate()!==v)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(e,t,i){if(!t)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,a=(i?i.dayNames:null)||this._defaults.dayNames,o=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(t){var i=e.length>s+1&&e.charAt(s+1)===t;return i&&s++,i},l=function(e,t,i){var s=""+t;if(h(e))for(;i>s.length;)s="0"+s;return s},u=function(e,t,i,s){return h(e)?s[t]:i[t]},d="",c=!1;if(t)for(s=0;e.length>s;s++)if(c)"'"!==e.charAt(s)||h("'")?d+=e.charAt(s):c=!1;else switch(e.charAt(s)){case"d":d+=l("d",t.getDate(),2);break;case"D":d+=u("D",t.getDay(),n,a);break;case"o":d+=l("o",Math.round((new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-new Date(t.getFullYear(),0,0).getTime())/864e5),3);break;case"m":d+=l("m",t.getMonth()+1,2);break;case"M":d+=u("M",t.getMonth(),o,r);break;case"y":d+=h("y")?t.getFullYear():(10>t.getYear()%100?"0":"")+t.getYear()%100;break;case"@":d+=t.getTime();break;case"!":d+=1e4*t.getTime()+this._ticksTo1970;break;case"'":h("'")?d+="'":c=!0;break;default:d+=e.charAt(s)}return d},_possibleChars:function(e){var t,i="",s=!1,n=function(i){var s=e.length>t+1&&e.charAt(t+1)===i;return s&&t++,s};for(t=0;e.length>t;t++)if(s)"'"!==e.charAt(t)||n("'")?i+=e.charAt(t):s=!1;else switch(e.charAt(t)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=e.charAt(t)}return i},_get:function(e,t){return void 0!==e.settings[t]?e.settings[t]:this._defaults[t]},_setDateFromField:function(e,t){if(e.input.val()!==e.lastVal){var i=this._get(e,"dateFormat"),s=e.lastVal=e.input?e.input.val():null,n=this._getDefaultDate(e),a=n,o=this._getFormatConfig(e);try{a=this.parseDate(i,s,o)||n}catch(r){s=t?"":s}e.selectedDay=a.getDate(),e.drawMonth=e.selectedMonth=a.getMonth(),e.drawYear=e.selectedYear=a.getFullYear(),e.currentDay=s?a.getDate():0,e.currentMonth=s?a.getMonth():0,e.currentYear=s?a.getFullYear():0,this._adjustInstDate(e)}},_getDefaultDate:function(e){return this._restrictMinMax(e,this._determineDate(e,this._get(e,"defaultDate"),new Date))},_determineDate:function(t,i,s){var n=function(e){var t=new Date;return t.setDate(t.getDate()+e),t},a=function(i){try{return e.datepicker.parseDate(e.datepicker._get(t,"dateFormat"),i,e.datepicker._getFormatConfig(t))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?e.datepicker._getDate(t):null)||new Date,a=n.getFullYear(),o=n.getMonth(),r=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":r+=parseInt(l[1],10);break;case"w":case"W":r+=7*parseInt(l[1],10);break;case"m":case"M":o+=parseInt(l[1],10),r=Math.min(r,e.datepicker._getDaysInMonth(a,o));break;case"y":case"Y":a+=parseInt(l[1],10),r=Math.min(r,e.datepicker._getDaysInMonth(a,o))}l=h.exec(i)}return new Date(a,o,r)},o=null==i||""===i?s:"string"==typeof i?a(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return o=o&&"Invalid Date"==""+o?s:o,o&&(o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)),this._daylightSavingAdjust(o)},_daylightSavingAdjust:function(e){return e?(e.setHours(e.getHours()>12?e.getHours()+2:0),e):null},_setDate:function(e,t,i){var s=!t,n=e.selectedMonth,a=e.selectedYear,o=this._restrictMinMax(e,this._determineDate(e,t,new Date));e.selectedDay=e.currentDay=o.getDate(),e.drawMonth=e.selectedMonth=e.currentMonth=o.getMonth(),e.drawYear=e.selectedYear=e.currentYear=o.getFullYear(),n===e.selectedMonth&&a===e.selectedYear||i||this._notifyChange(e),this._adjustInstDate(e),e.input&&e.input.val(s?"":this._formatDate(e))},_getDate:function(e){var t=!e.currentYear||e.input&&""===e.input.val()?null:this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return t},_attachHandlers:function(t){var i=this._get(t,"stepMonths"),s="#"+t.id.replace(/\\\\/g,"\\");t.dpDiv.find("[data-handler]").map(function(){var t={prev:function(){e.datepicker._adjustDate(s,-i,"M")},next:function(){e.datepicker._adjustDate(s,+i,"M")},hide:function(){e.datepicker._hideDatepicker()},today:function(){e.datepicker._gotoToday(s)},selectDay:function(){return e.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return e.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return e.datepicker._selectMonthYear(s,this,"Y"),!1}};e(this).bind(this.getAttribute("data-event"),t[this.getAttribute("data-handler")])})},_generateHTML:function(e){var t,i,s,n,a,o,r,h,l,u,d,c,p,f,m,g,v,y,b,_,x,w,k,T,D,S,M,C,N,A,P,I,H,z,F,E,O,j,W,L=new Date,R=this._daylightSavingAdjust(new Date(L.getFullYear(),L.getMonth(),L.getDate())),Y=this._get(e,"isRTL"),B=this._get(e,"showButtonPanel"),J=this._get(e,"hideIfNoPrevNext"),q=this._get(e,"navigationAsDateFormat"),K=this._getNumberOfMonths(e),V=this._get(e,"showCurrentAtPos"),U=this._get(e,"stepMonths"),Q=1!==K[0]||1!==K[1],G=this._daylightSavingAdjust(e.currentDay?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(9999,9,9)),X=this._getMinMaxDate(e,"min"),$=this._getMinMaxDate(e,"max"),Z=e.drawMonth-V,et=e.drawYear;if(0>Z&&(Z+=12,et--),$)for(t=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-K[0]*K[1]+1,$.getDate())),t=X&&X>t?X:t;this._daylightSavingAdjust(new Date(et,Z,1))>t;)Z--,0>Z&&(Z=11,et--);for(e.drawMonth=Z,e.drawYear=et,i=this._get(e,"prevText"),i=q?this.formatDate(i,this._daylightSavingAdjust(new Date(et,Z-U,1)),this._getFormatConfig(e)):i,s=this._canAdjustMonth(e,-1,et,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":J?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",n=this._get(e,"nextText"),n=q?this.formatDate(n,this._daylightSavingAdjust(new Date(et,Z+U,1)),this._getFormatConfig(e)):n,a=this._canAdjustMonth(e,1,et,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>":J?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>",o=this._get(e,"currentText"),r=this._get(e,"gotoCurrent")&&e.currentDay?G:R,o=q?this.formatDate(o,r,this._getFormatConfig(e)):o,h=e.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(e,"closeText")+"</button>",l=B?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(e,r)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+o+"</button>":"")+(Y?"":h)+"</div>":"",u=parseInt(this._get(e,"firstDay"),10),u=isNaN(u)?0:u,d=this._get(e,"showWeek"),c=this._get(e,"dayNames"),p=this._get(e,"dayNamesMin"),f=this._get(e,"monthNames"),m=this._get(e,"monthNamesShort"),g=this._get(e,"beforeShowDay"),v=this._get(e,"showOtherMonths"),y=this._get(e,"selectOtherMonths"),b=this._getDefaultDate(e),_="",w=0;K[0]>w;w++){for(k="",this.maxRows=4,T=0;K[1]>T;T++){if(D=this._daylightSavingAdjust(new Date(et,Z,e.selectedDay)),S=" ui-corner-all",M="",Q){if(M+="<div class='ui-datepicker-group",K[1]>1)switch(T){case 0:M+=" ui-datepicker-group-first",S=" ui-corner-"+(Y?"right":"left");break;case K[1]-1:M+=" ui-datepicker-group-last",S=" ui-corner-"+(Y?"left":"right");break;default:M+=" ui-datepicker-group-middle",S=""}M+="'>"}for(M+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+S+"'>"+(/all|left/.test(S)&&0===w?Y?a:s:"")+(/all|right/.test(S)&&0===w?Y?s:a:"")+this._generateMonthYearHeader(e,Z,et,X,$,w>0||T>0,f,m)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",C=d?"<th class='ui-datepicker-week-col'>"+this._get(e,"weekHeader")+"</th>":"",x=0;7>x;x++)N=(x+u)%7,C+="<th scope='col'"+((x+u+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+c[N]+"'>"+p[N]+"</span></th>";for(M+=C+"</tr></thead><tbody>",A=this._getDaysInMonth(et,Z),et===e.selectedYear&&Z===e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,A)),P=(this._getFirstDayOfMonth(et,Z)-u+7)%7,I=Math.ceil((P+A)/7),H=Q?this.maxRows>I?this.maxRows:I:I,this.maxRows=H,z=this._daylightSavingAdjust(new Date(et,Z,1-P)),F=0;H>F;F++){for(M+="<tr>",E=d?"<td class='ui-datepicker-week-col'>"+this._get(e,"calculateWeek")(z)+"</td>":"",x=0;7>x;x++)O=g?g.apply(e.input?e.input[0]:null,[z]):[!0,""],j=z.getMonth()!==Z,W=j&&!y||!O[0]||X&&X>z||$&&z>$,E+="<td class='"+((x+u+6)%7>=5?" ui-datepicker-week-end":"")+(j?" ui-datepicker-other-month":"")+(z.getTime()===D.getTime()&&Z===e.selectedMonth&&e._keyEvent||b.getTime()===z.getTime()&&b.getTime()===D.getTime()?" "+this._dayOverClass:"")+(W?" "+this._unselectableClass+" ui-state-disabled":"")+(j&&!v?"":" "+O[1]+(z.getTime()===G.getTime()?" "+this._currentClass:"")+(z.getTime()===R.getTime()?" ui-datepicker-today":""))+"'"+(j&&!v||!O[2]?"":" title='"+O[2].replace(/'/g,"'")+"'")+(W?"":" data-handler='selectDay' data-event='click' data-month='"+z.getMonth()+"' data-year='"+z.getFullYear()+"'")+">"+(j&&!v?" ":W?"<span class='ui-state-default'>"+z.getDate()+"</span>":"<a class='ui-state-default"+(z.getTime()===R.getTime()?" ui-state-highlight":"")+(z.getTime()===G.getTime()?" ui-state-active":"")+(j?" ui-priority-secondary":"")+"' href='#'>"+z.getDate()+"</a>")+"</td>",z.setDate(z.getDate()+1),z=this._daylightSavingAdjust(z);M+=E+"</tr>"}Z++,Z>11&&(Z=0,et++),M+="</tbody></table>"+(Q?"</div>"+(K[0]>0&&T===K[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),k+=M}_+=k}return _+=l,e._keyEvent=!1,_},_generateMonthYearHeader:function(e,t,i,s,n,a,o,r){var h,l,u,d,c,p,f,m,g=this._get(e,"changeMonth"),v=this._get(e,"changeYear"),y=this._get(e,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",_="";if(a||!g)_+="<span class='ui-datepicker-month'>"+o[t]+"</span>";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,_+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",u=0;12>u;u++)(!h||u>=s.getMonth())&&(!l||n.getMonth()>=u)&&(_+="<option value='"+u+"'"+(u===t?" selected='selected'":"")+">"+r[u]+"</option>");_+="</select>"}if(y||(b+=_+(!a&&g&&v?"":" ")),!e.yearshtml)if(e.yearshtml="",a||!v)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(d=this._get(e,"yearRange").split(":"),c=(new Date).getFullYear(),p=function(e){var t=e.match(/c[+\-].*/)?i+parseInt(e.substring(1),10):e.match(/[+\-].*/)?c+parseInt(e,10):parseInt(e,10);return isNaN(t)?c:t},f=p(d[0]),m=Math.max(f,p(d[1]||"")),f=s?Math.max(f,s.getFullYear()):f,m=n?Math.min(m,n.getFullYear()):m,e.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";m>=f;f++)e.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";e.yearshtml+="</select>",b+=e.yearshtml,e.yearshtml=null}return b+=this._get(e,"yearSuffix"),y&&(b+=(!a&&g&&v?"":" ")+_),b+="</div>"},_adjustInstDate:function(e,t,i){var s=e.drawYear+("Y"===i?t:0),n=e.drawMonth+("M"===i?t:0),a=Math.min(e.selectedDay,this._getDaysInMonth(s,n))+("D"===i?t:0),o=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(s,n,a)));e.selectedDay=o.getDate(),e.drawMonth=e.selectedMonth=o.getMonth(),e.drawYear=e.selectedYear=o.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(e)},_restrictMinMax:function(e,t){var i=this._getMinMaxDate(e,"min"),s=this._getMinMaxDate(e,"max"),n=i&&i>t?i:t;return s&&n>s?s:n},_notifyChange:function(e){var t=this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){var t=this._get(e,"numberOfMonths");return null==t?[1,1]:"number"==typeof t?[1,t]:t},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return new Date(e,t,1).getDay()},_canAdjustMonth:function(e,t,i,s){var n=this._getNumberOfMonths(e),a=this._daylightSavingAdjust(new Date(i,s+(0>t?t:n[0]*n[1]),1));return 0>t&&a.setDate(this._getDaysInMonth(a.getFullYear(),a.getMonth())),this._isInRange(e,a)},_isInRange:function(e,t){var i,s,n=this._getMinMaxDate(e,"min"),a=this._getMinMaxDate(e,"max"),o=null,r=null,h=this._get(e,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),o=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(o+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||t.getTime()>=n.getTime())&&(!a||t.getTime()<=a.getTime())&&(!o||t.getFullYear()>=o)&&(!r||r>=t.getFullYear())},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),{shortYearCutoff:t,dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,i,s){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var n=t?"object"==typeof t?t:this._daylightSavingAdjust(new Date(s,i,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),n,this._getFormatConfig(e))}}),e.fn.datepicker=function(t){if(!this.length)return this;e.datepicker.initialized||(e(document).mousedown(e.datepicker._checkExternalClick),e.datepicker.initialized=!0),0===e("#"+e.datepicker._mainDivId).length&&e("body").append(e.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof t||"isDisabled"!==t&&"getDate"!==t&&"widget"!==t?"option"===t&&2===arguments.length&&"string"==typeof arguments[1]?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof t?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this].concat(i)):e.datepicker._attachDatepicker(this,t)}):e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i))},e.datepicker=new n,e.datepicker.initialized=!1,e.datepicker.uuid=(new Date).getTime(),e.datepicker.version="1.11.4",e.datepicker,e.widget("ui.draggable",e.ui.mouse,{version:"1.11.4",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._setHandleClassName(),this._mouseInit()},_setOption:function(e,t){this._super(e,t),"handle"===e&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(t){var i=this.options;return this._blurActiveElement(t),this.helper||i.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(t){this.iframeBlocks=this.document.find(t).map(function(){var t=e(this);return e("<div>").css("position","absolute").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(t){var i=this.document[0];if(this.handleElement.is(t.target))try{i.activeElement&&"body"!==i.activeElement.nodeName.toLowerCase()&&e(i.activeElement).blur()}catch(s){}},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===e(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(t),this.originalPosition=this.position=this._generatePosition(t,!1),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._normalizeRightBottom(),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_refreshOffsets:function(e){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:e.pageX-this.offset.left,top:e.pageY-this.offset.top}},_mouseDrag:function(t,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",t,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=this,s=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(s=e.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",t)!==!1&&i._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1},_mouseUp:function(t){return this._unblockFrames(),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),this.handleElement.is(t.target)&&this.element.focus(),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this.handleElement.addClass("ui-draggable-handle")},_removeHandleClassName:function(){this.handleElement.removeClass("ui-draggable-handle")},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper),n=s?e(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(e){return/(html|body)/i.test(e.tagName)||e===this.document[0]},_getParentOffset:function(){var t=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var e=this.element.position(),t=this._isRootNode(this.scrollParent[0]);return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+(t?0:this.scrollParent.scrollTop()),left:e.left-(parseInt(this.helper.css("left"),10)||0)+(t?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options,a=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,e(a).width()-this.helperProportions.width-this.margins.left,(e(a).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=e(n.containment),s=i[0],s&&(t=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(t?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0) +},_convertPositionTo:function(e,t){t||(t=this.position);var i="absolute"===e?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:t.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:t.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(e,t){var i,s,n,a,o=this.options,r=this._isRootNode(this.scrollParent[0]),h=e.pageX,l=e.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),t&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,e.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),e.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),e.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),e.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,h=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a),"y"===o.axis&&(h=this.originalPageX),"x"===o.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_normalizeRightBottom:function(){"y"!==this.options.axis&&"auto"!==this.helper.css("right")&&(this.helper.width(this.helper.width()),this.helper.css("right","auto")),"x"!==this.options.axis&&"auto"!==this.helper.css("bottom")&&(this.helper.height(this.helper.height()),this.helper.css("bottom","auto"))},_trigger:function(t,i,s){return s=s||this._uiHash(),e.ui.plugin.call(this,t,[i,s,this],!0),/^(drag|start|stop)/.test(t)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),e.Widget.prototype._trigger.call(this,t,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i,s){var n=e.extend({},i,{item:s.element});s.sortables=[],e(s.options.connectToSortable).each(function(){var i=e(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",t,n))})},stop:function(t,i,s){var n=e.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,e.each(s.sortables,function(){var e=this;e.isOver?(e.isOver=0,s.cancelHelperRemoval=!0,e.cancelHelperRemoval=!1,e._storedCSS={position:e.placeholder.css("position"),top:e.placeholder.css("top"),left:e.placeholder.css("left")},e._mouseStop(t),e.options.helper=e.options._helper):(e.cancelHelperRemoval=!0,e._trigger("deactivate",t,n))})},drag:function(t,i,s){e.each(s.sortables,function(){var n=!1,a=this;a.positionAbs=s.positionAbs,a.helperProportions=s.helperProportions,a.offset.click=s.offset.click,a._intersectsWith(a.containerCache)&&(n=!0,e.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==a&&this._intersectsWith(this.containerCache)&&e.contains(a.element[0],this.element[0])&&(n=!1),n})),n?(a.isOver||(a.isOver=1,s._parent=i.helper.parent(),a.currentItem=i.helper.appendTo(a.element).data("ui-sortable-item",!0),a.options._helper=a.options.helper,a.options.helper=function(){return i.helper[0]},t.target=a.currentItem[0],a._mouseCapture(t,!0),a._mouseStart(t,!0,!0),a.offset.click.top=s.offset.click.top,a.offset.click.left=s.offset.click.left,a.offset.parent.left-=s.offset.parent.left-a.offset.parent.left,a.offset.parent.top-=s.offset.parent.top-a.offset.parent.top,s._trigger("toSortable",t),s.dropped=a.element,e.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,a.fromOutside=s),a.currentItem&&(a._mouseDrag(t),i.position=a.position)):a.isOver&&(a.isOver=0,a.cancelHelperRemoval=!0,a.options._revert=a.options.revert,a.options.revert=!1,a._trigger("out",t,a._uiHash(a)),a._mouseStop(t,!0),a.options.revert=a.options._revert,a.options.helper=a.options._helper,a.placeholder&&a.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(t),i.position=s._generatePosition(t,!0),s._trigger("fromSortable",t),s.dropped=!1,e.each(s.sortables,function(){this.refreshPositions()}))})}}),e.ui.plugin.add("draggable","cursor",{start:function(t,i,s){var n=e("body"),a=s.options;n.css("cursor")&&(a._cursor=n.css("cursor")),n.css("cursor",a.cursor)},stop:function(t,i,s){var n=s.options;n._cursor&&e("body").css("cursor",n._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("opacity")&&(a._opacity=n.css("opacity")),n.css("opacity",a.opacity)},stop:function(t,i,s){var n=s.options;n._opacity&&e(i.helper).css("opacity",n._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(e,t,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(t,i,s){var n=s.options,a=!1,o=s.scrollParentNotHidden[0],r=s.document[0];o!==r&&"HTML"!==o.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+o.offsetHeight-t.pageY<n.scrollSensitivity?o.scrollTop=a=o.scrollTop+n.scrollSpeed:t.pageY-s.overflowOffset.top<n.scrollSensitivity&&(o.scrollTop=a=o.scrollTop-n.scrollSpeed)),n.axis&&"y"===n.axis||(s.overflowOffset.left+o.offsetWidth-t.pageX<n.scrollSensitivity?o.scrollLeft=a=o.scrollLeft+n.scrollSpeed:t.pageX-s.overflowOffset.left<n.scrollSensitivity&&(o.scrollLeft=a=o.scrollLeft-n.scrollSpeed))):(n.axis&&"x"===n.axis||(t.pageY-e(r).scrollTop()<n.scrollSensitivity?a=e(r).scrollTop(e(r).scrollTop()-n.scrollSpeed):e(window).height()-(t.pageY-e(r).scrollTop())<n.scrollSensitivity&&(a=e(r).scrollTop(e(r).scrollTop()+n.scrollSpeed))),n.axis&&"y"===n.axis||(t.pageX-e(r).scrollLeft()<n.scrollSensitivity?a=e(r).scrollLeft(e(r).scrollLeft()-n.scrollSpeed):e(window).width()-(t.pageX-e(r).scrollLeft())<n.scrollSensitivity&&(a=e(r).scrollLeft(e(r).scrollLeft()+n.scrollSpeed)))),a!==!1&&e.ui.ddmanager&&!n.dropBehaviour&&e.ui.ddmanager.prepareOffsets(s,t)}}),e.ui.plugin.add("draggable","snap",{start:function(t,i,s){var n=s.options;s.snapElements=[],e(n.snap.constructor!==String?n.snap.items||":data(ui-draggable)":n.snap).each(function(){var t=e(this),i=t.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:t.outerWidth(),height:t.outerHeight(),top:i.top,left:i.left})})},drag:function(t,i,s){var n,a,o,r,h,l,u,d,c,p,f=s.options,m=f.snapTolerance,g=i.offset.left,v=g+s.helperProportions.width,y=i.offset.top,b=y+s.helperProportions.height;for(c=s.snapElements.length-1;c>=0;c--)h=s.snapElements[c].left-s.margins.left,l=h+s.snapElements[c].width,u=s.snapElements[c].top-s.margins.top,d=u+s.snapElements[c].height,h-m>v||g>l+m||u-m>b||y>d+m||!e.contains(s.snapElements[c].item.ownerDocument,s.snapElements[c].item)?(s.snapElements[c].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=!1):("inner"!==f.snapMode&&(n=m>=Math.abs(u-b),a=m>=Math.abs(d-y),o=m>=Math.abs(h-v),r=m>=Math.abs(l-g),n&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.top=s._convertPositionTo("relative",{top:d,left:0}).top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||a||o||r,"outer"!==f.snapMode&&(n=m>=Math.abs(u-y),a=m>=Math.abs(d-b),o=m>=Math.abs(h-g),r=m>=Math.abs(l-v),n&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.top=s._convertPositionTo("relative",{top:d-s.helperProportions.height,left:0}).top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[c].snapping&&(n||a||o||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=n||a||o||r||p)}}),e.ui.plugin.add("draggable","stack",{start:function(t,i,s){var n,a=s.options,o=e.makeArray(e(a.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});o.length&&(n=parseInt(e(o[0]).css("zIndex"),10)||0,e(o).each(function(t){e(this).css("zIndex",n+t)}),this.css("zIndex",n+o.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("zIndex")&&(a._zIndex=n.css("zIndex")),n.css("zIndex",a.zIndex)},stop:function(t,i,s){var n=s.options;n._zIndex&&e(i.helper).css("zIndex",n._zIndex)}}),e.ui.draggable,e.widget("ui.resizable",e.ui.mouse,{version:"1.11.4",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(e){return parseInt(e,10)||0},_isNumber:function(e){return!isNaN(parseInt(e,10))},_hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return t[s]>0?!0:(t[s]=1,n=t[s]>0,t[s]=0,n)},_create:function(){var t,i,s,n,a,o=this,r=this.options;if(this.element.addClass("ui-resizable"),e.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(e("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=e(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),t=this.handles.split(","),this.handles={},i=0;t.length>i;i++)s=e.trim(t[i]),a="ui-resizable-"+s,n=e("<div class='ui-resizable-handle "+a+"'></div>"),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(t){var i,s,n,a;t=t||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=e(this.handles[i]),this._on(this.handles[i],{mousedown:o._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=e(this.handles[i],this.element),a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),t.css(n,a),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),e(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(e(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(e(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t,i=function(t){e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),t=this.element,this.originalElement.css({position:t.css("position"),width:t.outerWidth(),height:t.outerHeight(),top:t.css("top"),left:t.css("left")}).insertAfter(t),t.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(t){var i,s,n=!1;for(i in this.handles)s=e(this.handles[i])[0],(s===t.target||e.contains(s,t.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(t){var i,s,n,a=this.options,o=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),a.containment&&(i+=e(a.containment).scrollLeft()||0,s+=e(a.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:o.width(),height:o.height()},this.originalSize=this._helper?{width:o.outerWidth(),height:o.outerHeight()}:{width:o.width(),height:o.height()},this.sizeDiff={width:o.outerWidth()-o.width(),height:o.outerHeight()-o.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof a.aspectRatio?a.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=e(".ui-resizable-"+this.axis).css("cursor"),e("body").css("cursor","auto"===n?this.axis+"-resize":n),o.addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var i,s,n=this.originalMousePosition,a=this.axis,o=t.pageX-n.left||0,r=t.pageY-n.top||0,h=this._change[a];return this._updatePrevProperties(),h?(i=h.apply(this,[t,o,r]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(i=this._updateRatio(i,t)),i=this._respectSize(i,t),this._updateCache(i),this._propagate("resize",t),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),e.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(t){this.resizing=!1;var i,s,n,a,o,r,h,l=this.options,u=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:u.sizeDiff.height,a=s?0:u.sizeDiff.width,o={width:u.helper.width()-a,height:u.helper.height()-n},r=parseInt(u.element.css("left"),10)+(u.position.left-u.originalPosition.left)||null,h=parseInt(u.element.css("top"),10)+(u.position.top-u.originalPosition.top)||null,l.animate||this.element.css(e.extend(o,{top:h,left:r})),u.helper.height(u.size.height),u.helper.width(u.size.width),this._helper&&!l.animate&&this._proportionallyResize()),e("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var e={};return this.position.top!==this.prevPosition.top&&(e.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(e.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(e.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(e.height=this.size.height+"px"),this.helper.css(e),e},_updateVirtualBoundaries:function(e){var t,i,s,n,a,o=this.options;a={minWidth:this._isNumber(o.minWidth)?o.minWidth:0,maxWidth:this._isNumber(o.maxWidth)?o.maxWidth:1/0,minHeight:this._isNumber(o.minHeight)?o.minHeight:0,maxHeight:this._isNumber(o.maxHeight)?o.maxHeight:1/0},(this._aspectRatio||e)&&(t=a.minHeight*this.aspectRatio,s=a.minWidth/this.aspectRatio,i=a.maxHeight*this.aspectRatio,n=a.maxWidth/this.aspectRatio,t>a.minWidth&&(a.minWidth=t),s>a.minHeight&&(a.minHeight=s),a.maxWidth>i&&(a.maxWidth=i),a.maxHeight>n&&(a.maxHeight=n)),this._vBoundaries=a},_updateCache:function(e){this.offset=this.helper.offset(),this._isNumber(e.left)&&(this.position.left=e.left),this._isNumber(e.top)&&(this.position.top=e.top),this._isNumber(e.height)&&(this.size.height=e.height),this._isNumber(e.width)&&(this.size.width=e.width)},_updateRatio:function(e){var t=this.position,i=this.size,s=this.axis;return this._isNumber(e.height)?e.width=e.height*this.aspectRatio:this._isNumber(e.width)&&(e.height=e.width/this.aspectRatio),"sw"===s&&(e.left=t.left+(i.width-e.width),e.top=null),"nw"===s&&(e.top=t.top+(i.height-e.height),e.left=t.left+(i.width-e.width)),e},_respectSize:function(e){var t=this._vBoundaries,i=this.axis,s=this._isNumber(e.width)&&t.maxWidth&&t.maxWidth<e.width,n=this._isNumber(e.height)&&t.maxHeight&&t.maxHeight<e.height,a=this._isNumber(e.width)&&t.minWidth&&t.minWidth>e.width,o=this._isNumber(e.height)&&t.minHeight&&t.minHeight>e.height,r=this.originalPosition.left+this.originalSize.width,h=this.position.top+this.size.height,l=/sw|nw|w/.test(i),u=/nw|ne|n/.test(i);return a&&(e.width=t.minWidth),o&&(e.height=t.minHeight),s&&(e.width=t.maxWidth),n&&(e.height=t.maxHeight),a&&l&&(e.left=r-t.minWidth),s&&l&&(e.left=r-t.maxWidth),o&&u&&(e.top=h-t.minHeight),n&&u&&(e.top=h-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_getPaddingPlusBorderDimensions:function(e){for(var t=0,i=[],s=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],n=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")];4>t;t++)i[t]=parseInt(s[t],10)||0,i[t]+=parseInt(n[t],10)||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var e,t=0,i=this.helper||this.element;this._proportionallyResizeElements.length>t;t++)e=this._proportionallyResizeElements[t],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(e)),e.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var t=this.element,i=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||e("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var i=this.originalSize,s=this.originalPosition;return{left:s.left+t,width:i.width-t}},n:function(e,t,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(e,t,i){return{height:this.originalSize.height+i}},se:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},sw:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,i,s]))},ne:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},nw:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,i,s]))}},_propagate:function(t,i){e.ui.plugin.call(this,t,[i,this.ui()]),"resize"!==t&&this._trigger(t,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","animate",{stop:function(t){var i=e(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,a=n.length&&/textarea/i.test(n[0].nodeName),o=a&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=a?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-o},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,u=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(e.extend(h,u&&l?{top:u,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&e(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(){var t,i,s,n,a,o,r,h=e(this).resizable("instance"),l=h.options,u=h.element,d=l.containment,c=d instanceof e?d.get(0):/parent/.test(d)?u.parent().get(0):d;c&&(h.containerElement=e(c),/document/.test(d)||d===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}):(t=e(c),i=[],e(["Top","Right","Left","Bottom"]).each(function(e,s){i[e]=h._num(t.css("padding"+s))}),h.containerOffset=t.offset(),h.containerPosition=t.position(),h.containerSize={height:t.innerHeight()-i[3],width:t.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,a=h.containerSize.width,o=h._hasScroll(c,"left")?c.scrollWidth:a,r=h._hasScroll(c)?c.scrollHeight:n,h.parentData={element:c,left:s.left,top:s.top,width:o,height:r}))},resize:function(t){var i,s,n,a,o=e(this).resizable("instance"),r=o.options,h=o.containerOffset,l=o.position,u=o._aspectRatio||t.shiftKey,d={top:0,left:0},c=o.containerElement,p=!0;c[0]!==document&&/static/.test(c.css("position"))&&(d=h),l.left<(o._helper?h.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-h.left:o.position.left-d.left),u&&(o.size.height=o.size.width/o.aspectRatio,p=!1),o.position.left=r.helper?h.left:0),l.top<(o._helper?h.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-h.top:o.position.top),u&&(o.size.width=o.size.height*o.aspectRatio,p=!1),o.position.top=o._helper?h.top:0),n=o.containerElement.get(0)===o.element.parent().get(0),a=/relative|absolute/.test(o.containerElement.css("position")),n&&a?(o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top):(o.offset.left=o.element.offset().left,o.offset.top=o.element.offset().top),i=Math.abs(o.sizeDiff.width+(o._helper?o.offset.left-d.left:o.offset.left-h.left)),s=Math.abs(o.sizeDiff.height+(o._helper?o.offset.top-d.top:o.offset.top-h.top)),i+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-i,u&&(o.size.height=o.size.width/o.aspectRatio,p=!1)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,u&&(o.size.width=o.size.height*o.aspectRatio,p=!1)),p||(o.position.left=o.prevPosition.left,o.position.top=o.prevPosition.top,o.size.width=o.prevSize.width,o.size.height=o.prevSize.height)},stop:function(){var t=e(this).resizable("instance"),i=t.options,s=t.containerOffset,n=t.containerPosition,a=t.containerElement,o=e(t.helper),r=o.offset(),h=o.outerWidth()-t.sizeDiff.width,l=o.outerHeight()-t.sizeDiff.height;t._helper&&!i.animate&&/relative/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l}),t._helper&&!i.animate&&/static/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),e.ui.plugin.add("resizable","alsoResize",{start:function(){var t=e(this).resizable("instance"),i=t.options;e(i.alsoResize).each(function(){var t=e(this);t.data("ui-resizable-alsoresize",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css("left"),10),top:parseInt(t.css("top"),10)})})},resize:function(t,i){var s=e(this).resizable("instance"),n=s.options,a=s.originalSize,o=s.originalPosition,r={height:s.size.height-a.height||0,width:s.size.width-a.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0};e(n.alsoResize).each(function(){var t=e(this),s=e(this).data("ui-resizable-alsoresize"),n={},a=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(a,function(e,t){var i=(s[t]||0)+(r[t]||0);i&&i>=0&&(n[t]=i||null)}),t.css(n)})},stop:function(){e(this).removeData("resizable-alsoresize")}}),e.ui.plugin.add("resizable","ghost",{start:function(){var t=e(this).resizable("instance"),i=t.options,s=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(){var t,i=e(this).resizable("instance"),s=i.options,n=i.size,a=i.originalSize,o=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,u=h[1]||1,d=Math.round((n.width-a.width)/l)*l,c=Math.round((n.height-a.height)/u)*u,p=a.width+d,f=a.height+c,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,v=s.minWidth&&s.minWidth>p,y=s.minHeight&&s.minHeight>f;s.grid=h,v&&(p+=l),y&&(f+=u),m&&(p-=l),g&&(f-=u),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=o.top-c):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=o.left-d):((0>=f-u||0>=p-l)&&(t=i._getPaddingPlusBorderDimensions(this)),f-u>0?(i.size.height=f,i.position.top=o.top-c):(f=u-t.height,i.size.height=f,i.position.top=o.top+a.height-f),p-l>0?(i.size.width=p,i.position.left=o.left-d):(p=l-t.width,i.size.width=p,i.position.left=o.left+a.width-p))}}),e.ui.resizable,e.widget("ui.dialog",{version:"1.11.4",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"Close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var i=e(this).css(t).offset().top;0>i&&e(this).css("top",t.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&e.fn.draggable&&this._makeDraggable(),this.options.resizable&&e.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var t=this.options.appendTo;return t&&(t.jquery||t.nodeType)?e(t):this.document.find(t||"body").eq(0)},_destroy:function(){var e,t=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),e=t.parent.children().eq(t.index),e.length&&e[0]!==this.element[0]?e.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},disable:e.noop,enable:e.noop,close:function(t){var i,s=this;if(this._isOpen&&this._trigger("beforeClose",t)!==!1){if(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),!this.opener.filter(":focusable").focus().length)try{i=this.document[0].activeElement,i&&"body"!==i.nodeName.toLowerCase()&&e(i).blur()}catch(n){}this._hide(this.uiDialog,this.options.hide,function(){s._trigger("close",t)})}},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,i){var s=!1,n=this.uiDialog.siblings(".ui-front:visible").map(function(){return+e(this).css("z-index")}).get(),a=Math.max.apply(null,n);return a>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",a+1),s=!0),s&&!i&&this._trigger("focus",t),s},open:function(){var t=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),void 0):(this._isOpen=!0,this.opener=e(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){t._focusTabbable(),t._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"),void 0)},_focusTabbable:function(){var e=this._focusedElement;e||(e=this.element.find("[autofocus]")),e.length||(e=this.element.find(":tabbable")),e.length||(e=this.uiDialogButtonPane.find(":tabbable")),e.length||(e=this.uiDialogTitlebarClose.filter(":tabbable")),e.length||(e=this.uiDialog),e.eq(0).focus()},_keepFocus:function(t){function i(){var t=this.document[0].activeElement,i=this.uiDialog[0]===t||e.contains(this.uiDialog[0],t);i||this._focusTabbable()}t.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=e("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(t){if(this.options.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===e.ui.keyCode.ESCAPE)return t.preventDefault(),this.close(t),void 0; +if(t.keyCode===e.ui.keyCode.TAB&&!t.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");t.target!==n[0]&&t.target!==this.uiDialog[0]||t.shiftKey?t.target!==s[0]&&t.target!==this.uiDialog[0]||!t.shiftKey||(this._delay(function(){n.focus()}),t.preventDefault()):(this._delay(function(){s.focus()}),t.preventDefault())}},mousedown:function(e){this._moveToTop(e)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var t;this.uiDialogTitlebar=e("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(t){e(t.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=e("<button type='button'></button>").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(e){e.preventDefault(),this.close(e)}}),t=e("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(t),this.uiDialog.attr({"aria-labelledby":t.attr("id")})},_title:function(e){this.options.title||e.html(" "),e.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=e("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=e("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var t=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),e.isEmptyObject(i)||e.isArray(i)&&!i.length?(this.uiDialog.removeClass("ui-dialog-buttons"),void 0):(e.each(i,function(i,s){var n,a;s=e.isFunction(s)?{click:s,text:i}:s,s=e.extend({type:"button"},s),n=s.click,s.click=function(){n.apply(t.element[0],arguments)},a={icons:s.icons,text:s.showText},delete s.icons,delete s.showText,e("<button></button>",s).button(a).appendTo(t.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),void 0)},_makeDraggable:function(){function t(e){return{position:e.position,offset:e.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){e(this).addClass("ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,t(n))},drag:function(e,s){i._trigger("drag",e,t(s))},stop:function(n,a){var o=a.offset.left-i.document.scrollLeft(),r=a.offset.top-i.document.scrollTop();s.position={my:"left top",at:"left"+(o>=0?"+":"")+o+" "+"top"+(r>=0?"+":"")+r,of:i.window},e(this).removeClass("ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,t(a))}})},_makeResizable:function(){function t(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}var i=this,s=this.options,n=s.resizable,a=this.uiDialog.css("position"),o="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:o,start:function(s,n){e(this).addClass("ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,t(n))},resize:function(e,s){i._trigger("resize",e,t(s))},stop:function(n,a){var o=i.uiDialog.offset(),r=o.left-i.document.scrollLeft(),h=o.top-i.document.scrollTop();s.height=i.uiDialog.height(),s.width=i.uiDialog.width(),s.position={my:"left top",at:"left"+(r>=0?"+":"")+r+" "+"top"+(h>=0?"+":"")+h,of:i.window},e(this).removeClass("ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,t(a))}}).css("position",a)},_trackFocus:function(){this._on(this.widget(),{focusin:function(t){this._makeFocusTarget(),this._focusedElement=e(t.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var t=this._trackingInstances(),i=e.inArray(this,t);-1!==i&&t.splice(i,1)},_trackingInstances:function(){var e=this.document.data("ui-dialog-instances");return e||(e=[],this.document.data("ui-dialog-instances",e)),e},_minHeight:function(){var e=this.options;return"auto"===e.height?e.minHeight:Math.min(e.minHeight,e.height)},_position:function(){var e=this.uiDialog.is(":visible");e||this.uiDialog.show(),this.uiDialog.position(this.options.position),e||this.uiDialog.hide()},_setOptions:function(t){var i=this,s=!1,n={};e.each(t,function(e,t){i._setOption(e,t),e in i.sizeRelatedOptions&&(s=!0),e in i.resizableRelatedOptions&&(n[e]=t)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(e,t){var i,s,n=this.uiDialog;"dialogClass"===e&&n.removeClass(this.options.dialogClass).addClass(t),"disabled"!==e&&(this._super(e,t),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:""+t}),"draggable"===e&&(i=n.is(":data(ui-draggable)"),i&&!t&&n.draggable("destroy"),!i&&t&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(s=n.is(":data(ui-resizable)"),s&&!t&&n.resizable("destroy"),s&&"string"==typeof t&&n.resizable("option","handles",t),s||t===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var e,t,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),e=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),t=Math.max(0,s.minHeight-e),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-e):"none","auto"===s.height?this.element.css({minHeight:t,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-e)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var t=e(this);return e("<div>").css({position:"absolute",width:t.outerWidth(),height:t.outerHeight()}).appendTo(t.parent()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(t){return e(t.target).closest(".ui-dialog").length?!0:!!e(t.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var t=!0;this._delay(function(){t=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(e){t||this._allowInteraction(e)||(e.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=e("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var e=this.document.data("ui-dialog-overlays")-1;e?this.document.data("ui-dialog-overlays",e):this.document.unbind("focusin").removeData("ui-dialog-overlays"),this.overlay.remove(),this.overlay=null}}}),e.widget("ui.droppable",{version:"1.11.4",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=e.isFunction(s)?s:function(e){return e.is(s)},this.proportions=function(){return arguments.length?(t=arguments[0],void 0):t?t:t={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this.element.addClass("ui-droppable")},_addToManager:function(t){e.ui.ddmanager.droppables[t]=e.ui.ddmanager.droppables[t]||[],e.ui.ddmanager.droppables[t].push(this)},_splice:function(e){for(var t=0;e.length>t;t++)e[t]===this&&e.splice(t,1)},_destroy:function(){var t=e.ui.ddmanager.droppables[this.options.scope];this._splice(t),this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(t,i){if("accept"===t)this.accept=e.isFunction(i)?i:function(e){return e.is(i)};else if("scope"===t){var s=e.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(t,i)},_activate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",t,this.ui(i))},_deactivate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",t,this.ui(i))},_over:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(i)))},_out:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(i)))},_drop:function(t,i){var s=i||e.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var i=e(this).droppable("instance");return i.options.greedy&&!i.options.disabled&&i.options.scope===s.options.scope&&i.accept.call(i.element[0],s.currentItem||s.element)&&e.ui.intersect(s,e.extend(i,{offset:i.element.offset()}),i.options.tolerance,t)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(s)),this.element):!1):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(){function e(e,t,i){return e>=t&&t+i>e}return function(t,i,s,n){if(!i.offset)return!1;var a=(t.positionAbs||t.position.absolute).left+t.margins.left,o=(t.positionAbs||t.position.absolute).top+t.margins.top,r=a+t.helperProportions.width,h=o+t.helperProportions.height,l=i.offset.left,u=i.offset.top,d=l+i.proportions().width,c=u+i.proportions().height;switch(s){case"fit":return a>=l&&d>=r&&o>=u&&c>=h;case"intersect":return a+t.helperProportions.width/2>l&&d>r-t.helperProportions.width/2&&o+t.helperProportions.height/2>u&&c>h-t.helperProportions.height/2;case"pointer":return e(n.pageY,u,i.proportions().height)&&e(n.pageX,l,i.proportions().width);case"touch":return(o>=u&&c>=o||h>=u&&c>=h||u>o&&h>c)&&(a>=l&&d>=a||r>=l&&d>=r||l>a&&r>d);default:return!1}}}(),e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,i){var s,n,a=e.ui.ddmanager.droppables[t.options.scope]||[],o=i?i.type:null,r=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||t&&!a[s].accept.call(a[s].element[0],t.currentItem||t.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions().height=0;continue e}a[s].visible="none"!==a[s].element.css("display"),a[s].visible&&("mousedown"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions({width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight}))}},drop:function(t,i){var s=!1;return e.each((e.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance,i)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(t,i){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)})},drag:function(t,i){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,i),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=e.ui.intersect(t,this,this.options.tolerance,i),r=!o&&this.isover?"isout":o&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(":data(ui-droppable)").filter(function(){return e(this).droppable("instance").options.scope===n}),a.length&&(s=e(a[0]).droppable("instance"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(t,i){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)}},e.ui.droppable;var y="ui-effects-",b=e;e.effects={effect:{}},function(e,t){function i(e,t,i){var s=d[t.type]||{};return null==e?i||!t.def?null:t.def:(e=s.floor?~~e:parseFloat(e),isNaN(e)?t.def:s.mod?(e+s.mod)%s.mod:0>e?0:e>s.max?s.max:e)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(e,a){var o,r=a.re.exec(i),h=r&&a.parse(r),l=a.space||"rgba";return h?(o=s[l](h),s[u[l].cache]=o[u[l].cache],n=s._rgba=o._rgba,!1):t}),n.length?("0,0,0,0"===n.join()&&e.extend(n,a.transparent),s):a[i]}function n(e,t,i){return i=(i+1)%1,1>6*i?e+6*(t-e)*i:1>2*i?t:2>3*i?e+6*(t-e)*(2/3-i):e}var a,o="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(e){return[e[1],e[2],e[3],e[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(e){return[2.55*e[1],2.55*e[2],2.55*e[3],e[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(e){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(e){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(e){return[e[1],e[2]/100,e[3]/100,e[4]]}}],l=e.Color=function(t,i,s,n){return new e.Color.fn.parse(t,i,s,n)},u={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},d={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},c=l.support={},p=e("<p>")[0],f=e.each;p.style.cssText="background-color:rgba(1,1,1,.5)",c.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(u,function(e,t){t.cache="_"+e,t.props.alpha={idx:3,type:"percent",def:1}}),l.fn=e.extend(l.prototype,{parse:function(n,o,r,h){if(n===t)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=e(n).css(o),o=t);var d=this,c=e.type(n),p=this._rgba=[];return o!==t&&(n=[n,o,r,h],c="array"),"string"===c?this.parse(s(n)||a._default):"array"===c?(f(u.rgba.props,function(e,t){p[t.idx]=i(n[t.idx],t)}),this):"object"===c?(n instanceof l?f(u,function(e,t){n[t.cache]&&(d[t.cache]=n[t.cache].slice())}):f(u,function(t,s){var a=s.cache;f(s.props,function(e,t){if(!d[a]&&s.to){if("alpha"===e||null==n[e])return;d[a]=s.to(d._rgba)}d[a][t.idx]=i(n[e],t,!0)}),d[a]&&0>e.inArray(null,d[a].slice(0,3))&&(d[a][3]=1,s.from&&(d._rgba=s.from(d[a])))}),this):t},is:function(e){var i=l(e),s=!0,n=this;return f(u,function(e,a){var o,r=i[a.cache];return r&&(o=n[a.cache]||a.to&&a.to(n._rgba)||[],f(a.props,function(e,i){return null!=r[i.idx]?s=r[i.idx]===o[i.idx]:t})),s}),s},_space:function(){var e=[],t=this;return f(u,function(i,s){t[s.cache]&&e.push(i)}),e.pop()},transition:function(e,t){var s=l(e),n=s._space(),a=u[n],o=0===this.alpha()?l("transparent"):this,r=o[a.cache]||a.to(o._rgba),h=r.slice();return s=s[a.cache],f(a.props,function(e,n){var a=n.idx,o=r[a],l=s[a],u=d[n.type]||{};null!==l&&(null===o?h[a]=l:(u.mod&&(l-o>u.mod/2?o+=u.mod:o-l>u.mod/2&&(o-=u.mod)),h[a]=i((l-o)*t+o,n)))}),this[n](h)},blend:function(t){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(t)._rgba;return l(e.map(i,function(e,t){return(1-s)*n[t]+s*e}))},toRgbaString:function(){var t="rgba(",i=e.map(this._rgba,function(e,t){return null==e?t>2?1:0:e});return 1===i[3]&&(i.pop(),t="rgb("),t+i.join()+")"},toHslaString:function(){var t="hsla(",i=e.map(this.hsla(),function(e,t){return null==e&&(e=t>2?1:0),t&&3>t&&(e=Math.round(100*e)+"%"),e});return 1===i[3]&&(i.pop(),t="hsl("),t+i.join()+")"},toHexString:function(t){var i=this._rgba.slice(),s=i.pop();return t&&i.push(~~(255*s)),"#"+e.map(i,function(e){return e=(e||0).toString(16),1===e.length?"0"+e:e}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,u.hsla.to=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t,i,s=e[0]/255,n=e[1]/255,a=e[2]/255,o=e[3],r=Math.max(s,n,a),h=Math.min(s,n,a),l=r-h,u=r+h,d=.5*u;return t=h===r?0:s===r?60*(n-a)/l+360:n===r?60*(a-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=d?l/u:l/(2-u),[Math.round(t)%360,i,d,null==o?1:o]},u.hsla.from=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t=e[0]/360,i=e[1],s=e[2],a=e[3],o=.5>=s?s*(1+i):s+i-s*i,r=2*s-o;return[Math.round(255*n(r,o,t+1/3)),Math.round(255*n(r,o,t)),Math.round(255*n(r,o,t-1/3)),a]},f(u,function(s,n){var a=n.props,o=n.cache,h=n.to,u=n.from;l.fn[s]=function(s){if(h&&!this[o]&&(this[o]=h(this._rgba)),s===t)return this[o].slice();var n,r=e.type(s),d="array"===r||"object"===r?s:arguments,c=this[o].slice();return f(a,function(e,t){var s=d["object"===r?e:t.idx];null==s&&(s=c[t.idx]),c[t.idx]=i(s,t)}),u?(n=l(u(c)),n[o]=c,n):l(c)},f(a,function(t,i){l.fn[t]||(l.fn[t]=function(n){var a,o=e.type(n),h="alpha"===t?this._hsla?"hsla":"rgba":s,l=this[h](),u=l[i.idx];return"undefined"===o?u:("function"===o&&(n=n.call(this,u),o=e.type(n)),null==n&&i.empty?this:("string"===o&&(a=r.exec(n),a&&(n=u+parseFloat(a[2])*("+"===a[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(t){var i=t.split(" ");f(i,function(t,i){e.cssHooks[i]={set:function(t,n){var a,o,r="";if("transparent"!==n&&("string"!==e.type(n)||(a=s(n)))){if(n=l(a||n),!c.rgba&&1!==n._rgba[3]){for(o="backgroundColor"===i?t.parentNode:t;(""===r||"transparent"===r)&&o&&o.style;)try{r=e.css(o,"backgroundColor"),o=o.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{t.style[i]=n}catch(h){}}},e.fx.step[i]=function(t){t.colorInit||(t.start=l(t.elem,i),t.end=l(t.end),t.colorInit=!0),e.cssHooks[i].set(t.elem,t.start.transition(t.end,t.pos))}})},l.hook(o),e.cssHooks.borderColor={expand:function(e){var t={};return f(["Top","Right","Bottom","Left"],function(i,s){t["border"+s+"Color"]=e}),t}},a=e.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(b),function(){function t(t){var i,s,n=t.ownerDocument.defaultView?t.ownerDocument.defaultView.getComputedStyle(t,null):t.currentStyle,a={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(a[e.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(a[i]=n[i]);return a}function i(t,i){var s,a,o={};for(s in i)a=i[s],t[s]!==a&&(n[s]||(e.fx.step[s]||!isNaN(parseFloat(a)))&&(o[s]=a));return o}var s=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};e.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(t,i){e.fx.step[i]=function(e){("none"!==e.end&&!e.setAttr||1===e.pos&&!e.setAttr)&&(b.style(e.elem,i,e.end),e.setAttr=!0)}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e.effects.animateClass=function(n,a,o,r){var h=e.speed(a,o,r);return this.queue(function(){var a,o=e(this),r=o.attr("class")||"",l=h.children?o.find("*").addBack():o;l=l.map(function(){var i=e(this);return{el:i,start:t(this)}}),a=function(){e.each(s,function(e,t){n[t]&&o[t+"Class"](n[t])})},a(),l=l.map(function(){return this.end=t(this.el[0]),this.diff=i(this.start,this.end),this}),o.attr("class",r),l=l.map(function(){var t=this,i=e.Deferred(),s=e.extend({},h,{queue:!1,complete:function(){i.resolve(t)}});return this.el.animate(this.diff,s),i.promise()}),e.when.apply(e,l.get()).done(function(){a(),e.each(arguments,function(){var t=this.el;e.each(this.diff,function(e){t.css(e,"")})}),h.complete.call(o[0])})})},e.fn.extend({addClass:function(t){return function(i,s,n,a){return s?e.effects.animateClass.call(this,{add:i},s,n,a):t.apply(this,arguments)}}(e.fn.addClass),removeClass:function(t){return function(i,s,n,a){return arguments.length>1?e.effects.animateClass.call(this,{remove:i},s,n,a):t.apply(this,arguments)}}(e.fn.removeClass),toggleClass:function(t){return function(i,s,n,a,o){return"boolean"==typeof s||void 0===s?n?e.effects.animateClass.call(this,s?{add:i}:{remove:i},n,a,o):t.apply(this,arguments):e.effects.animateClass.call(this,{toggle:i},s,n,a)}}(e.fn.toggleClass),switchClass:function(t,i,s,n,a){return e.effects.animateClass.call(this,{add:i,remove:t},s,n,a)}})}(),function(){function t(t,i,s,n){return e.isPlainObject(t)&&(i=t,t=t.effect),t={effect:t},null==i&&(i={}),e.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||e.fx.speeds[i])&&(n=s,s=i,i={}),e.isFunction(s)&&(n=s,s=null),i&&e.extend(t,i),s=s||i.duration,t.duration=e.fx.off?0:"number"==typeof s?s:s in e.fx.speeds?e.fx.speeds[s]:e.fx.speeds._default,t.complete=n||i.complete,t}function i(t){return!t||"number"==typeof t||e.fx.speeds[t]?!0:"string"!=typeof t||e.effects.effect[t]?e.isFunction(t)?!0:"object"!=typeof t||t.effect?!1:!0:!0}e.extend(e.effects,{version:"1.11.4",save:function(e,t){for(var i=0;t.length>i;i++)null!==t[i]&&e.data(y+t[i],e[0].style[t[i]])},restore:function(e,t){var i,s;for(s=0;t.length>s;s++)null!==t[s]&&(i=e.data(y+t[s]),void 0===i&&(i=""),e.css(t[s],i))},setMode:function(e,t){return"toggle"===t&&(t=e.is(":hidden")?"show":"hide"),t},getBaseline:function(e,t){var i,s;switch(e[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=e[0]/t.height}switch(e[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=e[1]/t.width}return{x:s,y:i}},createWrapper:function(t){if(t.parent().is(".ui-effects-wrapper"))return t.parent();var i={width:t.outerWidth(!0),height:t.outerHeight(!0),"float":t.css("float")},s=e("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:t.width(),height:t.height()},a=document.activeElement;try{a.id}catch(o){a=document.body}return t.wrap(s),(t[0]===a||e.contains(t[0],a))&&e(a).focus(),s=t.parent(),"static"===t.css("position")?(s.css({position:"relative"}),t.css({position:"relative"})):(e.extend(i,{position:t.css("position"),zIndex:t.css("z-index")}),e.each(["top","left","bottom","right"],function(e,s){i[s]=t.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),t.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),t.css(n),s.css(i).show()},removeWrapper:function(t){var i=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),(t[0]===i||e.contains(t[0],i))&&e(i).focus()),t},setTransition:function(t,i,s,n){return n=n||{},e.each(i,function(e,i){var a=t.cssUnit(i);a[0]>0&&(n[i]=a[0]*s+a[1])}),n}}),e.fn.extend({effect:function(){function i(t){function i(){e.isFunction(a)&&a.call(n[0]),e.isFunction(t)&&t()}var n=e(this),a=s.complete,r=s.mode;(n.is(":hidden")?"hide"===r:"show"===r)?(n[r](),i()):o.call(n[0],s,i)}var s=t.apply(this,arguments),n=s.mode,a=s.queue,o=e.effects.effect[s.effect];return e.fx.off||!o?n?this[n](s.duration,s.complete):this.each(function(){s.complete&&s.complete.call(this)}):a===!1?this.each(i):this.queue(a||"fx",i)},show:function(e){return function(s){if(i(s))return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="show",this.effect.call(this,n)}}(e.fn.show),hide:function(e){return function(s){if(i(s))return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(e.fn.hide),toggle:function(e){return function(s){if(i(s)||"boolean"==typeof s)return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(e.fn.toggle),cssUnit:function(t){var i=this.css(t),s=[];return e.each(["em","px","%","pt"],function(e,t){i.indexOf(t)>0&&(s=[parseFloat(i),t])}),s}})}(),function(){var t={};e.each(["Quad","Cubic","Quart","Quint","Expo"],function(e,i){t[i]=function(t){return Math.pow(t,e+2)}}),e.extend(t,{Sine:function(e){return 1-Math.cos(e*Math.PI/2)},Circ:function(e){return 1-Math.sqrt(1-e*e)},Elastic:function(e){return 0===e||1===e?e:-Math.pow(2,8*(e-1))*Math.sin((80*(e-1)-7.5)*Math.PI/15)},Back:function(e){return e*e*(3*e-2)},Bounce:function(e){for(var t,i=4;((t=Math.pow(2,--i))-1)/11>e;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*t-2)/22-e,2)}}),e.each(t,function(t,i){e.easing["easeIn"+t]=i,e.easing["easeOut"+t]=function(e){return 1-i(1-e)},e.easing["easeInOut"+t]=function(e){return.5>e?i(2*e)/2:1-i(-2*e+2)/2}})}(),e.effects,e.effects.effect.blind=function(t,i){var s,n,a,o=e(this),r=/up|down|vertical/,h=/up|left|vertical|horizontal/,l=["position","top","bottom","left","right","height","width"],u=e.effects.setMode(o,t.mode||"hide"),d=t.direction||"up",c=r.test(d),p=c?"height":"width",f=c?"top":"left",m=h.test(d),g={},v="show"===u;o.parent().is(".ui-effects-wrapper")?e.effects.save(o.parent(),l):e.effects.save(o,l),o.show(),s=e.effects.createWrapper(o).css({overflow:"hidden"}),n=s[p](),a=parseFloat(s.css(f))||0,g[p]=v?n:0,m||(o.css(c?"bottom":"right",0).css(c?"top":"left","auto").css({position:"absolute"}),g[f]=v?a:n+a),v&&(s.css(p,0),m||s.css(f,a+n)),s.animate(g,{duration:t.duration,easing:t.easing,queue:!1,complete:function(){"hide"===u&&o.hide(),e.effects.restore(o,l),e.effects.removeWrapper(o),i()}})},e.effects.effect.bounce=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","height","width"],h=e.effects.setMode(o,t.mode||"effect"),l="hide"===h,u="show"===h,d=t.direction||"up",c=t.distance,p=t.times||5,f=2*p+(u||l?1:0),m=t.duration/f,g=t.easing,v="up"===d||"down"===d?"top":"left",y="up"===d||"left"===d,b=o.queue(),_=b.length;for((u||l)&&r.push("opacity"),e.effects.save(o,r),o.show(),e.effects.createWrapper(o),c||(c=o["top"===v?"outerHeight":"outerWidth"]()/3),u&&(a={opacity:1},a[v]=0,o.css("opacity",0).css(v,y?2*-c:2*c).animate(a,m,g)),l&&(c/=Math.pow(2,p-1)),a={},a[v]=0,s=0;p>s;s++)n={},n[v]=(y?"-=":"+=")+c,o.animate(n,m,g).animate(a,m,g),c=l?2*c:c/2;l&&(n={opacity:0},n[v]=(y?"-=":"+=")+c,o.animate(n,m,g)),o.queue(function(){l&&o.hide(),e.effects.restore(o,r),e.effects.removeWrapper(o),i()}),_>1&&b.splice.apply(b,[1,0].concat(b.splice(_,f+1))),o.dequeue()},e.effects.effect.clip=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","height","width"],h=e.effects.setMode(o,t.mode||"hide"),l="show"===h,u=t.direction||"vertical",d="vertical"===u,c=d?"height":"width",p=d?"top":"left",f={};e.effects.save(o,r),o.show(),s=e.effects.createWrapper(o).css({overflow:"hidden"}),n="IMG"===o[0].tagName?s:o,a=n[c](),l&&(n.css(c,0),n.css(p,a/2)),f[c]=l?a:0,f[p]=l?0:a/2,n.animate(f,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){l||o.hide(),e.effects.restore(o,r),e.effects.removeWrapper(o),i()}})},e.effects.effect.drop=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","opacity","height","width"],o=e.effects.setMode(n,t.mode||"hide"),r="show"===o,h=t.direction||"left",l="up"===h||"down"===h?"top":"left",u="up"===h||"left"===h?"pos":"neg",d={opacity:r?1:0};e.effects.save(n,a),n.show(),e.effects.createWrapper(n),s=t.distance||n["top"===l?"outerHeight":"outerWidth"](!0)/2,r&&n.css("opacity",0).css(l,"pos"===u?-s:s),d[l]=(r?"pos"===u?"+=":"-=":"pos"===u?"-=":"+=")+s,n.animate(d,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}})},e.effects.effect.explode=function(t,i){function s(){b.push(this),b.length===d*c&&n()}function n(){p.css({visibility:"visible"}),e(b).remove(),m||p.hide(),i()}var a,o,r,h,l,u,d=t.pieces?Math.round(Math.sqrt(t.pieces)):3,c=d,p=e(this),f=e.effects.setMode(p,t.mode||"hide"),m="show"===f,g=p.show().css("visibility","hidden").offset(),v=Math.ceil(p.outerWidth()/c),y=Math.ceil(p.outerHeight()/d),b=[];for(a=0;d>a;a++)for(h=g.top+a*y,u=a-(d-1)/2,o=0;c>o;o++)r=g.left+o*v,l=o-(c-1)/2,p.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-o*v,top:-a*y}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:v,height:y,left:r+(m?l*v:0),top:h+(m?u*y:0),opacity:m?0:1}).animate({left:r+(m?0:l*v),top:h+(m?0:u*y),opacity:m?1:0},t.duration||500,t.easing,s)},e.effects.effect.fade=function(t,i){var s=e(this),n=e.effects.setMode(s,t.mode||"toggle");s.animate({opacity:n},{queue:!1,duration:t.duration,easing:t.easing,complete:i})},e.effects.effect.fold=function(t,i){var s,n,a=e(this),o=["position","top","bottom","left","right","height","width"],r=e.effects.setMode(a,t.mode||"hide"),h="show"===r,l="hide"===r,u=t.size||15,d=/([0-9]+)%/.exec(u),c=!!t.horizFirst,p=h!==c,f=p?["width","height"]:["height","width"],m=t.duration/2,g={},v={};e.effects.save(a,o),a.show(),s=e.effects.createWrapper(a).css({overflow:"hidden"}),n=p?[s.width(),s.height()]:[s.height(),s.width()],d&&(u=parseInt(d[1],10)/100*n[l?0:1]),h&&s.css(c?{height:0,width:u}:{height:u,width:0}),g[f[0]]=h?n[0]:u,v[f[1]]=h?n[1]:0,s.animate(g,m,t.easing).animate(v,m,t.easing,function(){l&&a.hide(),e.effects.restore(a,o),e.effects.removeWrapper(a),i()})},e.effects.effect.highlight=function(t,i){var s=e(this),n=["backgroundImage","backgroundColor","opacity"],a=e.effects.setMode(s,t.mode||"show"),o={backgroundColor:s.css("backgroundColor")};"hide"===a&&(o.opacity=0),e.effects.save(s,n),s.show().css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(o,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===a&&s.hide(),e.effects.restore(s,n),i()}})},e.effects.effect.size=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","width","height","overflow","opacity"],h=["position","top","bottom","left","right","overflow","opacity"],l=["width","height","overflow"],u=["fontSize"],d=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],c=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=e.effects.setMode(o,t.mode||"effect"),f=t.restore||"effect"!==p,m=t.scale||"both",g=t.origin||["middle","center"],v=o.css("position"),y=f?r:h,b={height:0,width:0,outerHeight:0,outerWidth:0};"show"===p&&o.show(),s={height:o.height(),width:o.width(),outerHeight:o.outerHeight(),outerWidth:o.outerWidth()},"toggle"===t.mode&&"show"===p?(o.from=t.to||b,o.to=t.from||s):(o.from=t.from||("show"===p?b:s),o.to=t.to||("hide"===p?b:s)),a={from:{y:o.from.height/s.height,x:o.from.width/s.width},to:{y:o.to.height/s.height,x:o.to.width/s.width}},("box"===m||"both"===m)&&(a.from.y!==a.to.y&&(y=y.concat(d),o.from=e.effects.setTransition(o,d,a.from.y,o.from),o.to=e.effects.setTransition(o,d,a.to.y,o.to)),a.from.x!==a.to.x&&(y=y.concat(c),o.from=e.effects.setTransition(o,c,a.from.x,o.from),o.to=e.effects.setTransition(o,c,a.to.x,o.to))),("content"===m||"both"===m)&&a.from.y!==a.to.y&&(y=y.concat(u).concat(l),o.from=e.effects.setTransition(o,u,a.from.y,o.from),o.to=e.effects.setTransition(o,u,a.to.y,o.to)),e.effects.save(o,y),o.show(),e.effects.createWrapper(o),o.css("overflow","hidden").css(o.from),g&&(n=e.effects.getBaseline(g,s),o.from.top=(s.outerHeight-o.outerHeight())*n.y,o.from.left=(s.outerWidth-o.outerWidth())*n.x,o.to.top=(s.outerHeight-o.to.outerHeight)*n.y,o.to.left=(s.outerWidth-o.to.outerWidth)*n.x),o.css(o.from),("content"===m||"both"===m)&&(d=d.concat(["marginTop","marginBottom"]).concat(u),c=c.concat(["marginLeft","marginRight"]),l=r.concat(d).concat(c),o.find("*[width]").each(function(){var i=e(this),s={height:i.height(),width:i.width(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth()}; +f&&e.effects.save(i,l),i.from={height:s.height*a.from.y,width:s.width*a.from.x,outerHeight:s.outerHeight*a.from.y,outerWidth:s.outerWidth*a.from.x},i.to={height:s.height*a.to.y,width:s.width*a.to.x,outerHeight:s.height*a.to.y,outerWidth:s.width*a.to.x},a.from.y!==a.to.y&&(i.from=e.effects.setTransition(i,d,a.from.y,i.from),i.to=e.effects.setTransition(i,d,a.to.y,i.to)),a.from.x!==a.to.x&&(i.from=e.effects.setTransition(i,c,a.from.x,i.from),i.to=e.effects.setTransition(i,c,a.to.x,i.to)),i.css(i.from),i.animate(i.to,t.duration,t.easing,function(){f&&e.effects.restore(i,l)})})),o.animate(o.to,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){0===o.to.opacity&&o.css("opacity",o.from.opacity),"hide"===p&&o.hide(),e.effects.restore(o,y),f||("static"===v?o.css({position:"relative",top:o.to.top,left:o.to.left}):e.each(["top","left"],function(e,t){o.css(t,function(t,i){var s=parseInt(i,10),n=e?o.to.left:o.to.top;return"auto"===i?n+"px":s+n+"px"})})),e.effects.removeWrapper(o),i()}})},e.effects.effect.scale=function(t,i){var s=e(this),n=e.extend(!0,{},t),a=e.effects.setMode(s,t.mode||"effect"),o=parseInt(t.percent,10)||(0===parseInt(t.percent,10)?0:"hide"===a?0:100),r=t.direction||"both",h=t.origin,l={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()},u={y:"horizontal"!==r?o/100:1,x:"vertical"!==r?o/100:1};n.effect="size",n.queue=!1,n.complete=i,"effect"!==a&&(n.origin=h||["middle","center"],n.restore=!0),n.from=t.from||("show"===a?{height:0,width:0,outerHeight:0,outerWidth:0}:l),n.to={height:l.height*u.y,width:l.width*u.x,outerHeight:l.outerHeight*u.y,outerWidth:l.outerWidth*u.x},n.fade&&("show"===a&&(n.from.opacity=0,n.to.opacity=1),"hide"===a&&(n.from.opacity=1,n.to.opacity=0)),s.effect(n)},e.effects.effect.puff=function(t,i){var s=e(this),n=e.effects.setMode(s,t.mode||"hide"),a="hide"===n,o=parseInt(t.percent,10)||150,r=o/100,h={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()};e.extend(t,{effect:"scale",queue:!1,fade:!0,mode:n,complete:i,percent:a?o:100,from:a?h:{height:h.height*r,width:h.width*r,outerHeight:h.outerHeight*r,outerWidth:h.outerWidth*r}}),s.effect(t)},e.effects.effect.pulsate=function(t,i){var s,n=e(this),a=e.effects.setMode(n,t.mode||"show"),o="show"===a,r="hide"===a,h=o||"hide"===a,l=2*(t.times||5)+(h?1:0),u=t.duration/l,d=0,c=n.queue(),p=c.length;for((o||!n.is(":visible"))&&(n.css("opacity",0).show(),d=1),s=1;l>s;s++)n.animate({opacity:d},u,t.easing),d=1-d;n.animate({opacity:d},u,t.easing),n.queue(function(){r&&n.hide(),i()}),p>1&&c.splice.apply(c,[1,0].concat(c.splice(p,l+1))),n.dequeue()},e.effects.effect.shake=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","height","width"],o=e.effects.setMode(n,t.mode||"effect"),r=t.direction||"left",h=t.distance||20,l=t.times||3,u=2*l+1,d=Math.round(t.duration/u),c="up"===r||"down"===r?"top":"left",p="up"===r||"left"===r,f={},m={},g={},v=n.queue(),y=v.length;for(e.effects.save(n,a),n.show(),e.effects.createWrapper(n),f[c]=(p?"-=":"+=")+h,m[c]=(p?"+=":"-=")+2*h,g[c]=(p?"-=":"+=")+2*h,n.animate(f,d,t.easing),s=1;l>s;s++)n.animate(m,d,t.easing).animate(g,d,t.easing);n.animate(m,d,t.easing).animate(f,d/2,t.easing).queue(function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}),y>1&&v.splice.apply(v,[1,0].concat(v.splice(y,u+1))),n.dequeue()},e.effects.effect.slide=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","width","height"],o=e.effects.setMode(n,t.mode||"show"),r="show"===o,h=t.direction||"left",l="up"===h||"down"===h?"top":"left",u="up"===h||"left"===h,d={};e.effects.save(n,a),n.show(),s=t.distance||n["top"===l?"outerHeight":"outerWidth"](!0),e.effects.createWrapper(n).css({overflow:"hidden"}),r&&n.css(l,u?isNaN(s)?"-"+s:-s:s),d[l]=(r?u?"+=":"-=":u?"-=":"+=")+s,n.animate(d,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}})},e.effects.effect.transfer=function(t,i){var s=e(this),n=e(t.to),a="fixed"===n.css("position"),o=e("body"),r=a?o.scrollTop():0,h=a?o.scrollLeft():0,l=n.offset(),u={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},d=s.offset(),c=e("<div class='ui-effects-transfer'></div>").appendTo(document.body).addClass(t.className).css({top:d.top-r,left:d.left-h,height:s.innerHeight(),width:s.innerWidth(),position:a?"fixed":"absolute"}).animate(u,t.duration,t.easing,function(){c.remove(),i()})},e.widget("ui.progressbar",{version:"1.11.4",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=e("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(e){return void 0===e?this.options.value:(this.options.value=this._constrainedValue(e),this._refreshValue(),void 0)},_constrainedValue:function(e){return void 0===e&&(e=this.options.value),this.indeterminate=e===!1,"number"!=typeof e&&(e=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,e))},_setOptions:function(e){var t=e.value;delete e.value,this._super(e),this.options.value=this._constrainedValue(t),this._refreshValue()},_setOption:function(e,t){"max"===e&&(t=Math.max(this.min,t)),"disabled"===e&&this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this._super(e,t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var t=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||t>this.min).toggleClass("ui-corner-right",t===this.options.max).width(i.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=e("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":t}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==t&&(this.oldValue=t,this._trigger("change")),t===this.options.max&&this._trigger("complete")}}),e.widget("ui.selectable",e.ui.mouse,{version:"1.11.4",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var t,i=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){t=e(i.options.filter,i.element[0]),t.addClass("ui-selectee"),t.each(function(){var t=e(this),i=t.offset();e.data(this,"selectable-item",{element:this,$element:t,left:i.left,top:i.top,right:i.left+t.outerWidth(),bottom:i.top+t.outerHeight(),startselected:!1,selected:t.hasClass("ui-selected"),selecting:t.hasClass("ui-selecting"),unselecting:t.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=t.addClass("ui-selectee"),this._mouseInit(),this.helper=e("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(t){var i=this,s=this.options;this.opos=[t.pageX,t.pageY],this.options.disabled||(this.selectees=e(s.filter,this.element[0]),this._trigger("start",t),e(s.appendTo).append(this.helper),this.helper.css({left:t.pageX,top:t.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=e.data(this,"selectable-item");s.startselected=!0,t.metaKey||t.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",t,{unselecting:s.element}))}),e(t.target).parents().addBack().each(function(){var s,n=e.data(this,"selectable-item");return n?(s=!t.metaKey&&!t.ctrlKey||!n.$element.hasClass("ui-selected"),n.$element.removeClass(s?"ui-unselecting":"ui-selected").addClass(s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",t,{selecting:n.element}):i._trigger("unselecting",t,{unselecting:n.element}),!1):void 0}))},_mouseDrag:function(t){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,a=this.opos[0],o=this.opos[1],r=t.pageX,h=t.pageY;return a>r&&(i=r,r=a,a=i),o>h&&(i=h,h=o,o=i),this.helper.css({left:a,top:o,width:r-a,height:h-o}),this.selectees.each(function(){var i=e.data(this,"selectable-item"),l=!1;i&&i.element!==s.element[0]&&("touch"===n.tolerance?l=!(i.left>r||a>i.right||i.top>h||o>i.bottom):"fit"===n.tolerance&&(l=i.left>a&&r>i.right&&i.top>o&&h>i.bottom),l?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,s._trigger("selecting",t,{selecting:i.element}))):(i.selecting&&((t.metaKey||t.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",t,{unselecting:i.element}))),i.selected&&(t.metaKey||t.ctrlKey||i.startselected||(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",t,{unselecting:i.element})))))}),!1}},_mouseStop:function(t){var i=this;return this.dragged=!1,e(".ui-unselecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",t,{unselected:s.element})}),e(".ui-selecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",t,{selected:s.element})}),this._trigger("stop",t),this.helper.remove(),!1}}),e.widget("ui.selectmenu",{version:"1.11.4",defaultElement:"<select>",options:{appendTo:null,disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:null,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this.options.disabled&&this.disable()},_drawButton:function(){var t=this;this.label=e("label[for='"+this.ids.element+"']").attr("for",this.ids.button),this._on(this.label,{click:function(e){this.button.focus(),e.preventDefault()}}),this.element.hide(),this.button=e("<span>",{"class":"ui-selectmenu-button ui-widget ui-state-default ui-corner-all",tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true"}).insertAfter(this.element),e("<span>",{"class":"ui-icon "+this.options.icons.button}).prependTo(this.button),this.buttonText=e("<span>",{"class":"ui-selectmenu-text"}).appendTo(this.button),this._setText(this.buttonText,this.element.find("option:selected").text()),this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){t.menuItems||t._refreshMenu()}),this._hoverable(this.button),this._focusable(this.button)},_drawMenu:function(){var t=this;this.menu=e("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=e("<div>",{"class":"ui-selectmenu-menu ui-front"}).append(this.menu).appendTo(this._appendTo()),this.menuInstance=this.menu.menu({role:"listbox",select:function(e,i){e.preventDefault(),t._setSelection(),t._select(i.item.data("ui-selectmenu-item"),e)},focus:function(e,i){var s=i.item.data("ui-selectmenu-item");null!=t.focusIndex&&s.index!==t.focusIndex&&(t._trigger("focus",e,{item:s}),t.isOpen||t._select(s,e)),t.focusIndex=s.index,t.button.attr("aria-activedescendant",t.menuItems.eq(s.index).attr("id"))}}).menu("instance"),this.menu.addClass("ui-corner-bottom").removeClass("ui-corner-all"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this._setText(this.buttonText,this._getSelectedItem().text()),this.options.width||this._resizeButton()},_refreshMenu:function(){this.menu.empty();var e,t=this.element.find("option");t.length&&(this._parseOptions(t),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup"),e=this._getSelectedItem(),this.menuInstance.focus(null,e),this._setAria(e.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(e){this.options.disabled||(this.menuItems?(this.menu.find(".ui-state-focus").removeClass("ui-state-focus"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",e))},_position:function(){this.menuWrap.position(e.extend({of:this.button},this.options.position))},close:function(e){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",e))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderMenu:function(t,i){var s=this,n="";e.each(i,function(i,a){a.optgroup!==n&&(e("<li>",{"class":"ui-selectmenu-optgroup ui-menu-divider"+(a.element.parent("optgroup").prop("disabled")?" ui-state-disabled":""),text:a.optgroup}).appendTo(t),n=a.optgroup),s._renderItemData(t,a)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-selectmenu-item",t)},_renderItem:function(t,i){var s=e("<li>");return i.disabled&&s.addClass("ui-state-disabled"),this._setText(s,i.label),s.appendTo(t)},_setText:function(e,t){t?e.text(t):e.html(" ")},_move:function(e,t){var i,s,n=".ui-menu-item";this.isOpen?i=this.menuItems.eq(this.focusIndex):(i=this.menuItems.eq(this.element[0].selectedIndex),n+=":not(.ui-state-disabled)"),s="first"===e||"last"===e?i["first"===e?"prevAll":"nextAll"](n).eq(-1):i[e+"All"](n).eq(0),s.length&&this.menuInstance.focus(t,s)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex)},_toggle:function(e){this[this.isOpen?"close":"open"](e)},_setSelection:function(){var e;this.range&&(window.getSelection?(e=window.getSelection(),e.removeAllRanges(),e.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(t){this.isOpen&&(e(t.target).closest(".ui-selectmenu-menu, #"+this.ids.button).length||this.close(t))}},_buttonEvents:{mousedown:function(){var e;window.getSelection?(e=window.getSelection(),e.rangeCount&&(this.range=e.getRangeAt(0))):this.range=document.selection.createRange()},click:function(e){this._setSelection(),this._toggle(e)},keydown:function(t){var i=!0;switch(t.keyCode){case e.ui.keyCode.TAB:case e.ui.keyCode.ESCAPE:this.close(t),i=!1;break;case e.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(t);break;case e.ui.keyCode.UP:t.altKey?this._toggle(t):this._move("prev",t);break;case e.ui.keyCode.DOWN:t.altKey?this._toggle(t):this._move("next",t);break;case e.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(t):this._toggle(t);break;case e.ui.keyCode.LEFT:this._move("prev",t);break;case e.ui.keyCode.RIGHT:this._move("next",t);break;case e.ui.keyCode.HOME:case e.ui.keyCode.PAGE_UP:this._move("first",t);break;case e.ui.keyCode.END:case e.ui.keyCode.PAGE_DOWN:this._move("last",t);break;default:this.menu.trigger(t),i=!1}i&&t.preventDefault()}},_selectFocusedItem:function(e){var t=this.menuItems.eq(this.focusIndex);t.hasClass("ui-state-disabled")||this._select(t.data("ui-selectmenu-item"),e)},_select:function(e,t){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=e.index,this._setText(this.buttonText,e.label),this._setAria(e),this._trigger("select",t,{item:e}),e.index!==i&&this._trigger("change",t,{item:e}),this.close(t)},_setAria:function(e){var t=this.menuItems.eq(e.index).attr("id");this.button.attr({"aria-labelledby":t,"aria-activedescendant":t}),this.menu.attr("aria-activedescendant",t)},_setOption:function(e,t){"icons"===e&&this.button.find("span.ui-icon").removeClass(this.options.icons.button).addClass(t.button),this._super(e,t),"appendTo"===e&&this.menuWrap.appendTo(this._appendTo()),"disabled"===e&&(this.menuInstance.option("disabled",t),this.button.toggleClass("ui-state-disabled",t).attr("aria-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)),"width"===e&&this._resizeButton()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_toggleAttr:function(){this.button.toggleClass("ui-corner-top",this.isOpen).toggleClass("ui-corner-all",!this.isOpen).attr("aria-expanded",this.isOpen),this.menuWrap.toggleClass("ui-selectmenu-open",this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var e=this.options.width;e||(e=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(e)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){return{disabled:this.element.prop("disabled")}},_parseOptions:function(t){var i=[];t.each(function(t,s){var n=e(s),a=n.parent("optgroup");i.push({element:n,index:t,value:n.val(),label:n.text(),optgroup:a.attr("label")||"",disabled:a.prop("disabled")||n.prop("disabled")})}),this.items=i},_destroy:function(){this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.label.attr("for",this.ids.element)}}),e.widget("ui.slider",e.ui.mouse,{version:"1.11.4",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var t,i,s=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),a="<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>",o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),t=n.length;i>t;t++)o.push(a);this.handles=n.add(e(o.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(t){e(this).data("ui-slider-handle-index",t)})},_createRange:function(){var t=this.options,i="";t.range?(t.range===!0&&(t.values?t.values.length&&2!==t.values.length?t.values=[t.values[0],t.values[0]]:e.isArray(t.values)&&(t.values=t.values.slice(0)):t.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=e("<div></div>").appendTo(this.element),i="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(i+("min"===t.range||"max"===t.range?" ui-slider-range-"+t.range:""))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(t){var i,s,n,a,o,r,h,l,u=this,d=this.options;return d.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:t.pageX,y:t.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(t){var i=Math.abs(s-u.values(t));(n>i||n===i&&(t===u._lastChangedValue||u.values(t)===d.min))&&(n=i,a=e(this),o=t)}),r=this._start(t,o),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,a.addClass("ui-state-active").focus(),h=a.offset(),l=!e(t.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:t.pageX-h.left-a.width()/2,top:t.pageY-h.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(t,o,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(e){var t={x:e.pageX,y:e.pageY},i=this._normValueFromMouse(t);return this._slide(e,this._handleIndex,i),!1},_mouseStop:function(e){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(e,this._handleIndex),this._change(e,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(e){var t,i,s,n,a;return"horizontal"===this.orientation?(t=this.elementSize.width,i=e.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(t=this.elementSize.height,i=e.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/t,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),a=this._valueMin()+s*n,this._trimAlignValue(a)},_start:function(e,t){var i={handle:this.handles[t],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger("start",e,i)},_slide:function(e,t,i){var s,n,a;this.options.values&&this.options.values.length?(s=this.values(t?0:1),2===this.options.values.length&&this.options.range===!0&&(0===t&&i>s||1===t&&s>i)&&(i=s),i!==this.values(t)&&(n=this.values(),n[t]=i,a=this._trigger("slide",e,{handle:this.handles[t],value:i,values:n}),s=this.values(t?0:1),a!==!1&&this.values(t,i))):i!==this.value()&&(a=this._trigger("slide",e,{handle:this.handles[t],value:i}),a!==!1&&this.value(i))},_stop:function(e,t){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger("stop",e,i)},_change:function(e,t){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._lastChangedValue=t,this._trigger("change",e,i)}},value:function(e){return arguments.length?(this.options.value=this._trimAlignValue(e),this._refreshValue(),this._change(null,0),void 0):this._value()},values:function(t,i){var s,n,a;if(arguments.length>1)return this.options.values[t]=this._trimAlignValue(i),this._refreshValue(),this._change(null,t),void 0;if(!arguments.length)return this._values();if(!e.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(t):this.value();for(s=this.options.values,n=arguments[0],a=0;s.length>a;a+=1)s[a]=this._trimAlignValue(n[a]),this._change(null,a);this._refreshValue()},_setOption:function(t,i){var s,n=0;switch("range"===t&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),e.isArray(this.options.values)&&(n=this.options.values.length),"disabled"===t&&this.element.toggleClass("ui-state-disabled",!!i),this._super(t,i),t){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue(),this.handles.css("horizontal"===i?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var e=this.options.value;return e=this._trimAlignValue(e)},_values:function(e){var t,i,s;if(arguments.length)return t=this.options.values[e],t=this._trimAlignValue(t);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(e){if(this._valueMin()>=e)return this._valueMin();if(e>=this._valueMax())return this._valueMax();var t=this.options.step>0?this.options.step:1,i=(e-this._valueMin())%t,s=e-i;return 2*Math.abs(i)>=t&&(s+=i>0?t:-t),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var e=this.options.max,t=this._valueMin(),i=this.options.step,s=Math.floor(+(e-t).toFixed(this._precision())/i)*i;e=s+t,this.max=parseFloat(e.toFixed(this._precision()))},_precision:function(){var e=this._precisionOf(this.options.step);return null!==this.options.min&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=""+e,i=t.indexOf(".");return-1===i?0:t.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshValue:function(){var t,i,s,n,a,o=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),u["horizontal"===h.orientation?"left":"bottom"]=i+"%",e(this).stop(1,1)[l?"animate":"css"](u,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-t+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-t+"%"},{queue:!1,duration:r.animate}))),t=i}):(s=this.value(),n=this._valueMin(),a=this._valueMax(),i=a!==n?100*((s-n)/(a-n)):0,u["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](u,r.animate),"min"===o&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===o&&"horizontal"===this.orientation&&this.range[l?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===o&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===o&&"vertical"===this.orientation&&this.range[l?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(t){var i,s,n,a,o=e(t.target).data("ui-slider-handle-index");switch(t.keyCode){case e.ui.keyCode.HOME:case e.ui.keyCode.END:case e.ui.keyCode.PAGE_UP:case e.ui.keyCode.PAGE_DOWN:case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(t.preventDefault(),!this._keySliding&&(this._keySliding=!0,e(t.target).addClass("ui-state-active"),i=this._start(t,o),i===!1))return}switch(a=this.options.step,s=n=this.options.values&&this.options.values.length?this.values(o):this.value(),t.keyCode){case e.ui.keyCode.HOME:n=this._valueMin();break;case e.ui.keyCode.END:n=this._valueMax();break;case e.ui.keyCode.PAGE_UP:n=this._trimAlignValue(s+(this._valueMax()-this._valueMin())/this.numPages);break;case e.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(s-(this._valueMax()-this._valueMin())/this.numPages);break;case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:if(s===this._valueMax())return;n=this._trimAlignValue(s+a);break;case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(s===this._valueMin())return;n=this._trimAlignValue(s-a)}this._slide(t,o,n)},keyup:function(t){var i=e(t.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(t,i),this._change(t,i),e(t.target).removeClass("ui-state-active"))}}}),e.widget("ui.sortable",e.ui.mouse,{version:"1.11.4",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(e,t,i){return e>=t&&t+i>e},_isFloating:function(e){return/left|right/.test(e.css("float"))||/inline|table-cell/.test(e.css("display"))},_create:function(){this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(e,t){this._super(e,t),"handle"===e&&this._setHandleClassName()},_setHandleClassName:function(){this.element.find(".ui-sortable-handle").removeClass("ui-sortable-handle"),e.each(this.items,function(){(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item).addClass("ui-sortable-handle")})},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").find(".ui-sortable-handle").removeClass("ui-sortable-handle"),this._mouseDestroy();for(var e=this.items.length-1;e>=0;e--)this.items[e].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(t,i){var s=null,n=!1,a=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(t),e(t.target).parents().each(function(){return e.data(this,a.widgetName+"-item")===a?(s=e(this),!1):void 0}),e.data(t.target,a.widgetName+"-item")===a&&(s=e(t.target)),s?!this.options.handle||i||(e(this.options.handle,s).find("*").addBack().each(function(){this===t.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(t,i,s){var n,a,o=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),o.containment&&this._setContainment(),o.cursor&&"auto"!==o.cursor&&(a=this.document.find("body"),this.storedCursor=a.css("cursor"),a.css("cursor",o.cursor),this.storedStylesheet=e("<style>*{ cursor: "+o.cursor+" !important; }</style>").appendTo(a)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",t,this._uiHash(this)); +return e.ui.ddmanager&&(e.ui.ddmanager.current=this),e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(t),!0},_mouseDrag:function(t){var i,s,n,a,o=this.options,r=!1;for(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY<o.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+o.scrollSpeed:t.pageY-this.overflowOffset.top<o.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-o.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-t.pageX<o.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+o.scrollSpeed:t.pageX-this.overflowOffset.left<o.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-o.scrollSpeed)):(t.pageY-this.document.scrollTop()<o.scrollSensitivity?r=this.document.scrollTop(this.document.scrollTop()-o.scrollSpeed):this.window.height()-(t.pageY-this.document.scrollTop())<o.scrollSensitivity&&(r=this.document.scrollTop(this.document.scrollTop()+o.scrollSpeed)),t.pageX-this.document.scrollLeft()<o.scrollSensitivity?r=this.document.scrollLeft(this.document.scrollLeft()-o.scrollSpeed):this.window.width()-(t.pageX-this.document.scrollLeft())<o.scrollSensitivity&&(r=this.document.scrollLeft(this.document.scrollLeft()+o.scrollSpeed))),r!==!1&&e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],a=this._intersectsWithPointer(s),a&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===a?"next":"prev"]()[0]!==n&&!e.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!e.contains(this.element[0],n):!0)){if(this.direction=1===a?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(t,s),this._trigger("change",t,this._uiHash());break}return this._contactContainers(t),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,i){if(t){if(e.ui.ddmanager&&!this.options.dropBehaviour&&e.ui.ddmanager.drop(this,t),this.options.revert){var s=this,n=this.placeholder.offset(),a=this.options.axis,o={};a&&"x"!==a||(o.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),a&&"y"!==a||(o.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,e(this.helper).animate(o,parseInt(this.options.revert,10)||500,function(){s._clear(t)})}else this._clear(t,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var t=this.containers.length-1;t>=0;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),e.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?e(this.domPosition.prev).after(this.currentItem):e(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},e(i).each(function(){var i=(e(t.item||this).attr(t.attribute||"id")||"").match(t.expression||/(.+)[\-=_](.+)/);i&&s.push((t.key||i[1]+"[]")+"="+(t.key&&t.expression?i[1]:i[2]))}),!s.length&&t.key&&s.push(t.key+"="),s.join("&")},toArray:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},i.each(function(){s.push(e(t.item||this).attr(t.attribute||"id")||"")}),s},_intersectsWith:function(e){var t=this.positionAbs.left,i=t+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,a=e.left,o=a+e.width,r=e.top,h=r+e.height,l=this.offset.click.top,u=this.offset.click.left,d="x"===this.options.axis||s+l>r&&h>s+l,c="y"===this.options.axis||t+u>a&&o>t+u,p=d&&c;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>e[this.floating?"width":"height"]?p:t+this.helperProportions.width/2>a&&o>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(e){var t="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top,e.height),i="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left,e.width),s=t&&i,n=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return s?this.floating?a&&"right"===a||"down"===n?2:1:n&&("down"===n?2:1):!1},_intersectsWithSides:function(e){var t=this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top+e.height/2,e.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left+e.width/2,e.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"===n&&i||"left"===n&&!i:s&&("down"===s&&t||"up"===s&&!t)},_getDragVerticalDirection:function(){var e=this.positionAbs.top-this.lastPositionAbs.top;return 0!==e&&(e>0?"down":"up")},_getDragHorizontalDirection:function(){var e=this.positionAbs.left-this.lastPositionAbs.left;return 0!==e&&(e>0?"right":"left")},refresh:function(e){return this._refreshItems(e),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var e=this.options;return e.connectWith.constructor===String?[e.connectWith]:e.connectWith},_getItemsAsjQuery:function(t){function i(){r.push(this)}var s,n,a,o,r=[],h=[],l=this._connectWith();if(l&&t)for(s=l.length-1;s>=0;s--)for(a=e(l[s],this.document[0]),n=a.length-1;n>=0;n--)o=e.data(a[n],this.widgetFullName),o&&o!==this&&!o.options.disabled&&h.push([e.isFunction(o.options.items)?o.options.items.call(o.element):e(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);for(h.push([e.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):e(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return e(r)},_removeCurrentsFromItems:function(){var t=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=e.grep(this.items,function(e){for(var i=0;t.length>i;i++)if(t[i]===e.item[0])return!1;return!0})},_refreshItems:function(t){this.items=[],this.containers=[this];var i,s,n,a,o,r,h,l,u=this.items,d=[[e.isFunction(this.options.items)?this.options.items.call(this.element[0],t,{item:this.currentItem}):e(this.options.items,this.element),this]],c=this._connectWith();if(c&&this.ready)for(i=c.length-1;i>=0;i--)for(n=e(c[i],this.document[0]),s=n.length-1;s>=0;s--)a=e.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&(d.push([e.isFunction(a.options.items)?a.options.items.call(a.element[0],t,{item:this.currentItem}):e(a.options.items,a.element),a]),this.containers.push(a));for(i=d.length-1;i>=0;i--)for(o=d[i][1],r=d[i][0],s=0,l=r.length;l>s;s++)h=e(r[s]),h.data(this.widgetName+"-item",o),u.push({item:h,instance:o,width:0,height:0,left:0,top:0})},refreshPositions:function(t){this.floating=this.items.length?"x"===this.options.axis||this._isFloating(this.items[0].item):!1,this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,a;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?e(this.options.toleranceElement,s.item):s.item,t||(s.width=n.outerWidth(),s.height=n.outerHeight()),a=n.offset(),s.left=a.left,s.top=a.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)a=this.containers[i].element.offset(),this.containers[i].containerCache.left=a.left,this.containers[i].containerCache.top=a.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(t){t=t||this;var i,s=t.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=t.currentItem[0].nodeName.toLowerCase(),n=e("<"+s+">",t.document[0]).addClass(i||t.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tbody"===s?t._createTrPlaceholder(t.currentItem.find("tr").eq(0),e("<tr>",t.document[0]).appendTo(n)):"tr"===s?t._createTrPlaceholder(t.currentItem,n):"img"===s&&n.attr("src",t.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(e,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(t.currentItem.innerHeight()-parseInt(t.currentItem.css("paddingTop")||0,10)-parseInt(t.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(t.currentItem.innerWidth()-parseInt(t.currentItem.css("paddingLeft")||0,10)-parseInt(t.currentItem.css("paddingRight")||0,10)))}}),t.placeholder=e(s.placeholder.element.call(t.element,t.currentItem)),t.currentItem.after(t.placeholder),s.placeholder.update(t,t.placeholder)},_createTrPlaceholder:function(t,i){var s=this;t.children().each(function(){e("<td> </td>",s.document[0]).attr("colspan",e(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(t){var i,s,n,a,o,r,h,l,u,d,c=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!e.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(c&&e.contains(this.containers[i].element[0],c.element[0]))continue;c=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",t,this._uiHash(this)),this.containers[i].containerCache.over=0);if(c)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,a=null,u=c.floating||this._isFloating(this.currentItem),o=u?"left":"top",r=u?"width":"height",d=u?"clientX":"clientY",s=this.items.length-1;s>=0;s--)e.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[o],l=!1,t[d]-h>this.items[s][r]/2&&(l=!0),n>Math.abs(t[d]-h)&&(n=Math.abs(t[d]-h),a=this.items[s],this.direction=l?"up":"down"));if(!a&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return this.currentContainer.containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash()),this.currentContainer.containerCache.over=1),void 0;a?this._rearrange(t,a,null,!0):this._rearrange(t,null,this.containers[p].element,!0),this._trigger("change",t,this._uiHash()),this.containers[p]._trigger("change",t,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||e("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.currentItem.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===n.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===n.containment?this.document.width():this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(t=e(n.containment)[0],i=e(n.containment).offset(),s="hidden"!==e(t).css("overflow"),this.containment=[i.left+(parseInt(e(t).css("borderLeftWidth"),10)||0)+(parseInt(e(t).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(e(t).css("borderTopWidth"),10)||0)+(parseInt(e(t).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(t.scrollWidth,t.offsetWidth):t.offsetWidth)-(parseInt(e(t).css("borderLeftWidth"),10)||0)-(parseInt(e(t).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(t.scrollHeight,t.offsetHeight):t.offsetHeight)-(parseInt(e(t).css("borderTopWidth"),10)||0)-(parseInt(e(t).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(t,i){i||(i=this.position);var s="absolute"===t?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():a?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:n.scrollLeft())*s}},_generatePosition:function(t){var i,s,n=this.options,a=t.pageX,o=t.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(t.pageX-this.offset.click.left<this.containment[0]&&(a=this.containment[0]+this.offset.click.left),t.pageY-this.offset.click.top<this.containment[1]&&(o=this.containment[1]+this.offset.click.top),t.pageX-this.offset.click.left>this.containment[2]&&(a=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1],o=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((a-this.originalPageX)/n.grid[0])*n.grid[0],a=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(e,t,i,s){i?i[0].appendChild(this.placeholder[0]):t.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?t.item[0]:t.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(e,t){function i(e,t,i){return function(s){i._trigger(e,s,t._uiHash(t))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!t&&n.push(function(e){this._trigger("receive",e,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||t||n.push(function(e){this._trigger("update",e,this._uiHash())}),this!==this.currentContainer&&(t||(n.push(function(e){this._trigger("remove",e,this._uiHash())}),n.push(function(e){return function(t){e._trigger("receive",t,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(e){return function(t){e._trigger("update",t,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)t||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,t||this._trigger("beforeStop",e,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!t){for(s=0;n.length>s;s++)n[s].call(this,e);this._trigger("stop",e,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){e.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(t){var i=t||this;return{helper:i.helper,placeholder:i.placeholder||e([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:t?t.element:null}}}),e.widget("ui.spinner",{version:"1.11.4",defaultElement:"<input>",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var t={},i=this.element;return e.each(["min","max","step"],function(e,s){var n=i.attr(s);void 0!==n&&n.length&&(t[s]=n)}),t},_events:{keydown:function(e){this._start(e)&&this._keydown(e)&&e.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",e),void 0)},mousewheel:function(e,t){if(t){if(!this.spinning&&!this._start(e))return!1;this._spin((t>0?1:-1)*this.options.step,e),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(e)},100),e.preventDefault()}},"mousedown .ui-spinner-button":function(t){function i(){var e=this.element[0]===this.document[0].activeElement;e||(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),t.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(t)!==!1&&this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(t){return e(t.currentTarget).hasClass("ui-state-active")?this._start(t)===!1?!1:(this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var e=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=e.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*e.height())&&e.height()>0&&e.height(e.height()),this.options.disabled&&this.disable()},_keydown:function(t){var i=this.options,s=e.ui.keyCode;switch(t.keyCode){case s.UP:return this._repeat(null,1,t),!0;case s.DOWN:return this._repeat(null,-1,t),!0;case s.PAGE_UP:return this._repeat(null,i.page,t),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,t),!0}return!1},_uiSpinnerHtml:function(){return"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"},_buttonHtml:function(){return"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon "+this.options.icons.up+"'>▲</span>"+"</a>"+"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>"+"<span class='ui-icon "+this.options.icons.down+"'>▼</span>"+"</a>"},_start:function(e){return this.spinning||this._trigger("start",e)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(e,t,i){e=e||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,t,i)},e),this._spin(t*this.options.step,i)},_spin:function(e,t){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+e*this._increment(this.counter)),this.spinning&&this._trigger("spin",t,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(t){var i=this.options.incremental;return i?e.isFunction(i)?i(t):Math.floor(t*t*t/5e4-t*t/500+17*t/200+1):1},_precision:function(){var e=this._precisionOf(this.options.step);return null!==this.options.min&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=""+e,i=t.indexOf(".");return-1===i?0:t.length-i-1},_adjustValue:function(e){var t,i,s=this.options;return t=null!==s.min?s.min:0,i=e-t,i=Math.round(i/s.step)*s.step,e=t+i,e=parseFloat(e.toFixed(this._precision())),null!==s.max&&e>s.max?s.max:null!==s.min&&s.min>e?s.min:e},_stop:function(e){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",e))},_setOption:function(e,t){if("culture"===e||"numberFormat"===e){var i=this._parse(this.element.val());return this.options[e]=t,this.element.val(this._format(i)),void 0}("max"===e||"min"===e||"step"===e)&&"string"==typeof t&&(t=this._parse(t)),"icons"===e&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(t.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(t.down)),this._super(e,t),"disabled"===e&&(this.widget().toggleClass("ui-state-disabled",!!t),this.element.prop("disabled",!!t),this.buttons.button(t?"disable":"enable"))},_setOptions:h(function(e){this._super(e)}),_parse:function(e){return"string"==typeof e&&""!==e&&(e=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(e,10,this.options.culture):+e),""===e||isNaN(e)?null:e},_format:function(e){return""===e?"":window.Globalize&&this.options.numberFormat?Globalize.format(e,this.options.numberFormat,this.options.culture):e},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var e=this.value();return null===e?!1:e===this._adjustValue(e)},_value:function(e,t){var i;""!==e&&(i=this._parse(e),null!==i&&(t||(i=this._adjustValue(i)),e=this._format(i))),this.element.val(e),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:h(function(e){this._stepUp(e)}),_stepUp:function(e){this._start()&&(this._spin((e||1)*this.options.step),this._stop())},stepDown:h(function(e){this._stepDown(e)}),_stepDown:function(e){this._start()&&(this._spin((e||1)*-this.options.step),this._stop())},pageUp:h(function(e){this._stepUp((e||1)*this.options.page)}),pageDown:h(function(e){this._stepDown((e||1)*this.options.page)}),value:function(e){return arguments.length?(h(this._value).call(this,e),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),e.widget("ui.tabs",{version:"1.11.4",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var e=/#.*$/;return function(t){var i,s;t=t.cloneNode(!1),i=t.href.replace(e,""),s=location.href.replace(e,"");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return t.hash.length>1&&i===s}}(),_create:function(){var t=this,i=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",i.collapsible),this._processTabs(),i.active=this._initialActive(),e.isArray(i.disabled)&&(i.disabled=e.unique(i.disabled.concat(e.map(this.tabs.filter(".ui-state-disabled"),function(e){return t.tabs.index(e)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):e(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var t=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===t&&(s&&this.tabs.each(function(i,n){return e(n).attr("aria-controls")===s?(t=i,!1):void 0}),null===t&&(t=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===t||-1===t)&&(t=this.tabs.length?0:!1)),t!==!1&&(t=this.tabs.index(this.tabs.eq(t)),-1===t&&(t=i?!1:0)),!i&&t===!1&&this.anchors.length&&(t=0),t},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):e()}},_tabKeydown:function(t){var i=e(this.document[0].activeElement).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(t)){switch(t.keyCode){case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:s++;break;case e.ui.keyCode.UP:case e.ui.keyCode.LEFT:n=!1,s--;break;case e.ui.keyCode.END:s=this.anchors.length-1;break;case e.ui.keyCode.HOME:s=0;break;case e.ui.keyCode.SPACE:return t.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case e.ui.keyCode.ENTER:return t.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}t.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),t.ctrlKey||t.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(t){this._handlePageNav(t)||t.ctrlKey&&t.keyCode===e.ui.keyCode.UP&&(t.preventDefault(),this.active.focus())},_handlePageNav:function(t){return t.altKey&&t.keyCode===e.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):t.altKey&&t.keyCode===e.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(t,i){function s(){return t>n&&(t=0),0>t&&(t=n),t}for(var n=this.tabs.length-1;-1!==e.inArray(s(),this.options.disabled);)t=i?t+1:t-1;return t},_focusNextTab:function(e,t){return e=this._findNextTab(e,t),this.tabs.eq(e).focus(),e},_setOption:function(e,t){return"active"===e?(this._activate(t),void 0):"disabled"===e?(this._setupDisabled(t),void 0):(this._super(e,t),"collapsible"===e&&(this.element.toggleClass("ui-tabs-collapsible",t),t||this.options.active!==!1||this._activate(0)),"event"===e&&this._setupEvents(t),"heightStyle"===e&&this._setupHeightStyle(t),void 0)},_sanitizeSelector:function(e){return e?e.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var t=this.options,i=this.tablist.children(":has(a[href])");t.disabled=e.map(i.filter(".ui-state-disabled"),function(e){return i.index(e)}),this._processTabs(),t.active!==!1&&this.anchors.length?this.active.length&&!e.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=e()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active):(t.active=!1,this.active=e()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var t=this,i=this.tabs,s=this.anchors,n=this.panels; +this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist").delegate("> li","mousedown"+this.eventNamespace,function(t){e(this).is(".ui-state-disabled")&&t.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){e(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return e("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=e(),this.anchors.each(function(i,s){var n,a,o,r=e(s).uniqueId().attr("id"),h=e(s).closest("li"),l=h.attr("aria-controls");t._isLocal(s)?(n=s.hash,o=n.substring(1),a=t.element.find(t._sanitizeSelector(n))):(o=h.attr("aria-controls")||e({}).uniqueId()[0].id,n="#"+o,a=t.element.find(n),a.length||(a=t._createPanel(o),a.insertAfter(t.panels[i-1]||t.tablist)),a.attr("aria-live","polite")),a.length&&(t.panels=t.panels.add(a)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":o,"aria-labelledby":r}),a.attr("aria-labelledby",r)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(t){return e("<div>").attr("id",t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(t){e.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1);for(var i,s=0;i=this.tabs[s];s++)t===!0||-1!==e.inArray(s,t)?e(i).addClass("ui-state-disabled").attr("aria-disabled","true"):e(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=t},_setupEvents:function(t){var i={};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(e){e.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var i,s=this.element.parent();"fill"===t?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var t=e(this),s=t.css("position");"absolute"!==s&&"fixed"!==s&&(i-=t.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=e(this).outerHeight(!0)}),this.panels.each(function(){e(this).height(Math.max(0,i-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===t&&(i=0,this.panels.each(function(){i=Math.max(i,e(this).height("").height())}).height(i))},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n.closest("li"),o=a[0]===s[0],r=o&&i.collapsible,h=r?e():this._getPanelForTab(a),l=s.length?this._getPanelForTab(s):e(),u={oldTab:s,oldPanel:l,newTab:r?e():a,newPanel:h};t.preventDefault(),a.hasClass("ui-state-disabled")||a.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||this._trigger("beforeActivate",t,u)===!1||(i.active=r?!1:this.tabs.index(a),this.active=o?e():a,this.xhr&&this.xhr.abort(),l.length||h.length||e.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(a),t),this._toggle(t,u))},_toggle:function(t,i){function s(){a.running=!1,a._trigger("activate",t,i)}function n(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),o.length&&a.options.show?a._show(o,a.options.show,s):(o.show(),s())}var a=this,o=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),n()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),n()),r.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),o.length&&r.length?i.oldTab.attr("tabIndex",-1):o.length&&this.tabs.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),o.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(t){var i,s=this._findActive(t);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return t===!1?e():this.tabs.eq(t)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+e+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tablist.unbind(this.eventNamespace),this.tabs.add(this.panels).each(function(){e.data(this,"ui-tabs-destroy")?e(this).remove():e(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var t=e(this),i=t.data("ui-tabs-aria-controls");i?t.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):t.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(t){var i=this.options.disabled;i!==!1&&(void 0===t?i=!1:(t=this._getIndex(t),i=e.isArray(i)?e.map(i,function(e){return e!==t?e:null}):e.map(this.tabs,function(e,i){return i!==t?i:null})),this._setupDisabled(i))},disable:function(t){var i=this.options.disabled;if(i!==!0){if(void 0===t)i=!0;else{if(t=this._getIndex(t),-1!==e.inArray(t,i))return;i=e.isArray(i)?e.merge([t],i).sort():[t]}this._setupDisabled(i)}},load:function(t,i){t=this._getIndex(t);var s=this,n=this.tabs.eq(t),a=n.find(".ui-tabs-anchor"),o=this._getPanelForTab(n),r={tab:n,panel:o},h=function(e,t){"abort"===t&&s.panels.stop(!1,!0),n.removeClass("ui-tabs-loading"),o.removeAttr("aria-busy"),e===s.xhr&&delete s.xhr};this._isLocal(a[0])||(this.xhr=e.ajax(this._ajaxSettings(a,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(n.addClass("ui-tabs-loading"),o.attr("aria-busy","true"),this.xhr.done(function(e,t,n){setTimeout(function(){o.html(e),s._trigger("load",i,r),h(n,t)},1)}).fail(function(e,t){setTimeout(function(){h(e,t)},1)})))},_ajaxSettings:function(t,i,s){var n=this;return{url:t.attr("href"),beforeSend:function(t,a){return n._trigger("beforeLoad",i,e.extend({jqXHR:t,ajaxSettings:a},s))}}},_getPanelForTab:function(t){var i=e(t).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),e.widget("ui.tooltip",{version:"1.11.4",options:{content:function(){var t=e(this).attr("title")||"";return e("<a>").text(t).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_addDescribedBy:function(t,i){var s=(t.attr("aria-describedby")||"").split(/\s+/);s.push(i),t.data("ui-tooltip-id",i).attr("aria-describedby",e.trim(s.join(" ")))},_removeDescribedBy:function(t){var i=t.data("ui-tooltip-id"),s=(t.attr("aria-describedby")||"").split(/\s+/),n=e.inArray(i,s);-1!==n&&s.splice(n,1),t.removeData("ui-tooltip-id"),s=e.trim(s.join(" ")),s?t.attr("aria-describedby",s):t.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable(),this.liveRegion=e("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body)},_setOption:function(t,i){var s=this;return"disabled"===t?(this[i?"_disable":"_enable"](),this.options[t]=i,void 0):(this._super(t,i),"content"===t&&e.each(this.tooltips,function(e,t){s._updateContent(t.element)}),void 0)},_disable:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event("blur");n.target=n.currentTarget=s.element[0],t.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.is("[title]")&&t.data("ui-tooltip-title",t.attr("title")).removeAttr("title")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.data("ui-tooltip-title")&&t.attr("title",t.data("ui-tooltip-title"))})},open:function(t){var i=this,s=e(t?t.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),t&&"mouseover"===t.type&&s.parents().each(function(){var t,s=e(this);s.data("ui-tooltip-open")&&(t=e.Event("blur"),t.target=t.currentTarget=this,i.close(t,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._registerCloseHandlers(t,s),this._updateContent(s,t))},_updateContent:function(e,t){var i,s=this.options.content,n=this,a=t?t.type:null;return"string"==typeof s?this._open(t,e,s):(i=s.call(e[0],function(i){n._delay(function(){e.data("ui-tooltip-open")&&(t&&(t.type=a),this._open(t,e,i))})}),i&&this._open(t,e,i),void 0)},_open:function(t,i,s){function n(e){l.of=e,o.is(":hidden")||o.position(l)}var a,o,r,h,l=e.extend({},this.options.position);if(s){if(a=this._find(i))return a.tooltip.find(".ui-tooltip-content").html(s),void 0;i.is("[title]")&&(t&&"mouseover"===t.type?i.attr("title",""):i.removeAttr("title")),a=this._tooltip(i),o=a.tooltip,this._addDescribedBy(i,o.attr("id")),o.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),s.clone?(h=s.clone(),h.removeAttr("id").find("[id]").removeAttr("id")):h=s,e("<div>").html(h).appendTo(this.liveRegion),this.options.track&&t&&/^mouse/.test(t.type)?(this._on(this.document,{mousemove:n}),n(t)):o.position(e.extend({of:i},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.show&&this.options.show.delay&&(r=this.delayedShow=setInterval(function(){o.is(":visible")&&(n(l.of),clearInterval(r))},e.fx.interval)),this._trigger("open",t,{tooltip:o})}},_registerCloseHandlers:function(t,i){var s={keyup:function(t){if(t.keyCode===e.ui.keyCode.ESCAPE){var s=e.Event(t);s.currentTarget=i[0],this.close(s,!0)}}};i[0]!==this.element[0]&&(s.remove=function(){this._removeTooltip(this._find(i).tooltip)}),t&&"mouseover"!==t.type||(s.mouseleave="close"),t&&"focusin"!==t.type||(s.focusout="close"),this._on(!0,i,s)},close:function(t){var i,s=this,n=e(t?t.currentTarget:this.element),a=this._find(n);return a?(i=a.tooltip,a.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),a.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(e(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),t&&"mouseleave"===t.type&&e.each(this.parents,function(t,i){e(i.element).attr("title",i.title),delete s.parents[t]}),a.closing=!0,this._trigger("close",t,{tooltip:i}),a.hiding||(a.closing=!1)),void 0):(n.removeData("ui-tooltip-open"),void 0)},_tooltip:function(t){var i=e("<div>").attr("role","tooltip").addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||"")),s=i.uniqueId().attr("id");return e("<div>").addClass("ui-tooltip-content").appendTo(i),i.appendTo(this.document[0].body),this.tooltips[s]={element:t,tooltip:i}},_find:function(e){var t=e.data("ui-tooltip-id");return t?this.tooltips[t]:null},_removeTooltip:function(e){e.remove(),delete this.tooltips[e.attr("id")]},_destroy:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event("blur"),a=s.element;n.target=n.currentTarget=a[0],t.close(n,!0),e("#"+i).remove(),a.data("ui-tooltip-title")&&(a.attr("title")||a.attr("title",a.data("ui-tooltip-title")),a.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}})}); \ No newline at end of file diff --git a/lib/scripts/jquery/jquery.js b/lib/scripts/jquery/jquery.js index d4b67f7e6c1a94df167f31657769717a71581066..6feb11086f45e266dd2334213479f0dc2276fb02 100644 --- a/lib/scripts/jquery/jquery.js +++ b/lib/scripts/jquery/jquery.js @@ -1,5 +1,5 @@ /*! - * jQuery JavaScript Library v1.11.1 + * jQuery JavaScript Library v1.11.3 * http://jquery.com/ * * Includes Sizzle.js @@ -9,7 +9,7 @@ * Released under the MIT license * http://jquery.org/license * - * Date: 2014-05-01T17:42Z + * Date: 2015-04-28T16:19Z */ (function( global, factory ) { @@ -64,7 +64,7 @@ var support = {}; var - version = "1.11.1", + version = "1.11.3", // Define a local copy of jQuery jQuery = function( selector, context ) { @@ -269,7 +269,8 @@ jQuery.extend({ // parseFloat NaNs numeric-cast false positives (null|true|false|"") // ...but misinterprets leading-number strings, particularly hex literals ("0x...") // subtraction forces infinities to NaN - return !jQuery.isArray( obj ) && obj - parseFloat( obj ) >= 0; + // adding 1 corrects loss of precision from parseFloat (#15100) + return !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0; }, isEmptyObject: function( obj ) { @@ -568,7 +569,12 @@ jQuery.each("Boolean Number String Function Array Date RegExp Object Error".spli }); function isArraylike( obj ) { - var length = obj.length, + + // Support: iOS 8.2 (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = "length" in obj && obj.length, type = jQuery.type( obj ); if ( type === "function" || jQuery.isWindow( obj ) ) { @@ -584,14 +590,14 @@ function isArraylike( obj ) { } var Sizzle = /*! - * Sizzle CSS Selector Engine v1.10.19 + * Sizzle CSS Selector Engine v2.2.0-pre * http://sizzlejs.com/ * - * Copyright 2013 jQuery Foundation, Inc. and other contributors + * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors * Released under the MIT license * http://jquery.org/license * - * Date: 2014-04-18 + * Date: 2014-12-16 */ (function( window ) { @@ -618,7 +624,7 @@ var i, contains, // Instance-specific data - expando = "sizzle" + -(new Date()), + expando = "sizzle" + 1 * new Date(), preferredDoc = window.document, dirruns = 0, done = 0, @@ -633,7 +639,6 @@ var i, }, // General-purpose constants - strundefined = typeof undefined, MAX_NEGATIVE = 1 << 31, // Instance methods @@ -643,12 +648,13 @@ var i, push_native = arr.push, push = arr.push, slice = arr.slice, - // Use a stripped-down indexOf if we can't use a native one - indexOf = arr.indexOf || function( elem ) { + // Use a stripped-down indexOf as it's faster than native + // http://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { var i = 0, - len = this.length; + len = list.length; for ( ; i < len; i++ ) { - if ( this[i] === elem ) { + if ( list[i] === elem ) { return i; } } @@ -688,6 +694,7 @@ var i, ")\\)|)", // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), @@ -739,6 +746,14 @@ var i, String.fromCharCode( high + 0x10000 ) : // Supplemental Plane codepoint (surrogate pair) String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); }; // Optimize for push.apply( _, NodeList ) @@ -781,19 +796,18 @@ function Sizzle( selector, context, results, seed ) { context = context || document; results = results || []; + nodeType = context.nodeType; - if ( !selector || typeof selector !== "string" ) { - return results; - } + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { - return []; + return results; } - if ( documentIsHTML && !seed ) { + if ( !seed && documentIsHTML ) { - // Shortcuts - if ( (match = rquickExpr.exec( selector )) ) { + // Try to shortcut find operations when possible (e.g., not under DocumentFragment) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { // Speed-up: Sizzle("#ID") if ( (m = match[1]) ) { if ( nodeType === 9 ) { @@ -825,7 +839,7 @@ function Sizzle( selector, context, results, seed ) { return results; // Speed-up: Sizzle(".CLASS") - } else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) { + } else if ( (m = match[3]) && support.getElementsByClassName ) { push.apply( results, context.getElementsByClassName( m ) ); return results; } @@ -835,7 +849,7 @@ function Sizzle( selector, context, results, seed ) { if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { nid = old = expando; newContext = context; - newSelector = nodeType === 9 && selector; + newSelector = nodeType !== 1 && selector; // qSA works strangely on Element-rooted queries // We can work around this by specifying an extra ID on the root @@ -1022,7 +1036,7 @@ function createPositionalPseudo( fn ) { * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value */ function testContext( context ) { - return context && typeof context.getElementsByTagName !== strundefined && context; + return context && typeof context.getElementsByTagName !== "undefined" && context; } // Expose support vars for convenience @@ -1046,9 +1060,8 @@ isXML = Sizzle.isXML = function( elem ) { * @returns {Object} Returns the current document */ setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, - doc = node ? node.ownerDocument || node : preferredDoc, - parent = doc.defaultView; + var hasCompare, parent, + doc = node ? node.ownerDocument || node : preferredDoc; // If no document and documentElement is available, return if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { @@ -1058,9 +1071,7 @@ setDocument = Sizzle.setDocument = function( node ) { // Set our document document = doc; docElem = doc.documentElement; - - // Support tests - documentIsHTML = !isXML( doc ); + parent = doc.defaultView; // Support: IE>8 // If iframe document is assigned to "document" variable and if iframe has been reloaded, @@ -1069,21 +1080,22 @@ setDocument = Sizzle.setDocument = function( node ) { if ( parent && parent !== parent.top ) { // IE11 does not have attachEvent, so all must suffer if ( parent.addEventListener ) { - parent.addEventListener( "unload", function() { - setDocument(); - }, false ); + parent.addEventListener( "unload", unloadHandler, false ); } else if ( parent.attachEvent ) { - parent.attachEvent( "onunload", function() { - setDocument(); - }); + parent.attachEvent( "onunload", unloadHandler ); } } + /* Support tests + ---------------------------------------------------------------------- */ + documentIsHTML = !isXML( doc ); + /* Attributes ---------------------------------------------------------------------- */ // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans) + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) support.attributes = assert(function( div ) { div.className = "i"; return !div.getAttribute("className"); @@ -1098,17 +1110,8 @@ setDocument = Sizzle.setDocument = function( node ) { return !div.getElementsByTagName("*").length; }); - // Check if getElementsByClassName can be trusted - support.getElementsByClassName = rnative.test( doc.getElementsByClassName ) && assert(function( div ) { - div.innerHTML = "<div class='a'></div><div class='a i'></div>"; - - // Support: Safari<4 - // Catch class over-caching - div.firstChild.className = "i"; - // Support: Opera<10 - // Catch gEBCN failure to find non-leading classes - return div.getElementsByClassName("i").length === 2; - }); + // Support: IE<9 + support.getElementsByClassName = rnative.test( doc.getElementsByClassName ); // Support: IE<10 // Check if getElementById returns elements by name @@ -1122,7 +1125,7 @@ setDocument = Sizzle.setDocument = function( node ) { // ID find and filter if ( support.getById ) { Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== strundefined && documentIsHTML ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { var m = context.getElementById( id ); // Check parentNode to catch when Blackberry 4.6 returns // nodes that are no longer in the document #6963 @@ -1143,7 +1146,7 @@ setDocument = Sizzle.setDocument = function( node ) { Expr.filter["ID"] = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { - var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); return node && node.value === attrId; }; }; @@ -1152,14 +1155,20 @@ setDocument = Sizzle.setDocument = function( node ) { // Tag Expr.find["TAG"] = support.getElementsByTagName ? function( tag, context ) { - if ( typeof context.getElementsByTagName !== strundefined ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); } } : + function( tag, context ) { var elem, tmp = [], i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too results = context.getElementsByTagName( tag ); // Filter out possible comments @@ -1177,7 +1186,7 @@ setDocument = Sizzle.setDocument = function( node ) { // Class Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { - if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) { + if ( documentIsHTML ) { return context.getElementsByClassName( className ); } }; @@ -1206,13 +1215,15 @@ setDocument = Sizzle.setDocument = function( node ) { // setting a boolean content attribute, // since its presence should be enough // http://bugs.jquery.com/ticket/12359 - div.innerHTML = "<select msallowclip=''><option selected=''></option></select>"; + docElem.appendChild( div ).innerHTML = "<a id='" + expando + "'></a>" + + "<select id='" + expando + "-\f]' msallowcapture=''>" + + "<option selected=''></option></select>"; // Support: IE8, Opera 11-12.16 // Nothing should be selected when empty strings follow ^= or $= or *= // The test attribute must be unknown in Opera but "safe" for WinRT // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( div.querySelectorAll("[msallowclip^='']").length ) { + if ( div.querySelectorAll("[msallowcapture^='']").length ) { rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); } @@ -1222,12 +1233,24 @@ setDocument = Sizzle.setDocument = function( node ) { rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); } + // Support: Chrome<29, Android<4.2+, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.7+ + if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + // Webkit/Opera - :checked should return selected option elements // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked // IE8 throws error here and will not see later tests if ( !div.querySelectorAll(":checked").length ) { rbuggyQSA.push(":checked"); } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibing-combinator selector` fails + if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } }); assert(function( div ) { @@ -1344,7 +1367,7 @@ setDocument = Sizzle.setDocument = function( node ) { // Maintain original order return sortInput ? - ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : 0; } @@ -1371,7 +1394,7 @@ setDocument = Sizzle.setDocument = function( node ) { aup ? -1 : bup ? 1 : sortInput ? - ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : 0; // If the nodes are siblings, we can do a quick check @@ -1434,7 +1457,7 @@ Sizzle.matchesSelector = function( elem, expr ) { elem.document && elem.document.nodeType !== 11 ) { return ret; } - } catch(e) {} + } catch (e) {} } return Sizzle( expr, document, null, [ elem ] ).length > 0; @@ -1653,7 +1676,7 @@ Expr = Sizzle.selectors = { return pattern || (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && classCache( className, function( elem ) { - return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || "" ); + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); }); }, @@ -1675,7 +1698,7 @@ Expr = Sizzle.selectors = { operator === "^=" ? check && result.indexOf( check ) === 0 : operator === "*=" ? check && result.indexOf( check ) > -1 : operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : false; }; @@ -1795,7 +1818,7 @@ Expr = Sizzle.selectors = { matched = fn( seed, argument ), i = matched.length; while ( i-- ) { - idx = indexOf.call( seed, matched[i] ); + idx = indexOf( seed, matched[i] ); seed[ idx ] = !( matches[ idx ] = matched[i] ); } }) : @@ -1834,6 +1857,8 @@ Expr = Sizzle.selectors = { function( elem, context, xml ) { input[0] = elem; matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; return !results.pop(); }; }), @@ -1845,6 +1870,7 @@ Expr = Sizzle.selectors = { }), "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); return function( elem ) { return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; }; @@ -2266,7 +2292,7 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS i = matcherOut.length; while ( i-- ) { if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { seed[temp] = !(results[temp] = elem); } @@ -2301,13 +2327,16 @@ function matcherFromTokens( tokens ) { return elem === checkContext; }, implicitRelative, true ), matchAnyContext = addCombinator( function( elem ) { - return indexOf.call( checkContext, elem ) > -1; + return indexOf( checkContext, elem ) > -1; }, implicitRelative, true ), matchers = [ function( elem, context, xml ) { - return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( (checkContext = context).nodeType ? matchContext( elem, context, xml ) : matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; } ]; for ( ; i < len; i++ ) { @@ -2557,7 +2586,7 @@ select = Sizzle.select = function( selector, context, results, seed ) { // Sort stability support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; -// Support: Chrome<14 +// Support: Chrome 14-35+ // Always assume duplicates if they aren't passed to the comparison function support.detectDuplicates = !!hasDuplicate; @@ -6115,7 +6144,14 @@ var getStyles, curCSS, if ( window.getComputedStyle ) { getStyles = function( elem ) { - return elem.ownerDocument.defaultView.getComputedStyle( elem, null ); + // Support: IE<=11+, Firefox<=30+ (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + if ( elem.ownerDocument.defaultView.opener ) { + return elem.ownerDocument.defaultView.getComputedStyle( elem, null ); + } + + return window.getComputedStyle( elem, null ); }; curCSS = function( elem, name, computed ) { @@ -6363,6 +6399,8 @@ function addGetHookIf( conditionFn, hookFn ) { reliableMarginRightVal = !parseFloat( ( window.getComputedStyle( contents, null ) || {} ).marginRight ); + + div.removeChild( contents ); } // Support: IE8 @@ -9070,7 +9108,8 @@ jQuery.extend({ } // We can fire global events as of now if asked to - fireGlobals = s.global; + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; // Watch for a new set of requests if ( fireGlobals && jQuery.active++ === 0 ) { @@ -9329,13 +9368,6 @@ jQuery.each( [ "get", "post" ], function( i, method ) { }; }); -// Attach a bunch of functions for handling common AJAX events -jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ) { - jQuery.fn[ type ] = function( fn ) { - return this.on( type, fn ); - }; -}); - jQuery._evalUrl = function( url ) { return jQuery.ajax({ @@ -9561,8 +9593,9 @@ var xhrId = 0, // Support: IE<10 // Open requests must be manually aborted on unload (#5280) -if ( window.ActiveXObject ) { - jQuery( window ).on( "unload", function() { +// See https://support.microsoft.com/kb/2856746 for more info +if ( window.attachEvent ) { + window.attachEvent( "onunload", function() { for ( var key in xhrCallbacks ) { xhrCallbacks[ key ]( undefined, true ); } @@ -9996,6 +10029,16 @@ jQuery.fn.load = function( url, params, callback ) { +// Attach a bunch of functions for handling common AJAX events +jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ) { + jQuery.fn[ type ] = function( fn ) { + return this.on( type, fn ); + }; +}); + + + + jQuery.expr.filters.animated = function( elem ) { return jQuery.grep(jQuery.timers, function( fn ) { return elem === fn.elem; diff --git a/lib/scripts/jquery/jquery.min.js b/lib/scripts/jquery/jquery.min.js index ab28a24729b320bffd3d2f60302af949db39ab85..0f60b7bd0d9c395e1748cc962810d2dee9bb9fc2 100644 --- a/lib/scripts/jquery/jquery.min.js +++ b/lib/scripts/jquery/jquery.min.js @@ -1,4 +1,5 @@ -/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h; -if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=bb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--)if(b=Tb[e]+c,b in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e)}m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px") -},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.ActiveXObject&&m(a).on("unload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m}); +/*! jQuery v1.11.3 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.3",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b="length"in a&&a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function qa(){}qa.prototype=d.filters=d.pseudos,d.setFilters=new qa,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function ra(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; + +return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function aa(){return!0}function ba(){return!1}function ca(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ca()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ca()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?aa:ba):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=aa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=aa,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=aa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=ba;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=ba),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function da(a){var b=ea.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var ea="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fa=/ jQuery\d+="(?:null|\d+)"/g,ga=new RegExp("<(?:"+ea+")[\\s/>]","i"),ha=/^\s+/,ia=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ja=/<([\w:]+)/,ka=/<tbody/i,la=/<|&#?\w+;/,ma=/<(?:script|style|link)/i,na=/checked\s*(?:[^=]|=\s*.checked.)/i,oa=/^$|\/(?:java|ecma)script/i,pa=/^true\/(.*)/,qa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ra={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sa=da(y),ta=sa.appendChild(y.createElement("div"));ra.optgroup=ra.option,ra.tbody=ra.tfoot=ra.colgroup=ra.caption=ra.thead,ra.th=ra.td;function ua(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ua(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function va(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wa(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xa(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function ya(a){var b=pa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function za(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Aa(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Ba(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xa(b).text=a.text,ya(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!ga.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ta.innerHTML=a.outerHTML,ta.removeChild(f=ta.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ua(f),h=ua(a),g=0;null!=(e=h[g]);++g)d[g]&&Ba(e,d[g]);if(b)if(c)for(h=h||ua(a),d=d||ua(f),g=0;null!=(e=h[g]);g++)Aa(e,d[g]);else Aa(a,f);return d=ua(f,"script"),d.length>0&&za(d,!i&&ua(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=da(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(la.test(f)){h=h||o.appendChild(b.createElement("div")),i=(ja.exec(f)||["",""])[1].toLowerCase(),l=ra[i]||ra._default,h.innerHTML=l[1]+f.replace(ia,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&ha.test(f)&&p.push(b.createTextNode(ha.exec(f)[0])),!k.tbody){f="table"!==i||ka.test(f)?"<table>"!==l[1]||ka.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ua(p,"input"),va),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ua(o.appendChild(f),"script"),g&&za(h),c)){e=0;while(f=h[e++])oa.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ua(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&za(ua(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ua(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fa,""):void 0;if(!("string"!=typeof a||ma.test(a)||!k.htmlSerialize&&ga.test(a)||!k.leadingWhitespace&&ha.test(a)||ra[(ja.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ia,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ua(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ua(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&na.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ua(i,"script"),xa),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ua(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,ya),j=0;f>j;j++)d=g[j],oa.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qa,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Ca,Da={};function Ea(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fa(a){var b=y,c=Da[a];return c||(c=Ea(a,b),"none"!==c&&c||(Ca=(Ca||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ca[0].contentWindow||Ca[0].contentDocument).document,b.write(),b.close(),c=Ea(a,b),Ca.detach()),Da[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Ga=/^margin/,Ha=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ia,Ja,Ka=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ia=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Ha.test(g)&&Ga.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ia=function(a){return a.currentStyle},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ha.test(g)&&!Ka.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function La(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Ma=/alpha\([^)]*\)/i,Na=/opacity\s*=\s*([^)]*)/,Oa=/^(none|table(?!-c[ea]).+)/,Pa=new RegExp("^("+S+")(.*)$","i"),Qa=new RegExp("^([+-])=("+S+")","i"),Ra={position:"absolute",visibility:"hidden",display:"block"},Sa={letterSpacing:"0",fontWeight:"400"},Ta=["Webkit","O","Moz","ms"];function Ua(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ta.length;while(e--)if(b=Ta[e]+c,b in a)return b;return d}function Va(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fa(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wa(a,b,c){var d=Pa.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xa(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Ya(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ia(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Ja(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ha.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xa(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ja(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ua(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qa.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ua(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Ja(a,b,d)),"normal"===f&&b in Sa&&(f=Sa[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Oa.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Ra,function(){return Ya(a,b,d)}):Ya(a,b,d):void 0},set:function(a,c,d){var e=d&&Ia(a);return Wa(a,c,d?Xa(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Na.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Ma,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Ma.test(f)?f.replace(Ma,e):f+" "+e)}}),m.cssHooks.marginRight=La(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Ja,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Ga.test(a)||(m.cssHooks[a+b].set=Wa)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ia(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Va(this,!0)},hide:function(){return Va(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Za(a,b,c,d,e){ +return new Za.prototype.init(a,b,c,d,e)}m.Tween=Za,Za.prototype={constructor:Za,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Za.propHooks[this.prop];return a&&a.get?a.get(this):Za.propHooks._default.get(this)},run:function(a){var b,c=Za.propHooks[this.prop];return this.options.duration?this.pos=b=m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Za.propHooks._default.set(this),this}},Za.prototype.init.prototype=Za.prototype,Za.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Za.propHooks.scrollTop=Za.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Za.prototype.init,m.fx.step={};var $a,_a,ab=/^(?:toggle|show|hide)$/,bb=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cb=/queueHooks$/,db=[ib],eb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bb.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bb.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fb(){return setTimeout(function(){$a=void 0}),$a=m.now()}function gb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hb(a,b,c){for(var d,e=(eb[b]||[]).concat(eb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fa(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fa(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ab.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fa(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hb(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=db.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$a||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$a||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);g>f;f++)if(d=db[f].call(j,a,k,j.opts))return d;return m.map(k,hb,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kb,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],eb[c]=eb[c]||[],eb[c].unshift(b)},prefilter:function(a,b){b?db.unshift(a):db.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kb(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),m.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($a=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$a=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_a||(_a=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_a),_a=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lb=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lb,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mb,nb,ob=m.expr.attrHandle,pb=/^(?:checked|selected)$/i,qb=k.getSetAttribute,rb=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nb:mb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rb&&qb||!pb.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qb?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nb={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rb&&qb||!pb.test(c)?a.setAttribute(!qb&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ob[b]||m.find.attr;ob[b]=rb&&qb||!pb.test(b)?function(a,b,d){var e,f;return d||(f=ob[b],ob[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,ob[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rb&&qb||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mb&&mb.set(a,b,c)}}),qb||(mb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},ob.id=ob.name=ob.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mb.set},m.attrHooks.contenteditable={set:function(a,b,c){mb.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sb=/^(?:input|select|textarea|button|object)$/i,tb=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sb.test(a.nodeName)||tb.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var ub=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ub," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vb=m.now(),wb=/\?/,xb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yb,zb,Ab=/#.*$/,Bb=/([?&])_=[^&]*/,Cb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Db=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Eb=/^(?:GET|HEAD)$/,Fb=/^\/\//,Gb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hb={},Ib={},Jb="*/".concat("*");try{zb=location.href}catch(Kb){zb=y.createElement("a"),zb.href="",zb=zb.href}yb=Gb.exec(zb.toLowerCase())||[];function Lb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mb(a,b,c,d){var e={},f=a===Ib;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nb(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Ob(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zb,type:"GET",isLocal:Db.test(yb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nb(Nb(a,m.ajaxSettings),b):Nb(m.ajaxSettings,a)},ajaxPrefilter:Lb(Hb),ajaxTransport:Lb(Ib),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cb.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zb)+"").replace(Ab,"").replace(Fb,yb[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gb.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yb[1]&&c[2]===yb[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yb[3]||("http:"===yb[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mb(Hb,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Eb.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wb.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bb.test(e)?e.replace(Bb,"$1_="+vb++):e+(wb.test(e)?"&":"?")+"_="+vb++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jb+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mb(Ib,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Ob(k,v,c)),u=Pb(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qb=/%20/g,Rb=/\[\]$/,Sb=/\r?\n/g,Tb=/^(?:submit|button|image|reset|file)$/i,Ub=/^(?:input|select|textarea|keygen)/i;function Vb(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rb.test(a)?d(a,e):Vb(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vb(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vb(c,a[c],b,e);return d.join("&").replace(Qb,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Ub.test(this.nodeName)&&!Tb.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sb,"\r\n")}}):{name:b.name,value:c.replace(Sb,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zb()||$b()}:Zb;var Wb=0,Xb={},Yb=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xb)Xb[a](void 0,!0)}),k.cors=!!Yb&&"withCredentials"in Yb,Yb=k.ajax=!!Yb,Yb&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xb[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xb[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zb(){try{return new a.XMLHttpRequest}catch(b){}}function $b(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _b=[],ac=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_b.pop()||m.expando+"_"+vb++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ac.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ac.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ac,"$1"+e):b.jsonp!==!1&&(b.url+=(wb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_b.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bc=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bc)return bc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cc=a.document.documentElement;function dc(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cc;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cc})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=La(k.pixelPosition,function(a,c){return c?(c=Ja(a,b),Ha.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ec=a.jQuery,fc=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fc),b&&a.jQuery===m&&(a.jQuery=ec),m},typeof b===K&&(a.jQuery=a.$=m),m}); diff --git a/lib/scripts/jquery/update.sh b/lib/scripts/jquery/update.sh index 741fcff1cf4d6789f7077f48d838f72f822275e1..ed9dcab7b3c1f24576f16a4b914937d87bc11556 100755 --- a/lib/scripts/jquery/update.sh +++ b/lib/scripts/jquery/update.sh @@ -9,13 +9,17 @@ # @link http://code.jquery.com/ # Adjust version for jQuery-UI here - there's no good latest link -JQUI_VERSION='1.11.0' +JQUI_VERSION='1.11.4' JQUI_HOST="https://code.jquery.com/ui/$JQUI_VERSION" JQUI_GIT="https://raw.githubusercontent.com/jquery/jquery-ui/$JQUI_VERSION/ui" +# Adjust version for jQueryhere - latest updates slowly +JQ_VERSION='1.11.3' + + # load jQuery -wget -nv http://code.jquery.com/jquery-latest.min.js -O jquery.min.js -wget -nv http://code.jquery.com/jquery-latest.js -O jquery.js +wget -nv http://code.jquery.com/jquery-${JQ_VERSION}.min.js -O jquery.min.js +wget -nv http://code.jquery.com/jquery-${JQ_VERSION}.js -O jquery.js # load jQuery-UI wget -nv "$JQUI_HOST/jquery-ui.min.js" -O jquery-ui.min.js diff --git a/lib/scripts/linkwiz.js b/lib/scripts/linkwiz.js index e8191dbcb234754fefde79a3026b61b884c9bb0b..bc850226fbdfa2a67132a7f84ab777bd86ef60ea 100644 --- a/lib/scripts/linkwiz.js +++ b/lib/scripts/linkwiz.js @@ -244,9 +244,10 @@ var dw_linkwiz = { so += dw_linkwiz.val.open.length; link = dw_linkwiz.val.open+link; } + link += '|'; + so += 1; if(stxt) { - link += '|'+stxt; - so += 1; + link += stxt; } if(dw_linkwiz.val.close) { link += dw_linkwiz.val.close; @@ -299,6 +300,11 @@ var dw_linkwiz = { dw_linkwiz.$wiz.show(); dw_linkwiz.$entry.focus(); dw_linkwiz.autocomplete(); + + // Move the cursor to the end of the input + var temp = dw_linkwiz.$entry.val(); + dw_linkwiz.$entry.val(''); + dw_linkwiz.$entry.val(temp); }, /** diff --git a/lib/scripts/locktimer.js b/lib/scripts/locktimer.js index 96f963c083f82d72ffe38398559bf53da995f1f7..f83b6334ec57ecd5ba0ab2102ccfb5371abd4904 100644 --- a/lib/scripts/locktimer.js +++ b/lib/scripts/locktimer.js @@ -12,24 +12,13 @@ var dw_locktimer = { /** * Initialize the lock timer * - * @param int timeout Length of timeout in seconds - * @param string msg Deprecated; The expiry message - * @param bool draft Whether to save drafts - * @param string edid Optional; ID of an edit object which has to be present + * @param {int} timeout Length of timeout in seconds + * @param {bool} draft Whether to save drafts + * @param {string} edid Optional; ID of an edit object which has to be present */ - init: function(timeout,msg,draft,edid){ + init: function(timeout,draft,edid){ var $edit; - switch (arguments.length) { - case 4: - DEPRECATED('Setting the locktimer expiry message is deprecated'); - dw_locktimer.msg = msg; - break; - case 3: - edid = draft; - case 2: - draft = msg; - } edid = edid || 'wiki__text'; $edit = jQuery('#' + edid); @@ -42,7 +31,7 @@ var dw_locktimer = { dw_locktimer.draft = draft; dw_locktimer.lasttime = new Date(); - dw_locktimer.pageid = jQuery('#dw__editform input[name=id]').val(); + dw_locktimer.pageid = jQuery('#dw__editform').find('input[name=id]').val(); if(!dw_locktimer.pageid) { return; } @@ -94,7 +83,7 @@ var dw_locktimer = { } // POST everything necessary for draft saving - if(dw_locktimer.draft && jQuery('#dw__editform textarea[name=wikitext]').length > 0){ + if(dw_locktimer.draft && jQuery('#dw__editform').find('textarea[name=wikitext]').length > 0){ params += jQuery('#dw__editform').find('input[name=prefix], ' + 'textarea[name=wikitext], ' + 'input[name=suffix], ' + diff --git a/lib/scripts/media.js b/lib/scripts/media.js index 8ca21ecabccfd26e2c88f6d3a4fe4e2aad123dac..2995addfd0f41d335d2831a9c775e9f7e91afa3b 100644 --- a/lib/scripts/media.js +++ b/lib/scripts/media.js @@ -119,7 +119,7 @@ var dw_mediamanager = { $both = $listType.add($sortBy); // Remove the submit button - $options.find('input[type=submit]').parent().hide(); + $options.find('button[type=submit]').parent().hide(); // Prepare HTML for jQuery UI buttonset $both.find('label').each(function () { @@ -435,7 +435,7 @@ var dw_mediamanager = { dw_mediamanager.$resizables().resizable('destroy'); if (update_list) { - dw_mediamanager.list.call(jQuery('#mediamanager__page form.options input[type="submit"]')[0]); + dw_mediamanager.list.call(jQuery('#mediamanager__page form.options button[type="submit"]')[0]); } $content.html(data); diff --git a/lib/scripts/page.js b/lib/scripts/page.js index 7b4958d8254f2706def95b368be7bb9fbc4074a7..a179ae2a8e45434f79a7eceea0cd87f87e937789 100644 --- a/lib/scripts/page.js +++ b/lib/scripts/page.js @@ -109,8 +109,14 @@ dw_page = { * as well. A state indicator is inserted into the handle and can be styled * by CSS. * - * @param selector handle What should be clicked to toggle - * @param selector content This element will be toggled + * To properly reserve space for the expanded element, the sliding animation is + * done on the children of the content. To make that look good and to make sure aria + * attributes are assigned correctly, it's recommended to make sure that the content + * element contains a single child element only. + * + * @param {selector} handle What should be clicked to toggle + * @param {selector} content This element will be toggled + * @param {int} state initial state (-1 = open, 1 = closed) */ makeToggle: function(handle, content, state){ var $handle, $content, $clicky, $child, setClicky; @@ -160,8 +166,9 @@ dw_page = { // Start animation and assure that $toc is hidden/visible $child.dw_toggle(hidden, function () { $content.toggle(hidden); + $content.attr('aria-expanded', hidden); $content.css('min-height',''); // remove min-height again - }); + }, true); }; // the state indicator diff --git a/lib/scripts/qsearch.js b/lib/scripts/qsearch.js index 95c632e45de1e0ed1f2a12f7dd47fdb933e33931..56cf8df2580ea6608ba7b7d8897aee9481be8891 100644 --- a/lib/scripts/qsearch.js +++ b/lib/scripts/qsearch.js @@ -45,6 +45,7 @@ jQuery.fn.dw_qsearch = function (overrides) { dw_qsearch.clear_results(); return; } + dw_qsearch.$inObj.parents('form').addClass('searching'); dw_qsearch.curRequest = jQuery.post( DOKU_BASE + 'lib/exe/ajax.php', { @@ -81,6 +82,7 @@ jQuery.fn.dw_qsearch = function (overrides) { * Empty and hide the output div */ clear_results: function () { + dw_qsearch.$inObj.parents('form').removeClass('searching'); dw_qsearch.$outObj.hide(); dw_qsearch.$outObj.text(''); }, @@ -95,6 +97,7 @@ jQuery.fn.dw_qsearch = function (overrides) { */ onCompletion: function (data) { var max, $links, too_big; + dw_qsearch.$inObj.parents('form').removeClass('searching'); dw_qsearch.curRequest = null; diff --git a/lib/scripts/toolbar.js b/lib/scripts/toolbar.js index 1bb02b406162a94b633a1a0be1ebf11f24fca97e..a5f831ade4251c3b49e18190dbb7527fd1968a04 100644 --- a/lib/scripts/toolbar.js +++ b/lib/scripts/toolbar.js @@ -243,7 +243,20 @@ function pickerToggle(pickerid,$btn){ } else { $picker.addClass('a11y').attr('aria-hidden', 'true'); } - $picker.offset({left: pos.left+3, top: pos.top+$btn[0].offsetHeight+3}); + var picker_left = pos.left + 3, + picker_width = $picker.width(), + window_width = jQuery(window).width(); + if (picker_width > 300) { + $picker.css("max-width", "300"); + picker_width = 300; + } + if ((picker_left + picker_width + 40) > window_width) { + picker_left = window_width - picker_width - 40; + } + if (picker_left < 0) { + picker_left = 0; + } + $picker.offset({left: picker_left, top: pos.top+$btn[0].offsetHeight+3}); } /** diff --git a/lib/scripts/tw-sack.js b/lib/scripts/tw-sack.js deleted file mode 100644 index b0e570151b60bfd8412a5f8a395986b8648b38c0..0000000000000000000000000000000000000000 --- a/lib/scripts/tw-sack.js +++ /dev/null @@ -1,140 +0,0 @@ -/* Simple AJAX Code-Kit (SACK) */ -/* ©2005 Gregory Wild-Smith */ -/* www.twilightuniverse.com */ -/* Software licenced under a modified X11 licence, see documentation or authors website for more details */ -/* @deprecated */ - -function sack(file){ - this.AjaxFailedAlert = "Your browser does not support the enhanced functionality of this website, and therefore you will have an experience that differs from the intended one.\n"; - this.requestFile = file; - this.method = "POST"; - this.URLString = ""; - this.encodeURIString = true; - this.execute = false; - this.asynchronous = true; - - this.onLoading = function() { }; - this.onLoaded = function() { }; - this.onInteractive = function() { }; - this.onCompletion = function() { }; - this.afterCompletion = function() { }; - - this.createAJAX = function() { - try { - this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); - } catch (err) { - this.xmlhttp = null; - } - } - if(!this.xmlhttp && typeof XMLHttpRequest != "undefined"){ - this.xmlhttp = new XMLHttpRequest(); - } - if (!this.xmlhttp){ - this.failed = true; - } - }; - - this.setVar = function(name, value){ - if (this.URLString.length < 3){ - this.URLString = name + "=" + value; - } else { - this.URLString += "&" + name + "=" + value; - } - }; - - this.encVar = function(name, value){ - var varString = encodeURIComponent(name) + "=" + encodeURIComponent(value); - return varString; - }; - - this.encodeURLString = function(string){ - varArray = string.split('&'); - for (i = 0; i < varArray.length; i++){ - urlVars = varArray[i].split('='); - if (urlVars[0].indexOf('amp;') != -1){ - urlVars[0] = urlVars[0].substring(4); - } - varArray[i] = this.encVar(urlVars[0],urlVars[1]); - } - return varArray.join('&'); - }; - - this.runResponse = function(){ - eval(this.response); - }; - - this.runAJAX = function(urlstring){ - DEPRECATED('Please use jQuery.post() or any other of jQuery\'s AJAX methods.'); - - this.responseStatus = new Array(2); - if(this.failed && this.AjaxFailedAlert){ - alert(this.AjaxFailedAlert); - } else { - if (urlstring){ - if (this.URLString.length){ - this.URLString = this.URLString + "&" + urlstring; - } else { - this.URLString = urlstring; - } - } - if (this.encodeURIString){ - var timeval = new Date().getTime(); - this.URLString = this.encodeURLString(this.URLString); - this.setVar("rndval", timeval); - } - if (this.element) { this.elementObj = document.getElementById(this.element); } - if (this.xmlhttp) { - var self = this; - if (this.method == "GET") { - var totalurlstring = this.requestFile + "?" + this.URLString; - this.xmlhttp.open(this.method, totalurlstring, this.asynchronous); - } else { - this.xmlhttp.open(this.method, this.requestFile, this.asynchronous); - } - if (this.method == "POST"){ - try { - this.xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); - } catch (e) {} - } - - this.xmlhttp.onreadystatechange = function() { - switch (self.xmlhttp.readyState){ - case 1: - self.onLoading(); - break; - case 2: - self.onLoaded(); - break; - case 3: - self.onInteractive(); - break; - case 4: - self.response = self.xmlhttp.responseText; - self.responseXML = self.xmlhttp.responseXML; - self.responseStatus[0] = self.xmlhttp.status; - self.responseStatus[1] = self.xmlhttp.statusText; - self.onCompletion(); - if(self.execute){ self.runResponse(); } - if (self.elementObj) { - var elemNodeName = self.elementObj.nodeName; - elemNodeName.toLowerCase(); - if (elemNodeName == "input" || elemNodeName == "select" || elemNodeName == "option" || elemNodeName == "textarea"){ - self.elementObj.value = self.response; - } else { - self.elementObj.innerHTML = self.response; - } - } - self.afterCompletion(); - self.URLString = ""; - break; - } - }; - this.xmlhttp.send(this.URLString); - } - } - }; -this.createAJAX(); -} diff --git a/lib/tpl/dokuwiki/css/_admin.css b/lib/tpl/dokuwiki/css/_admin.css index a9518d0edad78816caabd780e9bff409796ef1ec..bdde006e0cbcea996cd9b2865d89a324c36c003d 100644 --- a/lib/tpl/dokuwiki/css/_admin.css +++ b/lib/tpl/dokuwiki/css/_admin.css @@ -39,6 +39,9 @@ .dokuwiki ul.admin_tasks li.admin_config { background-image: url(../../images/admin/config.png); } +.dokuwiki ul.admin_tasks li.admin_styling { + background-image: url(../../images/admin/styling.png); +} .dokuwiki ul.admin_tasks li.admin_revert { background-image: url(../../images/admin/revert.png); } diff --git a/lib/tpl/dokuwiki/css/_edit.css b/lib/tpl/dokuwiki/css/_edit.css index f40aaa89199e383750a30872e97a8884e397743e..d6dcb93ab1152381ceb54f98e6ea19a198f82071 100644 --- a/lib/tpl/dokuwiki/css/_edit.css +++ b/lib/tpl/dokuwiki/css/_edit.css @@ -88,7 +88,7 @@ div.picker button.toolbutton { margin-right: 0; margin-left: 1em; } -.dokuwiki .editBar .editButtons input { +.dokuwiki .editBar .editButtons button { } /* summary input and minor changes checkbox */ @@ -130,7 +130,7 @@ div.picker button.toolbutton { [dir=rtl] .dokuwiki .secedit { float: left; } -.dokuwiki .secedit input.button { +.dokuwiki .secedit button { font-size: 75%; } diff --git a/lib/tpl/dokuwiki/css/_forms.css b/lib/tpl/dokuwiki/css/_forms.css index 522f9ed4d0596cca570b4e14036bd9f8ff16f677..bf70fa24b92392ecf7dac6f9c9e923a5c5d44d22 100644 --- a/lib/tpl/dokuwiki/css/_forms.css +++ b/lib/tpl/dokuwiki/css/_forms.css @@ -62,8 +62,7 @@ } -.dokuwiki input.button, -.dokuwiki button.button { +.dokuwiki button { vertical-align: middle; } /** diff --git a/lib/tpl/dokuwiki/css/_links.css b/lib/tpl/dokuwiki/css/_links.css index 7e5fb02cd5920872e7c797ee903ca057258b9f37..695f4b825e2b3762a89cf4eba58d84ffecc3ba26 100644 --- a/lib/tpl/dokuwiki/css/_links.css +++ b/lib/tpl/dokuwiki/css/_links.css @@ -66,5 +66,4 @@ [dir=rtl] .dokuwiki a.mediafile { background-position: right center; padding: 0 18px 0 0; - display: inline-block; /* needed for IE7 */ } diff --git a/lib/tpl/dokuwiki/css/_media_fullscreen.css b/lib/tpl/dokuwiki/css/_media_fullscreen.css index 31b71897bf138ba29d4fe28448c767cfd3fc8c41..92a9d07301e7b4f8f02b3f481dc73f7c516bcb82 100644 --- a/lib/tpl/dokuwiki/css/_media_fullscreen.css +++ b/lib/tpl/dokuwiki/css/_media_fullscreen.css @@ -394,7 +394,7 @@ width: 50%; } -#mediamanager__page form.meta input.button { +#mediamanager__page form.meta button { width: auto; } @@ -407,19 +407,19 @@ /* file revisions form */ -#mediamanager__page #page__revisions ul { +#mediamanager__page form.changes ul { margin-left: 10px; padding: 0; list-style-type: none; } -#mediamanager__page #page__revisions ul li div.li div { +#mediamanager__page form.changes ul li div.li div { font-size: 90%; color: @ini_text_neu; padding-left: 18px; } -#mediamanager__page #page__revisions ul li div.li input { +#mediamanager__page form.changes ul li div.li input { position: relative; top: 1px; } diff --git a/lib/tpl/dokuwiki/css/_media_popup.css b/lib/tpl/dokuwiki/css/_media_popup.css index 20d669c1484f87acab965f1ca659e726da9b67d2..af536489c6e4fcb11e55a9beaaf714471a732172 100644 --- a/lib/tpl/dokuwiki/css/_media_popup.css +++ b/lib/tpl/dokuwiki/css/_media_popup.css @@ -204,7 +204,7 @@ html.popup { } #dw__mediasearch input.edit { } -#dw__mediasearch input.button { +#dw__mediasearch button { } diff --git a/lib/tpl/dokuwiki/css/_modal.css b/lib/tpl/dokuwiki/css/_modal.css index a46dff30e0370555b919bcd3e696c15feeb51264..37f64830ff10c8c870076661004e402abc38844f 100644 --- a/lib/tpl/dokuwiki/css/_modal.css +++ b/lib/tpl/dokuwiki/css/_modal.css @@ -88,7 +88,7 @@ cursor: default; } -#media__popup_content .button { +#media__popup_content button { margin-right: 1px; cursor: pointer; } diff --git a/lib/tpl/dokuwiki/css/basic.less b/lib/tpl/dokuwiki/css/basic.less index ac9f6803a2cbd3d1e5ffc899fc9cb8983a5c8a17..d10cac670d9e6f9766c102eb471655990f57a898 100644 --- a/lib/tpl/dokuwiki/css/basic.less +++ b/lib/tpl/dokuwiki/css/basic.less @@ -228,7 +228,6 @@ video, audio { max-width: 100%; } -#IE7 img, #IE8 img, button img { max-width: none; @@ -414,11 +413,6 @@ button, padding: .1em .5em; cursor: pointer; } -#IE7 input.button, -#IE7 button { - line-height: 1.4; - overflow: visible; -} input[type=submit]:hover, input[type=submit]:active, diff --git a/lib/tpl/dokuwiki/css/content.less b/lib/tpl/dokuwiki/css/content.less index a2e343a33b200fa57d987393129a95c74994836a..23db33cfbdaf19b238a2048e28b8d33fbb75fc0b 100644 --- a/lib/tpl/dokuwiki/css/content.less +++ b/lib/tpl/dokuwiki/css/content.less @@ -140,7 +140,6 @@ dd { margin: 0; clear: left; - min-height: 1px; /* for IE7 */ } pre { @@ -391,4 +390,4 @@ margin-left: 0; margin-right: 9.5em; } -} \ No newline at end of file +} diff --git a/lib/tpl/dokuwiki/css/design.less b/lib/tpl/dokuwiki/css/design.less index 66607b5e91521bc38ef44a51a4f24b370cfc21a3..e314bb5b3a828f59d7a6c89937b560c217947543 100644 --- a/lib/tpl/dokuwiki/css/design.less +++ b/lib/tpl/dokuwiki/css/design.less @@ -117,10 +117,6 @@ padding-right: 20px; } -[dir=rtl] #IE7 #dokuwiki__usertools a.action { - display: inline-block; -} - #dokuwiki__header .mobileTools { display: none; /* hide mobile tools dropdown to only show in mobile view */ } @@ -207,12 +203,12 @@ form.search { position: relative; margin-bottom: 0.5em; - input.edit { + input { width: 18em; padding: .35em 22px .35em .1em; } - input.button { + button { background: transparent url(images/search.png) no-repeat 0 0; border-width: 0; width: 19px; @@ -225,11 +221,11 @@ form.search { } [dir=rtl] form.search { - input.edit { + input { padding: .35em .1em .35em 22px; } - input.button { + button { background-position: 5px 0; margin-left: 0; margin-right: -20px; @@ -237,11 +233,6 @@ form.search { } } -#IE7 form.search { - min-height: 1px; - z-index: 21; -} - /*____________ breadcrumbs ____________*/ .dokuwiki div.breadcrumbs { @@ -273,7 +264,6 @@ form.search { } } -#IE7 .dokuwiki div.breadcrumbs div, #IE8 .dokuwiki div.breadcrumbs div { border-bottom: 1px solid @ini_border; } @@ -349,11 +339,12 @@ form.search { ********************************************************************/ .dokuwiki .pageId { - position: absolute; - top: -2.3em; - right: -1em; + float: right; + margin-right: -1em; + margin-bottom: -1px; + margin-top: -1.5em; overflow: hidden; - padding: 1em 1em 0; + padding: 0.5em 1em 0; span { font-size: 0.875em; @@ -370,6 +361,7 @@ form.search { } .dokuwiki div.page { + clear: both; background: @ini_background; color: inherit; border: 1px solid @ini_background_alt; @@ -396,8 +388,9 @@ form.search { } [dir=rtl] .dokuwiki .pageId { - right: auto; - left: -1em; + float: left; + margin-left: -1em; + margin-right: 0; } /* footer diff --git a/lib/tpl/dokuwiki/css/mobile.less b/lib/tpl/dokuwiki/css/mobile.less index c3e517795d500cd064ff4e6824909f891a767c59..a52c723ca993530f9bd89ac8a1c5d45506fc3cb0 100644 --- a/lib/tpl/dokuwiki/css/mobile.less +++ b/lib/tpl/dokuwiki/css/mobile.less @@ -23,6 +23,7 @@ #dokuwiki__aside { width: 100%; float: none; + margin-bottom: 1.5em; } #dokuwiki__aside > .pad, @@ -158,6 +159,11 @@ body { padding: 0 .5em; } } + +#dokuwiki__aside { + margin-bottom: 0; +} + #dokuwiki__header { padding: .5em 0; } @@ -231,7 +237,7 @@ body { margin: 0 0 .2em .2em; } -#dokuwiki__sitetools form.search input.edit { +#dokuwiki__sitetools form.search input { width: 100% !important; } .dokuwiki form.search div.ajax_qsearch { @@ -255,7 +261,7 @@ body { } /* force same height on search input and tools select */ -#dokuwiki__sitetools form.search input.edit, +#dokuwiki__sitetools form.search input, #dokuwiki__header .mobileTools select { height: 2.1em; line-height: 2.1em; diff --git a/lib/tpl/dokuwiki/css/pagetools.less b/lib/tpl/dokuwiki/css/pagetools.less index 77d2670a647ef3debeeb54bde6cb138c5f1303e1..f441a13638d7db0383c7e0bf44994fcd25941f13 100644 --- a/lib/tpl/dokuwiki/css/pagetools.less +++ b/lib/tpl/dokuwiki/css/pagetools.less @@ -133,25 +133,6 @@ padding: 5px 5px 5px 40px; } -/* IE7 fixes, doesn't work without images */ - -#IE7 #dokuwiki__pagetools ul li a { - background-image: url(images/pagetools-sprite.png?v=2); -} - -#IE7 #dokuwiki__pagetools:hover ul li a span, -#IE7 #dokuwiki__pagetools ul li a:focus span, -#IE7 #dokuwiki__pagetools ul li a:active span { - clip: auto; - display: inline; - position: static; -} - -#IE7 #dokuwiki__pagetools ul li a span { - clip: rect(0 0 0 0); - position: absolute; -} - #dokuwiki__pagetools ul li a:hover, #dokuwiki__pagetools ul li a:active, #dokuwiki__pagetools ul li a:focus { diff --git a/lib/tpl/dokuwiki/css/print.css b/lib/tpl/dokuwiki/css/print.css index 86e686b69422b81bbd9875615e5cf70317b21e37..7197ac1c1428fe75fc4fb3c69cb48efcd4036a48 100644 --- a/lib/tpl/dokuwiki/css/print.css +++ b/lib/tpl/dokuwiki/css/print.css @@ -111,6 +111,9 @@ blockquote { } /* tables */ +.dokuwiki div.table { + margin-bottom: 1.4em; +} table { border-collapse: collapse; empty-cells: show; diff --git a/lib/tpl/dokuwiki/detail.php b/lib/tpl/dokuwiki/detail.php index d4f9c39d1270717a4fafeab12b29025ce2ec09d5..4d798e3af2e37ee782fe31bf303e8a7be2cd4625 100644 --- a/lib/tpl/dokuwiki/detail.php +++ b/lib/tpl/dokuwiki/detail.php @@ -27,7 +27,7 @@ header('X-UA-Compatible: IE=edge,chrome=1'); </head> <body> - <!--[if lte IE 7 ]><div id="IE7"><![endif]--><!--[if IE 8 ]><div id="IE8"><![endif]--> + <!--[if lte IE 8 ]><div id="IE8"><![endif]--> <div id="dokuwiki__site"><div id="dokuwiki__top" class="site <?php echo tpl_classes(); ?>"> <?php include('tpl_header.php') ?> @@ -36,6 +36,7 @@ header('X-UA-Compatible: IE=edge,chrome=1'); <!-- ********** CONTENT ********** --> <div id="dokuwiki__content"><div class="pad group"> + <?php html_msgarea() ?> <?php if(!$ERROR): ?> <div class="pageId"><span><?php echo hsc(tpl_img_getTag('IPTC.Headline',$IMG)); ?></span></div> @@ -56,6 +57,20 @@ header('X-UA-Compatible: IE=edge,chrome=1'); <div class="img_detail"> <?php tpl_img_meta(); ?> + <dl> + <?php + echo '<dt>'.$lang['reference'].':</dt>'; + $media_usage = ft_mediause($IMG,true); + if(count($media_usage) > 0){ + foreach($media_usage as $path){ + echo '<dd>'.html_wikilink($path).'</dd>'; + } + }else{ + echo '<dd>'.$lang['nothingfound'].'</dd>'; + } + ?> + </dl> + <p><?php echo $lang['media_acl_warning']; ?></p> </div> <?php //Comment in for Debug// dbg(tpl_img_getTag('Simple.Raw'));?> <?php endif; ?> @@ -105,6 +120,6 @@ header('X-UA-Compatible: IE=edge,chrome=1'); <?php include('tpl_footer.php') ?> </div></div><!-- /site --> - <!--[if ( lte IE 7 | IE 8 ) ]></div><![endif]--> + <!--[if lte IE 8 ]></div><![endif]--> </body> </html> diff --git a/lib/tpl/dokuwiki/images/apple-touch-icon.png b/lib/tpl/dokuwiki/images/apple-touch-icon.png index fb5f108c06b9822b995e9658025456ddd41625a1..87c99a9194b847a00c6cf211fbf9dea06dc22d72 100644 Binary files a/lib/tpl/dokuwiki/images/apple-touch-icon.png and b/lib/tpl/dokuwiki/images/apple-touch-icon.png differ diff --git a/lib/tpl/dokuwiki/images/button-css.png b/lib/tpl/dokuwiki/images/button-css.png index 706325e1c1b6f7f666a2f655b6874be1d3ee7dd4..5c0f5a9936e2c0c52b150f138b9df462b58c5724 100644 Binary files a/lib/tpl/dokuwiki/images/button-css.png and b/lib/tpl/dokuwiki/images/button-css.png differ diff --git a/lib/tpl/dokuwiki/images/button-html5.png b/lib/tpl/dokuwiki/images/button-html5.png index 5885a331bb0a14ad1bfa14e5770d69eaa70e8428..f7b068811dd47da122d16ade76d538978227a71b 100644 Binary files a/lib/tpl/dokuwiki/images/button-html5.png and b/lib/tpl/dokuwiki/images/button-html5.png differ diff --git a/lib/tpl/dokuwiki/images/button-rss.png b/lib/tpl/dokuwiki/images/button-rss.png index b7cddadec707d93233e3f2c72db8bbdcd6c552ab..aa6b7fca86eaf238e0680a9a22f6ee947bd51381 100644 Binary files a/lib/tpl/dokuwiki/images/button-rss.png and b/lib/tpl/dokuwiki/images/button-rss.png differ diff --git a/lib/tpl/dokuwiki/images/logo.png b/lib/tpl/dokuwiki/images/logo.png index 35640279c228d702aefbc0932f6edb0eea292caa..a1f4995691b91ac58ad41c46f1279b2194000c5c 100644 Binary files a/lib/tpl/dokuwiki/images/logo.png and b/lib/tpl/dokuwiki/images/logo.png differ diff --git a/lib/tpl/dokuwiki/images/page-gradient.png b/lib/tpl/dokuwiki/images/page-gradient.png index 8e16a28052af469ecf10b0d513f4dc814e94a61d..38c74198a9d808cca2d9437903cf7584003d3cc5 100644 Binary files a/lib/tpl/dokuwiki/images/page-gradient.png and b/lib/tpl/dokuwiki/images/page-gradient.png differ diff --git a/lib/tpl/dokuwiki/images/pagetools-build.php b/lib/tpl/dokuwiki/images/pagetools-build.php index 3cf35b2eae2808ea776ec6d2371255bfe6c6fe8d..eaceeb25736c37f910315beec640a42fd63991dc 100644 --- a/lib/tpl/dokuwiki/images/pagetools-build.php +++ b/lib/tpl/dokuwiki/images/pagetools-build.php @@ -15,6 +15,8 @@ $GAMMA = 0.8; $OPTIPNG = '/usr/bin/optipng'; +if('cli' != php_sapi_name()) die('please run from commandline'); + // load input images $input = glob('pagetools/*.png'); sort($input); diff --git a/lib/tpl/dokuwiki/images/pagetools-sprite.png b/lib/tpl/dokuwiki/images/pagetools-sprite.png index b6e80871735026603e4af1459fb35c043c501b4e..8e7f7f876b60b531bf13a32bfc800eee88d53c07 100644 Binary files a/lib/tpl/dokuwiki/images/pagetools-sprite.png and b/lib/tpl/dokuwiki/images/pagetools-sprite.png differ diff --git a/lib/tpl/dokuwiki/images/pagetools/00_default.png b/lib/tpl/dokuwiki/images/pagetools/00_default.png index 95d122e17369affb871bf7e533251244aa2e1290..bcb2de0f8b6c775715495a66e023b5db0d612787 100644 Binary files a/lib/tpl/dokuwiki/images/pagetools/00_default.png and b/lib/tpl/dokuwiki/images/pagetools/00_default.png differ diff --git a/lib/tpl/dokuwiki/images/pagetools/01_edit.png b/lib/tpl/dokuwiki/images/pagetools/01_edit.png index ad4a737d8038b3319dba66188a29f31d8dfc3093..99f3093ee143f5b46b98c3da9103ee05951fce41 100644 Binary files a/lib/tpl/dokuwiki/images/pagetools/01_edit.png and b/lib/tpl/dokuwiki/images/pagetools/01_edit.png differ diff --git a/lib/tpl/dokuwiki/images/pagetools/02_create.png b/lib/tpl/dokuwiki/images/pagetools/02_create.png index e4fc5d3b1085be8d294148272a72fda422052202..57fa68d4250cc2890841ed493c1d46542b7f3136 100644 Binary files a/lib/tpl/dokuwiki/images/pagetools/02_create.png and b/lib/tpl/dokuwiki/images/pagetools/02_create.png differ diff --git a/lib/tpl/dokuwiki/images/pagetools/03_draft.png b/lib/tpl/dokuwiki/images/pagetools/03_draft.png index a13d8c3b4c3557aceaa4113a4cb9476e5aaf0747..ce1c6cf14d5b2f3d96be90cba8e1c461f16f878c 100644 Binary files a/lib/tpl/dokuwiki/images/pagetools/03_draft.png and b/lib/tpl/dokuwiki/images/pagetools/03_draft.png differ diff --git a/lib/tpl/dokuwiki/images/pagetools/04_show.png b/lib/tpl/dokuwiki/images/pagetools/04_show.png index 6f64b1bd1c7b338b819835f47cd248d821007e7c..1ced340dda0ac7dfb88666781033d3a1442c53bd 100644 Binary files a/lib/tpl/dokuwiki/images/pagetools/04_show.png and b/lib/tpl/dokuwiki/images/pagetools/04_show.png differ diff --git a/lib/tpl/dokuwiki/images/pagetools/05_source.png b/lib/tpl/dokuwiki/images/pagetools/05_source.png index bcc4fa21fec3510550fae3c91ce92de67f4817f0..dffe1931a2839dcc9cd31f3c6655dcb0a2836384 100644 Binary files a/lib/tpl/dokuwiki/images/pagetools/05_source.png and b/lib/tpl/dokuwiki/images/pagetools/05_source.png differ diff --git a/lib/tpl/dokuwiki/images/pagetools/06_revert.png b/lib/tpl/dokuwiki/images/pagetools/06_revert.png index 7b8457e5ee5f19d266ea875700ee1362c989d37a..18c6444744c7f03b1789b25c1be0182408caa6ed 100644 Binary files a/lib/tpl/dokuwiki/images/pagetools/06_revert.png and b/lib/tpl/dokuwiki/images/pagetools/06_revert.png differ diff --git a/lib/tpl/dokuwiki/images/pagetools/07_revisions.png b/lib/tpl/dokuwiki/images/pagetools/07_revisions.png index d918bce0505a10f4662d6ce09d77fb5f281ab3cc..e599d016c4742800404b46eb8b18f2614a9402a1 100644 Binary files a/lib/tpl/dokuwiki/images/pagetools/07_revisions.png and b/lib/tpl/dokuwiki/images/pagetools/07_revisions.png differ diff --git a/lib/tpl/dokuwiki/images/pagetools/08_backlink.png b/lib/tpl/dokuwiki/images/pagetools/08_backlink.png index 2c0823a72acf724b88a644570ba278c5361362f4..aa34e27750dd2034a32a17a86c85cecbc781c687 100644 Binary files a/lib/tpl/dokuwiki/images/pagetools/08_backlink.png and b/lib/tpl/dokuwiki/images/pagetools/08_backlink.png differ diff --git a/lib/tpl/dokuwiki/images/pagetools/09_subscribe.png b/lib/tpl/dokuwiki/images/pagetools/09_subscribe.png index 30e039dbc42230ab1c6628dca272a91deec470f5..36254ff5347e2821d0ed829e54fe15be68ed2489 100644 Binary files a/lib/tpl/dokuwiki/images/pagetools/09_subscribe.png and b/lib/tpl/dokuwiki/images/pagetools/09_subscribe.png differ diff --git a/lib/tpl/dokuwiki/images/pagetools/10_top.png b/lib/tpl/dokuwiki/images/pagetools/10_top.png index e4bf1d49d01a6f66272766e7e067a1118709bf71..b930fd25f1f0a1b5741100ca881444a6a261572b 100644 Binary files a/lib/tpl/dokuwiki/images/pagetools/10_top.png and b/lib/tpl/dokuwiki/images/pagetools/10_top.png differ diff --git a/lib/tpl/dokuwiki/images/pagetools/11_mediamanager.png b/lib/tpl/dokuwiki/images/pagetools/11_mediamanager.png index 36116802f0b8a5e60d7f95439bb2a64e807772bd..71b5a3372321c7393120c1ab41e8b674e4dfb883 100644 Binary files a/lib/tpl/dokuwiki/images/pagetools/11_mediamanager.png and b/lib/tpl/dokuwiki/images/pagetools/11_mediamanager.png differ diff --git a/lib/tpl/dokuwiki/images/pagetools/12_back.png b/lib/tpl/dokuwiki/images/pagetools/12_back.png index d154651ec2c860794cf8862258b53b6b37dc3068..6d6093ed6bb84509e772b7b8584b33c8c2051a74 100644 Binary files a/lib/tpl/dokuwiki/images/pagetools/12_back.png and b/lib/tpl/dokuwiki/images/pagetools/12_back.png differ diff --git a/lib/tpl/dokuwiki/images/search.png b/lib/tpl/dokuwiki/images/search.png index 1ab7866fb0410158619d8a793c3a04ac186b4fdf..a07a721df97082deaa8365aeb7a346f8ac459d6c 100644 Binary files a/lib/tpl/dokuwiki/images/search.png and b/lib/tpl/dokuwiki/images/search.png differ diff --git a/lib/tpl/dokuwiki/images/toc-bullet.png b/lib/tpl/dokuwiki/images/toc-bullet.png index fc771b97e0dc8ecb788d5d345388a2e72e723155..a2dfa47e9d874b54a27cf5e1d7b5e0c47ab323ec 100644 Binary files a/lib/tpl/dokuwiki/images/toc-bullet.png and b/lib/tpl/dokuwiki/images/toc-bullet.png differ diff --git a/lib/tpl/dokuwiki/images/usertools.png b/lib/tpl/dokuwiki/images/usertools.png index e99b6596e81bc58e314ae996826efcfb3c925a8d..68102271f2131ca21e3a4a28c52db559f7963fbe 100644 Binary files a/lib/tpl/dokuwiki/images/usertools.png and b/lib/tpl/dokuwiki/images/usertools.png differ diff --git a/lib/tpl/dokuwiki/lang/bg/lang.php b/lib/tpl/dokuwiki/lang/bg/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..7717607c06770d511bf35a8de11abad0a1b2a6a6 --- /dev/null +++ b/lib/tpl/dokuwiki/lang/bg/lang.php @@ -0,0 +1,13 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Kiril <neohidra@gmail.com> + */ +$lang['__background_site__'] = 'ЦвÑÑ‚ за фона, под Ñъдъжанието'; +$lang['__link__'] = 'Стандартен цвÑÑ‚ за препратка'; +$lang['__existing__'] = 'ЦвÑÑ‚ за препратка към ÑъщеÑтвуващи Ñтаници'; +$lang['__missing__'] = 'ЦвÑÑ‚ за препратка към неÑъщеÑтвуващи Ñтаници'; +$lang['__site_width__'] = 'Ширина на Ñ†ÐµÐ»Ð¸Ñ Ñайт (може да бъде вÑÑка мерна единица:%, px, em, ...)'; +$lang['__sidebar_width__'] = 'Ширина на Ñтраничната лента (може да бъде вÑÑка мерна единица:%, px, em, ...)'; diff --git a/lib/tpl/dokuwiki/lang/cs/lang.php b/lib/tpl/dokuwiki/lang/cs/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..6599c73cb8442d0c98b69bef5e6855a11851de3a --- /dev/null +++ b/lib/tpl/dokuwiki/lang/cs/lang.php @@ -0,0 +1,15 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> + */ +$lang['__background_site__'] = 'Barva hlavnÃho pozadà (pod kontextovým boxem)'; +$lang['__link__'] = 'Hlavnà barva odkazů'; +$lang['__existing__'] = 'Barva odkazů na existujÃcà stránky'; +$lang['__missing__'] = 'Barva odkazů na neexistujÃcà stránky'; +$lang['__site_width__'] = 'Å ÃÅ™ka plné stránky (jakákoliv jednotka délky: %, px, em, ...)'; +$lang['__sidebar_width__'] = 'Å ÃÅ™ka postrannÃho panelu, pokud je použit (jakákoliv jednotka délky: %, px, em, ...)'; +$lang['__tablet_width__'] = 'PÅ™epnout stránku do módu pro tablet pro velikost obrazovky menÅ¡Ã než'; +$lang['__phone_width__'] = 'PÅ™epnout stránku do módu pro telefon pro velikost obrazovky menÅ¡Ã než'; diff --git a/lib/tpl/dokuwiki/lang/cs/style.txt b/lib/tpl/dokuwiki/lang/cs/style.txt new file mode 100644 index 0000000000000000000000000000000000000000..e2ebe22b371ce84f91eeb39532e376e25a18dd7b --- /dev/null +++ b/lib/tpl/dokuwiki/lang/cs/style.txt @@ -0,0 +1,2 @@ +Pokud chcete upravit logo, jednoduÅ¡e použijte Media Manager pro nahránà obrázku "logo.png" do koÅ™enového jmenného prostoru "wiki" a ten bude poté použit jako logo. Můžete nahrát také ikonu "favicon.ico". +Pokud použÃváte neveÅ™ejnou wiki, doporuÄujeme udÄ›lit plná práva pro Ätenà prostoru "wiki" (nebo root) v nastavenà ACL, jinak nebude vlastnà logo zobrazeno nepÅ™ihlášeným uživatelům. \ No newline at end of file diff --git a/lib/tpl/dokuwiki/lang/cy/lang.php b/lib/tpl/dokuwiki/lang/cy/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..860ce8f156bc535d42f332bf0b8afd9e961f2930 --- /dev/null +++ b/lib/tpl/dokuwiki/lang/cy/lang.php @@ -0,0 +1,12 @@ +<?php + +// style.ini values + +$lang['__background_site__'] = 'Lliw am y cefndir (tu ôl y blwch cynnwys)'; +$lang['__link__'] = 'Lliw dolenni cyffredinol'; +$lang['__existing__'] = 'Lliw dolenni i dudalennau sy\'n bodoli'; +$lang['__missing__'] = 'Lliw dolenni i dudalennau sy ddim yn bodoli'; +$lang['__site_width__'] = 'Lled y safle cyfan (unrhyw uned: %, px, em, ...)'; +$lang['__sidebar_width__'] = 'Lled y bar ochr, os oes un (unrhyw uned: %, px, em, ...)'; +$lang['__tablet_width__'] = 'O dan y lled sgrin hwn, bydd y safle yn newid i fodd tabled'; +$lang['__phone_width__'] = 'O dan y lled sgrin hwn, bydd y safle yn newid i fodd ffôn'; diff --git a/lib/tpl/dokuwiki/lang/cy/style.txt b/lib/tpl/dokuwiki/lang/cy/style.txt new file mode 100644 index 0000000000000000000000000000000000000000..ce87798a0e48c920f0c354e2b2536b8fd6d0be17 --- /dev/null +++ b/lib/tpl/dokuwiki/lang/cy/style.txt @@ -0,0 +1,4 @@ +Os ydych chi am newid y logo, defnyddiwch y Rheolwr Cyfrwng i lanlwytho ''logo.png'' i ''wici'' neu wraidd y namespace +a chaiff ei ddefnyddio'n awtomatig. Gallwch chi hefyd lanlwytho ''favicon.ico'' yna. Os ydych chi'n defnyddio +wici caeedig, awgrymwyd eich bod chi'n gwneud y ''wici'' (new wraidd) y namespace yn ddarllenadwy i bawb yn y +gosodiadau ACL neu na chaiff eich logo chi ei weld gan ddefnyddwyr sydd heb fewngofnodi. diff --git a/lib/tpl/dokuwiki/lang/de/lang.php b/lib/tpl/dokuwiki/lang/de/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..a17c945d97018c2aaf6daa2b9f761829ad17652a --- /dev/null +++ b/lib/tpl/dokuwiki/lang/de/lang.php @@ -0,0 +1,15 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Anika Henke <anika@selfthinker.org> + */ +$lang['__background_site__'] = 'Farbe für den Seitenhintergrund (hinter dem Inhaltsbereich)'; +$lang['__link__'] = 'Allgemeine Linkfarbe'; +$lang['__existing__'] = 'Farbe für Links zu existierenden Seiten'; +$lang['__missing__'] = 'Farbe für Links zu nicht-existierenden Seiten'; +$lang['__site_width__'] = 'Breite der ganzen Seite (kann eine beliebige Längeneinheit sein: %, px, em, ...)'; +$lang['__sidebar_width__'] = 'Breite der Seitenleiste, falls vorhanden (kann eine beliebige Längeneinheit sein: %, px, em, ...)'; +$lang['__tablet_width__'] = 'Unter dieser Fensterbreite wechselt die Seite in den Tabletmodus'; +$lang['__phone_width__'] = 'Unter dieser Fensterbreite wechselt die Seite in den Handymodus'; diff --git a/lib/tpl/dokuwiki/lang/de/style.txt b/lib/tpl/dokuwiki/lang/de/style.txt new file mode 100644 index 0000000000000000000000000000000000000000..1fd2f332bc2a16948f72a36e65ae5273b77a7773 --- /dev/null +++ b/lib/tpl/dokuwiki/lang/de/style.txt @@ -0,0 +1 @@ +Wenn Sie das Logo anpassen wollen, benutzen Sie einfach den Medien-Manager, um ein ''logo.png'' in den ''wiki''- oder Wurzel-Namensraum hochzuladen. Es wird dann automatisch als Logo verwendet. Sie können dort auch ein 'favicon.ico'' hochladen. Falls Sie ein geschlossenes Wiki haben, ist es empfehlenswert, den ''wiki''- (oder Wurzel-)Namensraum für alle Nutzer in den ACL-Einstellungen zu öffnen. Ansonsten wird das Logo nur für eingeloggte Nutzer angezeigt. \ No newline at end of file diff --git a/lib/tpl/dokuwiki/lang/en/lang.php b/lib/tpl/dokuwiki/lang/en/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..b7b3e7fa114604a0bb9c32749884e4a25ba0d0ed --- /dev/null +++ b/lib/tpl/dokuwiki/lang/en/lang.php @@ -0,0 +1,12 @@ +<?php + +// style.ini values + +$lang['__background_site__'] = 'Color for the very background (behind the content box)'; +$lang['__link__'] = 'The general link color'; +$lang['__existing__'] = 'The color for links to existing pages'; +$lang['__missing__'] = 'The color for links to non-existing pages'; +$lang['__site_width__'] = 'The width of the full site (can be any length unit: %, px, em, ...)'; +$lang['__sidebar_width__'] = 'The width of the sidebar, if any (can be any length unit: %, px, em, ...)'; +$lang['__tablet_width__'] = 'Below screensizes of this width, the site switches to tablet mode'; +$lang['__phone_width__'] = 'Below screensizes of this width, the site switches to phone mode'; diff --git a/lib/tpl/dokuwiki/lang/en/style.txt b/lib/tpl/dokuwiki/lang/en/style.txt new file mode 100644 index 0000000000000000000000000000000000000000..7bf3e1a829247329bdb816a2aef093474ac19aac --- /dev/null +++ b/lib/tpl/dokuwiki/lang/en/style.txt @@ -0,0 +1,4 @@ +If you want to adjust the logo, simply use the Media Manager to upload a ''logo.png'' into the ''wiki'' or the root namespace and it +will be automatically used. You can also upload a ''favicon.ico'' there. If you use a closed +wiki it is recommended to make the ''wiki'' (or root) namespace world readable in the ACL settings or +your logo is not shown to not logged in users. diff --git a/lib/tpl/dokuwiki/lang/es/lang.php b/lib/tpl/dokuwiki/lang/es/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..b63d0dc7d0ac8172fac467f1fae81511d2187805 --- /dev/null +++ b/lib/tpl/dokuwiki/lang/es/lang.php @@ -0,0 +1,15 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Domingo Redal <docxml@gmail.com> + */ +$lang['__background_site__'] = 'Color para el fondo (detrás de la caja de contenido)'; +$lang['__link__'] = 'El color de los enlaces en general'; +$lang['__existing__'] = 'El color de los enlaces a páginas existentes'; +$lang['__missing__'] = 'El color de los enlaces a páginas no existentes'; +$lang['__site_width__'] = 'El ancho de la página completa (puede ser cualquier unidad de longitud: %, px, em, ...)'; +$lang['__sidebar_width__'] = 'El ancho de la barra lateral (puede ser cualquier unidad de longitud: %, px, em, ...)'; +$lang['__tablet_width__'] = 'Para tamaños de pantalla por debajo de esta anchura, el sitio cambia al modo tableta'; +$lang['__phone_width__'] = 'Para tamaños de pantalla por debajo de esta anchura, el sitio cambia al modo teléfono'; diff --git a/lib/tpl/dokuwiki/lang/es/style.txt b/lib/tpl/dokuwiki/lang/es/style.txt new file mode 100644 index 0000000000000000000000000000000000000000..60ce308ffce220a5ccbbc7bbabf1f23d4cc00d00 --- /dev/null +++ b/lib/tpl/dokuwiki/lang/es/style.txt @@ -0,0 +1 @@ +Si desea ajustar el logotipo, sólo tiene que utilizar el Administrador de Medios para cargar un ''logo.png'' dentro de "wiki'' o en el espacio de nombres de la raÃz y se utilizará automáticamente. También puede cargar un ''favicon.ico'' allÃ. Si utiliza un wiki cerrado se recomienda hacer el ''wiki'' (o raÃz) espacio de nombres legible por todo el mundo en la configuración de ACL o su logotipo no se mostrará para que los usuarios no registrados. \ No newline at end of file diff --git a/lib/tpl/dokuwiki/lang/fa/lang.php b/lib/tpl/dokuwiki/lang/fa/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..cb2e95ee4adab7653442bb5721ad885d56eff24a --- /dev/null +++ b/lib/tpl/dokuwiki/lang/fa/lang.php @@ -0,0 +1,15 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Masoud Sadrnezhaad <masoud@sadrnezhaad.ir> + */ +$lang['__background_site__'] = 'رنگ پس‌زمینه (پشت جعبهٔ متن)'; +$lang['__link__'] = 'رنگ لینک معمول'; +$lang['__existing__'] = 'رنگ برای لینک به صÙØات موجود'; +$lang['__missing__'] = 'رنگ برای لینک به صÙØات ناموجود'; +$lang['__site_width__'] = 'عرض Ú©Ù„ سایت (از واØدهای طول شامل % یا px یا em Ùˆ ... می‌شود استÙاده کرد)'; +$lang['__sidebar_width__'] = 'عرض نوار کناری درصورت وجود (از واØدهای طول شامل % یا px یا em Ùˆ ... می‌شود استÙاده کرد)'; +$lang['__tablet_width__'] = 'در پایین اندازه‌های صÙØÙ‡ با این عرض وقتی Ú©Ù‡ در تبلت باز می‌شود'; +$lang['__phone_width__'] = 'در پایین اندازه‌های صÙØÙ‡ با این عرض وقتی Ú©Ù‡ در تلÙÙ† موبایل باز می‌شود'; diff --git a/lib/tpl/dokuwiki/lang/fa/style.txt b/lib/tpl/dokuwiki/lang/fa/style.txt new file mode 100644 index 0000000000000000000000000000000000000000..f9009fd0866f5709cfdda231f03fc854f4f6f850 --- /dev/null +++ b/lib/tpl/dokuwiki/lang/fa/style.txt @@ -0,0 +1 @@ +اگر می‌خواهید یک لوگو تنظیم کنید، به راØتی مدیریت رسانه‌ها را باز کنید Ùˆ یک تصویر با نام ''logo.png'' در Ùضای نام اصلی یا ''wiki'' آپلود کنید. سپس لوگو به صورت اتوماتیک مورد استÙاده قرار می‌گیرد. همچنین می‌توانید یک ''favicon.ico'' در آن‌جا آپلود کنید. اگر از ویکی بسته استÙاده می‌کنید پیشنهاد می‌شود Ú©Ù‡ Ùضای نام ویکی (یا اصلی) در تنظیمات خواندنی به همه باشد یا درغیر اینصورت لوگو به کاربرانی Ú©Ù‡ وارد نشده باشند نمایش داده نمی‌شود. \ No newline at end of file diff --git a/lib/tpl/dokuwiki/lang/fr/lang.php b/lib/tpl/dokuwiki/lang/fr/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..ae74ca83e7da619ff10d2cd68f5135e0f2e399f3 --- /dev/null +++ b/lib/tpl/dokuwiki/lang/fr/lang.php @@ -0,0 +1,15 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Nicolas Friedli <nicolas@theologique.ch> + */ +$lang['__background_site__'] = 'Couleur du fond (derrière la boîte de contenu)'; +$lang['__link__'] = 'Couleur générale des liens'; +$lang['__existing__'] = 'Couleur des liens pour les pages existantes'; +$lang['__missing__'] = 'Couleur des liens pour les pages inexistantes'; +$lang['__site_width__'] = 'Largeur du site complet (dans une unité de longueur valide: %, px, em,...)'; +$lang['__sidebar_width__'] = 'Largeur de la barre latérale, si existante (dans une unité de longueur valide: %, px, em,...)'; +$lang['__tablet_width__'] = 'En dessous de cette largeur, le site passe en mode tablette.'; +$lang['__phone_width__'] = 'En dessous de cette largeur, le site passe en mode smartphone.'; diff --git a/lib/tpl/dokuwiki/lang/fr/style.txt b/lib/tpl/dokuwiki/lang/fr/style.txt new file mode 100644 index 0000000000000000000000000000000000000000..876f116c9ac0177e81ccf8949342c8254e1933d3 --- /dev/null +++ b/lib/tpl/dokuwiki/lang/fr/style.txt @@ -0,0 +1 @@ +Si vous souhaitez modifier le logo, utilisez simplement le gestionnaire de médias et envoyez un fichier nommé "logo.png" dans l'espace de nom "wiki" ou à la racine. Il sera automatiquement utilisé. Il en est de même pour le "favicon.ico". Si vous utilisez un wiki fermé, il est recommandé de régler les ACL de la racine ou de l'espace de nom "wiki" pour rendre ces images visibles aux utilisateurs non connectés. \ No newline at end of file diff --git a/lib/tpl/dokuwiki/lang/hu/lang.php b/lib/tpl/dokuwiki/lang/hu/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..083736623406440c8fc51cecd59d4d5bc75137bd --- /dev/null +++ b/lib/tpl/dokuwiki/lang/hu/lang.php @@ -0,0 +1,15 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Marton Sebok <sebokmarton@gmail.com> + */ +$lang['__background_site__'] = 'Lap szÃne (a tartalom mögött)'; +$lang['__link__'] = 'Hivatkozás általános szÃne'; +$lang['__existing__'] = 'Hivatkozása szÃne létezÅ‘ lapoknál'; +$lang['__missing__'] = 'Hivatkozása szÃne nem létezÅ‘ lapoknál'; +$lang['__site_width__'] = 'Az oldal teljes szélessége (tetszÅ‘leges mértékegységgel: %, px, em, ...)'; +$lang['__sidebar_width__'] = 'Az oldalsáv szélessége (tetszÅ‘leges mértékegységgel: %, px, em, ...)'; +$lang['__tablet_width__'] = 'Váltás tablet-módra ezen szélesség alatt'; +$lang['__phone_width__'] = 'Váltás mobiltelefon-módra ezen szélesség alatt'; diff --git a/lib/tpl/dokuwiki/lang/hu/style.txt b/lib/tpl/dokuwiki/lang/hu/style.txt new file mode 100644 index 0000000000000000000000000000000000000000..1cdf517b32738ec60f5ddab3082c75f4ed4bb292 --- /dev/null +++ b/lib/tpl/dokuwiki/lang/hu/style.txt @@ -0,0 +1 @@ +A logó megváltoztatásához tölts fel egy képet "logo.png" néven a "wiki" névtérbe vagy a kiindulási névtérbe. UgyanÃgy feltöltheted ide az oldalhoz tartozó ikont is, "favicon.ico" néven. Ha zárt wikit használsz, javasoljuk, hogy állÃtsd be a "wiki" (vagy a kiindulási) névteret mindenki számára olvashatónak, különben a logót csak a bejelentkezett felhasználók fogják látni. \ No newline at end of file diff --git a/lib/tpl/dokuwiki/lang/it/lang.php b/lib/tpl/dokuwiki/lang/it/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..954f0f753bfdaf565851f58b4e17ce4ee6f1848b --- /dev/null +++ b/lib/tpl/dokuwiki/lang/it/lang.php @@ -0,0 +1,15 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Torpedo <dgtorpedo@gmail.com> + */ +$lang['__background_site__'] = 'Colore per lo sfondo di livello più basso (dietro il riquadro del contenuto)'; +$lang['__link__'] = 'Colore generale per i link'; +$lang['__existing__'] = 'Colore per i collegamenti alle pagine esistenti'; +$lang['__missing__'] = 'Colore per i collegamenti alle pagine non esistenti'; +$lang['__site_width__'] = 'Larghezza dell\'intero sito (può essere una qualunque unità di lunghezza: %, px, em, ...)'; +$lang['__sidebar_width__'] = 'Larghezza della barra laterale, se presente (può essere una qualunque unità di lunghezza: %, px, em, ...)'; +$lang['__tablet_width__'] = 'Per dimensioni dello schermo al di sotto di questa larghezza, il sito passa in modalità tablet'; +$lang['__phone_width__'] = 'Per dimensioni dello schermo al di sotto di questa larghezza, il sito passa in modalità telefono'; diff --git a/lib/tpl/dokuwiki/lang/it/style.txt b/lib/tpl/dokuwiki/lang/it/style.txt new file mode 100644 index 0000000000000000000000000000000000000000..1179f086a2148b0d4cd696dfb2026bd914aa29f2 --- /dev/null +++ b/lib/tpl/dokuwiki/lang/it/style.txt @@ -0,0 +1 @@ +Se vuoi modificare il logo, semplicemente usa Media Manager per caricare un ''logo.png'' in ''wiki'' o nella directory root e questo verrà automaticamente usato. Qui puoi anche caricare una ''favicon.ico''. Se utilizzi un wiki chiuso si raccomanda di rendere la directory ''wiki'' (o root) leggibile a tutti, nelle impostazioni ACL, altrimenti il tuo logo non sarà visibile agli utenti che non hanno effettuato l'accesso. \ No newline at end of file diff --git a/lib/tpl/dokuwiki/lang/ja/lang.php b/lib/tpl/dokuwiki/lang/ja/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..1800e2aaa235535365cefe701d9d23d922de4d79 --- /dev/null +++ b/lib/tpl/dokuwiki/lang/ja/lang.php @@ -0,0 +1,15 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Hideaki SAWADA <chuno@live.jp> + */ +$lang['__background_site__'] = 'サイト全体ã®èƒŒæ™¯è‰²ï¼ˆcontent box ã®èƒŒå¾Œï¼‰'; +$lang['__link__'] = '通常ã®ãƒªãƒ³ã‚¯è‰²'; +$lang['__existing__'] = 'æ—¢å˜ãƒšãƒ¼ã‚¸ã¸ã®ãƒªãƒ³ã‚¯è‰²'; +$lang['__missing__'] = 'å˜åœ¨ã—ãªã„ページã¸ã®ãƒªãƒ³ã‚¯è‰²'; +$lang['__site_width__'] = 'サイトã®å…¨ä½“幅(任æ„ã®é•·ã•ã®å˜ä½ã‚’使用å¯èƒ½ï¼š % px em 他)'; +$lang['__sidebar_width__'] = 'サイドãƒãƒ¼ãŒã‚ã‚‹å ´åˆã€ã‚µã‚¤ãƒ‰ãƒãƒ¼ã®å¹…(任æ„ã®é•·ã•ã®å˜ä½ã‚’使用å¯èƒ½ï¼š % px em 他)'; +$lang['__tablet_width__'] = 'タブレットモードã«ã‚µã‚¤ãƒˆã‚’切替ãˆã‚‹ã€ç”»é¢å¹…'; +$lang['__phone_width__'] = 'æºå¸¯é›»è©±ãƒ¢ãƒ¼ãƒ‰ã«ã‚µã‚¤ãƒˆã‚’切替ãˆã‚‹ã€ç”»é¢å¹…'; diff --git a/lib/tpl/dokuwiki/lang/ja/style.txt b/lib/tpl/dokuwiki/lang/ja/style.txt new file mode 100644 index 0000000000000000000000000000000000000000..ab032e7ec48010c57b0606c4c611749fe719a8d8 --- /dev/null +++ b/lib/tpl/dokuwiki/lang/ja/style.txt @@ -0,0 +1,5 @@ +ãƒã‚´ã‚’変更ã—ãŸã„å ´åˆã€ãƒ¡ãƒ‡ã‚£ã‚¢ç®¡ç†ã‚’利用ã—ã¦ã€Œwikiã€ã¾ãŸã¯ãƒ«ãƒ¼ãƒˆåå‰ç©ºé–“ã«ã€Œlogo.pngã€ã‚’アップãƒãƒ¼ãƒ‰ã—ã¦ä¸‹ã•ã„。 +自動的ã«ãã®ç”»åƒã‚’使用ã—ã¾ã™ã€‚ +åŒã˜å ´æ‰€ã«ã€Œfavicon.icoã€ã‚’アップãƒãƒ¼ãƒ‰ã—ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ +アクセス制é™ã®ã‚ã‚‹ wiki を使用ã—ã¦ã„ã‚‹å ´åˆã€ã‚¢ã‚¯ã‚»ã‚¹ã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ«ç®¡ç†ã§ã€Œwikiã€ã¾ãŸã¯ãƒ«ãƒ¼ãƒˆåå‰ç©ºé–“を全員èªå–å¯ã«è¨å®šã—ã¦ä¸‹ã•ã„。 +ãã†ã§ãªã„ã¨ãƒã‚°ã‚¤ãƒ³ã—ã¦ã„ãªã„ユーザーã«ãƒã‚´ãŒè¡¨ç¤ºã•ã‚Œã¾ã›ã‚“。 \ No newline at end of file diff --git a/lib/tpl/dokuwiki/lang/ko/lang.php b/lib/tpl/dokuwiki/lang/ko/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..efcb44a7fa62f3d868fbc7eb8b006ff747826c1e --- /dev/null +++ b/lib/tpl/dokuwiki/lang/ko/lang.php @@ -0,0 +1,15 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Myeongjin <aranet100@gmail.com> + */ +$lang['__background_site__'] = '(ë‚´ìš© ìƒìž ë’¤ì˜) 매우 ë°°ê²½ 색'; +$lang['__link__'] = 'ì¼ë°˜ ë§í¬ 색'; +$lang['__existing__'] = '문서가 존재하는 ë§í¬ì˜ 색'; +$lang['__missing__'] = '문서가 존재하지 않는 ë§í¬ì˜ 색'; +$lang['__site_width__'] = 'ì „ì²´ 사ì´íŠ¸ì˜ 너비 (아무 ê¸¸ì´ ë‹¨ìœ„ë‚˜ ë 수 있ìŒ: %, px, em, ...)'; +$lang['__sidebar_width__'] = '사ì´ë“œë°”ê°€ 있다면, ê·¸ê²ƒì˜ ë„ˆë¹„ (아무 ê¸¸ì´ ë‹¨ìœ„ë‚˜ ë 수 있ìŒ: %, px, em, ...)'; +$lang['__tablet_width__'] = '사ì´íŠ¸ë¥¼ 태블릿 모드로 ì „í™˜í• í™”ë©´ 너비'; +$lang['__phone_width__'] = '사ì´íŠ¸ë¥¼ í° ëª¨ë“œë¡œ ì „í™˜í• í™”ë©´ 너비'; diff --git a/lib/tpl/dokuwiki/lang/ko/style.txt b/lib/tpl/dokuwiki/lang/ko/style.txt new file mode 100644 index 0000000000000000000000000000000000000000..306f40edbebbd7507fa04e88ca0d7496e1980093 --- /dev/null +++ b/lib/tpl/dokuwiki/lang/ko/style.txt @@ -0,0 +1,4 @@ +ë¡œê³ ë¥¼ ì¡°ì •í•˜ë ¤ë©´, 간단히 미디어 관리ìžë¥¼ 사용하여 ''wiki''나 루트 ì´ë¦„공간 ì•ˆì— ''logo.png''를 올리면 +ìžë™ìœ¼ë¡œ 사용ë©ë‹ˆë‹¤. ë˜í•œ ì—¬ê¸°ì— ''favicon.ico''를 올릴 수 있습니다. 만약 닫힌 위키를 사용한다면 +ACL ì„¤ì •ì—ì„œ ''wiki'' (ë˜ëŠ” 루트) ì´ë¦„ê³µê°„ì„ ì „ì—으로 ì½ì„ 수 있ë„ë¡ ì„¤ì •í•˜ê±°ë‚˜ ë¡œê³ ë¥¼ 사용ìžê°€ +로그ì¸í•˜ì§€ 않으면 보여주지 ì•Šë„ë¡ ì„¤ì •í•˜ëŠ” ê²ƒì„ ê¶Œìž¥í•©ë‹ˆë‹¤. \ No newline at end of file diff --git a/lib/tpl/dokuwiki/lang/nl/lang.php b/lib/tpl/dokuwiki/lang/nl/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..cb84fd82a4dc983aba1e85f3d3d42ccfe0bd2ebc --- /dev/null +++ b/lib/tpl/dokuwiki/lang/nl/lang.php @@ -0,0 +1,15 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author hugo smet <hugo.smet@scarlet.be> + */ +$lang['__background_site__'] = 'Kleur voor de onderste ondergrond (achter de inhoud kader)'; +$lang['__link__'] = 'Kleur voor algemene link'; +$lang['__existing__'] = 'Kleur voor link naar bestaande pagina\'s.'; +$lang['__missing__'] = 'Kleur voor link naar onbestaande pagina\'s'; +$lang['__site_width__'] = 'Breedte van de max site (in gelijk welke eenheid: %, px, em,...)'; +$lang['__sidebar_width__'] = 'Breedte van de zijbalk, indien aanwezig (in gelijk welke eenheid: %, px, em,...)'; +$lang['__tablet_width__'] = 'Beneden de breedte van deze schermafmetingen schakelt de site over naar tablet modus.'; +$lang['__phone_width__'] = 'Beneden de breedte van deze schermafmetingen schakelt de site over naar telefoon modus.'; diff --git a/lib/tpl/dokuwiki/lang/nl/style.txt b/lib/tpl/dokuwiki/lang/nl/style.txt new file mode 100644 index 0000000000000000000000000000000000000000..55de5c7c0a58aface61dca3b63bd261d8744b25a --- /dev/null +++ b/lib/tpl/dokuwiki/lang/nl/style.txt @@ -0,0 +1 @@ +Wil je het logo aanpassen, gebruik dan de Media Manager om een "logo.png" in "wiki" of root naamruimte te uploaden. Dit logo zal dan automatisch gebruikt worden. Je kunt zo ook een "favicon.ico" uploaden. Indien je een gesloten wiki gebruikt is het aan te raden om de "wiki" (of root) naamruimte leesbaar te maken voor iedereen via de ACL instellingen, want anders wordt je logo niet getoond aan niet-ingelogde gebruikers. diff --git a/lib/tpl/dokuwiki/lang/pt-br/lang.php b/lib/tpl/dokuwiki/lang/pt-br/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..0392652747dcd4577cd07d5d14d77de21c35687c --- /dev/null +++ b/lib/tpl/dokuwiki/lang/pt-br/lang.php @@ -0,0 +1,15 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Frederico Gonçalves Guimarães <frederico@teia.bio.br> + */ +$lang['__background_site__'] = 'Cor para o fundo da tela (atrás da caixa de conteúdo)'; +$lang['__link__'] = 'Cor dos links gerais'; +$lang['__existing__'] = 'Cor dos links para páginas existentes'; +$lang['__missing__'] = 'Cor dos links para páginas não existentes'; +$lang['__site_width__'] = 'Largura do site inteiro (pode ser qualquer unidade: %, px, em, ...)'; +$lang['__sidebar_width__'] = 'Largura da barra lateral, caso exista (pode ser qualquer unidade: %, px, em, ...)'; +$lang['__tablet_width__'] = 'Em larguras abaixo dessa medida, o site mudará para o modo tablet'; +$lang['__phone_width__'] = 'Em larguras abaixo dessa medida, o site mudará para o modo telefone'; diff --git a/lib/tpl/dokuwiki/lang/pt-br/style.txt b/lib/tpl/dokuwiki/lang/pt-br/style.txt new file mode 100644 index 0000000000000000000000000000000000000000..52475d8cf9569442f198333d96efbbb49621d2b2 --- /dev/null +++ b/lib/tpl/dokuwiki/lang/pt-br/style.txt @@ -0,0 +1 @@ +Caso queira ajustar a logo, use o Gerenciador de MÃdias para enviar um "logo.png" para o espaço de nomes "wiki" ou para a raiz e ele será automaticamente usado. Você também pode enviar um "favicon.ico". Caso o seu wiki seja fechado, é recomendável que o espaço de nomes "wiki" (ou a raiz) tenha permissão de leitura nas configurações de ACL, caso contrário a sua logo não será exibida para usuários não autenticados. \ No newline at end of file diff --git a/lib/tpl/dokuwiki/lang/ru/lang.php b/lib/tpl/dokuwiki/lang/ru/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..66066b13c43745b7a062ffe63fddcf77adf8054a --- /dev/null +++ b/lib/tpl/dokuwiki/lang/ru/lang.php @@ -0,0 +1,16 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author RainbowSpike <1@2.ru> + * @author Aleksandr Selivanov <alexgearbox@yandex.ru> + */ +$lang['__background_site__'] = 'Цвет Ð´Ð»Ñ Ð´Ð°Ð»ÑŒÐ½ÐµÐ³Ð¾ фона (за окном Ñодержимого)'; +$lang['__link__'] = 'ОÑновной цвет ÑÑылок'; +$lang['__existing__'] = 'Цвет ÑÑылок на ÑущеÑтвующие Ñтраницы'; +$lang['__missing__'] = 'Цвет ÑÑылок на неÑущеÑтвующие Ñтраницы'; +$lang['__site_width__'] = 'Ширина вÑего Ñайта (любые CSS-единицы)'; +$lang['__sidebar_width__'] = 'Ширина боковой панели, еÑли еÑÑ‚ÑŒ (любые CSS-единицы)'; +$lang['__tablet_width__'] = 'Переключать Ñайт в планшетный вид ниже ширины'; +$lang['__phone_width__'] = 'Переключать Ñайт в мобильный вид ниже ширины'; diff --git a/lib/tpl/dokuwiki/lang/ru/style.txt b/lib/tpl/dokuwiki/lang/ru/style.txt new file mode 100644 index 0000000000000000000000000000000000000000..43bdcd162afbb47c03b2f1c6d3e53b8eda27b170 --- /dev/null +++ b/lib/tpl/dokuwiki/lang/ru/style.txt @@ -0,0 +1 @@ +ЕÑли вы хотите изменить логотип, проÑто иÑпользуйте «Управление медиафайлами» Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ файла ''logo.png'' в корневое проÑтранÑтво имён или ''wiki'', и тогда он будет иÑпользоватьÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки. Туда же вы можете загрузить ''favicon.ico''. ЕÑли ÑƒÂ Ð²Ð°Ñ Â«Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð°Ñ» вики, рекомендуетÑÑ ÑƒÐºÐ°Ð·Ð°Ñ‚ÑŒ права на «чтение» в ÑпиÑках ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð´Ð¾Ñтупа Ð´Ð»Ñ Ð¿Ñ€Ð¾ÑтранÑтва имён ''wiki'' (или корневое), иначе логотип не будет показыватьÑÑ Ð½ÐµÐ·Ð°Ð»Ð¾Ð³Ð¸Ð½Ð¸Ð²ÑˆÐ¸Ð¼ÑÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñм. \ No newline at end of file diff --git a/lib/tpl/dokuwiki/lang/sk/lang.php b/lib/tpl/dokuwiki/lang/sk/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..ca611f838dd8aba9dee14b189c84699519a8e93a --- /dev/null +++ b/lib/tpl/dokuwiki/lang/sk/lang.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Martin Michalek <michalek.dev@gmail.com> + */ +$lang['__background_site__'] = 'Farba základného pozadia (za oknom s obsahom)'; +$lang['__link__'] = 'VÅ¡eobecná farba odkazu'; +$lang['__existing__'] = 'Farba odkazov na existujúce stránky'; +$lang['__missing__'] = 'Farba odkazov na neexistujúce stránky'; diff --git a/lib/tpl/dokuwiki/lang/zh/lang.php b/lib/tpl/dokuwiki/lang/zh/lang.php new file mode 100644 index 0000000000000000000000000000000000000000..768114757d53c4212b1c25bc255be517b03f568b --- /dev/null +++ b/lib/tpl/dokuwiki/lang/zh/lang.php @@ -0,0 +1,15 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author lainme <lainme993@gmail.com> + */ +$lang['__background_site__'] = '特别背景的颜色 (内容框åŽé¢)'; +$lang['__link__'] = '一般链接的颜色'; +$lang['__existing__'] = '指å‘å˜åœ¨çš„页é¢çš„链接颜色'; +$lang['__missing__'] = '指å‘ä¸å˜åœ¨çš„页é¢çš„链接颜色'; +$lang['__site_width__'] = '全站的宽度 (å¯ä»¥æ˜¯ä»»ä½•é•¿åº¦å•ä½ï¼š%,px,em,...)'; +$lang['__sidebar_width__'] = '侧边æ 的宽度 (如有,å¯ä»¥æ˜¯ä»»ä½•é•¿åº¦å•ä½ï¼š%,px,em,...)'; +$lang['__tablet_width__'] = '当å±å¹•å°ºå¯¸å°äºŽè¿™ä¸ªå®½åº¦ï¼Œç«™ç‚¹åˆ‡æ¢åˆ°å¹³æ¿æ¨¡å¼'; +$lang['__phone_width__'] = '当å±å¹•å°ºå¯¸å°äºŽè¿™ä¸ªå®½åº¦ï¼Œç«™ç‚¹åˆ‡æ¢åˆ°æ‰‹æœºæ¨¡å¼'; diff --git a/lib/tpl/dokuwiki/lang/zh/style.txt b/lib/tpl/dokuwiki/lang/zh/style.txt new file mode 100644 index 0000000000000000000000000000000000000000..3f69212010b79c8ba8f365244c40a2bda47d0ba7 --- /dev/null +++ b/lib/tpl/dokuwiki/lang/zh/style.txt @@ -0,0 +1 @@ +如果您想调整logo,åªéœ€ä½¿ç”¨åª’体管ç†å™¨å°†â€œlogo.pngâ€ä¸Šä¼ 到“wikiâ€æˆ–è€…æ ¹å‘½å空间下。您也å¯ä»¥åŒæ ·ä¸Šä¼ 一个“favicon.icoâ€ã€‚如果您采用的是å°é—维基,建议在ACL设置ä¸å°†â€œwiki†(æˆ–è€…æ ¹) 命å空间设置为全局å¯è¯»ï¼Œå¦åˆ™æœªç™»å½•ç”¨æˆ·æ— 法看到您的logo。 \ No newline at end of file diff --git a/lib/tpl/dokuwiki/main.php b/lib/tpl/dokuwiki/main.php index 10c0bf91e5249f16ba6e4c7bde9d68e85cf7f4ee..9fea1b133f27e9be830462334a861d572a6ff576 100644 --- a/lib/tpl/dokuwiki/main.php +++ b/lib/tpl/dokuwiki/main.php @@ -26,7 +26,7 @@ $showSidebar = $hasSidebar && ($ACT=='show'); </head> <body> - <!--[if lte IE 7 ]><div id="IE7"><![endif]--><!--[if IE 8 ]><div id="IE8"><![endif]--> + <!--[if lte IE 8 ]><div id="IE8"><![endif]--> <div id="dokuwiki__site"><div id="dokuwiki__top" class="site <?php echo tpl_classes(); ?> <?php echo ($showSidebar) ? 'showSidebar' : ''; ?> <?php echo ($hasSidebar) ? 'hasSidebar' : ''; ?>"> @@ -38,17 +38,18 @@ $showSidebar = $hasSidebar && ($ACT=='show'); <!-- ********** ASIDE ********** --> <div id="dokuwiki__aside"><div class="pad aside include group"> <h3 class="toggle"><?php echo $lang['sidebar'] ?></h3> - <div class="content"> + <div class="content"><div class="group"> <?php tpl_flush() ?> <?php tpl_includeFile('sidebarheader.html') ?> <?php tpl_include_page($conf['sidebar'], true, true) ?> <?php tpl_includeFile('sidebarfooter.html') ?> - </div> + </div></div> </div></div><!-- /aside --> <?php endif; ?> <!-- ********** CONTENT ********** --> <div id="dokuwiki__content"><div class="pad group"> + <?php html_msgarea() ?> <div class="pageId"><span><?php echo hsc($ID) ?></span></div> @@ -105,6 +106,6 @@ $showSidebar = $hasSidebar && ($ACT=='show'); <div class="no"><?php tpl_indexerWebBug() /* provide DokuWiki housekeeping, required in all templates */ ?></div> <div id="screen__mode" class="no"></div><?php /* helper to detect CSS media query in script.js */ ?> - <!--[if ( lte IE 7 | IE 8 ) ]></div><![endif]--> + <!--[if lte IE 8 ]></div><![endif]--> </body> </html> diff --git a/lib/tpl/dokuwiki/mediamanager.php b/lib/tpl/dokuwiki/mediamanager.php index dadf2b10f87d802de1c19a6a4277bf9d1379084f..b3127176611f0288f0cfb7a01c50d80544eb7c39 100644 --- a/lib/tpl/dokuwiki/mediamanager.php +++ b/lib/tpl/dokuwiki/mediamanager.php @@ -25,7 +25,7 @@ header('X-UA-Compatible: IE=edge,chrome=1'); </head> <body> - <!--[if lte IE 7 ]><div id="IE7"><![endif]--><!--[if IE 8 ]><div id="IE8"><![endif]--> + <!--[if lte IE 8 ]><div id="IE8"><![endif]--> <div id="media__manager" class="dokuwiki"> <?php html_msgarea() ?> <div id="mediamgr__aside"><div class="pad"> @@ -41,6 +41,6 @@ header('X-UA-Compatible: IE=edge,chrome=1'); <?php tpl_mediaContent() ?> </div></div> </div> - <!--[if ( lte IE 7 | IE 8 ) ]></div><![endif]--> + <!--[if lte IE 8 ]></div><![endif]--> </body> </html> diff --git a/lib/tpl/dokuwiki/template.info.txt b/lib/tpl/dokuwiki/template.info.txt index 804d595ae39f357b3fe071bc6837790d662b6007..73ad93927aad48e03392c66ace112f7780dfd525 100644 --- a/lib/tpl/dokuwiki/template.info.txt +++ b/lib/tpl/dokuwiki/template.info.txt @@ -1,7 +1,7 @@ base dokuwiki author Anika Henke email anika@selfthinker.org -date 2014-06-04 +date 2015-07-26 name DokuWiki Template desc DokuWiki's default template since 2012 url http://www.dokuwiki.org/template:dokuwiki diff --git a/lib/tpl/dokuwiki/tpl_header.php b/lib/tpl/dokuwiki/tpl_header.php index 7d9c8834747a6f643847022cdddacfa214e925ee..5b092c5644819d164223f08289379f4e7f7779e0 100644 --- a/lib/tpl/dokuwiki/tpl_header.php +++ b/lib/tpl/dokuwiki/tpl_header.php @@ -46,10 +46,12 @@ if (!defined('DOKU_INC')) die(); tpl_userinfo(); /* 'Logged in as ...' */ echo '</li>'; } - tpl_action('admin', true, 'li'); - tpl_action('profile', true, 'li'); - tpl_action('register', true, 'li'); - tpl_action('login', true, 'li'); + tpl_toolsevent('usertools', array( + tpl_action('admin', true, 'li', true), + tpl_action('profile', true, 'li', true), + tpl_action('register', true, 'li', true), + tpl_action('login', true, 'li', true) + )); ?> </ul> </div> @@ -64,9 +66,11 @@ if (!defined('DOKU_INC')) die(); </div> <ul> <?php - tpl_action('recent', true, 'li'); - tpl_action('media', true, 'li'); - tpl_action('index', true, 'li'); + tpl_toolsevent('sitetools', array( + tpl_action('recent', true, 'li', true), + tpl_action('media', true, 'li', true), + tpl_action('index', true, 'li', true) + )); ?> </ul> </div> @@ -85,7 +89,7 @@ if (!defined('DOKU_INC')) die(); </div> <?php endif ?> - <?php html_msgarea() ?> + <hr class="a11y" /> </div></div><!-- /header --> diff --git a/vendor/README b/vendor/README new file mode 100644 index 0000000000000000000000000000000000000000..e4027f419560c19f98684c6b2a52ed8a1289f905 --- /dev/null +++ b/vendor/README @@ -0,0 +1,6 @@ +====== composer managed libraries ====== + +All file within here are manged through composer and should not be +edited directly. Instead provide upstream patches. + +Learn more about Composer at http://getcomposer.org diff --git a/vendor/autoload.php b/vendor/autoload.php new file mode 100644 index 0000000000000000000000000000000000000000..88c7fd93b4f81107eb73d97d9ab635e3e3db33d4 --- /dev/null +++ b/vendor/autoload.php @@ -0,0 +1,7 @@ +<?php + +// autoload.php @generated by Composer + +require_once __DIR__ . '/composer' . '/autoload_real.php'; + +return ComposerAutoloaderInita19a915ee98347a0c787119619d2ff9b::getLoader(); diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php new file mode 100644 index 0000000000000000000000000000000000000000..5e1469e8307d9c644831f694ed8eccdd4afccc28 --- /dev/null +++ b/vendor/composer/ClassLoader.php @@ -0,0 +1,413 @@ +<?php + +/* + * This file is part of Composer. + * + * (c) Nils Adermann <naderman@naderman.de> + * Jordi Boggiano <j.boggiano@seld.be> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer\Autoload; + +/** + * ClassLoader implements a PSR-0 class loader + * + * See https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md + * + * $loader = new \Composer\Autoload\ClassLoader(); + * + * // register classes with namespaces + * $loader->add('Symfony\Component', __DIR__.'/component'); + * $loader->add('Symfony', __DIR__.'/framework'); + * + * // activate the autoloader + * $loader->register(); + * + * // to enable searching the include path (eg. for PEAR packages) + * $loader->setUseIncludePath(true); + * + * In this example, if you try to use a class in the Symfony\Component + * namespace or one of its children (Symfony\Component\Console for instance), + * the autoloader will first look for the class under the component/ + * directory, and it will then fallback to the framework/ directory if not + * found before giving up. + * + * This class is loosely based on the Symfony UniversalClassLoader. + * + * @author Fabien Potencier <fabien@symfony.com> + * @author Jordi Boggiano <j.boggiano@seld.be> + */ +class ClassLoader +{ + // PSR-4 + private $prefixLengthsPsr4 = array(); + private $prefixDirsPsr4 = array(); + private $fallbackDirsPsr4 = array(); + + // PSR-0 + private $prefixesPsr0 = array(); + private $fallbackDirsPsr0 = array(); + + private $useIncludePath = false; + private $classMap = array(); + + private $classMapAuthoritative = false; + + public function getPrefixes() + { + if (!empty($this->prefixesPsr0)) { + return call_user_func_array('array_merge', $this->prefixesPsr0); + } + + return array(); + } + + public function getPrefixesPsr4() + { + return $this->prefixDirsPsr4; + } + + public function getFallbackDirs() + { + return $this->fallbackDirsPsr0; + } + + public function getFallbackDirsPsr4() + { + return $this->fallbackDirsPsr4; + } + + public function getClassMap() + { + return $this->classMap; + } + + /** + * @param array $classMap Class to filename map + */ + public function addClassMap(array $classMap) + { + if ($this->classMap) { + $this->classMap = array_merge($this->classMap, $classMap); + } else { + $this->classMap = $classMap; + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, either + * appending or prepending to the ones previously set for this prefix. + * + * @param string $prefix The prefix + * @param array|string $paths The PSR-0 root directories + * @param bool $prepend Whether to prepend the directories + */ + public function add($prefix, $paths, $prepend = false) + { + if (!$prefix) { + if ($prepend) { + $this->fallbackDirsPsr0 = array_merge( + (array) $paths, + $this->fallbackDirsPsr0 + ); + } else { + $this->fallbackDirsPsr0 = array_merge( + $this->fallbackDirsPsr0, + (array) $paths + ); + } + + return; + } + + $first = $prefix[0]; + if (!isset($this->prefixesPsr0[$first][$prefix])) { + $this->prefixesPsr0[$first][$prefix] = (array) $paths; + + return; + } + if ($prepend) { + $this->prefixesPsr0[$first][$prefix] = array_merge( + (array) $paths, + $this->prefixesPsr0[$first][$prefix] + ); + } else { + $this->prefixesPsr0[$first][$prefix] = array_merge( + $this->prefixesPsr0[$first][$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, either + * appending or prepending to the ones previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param array|string $paths The PSR-0 base directories + * @param bool $prepend Whether to prepend the directories + * + * @throws \InvalidArgumentException + */ + public function addPsr4($prefix, $paths, $prepend = false) + { + if (!$prefix) { + // Register directories for the root namespace. + if ($prepend) { + $this->fallbackDirsPsr4 = array_merge( + (array) $paths, + $this->fallbackDirsPsr4 + ); + } else { + $this->fallbackDirsPsr4 = array_merge( + $this->fallbackDirsPsr4, + (array) $paths + ); + } + } elseif (!isset($this->prefixDirsPsr4[$prefix])) { + // Register directories for a new namespace. + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } elseif ($prepend) { + // Prepend directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + (array) $paths, + $this->prefixDirsPsr4[$prefix] + ); + } else { + // Append directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + $this->prefixDirsPsr4[$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, + * replacing any others previously set for this prefix. + * + * @param string $prefix The prefix + * @param array|string $paths The PSR-0 base directories + */ + public function set($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr0 = (array) $paths; + } else { + $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, + * replacing any others previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param array|string $paths The PSR-4 base directories + * + * @throws \InvalidArgumentException + */ + public function setPsr4($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr4 = (array) $paths; + } else { + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } + } + + /** + * Turns on searching the include path for class files. + * + * @param bool $useIncludePath + */ + public function setUseIncludePath($useIncludePath) + { + $this->useIncludePath = $useIncludePath; + } + + /** + * Can be used to check if the autoloader uses the include path to check + * for classes. + * + * @return bool + */ + public function getUseIncludePath() + { + return $this->useIncludePath; + } + + /** + * Turns off searching the prefix and fallback directories for classes + * that have not been registered with the class map. + * + * @param bool $classMapAuthoritative + */ + public function setClassMapAuthoritative($classMapAuthoritative) + { + $this->classMapAuthoritative = $classMapAuthoritative; + } + + /** + * Should class lookup fail if not found in the current class map? + * + * @return bool + */ + public function isClassMapAuthoritative() + { + return $this->classMapAuthoritative; + } + + /** + * Registers this instance as an autoloader. + * + * @param bool $prepend Whether to prepend the autoloader or not + */ + public function register($prepend = false) + { + spl_autoload_register(array($this, 'loadClass'), true, $prepend); + } + + /** + * Unregisters this instance as an autoloader. + */ + public function unregister() + { + spl_autoload_unregister(array($this, 'loadClass')); + } + + /** + * Loads the given class or interface. + * + * @param string $class The name of the class + * @return bool|null True if loaded, null otherwise + */ + public function loadClass($class) + { + if ($file = $this->findFile($class)) { + includeFile($file); + + return true; + } + } + + /** + * Finds the path to the file where the class is defined. + * + * @param string $class The name of the class + * + * @return string|false The path if found, false otherwise + */ + public function findFile($class) + { + // work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731 + if ('\\' == $class[0]) { + $class = substr($class, 1); + } + + // class map lookup + if (isset($this->classMap[$class])) { + return $this->classMap[$class]; + } + if ($this->classMapAuthoritative) { + return false; + } + + $file = $this->findFileWithExtension($class, '.php'); + + // Search for Hack files if we are running on HHVM + if ($file === null && defined('HHVM_VERSION')) { + $file = $this->findFileWithExtension($class, '.hh'); + } + + if ($file === null) { + // Remember that this class does not exist. + return $this->classMap[$class] = false; + } + + return $file; + } + + private function findFileWithExtension($class, $ext) + { + // PSR-4 lookup + $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; + + $first = $class[0]; + if (isset($this->prefixLengthsPsr4[$first])) { + foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) { + if (0 === strpos($class, $prefix)) { + foreach ($this->prefixDirsPsr4[$prefix] as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) { + return $file; + } + } + } + } + } + + // PSR-4 fallback dirs + foreach ($this->fallbackDirsPsr4 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { + return $file; + } + } + + // PSR-0 lookup + if (false !== $pos = strrpos($class, '\\')) { + // namespaced class name + $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) + . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); + } else { + // PEAR-like class name + $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; + } + + if (isset($this->prefixesPsr0[$first])) { + foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { + if (0 === strpos($class, $prefix)) { + foreach ($dirs as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + } + } + } + + // PSR-0 fallback dirs + foreach ($this->fallbackDirsPsr0 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + + // PSR-0 include paths. + if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { + return $file; + } + } +} + +/** + * Scope isolated include. + * + * Prevents access to $this/self from included files. + */ +function includeFile($file) +{ + include $file; +} diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php new file mode 100644 index 0000000000000000000000000000000000000000..63b550c324fd93a756ab232540213b8ad94777d3 --- /dev/null +++ b/vendor/composer/autoload_classmap.php @@ -0,0 +1,10 @@ +<?php + +// autoload_classmap.php @generated by Composer + +$vendorDir = dirname(dirname(__FILE__)); +$baseDir = dirname($vendorDir); + +return array( + 'GeSHi' => $vendorDir . '/easybook/geshi/geshi.php', +); diff --git a/vendor/composer/autoload_namespaces.php b/vendor/composer/autoload_namespaces.php new file mode 100644 index 0000000000000000000000000000000000000000..b7fc0125dbca56fd7565ad62097672a59473e64e --- /dev/null +++ b/vendor/composer/autoload_namespaces.php @@ -0,0 +1,9 @@ +<?php + +// autoload_namespaces.php @generated by Composer + +$vendorDir = dirname(dirname(__FILE__)); +$baseDir = dirname($vendorDir); + +return array( +); diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php new file mode 100644 index 0000000000000000000000000000000000000000..e4d7132708607447bfb335873639567047650451 --- /dev/null +++ b/vendor/composer/autoload_psr4.php @@ -0,0 +1,10 @@ +<?php + +// autoload_psr4.php @generated by Composer + +$vendorDir = dirname(dirname(__FILE__)); +$baseDir = dirname($vendorDir); + +return array( + 'splitbrain\\PHPArchive\\' => array($vendorDir . '/splitbrain/php-archive/src'), +); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php new file mode 100644 index 0000000000000000000000000000000000000000..fee79daed35482810260f06b10635f3ab8cc0ed5 --- /dev/null +++ b/vendor/composer/autoload_real.php @@ -0,0 +1,50 @@ +<?php + +// autoload_real.php @generated by Composer + +class ComposerAutoloaderInita19a915ee98347a0c787119619d2ff9b +{ + private static $loader; + + public static function loadClassLoader($class) + { + if ('Composer\Autoload\ClassLoader' === $class) { + require __DIR__ . '/ClassLoader.php'; + } + } + + public static function getLoader() + { + if (null !== self::$loader) { + return self::$loader; + } + + spl_autoload_register(array('ComposerAutoloaderInita19a915ee98347a0c787119619d2ff9b', 'loadClassLoader'), true, true); + self::$loader = $loader = new \Composer\Autoload\ClassLoader(); + spl_autoload_unregister(array('ComposerAutoloaderInita19a915ee98347a0c787119619d2ff9b', 'loadClassLoader')); + + $map = require __DIR__ . '/autoload_namespaces.php'; + foreach ($map as $namespace => $path) { + $loader->set($namespace, $path); + } + + $map = require __DIR__ . '/autoload_psr4.php'; + foreach ($map as $namespace => $path) { + $loader->setPsr4($namespace, $path); + } + + $classMap = require __DIR__ . '/autoload_classmap.php'; + if ($classMap) { + $loader->addClassMap($classMap); + } + + $loader->register(true); + + return $loader; + } +} + +function composerRequirea19a915ee98347a0c787119619d2ff9b($file) +{ + require $file; +} diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json new file mode 100644 index 0000000000000000000000000000000000000000..0510ac9940a729e4ca07622286973da7fc35a9af --- /dev/null +++ b/vendor/composer/installed.json @@ -0,0 +1,99 @@ +[ + { + "name": "easybook/geshi", + "version": "v1.0.8.15", + "version_normalized": "1.0.8.15", + "source": { + "type": "git", + "url": "https://github.com/easybook/geshi.git", + "reference": "54387de80bc7ee50397ffae39234626a48d2d45f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/easybook/geshi/zipball/54387de80bc7ee50397ffae39234626a48d2d45f", + "reference": "54387de80bc7ee50397ffae39234626a48d2d45f", + "shasum": "" + }, + "require": { + "php": ">4.3.0" + }, + "time": "2015-06-18 14:56:28", + "type": "library", + "installation-source": "dist", + "autoload": { + "classmap": [ + "./" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0" + ], + "authors": [ + { + "name": "Nigel McNie", + "email": "nigel@geshi.org" + }, + { + "name": "Benny Baumann", + "email": "BenBE@geshi.org" + } + ], + "description": "GeSHi - Generic Syntax Highlighter. This is an unmodified port of GeSHi project code found on SourceForge.", + "homepage": "http://qbnz.com/highlighter", + "keywords": [ + "highlight", + "highlighter", + "syntax" + ] + }, + { + "name": "splitbrain/php-archive", + "version": "1.0.7", + "version_normalized": "1.0.7.0", + "source": { + "type": "git", + "url": "https://github.com/splitbrain/php-archive.git", + "reference": "c075304b44c4aadff0718af445e86bf730f331ff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/splitbrain/php-archive/zipball/c075304b44c4aadff0718af445e86bf730f331ff", + "reference": "c075304b44c4aadff0718af445e86bf730f331ff", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "4.5.*" + }, + "time": "2015-08-12 13:24:34", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "splitbrain\\PHPArchive\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Andreas Gohr", + "email": "andi@splitbrain.org" + } + ], + "description": "Pure-PHP implementation to read and write TAR and ZIP archives", + "keywords": [ + "archive", + "extract", + "tar", + "unpack", + "unzip", + "zip" + ] + } +] diff --git a/vendor/easybook/geshi/README.md b/vendor/easybook/geshi/README.md new file mode 100644 index 0000000000000000000000000000000000000000..0a12d08bbb43574eef288e0442b59b7a77c3d4e8 --- /dev/null +++ b/vendor/easybook/geshi/README.md @@ -0,0 +1,10 @@ +# GeSHi - Generic Syntax Highlighter # + +This repository has been created just to be able to install GeSHi as a Composer +package. Technically it's a port of the GeSHi project code found on SourceForge: +http://sourceforge.net/projects/geshi/ + +Differences from the official SourceForge repository: + + * 11/may/2014: added `sass.php` file to highlight Sass stylesheets. + * 28/sep/2012: added `twig.php` file to highlight Twig templates. diff --git a/vendor/easybook/geshi/composer.json b/vendor/easybook/geshi/composer.json new file mode 100644 index 0000000000000000000000000000000000000000..33494664cb5c8d23eb2c04d34587694999aa8606 --- /dev/null +++ b/vendor/easybook/geshi/composer.json @@ -0,0 +1,24 @@ +{ + "name": "easybook/geshi", + "type": "library", + "description": "GeSHi - Generic Syntax Highlighter. This is an unmodified port of GeSHi project code found on SourceForge.", + "homepage": "http://qbnz.com/highlighter", + "keywords": ["highlighter", "highlight", "syntax"], + "license": "GPL-2.0", + "authors": [ + { + "name": "Benny Baumann", + "email": "BenBE@geshi.org" + }, + { + "name": "Nigel McNie", + "email": "nigel@geshi.org" + } + ], + "require": { + "php": ">4.3.0" + }, + "autoload": { + "classmap": ["./"] + } +} \ No newline at end of file diff --git a/inc/geshi.php b/vendor/easybook/geshi/geshi.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi.php rename to vendor/easybook/geshi/geshi.php index c6ff9ef7773b95a40c2d6171a38abeb2f165af54..bd265af97925a12d8e132cf4d631b45577415324 --- a/inc/geshi.php +++ b/vendor/easybook/geshi/geshi.php @@ -41,7 +41,7 @@ // /** The version of this GeSHi file */ -define('GESHI_VERSION', '1.0.8.11'); +define('GESHI_VERSION', '1.0.8.12'); // Define the root directory for the GeSHi code tree if (!defined('GESHI_ROOT')) { diff --git a/inc/geshi/4cs.php b/vendor/easybook/geshi/geshi/4cs.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/4cs.php rename to vendor/easybook/geshi/geshi/4cs.php index 5209c51e8026ea3b0ef107a1f50e92e19cbd9228..e5a00645c1e4934c05c6cb004f84df11e6c34f91 --- a/inc/geshi/4cs.php +++ b/vendor/easybook/geshi/geshi/4cs.php @@ -135,5 +135,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> \ No newline at end of file diff --git a/inc/geshi/6502acme.php b/vendor/easybook/geshi/geshi/6502acme.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/6502acme.php rename to vendor/easybook/geshi/geshi/6502acme.php diff --git a/inc/geshi/6502kickass.php b/vendor/easybook/geshi/geshi/6502kickass.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/6502kickass.php rename to vendor/easybook/geshi/geshi/6502kickass.php diff --git a/inc/geshi/6502tasm.php b/vendor/easybook/geshi/geshi/6502tasm.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/6502tasm.php rename to vendor/easybook/geshi/geshi/6502tasm.php diff --git a/inc/geshi/68000devpac.php b/vendor/easybook/geshi/geshi/68000devpac.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/68000devpac.php rename to vendor/easybook/geshi/geshi/68000devpac.php diff --git a/inc/geshi/abap.php b/vendor/easybook/geshi/geshi/abap.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/abap.php rename to vendor/easybook/geshi/geshi/abap.php diff --git a/inc/geshi/actionscript.php b/vendor/easybook/geshi/geshi/actionscript.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/actionscript.php rename to vendor/easybook/geshi/geshi/actionscript.php diff --git a/inc/geshi/actionscript3.php b/vendor/easybook/geshi/geshi/actionscript3.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/actionscript3.php rename to vendor/easybook/geshi/geshi/actionscript3.php diff --git a/inc/geshi/ada.php b/vendor/easybook/geshi/geshi/ada.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/ada.php rename to vendor/easybook/geshi/geshi/ada.php diff --git a/vendor/easybook/geshi/geshi/aimms.php b/vendor/easybook/geshi/geshi/aimms.php new file mode 100644 index 0000000000000000000000000000000000000000..f46bdd0bcd7a3ab71a538bcf49570fa6aed0dde1 --- /dev/null +++ b/vendor/easybook/geshi/geshi/aimms.php @@ -0,0 +1,316 @@ +<?php +/************************************************************************************* + * aimms.php + * -------- + * Author: Guido Diepen (guido.diepen@aimms.com) + * Copyright: (c) 2011 Guido Diepen (http://www.aimms.com) + * Release Version: 1.0.8.12 + * Date Started: 2011/05/05 + * + * AIMMS language file for GeSHi. + * + * CHANGES + * ------- + * 2004/07/14 (1.0.0) + * - First Release + * + * TODO (updated 2004/07/14) + * ------------------------- + * * Make sure the last few function I may have missed + * (like eval()) are included for highlighting + * * Split to several files - php4, php5 etc + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array( + 'LANG_NAME' => 'AIMMS3', + 'COMMENT_SINGLE' => array(1 => '!'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'HARDQUOTE' => array("'", "'"), + 'HARDESCAPE' => array("'", "\\"), + 'HARDCHAR' => "\\", + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"'), + 'OBJECT_SPLITTERS' => array(), + 'REGEXPS' => array(), + 'STRICT_MODE_APPLIES' => GESHI_MAYBE, + 'SCRIPT_DELIMITERS' => array(), + 'HIGHLIGHT_STRICT_BLOCK' => array(), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + 1 => array( + 'if', 'then', 'else', 'endif', 'elseif', 'for', 'do', 'while' , 'endfor' , 'endwhile', 'break', 'switch', 'endswitch', + 'display', 'return', 'in', 'apply' + + ), + 2 => array( + 'main model' , 'declaration section', 'procedure', 'endprocedure', 'endmodel', 'endsection' , 'set', 'parameter', + 'string parameter', 'element parameter', 'quantity' + ), + 3 => array( + 'identifier', 'index', 'index domain', 'body' + ), + 4 => array( + 'ActiveCard','Card','ConvertUnit','DistributionCumulative','DistributionDensity','DistributionDeviation', + 'DistributionInverseCumulative','DistributionInverseDensity','DistributionKurtosis','DistributionMean', + 'DistributionSkewness','DistributionVariance','Element','EvaluateUnit','First','FormatString','Last', + 'Ord','Unit','Val','Aggregate','AttributeToString','CaseCompareIdentifier','CaseCreateDifferenceFile', + 'CloseDataSource','CreateTimeTable','ConstraintVariables','ConvertReferenceDate','CloneElement', + 'FindNthString','FindReplaceNthString','FindReplaceStrings','FindString','StringOccurrences', + 'CurrentToMoment','CurrentToString','CurrentToTimeSlot','DaylightsavingEndDate','DaylightsavingStartDate', + 'DeclaredSubset','DomainIndex','IndexRange','IsRunningAsViewer','ListingFileCopy','ListingFileDelete', + 'DirectoryGetFiles','DirectoryGetSubdirectories','DirectSQL','Disaggregate','ElementCast','ElementRange', + 'EnvironmentGetString','EnvironmentSetString','errh::Adapt','errh::Attribute','errh::Category', + 'errh::Code','errh::Column','errh::CreationTime','errh::Filename','errh::InsideCategory', + 'errh::IsMarkedAsHandled','errh::Line','errh::MarkAsHandled','errh::Message','errh::Multiplicity', + 'errh::Node','errh::NumberOfLocations','errh::Severity','ExcelAddNewSheet','ExcelAssignParameter', + 'ExcelAssignSet','ExcelAssignTable','ExcelAssignValue','ExcelClearRange','ExcelCloseWorkbook', + 'ExcelColumnName','ExcelColumnNumber','ExcelCopyRange','ExcelCreateWorkbook','ExcelDeleteSheet', + 'ExcelPrint','ExcelRetrieveParameter','ExcelRetrieveSet','ExcelRetrieveTable','ExcelRetrieveValue', + 'ExcelRunMacro','ExcelSaveWorkbook','ExcelSetActiveSheet','ExcelSetUpdateLinksBehavior', + 'ExcelSetVisibility','FindUsedElements','GenerateCUT','GMP::Coefficient::Get', + 'GMP::Coefficient::GetQuadratic','GMP::Coefficient::Set','GMP::Coefficient::SetQuadratic', + 'GMP::Column::Add','GMP::Column::Delete','GMP::Column::Freeze','GMP::Column::GetLowerbound', + 'GMP::Column::GetScale','GMP::Column::GetStatus','GMP::Column::GetType','GMP::Column::GetUpperbound', + 'GMP::Column::SetAsObjective','GMP::Column::SetLowerbound','GMP::Column::SetType', + 'GMP::Column::SetUpperbound','GMP::Column::Unfreeze','GMP::Instance::AddIntegerEliminationRows', + 'GMP::Instance::CalculateSubGradient','GMP::Instance::Copy','GMP::Instance::CreateDual', + 'GMP::Instance::CreateMasterMip','GMP::Instance::CreatePresolved', + 'GMP::SolverSession::CreateProgressCategory','GMP::Instance::CreateProgressCategory', + 'GMP::Instance::CreateSolverSession','GMP::Stochastic::CreateBendersRootproblem', + 'GMP::Instance::Delete','GMP::Instance::DeleteIntegerEliminationRows', + 'GMP::Instance::DeleteSolverSession','GMP::Instance::FindApproximatelyFeasibleSolution', + 'GMP::Instance::FixColumns','GMP::Instance::Generate','GMP::Instance::GenerateRobustCounterpart', + 'GMP::Instance::GenerateStochasticProgram','GMP::SolverSession::GetCallbackInterruptStatus', + 'GMP::SolverSession::WaitForCompletion','GMP::SolverSession::WaitForSingleCompletion', + 'GMP::SolverSession::ExecutionStatus','GMP::Instance::GetDirection','GMP::Instance::GetLinearObjective', + 'GMP::Instance::GetMathematicalProgrammingType','GMP::Instance::GetMemoryUsed', + 'GMP::Instance::GetNumberOfColumns','GMP::Instance::GetNumberOfIndicatorRows', + 'GMP::Instance::GetNumberOfIntegerColumns','GMP::Instance::GetNumberOfNonlinearColumns', + 'GMP::Instance::GetNumberOfNonlinearNonzeros','GMP::Instance::GetNumberOfNonlinearRows', + 'GMP::Instance::GetNumberOfNonzeros','GMP::Instance::GetNumberOfRows', + 'GMP::Instance::GetNumberOfSOS1Rows','GMP::Instance::GetNumberOfSOS2Rows', + 'GMP::Instance::GetObjective','GMP::Instance::GetOptionValue','GMP::Instance::GetSolver', + 'GMP::Instance::GetSymbolicMathematicalProgram','GMP::Instance::MemoryStatistics', + 'GMP::Instance::Rename','GMP::Instance::SetCallbackAddCut','GMP::Instance::SetCallbackBranch', + 'GMP::Instance::SetCallbackHeuristic','GMP::Instance::SetCallbackIncumbent', + 'GMP::Instance::SetCallbackIterations','GMP::Instance::SetCallbackNewIncumbent', + 'GMP::Instance::SetCallbackStatusChange','GMP::Instance::SetCutoff','GMP::Instance::SetDirection', + 'GMP::Instance::SetMathematicalProgrammingType','GMP::Instance::SetSolver','GMP::Instance::Solve', + 'GMP::Stochastic::GetObjectiveBound','GMP::Stochastic::GetRelativeWeight', + 'GMP::Stochastic::GetRepresentativeScenario','GMP::Stochastic::UpdateBendersSubproblem', + 'GMP::Linearization::Add','GMP::Linearization::AddSingle','GMP::Linearization::Delete', + 'GMP::Linearization::GetDeviation','GMP::Linearization::GetDeviationBound', + 'GMP::Linearization::GetLagrangeMultiplier','GMP::Linearization::GetType', + 'GMP::Linearization::GetWeight','GMP::Linearization::RemoveDeviation', + 'GMP::Linearization::SetDeviationBound','GMP::Linearization::SetType', + 'GMP::Linearization::SetWeight','GMP::ProgressWindow::DeleteCategory', + 'GMP::ProgressWindow::DisplayLine','GMP::ProgressWindow::DisplayProgramStatus', + 'GMP::ProgressWindow::DisplaySolver','GMP::ProgressWindow::DisplaySolverStatus', + 'GMP::ProgressWindow::FreezeLine','GMP::ProgressWindow::UnfreezeLine', + 'GMP::QuadraticCoefficient::Get','GMP::QuadraticCoefficient::Set','GMP::Row::Activate', + 'GMP::Stochastic::AddBendersFeasibilityCut','GMP::Stochastic::AddBendersOptimalityCut', + 'GMP::Stochastic::BendersFindFeasibilityReference','GMP::Stochastic::MergeSolution', + 'GMP::Row::Add','GMP::Row::Deactivate','GMP::Row::Delete','GMP::Row::DeleteIndicatorCondition', + 'GMP::Row::Generate','GMP::Row::GetConvex','GMP::Row::GetIndicatorColumn', + 'GMP::Row::GetIndicatorCondition','GMP::Row::GetLeftHandSide','GMP::Row::GetRelaxationOnly', + 'GMP::Row::GetRightHandSide','GMP::Row::GetScale','GMP::Row::GetStatus','GMP::Row::GetType', + 'GMP::Row::SetConvex','GMP::Row::SetIndicatorCondition','GMP::Row::SetLeftHandSide', + 'GMP::Row::SetRelaxationOnly','GMP::Row::SetRightHandSide','GMP::Row::SetType', + 'GMP::Solution::Check','GMP::Solution::Copy','GMP::Solution::Count','GMP::Solution::Delete', + 'GMP::Solution::DeleteAll','GMP::Solution::GetColumnValue','GMP::Solution::GetCPUSecondsUsed', + 'GMP::Solution::GetDistance','GMP::Solution::GetFirstOrderDerivative', + 'GMP::Solution::GetIterationsUsed','GMP::Solution::GetNodesUsed','GMP::Solution::GetLinearObjective', + 'GMP::Solution::GetMemoryUsed','GMP::Solution::GetObjective','GMP::Solution::GetPenalizedObjective', + 'GMP::Solution::GetProgramStatus','GMP::Solution::GetRowValue','GMP::Solution::GetSolutionsSet', + 'GMP::Solution::GetSolverStatus','GMP::Solution::IsDualDegenerated','GMP::Solution::IsInteger', + 'GMP::Solution::IsPrimalDegenerated','GMP::Solution::SetMIPStartFlag','GMP::Solution::Move', + 'GMP::Solution::RandomlyGenerate','GMP::Solution::RetrieveFromModel', + 'GMP::Solution::RetrieveFromSolverSession','GMP::Solution::SendToModel', + 'GMP::Solution::SendToModelSelection','GMP::Solution::SendToSolverSession', + 'GMP::Solution::SetIterationCount','GMP::Solution::SetProgramStatus','GMP::Solution::SetSolverStatus', + 'GMP::Solution::UpdatePenaltyWeights','GMP::Solution::ConstructMean', + 'GMP::SolverSession::AsynchronousExecute','GMP::SolverSession::Execute', + 'GMP::SolverSession::Interrupt','GMP::SolverSession::AddLinearization', + 'GMP::SolverSession::GenerateBranchLowerBound','GMP::SolverSession::GenerateBranchUpperBound', + 'GMP::SolverSession::GenerateBranchRow','GMP::SolverSession::GenerateCut', + 'GMP::SolverSession::GenerateBinaryEliminationRow','GMP::SolverSession::GetCPUSecondsUsed', + 'GMP::SolverSession::GetHost','GMP::SolverSession::GetInstance', + 'GMP::SolverSession::GetIterationsUsed','GMP::SolverSession::GetNodesLeft', + 'GMP::SolverSession::GetNodesUsed','GMP::SolverSession::GetNodeNumber', + 'GMP::SolverSession::GetNodeObjective','GMP::SolverSession::GetNumberOfBranchNodes', + 'GMP::SolverSession::GetLinearObjective','GMP::SolverSession::GetMemoryUsed', + 'GMP::SolverSession::GetObjective','GMP::SolverSession::GetOptionValue', + 'GMP::SolverSession::GetProgramStatus','GMP::SolverSession::GetSolver', + 'GMP::SolverSession::GetSolverStatus','GMP::SolverSession::RejectIncumbent', + 'GMP::Event::Create','GMP::Event::Delete','GMP::Event::Reset','GMP::Event::Set', + 'GMP::SolverSession::SetObjective','GMP::SolverSession::SetOptionValue', + 'GMP::Instance::SetCPUSecondsLimit','GMP::Instance::SetIterationLimit', + 'GMP::Instance::SetMemoryLimit','GMP::Instance::SetOptionValue','GMP::Tuning::SolveSingleMPS', + 'GMP::Tuning::TuneMultipleMPS','GMP::Tuning::TuneSingleGMP', + 'GMP::Solver::GetAsynchronousSessionsLimit','GMP::Robust::EvaluateAdjustableVariables', + 'GenerateXML','GetDatasourceProperty','ReadGeneratedXML','ReadXML','ReferencedIdentifiers', + 'WriteXML','IdentifierAttributes','IdentifierDimension','IsRuntimeIdentifier','IdentifierMemory', + 'IdentifierMemoryStatistics','IdentifierText','IdentifierType','IdentifierUnit','ScalarValue', + 'SectionIdentifiers','SubRange','MemoryInUse','CommitTransaction','RollbackTransaction', + 'MemoryStatistics','me::AllowedAttribute','me::ChangeType','me::ChangeTypeAllowed','me::Children', + 'me::ChildTypeAllowed','me::Compile','me::Create','me::CreateLibrary','me::Delete','me::ExportNode', + 'me::GetAttribute','me::ImportLibrary','me::ImportNode','me::IsRunnable','me::Move','me::Parent', + 'me::Rename','me::SetAttribute','MomentToString','MomentToTimeSlot','OptionGetValue', + 'OptionGetKeywords','OptionGetString','OptionSetString','OptionSetValue','PeriodToString', + 'ProfilerContinue','ProfilerPause','ProfilerRestart','RestoreInactiveElements', + 'RetrieveCurrentVariableValues','SetAddRecursive','SetElementAdd','SetElementRename', + 'SQLColumnData','SQLCreateConnectionString','SQLDriverName','SQLNumberOfColumns', + 'SQLNumberOfDrivers','SQLNumberOfTables','SQLNumberOfViews','SQLTableName','SQLViewName', + 'StartTransaction','StringToElement','StringToMoment','StringToTimeSlot','TestDatabaseColumn', + 'TestDatabaseTable','TestDataSource','TestDate','TimeslotCharacteristic','TimeslotToMoment', + 'TimeslotToString','TimeZoneOffset','VariableConstraints','PageOpen','PageOpenSingle','PageClose', + 'PageGetActive','PageSetFocus','PageGetFocus','PageSetCursor','PageRefreshAll','PageGetChild', + 'PageGetParent','PageGetNext','PageGetPrevious','PageGetNextInTreeWalk','PageGetUsedIdentifiers', + 'PageGetTitle','PageGetAll','PageCopyTableToClipboard','PageCopyTableToExcel','PrintPage', + 'PrintPageCount','PrintStartReport','PrintEndReport','PivotTableReloadState','PivotTableSaveState', + 'PivotTableDeleteState','FileSelect','FileSelectNew','FileDelete','FileExists','FileCopy', + 'FileMove','FileView','FileEdit','FilePrint','FileTime','FileTouch','FileAppend','FileGetSize', + 'DirectorySelect','DirectoryCreate','DirectoryDelete','DirectoryExists','DirectoryCopy', + 'DirectoryMove','DirectoryGetCurrent','DialogProgress','DialogMessage','DialogError', + 'StatusMessage','DialogAsk','DialogGetString','DialogGetDate','DialogGetNumber','DialogGetElement', + 'DialogGetElementByText','DialogGetElementByData','DialogGetPassword','DialogGetColor','CaseNew', + 'CaseFind','CaseCreate','CaseLoadCurrent','CaseMerge','CaseLoadIntoCurrent','CaseSelect', + 'CaseSelectNew','CaseSetCurrent','CaseSave','CaseSaveAll','CaseSaveAs','CaseSelectMultiple', + 'CaseGetChangedStatus','CaseSetChangedStatus','CaseDelete','CaseGetType','CaseGetDatasetReference', + 'CaseWriteToSingleFile','CaseReadFromSingleFile','DatasetNew','DatasetFind','DatasetCreate', + 'DatasetLoadCurrent','DatasetMerge','DatasetLoadIntoCurrent','DatasetSelect','DatasetSelectNew', + 'DatasetSetCurrent','DatasetSave','DatasetSaveAll','DatasetSaveAs','DatasetGetChangedStatus', + 'DatasetSetChangedStatus','DatasetDelete','DatasetGetCategory','DataFileGetName', + 'DataFileGetAcronym','DataFileSetAcronym','DataFileGetComment','DataFileSetComment', + 'DataFileGetPath','DataFileGetTime','DataFileGetOwner','DataFileGetGroup','DataFileReadPermitted', + 'DataFileWritePermitted','DataFileExists','DataFileCopy','DataCategoryContents','CaseTypeContents', + 'CaseTypeCategories','Execute','OpenDocument','TestInternetConnection','GeoFindCoordinates', + 'ShowHelpTopic','Delay','ScheduleAt','ExitAimms','SessionArgument','SessionHasVisibleGUI', + 'ProjectDeveloperMode','DebuggerBreakpoint','ShowProgressWindow','ShowMessageWindow', + 'SolverGetControl','SolverReleaseControl','ProfilerStart','DataManagerImport','DataManagerExport', + 'DataManagerFileNew','DataManagerFileOpen','DataManagerFileGetCurrent','DataImport220', + 'SecurityGetUsers','SecurityGetGroups','UserColorAdd','UserColorDelete','UserColorGetRGB', + 'UserColorModify','LicenseNumber','LicenseType','LicenseStartDate','LicenseExpirationDate', + 'LicenseMaintenanceExpirationDate','VARLicenseExpirationDate','AimmsRevisionString', + 'VARLicenseCreate','HistogramCreate','HistogramDelete','HistogramSetDomain', + 'HistogramAddObservation','HistogramGetFrequencies','HistogramGetBounds', + 'HistogramGetObservationCount','HistogramGetAverage','HistogramGetDeviation', + 'HistogramGetSkewness','HistogramGetKurtosis','DateDifferenceDays','DateDifferenceYearFraction', + 'PriceFractional','PriceDecimal','RateEffective','RateNominal','DepreciationLinearLife', + 'DepreciationLinearRate','DepreciationNonLinearSumOfYear','DepreciationNonLinearLife', + 'DepreciationNonLinearFactor','DepreciationNonLinearRate','DepreciationSum', + 'InvestmentConstantPresentValue','InvestmentConstantFutureValue', + 'InvestmentConstantPeriodicPayment','InvestmentConstantInterestPayment', + 'InvestmentConstantPrincipalPayment','InvestmentConstantCumulativePrincipalPayment', + 'InvestmentConstantCumulativeInterestPayment','InvestmentConstantNumberPeriods', + 'InvestmentConstantRateAll','InvestmentConstantRate','InvestmentVariablePresentValue', + 'InvestmentVariablePresentValueInperiodic','InvestmentSingleFutureValue', + 'InvestmentVariableInternalRateReturnAll','InvestmentVariableInternalRateReturn', + 'InvestmentVariableInternalRateReturnInperiodicAll','InvestmentVariableInternalRateReturnInperiodic', + 'InvestmentVariableInternalRateReturnModified','SecurityDiscountedPrice', + 'SecurityDiscountedRedemption','SecurityDiscountedYield','SecurityDiscountedRate', + 'TreasuryBillPrice','TreasuryBillYield','TreasuryBillBondEquivalent','SecurityMaturityPrice', + 'SecurityMaturityCouponRate','SecurityMaturityYield','SecurityMaturityAccruedInterest', + 'SecurityCouponNumber','SecurityCouponPreviousDate','SecurityCouponNextDate','SecurityCouponDays', + 'SecurityCouponDaysPreSettlement','SecurityCouponDaysPostSettlement','SecurityPeriodicPrice', + 'SecurityPeriodicRedemption','SecurityPeriodicCouponRate','SecurityPeriodicYieldAll', + 'SecurityPeriodicYield','SecurityPeriodicAccruedInterest','SecurityPeriodicDuration', + 'SecurityPeriodicDurationModified','Abs','AtomicUnit','Ceil','Character','CharacterNumber','Cube', + 'Degrees','Div','Exp','FileRead','Floor','Log','Log10','Mapval','Max','Min','Mod','Power', + 'Radians','Round','Sign','Sqr','Sqrt','StringCapitalize','StringLength','StringToLower', + 'StringToUnit','StringToUpper','SubString','Trunc','Binomial','NegativeBinomial','Poisson', + 'Geometric','HyperGeometric','Uniform','Normal','LogNormal','Triangular','Exponential','Weibull', + 'Beta','Gamma','Logistic','Pareto','ExtremeValue','Precision','Factorial','Combination', + 'Permutation','Errorf','Cos','Sin','Tan','ArcCos','ArcSin','ArcTan','Cosh','Sinh','Tanh', + 'ArcCosh','ArcSinh','ArcTanh' + ) + ), + 'SYMBOLS' => array( + 0 => array( + '(', ')', '[', ']', '{', '}', + '%', '&', '|', '/', + '<', '>', '>=' , '<=', ':=', + '=', '-', '+', '*', + '.', ',' + ) + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #0000FF;', + 2 => 'color: #000000; font-weight: bold;', + 3 => 'color: #404040;', + 4 => 'color: #990000; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #009900;' + ), + 'STRINGS' => array( + 0 => 'color: #808080; font-style: italic ', + 'HARD' => 'color: #808080; font-style: italic' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;', + GESHI_NUMBER_OCT_PREFIX => 'color: #208080;', + GESHI_NUMBER_HEX_PREFIX => 'color: #208080;', + GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;', + ), + 'COMMENTS' => array( + 1 => 'color: #008000; font-style: italic;', + 'MULTI' => 'color: #008000; font-style: italic;' + ), + + 'METHODS' => array( + 1 => 'color: #004000;', + 2 => 'color: #004000;' + ), + 'SYMBOLS' => array( + 0 => 'color: #339933;', + 1 => 'color: #000000; font-weight: bold;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + 0 => '', + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '' + ), + 'ESCAPE_CHAR' => array() + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '' + ), + 'OOLANG' => false, + 'TAB_WIDTH' => 4 +); diff --git a/inc/geshi/algol68.php b/vendor/easybook/geshi/geshi/algol68.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/algol68.php rename to vendor/easybook/geshi/geshi/algol68.php diff --git a/inc/geshi/apache.php b/vendor/easybook/geshi/geshi/apache.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/apache.php rename to vendor/easybook/geshi/geshi/apache.php diff --git a/inc/geshi/applescript.php b/vendor/easybook/geshi/geshi/applescript.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/applescript.php rename to vendor/easybook/geshi/geshi/applescript.php diff --git a/inc/geshi/apt_sources.php b/vendor/easybook/geshi/geshi/apt_sources.php old mode 100644 new mode 100755 similarity index 86% rename from inc/geshi/apt_sources.php rename to vendor/easybook/geshi/geshi/apt_sources.php index 9f1ed045e15a54ebf8fc2a79b03c8b81d8b4322a..979d10ce9ccb8b66502d094ae464820564e09520 --- a/inc/geshi/apt_sources.php +++ b/vendor/easybook/geshi/geshi/apt_sources.php @@ -55,7 +55,7 @@ $language_data = array ( 'stable/updates', //Debian 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato', 'woody', 'sarge', - 'etch', 'lenny', 'wheezy', 'sid', + 'etch', 'lenny', 'wheezy', 'jessie', 'sid', //Ubuntu 'warty', 'warty-updates', 'warty-security', 'warty-proposed', 'warty-backports', 'hoary', 'hoary-updates', 'hoary-security', 'hoary-proposed', 'hoary-backports', @@ -69,7 +69,14 @@ $language_data = array ( 'jaunty', 'jaunty-updates', 'jaunty-security', 'jaunty-proposed', 'jaunty-backports', 'karmic', 'karmic-updates', 'karmic-security', 'karmic-proposed', 'karmic-backports', 'lucid', 'lucid-updates', 'lucid-security', 'lucid-proposed', 'lucid-backports', - 'maverick', 'maverick-updates', 'maverick-security', 'maverick-proposed', 'maverick-backports' + 'maverick', 'maverick-updates', 'maverick-security', 'maverick-proposed', 'maverick-backports', + 'natty', 'natty-updates', 'natty-security', 'natty-proposed', 'natty-backports', + 'oneiric', 'oneiric-updates', 'oneiric-security', 'oneiric-proposed', 'oneiric-backports', + 'precise', 'precise-updates', 'precise-security', 'precise-proposed', 'precise-backports', + 'quantal', 'quantal-updates', 'quantal-security', 'quantal-proposed', 'quantal-backports', + 'raring', 'raring-updates', 'raring-security', 'raring-proposed', 'raring-backports', + 'saucy', 'saucy-updates', 'saucy-security', 'saucy-proposed', 'saucy-backports', + 'trusty', 'trusty-updates', 'trusty-security', 'trusty-proposed', 'trusty-backports' ), 3 => array( 'main', 'restricted', 'preview', 'contrib', 'non-free', diff --git a/inc/geshi/arm.php b/vendor/easybook/geshi/geshi/arm.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/arm.php rename to vendor/easybook/geshi/geshi/arm.php diff --git a/inc/geshi/asm.php b/vendor/easybook/geshi/geshi/asm.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/asm.php rename to vendor/easybook/geshi/geshi/asm.php diff --git a/inc/geshi/asp.php b/vendor/easybook/geshi/geshi/asp.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/asp.php rename to vendor/easybook/geshi/geshi/asp.php diff --git a/inc/geshi/asymptote.php b/vendor/easybook/geshi/geshi/asymptote.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/asymptote.php rename to vendor/easybook/geshi/geshi/asymptote.php index 8683588e5f22949b8057245a20cded70510fea81..295cb0a568ec18a17c605d00349388e404dd2269 --- a/inc/geshi/asymptote.php +++ b/vendor/easybook/geshi/geshi/asymptote.php @@ -190,5 +190,3 @@ $language_data = array( ) ) ); - -?> diff --git a/inc/geshi/autoconf.php b/vendor/easybook/geshi/geshi/autoconf.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/autoconf.php rename to vendor/easybook/geshi/geshi/autoconf.php diff --git a/inc/geshi/autohotkey.php b/vendor/easybook/geshi/geshi/autohotkey.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/autohotkey.php rename to vendor/easybook/geshi/geshi/autohotkey.php diff --git a/inc/geshi/autoit.php b/vendor/easybook/geshi/geshi/autoit.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/autoit.php rename to vendor/easybook/geshi/geshi/autoit.php diff --git a/inc/geshi/avisynth.php b/vendor/easybook/geshi/geshi/avisynth.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/avisynth.php rename to vendor/easybook/geshi/geshi/avisynth.php diff --git a/inc/geshi/awk.php b/vendor/easybook/geshi/geshi/awk.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/awk.php rename to vendor/easybook/geshi/geshi/awk.php index 1ec239b70c853e991cbfe30801a728f64b46dbd9..46fe49f8780f4b18c0b4b7357d660fad7edae714 --- a/inc/geshi/awk.php +++ b/vendor/easybook/geshi/geshi/awk.php @@ -154,5 +154,3 @@ $language_data = array ( 'SCRIPT_DELIMITERS' => array (), 'HIGHLIGHT_STRICT_BLOCK' => array() ); - -?> diff --git a/inc/geshi/bascomavr.php b/vendor/easybook/geshi/geshi/bascomavr.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/bascomavr.php rename to vendor/easybook/geshi/geshi/bascomavr.php diff --git a/inc/geshi/bash.php b/vendor/easybook/geshi/geshi/bash.php old mode 100644 new mode 100755 similarity index 88% rename from inc/geshi/bash.php rename to vendor/easybook/geshi/geshi/bash.php index c69f0054fc6e7991be83bba5b0ea788ab0bef780..eba70028b0bc025511a0d50c6f2d7027151857ab --- a/inc/geshi/bash.php +++ b/vendor/easybook/geshi/geshi/bash.php @@ -132,7 +132,16 @@ $language_data = array ( 'apt-src remove', 'apt-src update', 'apt-src upgrade', 'apt-src version', - 'basename', 'bash', 'bc', 'bison', 'bunzip2', 'bzcat', + 'aptitude autoclean', 'aptitude build-dep', 'aptitude changelog', + 'aptitude clean', 'aptitude download', 'aptitude forbid-version', + 'aptitude forget-new', 'aptitude full-upgrade', 'aptitude hold', + 'aptitude install', 'aptitude markauto', 'aptitude purge', + 'aptitude reinstall', 'aptitude remove', 'aptitude safe-upgrade', + 'aptitude search', 'aptitude show', 'aptitude unhold', + 'aptitude unmarkauto', 'aptitude update', 'aptitude versions', + 'aptitude why', 'aptitude why-not', + + 'basename', 'bash', 'batctl', 'bc', 'bison', 'bunzip2', 'bzcat', 'bzcmp', 'bzdiff', 'bzegrep', 'bzfgrep', 'bzgrep', 'bzip2', 'bzip2recover', 'bzless', 'bzmore', @@ -247,14 +256,14 @@ $language_data = array ( 'git-web--browse', 'git-whatchanged', 'gitwhich', 'gitwipe', 'git-write-tree', 'gitxgrep', - 'head', 'hexdump', 'hostname', + 'head', 'hexdump', 'hostname', 'htop', 'id', 'ifconfig', 'ifdown', 'ifup', 'igawk', 'install', 'ip', 'ip addr', 'ip addrlabel', 'ip link', 'ip maddr', 'ip mroute', 'ip neigh', 'ip route', 'ip rule', 'ip tunnel', 'ip xfrm', - 'join', + 'jar', 'java', 'javac', 'join', 'kbd_mode','kbdrate', 'kdialog', 'kfile', 'kill', 'killall', @@ -271,10 +280,11 @@ $language_data = array ( 'od', 'openvt', - 'passwd', 'patch', 'pcregrep', 'pcretest', 'perl', 'perror', - 'pgawk', 'pidof', 'ping', 'pr', 'procmail', 'prune', 'ps', 'pstree', - 'ps2ascii', 'ps2epsi', 'ps2frag', 'ps2pdf', 'ps2ps', 'psbook', - 'psmerge', 'psnup', 'psresize', 'psselect', 'pstops', + 'passwd', 'patch', 'pbzip2', 'pcregrep', 'pcretest', 'perl', + 'perror', 'pgawk', 'pidof', 'pigz', 'ping', 'pr', 'procmail', + 'prune', 'ps', 'pstree', 'ps2ascii', 'ps2epsi', 'ps2frag', + 'ps2pdf', 'ps2ps', 'psbook', 'psmerge', 'psnup', 'psresize', + 'psselect', 'pstops', 'rbash', 'rcs', 'rcs2log', 'read', 'readlink', 'red', 'resizecons', 'rev', 'rm', 'rmdir', 'rsh', 'run-parts', @@ -283,7 +293,7 @@ $language_data = array ( 'setkeycodes', 'setleds', 'setmetamode', 'setserial', 'setterm', 'sh', 'showkey', 'shred', 'size', 'size86', 'skill', 'sleep', 'slogin', 'snice', 'sort', 'sox', 'split', 'ssed', 'ssh', 'ssh-add', - 'ssh-agent', 'ssh-keygen', 'ssh-keyscan', 'stat', 'strace', + 'ssh-agent', 'ssh-keygen', 'ssh-keyscan', 'sshfs', 'stat', 'strace', 'strings', 'strip', 'stty', 'su', 'sudo', 'suidperl', 'sum', 'svn', 'svnadmin', 'svndumpfilter', 'svnlook', 'svnmerge', 'svnmucc', 'svnserve', 'svnshell', 'svnsync', 'svnversion', 'svnwrap', 'sync', @@ -291,16 +301,40 @@ $language_data = array ( 'svn add', 'svn ann', 'svn annotate', 'svn blame', 'svn cat', 'svn changelist', 'svn checkout', 'svn ci', 'svn cl', 'svn cleanup', 'svn co', 'svn commit', 'svn copy', 'svn cp', 'svn del', - 'svn delete', 'svn di', 'svn diff', 'svn export', 'svn h', - 'svn help', 'svn import', 'svn info', 'svn list', 'svn lock', - 'svn log', 'svn ls', 'svn merge', 'svn mergeinfo', 'svn mkdir', - 'svn move', 'svn mv', 'svn pd', 'svn pdel', 'svn pe', 'svn pedit', + 'svn delete', 'svn di', 'svn diff', 'svn export', 'svn help', + 'svn import', 'svn info', 'svn list', 'svn lock', 'svn log', + 'svn ls', 'svn merge', 'svn mergeinfo', 'svn mkdir', 'svn move', + 'svn mv', 'svn patch', 'svn pd', 'svn pdel', 'svn pe', 'svn pedit', 'svn pg', 'svn pget', 'svn pl', 'svn plist', 'svn praise', 'svn propdel', 'svn propedit', 'svn propget', 'svn proplist', - 'svn propset', 'svn ps', 'svn pset', 'svn remove', 'svn ren', + 'svn propset', 'svn ps', 'svn pset', 'svn relocate', 'svn remove', 'svn rename', 'svn resolve', 'svn resolved', 'svn revert', 'svn rm', 'svn st', 'svn stat', 'svn status', 'svn sw', 'svn switch', - 'svn unlock', 'svn up', 'svn update', + 'svn unlock', 'svn up', 'svn update', 'svn upgrade', + + 'svnadmin crashtest', 'svnadmin create', 'svnadmin deltify', + 'svnadmin dump', 'svnadmin help', 'svnadmin hotcopy', + 'svnadmin list-dblogs', 'svnadmin list-unused-dblogs', + 'svnadmin load', 'svnadmin lslocks', 'svnadmin lstxns', + 'svnadmin pack', 'svnadmin recover', 'svnadmin rmlocks', + 'svnadmin rmtxns', 'svnadmin setlog', 'svnadmin setrevprop', + 'svnadmin setuuid', 'svnadmin upgrade', 'svnadmin verify', + + 'svndumpfilter exclude', 'svndumpfilter help', + 'svndumpfilter include', + + 'svnlook author', 'svnlook cat', 'svnlook changed', 'svnlook date', + 'svnlook diff', 'svnlook dirs-changed', 'svnlook filesize', + 'svnlook help', 'svnlook history', 'svnlook info', 'svnlook lock', + 'svnlook log', 'svnlook pg', 'svnlook pget', 'svnlook pl', + 'svnlook plist', 'svnlook propget', 'svnlook proplist', + 'svnlook tree', 'svnlook uuid', 'svnlook youngest', + + 'svnrdump dump', 'svnrdump help', 'svnrdump load', + + 'svnsync copy-revprops', 'svnsync help', 'svnsync info', + 'svnsync init', 'svnsync initialize', 'svnsync sync', + 'svnsync synchronize', 'tac', 'tail', 'tar', 'tee', 'tempfile', 'touch', 'tr', 'tree', 'true', diff --git a/inc/geshi/basic4gl.php b/vendor/easybook/geshi/geshi/basic4gl.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/basic4gl.php rename to vendor/easybook/geshi/geshi/basic4gl.php index 35c927406de0339c18d36742444c337883c3ff24..112fb6967ca61a24e83511825a497a6da14ec4e8 --- a/inc/geshi/basic4gl.php +++ b/vendor/easybook/geshi/geshi/basic4gl.php @@ -337,5 +337,3 @@ $language_data = array ( ), 'TAB_WIDTH' => 4 ); - -?> diff --git a/vendor/easybook/geshi/geshi/batch.php b/vendor/easybook/geshi/geshi/batch.php new file mode 100644 index 0000000000000000000000000000000000000000..7d1ca635ba7d744bdaaa161bde4f3c7b195a118c --- /dev/null +++ b/vendor/easybook/geshi/geshi/batch.php @@ -0,0 +1,138 @@ +<?php +/************************************************************************************* + * batch.php + * ------------ + * Author: FraidZZ ( fraidzz [@] bk.ru ) + * Copyright: (c) 2015 FraidZZ ( http://vk.com/fraidzz , http://www.cyberforum.ru/members/340557.html ) + * Release Version: 1.0.8.11 + * Date Started: 2015/03/28 + * + * Windows batch file language file for GeSHi. + * + ************************************************************************************* + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'Windows Batch file', + 'COMMENT_SINGLE' => array(), + 'COMMENT_MULTI' => array(), + 'COMMENT_REGEXP' => array( + 100 => '/(?:^|[&|])\\s*(?:rem|::)[^\\n]*/msi', + 101 => '/[\\/-]\\S*/si', + 102 => '/^\s*:[^:]\\S*/msi', + 103 => '/(?:([%!])[^"\'~ ][^"\' ]*\\1|%%?(?:~[dpnxsatz]*)?[^"\'])/si' + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'ESCAPE_REGEXP' => array( + 100 => '/(?:([%!])\\S+\\1|%%(?:~[dpnxsatz]*)?[^"\'])/si' + ), + 'KEYWORDS' => array( + 1 => array( + 'echo', 'set', 'for', 'if', 'exit', 'else', 'do', 'not', 'defined', 'exist' + ), + 2 => array( + "ASSOC", "ATTRIB", "BREAK", "BCDEDIT", "CACLS", "CD", + "CHCP", "CHDIR", "CHKDSK", "CHKNTFS", "CLS", "CMD", "COLOR", + "COMP", "COMPACT", "CONVERT", "COPY", "DATE", "DEL", "DIR", + "DISKCOMP", "DISKCOPY", "DISKPART", "DOSKEY", "DRIVERQUERY", "ECHO", "ENDLOCAL", + "ERASE", "EXIT", "FC", "FIND", "FINDSTR", "FOR", "FORMAT", + "FSUTIL", "FTYPE", "GPRESULT", "GRAFTABL", "HELP", "ICACLS", + "IF", "LABEL", "MD", "MKDIR", "MKLINK", "MODE", "MORE", + "MOVE", "OPENFILES", "PATH", "PAUSE", "POPD", "PRINT", "PROMPT", + "PUSHD", "RD", "RECOVER", "REN", "RENAME", "REPLACE", "RMDIR", + "ROBOCOPY", "SET", "SETLOCAL", "SC", "SCHTASKS", "SHIFT", "SHUTDOWN", + "SORT", "START", "SUBST", "SYSTEMINFO", "TASKLIST", "TASKKILL", "TIME", + "TITLE", "TREE", "TYPE", "VER", "VERIFY", "VOL", "XCOPY", + "WMIC", "CSCRIPT" + ), + 3 => array( + "enabledelayedexpansion", "enableextensions" + ) + ), + 'SYMBOLS' => array( + '(', ')', '+', '-', '~', '^', '@', '&', '*', '|', '/', '<', '>' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => false, + 5 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #800080; font-weight: bold;', + 2 => 'color: #0080FF; font-weight: bold;', + 3 => 'color: #0000FF; font-weight: bold;' + ), + 'COMMENTS' => array( + 1 => 'color: #888888;', + 2 => 'color: #FF1010; font-weight: bold;', + 101 => 'color: #44aa44; font-weight: bold;', + 100 => 'color: #888888;', + 102 => 'color: #990000; font-weight: bold;', + 103 => 'color: #000099; font-weight: bold;', + 'MULTI' => 'color: #808080; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 100 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66; font-weight: bold;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;', + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + 0 => 'color: #006600;' + ), + 'SYMBOLS' => array( + 0 => 'color: #44aa44; font-weight: bold;' + ), + 'REGEXPS' => array( + 0 => 'color: #990000; font-weight: bold', + 1 => 'color: #800080; font-weight: bold;' + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array(), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array(), + 'REGEXPS' => array( + 0 => array( + GESHI_SEARCH => "((?:goto|call)\\s*)(\\S+)", + GESHI_REPLACE => "\\2", + GESHI_BEFORE => "\\1", + GESHI_MODIFIERS => "si", + GESHI_AFTER => "" + ) , + 1 => "goto|call" + ), + 'STRICT_MODE_APPLIES' => GESHI_MAYBE, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ) +); diff --git a/inc/geshi/bf.php b/vendor/easybook/geshi/geshi/bf.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/bf.php rename to vendor/easybook/geshi/geshi/bf.php diff --git a/inc/geshi/bibtex.php b/vendor/easybook/geshi/geshi/bibtex.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/bibtex.php rename to vendor/easybook/geshi/geshi/bibtex.php diff --git a/inc/geshi/blitzbasic.php b/vendor/easybook/geshi/geshi/blitzbasic.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/blitzbasic.php rename to vendor/easybook/geshi/geshi/blitzbasic.php index 1d3c08d05e8d44d362173cd338ef31e533656927..c90f45bfa958ac5fc92fde27cd532098a013cc7b --- a/inc/geshi/blitzbasic.php +++ b/vendor/easybook/geshi/geshi/blitzbasic.php @@ -181,5 +181,3 @@ $language_data = array ( 1 => false ) ); - -?> diff --git a/inc/geshi/bnf.php b/vendor/easybook/geshi/geshi/bnf.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/bnf.php rename to vendor/easybook/geshi/geshi/bnf.php diff --git a/inc/geshi/boo.php b/vendor/easybook/geshi/geshi/boo.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/boo.php rename to vendor/easybook/geshi/geshi/boo.php index b68d442f7bed6935a96f279089ee2c107f5b4b97..15944f42a0a3faa153856922d27596400fb92d83 --- a/inc/geshi/boo.php +++ b/vendor/easybook/geshi/geshi/boo.php @@ -213,5 +213,3 @@ $language_data = array ( ), 'TAB_WIDTH' => 4 ); - -?> diff --git a/inc/geshi/c.php b/vendor/easybook/geshi/geshi/c.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/c.php rename to vendor/easybook/geshi/geshi/c.php diff --git a/inc/geshi/c_loadrunner.php b/vendor/easybook/geshi/geshi/c_loadrunner.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/c_loadrunner.php rename to vendor/easybook/geshi/geshi/c_loadrunner.php diff --git a/inc/geshi/c_mac.php b/vendor/easybook/geshi/geshi/c_mac.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/c_mac.php rename to vendor/easybook/geshi/geshi/c_mac.php diff --git a/vendor/easybook/geshi/geshi/c_winapi.php b/vendor/easybook/geshi/geshi/c_winapi.php new file mode 100644 index 0000000000000000000000000000000000000000..1252e7b92bbaff2272325967133ff8f9ed9f613a --- /dev/null +++ b/vendor/easybook/geshi/geshi/c_winapi.php @@ -0,0 +1,870 @@ +<?php +/************************************************************************************* + * c_winapi.php + * ----- + * Author: Benny Baumann (BenBE@geshi.org) + * Contributors: + * - Jack Lloyd (lloyd@randombit.net) + * - Michael Mol (mikemol@gmail.com) + * Copyright: (c) 2012 Benny Baumann (http://qbnz.com/highlighter/) + * Release Version: 1.0.8.11 + * Date Started: 2012/08/12 + * + * C (WinAPI) language file for GeSHi. + * + * CHANGES + * ------- + * 2009/01/22 (1.0.8.3) + * - Made keywords case-sensitive. + * 2008/05/23 (1.0.7.22) + * - Added description of extra language features (SF#1970248) + * 2004/XX/XX (1.0.4) + * - Added a couple of new keywords (Jack Lloyd) + * 2004/11/27 (1.0.3) + * - Added support for multiple object splitters + * 2004/10/27 (1.0.2) + * - Added support for URLs + * 2004/08/05 (1.0.1) + * - Added support for symbols + * 2004/07/14 (1.0.0) + * - First Release + * + * TODO (updated 2009/02/08) + * ------------------------- + * - Get a list of inbuilt functions to add (and explore C more + * to complete this rather bare language file + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'C (WinAPI)', + 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'COMMENT_REGEXP' => array( + //Multiline-continued single-line comments + 1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m', + //Multiline-continued preprocessor define + 2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m' + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'ESCAPE_REGEXP' => array( + //Simple Single Char Escapes + 1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i", + //Hexadecimal Char Specs + 2 => "#\\\\x[\da-fA-F]{2}#", + //Hexadecimal Char Specs + 3 => "#\\\\u[\da-fA-F]{4}#", + //Hexadecimal Char Specs + 4 => "#\\\\U[\da-fA-F]{8}#", + //Octal Char Specs + 5 => "#\\\\[0-7]{1,3}#" + ), + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B | + GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI | + GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO, + 'KEYWORDS' => array( + 1 => array( + 'if', 'return', 'while', 'case', 'continue', 'default', + 'do', 'else', 'for', 'switch', 'goto' + ), + 2 => array( + 'null', 'false', 'break', 'true', 'function', 'enum', 'extern', 'inline' + ), + 3 => array( + // assert.h + 'assert', + + //complex.h + 'cabs', 'cacos', 'cacosh', 'carg', 'casin', 'casinh', 'catan', + 'catanh', 'ccos', 'ccosh', 'cexp', 'cimag', 'cis', 'clog', 'conj', + 'cpow', 'cproj', 'creal', 'csin', 'csinh', 'csqrt', 'ctan', 'ctanh', + + //ctype.h + 'digittoint', 'isalnum', 'isalpha', 'isascii', 'isblank', 'iscntrl', + 'isdigit', 'isgraph', 'islower', 'isprint', 'ispunct', 'isspace', + 'isupper', 'isxdigit', 'toascii', 'tolower', 'toupper', + + //inttypes.h + 'imaxabs', 'imaxdiv', 'strtoimax', 'strtoumax', 'wcstoimax', + 'wcstoumax', + + //locale.h + 'localeconv', 'setlocale', + + //math.h + 'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh', 'exp', + 'fabs', 'floor', 'frexp', 'ldexp', 'log', 'log10', 'modf', 'pow', + 'sin', 'sinh', 'sqrt', 'tan', 'tanh', + + //setjmp.h + 'longjmp', 'setjmp', + + //signal.h + 'raise', + + //stdarg.h + 'va_arg', 'va_copy', 'va_end', 'va_start', + + //stddef.h + 'offsetof', + + //stdio.h + 'clearerr', 'fclose', 'fdopen', 'feof', 'ferror', 'fflush', 'fgetc', + 'fgetpos', 'fgets', 'fopen', 'fprintf', 'fputc', 'fputchar', + 'fputs', 'fread', 'freopen', 'fscanf', 'fseek', 'fsetpos', 'ftell', + 'fwrite', 'getc', 'getch', 'getchar', 'gets', 'perror', 'printf', + 'putc', 'putchar', 'puts', 'remove', 'rename', 'rewind', 'scanf', + 'setbuf', 'setvbuf', 'snprintf', 'sprintf', 'sscanf', 'tmpfile', + 'tmpnam', 'ungetc', 'vfprintf', 'vfscanf', 'vprintf', 'vscanf', + 'vsprintf', 'vsscanf', + + //stdlib.h + 'abort', 'abs', 'atexit', 'atof', 'atoi', 'atol', 'bsearch', + 'calloc', 'div', 'exit', 'free', 'getenv', 'itoa', 'labs', 'ldiv', + 'ltoa', 'malloc', 'qsort', 'rand', 'realloc', 'srand', 'strtod', + 'strtol', 'strtoul', 'system', + + //string.h + 'memchr', 'memcmp', 'memcpy', 'memmove', 'memset', 'strcat', + 'strchr', 'strcmp', 'strcoll', 'strcpy', 'strcspn', 'strerror', + 'strlen', 'strncat', 'strncmp', 'strncpy', 'strpbrk', 'strrchr', + 'strspn', 'strstr', 'strtok', 'strxfrm', + + //time.h + 'asctime', 'clock', 'ctime', 'difftime', 'gmtime', 'localtime', + 'mktime', 'strftime', 'time', + + //wchar.h + 'btowc', 'fgetwc', 'fgetws', 'fputwc', 'fputws', 'fwide', + 'fwprintf', 'fwscanf', 'getwc', 'getwchar', 'mbrlen', 'mbrtowc', + 'mbsinit', 'mbsrtowcs', 'putwc', 'putwchar', 'swprintf', 'swscanf', + 'ungetwc', 'vfwprintf', 'vswprintf', 'vwprintf', 'wcrtomb', + 'wcscat', 'wcschr', 'wcscmp', 'wcscoll', 'wcscpy', 'wcscspn', + 'wcsftime', 'wcslen', 'wcsncat', 'wcsncmp', 'wcsncpy', 'wcspbrk', + 'wcsrchr', 'wcsrtombs', 'wcsspn', 'wcsstr', 'wcstod', 'wcstok', + 'wcstol', 'wcstoul', 'wcsxfrm', 'wctob', 'wmemchr', 'wmemcmp', + 'wmemcpy', 'wmemmove', 'wmemset', 'wprintf', 'wscanf', + + //wctype.h + 'iswalnum', 'iswalpha', 'iswcntrl', 'iswctype', 'iswdigit', + 'iswgraph', 'iswlower', 'iswprint', 'iswpunct', 'iswspace', + 'iswupper', 'iswxdigit', 'towctrans', 'towlower', 'towupper', + 'wctrans', 'wctype' + ), + 4 => array( + 'auto', 'char', 'const', 'double', 'float', 'int', 'long', + 'register', 'short', 'signed', 'sizeof', 'static', 'struct', + 'typedef', 'union', 'unsigned', 'void', 'volatile', 'wchar_t', + + 'int8', 'int16', 'int32', 'int64', + 'uint8', 'uint16', 'uint32', 'uint64', + + 'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t', + 'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t', + + 'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t', + 'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t', + + 'int8_t', 'int16_t', 'int32_t', 'int64_t', + 'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t', + + 'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t', + 'size_t', 'off_t' + ), + // Public API + 5 => array( + 'AssignProcessToJobObject', 'CommandLineToArgvW', 'ConvertThreadToFiber', + 'CreateFiber', 'CreateJobObjectA', 'CreateJobObjectW', 'CreateProcessA', + 'CreateProcessAsUserA', 'CreateProcessAsUserW', 'CreateProcessW', + 'CreateRemoteThread', 'CreateThread', 'DeleteFiber', 'ExitProcess', + 'ExitThread', 'FreeEnvironmentStringsA', 'FreeEnvironmentStringsW', + 'GetCommandLineA', 'GetCommandLineW', 'GetCurrentProcess', + 'GetCurrentProcessId', 'GetCurrentThread', 'GetCurrentThreadId', + 'GetEnvironmentStringsA', 'GetEnvironmentStringsW', + 'GetEnvironmentVariableA', 'GetEnvironmentVariableW', 'GetExitCodeProcess', + 'GetExitCodeThread', 'GetGuiResources', 'GetPriorityClass', + 'GetProcessAffinityMask', 'GetProcessPriorityBoost', + 'GetProcessShutdownParameters', 'GetProcessTimes', 'GetProcessVersion', + 'GetProcessWorkingSetSize', 'GetStartupInfoA', 'GetStartupInfoW', + 'GetThreadPriority', 'GetThreadPriorityBoost', 'GetThreadTimes', + 'OpenJobObjectA', 'OpenJobObjectW', 'OpenProcess', + 'QueryInformationJobObject', 'ResumeThread', 'SetEnvironmentVariableA', + 'SetEnvironmentVariableW', 'SetInformationJobObject', 'SetPriorityClass', + 'SetProcessAffinityMask', 'SetProcessPriorityBoost', + 'SetProcessShutdownParameters', 'SetProcessWorkingSetSize', + 'SetThreadAffinityMask', 'SetThreadIdealProcessor', 'SetThreadPriority', + 'SetThreadPriorityBoost', 'Sleep', 'SleepEx', 'SuspendThread', + 'SwitchToFiber', 'SwitchToThread', 'TerminateJobObject', 'TerminateProcess', + 'TerminateThread', 'WaitForInputIdle', 'WinExec', + + '_hread', '_hwrite', '_lclose', '_lcreat', '_llseek', '_lopen', '_lread', + '_lwrite', 'AreFileApisANSI', 'CancelIo', 'CopyFileA', 'CopyFileW', + 'CreateDirectoryA', 'CreateDirectoryExA', 'CreateDirectoryExW', + 'CreateDirectoryW', 'CreateFileA', 'CreateFileW', 'DeleteFileA', + 'DeleteFileW', 'FindClose', 'FindCloseChangeNotification', + 'FindFirstChangeNotificationA', 'FindFirstChangeNotificationW', + 'FindFirstFileA', 'FindFirstFileW', 'FindNextFileA', 'FindNextFileW', + 'FlushFileBuffers', 'GetCurrentDirectoryA', 'GetCurrentDirectoryW', + 'GetDiskFreeSpaceA', 'GetDiskFreeSpaceExA', 'GetDiskFreeSpaceExW', + 'GetDiskFreeSpaceW', 'GetDriveTypeA', 'GetDriveTypeW', 'GetFileAttributesA', + 'GetFileAttributesExA', 'GetFileAttributesExW', 'GetFileAttributesW', + 'GetFileInformationByHandle', 'GetFileSize', 'GetFileType', + 'GetFullPathNameA', 'GetFullPathNameW', 'GetLogicalDrives', + 'GetLogicalDriveStringsA', 'GetLogicalDriveStringsW', 'GetLongPathNameA', + 'GetLongPathNameW', 'GetShortPathNameA', 'GetShortPathNameW', + 'GetTempFileNameA', 'GetTempFileNameW', 'GetTempPathA', 'GetTempPathW', + 'LockFile', 'MoveFileA', 'MoveFileW', 'MulDiv', 'OpenFile', + 'QueryDosDeviceA', 'QueryDosDeviceW', 'ReadFile', 'ReadFileEx', + 'RemoveDirectoryA', 'RemoveDirectoryW', 'SearchPathA', 'SearchPathW', + 'SetCurrentDirectoryA', 'SetCurrentDirectoryW', 'SetEndOfFile', + 'SetFileApisToANSI', 'SetFileApisToOEM', 'SetFileAttributesA', + 'SetFileAttributesW', 'SetFilePointer', 'SetHandleCount', + 'SetVolumeLabelA', 'SetVolumeLabelW', 'UnlockFile', 'WriteFile', + 'WriteFileEx', + + 'DeviceIoControl', + + 'GetModuleFileNameA', 'GetModuleFileNameW', 'GetProcAddress', + 'LoadLibraryA', 'LoadLibraryExA', 'LoadLibraryExW', 'LoadLibraryW', + 'LoadModule', + + 'GetPrivateProfileIntA', 'GetPrivateProfileIntW', + 'GetPrivateProfileSectionA', 'GetPrivateProfileSectionNamesA', + 'GetPrivateProfileSectionNamesW', 'GetPrivateProfileSectionW', + 'GetPrivateProfileStringA', 'GetPrivateProfileStringW', + 'GetPrivateProfileStructA', 'GetPrivateProfileStructW', + 'GetProfileIntA', 'GetProfileIntW', 'GetProfileSectionA', + 'GetProfileSectionW', 'GetProfileStringA', 'GetProfileStringW', + 'RegCloseKey', 'RegConnectRegistryA', 'RegConnectRegistryW', + 'RegCreateKeyA', 'RegCreateKeyExA', 'RegCreateKeyExW', + 'RegCreateKeyW', 'RegDeleteKeyA', 'RegDeleteKeyW', 'RegDeleteValueA', + 'RegDeleteValueW', 'RegEnumKeyA', 'RegEnumKeyExA', 'RegEnumKeyExW', + 'RegEnumKeyW', 'RegEnumValueA', 'RegEnumValueW', 'RegFlushKey', + 'RegGetKeySecurity', 'RegLoadKeyA', 'RegLoadKeyW', + 'RegNotifyChangeKeyValue', 'RegOpenKeyA', 'RegOpenKeyExA', 'RegOpenKeyExW', + 'RegOpenKeyW', 'RegOverridePredefKey', 'RegQueryInfoKeyA', + 'RegQueryInfoKeyW', 'RegQueryMultipleValuesA', 'RegQueryMultipleValuesW', + 'RegQueryValueA', 'RegQueryValueExA', 'RegQueryValueExW', 'RegQueryValueW', + 'RegReplaceKeyA', 'RegReplaceKeyW', 'RegRestoreKeyA', 'RegRestoreKeyW', + 'RegSaveKeyA', 'RegSaveKeyW', 'RegSetKeySecurity', 'RegSetValueA', + 'RegSetValueExA', 'RegSetValueExW', 'RegSetValueW', 'RegUnLoadKeyA', + 'RegUnLoadKeyW', 'WritePrivateProfileSectionA', 'WritePrivateProfileSectionW', + 'WritePrivateProfileStringA', 'WritePrivateProfileStringW', + 'WritePrivateProfileStructA', 'WritePrivateProfileStructW', + 'WriteProfileSectionA', 'WriteProfileSectionW', 'WriteProfileStringA', + 'WriteProfileStringW', + + 'AccessCheck', 'AccessCheckAndAuditAlarmA', 'AccessCheckAndAuditAlarmW', + 'AccessCheckByType', 'AccessCheckByTypeAndAuditAlarmA', + 'AccessCheckByTypeAndAuditAlarmW', 'AccessCheckByTypeResultList', + 'AccessCheckByTypeResultListAndAuditAlarmA', 'AccessCheckByTypeResultListAndAuditAlarmW', + 'AddAccessAllowedAce', 'AddAccessAllowedAceEx', 'AddAccessAllowedObjectAce', + 'AddAccessDeniedAce', 'AddAccessDeniedAceEx', 'AddAccessDeniedObjectAce', + 'AddAce', 'AddAuditAccessAce', 'AddAuditAccessAceEx', 'AddAuditAccessObjectAce', + 'AdjustTokenGroups', 'AdjustTokenPrivileges', 'AllocateAndInitializeSid', + 'AllocateLocallyUniqueId', 'AreAllAccessesGranted', 'AreAnyAccessesGranted', + 'BuildExplicitAccessWithNameA', 'BuildExplicitAccessWithNameW', + 'BuildImpersonateExplicitAccessWithNameA', 'BuildImpersonateExplicitAccessWithNameW', + 'BuildImpersonateTrusteeA', 'BuildImpersonateTrusteeW', 'BuildSecurityDescriptorA', + 'BuildSecurityDescriptorW', 'BuildTrusteeWithNameA', 'BuildTrusteeWithNameW', + 'BuildTrusteeWithSidA', 'BuildTrusteeWithSidW', + 'ConvertToAutoInheritPrivateObjectSecurity', 'CopySid', 'CreatePrivateObjectSecurity', + 'CreatePrivateObjectSecurityEx', 'CreateRestrictedToken', 'DeleteAce', + 'DestroyPrivateObjectSecurity', 'DuplicateToken', 'DuplicateTokenEx', + 'EqualPrefixSid', 'EqualSid', 'FindFirstFreeAce', 'FreeSid', 'GetAce', + 'GetAclInformation', 'GetAuditedPermissionsFromAclA', 'GetAuditedPermissionsFromAclW', + 'GetEffectiveRightsFromAclA', 'GetEffectiveRightsFromAclW', + 'GetExplicitEntriesFromAclA', 'GetExplicitEntriesFromAclW', 'GetFileSecurityA', + 'GetFileSecurityW', 'GetKernelObjectSecurity', 'GetLengthSid', 'GetMultipleTrusteeA', + 'GetMultipleTrusteeOperationA', 'GetMultipleTrusteeOperationW', 'GetMultipleTrusteeW', + 'GetNamedSecurityInfoA', 'GetNamedSecurityInfoW', 'GetPrivateObjectSecurity', + 'GetSecurityDescriptorControl', 'GetSecurityDescriptorDacl', + 'GetSecurityDescriptorGroup', 'GetSecurityDescriptorLength', + 'GetSecurityDescriptorOwner', 'GetSecurityDescriptorSacl', 'GetSecurityInfo', + 'GetSidIdentifierAuthority', 'GetSidLengthRequired', 'GetSidSubAuthority', + 'GetSidSubAuthorityCount', 'GetTokenInformation', 'GetTrusteeFormA', + 'GetTrusteeFormW', 'GetTrusteeNameA', 'GetTrusteeNameW', 'GetTrusteeTypeA', + 'GetTrusteeTypeW', 'GetUserObjectSecurity', 'ImpersonateLoggedOnUser', + 'ImpersonateNamedPipeClient', 'ImpersonateSelf', 'InitializeAcl', + 'InitializeSecurityDescriptor', 'InitializeSid', 'IsTokenRestricted', 'IsValidAcl', + 'IsValidSecurityDescriptor', 'IsValidSid', 'LogonUserA', 'LogonUserW', + 'LookupAccountNameA', 'LookupAccountNameW', 'LookupAccountSidA', 'LookupAccountSidW', + 'LookupPrivilegeDisplayNameA', 'LookupPrivilegeDisplayNameW', 'LookupPrivilegeNameA', + 'LookupPrivilegeNameW', 'LookupPrivilegeValueA', 'LookupPrivilegeValueW', + 'LookupSecurityDescriptorPartsA', 'LookupSecurityDescriptorPartsW', 'MakeAbsoluteSD', + 'MakeSelfRelativeSD', 'MapGenericMask', 'ObjectCloseAuditAlarmA', + 'ObjectCloseAuditAlarmW', 'ObjectDeleteAuditAlarmA', 'ObjectDeleteAuditAlarmW', + 'ObjectOpenAuditAlarmA', 'ObjectOpenAuditAlarmW', 'ObjectPrivilegeAuditAlarmA', + 'ObjectPrivilegeAuditAlarmW', 'OpenProcessToken', 'OpenThreadToken', 'PrivilegeCheck', + 'PrivilegedServiceAuditAlarmA', 'PrivilegedServiceAuditAlarmW', 'RevertToSelf', + 'SetAclInformation', 'SetEntriesInAclA', 'SetEntriesInAclW', 'SetFileSecurityA', + 'SetFileSecurityW', 'SetKernelObjectSecurity', 'SetNamedSecurityInfoA', + 'SetNamedSecurityInfoW', 'SetPrivateObjectSecurity', 'SetPrivateObjectSecurityEx', + 'SetSecurityDescriptorControl', 'SetSecurityDescriptorDacl', + 'SetSecurityDescriptorGroup', 'SetSecurityDescriptorOwner', + 'SetSecurityDescriptorSacl', 'SetSecurityInfo', 'SetThreadToken', + 'SetTokenInformation', 'SetUserObjectSecurity', 'ChangeServiceConfig2A', + 'ChangeServiceConfig2W', 'ChangeServiceConfigA', 'ChangeServiceConfigW', + 'CloseServiceHandle', 'ControlService', 'CreateServiceA', 'CreateServiceW', + 'DeleteService', 'EnumDependentServicesA', 'EnumDependentServicesW', + 'EnumServicesStatusA', 'EnumServicesStatusW', 'GetServiceDisplayNameA', + 'GetServiceDisplayNameW', 'GetServiceKeyNameA', 'GetServiceKeyNameW', + 'LockServiceDatabase', 'NotifyBootConfigStatus', 'OpenSCManagerA', 'OpenSCManagerW', + 'OpenServiceA', 'OpenServiceW', 'QueryServiceConfig2A', 'QueryServiceConfig2W', + 'QueryServiceConfigA', 'QueryServiceConfigW', 'QueryServiceLockStatusA', + 'QueryServiceLockStatusW', 'QueryServiceObjectSecurity', 'QueryServiceStatus', + 'RegisterServiceCtrlHandlerA', 'RegisterServiceCtrlHandlerW', + 'SetServiceObjectSecurity', 'SetServiceStatus', 'StartServiceA', + 'StartServiceCtrlDispatcherA', 'StartServiceCtrlDispatcherW', 'StartServiceW', + 'UnlockServiceDatabase', + + 'MultinetGetConnectionPerformanceA', 'MultinetGetConnectionPerformanceW', + 'NetAlertRaise', 'NetAlertRaiseEx', 'NetApiBufferAllocate', 'NetApiBufferFree', + 'NetApiBufferReallocate', 'NetApiBufferSize', 'NetConnectionEnum', 'NetFileClose', + 'NetFileGetInfo', 'NetGetAnyDCName', 'NetGetDCName', 'NetGetDisplayInformationIndex', + 'NetGroupAdd', 'NetGroupAddUser', 'NetGroupDel', 'NetGroupDelUser', 'NetGroupEnum', + 'NetGroupGetInfo', 'NetGroupGetUsers', 'NetGroupSetInfo', 'NetGroupSetUsers', + 'NetLocalGroupAdd', 'NetLocalGroupAddMember', 'NetLocalGroupAddMembers', + 'NetLocalGroupDel', 'NetLocalGroupDelMember', 'NetLocalGroupDelMembers', + 'NetLocalGroupEnum', 'NetLocalGroupGetInfo', 'NetLocalGroupGetMembers', + 'NetLocalGroupSetInfo', 'NetLocalGroupSetMembers', 'NetMessageBufferSend', + 'NetMessageNameAdd', 'NetMessageNameDel', 'NetMessageNameEnum', + 'NetMessageNameGetInfo', 'NetQueryDisplayInformation', 'NetRemoteComputerSupports', + 'NetRemoteTOd', 'NetReplExportDirAdd', 'NetReplExportDirDel', 'NetReplExportDirEnum', + 'NetReplExportDirGetInfo', 'NetReplExportDirLock', 'NetReplExportDirSetInfo', + 'NetReplExportDirUnlock', 'NetReplGetInfo', 'NetReplImportDirAdd', + 'NetReplImportDirDel', 'NetReplImportDirEnum', 'NetReplImportDirGetInfo', + 'NetReplImportDirLock', 'NetReplImportDirUnlock', 'NetReplSetInfo', + 'NetScheduleJobAdd', 'NetScheduleJobDel', 'NetScheduleJobEnum', + 'NetScheduleJobGetInfo', 'NetServerComputerNameAdd', 'NetServerComputerNameDel', + 'NetServerDiskEnum', 'NetServerEnum', 'NetServerEnumEx', 'NetServerGetInfo', + 'NetServerSetInfo', 'NetServerTransportAdd', 'NetServerTransportAddEx', + 'NetServerTransportDel', 'NetServerTransportEnum', 'NetSessionDel', 'NetSessionEnum', + 'NetSessionGetInfo', 'NetShareAdd', 'NetShareCheck', 'NetShareDel', 'NetShareEnum', + 'NetShareGetInfo', 'NetShareSetInfo', 'NetStatisticsGet', 'NetUseAdd', 'NetUseDel', + 'NetUseEnum', 'NetUseGetInfo', 'NetUserAdd', 'NetUserChangePassword', 'NetUserDel', + 'NetUserEnum', 'NetUserGetGroups', 'NetUserGetInfo', 'NetUserGetLocalGroups', + 'NetUserModalsGet', 'NetUserModalsSet', 'NetUserSetGroups', 'NetUserSetInfo', + 'NetWkstaGetInfo', 'NetWkstaSetInfo', 'NetWkstaTransportAdd', 'NetWkstaTransportDel', + 'NetWkstaTransportEnum', 'NetWkstaUserEnum', 'NetWkstaUserGetInfo', + 'NetWkstaUserSetInfo', 'WNetAddConnection2A', 'WNetAddConnection2W', + 'WNetAddConnection3A', 'WNetAddConnection3W', 'WNetAddConnectionA', + 'WNetAddConnectionW', 'WNetCancelConnection2A', 'WNetCancelConnection2W', + 'WNetCancelConnectionA', 'WNetCancelConnectionW', 'WNetCloseEnum', + 'WNetConnectionDialog', 'WNetConnectionDialog1A', 'WNetConnectionDialog1W', + 'WNetDisconnectDialog', 'WNetDisconnectDialog1A', 'WNetDisconnectDialog1W', + 'WNetEnumResourceA', 'WNetEnumResourceW', 'WNetGetConnectionA', 'WNetGetConnectionW', + 'WNetGetLastErrorA', 'WNetGetLastErrorW', 'WNetGetNetworkInformationA', + 'WNetGetNetworkInformationW', 'WNetGetProviderNameA', 'WNetGetProviderNameW', + 'WNetGetResourceInformationA', 'WNetGetResourceInformationW', + 'WNetGetResourceParentA', 'WNetGetResourceParentW', 'WNetGetUniversalNameA', + 'WNetGetUniversalNameW', 'WNetGetUserA', 'WNetGetUserW', 'WNetOpenEnumA', + 'WNetOpenEnumW', 'WNetUseConnectionA', 'WnetUseConnectionW', + + 'accept', 'bind', 'closesocket', 'connect', 'gethostbyaddr', 'gethostbyname', + 'gethostname', 'getpeername', 'getprotobyname', 'getprotobynumber', 'getservbyname', + 'getservbyport', 'getsockname', 'getsockopt', 'htonl', 'htons', 'inet_addr', + 'inet_ntoa', 'ioctlsocket', 'listen', 'ntohl', 'ntohs', 'recv', 'recvfrom', 'select', + 'send', 'sendto', 'setsockopt', 'shutdown', 'socket', 'WSAAccept', + 'WSAAddressToStringA', 'WSAAddressToStringW', 'WSAAsyncGetHostByAddr', + 'WSAAsyncGetHostByName', 'WSAAsyncGetProtoByName', 'WSAAsyncGetProtoByNumber', + 'WSAAsyncGetServByName', 'WSAAsyncGetServByPort', 'WSAAsyncSelect', + 'WSACancelAsyncRequest', 'WSACancelBlockingCall', 'WSACleanup', 'WSACloseEvent', + 'WSAConnect', 'WSACreateEvent', 'WSADuplicateSocketA', 'WSADuplicateSocketW', + 'WSAEnumNameSpaceProvidersA', 'WSAEnumNameSpaceProvidersW', 'WSAEnumNetworkEvents', + 'WSAEnumProtocolsA', 'WSAEnumProtocolsW', 'WSAEventSelect', 'WSAGetLastError', + 'WSAGetOverlappedResult', 'WSAGetQOSByName', 'WSAGetServiceClassInfoA', + 'WSAGetServiceClassInfoW', 'WSAGetServiceClassNameByClassIdA', + 'WSAGetServiceClassNameByClassIdW', 'WSAHtonl', 'WSAHtons', 'WSAInstallServiceClassA', + 'WSAInstallServiceClassW', 'WSAIoctl', 'WSAIsBlocking', 'WSAJoinLeaf', + 'WSALookupServiceBeginA', 'WSALookupServiceBeginW', 'WSALookupServiceEnd', + 'WSALookupServiceNextA', 'WSALookupServiceNextW', 'WSANtohl', 'WSANtohs', + 'WSAProviderConfigChange', 'WSARecv', 'WSARecvDisconnect', 'WSARecvFrom', + 'WSARemoveServiceClass', 'WSAResetEvent', 'WSASend', 'WSASendDisconnect', 'WSASendTo', + 'WSASetBlockingHook', 'WSASetEvent', 'WSASetLastError', 'WSASetServiceA', + 'WSASetServiceW', 'WSASocketA', 'WSASocketW', 'WSAStartup', 'WSAStringToAddressA', + 'WSAStringToAddressW', 'WSAUnhookBlockingHook', 'WSAWaitForMultipleEvents', + 'WSCDeinstallProvider', 'WSCEnableNSProvider', 'WSCEnumProtocols', + 'WSCGetProviderPath', 'WSCInstallNameSpace', 'WSCInstallProvider', + 'WSCUnInstallNameSpace', + + 'ContinueDebugEvent', 'DebugActiveProcess', 'DebugBreak', 'FatalExit', + 'FlushInstructionCache', 'GetThreadContext', 'GetThreadSelectorEntry', + 'IsDebuggerPresent', 'OutputDebugStringA', 'OutputDebugStringW', 'ReadProcessMemory', + 'SetDebugErrorLevel', 'SetThreadContext', 'WaitForDebugEvent', 'WriteProcessMemory', + + 'CloseHandle', 'DuplicateHandle', 'GetHandleInformation', 'SetHandleInformation', + + 'AdjustWindowRect', 'AdjustWindowRectEx', 'AllowSetForegroundWindow', + 'AnimateWindow', 'AnyPopup', 'ArrangeIconicWindows', 'BeginDeferWindowPos', + 'BringWindowToTop', 'CascadeWindows', 'ChildWindowFromPoint', + 'ChildWindowFromPointEx', 'CloseWindow', 'CreateWindowExA', 'CreateWindowExW', + 'DeferWindowPos', 'DestroyWindow', 'EndDeferWindowPos', 'EnumChildWindows', + 'EnumThreadWindows', 'EnumWindows', 'FindWindowA', 'FindWindowExA', 'FindWindowExW', + 'FindWindowW', 'GetAltTabInfoA', 'GetAltTabInfoW', 'GetAncestor', 'GetClientRect', + 'GetDesktopWindow', 'GetForegroundWindow', 'GetGUIThreadInfo', 'GetLastActivePopup', + 'GetLayout', 'GetParent', 'GetProcessDefaultLayout', 'GetTitleBarInf', 'GetTopWindow', + 'GetWindow', 'GetWindowInfo', 'GetWindowModuleFileNameA', 'GetWindowModuleFileNameW', + 'GetWindowPlacement', 'GetWindowRect', 'GetWindowTextA', 'GetWindowTextLengthA', + 'GetWindowTextLengthW', 'GetWindowTextW', 'GetWindowThreadProcessId', 'IsChild', + 'IsIconic', 'IsWindow', 'IsWindowUnicode', 'IsWindowVisible', 'IsZoomed', + 'LockSetForegroundWindow', 'MoveWindow', 'OpenIcon', 'RealChildWindowFromPoint', + 'RealGetWindowClassA', 'RealGetWindowClassW', 'SetForegroundWindow', + 'SetLayeredWindowAttributes', 'SetLayout', 'SetParent', 'SetProcessDefaultLayout', + 'SetWindowPlacement', 'SetWindowPos', 'SetWindowTextA', 'SetWindowTextW', + 'ShowOwnedPopups', 'ShowWindow', 'ShowWindowAsync', 'TileWindows', + 'UpdateLayeredWindow', 'WindowFromPoint', + + 'CreateDialogIndirectParamA', 'CreateDialogIndirectParamW', 'CreateDialogParamA', + 'CreateDialogParamW', 'DefDlgProcA', 'DefDlgProcW', 'DialogBoxIndirectParamA', + 'DialogBoxIndirectParamW', 'DialogBoxParamA', 'DialogBoxParamW', 'EndDialog', + 'GetDialogBaseUnits', 'GetDlgCtrlID', 'GetDlgItem', 'GetDlgItemInt', + 'GetDlgItemTextA', 'GetDlgItemTextW', 'GetNextDlgGroupItem', 'GetNextDlgTabItem', + 'IsDialogMessageA', 'IsDialogMessageW', 'MapDialogRect', 'MessageBoxA', + 'MessageBoxExA', 'MessageBoxExW', 'MessageBoxIndirectA', 'MessageBoxIndirectW', + 'MessageBoxW', 'SendDlgItemMessageA', 'SendDlgItemMessageW', 'SetDlgItemInt', + 'SetDlgItemTextA', 'SetDlgItemTextW', + + 'GetWriteWatch', 'GlobalMemoryStatus', 'GlobalMemoryStatusEx', 'IsBadCodePtr', + 'IsBadReadPtr', 'IsBadStringPtrA', 'IsBadStringPtrW', 'IsBadWritePtr', + 'ResetWriteWatch', 'AllocateUserPhysicalPages', 'FreeUserPhysicalPages', + 'MapUserPhysicalPages', 'MapUserPhysicalPagesScatter', 'GlobalAlloc', 'GlobalFlags', + 'GlobalFree', 'GlobalHandle', 'GlobalLock', 'GlobalReAlloc', 'GlobalSize', + 'GlobalUnlock', 'LocalAlloc', 'LocalFlags', 'LocalFree', 'LocalHandle', 'LocalLock', + 'LocalReAlloc', 'LocalSize', 'LocalUnlock', 'GetProcessHeap', 'GetProcessHeaps', + 'HeapAlloc', 'HeapCompact', 'HeapCreate', 'HeapDestroy', 'HeapFree', 'HeapLock', + 'HeapReAlloc', 'HeapSize', 'HeapUnlock', 'HeapValidate', 'HeapWalk', 'VirtualAlloc', + 'VirtualAllocEx', 'VirtualFree', 'VirtualFreeEx', 'VirtualLock', 'VirtualProtect', + 'VirtualProtectEx', 'VirtualQuery', 'VirtualQueryEx', 'VirtualUnlock', + 'GetFreeSpace', 'GlobalCompact', 'GlobalFix', 'GlobalUnfix', 'GlobalUnWire', + 'GlobalWire', 'IsBadHugeReadPtr', 'IsBadHugeWritePtr', 'LocalCompact', 'LocalShrink', + + 'GetClassInfoA', 'GetClassInfoW', 'GetClassInfoExA', 'GetClassInfoExW', + 'GetClassLongA', 'GetClassLongW', 'GetClassLongPtrA', 'GetClassLongPtrW', + 'RegisterClassA', 'RegisterClassW', 'RegisterClassExA', 'RegisterClassExW', + 'SetClassLongA', 'SetClassLongW', 'SetClassLongPtrA', 'SetClassLongPtrW', + 'SetWindowLongA', 'SetWindowLongW', 'SetWindowLongPtrA', 'SetWindowLongPtrW', + 'UnregisterClassA', 'UnregisterClassW', 'GetClassWord', 'GetWindowWord', + 'SetClassWord', 'SetWindowWord' + ), + // Native API + 6 => array( + 'CsrAllocateCaptureBuffer', 'CsrAllocateCapturePointer', 'CsrAllocateMessagePointer', + 'CsrCaptureMessageBuffer', 'CsrCaptureMessageString', 'CsrCaptureTimeout', + 'CsrClientCallServer', 'CsrClientConnectToServer', 'CsrFreeCaptureBuffer', + 'CsrIdentifyAlertableThread', 'CsrNewThread', 'CsrProbeForRead', 'CsrProbeForWrite', + 'CsrSetPriorityClass', + + 'LdrAccessResource', 'LdrDisableThreadCalloutsForDll', 'LdrEnumResources', + 'LdrFindEntryForAddress', 'LdrFindResource_U', 'LdrFindResourceDirectory_U', + 'LdrGetDllHandle', 'LdrGetProcedureAddress', 'LdrInitializeThunk', 'LdrLoadDll', + 'LdrProcessRelocationBlock', 'LdrQueryImageFileExecutionOptions', + 'LdrQueryProcessModuleInformation', 'LdrShutdownProcess', 'LdrShutdownThread', + 'LdrUnloadDll', 'LdrVerifyImageMatchesChecksum', + + 'NtAcceptConnectPort', 'ZwAcceptConnectPort', 'NtCompleteConnectPort', + 'ZwCompleteConnectPort', 'NtConnectPort', 'ZwConnectPort', 'NtCreatePort', + 'ZwCreatePort', 'NtImpersonateClientOfPort', 'ZwImpersonateClientOfPort', + 'NtListenPort', 'ZwListenPort', 'NtQueryInformationPort', 'ZwQueryInformationPort', + 'NtReadRequestData', 'ZwReadRequestData', 'NtReplyPort', 'ZwReplyPort', + 'NtReplyWaitReceivePort', 'ZwReplyWaitReceivePort', 'NtReplyWaitReplyPort', + 'ZwReplyWaitReplyPort', 'NtRequestPort', 'ZwRequestPort', 'NtRequestWaitReplyPort', + 'ZwRequestWaitReplyPort', 'NtSecureConnectPort', 'ZwSecureConnectPort', + 'NtWriteRequestData', 'ZwWriteRequestData', + + 'NtAccessCheck', 'ZwAccessCheck', 'NtAccessCheckAndAuditAlarm', + 'ZwAccessCheckAndAuditAlarm', 'NtAccessCheckByType', 'ZwAccessCheckByType', + 'NtAccessCheckByTypeAndAuditAlarm', 'ZwAccessCheckByTypeAndAuditAlarm', + 'NtAccessCheckByTypeResultList', 'ZwAccessCheckByTypeResultList', + 'NtAdjustGroupsToken', 'ZwAdjustGroupsToken', 'NtAdjustPrivilegesToken', + 'ZwAdjustPrivilegesToken', 'NtCloseObjectAuditAlarm', 'ZwCloseObjectAuditAlarm', + 'NtCreateToken', 'ZwCreateToken', 'NtDeleteObjectAuditAlarm', + 'ZwDeleteObjectAuditAlarm', 'NtDuplicateToken', 'ZwDuplicateToken', + 'NtFilterToken', 'ZwFilterToken', 'NtImpersonateThread', 'ZwImpersonateThread', + 'NtOpenObjectAuditAlarm', 'ZwOpenObjectAuditAlarm', 'NtOpenProcessToken', + 'ZwOpenProcessToken', 'NtOpenThreadToken', 'ZwOpenThreadToken', 'NtPrivilegeCheck', + 'ZwPrivilegeCheck', 'NtPrivilegedServiceAuditAlarm', 'ZwPrivilegedServiceAuditAlarm', + 'NtPrivilegeObjectAuditAlarm', 'ZwPrivilegeObjectAuditAlarm', + 'NtQueryInformationToken', 'ZwQueryInformationToken', 'NtQuerySecurityObject', + 'ZwQuerySecurityObject', 'NtSetInformationToken', 'ZwSetInformationToken', + 'NtSetSecurityObject', 'ZwSetSecurityObject', + + 'NtAddAtom', 'ZwAddAtom', 'NtDeleteAtom', 'ZwDeleteAtom', 'NtFindAtom', 'ZwFindAtom', + 'NtQueryInformationAtom', 'ZwQueryInformationAtom', + + 'NtAlertResumeThread', 'ZwAlertResumeThread', 'NtAlertThread', 'ZwAlertThread', + 'NtCreateProcess', 'ZwCreateProcess', 'NtCreateThread', 'ZwCreateThread', + 'NtCurrentTeb', 'NtDelayExecution', 'ZwDelayExecution', 'NtGetContextThread', + 'ZwGetContextThread', 'NtOpenProcess', 'ZwOpenProcess', 'NtOpenThread', + 'ZwOpenThread', 'NtQueryInformationProcess', 'ZwQueryInformationProcess', + 'NtQueryInformationThread', 'ZwQueryInformationThread', 'NtQueueApcThread', + 'ZwQueueApcThread', 'NtResumeThread', 'ZwResumeThread', 'NtSetContextThread', + 'ZwSetContextThread', 'NtSetHighWaitLowThread', 'ZwSetHighWaitLowThread', + 'NtSetInformationProcess', 'ZwSetInformationProcess', 'NtSetInformationThread', + 'ZwSetInformationThread', 'NtSetLowWaitHighThread', 'ZwSetLowWaitHighThread', + 'NtSuspendThread', 'ZwSuspendThread', 'NtTerminateProcess', 'ZwTerminateProcess', + 'NtTerminateThread', 'ZwTerminateThread', 'NtTestAlert', 'ZwTestAlert', + 'NtYieldExecution', 'ZwYieldExecution', + + 'NtAllocateVirtualMemory', 'ZwAllocateVirtualMemory', 'NtAllocateVirtualMemory64', + 'ZwAllocateVirtualMemory64', 'NtAreMappedFilesTheSame', 'ZwAreMappedFilesTheSame', + 'NtCreateSection', 'ZwCreateSection', 'NtExtendSection', 'ZwExtendSection', + 'NtFlushVirtualMemory', 'ZwFlushVirtualMemory', 'NtFreeVirtualMemory', + 'ZwFreeVirtualMemory', 'NtFreeVirtualMemory64', 'ZwFreeVirtualMemory64', + 'NtLockVirtualMemory', 'ZwLockVirtualMemory', 'NtMapViewOfSection', + 'ZwMapViewOfSection', 'NtMapViewOfVlmSection', 'ZwMapViewOfVlmSection', + 'NtOpenSection', 'ZwOpenSection', 'NtProtectVirtualMemory', 'ZwProtectVirtualMemory', + 'NtProtectVirtualMemory64', 'ZwProtectVirtualMemory64', 'NtQueryVirtualMemory', + 'ZwQueryVirtualMemory', 'NtQueryVirtualMemory64', 'ZwQueryVirtualMemory64', + 'NtReadVirtualMemory', 'ZwReadVirtualMemory', 'NtReadVirtualMemory64', + 'ZwReadVirtualMemory64', 'NtUnlockVirtualMemory', 'ZwUnlockVirtualMemory', + 'NtUnmapViewOfSection', 'ZwUnmapViewOfSection', 'NtUnmapViewOfVlmSection', + 'ZwUnmapViewOfVlmSection', 'NtWriteVirtualMemory', 'ZwWriteVirtualMemory', + 'NtWriteVirtualMemory64', 'ZwWriteVirtualMemory64', + + 'NtAssignProcessToJobObject', 'ZwAssignProcessToJobObject', 'NtCreateJobObject', + 'ZwCreateJobObject', 'NtOpenJobObject', 'ZwOpenJobObject', + 'NtQueryInformationJobObject', 'ZwQueryInformationJobObject', + 'NtSetInformationJobObject', 'ZwSetInformationJobObject', 'NtTerminateJobObject', + 'ZwTerminateJobObject', + + 'NtCancelIoFile', 'ZwCancelIoFile', 'NtCreateFile', 'ZwCreateFile', + 'NtCreateIoCompletion', 'ZwCreateIoCompletion', 'NtDeleteFile', 'ZwDeleteFile', + 'NtDeviceIoControlFile', 'ZwDeviceIoControlFile', 'NtFlushBuffersFile', + 'ZwFlushBuffersFile', 'NtFsControlFile', 'ZwFsControlFile', 'NtLockFile', 'ZwLockFile', + 'NtNotifyChangeDirectoryFile', 'ZwNotifyChangeDirectoryFile', 'NtOpenFile', + 'ZwOpenFile', 'NtOpenIoCompletion', 'ZwOpenIoCompletion', 'NtQueryAttributesFile', + 'ZwQueryAttributesFile', 'NtQueryDirectoryFile', 'ZwQueryDirectoryFile', + 'NtQueryEaFile', 'ZwQueryEaFile', 'NtQueryIoCompletion', 'ZwQueryIoCompletion', + 'NtQueryQuotaInformationFile', 'ZwQueryQuotaInformationFile', + 'NtQueryVolumeInformationFile', 'ZwQueryVolumeInformationFile', 'NtReadFile', + 'ZwReadFile', 'NtReadFile64', 'ZwReadFile64', 'NtReadFileScatter', 'ZwReadFileScatter', + 'NtRemoveIoCompletion', 'ZwRemoveIoCompletion', 'NtSetEaFile', 'ZwSetEaFile', + 'NtSetInformationFile', 'ZwSetInformationFile', 'NtSetIoCompletion', + 'ZwSetIoCompletion', 'NtSetQuotaInformationFile', 'ZwSetQuotaInformationFile', + 'NtSetVolumeInformationFile', 'ZwSetVolumeInformationFile', 'NtUnlockFile', + 'ZwUnlockFile', 'NtWriteFile', 'ZwWriteFile', 'NtWriteFile64','ZwWriteFile64', + 'NtWriteFileGather', 'ZwWriteFileGather', 'NtQueryFullAttributesFile', + 'ZwQueryFullAttributesFile', 'NtQueryInformationFile', 'ZwQueryInformationFile', + + 'RtlAbortRXact', 'RtlAbsoluteToSelfRelativeSD', 'RtlAcquirePebLock', + 'RtlAcquireResourceExclusive', 'RtlAcquireResourceShared', 'RtlAddAccessAllowedAce', + 'RtlAddAccessDeniedAce', 'RtlAddAce', 'RtlAddActionToRXact', 'RtlAddAtomToAtomTable', + 'RtlAddAttributeActionToRXact', 'RtlAddAuditAccessAce', 'RtlAddCompoundAce', + 'RtlAdjustPrivilege', 'RtlAllocateAndInitializeSid', 'RtlAllocateHandle', + 'RtlAllocateHeap', 'RtlAnsiCharToUnicodeChar', 'RtlAnsiStringToUnicodeSize', + 'RtlAnsiStringToUnicodeString', 'RtlAppendAsciizToString', 'RtlAppendStringToString', + 'RtlAppendUnicodeStringToString', 'RtlAppendUnicodeToString', 'RtlApplyRXact', + 'RtlApplyRXactNoFlush', 'RtlAreAllAccessesGranted', 'RtlAreAnyAccessesGranted', + 'RtlAreBitsClear', 'RtlAreBitsSet', 'RtlAssert', 'RtlCaptureStackBackTrace', + 'RtlCharToInteger', 'RtlCheckRegistryKey', 'RtlClearAllBits', 'RtlClearBits', + 'RtlClosePropertySet', 'RtlCompactHeap', 'RtlCompareMemory', 'RtlCompareMemoryUlong', + 'RtlCompareString', 'RtlCompareUnicodeString', 'RtlCompareVariants', + 'RtlCompressBuffer', 'RtlConsoleMultiByteToUnicodeN', 'RtlConvertExclusiveToShared', + 'RtlConvertLongToLargeInteger', 'RtlConvertPropertyToVariant', + 'RtlConvertSharedToExclusive', 'RtlConvertSidToUnicodeString', + 'RtlConvertUiListToApiList', 'RtlConvertUlongToLargeInteger', + 'RtlConvertVariantToProperty', 'RtlCopyLuid', 'RtlCopyLuidAndAttributesArray', + 'RtlCopySecurityDescriptor', 'RtlCopySid', 'RtlCopySidAndAttributesArray', + 'RtlCopyString', 'RtlCopyUnicodeString', 'RtlCreateAcl', 'RtlCreateAndSetSD', + 'RtlCreateAtomTable', 'RtlCreateEnvironment', 'RtlCreateHeap', + 'RtlCreateProcessParameters', 'RtlCreatePropertySet', 'RtlCreateQueryDebugBuffer', + 'RtlCreateRegistryKey', 'RtlCreateSecurityDescriptor', 'RtlCreateTagHeap', + 'RtlCreateUnicodeString', 'RtlCreateUnicodeStringFromAsciiz', 'RtlCreateUserProcess', + 'RtlCreateUserSecurityObject', 'RtlCreateUserThread', 'RtlCustomCPToUnicodeN', + 'RtlCutoverTimeToSystemTime', 'RtlDecompressBuffer', 'RtlDecompressFragment', + 'RtlDelete', 'RtlDeleteAce', 'RtlDeleteAtomFromAtomTable', 'RtlDeleteCriticalSection', + 'RtlDeleteElementGenericTable', 'RtlDeleteNoSplay', 'RtlDeleteRegistryValue', + 'RtlDeleteResource', 'RtlDeleteSecurityObject', 'RtlDeNormalizeProcessParams', + 'RtlDestroyAtomTable', 'RtlDestroyEnvironment', 'RtlDestroyHandleTable', + 'RtlDestroyHeap', 'RtlDestroyProcessParameters', 'RtlDestroyQueryDebugBuffer', + 'RtlDetermineDosPathNameType_U', 'RtlDoesFileExists_U', 'RtlDosPathNameToNtPathName_U', + 'RtlDosSearchPath_U', 'RtlDowncaseUnicodeString', 'RtlDumpResource', + 'RtlEmptyAtomTable', 'RtlEnlargedIntegerMultiply', 'RtlEnlargedUnsignedDivide', + 'RtlEnlargedUnsignedMultiply', 'RtlEnterCriticalSection', 'RtlEnumerateGenericTable', + 'RtlEnumerateGenericTableWithoutSplaying', 'RtlEnumerateProperties', + 'RtlEnumProcessHeaps', 'RtlEqualComputerName', 'RtlEqualDomainName', 'RtlEqualLuid', + 'RtlEqualPrefixSid', 'RtlEqualSid', 'RtlEqualString', 'RtlEqualUnicodeString', + 'RtlEraseUnicodeString', 'RtlExpandEnvironmentStrings_U', 'RtlExtendedIntegerMultiply', + 'RtlExtendedLargeIntegerDivide', 'RtlExtendedMagicDivide', 'RtlExtendHeap', + 'RtlFillMemory', 'RtlFillMemoryUlong', 'RtlFindClearBits', 'RtlFindClearBitsAndSet', + 'RtlFindLongestRunClear', 'RtlFindLongestRunSet', 'RtlFindMessage', 'RtlFindSetBits', + 'RtlFindSetBitsAndClear', 'RtlFirstFreeAce', 'RtlFlushPropertySet', + 'RtlFormatCurrentUserKeyPath', 'RtlFormatMessage', 'RtlFreeAnsiString', + 'RtlFreeHandle', 'RtlFreeHeap', 'RtlFreeOemString', 'RtlFreeSid', + 'RtlFreeUnicodeString', 'RtlFreeUserThreadStack', 'RtlGenerate8dot3Name', 'RtlGetAce', + 'RtlGetCallersAddress', 'RtlGetCompressionWorkSpaceSize', + 'RtlGetControlSecurityDescriptor', 'RtlGetCurrentDirectory_U', + 'RtlGetDaclSecurityDescriptor', 'RtlGetElementGenericTable', 'RtlGetFullPathName_U', + 'RtlGetGroupSecurityDescriptor', 'RtlGetLongestNtPathLength', 'RtlGetNtGlobalFlags', + 'RtlGetNtProductType', 'RtlGetOwnerSecurityDescriptor', 'RtlGetProcessHeaps', + 'RtlGetSaclSecurityDescriptor', 'RtlGetUserInfoHeap', 'RtlGuidToPropertySetName', + 'RtlIdentifierAuthoritySid', 'RtlImageDirectoryEntryToData', 'RtlImageNtHeader', + 'RtlImageRvaToSection', 'RtlImageRvaToVa', 'RtlImpersonateSelf', 'RtlInitAnsiString', + 'RtlInitCodePageTable', 'RtlInitializeAtomPackage', 'RtlInitializeBitMap', + 'RtlInitializeContext', 'RtlInitializeCriticalSection', + 'RtlInitializeCriticalSectionAndSpinCount', 'RtlInitializeGenericTable', + 'RtlInitializeHandleTable', 'RtlInitializeResource', 'RtlInitializeRXact', + 'RtlInitializeSid', 'RtlInitNlsTables', 'RtlInitString', 'RtlInitUnicodeString', + 'RtlInsertElementGenericTable', 'RtlIntegerToChar', 'RtlIntegerToUnicodeString', + 'RtlIsDosDeviceName_U', 'RtlIsGenericTableEmpty', 'RtlIsNameLegalDOS8Dot3', + 'RtlIsTextUnicode', 'RtlIsValidHandle', 'RtlIsValidIndexHandle', 'RtlLargeIntegerAdd', + 'RtlLargeIntegerArithmeticShift', 'RtlLargeIntegerDivide', 'RtlLargeIntegerNegate', + 'RtlLargeIntegerShiftLeft', 'RtlLargeIntegerShiftRight', 'RtlLargeIntegerSubtract', + 'RtlLargeIntegerToChar', 'RtlLeaveCriticalSection', 'RtlLengthRequiredSid', + 'RtlLengthSecurityDescriptor', 'RtlLengthSid', 'RtlLocalTimeToSystemTime', + 'RtlLockHeap', 'RtlLookupAtomInAtomTable', 'RtlLookupElementGenericTable', + 'RtlMakeSelfRelativeSD', 'RtlMapGenericMask', 'RtlMoveMemory', + 'RtlMultiByteToUnicodeN', 'RtlMultiByteToUnicodeSize', 'RtlNewInstanceSecurityObject', + 'RtlNewSecurityGrantedAccess', 'RtlNewSecurityObject', 'RtlNormalizeProcessParams', + 'RtlNtStatusToDosError', 'RtlNumberGenericTableElements', 'RtlNumberOfClearBits', + 'RtlNumberOfSetBits', 'RtlOemStringToUnicodeSize', 'RtlOemStringToUnicodeString', + 'RtlOemToUnicodeN', 'RtlOnMappedStreamEvent', 'RtlOpenCurrentUser', + 'RtlPcToFileHeader', 'RtlPinAtomInAtomTable', 'RtlpNtCreateKey', + 'RtlpNtEnumerateSubKey', 'RtlpNtMakeTemporaryKey', 'RtlpNtOpenKey', + 'RtlpNtQueryValueKey', 'RtlpNtSetValueKey', 'RtlPrefixString', + 'RtlPrefixUnicodeString', 'RtlPropertySetNameToGuid', 'RtlProtectHeap', + 'RtlpUnWaitCriticalSection', 'RtlpWaitForCriticalSection', 'RtlQueryAtomInAtomTable', + 'RtlQueryEnvironmentVariable_U', 'RtlQueryInformationAcl', + 'RtlQueryProcessBackTraceInformation', 'RtlQueryProcessDebugInformation', + 'RtlQueryProcessHeapInformation', 'RtlQueryProcessLockInformation', + 'RtlQueryProperties', 'RtlQueryPropertyNames', 'RtlQueryPropertySet', + 'RtlQueryRegistryValues', 'RtlQuerySecurityObject', 'RtlQueryTagHeap', + 'RtlQueryTimeZoneInformation', 'RtlRaiseException', 'RtlRaiseStatus', 'RtlRandom', + 'RtlReAllocateHeap', 'RtlRealPredecessor', 'RtlRealSuccessor', 'RtlReleasePebLock', + 'RtlReleaseResource', 'RtlRemoteCall', 'RtlResetRtlTranslations', + 'RtlRunDecodeUnicodeString', 'RtlRunEncodeUnicodeString', 'RtlSecondsSince1970ToTime', + 'RtlSecondsSince1980ToTime', 'RtlSelfRelativeToAbsoluteSD', 'RtlSetAllBits', + 'RtlSetAttributesSecurityDescriptor', 'RtlSetBits', 'RtlSetCriticalSectionSpinCount', + 'RtlSetCurrentDirectory_U', 'RtlSetCurrentEnvironment', 'RtlSetDaclSecurityDescriptor', + 'RtlSetEnvironmentVariable', 'RtlSetGroupSecurityDescriptor', 'RtlSetInformationAcl', + 'RtlSetOwnerSecurityDescriptor', 'RtlSetProperties', 'RtlSetPropertyNames', + 'RtlSetPropertySetClassId', 'RtlSetSaclSecurityDescriptor', 'RtlSetSecurityObject', + 'RtlSetTimeZoneInformation', 'RtlSetUnicodeCallouts', 'RtlSetUserFlagsHeap', + 'RtlSetUserValueHeap', 'RtlSizeHeap', 'RtlSplay', 'RtlStartRXact', + 'RtlSubAuthorityCountSid', 'RtlSubAuthoritySid', 'RtlSubtreePredecessor', + 'RtlSubtreeSuccessor', 'RtlSystemTimeToLocalTime', 'RtlTimeFieldsToTime', + 'RtlTimeToElapsedTimeFields', 'RtlTimeToSecondsSince1970', 'RtlTimeToSecondsSince1980', + 'RtlTimeToTimeFields', 'RtlTryEnterCriticalSection', 'RtlUnicodeStringToAnsiSize', + 'RtlUnicodeStringToAnsiString', 'RtlUnicodeStringToCountedOemString', + 'RtlUnicodeStringToInteger', 'RtlUnicodeStringToOemSize', + 'RtlUnicodeStringToOemString', 'RtlUnicodeToCustomCPN', 'RtlUnicodeToMultiByteN', + 'RtlUnicodeToMultiByteSize', 'RtlUnicodeToOemN', 'RtlUniform', 'RtlUnlockHeap', + 'RtlUnwind', 'RtlUpcaseUnicodeChar', 'RtlUpcaseUnicodeString', + 'RtlUpcaseUnicodeStringToAnsiString', 'RtlUpcaseUnicodeStringToCountedOemString', + 'RtlUpcaseUnicodeStringToOemString', 'RtlUpcaseUnicodeToCustomCPN', + 'RtlUpcaseUnicodeToMultiByteN', 'RtlUpcaseUnicodeToOemN', 'RtlUpperChar', + 'RtlUpperString', 'RtlUsageHeap', 'RtlValidAcl', 'RtlValidateHeap', + 'RtlValidateProcessHeaps', 'RtlValidSecurityDescriptor', 'RtlValidSid', 'RtlWalkHeap', + 'RtlWriteRegistryValue', 'RtlxAnsiStringToUnicodeSize', 'RtlxOemStringToUnicodeSize', + 'RtlxUnicodeStringToAnsiSize', 'RtlxUnicodeStringToOemSize', 'RtlZeroHeap', + 'RtlZeroMemory', + + 'NtCancelTimer', 'ZwCancelTimer', 'NtCreateTimer', 'ZwCreateTimer', 'NtGetTickCount', + 'ZwGetTickCount', 'NtOpenTimer', 'ZwOpenTimer', 'NtQueryPerformanceCounter', + 'ZwQueryPerformanceCounter', 'NtQuerySystemTime', 'ZwQuerySystemTime', 'NtQueryTimer', + 'ZwQueryTimer', 'NtQueryTimerResolution', 'ZwQueryTimerResolution', 'NtSetSystemTime', + 'ZwSetSystemTime', 'NtSetTimer', 'ZwSetTimer', 'NtSetTimerResolution', + 'ZwSetTimerResolution', + + 'NtClearEvent', 'ZwClearEvent', 'NtCreateEvent', 'ZwCreateEvent', 'NtCreateEventPair', + 'ZwCreateEventPair', 'NtCreateMutant', 'ZwCreateMutant', 'NtCreateSemaphore', + 'ZwCreateSemaphore', 'NtOpenEvent', 'ZwOpenEvent', 'NtOpenEventPair', + 'ZwOpenEventPair', 'NtOpenMutant', 'ZwOpenMutant', 'NtOpenSemaphore', + 'ZwOpenSemaphore', 'NtPulseEvent', 'ZwPulseEvent', 'NtQueryEvent', 'ZwQueryEvent', + 'NtQueryMutant', 'ZwQueryMutant', 'NtQuerySemaphore', 'ZwQuerySemaphore', + 'NtReleaseMutant', 'ZwReleaseMutant', 'NtReleaseProcessMutant', + 'ZwReleaseProcessMutant', 'NtReleaseSemaphore', 'ZwReleaseSemaphore', + 'NtReleaseThreadMutant', 'ZwReleaseThreadMutant', 'NtResetEvent', 'ZwResetEvent', + 'NtSetEvent', 'ZwSetEvent', 'NtSetHighEventPair', 'ZwSetHighEventPair', + 'NtSetHighWaitLowEventPair', 'ZwSetHighWaitLowEventPair', 'NtSetLowEventPair', + 'ZwSetLowEventPair', 'NtSetLowWaitHighEventPair', 'ZwSetLowWaitHighEventPair', + 'NtSignalAndWaitForSingleObject', 'ZwSignalAndWaitForSingleObject', + 'NtWaitForMultipleObjects', 'ZwWaitForMultipleObjects', 'NtWaitForSingleObject', + 'ZwWaitForSingleObject', 'NtWaitHighEventPair', 'ZwWaitHighEventPair', + 'NtWaitLowEventPair', 'ZwWaitLowEventPair', + + 'NtClose', 'ZwClose', 'NtCreateDirectoryObject', 'ZwCreateDirectoryObject', + 'NtCreateSymbolicLinkObject', 'ZwCreateSymbolicLinkObject', + 'NtDuplicateObject', 'ZwDuplicateObject', 'NtMakeTemporaryObject', + 'ZwMakeTemporaryObject', 'NtOpenDirectoryObject', 'ZwOpenDirectoryObject', + 'NtOpenSymbolicLinkObject', 'ZwOpenSymbolicLinkObject', 'NtQueryDirectoryObject', + 'ZwQueryDirectoryObject', 'NtQueryObject', 'ZwQueryObject', + 'NtQuerySymbolicLinkObject', 'ZwQuerySymbolicLinkObject', 'NtSetInformationObject', + 'ZwSetInformationObject', + + 'NtContinue', 'ZwContinue', 'NtRaiseException', 'ZwRaiseException', + 'NtRaiseHardError', 'ZwRaiseHardError', 'NtSetDefaultHardErrorPort', + 'ZwSetDefaultHardErrorPort', + + 'NtCreateChannel', 'ZwCreateChannel', 'NtListenChannel', 'ZwListenChannel', + 'NtOpenChannel', 'ZwOpenChannel', 'NtReplyWaitSendChannel', 'ZwReplyWaitSendChannel', + 'NtSendWaitReplyChannel', 'ZwSendWaitReplyChannel', 'NtSetContextChannel', + 'ZwSetContextChannel', + + 'NtCreateKey', 'ZwCreateKey', 'NtDeleteKey', 'ZwDeleteKey', 'NtDeleteValueKey', + 'ZwDeleteValueKey', 'NtEnumerateKey', 'ZwEnumerateKey', 'NtEnumerateValueKey', + 'ZwEnumerateValueKey', 'NtFlushKey', 'ZwFlushKey', 'NtInitializeRegistry', + 'ZwInitializeRegistry', 'NtLoadKey', 'ZwLoadKey', 'NtLoadKey2', 'ZwLoadKey2', + 'NtNotifyChangeKey', 'ZwNotifyChangeKey', 'NtOpenKey', 'ZwOpenKey', 'NtQueryKey', + 'ZwQueryKey', 'NtQueryMultipleValueKey', 'ZwQueryMultipleValueKey', + 'NtQueryMultiplValueKey', 'ZwQueryMultiplValueKey', 'NtQueryValueKey', + 'ZwQueryValueKey', 'NtReplaceKey', 'ZwReplaceKey', 'NtRestoreKey', 'ZwRestoreKey', + 'NtSaveKey', 'ZwSaveKey', 'NtSetInformationKey', 'ZwSetInformationKey', + 'NtSetValueKey', 'ZwSetValueKey', 'NtUnloadKey', 'ZwUnloadKey', + + 'NtCreateMailslotFile', 'ZwCreateMailslotFile', 'NtCreateNamedPipeFile', + 'ZwCreateNamedPipeFile', 'NtCreatePagingFile', 'ZwCreatePagingFile', + + 'NtCreateProfile', 'ZwCreateProfile', 'NtQueryIntervalProfile', + 'ZwQueryIntervalProfile', 'NtRegisterThreadTerminatePort', + 'ZwRegisterThreadTerminatePort', 'NtSetIntervalProfile', 'ZwSetIntervalProfile', + 'NtStartProfile', 'ZwStartProfile', 'NtStopProfile', 'ZwStopProfile', + 'NtSystemDebugControl', 'ZwSystemDebugControl', + + 'NtEnumerateBus', 'ZwEnumerateBus', 'NtFlushInstructionCache', + 'ZwFlushInstructionCache', 'NtFlushWriteBuffer', 'ZwFlushWriteBuffer', + 'NtSetLdtEntries', 'ZwSetLdtEntries', + + 'NtGetPlugPlayEvent', 'ZwGetPlugPlayEvent', 'NtPlugPlayControl', 'ZwPlugPlayControl', + + 'NtInitiatePowerAction', 'ZwInitiatePowerAction', 'NtPowerInformation', + 'ZwPowerInformation', 'NtRequestWakeupLatency', 'ZwRequestWakeupLatency', + 'NtSetSystemPowerState', 'ZwSetSystemPowerState', 'NtSetThreadExecutionState', + 'ZwSetThreadExecutionState', + + 'NtLoadDriver', 'ZwLoadDriver', 'NtRegisterNewDevice', 'ZwRegisterNewDevice', + 'NtUnloadDriver', 'ZwUnloadDriver', + + 'NtQueryDefaultLocale', 'ZwQueryDefaultLocale', 'NtQueryDefaultUILanguage', + 'ZwQueryDefaultUILanguage', 'NtQuerySystemEnvironmentValue', + 'ZwQuerySystemEnvironmentValue', 'NtSetDefaultLocale', 'ZwSetDefaultLocale', + 'NtSetDefaultUILanguage', 'ZwSetDefaultUILanguage', 'NtSetSystemEnvironmentValue', + 'ZwSetSystemEnvironmentValue', + + 'DbgBreakPoint', 'DbgPrint', 'DbgPrompt', 'DbgSsHandleKmApiMsg', 'DbgSsInitialize', + 'DbgUiConnectToDbg', 'DbgUiContinue', 'DbgUiWaitStateChange', 'DbgUserBreakPoint', + 'KiRaiseUserExceptionDispatcher', 'KiUserApcDispatcher', 'KiUserCallbackDispatcher', + 'KiUserExceptionDispatcher', 'NlsAnsiCodePage', 'NlsMbCodePageTag', + 'NlsMbOemCodePageTag', 'NtAllocateLocallyUniqueId', 'ZwAllocateLocallyUniqueId', + 'NtAllocateUuids', 'ZwAllocateUuids', 'NtCallbackReturn', 'ZwCallbackReturn', + 'NtDisplayString', 'ZwDisplayString', 'NtQueryOleDirectoryFile', + 'ZwQueryOleDirectoryFile', 'NtQuerySection', 'ZwQuerySection', + 'NtQuerySystemInformation', 'ZwQuerySystemInformation', 'NtSetSystemInformation', + 'ZwSetSystemInformation', 'NtShutdownSystem', 'ZwShutdownSystem', 'NtVdmControl', + 'ZwVdmControl', 'NtW32Call', 'ZwW32Call', 'PfxFindPrefix', 'PfxInitialize', + 'PfxInsertPrefix', 'PfxRemovePrefix', 'PropertyLengthAsVariant', 'RestoreEm87Context', + 'SaveEm87Context' + ) + ), + 'SYMBOLS' => array( + '(', ')', '{', '}', '[', ']', + '+', '-', '*', '/', '%', + '=', '<', '>', + '!', '^', '&', '|', + '?', ':', + ';', ',' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + 3 => true, + 4 => true, + 5 => true, + 6 => true + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #b1b100;', + 2 => 'color: #000000; font-weight: bold;', + 3 => 'color: #000066;', + 4 => 'color: #993333;', + 5 => 'color: #4000dd;', + 6 => 'color: #4000dd;' + ), + 'COMMENTS' => array( + 1 => 'color: #666666; font-style: italic;', + 2 => 'color: #339933;', + 'MULTI' => 'color: #808080; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;', + 1 => 'color: #000099; font-weight: bold;', + 2 => 'color: #660099; font-weight: bold;', + 3 => 'color: #660099; font-weight: bold;', + 4 => 'color: #660099; font-weight: bold;', + 5 => 'color: #006699; font-weight: bold;', + 'HARD' => '', + ), + 'BRACKETS' => array( + 0 => 'color: #009900;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #0000dd;', + GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;', + GESHI_NUMBER_OCT_PREFIX => 'color: #208080;', + GESHI_NUMBER_HEX_PREFIX => 'color: #208080;', + GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;', + GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI => 'color:#800080;' + ), + 'METHODS' => array( + 1 => 'color: #202020;', + 2 => 'color: #202020;' + ), + 'SYMBOLS' => array( + 0 => 'color: #339933;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAMEL}.html', + 4 => '', + 5 => 'http://www.google.com/search?q={FNAMEL}+msdn.microsoft.com', + 6 => 'http://www.google.com/search?q={FNAMEL}+msdn.microsoft.com' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.', + 2 => '::' + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4 +); diff --git a/inc/geshi/caddcl.php b/vendor/easybook/geshi/geshi/caddcl.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/caddcl.php rename to vendor/easybook/geshi/geshi/caddcl.php index 8b8b2f248e930e6f60ddfd5d76e6eedd261882cd..0135a7aec99a5c2c5706e3a84569ad155dbbd422 --- a/inc/geshi/caddcl.php +++ b/vendor/easybook/geshi/geshi/caddcl.php @@ -122,5 +122,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/cadlisp.php b/vendor/easybook/geshi/geshi/cadlisp.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/cadlisp.php rename to vendor/easybook/geshi/geshi/cadlisp.php index 3fa7ead0977d84a446f802715ed8fb3c2936d743..41d72ca278c5b8337afb54f005f803bb6772c026 --- a/inc/geshi/cadlisp.php +++ b/vendor/easybook/geshi/geshi/cadlisp.php @@ -182,5 +182,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/cfdg.php b/vendor/easybook/geshi/geshi/cfdg.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/cfdg.php rename to vendor/easybook/geshi/geshi/cfdg.php index e40963f060ab065e1cda89d6c5d7d45f3abe4ae0..eeb7c2f3d4ed5ae1dde11878a70f0bf7483fbf0f --- a/inc/geshi/cfdg.php +++ b/vendor/easybook/geshi/geshi/cfdg.php @@ -120,5 +120,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/cfm.php b/vendor/easybook/geshi/geshi/cfm.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/cfm.php rename to vendor/easybook/geshi/geshi/cfm.php diff --git a/inc/geshi/chaiscript.php b/vendor/easybook/geshi/geshi/chaiscript.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/chaiscript.php rename to vendor/easybook/geshi/geshi/chaiscript.php diff --git a/vendor/easybook/geshi/geshi/chapel.php b/vendor/easybook/geshi/geshi/chapel.php new file mode 100644 index 0000000000000000000000000000000000000000..d0e50e6149ee8de4fce484e687081f757875dd85 --- /dev/null +++ b/vendor/easybook/geshi/geshi/chapel.php @@ -0,0 +1,169 @@ +<?php +/************************************************************************************* + * chapel.php + * ----- + * Author: Richard Molitor (richard.molitor@student.kit.edu) + * Copyright: (c) 2013 Richard Molitor + * Release Version: 1.0.8.12 + * Date Started: 2013/06/22 + * + * Chapel language file for GeSHi. + * + * CHANGES + * ------- + * 2013/06/22 (1.0.8.12) + * - First Release + * + * TODO (updated 2013/06/22) + * ------------------------- + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'Chapel', + 'COMMENT_SINGLE' => array(1 => '//'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'COMMENT_REGEXP' => array( + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'ESCAPE_REGEXP' => array( + ), + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B | + GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI | GESHI_NUMBER_FLT_NONSCI_F | + GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO, + 'KEYWORDS' => array( + // statements + 1 => array( + 'atomic', 'begin', 'break', 'class', 'cobegin', 'coforall', + 'continue', 'do', 'else', 'export', 'extern', 'for', 'forall', 'if', + 'iter', 'inline', 'label', 'let', 'local', 'module', + 'otherwise', 'proc', 'record', 'return', 'select', 'serial', + 'then', 'use', 'var', 'when', 'where', 'while', 'yield' + ), + // literals + 2 => array( + 'nil', 'true', 'false' + ), + // built-in functions + 3 => array( + 'by', 'delete', 'dmapped', 'domain', 'enum', 'index', 'min', + 'minloc', 'max', 'maxloc', 'new', 'range', 'reduce', 'scan', + 'sparse', 'subdomain', 'sync', 'union', 'zip' + ), + // built-in types + 4 => array( + 'config', 'const', 'in', 'inout', 'opaque', 'on', 'out', 'param', + 'ref', 'single', 'type' + ), + // library types + 5 => array( + 'void', 'bool', 'int', 'uint', 'real', 'imag', 'complex', 'string', + 'locale' + ), + ), + 'SYMBOLS' => array( + '(', ')', '{', '}', '[', ']', + '+', '-', '*', '/', '%', + '=', '<', '>', + '!', '^', '&', '|', + '?', ':', + ';', ',' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + 3 => true, + 4 => true, + 5 => true + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #b1b100;', + 2 => 'color: #000000; font-weight: bold;', + 3 => 'color: #000066;', + 4 => 'color: #993333;' + ), + 'COMMENTS' => array( + 1 => 'color: #666666; font-style: italic;', + //2 => 'color: #339933;', + 'MULTI' => 'color: #808080; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;', + 1 => 'color: #000099; font-weight: bold;', + 2 => 'color: #660099; font-weight: bold;', + 3 => 'color: #660099; font-weight: bold;', + 4 => 'color: #660099; font-weight: bold;', + 5 => 'color: #006699; font-weight: bold;', + 'HARD' => '', + ), + 'BRACKETS' => array( + 0 => 'color: #009900;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #0000dd;', + GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;', + GESHI_NUMBER_OCT_PREFIX => 'color: #208080;', + GESHI_NUMBER_HEX_PREFIX => 'color: #208080;', + GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;', + GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI => 'color:#800080;' + ), + 'METHODS' => array( + 1 => 'color: #202020;', + 2 => 'color: #202020;' + ), + 'SYMBOLS' => array( + 0 => 'color: #339933;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.', + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4 +); diff --git a/inc/geshi/cil.php b/vendor/easybook/geshi/geshi/cil.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/cil.php rename to vendor/easybook/geshi/geshi/cil.php index 9872e755fc4dbc15ae9dd5bddbb11e8d8531c443..a108f2498c6293728fd90b3b5b8b86f718e33bfc --- a/inc/geshi/cil.php +++ b/vendor/easybook/geshi/geshi/cil.php @@ -192,5 +192,3 @@ $language_data = array ( ), 'TAB_WIDTH' => 4 ); - -?> diff --git a/inc/geshi/clojure.php b/vendor/easybook/geshi/geshi/clojure.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/clojure.php rename to vendor/easybook/geshi/geshi/clojure.php diff --git a/inc/geshi/cmake.php b/vendor/easybook/geshi/geshi/cmake.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/cmake.php rename to vendor/easybook/geshi/geshi/cmake.php diff --git a/vendor/easybook/geshi/geshi/cobol.php b/vendor/easybook/geshi/geshi/cobol.php new file mode 100755 index 0000000000000000000000000000000000000000..1280a4c7e9962c50c7d82deece311614c042272d --- /dev/null +++ b/vendor/easybook/geshi/geshi/cobol.php @@ -0,0 +1,457 @@ +<?php +/************************************************************************************* + * cobol.php + * ---------- + * Author: BenBE (BenBE@omorphia.org) + * Copyright: (c) 2007-2008 BenBE (http://www.omorphia.de/) + * Release Version: 1.0.8.12 + * Date Started: 2007/07/02 + * + * COBOL language file for GeSHi. + * + * Most of the compiler directives, reserved words and intrinsic functions are + * from the 2009 COBOL Draft Standard, Micro Focus, and GNU Cobol. The lists of + * these were found in the draft standard (Sections 8.9, 8.10, 8.11 and 8.12), + * Micro Focus' COBOL Language Reference and the GNU Cobol FAQ. + * + * CHANGES + * ------- + * 2013/11/17 (1.0.8.12) + * - Changed compiler directives to be handled like comments. + * - Fixed bug where keywords in identifiers were highlighted. + * 2013/08/19 (1.0.8.12) + * - Added more intrinsic functions, reserved words, and compiler directives + * from the (upcoming) standard. + * 2013/07/07 (1.0.8.12) + * - Added more reserved words, compiler directives and intrinsic functions. + * - Added modern comment syntax and corrected the other one. + * - Set OOLANG to true and added an object splitter. + * - Added extra symbols. + * - Fixed bug where scope terminators were only the statement in + * end-statement was highlighted. + * + * TODO (updated 2013/11/17) + * ------------------------- + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'COBOL', + 'COMMENT_SINGLE' => array( + 1 => '*>', // COBOL 2002 inline comment + 2 => '>>' // COBOL compiler directive indicator + ), + 'COMMENT_MULTI' => array(), + 'COMMENT_REGEXP' => array( + 1 => '/^......(\*.*?$)/m', // Fixed-form comment + 2 => '/\$SET.*/i' // MF compiler directive indicator + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"', "'"), + 'ESCAPE_CHAR' => '', + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | + GESHI_NUMBER_FLT_NONSCI | + GESHI_NUMBER_FLT_SCI_SHORT | + GESHI_NUMBER_FLT_SCI_ZERO, + 'KEYWORDS' => array( + // Statements containing spaces. These are separate to other statements + // so that they are highlighted correctly. + 1 => array( + 'DELETE FILE', 'GO TO', 'NEXT SENTENCE', 'XML GENERATE', + 'XML PARSE' + ), + + 2 => array( // Other Reserved Words + '3-D', 'ABSENT', 'ABSTRACT', 'ACCESS', 'ACQUIRE', + 'ACTION', 'ACTIVE-CLASS', 'ACTIVE-X', 'ACTUAL', 'ADDRESS', + 'ADDRESS-ARRAY', 'ADDRESS-OFFSET', 'ADJUSTABLE-COLUMNS', + 'ADVANCING', 'AFP-5A', 'AFTER', 'ALIGNED', 'ALIGNMENT', 'ALL', + 'ALLOW', 'ALLOWING', 'ALPHABET', 'ALPHABETIC', + 'ALPHABETIC-LOWER', 'ALPHABETIC-UPPER', 'ALPHANUMERIC', + 'ALPHANUMERIC-EDITED', 'ALSO', 'ALTERNATE', 'AND', 'ANY', + 'ANYCASE', + 'APPLY', 'ARE', 'AREA', 'AREAS', 'ARGUMENT-NUMBER', + 'ARGUMENT-VALUE', + 'ARITHMETIC', 'AS', 'ASCENDING', + 'ASSEMBLY-ATTRIBUTES', 'ASSIGN', 'AT', 'ATTRIBUTE', 'AUTHOR', + 'AUTO', 'AUTO-DECIMAL', 'AUTO-HYPHEN-SKIP', 'AUTO-MINIMIZE', + 'AUTO-RESIZE', 'AUTO-SKIP', 'AUTO-SPIN', 'AUTOMATIC', + 'AUTOTERMINATE', 'AWAY-FROM-ZERO', + 'AX-EVENT-LIST', 'B-AND', 'B-EXOR', 'B-LEFT', + 'B-NOT', 'B-OR', 'B-RIGHT', 'B-XOR', 'BACKGROUND-COLOR', + 'BACKGROUND-COLOUR', 'BACKGROUND-HIGH', 'BACKGROUND-LOW', + 'BACKGROUND-STANDARD', 'BACKWARD', 'BAR', 'BASED', 'BASIS', 'BEEP', + 'BEFORE', 'BEGINNING', 'BELL', 'BINARY', 'BINARY-CHAR', + 'BINARY-DOUBLE', 'BINARY-LONG', 'BINARY-SHORT', 'BIND', 'BIT', + 'BITMAP', 'BITMAP-END', 'BITMAP-HANDLE', 'BITMAP-NUMBER', + 'BITMAP-RAW-HEIGHT', 'BITMAP-RAW-WIDTH', 'BITMAP-SCALE', + 'BITMAP-START', 'BITMAP-TIMER', 'BITMAP-TRAILING', 'BITMAP-WIDTH', + 'BLANK', 'BLINK', 'BLINKING', 'BLOB', 'BLOB-FILE', 'BLOB-LOCATOR', + 'BLOCK', 'BOLD', 'BOOLEAN', 'BOTTOM', 'BOX', 'BOXED', 'BROWSING', + 'BUSY', 'BUTTONS', 'BY', 'C01', 'C02', 'C03', 'C04', + 'C05', + 'C06', 'C07', 'C08', 'C09', 'C10', 'C11', 'C12', 'CALENDAR-FONT', + 'CALLED', 'CANCEL-BUTTON', 'CAPACITY', 'CATCH', 'CBL', + 'CBL-CTR', 'CCOL', 'CD', 'CELL', 'CELL-COLOR', 'CELL-DATA', + 'CELL-FONT', 'CELL-PROTECTION', 'CELLS', 'CENTER', 'CENTERED', + 'CENTERED-HEADINGS', 'CENTURY-DATE', 'CENTURY-DAY', 'CF', 'CH', + 'CHAINING', 'CHANGED', 'CHAR-VARYING', + 'CHARACTER', + 'CHARACTERS', 'CHART', 'CHECK-BOX', 'CHECKING', 'CLASS', + 'CLASS-ATTRIBUTES', 'CLASS-CONTROL', 'CLASS-ID', 'CLASS-OBJECT', + 'CLASSIFICATION', + 'CLEAR-SELECTION', 'CLINE', 'CLINES', 'CLOB', 'CLOB-FILE', + 'CLOB-LOCATOR', 'CLOCK-UNITS', 'COBOL', 'CODE', 'CODE-SET', + 'COERCION', 'COL', 'COLLATING', 'COLORS', 'COLOUR', + 'COLOURS', 'COLS', 'COLUMN', 'COLUMN-COLOR', 'COLUMN-DIVIDERS', + 'COLUMN-FONT', 'COLUMN-HEADINGS', 'COLUMN-PROTECTION', 'COLUMNS', + 'COM-REG', 'COMBO-BOX', 'COMMA', 'COMMITMENT', 'COMMON', + 'COMMUNICATION', 'COMP', 'COMP-0', 'COMP-1', 'COMP-2', 'COMP-3', + 'COMP-4', 'COMP-5', 'COMP-6', 'COMP-X', 'COMPRESSION', + 'COMPUTATIONAL', 'COMPUTATIONAL-0', 'COMPUTATIONAL-1', + 'COMPUTATIONAL-2', 'COMPUTATIONAL-3', 'COMPUTATIONAL-4', + 'COMPUTATIONAL-5', 'COMPUTATIONAL-6', 'COMPUTATIONAL-X', + 'CONDITION-VALUE', 'CONFIGURATION', 'CONSOLE', 'CONSTANT', + 'CONSTRAIN', 'CONSTRAINTS', 'CONTAINS', 'CONTENT', + 'CONTROL', 'CONTROL-AREA', 'CONTROLS', 'CONTROLS-UNCROPPED', + 'CONVERSION', 'CONVERT', 'CONVERTING', 'COPY-SELECTION', + 'CORE-INDEX', 'CORR', 'CORRESPONDING', 'COUNT', + 'CREATING', 'CRT', 'CRT-UNDER', 'CSIZE', 'CSP', 'CURRENCY', + 'CURSOR', 'CURSOR-COL', 'CURSOR-COLOR', + 'CURSOR-FRAME-WIDTH', 'CURSOR-ROW', 'CURSOR-X', 'CURSOR-Y', + 'CUSTOM-ATTRIBUTE', 'CUSTOM-PRINT-TEMPLATE', 'CYCLE', 'CYL-INDEX', + 'CYL-OVERFLOW', 'DASHED', 'DATA', 'DATA-COLUMNS', + 'DATA-POINTER', 'DATA-TYPES', 'DATABASE-KEY', 'DATABASE-KEY-LONG', + 'DATE', 'DATE-COMPILED', 'DATE-ENTRY', 'DATE-RECORD', + 'DATE-WRITTEN', 'DAY', 'DAY-OF-WEEK', 'DBCLOB', 'DBCLOB-FILE', + 'DBCLOB-LOCATOR', 'DBCS', 'DE', 'DEBUG', 'DEBUG-CONTENTS', + 'DEBUG-ITEM', 'DEBUG-LINE', 'DEBUG-NAME', 'DEBUG-SUB-1', + 'DEBUG-SUB-2', 'DEBUG-SUB-3', 'DEBUGGING', 'DECIMAL', + 'DECIMAL-POINT', 'DECLARATIVES', 'DEFAULT', + 'DEFAULT-BUTTON', 'DEFAULT-FONT', 'DEFINITION', + 'DELEGATE-ID', 'DELIMITED', 'DELIMITER', 'DEPENDING', + 'DESCENDING', 'DESTINATION', 'DESTROY', 'DETAIL', 'DICTIONARY', + 'DISABLE', 'DISC', 'DISJOINING', 'DISK', 'DISP', + 'DISPLAY-1', 'DISPLAY-COLUMNS', 'DISPLAY-FORMAT', 'DISPLAY-ST', + 'DIVIDER-COLOR', 'DIVIDERS', 'DIVISION', 'DOT-DASH', + 'DOTTED', 'DOWN', 'DRAG-COLOR', 'DRAW', 'DROP', 'DROP-DOWN', + 'DROP-LIST', 'DUPLICATES', 'DYNAMIC', 'EBCDIC', 'EC', 'ECHO', 'EGCS', + 'EGI', 'EJECT', 'ELEMENTARY', 'ELSE', 'EMI', 'EMPTY-CHECK', + 'ENABLE', 'ENABLED', 'END', 'END-ACCEPT', 'END-ADD', 'END-CALL', + 'END-CHAIN', 'END-COLOR', 'END-COMPUTE', 'END-DELEGATE', + 'END-DELETE', 'END-DISPLAY', 'END-DIVIDE', 'END-EVALUATE', + 'END-IF', 'END-INVOKE', 'END-MODIFY', 'END-MOVE', 'END-MULTIPLY', + 'END-OF-PAGE', 'END-PERFORM', 'END-READ', 'END-RECEIVE', + 'END-RETURN', 'END-REWRITE', 'END-SEARCH', 'END-START', + 'END-STRING', 'END-SUBTRACT', 'END-SYNC', 'END-TRY', + 'END-UNSTRING', 'END-WAIT', 'END-WRITE', 'END-XML', 'ENDING', + 'ENGRAVED', 'ENSURE-VISIBLE', 'ENTRY-CONVENTION', + 'ENTRY-FIELD', + 'ENTRY-REASON', 'ENUM', 'ENUM-ID', 'ENVIRONMENT', + 'ENVIRONMENT-NAME', 'ENVIRONMENT-VALUE', 'EOL', 'EOP', + 'EOS', 'EQUAL', 'EQUALS', 'ERASE', 'ERROR', 'ESCAPE', + 'ESCAPE-BUTTON', 'ESI', 'EVENT', 'EVENT-LIST', + 'EVENT-POINTER', 'EVERY', 'EXCEEDS', 'EXCEPTION', + 'EXCEPTION-OBJECT', 'EXCEPTION-VALUE', 'EXCESS-3', + 'EXCLUDE-EVENT-LIST', 'EXCLUSIVE', + 'EXPAND', 'EXPANDS', 'EXTEND', 'EXTENDED', + 'EXTENDED-SEARCH', 'EXTENSION', 'EXTERNAL', 'EXTERNAL-FORM', + 'EXTERNALLY-DESCRIBED-KEY', 'FACTORY', 'FALSE', 'FD', + 'FH--FCD', 'FH--KEYDEF', 'FILE', 'FILE-CONTROL', 'FILE-ID', + 'FILE-LIMIT', 'FILE-LIMITS', 'FILE-NAME', 'FILE-POS', 'FILL-COLOR', + 'FILL-COLOR2', 'FILL-PERCENT', 'FILLER', 'FINAL', 'FINALLY', + 'FINISH-REASON', 'FIRST', 'FIXED', 'FIXED-FONT', 'FIXED-WIDTH', + 'FLAT', 'FLAT-BUTTONS', 'FLOAT-BINARY-7', 'FLOAT-BINARY-16', + 'FLOAT-BINARY-34', 'FLOAT-DECIMAL-16', 'FLOAT-DECIMAL-34', + 'FLOAT-EXTENDED', 'FLOAT-LONG', + 'FLOAT-SHORT', 'FLOATING', 'FONT', 'FOOTING', 'FOR', + 'FOREGROUND-COLOR', 'FOREGROUND-COLOUR', 'FOREVER', 'FORMAT', + 'FRAME', 'FRAMED', 'FROM', 'FULL', 'FULL-HEIGHT', + 'FUNCTION', 'FUNCTION-ID', 'FUNCTION-POINTER', 'GENERATE', + 'GET', 'GETTER', 'GIVING', 'GLOBAL', 'GO-BACK', 'GO-FORWARD', + 'GO-HOME', 'GO-SEARCH', 'GRAPHICAL', 'GREATER', 'GRID', + 'GRIP', 'GROUP', 'GROUP-USAGE', 'GROUP-VALUE', 'HANDLE', + 'HAS-CHILDREN', 'HEADING', 'HEADING-COLOR', 'HEADING-DIVIDER-COLOR', + 'HEADING-FONT', 'HEAVY', 'HEIGHT', 'HEIGHT-IN-CELLS', 'HELP-ID', + 'HIDDEN-DATA', 'HIGH', 'HIGH-COLOR', 'HIGH-VALUE', 'HIGH-VALUES', + 'HIGHLIGHT', 'HORIZONTAL', 'HOT-TRACK', 'HSCROLL', 'HSCROLL-POS', + 'I-O', 'I-O-CONTROL', 'ICON', 'ID', 'IDENTIFICATION', + 'IDENTIFIED', 'IFINITY', 'IGNORE', 'IGNORING', 'IMPLEMENTS', 'IN', + 'INDEPENDENT', 'INDEX', 'INDEXED', 'INDEXER', 'INDEXER-ID', 'INDIC', + 'INDICATE', 'INDICATOR', 'INDICATORS', 'INDIRECT', + 'INHERITING', 'INHERITS', + 'INITIAL', 'INITIALIZED', 'INPUT', + 'INPUT-OUTPUT', 'INQUIRE', 'INSERT', 'INSERT-ROWS', + 'INSERTION-INDEX', 'INSTALLATION', 'INSTANCE', + 'INTERFACE', 'INTERFACE-ID', 'INTERMEDIATE', + 'INTERNAL', 'INTO', 'INTRINSIC', + 'INVALID', 'INVOKED', 'IS', 'ITEM', 'ITEM-BOLD', + 'ITEM-ID', 'ITEM-TEXT', 'ITEM-TO-ADD', 'ITEM-TO-DELETE', + 'ITEM-TO-EMPTY', 'ITEM-VALUE', 'ITERATOR', 'ITERATOR-ID', 'J', + 'JOINED', 'JOINING', 'JUST', 'JUSTIFIED', 'KANJI', + 'KEPT', 'KEY', 'KEY-YY', 'KEYBOARD', 'LABEL', 'LABEL-OFFSET', + 'LARGE-FONT', 'LAST', 'LAST-ROW', 'LAYOUT-DATA', 'LAYOUT-MANAGER', + 'LC_ALL', 'LC_COLLATE', 'LC_CTYPE', 'LC_CURRENCY', 'LC_MESSAGES', + 'LC_MONETARY', 'LC_NUMERIC', 'LC_TIME', 'LEADING', 'LEADING-SHIFT', + 'LEAVE', 'LEFT', 'LEFT-JUSTIFY', 'LEFT-TEXT', 'LEFTLINE', + 'LENGTH-CHECK', 'LESS', 'LIMIT', 'LIMITS', 'LIN', 'LINAGE', + 'LINAGE-COUNTER', 'LINE', 'LINE-COUNTER', 'LINES', 'LINES-AT-ROOT', + 'LINK', 'LINKAGE', 'LIST', 'LIST-BOX', 'LM-RESIZE', 'LOCAL-STORAGE', + 'LOCALE', 'LOCK', 'LOCKING', 'LONG-DATE', 'LONG-VARBINARY', + 'LONG-VARCHAR', 'LOW', 'LOW-COLOR', 'LOW-VALUE', 'LOW-VALUES', + 'LOWER', 'LOWERED', 'LOWLIGHT', 'MANUAL', 'MASS-UPDATE', + 'MASTER-INDEX', 'MAX-HEIGHT', 'MAX-LINES', 'MAX-PROGRESS', + 'MAX-SIZE', 'MAX-TEXT', 'MAX-VAL', 'MAX-WIDTH', 'MDI-CHILD', + 'MDI-FRAME', 'MEDIUM-FONT', 'MEMORY', 'MENU', 'MESSAGE', + 'MESSAGES', 'METACLASS', 'METHOD', 'METHOD-ID', 'MIN-HEIGHT', + 'MIN-LINES', 'MIN-SIZE', 'MIN-VAL', 'MIN-WIDTH', 'MODAL', 'MODE', + 'MODELESS', 'MODIFIED', 'MODULES', 'MONITOR-POINTER', + 'MORE-LABELS', 'MULTILINE', + 'MUTEX-POINTER', 'NAME', 'NAMED', 'NATIONAL', + 'NATIONAL-EDITED', 'NATIVE', 'NAVIGATE-URL', 'NCHAR', + 'NEAREST-AWAY-FROM-ZERO', 'NEAREST-EVEN', 'NEAREST-TOWARD-ZERO', + 'NEGATIVE', 'NEGATIVE-INFINITY', + 'NESTED', 'NET-EVENT-LIST', 'NEW', 'NEWABLE', 'NEXT ', 'NEXT-ITEM', + 'NO', 'NO-AUTO-DEFAULT', 'NO-AUTOSEL', 'NO-BOX', 'NO-CELL-DRAG', + 'NO-CLOSE', 'NO-DIVIDERS', 'NO-ECHO', 'NO-F4', 'NO-FOCUS', + 'NO-GROUP-TAB', 'NO-KEY-LETTER', 'NO-SEARCH', 'NO-TAB', 'NO-UPDOWN', + 'NOMINAL', 'NONE', 'NORMAL', 'NOT', 'NOT-A-NUMBER', 'NOTIFY', + 'NOTIFY-CHANGE', 'NOTIFY-DBLCLICK', 'NOTIFY-SELCHANGE', + 'NSTD-REELS', 'NULL', 'NULLS', 'NUM-COL-HEADINGS', + 'NUM-ROW-HEADINGS', 'NUM-ROWS', 'NUMBER', 'NUMBERS', 'NUMERIC', + 'NUMERIC-EDITED', 'NUMERIC-FILL', 'O-FILL', 'OBJECT', + 'OBJECT-COMPUTER', 'OBJECT-ID', 'OBJECT-REFERENCE', + 'OBJECT-STORAGE', 'OCCURS', 'OF', 'OFF', 'OK-BUTTON', 'OMITTED', + 'ONLY', 'OOSTACKPTR', 'OPERATOR', 'OPERATOR-ID', + 'OPTIONAL', 'OPTIONS', 'OR', 'ORDER', 'ORGANIZATION', 'OTHER', + 'OTHERWISE', 'OUTPUT', 'OVERFLOW', 'OVERLAP-LEFT', 'OVERLAP-TOP', + 'OVERLAPPED', 'OVERLINE', 'OVERRIDE', 'PACKED-DECIMAL', + 'PADDING', 'PAGE', 'PAGE-COUNTER', 'PAGE-SETUP', 'PAGE-SIZE', + 'PAGED', 'PANEL-INDEX', 'PANEL-STYLE', 'PANEL-TEXT', 'PANEL-WIDTHS', + 'PARAGRAPH', 'PARAMS', 'PARENT', 'PARSE', 'PARTIAL', 'PASSWORD', + 'PERMANENT', 'PF', 'PH', 'PIC', 'PICTURE', 'PIXEL', + 'PIXELS', 'PLACEMENT', 'PLUS', 'POINTER', 'POP-UP', 'POSITION', + 'POSITION-SHIFT', 'POSITIONING', 'POSITIVE', 'POSITIVE-INFINITY', + 'PREFIXED', 'PREFIXING', 'PRESENT', + 'PREVIOUS', 'PRINT', 'PRINT-CONTROL', 'PRINT-NO-PROMPT', + 'PRINT-PREVIEW', 'PRINT-SWITCH', 'PRINTER', 'PRINTER-1', 'PRINTING', + 'PRIOR', 'PRIORITY', 'PRIVATE', 'PROCEDURE', 'PROCEDURE-POINTER', + 'PROCEDURES', 'PROCEED', 'PROCESS', 'PROCESSING', 'PROGRAM', + 'PROGRAM-ID', 'PROGRAM-POINTER', 'PROGRESS', 'PROHIBITED', + 'PROMPT', 'PROPERTIES', + 'PROPERTY', 'PROPERTY-ID', 'PROPERTY-VALUE', 'PROTECTED', + 'PROTOTYPE', 'PUBLIC', 'PURGE', 'PUSH-BUTTON', 'QUERY-INDEX', + 'QUEUE', 'QUOTE', 'QUOTES', 'RADIO-BUTTON', 'RAISED', + 'RAISING', 'RD', 'READ-ONLY', 'READING', + 'READY', 'RECORD', 'RECORD-DATA', 'RECORD-OVERFLOW', + 'RECORD-TO-ADD', 'RECORD-TO-DELETE', 'RECORDING', 'RECORDS', + 'RECURSIVE', 'REDEFINE', 'REDEFINES', 'REDEFINITION', 'REEL', + 'REFERENCE', 'REFERENCES', 'REFRESH', 'REGION-COLOR', 'RELATION', + 'RELATIVE', 'RELOAD', 'REMAINDER', 'REMARKS', 'REMOVAL', + 'RENAMES', 'REORG-CRITERIA', 'REPEATED', 'REPLACE', 'REPLACING', + 'REPORT', 'REPORTING', 'REPORTS', 'REPOSITORY', 'REQUIRED', + 'REPRESENTS-NOT-A-NUMBER', + 'REREAD', 'RERUN', 'RESERVE', 'RESET-GRID', 'RESET-LIST', + 'RESET-TABS', 'RESIZABLE', 'RESTRICTED', 'RESULT-SET-LOCATOR', + 'RETRY', 'RETURN-CODE', 'RETURNING', + 'REVERSE-VIDEO', 'REVERSED', 'REWIND', 'RF', 'RH', + 'RIGHT', 'RIGHT-ALIGN', 'RIGHT-JUSTIFY', 'RIMMED', + 'ROLLING', 'ROUNDED', 'ROUNDING', 'ROW-COLOR', 'ROW-COLOR-PATTERN', + 'ROW-DIVIDERS', 'ROW-FONT', 'ROW-HEADINGS', 'ROW-PROTECTION', + 'ROWID', 'RUN', 'S01', 'S02', 'S03', 'S04', 'S05', 'SAME', + 'SAVE-AS', 'SAVE-AS-NO-PROMPT', 'SCREEN', 'SCROLL', 'SCROLL-BAR', + 'SD', 'SEARCH-OPTIONS', 'SEARCH-TEXT', 'SECONDS', + 'SECTION', 'SECURE', 'SECURITY', 'SEEK', 'SEGMENT', 'SEGMENT-LIMIT', + 'SELECT-ALL', 'SELECTION-INDEX', 'SELECTION-TEXT', + 'SELECTIVE', 'SELF', 'SELF-ACT', 'SELFCLASS', 'SEMAPHORE-POINTER', + 'SEND', 'SENTENCE', 'SEPARATE', 'SEPARATION', 'SEQUENCE', + 'SEQUENTIAL', 'SETTER', 'SHADING', 'SHADOW', + 'SHARING', 'SHIFT-IN', 'SHIFT-OUT', 'SHORT-DATE', 'SHOW-LINES', + 'SHOW-NONE', 'SHOW-SEL-ALWAYS', 'SIGNED', 'SIGNED-INT', + 'SIGNED-LONG', 'SIGNED-SHORT', 'SIZE', 'SKIP1', + 'SKIP2', 'SKIP3', 'SMALL-FONT', 'SORT-CONTROL', + 'SORT-CORE-SIZE', 'SORT-FILE-SIZE', 'SORT-MERGE', 'SORT-MESSAGE', + 'SORT-MODE-SIZE', 'SORT-OPTION', 'SORT-ORDER', 'SORT-RETURN', + 'SORT-TAPE', 'SORT-TAPES', 'SOURCE', 'SOURCE-COMPUTER', 'SOURCES', + 'SPACE', 'SPACE-FILL', 'SPACES', 'SPECIAL-NAMES', 'SPINNER', 'SQL', + 'SQUARE', 'STANDARD', 'STANDARD-1', 'STANDARD-2', 'STANDARD-3', + 'STANDARD-BINARY', 'STANDARD-DECIMAL', + 'START-X', 'START-Y', 'STARTING', 'STATEMENT', 'STATIC', + 'STATIC-LIST', + 'STATUS', 'STATUS-BAR', 'STATUS-TEXT', 'STEP', + 'STOP-BROWSER', 'STRONG', 'STYLE', 'SUB-QUEUE-1', + 'SUB-QUEUE-2', 'SUB-QUEUE-3', 'SUBFILE', 'SUBWINDOW', + 'SUFFIXING', 'SUPER', 'SYMBOL', 'SYMBOLIC', + 'SYNCHRONIZED', 'SYSIN', 'SYSIPT', 'SYSLST', 'SYSOUT', + 'SYSPCH', 'SYSPUNCH', 'SYSTEM', 'SYSTEM-DEFAULT', 'SYSTEM-INFO', + 'TAB', 'TAB-CONTROL', 'TAB-TO-ADD', 'TAB-TO-DELETE', 'TABLE', + 'TALLY', 'TALLYING', 'TAPE', 'TAPES', 'TEMPORARY', 'TERMINAL', + 'TERMINAL-INFO', 'TERMINATION-VALUE', 'TEST', 'TEXT', + 'THAN', 'THEN', 'THREAD', 'THREAD-LOCAL', 'THREAD-LOCAL-STORAGE', + 'THREAD-POINTER', 'THROUGH', 'THRU', 'THUMB-POSITION', + 'TILED-HEADINGS', 'TIME', 'TIME-OF-DAY', 'TIME-OUT', 'TIME-RECORD', + 'TIMEOUT', 'TIMES', 'TIMESTAMP', 'TIMESTAMP-OFFSET', + 'TIMESTAMP-OFFSET-RECORD', 'TIMESTAMP-RECORD', 'TITLE', 'TITLE-BAR', + 'TITLE-POSITION', 'TO', 'TOOL-BAR', 'TOP', 'TOTALED', 'TOTALING', + 'TOWARD-GREATER', 'TOWARD-LESSER', + 'TRACE', 'TRACK-AREA', 'TRACK-LIMIT', 'TRACK-THUMB', 'TRACKS', + 'TRADITIONAL-FONT', 'TRAILING', 'TRAILING-SHIFT', 'TRAILING-SIGN', + 'TRANSACTION', 'TRANSPARENT', 'TRANSPARENT-COLOR', + 'TREE-VIEW', 'TRUE', 'TRUNCATION', 'TYPE', 'TYPEDEF', 'UCS-4', + 'UNDERLINE', 'UNDERLINED', 'UNEQUAL', 'UNFRAMED', 'UNIT', 'UNITS', + 'UNIVERSAL', 'UNSIGNED', 'UNSIGNED-INT', 'UNSIGNED-LONG', + 'UNSIGNED-SHORT', + 'UNSORTED', 'UP', 'UPDATE', 'UNTIL', 'UPON', 'UPPER', + 'UPSI-0', 'UPSI-1', 'UPSI-2', 'UPSI-3', 'UPSI-4', 'UPSI-5', + 'UPSI-6', 'UPSI-7', 'USAGE', 'USE-ALT', 'USE-RETURN', + 'USE-TAB', 'USER', 'USER-COLORS', 'USER-DEFAULT', 'USER-GRAY', + 'USER-WHITE', 'USING', 'UTF-16', 'UTF-8', 'VALID', + 'VAL-STATUS', 'VALIDATE-STATUS', + 'VALUE', 'VALUE-FORMAT', 'VALUES', 'VALUETYPE', 'VALUETYPE-ID', + 'VARBINARY', 'VARIABLE', 'VARIANT', 'VARYING', 'VERTICAL', + 'VERY-HEAVY', 'VIRTUAL-WIDTH', 'VISIBLE', 'VPADDING', 'VSCROLL', + 'VSCROLL-BAR', 'VSCROLL-POS', 'VTOP', 'WEB-BROWSER', 'WHEN', + 'WHERE', 'WIDTH', 'WIDTH-IN-CELLS', 'WINDOW', + 'WITH', 'WORDS', 'WORKING-STORAGE', 'WRAP', 'WRITE-ONLY', + 'WRITE-VERIFY', 'WRITING', ' XML', 'XML ', 'XML-CODE', 'XML-EVENT', + 'XML-NTEXT', 'XML-TEXT', 'YIELDING', 'YYYYDDD', 'YYYYMMDD', 'ZERO', + 'ZERO-FILL', 'ZEROES', 'ZEROS' + ), + 3 => array( // Statement Keywords containing no spaces. + 'ACCEPT', 'ADD', 'ALTER', 'ALLOCATE', 'ATTACH', 'CALL', 'CANCEL', + 'CHAIN', 'CREATE', + 'CLOSE', 'COLOR', 'COMPUTE', 'COMMIT', 'CONTINUE', + 'COPY', 'DECLARE', 'DELEGATE', 'DELETE', 'DETACH', 'DISPLAY', + 'DIVIDE', + 'ENTER', 'ENTRY', 'EVALUATE', 'EXAMINE', + 'EXEC', 'EXECUTE', 'EXHIBIT', 'EXIT', 'FREE', 'GOBACK', + 'IF', 'INITIALIZE', 'INITIATE', 'INSPECT', 'INVOKE', 'MERGE', + 'MODIFY', 'MOVE', 'MULTIPLY', 'NOTE', 'ON', 'OPEN', + 'PERFORM', 'RAISE', 'READ', 'RECEIVE', 'RELEASE', 'RETURN', + 'RESET', 'RESUME', + 'REWRITE', 'ROLLBACK', 'SEARCH', 'SELECT', 'SERVICE', 'SET', 'SORT', + 'START', 'STOP', 'STRING', 'SUBTRACT', 'SYNC', + 'SUPPRESS', 'TERMINATE', + 'TRANSFORM', 'TRY', 'UNLOCKFILE', 'UNLOCK', 'UNSTRING', 'USE', + 'VALIDATE', 'WAIT', 'WRITE' + ), + 4 => array( // Intrinsic functions + 'ABS', 'ACOS', 'ANNUITY', 'ASIN', 'ATAN', 'BOOLEAN-OF-INTEGER', + 'BYTE-LENGTH', 'CHAR', 'CHAR-NATIONAL', + 'COS', 'COMBINED-DATETIME', 'CONCATENATE', 'CURRENT-DATE', + 'DATE-OF-INTEGER', 'DATE-TO-YYYYMMDD', 'DAY-TO-YYYYDDD', + 'DAY-OF-INTEGER', 'DISPLAY-OF', 'E', 'EXCEPTION-FILE', + 'EXCEPTION-FILE-N', 'EXCEPTION-LOCATION', + 'EXCEPTION-LOCATION-N', 'EXCEPTION-STATEMENT', 'EXCEPTION-STATUS', + 'EXP', 'EXP10', 'FACTORIAL', 'FORMATTED-CURRENT-DATE', + 'FORMATTED-DATE', 'FORMATTED-DATETIME', 'FORMATTED-TIME', + 'FRACTION-PART', 'HIGHEST-ALGEBRAIC', 'INTEGER', + 'INTEGER-OF-BOOLEAN', 'INTEGER-OF-DATE', 'INTEGER-OF-DAY', + 'INTEGER-OF-FORMATTED-DATE', 'INTEGER-PART', 'LENGTH', + 'LOCALE-COMPARE', + 'LOCALE-DATE', 'LOCALE-TIME', 'LOCALE-TIME-FROM-SECONDS', + 'LOCALE-TIME-FROM-SECS', 'LOG', + 'LOG10', 'LOWER-CASE', 'LOWEST-ALGEBRAIC', + 'MAX', 'MEAN', 'MEDIAN', 'MIDRANGE', + 'MIN', 'MOD', 'NATIONAL-OF', 'NUMVAL', 'NUMVAL-C', 'NUMVAL-F', + 'ORD', 'ORD-MAX', 'ORD-MIN', + 'PI', 'PRESENT-VALUE', 'RANDOM', 'RANGE', 'REM', 'REVERSE', + 'SECONDS-FROM-FORMATTED-TIME', 'SIGN', 'SIN', 'SQRT', + 'SECONDS-PAST-MIDNIGHT', 'STANDARD-DEVIATION', 'STANDARD-COMPARE', + 'STORED-CHAR-LENGTH', + 'SUBSTITUTE', 'SUBSTITUE-CASE', 'SUM', 'TAN', 'TEST-DATE-YYYYMMDD', + 'TEST-DAY-YYYYDDD', 'TEST-FORMATTED-TIME', 'TEST-NUMVAL', + 'TEST-NUMVAL-C', 'TEST-NUMVAL-F', + 'TRIM', 'UPPER-CASE', 'VARIANCE', 'YEAR-TO-YYYY', 'WHEN-COMPILED' + ), + ), + 'SYMBOLS' => array( + // Arithmetic and comparison operators must be surrounded by spaces. + ' + ', ' - ', ' * ', ' / ', ' ** ', ' ^ ', + '.', ',', + ' = ', ' < ', ' > ', ' >= ', ' <= ', ' <> ', + '(', ')', '[', ']' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => false, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #000000; font-weight: bold;', + 2 => 'color: #008000; font-weight: bold;', + 3 => 'color: #000000; font-weight: bold;', + 4 => 'color: #9d7700;', + ), + 'COMMENTS' => array( + 1 => 'color: #a0a0a0; font-style: italic;', + 2 => 'color: #000080; font-weight: bold;', + ), + 'ESCAPE_CHAR' => array( + ), + 'BRACKETS' => array( + 0 => 'color: #339933;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #993399;' + ), + 'METHODS' => array( + 1 => 'color: #800080;' + ), + 'SYMBOLS' => array( + 0 => 'color: #000066;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '::' + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4, + 'PARSER_CONTROL' => array( + 'KEYWORDS' => array( + 'DISALLOWED_BEFORE' => '(?<![a-zA-Z0-9-\$_\|\#|^&])', + ), + ), +); diff --git a/inc/geshi/coffeescript.php b/vendor/easybook/geshi/geshi/coffeescript.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/coffeescript.php rename to vendor/easybook/geshi/geshi/coffeescript.php diff --git a/inc/geshi/cpp-qt.php b/vendor/easybook/geshi/geshi/cpp-qt.php old mode 100644 new mode 100755 similarity index 98% rename from inc/geshi/cpp-qt.php rename to vendor/easybook/geshi/geshi/cpp-qt.php index 36626c90d4cb50066851d584280ba0b9934bc7c2..44f2d215f712754969ca5d5f92fb8d053568093a --- a/inc/geshi/cpp-qt.php +++ b/vendor/easybook/geshi/geshi/cpp-qt.php @@ -48,7 +48,11 @@ $language_data = array ( //Multiline-continued single-line comments 1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m', //Multiline-continued preprocessor define - 2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m' + 2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m', + //C++ 11 string literal extensions + 3 => '/(?:L|u8?|U)(?=")/', + //C++ 11 string literal extensions (raw) + 4 => '/R"([^()\s\\\\]*)\((?:(?!\)\\1").)*\)\\1"/ms' ), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array("'", '"'), @@ -489,6 +493,8 @@ $language_data = array ( 'COMMENTS' => array( 1 => 'color: #888888;', 2 => 'color: #006E28;', + 3 => 'color: #BF0303;', + 4 => 'color: #BF0303;', 'MULTI' => 'color: #888888; font-style: italic;' ), 'ESCAPE_CHAR' => array( @@ -534,7 +540,7 @@ $language_data = array ( 2 => '', 3 => '', 4 => '', - 5 => 'http://doc.trolltech.com/latest/{FNAMEL}.html' + 5 => 'http://doc.qt.io/qt-5/{FNAMEL}.html' ), 'OOLANG' => true, 'OBJECT_SPLITTERS' => array( diff --git a/vendor/easybook/geshi/geshi/cpp-winapi.php b/vendor/easybook/geshi/geshi/cpp-winapi.php new file mode 100644 index 0000000000000000000000000000000000000000..ddc70b688267d38efdd936570a4faed717ea0ffe --- /dev/null +++ b/vendor/easybook/geshi/geshi/cpp-winapi.php @@ -0,0 +1,836 @@ +<?php +/************************************************************************************* + * cpp-winapi.php + * ------- + * Author: Dennis Bayer (Dennis.Bayer@mnifh-giessen.de) + * Contributors: + * - M. Uli Kusterer (witness.of.teachtext@gmx.net) + * - Jack Lloyd (lloyd@randombit.net) + * - Benny Baumann (BenBE@geshi.org) + * Copyright: (c) 2004 Dennis Bayer, Nigel McNie, 2012 Benny Baumann (http://qbnz.com/highlighter) + * Release Version: 1.0.8.11 + * Date Started: 2004/09/27 + * + * C++ language file for GeSHi. + * + * CHANGES + * ------- + * 2008/05/23 (1.0.7.22) + * - Added description of extra language features (SF#1970248) + * 2004/XX/XX (1.0.2) + * - Added several new keywords (Jack Lloyd) + * 2004/11/27 (1.0.1) + * - Added StdCLib function and constant names, changed color scheme to + * a cleaner one. (M. Uli Kusterer) + * - Added support for multiple object splitters + * 2004/10/27 (1.0.0) + * - First Release + * + * TODO (updated 2004/11/27) + * ------------------------- + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'C++ (WinAPI)', + 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'COMMENT_REGEXP' => array( + //Multiline-continued single-line comments + 1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m', + //Multiline-continued preprocessor define + 2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m', + //C++ 11 string literal extensions + 3 => '/(?:L|u8?|U)(?=")/', + //C++ 11 string literal extensions (raw) + 4 => '/R"([^()\s\\\\]*)\((?:(?!\)\\1").)*\)\\1"/ms' + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'ESCAPE_REGEXP' => array( + //Simple Single Char Escapes + 1 => "#\\\\[abfnrtv\\\'\"?\n]#i", + //Hexadecimal Char Specs + 2 => "#\\\\x[\da-fA-F]{2}#", + //Hexadecimal Char Specs + 3 => "#\\\\u[\da-fA-F]{4}#", + //Hexadecimal Char Specs + 4 => "#\\\\U[\da-fA-F]{8}#", + //Octal Char Specs + 5 => "#\\\\[0-7]{1,3}#" + ), + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B | + GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI | + GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO, + 'KEYWORDS' => array( + 1 => array( + 'break', 'case', 'continue', 'default', 'do', 'else', 'for', 'goto', 'if', 'return', + 'switch', 'throw', 'while' + ), + 2 => array( + 'NULL', 'false', 'true', 'enum', 'errno', 'EDOM', + 'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG', + 'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG', + 'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP', + 'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP', + 'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN', + 'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN', + 'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT', + 'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR', + 'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam', + 'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr', + 'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC', + 'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace', + 'try', 'catch', 'inline', 'dynamic_cast', 'const_cast', 'reinterpret_cast', + 'static_cast', 'explicit', 'friend', 'typename', 'typeid', 'class' + ), + 3 => array( + 'cin', 'cerr', 'clog', 'cout', 'delete', 'new', 'this', + 'printf', 'fprintf', 'snprintf', 'sprintf', 'assert', + 'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint', + 'ispunct', 'isspace', 'isupper', 'isxdigit', 'tolower', 'toupper', + 'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp', + 'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2', + 'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp', + 'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen', + 'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf', + 'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf', + 'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc', + 'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind', + 'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs', + 'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc', + 'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv', + 'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat', + 'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn', + 'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy', + 'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime', + 'asctime', 'ctime', 'gmtime', 'localtime', 'strftime' + ), + 4 => array( + 'auto', 'bool', 'char', 'const', 'double', 'float', 'int', 'long', 'longint', + 'register', 'short', 'shortint', 'signed', 'static', 'struct', + 'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf', + 'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t', + 'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', 'wchar_t', + + 'int8', 'int16', 'int32', 'int64', + 'uint8', 'uint16', 'uint32', 'uint64', + + 'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t', + 'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t', + + 'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t', + 'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t', + + 'int8_t', 'int16_t', 'int32_t', 'int64_t', + 'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t', + + 'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t' + ), + // Public API + 5 => array( + 'AssignProcessToJobObject', 'CommandLineToArgvW', 'ConvertThreadToFiber', + 'CreateFiber', 'CreateJobObjectA', 'CreateJobObjectW', 'CreateProcessA', + 'CreateProcessAsUserA', 'CreateProcessAsUserW', 'CreateProcessW', + 'CreateRemoteThread', 'CreateThread', 'DeleteFiber', 'ExitProcess', + 'ExitThread', 'FreeEnvironmentStringsA', 'FreeEnvironmentStringsW', + 'GetCommandLineA', 'GetCommandLineW', 'GetCurrentProcess', + 'GetCurrentProcessId', 'GetCurrentThread', 'GetCurrentThreadId', + 'GetEnvironmentStringsA', 'GetEnvironmentStringsW', + 'GetEnvironmentVariableA', 'GetEnvironmentVariableW', 'GetExitCodeProcess', + 'GetExitCodeThread', 'GetGuiResources', 'GetPriorityClass', + 'GetProcessAffinityMask', 'GetProcessPriorityBoost', + 'GetProcessShutdownParameters', 'GetProcessTimes', 'GetProcessVersion', + 'GetProcessWorkingSetSize', 'GetStartupInfoA', 'GetStartupInfoW', + 'GetThreadPriority', 'GetThreadPriorityBoost', 'GetThreadTimes', + 'OpenJobObjectA', 'OpenJobObjectW', 'OpenProcess', + 'QueryInformationJobObject', 'ResumeThread', 'SetEnvironmentVariableA', + 'SetEnvironmentVariableW', 'SetInformationJobObject', 'SetPriorityClass', + 'SetProcessAffinityMask', 'SetProcessPriorityBoost', + 'SetProcessShutdownParameters', 'SetProcessWorkingSetSize', + 'SetThreadAffinityMask', 'SetThreadIdealProcessor', 'SetThreadPriority', + 'SetThreadPriorityBoost', 'Sleep', 'SleepEx', 'SuspendThread', + 'SwitchToFiber', 'SwitchToThread', 'TerminateJobObject', 'TerminateProcess', + 'TerminateThread', 'WaitForInputIdle', 'WinExec', + + '_hread', '_hwrite', '_lclose', '_lcreat', '_llseek', '_lopen', '_lread', + '_lwrite', 'AreFileApisANSI', 'CancelIo', 'CopyFileA', 'CopyFileW', + 'CreateDirectoryA', 'CreateDirectoryExA', 'CreateDirectoryExW', + 'CreateDirectoryW', 'CreateFileA', 'CreateFileW', 'DeleteFileA', + 'DeleteFileW', 'FindClose', 'FindCloseChangeNotification', + 'FindFirstChangeNotificationA', 'FindFirstChangeNotificationW', + 'FindFirstFileA', 'FindFirstFileW', 'FindNextFileA', 'FindNextFileW', + 'FlushFileBuffers', 'GetCurrentDirectoryA', 'GetCurrentDirectoryW', + 'GetDiskFreeSpaceA', 'GetDiskFreeSpaceExA', 'GetDiskFreeSpaceExW', + 'GetDiskFreeSpaceW', 'GetDriveTypeA', 'GetDriveTypeW', 'GetFileAttributesA', + 'GetFileAttributesExA', 'GetFileAttributesExW', 'GetFileAttributesW', + 'GetFileInformationByHandle', 'GetFileSize', 'GetFileType', + 'GetFullPathNameA', 'GetFullPathNameW', 'GetLogicalDrives', + 'GetLogicalDriveStringsA', 'GetLogicalDriveStringsW', 'GetLongPathNameA', + 'GetLongPathNameW', 'GetShortPathNameA', 'GetShortPathNameW', + 'GetTempFileNameA', 'GetTempFileNameW', 'GetTempPathA', 'GetTempPathW', + 'LockFile', 'MoveFileA', 'MoveFileW', 'MulDiv', 'OpenFile', + 'QueryDosDeviceA', 'QueryDosDeviceW', 'ReadFile', 'ReadFileEx', + 'RemoveDirectoryA', 'RemoveDirectoryW', 'SearchPathA', 'SearchPathW', + 'SetCurrentDirectoryA', 'SetCurrentDirectoryW', 'SetEndOfFile', + 'SetFileApisToANSI', 'SetFileApisToOEM', 'SetFileAttributesA', + 'SetFileAttributesW', 'SetFilePointer', 'SetHandleCount', + 'SetVolumeLabelA', 'SetVolumeLabelW', 'UnlockFile', 'WriteFile', + 'WriteFileEx', + + 'DeviceIoControl', + + 'GetModuleFileNameA', 'GetModuleFileNameW', 'GetProcAddress', + 'LoadLibraryA', 'LoadLibraryExA', 'LoadLibraryExW', 'LoadLibraryW', + 'LoadModule', + + 'GetPrivateProfileIntA', 'GetPrivateProfileIntW', + 'GetPrivateProfileSectionA', 'GetPrivateProfileSectionNamesA', + 'GetPrivateProfileSectionNamesW', 'GetPrivateProfileSectionW', + 'GetPrivateProfileStringA', 'GetPrivateProfileStringW', + 'GetPrivateProfileStructA', 'GetPrivateProfileStructW', + 'GetProfileIntA', 'GetProfileIntW', 'GetProfileSectionA', + 'GetProfileSectionW', 'GetProfileStringA', 'GetProfileStringW', + 'RegCloseKey', 'RegConnectRegistryA', 'RegConnectRegistryW', + 'RegCreateKeyA', 'RegCreateKeyExA', 'RegCreateKeyExW', + 'RegCreateKeyW', 'RegDeleteKeyA', 'RegDeleteKeyW', 'RegDeleteValueA', + 'RegDeleteValueW', 'RegEnumKeyA', 'RegEnumKeyExA', 'RegEnumKeyExW', + 'RegEnumKeyW', 'RegEnumValueA', 'RegEnumValueW', 'RegFlushKey', + 'RegGetKeySecurity', 'RegLoadKeyA', 'RegLoadKeyW', + 'RegNotifyChangeKeyValue', 'RegOpenKeyA', 'RegOpenKeyExA', 'RegOpenKeyExW', + 'RegOpenKeyW', 'RegOverridePredefKey', 'RegQueryInfoKeyA', + 'RegQueryInfoKeyW', 'RegQueryMultipleValuesA', 'RegQueryMultipleValuesW', + 'RegQueryValueA', 'RegQueryValueExA', 'RegQueryValueExW', 'RegQueryValueW', + 'RegReplaceKeyA', 'RegReplaceKeyW', 'RegRestoreKeyA', 'RegRestoreKeyW', + 'RegSaveKeyA', 'RegSaveKeyW', 'RegSetKeySecurity', 'RegSetValueA', + 'RegSetValueExA', 'RegSetValueExW', 'RegSetValueW', 'RegUnLoadKeyA', + 'RegUnLoadKeyW', 'WritePrivateProfileSectionA', 'WritePrivateProfileSectionW', + 'WritePrivateProfileStringA', 'WritePrivateProfileStringW', + 'WritePrivateProfileStructA', 'WritePrivateProfileStructW', + 'WriteProfileSectionA', 'WriteProfileSectionW', 'WriteProfileStringA', + 'WriteProfileStringW', + + 'AccessCheck', 'AccessCheckAndAuditAlarmA', 'AccessCheckAndAuditAlarmW', + 'AccessCheckByType', 'AccessCheckByTypeAndAuditAlarmA', + 'AccessCheckByTypeAndAuditAlarmW', 'AccessCheckByTypeResultList', + 'AccessCheckByTypeResultListAndAuditAlarmA', 'AccessCheckByTypeResultListAndAuditAlarmW', + 'AddAccessAllowedAce', 'AddAccessAllowedAceEx', 'AddAccessAllowedObjectAce', + 'AddAccessDeniedAce', 'AddAccessDeniedAceEx', 'AddAccessDeniedObjectAce', + 'AddAce', 'AddAuditAccessAce', 'AddAuditAccessAceEx', 'AddAuditAccessObjectAce', + 'AdjustTokenGroups', 'AdjustTokenPrivileges', 'AllocateAndInitializeSid', + 'AllocateLocallyUniqueId', 'AreAllAccessesGranted', 'AreAnyAccessesGranted', + 'BuildExplicitAccessWithNameA', 'BuildExplicitAccessWithNameW', + 'BuildImpersonateExplicitAccessWithNameA', 'BuildImpersonateExplicitAccessWithNameW', + 'BuildImpersonateTrusteeA', 'BuildImpersonateTrusteeW', 'BuildSecurityDescriptorA', + 'BuildSecurityDescriptorW', 'BuildTrusteeWithNameA', 'BuildTrusteeWithNameW', + 'BuildTrusteeWithSidA', 'BuildTrusteeWithSidW', + 'ConvertToAutoInheritPrivateObjectSecurity', 'CopySid', 'CreatePrivateObjectSecurity', + 'CreatePrivateObjectSecurityEx', 'CreateRestrictedToken', 'DeleteAce', + 'DestroyPrivateObjectSecurity', 'DuplicateToken', 'DuplicateTokenEx', + 'EqualPrefixSid', 'EqualSid', 'FindFirstFreeAce', 'FreeSid', 'GetAce', + 'GetAclInformation', 'GetAuditedPermissionsFromAclA', 'GetAuditedPermissionsFromAclW', + 'GetEffectiveRightsFromAclA', 'GetEffectiveRightsFromAclW', + 'GetExplicitEntriesFromAclA', 'GetExplicitEntriesFromAclW', 'GetFileSecurityA', + 'GetFileSecurityW', 'GetKernelObjectSecurity', 'GetLengthSid', 'GetMultipleTrusteeA', + 'GetMultipleTrusteeOperationA', 'GetMultipleTrusteeOperationW', 'GetMultipleTrusteeW', + 'GetNamedSecurityInfoA', 'GetNamedSecurityInfoW', 'GetPrivateObjectSecurity', + 'GetSecurityDescriptorControl', 'GetSecurityDescriptorDacl', + 'GetSecurityDescriptorGroup', 'GetSecurityDescriptorLength', + 'GetSecurityDescriptorOwner', 'GetSecurityDescriptorSacl', 'GetSecurityInfo', + 'GetSidIdentifierAuthority', 'GetSidLengthRequired', 'GetSidSubAuthority', + 'GetSidSubAuthorityCount', 'GetTokenInformation', 'GetTrusteeFormA', + 'GetTrusteeFormW', 'GetTrusteeNameA', 'GetTrusteeNameW', 'GetTrusteeTypeA', + 'GetTrusteeTypeW', 'GetUserObjectSecurity', 'ImpersonateLoggedOnUser', + 'ImpersonateNamedPipeClient', 'ImpersonateSelf', 'InitializeAcl', + 'InitializeSecurityDescriptor', 'InitializeSid', 'IsTokenRestricted', 'IsValidAcl', + 'IsValidSecurityDescriptor', 'IsValidSid', 'LogonUserA', 'LogonUserW', + 'LookupAccountNameA', 'LookupAccountNameW', 'LookupAccountSidA', 'LookupAccountSidW', + 'LookupPrivilegeDisplayNameA', 'LookupPrivilegeDisplayNameW', 'LookupPrivilegeNameA', + 'LookupPrivilegeNameW', 'LookupPrivilegeValueA', 'LookupPrivilegeValueW', + 'LookupSecurityDescriptorPartsA', 'LookupSecurityDescriptorPartsW', 'MakeAbsoluteSD', + 'MakeSelfRelativeSD', 'MapGenericMask', 'ObjectCloseAuditAlarmA', + 'ObjectCloseAuditAlarmW', 'ObjectDeleteAuditAlarmA', 'ObjectDeleteAuditAlarmW', + 'ObjectOpenAuditAlarmA', 'ObjectOpenAuditAlarmW', 'ObjectPrivilegeAuditAlarmA', + 'ObjectPrivilegeAuditAlarmW', 'OpenProcessToken', 'OpenThreadToken', 'PrivilegeCheck', + 'PrivilegedServiceAuditAlarmA', 'PrivilegedServiceAuditAlarmW', 'RevertToSelf', + 'SetAclInformation', 'SetEntriesInAclA', 'SetEntriesInAclW', 'SetFileSecurityA', + 'SetFileSecurityW', 'SetKernelObjectSecurity', 'SetNamedSecurityInfoA', + 'SetNamedSecurityInfoW', 'SetPrivateObjectSecurity', 'SetPrivateObjectSecurityEx', + 'SetSecurityDescriptorControl', 'SetSecurityDescriptorDacl', + 'SetSecurityDescriptorGroup', 'SetSecurityDescriptorOwner', + 'SetSecurityDescriptorSacl', 'SetSecurityInfo', 'SetThreadToken', + 'SetTokenInformation', 'SetUserObjectSecurity', 'ChangeServiceConfig2A', + 'ChangeServiceConfig2W', 'ChangeServiceConfigA', 'ChangeServiceConfigW', + 'CloseServiceHandle', 'ControlService', 'CreateServiceA', 'CreateServiceW', + 'DeleteService', 'EnumDependentServicesA', 'EnumDependentServicesW', + 'EnumServicesStatusA', 'EnumServicesStatusW', 'GetServiceDisplayNameA', + 'GetServiceDisplayNameW', 'GetServiceKeyNameA', 'GetServiceKeyNameW', + 'LockServiceDatabase', 'NotifyBootConfigStatus', 'OpenSCManagerA', 'OpenSCManagerW', + 'OpenServiceA', 'OpenServiceW', 'QueryServiceConfig2A', 'QueryServiceConfig2W', + 'QueryServiceConfigA', 'QueryServiceConfigW', 'QueryServiceLockStatusA', + 'QueryServiceLockStatusW', 'QueryServiceObjectSecurity', 'QueryServiceStatus', + 'RegisterServiceCtrlHandlerA', 'RegisterServiceCtrlHandlerW', + 'SetServiceObjectSecurity', 'SetServiceStatus', 'StartServiceA', + 'StartServiceCtrlDispatcherA', 'StartServiceCtrlDispatcherW', 'StartServiceW', + 'UnlockServiceDatabase', + + 'MultinetGetConnectionPerformanceA', 'MultinetGetConnectionPerformanceW', + 'NetAlertRaise', 'NetAlertRaiseEx', 'NetApiBufferAllocate', 'NetApiBufferFree', + 'NetApiBufferReallocate', 'NetApiBufferSize', 'NetConnectionEnum', 'NetFileClose', + 'NetFileGetInfo', 'NetGetAnyDCName', 'NetGetDCName', 'NetGetDisplayInformationIndex', + 'NetGroupAdd', 'NetGroupAddUser', 'NetGroupDel', 'NetGroupDelUser', 'NetGroupEnum', + 'NetGroupGetInfo', 'NetGroupGetUsers', 'NetGroupSetInfo', 'NetGroupSetUsers', + 'NetLocalGroupAdd', 'NetLocalGroupAddMember', 'NetLocalGroupAddMembers', + 'NetLocalGroupDel', 'NetLocalGroupDelMember', 'NetLocalGroupDelMembers', + 'NetLocalGroupEnum', 'NetLocalGroupGetInfo', 'NetLocalGroupGetMembers', + 'NetLocalGroupSetInfo', 'NetLocalGroupSetMembers', 'NetMessageBufferSend', + 'NetMessageNameAdd', 'NetMessageNameDel', 'NetMessageNameEnum', + 'NetMessageNameGetInfo', 'NetQueryDisplayInformation', 'NetRemoteComputerSupports', + 'NetRemoteTOd', 'NetReplExportDirAdd', 'NetReplExportDirDel', 'NetReplExportDirEnum', + 'NetReplExportDirGetInfo', 'NetReplExportDirLock', 'NetReplExportDirSetInfo', + 'NetReplExportDirUnlock', 'NetReplGetInfo', 'NetReplImportDirAdd', + 'NetReplImportDirDel', 'NetReplImportDirEnum', 'NetReplImportDirGetInfo', + 'NetReplImportDirLock', 'NetReplImportDirUnlock', 'NetReplSetInfo', + 'NetScheduleJobAdd', 'NetScheduleJobDel', 'NetScheduleJobEnum', + 'NetScheduleJobGetInfo', 'NetServerComputerNameAdd', 'NetServerComputerNameDel', + 'NetServerDiskEnum', 'NetServerEnum', 'NetServerEnumEx', 'NetServerGetInfo', + 'NetServerSetInfo', 'NetServerTransportAdd', 'NetServerTransportAddEx', + 'NetServerTransportDel', 'NetServerTransportEnum', 'NetSessionDel', 'NetSessionEnum', + 'NetSessionGetInfo', 'NetShareAdd', 'NetShareCheck', 'NetShareDel', 'NetShareEnum', + 'NetShareGetInfo', 'NetShareSetInfo', 'NetStatisticsGet', 'NetUseAdd', 'NetUseDel', + 'NetUseEnum', 'NetUseGetInfo', 'NetUserAdd', 'NetUserChangePassword', 'NetUserDel', + 'NetUserEnum', 'NetUserGetGroups', 'NetUserGetInfo', 'NetUserGetLocalGroups', + 'NetUserModalsGet', 'NetUserModalsSet', 'NetUserSetGroups', 'NetUserSetInfo', + 'NetWkstaGetInfo', 'NetWkstaSetInfo', 'NetWkstaTransportAdd', 'NetWkstaTransportDel', + 'NetWkstaTransportEnum', 'NetWkstaUserEnum', 'NetWkstaUserGetInfo', + 'NetWkstaUserSetInfo', 'WNetAddConnection2A', 'WNetAddConnection2W', + 'WNetAddConnection3A', 'WNetAddConnection3W', 'WNetAddConnectionA', + 'WNetAddConnectionW', 'WNetCancelConnection2A', 'WNetCancelConnection2W', + 'WNetCancelConnectionA', 'WNetCancelConnectionW', 'WNetCloseEnum', + 'WNetConnectionDialog', 'WNetConnectionDialog1A', 'WNetConnectionDialog1W', + 'WNetDisconnectDialog', 'WNetDisconnectDialog1A', 'WNetDisconnectDialog1W', + 'WNetEnumResourceA', 'WNetEnumResourceW', 'WNetGetConnectionA', 'WNetGetConnectionW', + 'WNetGetLastErrorA', 'WNetGetLastErrorW', 'WNetGetNetworkInformationA', + 'WNetGetNetworkInformationW', 'WNetGetProviderNameA', 'WNetGetProviderNameW', + 'WNetGetResourceInformationA', 'WNetGetResourceInformationW', + 'WNetGetResourceParentA', 'WNetGetResourceParentW', 'WNetGetUniversalNameA', + 'WNetGetUniversalNameW', 'WNetGetUserA', 'WNetGetUserW', 'WNetOpenEnumA', + 'WNetOpenEnumW', 'WNetUseConnectionA', 'WnetUseConnectionW', + + 'accept', 'bind', 'closesocket', 'connect', 'gethostbyaddr', 'gethostbyname', + 'gethostname', 'getpeername', 'getprotobyname', 'getprotobynumber', 'getservbyname', + 'getservbyport', 'getsockname', 'getsockopt', 'htonl', 'htons', 'inet_addr', + 'inet_ntoa', 'ioctlsocket', 'listen', 'ntohl', 'ntohs', 'recv', 'recvfrom', 'select', + 'send', 'sendto', 'setsockopt', 'shutdown', 'socket', 'WSAAccept', + 'WSAAddressToStringA', 'WSAAddressToStringW', 'WSAAsyncGetHostByAddr', + 'WSAAsyncGetHostByName', 'WSAAsyncGetProtoByName', 'WSAAsyncGetProtoByNumber', + 'WSAAsyncGetServByName', 'WSAAsyncGetServByPort', 'WSAAsyncSelect', + 'WSACancelAsyncRequest', 'WSACancelBlockingCall', 'WSACleanup', 'WSACloseEvent', + 'WSAConnect', 'WSACreateEvent', 'WSADuplicateSocketA', 'WSADuplicateSocketW', + 'WSAEnumNameSpaceProvidersA', 'WSAEnumNameSpaceProvidersW', 'WSAEnumNetworkEvents', + 'WSAEnumProtocolsA', 'WSAEnumProtocolsW', 'WSAEventSelect', 'WSAGetLastError', + 'WSAGetOverlappedResult', 'WSAGetQOSByName', 'WSAGetServiceClassInfoA', + 'WSAGetServiceClassInfoW', 'WSAGetServiceClassNameByClassIdA', + 'WSAGetServiceClassNameByClassIdW', 'WSAHtonl', 'WSAHtons', 'WSAInstallServiceClassA', + 'WSAInstallServiceClassW', 'WSAIoctl', 'WSAIsBlocking', 'WSAJoinLeaf', + 'WSALookupServiceBeginA', 'WSALookupServiceBeginW', 'WSALookupServiceEnd', + 'WSALookupServiceNextA', 'WSALookupServiceNextW', 'WSANtohl', 'WSANtohs', + 'WSAProviderConfigChange', 'WSARecv', 'WSARecvDisconnect', 'WSARecvFrom', + 'WSARemoveServiceClass', 'WSAResetEvent', 'WSASend', 'WSASendDisconnect', 'WSASendTo', + 'WSASetBlockingHook', 'WSASetEvent', 'WSASetLastError', 'WSASetServiceA', + 'WSASetServiceW', 'WSASocketA', 'WSASocketW', 'WSAStartup', 'WSAStringToAddressA', + 'WSAStringToAddressW', 'WSAUnhookBlockingHook', 'WSAWaitForMultipleEvents', + 'WSCDeinstallProvider', 'WSCEnableNSProvider', 'WSCEnumProtocols', + 'WSCGetProviderPath', 'WSCInstallNameSpace', 'WSCInstallProvider', + 'WSCUnInstallNameSpace', + + 'ContinueDebugEvent', 'DebugActiveProcess', 'DebugBreak', 'FatalExit', + 'FlushInstructionCache', 'GetThreadContext', 'GetThreadSelectorEntry', + 'IsDebuggerPresent', 'OutputDebugStringA', 'OutputDebugStringW', 'ReadProcessMemory', + 'SetDebugErrorLevel', 'SetThreadContext', 'WaitForDebugEvent', 'WriteProcessMemory', + + 'CloseHandle', 'DuplicateHandle', 'GetHandleInformation', 'SetHandleInformation', + + 'AdjustWindowRect', 'AdjustWindowRectEx', 'AllowSetForegroundWindow', + 'AnimateWindow', 'AnyPopup', 'ArrangeIconicWindows', 'BeginDeferWindowPos', + 'BringWindowToTop', 'CascadeWindows', 'ChildWindowFromPoint', + 'ChildWindowFromPointEx', 'CloseWindow', 'CreateWindowExA', 'CreateWindowExW', + 'DeferWindowPos', 'DestroyWindow', 'EndDeferWindowPos', 'EnumChildWindows', + 'EnumThreadWindows', 'EnumWindows', 'FindWindowA', 'FindWindowExA', 'FindWindowExW', + 'FindWindowW', 'GetAltTabInfoA', 'GetAltTabInfoW', 'GetAncestor', 'GetClientRect', + 'GetDesktopWindow', 'GetForegroundWindow', 'GetGUIThreadInfo', 'GetLastActivePopup', + 'GetLayout', 'GetParent', 'GetProcessDefaultLayout', 'GetTitleBarInf', 'GetTopWindow', + 'GetWindow', 'GetWindowInfo', 'GetWindowModuleFileNameA', 'GetWindowModuleFileNameW', + 'GetWindowPlacement', 'GetWindowRect', 'GetWindowTextA', 'GetWindowTextLengthA', + 'GetWindowTextLengthW', 'GetWindowTextW', 'GetWindowThreadProcessId', 'IsChild', + 'IsIconic', 'IsWindow', 'IsWindowUnicode', 'IsWindowVisible', 'IsZoomed', + 'LockSetForegroundWindow', 'MoveWindow', 'OpenIcon', 'RealChildWindowFromPoint', + 'RealGetWindowClassA', 'RealGetWindowClassW', 'SetForegroundWindow', + 'SetLayeredWindowAttributes', 'SetLayout', 'SetParent', 'SetProcessDefaultLayout', + 'SetWindowPlacement', 'SetWindowPos', 'SetWindowTextA', 'SetWindowTextW', + 'ShowOwnedPopups', 'ShowWindow', 'ShowWindowAsync', 'TileWindows', + 'UpdateLayeredWindow', 'WindowFromPoint', + + 'CreateDialogIndirectParamA', 'CreateDialogIndirectParamW', 'CreateDialogParamA', + 'CreateDialogParamW', 'DefDlgProcA', 'DefDlgProcW', 'DialogBoxIndirectParamA', + 'DialogBoxIndirectParamW', 'DialogBoxParamA', 'DialogBoxParamW', 'EndDialog', + 'GetDialogBaseUnits', 'GetDlgCtrlID', 'GetDlgItem', 'GetDlgItemInt', + 'GetDlgItemTextA', 'GetDlgItemTextW', 'GetNextDlgGroupItem', 'GetNextDlgTabItem', + 'IsDialogMessageA', 'IsDialogMessageW', 'MapDialogRect', 'MessageBoxA', + 'MessageBoxExA', 'MessageBoxExW', 'MessageBoxIndirectA', 'MessageBoxIndirectW', + 'MessageBoxW', 'SendDlgItemMessageA', 'SendDlgItemMessageW', 'SetDlgItemInt', + 'SetDlgItemTextA', 'SetDlgItemTextW', + + 'GetWriteWatch', 'GlobalMemoryStatus', 'GlobalMemoryStatusEx', 'IsBadCodePtr', + 'IsBadReadPtr', 'IsBadStringPtrA', 'IsBadStringPtrW', 'IsBadWritePtr', + 'ResetWriteWatch', 'AllocateUserPhysicalPages', 'FreeUserPhysicalPages', + 'MapUserPhysicalPages', 'MapUserPhysicalPagesScatter', 'GlobalAlloc', 'GlobalFlags', + 'GlobalFree', 'GlobalHandle', 'GlobalLock', 'GlobalReAlloc', 'GlobalSize', + 'GlobalUnlock', 'LocalAlloc', 'LocalFlags', 'LocalFree', 'LocalHandle', 'LocalLock', + 'LocalReAlloc', 'LocalSize', 'LocalUnlock', 'GetProcessHeap', 'GetProcessHeaps', + 'HeapAlloc', 'HeapCompact', 'HeapCreate', 'HeapDestroy', 'HeapFree', 'HeapLock', + 'HeapReAlloc', 'HeapSize', 'HeapUnlock', 'HeapValidate', 'HeapWalk', 'VirtualAlloc', + 'VirtualAllocEx', 'VirtualFree', 'VirtualFreeEx', 'VirtualLock', 'VirtualProtect', + 'VirtualProtectEx', 'VirtualQuery', 'VirtualQueryEx', 'VirtualUnlock', + 'GetFreeSpace', 'GlobalCompact', 'GlobalFix', 'GlobalUnfix', 'GlobalUnWire', + 'GlobalWire', 'IsBadHugeReadPtr', 'IsBadHugeWritePtr', 'LocalCompact', 'LocalShrink', + + 'GetClassInfoA', 'GetClassInfoW', 'GetClassInfoExA', 'GetClassInfoExW', + 'GetClassLongA', 'GetClassLongW', 'GetClassLongPtrA', 'GetClassLongPtrW', + 'RegisterClassA', 'RegisterClassW', 'RegisterClassExA', 'RegisterClassExW', + 'SetClassLongA', 'SetClassLongW', 'SetClassLongPtrA', 'SetClassLongPtrW', + 'SetWindowLongA', 'SetWindowLongW', 'SetWindowLongPtrA', 'SetWindowLongPtrW', + 'UnregisterClassA', 'UnregisterClassW', 'GetClassWord', 'GetWindowWord', + 'SetClassWord', 'SetWindowWord' + ), + // Native API + 6 => array( + 'CsrAllocateCaptureBuffer', 'CsrAllocateCapturePointer', 'CsrAllocateMessagePointer', + 'CsrCaptureMessageBuffer', 'CsrCaptureMessageString', 'CsrCaptureTimeout', + 'CsrClientCallServer', 'CsrClientConnectToServer', 'CsrFreeCaptureBuffer', + 'CsrIdentifyAlertableThread', 'CsrNewThread', 'CsrProbeForRead', 'CsrProbeForWrite', + 'CsrSetPriorityClass', + + 'LdrAccessResource', 'LdrDisableThreadCalloutsForDll', 'LdrEnumResources', + 'LdrFindEntryForAddress', 'LdrFindResource_U', 'LdrFindResourceDirectory_U', + 'LdrGetDllHandle', 'LdrGetProcedureAddress', 'LdrInitializeThunk', 'LdrLoadDll', + 'LdrProcessRelocationBlock', 'LdrQueryImageFileExecutionOptions', + 'LdrQueryProcessModuleInformation', 'LdrShutdownProcess', 'LdrShutdownThread', + 'LdrUnloadDll', 'LdrVerifyImageMatchesChecksum', + + 'NtAcceptConnectPort', 'ZwAcceptConnectPort', 'NtCompleteConnectPort', + 'ZwCompleteConnectPort', 'NtConnectPort', 'ZwConnectPort', 'NtCreatePort', + 'ZwCreatePort', 'NtImpersonateClientOfPort', 'ZwImpersonateClientOfPort', + 'NtListenPort', 'ZwListenPort', 'NtQueryInformationPort', 'ZwQueryInformationPort', + 'NtReadRequestData', 'ZwReadRequestData', 'NtReplyPort', 'ZwReplyPort', + 'NtReplyWaitReceivePort', 'ZwReplyWaitReceivePort', 'NtReplyWaitReplyPort', + 'ZwReplyWaitReplyPort', 'NtRequestPort', 'ZwRequestPort', 'NtRequestWaitReplyPort', + 'ZwRequestWaitReplyPort', 'NtSecureConnectPort', 'ZwSecureConnectPort', + 'NtWriteRequestData', 'ZwWriteRequestData', + + 'NtAccessCheck', 'ZwAccessCheck', 'NtAccessCheckAndAuditAlarm', + 'ZwAccessCheckAndAuditAlarm', 'NtAccessCheckByType', 'ZwAccessCheckByType', + 'NtAccessCheckByTypeAndAuditAlarm', 'ZwAccessCheckByTypeAndAuditAlarm', + 'NtAccessCheckByTypeResultList', 'ZwAccessCheckByTypeResultList', + 'NtAdjustGroupsToken', 'ZwAdjustGroupsToken', 'NtAdjustPrivilegesToken', + 'ZwAdjustPrivilegesToken', 'NtCloseObjectAuditAlarm', 'ZwCloseObjectAuditAlarm', + 'NtCreateToken', 'ZwCreateToken', 'NtDeleteObjectAuditAlarm', + 'ZwDeleteObjectAuditAlarm', 'NtDuplicateToken', 'ZwDuplicateToken', + 'NtFilterToken', 'ZwFilterToken', 'NtImpersonateThread', 'ZwImpersonateThread', + 'NtOpenObjectAuditAlarm', 'ZwOpenObjectAuditAlarm', 'NtOpenProcessToken', + 'ZwOpenProcessToken', 'NtOpenThreadToken', 'ZwOpenThreadToken', 'NtPrivilegeCheck', + 'ZwPrivilegeCheck', 'NtPrivilegedServiceAuditAlarm', 'ZwPrivilegedServiceAuditAlarm', + 'NtPrivilegeObjectAuditAlarm', 'ZwPrivilegeObjectAuditAlarm', + 'NtQueryInformationToken', 'ZwQueryInformationToken', 'NtQuerySecurityObject', + 'ZwQuerySecurityObject', 'NtSetInformationToken', 'ZwSetInformationToken', + 'NtSetSecurityObject', 'ZwSetSecurityObject', + + 'NtAddAtom', 'ZwAddAtom', 'NtDeleteAtom', 'ZwDeleteAtom', 'NtFindAtom', 'ZwFindAtom', + 'NtQueryInformationAtom', 'ZwQueryInformationAtom', + + 'NtAlertResumeThread', 'ZwAlertResumeThread', 'NtAlertThread', 'ZwAlertThread', + 'NtCreateProcess', 'ZwCreateProcess', 'NtCreateThread', 'ZwCreateThread', + 'NtCurrentTeb', 'NtDelayExecution', 'ZwDelayExecution', 'NtGetContextThread', + 'ZwGetContextThread', 'NtOpenProcess', 'ZwOpenProcess', 'NtOpenThread', + 'ZwOpenThread', 'NtQueryInformationProcess', 'ZwQueryInformationProcess', + 'NtQueryInformationThread', 'ZwQueryInformationThread', 'NtQueueApcThread', + 'ZwQueueApcThread', 'NtResumeThread', 'ZwResumeThread', 'NtSetContextThread', + 'ZwSetContextThread', 'NtSetHighWaitLowThread', 'ZwSetHighWaitLowThread', + 'NtSetInformationProcess', 'ZwSetInformationProcess', 'NtSetInformationThread', + 'ZwSetInformationThread', 'NtSetLowWaitHighThread', 'ZwSetLowWaitHighThread', + 'NtSuspendThread', 'ZwSuspendThread', 'NtTerminateProcess', 'ZwTerminateProcess', + 'NtTerminateThread', 'ZwTerminateThread', 'NtTestAlert', 'ZwTestAlert', + 'NtYieldExecution', 'ZwYieldExecution', + + 'NtAllocateVirtualMemory', 'ZwAllocateVirtualMemory', 'NtAllocateVirtualMemory64', + 'ZwAllocateVirtualMemory64', 'NtAreMappedFilesTheSame', 'ZwAreMappedFilesTheSame', + 'NtCreateSection', 'ZwCreateSection', 'NtExtendSection', 'ZwExtendSection', + 'NtFlushVirtualMemory', 'ZwFlushVirtualMemory', 'NtFreeVirtualMemory', + 'ZwFreeVirtualMemory', 'NtFreeVirtualMemory64', 'ZwFreeVirtualMemory64', + 'NtLockVirtualMemory', 'ZwLockVirtualMemory', 'NtMapViewOfSection', + 'ZwMapViewOfSection', 'NtMapViewOfVlmSection', 'ZwMapViewOfVlmSection', + 'NtOpenSection', 'ZwOpenSection', 'NtProtectVirtualMemory', 'ZwProtectVirtualMemory', + 'NtProtectVirtualMemory64', 'ZwProtectVirtualMemory64', 'NtQueryVirtualMemory', + 'ZwQueryVirtualMemory', 'NtQueryVirtualMemory64', 'ZwQueryVirtualMemory64', + 'NtReadVirtualMemory', 'ZwReadVirtualMemory', 'NtReadVirtualMemory64', + 'ZwReadVirtualMemory64', 'NtUnlockVirtualMemory', 'ZwUnlockVirtualMemory', + 'NtUnmapViewOfSection', 'ZwUnmapViewOfSection', 'NtUnmapViewOfVlmSection', + 'ZwUnmapViewOfVlmSection', 'NtWriteVirtualMemory', 'ZwWriteVirtualMemory', + 'NtWriteVirtualMemory64', 'ZwWriteVirtualMemory64', + + 'NtAssignProcessToJobObject', 'ZwAssignProcessToJobObject', 'NtCreateJobObject', + 'ZwCreateJobObject', 'NtOpenJobObject', 'ZwOpenJobObject', + 'NtQueryInformationJobObject', 'ZwQueryInformationJobObject', + 'NtSetInformationJobObject', 'ZwSetInformationJobObject', 'NtTerminateJobObject', + 'ZwTerminateJobObject', + + 'NtCancelIoFile', 'ZwCancelIoFile', 'NtCreateFile', 'ZwCreateFile', + 'NtCreateIoCompletion', 'ZwCreateIoCompletion', 'NtDeleteFile', 'ZwDeleteFile', + 'NtDeviceIoControlFile', 'ZwDeviceIoControlFile', 'NtFlushBuffersFile', + 'ZwFlushBuffersFile', 'NtFsControlFile', 'ZwFsControlFile', 'NtLockFile', 'ZwLockFile', + 'NtNotifyChangeDirectoryFile', 'ZwNotifyChangeDirectoryFile', 'NtOpenFile', + 'ZwOpenFile', 'NtOpenIoCompletion', 'ZwOpenIoCompletion', 'NtQueryAttributesFile', + 'ZwQueryAttributesFile', 'NtQueryDirectoryFile', 'ZwQueryDirectoryFile', + 'NtQueryEaFile', 'ZwQueryEaFile', 'NtQueryIoCompletion', 'ZwQueryIoCompletion', + 'NtQueryQuotaInformationFile', 'ZwQueryQuotaInformationFile', + 'NtQueryVolumeInformationFile', 'ZwQueryVolumeInformationFile', 'NtReadFile', + 'ZwReadFile', 'NtReadFile64', 'ZwReadFile64', 'NtReadFileScatter', 'ZwReadFileScatter', + 'NtRemoveIoCompletion', 'ZwRemoveIoCompletion', 'NtSetEaFile', 'ZwSetEaFile', + 'NtSetInformationFile', 'ZwSetInformationFile', 'NtSetIoCompletion', + 'ZwSetIoCompletion', 'NtSetQuotaInformationFile', 'ZwSetQuotaInformationFile', + 'NtSetVolumeInformationFile', 'ZwSetVolumeInformationFile', 'NtUnlockFile', + 'ZwUnlockFile', 'NtWriteFile', 'ZwWriteFile', 'NtWriteFile64','ZwWriteFile64', + 'NtWriteFileGather', 'ZwWriteFileGather', 'NtQueryFullAttributesFile', + 'ZwQueryFullAttributesFile', 'NtQueryInformationFile', 'ZwQueryInformationFile', + + 'RtlAbortRXact', 'RtlAbsoluteToSelfRelativeSD', 'RtlAcquirePebLock', + 'RtlAcquireResourceExclusive', 'RtlAcquireResourceShared', 'RtlAddAccessAllowedAce', + 'RtlAddAccessDeniedAce', 'RtlAddAce', 'RtlAddActionToRXact', 'RtlAddAtomToAtomTable', + 'RtlAddAttributeActionToRXact', 'RtlAddAuditAccessAce', 'RtlAddCompoundAce', + 'RtlAdjustPrivilege', 'RtlAllocateAndInitializeSid', 'RtlAllocateHandle', + 'RtlAllocateHeap', 'RtlAnsiCharToUnicodeChar', 'RtlAnsiStringToUnicodeSize', + 'RtlAnsiStringToUnicodeString', 'RtlAppendAsciizToString', 'RtlAppendStringToString', + 'RtlAppendUnicodeStringToString', 'RtlAppendUnicodeToString', 'RtlApplyRXact', + 'RtlApplyRXactNoFlush', 'RtlAreAllAccessesGranted', 'RtlAreAnyAccessesGranted', + 'RtlAreBitsClear', 'RtlAreBitsSet', 'RtlAssert', 'RtlCaptureStackBackTrace', + 'RtlCharToInteger', 'RtlCheckRegistryKey', 'RtlClearAllBits', 'RtlClearBits', + 'RtlClosePropertySet', 'RtlCompactHeap', 'RtlCompareMemory', 'RtlCompareMemoryUlong', + 'RtlCompareString', 'RtlCompareUnicodeString', 'RtlCompareVariants', + 'RtlCompressBuffer', 'RtlConsoleMultiByteToUnicodeN', 'RtlConvertExclusiveToShared', + 'RtlConvertLongToLargeInteger', 'RtlConvertPropertyToVariant', + 'RtlConvertSharedToExclusive', 'RtlConvertSidToUnicodeString', + 'RtlConvertUiListToApiList', 'RtlConvertUlongToLargeInteger', + 'RtlConvertVariantToProperty', 'RtlCopyLuid', 'RtlCopyLuidAndAttributesArray', + 'RtlCopySecurityDescriptor', 'RtlCopySid', 'RtlCopySidAndAttributesArray', + 'RtlCopyString', 'RtlCopyUnicodeString', 'RtlCreateAcl', 'RtlCreateAndSetSD', + 'RtlCreateAtomTable', 'RtlCreateEnvironment', 'RtlCreateHeap', + 'RtlCreateProcessParameters', 'RtlCreatePropertySet', 'RtlCreateQueryDebugBuffer', + 'RtlCreateRegistryKey', 'RtlCreateSecurityDescriptor', 'RtlCreateTagHeap', + 'RtlCreateUnicodeString', 'RtlCreateUnicodeStringFromAsciiz', 'RtlCreateUserProcess', + 'RtlCreateUserSecurityObject', 'RtlCreateUserThread', 'RtlCustomCPToUnicodeN', + 'RtlCutoverTimeToSystemTime', 'RtlDecompressBuffer', 'RtlDecompressFragment', + 'RtlDelete', 'RtlDeleteAce', 'RtlDeleteAtomFromAtomTable', 'RtlDeleteCriticalSection', + 'RtlDeleteElementGenericTable', 'RtlDeleteNoSplay', 'RtlDeleteRegistryValue', + 'RtlDeleteResource', 'RtlDeleteSecurityObject', 'RtlDeNormalizeProcessParams', + 'RtlDestroyAtomTable', 'RtlDestroyEnvironment', 'RtlDestroyHandleTable', + 'RtlDestroyHeap', 'RtlDestroyProcessParameters', 'RtlDestroyQueryDebugBuffer', + 'RtlDetermineDosPathNameType_U', 'RtlDoesFileExists_U', 'RtlDosPathNameToNtPathName_U', + 'RtlDosSearchPath_U', 'RtlDowncaseUnicodeString', 'RtlDumpResource', + 'RtlEmptyAtomTable', 'RtlEnlargedIntegerMultiply', 'RtlEnlargedUnsignedDivide', + 'RtlEnlargedUnsignedMultiply', 'RtlEnterCriticalSection', 'RtlEnumerateGenericTable', + 'RtlEnumerateGenericTableWithoutSplaying', 'RtlEnumerateProperties', + 'RtlEnumProcessHeaps', 'RtlEqualComputerName', 'RtlEqualDomainName', 'RtlEqualLuid', + 'RtlEqualPrefixSid', 'RtlEqualSid', 'RtlEqualString', 'RtlEqualUnicodeString', + 'RtlEraseUnicodeString', 'RtlExpandEnvironmentStrings_U', 'RtlExtendedIntegerMultiply', + 'RtlExtendedLargeIntegerDivide', 'RtlExtendedMagicDivide', 'RtlExtendHeap', + 'RtlFillMemory', 'RtlFillMemoryUlong', 'RtlFindClearBits', 'RtlFindClearBitsAndSet', + 'RtlFindLongestRunClear', 'RtlFindLongestRunSet', 'RtlFindMessage', 'RtlFindSetBits', + 'RtlFindSetBitsAndClear', 'RtlFirstFreeAce', 'RtlFlushPropertySet', + 'RtlFormatCurrentUserKeyPath', 'RtlFormatMessage', 'RtlFreeAnsiString', + 'RtlFreeHandle', 'RtlFreeHeap', 'RtlFreeOemString', 'RtlFreeSid', + 'RtlFreeUnicodeString', 'RtlFreeUserThreadStack', 'RtlGenerate8dot3Name', 'RtlGetAce', + 'RtlGetCallersAddress', 'RtlGetCompressionWorkSpaceSize', + 'RtlGetControlSecurityDescriptor', 'RtlGetCurrentDirectory_U', + 'RtlGetDaclSecurityDescriptor', 'RtlGetElementGenericTable', 'RtlGetFullPathName_U', + 'RtlGetGroupSecurityDescriptor', 'RtlGetLongestNtPathLength', 'RtlGetNtGlobalFlags', + 'RtlGetNtProductType', 'RtlGetOwnerSecurityDescriptor', 'RtlGetProcessHeaps', + 'RtlGetSaclSecurityDescriptor', 'RtlGetUserInfoHeap', 'RtlGuidToPropertySetName', + 'RtlIdentifierAuthoritySid', 'RtlImageDirectoryEntryToData', 'RtlImageNtHeader', + 'RtlImageRvaToSection', 'RtlImageRvaToVa', 'RtlImpersonateSelf', 'RtlInitAnsiString', + 'RtlInitCodePageTable', 'RtlInitializeAtomPackage', 'RtlInitializeBitMap', + 'RtlInitializeContext', 'RtlInitializeCriticalSection', + 'RtlInitializeCriticalSectionAndSpinCount', 'RtlInitializeGenericTable', + 'RtlInitializeHandleTable', 'RtlInitializeResource', 'RtlInitializeRXact', + 'RtlInitializeSid', 'RtlInitNlsTables', 'RtlInitString', 'RtlInitUnicodeString', + 'RtlInsertElementGenericTable', 'RtlIntegerToChar', 'RtlIntegerToUnicodeString', + 'RtlIsDosDeviceName_U', 'RtlIsGenericTableEmpty', 'RtlIsNameLegalDOS8Dot3', + 'RtlIsTextUnicode', 'RtlIsValidHandle', 'RtlIsValidIndexHandle', 'RtlLargeIntegerAdd', + 'RtlLargeIntegerArithmeticShift', 'RtlLargeIntegerDivide', 'RtlLargeIntegerNegate', + 'RtlLargeIntegerShiftLeft', 'RtlLargeIntegerShiftRight', 'RtlLargeIntegerSubtract', + 'RtlLargeIntegerToChar', 'RtlLeaveCriticalSection', 'RtlLengthRequiredSid', + 'RtlLengthSecurityDescriptor', 'RtlLengthSid', 'RtlLocalTimeToSystemTime', + 'RtlLockHeap', 'RtlLookupAtomInAtomTable', 'RtlLookupElementGenericTable', + 'RtlMakeSelfRelativeSD', 'RtlMapGenericMask', 'RtlMoveMemory', + 'RtlMultiByteToUnicodeN', 'RtlMultiByteToUnicodeSize', 'RtlNewInstanceSecurityObject', + 'RtlNewSecurityGrantedAccess', 'RtlNewSecurityObject', 'RtlNormalizeProcessParams', + 'RtlNtStatusToDosError', 'RtlNumberGenericTableElements', 'RtlNumberOfClearBits', + 'RtlNumberOfSetBits', 'RtlOemStringToUnicodeSize', 'RtlOemStringToUnicodeString', + 'RtlOemToUnicodeN', 'RtlOnMappedStreamEvent', 'RtlOpenCurrentUser', + 'RtlPcToFileHeader', 'RtlPinAtomInAtomTable', 'RtlpNtCreateKey', + 'RtlpNtEnumerateSubKey', 'RtlpNtMakeTemporaryKey', 'RtlpNtOpenKey', + 'RtlpNtQueryValueKey', 'RtlpNtSetValueKey', 'RtlPrefixString', + 'RtlPrefixUnicodeString', 'RtlPropertySetNameToGuid', 'RtlProtectHeap', + 'RtlpUnWaitCriticalSection', 'RtlpWaitForCriticalSection', 'RtlQueryAtomInAtomTable', + 'RtlQueryEnvironmentVariable_U', 'RtlQueryInformationAcl', + 'RtlQueryProcessBackTraceInformation', 'RtlQueryProcessDebugInformation', + 'RtlQueryProcessHeapInformation', 'RtlQueryProcessLockInformation', + 'RtlQueryProperties', 'RtlQueryPropertyNames', 'RtlQueryPropertySet', + 'RtlQueryRegistryValues', 'RtlQuerySecurityObject', 'RtlQueryTagHeap', + 'RtlQueryTimeZoneInformation', 'RtlRaiseException', 'RtlRaiseStatus', 'RtlRandom', + 'RtlReAllocateHeap', 'RtlRealPredecessor', 'RtlRealSuccessor', 'RtlReleasePebLock', + 'RtlReleaseResource', 'RtlRemoteCall', 'RtlResetRtlTranslations', + 'RtlRunDecodeUnicodeString', 'RtlRunEncodeUnicodeString', 'RtlSecondsSince1970ToTime', + 'RtlSecondsSince1980ToTime', 'RtlSelfRelativeToAbsoluteSD', 'RtlSetAllBits', + 'RtlSetAttributesSecurityDescriptor', 'RtlSetBits', 'RtlSetCriticalSectionSpinCount', + 'RtlSetCurrentDirectory_U', 'RtlSetCurrentEnvironment', 'RtlSetDaclSecurityDescriptor', + 'RtlSetEnvironmentVariable', 'RtlSetGroupSecurityDescriptor', 'RtlSetInformationAcl', + 'RtlSetOwnerSecurityDescriptor', 'RtlSetProperties', 'RtlSetPropertyNames', + 'RtlSetPropertySetClassId', 'RtlSetSaclSecurityDescriptor', 'RtlSetSecurityObject', + 'RtlSetTimeZoneInformation', 'RtlSetUnicodeCallouts', 'RtlSetUserFlagsHeap', + 'RtlSetUserValueHeap', 'RtlSizeHeap', 'RtlSplay', 'RtlStartRXact', + 'RtlSubAuthorityCountSid', 'RtlSubAuthoritySid', 'RtlSubtreePredecessor', + 'RtlSubtreeSuccessor', 'RtlSystemTimeToLocalTime', 'RtlTimeFieldsToTime', + 'RtlTimeToElapsedTimeFields', 'RtlTimeToSecondsSince1970', 'RtlTimeToSecondsSince1980', + 'RtlTimeToTimeFields', 'RtlTryEnterCriticalSection', 'RtlUnicodeStringToAnsiSize', + 'RtlUnicodeStringToAnsiString', 'RtlUnicodeStringToCountedOemString', + 'RtlUnicodeStringToInteger', 'RtlUnicodeStringToOemSize', + 'RtlUnicodeStringToOemString', 'RtlUnicodeToCustomCPN', 'RtlUnicodeToMultiByteN', + 'RtlUnicodeToMultiByteSize', 'RtlUnicodeToOemN', 'RtlUniform', 'RtlUnlockHeap', + 'RtlUnwind', 'RtlUpcaseUnicodeChar', 'RtlUpcaseUnicodeString', + 'RtlUpcaseUnicodeStringToAnsiString', 'RtlUpcaseUnicodeStringToCountedOemString', + 'RtlUpcaseUnicodeStringToOemString', 'RtlUpcaseUnicodeToCustomCPN', + 'RtlUpcaseUnicodeToMultiByteN', 'RtlUpcaseUnicodeToOemN', 'RtlUpperChar', + 'RtlUpperString', 'RtlUsageHeap', 'RtlValidAcl', 'RtlValidateHeap', + 'RtlValidateProcessHeaps', 'RtlValidSecurityDescriptor', 'RtlValidSid', 'RtlWalkHeap', + 'RtlWriteRegistryValue', 'RtlxAnsiStringToUnicodeSize', 'RtlxOemStringToUnicodeSize', + 'RtlxUnicodeStringToAnsiSize', 'RtlxUnicodeStringToOemSize', 'RtlZeroHeap', + 'RtlZeroMemory', + + 'NtCancelTimer', 'ZwCancelTimer', 'NtCreateTimer', 'ZwCreateTimer', 'NtGetTickCount', + 'ZwGetTickCount', 'NtOpenTimer', 'ZwOpenTimer', 'NtQueryPerformanceCounter', + 'ZwQueryPerformanceCounter', 'NtQuerySystemTime', 'ZwQuerySystemTime', 'NtQueryTimer', + 'ZwQueryTimer', 'NtQueryTimerResolution', 'ZwQueryTimerResolution', 'NtSetSystemTime', + 'ZwSetSystemTime', 'NtSetTimer', 'ZwSetTimer', 'NtSetTimerResolution', + 'ZwSetTimerResolution', + + 'NtClearEvent', 'ZwClearEvent', 'NtCreateEvent', 'ZwCreateEvent', 'NtCreateEventPair', + 'ZwCreateEventPair', 'NtCreateMutant', 'ZwCreateMutant', 'NtCreateSemaphore', + 'ZwCreateSemaphore', 'NtOpenEvent', 'ZwOpenEvent', 'NtOpenEventPair', + 'ZwOpenEventPair', 'NtOpenMutant', 'ZwOpenMutant', 'NtOpenSemaphore', + 'ZwOpenSemaphore', 'NtPulseEvent', 'ZwPulseEvent', 'NtQueryEvent', 'ZwQueryEvent', + 'NtQueryMutant', 'ZwQueryMutant', 'NtQuerySemaphore', 'ZwQuerySemaphore', + 'NtReleaseMutant', 'ZwReleaseMutant', 'NtReleaseProcessMutant', + 'ZwReleaseProcessMutant', 'NtReleaseSemaphore', 'ZwReleaseSemaphore', + 'NtReleaseThreadMutant', 'ZwReleaseThreadMutant', 'NtResetEvent', 'ZwResetEvent', + 'NtSetEvent', 'ZwSetEvent', 'NtSetHighEventPair', 'ZwSetHighEventPair', + 'NtSetHighWaitLowEventPair', 'ZwSetHighWaitLowEventPair', 'NtSetLowEventPair', + 'ZwSetLowEventPair', 'NtSetLowWaitHighEventPair', 'ZwSetLowWaitHighEventPair', + 'NtSignalAndWaitForSingleObject', 'ZwSignalAndWaitForSingleObject', + 'NtWaitForMultipleObjects', 'ZwWaitForMultipleObjects', 'NtWaitForSingleObject', + 'ZwWaitForSingleObject', 'NtWaitHighEventPair', 'ZwWaitHighEventPair', + 'NtWaitLowEventPair', 'ZwWaitLowEventPair', + + 'NtClose', 'ZwClose', 'NtCreateDirectoryObject', 'ZwCreateDirectoryObject', + 'NtCreateSymbolicLinkObject', 'ZwCreateSymbolicLinkObject', + 'NtDuplicateObject', 'ZwDuplicateObject', 'NtMakeTemporaryObject', + 'ZwMakeTemporaryObject', 'NtOpenDirectoryObject', 'ZwOpenDirectoryObject', + 'NtOpenSymbolicLinkObject', 'ZwOpenSymbolicLinkObject', 'NtQueryDirectoryObject', + 'ZwQueryDirectoryObject', 'NtQueryObject', 'ZwQueryObject', + 'NtQuerySymbolicLinkObject', 'ZwQuerySymbolicLinkObject', 'NtSetInformationObject', + 'ZwSetInformationObject', + + 'NtContinue', 'ZwContinue', 'NtRaiseException', 'ZwRaiseException', + 'NtRaiseHardError', 'ZwRaiseHardError', 'NtSetDefaultHardErrorPort', + 'ZwSetDefaultHardErrorPort', + + 'NtCreateChannel', 'ZwCreateChannel', 'NtListenChannel', 'ZwListenChannel', + 'NtOpenChannel', 'ZwOpenChannel', 'NtReplyWaitSendChannel', 'ZwReplyWaitSendChannel', + 'NtSendWaitReplyChannel', 'ZwSendWaitReplyChannel', 'NtSetContextChannel', + 'ZwSetContextChannel', + + 'NtCreateKey', 'ZwCreateKey', 'NtDeleteKey', 'ZwDeleteKey', 'NtDeleteValueKey', + 'ZwDeleteValueKey', 'NtEnumerateKey', 'ZwEnumerateKey', 'NtEnumerateValueKey', + 'ZwEnumerateValueKey', 'NtFlushKey', 'ZwFlushKey', 'NtInitializeRegistry', + 'ZwInitializeRegistry', 'NtLoadKey', 'ZwLoadKey', 'NtLoadKey2', 'ZwLoadKey2', + 'NtNotifyChangeKey', 'ZwNotifyChangeKey', 'NtOpenKey', 'ZwOpenKey', 'NtQueryKey', + 'ZwQueryKey', 'NtQueryMultipleValueKey', 'ZwQueryMultipleValueKey', + 'NtQueryMultiplValueKey', 'ZwQueryMultiplValueKey', 'NtQueryValueKey', + 'ZwQueryValueKey', 'NtReplaceKey', 'ZwReplaceKey', 'NtRestoreKey', 'ZwRestoreKey', + 'NtSaveKey', 'ZwSaveKey', 'NtSetInformationKey', 'ZwSetInformationKey', + 'NtSetValueKey', 'ZwSetValueKey', 'NtUnloadKey', 'ZwUnloadKey', + + 'NtCreateMailslotFile', 'ZwCreateMailslotFile', 'NtCreateNamedPipeFile', + 'ZwCreateNamedPipeFile', 'NtCreatePagingFile', 'ZwCreatePagingFile', + + 'NtCreateProfile', 'ZwCreateProfile', 'NtQueryIntervalProfile', + 'ZwQueryIntervalProfile', 'NtRegisterThreadTerminatePort', + 'ZwRegisterThreadTerminatePort', 'NtSetIntervalProfile', 'ZwSetIntervalProfile', + 'NtStartProfile', 'ZwStartProfile', 'NtStopProfile', 'ZwStopProfile', + 'NtSystemDebugControl', 'ZwSystemDebugControl', + + 'NtEnumerateBus', 'ZwEnumerateBus', 'NtFlushInstructionCache', + 'ZwFlushInstructionCache', 'NtFlushWriteBuffer', 'ZwFlushWriteBuffer', + 'NtSetLdtEntries', 'ZwSetLdtEntries', + + 'NtGetPlugPlayEvent', 'ZwGetPlugPlayEvent', 'NtPlugPlayControl', 'ZwPlugPlayControl', + + 'NtInitiatePowerAction', 'ZwInitiatePowerAction', 'NtPowerInformation', + 'ZwPowerInformation', 'NtRequestWakeupLatency', 'ZwRequestWakeupLatency', + 'NtSetSystemPowerState', 'ZwSetSystemPowerState', 'NtSetThreadExecutionState', + 'ZwSetThreadExecutionState', + + 'NtLoadDriver', 'ZwLoadDriver', 'NtRegisterNewDevice', 'ZwRegisterNewDevice', + 'NtUnloadDriver', 'ZwUnloadDriver', + + 'NtQueryDefaultLocale', 'ZwQueryDefaultLocale', 'NtQueryDefaultUILanguage', + 'ZwQueryDefaultUILanguage', 'NtQuerySystemEnvironmentValue', + 'ZwQuerySystemEnvironmentValue', 'NtSetDefaultLocale', 'ZwSetDefaultLocale', + 'NtSetDefaultUILanguage', 'ZwSetDefaultUILanguage', 'NtSetSystemEnvironmentValue', + 'ZwSetSystemEnvironmentValue', + + 'DbgBreakPoint', 'DbgPrint', 'DbgPrompt', 'DbgSsHandleKmApiMsg', 'DbgSsInitialize', + 'DbgUiConnectToDbg', 'DbgUiContinue', 'DbgUiWaitStateChange', 'DbgUserBreakPoint', + 'KiRaiseUserExceptionDispatcher', 'KiUserApcDispatcher', 'KiUserCallbackDispatcher', + 'KiUserExceptionDispatcher', 'NlsAnsiCodePage', 'NlsMbCodePageTag', + 'NlsMbOemCodePageTag', 'NtAllocateLocallyUniqueId', 'ZwAllocateLocallyUniqueId', + 'NtAllocateUuids', 'ZwAllocateUuids', 'NtCallbackReturn', 'ZwCallbackReturn', + 'NtDisplayString', 'ZwDisplayString', 'NtQueryOleDirectoryFile', + 'ZwQueryOleDirectoryFile', 'NtQuerySection', 'ZwQuerySection', + 'NtQuerySystemInformation', 'ZwQuerySystemInformation', 'NtSetSystemInformation', + 'ZwSetSystemInformation', 'NtShutdownSystem', 'ZwShutdownSystem', 'NtVdmControl', + 'ZwVdmControl', 'NtW32Call', 'ZwW32Call', 'PfxFindPrefix', 'PfxInitialize', + 'PfxInsertPrefix', 'PfxRemovePrefix', 'PropertyLengthAsVariant', 'RestoreEm87Context', + 'SaveEm87Context' + ) + ), + 'SYMBOLS' => array( + 0 => array('(', ')', '{', '}', '[', ']'), + 1 => array('<', '>','='), + 2 => array('+', '-', '*', '/', '%'), + 3 => array('!', '^', '&', '|'), + 4 => array('?', ':', ';') + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + 3 => true, + 4 => true, + 5 => true, + 6 => true + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #0000ff;', + 2 => 'color: #0000ff;', + 3 => 'color: #0000dd;', + 4 => 'color: #0000ff;', + 5 => 'color: #4000dd;', + 6 => 'color: #4000dd;' + ), + 'COMMENTS' => array( + 1 => 'color: #666666;', + 2 => 'color: #339900;', + 3 => 'color: #FF0000;', + 4 => 'color: #FF0000;', + 'MULTI' => 'color: #ff0000; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;', + 1 => 'color: #000099; font-weight: bold;', + 2 => 'color: #660099; font-weight: bold;', + 3 => 'color: #660099; font-weight: bold;', + 4 => 'color: #660099; font-weight: bold;', + 5 => 'color: #006699; font-weight: bold;', + 'HARD' => '', + ), + 'BRACKETS' => array( + 0 => 'color: #008000;' + ), + 'STRINGS' => array( + 0 => 'color: #FF0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #0000dd;', + GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;', + GESHI_NUMBER_OCT_PREFIX => 'color: #208080;', + GESHI_NUMBER_HEX_PREFIX => 'color: #208080;', + GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;', + GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI => 'color:#800080;' + ), + 'METHODS' => array( + 1 => 'color: #007788;', + 2 => 'color: #007788;' + ), + 'SYMBOLS' => array( + 0 => 'color: #008000;', + 1 => 'color: #000080;', + 2 => 'color: #000040;', + 3 => 'color: #000040;', + 4 => 'color: #008080;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => 'http://www.google.com/search?q={FNAMEL}+msdn.microsoft.com', + 6 => 'http://www.google.com/search?q={FNAMEL}+msdn.microsoft.com' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.', + 2 => '::' + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4, + 'PARSER_CONTROL' => array( + 'KEYWORDS' => array( + 'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#])", + 'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_\|%\\-])" + ) + ) +); diff --git a/inc/geshi/cpp.php b/vendor/easybook/geshi/geshi/cpp.php old mode 100644 new mode 100755 similarity index 96% rename from inc/geshi/cpp.php rename to vendor/easybook/geshi/geshi/cpp.php index 42ab311cc534202e3e2d56a98d7630cb320b68da..52e4be6ea1619334e1a7ada135b02eb5cfd8fa82 --- a/inc/geshi/cpp.php +++ b/vendor/easybook/geshi/geshi/cpp.php @@ -56,14 +56,18 @@ $language_data = array ( //Multiline-continued single-line comments 1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m', //Multiline-continued preprocessor define - 2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m' + 2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m', + //C++ 11 string literal extensions + 3 => '/(?:L|u8?|U)(?=")/', + //C++ 11 string literal extensions (raw) + 4 => '/R"([^()\s\\\\]*)\((?:(?!\)\\1").)*\)\\1"/ms' ), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array("'", '"'), 'ESCAPE_CHAR' => '', 'ESCAPE_REGEXP' => array( //Simple Single Char Escapes - 1 => "#\\\\[abfnrtv\\\'\"?\n]#i", + 1 => "#\\\\[abfnrtv\\\'\"?\n]#", //Hexadecimal Char Specs 2 => "#\\\\x[\da-fA-F]{2}#", //Hexadecimal Char Specs @@ -167,6 +171,8 @@ $language_data = array ( 'COMMENTS' => array( 1 => 'color: #666666;', 2 => 'color: #339900;', + 3 => 'color: #FF0000;', + 4 => 'color: #FF0000;', 'MULTI' => 'color: #ff0000; font-style: italic;' ), 'ESCAPE_CHAR' => array( diff --git a/inc/geshi/csharp.php b/vendor/easybook/geshi/geshi/csharp.php old mode 100644 new mode 100755 similarity index 96% rename from inc/geshi/csharp.php rename to vendor/easybook/geshi/geshi/csharp.php index 26024e91ab12ed89df7beaf35a3097c465f85db1..a73d01d6b435efa263b5607dfc8e19f4b9e73fa0 --- a/inc/geshi/csharp.php +++ b/vendor/easybook/geshi/geshi/csharp.php @@ -12,6 +12,8 @@ * * CHANGES * ------- + * 2015/04/14 + * - Added C# 5.0 and 6.0 missing keywords and #pragma directive * 2012/06/18 (1.0.8.11) * - Added missing keywords (Christian Stelzmann) * 2009/04/03 (1.0.8.6) @@ -62,7 +64,8 @@ $language_data = array ( 'ESCAPE_CHAR' => '\\', 'KEYWORDS' => array( 1 => array( - 'abstract', 'add', 'as', 'base', 'break', 'by', 'case', 'catch', 'const', 'continue', + 'abstract', 'add', 'as', 'async', 'await', 'base', + 'break', 'by', 'case', 'catch', 'const', 'continue', 'default', 'do', 'else', 'event', 'explicit', 'extern', 'false', 'finally', 'fixed', 'for', 'foreach', 'from', 'get', 'goto', 'group', 'if', 'implicit', 'in', 'into', 'internal', 'join', 'lock', 'namespace', 'null', @@ -74,10 +77,10 @@ $language_data = array ( ), 2 => array( '#elif', '#endif', '#endregion', '#else', '#error', '#define', '#if', - '#line', '#region', '#undef', '#warning' + '#line', '#pragma', '#region', '#undef', '#warning' ), 3 => array( - 'checked', 'is', 'new', 'sizeof', 'typeof', 'unchecked' + 'checked', 'is', 'new', 'nameof', 'sizeof', 'typeof', 'unchecked' ), 4 => array( 'bool', 'byte', 'char', 'class', 'decimal', 'delegate', 'double', @@ -253,4 +256,4 @@ $language_data = array ( ) ); -?> \ No newline at end of file +?> diff --git a/inc/geshi/css.php b/vendor/easybook/geshi/geshi/css.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/css.php rename to vendor/easybook/geshi/geshi/css.php diff --git a/inc/geshi/cuesheet.php b/vendor/easybook/geshi/geshi/cuesheet.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/cuesheet.php rename to vendor/easybook/geshi/geshi/cuesheet.php diff --git a/inc/geshi/d.php b/vendor/easybook/geshi/geshi/d.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/d.php rename to vendor/easybook/geshi/geshi/d.php diff --git a/vendor/easybook/geshi/geshi/dart.php b/vendor/easybook/geshi/geshi/dart.php new file mode 100644 index 0000000000000000000000000000000000000000..932e13e874a72411026dbb1bb8022a3f0b1180bd --- /dev/null +++ b/vendor/easybook/geshi/geshi/dart.php @@ -0,0 +1,159 @@ +<?php +/************************************************************************************* + * dart.php + * -------- + * Author: Edward Hart (edward.dan.hart@gmail.com) + * Copyright: (c) 2013 Edward Hart + * Release Version: 1.0.8.12 + * Date Started: 2013/10/25 + * + * Dart language file for GeSHi. + * + * CHANGES + * ------- + * 2013/10/25 + * - First Release + * + * TODO (updated 2013/10/25) + * ------------------------- + * - Highlight standard library types. + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array( + 'LANG_NAME' => 'Dart', + + 'COMMENT_SINGLE' => array('//'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'COMMENT_REGEXP' => array(), + + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'ESCAPE_REGEXP' => array( + //Simple Single Char Escapes + 1 => "#\\\\[\\\\nrfbtv\'\"?\n]#i", + //Hexadecimal Char Specs + 2 => "#\\\\x[\da-fA-F]{2}#", + //Hexadecimal Char Specs + 3 => "#\\\\u[\da-fA-F]{4}#", + 4 => "#\\\\u\\{[\da-fA-F]*\\}#" + ), + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | + GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI | + GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO, + + 'KEYWORDS' => array( + 1 => array( + 'abstract', 'as', 'assert', 'break', 'case', 'catch', 'class', + 'const', 'continue', 'default', 'do', 'dynamic', 'else', 'export', + 'extends', 'external', 'factory', 'false', 'final', 'finally', + 'for', 'get', 'if', 'implements', 'import', 'in', 'is', 'library', + 'new', 'null', 'operator', 'part', 'return', 'set', 'static', + 'super', 'switch', 'this', 'throw', 'true', 'try', 'typedef', 'var', + 'while', 'with' + ), + 2 => array( + 'double', 'bool', 'int', 'num', 'void' + ), + ), + + 'SYMBOLS' => array( + 0 => array('(', ')', '{', '}', '[', ']'), + 1 => array('+', '-', '*', '/', '%', '~'), + 2 => array('&', '|', '^'), + 3 => array('=', '!', '<', '>'), + 4 => array('?', ':'), + 5 => array('..'), + 6 => array(';', ',') + ), + + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + ), + + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'font-weight: bold;', + 2 => 'color: #445588; font-weight: bold;' + ), + 'COMMENTS' => array( + 0 => 'color: #999988; font-style: italic;', + 'MULTI' => 'color: #999988; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;', + 1 => 'color: #000099; font-weight: bold;', + 2 => 'color: #660099; font-weight: bold;', + 3 => 'color: #660099; font-weight: bold;', + 4 => 'color: #660099; font-weight: bold;', + 5 => 'color: #006699; font-weight: bold;', + 'HARD' => '' + ), + 'STRINGS' => array( + 0 => 'color: #d14;' + ), + 'NUMBERS' => array( + 0 => 'color: #009999;', + GESHI_NUMBER_HEX_PREFIX => 'color: #208080;', + GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;', + GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI => 'color:#800080;' + ), + 'BRACKETS' => array(''), + 'METHODS' => array( + 1 => 'color: #006633;' + ), + 'SYMBOLS' => array( + 0 => 'font-weight: bold;', + 1 => 'font-weight: bold;', + 2 => 'font-weight: bold;', + 3 => 'font-weight: bold;', + 4 => 'font-weight: bold;', + 5 => 'font-weight: bold;', + 6 => 'font-weight: bold;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.' + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4 +); diff --git a/inc/geshi/dcl.php b/vendor/easybook/geshi/geshi/dcl.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/dcl.php rename to vendor/easybook/geshi/geshi/dcl.php diff --git a/inc/geshi/dcpu16.php b/vendor/easybook/geshi/geshi/dcpu16.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/dcpu16.php rename to vendor/easybook/geshi/geshi/dcpu16.php diff --git a/inc/geshi/dcs.php b/vendor/easybook/geshi/geshi/dcs.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/dcs.php rename to vendor/easybook/geshi/geshi/dcs.php diff --git a/inc/geshi/delphi.php b/vendor/easybook/geshi/geshi/delphi.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/delphi.php rename to vendor/easybook/geshi/geshi/delphi.php index d5596e0cd047f738cd7d508a9aeed79f8a70867d..34d0fd7bffbfae98662fc4069ed420fafc767863 --- a/inc/geshi/delphi.php +++ b/vendor/easybook/geshi/geshi/delphi.php @@ -297,5 +297,3 @@ $language_data = array ( ) ) ); - -?> diff --git a/inc/geshi/diff.php b/vendor/easybook/geshi/geshi/diff.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/diff.php rename to vendor/easybook/geshi/geshi/diff.php diff --git a/inc/geshi/div.php b/vendor/easybook/geshi/geshi/div.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/div.php rename to vendor/easybook/geshi/geshi/div.php index aa11795ac8313e743b2835b179a64e99891b1b23..fb8a72a16e26a259a180962b789accc1e8fadc18 --- a/inc/geshi/div.php +++ b/vendor/easybook/geshi/geshi/div.php @@ -122,5 +122,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/dos.php b/vendor/easybook/geshi/geshi/dos.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/dos.php rename to vendor/easybook/geshi/geshi/dos.php diff --git a/inc/geshi/dot.php b/vendor/easybook/geshi/geshi/dot.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/dot.php rename to vendor/easybook/geshi/geshi/dot.php diff --git a/inc/geshi/e.php b/vendor/easybook/geshi/geshi/e.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/e.php rename to vendor/easybook/geshi/geshi/e.php diff --git a/inc/geshi/ecmascript.php b/vendor/easybook/geshi/geshi/ecmascript.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/ecmascript.php rename to vendor/easybook/geshi/geshi/ecmascript.php diff --git a/inc/geshi/eiffel.php b/vendor/easybook/geshi/geshi/eiffel.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/eiffel.php rename to vendor/easybook/geshi/geshi/eiffel.php index baa13c31900553906951eb3db9941d19c5bace27..807d23f944e7acab772ab701873eb4713d08882e --- a/inc/geshi/eiffel.php +++ b/vendor/easybook/geshi/geshi/eiffel.php @@ -391,5 +391,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/email.php b/vendor/easybook/geshi/geshi/email.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/email.php rename to vendor/easybook/geshi/geshi/email.php diff --git a/inc/geshi/epc.php b/vendor/easybook/geshi/geshi/epc.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/epc.php rename to vendor/easybook/geshi/geshi/epc.php diff --git a/inc/geshi/erlang.php b/vendor/easybook/geshi/geshi/erlang.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/erlang.php rename to vendor/easybook/geshi/geshi/erlang.php diff --git a/inc/geshi/euphoria.php b/vendor/easybook/geshi/geshi/euphoria.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/euphoria.php rename to vendor/easybook/geshi/geshi/euphoria.php diff --git a/vendor/easybook/geshi/geshi/ezt.php b/vendor/easybook/geshi/geshi/ezt.php new file mode 100644 index 0000000000000000000000000000000000000000..74d8d520456c6bae99416ae4a597982281aa1f81 --- /dev/null +++ b/vendor/easybook/geshi/geshi/ezt.php @@ -0,0 +1,134 @@ +<?php +/************************************************************************************* + * ezt.php + * ----------- + * Author: Ramesh Vishveshwar (ramesh.vishveshwar@gmail.com) + * Copyright: (c) 2012 Ramesh Vishveshwar (http://thecodeisclear.in) + * Release Version: 1.0.8.11 + * Date Started: 2012/09/01 + * + * Easytrieve language file for GeSHi. + * + * CHANGES + * ------- + * 2012/09/22 (1.0.0) + * - First Release + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'EZT', + 'COMMENT_SINGLE' => array(), + 'COMMENT_MULTI' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_UPPER, + 'COMMENT_REGEXP' => array( + // First character of the line is an asterisk. Rest of the line is spaces/null + 0 => '/\*(\s|\D)?(\n)/', + // Asterisk followed by any character & then a non numeric character. + // This is to prevent expressions such as 25 * 4 from being marked as a comment + // Note: 25*4 - 100 will mark *4 - 100 as a comment. Pls. space out expressions + // In any case, 25*4 will result in an Easytrieve error + 1 => '/\*.([^0-9\n])+.*(\n)/' + ), + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + 1 => array( + 'CONTROL','DEFINE','DISPLAY','DO','ELSE','END-DO','END-IF', + 'END-PROC','FILE','GET','GOTO','HEADING','IF','JOB','LINE', + 'PARM','PERFORM','POINT','PRINT','PROC','PUT','READ','RECORD', + 'REPORT','RETRIEVE','SEARCH','SELECT','SEQUENCE','SORT','STOP', + 'TITLE','WRITE' + ), + // Procedure Keywords (Names of specific procedures) + 2 => array ( + 'AFTER-BREAK','AFTER-LINE','BEFORE-BREAK','BEFORE-LINE', + 'ENDPAGE','REPORT-INPUT','TERMINATION', + ), + // Macro names, Parameters + 3 => array ( + 'COMPILE','CONCAT','DESC','GETDATE','MASK','PUNCH', + 'VALUE','SYNTAX','NEWPAGE','SKIP','COL','TALLY', + 'WITH' + ) + ), + 'SYMBOLS' => array( + '(',')','=','&',',','*','>','<','%' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false + //4 => false, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #FF0000;', + 2 => 'color: #21A502;', + 3 => 'color: #FF00FF;' + ), + 'COMMENTS' => array( + 0 => 'color: #0000FF; font-style: italic;', + 1 => 'color: #0000FF; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => '' + ), + 'BRACKETS' => array( + 0 => 'color: #FF7400;' + ), + 'STRINGS' => array( + 0 => 'color: #66CC66;' + ), + 'NUMBERS' => array( + 0 => 'color: #736205;' + ), + 'METHODS' => array( + 1 => '', + 2 => '' + ), + 'SYMBOLS' => array( + 0 => 'color: #FF7400;' + ), + 'REGEXPS' => array( + 0 => 'color: #E01B6A;' + ), + 'SCRIPT' => array( + 0 => '' + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '' + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array(), + 'REGEXPS' => array( + // We are trying to highlight Macro names here which preceded by % + 0 => '(%)([a-zA-Z0-9])+(\s|\n)' + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array() +); diff --git a/inc/geshi/f1.php b/vendor/easybook/geshi/geshi/f1.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/f1.php rename to vendor/easybook/geshi/geshi/f1.php diff --git a/inc/geshi/falcon.php b/vendor/easybook/geshi/geshi/falcon.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/falcon.php rename to vendor/easybook/geshi/geshi/falcon.php diff --git a/inc/geshi/fo.php b/vendor/easybook/geshi/geshi/fo.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/fo.php rename to vendor/easybook/geshi/geshi/fo.php diff --git a/inc/geshi/fortran.php b/vendor/easybook/geshi/geshi/fortran.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/fortran.php rename to vendor/easybook/geshi/geshi/fortran.php index c21ccd19274e740c8fd2a20df69eb69523742ad7..a77b6e7faebcef7ee84361035c4b44eb6440efa0 --- a/inc/geshi/fortran.php +++ b/vendor/easybook/geshi/geshi/fortran.php @@ -156,5 +156,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK'=> array( ) ); - -?> diff --git a/inc/geshi/freebasic.php b/vendor/easybook/geshi/geshi/freebasic.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/freebasic.php rename to vendor/easybook/geshi/geshi/freebasic.php index b23f39bc7686f1bde75e5a20db4af4ffc83b50bd..c5426449664b9fa706647ca20e066c0deaebb980 --- a/inc/geshi/freebasic.php +++ b/vendor/easybook/geshi/geshi/freebasic.php @@ -137,5 +137,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/freeswitch.php b/vendor/easybook/geshi/geshi/freeswitch.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/freeswitch.php rename to vendor/easybook/geshi/geshi/freeswitch.php index c6fff2767e1d359437453d560a7fd589b5a74cae..5412e6d69fec2ebdafaf7f74f739fccf2bf37cec --- a/inc/geshi/freeswitch.php +++ b/vendor/easybook/geshi/geshi/freeswitch.php @@ -164,5 +164,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/fsharp.php b/vendor/easybook/geshi/geshi/fsharp.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/fsharp.php rename to vendor/easybook/geshi/geshi/fsharp.php diff --git a/inc/geshi/gambas.php b/vendor/easybook/geshi/geshi/gambas.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/gambas.php rename to vendor/easybook/geshi/geshi/gambas.php diff --git a/inc/geshi/gdb.php b/vendor/easybook/geshi/geshi/gdb.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/gdb.php rename to vendor/easybook/geshi/geshi/gdb.php index 0a5e32c303e30ef3ba076d0849b22e397a3afcfa..9f63d25b0951c999dc318d6c801dcce53b22420d --- a/inc/geshi/gdb.php +++ b/vendor/easybook/geshi/geshi/gdb.php @@ -194,5 +194,3 @@ $language_data = array ( ); // kate: replace-tabs on; indent-width 4; - -?> diff --git a/inc/geshi/genero.php b/vendor/easybook/geshi/geshi/genero.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/genero.php rename to vendor/easybook/geshi/geshi/genero.php index e1b20b3e8007224b84e6ff69202fb1ef13337c4b..2ab24855f469f4e00725d29be7066d08ef923f72 --- a/inc/geshi/genero.php +++ b/vendor/easybook/geshi/geshi/genero.php @@ -459,5 +459,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/genie.php b/vendor/easybook/geshi/geshi/genie.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/genie.php rename to vendor/easybook/geshi/geshi/genie.php index db05ec062647a43c92f615d716d05fa070326da4..3bab1b7b773cb8e0aac6b1882d1ab233c14ef931 --- a/inc/geshi/genie.php +++ b/vendor/easybook/geshi/geshi/genie.php @@ -153,5 +153,3 @@ $language_data = array ( ) ) ); - -?> diff --git a/inc/geshi/gettext.php b/vendor/easybook/geshi/geshi/gettext.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/gettext.php rename to vendor/easybook/geshi/geshi/gettext.php index 80b531c109bc2b3416b19efd68b9d4f3294a846d..eb928bf6cbae57d2213e9ea62fbfe510a3d414fc --- a/inc/geshi/gettext.php +++ b/vendor/easybook/geshi/geshi/gettext.php @@ -93,5 +93,3 @@ $language_data = array ( ), 'TAB_WIDTH' => 4, ); - -?> diff --git a/inc/geshi/glsl.php b/vendor/easybook/geshi/geshi/glsl.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/glsl.php rename to vendor/easybook/geshi/geshi/glsl.php diff --git a/inc/geshi/gml.php b/vendor/easybook/geshi/geshi/gml.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/gml.php rename to vendor/easybook/geshi/geshi/gml.php index 999251b223bf850940a96c002a4179e67a8ac00f..58387b38af3068f6195fdc7c1be252e438cce722 --- a/inc/geshi/gml.php +++ b/vendor/easybook/geshi/geshi/gml.php @@ -502,5 +502,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/gnuplot.php b/vendor/easybook/geshi/geshi/gnuplot.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/gnuplot.php rename to vendor/easybook/geshi/geshi/gnuplot.php diff --git a/inc/geshi/go.php b/vendor/easybook/geshi/geshi/go.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/go.php rename to vendor/easybook/geshi/geshi/go.php diff --git a/inc/geshi/groovy.php b/vendor/easybook/geshi/geshi/groovy.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/groovy.php rename to vendor/easybook/geshi/geshi/groovy.php diff --git a/inc/geshi/gwbasic.php b/vendor/easybook/geshi/geshi/gwbasic.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/gwbasic.php rename to vendor/easybook/geshi/geshi/gwbasic.php diff --git a/inc/geshi/haskell.php b/vendor/easybook/geshi/geshi/haskell.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/haskell.php rename to vendor/easybook/geshi/geshi/haskell.php diff --git a/inc/geshi/haxe.php b/vendor/easybook/geshi/geshi/haxe.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/haxe.php rename to vendor/easybook/geshi/geshi/haxe.php diff --git a/inc/geshi/hicest.php b/vendor/easybook/geshi/geshi/hicest.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/hicest.php rename to vendor/easybook/geshi/geshi/hicest.php diff --git a/inc/geshi/hq9plus.php b/vendor/easybook/geshi/geshi/hq9plus.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/hq9plus.php rename to vendor/easybook/geshi/geshi/hq9plus.php index 7ba1a73c1c25f788b98ebc9ec345f47139d000a7..5b62589cc47f9f204e9a8ff707bcd0b6d9744700 --- a/inc/geshi/hq9plus.php +++ b/vendor/easybook/geshi/geshi/hq9plus.php @@ -100,5 +100,3 @@ $language_data = array ( ) ) ); - -?> diff --git a/inc/geshi/html4strict.php b/vendor/easybook/geshi/geshi/html4strict.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/html4strict.php rename to vendor/easybook/geshi/geshi/html4strict.php diff --git a/inc/geshi/html5.php b/vendor/easybook/geshi/geshi/html5.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/html5.php rename to vendor/easybook/geshi/geshi/html5.php diff --git a/inc/geshi/icon.php b/vendor/easybook/geshi/geshi/icon.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/icon.php rename to vendor/easybook/geshi/geshi/icon.php diff --git a/inc/geshi/idl.php b/vendor/easybook/geshi/geshi/idl.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/idl.php rename to vendor/easybook/geshi/geshi/idl.php index 69bd14ff4fedb4694ba25e3e14ad908ec684f451..a2b6f57e1c5f68b775033adc7728e46f33a58a5f --- a/inc/geshi/idl.php +++ b/vendor/easybook/geshi/geshi/idl.php @@ -119,5 +119,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/ini.php b/vendor/easybook/geshi/geshi/ini.php old mode 100644 new mode 100755 similarity index 97% rename from inc/geshi/ini.php rename to vendor/easybook/geshi/geshi/ini.php index 8e6ca76dbd08bbb1bd13d8bfd880bb9dc49905fb..f0a8edeaa7020fd805517b682d35253b3fddf0a5 --- a/inc/geshi/ini.php +++ b/vendor/easybook/geshi/geshi/ini.php @@ -44,8 +44,9 @@ $language_data = array ( 'LANG_NAME' => 'INI', - 'COMMENT_SINGLE' => array(0 => ';'), + 'COMMENT_SINGLE' => array(), 'COMMENT_MULTI' => array(), + 'COMMENT_REGEXP' => array(0 => '/^\s*;.*?$/m'), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array('"'), 'ESCAPE_CHAR' => '', @@ -124,5 +125,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/inno.php b/vendor/easybook/geshi/geshi/inno.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/inno.php rename to vendor/easybook/geshi/geshi/inno.php index 1e2ee8befbdb890e7d348c6e1205da47294508bb..192054cf1b1d611e904621ad699cdf4851322357 --- a/inc/geshi/inno.php +++ b/vendor/easybook/geshi/geshi/inno.php @@ -208,5 +208,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/intercal.php b/vendor/easybook/geshi/geshi/intercal.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/intercal.php rename to vendor/easybook/geshi/geshi/intercal.php diff --git a/inc/geshi/io.php b/vendor/easybook/geshi/geshi/io.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/io.php rename to vendor/easybook/geshi/geshi/io.php index 51fad43a715ee17d058ea5fb1b441d45b0642777..d23984e8f518bee01990ada35aac8ce99d420878 --- a/inc/geshi/io.php +++ b/vendor/easybook/geshi/geshi/io.php @@ -134,5 +134,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/vendor/easybook/geshi/geshi/ispfpanel.php b/vendor/easybook/geshi/geshi/ispfpanel.php new file mode 100644 index 0000000000000000000000000000000000000000..c02897850112c2eb5d4c559e844beb16a8ce21f9 --- /dev/null +++ b/vendor/easybook/geshi/geshi/ispfpanel.php @@ -0,0 +1,165 @@ +<?php +/************************************************************************************* + * ispfpanel.php + * ------------- + * Author: Ramesh Vishveshwar (ramesh.vishveshwar@gmail.com) + * Copyright: (c) 2012 Ramesh Vishveshwar (http://thecodeisclear.in) + * Release Version: 1.0.8.11 + * Date Started: 2012/09/18 + * + * ISPF Panel Definition (MVS) language file for GeSHi. + * + * CHANGES + * ------- + * 2011/09/22 (1.0.0) + * - First Release + * + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'ISPF Panel', + 'COMMENT_SINGLE' => array(), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'CASE_KEYWORDS' => GESHI_CAPS_UPPER, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + // Panel Definition Statements + 1 => array( + ')CCSID',')PANEL',')ATTR',')ABC',')ABCINIT',')ABCPROC',')BODY',')MODEL', + ')AREA',')INIT',')REINIT',')PROC',')FIELD',')HELP',')LIST',')PNTS',')END' + ), + // File-Tailoring Skeletons + 2 => array ( + ')DEFAULT',')BLANK', ')CM', ')DO', ')DOT', ')ELSE', ')ENDSEL', + ')ENDDO', ')ENDDOT', ')IF', ')IM', ')ITERATE', ')LEAVE', ')NOP', ')SEL', + ')SET', ')TB', ')TBA' + ), + // Control Variables + 3 => array ( + '.ALARM','.ATTR','.ATTRCHAR','.AUTOSEL','.CSRPOS','.CSRROW','.CURSOR','.HELP', + '.HHELP','.KANA','.MSG','.NRET','.PFKEY','.RESP','.TRAIL','.ZVARS' + ), + // Keywords + 4 => array ( + 'WINDOW','ALARM','ATTN','BARRIER','HILITE','CAPS', + 'CKBOX','CLEAR','CMD','COLOR','COMBO','CSRGRP','CUADYN', + 'SKIP','INTENS','AREA','EXTEND', + 'DESC','ASIS','VGET','VPUT','JUST','BATSCRD','BATSCRW', + 'BDBCS','BDISPMAX','BIT','BKGRND','BREDIMAX','PAD','PADC', + 'PAS','CHINESES','CHINESET','DANISH','DATAMOD','DDLIST', + 'DEPTH','DUMP','ENGLISH','ERROR','EXIT','EXPAND','FIELD', + 'FORMAT','FRENCH','GE','GERMAN','IMAGE','IND','TYPE', + 'ITALIAN','JAPANESE','KOREAN','LCOL','LEN','LIND','LISTBOX', + 'MODE','NEST','NOJUMP','NOKANA','NUMERIC','OUTLINE','PARM', + 'PGM','PORTUGESE','RADIO','RCOL','REP','RIND','ROWS', + 'SCALE','SCROLL','SFIHDR','SGERMAN','SIND','SPANISH', + 'UPPERENG','WIDTH' + ), + // Parameters + 5 => array ( + 'ADDPOP','ALPHA','ALPHAB','DYNAMIC','SCRL', + 'CCSID','COMMAND','DSNAME','DSNAMEF','DSNAMEFM', + 'DSNAMEPQ','DSNAMEQ','EBCDIC','ENBLDUMP','ENUM',// 'EXTEND', + 'FI','FILEID','FRAME','GUI','GUISCRD','GUISCRW','HEX', + 'HIGH','IDATE','IN','INCLUDE','INPUT','ITIME','JDATE', + 'JSTD','KEYLIST','LANG','LEFT','LIST','LISTV','LISTVX', + 'LISTX','LMSG','LOGO','LOW','MIX','NAME','NAMEF','NB', + 'NEWAPPL','NEWPOOL','NOCHECK','NOLOGO','NON','NONBLANK', + 'NULLS','NUM','OFF','ON','OPT','OUT','OUTPUT','PANEL', + /* 'PGM',*/'PICT','PICTN','POSITION','TBDISPL','PROFILE', + 'QUERY','RANGE','REVERSE','RIGHT','SHARED','SMSG', + 'STDDATE','STDTIME','TERMSTAT','TERMTRAC','TEST', + 'TESTX','TEXT','TRACE','TRACEX','USCORE','USER', + 'USERMOD','WSCMD','WSCMDV' + ), + ), + 'SYMBOLS' => array( + '(',')','=','&',',','*','#','+','&','%','_','-','@','!' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => false, + 5 => false + ), + 'STYLES' => array( + 'BKGROUND' => 'background-color: #000000; color: #00FFFF;', + 'KEYWORDS' => array( + 1 => 'color: #FF0000;', + 2 => 'color: #21A502;', + 3 => 'color: #FF00FF;', + 4 => 'color: #876C00;', + 5 => 'color: #00FF00;' + ), + 'COMMENTS' => array( + 0 => 'color: #002EB8; font-style: italic;', + //1 => 'color: #002EB8; font-style: italic;', + //2 => 'color: #002EB8; font-style: italic;', + 'MULTI' => 'color: #002EB8; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => '' + ), + 'BRACKETS' => array( + 0 => 'color: #FF7400;' + ), + 'STRINGS' => array( + 0 => 'color: #700000;' + ), + 'NUMBERS' => array( + 0 => 'color: #FF6633;' + ), + 'METHODS' => array( + 1 => '', + 2 => '' + ), + 'SYMBOLS' => array( + 0 => 'color: #FF7400;' + ), + 'REGEXPS' => array( + 0 => 'color: #6B1F6B;' + ), + 'SCRIPT' => array( + 0 => '' + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '' + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array(), + 'REGEXPS' => array( + // Variables Defined in the Panel + 0 => '&[a-zA-Z]{1,8}[0-9]{0,}', + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array() +); diff --git a/inc/geshi/j.php b/vendor/easybook/geshi/geshi/j.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/j.php rename to vendor/easybook/geshi/geshi/j.php index 5565bb499de70b298b134fd695de6f2977dfcd7b..fe8cb11a63876eb8274f6ba48d40db93158d2da3 --- a/inc/geshi/j.php +++ b/vendor/easybook/geshi/geshi/j.php @@ -186,5 +186,3 @@ $language_data = array( ) ) ); - -?> diff --git a/inc/geshi/java.php b/vendor/easybook/geshi/geshi/java.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/java.php rename to vendor/easybook/geshi/geshi/java.php index 652b8ddd382c1001e7a8f79a8d6b5fb00bcb1525..f384c4d841af8331fe5ae04c5ff6dedd3e373c8a --- a/inc/geshi/java.php +++ b/vendor/easybook/geshi/geshi/java.php @@ -979,5 +979,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/java5.php b/vendor/easybook/geshi/geshi/java5.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/java5.php rename to vendor/easybook/geshi/geshi/java5.php index af16bd1e63760d779e449959a0e2c8746a6746a0..5d74d988b4632275467f4b43a70acbf288660ac2 --- a/inc/geshi/java5.php +++ b/vendor/easybook/geshi/geshi/java5.php @@ -1033,5 +1033,3 @@ $language_data = array ( ) ) ); - -?> diff --git a/inc/geshi/javascript.php b/vendor/easybook/geshi/geshi/javascript.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/javascript.php rename to vendor/easybook/geshi/geshi/javascript.php diff --git a/vendor/easybook/geshi/geshi/jcl.php b/vendor/easybook/geshi/geshi/jcl.php new file mode 100644 index 0000000000000000000000000000000000000000..7d9c548257d43cf1a947cf06044a97e9b2ef91e2 --- /dev/null +++ b/vendor/easybook/geshi/geshi/jcl.php @@ -0,0 +1,155 @@ +<?php +/************************************************************************************* + * jcl.php + * ----------- + * Author: Ramesh Vishveshwar (ramesh.vishveshwar@gmail.com) + * Copyright: (c) 2012 Ramesh Vishveshwar (http://thecodeisclear.in) + * Release Version: 1.0.8.11 + * Date Started: 2011/09/16 + * + * JCL (MVS), DFSORT, IDCAMS language file for GeSHi. + * + * CHANGES + * ------- + * 2011/09/16 (1.0.0) + * - Internal Release (for own blog/testing) + * 2012/09/22 (1.0.1) + * - Released with support for DFSORT, ICETOOL, IDCAMS + * - Added support for Symbolic variables in JCL + * - Added support for TWS OPC variables + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'JCL', + 'COMMENT_SINGLE' => array(), + 'COMMENT_MULTI' => array(), + 'COMMENT_REGEXP' => array( + // Comments identified using REGEX + // Comments start with //* but should not be followed by % (TWS) or + (some JES3 stmts) + 3 => "\/\/\*[^%](.*?)(\n)" + ), + 'CASE_KEYWORDS' => GESHI_CAPS_UPPER, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + 1 => array( + 'COMMAND', 'CNTL', 'DD', 'ENDCNTL', 'EXEC', 'IF', 'THEN', 'ELSE', + 'ENDIF', 'JCLLIB', 'JOB', 'OUTPUT', 'PEND', + 'PROC', 'SET', 'XMIT' + ), + 2 => array ( + 'PGM','CLASS','NOTIFY','MSGCLASS','DSN','KEYLEN','LABEL','LIKE', + 'RECFM','LRECL','DCB','DSORG','BLKSIZE','SPACE','STORCLAS', + 'DUMMY','DYNAM','AVGREC','BURST','DISP','UNIT','VOLUME', + 'MSGLEVEL','REGION' + ), + // Keywords set 3: DFSORT, ICETOOL + 3 => array ( + 'ALTSEQ','DEBUG','END','INCLUDE','INREC','MERGE','MODS','OMIT', + 'OPTION','OUTFIL','OUTREC','RECORD','SORT','SUM', + 'COPY','COUNT','DEFAULTS','DISPLAY','MODE','OCCUR','RANGE', + 'SELECT','STATS','UNIQUE','VERIFY' + ), + // Keywords set 4: IDCAMS + 4 => array ( + 'ALTER','BLDINDEX','CNVTCAT','DEFINE','ALIAS','ALTERNATEINDEX', + 'CLUSTER','GENERATIONDATAGROUP','GDG','NONVSAM','PAGESPACE','PATH', + /* 'SPACE',*/'USERCATALOG','DELETE','EXAMINE','EXPORT','DISCONNECT', + 'EXPORTRA','IMPORT','CONNECT','IMPORTRA','LISTCAT','LISTCRA', + 'PRINT','REPRO','RESETCAT'//,'VERIFY' + ) + ), + 'SYMBOLS' => array( + '(',')','=',',','>','<' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #FF0000;', + 2 => 'color: #21A502;', + 3 => 'color: #FF00FF;', + 4 => 'color: #876C00;' + ), + 'COMMENTS' => array( + 0 => 'color: #0000FF;', + //1 => 'color: #0000FF;', + //2 => 'color: #0000FF;', + 3 => 'color: #0000FF;' + ), + 'ESCAPE_CHAR' => array( + 0 => '' + ), + 'BRACKETS' => array( + 0 => 'color: #FF7400;' + ), + 'STRINGS' => array( + 0 => 'color: #66CC66;' + ), + 'NUMBERS' => array( + 0 => 'color: #336633;' + ), + 'METHODS' => array( + 1 => '', + 2 => '' + ), + 'SYMBOLS' => array( + 0 => 'color: #FF7400;' + ), + 'REGEXPS' => array( + 0 => 'color: #6B1F6B;', + 1 => 'color: #6B1F6B;', + 2 => 'color: #6B1F6B;' + ), + 'SCRIPT' => array( + 0 => '' + ) + ), + 'URLS' => array( + 1 => '', + // JCL book at IBM Bookshelf is http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/handheld/Connected/BOOKS/IEA2B680/CONTENTS?SHELF=&DT=20080604022956#3.1 + 2 => '', + 3 => '', + 4 => '' + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array(), + 'REGEXPS' => array( + // The following regular expressions solves three purposes + // - Identify Temp Variables in JCL (e.g. &&TEMP) + // - Symbolic variables in JCL (e.g. &SYSUID) + // - TWS OPC Variables (e.g. %OPC) + // Thanks to Simon for pointing me to this + 0 => '&&[a-zA-Z]{1,8}[0-9]{0,}', + 1 => '&[a-zA-Z]{1,8}[0-9]{0,}', + 2 => '&|\?|%[a-zA-Z]{1,8}[0-9]{0,}' + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array() +); diff --git a/inc/geshi/jquery.php b/vendor/easybook/geshi/geshi/jquery.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/jquery.php rename to vendor/easybook/geshi/geshi/jquery.php diff --git a/inc/geshi/kixtart.php b/vendor/easybook/geshi/geshi/kixtart.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/kixtart.php rename to vendor/easybook/geshi/geshi/kixtart.php index 5b90919892e391a2c31504c322c784042133d3b7..42ffa42ecd5923a9148fc47d6aa1dbe5b6755787 --- a/inc/geshi/kixtart.php +++ b/vendor/easybook/geshi/geshi/kixtart.php @@ -325,5 +325,3 @@ $language_data = array ( ), 'TAB_WIDTH' => 4 ); - -?> diff --git a/inc/geshi/klonec.php b/vendor/easybook/geshi/geshi/klonec.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/klonec.php rename to vendor/easybook/geshi/geshi/klonec.php index 5f86e78dca32c0344848825c1bce1def2e0e155d..4831b13b7bc6599ad249a4d29cbc3d1182ba2181 --- a/inc/geshi/klonec.php +++ b/vendor/easybook/geshi/geshi/klonec.php @@ -278,5 +278,3 @@ $language_data = array ( ) ) ); - -?> diff --git a/inc/geshi/klonecpp.php b/vendor/easybook/geshi/geshi/klonecpp.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/klonecpp.php rename to vendor/easybook/geshi/geshi/klonecpp.php index 6564c6b7b805d32de3d28325295b47ee4be140c1..d0368202ddecaeefc0aba2f79c3e871e924d3b93 --- a/inc/geshi/klonecpp.php +++ b/vendor/easybook/geshi/geshi/klonecpp.php @@ -306,5 +306,3 @@ $language_data = array ( ) ) ); - -?> diff --git a/inc/geshi/latex.php b/vendor/easybook/geshi/geshi/latex.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/latex.php rename to vendor/easybook/geshi/geshi/latex.php diff --git a/inc/geshi/lb.php b/vendor/easybook/geshi/geshi/lb.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/lb.php rename to vendor/easybook/geshi/geshi/lb.php diff --git a/inc/geshi/ldif.php b/vendor/easybook/geshi/geshi/ldif.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/ldif.php rename to vendor/easybook/geshi/geshi/ldif.php diff --git a/inc/geshi/lisp.php b/vendor/easybook/geshi/geshi/lisp.php old mode 100644 new mode 100755 similarity index 94% rename from inc/geshi/lisp.php rename to vendor/easybook/geshi/geshi/lisp.php index be823a4052006482e1db83da986a764c27fea0b2..a2301914e0968eea90f6967a7a3a291b9c1d6b7e --- a/inc/geshi/lisp.php +++ b/vendor/easybook/geshi/geshi/lisp.php @@ -3,14 +3,16 @@ * lisp.php * -------- * Author: Roberto Rossi (rsoftware@altervista.org) - * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter - * Release Version: 1.0.8.11 + * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter) + * Release Version: 1.0.8.12 * Date Started: 2004/08/30 * * Generic Lisp language file for GeSHi. * * CHANGES * ------- + * 2013/11/13 (1.0.8.12) + * - Fixed bug where a keyword was highlighted in identifiers (Edward Hart) * 2005/12/9 (1.0.2) * - Added support for :keywords and ::access (Denis Mashkevich) * 2004/11/27 (1.0.1) @@ -135,10 +137,11 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ), 'PARSER_CONTROL' => array( + 'KEYWORDS' => array( + 'DISALLOWED_BEFORE' => '(?<![a-zA-Z0-9-\$_\|\#|^&])', + ), 'OOLANG' => array( 'MATCH_AFTER' => '[a-zA-Z][a-zA-Z0-9_\-]*' ) ) ); - -?> \ No newline at end of file diff --git a/inc/geshi/llvm.php b/vendor/easybook/geshi/geshi/llvm.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/llvm.php rename to vendor/easybook/geshi/geshi/llvm.php diff --git a/inc/geshi/locobasic.php b/vendor/easybook/geshi/geshi/locobasic.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/locobasic.php rename to vendor/easybook/geshi/geshi/locobasic.php diff --git a/inc/geshi/logtalk.php b/vendor/easybook/geshi/geshi/logtalk.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/logtalk.php rename to vendor/easybook/geshi/geshi/logtalk.php diff --git a/inc/geshi/lolcode.php b/vendor/easybook/geshi/geshi/lolcode.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/lolcode.php rename to vendor/easybook/geshi/geshi/lolcode.php diff --git a/inc/geshi/lotusformulas.php b/vendor/easybook/geshi/geshi/lotusformulas.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/lotusformulas.php rename to vendor/easybook/geshi/geshi/lotusformulas.php index 12257d74882079b37a0f14cbacd7a01d92b4a5ec..18d6f7822b563cce5fa63761af204a39ce75d12d --- a/inc/geshi/lotusformulas.php +++ b/vendor/easybook/geshi/geshi/lotusformulas.php @@ -314,5 +314,3 @@ $language_data = array ( ), 'TAB_WIDTH' => 2 ); - -?> diff --git a/inc/geshi/lotusscript.php b/vendor/easybook/geshi/geshi/lotusscript.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/lotusscript.php rename to vendor/easybook/geshi/geshi/lotusscript.php index b8b65f206e9d209908e7a043134d9c4ea32e9877..5d8b6d596af09801c3e91627fe5cfbf6924e3cc8 --- a/inc/geshi/lotusscript.php +++ b/vendor/easybook/geshi/geshi/lotusscript.php @@ -187,5 +187,3 @@ $language_data = array ( ), 'TAB_WIDTH' => 2 ); - -?> diff --git a/inc/geshi/lscript.php b/vendor/easybook/geshi/geshi/lscript.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/lscript.php rename to vendor/easybook/geshi/geshi/lscript.php diff --git a/inc/geshi/lsl2.php b/vendor/easybook/geshi/geshi/lsl2.php old mode 100644 new mode 100755 similarity index 67% rename from inc/geshi/lsl2.php rename to vendor/easybook/geshi/geshi/lsl2.php index f80cf4f29f4c74c9137368a71a21b7cc956969bd..dd0bcce8bf2e30397b52c7becd0900760411fb98 --- a/inc/geshi/lsl2.php +++ b/vendor/easybook/geshi/geshi/lsl2.php @@ -9,15 +9,14 @@ * * Linden Scripting Language (LSL2) language file for GeSHi. * - * Data derived and validated against the following: - * http://wiki.secondlife.com/wiki/LSL_Portal - * http://www.lslwiki.net/lslwiki/wakka.php?wakka=HomePage - * http://rpgstats.com/wiki/index.php?title=Main_Page - * * CHANGES * ------- - * 2009/02/05 (1.0.0) + * 2009-02-05 (1.0.0) * - First Release + * 2013-01-01 + * - Modified by Sei Lisa for compatibility with the geshi.py output module + * which is part of the LSL2 Derived Files Generator, available at: + * http://code.google.com/p/lsl-keywords * * TODO (updated 2009/02/05) * ------------------------- @@ -50,6 +49,7 @@ $language_data = array ( 'QUOTEMARKS' => array('"'), 'ESCAPE_CHAR' => '\\', 'KEYWORDS' => array( +// Generated by LSL2 Derived Files Generator. Database version: 0.0.20130627001; output module version: 0.0.20130619000 1 => array( // flow control 'do', 'else', @@ -65,11 +65,17 @@ $language_data = array ( 'AGENT', 'AGENT_ALWAYS_RUN', 'AGENT_ATTACHMENTS', + 'AGENT_AUTOPILOT', 'AGENT_AWAY', 'AGENT_BUSY', + 'AGENT_BY_LEGACY_NAME', + 'AGENT_BY_USERNAME', 'AGENT_CROUCHING', 'AGENT_FLYING', 'AGENT_IN_AIR', + 'AGENT_LIST_PARCEL', + 'AGENT_LIST_PARCEL_OWNER', + 'AGENT_LIST_REGION', 'AGENT_MOUSELOOK', 'AGENT_ON_OBJECT', 'AGENT_SCRIPTED', @@ -78,6 +84,7 @@ $language_data = array ( 'AGENT_WALKING', 'ALL_SIDES', 'ANIM_ON', + 'ATTACH_AVATAR_CENTER', 'ATTACH_BACK', 'ATTACH_BELLY', 'ATTACH_CHEST', @@ -92,17 +99,18 @@ $language_data = array ( 'ATTACH_HUD_TOP_LEFT', 'ATTACH_HUD_TOP_RIGHT', 'ATTACH_LEAR', + 'ATTACH_LEFT_PEC', 'ATTACH_LEYE', 'ATTACH_LFOOT', 'ATTACH_LHAND', 'ATTACH_LHIP', 'ATTACH_LLARM', 'ATTACH_LLLEG', - 'ATTACH_LPEC', 'ATTACH_LSHOULDER', 'ATTACH_LUARM', 'ATTACH_LULEG', 'ATTACH_MOUTH', + 'ATTACH_NECK', 'ATTACH_NOSE', 'ATTACH_PELVIS', 'ATTACH_REAR', @@ -110,12 +118,15 @@ $language_data = array ( 'ATTACH_RFOOT', 'ATTACH_RHAND', 'ATTACH_RHIP', + 'ATTACH_RIGHT_PEC', 'ATTACH_RLARM', 'ATTACH_RLLEG', - 'ATTACH_RPEC', 'ATTACH_RSHOULDER', 'ATTACH_RUARM', 'ATTACH_RULEG', + 'AVOID_CHARACTERS', + 'AVOID_DYNAMIC_OBSTACLES', + 'AVOID_NONE', 'CAMERA_ACTIVE', 'CAMERA_BEHINDNESS_ANGLE', 'CAMERA_BEHINDNESS_LAG', @@ -134,18 +145,52 @@ $language_data = array ( 'CHANGED_COLOR', 'CHANGED_INVENTORY', 'CHANGED_LINK', + 'CHANGED_MEDIA', 'CHANGED_OWNER', 'CHANGED_REGION', + 'CHANGED_REGION_START', 'CHANGED_SCALE', 'CHANGED_SHAPE', 'CHANGED_TELEPORT', 'CHANGED_TEXTURE', + 'CHARACTER_ACCOUNT_FOR_SKIPPED_FRAMES', + 'CHARACTER_AVOIDANCE_MODE', + 'CHARACTER_CMD_JUMP', + 'CHARACTER_CMD_SMOOTH_STOP', + 'CHARACTER_CMD_STOP', + 'CHARACTER_DESIRED_SPEED', + 'CHARACTER_DESIRED_TURN_SPEED', + 'CHARACTER_LENGTH', + 'CHARACTER_MAX_ACCEL', + 'CHARACTER_MAX_DECEL', + 'CHARACTER_MAX_SPEED', + 'CHARACTER_MAX_TURN_RADIUS', + 'CHARACTER_ORIENTATION', + 'CHARACTER_RADIUS', + 'CHARACTER_STAY_WITHIN_PARCEL', + 'CHARACTER_TYPE', + 'CHARACTER_TYPE_A', + 'CHARACTER_TYPE_B', + 'CHARACTER_TYPE_C', + 'CHARACTER_TYPE_D', + 'CHARACTER_TYPE_NONE', + 'CLICK_ACTION_BUY', 'CLICK_ACTION_NONE', 'CLICK_ACTION_OPEN', 'CLICK_ACTION_OPEN_MEDIA', 'CLICK_ACTION_PAY', + 'CLICK_ACTION_PLAY', 'CLICK_ACTION_SIT', 'CLICK_ACTION_TOUCH', + 'CONTENT_TYPE_ATOM', + 'CONTENT_TYPE_FORM', + 'CONTENT_TYPE_HTML', + 'CONTENT_TYPE_JSON', + 'CONTENT_TYPE_LLSD', + 'CONTENT_TYPE_RSS', + 'CONTENT_TYPE_TEXT', + 'CONTENT_TYPE_XHTML', + 'CONTENT_TYPE_XML', 'CONTROL_BACK', 'CONTROL_DOWN', 'CONTROL_FWD', @@ -160,18 +205,38 @@ $language_data = array ( 'DATA_NAME', 'DATA_ONLINE', 'DATA_PAYINFO', - 'DATA_RATING', 'DATA_SIM_POS', 'DATA_SIM_RATING', 'DATA_SIM_STATUS', 'DEBUG_CHANNEL', 'DEG_TO_RAD', + 'DENSITY', 'EOF', + 'ERR_GENERIC', + 'ERR_MALFORMED_PARAMS', + 'ERR_PARCEL_PERMISSIONS', + 'ERR_RUNTIME_PERMISSIONS', + 'ERR_THROTTLED', + 'ESTATE_ACCESS_ALLOWED_AGENT_ADD', + 'ESTATE_ACCESS_ALLOWED_AGENT_REMOVE', + 'ESTATE_ACCESS_ALLOWED_GROUP_ADD', + 'ESTATE_ACCESS_ALLOWED_GROUP_REMOVE', + 'ESTATE_ACCESS_BANNED_AGENT_ADD', + 'ESTATE_ACCESS_BANNED_AGENT_REMOVE', 'FALSE', + 'FORCE_DIRECT_PATH', + 'FRICTION', + 'GCNP_RADIUS', + 'GCNP_STATIC', + 'GRAVITY_MULTIPLIER', + 'HORIZONTAL', 'HTTP_BODY_MAXLENGTH', 'HTTP_BODY_TRUNCATED', + 'HTTP_CUSTOM_HEADER', 'HTTP_METHOD', 'HTTP_MIMETYPE', + 'HTTP_PRAGMA_NO_CACHE', + 'HTTP_VERBOSE_THROTTLE', 'HTTP_VERIFY_CERT', 'INVENTORY_ALL', 'INVENTORY_ANIMATION', @@ -185,11 +250,36 @@ $language_data = array ( 'INVENTORY_SCRIPT', 'INVENTORY_SOUND', 'INVENTORY_TEXTURE', + 'JSON_APPEND', + 'JSON_ARRAY', + 'JSON_FALSE', + 'JSON_INVALID', + 'JSON_NULL', + 'JSON_NUMBER', + 'JSON_OBJECT', + 'JSON_STRING', + 'JSON_TRUE', + 'KFM_CMD_PAUSE', + 'KFM_CMD_PLAY', + 'KFM_CMD_SET_MODE', + 'KFM_CMD_STOP', + 'KFM_COMMAND', + 'KFM_DATA', + 'KFM_FORWARD', + 'KFM_LOOP', + 'KFM_MODE', + 'KFM_PING_PONG', + 'KFM_REVERSE', + 'KFM_ROTATION', + 'KFM_TRANSLATION', + 'LAND_LARGE_BRUSH', 'LAND_LEVEL', 'LAND_LOWER', + 'LAND_MEDIUM_BRUSH', 'LAND_NOISE', 'LAND_RAISE', 'LAND_REVERT', + 'LAND_SMALL_BRUSH', 'LAND_SMOOTH', 'LINK_ALL_CHILDREN', 'LINK_ALL_OTHERS', @@ -213,20 +303,54 @@ $language_data = array ( 'MASK_NEXT', 'MASK_OWNER', 'NULL_KEY', + 'OBJECT_ATTACHED_POINT', + 'OBJECT_CHARACTER_TIME', 'OBJECT_CREATOR', 'OBJECT_DESC', 'OBJECT_GROUP', 'OBJECT_NAME', 'OBJECT_OWNER', + 'OBJECT_PATHFINDING_TYPE', + 'OBJECT_PHANTOM', + 'OBJECT_PHYSICS', + 'OBJECT_PHYSICS_COST', 'OBJECT_POS', + 'OBJECT_PRIM_EQUIVALENCE', + 'OBJECT_RETURN_PARCEL', + 'OBJECT_RETURN_PARCEL_OWNER', + 'OBJECT_RETURN_REGION', + 'OBJECT_ROOT', 'OBJECT_ROT', + 'OBJECT_RUNNING_SCRIPT_COUNT', + 'OBJECT_SCRIPT_MEMORY', + 'OBJECT_SCRIPT_TIME', + 'OBJECT_SERVER_COST', + 'OBJECT_STREAMING_COST', + 'OBJECT_TEMP_ON_REZ', + 'OBJECT_TOTAL_SCRIPT_COUNT', 'OBJECT_UNKNOWN_DETAIL', 'OBJECT_VELOCITY', + 'OPT_AVATAR', + 'OPT_CHARACTER', + 'OPT_EXCLUSION_VOLUME', + 'OPT_LEGACY_LINKSET', + 'OPT_MATERIAL_VOLUME', + 'OPT_OTHER', + 'OPT_STATIC_OBSTACLE', + 'OPT_WALKABLE', + 'PARCEL_COUNT_GROUP', + 'PARCEL_COUNT_OTHER', + 'PARCEL_COUNT_OWNER', + 'PARCEL_COUNT_SELECTED', + 'PARCEL_COUNT_TEMP', + 'PARCEL_COUNT_TOTAL', 'PARCEL_DETAILS_AREA', 'PARCEL_DETAILS_DESC', 'PARCEL_DETAILS_GROUP', + 'PARCEL_DETAILS_ID', 'PARCEL_DETAILS_NAME', 'PARCEL_DETAILS_OWNER', + 'PARCEL_DETAILS_SEE_AVATARS', 'PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY', 'PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS', 'PARCEL_FLAG_ALLOW_CREATE_OBJECTS', @@ -246,6 +370,7 @@ $language_data = array ( 'PARCEL_MEDIA_COMMAND_AGENT', 'PARCEL_MEDIA_COMMAND_AUTO_ALIGN', 'PARCEL_MEDIA_COMMAND_DESC', + 'PARCEL_MEDIA_COMMAND_LOOP', 'PARCEL_MEDIA_COMMAND_LOOP_SET', 'PARCEL_MEDIA_COMMAND_PAUSE', 'PARCEL_MEDIA_COMMAND_PLAY', @@ -254,8 +379,10 @@ $language_data = array ( 'PARCEL_MEDIA_COMMAND_TEXTURE', 'PARCEL_MEDIA_COMMAND_TIME', 'PARCEL_MEDIA_COMMAND_TYPE', + 'PARCEL_MEDIA_COMMAND_UNLOAD', 'PARCEL_MEDIA_COMMAND_URL', 'PASSIVE', + 'PATROL_PAUSE_AT_WAYPOINTS', 'PAYMENT_INFO_ON_FILE', 'PAYMENT_INFO_USED', 'PAY_DEFAULT', @@ -264,7 +391,11 @@ $language_data = array ( 'PERMISSION_CHANGE_LINKS', 'PERMISSION_CONTROL_CAMERA', 'PERMISSION_DEBIT', + 'PERMISSION_OVERRIDE_ANIMATIONS', + 'PERMISSION_RETURN_OBJECTS', + 'PERMISSION_SILENT_ESTATE_MANAGEMENT', 'PERMISSION_TAKE_CONTROLS', + 'PERMISSION_TELEPORT', 'PERMISSION_TRACK_CAMERA', 'PERMISSION_TRIGGER_ANIMATION', 'PERM_ALL', @@ -273,6 +404,7 @@ $language_data = array ( 'PERM_MOVE', 'PERM_TRANSFER', 'PI', + 'PING_PONG', 'PI_BY_TWO', 'PRIM_BUMP_BARK', 'PRIM_BUMP_BLOBS', @@ -294,39 +426,93 @@ $language_data = array ( 'PRIM_BUMP_WEAVE', 'PRIM_BUMP_WOOD', 'PRIM_COLOR', + 'PRIM_DESC', + 'PRIM_FLEXIBLE', 'PRIM_FULLBRIGHT', + 'PRIM_GLOW', 'PRIM_HOLE_CIRCLE', 'PRIM_HOLE_DEFAULT', 'PRIM_HOLE_SQUARE', 'PRIM_HOLE_TRIANGLE', + 'PRIM_LINK_TARGET', 'PRIM_MATERIAL', 'PRIM_MATERIAL_FLESH', 'PRIM_MATERIAL_GLASS', - 'PRIM_MATERIAL_LIGHT', 'PRIM_MATERIAL_METAL', 'PRIM_MATERIAL_PLASTIC', 'PRIM_MATERIAL_RUBBER', 'PRIM_MATERIAL_STONE', 'PRIM_MATERIAL_WOOD', + 'PRIM_MEDIA_ALT_IMAGE_ENABLE', + 'PRIM_MEDIA_AUTO_LOOP', + 'PRIM_MEDIA_AUTO_PLAY', + 'PRIM_MEDIA_AUTO_SCALE', + 'PRIM_MEDIA_AUTO_ZOOM', + 'PRIM_MEDIA_CONTROLS', + 'PRIM_MEDIA_CONTROLS_MINI', + 'PRIM_MEDIA_CONTROLS_STANDARD', + 'PRIM_MEDIA_CURRENT_URL', + 'PRIM_MEDIA_FIRST_CLICK_INTERACT', + 'PRIM_MEDIA_HEIGHT_PIXELS', + 'PRIM_MEDIA_HOME_URL', + 'PRIM_MEDIA_MAX_HEIGHT_PIXELS', + 'PRIM_MEDIA_MAX_URL_LENGTH', + 'PRIM_MEDIA_MAX_WHITELIST_COUNT', + 'PRIM_MEDIA_MAX_WHITELIST_SIZE', + 'PRIM_MEDIA_MAX_WIDTH_PIXELS', + 'PRIM_MEDIA_PARAM_MAX', + 'PRIM_MEDIA_PERMS_CONTROL', + 'PRIM_MEDIA_PERMS_INTERACT', + 'PRIM_MEDIA_PERM_ANYONE', + 'PRIM_MEDIA_PERM_GROUP', + 'PRIM_MEDIA_PERM_NONE', + 'PRIM_MEDIA_PERM_OWNER', + 'PRIM_MEDIA_WHITELIST', + 'PRIM_MEDIA_WHITELIST_ENABLE', + 'PRIM_MEDIA_WIDTH_PIXELS', + 'PRIM_NAME', + 'PRIM_OMEGA', 'PRIM_PHANTOM', 'PRIM_PHYSICS', + 'PRIM_PHYSICS_SHAPE_CONVEX', + 'PRIM_PHYSICS_SHAPE_NONE', + 'PRIM_PHYSICS_SHAPE_PRIM', + 'PRIM_PHYSICS_SHAPE_TYPE', + 'PRIM_POINT_LIGHT', 'PRIM_POSITION', + 'PRIM_POS_LOCAL', 'PRIM_ROTATION', + 'PRIM_ROT_LOCAL', + 'PRIM_SCULPT_FLAG_INVERT', + 'PRIM_SCULPT_FLAG_MIRROR', + 'PRIM_SCULPT_TYPE_CYLINDER', + 'PRIM_SCULPT_TYPE_MASK', + 'PRIM_SCULPT_TYPE_PLANE', + 'PRIM_SCULPT_TYPE_SPHERE', + 'PRIM_SCULPT_TYPE_TORUS', 'PRIM_SHINY_HIGH', 'PRIM_SHINY_LOW', 'PRIM_SHINY_MEDIUM', 'PRIM_SHINY_NONE', 'PRIM_SIZE', + 'PRIM_SLICE', 'PRIM_TEMP_ON_REZ', + 'PRIM_TEXGEN', + 'PRIM_TEXGEN_DEFAULT', + 'PRIM_TEXGEN_PLANAR', + 'PRIM_TEXT', 'PRIM_TEXTURE', 'PRIM_TYPE', 'PRIM_TYPE_BOX', 'PRIM_TYPE_CYLINDER', 'PRIM_TYPE_PRISM', 'PRIM_TYPE_RING', + 'PRIM_TYPE_SCULPT', 'PRIM_TYPE_SPHERE', 'PRIM_TYPE_TORUS', 'PRIM_TYPE_TUBE', + 'PROFILE_NONE', + 'PROFILE_SCRIPT_MEMORY', 'PSYS_PART_BOUNCE_MASK', 'PSYS_PART_EMISSIVE_MASK', 'PSYS_PART_END_ALPHA', @@ -352,10 +538,8 @@ $language_data = array ( 'PSYS_SRC_BURST_RATE', 'PSYS_SRC_BURST_SPEED_MAX', 'PSYS_SRC_BURST_SPEED_MIN', - 'PSYS_SRC_INNERANGLE', 'PSYS_SRC_MAX_AGE', 'PSYS_SRC_OMEGA', - 'PSYS_SRC_OUTERANGLE', 'PSYS_SRC_PATTERN', 'PSYS_SRC_PATTERN_ANGLE', 'PSYS_SRC_PATTERN_ANGLE_CONE', @@ -364,13 +548,70 @@ $language_data = array ( 'PSYS_SRC_PATTERN_EXPLODE', 'PSYS_SRC_TARGET_KEY', 'PSYS_SRC_TEXTURE', + 'PUBLIC_CHANNEL', + 'PURSUIT_FUZZ_FACTOR', + 'PURSUIT_GOAL_TOLERANCE', + 'PURSUIT_INTERCEPT', + 'PURSUIT_OFFSET', + 'PU_EVADE_HIDDEN', + 'PU_EVADE_SPOTTED', + 'PU_FAILURE_DYNAMIC_PATHFINDING_DISABLED', + 'PU_FAILURE_INVALID_GOAL', + 'PU_FAILURE_INVALID_START', + 'PU_FAILURE_NO_NAVMESH', + 'PU_FAILURE_NO_VALID_DESTINATION', + 'PU_FAILURE_OTHER', + 'PU_FAILURE_PARCEL_UNREACHABLE', + 'PU_FAILURE_TARGET_GONE', + 'PU_FAILURE_UNREACHABLE', + 'PU_GOAL_REACHED', + 'PU_SLOWDOWN_DISTANCE_REACHED', 'RAD_TO_DEG', + 'RCERR_CAST_TIME_EXCEEDED', + 'RCERR_SIM_PERF_LOW', + 'RCERR_UNKNOWN', + 'RC_DATA_FLAGS', + 'RC_DETECT_PHANTOM', + 'RC_GET_LINK_NUM', + 'RC_GET_NORMAL', + 'RC_GET_ROOT_KEY', + 'RC_MAX_HITS', + 'RC_REJECT_AGENTS', + 'RC_REJECT_LAND', + 'RC_REJECT_NONPHYSICAL', + 'RC_REJECT_PHYSICAL', + 'RC_REJECT_TYPES', + 'REGION_FLAG_ALLOW_DAMAGE', + 'REGION_FLAG_ALLOW_DIRECT_TELEPORT', + 'REGION_FLAG_BLOCK_FLY', + 'REGION_FLAG_BLOCK_TERRAFORM', + 'REGION_FLAG_DISABLE_COLLISIONS', + 'REGION_FLAG_DISABLE_PHYSICS', + 'REGION_FLAG_FIXED_SUN', + 'REGION_FLAG_RESTRICT_PUSHOBJECT', + 'REGION_FLAG_SANDBOX', 'REMOTE_DATA_CHANNEL', + 'REMOTE_DATA_REPLY', 'REMOTE_DATA_REQUEST', + 'REQUIRE_LINE_OF_SIGHT', + 'RESTITUTION', + 'REVERSE', + 'ROTATE', + 'SCALE', 'SCRIPTED', + 'SIM_STAT_PCT_CHARS_STEPPED', + 'SMOOTH', 'SQRT2', 'STATUS_BLOCK_GRAB', + 'STATUS_BLOCK_GRAB_OBJECT', + 'STATUS_BOUNDS_ERROR', + 'STATUS_CAST_SHADOWS', 'STATUS_DIE_AT_EDGE', + 'STATUS_INTERNAL_ERROR', + 'STATUS_MALFORMED_PARAMS', + 'STATUS_NOT_FOUND', + 'STATUS_NOT_SUPPORTED', + 'STATUS_OK', 'STATUS_PHANTOM', 'STATUS_PHYSICS', 'STATUS_RETURN_AT_EDGE', @@ -378,8 +619,34 @@ $language_data = array ( 'STATUS_ROTATE_Y', 'STATUS_ROTATE_Z', 'STATUS_SANDBOX', + 'STATUS_TYPE_MISMATCH', + 'STATUS_WHITELIST_FAILED', + 'STRING_TRIM', + 'STRING_TRIM_HEAD', + 'STRING_TRIM_TAIL', + 'TEXTURE_BLANK', + 'TEXTURE_DEFAULT', + 'TEXTURE_MEDIA', + 'TEXTURE_PLYWOOD', + 'TEXTURE_TRANSPARENT', + 'TOUCH_INVALID_FACE', + 'TOUCH_INVALID_TEXCOORD', + 'TOUCH_INVALID_VECTOR', + 'TRAVERSAL_TYPE', + 'TRAVERSAL_TYPE_FAST', + 'TRAVERSAL_TYPE_NONE', + 'TRAVERSAL_TYPE_SLOW', 'TRUE', 'TWO_PI', + 'TYPE_FLOAT', + 'TYPE_INTEGER', + 'TYPE_INVALID', + 'TYPE_KEY', + 'TYPE_ROTATION', + 'TYPE_STRING', + 'TYPE_VECTOR', + 'URL_REQUEST_DENIED', + 'URL_REQUEST_GRANTED', 'VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY', 'VEHICLE_ANGULAR_DEFLECTION_TIMESCALE', 'VEHICLE_ANGULAR_FRICTION_TIMESCALE', @@ -419,13 +686,15 @@ $language_data = array ( 'VEHICLE_TYPE_SLED', 'VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY', 'VEHICLE_VERTICAL_ATTRACTION_TIMESCALE', + 'VERTICAL', + 'WANDER_PAUSE_AT_WAYPOINTS', 'ZERO_ROTATION', 'ZERO_VECTOR', ), 3 => array( // handlers 'at_rot_target', 'at_target', - 'attached', + 'attach', 'changed', 'collision', 'collision_end', @@ -433,6 +702,7 @@ $language_data = array ( 'control', 'dataserver', 'email', + 'http_request', 'http_response', 'land_collision', 'land_collision_end', @@ -447,6 +717,7 @@ $language_data = array ( 'not_at_target', 'object_rez', 'on_rez', + 'path_update', 'remote_data', 'run_time_permissions', 'sensor', @@ -456,12 +727,14 @@ $language_data = array ( 'touch', 'touch_end', 'touch_start', + 'transaction_result', ), 4 => array( // data types 'float', 'integer', 'key', 'list', + 'quaternion', 'rotation', 'string', 'vector', @@ -480,6 +753,8 @@ $language_data = array ( 'llAsin', 'llAtan2', 'llAttachToAvatar', + 'llAttachToAvatarTemp', + 'llAvatarOnLinkSitTarget', 'llAvatarOnSitTarget', 'llAxes2Rot', 'llAxisAngle2Rot', @@ -487,16 +762,19 @@ $language_data = array ( 'llBase64ToString', 'llBreakAllLinks', 'llBreakLink', + 'llCastRay', 'llCeil', 'llClearCameraParams', + 'llClearLinkMedia', + 'llClearPrimMedia', 'llCloseRemoteDataChannel', - 'llCloud', 'llCollisionFilter', 'llCollisionSound', - 'llCollisionSprite', 'llCos', + 'llCreateCharacter', 'llCreateLink', 'llCSV2List', + 'llDeleteCharacter', 'llDeleteSubList', 'llDeleteSubString', 'llDetachFromAvatar', @@ -524,31 +802,42 @@ $language_data = array ( 'llEmail', 'llEscapeURL', 'llEuler2Rot', + 'llEvade', + 'llExecCharacterCmd', 'llFabs', + 'llFleeFrom', 'llFloor', 'llForceMouselook', 'llFrand', + 'llGenerateKey', 'llGetAccel', 'llGetAgentInfo', 'llGetAgentLanguage', + 'llGetAgentList', 'llGetAgentSize', 'llGetAlpha', 'llGetAndResetTime', 'llGetAnimation', 'llGetAnimationList', + 'llGetAnimationOverride', 'llGetAttached', 'llGetBoundingBox', 'llGetCameraPos', 'llGetCameraRot', 'llGetCenterOfMass', + 'llGetClosestNavPoint', 'llGetColor', 'llGetCreator', 'llGetDate', + 'llGetDisplayName', 'llGetEnergy', + 'llGetEnv', 'llGetForce', 'llGetFreeMemory', + 'llGetFreeURLs', 'llGetGeometricCenter', 'llGetGMTclock', + 'llGetHTTPHeader', 'llGetInventoryCreator', 'llGetInventoryKey', 'llGetInventoryName', @@ -558,13 +847,18 @@ $language_data = array ( 'llGetKey', 'llGetLandOwnerAt', 'llGetLinkKey', + 'llGetLinkMedia', 'llGetLinkName', 'llGetLinkNumber', + 'llGetLinkNumberOfSides', + 'llGetLinkPrimitiveParams', 'llGetListEntryType', 'llGetListLength', 'llGetLocalPos', 'llGetLocalRot', 'llGetMass', + 'llGetMassMKS', + 'llGetMemoryLimit', 'llGetNextEmail', 'llGetNotecardLine', 'llGetNumberOfNotecardLines', @@ -582,12 +876,15 @@ $language_data = array ( 'llGetParcelDetails', 'llGetParcelFlags', 'llGetParcelMaxPrims', + 'llGetParcelMusicURL', 'llGetParcelPrimCount', 'llGetParcelPrimOwners', 'llGetPermissions', 'llGetPermissionsKey', + 'llGetPhysicsMaterial', 'llGetPos', 'llGetPrimitiveParams', + 'llGetPrimMediaParams', 'llGetRegionAgentCount', 'llGetRegionCorner', 'llGetRegionFlags', @@ -600,8 +897,11 @@ $language_data = array ( 'llGetScale', 'llGetScriptName', 'llGetScriptState', + 'llGetSimStats', 'llGetSimulatorHostname', + 'llGetSPMaxMemory', 'llGetStartParameter', + 'llGetStaticPath', 'llGetStatus', 'llGetSubString', 'llGetSunDirection', @@ -614,6 +914,8 @@ $language_data = array ( 'llGetTimestamp', 'llGetTorque', 'llGetUnixTime', + 'llGetUsedMemory', + 'llGetUsername', 'llGetVel', 'llGetWallclock', 'llGiveInventory', @@ -625,13 +927,21 @@ $language_data = array ( 'llGroundRepel', 'llGroundSlope', 'llHTTPRequest', + 'llHTTPResponse', 'llInsertString', 'llInstantMessage', 'llIntegerToBase64', + 'llJson2List', + 'llJsonGetValue', + 'llJsonSetValue', + 'llJsonValueType', 'llKey2Name', + 'llLinkParticleSystem', + 'llLinkSitTarget', 'llList2CSV', 'llList2Float', 'llList2Integer', + 'llList2Json', 'llList2Key', 'llList2List', 'llList2ListStrided', @@ -654,6 +964,7 @@ $language_data = array ( 'llLoopSound', 'llLoopSoundMaster', 'llLoopSoundSlave', + 'llManageEstateAccess', 'llMapDestination', 'llMD5String', 'llMessageLinked', @@ -661,6 +972,7 @@ $language_data = array ( 'llModifyLand', 'llModPow', 'llMoveToTarget', + 'llNavigateTo', 'llOffsetTexture', 'llOpenRemoteDataChannel', 'llOverMyLand', @@ -672,29 +984,39 @@ $language_data = array ( 'llParticleSystem', 'llPassCollisions', 'llPassTouches', + 'llPatrolPoints', 'llPlaySound', 'llPlaySoundSlave', 'llPow', 'llPreloadSound', + 'llPursue', 'llPushObject', 'llRegionSay', + 'llRegionSayTo', 'llReleaseControls', + 'llReleaseURL', 'llRemoteDataReply', - 'llRemoteDataSetRegion', 'llRemoteLoadScriptPin', 'llRemoveFromLandBanList', 'llRemoveFromLandPassList', 'llRemoveInventory', 'llRemoveVehicleFlags', 'llRequestAgentData', + 'llRequestDisplayName', 'llRequestInventoryData', 'llRequestPermissions', + 'llRequestSecureURL', 'llRequestSimulatorData', + 'llRequestURL', + 'llRequestUsername', + 'llResetAnimationOverride', 'llResetLandBanList', 'llResetLandPassList', 'llResetOtherScript', 'llResetScript', 'llResetTime', + 'llReturnObjectsByID', + 'llReturnObjectsByOwner', 'llRezAtRoot', 'llRezObject', 'llRot2Angle', @@ -713,32 +1035,45 @@ $language_data = array ( 'llSay', 'llScaleTexture', 'llScriptDanger', + 'llScriptProfiler', 'llSendRemoteData', 'llSensor', 'llSensorRemove', 'llSensorRepeat', 'llSetAlpha', + 'llSetAngularVelocity', + 'llSetAnimationOverride', 'llSetBuoyancy', 'llSetCameraAtOffset', 'llSetCameraEyeOffset', 'llSetCameraParams', 'llSetClickAction', 'llSetColor', + 'llSetContentType', 'llSetDamage', 'llSetForce', 'llSetForceAndTorque', 'llSetHoverHeight', + 'llSetKeyframedMotion', 'llSetLinkAlpha', + 'llSetLinkCamera', 'llSetLinkColor', + 'llSetLinkMedia', 'llSetLinkPrimitiveParams', + 'llSetLinkPrimitiveParamsFast', 'llSetLinkTexture', + 'llSetLinkTextureAnim', 'llSetLocalRot', + 'llSetMemoryLimit', 'llSetObjectDesc', 'llSetObjectName', 'llSetParcelMusicURL', 'llSetPayPrice', + 'llSetPhysicsMaterial', 'llSetPos', 'llSetPrimitiveParams', + 'llSetPrimMediaParams', + 'llSetRegionPos', 'llSetRemoteScriptAccessPin', 'llSetRot', 'llSetScale', @@ -758,6 +1093,7 @@ $language_data = array ( 'llSetVehicleRotationParam', 'llSetVehicleType', 'llSetVehicleVectorParam', + 'llSetVelocity', 'llSHA1String', 'llShout', 'llSin', @@ -779,32 +1115,57 @@ $language_data = array ( 'llTarget', 'llTargetOmega', 'llTargetRemove', + 'llTeleportAgent', + 'llTeleportAgentGlobalCoords', 'llTeleportAgentHome', + 'llTextBox', 'llToLower', 'llToUpper', + 'llTransferLindenDollars', 'llTriggerSound', 'llTriggerSoundLimited', 'llUnescapeURL', 'llUnSit', + 'llUpdateCharacter', 'llVecDist', 'llVecMag', 'llVecNorm', 'llVolumeDetect', + 'llWanderWithin', 'llWater', 'llWhisper', 'llWind', - 'llXorBase64StringsCorrect', + 'llXorBase64', + 'print', ), 6 => array( // deprecated + 'ATTACH_LPEC', + 'ATTACH_RPEC', + 'DATA_RATING', + 'PERMISSION_CHANGE_JOINTS', + 'PERMISSION_CHANGE_PERMISSIONS', + 'PERMISSION_RELEASE_OWNERSHIP', + 'PERMISSION_REMAP_CONTROLS', + 'PRIM_CAST_SHADOWS', + 'PRIM_MATERIAL_LIGHT', + 'PSYS_SRC_INNERANGLE', + 'PSYS_SRC_OBJ_REL_MASK', + 'PSYS_SRC_OUTERANGLE', + 'VEHICLE_FLAG_NO_FLY_UP', + 'llCloud', 'llMakeExplosion', 'llMakeFire', 'llMakeFountain', 'llMakeSmoke', + 'llRemoteDataSetRegion', 'llSound', 'llSoundPreload', 'llXorBase64Strings', + 'llXorBase64StringsCorrect', ), 7 => array( // unimplemented + 'event', + 'llCollisionSprite', 'llPointAt', 'llRefreshPrimURL', 'llReleaseCamera', @@ -812,7 +1173,6 @@ $language_data = array ( 'llSetPrimURL', 'llStopPointAt', 'llTakeCamera', - 'llTextBox', ), 8 => array( // God mode 'llGodLikeRezObject', @@ -824,9 +1184,9 @@ $language_data = array ( '{', '}', '(', ')', '[', ']', '=', '+', '-', '*', '/', '+=', '-=', '*=', '/=', '++', '--', - '!', '%', '&', '|', '&&', '||', - '==', '!=', '<', '>', '<=', '>=', - '~', '<<', '>>', '^', ':', + '!', '%', '&', '|', '&&', '||', + '==', '!=', '<', '>', '<=', '>=', + '~', '<<', '>>', '^', ':', ), 'CASE_SENSITIVE' => array( GESHI_COMMENTS => true, @@ -878,12 +1238,12 @@ $language_data = array ( 'URLS' => array( 1 => '', 2 => '', - 3 => 'http://www.lslwiki.net/lslwiki/wakka.php?wakka={FNAME}', // http://wiki.secondlife.com/wiki/{FNAME} - 4 => 'http://www.lslwiki.net/lslwiki/wakka.php?wakka={FNAME}', // http://wiki.secondlife.com/wiki/{FNAME} - 5 => 'http://www.lslwiki.net/lslwiki/wakka.php?wakka={FNAME}', // http://wiki.secondlife.com/wiki/{FNAME} - 6 => 'http://www.lslwiki.net/lslwiki/wakka.php?wakka={FNAME}', // http://wiki.secondlife.com/wiki/{FNAME} - 7 => 'http://www.lslwiki.net/lslwiki/wakka.php?wakka={FNAME}', // http://wiki.secondlife.com/wiki/{FNAME} - 8 => 'http://www.lslwiki.net/lslwiki/wakka.php?wakka={FNAME}', // http://wiki.secondlife.com/wiki/{FNAME} + 3 => 'http://wiki.secondlife.com/wiki/{FNAME}', + 4 => 'http://wiki.secondlife.com/wiki/{FNAME}', + 5 => 'http://wiki.secondlife.com/wiki/{FNAME}', + 6 => 'http://wiki.secondlife.com/wiki/{FNAME}', + 7 => 'http://wiki.secondlife.com/wiki/{FNAME}', + 8 => 'http://wiki.secondlife.com/wiki/{FNAME}', ), 'OOLANG' => false, 'OBJECT_SPLITTERS' => array(), @@ -895,4 +1255,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); -?> \ No newline at end of file diff --git a/inc/geshi/lua.php b/vendor/easybook/geshi/geshi/lua.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/lua.php rename to vendor/easybook/geshi/geshi/lua.php index 8a09ba20e8fc9ce1aaf09fbafae1a16fdfb5a15c..985cb8c272dad7ed7bafa12b1e19f8cbdc8a8a46 --- a/inc/geshi/lua.php +++ b/vendor/easybook/geshi/geshi/lua.php @@ -173,5 +173,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/m68k.php b/vendor/easybook/geshi/geshi/m68k.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/m68k.php rename to vendor/easybook/geshi/geshi/m68k.php index 98321577b3c927df37a0889b2bfd0ac83114df5f..983c288ecb2c8ea462c6365b1e242e3ba5e3ffd0 --- a/inc/geshi/m68k.php +++ b/vendor/easybook/geshi/geshi/m68k.php @@ -139,5 +139,3 @@ $language_data = array ( ), 'TAB_WIDTH' => 8 ); - -?> diff --git a/inc/geshi/magiksf.php b/vendor/easybook/geshi/geshi/magiksf.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/magiksf.php rename to vendor/easybook/geshi/geshi/magiksf.php diff --git a/inc/geshi/make.php b/vendor/easybook/geshi/geshi/make.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/make.php rename to vendor/easybook/geshi/geshi/make.php diff --git a/inc/geshi/mapbasic.php b/vendor/easybook/geshi/geshi/mapbasic.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/mapbasic.php rename to vendor/easybook/geshi/geshi/mapbasic.php diff --git a/inc/geshi/matlab.php b/vendor/easybook/geshi/geshi/matlab.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/matlab.php rename to vendor/easybook/geshi/geshi/matlab.php diff --git a/inc/geshi/mirc.php b/vendor/easybook/geshi/geshi/mirc.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/mirc.php rename to vendor/easybook/geshi/geshi/mirc.php diff --git a/inc/geshi/mmix.php b/vendor/easybook/geshi/geshi/mmix.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/mmix.php rename to vendor/easybook/geshi/geshi/mmix.php diff --git a/inc/geshi/modula2.php b/vendor/easybook/geshi/geshi/modula2.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/modula2.php rename to vendor/easybook/geshi/geshi/modula2.php diff --git a/inc/geshi/modula3.php b/vendor/easybook/geshi/geshi/modula3.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/modula3.php rename to vendor/easybook/geshi/geshi/modula3.php diff --git a/inc/geshi/mpasm.php b/vendor/easybook/geshi/geshi/mpasm.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/mpasm.php rename to vendor/easybook/geshi/geshi/mpasm.php index f724a9414d1ea4bbd07699de3fcd00c9f4fe9f13..a0e1ef8fffe6d7151991b07acdef5fd1742ddb9e --- a/inc/geshi/mpasm.php +++ b/vendor/easybook/geshi/geshi/mpasm.php @@ -160,5 +160,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/mxml.php b/vendor/easybook/geshi/geshi/mxml.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/mxml.php rename to vendor/easybook/geshi/geshi/mxml.php index 0cc8287a2b1bc67e0baf69e1789a3c09190258aa..60dfe5f32c3159b8dda1445e95f62feabfa6250f --- a/inc/geshi/mxml.php +++ b/vendor/easybook/geshi/geshi/mxml.php @@ -141,5 +141,3 @@ $language_data = array ( ), 'TAB_WIDTH' => 4 ); - -?> diff --git a/inc/geshi/mysql.php b/vendor/easybook/geshi/geshi/mysql.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/mysql.php rename to vendor/easybook/geshi/geshi/mysql.php diff --git a/inc/geshi/nagios.php b/vendor/easybook/geshi/geshi/nagios.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/nagios.php rename to vendor/easybook/geshi/geshi/nagios.php index 32cbaef9ecb3b7fe1130992fe3d2be55743820f5..47254311ce541c61cdc4173c604114087ed0b3a3 --- a/inc/geshi/nagios.php +++ b/vendor/easybook/geshi/geshi/nagios.php @@ -221,5 +221,3 @@ $language_data = array( ) ) ); - -?> diff --git a/inc/geshi/netrexx.php b/vendor/easybook/geshi/geshi/netrexx.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/netrexx.php rename to vendor/easybook/geshi/geshi/netrexx.php index 14a2d23fddcd4fdd13d0f2b35b5d92ed24084991..b038aa4d5198bc5e253ce91bdd31a83f29290255 --- a/inc/geshi/netrexx.php +++ b/vendor/easybook/geshi/geshi/netrexx.php @@ -159,5 +159,3 @@ $language_data = array ( ), 'TAB_WIDTH' => 4 ); - -?> diff --git a/inc/geshi/newlisp.php b/vendor/easybook/geshi/geshi/newlisp.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/newlisp.php rename to vendor/easybook/geshi/geshi/newlisp.php diff --git a/vendor/easybook/geshi/geshi/nginx.php b/vendor/easybook/geshi/geshi/nginx.php new file mode 100644 index 0000000000000000000000000000000000000000..0d4fe3b4f94b9aebbeb5d554c1bc0a11200bc8c0 --- /dev/null +++ b/vendor/easybook/geshi/geshi/nginx.php @@ -0,0 +1,868 @@ +<?php +/************************************************************************************* + * nginx.php + * ------ + * Author: Cliff Wells (cliff@nginx.org) + * Copyright: (c) Cliff Wells (http://wiki.nginx.org/CliffWells) + * Contributors: + * - Deoren Moor (http://www.whyaskwhy.org/blog/) + * - Thomas Joiner + * Release Version: 1.0.8.12 + * Date Started: 2010/08/24 + * + * nginx language file for GeSHi. + * + * Original release found at http://forum.nginx.org/read.php?2,123194,123210 + * + * CHANGES + * ------- + * 2012/08/29 + * - Clean up the duplicate keywords + * + * 2012/08/26 + * - Synchronized with directives listed on wiki/doc pages + * - Misc formatting tweaks and language fixes to pass langcheck + * + * 2010/08/24 + * - First Release + * + * TODO (updated 2012/08/26) + * ------------------------- + * - Verify PARSER_CONTROL items are correct + * - Verify REGEXPS + * - Verify ['STYLES']['REGEXPS'] entries + * + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'nginx', + 'COMMENT_SINGLE' => array(1 => '#'), + 'COMMENT_MULTI' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + 1 => array( // core module + // http://wiki.nginx.org/CoreModule + // http://nginx.org/en/docs/ngx_core_module.html + 'daemon', + 'debug_points', + 'env', + 'error_log', + 'events', + 'include', + 'lock_file', + 'master_process', + 'pcre_jit', + 'pid', + 'ssl_engine', + 'timer_resolution', + 'user', + 'worker_cpu_affinity', + 'worker_priority', + 'worker_processes', + 'worker_rlimit_core', + 'worker_rlimit_nofile', + 'worker_rlimit_sigpending', + 'working_directory', + // see EventsModule due to organization of wiki + //'accept_mutex', + //'accept_mutex_delay', + //'debug_connection', + //'multi_accept', + //'use', + //'worker_connections', + ), + 2 => array( // events module + // http://wiki.nginx.org/EventsModule + // http://nginx.org/en/docs/ngx_core_module.html + 'accept_mutex', + 'accept_mutex_delay', + 'debug_connection', + 'devpoll_changes', + 'devpoll_events', + 'kqueue_changes', + 'kqueue_events', + 'epoll_events', + 'multi_accept', + 'rtsig_signo', + 'rtsig_overflow_events', + 'rtsig_overflow_test', + 'rtsig_overflow_threshold', + 'use', + 'worker_connections', + ), + 3 => array( // http module + // http://wiki.nginx.org/HttpCoreModule + // http://nginx.org/en/docs/http/ngx_http_core_module.html + 'aio', + 'alias', + 'chunked_transfer_encoding', + 'client_body_buffer_size', + 'client_body_in_file_only', + 'client_body_in_single_buffer', + 'client_body_temp_path', + 'client_body_timeout', + 'client_header_buffer_size', + 'client_header_timeout', + 'client_max_body_size', + 'connection_pool_size', + 'default_type', + 'directio', + 'directio_alignment', + 'disable_symlinks', + 'error_page', + 'etag', + 'http', + 'if_modified_since', + 'ignore_invalid_headers', + 'internal', + 'keepalive_disable', + 'keepalive_requests', + 'keepalive_timeout', + 'large_client_header_buffers', + 'limit_except', + 'limit_rate', + 'limit_rate_after', + 'lingering_close', + 'lingering_time', + 'lingering_timeout', + 'listen', + 'location', + 'log_not_found', + 'log_subrequest', + 'max_ranges', + 'merge_slashes', + 'msie_padding', + 'msie_refresh', + 'open_file_cache', + 'open_file_cache_errors', + 'open_file_cache_min_uses', + 'open_file_cache_valid', + 'optimize_server_names', + 'port_in_redirect', + 'postpone_output', + 'read_ahead', + 'recursive_error_pages', + 'request_pool_size', + 'reset_timedout_connection', + 'resolver', + 'resolver_timeout', + 'root', + 'satisfy', + 'satisfy_any', + 'send_lowat', + 'send_timeout', + 'sendfile', + 'sendfile_max_chunk', + 'server', + 'server_name', + 'server_name_in_redirect', + 'server_names_hash_bucket_size', + 'server_names_hash_max_size', + 'server_tokens', + 'tcp_nodelay', + 'tcp_nopush', + 'try_files', + 'types', + 'types_hash_bucket_size', + 'types_hash_max_size', + 'underscores_in_headers', + 'variables_hash_bucket_size', + 'variables_hash_max_size', + ), + 4 => array( // upstream module + // http://wiki.nginx.org/HttpUpstreamModule + // http://nginx.org/en/docs/http/ngx_http_upstream_module.html + 'ip_hash', + 'keepalive', + 'least_conn', + // Use the documentation from the core module since every conf will have at least one of those. + //'server', + 'upstream', + ), + 5 => array( // access module + // http://wiki.nginx.org/HttpAccessModule + // http://nginx.org/en/docs/http/ngx_http_access_module.html + 'deny', + 'allow', + ), + 6 => array( // auth basic module + // http://wiki.nginx.org/HttpAuthBasicModule + // http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html + 'auth_basic', + 'auth_basic_user_file' + ), + 7 => array( // auto index module + // http://wiki.nginx.org/HttpAutoindexModule + // http://nginx.org/en/docs/http/ngx_http_autoindex_module.html + 'autoindex', + 'autoindex_exact_size', + 'autoindex_localtime', + ), + 8 => array( // browser module + // http://wiki.nginx.org/HttpBrowserModule + // http://nginx.org/en/docs/http/ngx_http_browser_module.html + 'ancient_browser', + 'ancient_browser_value', + 'modern_browser', + 'modern_browser_value', + ), + 9 => array( // charset module + // http://wiki.nginx.org/HttpCharsetModule + // http://nginx.org/en/docs/http/ngx_http_charset_module.html + 'charset', + 'charset_map', + 'charset_types', + 'override_charset', + 'source_charset', + ), + 10 => array( // empty gif module + // http://wiki.nginx.org/HttpEmptyGifModule + // http://nginx.org/en/docs/http/ngx_http_empty_gif_module.html + 'empty_gif', + ), + 11 => array( // fastcgi module + // http://wiki.nginx.org/HttpFastcgiModule + // http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html + 'fastcgi_bind', + 'fastcgi_buffer_size', + 'fastcgi_buffers', + 'fastcgi_busy_buffers_size', + 'fastcgi_cache', + 'fastcgi_cache_bypass', + 'fastcgi_cache_key', + 'fastcgi_cache_lock', + 'fastcgi_cache_lock_timeout', + 'fastcgi_cache_methods', + 'fastcgi_cache_min_uses', + 'fastcgi_cache_path', + 'fastcgi_cache_use_stale', + 'fastcgi_cache_valid', + 'fastcgi_connect_timeout', + 'fastcgi_hide_header', + 'fastcgi_ignore_client_abort', + 'fastcgi_ignore_headers', + 'fastcgi_index', + 'fastcgi_intercept_errors', + 'fastcgi_keep_conn', + 'fastcgi_max_temp_file_size', + 'fastcgi_next_upstream', + 'fastcgi_no_cache', + 'fastcgi_param', + 'fastcgi_pass', + 'fastcgi_pass_header', + 'fastcgi_pass_request_body', + 'fastcgi_pass_request_headers', + 'fastcgi_read_timeout', + 'fastcgi_redirect_errors', + 'fastcgi_send_timeout', + 'fastcgi_split_path_info', + 'fastcgi_store', + 'fastcgi_store_access', + 'fastcgi_temp_file_write_size', + 'fastcgi_temp_path', + ), + 12 => array( // geo module + // http://wiki.nginx.org/HttpGeoModule + // http://nginx.org/en/docs/http/ngx_http_geo_module.html + 'geo' + ), + 13 => array( // gzip module + // http://wiki.nginx.org/HttpGzipModule + // http://nginx.org/en/docs/http/ngx_http_gzip_module.html + 'gzip', + 'gzip_buffers', + 'gzip_comp_level', + 'gzip_disable', + 'gzip_min_length', + 'gzip_http_version', + 'gzip_proxied', + 'gzip_types', + 'gzip_vary', + ), + 14 => array( // headers module + // http://wiki.nginx.org/HttpHeadersModule + // http://nginx.org/en/docs/http/ngx_http_headers_module.html + 'add_header', + 'expires', + ), + 15 => array( // index module + // http://wiki.nginx.org/HttpIndexModule + // http://nginx.org/en/docs/http/ngx_http_index_module.html + 'index', + ), + 16 => array( // limit requests module + // http://wiki.nginx.org/HttpLimitReqModule + // http://nginx.org/en/docs/http/ngx_http_limit_req_module.html + 'limit_req', + 'limit_req_log_level', + 'limit_req_zone', + ), + 17 => array( // referer module + // http://wiki.nginx.org/HttpRefererModule + // http://nginx.org/en/docs/http/ngx_http_referer_module.html + 'referer_hash_bucket_size', + 'referer_hash_max_size', + 'valid_referers', + ), + 18 => array( // limit zone module + // deprecated in 1.1.8 + // http://wiki.nginx.org/HttpLimitZoneModule + 'limit_zone', + // Covered by documentation for ngx_http_limit_conn_module + //'limit_conn', + ), + 19 => array( // limit connection module + // http://wiki.nginx.org/HttpLimitConnModule + // http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html + 'limit_conn', + 'limit_conn_zone', + 'limit_conn_log_level', + ), + 20 => array( // log module + // http://wiki.nginx.org/HttpLogModule + // http://nginx.org/en/docs/http/ngx_http_log_module.html + 'access_log', + 'log_format', + // Appears to be deprecated + 'log_format_combined', + 'open_log_file_cache', + ), + 21 => array( // map module + // http://wiki.nginx.org/HttpMapModule + // http://nginx.org/en/docs/http/ngx_http_map_module.html + 'map', + 'map_hash_max_size', + 'map_hash_bucket_size', + ), + 22 => array( // memcached module + // http://wiki.nginx.org/HttpMemcachedModule + // http://nginx.org/en/docs/http/ngx_http_memcached_module.html + 'memcached_buffer_size', + 'memcached_connect_timeout', + 'memcached_next_upstream', + 'memcached_pass', + 'memcached_read_timeout', + 'memcached_send_timeout', + ), + 23 => array( // proxy module + // http://wiki.nginx.org/HttpProxyModule + // http://nginx.org/en/docs/http/ngx_http_proxy_module.html + 'proxy_bind', + 'proxy_buffer_size', + 'proxy_buffering', + 'proxy_buffers', + 'proxy_busy_buffers_size', + 'proxy_cache', + 'proxy_cache_bypass', + 'proxy_cache_key', + 'proxy_cache_lock', + 'proxy_cache_lock_timeout', + 'proxy_cache_methods', + 'proxy_cache_min_uses', + 'proxy_cache_path', + 'proxy_cache_use_stale', + 'proxy_cache_valid', + 'proxy_connect_timeout', + 'proxy_cookie_domain', + 'proxy_cookie_path', + 'proxy_headers_hash_bucket_size', + 'proxy_headers_hash_max_size', + 'proxy_hide_header', + 'proxy_http_version', + 'proxy_ignore_client_abort', + 'proxy_ignore_headers', + 'proxy_intercept_errors', + 'proxy_max_temp_file_size', + 'proxy_method', + 'proxy_next_upstream', + 'proxy_no_cache', + 'proxy_pass', + 'proxy_pass_header', + 'proxy_pass_request_body', + 'proxy_pass_request_headers', + 'proxy_redirect', + 'proxy_read_timeout', + 'proxy_redirect_errors', + 'proxy_send_lowat', + 'proxy_send_timeout', + 'proxy_set_body', + 'proxy_set_header', + 'proxy_ssl_session_reuse', + 'proxy_store', + 'proxy_store_access', + 'proxy_temp_file_write_size', + 'proxy_temp_path', + 'proxy_upstream_fail_timeout', + 'proxy_upstream_max_fails', + ), + 24 => array( // rewrite module + // http://wiki.nginx.org/HttpRewriteModule + // http://nginx.org/en/docs/http/ngx_http_rewrite_module.html + 'break', + 'if', + 'return', + 'rewrite', + 'rewrite_log', + 'set', + 'uninitialized_variable_warn', + ), + 25 => array( // ssi module + // http://wiki.nginx.org/HttpSsiModule + // http://nginx.org/en/docs/http/ngx_http_ssi_module.html + 'ssi', + 'ssi_silent_errors', + 'ssi_types', + 'ssi_value_length', + ), + 26 => array( // user id module + // http://wiki.nginx.org/HttpUseridModule + // http://nginx.org/en/docs/http/ngx_http_userid_module.html + 'userid', + 'userid_domain', + 'userid_expires', + 'userid_name', + 'userid_p3p', + 'userid_path', + 'userid_service', + ), + 27 => array( // addition module + // http://wiki.nginx.org/HttpAdditionModule + // http://nginx.org/en/docs/http/ngx_http_addition_module.html + 'add_before_body', + 'add_after_body', + 'addition_types', + ), + 28 => array( // embedded Perl module + // http://wiki.nginx.org/HttpPerlModule + // http://nginx.org/en/docs/http/ngx_http_perl_module.html + 'perl', + 'perl_modules', + 'perl_require', + 'perl_set', + ), + 29 => array( // flash video files module + // http://wiki.nginx.org/HttpFlvModule + // http://nginx.org/en/docs/http/ngx_http_flv_module.html + 'flv', + ), + 30 => array( // gzip precompression module + // http://wiki.nginx.org/HttpGzipStaticModule + // http://nginx.org/en/docs/http/ngx_http_gzip_static_module.html + 'gzip_static', + // Removed to remove duplication with ngx_http_gzip_module + //'gzip_http_version', + //'gzip_proxied', + //'gzip_disable', + //'gzip_vary', + ), + 31 => array( // random index module + // http://wiki.nginx.org/HttpRandomIndexModule + // http://nginx.org/en/docs/http/ngx_http_random_index_module.html + 'random_index', + ), + 32 => array( // real ip module + // http://wiki.nginx.org/HttpRealipModule + // http://nginx.org/en/docs/http/ngx_http_realip_module.html + 'set_real_ip_from', + 'real_ip_header', + 'real_ip_recursive', + ), + 33 => array( // https module + // http://wiki.nginx.org/HttpSslModule + // http://nginx.org/en/docs/http/ngx_http_ssl_module.html + 'ssl', + 'ssl_certificate', + 'ssl_certificate_key', + 'ssl_ciphers', + 'ssl_client_certificate', + 'ssl_crl', + 'ssl_dhparam', + // Use the documentation for the core module since it links to the + // original properly + //'ssl_engine', + 'ssl_prefer_server_ciphers', + 'ssl_protocols', + 'ssl_session_cache', + 'ssl_session_timeout', + 'ssl_verify_client', + 'ssl_verify_depth', + ), + 34 => array( // status module + // http://wiki.nginx.org/HttpStubStatusModule + 'stub_status', + ), + 35 => array( // substitution module + // http://wiki.nginx.org/HttpSubModule + // http://nginx.org/en/docs/http/ngx_http_sub_module.html + 'sub_filter', + 'sub_filter_once', + 'sub_filter_types', + ), + 36 => array( // NginxHttpDavModule + // http://wiki.nginx.org/HttpDavModule + // http://nginx.org/en/docs/http/ngx_http_dav_module.html + 'dav_access', + 'dav_methods', + 'create_full_put_path', + 'min_delete_depth', + ), + 37 => array( // Google performance tools module + // http://wiki.nginx.org/GooglePerftoolsModule + 'google_perftools_profiles', + ), + 38 => array( // xslt module + // http://wiki.nginx.org/HttpXsltModule + // http://nginx.org/en/docs/http/ngx_http_xslt_module.html + 'xslt_entities', + 'xslt_param', + 'xslt_string_param', + 'xslt_stylesheet', + 'xslt_types', + ), + 39 => array( // uWSGI module + // http://wiki.nginx.org/HttpUwsgiModule + 'uwsgi_bind', + 'uwsgi_buffer_size', + 'uwsgi_buffering', + 'uwsgi_buffers', + 'uwsgi_busy_buffers_size', + 'uwsgi_cache', + 'uwsgi_cache_bypass', + 'uwsgi_cache_key', + 'uwsgi_cache_lock', + 'uwsgi_cache_lock_timeout', + 'uwsgi_cache_methods', + 'uwsgi_cache_min_uses', + 'uwsgi_cache_path', + 'uwsgi_cache_use_stale', + 'uwsgi_cache_valid', + 'uwsgi_connect_timeout', + 'uwsgi_hide_header', + 'uwsgi_ignore_client_abort', + 'uwsgi_ignore_headers', + 'uwsgi_intercept_errors', + 'uwsgi_max_temp_file_size', + 'uwsgi_modifier', + 'uwsgi_next_upstream', + 'uwsgi_no_cache', + 'uwsgi_param', + 'uwsgi_pass', + 'uwsgi_pass_header', + 'uwsgi_pass_request_body', + 'uwsgi_pass_request_headers', + 'uwsgi_read_timeout', + 'uwsgi_send_timeout', + 'uwsgi_store', + 'uwsgi_store_access', + 'uwsgi_string', + 'uwsgi_temp_file_write_size', + 'uwsgi_temp_path', + ), + 40 => array( // SCGI module + // http://wiki.nginx.org/HttpScgiModule + // Note: These directives were pulled from nginx 1.2.3 + // ngx_http_scgi_module.c source file. + 'scgi_bind', + 'scgi_buffering', + 'scgi_buffers', + 'scgi_buffer_size', + 'scgi_busy_buffers_size', + 'scgi_cache', + 'scgi_cache_bypass', + 'scgi_cache_key', + 'scgi_cache_lock', + 'scgi_cache_lock_timeout', + 'scgi_cache_methods', + 'scgi_cache_min_uses', + 'scgi_cache_path', + 'scgi_cache_use_stale', + 'scgi_cache_valid', + 'scgi_connect_timeout', + 'scgi_hide_header', + 'scgi_ignore_client_abort', + 'scgi_ignore_headers', + 'scgi_intercept_errors', + 'scgi_max_temp_file_size', + 'scgi_next_upstream', + 'scgi_no_cache', + 'scgi_param', + 'scgi_pass', + 'scgi_pass_header', + 'scgi_pass_request_body', + 'scgi_pass_request_headers', + 'scgi_read_timeout', + 'scgi_send_timeout', + 'scgi_store', + 'scgi_store_access', + 'scgi_temp_file_write_size', + 'scgi_temp_path', + ), + 41 => array( // split clients module + // http://wiki.nginx.org/HttpSplitClientsModule + // http://nginx.org/en/docs/http/ngx_http_split_clients_module.html + 'split_clients', + ), + 42 => array( // X-Accel module + // http://wiki.nginx.org/X-accel + 'X-Accel-Redirect', + 'X-Accel-Buffering', + 'X-Accel-Charset', + 'X-Accel-Expires', + 'X-Accel-Limit-Rate', + ), + 43 => array( // degradation module + // http://wiki.nginx.org/HttpDegradationModule + 'degradation', + 'degrade', + ), + 44 => array( // GeoIP module + // http://wiki.nginx.org/HttpGeoipModule + // http://nginx.org/en/docs/http/ngx_http_geoip_module.html + 'geoip_country', + 'geoip_city', + 'geoip_proxy', + 'geoip_proxy_recursive', + ), + 45 => array( // Image filter module + // http://wiki.nginx.org/HttpImageFilterModule + // http://nginx.org/en/docs/http/ngx_http_image_filter_module.html + 'image_filter', + 'image_filter_buffer', + 'image_filter_jpeg_quality', + 'image_filter_sharpen', + 'image_filter_transparency', + ), + 46 => array( // MP4 module + // http://wiki.nginx.org/HttpMp4Module + // http://nginx.org/en/docs/http/ngx_http_mp4_module.html + 'mp4', + 'mp4_buffer_size', + 'mp4_max_buffer_size', + ), + 47 => array( // Secure Link module + // http://wiki.nginx.org/HttpSecureLinkModule + // http://nginx.org/en/docs/http/ngx_http_secure_link_module.html + 'secure_link', + 'secure_link_md', + 'secure_link_secret', + ), + 48 => array( // Mail Core module + // http://wiki.nginx.org/MailCoreModule + 'auth', + 'imap_capabilities', + 'imap_client_buffer', + 'pop_auth', + 'pop_capabilities', + 'protocol', + 'smtp_auth', + 'smtp_capabilities', + 'so_keepalive', + 'timeout', + // Removed to prioritize documentation for core module + //'listen', + //'server', + //'server_name', + ), + 49 => array( // Mail Auth module + // http://wiki.nginx.org/MailAuthModule + 'auth_http', + 'auth_http_header', + 'auth_http_timeout', + ), + 50 => array( // Mail Proxy module + // http://wiki.nginx.org/MailProxyModule + 'proxy', + 'proxy_buffer', + 'proxy_pass_error_message', + 'proxy_timeout', + 'xclient', + ), + 51 => array( // Mail SSL module + // http://wiki.nginx.org/MailSslModule + // Removed to prioritize documentation for http + //'ssl', + //'ssl_certificate', + //'ssl_certificate_key', + //'ssl_ciphers', + //'ssl_prefer_server_ciphers', + //'ssl_protocols', + //'ssl_session_cache', + //'ssl_session_timeout', + 'starttls', + ), + ), + 'SYMBOLS' => array( + '(', ')', '{', '}', '=', '~', ';' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => true, + 1 => true, + 2 => true, + 3 => true, + 4 => true, + 5 => true, + 6 => true, + 7 => true, + 8 => true, + 9 => true, + 10 => true, + 11 => true, + 12 => true, + 13 => true, + 14 => true, + 15 => true, + 16 => true, + 17 => true, + 18 => true, + 19 => true, + 20 => true, + 21 => true, + 22 => true, + 23 => true, + 24 => true, + 25 => true, + 26 => true, + 27 => true, + 28 => true, + 29 => true, + 30 => true, + 31 => true, + 32 => true, + 33 => true, + 34 => true, + 35 => true, + 36 => true, + 37 => true, + 38 => true, + 39 => true, + 40 => true, + 41 => true, + 42 => true, + 43 => true, + 44 => true, + 45 => true, + 46 => true, + 47 => true, + 48 => true, + 49 => true, + 50 => true, + 51 => true, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #b1b100;', + 2 => 'color: #000000; font-weight: bold;', + 3 => 'color: #000066;', + 4 => 'color: #993333;' + ), + 'COMMENTS' => array( + 1 => 'color: #808080; font-style: italic;', + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + ), + 'METHODS' => array( + 1 => 'color: #202020;', + 2 => 'color: #202020;' + ), + 'SYMBOLS' => array( + 0 => 'color: #66cc66;' + ), + 'REGEXPS' => array( + 0 => 'color: #000066;', + 4 => 'color: #000000; font-weight: bold;', + ), + 'SCRIPT' => array() + ), + 'URLS' => array( + 1 => 'http://wiki.nginx.org/CoreModule#{FNAME}', + 2 => 'http://wiki.nginx.org/NginxHttpEventsModule#{FNAME}', + 3 => 'http://wiki.nginx.org/NginxHttpCoreModule#{FNAME}', + 4 => 'http://wiki.nginx.org/NginxHttpUpstreamModule#{FNAME}', + 5 => 'http://wiki.nginx.org/NginxHttpAccessModule#{FNAME}', + 6 => 'http://wiki.nginx.org/NginxHttpAuthBasicModule#{FNAME}', + 7 => 'http://wiki.nginx.org/NginxHttpAutoIndexModule#{FNAME}', + 8 => 'http://wiki.nginx.org/NginxHttpBrowserModule#{FNAME}', + 9 => 'http://wiki.nginx.org/NginxHttpCharsetModule#{FNAME}', + 10 => 'http://wiki.nginx.org/NginxHttpEmptyGifModule#{FNAME}', + 11 => 'http://wiki.nginx.org/NginxHttpFcgiModule#{FNAME}', + 12 => 'http://wiki.nginx.org/NginxHttpGeoModule#{FNAME}', + 13 => 'http://wiki.nginx.org/NginxHttpGzipModule#{FNAME}', + 14 => 'http://wiki.nginx.org/NginxHttpHeadersModule#{FNAME}', + 15 => 'http://wiki.nginx.org/NginxHttpIndexModule#{FNAME}', + 16 => 'http://wiki.nginx.org/HttpLimitReqModule#{FNAME}', + 17 => 'http://wiki.nginx.org/NginxHttpRefererModule#{FNAME}', + 18 => 'http://wiki.nginx.org/NginxHttpLimitZoneModule#{FNAME}', + 19 => 'http://wiki.nginx.org/HttpLimitConnModule#{FNAME}', + 20 => 'http://wiki.nginx.org/NginxHttpLogModule#{FNAME}', + 21 => 'http://wiki.nginx.org/NginxHttpMapModule#{FNAME}', + 22 => 'http://wiki.nginx.org/NginxHttpMemcachedModule#{FNAME}', + 23 => 'http://wiki.nginx.org/NginxHttpProxyModule#{FNAME}', + 24 => 'http://wiki.nginx.org/NginxHttpRewriteModule#{FNAME}', + 25 => 'http://wiki.nginx.org/NginxHttpSsiModule#{FNAME}', + 26 => 'http://wiki.nginx.org/NginxHttpUserIdModule#{FNAME}', + 27 => 'http://wiki.nginx.org/NginxHttpAdditionModule#{FNAME}', + 28 => 'http://wiki.nginx.org/NginxHttpEmbeddedPerlModule#{FNAME}', + 29 => 'http://wiki.nginx.org/NginxHttpFlvStreamModule#{FNAME}', + 30 => 'http://wiki.nginx.org/NginxHttpGzipStaticModule#{FNAME}', + 31 => 'http://wiki.nginx.org/NginxHttpRandomIndexModule#{FNAME}', + 32 => 'http://wiki.nginx.org/NginxHttpRealIpModule#{FNAME}', + 33 => 'http://wiki.nginx.org/NginxHttpSslModule#{FNAME}', + 34 => 'http://wiki.nginx.org/NginxHttpStubStatusModule#{FNAME}', + 35 => 'http://wiki.nginx.org/NginxHttpSubModule#{FNAME}', + 36 => 'http://wiki.nginx.org/NginxHttpDavModule#{FNAME}', + 37 => 'http://wiki.nginx.org/NginxHttpGooglePerfToolsModule#{FNAME}', + 38 => 'http://wiki.nginx.org/NginxHttpXsltModule#{FNAME}', + 39 => 'http://wiki.nginx.org/NginxHttpUwsgiModule#{FNAME}', + 40 => 'http://wiki.nginx.org/HttpScgiModule', + 41 => 'http://wiki.nginx.org/HttpSplitClientsModule#{FNAME}', + 42 => 'http://wiki.nginx.org/X-accel#{FNAME}', + 43 => 'http://wiki.nginx.org/HttpDegradationModule#{FNAME}', + 44 => 'http://wiki.nginx.org/HttpGeoipModule#{FNAME}', + 45 => 'http://wiki.nginx.org/HttpImageFilterModule#{FNAME}', + 46 => 'http://wiki.nginx.org/HttpMp4Module#{FNAME}', + 47 => 'http://wiki.nginx.org/HttpSecureLinkModule#{FNAME}', + 48 => 'http://wiki.nginx.org/MailCoreModule#{FNAME}', + 49 => 'http://wiki.nginx.org/MailAuthModule#{FNAME}', + 50 => 'http://wiki.nginx.org/MailProxyModule#{FNAME}', + 51 => 'http://wiki.nginx.org/MailSslModule#{FNAME}', + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array(), + 'REGEXPS' => array( + 0 => '[\\$%@]+[a-zA-Z_][a-zA-Z0-9_]*', + 4 => '<[a-zA-Z_][a-zA-Z0-9_]*>', + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array(), + 'HIGHLIGHT_STRICT_BLOCK' => array() +); diff --git a/inc/geshi/nsis.php b/vendor/easybook/geshi/geshi/nsis.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/nsis.php rename to vendor/easybook/geshi/geshi/nsis.php index 35df9b4b8113daf38271420215b734daf7b2055e..29ba952b4aecdfa99772e11c9988d67004a4cbcd --- a/inc/geshi/nsis.php +++ b/vendor/easybook/geshi/geshi/nsis.php @@ -347,5 +347,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/oberon2.php b/vendor/easybook/geshi/geshi/oberon2.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/oberon2.php rename to vendor/easybook/geshi/geshi/oberon2.php diff --git a/inc/geshi/objc.php b/vendor/easybook/geshi/geshi/objc.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/objc.php rename to vendor/easybook/geshi/geshi/objc.php index 2f5162d76f69e000404631905b3d6bf08a74546a..52576c16a547ca01d19ff42e4446c0eb2683458b --- a/inc/geshi/objc.php +++ b/vendor/easybook/geshi/geshi/objc.php @@ -354,5 +354,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/objeck.php b/vendor/easybook/geshi/geshi/objeck.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/objeck.php rename to vendor/easybook/geshi/geshi/objeck.php diff --git a/inc/geshi/ocaml-brief.php b/vendor/easybook/geshi/geshi/ocaml-brief.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/ocaml-brief.php rename to vendor/easybook/geshi/geshi/ocaml-brief.php index b518adf8775016f46f92410fb5ad7f9284ac73bc..c5fee2feca83cb939a28e2ef595bd66a116fbe18 --- a/inc/geshi/ocaml-brief.php +++ b/vendor/easybook/geshi/geshi/ocaml-brief.php @@ -108,5 +108,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/ocaml.php b/vendor/easybook/geshi/geshi/ocaml.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/ocaml.php rename to vendor/easybook/geshi/geshi/ocaml.php diff --git a/inc/geshi/octave.php b/vendor/easybook/geshi/geshi/octave.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/octave.php rename to vendor/easybook/geshi/geshi/octave.php index ccffcd97aa466070464f06b225428b52d1193ac4..7bab9b1389c865a557d38ac1ac61d5ecfeb1054b --- a/inc/geshi/octave.php +++ b/vendor/easybook/geshi/geshi/octave.php @@ -511,5 +511,3 @@ $language_data = array ( 'SCRIPT' => array(), ) ); - -?> diff --git a/inc/geshi/oobas.php b/vendor/easybook/geshi/geshi/oobas.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/oobas.php rename to vendor/easybook/geshi/geshi/oobas.php index ff75af65f3b376be3c4b9b85e88c4d16816910bc..25c345bbb9601b7b5c952e261cc3d61d3b5e1873 --- a/inc/geshi/oobas.php +++ b/vendor/easybook/geshi/geshi/oobas.php @@ -131,5 +131,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/oorexx.php b/vendor/easybook/geshi/geshi/oorexx.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/oorexx.php rename to vendor/easybook/geshi/geshi/oorexx.php index 62c6cc46341c8333140956df66828037184fdb54..15cdd92e7cf14a8bc45a9a74a7e2d456d1967a13 --- a/inc/geshi/oorexx.php +++ b/vendor/easybook/geshi/geshi/oorexx.php @@ -167,5 +167,3 @@ $language_data = array ( ), 'TAB_WIDTH' => 4 ); - -?> diff --git a/inc/geshi/oracle11.php b/vendor/easybook/geshi/geshi/oracle11.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/oracle11.php rename to vendor/easybook/geshi/geshi/oracle11.php index 16259e6953065675a0dd992371e644ff615e85b4..97b147f5d188192c2e4047ae395f0d173a1c5360 --- a/inc/geshi/oracle11.php +++ b/vendor/easybook/geshi/geshi/oracle11.php @@ -610,5 +610,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/oracle8.php b/vendor/easybook/geshi/geshi/oracle8.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/oracle8.php rename to vendor/easybook/geshi/geshi/oracle8.php index 145bda407751b48350cffaaded565459f4fbd8b6..b49390806c646451ad094dd7c989d409f8dfc132 --- a/inc/geshi/oracle8.php +++ b/vendor/easybook/geshi/geshi/oracle8.php @@ -492,5 +492,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/oxygene.php b/vendor/easybook/geshi/geshi/oxygene.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/oxygene.php rename to vendor/easybook/geshi/geshi/oxygene.php diff --git a/inc/geshi/oz.php b/vendor/easybook/geshi/geshi/oz.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/oz.php rename to vendor/easybook/geshi/geshi/oz.php diff --git a/inc/geshi/parasail.php b/vendor/easybook/geshi/geshi/parasail.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/parasail.php rename to vendor/easybook/geshi/geshi/parasail.php diff --git a/vendor/easybook/geshi/geshi/parigp.php b/vendor/easybook/geshi/geshi/parigp.php new file mode 100755 index 0000000000000000000000000000000000000000..1a5d4a73ec5c5467293da2beebec5783dddc918d --- /dev/null +++ b/vendor/easybook/geshi/geshi/parigp.php @@ -0,0 +1,293 @@ +<?php +/************************************************************************************* + * parigp.php + * -------- + * Author: Charles R Greathouse IV (charles@crg4.com) + * Copyright: 2011-2013 Charles R Greathouse IV (http://math.crg4.com/) + * Release Version: 1.0.8.12 + * Date Started: 2011/05/11 + * + * PARI/GP language file for GeSHi. + * + * CHANGES + * ------- + * 2011/07/09 (1.0.8.11) + * - First Release + * 2013/02/05 (1.0.8.12) + * - Added 2.6.0 commands, default, member functions, and error-handling + * + * TODO (updated 2011/07/09) + * ------------------------- + * + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array( + 'LANG_NAME' => 'PARI/GP', + 'COMMENT_SINGLE' => array(1 => '\\\\'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"'), + 'ESCAPE_CHAR' => '\\', + 'NUMBERS' => array( + # Integers + 1 => GESHI_NUMBER_INT_BASIC, + # Reals + 2 => GESHI_NUMBER_FLT_SCI_ZERO + ), + 'KEYWORDS' => array( + 1 => array( + 'abs','acos','acosh','addhelp','addprimes','agm','alarm','algdep', + 'alias','allocatemem','apply','arg','asin','asinh','atan','atanh', + 'bernfrac','bernpol','bernreal','bernvec','besselh1','besselh2', + 'besseli','besselj','besseljh','besselk','besseln','bestappr', + 'bestapprPade','bezout','bezoutres','bigomega','binary','binomial', + 'bitand','bitneg','bitnegimply','bitor','bittest','bitxor', + 'bnfcertify','bnfcompress','bnfdecodemodule','bnfinit', + 'bnfisintnorm','bnfisnorm','bnfisprincipal','bnfissunit', + 'bnfisunit','bnfnarrow','bnfsignunit','bnfsunit','bnrclassno', + 'bnrclassnolist','bnrconductor','bnrconductorofchar','bnrdisc', + 'bnrdisclist','bnrinit','bnrisconductor','bnrisprincipal','bnrL1', + 'bnrrootnumber','bnrstark','break','breakpoint','Catalan','ceil', + 'centerlift','charpoly','chinese','cmp','Col','component','concat', + 'conj','conjvec','content','contfrac','contfracpnqn','core', + 'coredisc','cos','cosh','cotan','dbg_down','dbg_err','dbg_up', + 'dbg_x','default','denominator','deriv','derivnum','diffop', + 'digits','dilog','dirdiv','direuler','dirmul','dirzetak','divisors', + 'divrem','eint1','elladd','ellak','ellan','ellanalyticrank','ellap', + 'ellbil','ellcard','ellchangecurve','ellchangepoint', + 'ellconvertname','elldivpol','elleisnum','elleta','ellffinit', + 'ellfromj','ellgenerators','ellglobalred','ellgroup','ellheegner', + 'ellheight','ellheightmatrix','ellidentify','ellinit', + 'ellisoncurve','ellj','ellL1','elllocalred','elllog','elllseries', + 'ellminimalmodel','ellmodulareqn','ellmul','ellneg','ellorder', + 'ellordinate','ellpointtoz','ellrootno','ellsearch','ellsigma', + 'ellsub','elltaniyama','elltatepairing','elltors','ellweilpairing', + 'ellwp','ellzeta','ellztopoint','erfc','errname','error','eta','Euler', + 'eulerphi','eval','exp','extern','externstr','factor','factorback', + 'factorcantor','factorff','factorial','factorint','factormod', + 'factornf','factorpadic','ffgen','ffinit','fflog','ffnbirred', + 'fforder','ffprimroot','fibonacci','floor','for','forcomposite','fordiv','forell', + 'forprime','forqfvec','forstep','forsubgroup','forvec','frac','galoisexport', + 'galoisfixedfield','galoisgetpol','galoisidentify','galoisinit', + 'galoisisabelian','galoisisnormal','galoispermtopol', + 'galoissubcyclo','galoissubfields','galoissubgroups','gamma', + 'gammah','gcd','getenv','getheap','getrand','getstack','gettime', + 'global','hammingweight','hilbert','hyperu','I','idealadd', + 'idealaddtoone','idealappr','idealchinese','idealcoprime', + 'idealdiv','idealfactor','idealfactorback','idealfrobenius', + 'idealhnf','idealintersect','idealinv','ideallist','ideallistarch', + 'ideallog','idealmin','idealmul','idealnorm','idealnumden', + 'idealpow','idealprimedec','idealramgroups','idealred','idealstar', + 'idealtwoelt','idealval','if','iferr','iferrname','imag','incgam','incgamc','input', + 'install','intcirc','intformal','intfouriercos','intfourierexp', + 'intfouriersin','intfuncinit','intlaplaceinv','intmellininv', + 'intmellininvshort','intnum','intnuminit','intnuminitgen', + 'intnumromb','intnumstep','isfundamental','ispolygonal','ispower','ispowerful', + 'isprime','isprimepower','ispseudoprime','issquare','issquarefree','istotient', + 'kill','kronecker','lcm','length','lex','lift','lindep','List', + 'listcreate','listinsert','listkill','listpop','listput','listsort', + 'lngamma','local','log','Mat','matadjoint','matalgtobasis', + 'matbasistoalg','matcompanion','matconcat','matcontent','matdet','matdetint', + 'matdiagonal','mateigen','matfrobenius','mathess','mathilbert', + 'mathnf','mathnfmod','mathnfmodid','matid','matimage', + 'matimagecompl','matindexrank','matintersect','matinverseimage', + 'matisdiagonal','matker','matkerint','matmuldiagonal', + 'matmultodiagonal','matpascal','matrank','matrix','matrixqz', + 'matsize','matsnf','matsolve','matsolvemod','matsupplement', + 'mattranspose','max','min','minpoly','Mod','modreverse','moebius', + 'my','newtonpoly','next','nextprime','nfalgtobasis','nfbasis', + 'nfbasistoalg','nfdetint','nfdisc','nfeltadd','nfeltdiv', + 'nfeltdiveuc','nfeltdivmodpr','nfeltdivrem','nfeltmod','nfeltmul', + 'nfeltmulmodpr','nfeltnorm','nfeltpow','nfeltpowmodpr', + 'nfeltreduce','nfeltreducemodpr','nfelttrace','nfeltval','nffactor', + 'nffactorback','nffactormod','nfgaloisapply','nfgaloisconj', + 'nfhilbert','nfhnf','nfhnfmod','nfinit','nfisideal','nfisincl', + 'nfisisom','nfkermodpr','nfmodprinit','nfnewprec','nfroots', + 'nfrootsof1','nfsnf','nfsolvemodpr','nfsubfields','norm','norml2', + 'numbpart','numdiv','numerator','numtoperm','O','omega','padicappr', + 'padicfields','padicprec','partitions','permtonum','Pi','plot', + 'plotbox','plotclip','plotcolor','plotcopy','plotcursor','plotdraw', + 'ploth','plothraw','plothsizes','plotinit','plotkill','plotlines', + 'plotlinetype','plotmove','plotpoints','plotpointsize', + 'plotpointtype','plotrbox','plotrecth','plotrecthraw','plotrline', + 'plotrmove','plotrpoint','plotscale','plotstring','Pol', + 'polchebyshev','polcoeff','polcompositum','polcyclo','polcyclofactors','poldegree', + 'poldisc','poldiscreduced','polgalois','polgraeffe','polhensellift', + 'polhermite','polinterpolate','poliscyclo','poliscycloprod', + 'polisirreducible','pollead','pollegendre','polrecip','polred', + 'polredabs','polredbest','polredord','polresultant','Polrev','polroots', + 'polrootsff','polrootsmod','polrootspadic','polsturm','polsubcyclo', + 'polsylvestermatrix','polsym','poltchebi','poltschirnhaus', + 'polylog','polzagier','precision','precprime','prime','primepi', + 'primes','print','print1','printf','printsep','printtex','prod','prodeuler', + 'prodinf','psdraw','psi','psploth','psplothraw','Qfb','qfbclassno', + 'qfbcompraw','qfbhclassno','qfbnucomp','qfbnupow','qfbpowraw', + 'qfbprimeform','qfbred','qfbsolve','qfgaussred','qfjacobi','qflll', + 'qflllgram','qfminim','qfperfection','qfrep','qfsign', + 'quadclassunit','quaddisc','quadgen','quadhilbert','quadpoly', + 'quadray','quadregulator','quadunit','quit','random','randomprime','read', + 'readvec','real','removeprimes','return','rnfalgtobasis','rnfbasis', + 'rnfbasistoalg','rnfcharpoly','rnfconductor','rnfdedekind','rnfdet', + 'rnfdisc','rnfeltabstorel','rnfeltdown','rnfeltreltoabs','rnfeltup', + 'rnfequation','rnfhnfbasis','rnfidealabstorel','rnfidealdown', + 'rnfidealhnf','rnfidealmul','rnfidealnormabs','rnfidealnormrel', + 'rnfidealreltoabs','rnfidealtwoelt','rnfidealup','rnfinit', + 'rnfisabelian','rnfisfree','rnfisnorm','rnfisnorminit','rnfkummer', + 'rnflllgram','rnfnormgroup','rnfpolred','rnfpolredabs', + 'rnfpseudobasis','rnfsteinitz','round','select','Ser','serconvol', + 'serlaplace','serreverse','Set','setbinop','setintersect', + 'setisset','setminus','setrand','setsearch','setunion','shift', + 'shiftmul','sigma','sign','simplify','sin','sinh','sizebyte', + 'sizedigit','solve','sqr','sqrt','sqrtint','sqrtn','sqrtnint','stirling','Str', + 'Strchr','Strexpand','Strprintf','Strtex','subgrouplist','subst', + 'substpol','substvec','sum','sumalt','sumdedekind','sumdiv','sumdivmult','sumdigits', + 'sumformal','suminf','sumnum','sumnumalt','sumnuminit','sumpos','system','tan', + 'tanh','taylor','teichmuller','theta','thetanullk','thue', + 'thueinit','trace','trap','truncate','type','until','valuation', + 'variable','Vec','vecextract','vecmax','vecmin','Vecrev', + 'vecsearch','Vecsmall','vecsort','vector','vectorsmall','vectorv', + 'version','warning','weber','whatnow','while','write','write1', + 'writebin','writetex','zeta','zetak','zetakinit','zncoppersmith', + 'znlog','znorder','znprimroot','znstar' + ), + + 2 => array( + 'void','bool','negbool','small','int',/*'real',*/'mp','var','lg','pol', + 'vecsmall','vec','list','str','genstr','gen','typ' + ), + + 3 => array( + 'TeXstyle','breakloop','colors','compatible','datadir','debug', + 'debugfiles','debugmem','echo','factor_add_primes','factor_proven', + 'format','graphcolormap','graphcolors','help','histfile','histsize', + 'lines','linewrap',/*'log',*/'logfile','new_galois_format','output', + 'parisize','path','prettyprinter','primelimit','prompt_cont', + 'prompt','psfile','readline','realprecision','recover','secure', + 'seriesprecision',/*'simplify',*/'sopath','strictmatch','timer' + ), + + 4 => array( + '"e_ARCH"','"e_BUG"','"e_FILE"','"e_IMPL"','"e_PACKAGE"','"e_DIM"', + '"e_FLAG"','"e_NOTFUNC"','"e_OP"','"e_TYPE"','"e_TYPE2"', + '"e_PRIORITY"','"e_VAR"','"e_DOMAIN"','"e_MAXPRIME"','"e_MEM"', + '"e_OVERFLOW"','"e_PREC"','"e_STACK"','"e_ALARM"','"e_USER"', + '"e_CONSTPOL"','"e_COPRIME"','"e_INV"','"e_IRREDPOL"','"e_MISC"', + '"e_MODULUS"','"e_NEGVAL"','"e_PRIME"','"e_ROOTS0"','"e_SQRTN"' + ) + ), + 'SYMBOLS' => array( + 1 => array( + '(',')','{','}','[',']','+','-','*','/','%','=','<','>','!','^','&','|','?',';',':',',','\\','\'' + ) + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + 3 => true, + 4 => true + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #0000ff;', + 2 => 'color: #e07022;', + 3 => 'color: #00d2d2;', + 4 => 'color: #00d2d2;' + ), + 'COMMENTS' => array( + 1 => 'color: #008000;', + 'MULTI' => 'color: #008000;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #111111; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #002222;' + ), + 'STRINGS' => array( + 0 => 'color: #800080;' + ), + 'NUMBERS' => array( + 0 => 'color: #666666;', + 1 => 'color: #666666;', + 2 => 'color: #666666;' + ), + 'METHODS' => array( + 0 => 'color: #004000;' + ), + 'SYMBOLS' => array( + 1 => 'color: #339933;' + ), + 'REGEXPS' => array( + 0 => 'color: #e07022', # Should be the same as keyword group 2 + 1 => 'color: #555555', + 2 => 'color: #0000ff' # Should be the same as keyword group 1 + ), + 'SCRIPT' => array() + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.' + ), + 'REGEXPS' => array( + 0 => array( # types marked on variables + GESHI_SEARCH => '(?<!\\\\ )"(t_(?:INT|REAL|INTMOD|FRAC|FFELT|COMPLEX|PADIC|QUAD|POLMOD|POL|SER|RFRAC|QFR|QFI|VEC|COL|MAT|LIST|STR|VECSMALL|CLOSURE|ERROR))"', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '"', + GESHI_AFTER => '"' + ), + 1 => array( # literal variables + GESHI_SEARCH => '(?<!\\\\)(\'[a-zA-Z][a-zA-Z0-9_]*)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + 2 => array( # member functions + GESHI_SEARCH => '(?<=[.])(a[1-6]|b[2-8]|c[4-6]|area|bid|bnf|clgp|cyc|diff|disc|[efjp]|fu|gen|index|mod|nf|no|omega|pol|reg|roots|sign|r[12]|t2|tate|tu|zk|zkst)\b', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ) + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + 2 => array( + '[a-zA-Z][a-zA-Z0-9_]*:' => '' + ), + 3 => array( + 'default(' => '' + ), + 4 => array( + 'iferrname(' => '' + ), + ), + 'HIGHLIGHT_STRICT_BLOCK' => array() +); diff --git a/inc/geshi/pascal.php b/vendor/easybook/geshi/geshi/pascal.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/pascal.php rename to vendor/easybook/geshi/geshi/pascal.php diff --git a/inc/geshi/pcre.php b/vendor/easybook/geshi/geshi/pcre.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/pcre.php rename to vendor/easybook/geshi/geshi/pcre.php diff --git a/inc/geshi/per.php b/vendor/easybook/geshi/geshi/per.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/per.php rename to vendor/easybook/geshi/geshi/per.php index c42ddb58a76e6b28054e978cb8ca4581fa995bc1..c3b5d15082c814b0dcdb2ec25b295b89985d38ef --- a/inc/geshi/per.php +++ b/vendor/easybook/geshi/geshi/per.php @@ -298,5 +298,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/perl.php b/vendor/easybook/geshi/geshi/perl.php old mode 100644 new mode 100755 similarity index 89% rename from inc/geshi/perl.php rename to vendor/easybook/geshi/geshi/perl.php index 309ebd86120fdccd1a3b1d6ec8199bc712e404e7..2c3dc92fe6423a144c7eb2cfbf47dd8e5a7e3e05 --- a/inc/geshi/perl.php +++ b/vendor/easybook/geshi/geshi/perl.php @@ -74,6 +74,12 @@ $language_data = array ( //Predefined variables 5 => '/\$(\^[a-zA-Z]?|[\*\$`\'&_\.,+\-~:;\\\\\/"\|%=\?!@#<>\(\)\[\]])(?!\w)|@[_+\-]|%[!]|\$(?=\{)/', ), + 'NUMBERS' => array( + // Includes rules for decimal, octal (0777), hexidecimal (0xDEADBEEF), + // binary (0b101010) numbers, amended to work with underscores (since + // Perl allows you to use underscores in number literals) + 0 => '(?:(?<![0-9a-z_\.%$@])|(?<=\.\.))(?<![\d\._]e[+\-])([1-9][\d_]*?|0)(?![0-9a-z_]|\.(?:[eE][+\-]?)?[\d_])|(?<![0-9a-z_\.%])(?<![\d\._]e[+\-])0b[01_]+?(?![0-9a-z_]|\.(?:[eE][+\-]?)?[\d_])|(?<![0-9a-z_\.])(?<![\d\._]e[+\-])0[0-7_]+?(?![0-9a-z_]|\.(?:[eE][+\-]?)?[\d_])|(?<![0-9a-z_\.])(?<![\d\._]e[+\-])0x[0-9a-fA-F_]+?(?![0-9a-z_]|\.(?:[eE][+\-]?)?[\d_])|(?<![0-9a-z_\.])(?<![\d\._]e[+\-])[\d_]+?\.[\d_]+?(?![0-9a-z_]|\.(?:[eE][+\-]?)?[\d_])', + ), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array('"','`'), 'HARDQUOTE' => array("'", "'"), // An optional 2-element array defining the beginning and end of a hard-quoted string @@ -106,7 +112,7 @@ $language_data = array ( 'getnetent', 'getpeername', 'getpgrp', 'getppid', 'getpriority', 'getprotobyname', 'getprotobynumber', 'getprotoent', 'getpwent', 'getpwnam', 'getpwuid', 'getservbyname', 'getservbyport', 'getservent', - 'getsockname', 'getsockopt', 'glob', 'gmtime', 'goto', 'grep', + 'getsockname', 'getsockopt', 'given', 'glob', 'gmtime', 'goto', 'grep', 'hex', 'import', 'index', 'int', 'ioctl', 'join', 'keys', 'kill', 'lc', 'lcfirst', 'length', 'link', 'listen', 'local', 'localtime', 'log', 'lstat', 'm', 'map', 'mkdir', 'msgctl', 'msgget', @@ -115,17 +121,17 @@ $language_data = array ( 'printf', 'prototype', 'push', 'qq', 'qr', 'quotemeta', 'qw', 'qx', 'q', 'rand', 'read', 'readdir', 'readline', 'readlink', 'readpipe', 'recv', 'ref', 'rename', 'require', 'return', - 'reverse', 'rewinddir', 'rindex', 'rmdir', 's', 'scalar', 'seek', + 'reverse', 'rewinddir', 'rindex', 'rmdir', 's', 'say', 'scalar', 'seek', 'seekdir', 'select', 'semctl', 'semget', 'semop', 'send', 'setgrent', 'sethostent', 'setnetent', 'setpgrp', 'setpriority', 'setprotoent', 'setpwent', 'setservent', 'setsockopt', 'shift', 'shmctl', 'shmget', 'shmread', 'shmwrite', 'shutdown', 'sin', 'sleep', 'socket', 'socketpair', - 'sort', 'splice', 'split', 'sprintf', 'sqrt', 'srand', 'stat', + 'sort', 'splice', 'split', 'sprintf', 'sqrt', 'srand', 'stat', 'state', 'study', 'substr', 'symlink', 'syscall', 'sysopen', 'sysread', 'sysseek', 'system', 'syswrite', 'tell', 'telldir', 'tie', 'tied', 'time', 'times', 'tr', 'truncate', 'uc', 'ucfirst', 'umask', 'undef', 'unlink', 'unpack', 'unshift', 'untie', 'utime', 'values', - 'vec', 'wait', 'waitpid', 'wantarray', 'warn', 'write', 'y' + 'vec', 'wait', 'waitpid', 'wantarray', 'warn', 'when', 'write', 'y' ) ), 'SYMBOLS' => array( diff --git a/inc/geshi/perl6.php b/vendor/easybook/geshi/geshi/perl6.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/perl6.php rename to vendor/easybook/geshi/geshi/perl6.php diff --git a/inc/geshi/pf.php b/vendor/easybook/geshi/geshi/pf.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/pf.php rename to vendor/easybook/geshi/geshi/pf.php diff --git a/inc/geshi/php-brief.php b/vendor/easybook/geshi/geshi/php-brief.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/php-brief.php rename to vendor/easybook/geshi/geshi/php-brief.php diff --git a/inc/geshi/php.php b/vendor/easybook/geshi/geshi/php.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/php.php rename to vendor/easybook/geshi/geshi/php.php index 2827457b17db416b36ebf1f80a6e4da83e9de175..7b5c16e189763608f8cd379f589befa829172fac --- a/inc/geshi/php.php +++ b/vendor/easybook/geshi/geshi/php.php @@ -1113,5 +1113,3 @@ $language_data = array( ), 'TAB_WIDTH' => 4 ); - -?> diff --git a/inc/geshi/pic16.php b/vendor/easybook/geshi/geshi/pic16.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/pic16.php rename to vendor/easybook/geshi/geshi/pic16.php index 46d7ac94db2f3c8a697375a88daae7b47e7c2867..2e28f17b62ab80df8367f0f4772ce55535342ae5 --- a/inc/geshi/pic16.php +++ b/vendor/easybook/geshi/geshi/pic16.php @@ -137,5 +137,3 @@ $language_data = array ( ) ) ); - -?> diff --git a/inc/geshi/pike.php b/vendor/easybook/geshi/geshi/pike.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/pike.php rename to vendor/easybook/geshi/geshi/pike.php index 743f711b15b42e0b220dbc997ba039b478c9863e..dcc53092d37bd4fa86a27859109039f24ffb1fb8 --- a/inc/geshi/pike.php +++ b/vendor/easybook/geshi/geshi/pike.php @@ -99,5 +99,3 @@ $language_data = array( 'SCRIPT_DELIMITERS' => array(), 'HIGHLIGHT_STRICT_BLOCK' => array() ); - -?> diff --git a/inc/geshi/pixelbender.php b/vendor/easybook/geshi/geshi/pixelbender.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/pixelbender.php rename to vendor/easybook/geshi/geshi/pixelbender.php index 7b29ee6c3d82bd40d2ff433b166ae6e686ca15c0..6a2c8dea09670837d323910da286917ac7548672 --- a/inc/geshi/pixelbender.php +++ b/vendor/easybook/geshi/geshi/pixelbender.php @@ -172,5 +172,3 @@ $language_data = array( 'HIGHLIGHT_STRICT_BLOCK' => array() ); - -?> diff --git a/inc/geshi/pli.php b/vendor/easybook/geshi/geshi/pli.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/pli.php rename to vendor/easybook/geshi/geshi/pli.php diff --git a/inc/geshi/plsql.php b/vendor/easybook/geshi/geshi/plsql.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/plsql.php rename to vendor/easybook/geshi/geshi/plsql.php index 09f90a225c6c1f147afd2fe7b999474f4b220c96..58f7c90f4b742b6f6328d48720b3094313b64f6b --- a/inc/geshi/plsql.php +++ b/vendor/easybook/geshi/geshi/plsql.php @@ -252,5 +252,3 @@ $language_data = array ( 'SCRIPT_DELIMITERS' => array(), 'HIGHLIGHT_STRICT_BLOCK' => array() ); - -?> diff --git a/inc/geshi/postgresql.php b/vendor/easybook/geshi/geshi/postgresql.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/postgresql.php rename to vendor/easybook/geshi/geshi/postgresql.php diff --git a/inc/geshi/povray.php b/vendor/easybook/geshi/geshi/povray.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/povray.php rename to vendor/easybook/geshi/geshi/povray.php diff --git a/inc/geshi/powerbuilder.php b/vendor/easybook/geshi/geshi/powerbuilder.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/powerbuilder.php rename to vendor/easybook/geshi/geshi/powerbuilder.php diff --git a/inc/geshi/powershell.php b/vendor/easybook/geshi/geshi/powershell.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/powershell.php rename to vendor/easybook/geshi/geshi/powershell.php diff --git a/inc/geshi/proftpd.php b/vendor/easybook/geshi/geshi/proftpd.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/proftpd.php rename to vendor/easybook/geshi/geshi/proftpd.php diff --git a/inc/geshi/progress.php b/vendor/easybook/geshi/geshi/progress.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/progress.php rename to vendor/easybook/geshi/geshi/progress.php diff --git a/inc/geshi/prolog.php b/vendor/easybook/geshi/geshi/prolog.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/prolog.php rename to vendor/easybook/geshi/geshi/prolog.php diff --git a/inc/geshi/properties.php b/vendor/easybook/geshi/geshi/properties.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/properties.php rename to vendor/easybook/geshi/geshi/properties.php diff --git a/inc/geshi/providex.php b/vendor/easybook/geshi/geshi/providex.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/providex.php rename to vendor/easybook/geshi/geshi/providex.php index 1e735bd0f47fcb8da88ddd438b2ba2597fb6e0b4..1a7b08bbee976ca693f5cb93629257aaab0e49d9 --- a/inc/geshi/providex.php +++ b/vendor/easybook/geshi/geshi/providex.php @@ -295,5 +295,3 @@ $language_data = array ( ), 'TAB_WIDTH' => 4 ); - -?> diff --git a/inc/geshi/purebasic.php b/vendor/easybook/geshi/geshi/purebasic.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/purebasic.php rename to vendor/easybook/geshi/geshi/purebasic.php diff --git a/inc/geshi/pycon.php b/vendor/easybook/geshi/geshi/pycon.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/pycon.php rename to vendor/easybook/geshi/geshi/pycon.php diff --git a/inc/geshi/pys60.php b/vendor/easybook/geshi/geshi/pys60.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/pys60.php rename to vendor/easybook/geshi/geshi/pys60.php index 59c67fac73f62c5cdfff370d9ee863c7a084116f..865b59adbd0e5810a6225cc269671a6b34330f0b --- a/inc/geshi/pys60.php +++ b/vendor/easybook/geshi/geshi/pys60.php @@ -269,5 +269,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/python.php b/vendor/easybook/geshi/geshi/python.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/python.php rename to vendor/easybook/geshi/geshi/python.php diff --git a/inc/geshi/q.php b/vendor/easybook/geshi/geshi/q.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/q.php rename to vendor/easybook/geshi/geshi/q.php diff --git a/inc/geshi/qbasic.php b/vendor/easybook/geshi/geshi/qbasic.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/qbasic.php rename to vendor/easybook/geshi/geshi/qbasic.php diff --git a/vendor/easybook/geshi/geshi/racket.php b/vendor/easybook/geshi/geshi/racket.php new file mode 100644 index 0000000000000000000000000000000000000000..c0d931b41f8c0c4ead844cb7b32474d9fdd577ce --- /dev/null +++ b/vendor/easybook/geshi/geshi/racket.php @@ -0,0 +1,964 @@ +<?php +/************************************************************************************* + * racket.php + * ---------- + * Author: Tim Brown (tim@timb.net) + * Copyright: (c) 2013 Tim Brown ((https://github.com/tim-brown/geshi-racket)) + * Release Version: 1.0.8.12 + * Date Started: 2013-03-01 + * + * Racket language file for GeSHi. + * + * This file was built automatically from the scripts in + * https://github.com/tim-brown/geshi-racket (you didn't think + * I typed those NUMBER regular expressions in myself, did you?). + * Use those scripts to regenerate the file. + * + * CHANGES + * ------- + * 1.0 (2013-03-31) + * - Initial Release1.1 (2013-03-31) + * - Added URLs, "symbol"-like identifiers moved to SYMBOLS* + * + * TODO (updated 2013-04-25) + * ------------------------- + * * better handling of empty and short arrays + * * care more about indentation and line lengths + * * most compound regexps are possibly over-bracketed: (or ...) + * * most compound regexps are possibly over-bracketed: (: ...) + * * URLs should be formed more smartly by discovering which module they came from. + * * '|...| identifiers + * * #<<HERE strings + * * #;(...) comments -- (note: requires balanced parenthesis regexp) + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array( + 'LANG_NAME' => 'Racket', + 'COMMENT_SINGLE' => array( + 1 => ';', + ), + 'COMMENT_MULTI' => array( + '#|' => '|#', + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"', + ), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + 1 => array( + 'abort-current-continuation', 'abs', 'absolute-path?', 'acos', 'add1', + 'alarm-evt', 'always-evt', 'andmap', 'angle', 'append', + 'arithmetic-shift', 'arity-at-least-value', 'arity-at-least?', + 'asin', 'assf', 'assoc', 'assq', 'assv', 'atan', 'banner', + 'bitwise-and', 'bitwise-bit-field', 'bitwise-bit-set?', + 'bitwise-ior', 'bitwise-not', 'bitwise-xor', 'boolean?', + 'bound-identifier=?', 'box', 'box-cas!', 'box-immutable', 'box?', + 'break-enabled', 'break-thread', 'build-list', 'build-path', + 'build-path/convention-type', 'build-string', 'build-vector', + 'byte-pregexp', 'byte-pregexp?', 'byte-ready?', 'byte-regexp', + 'byte-regexp?', 'byte?', 'bytes', 'bytes>?', 'bytes<?', + 'bytes->immutable-bytes', 'bytes->list', 'bytes->path', + 'bytes->path-element', 'bytes->string/latin-1', + 'bytes->string/locale', 'bytes->string/utf-8', + 'bytes-append', 'bytes-close-converter', 'bytes-convert', + 'bytes-convert-end', 'bytes-converter?', 'bytes-copy', + 'bytes-copy!', 'bytes-fill!', 'bytes-length', + 'bytes-open-converter', 'bytes-ref', 'bytes-set!', + 'bytes-utf-8-index', 'bytes-utf-8-length', 'bytes-utf-8-ref', + 'bytes=?', 'bytes?', 'caaaar', 'caaadr', 'caaar', 'caadar', + 'caaddr', 'caadr', 'caar', 'cadaar', 'cadadr', 'cadar', 'caddar', + 'cadddr', 'caddr', 'cadr', 'call-in-nested-thread', + 'call-with-break-parameterization', + 'call-with-composable-continuation', + 'call-with-continuation-barrier', 'call-with-continuation-prompt', + 'call-with-current-continuation', 'call-with-escape-continuation', + 'call-with-exception-handler', + 'call-with-immediate-continuation-mark', + 'call-with-parameterization', 'call-with-semaphore', + 'call-with-semaphore/enable-break', 'call-with-values', 'call/cc', + 'call/ec', 'car', 'cdaaar', 'cdaadr', 'cdaar', 'cdadar', 'cdaddr', + 'cdadr', 'cdar', 'cddaar', 'cddadr', 'cddar', 'cdddar', 'cddddr', + 'cdddr', 'cddr', 'cdr', 'ceiling', 'channel-get', 'channel-put', + 'channel-put-evt', 'channel-put-evt?', 'channel-try-get', + 'channel?', 'chaperone-box', 'chaperone-continuation-mark-key', + 'chaperone-evt', 'chaperone-hash', 'chaperone-of?', + 'chaperone-procedure', 'chaperone-prompt-tag', 'chaperone-struct', + 'chaperone-struct-type', 'chaperone-vector', 'chaperone?', + 'char>=?', 'char>?', 'char<=?', 'char<?', + 'char->integer', 'char-alphabetic?', 'char-blank?', + 'char-ci>=?', 'char-ci>?', 'char-ci<=?', 'char-ci<?', + 'char-ci=?', 'char-downcase', 'char-foldcase', + 'char-general-category', 'char-graphic?', 'char-iso-control?', + 'char-lower-case?', 'char-numeric?', 'char-punctuation?', + 'char-ready?', 'char-symbolic?', 'char-title-case?', + 'char-titlecase', 'char-upcase', 'char-upper-case?', + 'char-utf-8-length', 'char-whitespace?', 'char=?', 'char?', + 'check-duplicate-identifier', + 'checked-procedure-check-and-extract', 'choice-evt', + 'cleanse-path', 'close-input-port', 'close-output-port', + 'collect-garbage', 'collection-file-path', 'collection-path', + 'compile', 'compile-allow-set!-undefined', + 'compile-context-preservation-enabled', + 'compile-enforce-module-constants', 'compile-syntax', + 'compiled-expression?', 'compiled-module-expression?', + 'complete-path?', 'complex?', 'compose', 'compose1', 'cons', + 'continuation-mark-key?', 'continuation-mark-set->context', + 'continuation-mark-set->list', + 'continuation-mark-set->list*', 'continuation-mark-set-first', + 'continuation-mark-set?', 'continuation-marks', + 'continuation-prompt-available?', 'continuation-prompt-tag?', + 'continuation?', 'copy-file', 'cos', + 'current-break-parameterization', 'current-code-inspector', + 'current-command-line-arguments', 'current-compile', + 'current-compiled-file-roots', 'current-continuation-marks', + 'current-custodian', 'current-directory', 'current-drive', + 'current-error-port', 'current-eval', + 'current-evt-pseudo-random-generator', 'current-gc-milliseconds', + 'current-get-interaction-input-port', + 'current-inexact-milliseconds', 'current-input-port', + 'current-inspector', 'current-library-collection-paths', + 'current-load', 'current-load-extension', + 'current-load-relative-directory', 'current-load/use-compiled', + 'current-locale', 'current-logger', 'current-memory-use', + 'current-milliseconds', 'current-module-declare-name', + 'current-module-declare-source', 'current-module-name-resolver', + 'current-namespace', 'current-output-port', + 'current-parameterization', 'current-preserved-thread-cell-values', + 'current-print', 'current-process-milliseconds', + 'current-prompt-read', 'current-pseudo-random-generator', + 'current-read-interaction', 'current-reader-guard', + 'current-readtable', 'current-seconds', 'current-security-guard', + 'current-subprocess-custodian-mode', 'current-thread', + 'current-thread-group', 'current-thread-initial-stack-size', + 'current-write-relative-directory', 'custodian-box-value', + 'custodian-box?', 'custodian-limit-memory', + 'custodian-managed-list', 'custodian-memory-accounting-available?', + 'custodian-require-memory', 'custodian-shutdown-all', 'custodian?', + 'custom-print-quotable-accessor', 'custom-print-quotable?', + 'custom-write-accessor', 'custom-write?', 'date*-nanosecond', + 'date*-time-zone-name', 'date*?', 'date-day', 'date-dst?', + 'date-hour', 'date-minute', 'date-month', 'date-second', + 'date-time-zone-offset', 'date-week-day', 'date-year', + 'date-year-day', 'date?', 'datum->syntax', + 'datum-intern-literal', 'default-continuation-prompt-tag', + 'delete-directory', 'delete-file', 'denominator', + 'directory-exists?', 'directory-list', 'display', 'displayln', + 'double-flonum?', 'dump-memory-stats', 'dynamic-require', + 'dynamic-require-for-syntax', 'dynamic-wind', 'eof', 'eof-object?', + 'ephemeron-value', 'ephemeron?', 'eprintf', 'eq-hash-code', 'eq?', + 'equal-hash-code', 'equal-secondary-hash-code', 'equal?', + 'equal?/recur', 'eqv-hash-code', 'eqv?', 'error', + 'error-display-handler', 'error-escape-handler', + 'error-print-context-length', 'error-print-source-location', + 'error-print-width', 'error-value->string-handler', 'eval', + 'eval-jit-enabled', 'eval-syntax', 'even?', 'evt?', + 'exact->inexact', 'exact-integer?', + 'exact-nonnegative-integer?', 'exact-positive-integer?', 'exact?', + 'executable-yield-handler', 'exit', 'exit-handler', + 'exn-continuation-marks', 'exn-message', 'exn:break-continuation', + 'exn:break:hang-up?', 'exn:break:terminate?', 'exn:break?', + 'exn:fail:contract:arity?', 'exn:fail:contract:continuation?', + 'exn:fail:contract:divide-by-zero?', + 'exn:fail:contract:non-fixnum-result?', + 'exn:fail:contract:variable-id', 'exn:fail:contract:variable?', + 'exn:fail:contract?', 'exn:fail:filesystem:errno-errno', + 'exn:fail:filesystem:errno?', 'exn:fail:filesystem:exists?', + 'exn:fail:filesystem:version?', 'exn:fail:filesystem?', + 'exn:fail:network:errno-errno', 'exn:fail:network:errno?', + 'exn:fail:network?', 'exn:fail:out-of-memory?', + 'exn:fail:read-srclocs', 'exn:fail:read:eof?', + 'exn:fail:read:non-char?', 'exn:fail:read?', + 'exn:fail:syntax-exprs', 'exn:fail:syntax:unbound?', + 'exn:fail:syntax?', 'exn:fail:unsupported?', 'exn:fail:user?', + 'exn:fail?', 'exn:srclocs-accessor', 'exn:srclocs?', 'exn?', 'exp', + 'expand', 'expand-once', 'expand-syntax', 'expand-syntax-once', + 'expand-syntax-to-top-form', 'expand-to-top-form', + 'expand-user-path', 'expt', 'file-exists?', + 'file-or-directory-identity', 'file-or-directory-modify-seconds', + 'file-or-directory-permissions', 'file-position', 'file-position*', + 'file-size', 'file-stream-buffer-mode', 'file-stream-port?', + 'filesystem-root-list', 'filter', 'find-executable-path', + 'find-library-collection-paths', 'find-system-path', 'findf', + 'fixnum?', 'floating-point-bytes->real', 'flonum?', 'floor', + 'flush-output', 'foldl', 'foldr', 'for-each', 'format', 'fprintf', + 'free-identifier=?', 'free-label-identifier=?', + 'free-template-identifier=?', 'free-transformer-identifier=?', + 'gcd', 'generate-temporaries', 'gensym', 'get-output-bytes', + 'get-output-string', 'getenv', 'global-port-print-handler', + 'guard-evt', 'handle-evt', 'handle-evt?', 'hash', 'hash->list', + 'hash-copy', 'hash-count', 'hash-eq?', 'hash-equal?', 'hash-eqv?', + 'hash-for-each', 'hash-has-key?', 'hash-iterate-first', + 'hash-iterate-key', 'hash-iterate-next', 'hash-iterate-value', + 'hash-keys', 'hash-map', 'hash-placeholder?', 'hash-ref', + 'hash-ref!', 'hash-remove', 'hash-remove!', 'hash-set', + 'hash-set!', 'hash-set*', 'hash-set*!', 'hash-update', + 'hash-update!', 'hash-values', 'hash-weak?', 'hash?', 'hasheq', + 'hasheqv', 'identifier-binding', 'identifier-label-binding', + 'identifier-prune-lexical-context', + 'identifier-prune-to-source-module', + 'identifier-remove-from-definition-context', + 'identifier-template-binding', 'identifier-transformer-binding', + 'identifier?', 'imag-part', 'immutable?', 'impersonate-box', + 'impersonate-continuation-mark-key', 'impersonate-hash', + 'impersonate-procedure', 'impersonate-prompt-tag', + 'impersonate-struct', 'impersonate-vector', 'impersonator-of?', + 'impersonator-prop:application-mark', + 'impersonator-property-accessor-procedure?', + 'impersonator-property?', 'impersonator?', 'in-cycle', + 'in-directory', 'in-hash', 'in-hash-keys', 'in-hash-pairs', + 'in-hash-values', 'in-parallel', 'in-sequences', + 'in-values*-sequence', 'in-values-sequence', 'inexact->exact', + 'inexact-real?', 'inexact?', 'input-port?', 'inspector?', + 'integer->char', 'integer->integer-bytes', + 'integer-bytes->integer', 'integer-length', 'integer-sqrt', + 'integer-sqrt/remainder', 'integer?', + 'internal-definition-context-seal', 'internal-definition-context?', + 'keyword<?', 'keyword->string', 'keyword-apply', 'keyword?', + 'kill-thread', 'lcm', 'length', 'liberal-define-context?', + 'link-exists?', 'list', 'list*', 'list->bytes', + 'list->string', 'list->vector', 'list-ref', 'list-tail', + 'list?', 'load', 'load-extension', 'load-on-demand-enabled', + 'load-relative', 'load-relative-extension', 'load/cd', + 'load/use-compiled', 'local-expand', 'local-expand/capture-lifts', + 'local-transformer-expand', + 'local-transformer-expand/capture-lifts', 'locale-string-encoding', + 'log', 'log-level?', 'log-max-level', 'log-message', + 'log-receiver?', 'logger-name', 'logger?', 'magnitude', + 'make-arity-at-least', 'make-base-empty-namespace', + 'make-base-namespace', 'make-bytes', 'make-channel', + 'make-continuation-mark-key', 'make-continuation-prompt-tag', + 'make-custodian', 'make-custodian-box', 'make-date', 'make-date*', + 'make-derived-parameter', 'make-directory', 'make-do-sequence', + 'make-empty-namespace', 'make-ephemeron', 'make-exn', + 'make-exn:break', 'make-exn:break:hang-up', + 'make-exn:break:terminate', 'make-exn:fail', + 'make-exn:fail:contract', 'make-exn:fail:contract:arity', + 'make-exn:fail:contract:continuation', + 'make-exn:fail:contract:divide-by-zero', + 'make-exn:fail:contract:non-fixnum-result', + 'make-exn:fail:contract:variable', 'make-exn:fail:filesystem', + 'make-exn:fail:filesystem:errno', + 'make-exn:fail:filesystem:exists', + 'make-exn:fail:filesystem:version', 'make-exn:fail:network', + 'make-exn:fail:network:errno', 'make-exn:fail:out-of-memory', + 'make-exn:fail:read', 'make-exn:fail:read:eof', + 'make-exn:fail:read:non-char', 'make-exn:fail:syntax', + 'make-exn:fail:syntax:unbound', 'make-exn:fail:unsupported', + 'make-exn:fail:user', 'make-file-or-directory-link', 'make-hash', + 'make-hash-placeholder', 'make-hasheq', 'make-hasheq-placeholder', + 'make-hasheqv', 'make-hasheqv-placeholder', 'make-immutable-hash', + 'make-immutable-hasheq', 'make-immutable-hasheqv', + 'make-impersonator-property', 'make-input-port', 'make-inspector', + 'make-keyword-procedure', 'make-known-char-range-list', + 'make-log-receiver', 'make-logger', 'make-output-port', + 'make-parameter', 'make-phantom-bytes', 'make-pipe', + 'make-placeholder', 'make-polar', 'make-prefab-struct', + 'make-pseudo-random-generator', 'make-reader-graph', + 'make-readtable', 'make-rectangular', 'make-rename-transformer', + 'make-resolved-module-path', 'make-security-guard', + 'make-semaphore', 'make-set!-transformer', 'make-shared-bytes', + 'make-sibling-inspector', 'make-special-comment', 'make-srcloc', + 'make-string', 'make-struct-field-accessor', + 'make-struct-field-mutator', 'make-struct-type', + 'make-struct-type-property', 'make-syntax-delta-introducer', + 'make-syntax-introducer', 'make-thread-cell', 'make-thread-group', + 'make-vector', 'make-weak-box', 'make-weak-hash', + 'make-weak-hasheq', 'make-weak-hasheqv', 'make-will-executor', + 'map', 'max', 'mcar', 'mcdr', 'mcons', 'member', 'memf', 'memq', + 'memv', 'min', 'module->exports', 'module->imports', + 'module->language-info', 'module->namespace', + 'module-compiled-exports', 'module-compiled-imports', + 'module-compiled-language-info', 'module-compiled-name', + 'module-compiled-submodules', 'module-declared?', + 'module-path-index-join', 'module-path-index-resolve', + 'module-path-index-split', 'module-path-index-submodule', + 'module-path-index?', 'module-path?', 'module-predefined?', + 'module-provide-protected?', 'modulo', 'mpair?', 'nack-guard-evt', + 'namespace-anchor->empty-namespace', + 'namespace-anchor->namespace', 'namespace-anchor?', + 'namespace-attach-module', 'namespace-attach-module-declaration', + 'namespace-base-phase', 'namespace-mapped-symbols', + 'namespace-module-identifier', 'namespace-module-registry', + 'namespace-require', 'namespace-require/constant', + 'namespace-require/copy', 'namespace-require/expansion-time', + 'namespace-set-variable-value!', 'namespace-symbol->identifier', + 'namespace-syntax-introduce', 'namespace-undefine-variable!', + 'namespace-unprotect-module', 'namespace-variable-value', + 'namespace?', 'negative?', 'never-evt', 'newline', + 'normal-case-path', 'not', 'null', 'null?', 'number->string', + 'number?', 'numerator', 'object-name', 'odd?', 'open-input-bytes', + 'open-input-string', 'open-output-bytes', 'open-output-string', + 'ormap', 'output-port?', 'pair?', 'parameter-procedure=?', + 'parameter?', 'parameterization?', 'path->bytes', + 'path->complete-path', 'path->directory-path', + 'path->string', 'path-add-suffix', 'path-convention-type', + 'path-element->bytes', 'path-element->string', + 'path-for-some-system?', 'path-list-string->path-list', + 'path-replace-suffix', 'path-string?', 'path?', 'peek-byte', + 'peek-byte-or-special', 'peek-bytes', 'peek-bytes!', + 'peek-bytes-avail!', 'peek-bytes-avail!*', + 'peek-bytes-avail!/enable-break', 'peek-char', + 'peek-char-or-special', 'peek-string', 'peek-string!', + 'phantom-bytes?', 'pipe-content-length', 'placeholder-get', + 'placeholder-set!', 'placeholder?', 'poll-guard-evt', + 'port-closed-evt', 'port-closed?', 'port-commit-peeked', + 'port-count-lines!', 'port-count-lines-enabled', + 'port-display-handler', 'port-file-identity', 'port-file-unlock', + 'port-next-location', 'port-print-handler', 'port-progress-evt', + 'port-provides-progress-evts?', 'port-read-handler', + 'port-try-file-lock?', 'port-write-handler', 'port-writes-atomic?', + 'port-writes-special?', 'port?', 'positive?', + 'prefab-key->struct-type', 'prefab-key?', 'prefab-struct-key', + 'pregexp', 'pregexp?', 'primitive-closure?', + 'primitive-result-arity', 'primitive?', 'print', + 'print-as-expression', 'print-boolean-long-form', 'print-box', + 'print-graph', 'print-hash-table', 'print-mpair-curly-braces', + 'print-pair-curly-braces', 'print-reader-abbreviations', + 'print-struct', 'print-syntax-width', 'print-unreadable', + 'print-vector-length', 'printf', 'procedure->method', + 'procedure-arity', 'procedure-arity-includes?', 'procedure-arity?', + 'procedure-closure-contents-eq?', 'procedure-extract-target', + 'procedure-keywords', 'procedure-reduce-arity', + 'procedure-reduce-keyword-arity', 'procedure-rename', + 'procedure-struct-type?', 'procedure?', 'progress-evt?', + 'prop:arity-string', 'prop:checked-procedure', + 'prop:custom-print-quotable', 'prop:custom-write', + 'prop:equal+hash', 'prop:evt', 'prop:exn:srclocs', + 'prop:impersonator-of', 'prop:input-port', + 'prop:liberal-define-context', 'prop:output-port', + 'prop:procedure', 'prop:rename-transformer', 'prop:sequence', + 'prop:set!-transformer', 'pseudo-random-generator->vector', + 'pseudo-random-generator-vector?', 'pseudo-random-generator?', + 'putenv', 'quotient', 'quotient/remainder', 'raise', + 'raise-argument-error', 'raise-arguments-error', + 'raise-arity-error', 'raise-mismatch-error', 'raise-range-error', + 'raise-result-error', 'raise-syntax-error', 'raise-type-error', + 'raise-user-error', 'random', 'random-seed', 'rational?', + 'rationalize', 'read', 'read-accept-bar-quote', 'read-accept-box', + 'read-accept-compiled', 'read-accept-dot', 'read-accept-graph', + 'read-accept-infix-dot', 'read-accept-lang', + 'read-accept-quasiquote', 'read-accept-reader', 'read-byte', + 'read-byte-or-special', 'read-bytes', 'read-bytes!', + 'read-bytes-avail!', 'read-bytes-avail!*', + 'read-bytes-avail!/enable-break', 'read-bytes-line', + 'read-case-sensitive', 'read-char', 'read-char-or-special', + 'read-curly-brace-as-paren', 'read-decimal-as-inexact', + 'read-eval-print-loop', 'read-language', 'read-line', + 'read-on-demand-source', 'read-square-bracket-as-paren', + 'read-string', 'read-string!', 'read-syntax', + 'read-syntax/recursive', 'read/recursive', 'readtable-mapping', + 'readtable?', 'real->decimal-string', 'real->double-flonum', + 'real->floating-point-bytes', 'real->single-flonum', + 'real-part', 'real?', 'regexp', 'regexp-match', + 'regexp-match-exact?', 'regexp-match-peek', + 'regexp-match-peek-immediate', 'regexp-match-peek-positions', + 'regexp-match-peek-positions-immediate', + 'regexp-match-peek-positions-immediate/end', + 'regexp-match-peek-positions/end', 'regexp-match-positions', + 'regexp-match-positions/end', 'regexp-match/end', 'regexp-match?', + 'regexp-max-lookbehind', 'regexp-quote', 'regexp-replace', + 'regexp-replace*', 'regexp-replace-quote', 'regexp-replaces', + 'regexp-split', 'regexp-try-match', 'regexp?', 'relative-path?', + 'remainder', 'remove', 'remove*', 'remq', 'remq*', 'remv', 'remv*', + 'rename-file-or-directory', 'rename-transformer-target', + 'rename-transformer?', 'reroot-path', 'resolve-path', + 'resolved-module-path-name', 'resolved-module-path?', 'reverse', + 'round', 'seconds->date', 'security-guard?', + 'semaphore-peek-evt', 'semaphore-peek-evt?', 'semaphore-post', + 'semaphore-try-wait?', 'semaphore-wait', + 'semaphore-wait/enable-break', 'semaphore?', 'sequence->stream', + 'sequence-generate', 'sequence-generate*', 'sequence?', + 'set!-transformer-procedure', 'set!-transformer?', 'set-box!', + 'set-mcar!', 'set-mcdr!', 'set-phantom-bytes!', + 'set-port-next-location!', 'shared-bytes', 'shell-execute', + 'simplify-path', 'sin', 'single-flonum?', 'sleep', + 'special-comment-value', 'special-comment?', 'split-path', 'sqrt', + 'srcloc-column', 'srcloc-line', 'srcloc-position', 'srcloc-source', + 'srcloc-span', 'srcloc?', 'stop-after', 'stop-before', 'string', + 'string>=?', 'string>?', 'string<=?', 'string<?', + 'string->bytes/latin-1', 'string->bytes/locale', + 'string->bytes/utf-8', 'string->immutable-string', + 'string->keyword', 'string->list', 'string->number', + 'string->path', 'string->path-element', 'string->symbol', + 'string->uninterned-symbol', 'string->unreadable-symbol', + 'string-append', 'string-ci>=?', 'string-ci>?', + 'string-ci<=?', 'string-ci<?', 'string-ci=?', 'string-copy', + 'string-copy!', 'string-downcase', 'string-fill!', + 'string-foldcase', 'string-length', 'string-locale>?', + 'string-locale<?', 'string-locale-ci>?', + 'string-locale-ci<?', 'string-locale-ci=?', + 'string-locale-downcase', 'string-locale-upcase', + 'string-locale=?', 'string-normalize-nfc', 'string-normalize-nfd', + 'string-normalize-nfkc', 'string-normalize-nfkd', 'string-ref', + 'string-set!', 'string-titlecase', 'string-upcase', + 'string-utf-8-length', 'string=?', 'string?', 'struct->vector', + 'struct-accessor-procedure?', 'struct-constructor-procedure?', + 'struct-info', 'struct-mutator-procedure?', + 'struct-predicate-procedure?', 'struct-type-info', + 'struct-type-make-constructor', 'struct-type-make-predicate', + 'struct-type-property-accessor-procedure?', + 'struct-type-property?', 'struct-type?', 'struct:arity-at-least', + 'struct:date', 'struct:date*', 'struct:exn', 'struct:exn:break', + 'struct:exn:break:hang-up', 'struct:exn:break:terminate', + 'struct:exn:fail', 'struct:exn:fail:contract', + 'struct:exn:fail:contract:arity', + 'struct:exn:fail:contract:continuation', + 'struct:exn:fail:contract:divide-by-zero', + 'struct:exn:fail:contract:non-fixnum-result', + 'struct:exn:fail:contract:variable', 'struct:exn:fail:filesystem', + 'struct:exn:fail:filesystem:errno', + 'struct:exn:fail:filesystem:exists', + 'struct:exn:fail:filesystem:version', 'struct:exn:fail:network', + 'struct:exn:fail:network:errno', 'struct:exn:fail:out-of-memory', + 'struct:exn:fail:read', 'struct:exn:fail:read:eof', + 'struct:exn:fail:read:non-char', 'struct:exn:fail:syntax', + 'struct:exn:fail:syntax:unbound', 'struct:exn:fail:unsupported', + 'struct:exn:fail:user', 'struct:srcloc', 'struct?', 'sub1', + 'subbytes', 'subprocess', 'subprocess-group-enabled', + 'subprocess-kill', 'subprocess-pid', 'subprocess-status', + 'subprocess-wait', 'subprocess?', 'substring', 'symbol->string', + 'symbol-interned?', 'symbol-unreadable?', 'symbol?', 'sync', + 'sync/enable-break', 'sync/timeout', 'sync/timeout/enable-break', + 'syntax->datum', 'syntax->list', 'syntax-arm', + 'syntax-column', 'syntax-disarm', 'syntax-e', 'syntax-line', + 'syntax-local-bind-syntaxes', 'syntax-local-certifier', + 'syntax-local-context', 'syntax-local-expand-expression', + 'syntax-local-get-shadower', 'syntax-local-introduce', + 'syntax-local-lift-context', 'syntax-local-lift-expression', + 'syntax-local-lift-module-end-declaration', + 'syntax-local-lift-provide', 'syntax-local-lift-require', + 'syntax-local-lift-values-expression', + 'syntax-local-make-definition-context', + 'syntax-local-make-delta-introducer', + 'syntax-local-module-defined-identifiers', + 'syntax-local-module-exports', + 'syntax-local-module-required-identifiers', 'syntax-local-name', + 'syntax-local-phase-level', 'syntax-local-submodules', + 'syntax-local-transforming-module-provides?', 'syntax-local-value', + 'syntax-local-value/immediate', 'syntax-original?', + 'syntax-position', 'syntax-property', + 'syntax-property-symbol-keys', 'syntax-protect', 'syntax-rearm', + 'syntax-recertify', 'syntax-shift-phase-level', 'syntax-source', + 'syntax-source-module', 'syntax-span', 'syntax-taint', + 'syntax-tainted?', 'syntax-track-origin', + 'syntax-transforming-module-expression?', 'syntax-transforming?', + 'syntax?', 'system-big-endian?', 'system-idle-evt', + 'system-language+country', 'system-library-subpath', + 'system-path-convention-type', 'system-type', 'tan', + 'terminal-port?', 'thread', 'thread-cell-ref', 'thread-cell-set!', + 'thread-cell-values?', 'thread-cell?', 'thread-dead-evt', + 'thread-dead?', 'thread-group?', 'thread-receive', + 'thread-receive-evt', 'thread-resume', 'thread-resume-evt', + 'thread-rewind-receive', 'thread-running?', 'thread-send', + 'thread-suspend', 'thread-suspend-evt', 'thread-try-receive', + 'thread-wait', 'thread/suspend-to-kill', 'thread?', 'time-apply', + 'truncate', 'unbox', 'uncaught-exception-handler', + 'use-collection-link-paths', 'use-compiled-file-paths', + 'use-user-specific-search-paths', 'values', + 'variable-reference->empty-namespace', + 'variable-reference->module-base-phase', + 'variable-reference->module-declaration-inspector', + 'variable-reference->module-path-index', + 'variable-reference->module-source', + 'variable-reference->namespace', 'variable-reference->phase', + 'variable-reference->resolved-module-path', + 'variable-reference-constant?', 'variable-reference?', 'vector', + 'vector->immutable-vector', 'vector->list', + 'vector->pseudo-random-generator', + 'vector->pseudo-random-generator!', 'vector->values', + 'vector-copy!', 'vector-fill!', 'vector-immutable', + 'vector-length', 'vector-ref', 'vector-set!', + 'vector-set-performance-stats!', 'vector?', 'version', 'void', + 'void?', 'weak-box-value', 'weak-box?', 'will-execute', + 'will-executor?', 'will-register', 'will-try-execute', 'wrap-evt', + 'write', 'write-byte', 'write-bytes', 'write-bytes-avail', + 'write-bytes-avail*', 'write-bytes-avail-evt', + 'write-bytes-avail/enable-break', 'write-char', 'write-special', + 'write-special-avail*', 'write-special-evt', 'write-string', + 'zero?', + ), + + 2 => array( + '#%app', '#%datum', '#%expression', '#%module-begin', '#%plain-app', + '#%plain-lambda', '#%plain-module-begin', '#%provide', '#%require', + '#%stratified-body', '#%top', '#%top-interaction', + '#%variable-reference', ':do-in', 'all-defined-out', + 'all-from-out', 'and', 'apply', 'arity-at-least', 'begin', + 'begin-for-syntax', 'begin0', 'call-with-input-file', + 'call-with-input-file*', 'call-with-output-file', + 'call-with-output-file*', 'case', 'case-lambda', 'combine-in', + 'combine-out', 'cond', 'date', 'date*', 'define', + 'define-for-syntax', 'define-logger', 'define-namespace-anchor', + 'define-sequence-syntax', 'define-struct', 'define-struct/derived', + 'define-syntax', 'define-syntax-rule', 'define-syntaxes', + 'define-values', 'define-values-for-syntax', 'do', 'else', + 'except-in', 'except-out', 'exn', 'exn:break', 'exn:break:hang-up', + 'exn:break:terminate', 'exn:fail', 'exn:fail:contract', + 'exn:fail:contract:arity', 'exn:fail:contract:continuation', + 'exn:fail:contract:divide-by-zero', + 'exn:fail:contract:non-fixnum-result', + 'exn:fail:contract:variable', 'exn:fail:filesystem', + 'exn:fail:filesystem:errno', 'exn:fail:filesystem:exists', + 'exn:fail:filesystem:version', 'exn:fail:network', + 'exn:fail:network:errno', 'exn:fail:out-of-memory', + 'exn:fail:read', 'exn:fail:read:eof', 'exn:fail:read:non-char', + 'exn:fail:syntax', 'exn:fail:syntax:unbound', + 'exn:fail:unsupported', 'exn:fail:user', 'file', 'for', 'for*', + 'for*/and', 'for*/first', 'for*/fold', 'for*/fold/derived', + 'for*/hash', 'for*/hasheq', 'for*/hasheqv', 'for*/last', + 'for*/list', 'for*/lists', 'for*/or', 'for*/product', 'for*/sum', + 'for*/vector', 'for-label', 'for-meta', 'for-syntax', + 'for-template', 'for/and', 'for/first', 'for/fold', + 'for/fold/derived', 'for/hash', 'for/hasheq', 'for/hasheqv', + 'for/last', 'for/list', 'for/lists', 'for/or', 'for/product', + 'for/sum', 'for/vector', 'gen:custom-write', 'gen:equal+hash', + 'if', 'in-bytes', 'in-bytes-lines', 'in-indexed', + 'in-input-port-bytes', 'in-input-port-chars', 'in-lines', + 'in-list', 'in-mlist', 'in-naturals', 'in-port', 'in-producer', + 'in-range', 'in-string', 'in-value', 'in-vector', 'lambda', 'let', + 'let*', 'let*-values', 'let-syntax', 'let-syntaxes', 'let-values', + 'let/cc', 'let/ec', 'letrec', 'letrec-syntax', 'letrec-syntaxes', + 'letrec-syntaxes+values', 'letrec-values', 'lib', 'local-require', + 'log-debug', 'log-error', 'log-fatal', 'log-info', 'log-warning', + 'module', 'module*', 'module+', 'only-in', 'only-meta-in', + 'open-input-file', 'open-input-output-file', 'open-output-file', + 'or', 'parameterize', 'parameterize*', 'parameterize-break', + 'planet', 'prefix-in', 'prefix-out', 'protect-out', 'provide', + 'quasiquote', 'quasisyntax', 'quasisyntax/loc', 'quote', + 'quote-syntax', 'quote-syntax/prune', 'regexp-match*', + 'regexp-match-peek-positions*', 'regexp-match-positions*', + 'relative-in', 'rename-in', 'rename-out', 'require', 'set!', + 'set!-values', 'sort', 'srcloc', 'struct', 'struct-copy', + 'struct-field-index', 'struct-out', 'submod', 'syntax', + 'syntax-case', 'syntax-case*', 'syntax-id-rules', 'syntax-rules', + 'syntax/loc', 'time', 'unless', 'unquote', 'unquote-splicing', + 'unsyntax', 'unsyntax-splicing', 'when', 'with-continuation-mark', + 'with-handlers', 'with-handlers*', 'with-input-from-file', + 'with-output-to-file', 'with-syntax', '?', + ), + + 3 => array( + '>/c', '</c', 'append*', 'append-map', 'argmax', 'argmin', + 'bad-number-of-results', 'base->-doms/c', 'base->-rngs/c', + 'base->?', 'blame-add-unknown-context', 'blame-context', + 'blame-contract', 'blame-fmt->-string', 'blame-negative', + 'blame-original?', 'blame-positive', 'blame-replace-negative', + 'blame-source', 'blame-swap', 'blame-swapped?', 'blame-value', + 'blame?', 'boolean=?', 'build-chaperone-contract-property', + 'build-compound-type-name', 'build-contract-property', + 'build-flat-contract-property', 'bytes-append*', 'bytes-join', + 'bytes-no-nuls?', 'call-with-input-bytes', + 'call-with-input-string', 'call-with-output-bytes', + 'call-with-output-string', 'chaperone-contract-property?', + 'chaperone-contract?', 'class->interface', 'class-info', + 'class?', 'coerce-chaperone-contract', + 'coerce-chaperone-contracts', 'coerce-contract', + 'coerce-contract/f', 'coerce-contracts', 'coerce-flat-contract', + 'coerce-flat-contracts', 'conjugate', 'cons?', 'const', + 'contract-first-order', 'contract-first-order-passes?', + 'contract-name', 'contract-proc', 'contract-projection', + 'contract-property?', 'contract-random-generate', + 'contract-stronger?', 'contract-struct-exercise', + 'contract-struct-generate', 'contract?', 'convert-stream', + 'copy-directory/files', 'copy-port', 'cosh', 'count', + 'current-blame-format', 'current-future', 'curry', 'curryr', + 'degrees->radians', 'delete-directory/files', + 'deserialize-info:set-v0', 'dict-iter-contract', + 'dict-key-contract', 'dict-value-contract', 'drop', 'drop-right', + 'dup-input-port', 'dup-output-port', 'dynamic-get-field', + 'dynamic-send', 'dynamic-set-field!', 'eighth', 'empty', + 'empty-sequence', 'empty-stream', 'empty?', 'env-stash', + 'eq-contract-val', 'eq-contract?', 'equal<%>', + 'equal-contract-val', 'equal-contract?', 'exact-ceiling', + 'exact-floor', 'exact-round', 'exact-truncate', + 'exn:fail:contract:blame-object', 'exn:fail:contract:blame?', + 'exn:fail:object?', 'exn:misc:match?', 'explode-path', + 'externalizable<%>', 'false', 'false/c', 'false?', + 'field-names', 'fifth', 'file-name-from-path', + 'filename-extension', 'filter-map', 'filter-not', + 'filter-read-input-port', 'find-files', 'first', 'flat-contract', + 'flat-contract-predicate', 'flat-contract-property?', + 'flat-contract?', 'flat-named-contract', 'flatten', 'fold-files', + 'force', 'fourth', 'fsemaphore-count', 'fsemaphore-post', + 'fsemaphore-try-wait?', 'fsemaphore-wait', 'fsemaphore?', 'future', + 'future?', 'futures-enabled?', 'generate-ctc-fail?', + 'generate-env', 'generate-member-key', 'generate/choose', + 'generate/direct', 'generic?', 'group-execute-bit', + 'group-read-bit', 'group-write-bit', 'has-contract?', 'identity', + 'impersonator-contract?', 'impersonator-prop:contracted', + 'implementation?', 'implementation?/c', 'in-dict', 'in-dict-keys', + 'in-dict-pairs', 'in-dict-values', 'infinite?', + 'input-port-append', 'instanceof/c', 'interface->method-names', + 'interface-extension?', 'interface?', 'is-a?', 'is-a?/c', 'last', + 'last-pair', 'list->set', 'list->seteq', 'list->seteqv', + 'make-chaperone-contract', 'make-contract', 'make-custom-hash', + 'make-directory*', 'make-exn:fail:contract:blame', + 'make-exn:fail:object', 'make-flat-contract', 'make-fsemaphore', + 'make-generate-ctc-fail', 'make-generic', + 'make-immutable-custom-hash', 'make-input-port/read-to-peek', + 'make-limited-input-port', 'make-list', 'make-lock-file-name', + 'make-mixin-contract', 'make-none/c', 'make-pipe-with-specials', + 'make-primitive-class', 'make-proj-contract', + 'make-tentative-pretty-print-output-port', 'make-weak-custom-hash', + 'match-equality-test', 'matches-arity-exactly?', + 'member-name-key-hash-code', 'member-name-key=?', + 'member-name-key?', 'merge-input', 'method-in-interface?', + 'mixin-contract', 'n->th', 'nan?', 'natural-number/c', 'negate', + 'new-?/c', 'new-?/c', 'ninth', 'normalize-path', 'object%', + 'object->vector', 'object-info', 'object-interface', + 'object-method-arity-includes?', 'object=?', 'object?', + 'open-output-nowhere', 'order-of-magnitude', 'other-execute-bit', + 'other-read-bit', 'other-write-bit', 'parse-command-line', + 'partition', 'path-element?', 'path-only', 'pathlist-closure', + 'pi', 'pi.f', 'place-break', 'place-channel', 'place-channel-get', + 'place-channel-put', 'place-channel-put/get', 'place-channel?', + 'place-dead-evt', 'place-enabled?', 'place-kill', + 'place-message-allowed?', 'place-sleep', 'place-wait', 'place?', + 'port->bytes', 'port->list', 'port->string', + 'predicate/c', 'preferences-lock-file-mode', 'pretty-display', + 'pretty-format', 'pretty-print', + 'pretty-print-.-symbol-without-bars', + 'pretty-print-abbreviate-read-macros', 'pretty-print-columns', + 'pretty-print-current-style-table', 'pretty-print-depth', + 'pretty-print-exact-as-decimal', 'pretty-print-extend-style-table', + 'pretty-print-handler', 'pretty-print-newline', + 'pretty-print-post-print-hook', 'pretty-print-pre-print-hook', + 'pretty-print-print-hook', 'pretty-print-print-line', + 'pretty-print-remap-stylable', 'pretty-print-show-inexactness', + 'pretty-print-size-hook', 'pretty-print-style-table?', + 'pretty-printing', 'pretty-write', 'printable<%>', + 'printable/c', 'process', 'process*', 'process*/ports', + 'process/ports', 'processor-count', 'promise-forced?', + 'promise-running?', 'promise?', 'prop:chaperone-contract', + 'prop:contract', 'prop:contracted', 'prop:dict', + 'prop:flat-contract', 'prop:opt-chaperone-contract', + 'prop:opt-chaperone-contract-get-test', + 'prop:opt-chaperone-contract?', 'prop:stream', 'proper-subset?', + 'put-preferences', 'radians->degrees', 'raise-blame-error', + 'raise-contract-error', 'range', 'reencode-input-port', + 'reencode-output-port', 'relocate-input-port', + 'relocate-output-port', 'rest', 'second', 'sequence->list', + 'sequence-add-between', 'sequence-andmap', 'sequence-append', + 'sequence-count', 'sequence-filter', 'sequence-fold', + 'sequence-for-each', 'sequence-length', 'sequence-map', + 'sequence-ormap', 'sequence-ref', 'sequence-tail', 'set', + 'set->list', 'set-add', 'set-count', 'set-empty?', 'set-eq?', + 'set-equal?', 'set-eqv?', 'set-first', 'set-for-each', + 'set-intersect', 'set-map', 'set-member?', 'set-remove', + 'set-rest', 'set-subtract', 'set-symmetric-difference', + 'set-union', 'set/c', 'set=?', 'set?', 'seteq', 'seteqv', + 'seventh', 'sgn', 'shuffle', 'simple-form-path', 'sinh', 'sixth', + 'skip-projection-wrapper?', 'some-system-path->string', + 'special-filter-input-port', 'split-at', 'split-at-right', 'sqr', + 'stream->list', 'stream-add-between', 'stream-andmap', + 'stream-append', 'stream-count', 'stream-empty?', 'stream-filter', + 'stream-first', 'stream-fold', 'stream-for-each', 'stream-length', + 'stream-map', 'stream-ormap', 'stream-ref', 'stream-rest', + 'stream-tail', 'stream?', 'string->some-system-path', + 'string-append*', 'string-no-nuls?', 'struct-type-property/c', + 'struct:exn:fail:contract:blame', 'struct:exn:fail:object', + 'subclass?', 'subclass?/c', 'subset?', 'symbol=?', 'system', + 'system*', 'system*/exit-code', 'system/exit-code', 'take', + 'take-right', 'tanh', 'tcp-abandon-port', 'tcp-accept', + 'tcp-accept-evt', 'tcp-accept-ready?', 'tcp-accept/enable-break', + 'tcp-addresses', 'tcp-close', 'tcp-connect', + 'tcp-connect/enable-break', 'tcp-listen', 'tcp-listener?', + 'tcp-port?', 'tentative-pretty-print-port-cancel', + 'tentative-pretty-print-port-transfer', 'tenth', + 'the-unsupplied-arg', 'third', 'touch', 'transplant-input-port', + 'transplant-output-port', 'true', 'udp-addresses', 'udp-bind!', + 'udp-bound?', 'udp-close', 'udp-connect!', 'udp-connected?', + 'udp-open-socket', 'udp-receive!', 'udp-receive!*', + 'udp-receive!-evt', 'udp-receive!/enable-break', + 'udp-receive-ready-evt', 'udp-send', 'udp-send*', 'udp-send-evt', + 'udp-send-ready-evt', 'udp-send-to', 'udp-send-to*', + 'udp-send-to-evt', 'udp-send-to/enable-break', + 'udp-send/enable-break', 'udp?', 'unit?', 'unsupplied-arg?', + 'user-execute-bit', 'user-read-bit', 'user-write-bit', + 'value-contract', 'vector-append', 'vector-argmax', + 'vector-argmin', 'vector-copy', 'vector-count', 'vector-drop', + 'vector-drop-right', 'vector-filter', 'vector-filter-not', + 'vector-map', 'vector-map!', 'vector-member', 'vector-memq', + 'vector-memv', 'vector-set*!', 'vector-split-at', + 'vector-split-at-right', 'vector-take', 'vector-take-right', + 'with-input-from-bytes', 'with-input-from-string', + 'with-output-to-bytes', 'with-output-to-string', 'would-be-future', + 'writable<%>', 'xor', + ), + 4 => array( + '>=/c', '<=/c', '->*m', '->d', '->dm', '->i', '->m', + '=/c', 'absent', 'abstract', 'add-between', 'and/c', 'any', + 'any/c', 'augment', 'augment*', 'augment-final', 'augment-final*', + 'augride', 'augride*', 'between/c', 'blame-add-context', + 'box-immutable/c', 'box/c', 'call-with-file-lock/timeout', + 'case->', 'case->m', 'class', 'class*', + 'class-field-accessor', 'class-field-mutator', 'class/c', + 'class/derived', 'command-line', 'compound-unit', + 'compound-unit/infer', 'cons/c', 'continuation-mark-key/c', + 'contract', 'contract-out', 'contract-struct', 'contracted', + 'current-contract-region', 'define-compound-unit', + 'define-compound-unit/infer', 'define-contract-struct', + 'define-local-member-name', 'define-match-expander', + 'define-member-name', 'define-opt/c', 'define-serializable-class', + 'define-serializable-class*', 'define-signature', + 'define-signature-form', 'define-struct/contract', 'define-unit', + 'define-unit-binding', 'define-unit-from-context', + 'define-unit/contract', 'define-unit/new-import-export', + 'define-unit/s', 'define-values-for-export', + 'define-values/invoke-unit', 'define-values/invoke-unit/infer', + 'define/augment', 'define/augment-final', 'define/augride', + 'define/contract', 'define/final-prop', 'define/match', + 'define/overment', 'define/override', 'define/override-final', + 'define/private', 'define/public', 'define/public-final', + 'define/pubment', 'define/subexpression-pos-prop', 'delay', + 'delay/idle', 'delay/name', 'delay/strict', 'delay/sync', + 'delay/thread', 'dict->list', 'dict-can-functional-set?', + 'dict-can-remove-keys?', 'dict-count', 'dict-for-each', + 'dict-has-key?', 'dict-iterate-first', 'dict-iterate-key', + 'dict-iterate-next', 'dict-iterate-value', 'dict-keys', 'dict-map', + 'dict-mutable?', 'dict-ref', 'dict-ref!', 'dict-remove', + 'dict-remove!', 'dict-set', 'dict-set!', 'dict-set*', 'dict-set*!', + 'dict-update', 'dict-update!', 'dict-values', 'dict?', + 'display-lines', 'display-lines-to-file', 'display-to-file', + 'dynamic-place', 'dynamic-place*', 'eof-evt', 'except', + 'exn:fail:contract:blame', 'exn:fail:object', 'export', 'extends', + 'field', 'field-bound?', 'file->bytes', 'file->bytes-lines', + 'file->lines', 'file->list', 'file->string', + 'file->value', 'find-relative-path', 'flat-murec-contract', + 'flat-rec-contract', 'for*/set', 'for*/seteq', 'for*/seteqv', + 'for/set', 'for/seteq', 'for/seteqv', 'gen:dict', 'gen:stream', + 'generic', 'get-field', 'get-preference', 'hash/c', 'implies', + 'import', 'in-set', 'in-stream', 'include', + 'include-at/relative-to', 'include-at/relative-to/reader', + 'include/reader', 'inherit', 'inherit-field', 'inherit/inner', + 'inherit/super', 'init', 'init-depend', 'init-field', 'init-rest', + 'inner', 'inspect', 'instantiate', 'integer-in', 'interface', + 'interface*', 'invoke-unit', 'invoke-unit/infer', 'lazy', 'link', + 'list/c', 'listof', 'local', 'make-handle-get-preference-locked', + 'make-object', 'make-temporary-file', 'match', 'match*', + 'match*/derived', 'match-define', 'match-define-values', + 'match-lambda', 'match-lambda*', 'match-lambda**', 'match-let', + 'match-let*', 'match-let*-values', 'match-let-values', + 'match-letrec', 'match/derived', 'match/values', 'member-name-key', + 'method-contract?', 'mixin', 'nand', 'new', 'non-empty-listof', + 'none/c', 'nor', 'not/c', 'object-contract', 'object/c', + 'one-of/c', 'only', 'open', 'opt/c', 'or/c', 'overment', + 'overment*', 'override', 'override*', 'override-final', + 'override-final*', 'parameter/c', 'parametric->/c', + 'peek-bytes!-evt', 'peek-bytes-avail!-evt', 'peek-bytes-evt', + 'peek-string!-evt', 'peek-string-evt', 'peeking-input-port', + 'place', 'place*', 'port->bytes-lines', 'port->lines', + 'prefix', 'private', 'private*', 'procedure-arity-includes/c', + 'promise/c', 'prompt-tag/c', 'prop:dict/contract', + 'provide-signature-elements', 'provide/contract', 'public', + 'public*', 'public-final', 'public-final*', 'pubment', 'pubment*', + 'read-bytes!-evt', 'read-bytes-avail!-evt', 'read-bytes-evt', + 'read-bytes-line-evt', 'read-line-evt', 'read-string!-evt', + 'read-string-evt', 'real-in', 'recursive-contract', + 'regexp-match-evt', 'remove-duplicates', 'rename', 'rename-inner', + 'rename-super', 'send', 'send*', 'send+', 'send-generic', + 'send/apply', 'send/keyword-apply', 'set-field!', 'shared', + 'stream', 'stream-cons', 'string-join', 'string-len/c', + 'string-normalize-spaces', 'string-replace', 'string-split', + 'string-trim', 'struct*', 'struct/c', 'struct/ctc', 'struct/dc', + 'super', 'super-instantiate', 'super-make-object', 'super-new', + 'symbols', 'syntax/c', 'tag', 'this', 'this%', 'thunk', 'thunk*', + 'unconstrained-domain->', 'unit', 'unit-from-context', 'unit/c', + 'unit/new-import-export', 'unit/s', 'vector-immutable/c', + 'vector-immutableof', 'vector/c', 'vectorof', 'with-contract', + 'with-method', 'write-to-file', '~.a', '~.s', '~.v', '~a', '~e', + '~r', '~s', '~v', + ), + ), + 'SYMBOLS' => array( + 0 => array( + '>', '>=', '<', '<=', '*', '+', '-', '->', '->*', '...', '/', + '=', '=>', '==', '_', '#fl', '#fx', '#s', '#', '#f', '#F', + '#false', '#t', '#T', '#true', '#lang', '#reader', '.', '\'', '#`', + '#,@', '#,', '#\'', '`', '@', ',', '#%', '#$', '#&', '#~', '#rx', + '#px', '#<<', '#;', '#hash', '#', + ), + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => false, + ), + 'NUMBERS' => array( + 1 => '(((#x#e)|(#e#x)|(#x#i)|(#i#x)|(#x))((((((((((((-)|(\+)))?(((('. + '(([0-9])+)?(\.)?(([0-9a-fA-F])+(#)*)))|(((([0-9a-fA-F])+(#)*)'. + '(\.)?(#)*))|(((([0-9a-fA-F])+(#)*)\\/(([0-9a-fA-F])+(#)*))))('. + '([sl]((((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan'. + '\.))[0f])))))?((-)|(\+))(((((((([0-9])+)?(\.)?(([0-9a-fA-F])+'. + '(#)*)))|(((([0-9a-fA-F])+(#)*)(\.)?(#)*))|(((([0-9a-fA-F])+(#'. + ')*)\\/(([0-9a-fA-F])+(#)*))))(([sl]((((-)|(\+)))?([0-9])+)))?'. + '))|((((inf\.)|(nan\.))[0f])))i))|((((((((-)|(\+)))?(((((([0-9'. + '])+)?(\.)?(([0-9a-fA-F])+(#)*)))|(((([0-9a-fA-F])+(#)*)(\.)?('. + '#)*))|(((([0-9a-fA-F])+(#)*)\\/(([0-9a-fA-F])+(#)*))))(([sl]('. + '(((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0'. + 'f]))))@((((((-)|(\+)))?(((((([0-9])+)?(\.)?(([0-9a-fA-F])+(#)'. + '*)))|(((([0-9a-fA-F])+(#)*)(\.)?(#)*))|(((([0-9a-fA-F])+(#)*)'. + '\\/(([0-9a-fA-F])+(#)*))))(([sl]((((-)|(\+)))?([0-9])+)))?)))'. + '|((((-)|(\+))(((inf\.)|(nan\.))[0f]))))))))|((((((-)|(\+)))?('. + '([0-9])+\\/([0-9])+))((-)|(\+))(([0-9])+\\/([0-9])+)i))|((((('. + '-)|(\+)))?(([0-9])+\\/([0-9])+)))|(((((((-)|(\+)))?(((((([0-9'. + '])+)?(\.)?(([0-9a-fA-F])+(#)*)))|(((([0-9a-fA-F])+(#)*)(\.)?('. + '#)*))|(((([0-9a-fA-F])+(#)*)\\/(([0-9a-fA-F])+(#)*))))(([sl]('. + '(((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0'. + 'f])))))|(((((-)|(\+)))?([0-9])+))))', + 2 => '(((#o#e)|(#e#o)|(#o#i)|(#i#o)|(#o))((((((((((((-)|(\+)))?(((('. + '(([0-9])+)?(\.)?(([0-7])+(#)*)))|(((([0-7])+(#)*)(\.)?(#)*))|'. + '(((([0-7])+(#)*)\\/(([0-7])+(#)*))))(((([sl])|([def]))((((-)|'. + '(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0f]))))'. + ')?((-)|(\+))(((((((([0-9])+)?(\.)?(([0-7])+(#)*)))|(((([0-7])'. + '+(#)*)(\.)?(#)*))|(((([0-7])+(#)*)\\/(([0-7])+(#)*))))(((([sl'. + '])|([def]))((((-)|(\+)))?([0-9])+)))?))|((((inf\.)|(nan\.))[0'. + 'f])))i))|((((((((-)|(\+)))?(((((([0-9])+)?(\.)?(([0-7])+(#)*)'. + '))|(((([0-7])+(#)*)(\.)?(#)*))|(((([0-7])+(#)*)\\/(([0-7])+(#'. + ')*))))(((([sl])|([def]))((((-)|(\+)))?([0-9])+)))?)))|((((-)|'. + '(\+))(((inf\.)|(nan\.))[0f]))))@((((((-)|(\+)))?(((((([0-9])+'. + ')?(\.)?(([0-7])+(#)*)))|(((([0-7])+(#)*)(\.)?(#)*))|(((([0-7]'. + ')+(#)*)\\/(([0-7])+(#)*))))(((([sl])|([def]))((((-)|(\+)))?(['. + '0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0f]))))))))|(((('. + '((-)|(\+)))?(([0-9])+\\/([0-9])+))((-)|(\+))(([0-9])+\\/([0-9'. + '])+)i))|(((((-)|(\+)))?(([0-9])+\\/([0-9])+)))|(((((((-)|(\+)'. + '))?(((((([0-9])+)?(\.)?(([0-7])+(#)*)))|(((([0-7])+(#)*)(\.)?'. + '(#)*))|(((([0-7])+(#)*)\\/(([0-7])+(#)*))))(((([sl])|([def]))'. + '((((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))['. + '0f])))))|(((((-)|(\+)))?([0-9])+))))', + 3 => '(((#b#e)|(#e#b)|(#b#i)|(#i#b)|(#b))((((((((((((-)|(\+)))?(((('. + '(([0-9])+)?(\.)?(([0-1])+(#)*)))|(((([0-1])+(#)*)(\.)?(#)*))|'. + '(((([0-1])+(#)*)\\/(([0-1])+(#)*))))(((([sl])|([def]))((((-)|'. + '(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0f]))))'. + ')?((-)|(\+))(((((((([0-9])+)?(\.)?(([0-1])+(#)*)))|(((([0-1])'. + '+(#)*)(\.)?(#)*))|(((([0-1])+(#)*)\\/(([0-1])+(#)*))))(((([sl'. + '])|([def]))((((-)|(\+)))?([0-9])+)))?))|((((inf\.)|(nan\.))[0'. + 'f])))i))|((((((((-)|(\+)))?(((((([0-9])+)?(\.)?(([0-1])+(#)*)'. + '))|(((([0-1])+(#)*)(\.)?(#)*))|(((([0-1])+(#)*)\\/(([0-1])+(#'. + ')*))))(((([sl])|([def]))((((-)|(\+)))?([0-9])+)))?)))|((((-)|'. + '(\+))(((inf\.)|(nan\.))[0f]))))@((((((-)|(\+)))?(((((([0-9])+'. + ')?(\.)?(([0-1])+(#)*)))|(((([0-1])+(#)*)(\.)?(#)*))|(((([0-1]'. + ')+(#)*)\\/(([0-1])+(#)*))))(((([sl])|([def]))((((-)|(\+)))?(['. + '0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0f]))))))))|(((('. + '((-)|(\+)))?(([0-9])+\\/([0-9])+))((-)|(\+))(([0-9])+\\/([0-9'. + '])+)i))|(((((-)|(\+)))?(([0-9])+\\/([0-9])+)))|(((((((-)|(\+)'. + '))?(((((([0-9])+)?(\.)?(([0-1])+(#)*)))|(((([0-1])+(#)*)(\.)?'. + '(#)*))|(((([0-1])+(#)*)\\/(([0-1])+(#)*))))(((([sl])|([def]))'. + '((((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))['. + '0f])))))|(((((-)|(\+)))?([0-9])+))))', + 4 => '((((#d#e)|(#e#d)|(#d#i)|(#i#d)|(#e)|(#i)|(#d)))?((((((((((((-'. + ')|(\+)))?(((((([0-9])+)?(\.)?(([0-9])+(#)*)))|(((([0-9])+(#)*'. + ')(\.)?(#)*))|(((([0-9])+(#)*)\\/(([0-9])+(#)*))))(((([sl])|(['. + 'def]))((((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(na'. + 'n\.))[0f])))))?((-)|(\+))(((((((([0-9])+)?(\.)?(([0-9])+(#)*)'. + '))|(((([0-9])+(#)*)(\.)?(#)*))|(((([0-9])+(#)*)\\/(([0-9])+(#'. + ')*))))(((([sl])|([def]))((((-)|(\+)))?([0-9])+)))?))|((((inf'. + '\.)|(nan\.))[0f])))i))|((((((((-)|(\+)))?(((((([0-9])+)?(\.)?'. + '(([0-9])+(#)*)))|(((([0-9])+(#)*)(\.)?(#)*))|(((([0-9])+(#)*)'. + '\\/(([0-9])+(#)*))))(((([sl])|([def]))((((-)|(\+)))?([0-9])+)'. + '))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0f]))))@((((((-)|(\+)))'. + '?(((((([0-9])+)?(\.)?(([0-9])+(#)*)))|(((([0-9])+(#)*)(\.)?(#'. + ')*))|(((([0-9])+(#)*)\\/(([0-9])+(#)*))))(((([sl])|([def]))(('. + '((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((inf\.)|(nan\.))[0f'. + ']))))))))|((((((-)|(\+)))?(([0-9])+\\/([0-9])+))((-)|(\+))((['. + '0-9])+\\/([0-9])+)i))|(((((-)|(\+)))?(([0-9])+\\/([0-9])+)))|'. + '(((((((-)|(\+)))?(((((([0-9])+)?(\.)?(([0-9])+(#)*)))|(((([0-'. + '9])+(#)*)(\.)?(#)*))|(((([0-9])+(#)*)\\/(([0-9])+(#)*))))(((('. + '[sl])|([def]))((((-)|(\+)))?([0-9])+)))?)))|((((-)|(\+))(((in'. + 'f\.)|(nan\.))[0f])))))|(((((-)|(\+)))?([0-9])+))))', + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: blue;', + 2 => 'color: rgb(34, 34, 139);', + 3 => 'color: blue;', + 4 => 'color: rgb(34, 34, 139);', + ), + 'COMMENTS' => array( + 1 => 'color: rgb(194, 116, 31);', + 'MULTI' => 'color: rgb(194, 116, 31);', + ), + 'ESCAPE_CHAR' => array( + 0 => '', + ), + 'BRACKETS' => array( + 0 => 'color: rgb(132, 60,36);', + ), + 'STRINGS' => array( + 0 => 'color: rgb(34, 139, 34);', + ), + 'NUMBERS' => array( + 0 => 'color: rgb(34, 139, 34);', + 1 => 'color: rgb(34, 139, 34);', + 2 => 'color: rgb(34, 139, 34);', + 3 => 'color: rgb(34, 139, 34);', + 4 => 'color: rgb(34, 139, 34);', + ), + 'METHODS' => array( + 0 => 'color: #202020;', + ), + 'SYMBOLS' => array( + 0 => 'color: rgb(132, 60,36);', + ), + 'REGEXPS' => array( + 1 => 'color: rgb(34, 139, 34);', + 2 => 'color: rgb(132, 60,36);', + 3 => 'color: rgb(34, 139, 34);', + ), + 'SCRIPT' => array( + ), + ), + 'URLS' => array( + 1 => 'http://docs.racket-lang.org/reference/', + 2 => 'http://docs.racket-lang.org/reference/', + 3 => 'http://docs.racket-lang.org/reference/', + 4 => 'http://docs.racket-lang.org/reference/', + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + 1 => '#\\\\(nul|null|backspace|tab|newline|linefeed|vtab|page|retur'. + 'n|space|rubout|([0-7]{1,3})|(u[[:xdigit:]]{1,4})|(U[[:xdigit:'. + ']]{1,6})|[a-z])', + 2 => '#:[^[:space:]()[\\]{}",\']+', + 3 => '\'((\\\\ )|([^[:space:]()[\\]{}",\']))+', + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'PARSER_CONTROL' => array( + 'KEYWORDS' => array( + 'DISALLOWED_BEFORE' => '[[:space:]()[\\]{}",\']', + ), + 'ENABLE_FLAGS' => array( + 'SYMBOLS' => GESHI_MAYBE, + 'BRACKETS' => GESHI_MAYBE, + 'REGEXPS' => GESHI_MAYBE, + 'ESCAPE_CHAR' => GESHI_MAYBE, + ) + ) +); diff --git a/inc/geshi/rails.php b/vendor/easybook/geshi/geshi/rails.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/rails.php rename to vendor/easybook/geshi/geshi/rails.php index 65ddee884e4bacffefb7c28dda00b700228e53f9..d41bd9a6f837adf302e3e670064c85e3134e97bb --- a/inc/geshi/rails.php +++ b/vendor/easybook/geshi/geshi/rails.php @@ -402,5 +402,3 @@ $language_data = array ( 0 => true, ) ); - -?> diff --git a/vendor/easybook/geshi/geshi/rbs.php b/vendor/easybook/geshi/geshi/rbs.php new file mode 100644 index 0000000000000000000000000000000000000000..02c2fcfa8ff1718e516009d1a9fa925bcc5b6f56 --- /dev/null +++ b/vendor/easybook/geshi/geshi/rbs.php @@ -0,0 +1,224 @@ +<?php +/************************************************************************************* + * rbs.php + * ------ + * Author: Deng Wen Gang (deng@priity.com) + * Copyright: (c) 2013 Deng Wen Gang + * Release Version: 1.0.8.12 + * Date Started: 2013/01/15 + * + * RBScript language file for GeSHi. + * + * RBScript official website: http://docs.realsoftware.com/index.php/Rbscript + * + * CHANGES + * ------- + * 2013/01/15 (1.0.0) + * - First Release + * + * TODO + * ---- + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'RBScript', + 'COMMENT_SINGLE' => array( 1 => '//', 2 => "'" ), + 'COMMENT_MULTI' => array(), + 'COMMENT_REGEXP' => array( + 3 => '/REM\s.*$/im', + 4 => '/&b[01]+/', + 5 => '/&o[0-7]+/', + 6 => '/&h[a-f0-9]+/i', + 7 => '/&c[a-f0-9]+/i', + 8 => '/&u[a-f0-9]+/i', + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"'), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + 1 => array( + 'Int8', 'Int16', 'Int32', 'Int64', 'Uint8', 'Uint16', 'Uint32', 'Uint64', 'Byte', 'Integer', + 'Single', 'Double', 'Boolean', 'String', 'Color', 'Object', 'Variant' + ), + 2 => array( + 'Private', 'Public', 'Protected', + 'Sub', 'Function', 'Delegate', 'Exception', + ), + 3 => array( + 'IsA', + 'And', 'Or', 'Not', 'Xor', + 'If', 'Then', 'Else', 'ElseIf', + 'Select', 'Case', + 'For', 'Each', 'In', 'To', 'Step', 'Next', + 'Do', 'Loop', 'Until', + 'While', 'Wend', + 'Continue', 'Exit', 'Goto', 'End', + ), + 4 => array( + 'Const', 'Static', + 'Dim', 'As', 'Redim', + 'Me', 'Self', 'Super', 'Extends', 'Implements', + 'ByRef', 'ByVal', 'Assigns', 'ParamArray', + 'Mod', + 'Raise', + ), + 5 => array( + 'False', 'True', 'Nil' + ), + 6 => array( + 'Abs', + 'Acos', + 'Asc', + 'AscB', + 'Asin', + 'Atan', + 'Atan2', + 'CDbl', + 'Ceil', + 'Chr', + 'ChrB', + 'CMY', + 'Cos', + 'CountFields', + 'CStr', + 'Exp', + 'Floor', + 'Format', + 'Hex', + 'HSV', + 'InStr', + 'InStrB', + 'Left', + 'LeftB', + 'Len', + 'LenB', + 'Log', + 'Lowercase', + 'LTrim', + 'Max', + 'Microseconds', + 'Mid', + 'MidB', + 'Min', + 'NthField', + 'Oct', + 'Pow', + 'Replace', + 'ReplaceB', + 'ReplaceAll', + 'ReplaceAllB', + 'RGB', + 'Right', + 'RightB', + 'Rnd', + 'Round', + 'RTrim', + 'Sin', + 'Sqrt', + 'Str', + 'StrComp', + 'Tan', + 'Ticks', + 'Titlecase', + 'Trim', + 'UBound', + 'Uppercase', + 'Val', + ), + ), + 'SYMBOLS' => array( + '+', '-', '*', '/', '\\', '^', '<', '>', '=', '<>', '&' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => false, + 5 => false, + 6 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #F660AB; font-weight: bold;', + 2 => 'color: #E56717; font-weight: bold;', + 3 => 'color: #8D38C9; font-weight: bold;', + 4 => 'color: #151B8D; font-weight: bold;', + 5 => 'color: #00C2FF; font-weight: bold;', + 6 => 'color: #3EA99F; font-weight: bold;' + ), + 'COMMENTS' => array( + 1 => 'color: #008000;', + 2 => 'color: #008000;', + 3 => 'color: #008000;', + + 4 => 'color: #800000;', + 5 => 'color: #800000;', + 6 => 'color: #800000;', + 7 => 'color: #800000;', + 8 => 'color: #800000;', + ), + 'BRACKETS' => array( + ), + 'STRINGS' => array( + 0 => 'color: #800000;' + ), + 'NUMBERS' => array( + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #800000; font-weight: bold;' + ), + 'SCRIPT' => array( + ), + 'REGEXPS' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '', + 6 => '' + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'PARSER_CONTROL' => array( + 'ENABLE_FLAGS' => array( + 'BRACKETS' => GESHI_NEVER, + 'SYMBOLS' => GESHI_NEVER, + 'NUMBERS' => GESHI_NEVER + ) + ) +); diff --git a/inc/geshi/rebol.php b/vendor/easybook/geshi/geshi/rebol.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/rebol.php rename to vendor/easybook/geshi/geshi/rebol.php diff --git a/inc/geshi/reg.php b/vendor/easybook/geshi/geshi/reg.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/reg.php rename to vendor/easybook/geshi/geshi/reg.php index 157b2bd24b3a7ad072c400101985cf2316426378..2034d5adbe03484c0f0f29cab4b682d8a9f53510 --- a/inc/geshi/reg.php +++ b/vendor/easybook/geshi/geshi/reg.php @@ -229,5 +229,3 @@ $language_data = array ( ) ) ); - -?> diff --git a/inc/geshi/rexx.php b/vendor/easybook/geshi/geshi/rexx.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/rexx.php rename to vendor/easybook/geshi/geshi/rexx.php index b3cb932297e92dec8387d599ef0c723eb3f3e674..1189ac5be20e831ec9786c282a24206de64bfbd1 --- a/inc/geshi/rexx.php +++ b/vendor/easybook/geshi/geshi/rexx.php @@ -158,5 +158,3 @@ $language_data = array ( ), 'TAB_WIDTH' => 4 ); - -?> diff --git a/inc/geshi/robots.php b/vendor/easybook/geshi/geshi/robots.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/robots.php rename to vendor/easybook/geshi/geshi/robots.php diff --git a/inc/geshi/rpmspec.php b/vendor/easybook/geshi/geshi/rpmspec.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/rpmspec.php rename to vendor/easybook/geshi/geshi/rpmspec.php diff --git a/inc/geshi/rsplus.php b/vendor/easybook/geshi/geshi/rsplus.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/rsplus.php rename to vendor/easybook/geshi/geshi/rsplus.php diff --git a/inc/geshi/ruby.php b/vendor/easybook/geshi/geshi/ruby.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/ruby.php rename to vendor/easybook/geshi/geshi/ruby.php diff --git a/vendor/easybook/geshi/geshi/rust.php b/vendor/easybook/geshi/geshi/rust.php new file mode 100644 index 0000000000000000000000000000000000000000..07ba51a02a1f1fd01d0029ff4e62ad98085662ac --- /dev/null +++ b/vendor/easybook/geshi/geshi/rust.php @@ -0,0 +1,228 @@ +<?php +/************************************************************************************* + * rust.php + * -------- + * Author: Edward Hart (edward.dan.hart@gmail.com) + * Copyright: (c) 2013 Edward Hart + * Release Version: 1.0.8.12 + * Date Started: 2013/10/20 + * + * Rust language file for GeSHi. + * + * CHANGES + * ------- + * 2013/10/20 + * - First Release + * + * TODO (updated 2013/10/20) + * ------------------------- + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array( + 'LANG_NAME' => 'Rust', + + 'COMMENT_SINGLE' => array('//'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'COMMENT_REGEXP' => array(), + + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'ESCAPE_REGEXP' => array( + //Simple Single Char Escapes + 1 => "#\\\\[\\\\nrt\'\"?\n]#i", + //Hexadecimal Char Specs + 2 => "#\\\\x[\da-fA-F]{2}#", + //Hexadecimal Char Specs + 3 => "#\\\\u[\da-fA-F]{4}#", + //Hexadecimal Char Specs + 4 => "#\\\\U[\da-fA-F]{8}#", + //Octal Char Specs + 5 => "#\\\\[0-7]{1,3}#" + ), + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B | + GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI | + GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO, + + 'KEYWORDS' => array( + // Keywords + 1 => array( + 'alt', 'as', 'assert', 'break', 'const', 'continue', 'copy', 'do', + 'else', 'enum', 'extern', 'fn', 'for', 'if', + 'impl', 'in', 'let', 'log', 'loop', 'match', 'mod', 'mut', 'of', + 'priv', 'pub', 'ref', 'return', 'self', 'static', 'struct', 'super', + 'to', 'trait', 'type', 'unsafe', 'use', 'with', 'while' + ), + // Boolean values + 2 => array( 'true', 'false' ), + // Structs and built-in types + 3 => array( + 'u8', 'i8', + 'u16', 'i16', + 'u32', 'i32', + 'u64', 'i64', + 'f32', 'f64', + 'int', 'uint', + 'float', + 'bool', + 'str', 'char', + 'Argument', 'AsyncWatcher', 'BorrowRecord', 'BufReader', + 'BufWriter', 'BufferedReader', 'BufferedStream', 'BufferedWriter', + 'ByRef', 'ByteIterator', 'CFile', 'CString', 'CStringIterator', + 'Cell', 'Chain', 'Chan', 'ChanOne', 'CharIterator', + 'CharOffsetIterator', 'CharRange', 'CharSplitIterator', + 'CharSplitNIterator', 'ChunkIter', 'Condition', 'ConnectRequest', + 'Coroutine', 'Counter', 'CrateMap', 'Cycle', 'DeflateWriter', + 'Display', 'ElementSwaps', 'Enumerate', 'Exp', 'Exp1', 'FileDesc', + 'FileReader', 'FileStat', 'FileStream', 'FileWriter', 'Filter', + 'FilterMap', 'FlatMap', 'FormatSpec', 'Formatter', 'FsRequest', + 'Fuse', 'GarbageCollector', 'GetAddrInfoRequest', 'Handle', + 'HashMap', 'HashMapIterator', 'HashMapMoveIterator', + 'HashMapMutIterator', 'HashSet', 'HashSetIterator', + 'HashSetMoveIterator', 'Hint', 'IdleWatcher', 'InflateReader', + 'Info', 'Inspect', 'Invert', 'IoError', 'Isaac64Rng', 'IsaacRng', + 'LineBufferedWriter', 'Listener', 'LocalHeap', 'LocalStorage', + 'Loop', 'Map', 'MatchesIndexIterator', 'MemReader', 'MemWriter', + 'MemoryMap', 'ModEntry', 'MoveIterator', 'MovePtrAdaptor', + 'MoveRevIterator', 'NoOpRunnable', 'NonCopyable', 'Normal', + 'OSRng', 'OptionIterator', 'Parser', 'Path', 'Peekable', + 'Permutations', 'Pipe', 'PipeStream', 'PluralArm', 'Port', + 'PortOne', 'Process', 'ProcessConfig', 'ProcessOptions', + 'ProcessOutput', 'RC', 'RSplitIterator', 'RandSample', 'Range', + 'RangeInclusive', 'RangeStep', 'RangeStepInclusive', 'Rc', 'RcMut', + 'ReaderRng', 'Repeat', 'ReprVisitor', 'RequestData', + 'ReseedWithDefault', 'ReseedingRng', 'Scan', 'SchedOpts', + 'SelectArm', 'SharedChan', 'SharedPort', 'SignalWatcher', + 'SipState', 'Skip', 'SkipWhile', 'SocketAddr', 'SplitIterator', + 'StackPool', 'StackSegment', 'StandardNormal', 'StdErrLogger', + 'StdIn', 'StdOut', 'StdReader', 'StdRng', 'StdWriter', + 'StrSplitIterator', 'StreamWatcher', 'TTY', 'Take', 'TakeWhile', + 'Task', 'TaskBuilder', 'TaskOpts', 'TcpAcceptor', 'TcpListener', + 'TcpStream', 'TcpWatcher', 'Timer', 'TimerWatcher', 'TrieMap', + 'TrieMapIterator', 'TrieSet', 'TrieSetIterator', 'Tube', + 'UdpSendRequest', 'UdpSocket', 'UdpStream', 'UdpWatcher', 'Unfold', + 'UnixAcceptor', 'UnixListener', 'UnixStream', 'Unwinder', + 'UvAddrInfo', 'UvError', 'UvEventLoop', 'UvFileStream', + 'UvIoFactory', 'UvPausibleIdleCallback', 'UvPipeStream', + 'UvProcess', 'UvRemoteCallback', 'UvSignal', 'UvTTY', + 'UvTcpAcceptor', 'UvTcpListener', 'UvTcpStream', 'UvTimer', + 'UvUdpSocket', 'UvUnboundPipe', 'UvUnixAcceptor', 'UvUnixListener', + 'VecIterator', 'VecMutIterator', 'Weighted', 'WeightedChoice', + 'WindowIter', 'WriteRequest', 'XorShiftRng', 'Zip', 'addrinfo', + 'uv_buf_t', 'uv_err_data', 'uv_process_options_t', 'uv_stat_t', + 'uv_stdio_container_t', 'uv_timespec_t' + ), + // Enums + 4 => array( + 'Alignment', 'Count', 'Either', 'ExponentFormat', 'FPCategory', + 'FileAccess', 'FileMode', 'Flag', 'IoErrorKind', 'IpAddr', + 'KeyValue', 'MapError', 'MapOption', 'MemoryMapKind', 'Method', + 'NullByteResolution', 'Option', 'Ordering', 'PathPrefix', 'Piece', + 'PluralKeyword', 'Position', 'Protocol', 'Result', 'SchedHome', + 'SchedMode', 'SeekStyle', 'SendStr', 'SignFormat', + 'SignificantDigits', 'Signum', 'SocketType', 'StdioContainer', + 'TaskResult', 'TaskType', 'UvSocketAddr', 'Void', 'uv_handle_type', + 'uv_membership', 'uv_req_type' + ) + ), + 'SYMBOLS' => array( + '(', ')', '{', '}', '[', ']', + '+', '-', '*', '/', '%', + '&', '|', '^', '!', '<', '>', '~', '@', + ':', + ';', ',', + '=' + ), + + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + 3 => true, + 4 => true + ), + + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #708;', + 2 => 'color: #219;', + 3 => 'color: #05a;', + 4 => 'color: #800;' + ), + 'COMMENTS' => array( + 0 => 'color: #a50; font-style: italic;', + 'MULTI' => 'color: #a50; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;', + 1 => 'color: #000099; font-weight: bold;', + 2 => 'color: #660099; font-weight: bold;', + 3 => 'color: #660099; font-weight: bold;', + 4 => 'color: #660099; font-weight: bold;', + 5 => 'color: #006699; font-weight: bold;', + 'HARD' => '' + ), + 'STRINGS' => array( + 0 => 'color: #a11;' + ), + 'NUMBERS' => array( + 0 => 'color: #0000dd;', + GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;', + GESHI_NUMBER_OCT_PREFIX => 'color: #208080;', + GESHI_NUMBER_HEX_PREFIX => 'color: #208080;', + GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;', + GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI => 'color:#800080;' + ), + 'BRACKETS' => array(''), + 'METHODS' => array( + 1 => 'color: #164;' + ), + 'SYMBOLS' => array( + 0 => '' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '::' + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4 +); diff --git a/inc/geshi/sas.php b/vendor/easybook/geshi/geshi/sas.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/sas.php rename to vendor/easybook/geshi/geshi/sas.php diff --git a/vendor/easybook/geshi/geshi/sass.php b/vendor/easybook/geshi/geshi/sass.php new file mode 100644 index 0000000000000000000000000000000000000000..286f4bfab88854cb27e0c98b38e03a6c704a4ea3 --- /dev/null +++ b/vendor/easybook/geshi/geshi/sass.php @@ -0,0 +1,248 @@ +<?php +/************************************************************************************* + * sass.php + * ------- + * Author: Javier Eguiluz (javier.eguiluz@gmail.com) + * Release Version: 1.0.8.12 + * Date Started: 2014/05/10 + * + * SASS language file for GeSHi. + * + * CHANGES + * ------- + * 2014/05/10 (1.0.0) + * - First Release + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'Sass', + 'COMMENT_SINGLE' => array(1 => '//'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'COMMENT_REGEXP' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"', "'"), + 'ESCAPE_CHAR' => '', + 'ESCAPE_REGEXP' => array( + ), + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_FLT_SCI_ZERO, + 'KEYWORDS' => array( + // properties + 1 => array( + 'azimuth', 'background-attachment', 'background-color', + 'background-image', 'background-position', 'background-repeat', + 'background', 'border-bottom-color', 'border-radius', + 'border-top-left-radius', 'border-top-right-radius', + 'border-bottom-right-radius', 'border-bottom-left-radius', + 'border-bottom-style', 'border-bottom-width', 'border-left-color', + 'border-left-style', 'border-left-width', 'border-right', + 'border-right-color', 'border-right-style', 'border-right-width', + 'border-top-color', 'border-top-style', + 'border-top-width','border-bottom', 'border-collapse', + 'border-left', 'border-width', 'border-color', 'border-spacing', + 'border-style', 'border-top', 'border', 'box-shadow', 'caption-side', 'clear', + 'clip', 'color', 'content', 'counter-increment', 'counter-reset', + 'cue-after', 'cue-before', 'cue', 'cursor', 'direction', 'display', + 'elevation', 'empty-cells', 'float', 'font-family', 'font-size', + 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', + 'font-weight', 'font', 'line-height', 'letter-spacing', + 'list-style', 'list-style-image', 'list-style-position', + 'list-style-type', 'margin-bottom', 'margin-left', 'margin-right', + 'margin-top', 'margin', 'marker-offset', 'marks', 'max-height', + 'max-width', 'min-height', 'min-width', 'orphans', 'outline', + 'outline-color', 'outline-style', 'outline-width', 'overflow', + 'padding-bottom', 'padding-left', 'padding-right', 'padding-top', + 'padding', 'page', 'page-break-after', 'page-break-before', + 'page-break-inside', 'pause-after', 'pause-before', 'pause', + 'pitch', 'pitch-range', 'play-during', 'position', 'quotes', + 'richness', 'right', 'size', 'speak-header', 'speak-numeral', + 'speak-punctuation', 'speak', 'speech-rate', 'stress', + 'table-layout', 'text-align', 'text-decoration', 'text-indent', + 'text-shadow', 'text-transform', 'top', 'unicode-bidi', + 'vertical-align', 'visibility', 'voice-family', 'volume', + 'white-space', 'widows', 'width', 'word-spacing', 'z-index', + 'bottom', 'left', 'height', + // media queries + 'screen', 'orientation', 'min-device-width', 'max-device-width', + ), + // reserved words for values + 2 => array( + // colors + 'aqua', 'black', 'blue', 'fuchsia', 'gray', 'green', 'lime', + 'maroon', 'navy', 'olive', 'orange', 'purple', 'red', 'silver', + 'teal', 'white', 'yellow', + // media queries + 'landscape', 'portrait', + // other + 'above', 'absolute', 'always', 'armenian', 'aural', 'auto', + 'avoid', 'baseline', 'behind', 'below', 'bidi-override', 'blink', + 'block', 'bold', 'bolder', 'both', 'capitalize', 'center-left', + 'center-right', 'center', 'circle', 'cjk-ideographic', + 'close-quote', 'collapse', 'condensed', 'continuous', 'crop', + 'crosshair', 'cross', 'cursive', 'dashed', 'decimal-leading-zero', + 'decimal', 'default', 'digits', 'disc', 'dotted', 'double', + 'e-resize', 'embed', 'extra-condensed', 'extra-expanded', + 'expanded', 'fantasy', 'far-left', 'far-right', 'faster', 'fast', + 'fixed', 'georgian', 'groove', 'hebrew', 'help', 'hidden', + 'hide', 'higher', 'high', 'hiragana-iroha', 'hiragana', 'icon', + 'inherit', 'inline-table', 'inline', 'inline-block', 'inset', 'inside', + 'invert', 'italic', 'justify', 'katakana-iroha', 'katakana', 'landscape', + 'larger', 'large', 'left-side', 'leftwards', 'level', 'lighter', + 'line-through', 'list-item', 'loud', 'lower-alpha', 'lower-greek', + 'lower-roman', 'lowercase', 'ltr', 'lower', 'low', + 'medium', 'message-box', 'middle', 'mix', 'monospace', 'n-resize', + 'narrower', 'ne-resize', 'no-close-quote', + 'no-open-quote', 'no-repeat', 'none', 'normal', 'nowrap', + 'nw-resize', 'oblique', 'once', 'open-quote', 'outset', + 'outside', 'overline', 'pointer', 'portrait', 'px', + 'relative', 'repeat-x', 'repeat-y', 'repeat', 'rgb', + 'ridge', 'right-side', 'rightwards', 's-resize', 'sans-serif', + 'scroll', 'se-resize', 'semi-condensed', 'semi-expanded', + 'separate', 'serif', 'show', 'silent', 'slow', 'slower', + 'small-caps', 'small-caption', 'smaller', 'soft', 'solid', + 'spell-out', 'square', 'static', 'status-bar', 'super', + 'sw-resize', 'table-caption', 'table-cell', 'table-column', + 'table-column-group', 'table-footer-group', 'table-header-group', + 'table-row', 'table-row-group', 'text', 'text-bottom', + 'text-top', 'thick', 'thin', 'transparent', 'ultra-condensed', + 'ultra-expanded', 'underline', 'upper-alpha', 'upper-latin', + 'upper-roman', 'uppercase', 'url', 'visible', 'w-resize', 'wait', + 'wider', 'x-fast', 'x-high', 'x-large', 'x-loud', 'x-low', + 'x-small', 'x-soft', 'xx-large', 'xx-small', 'yellow', 'yes' + ), + // directives + 3 => array( + '@at-root', '@charset', '@content', '@debug', '@each', '@else', '@elseif', + '@else if', '@extend', '@font-face', '@for', '@function', '@if', + '@import', '@include', '@media', '@mixin', '@namespace', '@page', + '@return', '@warn', '@while', + ), + // built-in Sass functions + 4 => array( + 'rgb', 'rgba', 'red', 'green', 'blue', 'mix', + 'hsl', 'hsla', 'hue', 'saturation', 'lightness', 'adjust-hue', + 'lighten', 'darken', 'saturate', 'desaturate', 'grayscale', + 'complement', 'invert', + 'alpha', 'rgba', 'opacify', 'transparentize', + 'adjust-color', 'scale-color', 'change-color', 'ie-hex-str', + 'unquote', 'quote', 'str-length', 'str-insert', 'str-index', + 'str-slice', 'to-upper-case', 'to-lower-case', + 'percentage', 'round', 'ceil', 'floor', 'abs', 'min', 'max', 'random', + 'length', 'nth', 'join', 'append', 'zip', 'index', 'list-separator', + 'map-get', 'map-merge', 'map-remove', 'map-keys', 'map-values', + 'map-has-key', 'keywords', + 'feature-exists', 'variable-exists', 'global-variable-exists', + 'function-exists', 'mixin-exists', 'inspect', 'type-of', 'unit', + 'unitless', 'comparable', 'call', + 'if', 'unique-id', + ), + // reserved words + 5 => array( + '!important', '!default', '!optional', 'true', 'false', 'with', + 'without', 'null', 'from', 'through', 'to', 'in', 'and', 'or', + 'only', 'not', + ), + ), + 'SYMBOLS' => array( + '(', ')', '{', '}', ':', ';', + '>', '+', '*', ',', '^', '=', + '&', '~', '!', '%', '?', '...', + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => false, + 5 => false, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #000000; font-weight: bold;', + 2 => 'color: #993333;', + 3 => 'color: #990000;', + 4 => 'color: #000000; font-weight: bold;', + 5 => 'color: #009900;', + ), + 'COMMENTS' => array( + 1 => 'color: #006600; font-style: italic;', + 'MULTI' => 'color: #006600; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + ), + 'BRACKETS' => array( + 0 => 'color: #00AA00;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + 0 => 'color: #00AA00;' + ), + 'SCRIPT' => array( + ), + 'REGEXPS' => array( + 0 => 'color: #cc00cc;', + 1 => 'color: #6666ff;', + 2 => 'color: #3333ff;', + 3 => 'color: #933;', + 4 => 'color: #ff6633;', + 5 => 'color: #0066ff;', + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '', + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + // Variables + 0 => "[$][a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*", + // Hexadecimal colors + 1 => "\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})", + // CSS Pseudo classes + // note: & is needed for > (i.e. > ) + 2 => "(?<!\\\\):(?!\d)[a-zA-Z0-9\-]+\b(?:\s*(?=[\{\.#a-zA-Z,:+*&](.|\n)|<\|))", + // Measurements + 3 => "[+\-]?(\d+|(\d*\.\d+))(em|ex|pt|px|cm|in|%)", + // Interpolation + 4 => "(\#\{.*\})", + // Browser prefixed properties + 5 => "(\-(moz|ms|o|webkit)\-[a-z\-]*)", + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 2, +); diff --git a/inc/geshi/scala.php b/vendor/easybook/geshi/geshi/scala.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/scala.php rename to vendor/easybook/geshi/geshi/scala.php diff --git a/inc/geshi/scheme.php b/vendor/easybook/geshi/geshi/scheme.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/scheme.php rename to vendor/easybook/geshi/geshi/scheme.php index a84b90809a9dbfe22df126f7fd49bb468026eef3..59870846b3e23b08a7210aa26353b7c12d3d6f65 --- a/inc/geshi/scheme.php +++ b/vendor/easybook/geshi/geshi/scheme.php @@ -166,5 +166,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/scilab.php b/vendor/easybook/geshi/geshi/scilab.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/scilab.php rename to vendor/easybook/geshi/geshi/scilab.php diff --git a/vendor/easybook/geshi/geshi/scl.php b/vendor/easybook/geshi/geshi/scl.php new file mode 100644 index 0000000000000000000000000000000000000000..6b0e494f2aca8698a7bed80528fb2e469c7ee1a8 --- /dev/null +++ b/vendor/easybook/geshi/geshi/scl.php @@ -0,0 +1,148 @@ +<?php +/************************************************************************************* + * <scl.php> + * --------------------------------- + * Author: Leonhard Hösch (leonhard.hoesch@siemens.com) + * Copyright: (c) 2008 by Leonhard Hösch (siemens.de) + * Release Version: 1.0.8.12 + * Date Started: 2012/09/25 + * + * SCL language file for GeSHi. + * + * A SCL langauge file. + * + * CHANGES + * ------- + * <date-of-release> (<GeSHi release>) + * - First Release + * + * TODO (updated <date-of-release>) + * ------------------------- + * <things-to-do> + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'SCL', + 'COMMENT_SINGLE' => array(1 => '//'), + 'COMMENT_MULTI' => array('(*' => '*)'), + 'CASE_KEYWORDS' => GESHI_CAPS_UPPER, + 'QUOTEMARKS' => array("'"), + 'ESCAPE_CHAR' => '$', + 'KEYWORDS' => array( + 1 => array( + 'AND','ANY','ARRAY','AT','BEGIN','BLOCK_DB','BLOCK_FB','BLOCK_FC','BLOCK_SDB', + 'BLOCK_SFB','BLOCK_SFC','BOOL','BY','BYTE','CASE','CHAR','CONST','CONTINUE','COUNTER', + 'DATA_BLOCK','DATE','DATE_AND_TIME','DINT','DIV','DO','DT','DWORD','ELSE','ELSIF', + 'EN','END_CASE','END_CONST','END_DATA_BLOCK','END_FOR','END_FUNCTION', + 'END_FUNCTION_BLOCK','END_IF','END_LABEL','END_TYPE','END_ORGANIZATION_BLOCK', + 'END_REPEAT','END_STRUCT','END_VAR','END_WHILE','ENO','EXIT','FALSE','FOR','FUNCTION', + 'FUNCTION_BLOCK','GOTO','IF','INT','LABEL','MOD','NIL','NOT','OF','OK','OR', + 'ORGANIZATION_BLOCK','POINTER','PROGRAM','REAL','REPEAT','RETURN','S5TIME','STRING', + 'STRUCT','THEN','TIME','TIMER','TIME_OF_DAY','TO','TOD','TRUE','TYPE','VAR', + 'VAR_TEMP','UNTIL','VAR_INPUT','VAR_IN_OUT','VAR_OUTPUT','VOID','WHILE','WORD','XOR' + ), + 2 =>array( + 'UBLKMOV','FILL','CREAT_DB','DEL_DB','TEST_DB','COMPRESS','REPL_VAL','CREA_DBL','READ_DBL', + 'WRIT_DBL','CREA_DB','RE_TRIGR','STP','WAIT','MP_ALM','CiR','PROTECT','SET_CLK','READ_CLK', + 'SNC_RTCB','SET_CLKS','RTM','SET_RTM','CTRL_RTM','READ_RTM','TIME_TCK','RD_DPARM', + 'RD_DPARA','WR_PARM','WR_DPARM','PARM_MOD','WR_REC','RD_REC','RD_DPAR','RDREC','WRREC','RALRM', + 'SALRM','RCVREC','PRVREC','SET_TINT','CAN_TINT','ACT_TINT','QRY_TINT','SRT_DINT','QRY_DINT', + 'CAN_DINT','MSK_FLT','DMSK_FLT','READ_ERR','DIS_IRT','EN_IRT','DIS_AIRT','EN_AIRT','RD_SINFO', + 'RDSYSST','WR_USMSG','OB_RT','C_DIAG','DP_TOPOL','UPDAT_PI','UPDAT_PO','SYNC_PI','SYNC_PO', + 'SET','RSET','DRUM','GADR_LGC','LGC_GADR','RD_LGADR','GEO_LOG','LOG_GEO','DP_PRAL','DPSYC_FR', + 'D_ACT_DP','DPNRM_DG','DPRD_DAT','DPWR_DAT','PN_IN','PN_OUT','PN_DP','WWW','IP_CONF','GETIO', + 'SETIO','GETIO_PART','SETIO_PART','GD_SND','GD_RCV','USEND','URCV','BSEND','BRCV','PUT','GET', + 'PRINT','START','STOP','RESUME','STATUS','USTATUS','CONTROL','C_CNTRL','X_SEND','X_RCV', + 'X_GET','X_PUT','X_ABORT','I_GET','I_PUT','I_ABORT','TCON','TDISCON','TSEND','TRCV','TUSEND', + 'TURCV','NOTIFY','NOTIFY_8P','ALARM','ALARM_8P','ALARM_8','AR_SEND','DIS_MSG','EN_MSG', + 'ALARM_SQ','ALARM_S','ALARM_SC','ALARM_DQ','LARM_D','READ_SI','DEL_SI','TP','TON','TOF','CTU', + 'CTD','CTUD','CONT_C','CONT_S','PULSEGEN','Analog','DIGITAL','COUNT','FREQUENC','PULSE', + 'SEND_PTP','RECV_PTP','RES_RECV','SEND_RK','FETCH_RK','SERVE_RK','H_CTRL','state' + ), + ), + 'SYMBOLS' => array( + '.', '"', '|', ';', ',', '=>', '>=', '<=', ':=', '=', '<', '>' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #0000ff;', + 2 => 'color: #ff6f00;', + ), + 'COMMENTS' => array( + 1 => 'color: #009600; font-style: italic;', + 'MULTI' => 'color: #009600; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + 0 => 'color: #006600;' + ), + 'SYMBOLS' => array( + 0 => 'color: #66cc66;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + 0 => '', + 1 => '', + 2 => '', + 3 => '' + ) + ), + 'URLS' => array( + 1 => '', + 2 => '' + ), + 'NUMBERS' => GESHI_NUMBER_INT_BASIC, + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + 1 => '', + 2 => '' + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + 0 => array( + '<?php11!!' => '!!11?>' + ), + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + 0 => false, + ), + 'TAB_WIDTH' => 4 +); diff --git a/inc/geshi/sdlbasic.php b/vendor/easybook/geshi/geshi/sdlbasic.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/sdlbasic.php rename to vendor/easybook/geshi/geshi/sdlbasic.php index 381161fdf64746af1a15d417631b8490085d3add..b95003fccd95beb1db2537519188907dea9734ac --- a/inc/geshi/sdlbasic.php +++ b/vendor/easybook/geshi/geshi/sdlbasic.php @@ -161,5 +161,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/smalltalk.php b/vendor/easybook/geshi/geshi/smalltalk.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/smalltalk.php rename to vendor/easybook/geshi/geshi/smalltalk.php diff --git a/inc/geshi/smarty.php b/vendor/easybook/geshi/geshi/smarty.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/smarty.php rename to vendor/easybook/geshi/geshi/smarty.php index 86e9d44c0155ffd96e8ddf11386bfaa7904fae26..883b3eb7c94296d087176d3b9fb091d7a0f0b4fd --- a/inc/geshi/smarty.php +++ b/vendor/easybook/geshi/geshi/smarty.php @@ -188,5 +188,3 @@ $language_data = array ( ) ) ); - -?> diff --git a/inc/geshi/spark.php b/vendor/easybook/geshi/geshi/spark.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/spark.php rename to vendor/easybook/geshi/geshi/spark.php diff --git a/inc/geshi/sparql.php b/vendor/easybook/geshi/geshi/sparql.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/sparql.php rename to vendor/easybook/geshi/geshi/sparql.php diff --git a/inc/geshi/sql.php b/vendor/easybook/geshi/geshi/sql.php old mode 100644 new mode 100755 similarity index 97% rename from inc/geshi/sql.php rename to vendor/easybook/geshi/geshi/sql.php index 4d08a51fe1de61f578b23189f82c6b71018c58ee..f4d130eb94ef0506f5d7f7b139383121321c779b --- a/inc/geshi/sql.php +++ b/vendor/easybook/geshi/geshi/sql.php @@ -159,6 +159,11 @@ $language_data = array ( 'SCRIPT_DELIMITERS' => array( ), 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'PARSER_CONTROL' => array( + 'KEYWORDS' => array( //' + 'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\.\|\#|^&])" + ) ) ); diff --git a/inc/geshi/stonescript.php b/vendor/easybook/geshi/geshi/stonescript.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/stonescript.php rename to vendor/easybook/geshi/geshi/stonescript.php diff --git a/inc/geshi/systemverilog.php b/vendor/easybook/geshi/geshi/systemverilog.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/systemverilog.php rename to vendor/easybook/geshi/geshi/systemverilog.php diff --git a/inc/geshi/tcl.php b/vendor/easybook/geshi/geshi/tcl.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/tcl.php rename to vendor/easybook/geshi/geshi/tcl.php diff --git a/inc/geshi/teraterm.php b/vendor/easybook/geshi/geshi/teraterm.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/teraterm.php rename to vendor/easybook/geshi/geshi/teraterm.php diff --git a/inc/geshi/text.php b/vendor/easybook/geshi/geshi/text.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/text.php rename to vendor/easybook/geshi/geshi/text.php index 87fb7110c2b739b30e3b0097b2e1742e4e333498..3c7f17c62da306085102cebd511cdc0ad0430828 --- a/inc/geshi/text.php +++ b/vendor/easybook/geshi/geshi/text.php @@ -80,5 +80,3 @@ $language_data = array ( ), ) ); - -?> diff --git a/inc/geshi/thinbasic.php b/vendor/easybook/geshi/geshi/thinbasic.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/thinbasic.php rename to vendor/easybook/geshi/geshi/thinbasic.php index f54959e16abf0069d99fa004266e14b45a25d393..3d2034921ff65f0199b6dad630192cda5b24424f --- a/inc/geshi/thinbasic.php +++ b/vendor/easybook/geshi/geshi/thinbasic.php @@ -864,5 +864,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/tsql.php b/vendor/easybook/geshi/geshi/tsql.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/tsql.php rename to vendor/easybook/geshi/geshi/tsql.php diff --git a/vendor/easybook/geshi/geshi/twig.php b/vendor/easybook/geshi/geshi/twig.php new file mode 100644 index 0000000000000000000000000000000000000000..cc790532c1c51547cb878fac001b6ae50404660a --- /dev/null +++ b/vendor/easybook/geshi/geshi/twig.php @@ -0,0 +1,190 @@ +<?php +/************************************************************************************* + * twig.php + * ---------- + * Author: Keyvan Akbary (keyvan@kiwwito.com) + * Copyright: (c) 2011 Keyvan Akbary (http://www.kiwwito.com/) + * Release Version: 1.0.0 + * Date Started: 2011/12/05 + * + * Twig template language file for GeSHi. + * + * CHANGES + * ------- + * 2012/09/28 (1.9.0 by José Andrés Puertas y Javier Eguiluz) + * - Added new tags, filters and functions + * - Added regexps for variables, objects and properties + * - Lots of other minor tweaks (delimites, comments, ...) + * + * 2011/12/05 (1.0.0 by Keyvan Akbary) + * - Initial Release + * + * TODO + * ---- + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array( + 'LANG_NAME' => 'Twig', + 'COMMENT_SINGLE' => array('{#' => '#}'), + 'COMMENT_MULTI' => array('{#' => '#}'), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + //TWIG + //Tags + 1 => array( + 'autoescape', 'endautoescape', 'block', 'endblock', 'do', 'embed', 'endembed', + 'extends', 'filter', 'endfilter', 'for', 'endfor', 'from', 'if', 'else', 'elseif', 'endif', + 'import', 'include', 'macro', 'endmacro', 'raw', 'endraw', 'sandbox', 'set', 'endset', + 'spaceless', 'endspaceless', 'use', 'verbatim', 'endverbatim', + 'trans', 'endtrans', 'transchoice', 'endtranschoice' + ), + //Filters + 2 => array( + 'abs', 'batch', 'capitalize', 'convert_encoding', 'date', 'date_modify', 'default', + 'escape', 'first', 'format', 'join', 'json_encode', 'keys', 'last', 'length', 'lower', + 'merge', 'nl2br', 'number_format', 'raw', 'replace', 'reverse', 'slice', 'sort', 'split', + 'striptags', 'title', 'trans', 'trim', 'upper', 'url_encode' + ), + //Functions + 3 => array( + 'attribute', 'block', 'constant', 'cycle', 'date', 'dump', 'include', + 'parent', 'random', 'range', 'source', 'template_from_string' + ), + //Tests + 4 => array( + 'constant', 'defined', 'divisibleby', 'empty', 'even', 'iterable', 'null', + 'odd', 'sameas' + ), + //Operators + 5 => array( + 'in', 'is', 'and', 'b-and', 'or', 'b-or', 'b-xor', 'not', 'into', + 'starts with', 'ends with', 'matches' + ), + 6 => array( + '{{', '}}', '{%', '%}' + ), + ), + 'SYMBOLS' => array( + '+', '-', '/', '/', '*', '**', //Math operators + '==', '!=', '<', '>', '>=', '<=', '===', //Logic operators + '..', '|', '~', '[', ']', '.', '?', ':', '(', ')', //Other + '=' //HTML (attributes) + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + //Twig + 1 => true, + 2 => true, + 3 => true, + 4 => true, + 5 => true, + 6 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #0600FF;', //Tags + 2 => 'color: #008000;', //Filters + 3 => 'color: #0600FF;', //Functions + 4 => 'color: #804040;', //Tests + 5 => 'color: #008000;', //Operators + 6 => 'color: #008000;' // {{ and {% + ), + 'COMMENTS' => array( + 'MULTI' => 'color: #008080; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #D36900;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + 1 => 'color: #006600;' + ), + 'SYMBOLS' => array( + 0 => 'color: #D36900;' + ), + 'SCRIPT' => array( + 0 => '', + 1 => 'color: #808080; font-style: italic;', + 2 => 'color: #009000;' + ), + 'REGEXPS' => array( + 0 => 'color: #00aaff;', + 1 => 'color: #00aaff;' + ) + ), + 'URLS' => array( + 1 => 'http://twig.sensiolabs.org/doc/tags/{FNAMEL}.html', + 2 => 'http://twig.sensiolabs.org/doc/filters/{FNAMEL}.html', + 3 => 'http://twig.sensiolabs.org/doc/functions/{FNAMEL}.html', + 4 => 'http://twig.sensiolabs.org/doc/tests/{FNAMEL}.html', + 5 => '', + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + 1 => '.', + ), + 'REGEXPS' => array( + 0 => array( + GESHI_SEARCH => "([[:space:]])([a-zA-Z_][a-zA-Z0-9_]*)", + GESHI_REPLACE => '\\2', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '\\1', + GESHI_AFTER => '' + ), + 1 => array( + GESHI_SEARCH => "\.([a-zA-Z_][a-zA-Z0-9_]*)", + GESHI_REPLACE => '.\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + ), + 'STRICT_MODE_APPLIES' => GESHI_ALWAYS, + 'SCRIPT_DELIMITERS' => array( + 0 => array( + '{{' => '}}', + '{%' => '%}' + ), + 1 => array( + '{#' => '#}', + ) + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + 0 => true, + 1 => true, + 2 => true + ), + 'PARSER_CONTROL' => array( + 'KEYWORDS' => array( + ) + ) +); diff --git a/inc/geshi/typoscript.php b/vendor/easybook/geshi/geshi/typoscript.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/typoscript.php rename to vendor/easybook/geshi/geshi/typoscript.php index 6751aaa8da39e30a98c51ebd13ba5d869dbbd883..25671d7288630c092b6de5922e5ca5a79a2968e7 --- a/inc/geshi/typoscript.php +++ b/vendor/easybook/geshi/geshi/typoscript.php @@ -296,5 +296,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ), ); - -?> diff --git a/inc/geshi/unicon.php b/vendor/easybook/geshi/geshi/unicon.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/unicon.php rename to vendor/easybook/geshi/geshi/unicon.php diff --git a/inc/geshi/upc.php b/vendor/easybook/geshi/geshi/upc.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/upc.php rename to vendor/easybook/geshi/geshi/upc.php diff --git a/inc/geshi/urbi.php b/vendor/easybook/geshi/geshi/urbi.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/urbi.php rename to vendor/easybook/geshi/geshi/urbi.php index a7353ea8bba93c5dbab0a23f171d03a28b08ffe0..c73e44404f0ec9aa32ff2ab1f070756f3255f154 --- a/inc/geshi/urbi.php +++ b/vendor/easybook/geshi/geshi/urbi.php @@ -196,5 +196,3 @@ $language_data = array ( ), 'TAB_WIDTH' => 4, ); - -?> diff --git a/inc/geshi/uscript.php b/vendor/easybook/geshi/geshi/uscript.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/uscript.php rename to vendor/easybook/geshi/geshi/uscript.php index 58cdb8d9e51e0000071d0f0050cb8d49065eb255..03b1d48a6f1e488cf33e050916809837b8cc4c11 --- a/inc/geshi/uscript.php +++ b/vendor/easybook/geshi/geshi/uscript.php @@ -295,5 +295,3 @@ $language_data = array ( ) ) ); - -?> diff --git a/inc/geshi/vala.php b/vendor/easybook/geshi/geshi/vala.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/vala.php rename to vendor/easybook/geshi/geshi/vala.php index acac57e2aef4b69b435f092a534267b44acdd25a..28f153427077b661b7484496c9b56cb57277f11b --- a/inc/geshi/vala.php +++ b/vendor/easybook/geshi/geshi/vala.php @@ -147,5 +147,3 @@ $language_data = array ( ) ) ); - -?> diff --git a/inc/geshi/vb.php b/vendor/easybook/geshi/geshi/vb.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/vb.php rename to vendor/easybook/geshi/geshi/vb.php diff --git a/inc/geshi/vbnet.php b/vendor/easybook/geshi/geshi/vbnet.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/vbnet.php rename to vendor/easybook/geshi/geshi/vbnet.php diff --git a/vendor/easybook/geshi/geshi/vbscript.php b/vendor/easybook/geshi/geshi/vbscript.php new file mode 100644 index 0000000000000000000000000000000000000000..6db3bbd3f331f18203ab18fcedf5e4ffcd67c936 --- /dev/null +++ b/vendor/easybook/geshi/geshi/vbscript.php @@ -0,0 +1,153 @@ +<?php +/************************************************************************************* + * vbscript.php + * ------ + * Author: Roberto Rossi (rsoftware@altervista.org) + * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), + * Nigel McNie (http://qbnz.com/highlighter), + * Rory Prendergast (http://www.tanium.com) + * Release Version: 1.0.8.12 + * Date Started: 2012/08/20 + * + * VBScript language file for GeSHi. + * + * CHANGES + * ------- + * 2012/08/20 (1.0.0) + * - First Release + * + * TODO (updated 2004/11/27) + * ------------------------- + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'VBScript', + 'COMMENT_SINGLE' => array(), + 'COMMENT_MULTI' => array(), + 'COMMENT_REGEXP' => array( + // Comments (either single or multiline with _ + 1 => '/\'.*(?<! _)\n/sU', + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"'), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + 1 => array( + 'Empty', 'Nothing', 'Null', 'vbArray', 'vbBoolean', 'vbByte', + 'vbCr', 'vbCrLf', 'vbCurrency', 'vbDate', 'vbDouble', 'vbEmpty', + 'vbError', 'vbFirstFourDays', 'vbFirstFullWeek', 'vbFirstJan1', + 'vbFormFeed', 'vbFriday', 'vbInteger', 'vbLf', 'vbLong', 'vbMonday', + 'vbNewLine', 'vbNull', 'vbNullChar', 'vbNullString', 'vbObject', + 'vbSaturday', 'vbSingle', 'vbString', 'vbSunday', 'vbTab', + 'vbThursday', 'vbTuesday', 'vbUseSystem', 'vbUseSystemDayOfWeek', + 'vbVariant', 'vbWednesday', 'FALSE', 'TRUE' + ), + 2 => array( + 'bs', 'Array', 'Asc', 'Atn', 'CBool', 'CByte', 'CDate', 'CDbl', 'Chr', + 'CInt', 'CLng', 'Cos', 'CreateObject', 'CSng', 'CStr', 'Date', 'DateAdd', + 'DateDiff', 'DatePart', 'DateSerial', 'DateValue', 'Day', 'Eval', 'Exp', + 'Filter', 'Fix', 'FormatDateTime', 'FormatNumber', 'FormatPercent', + 'GetObject', 'Hex', 'Hour', 'InputBox', 'InStr', 'InstrRev', 'Int', + 'IsArray', 'IsDate', 'IsEmpty', 'IsNull', 'IsNumeric', 'IsObject', 'Join', + 'LBound', 'LCase', 'Left', 'Len', 'Log', 'LTrim', 'Mid', 'Minute', 'Month', + 'MonthName', 'MsgBox', 'Now', 'Oct', 'Replace', 'RGB', 'Right', 'Rnd', + 'Round', 'RTrim', 'ScriptEngine', 'ScriptEngineBuildVersion', + 'ScriptEngineMajorVersion', 'ScriptEngineMinorVersion', 'Second', + 'Sgn', 'Sin', 'Space', 'Split', 'Sqr', 'StrComp', 'String', 'StrReverse', + 'Tan', 'Time', 'TimeSerial', 'TimeValue', 'Trim', 'TypeName', 'UBound', + 'UCase', 'VarType', 'Weekday', 'WeekdayName', 'Year' + ), + 3 => array( + 'Call', 'Case', 'Const', 'Dim', 'Do', 'Each', 'Else', 'End', 'Erase', + 'Execute', 'Exit', 'For', 'Function', 'Gosub', 'Goto', 'If', 'Loop', + 'Next', 'On Error', 'Option Explicit', 'Private', 'Public', + 'Randomize', 'ReDim', 'Rem', 'Resume', 'Select', 'Set', 'Sub', 'Then', + 'Wend', 'While', 'With', 'In', 'To', 'Step' + ), + 4 => array( + 'And', 'Eqv', 'Imp', 'Is', 'Mod', 'Not', 'Or', 'Xor' + ), + ), + 'SYMBOLS' => array( + '-', '&', '*', '/', '\\', '^', '+', '<', '<=', '<>', '=', '>', '>=' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #F660AB; font-weight: bold;', + 2 => 'color: #E56717; font-weight: bold;', + 3 => 'color: #8D38C9; font-weight: bold;', + 4 => 'color: #151B8D; font-weight: bold;' + ), + 'COMMENTS' => array( + 1 => 'color: #008000;' + ), + 'BRACKETS' => array( + ), + 'STRINGS' => array( + 0 => 'color: #800000;' + ), + 'NUMBERS' => array( + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #800000; font-weight: bold;' + ), + 'SCRIPT' => array( + ), + 'REGEXPS' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '' + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'PARSER_CONTROL' => array( + 'KEYWORDS' => array( + 'SPACE_AS_WHITESPACE' => true + ), + 'ENABLE_FLAGS' => array( + 'BRACKETS' => GESHI_NEVER + ) + ) +); diff --git a/inc/geshi/vedit.php b/vendor/easybook/geshi/geshi/vedit.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/vedit.php rename to vendor/easybook/geshi/geshi/vedit.php diff --git a/inc/geshi/verilog.php b/vendor/easybook/geshi/geshi/verilog.php old mode 100644 new mode 100755 similarity index 61% rename from inc/geshi/verilog.php rename to vendor/easybook/geshi/geshi/verilog.php index 2bf66d1c0034c66cd66dd666e87bf7fb1e8830c5..d6ec08615860a8b9e501222a47a2fb9dc6e54481 --- a/inc/geshi/verilog.php +++ b/vendor/easybook/geshi/geshi/verilog.php @@ -2,8 +2,8 @@ /** * verilog.php * ----------- - * Author: G�nter Dannoritzer <dannoritzer@web.de> - * Copyright: (C) 2008 Guenter Dannoritzer + * Author: Günter Dannoritzer <dannoritzer@web.de> + * Copyright: (C) 2008 Günter Dannoritzer * Release Version: 1.0.8.11 * Date Started: 2008/05/28 * @@ -19,6 +19,9 @@ * TODO (updated 2008/05/29) * ------------------------- * + * 2013/01/08 + * - extended keywords to include system keywords + * ************************************************************************************* * * This file is part of GeSHi. @@ -49,22 +52,41 @@ $language_data = array ( 'ESCAPE_CHAR' => '\\', 'KEYWORDS' => array( // keywords - 1 => array('always', 'and', 'assign', 'begin', 'buf', 'bufif0', 'bufif1', 'case', - 'casex', 'casez', 'cmos', 'deassign', 'default', 'defparam', - 'disable', 'edge', 'else', 'end', 'endcase', 'endfunction', - 'endmodule', 'endprimitive', 'endspecify', 'endtable', 'endtask', - 'event', 'fork', 'for', 'force', 'forever', 'function', 'highz0', - 'highz1', 'if', 'ifnone', 'initial', 'inout', 'input', 'integer', - 'join', 'large', 'macromodule', 'medium', 'module', 'nand', - 'negedge', 'nmos', 'nor', 'not', 'notif0', 'notif1', 'or', - 'output', 'parameter', 'pmos', 'posedge', 'primitive', 'pull0', - 'pull1', 'pulldown', 'pullup', 'rcmos', 'real', 'realtime', 'reg', - 'release', 'repeat', 'rnmos', 'rpmos', 'rtran', 'rtranif0', - 'rtranif1', 'scalared', 'small', 'specify', 'specparam', - 'strong0', 'strong1', 'supply0', 'supply1', 'table', 'task', - 'time', 'tran', 'tranif0', 'tranif1', 'tri', 'tri0', 'tri1', - 'triand', 'trior', 'trireg', 'vectored', 'wait', 'wand', 'weak0', - 'weak1', 'while', 'wire', 'wor', 'xnor', 'xor' + 1 => array( + 'accept_on','alias', + 'always','always_comb','always_ff','always_latch','and','assert', + 'assign','assume','automatic','before','begin','bind','bins','binsof', + 'bit','break','buf','bufif0','bufif1','byte','case','casex','casez', + 'cell','chandle','checker','class','clocking','cmos','config','const', + 'constraint','context','continue','cover','covergroup','coverpoint','cross', + 'deassign','default','defparam','design','disable','dist','do','edge','else', + 'end','endcase','endchecker','endclass','endclocking','endconfig', + 'endfunction','endgenerate','endgroup','endinterface','endmodule', + 'endpackage','endprimitive','endprogram','endproperty','endspecify', + 'endsequence','endtable','endtask','enum','event','eventually','expect', + 'export','extends','extern','final','first_match','for','force','foreach', + 'forever','fork','forkjoin','function','generate','genvar','global', + 'highz0','highz1','if','iff','ifnone','ignore_bins','illegal_bins', + 'implies','import','incdir','include','initial','inout','input','inside', + 'instance','int','integer','interface','intersect','join','join_any', + 'join_none','large','let','liblist','library','local','localparam', + 'logic','longint','macromodule','matches','medium','modport','module','nand', + 'negedge','new','nexttime','nmos','nor','noshowcancelled','not','notif0', + 'notif1','null','or','output','package','packed','parameter','pmos','posedge', + 'primitive','priority','program','property','protected','pull0','pull1', + 'pulldown','pullup','pulsestyle_ondetect','pulsestyle_onevent','pure', + 'rand','randc','randcase','randsequence','rcmos','real','realtime','ref', + 'reg','reject_on','release','repeat','restrict','return','rnmos','rpmos', + 'rtran','rtranif0','rtranif1','s_always','s_eventually','s_nexttime', + 's_until','s_until_with','scalared','sequence','shortint','shortreal', + 'showcancelled','signed','small','solve','specify','specparam','static', + 'string','strong','strong0','strong1','struct','super','supply0','supply1', + 'sync_accept_on','sync_reject_on','table','tagged','task','this','throughout', + 'time','timeprecision','timeunit','tran','tranif0','tranif1','tri','tri0', + 'tri1','triand','trior','trireg','type','typedef','union','unique','unique0', + 'unsigned','until','until_with','untyped','use','uwire','var','vectored', + 'virtual','void','wait','wait_order','wand','weak','weak0','weak1','while', + 'wildcard','wire','with','within','wor','xnor','xor' ), // system tasks 2 => array( @@ -169,5 +191,3 @@ $language_data = array ( ), 'TAB_WIDTH' => 4 ); - -?> diff --git a/inc/geshi/vhdl.php b/vendor/easybook/geshi/geshi/vhdl.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/vhdl.php rename to vendor/easybook/geshi/geshi/vhdl.php index a8f37e67664f8834d52a08df5f061a504b29c04e..cc8158fcf97d9244ed96485bea4f684516a7c168 --- a/inc/geshi/vhdl.php +++ b/vendor/easybook/geshi/geshi/vhdl.php @@ -179,5 +179,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/vim.php b/vendor/easybook/geshi/geshi/vim.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/vim.php rename to vendor/easybook/geshi/geshi/vim.php index fe7e5e006df0306fb637c717421b2fa2a7f8bb48..e2e363477bc7870beef20a6d94c397626aa69d72 --- a/inc/geshi/vim.php +++ b/vendor/easybook/geshi/geshi/vim.php @@ -416,5 +416,3 @@ $language_data = array( 'SCRIPT_DELIMITERS' => array(), 'HIGHLIGHT_STRICT_BLOCK' => array() ); - -?> diff --git a/inc/geshi/visualfoxpro.php b/vendor/easybook/geshi/geshi/visualfoxpro.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/visualfoxpro.php rename to vendor/easybook/geshi/geshi/visualfoxpro.php diff --git a/inc/geshi/visualprolog.php b/vendor/easybook/geshi/geshi/visualprolog.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/visualprolog.php rename to vendor/easybook/geshi/geshi/visualprolog.php index d36f1c67ad8dfaae08b4bb0a85c609e59b02b7b5..26c438d21d8135bf01a2b3159301272955f244cd --- a/inc/geshi/visualprolog.php +++ b/vendor/easybook/geshi/geshi/visualprolog.php @@ -125,5 +125,3 @@ $language_data = array ( ), 'TAB_WIDTH' => 4 ); - -?> diff --git a/inc/geshi/whitespace.php b/vendor/easybook/geshi/geshi/whitespace.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/whitespace.php rename to vendor/easybook/geshi/geshi/whitespace.php index 58f39637639323c06ee3659708ddd57e89a84d7c..eec0be3f675e4b18ef1af4eee712135040322fd5 --- a/inc/geshi/whitespace.php +++ b/vendor/easybook/geshi/geshi/whitespace.php @@ -117,5 +117,3 @@ $language_data = array ( ) ) ); - -?> diff --git a/inc/geshi/whois.php b/vendor/easybook/geshi/geshi/whois.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/whois.php rename to vendor/easybook/geshi/geshi/whois.php diff --git a/inc/geshi/winbatch.php b/vendor/easybook/geshi/geshi/winbatch.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/winbatch.php rename to vendor/easybook/geshi/geshi/winbatch.php diff --git a/inc/geshi/xbasic.php b/vendor/easybook/geshi/geshi/xbasic.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/xbasic.php rename to vendor/easybook/geshi/geshi/xbasic.php diff --git a/inc/geshi/xml.php b/vendor/easybook/geshi/geshi/xml.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/xml.php rename to vendor/easybook/geshi/geshi/xml.php index 6354e457ba535d81fb30bab7515e94ec3b8635aa..88d17901e8e3192cc5b71aefe16222c6158e0f53 --- a/inc/geshi/xml.php +++ b/vendor/easybook/geshi/geshi/xml.php @@ -153,5 +153,3 @@ $language_data = array ( ) ) ); - -?> diff --git a/vendor/easybook/geshi/geshi/xojo.php b/vendor/easybook/geshi/geshi/xojo.php new file mode 100644 index 0000000000000000000000000000000000000000..58fcab1031f1801252f25f2198a857f45f65c42e --- /dev/null +++ b/vendor/easybook/geshi/geshi/xojo.php @@ -0,0 +1,166 @@ +<?php +/************************************************************************************* + * xojo.php + * -------- + * Author: Dr Garry Pettet (contact@garrypettet.com) + * Copyright: (c) 2014 Dr Garry Pettet (http://garrypettet.com) + * Release Version: 1.0.0 + * Date Started: 2014/10/19 + * + * Xojo language file for GeSHi. + * + * CHANGES + * ------- + * 2014/10/19 (1.0.8.12) + * - First Release + * + * TODO (updated 2014/10/19) + * ------------------------- + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'Xojo', + 'COMMENT_SINGLE' => array(1 => "'", 2 => '//', 3 => 'rem'), + 'COMMENT_MULTI' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"'), + 'ESCAPE_CHAR' => '', + 'NUMBERS' => array( + 1 => GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE, // integers + 2 => GESHI_NUMBER_FLT_NONSCI // floating point numbers + ), + 'KEYWORDS' => array( + //Keywords + 1 => array( + 'AddHandler', 'AddressOf', 'Aggregates', 'And', 'Array', 'As', 'Assigns', 'Attributes', + 'Break', 'ByRef', 'ByVal', 'Call', 'Case', 'Catch', 'Class', 'Const', 'Continue', + 'CType', 'Declare', 'Delegate', 'Dim', 'Do', 'DownTo', 'Each', 'Else', 'Elseif', 'End', + 'Enum', 'Event', 'Exception', 'Exit', 'Extends', 'False', 'Finally', 'For', + 'Function', 'Global', 'GoTo', 'Handles', 'If', 'Implements', 'In', 'Inherits', + 'Inline68K', 'Interface', 'Is', 'IsA', 'Lib', 'Loop', 'Me', 'Mod', 'Module', + 'Namespace', 'New', 'Next', 'Nil', 'Not', 'Object', 'Of', 'Optional', 'Or', + 'ParamArray', 'Private', 'Property', 'Protected', 'Public', 'Raise', + 'RaiseEvent', 'Rect', 'Redim', 'RemoveHandler', 'Return', 'Select', 'Self', 'Shared', + 'Soft', 'Static', 'Step', 'Sub', 'Super', 'Then', 'To', 'True', 'Try', + 'Until', 'Using', 'Wend', 'While', 'With', 'WeakAddressOf', 'Xor' + ), + //Data Types + 2 => array( + 'Boolean', 'CFStringRef', 'CString', 'Currency', 'Double', 'Int8', 'Int16', 'Int32', + 'Int64', 'Integer', 'OSType', 'PString', 'Ptr', 'Short', 'Single', 'String', + 'Structure', 'UInt8', 'UInt16', 'UInt32', 'UInt64', 'UShort', 'WindowPtr', + 'WString', 'XMLNodeType' + ), + //Compiler Directives + 3 => array( + '#Bad', '#Else', '#Endif', '#If', '#Pragma', '#Tag' + ), + ), + 'SYMBOLS' => array( + '+', '-', '*', '=', '/', '>', '<', '^', '(', ')', '.' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #0000FF;', // keywords + 2 => 'color: #0000FF;', // primitive data types + 3 => 'color: #0000FF;', // compiler commands + ), + 'COMMENTS' => array( + 1 => 'color: #7F0000;', + 'MULTI' => 'color: #7F0000;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #008080;' + ), + 'BRACKETS' => array( + 0 => 'color: #000000;' + ), + 'STRINGS' => array( + 0 => 'color: #6500FE;' + ), + 'NUMBERS' => array( + 1 => 'color: #326598;', // integers + 2 => 'color: #006532;', // floating point numbers + ), + 'METHODS' => array( + 1 => 'color: #000000;' + ), + 'SYMBOLS' => array( + 0 => 'color: #000000;' + ), + 'REGEXPS' => array( + 1 => 'color: #326598;', // &h hex numbers + 2 => 'color: #326598;', // &b hex numbers + 3 => 'color: #326598;', // &o hex numbers + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => 'http://docs.xojo.com/index.php/{FNAMEU}', + 2 => 'http://docs.xojo.com/index.php/{FNAMEU}', + 3 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 =>'.' + ), + 'REGEXPS' => array( + 1 => array( // &h numbers + // search for &h, then any number of letters a-f or numbers 0-9 + GESHI_SEARCH => '(&h[0-9a-fA-F]*\b)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + 2 => array( // &b numbers + // search for &b, then any number of 0-1 digits + GESHI_SEARCH => '(&b[0-1]*\b)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + 3 => array( // &o octal numbers + // search for &o, then any number of 0-7 digits + GESHI_SEARCH => '(&o[0-7]*\b)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ) + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ) +); + +?> \ No newline at end of file diff --git a/inc/geshi/xorg_conf.php b/vendor/easybook/geshi/geshi/xorg_conf.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/xorg_conf.php rename to vendor/easybook/geshi/geshi/xorg_conf.php index 99edc66523e2ca7dbc6a195d7a2c66d5ecc63c21..41e4496eeb8217441789952b7719a958efb750dd --- a/inc/geshi/xorg_conf.php +++ b/vendor/easybook/geshi/geshi/xorg_conf.php @@ -120,5 +120,3 @@ $language_data = array ( ), 'TAB_WIDTH' => 4 ); - -?> diff --git a/inc/geshi/xpp.php b/vendor/easybook/geshi/geshi/xpp.php old mode 100644 new mode 100755 similarity index 99% rename from inc/geshi/xpp.php rename to vendor/easybook/geshi/geshi/xpp.php index a06e27794f031d270edf73f0e8456d19b431627b..52db2727b971714472a85c1f22750d09a3dcbbab --- a/inc/geshi/xpp.php +++ b/vendor/easybook/geshi/geshi/xpp.php @@ -432,5 +432,3 @@ $language_data = array ( 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); - -?> diff --git a/inc/geshi/yaml.php b/vendor/easybook/geshi/geshi/yaml.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/yaml.php rename to vendor/easybook/geshi/geshi/yaml.php diff --git a/inc/geshi/z80.php b/vendor/easybook/geshi/geshi/z80.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/z80.php rename to vendor/easybook/geshi/geshi/z80.php diff --git a/inc/geshi/zxbasic.php b/vendor/easybook/geshi/geshi/zxbasic.php old mode 100644 new mode 100755 similarity index 100% rename from inc/geshi/zxbasic.php rename to vendor/easybook/geshi/geshi/zxbasic.php diff --git a/vendor/splitbrain/php-archive/.gitignore b/vendor/splitbrain/php-archive/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..c6277c187bf8f14922e7322bcf90fa753e201db3 --- /dev/null +++ b/vendor/splitbrain/php-archive/.gitignore @@ -0,0 +1,8 @@ +*.iml +.idea/ +composer.phar +vendor/ +composer.lock +apigen.phar +docs/ + diff --git a/vendor/splitbrain/php-archive/LICENSE b/vendor/splitbrain/php-archive/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..66d08e433795aeb3e1b47c273c857df90aec0efe --- /dev/null +++ b/vendor/splitbrain/php-archive/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2015 Andreas Gohr <gohr@cosmocode.de> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/vendor/splitbrain/php-archive/README.md b/vendor/splitbrain/php-archive/README.md new file mode 100644 index 0000000000000000000000000000000000000000..f18764b6102d14fcdd5f9eb123c738afe35568be --- /dev/null +++ b/vendor/splitbrain/php-archive/README.md @@ -0,0 +1,70 @@ +PHPArchive - Pure PHP ZIP and TAR handling +========================================== + +This library allows to handle new ZIP and TAR archives without the need for any special PHP extensions (gz and bzip are +needed for compression). It can create new files or extract existing ones. + +To keep things simple, the modification (adding or removing files) of existing archives is not supported. + +[](https://travis-ci.org/splitbrain/php-archive) + +Install +------- + +Use composer: + +```php composer.phar require splitbrain/php-archive``` + +Usage +----- + +The usage for the Zip and Tar classes are basically the same. Here are some +examples for working with TARs to get you started. + +Check the [API docs](https://splitbrain.github.io/php-archive/) for more +info. + + +```php +require_once 'vendor/autoload.php'; +use splitbrain\PHPArchive\Tar; + +// To list the contents of an existing TAR archive, open() it and use +// contents() on it: +$tar = new Tar(); +$tar->open('myfile.tgz'); +$toc = $tar->contents(); +print_r($toc); // array of FileInfo objects + +// To extract the contents of an existing TAR archive, open() it and use +// extract() on it: +$tar = new Tar(); +$tar->open('myfile.tgz'); +$tar->extract('/tmp'); + +// To create a new TAR archive directly on the filesystem (low memory +// requirements), create() it: +$tar = new Tar(); +$tar->create('myfile.tgz'); +$tar->addFile(...); +$tar->addData(...); +... +$tar->close(); + +// To create a TAR archive directly in memory, create() it, add*() +// files and then either save() or getArchive() it: +$tar = new Tar(); +$tar->setCompression(9, Archive::COMPRESS_BZIP); +$tar->create(); +$tar->addFile(...); +$tar->addData(...); +... +$tar->save('myfile.tbz'); // compresses and saves it +echo $tar->getArchive(); // compresses and returns it +``` + +Differences between Tar and Zip: Tars are compressed as a whole, while Zips compress each file individually. Therefore +you can call ```setCompression``` before each ```addFile()``` and ```addData()``` function call. + +The FileInfo class can be used to specify additional info like ownership or permissions when adding a file to +an archive. diff --git a/vendor/splitbrain/php-archive/composer.json b/vendor/splitbrain/php-archive/composer.json new file mode 100644 index 0000000000000000000000000000000000000000..5ad41a8c4544df3dbb7e8bd12ec0c9c8ae56ec01 --- /dev/null +++ b/vendor/splitbrain/php-archive/composer.json @@ -0,0 +1,26 @@ +{ + "name": "splitbrain/php-archive", + "description": "Pure-PHP implementation to read and write TAR and ZIP archives", + "keywords": ["zip", "tar", "archive", "unpack", "extract", "unzip"], + "authors": [ + { + "name": "Andreas Gohr", + "email": "andi@splitbrain.org" + } + ], + "license": "MIT", + + "require": { + "php": ">=5.3.0" + }, + + "require-dev": { + "phpunit/phpunit": "4.5.*" + }, + + "autoload": { + "psr-4": { + "splitbrain\\PHPArchive\\": "src" + } + } +} diff --git a/vendor/splitbrain/php-archive/phpunit.xml b/vendor/splitbrain/php-archive/phpunit.xml new file mode 100644 index 0000000000000000000000000000000000000000..d7e1f24284934525fa42355c28ae3bc29fd448ef --- /dev/null +++ b/vendor/splitbrain/php-archive/phpunit.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<phpunit backupGlobals="false" + backupStaticAttributes="false" + bootstrap="vendor/autoload.php" + colors="true" + convertErrorsToExceptions="true" + convertNoticesToExceptions="true" + convertWarningsToExceptions="true" + processIsolation="false" + stopOnFailure="false" + syntaxCheck="false"> + <testsuites> + <testsuite name="Test Suite"> + <directory suffix=".php">./tests/</directory> + </testsuite> + </testsuites> +</phpunit> \ No newline at end of file diff --git a/vendor/splitbrain/php-archive/src/Archive.php b/vendor/splitbrain/php-archive/src/Archive.php new file mode 100644 index 0000000000000000000000000000000000000000..d672cc6ec025af228d6a19726ab756699e64db61 --- /dev/null +++ b/vendor/splitbrain/php-archive/src/Archive.php @@ -0,0 +1,132 @@ +<?php + +namespace splitbrain\PHPArchive; + +abstract class Archive +{ + + const COMPRESS_AUTO = -1; + const COMPRESS_NONE = 0; + const COMPRESS_GZIP = 1; + const COMPRESS_BZIP = 2; + + /** + * Set the compression level and type + * + * @param int $level Compression level (0 to 9) + * @param int $type Type of compression to use (use COMPRESS_* constants) + * @return mixed + */ + abstract public function setCompression($level = 9, $type = Archive::COMPRESS_AUTO); + + /** + * Open an existing archive file for reading + * + * @param string $file + * @throws ArchiveIOException + */ + abstract public function open($file); + + /** + * Read the contents of an archive + * + * This function lists the files stored in the archive, and returns an indexed array of FileInfo objects + * + * The archive is closed afer reading the contents, because rewinding is not possible in bzip2 streams. + * Reopen the file with open() again if you want to do additional operations + * + * @return FileInfo[] + */ + abstract public function contents(); + + /** + * Extract an existing archive + * + * The $strip parameter allows you to strip a certain number of path components from the filenames + * found in the archive file, similar to the --strip-components feature of GNU tar. This is triggered when + * an integer is passed as $strip. + * Alternatively a fixed string prefix may be passed in $strip. If the filename matches this prefix, + * the prefix will be stripped. It is recommended to give prefixes with a trailing slash. + * + * By default this will extract all files found in the archive. You can restrict the output using the $include + * and $exclude parameter. Both expect a full regular expression (including delimiters and modifiers). If + * $include is set, only files that match this expression will be extracted. Files that match the $exclude + * expression will never be extracted. Both parameters can be used in combination. Expressions are matched against + * stripped filenames as described above. + * + * The archive is closed afterwards. Reopen the file with open() again if you want to do additional operations + * + * @param string $outdir the target directory for extracting + * @param int|string $strip either the number of path components or a fixed prefix to strip + * @param string $exclude a regular expression of files to exclude + * @param string $include a regular expression of files to include + * @throws ArchiveIOException + * @return array + */ + abstract public function extract($outdir, $strip = '', $exclude = '', $include = ''); + + /** + * Create a new archive file + * + * If $file is empty, the archive file will be created in memory + * + * @param string $file + */ + abstract public function create($file = ''); + + /** + * Add a file to the current archive using an existing file in the filesystem + * + * @param string $file path to the original file + * @param string|FileInfo $fileinfo either the name to us in archive (string) or a FileInfo oject with all meta data, empty to take from original + * @throws ArchiveIOException + */ + abstract public function addFile($file, $fileinfo = ''); + + /** + * Add a file to the current archive using the given $data as content + * + * @param string|FileInfo $fileinfo either the name to us in archive (string) or a FileInfo oject with all meta data + * @param string $data binary content of the file to add + * @throws ArchiveIOException + */ + abstract public function addData($fileinfo, $data); + + /** + * Close the archive, close all file handles + * + * After a call to this function no more data can be added to the archive, for + * read access no reading is allowed anymore + */ + abstract public function close(); + + /** + * Returns the created in-memory archive data + * + * This implicitly calls close() on the Archive + */ + abstract public function getArchive(); + + /** + * Save the created in-memory archive data + * + * Note: It is more memory effective to specify the filename in the create() function and + * let the library work on the new file directly. + * + * @param string $file + */ + abstract public function save($file); + +} + +class ArchiveIOException extends \Exception +{ +} + +class ArchiveIllegalCompressionException extends \Exception +{ +} + +class ArchiveCorruptedException extends \Exception +{ +} diff --git a/vendor/splitbrain/php-archive/src/FileInfo.php b/vendor/splitbrain/php-archive/src/FileInfo.php new file mode 100644 index 0000000000000000000000000000000000000000..612f924c34668e02c0d0d3aa6bd9c09804a66909 --- /dev/null +++ b/vendor/splitbrain/php-archive/src/FileInfo.php @@ -0,0 +1,343 @@ +<?php + +namespace splitbrain\PHPArchive; + +/** + * Class FileInfo + * + * stores meta data about a file in an Archive + * + * @author Andreas Gohr <andi@splitbrain.org> + * @package splitbrain\PHPArchive + * @license MIT + */ +class FileInfo +{ + + protected $isdir = false; + protected $path = ''; + protected $size = 0; + protected $csize = 0; + protected $mtime = 0; + protected $mode = 0664; + protected $owner = ''; + protected $group = ''; + protected $uid = 0; + protected $gid = 0; + protected $comment = ''; + + /** + * initialize dynamic defaults + * + * @param string $path The path of the file, can also be set later through setPath() + */ + public function __construct($path = '') + { + $this->mtime = time(); + $this->setPath($path); + } + + /** + * Factory to build FileInfo from existing file or directory + * + * @param string $path path to a file on the local file system + * @param string $as optional path to use inside the archive + * @throws FileInfoException + * @return FileInfo + */ + public static function fromPath($path, $as = '') + { + clearstatcache(false, $path); + + if (!file_exists($path)) { + throw new FileInfoException("$path does not exist"); + } + + $stat = stat($path); + $file = new FileInfo(); + + $file->setPath($path); + $file->setIsdir(is_dir($path)); + $file->setMode(fileperms($path)); + $file->setOwner(fileowner($path)); + $file->setGroup(filegroup($path)); + $file->setSize(filesize($path)); + $file->setUid($stat['uid']); + $file->setGid($stat['gid']); + $file->setMtime($stat['mtime']); + + if ($as) { + $file->setPath($as); + } + + return $file; + } + + /** + * @return int + */ + public function getSize() + { + return $this->size; + } + + /** + * @param int $size + */ + public function setSize($size) + { + $this->size = $size; + } + + /** + * @return int + */ + public function getCompressedSize() + { + return $this->csize; + } + + /** + * @param int $csize + */ + public function setCompressedSize($csize) + { + $this->csize = $csize; + } + + /** + * @return int + */ + public function getMtime() + { + return $this->mtime; + } + + /** + * @param int $mtime + */ + public function setMtime($mtime) + { + $this->mtime = $mtime; + } + + /** + * @return int + */ + public function getGid() + { + return $this->gid; + } + + /** + * @param int $gid + */ + public function setGid($gid) + { + $this->gid = $gid; + } + + /** + * @return int + */ + public function getUid() + { + return $this->uid; + } + + /** + * @param int $uid + */ + public function setUid($uid) + { + $this->uid = $uid; + } + + /** + * @return string + */ + public function getComment() + { + return $this->comment; + } + + /** + * @param string $comment + */ + public function setComment($comment) + { + $this->comment = $comment; + } + + /** + * @return string + */ + public function getGroup() + { + return $this->group; + } + + /** + * @param string $group + */ + public function setGroup($group) + { + $this->group = $group; + } + + /** + * @return boolean + */ + public function getIsdir() + { + return $this->isdir; + } + + /** + * @param boolean $isdir + */ + public function setIsdir($isdir) + { + // default mode for directories + if ($isdir && $this->mode === 0664) { + $this->mode = 0775; + } + $this->isdir = $isdir; + } + + /** + * @return int + */ + public function getMode() + { + return $this->mode; + } + + /** + * @param int $mode + */ + public function setMode($mode) + { + $this->mode = $mode; + } + + /** + * @return string + */ + public function getOwner() + { + return $this->owner; + } + + /** + * @param string $owner + */ + public function setOwner($owner) + { + $this->owner = $owner; + } + + /** + * @return string + */ + public function getPath() + { + return $this->path; + } + + /** + * @param string $path + */ + public function setPath($path) + { + $this->path = $this->cleanPath($path); + } + + /** + * Cleans up a path and removes relative parts, also strips leading slashes + * + * @param string $path + * @return string + */ + protected function cleanPath($path) + { + $path = str_replace('\\', '/', $path); + $path = explode('/', $path); + $newpath = array(); + foreach ($path as $p) { + if ($p === '' || $p === '.') { + continue; + } + if ($p === '..') { + array_pop($newpath); + continue; + } + array_push($newpath, $p); + } + return trim(implode('/', $newpath), '/'); + } + + /** + * Strip given prefix or number of path segments from the filename + * + * The $strip parameter allows you to strip a certain number of path components from the filenames + * found in the tar file, similar to the --strip-components feature of GNU tar. This is triggered when + * an integer is passed as $strip. + * Alternatively a fixed string prefix may be passed in $strip. If the filename matches this prefix, + * the prefix will be stripped. It is recommended to give prefixes with a trailing slash. + * + * @param int|string $strip + * @return FileInfo + */ + public function strip($strip) + { + $filename = $this->getPath(); + $striplen = strlen($strip); + if (is_int($strip)) { + // if $strip is an integer we strip this many path components + $parts = explode('/', $filename); + if (!$this->getIsdir()) { + $base = array_pop($parts); // keep filename itself + } else { + $base = ''; + } + $filename = join('/', array_slice($parts, $strip)); + if ($base) { + $filename .= "/$base"; + } + } else { + // if strip is a string, we strip a prefix here + if (substr($filename, 0, $striplen) == $strip) { + $filename = substr($filename, $striplen); + } + } + + $this->setPath($filename); + } + + /** + * Does the file match the given include and exclude expressions? + * + * Exclude rules take precedence over include rules + * + * @param string $include Regular expression of files to include + * @param string $exclude Regular expression of files to exclude + * @return bool + */ + public function match($include = '', $exclude = '') + { + $extract = true; + if ($include && !preg_match($include, $this->getPath())) { + $extract = false; + } + if ($exclude && preg_match($exclude, $this->getPath())) { + $extract = false; + } + + return $extract; + } +} + +class FileInfoException extends \Exception +{ +} \ No newline at end of file diff --git a/vendor/splitbrain/php-archive/src/Tar.php b/vendor/splitbrain/php-archive/src/Tar.php new file mode 100644 index 0000000000000000000000000000000000000000..e29c7d5a63ba4ba4f960fc749877a0494bf078bd --- /dev/null +++ b/vendor/splitbrain/php-archive/src/Tar.php @@ -0,0 +1,659 @@ +<?php + +namespace splitbrain\PHPArchive; + +/** + * Class Tar + * + * Creates or extracts Tar archives. Supports gz and bzip compression + * + * Long pathnames (>100 chars) are supported in POSIX ustar and GNU longlink formats. + * + * @author Andreas Gohr <andi@splitbrain.org> + * @package splitbrain\PHPArchive + * @license MIT + */ +class Tar extends Archive +{ + + protected $file = ''; + protected $comptype = Archive::COMPRESS_AUTO; + protected $complevel = 9; + protected $fh; + protected $memory = ''; + protected $closed = true; + protected $writeaccess = false; + + /** + * Sets the compression to use + * + * @param int $level Compression level (0 to 9) + * @param int $type Type of compression to use (use COMPRESS_* constants) + * @return mixed + */ + public function setCompression($level = 9, $type = Archive::COMPRESS_AUTO) + { + $this->compressioncheck($type); + $this->comptype = $type; + $this->complevel = $level; + if($level == 0) $this->comptype = Archive::COMPRESS_NONE; + if($type == Archive::COMPRESS_NONE) $this->complevel = 0; + } + + /** + * Open an existing TAR file for reading + * + * @param string $file + * @throws ArchiveIOException + */ + public function open($file) + { + $this->file = $file; + + // update compression to mach file + if ($this->comptype == Tar::COMPRESS_AUTO) { + $this->setCompression($this->complevel, $this->filetype($file)); + } + + // open file handles + if ($this->comptype === Archive::COMPRESS_GZIP) { + $this->fh = @gzopen($this->file, 'rb'); + } elseif ($this->comptype === Archive::COMPRESS_BZIP) { + $this->fh = @bzopen($this->file, 'r'); + } else { + $this->fh = @fopen($this->file, 'rb'); + } + + if (!$this->fh) { + throw new ArchiveIOException('Could not open file for reading: '.$this->file); + } + $this->closed = false; + } + + /** + * Read the contents of a TAR archive + * + * This function lists the files stored in the archive + * + * The archive is closed afer reading the contents, because rewinding is not possible in bzip2 streams. + * Reopen the file with open() again if you want to do additional operations + * + * @throws ArchiveIOException + * @returns FileInfo[] + */ + public function contents() + { + if ($this->closed || !$this->file) { + throw new ArchiveIOException('Can not read from a closed archive'); + } + + $result = array(); + while ($read = $this->readbytes(512)) { + $header = $this->parseHeader($read); + if (!is_array($header)) { + continue; + } + + $this->skipbytes(ceil($header['size'] / 512) * 512); + $result[] = $this->header2fileinfo($header); + } + + $this->close(); + return $result; + } + + /** + * Extract an existing TAR archive + * + * The $strip parameter allows you to strip a certain number of path components from the filenames + * found in the tar file, similar to the --strip-components feature of GNU tar. This is triggered when + * an integer is passed as $strip. + * Alternatively a fixed string prefix may be passed in $strip. If the filename matches this prefix, + * the prefix will be stripped. It is recommended to give prefixes with a trailing slash. + * + * By default this will extract all files found in the archive. You can restrict the output using the $include + * and $exclude parameter. Both expect a full regular expression (including delimiters and modifiers). If + * $include is set only files that match this expression will be extracted. Files that match the $exclude + * expression will never be extracted. Both parameters can be used in combination. Expressions are matched against + * stripped filenames as described above. + * + * The archive is closed afer reading the contents, because rewinding is not possible in bzip2 streams. + * Reopen the file with open() again if you want to do additional operations + * + * @param string $outdir the target directory for extracting + * @param int|string $strip either the number of path components or a fixed prefix to strip + * @param string $exclude a regular expression of files to exclude + * @param string $include a regular expression of files to include + * @throws ArchiveIOException + * @return FileInfo[] + */ + public function extract($outdir, $strip = '', $exclude = '', $include = '') + { + if ($this->closed || !$this->file) { + throw new ArchiveIOException('Can not read from a closed archive'); + } + + $outdir = rtrim($outdir, '/'); + @mkdir($outdir, 0777, true); + if (!is_dir($outdir)) { + throw new ArchiveIOException("Could not create directory '$outdir'"); + } + + $extracted = array(); + while ($dat = $this->readbytes(512)) { + // read the file header + $header = $this->parseHeader($dat); + if (!is_array($header)) { + continue; + } + $fileinfo = $this->header2fileinfo($header); + + // apply strip rules + $fileinfo->strip($strip); + + // skip unwanted files + if (!strlen($fileinfo->getPath()) || !$fileinfo->match($include, $exclude)) { + $this->skipbytes(ceil($header['size'] / 512) * 512); + continue; + } + + // create output directory + $output = $outdir.'/'.$fileinfo->getPath(); + $directory = ($fileinfo->getIsdir()) ? $output : dirname($output); + @mkdir($directory, 0777, true); + + // extract data + if (!$fileinfo->getIsdir()) { + $fp = fopen($output, "wb"); + if (!$fp) { + throw new ArchiveIOException('Could not open file for writing: '.$output); + } + + $size = floor($header['size'] / 512); + for ($i = 0; $i < $size; $i++) { + fwrite($fp, $this->readbytes(512), 512); + } + if (($header['size'] % 512) != 0) { + fwrite($fp, $this->readbytes(512), $header['size'] % 512); + } + + fclose($fp); + touch($output, $fileinfo->getMtime()); + chmod($output, $fileinfo->getMode()); + } else { + $this->skipbytes(ceil($header['size'] / 512) * 512); // the size is usually 0 for directories + } + + $extracted[] = $fileinfo; + } + + $this->close(); + return $extracted; + } + + /** + * Create a new TAR file + * + * If $file is empty, the tar file will be created in memory + * + * @param string $file + * @throws ArchiveIOException + */ + public function create($file = '') + { + $this->file = $file; + $this->memory = ''; + $this->fh = 0; + + if ($this->file) { + // determine compression + if ($this->comptype == Archive::COMPRESS_AUTO) { + $this->setCompression($this->complevel, $this->filetype($file)); + } + + if ($this->comptype === Archive::COMPRESS_GZIP) { + $this->fh = @gzopen($this->file, 'wb'.$this->complevel); + } elseif ($this->comptype === Archive::COMPRESS_BZIP) { + $this->fh = @bzopen($this->file, 'w'); + } else { + $this->fh = @fopen($this->file, 'wb'); + } + + if (!$this->fh) { + throw new ArchiveIOException('Could not open file for writing: '.$this->file); + } + } + $this->writeaccess = true; + $this->closed = false; + } + + /** + * Add a file to the current TAR archive using an existing file in the filesystem + * + * @param string $file path to the original file + * @param string|FileInfo $fileinfo either the name to us in archive (string) or a FileInfo oject with all meta data, empty to take from original + * @throws ArchiveIOException + */ + public function addFile($file, $fileinfo = '') + { + if (is_string($fileinfo)) { + $fileinfo = FileInfo::fromPath($file, $fileinfo); + } + + if ($this->closed) { + throw new ArchiveIOException('Archive has been closed, files can no longer be added'); + } + + $fp = fopen($file, 'rb'); + if (!$fp) { + throw new ArchiveIOException('Could not open file for reading: '.$file); + } + + // create file header + $this->writeFileHeader($fileinfo); + + // write data + while (!feof($fp)) { + $data = fread($fp, 512); + if ($data === false) { + break; + } + if ($data === '') { + break; + } + $packed = pack("a512", $data); + $this->writebytes($packed); + } + fclose($fp); + } + + /** + * Add a file to the current TAR archive using the given $data as content + * + * @param string|FileInfo $fileinfo either the name to us in archive (string) or a FileInfo oject with all meta data + * @param string $data binary content of the file to add + * @throws ArchiveIOException + */ + public function addData($fileinfo, $data) + { + if (is_string($fileinfo)) { + $fileinfo = new FileInfo($fileinfo); + } + + if ($this->closed) { + throw new ArchiveIOException('Archive has been closed, files can no longer be added'); + } + + $len = strlen($data); + $fileinfo->setSize($len); + $this->writeFileHeader($fileinfo); + + for ($s = 0; $s < $len; $s += 512) { + $this->writebytes(pack("a512", substr($data, $s, 512))); + } + } + + /** + * Add the closing footer to the archive if in write mode, close all file handles + * + * After a call to this function no more data can be added to the archive, for + * read access no reading is allowed anymore + * + * "Physically, an archive consists of a series of file entries terminated by an end-of-archive entry, which + * consists of two 512 blocks of zero bytes" + * + * @link http://www.gnu.org/software/tar/manual/html_chapter/tar_8.html#SEC134 + */ + public function close() + { + if ($this->closed) { + return; + } // we did this already + + // write footer + if ($this->writeaccess) { + $this->writebytes(pack("a512", "")); + $this->writebytes(pack("a512", "")); + } + + // close file handles + if ($this->file) { + if ($this->comptype === Archive::COMPRESS_GZIP) { + gzclose($this->fh); + } elseif ($this->comptype === Archive::COMPRESS_BZIP) { + bzclose($this->fh); + } else { + fclose($this->fh); + } + + $this->file = ''; + $this->fh = 0; + } + + $this->writeaccess = false; + $this->closed = true; + } + + /** + * Returns the created in-memory archive data + * + * This implicitly calls close() on the Archive + */ + public function getArchive() + { + $this->close(); + + if ($this->comptype === Archive::COMPRESS_AUTO) { + $this->comptype = Archive::COMPRESS_NONE; + } + + if ($this->comptype === Archive::COMPRESS_GZIP) { + return gzcompress($this->memory, $this->complevel); + } + if ($this->comptype === Archive::COMPRESS_BZIP) { + return bzcompress($this->memory); + } + return $this->memory; + } + + /** + * Save the created in-memory archive data + * + * Note: It more memory effective to specify the filename in the create() function and + * let the library work on the new file directly. + * + * @param string $file + * @throws ArchiveIOException + */ + public function save($file) + { + if ($this->comptype === Archive::COMPRESS_AUTO) { + $this->setCompression($this->complevel, $this->filetype($file)); + } + + if (!file_put_contents($file, $this->getArchive())) { + throw new ArchiveIOException('Could not write to file: '.$file); + } + } + + /** + * Read from the open file pointer + * + * @param int $length bytes to read + * @return string + */ + protected function readbytes($length) + { + if ($this->comptype === Archive::COMPRESS_GZIP) { + return @gzread($this->fh, $length); + } elseif ($this->comptype === Archive::COMPRESS_BZIP) { + return @bzread($this->fh, $length); + } else { + return @fread($this->fh, $length); + } + } + + /** + * Write to the open filepointer or memory + * + * @param string $data + * @throws ArchiveIOException + * @return int number of bytes written + */ + protected function writebytes($data) + { + if (!$this->file) { + $this->memory .= $data; + $written = strlen($data); + } elseif ($this->comptype === Archive::COMPRESS_GZIP) { + $written = @gzwrite($this->fh, $data); + } elseif ($this->comptype === Archive::COMPRESS_BZIP) { + $written = @bzwrite($this->fh, $data); + } else { + $written = @fwrite($this->fh, $data); + } + if ($written === false) { + throw new ArchiveIOException('Failed to write to archive stream'); + } + return $written; + } + + /** + * Skip forward in the open file pointer + * + * This is basically a wrapper around seek() (and a workaround for bzip2) + * + * @param int $bytes seek to this position + */ + function skipbytes($bytes) + { + if ($this->comptype === Archive::COMPRESS_GZIP) { + @gzseek($this->fh, $bytes, SEEK_CUR); + } elseif ($this->comptype === Archive::COMPRESS_BZIP) { + // there is no seek in bzip2, we simply read on + // bzread allows to read a max of 8kb at once + while($bytes) { + $toread = min(8192, $bytes); + @bzread($this->fh, $toread); + $bytes -= $toread; + } + } else { + @fseek($this->fh, $bytes, SEEK_CUR); + } + } + + /** + * Write the given file metat data as header + * + * @param FileInfo $fileinfo + */ + protected function writeFileHeader(FileInfo $fileinfo) + { + $this->writeRawFileHeader( + $fileinfo->getPath(), + $fileinfo->getUid(), + $fileinfo->getGid(), + $fileinfo->getMode(), + $fileinfo->getSize(), + $fileinfo->getMtime(), + $fileinfo->getIsdir() ? '5' : '0' + ); + } + + /** + * Write a file header to the stream + * + * @param string $name + * @param int $uid + * @param int $gid + * @param int $perm + * @param int $size + * @param int $mtime + * @param string $typeflag Set to '5' for directories + */ + protected function writeRawFileHeader($name, $uid, $gid, $perm, $size, $mtime, $typeflag = '') + { + // handle filename length restrictions + $prefix = ''; + $namelen = strlen($name); + if ($namelen > 100) { + $file = basename($name); + $dir = dirname($name); + if (strlen($file) > 100 || strlen($dir) > 155) { + // we're still too large, let's use GNU longlink + $this->writeRawFileHeader('././@LongLink', 0, 0, 0, $namelen, 0, 'L'); + for ($s = 0; $s < $namelen; $s += 512) { + $this->writebytes(pack("a512", substr($name, $s, 512))); + } + $name = substr($name, 0, 100); // cut off name + } else { + // we're fine when splitting, use POSIX ustar + $prefix = $dir; + $name = $file; + } + } + + // values are needed in octal + $uid = sprintf("%6s ", decoct($uid)); + $gid = sprintf("%6s ", decoct($gid)); + $perm = sprintf("%6s ", decoct($perm)); + $size = sprintf("%11s ", decoct($size)); + $mtime = sprintf("%11s", decoct($mtime)); + + $data_first = pack("a100a8a8a8a12A12", $name, $perm, $uid, $gid, $size, $mtime); + $data_last = pack("a1a100a6a2a32a32a8a8a155a12", $typeflag, '', 'ustar', '', '', '', '', '', $prefix, ""); + + for ($i = 0, $chks = 0; $i < 148; $i++) { + $chks += ord($data_first[$i]); + } + + for ($i = 156, $chks += 256, $j = 0; $i < 512; $i++, $j++) { + $chks += ord($data_last[$j]); + } + + $this->writebytes($data_first); + + $chks = pack("a8", sprintf("%6s ", decoct($chks))); + $this->writebytes($chks.$data_last); + } + + /** + * Decode the given tar file header + * + * @param string $block a 512 byte block containing the header data + * @return array|false returns false when this was a null block + * @throws ArchiveCorruptedException + */ + protected function parseHeader($block) + { + if (!$block || strlen($block) != 512) { + throw new ArchiveCorruptedException('Unexpected length of header'); + } + + // null byte blocks are ignored + if(trim($block) === '') return false; + + for ($i = 0, $chks = 0; $i < 148; $i++) { + $chks += ord($block[$i]); + } + + for ($i = 156, $chks += 256; $i < 512; $i++) { + $chks += ord($block[$i]); + } + + $header = @unpack( + "a100filename/a8perm/a8uid/a8gid/a12size/a12mtime/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor/a155prefix", + $block + ); + if (!$header) { + throw new ArchiveCorruptedException('Failed to parse header'); + } + + $return['checksum'] = OctDec(trim($header['checksum'])); + if ($return['checksum'] != $chks) { + throw new ArchiveCorruptedException('Header does not match it\'s checksum'); + } + + $return['filename'] = trim($header['filename']); + $return['perm'] = OctDec(trim($header['perm'])); + $return['uid'] = OctDec(trim($header['uid'])); + $return['gid'] = OctDec(trim($header['gid'])); + $return['size'] = OctDec(trim($header['size'])); + $return['mtime'] = OctDec(trim($header['mtime'])); + $return['typeflag'] = $header['typeflag']; + $return['link'] = trim($header['link']); + $return['uname'] = trim($header['uname']); + $return['gname'] = trim($header['gname']); + + // Handle ustar Posix compliant path prefixes + if (trim($header['prefix'])) { + $return['filename'] = trim($header['prefix']).'/'.$return['filename']; + } + + // Handle Long-Link entries from GNU Tar + if ($return['typeflag'] == 'L') { + // following data block(s) is the filename + $filename = trim($this->readbytes(ceil($header['size'] / 512) * 512)); + // next block is the real header + $block = $this->readbytes(512); + $return = $this->parseHeader($block); + // overwrite the filename + $return['filename'] = $filename; + } + + return $return; + } + + /** + * Creates a FileInfo object from the given parsed header + * + * @param $header + * @return FileInfo + */ + protected function header2fileinfo($header) + { + $fileinfo = new FileInfo(); + $fileinfo->setPath($header['filename']); + $fileinfo->setMode($header['perm']); + $fileinfo->setUid($header['uid']); + $fileinfo->setGid($header['gid']); + $fileinfo->setSize($header['size']); + $fileinfo->setMtime($header['mtime']); + $fileinfo->setOwner($header['uname']); + $fileinfo->setGroup($header['gname']); + $fileinfo->setIsdir((bool) $header['typeflag']); + + return $fileinfo; + } + + /** + * Checks if the given compression type is available and throws an exception if not + * + * @param $comptype + * @throws ArchiveIllegalCompressionException + */ + protected function compressioncheck($comptype) + { + if ($comptype === Archive::COMPRESS_GZIP && !function_exists('gzopen')) { + throw new ArchiveIllegalCompressionException('No gzip support available'); + } + + if ($comptype === Archive::COMPRESS_BZIP && !function_exists('bzopen')) { + throw new ArchiveIllegalCompressionException('No bzip2 support available'); + } + } + + /** + * Guesses the wanted compression from the given file + * + * Uses magic bytes for existing files, the file extension otherwise + * + * You don't need to call this yourself. It's used when you pass Archive::COMPRESS_AUTO somewhere + * + * @param string $file + * @return int + */ + public function filetype($file) + { + // for existing files, try to read the magic bytes + if(file_exists($file) && is_readable($file) && filesize($file) > 5) { + $fh = fopen($file, 'rb'); + if(!$fh) return false; + $magic = fread($fh, 5); + fclose($fh); + + if(strpos($magic, "\x42\x5a") === 0) return Archive::COMPRESS_BZIP; + if(strpos($magic, "\x1f\x8b") === 0) return Archive::COMPRESS_GZIP; + } + + // otherwise rely on file name + $file = strtolower($file); + if (substr($file, -3) == '.gz' || substr($file, -4) == '.tgz') { + return Archive::COMPRESS_GZIP; + } elseif (substr($file, -4) == '.bz2' || substr($file, -4) == '.tbz') { + return Archive::COMPRESS_BZIP; + } + + return Archive::COMPRESS_NONE; + } +} diff --git a/vendor/splitbrain/php-archive/src/Zip.php b/vendor/splitbrain/php-archive/src/Zip.php new file mode 100644 index 0000000000000000000000000000000000000000..1bc1ac1b7b24415b879608e70e4d6a03a17b4f72 --- /dev/null +++ b/vendor/splitbrain/php-archive/src/Zip.php @@ -0,0 +1,750 @@ +<?php + +namespace splitbrain\PHPArchive; + +/** + * Class Zip + * + * Creates or extracts Zip archives + * + * for specs see http://www.pkware.com/appnote + * + * @author Andreas Gohr <andi@splitbrain.org> + * @package splitbrain\PHPArchive + * @license MIT + */ +class Zip extends Archive +{ + + protected $file = ''; + protected $fh; + protected $memory = ''; + protected $closed = true; + protected $writeaccess = false; + protected $ctrl_dir; + protected $complevel = 9; + + /** + * Set the compression level. + * + * Compression Type is ignored for ZIP + * + * You can call this function before adding each file to set differen compression levels + * for each file. + * + * @param int $level Compression level (0 to 9) + * @param int $type Type of compression to use ignored for ZIP + * @return mixed + */ + public function setCompression($level = 9, $type = Archive::COMPRESS_AUTO) + { + $this->complevel = $level; + } + + /** + * Open an existing ZIP file for reading + * + * @param string $file + * @throws ArchiveIOException + */ + public function open($file) + { + $this->file = $file; + $this->fh = @fopen($this->file, 'rb'); + if (!$this->fh) { + throw new ArchiveIOException('Could not open file for reading: '.$this->file); + } + $this->closed = false; + } + + /** + * Read the contents of a ZIP archive + * + * This function lists the files stored in the archive, and returns an indexed array of FileInfo objects + * + * The archive is closed afer reading the contents, for API compatibility with TAR files + * Reopen the file with open() again if you want to do additional operations + * + * @throws ArchiveIOException + * @return FileInfo[] + */ + public function contents() + { + if ($this->closed || !$this->file) { + throw new ArchiveIOException('Can not read from a closed archive'); + } + + $result = array(); + + $centd = $this->readCentralDir(); + + @rewind($this->fh); + @fseek($this->fh, $centd['offset']); + + for ($i = 0; $i < $centd['entries']; $i++) { + $result[] = $this->header2fileinfo($this->readCentralFileHeader()); + } + + $this->close(); + return $result; + } + + /** + * Extract an existing ZIP archive + * + * The $strip parameter allows you to strip a certain number of path components from the filenames + * found in the tar file, similar to the --strip-components feature of GNU tar. This is triggered when + * an integer is passed as $strip. + * Alternatively a fixed string prefix may be passed in $strip. If the filename matches this prefix, + * the prefix will be stripped. It is recommended to give prefixes with a trailing slash. + * + * By default this will extract all files found in the archive. You can restrict the output using the $include + * and $exclude parameter. Both expect a full regular expression (including delimiters and modifiers). If + * $include is set only files that match this expression will be extracted. Files that match the $exclude + * expression will never be extracted. Both parameters can be used in combination. Expressions are matched against + * stripped filenames as described above. + * + * @param string $outdir the target directory for extracting + * @param int|string $strip either the number of path components or a fixed prefix to strip + * @param string $exclude a regular expression of files to exclude + * @param string $include a regular expression of files to include + * @throws ArchiveIOException + * @return FileInfo[] + */ + function extract($outdir, $strip = '', $exclude = '', $include = '') + { + if ($this->closed || !$this->file) { + throw new ArchiveIOException('Can not read from a closed archive'); + } + + $outdir = rtrim($outdir, '/'); + @mkdir($outdir, 0777, true); + + $extracted = array(); + + $cdir = $this->readCentralDir(); + $pos_entry = $cdir['offset']; // begin of the central file directory + + for ($i = 0; $i < $cdir['entries']; $i++) { + // read file header + @fseek($this->fh, $pos_entry); + $header = $this->readCentralFileHeader(); + $header['index'] = $i; + $pos_entry = ftell($this->fh); // position of the next file in central file directory + fseek($this->fh, $header['offset']); // seek to beginning of file header + $header = $this->readFileHeader($header); + $fileinfo = $this->header2fileinfo($header); + + // apply strip rules + $fileinfo->strip($strip); + + // skip unwanted files + if (!strlen($fileinfo->getPath()) || !$fileinfo->match($include, $exclude)) { + continue; + } + + $extracted[] = $fileinfo; + + // create output directory + $output = $outdir.'/'.$fileinfo->getPath(); + $directory = ($header['folder']) ? $output : dirname($output); + @mkdir($directory, 0777, true); + + // nothing more to do for directories + if ($fileinfo->getIsdir()) { + continue; + } + + // compressed files are written to temporary .gz file first + if ($header['compression'] == 0) { + $extractto = $output; + } else { + $extractto = $output.'.gz'; + } + + // open file for writing + $fp = fopen($extractto, "wb"); + if (!$fp) { + throw new ArchiveIOException('Could not open file for writing: '.$extractto); + } + + // prepend compression header + if ($header['compression'] != 0) { + $binary_data = pack( + 'va1a1Va1a1', + 0x8b1f, + chr($header['compression']), + chr(0x00), + time(), + chr(0x00), + chr(3) + ); + fwrite($fp, $binary_data, 10); + } + + // read the file and store it on disk + $size = $header['compressed_size']; + while ($size != 0) { + $read_size = ($size < 2048 ? $size : 2048); + $buffer = fread($this->fh, $read_size); + $binary_data = pack('a'.$read_size, $buffer); + fwrite($fp, $binary_data, $read_size); + $size -= $read_size; + } + + // finalize compressed file + if ($header['compression'] != 0) { + $binary_data = pack('VV', $header['crc'], $header['size']); + fwrite($fp, $binary_data, 8); + } + + // close file + fclose($fp); + + // unpack compressed file + if ($header['compression'] != 0) { + $gzp = @gzopen($extractto, 'rb'); + if (!$gzp) { + @unlink($extractto); + throw new ArchiveIOException('Failed file extracting. gzip support missing?'); + } + $fp = @fopen($output, 'wb'); + if (!$fp) { + throw new ArchiveIOException('Could not open file for writing: '.$extractto); + } + + $size = $header['size']; + while ($size != 0) { + $read_size = ($size < 2048 ? $size : 2048); + $buffer = gzread($gzp, $read_size); + $binary_data = pack('a'.$read_size, $buffer); + @fwrite($fp, $binary_data, $read_size); + $size -= $read_size; + } + fclose($fp); + gzclose($gzp); + unlink($extractto); // remove temporary gz file + } + + touch($output, $fileinfo->getMtime()); + //FIXME what about permissions? + } + + $this->close(); + return $extracted; + } + + /** + * Create a new ZIP file + * + * If $file is empty, the zip file will be created in memory + * + * @param string $file + * @throws ArchiveIOException + */ + public function create($file = '') + { + $this->file = $file; + $this->memory = ''; + $this->fh = 0; + + if ($this->file) { + $this->fh = @fopen($this->file, 'wb'); + + if (!$this->fh) { + throw new ArchiveIOException('Could not open file for writing: '.$this->file); + } + } + $this->writeaccess = true; + $this->closed = false; + $this->ctrl_dir = array(); + } + + /** + * Add a file to the current ZIP archive using an existing file in the filesystem + * + * @param string $file path to the original file + * @param string|FileInfo $fileinfo either the name to us in archive (string) or a FileInfo oject with all meta data, empty to take from original + * @throws ArchiveIOException + */ + + /** + * Add a file to the current archive using an existing file in the filesystem + * + * @param string $file path to the original file + * @param string|FileInfo $fileinfo either the name to us in archive (string) or a FileInfo oject with all meta data, empty to take from original + * @throws ArchiveIOException + */ + public function addFile($file, $fileinfo = '') + { + if (is_string($fileinfo)) { + $fileinfo = FileInfo::fromPath($file, $fileinfo); + } + + if ($this->closed) { + throw new ArchiveIOException('Archive has been closed, files can no longer be added'); + } + + $data = @file_get_contents($file); + if ($data === false) { + throw new ArchiveIOException('Could not open file for reading: '.$file); + } + + // FIXME could we stream writing compressed data? gzwrite on a fopen handle? + $this->addData($fileinfo, $data); + } + + /** + * Add a file to the current TAR archive using the given $data as content + * + * @param string|FileInfo $fileinfo either the name to us in archive (string) or a FileInfo oject with all meta data + * @param string $data binary content of the file to add + * @throws ArchiveIOException + */ + public function addData($fileinfo, $data) + { + if (is_string($fileinfo)) { + $fileinfo = new FileInfo($fileinfo); + } + + if ($this->closed) { + throw new ArchiveIOException('Archive has been closed, files can no longer be added'); + } + + // prepare info and compress data + $size = strlen($data); + $crc = crc32($data); + if ($this->complevel) { + $data = gzcompress($data, $this->complevel); + $data = substr($data, 2, -4); // strip compression headers + } + $csize = strlen($data); + $offset = $this->dataOffset(); + $name = $fileinfo->getPath(); + $time = $fileinfo->getMtime(); + + // write local file header + $this->writebytes($this->makeLocalFileHeader( + $time, + $crc, + $size, + $csize, + $name, + (bool) $this->complevel + )); + + // we store no encryption header + + // write data + $this->writebytes($data); + + // we store no data descriptor + + // add info to central file directory + $this->ctrl_dir[] = $this->makeCentralFileRecord( + $offset, + $time, + $crc, + $size, + $csize, + $name, + (bool) $this->complevel + ); + } + + /** + * Add the closing footer to the archive if in write mode, close all file handles + * + * After a call to this function no more data can be added to the archive, for + * read access no reading is allowed anymore + */ + public function close() + { + if ($this->closed) { + return; + } // we did this already + + if ($this->writeaccess) { + // write central directory + $offset = $this->dataOffset(); + $ctrldir = join('', $this->ctrl_dir); + $this->writebytes($ctrldir); + + // write end of central directory record + $this->writebytes("\x50\x4b\x05\x06"); // end of central dir signature + $this->writebytes(pack('v', 0)); // number of this disk + $this->writebytes(pack('v', 0)); // number of the disk with the start of the central directory + $this->writebytes(pack('v', + count($this->ctrl_dir))); // total number of entries in the central directory on this disk + $this->writebytes(pack('v', count($this->ctrl_dir))); // total number of entries in the central directory + $this->writebytes(pack('V', strlen($ctrldir))); // size of the central directory + $this->writebytes(pack('V', + $offset)); // offset of start of central directory with respect to the starting disk number + $this->writebytes(pack('v', 0)); // .ZIP file comment length + + $this->ctrl_dir = array(); + } + + // close file handles + if ($this->file) { + fclose($this->fh); + $this->file = ''; + $this->fh = 0; + } + + $this->writeaccess = false; + $this->closed = true; + } + + /** + * Returns the created in-memory archive data + * + * This implicitly calls close() on the Archive + */ + public function getArchive() + { + $this->close(); + + return $this->memory; + } + + /** + * Save the created in-memory archive data + * + * Note: It's more memory effective to specify the filename in the create() function and + * let the library work on the new file directly. + * + * @param $file + * @throws ArchiveIOException + */ + public function save($file) + { + if (!file_put_contents($file, $this->getArchive())) { + throw new ArchiveIOException('Could not write to file: '.$file); + } + } + + /** + * Read the central directory + * + * This key-value list contains general information about the ZIP file + * + * @return array + */ + protected function readCentralDir() + { + $size = filesize($this->file); + if ($size < 277) { + $maximum_size = $size; + } else { + $maximum_size = 277; + } + + @fseek($this->fh, $size - $maximum_size); + $pos = ftell($this->fh); + $bytes = 0x00000000; + + while ($pos < $size) { + $byte = @fread($this->fh, 1); + $bytes = (($bytes << 8) & 0xFFFFFFFF) | ord($byte); + if ($bytes == 0x504b0506) { + break; + } + $pos++; + } + + $data = unpack( + 'vdisk/vdisk_start/vdisk_entries/ventries/Vsize/Voffset/vcomment_size', + fread($this->fh, 18) + ); + + if ($data['comment_size'] != 0) { + $centd['comment'] = fread($this->fh, $data['comment_size']); + } else { + $centd['comment'] = ''; + } + $centd['entries'] = $data['entries']; + $centd['disk_entries'] = $data['disk_entries']; + $centd['offset'] = $data['offset']; + $centd['disk_start'] = $data['disk_start']; + $centd['size'] = $data['size']; + $centd['disk'] = $data['disk']; + return $centd; + } + + /** + * Read the next central file header + * + * Assumes the current file pointer is pointing at the right position + * + * @return array + */ + protected function readCentralFileHeader() + { + $binary_data = fread($this->fh, 46); + $header = unpack( + 'vchkid/vid/vversion/vversion_extracted/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len/vcomment_len/vdisk/vinternal/Vexternal/Voffset', + $binary_data + ); + + if ($header['filename_len'] != 0) { + $header['filename'] = fread($this->fh, $header['filename_len']); + } else { + $header['filename'] = ''; + } + + if ($header['extra_len'] != 0) { + $header['extra'] = fread($this->fh, $header['extra_len']); + } else { + $header['extra'] = ''; + } + + if ($header['comment_len'] != 0) { + $header['comment'] = fread($this->fh, $header['comment_len']); + } else { + $header['comment'] = ''; + } + + $header['mtime'] = $this->makeUnixTime($header['mdate'], $header['mtime']); + $header['stored_filename'] = $header['filename']; + $header['status'] = 'ok'; + if (substr($header['filename'], -1) == '/') { + $header['external'] = 0x41FF0010; + } + $header['folder'] = ($header['external'] == 0x41FF0010 || $header['external'] == 16) ? 1 : 0; + + return $header; + } + + /** + * Reads the local file header + * + * This header precedes each individual file inside the zip file. Assumes the current file pointer is pointing at + * the right position already. Enhances the given central header with the data found at the local header. + * + * @param array $header the central file header read previously (see above) + * @return array + */ + protected function readFileHeader($header) + { + $binary_data = fread($this->fh, 30); + $data = unpack( + 'vchk/vid/vversion/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len', + $binary_data + ); + + $header['filename'] = fread($this->fh, $data['filename_len']); + if ($data['extra_len'] != 0) { + $header['extra'] = fread($this->fh, $data['extra_len']); + } else { + $header['extra'] = ''; + } + + $header['compression'] = $data['compression']; + foreach (array( + 'size', + 'compressed_size', + 'crc' + ) as $hd) { // On ODT files, these headers are 0. Keep the previous value. + if ($data[$hd] != 0) { + $header[$hd] = $data[$hd]; + } + } + $header['flag'] = $data['flag']; + $header['mtime'] = $this->makeUnixTime($data['mdate'], $data['mtime']); + + $header['stored_filename'] = $header['filename']; + $header['status'] = "ok"; + $header['folder'] = ($header['external'] == 0x41FF0010 || $header['external'] == 16) ? 1 : 0; + return $header; + } + + /** + * Create fileinfo object from header data + * + * @param $header + * @return FileInfo + */ + protected function header2fileinfo($header) + { + $fileinfo = new FileInfo(); + $fileinfo->setPath($header['filename']); + $fileinfo->setSize($header['size']); + $fileinfo->setCompressedSize($header['compressed_size']); + $fileinfo->setMtime($header['mtime']); + $fileinfo->setComment($header['comment']); + $fileinfo->setIsdir($header['external'] == 0x41FF0010 || $header['external'] == 16); + return $fileinfo; + } + + /** + * Write to the open filepointer or memory + * + * @param string $data + * @throws ArchiveIOException + * @return int number of bytes written + */ + protected function writebytes($data) + { + if (!$this->file) { + $this->memory .= $data; + $written = strlen($data); + } else { + $written = @fwrite($this->fh, $data); + } + if ($written === false) { + throw new ArchiveIOException('Failed to write to archive stream'); + } + return $written; + } + + /** + * Current data pointer position + * + * @fixme might need a -1 + * @return int + */ + protected function dataOffset() + { + if ($this->file) { + return ftell($this->fh); + } else { + return strlen($this->memory); + } + } + + /** + * Create a DOS timestamp from a UNIX timestamp + * + * DOS timestamps start at 1980-01-01, earlier UNIX stamps will be set to this date + * + * @param $time + * @return int + */ + protected function makeDosTime($time) + { + $timearray = getdate($time); + if ($timearray['year'] < 1980) { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } + return (($timearray['year'] - 1980) << 25) | + ($timearray['mon'] << 21) | + ($timearray['mday'] << 16) | + ($timearray['hours'] << 11) | + ($timearray['minutes'] << 5) | + ($timearray['seconds'] >> 1); + } + + /** + * Create a UNIX timestamp from a DOS timestamp + * + * @param $mdate + * @param $mtime + * @return int + */ + protected function makeUnixTime($mdate = null, $mtime = null) + { + if ($mdate && $mtime) { + $year = (($mdate & 0xFE00) >> 9) + 1980; + $month = ($mdate & 0x01E0) >> 5; + $day = $mdate & 0x001F; + + $hour = ($mtime & 0xF800) >> 11; + $minute = ($mtime & 0x07E0) >> 5; + $seconde = ($mtime & 0x001F) << 1; + + $mtime = mktime($hour, $minute, $seconde, $month, $day, $year); + } else { + $mtime = time(); + } + + return $mtime; + } + + /** + * Returns a local file header for the given data + * + * @param int $offset location of the local header + * @param int $ts unix timestamp + * @param int $crc CRC32 checksum of the uncompressed data + * @param int $len length of the uncompressed data + * @param int $clen length of the compressed data + * @param string $name file name + * @param boolean|null $comp if compression is used, if null it's determined from $len != $clen + * @return string + */ + protected function makeCentralFileRecord($offset, $ts, $crc, $len, $clen, $name, $comp = null) + { + if(is_null($comp)) $comp = $len != $clen; + $comp = $comp ? 8 : 0; + $dtime = dechex($this->makeDosTime($ts)); + + $header = "\x50\x4b\x01\x02"; // central file header signature + $header .= pack('v', 14); // version made by - VFAT + $header .= pack('v', 20); // version needed to extract - 2.0 + $header .= pack('v', 0); // general purpose flag - no flags set + $header .= pack('v', $comp); // compression method - deflate|none + $header .= pack( + 'H*', + $dtime[6] . $dtime[7] . + $dtime[4] . $dtime[5] . + $dtime[2] . $dtime[3] . + $dtime[0] . $dtime[1] + ); // last mod file time and date + $header .= pack('V', $crc); // crc-32 + $header .= pack('V', $clen); // compressed size + $header .= pack('V', $len); // uncompressed size + $header .= pack('v', strlen($name)); // file name length + $header .= pack('v', 0); // extra field length + $header .= pack('v', 0); // file comment length + $header .= pack('v', 0); // disk number start + $header .= pack('v', 0); // internal file attributes + $header .= pack('V', 0); // external file attributes @todo was 0x32!? + $header .= pack('V', $offset); // relative offset of local header + $header .= $name; // file name + + return $header; + } + + /** + * Returns a local file header for the given data + * + * @param int $ts unix timestamp + * @param int $crc CRC32 checksum of the uncompressed data + * @param int $len length of the uncompressed data + * @param int $clen length of the compressed data + * @param string $name file name + * @param boolean|null $comp if compression is used, if null it's determined from $len != $clen + * @return string + */ + protected function makeLocalFileHeader($ts, $crc, $len, $clen, $name, $comp = null) + { + if(is_null($comp)) $comp = $len != $clen; + $comp = $comp ? 8 : 0; + $dtime = dechex($this->makeDosTime($ts)); + + $header = "\x50\x4b\x03\x04"; // local file header signature + $header .= pack('v', 20); // version needed to extract - 2.0 + $header .= pack('v', 0); // general purpose flag - no flags set + $header .= pack('v', $comp); // compression method - deflate|none + $header .= pack( + 'H*', + $dtime[6] . $dtime[7] . + $dtime[4] . $dtime[5] . + $dtime[2] . $dtime[3] . + $dtime[0] . $dtime[1] + ); // last mod file time and date + $header .= pack('V', $crc); // crc-32 + $header .= pack('V', $clen); // compressed size + $header .= pack('V', $len); // uncompressed size + $header .= pack('v', strlen($name)); // file name length + $header .= pack('v', 0); // extra field length + $header .= $name; + return $header; + } +}