summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuy Brand <gb@unistra.fr>2015-08-23 15:54:03 +0200
committerGuy Brand <gb@unistra.fr>2015-08-23 15:54:03 +0200
commitd1c5a21205ecdf83c4cbdcd9245556121688e798 (patch)
treef99aacf8e4e2aad00b106d9b905a14c3536ba935
parent2beabe635c6b98fcf412ba42d137a5de33543109 (diff)
parent0f0d29909c63f9897c9c003e6d3e3b8381a6f36d (diff)
downloadrpg-d1c5a21205ecdf83c4cbdcd9245556121688e798.tar.gz
rpg-d1c5a21205ecdf83c4cbdcd9245556121688e798.tar.bz2
Merge branch 'master' into stable
-rw-r--r--.gitignore2
-rw-r--r--_test/tests/general/general_languagelint.test.php (renamed from _test/tests/general/general_languagelint.php)0
-rw-r--r--_test/tests/inc/form/buttonelement.test.php40
-rw-r--r--_test/tests/inc/form/checkableelement.test.php2
-rw-r--r--_test/tests/inc/form/inputelement.test.php17
-rw-r--r--_test/tests/inc/parser/parser_media.test.php69
-rw-r--r--composer.lock10
-rw-r--r--doku.php2
-rw-r--r--inc/Form/ButtonElement.php34
-rw-r--r--inc/Form/Form.php63
-rw-r--r--inc/Form/InputElement.php9
-rw-r--r--inc/Form/LabelElement.php (renamed from inc/Form/Label.php)6
-rw-r--r--inc/html.php3
-rw-r--r--inc/lang/cs/lang.php4
-rw-r--r--inc/lang/hu/admin.txt4
-rw-r--r--inc/lang/hu/lang.php8
-rw-r--r--inc/lang/it/lang.php4
-rw-r--r--inc/lang/ru/lang.php3
-rw-r--r--inc/parser/xhtml.php1
-rw-r--r--lib/plugins/authad/lang/cs/lang.php2
-rw-r--r--lib/plugins/authad/lang/hu/lang.php2
-rw-r--r--lib/plugins/authldap/lang/cs/lang.php9
-rw-r--r--lib/plugins/authldap/lang/cs/settings.php1
-rw-r--r--lib/plugins/authldap/lang/hu/lang.php9
-rw-r--r--lib/plugins/authldap/lang/hu/settings.php5
-rw-r--r--lib/plugins/authldap/lang/it/settings.php5
-rw-r--r--lib/plugins/authmysql/lang/cs/lang.php11
-rw-r--r--lib/plugins/authmysql/lang/hu/lang.php11
-rw-r--r--lib/plugins/authmysql/lang/it/lang.php11
-rw-r--r--lib/plugins/authmysql/lang/it/settings.php6
-rw-r--r--lib/plugins/authpgsql/lang/it/settings.php21
-rw-r--r--lib/plugins/authplain/lang/cs/lang.php8
-rw-r--r--lib/plugins/authplain/lang/hu/lang.php8
-rw-r--r--lib/plugins/authplain/lang/it/lang.php5
-rw-r--r--lib/plugins/authplain/lang/ru/lang.php8
-rw-r--r--lib/plugins/config/lang/cs/lang.php8
-rw-r--r--lib/plugins/config/lang/hu/lang.php8
-rw-r--r--lib/plugins/config/lang/it/lang.php5
-rw-r--r--lib/plugins/config/lang/ja/lang.php2
-rw-r--r--lib/plugins/config/lang/ru/lang.php9
-rw-r--r--lib/plugins/extension/lang/cs/lang.php9
-rw-r--r--lib/plugins/extension/lang/hu/lang.php9
-rw-r--r--lib/plugins/extension/lang/ru/lang.php188
-rw-r--r--lib/plugins/revert/lang/cs/lang.php1
-rw-r--r--lib/plugins/styling/lang/cs/lang.php23
-rw-r--r--lib/plugins/styling/lang/hu/intro.txt2
-rw-r--r--lib/plugins/styling/lang/hu/lang.php23
-rw-r--r--lib/plugins/styling/lang/it/lang.php17
-rw-r--r--lib/plugins/styling/lang/ru/intro.txt1
-rw-r--r--lib/plugins/styling/lang/ru/lang.php22
-rw-r--r--lib/tpl/dokuwiki/lang/cs/lang.php10
-rw-r--r--lib/tpl/dokuwiki/lang/hu/lang.php15
-rw-r--r--lib/tpl/dokuwiki/lang/hu/style.txt1
-rw-r--r--lib/tpl/dokuwiki/lang/it/lang.php8
-rw-r--r--lib/tpl/dokuwiki/lang/ru/lang.php14
-rw-r--r--vendor/composer/ClassLoader.php8
-rw-r--r--vendor/composer/installed.json12
-rw-r--r--vendor/splitbrain/php-archive/.gitignore3
-rw-r--r--vendor/splitbrain/php-archive/README.md14
-rw-r--r--vendor/splitbrain/php-archive/src/Archive.php4
-rw-r--r--vendor/splitbrain/php-archive/src/FileInfo.php1
-rw-r--r--vendor/splitbrain/php-archive/src/Tar.php50
62 files changed, 680 insertions, 190 deletions
diff --git a/.gitignore b/.gitignore
index dd5c9cf18..7410ee1c3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -69,3 +69,5 @@ vendor/*/*/test/*
vendor/*/*/doc/*
vendor/*/*/docs/*
vendor/*/*/contrib/*
+vendor/splitbrain/php-archive/apigen.neon
+vendor/splitbrain/php-archive/generate-api.sh
diff --git a/_test/tests/general/general_languagelint.php b/_test/tests/general/general_languagelint.test.php
index c11462640..c11462640 100644
--- a/_test/tests/general/general_languagelint.php
+++ b/_test/tests/general/general_languagelint.test.php
diff --git a/_test/tests/inc/form/buttonelement.test.php b/_test/tests/inc/form/buttonelement.test.php
new file mode 100644
index 000000000..8e1a7e1e2
--- /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
index a0e4173e8..e1491f6ec 100644
--- a/_test/tests/inc/form/checkableelement.test.php
+++ b/_test/tests/inc/form/checkableelement.test.php
@@ -23,6 +23,7 @@ class form_checkableelement_test extends DokuWikiTest {
$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'));
}
/**
@@ -45,5 +46,6 @@ class form_checkableelement_test extends DokuWikiTest {
$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/inputelement.test.php b/_test/tests/inc/form/inputelement.test.php
index 7a5e6d2ea..3257d2a89 100644
--- a/_test/tests/inc/form/inputelement.test.php
+++ b/_test/tests/inc/form/inputelement.test.php
@@ -14,6 +14,7 @@ class form_inputelement_test extends DokuWikiTest {
$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);
@@ -38,4 +39,20 @@ class form_inputelement_test extends DokuWikiTest {
$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/parser/parser_media.test.php b/_test/tests/inc/parser/parser_media.test.php
index d9a0626f5..abbcfe213 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=&amp;tok=';
+ $a_first_part = '<a href="' . DOKU_BASE . 'lib/exe/fetch.php?cache=&amp;tok=';
$a_second_part = '&amp;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, '&amp;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 = '&amp;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, '&amp;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=&amp;cache=&amp;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=&amp;cache=&amp;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=&amp;cache=&amp;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=&amp;cache=&amp;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/composer.lock b/composer.lock
index 9aa165902..f504ba638 100644
--- a/composer.lock
+++ b/composer.lock
@@ -54,16 +54,16 @@
},
{
"name": "splitbrain/php-archive",
- "version": "1.0.4",
+ "version": "1.0.7",
"source": {
"type": "git",
"url": "https://github.com/splitbrain/php-archive.git",
- "reference": "6572e78ef9d064eeb5c74d4ffe61b473a4996b68"
+ "reference": "c075304b44c4aadff0718af445e86bf730f331ff"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/splitbrain/php-archive/zipball/6572e78ef9d064eeb5c74d4ffe61b473a4996b68",
- "reference": "6572e78ef9d064eeb5c74d4ffe61b473a4996b68",
+ "url": "https://api.github.com/repos/splitbrain/php-archive/zipball/c075304b44c4aadff0718af445e86bf730f331ff",
+ "reference": "c075304b44c4aadff0718af445e86bf730f331ff",
"shasum": ""
},
"require": {
@@ -97,7 +97,7 @@
"unzip",
"zip"
],
- "time": "2015-07-24 11:36:49"
+ "time": "2015-08-12 13:24:34"
}
],
"packages-dev": [],
diff --git a/doku.php b/doku.php
index 0f4557fd0..b1797fdf2 100644
--- a/doku.php
+++ b/doku.php
@@ -9,7 +9,7 @@
*/
// update message version - always use a string to avoid localized floats!
-$updateVersion = "47";
+$updateVersion = "48";
// xdebug_start_profiling();
diff --git a/inc/Form/ButtonElement.php b/inc/Form/ButtonElement.php
new file mode 100644
index 000000000..77c30ed4f
--- /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/Form.php b/inc/Form/Form.php
index 625557fa1..7eaa53041 100644
--- a/inc/Form/Form.php
+++ b/inc/Form/Form.php
@@ -140,7 +140,7 @@ class Form extends Element {
* @return Element
*/
public function addElement(Element $element, $pos = -1) {
- if(is_a($element, '\dokuwiki\Form')) throw new \InvalidArgumentException('You can\'t add a form to a form');
+ 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 {
@@ -156,7 +156,7 @@ class Form extends Element {
* @param $pos 0-based position of the element to replace
*/
public function replaceElement(Element $element, $pos) {
- if(is_a($element, '\dokuwiki\Form')) throw new \InvalidArgumentException('You can\'t add a form to a form');
+ 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));
}
@@ -234,6 +234,65 @@ class Form extends Element {
}
/**
+ * 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
diff --git a/inc/Form/InputElement.php b/inc/Form/InputElement.php
index 5908f7d11..694dd0848 100644
--- a/inc/Form/InputElement.php
+++ b/inc/Form/InputElement.php
@@ -12,7 +12,7 @@ namespace dokuwiki\Form;
*/
class InputElement extends Element {
/**
- * @var Label
+ * @var LabelElement
*/
protected $label = null;
@@ -24,18 +24,19 @@ class InputElement extends Element {
/**
* @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
+ * @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);
- if($label) $this->label = new Label($label);
+ $this->attr('type', $type);
+ if($label) $this->label = new LabelElement($label);
}
/**
* Returns the label element if there's one set
*
- * @return Label|null
+ * @return LabelElement|null
*/
public function getLabel() {
return $this->label;
diff --git a/inc/Form/Label.php b/inc/Form/LabelElement.php
index 8dcd7cd5f..9c8d54277 100644
--- a/inc/Form/Label.php
+++ b/inc/Form/LabelElement.php
@@ -5,12 +5,12 @@ namespace dokuwiki\Form;
* Class Label
* @package dokuwiki\Form
*/
-class Label extends ValueElement {
+class LabelElement extends ValueElement {
/**
* Creates a new Label
*
- * @param string $label
+ * @param string $label This is is raw HTML and will not be escaped
*/
public function __construct($label) {
parent::__construct('label', $label);
@@ -22,6 +22,6 @@ class Label extends ValueElement {
* @return string
*/
public function toHTML() {
- return '<label ' . buildAttributes($this->attrs()) . '>' . hsc($this->val()) . '</label>';
+ return '<label ' . buildAttributes($this->attrs()) . '>' . $this->val() . '</label>';
}
}
diff --git a/inc/html.php b/inc/html.php
index 0914a1762..24d108ea4 100644
--- a/inc/html.php
+++ b/inc/html.php
@@ -959,13 +959,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';
}
diff --git a/inc/lang/cs/lang.php b/inc/lang/cs/lang.php
index d6b50fb97..ffc99eccf 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';
@@ -84,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.';
@@ -98,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';
@@ -343,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/hu/admin.txt b/inc/lang/hu/admin.txt
index 03d29243c..51b13eb56 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 37c23e892..83b45b6d2 100644
--- a/inc/lang/hu/lang.php
+++ b/inc/lang/hu/lang.php
@@ -74,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!';
@@ -93,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:';
@@ -288,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.';
@@ -337,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/it/lang.php b/inc/lang/it/lang.php
index b84c4d7d8..a94bf821f 100644
--- a/inc/lang/it/lang.php
+++ b/inc/lang/it/lang.php
@@ -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';
@@ -347,7 +349,9 @@ $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>.';
diff --git a/inc/lang/ru/lang.php b/inc/lang/ru/lang.php
index 40d3ffefe..569ea0d9b 100644
--- a/inc/lang/ru/lang.php
+++ b/inc/lang/ru/lang.php
@@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
* @author Yuri Pimenov <up@ftpsearch.lv>
* @author Igor Tarasov <tigr@mail15.com>
* @author Denis Simakov <akinoame1@gmail.com>
@@ -32,6 +32,7 @@
* @author Alex P <alexander@lanos.co.uk>
* @author Nolf <m.kopachovets@gmail.com>
* @author Takumo <9206984@mail.ru>
+ * @author RainbowSpike <1@2.ru>
*/
$lang['encoding'] = 'utf-8';
$lang['direction'] = 'ltr';
diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php
index c92892a35..9d7613f32 100644
--- a/inc/parser/xhtml.php
+++ b/inc/parser/xhtml.php
@@ -1033,7 +1033,6 @@ 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;
diff --git a/lib/plugins/authad/lang/cs/lang.php b/lib/plugins/authad/lang/cs/lang.php
index ad141153f..85bc41f2f 100644
--- a/lib/plugins/authad/lang/cs/lang.php
+++ b/lib/plugins/authad/lang/cs/lang.php
@@ -8,3 +8,5 @@
*/
$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['connectfail'] = 'Připojení k serveru Active Directory selhalo.';
diff --git a/lib/plugins/authad/lang/hu/lang.php b/lib/plugins/authad/lang/hu/lang.php
index f5692de04..023e6b956 100644
--- a/lib/plugins/authad/lang/hu/lang.php
+++ b/lib/plugins/authad/lang/hu/lang.php
@@ -7,3 +7,5 @@
*/
$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/authldap/lang/cs/lang.php b/lib/plugins/authldap/lang/cs/lang.php
new file mode 100644
index 000000000..9b0e8d244
--- /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 08c5c6a16..c7e070ca8 100644
--- a/lib/plugins/authldap/lang/cs/settings.php
+++ b/lib/plugins/authldap/lang/cs/settings.php
@@ -20,6 +20,7 @@ $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';
diff --git a/lib/plugins/authldap/lang/hu/lang.php b/lib/plugins/authldap/lang/hu/lang.php
new file mode 100644
index 000000000..07c16f3f0
--- /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 1e6608dab..364a1e987 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/settings.php b/lib/plugins/authldap/lang/it/settings.php
index 858c694b8..2dbcedf26 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.';
@@ -16,6 +17,7 @@ $lang['groupfilter'] = 'Filtro per cercare i gruppi LDAP. Eg. <code>(&
$lang['version'] = 'Versione protocollo da usare. Pu<code>3</code>';
$lang['starttls'] = 'Usare la connessione TSL?';
$lang['deref'] = 'Come differenziare un alias?';
+$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['debug'] = 'In caso di errori mostra ulteriori informazioni di debug';
@@ -23,3 +25,6 @@ $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/authmysql/lang/cs/lang.php b/lib/plugins/authmysql/lang/cs/lang.php
new file mode 100644
index 000000000..464a031b1
--- /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/hu/lang.php b/lib/plugins/authmysql/lang/hu/lang.php
new file mode 100644
index 000000000..3f48da335
--- /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 000000000..5b1ae0a00
--- /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 9dc1a0157..4339baf37 100644
--- a/lib/plugins/authmysql/lang/it/settings.php
+++ b/lib/plugins/authmysql/lang/it/settings.php
@@ -7,17 +7,23 @@
* @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['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'] = 'Clausola SQL per filtrare gli utenti in base all\'appartenenza al gruppo';
$lang['SortOrder'] = 'Istruzione SQL per ordinare gli utenti';
$lang['addUser'] = 'Istruzione SQL per aggiungere un nuovo utente';
diff --git a/lib/plugins/authpgsql/lang/it/settings.php b/lib/plugins/authpgsql/lang/it/settings.php
index bc326b34f..26e9a8608 100644
--- a/lib/plugins/authpgsql/lang/it/settings.php
+++ b/lib/plugins/authpgsql/lang/it/settings.php
@@ -13,4 +13,23 @@ $lang['user'] = 'Lo username PostgreSQL';
$lang['password'] = 'Password dell\'utente summenzionato';
$lang['database'] = 'Database da usare';
$lang['debug'] = 'Visualizza informazioni addizionali di debug';
-$lang['getUsers'] = 'Dichiarazione SQL per elencare tutti gli utenti';
+$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 autenticazione';
+$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['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/authplain/lang/cs/lang.php b/lib/plugins/authplain/lang/cs/lang.php
index 8128d45a3..852a30044 100644
--- a/lib/plugins/authplain/lang/cs/lang.php
+++ b/lib/plugins/authplain/lang/cs/lang.php
@@ -1,6 +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['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/hu/lang.php b/lib/plugins/authplain/lang/hu/lang.php
index 6de5db772..5f684d722 100644
--- a/lib/plugins/authplain/lang/hu/lang.php
+++ b/lib/plugins/authplain/lang/hu/lang.php
@@ -1,6 +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['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/it/lang.php b/lib/plugins/authplain/lang/it/lang.php
index 716041ffb..610b512a4 100644
--- a/lib/plugins/authplain/lang/it/lang.php
+++ b/lib/plugins/authplain/lang/it/lang.php
@@ -1,6 +1,7 @@
<?php
+
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
*/
-$lang['userexists'] = 'Il nome utente inserito esiste già.';
+$lang['userexists'] = 'Il nome utente inserito esiste già.';
diff --git a/lib/plugins/authplain/lang/ru/lang.php b/lib/plugins/authplain/lang/ru/lang.php
index 8a40852d6..c36d5b444 100644
--- a/lib/plugins/authplain/lang/ru/lang.php
+++ b/lib/plugins/authplain/lang/ru/lang.php
@@ -1,6 +1,10 @@
<?php
+
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
+ * @author RainbowSpike <1@2.ru>
*/
-$lang['userexists'] = 'Извините, пользователь с таким логином уже существует.';
+$lang['userexists'] = 'Извините, пользователь с таким логином уже существует.';
+$lang['usernotexists'] = 'Этот пользователь незарегистрирован.';
+$lang['writefail'] = 'Невозможно обновить данные пользователя. Свяжитесь с администратором вики';
diff --git a/lib/plugins/config/lang/cs/lang.php b/lib/plugins/config/lang/cs/lang.php
index 289c458e5..d7a7362ae 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ů.';
diff --git a/lib/plugins/config/lang/hu/lang.php b/lib/plugins/config/lang/hu/lang.php
index 6f774bfac..59d7e9f57 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/it/lang.php b/lib/plugins/config/lang/it/lang.php
index 7a831c8de..e97ddc42c 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.
diff --git a/lib/plugins/config/lang/ja/lang.php b/lib/plugins/config/lang/ja/lang.php
index 587b2b4ee..83445e6f1 100644
--- a/lib/plugins/config/lang/ja/lang.php
+++ b/lib/plugins/config/lang/ja/lang.php
@@ -84,7 +84,7 @@ $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'] = 'その他の動作(カンマ区切り)';
diff --git a/lib/plugins/config/lang/ru/lang.php b/lib/plugins/config/lang/ru/lang.php
index 596ad4ead..57e0602f7 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,7 @@
* @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>
*/
$lang['menu'] = 'Настройки вики';
$lang['error'] = 'Настройки не были сохранены из-за ошибки в одном из значений. Пожалуйста, проверьте свои изменения и попробуйте ещё раз.<br />Неправильные значения будут обведены красной рамкой.';
@@ -91,7 +92,9 @@ $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 или другие механизмы.';
@@ -123,6 +126,7 @@ $lang['notify'] = 'Электронный адрес для из
$lang['registernotify'] = 'Посылать информацию о новых зарегистрированных пользователях на этот электронный адрес';
$lang['mailfrom'] = 'Электронный адрес вики (От:)';
$lang['mailprefix'] = 'Префикс используемый для автоматического письма станет темой сообщений';
+$lang['htmlmail'] = 'Отправлять красивые, но крупные HTML-многочастные письма. Для отправки простых текстовых писем - отключить';
$lang['sitemap'] = 'Число дней, через которое нужно создавать (обновлять) карту сайта для поисковиков (Гугл, Яндекс и др.)';
$lang['rss_type'] = 'Тип RSS';
$lang['rss_linkto'] = 'Ссылки в RSS';
@@ -195,6 +199,7 @@ $lang['xsendfile_o_2'] = 'Стандартный заголовок X-Se
$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'] = 'Адрес электропочты в шифрованном виде (см. mailguard)';
$lang['showuseras_o_email_link'] = 'Адрес электропочты в виде ссылки mailto:';
$lang['useheading_o_0'] = 'Никогда';
diff --git a/lib/plugins/extension/lang/cs/lang.php b/lib/plugins/extension/lang/cs/lang.php
index d48c517cf..1fef75a45 100644
--- a/lib/plugins/extension/lang/cs/lang.php
+++ b/lib/plugins/extension/lang/cs/lang.php
@@ -2,11 +2,12 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
* @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';
diff --git a/lib/plugins/extension/lang/hu/lang.php b/lib/plugins/extension/lang/hu/lang.php
index 28194ad9d..7d531e15b 100644
--- a/lib/plugins/extension/lang/hu/lang.php
+++ b/lib/plugins/extension/lang/hu/lang.php
@@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
* @author Marton Sebok <sebokmarton@gmail.com>
*/
$lang['menu'] = 'Bővítménykezelő';
@@ -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';
@@ -62,6 +66,7 @@ $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 %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/ru/lang.php b/lib/plugins/extension/lang/ru/lang.php
index 71d949606..746af3ef1 100644
--- a/lib/plugins/extension/lang/ru/lang.php
+++ b/lib/plugins/extension/lang/ru/lang.php
@@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
* @author Aleksandr Selivanov <alexgearbox@yandex.ru>
* @author Igor Degraf <igordegraf@gmail.com>
* @author Type-kun <workwork-1@yandex.ru>
@@ -10,103 +10,91 @@
* @author Alex P <alexander@lanos.co.uk>
* @author Takumo <9206984@mail.ru>
*/
-$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['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'] = 'Это дополнение было установлено через git. Вы не можете обновить его тут.';
-$lang['auth'] = 'Этот auth плагин не включен в конфигурации, подумайте о его отключении';
-
-$lang['install_url'] = 'Установить с адреса:';
-$lang['install_upload'] = 'Скачать дополнение:';
-
-$lang['repo_error'] = 'Сайт с плагинами недоступен. Убедитесь, что у сайта есть доступ на www.dokuwiki.org и также проверьте настройки соединения прокси.';
-$lang['nossl'] = 'Ваша PHP конфигурация не имеет SSL поддержки. Это поломает скачивание для многих DokuWiki плагинов и дополнений.';
+$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'] = 'Это дополнение было установлено через git. Вы не можете обновить его тут.';
+$lang['auth'] = 'Этот auth плагин не включен в конфигурации, подумайте о его отключении';
+$lang['install_url'] = 'Установить с адреса:';
+$lang['install_upload'] = 'Скачать дополнение:';
+$lang['repo_error'] = 'Сайт с плагинами недоступен. Убедитесь, что у сайта есть доступ на www.dokuwiki.org и также проверьте настройки соединения прокси.';
+$lang['nossl'] = 'Ваша PHP конфигурация не имеет SSL поддержки. Это поломает скачивание для многих DokuWiki плагинов и дополнений.';
diff --git a/lib/plugins/revert/lang/cs/lang.php b/lib/plugins/revert/lang/cs/lang.php
index 619a9d929..494750d5e 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/styling/lang/cs/lang.php b/lib/plugins/styling/lang/cs/lang.php
new file mode 100644
index 000000000..8148b784f
--- /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/hu/intro.txt b/lib/plugins/styling/lang/hu/intro.txt
new file mode 100644
index 000000000..42f451d9a
--- /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 000000000..c6ef5de93
--- /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/lang.php b/lib/plugins/styling/lang/it/lang.php
new file mode 100644
index 000000000..b986a670c
--- /dev/null
+++ b/lib/plugins/styling/lang/it/lang.php
@@ -0,0 +1,17 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Torpedo <dgtorpedo@gmail.com>
+ */
+$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['__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['__border__'] = 'Colore del bordo';
+$lang['__highlight__'] = 'Colore di evidenziazione (principalmente per i risultati di ricerca)';
diff --git a/lib/plugins/styling/lang/ru/intro.txt b/lib/plugins/styling/lang/ru/intro.txt
new file mode 100644
index 000000000..39a09c0e1
--- /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 000000000..1c2dfa569
--- /dev/null
+++ b/lib/plugins/styling/lang/ru/lang.php
@@ -0,0 +1,22 @@
+<?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/tpl/dokuwiki/lang/cs/lang.php b/lib/tpl/dokuwiki/lang/cs/lang.php
new file mode 100644
index 000000000..0f03ba491
--- /dev/null
+++ b/lib/tpl/dokuwiki/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['__link__'] = 'Hlavní barva odkazů';
+$lang['__existing__'] = 'Barva odkazů na existující stránky';
+$lang['__missing__'] = 'Barva odkazů na neexistující stránky';
diff --git a/lib/tpl/dokuwiki/lang/hu/lang.php b/lib/tpl/dokuwiki/lang/hu/lang.php
new file mode 100644
index 000000000..083736623
--- /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 000000000..1cdf517b3
--- /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 000000000..6d66c52fc
--- /dev/null
+++ b/lib/tpl/dokuwiki/lang/it/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Torpedo <dgtorpedo@gmail.com>
+ */
+$lang['__link__'] = 'Colore generale per i link';
diff --git a/lib/tpl/dokuwiki/lang/ru/lang.php b/lib/tpl/dokuwiki/lang/ru/lang.php
new file mode 100644
index 000000000..09492cda7
--- /dev/null
+++ b/lib/tpl/dokuwiki/lang/ru/lang.php
@@ -0,0 +1,14 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author RainbowSpike <1@2.ru>
+ */
+$lang['__background_site__'] = 'Цвет для дальнего фона (за окном содержимого)';
+$lang['__link__'] = 'Основной цвет ссылок';
+$lang['__existing__'] = 'Цвет существующих ссылок';
+$lang['__missing__'] = 'Цвет несуществующих ссылок';
+$lang['__site_width__'] = 'Ширина всего сайта (любые CSS-единицы)';
+$lang['__sidebar_width__'] = 'Ширина сайдбара, если есть (любые CSS-единицы)';
+$lang['__tablet_width__'] = 'Переключать сайт в планшетный вид ниже ширины';
diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php
index 4e05d3b15..5e1469e83 100644
--- a/vendor/composer/ClassLoader.php
+++ b/vendor/composer/ClassLoader.php
@@ -351,7 +351,7 @@ class ClassLoader
foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
if (0 === strpos($class, $prefix)) {
foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
- if (is_file($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
return $file;
}
}
@@ -361,7 +361,7 @@ class ClassLoader
// PSR-4 fallback dirs
foreach ($this->fallbackDirsPsr4 as $dir) {
- if (is_file($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
return $file;
}
}
@@ -380,7 +380,7 @@ class ClassLoader
foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
if (0 === strpos($class, $prefix)) {
foreach ($dirs as $dir) {
- if (is_file($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
return $file;
}
}
@@ -390,7 +390,7 @@ class ClassLoader
// PSR-0 fallback dirs
foreach ($this->fallbackDirsPsr0 as $dir) {
- if (is_file($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
return $file;
}
}
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 9b20b8a09..0510ac994 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -49,17 +49,17 @@
},
{
"name": "splitbrain/php-archive",
- "version": "1.0.4",
- "version_normalized": "1.0.4.0",
+ "version": "1.0.7",
+ "version_normalized": "1.0.7.0",
"source": {
"type": "git",
"url": "https://github.com/splitbrain/php-archive.git",
- "reference": "6572e78ef9d064eeb5c74d4ffe61b473a4996b68"
+ "reference": "c075304b44c4aadff0718af445e86bf730f331ff"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/splitbrain/php-archive/zipball/6572e78ef9d064eeb5c74d4ffe61b473a4996b68",
- "reference": "6572e78ef9d064eeb5c74d4ffe61b473a4996b68",
+ "url": "https://api.github.com/repos/splitbrain/php-archive/zipball/c075304b44c4aadff0718af445e86bf730f331ff",
+ "reference": "c075304b44c4aadff0718af445e86bf730f331ff",
"shasum": ""
},
"require": {
@@ -68,7 +68,7 @@
"require-dev": {
"phpunit/phpunit": "4.5.*"
},
- "time": "2015-07-24 11:36:49",
+ "time": "2015-08-12 13:24:34",
"type": "library",
"installation-source": "dist",
"autoload": {
diff --git a/vendor/splitbrain/php-archive/.gitignore b/vendor/splitbrain/php-archive/.gitignore
index 39b851b56..c6277c187 100644
--- a/vendor/splitbrain/php-archive/.gitignore
+++ b/vendor/splitbrain/php-archive/.gitignore
@@ -3,5 +3,6 @@
composer.phar
vendor/
composer.lock
-
+apigen.phar
+docs/
diff --git a/vendor/splitbrain/php-archive/README.md b/vendor/splitbrain/php-archive/README.md
index 6c5780a7a..f18764b61 100644
--- a/vendor/splitbrain/php-archive/README.md
+++ b/vendor/splitbrain/php-archive/README.md
@@ -19,8 +19,11 @@ 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 source code
-comments for more info
+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';
@@ -51,16 +54,17 @@ $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.tgz'); // compresses and saves it
-echo $tar->getArchive(Archive::COMPRESS_GZIP); // compresses and returns it
+$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. \ No newline at end of file
+an archive.
diff --git a/vendor/splitbrain/php-archive/src/Archive.php b/vendor/splitbrain/php-archive/src/Archive.php
index c60fea777..d672cc6ec 100644
--- a/vendor/splitbrain/php-archive/src/Archive.php
+++ b/vendor/splitbrain/php-archive/src/Archive.php
@@ -126,3 +126,7 @@ 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
index c443aa977..612f924c3 100644
--- a/vendor/splitbrain/php-archive/src/FileInfo.php
+++ b/vendor/splitbrain/php-archive/src/FileInfo.php
@@ -61,6 +61,7 @@ class FileInfo
$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']);
diff --git a/vendor/splitbrain/php-archive/src/Tar.php b/vendor/splitbrain/php-archive/src/Tar.php
index bd78136da..e29c7d5a6 100644
--- a/vendor/splitbrain/php-archive/src/Tar.php
+++ b/vendor/splitbrain/php-archive/src/Tar.php
@@ -36,6 +36,8 @@ class Tar extends Archive
$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;
}
/**
@@ -366,7 +368,7 @@ class Tar extends Archive
public function save($file)
{
if ($this->comptype === Archive::COMPRESS_AUTO) {
- $this->setCompression($this->filetype($this->complevel, $file));
+ $this->setCompression($this->complevel, $this->filetype($file));
}
if (!file_put_contents($file, $this->getArchive())) {
@@ -429,7 +431,12 @@ class Tar extends Archive
@gzseek($this->fh, $bytes, SEEK_CUR);
} elseif ($this->comptype === Archive::COMPRESS_BZIP) {
// there is no seek in bzip2, we simply read on
- @bzread($this->fh, $bytes);
+ // 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);
}
@@ -513,15 +520,19 @@ class Tar extends Archive
/**
* Decode the given tar file header
*
- * @param string $block a 512 byte block containign the header data
- * @return array|bool
+ * @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) {
- return false;
+ 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]);
}
@@ -535,12 +546,12 @@ class Tar extends Archive
$block
);
if (!$header) {
- return false;
+ throw new ArchiveCorruptedException('Failed to parse header');
}
$return['checksum'] = OctDec(trim($header['checksum']));
if ($return['checksum'] != $chks) {
- return false;
+ throw new ArchiveCorruptedException('Header does not match it\'s checksum');
}
$return['filename'] = trim($header['filename']);
@@ -613,7 +624,9 @@ class Tar extends Archive
}
/**
- * Guesses the wanted compression from the given filename extension
+ * 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
*
@@ -622,14 +635,25 @@ class Tar extends Archive
*/
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') {
- $comptype = Archive::COMPRESS_GZIP;
+ return Archive::COMPRESS_GZIP;
} elseif (substr($file, -4) == '.bz2' || substr($file, -4) == '.tbz') {
- $comptype = Archive::COMPRESS_BZIP;
- } else {
- $comptype = Archive::COMPRESS_NONE;
+ return Archive::COMPRESS_BZIP;
}
- return $comptype;
+
+ return Archive::COMPRESS_NONE;
}
}