diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
new file mode 100644
index 0000000..d06ab91
--- /dev/null
+++ b/.github/CONTRIBUTING.md
@@ -0,0 +1,126 @@
+Contributing to yii2-tree-manager
+=========================
+Looking to contribute something to yii2-tree-manager? **Here's how you can help.**
+
+Please take a moment to review this document in order to make the contribution
+process easy and effective for everyone involved.
+
+Following these guidelines helps to communicate that you respect the time of
+the developers managing and developing this open source project. In return,
+they should reciprocate that respect in addressing your issue or assessing
+patches and features.
+
+Using the issue tracker
+-----------------------
+When [reporting bugs][reporting-bugs] or
+[requesting features][requesting-features], the
+[issue tracker on GitHub][issue-tracker] is the recommended channel to use.
+
+The issue tracker **is not** a place for support requests. Refer the
+[extension documentation and demos](http://demos.krajee.com/tree-manager) and/or refer to the
+[webtips Q & A forum](http://webtips.krajee.com/questions) which are the better places to get help.
+
+Reporting bugs with yii2-tree-manager
+-----------------------------
+We really appreciate clear bug reports that _consistently_ show an issue
+_within yii2-tree-manager_.
+
+The ideal bug report follows these guidelines:
+
+1. **Use the [GitHub issue search][issue-search]** — Check if the issue
+ has already been reported.
+2. **Check if the issue has been fixed** — Try to reproduce the problem
+ using the code in the `master` branch.
+3. **Isolate the problem** — Try to share a demo or a test case that
+ consistently reproduces the problem.
+
+Please try to be as detailed as possible in your bug report, especially if an
+isolated test case cannot be made. Some useful questions to include the answer
+to are:
+
+- What steps can be used to reproduce the issue?
+- What is the bug and what is the expected outcome?
+- What browser(s) and Operating System have you tested with?
+- Does the bug happen consistently across all tested browsers?
+- What version of jQuery are you using? And what version of yii2-tree-manager?
+- Are you using yii2-tree-manager with other plugins?
+
+All of these questions will help others fix and identify any potential bugs.
+
+Requesting features in yii2-tree-manager
+------------------------------------------
+Before starting work on a major feature for yii2-tree-manager, **read the
+[documentation](http://demos.krajee.com/tree-manager) first** or you may risk spending a considerable amount of
+time on something which the project developers are not interested in bringing into the project.
+
+### Submitting a pull request
+
+We use GitHub's pull request system for submitting patches. Here are some
+guidelines to follow when creating the pull request for your fix.
+
+1. Make sure to create a ticket for your pull request. This will serve as the
+bug ticket, and any discussion about the bug will take place there. Your pull
+request will be focused on the specific changes that fix the bug.
+2. Make sure to reference the ticket you are fixing within your pull request.
+This will allow us to close off the ticket once we merge the pull request, or
+follow up on the ticket if there are any related blocking issues.
+3. Explain why the specific change was made. Not everyone who is reviewing your
+pull request will be familiar with the problem it is fixing.
+4. Run your tests first. If your tests aren't passing, the pull request won't
+be able to be merged. If you're breaking existing tests, make sure that you
+aren't causing any breaking changes.
+5. Only include source changes. While it's not required, only including changes
+from the `src` directory will prevent merge conflicts from occuring. Making
+this happen can be as a simple as not committing changes from the `dist`
+directory.
+
+By following these steps, you will make it easier for your pull request to be
+reviewed and eventually merged.
+
+Triaging issues and pull requests
+---------------------------------
+Anyone can help the project maintainers triage issues and review pull requests.
+
+### Handling new issues
+
+yii2-tree-manager regularly receives new issues which need to be tested and organized.
+
+When a new issue that comes in that is similar to another existing issue, it
+should be checked to make sure it is not a duplicate. Duplicates issues should
+be marked by replying to the issue with "Duplicate of #[issue number]" where
+`[issue number]` is the url or issue number for the existing issue. This will
+allow the project maintainers to quickly close off additional issues and keep
+the discussion focused within a single issue.
+
+If you can test issues that are reported to yii2-tree-manager that contain test cases and
+confirm under what conditions bugs happen, that will allow others to identify
+what causes a bug quicker.
+
+### Reviewing pull requests
+
+It is very common for pull requests to be opened for issues that contain a clear
+solution to the problem. These pull requests should be rigorously reviewed by
+the community before being accepted. If you are not sure about a piece of
+submitted code, or know of a better way to do something, do not hesitate to make
+a comment on the pull request.
+
+### Reviving old tickets
+
+If you come across tickets which have not been updated for a while, you are
+encouraged to revive them. While this can be as simple as saying `:+1:`, it is
+best if you can include more information on the issue. Common bugs and feature
+requests are more likely to be fixed, whether it is by the community or the
+developers, so keeping tickets up to date is encouraged.
+
+Licensing
+---------
+
+It should also be made clear that **all code contributed to yii2-tree-manager** must be
+licensable under the [BSD-3 license][licensing]. Code that cannot be released
+under this license **cannot be accepted** into the project.
+
+[issue-search]: https://github.com/kartik-v/yii2-tree-manager/search?q=&type=Issues
+[issue-tracker]: https://github.com/kartik-v/yii2-tree-manager/issues
+[licensing]: https://github.com/kartik-v/yii2-tree-manager/blob/master/LICENSE.md
+[reporting-bugs]: #reporting-bugs-with-yii2-tree-manager
+[requesting-features]: #requesting-features-in-yii2-tree-manager
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
new file mode 100644
index 0000000..b811d59
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE.md
@@ -0,0 +1,47 @@
+## Prerequisites
+
+- [ ] I have searched for similar issues in both open and closed tickets and cannot find a duplicate.
+- [ ] The issue still exists against the latest `master` branch of yii2-tree-manager.
+- [ ] This is not an usage question. I confirm having gone through and read the [documentation](http://demos.krajee.com/tree-manager) and [demos](http://demos.krajee.com/tree-manager-demo/tree-view).
+- [ ] This is not a general programming / coding question. (Those should be directed to the [webtips Q & A forum](http://webtips.krajee.com/questions)).
+- [ ] I have attempted to find the simplest possible steps to reproduce the issue.
+- [ ] I have included a failing test as a pull request (Optional).
+
+## Steps to reproduce the issue
+
+1.
+2.
+3.
+
+## Expected behavior and actual behavior
+
+When I follow those steps, I see...
+
+I was expecting...
+
+## Environment
+
+#### Browsers
+
+- [ ] Google Chrome
+- [ ] Mozilla Firefox
+- [ ] Internet Explorer
+- [ ] Safari
+
+#### Operating System
+
+- [ ] Windows
+- [ ] Mac OS X
+- [ ] Linux
+- [ ] Mobile
+
+#### Libraries
+
+- jQuery version:
+- yii2-tree-manager version:
+
+## Isolating the problem
+
+- [ ] This bug happens [on the demos page](http://demos.krajee.com/tree-manager-demo/tree-view)
+- [ ] The bug happens consistently across all tested browsers
+- [ ] This bug happens when using yii2-tree-manager without other plugins.
\ No newline at end of file
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..a167632
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,16 @@
+## Scope
+This pull request includes a
+
+- [ ] Bug fix
+- [ ] New feature
+- [ ] Translation
+
+## Changes
+The following changes were made (this change is also documented in the [change log](https://github.com/kartik-v/yii2-tree-manager/blob/master/CHANGE.md)):
+
+-
+-
+-
+
+## Related Issues
+If this is related to an existing ticket, include a link to it as well.
\ No newline at end of file
diff --git a/CHANGE.md b/CHANGE.md
index 7102c70..c754ceb 100755
--- a/CHANGE.md
+++ b/CHANGE.md
@@ -3,7 +3,7 @@ Change Log: `yii2-tree-manager`
## Version 1.0.6
-**Date:** 12-Jul-2016
+**Date:** 16-Dec-2016
- (enh #98): Add new bool property `TreeViewInput::autoCloseOnSelect`.
- (enh #99): Add Chinese translations
@@ -19,6 +19,15 @@ Change Log: `yii2-tree-manager`
- (bug #127): Fix migration namespace.
- (bug #128): Correct asset dependency.
- (enh #129): More correct defaulting of CSS classes.
+- (enh #137): Add Dutch translations.
+- (enh #138): Add Finnish translations.
+- (enh #142): Implement Krajee Dialog for all alerts and confirmation.
+- (enh #143): Enhance security for NodeController actions using a stateless signature to prevent data tampering:
+ - New property `Module::treeEncryptSalt` available to generate a stateless hashed signature.
+ - If `treeEncryptSalt` is not set, it will be randomly generated and stored in a session variable.
+ - Tree configuration settings will be signed and the same data via POST will be cross checked using `yii\base\Security::hashData` and `yii\base\Security::validateData`.
+- Add github contribution and issue/PR logging templates.
+- Update message config to include all default standard translation files.
## Version 1.0.5
diff --git a/LICENSE.md b/LICENSE.md
index b969be6..52bd4e4 100755
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,4 +1,4 @@
-Copyright (c) 2015 - 2016, Kartik Visweswaran
+Copyright (c) 2015 - 2017, Kartik Visweswaran
Krajee.com
All rights reserved.
diff --git a/Module.php b/Module.php
index 6ffe767..d3f782d 100755
--- a/Module.php
+++ b/Module.php
@@ -1,7 +1,7 @@
_msgCat = 'kvtree';
parent::init();
+ if (!isset($this->treeEncryptSalt)) {
+ $session = Yii::$app->session;
+ if (!$session->get(self::SALT_SESS_KEY)) {
+ $session->set(self::SALT_SESS_KEY, Yii::$app->security->generateRandomKey());
+ }
+ $this->treeEncryptSalt = $session->get(self::SALT_SESS_KEY);
+ }
$this->treeStructure += [
'treeAttribute' => 'root',
'leftAttribute' => 'lft',
diff --git a/TreeView.php b/TreeView.php
index 8f901d9..5e32371 100755
--- a/TreeView.php
+++ b/TreeView.php
@@ -1,7 +1,7 @@
Url::to(['/treemanager/node/save']),
- * 'manage' => Url::to(['/treemanager/node/manage']),
- * 'remove' => Url::to(['/treemanager/node/remove']),
- * 'move' => Url::to(['/treemanager/node/move']),
- * ]
+ * [
+ * 'save' => Url::to(['/treemanager/node/save']),
+ * 'manage' => Url::to(['/treemanager/node/manage']),
+ * 'remove' => Url::to(['/treemanager/node/remove']),
+ * 'move' => Url::to(['/treemanager/node/move']),
+ * ]
* ```
*/
public $nodeActions = [];
@@ -73,11 +107,11 @@ class TreeView extends Widget
/**
* @var array|Closure the value to customize a tree node's label.
* - if set as an array, the array key must be the node key value (i.e. `keyAttribute`) and array value will be the
- * new node label you want to assign.
+ * new node label you want to assign.
* - if set as a Closure, the callback function must be of the signature `function($node){}`, where `$node` will
- * represent each tree node's model object instance.
+ * represent each tree node's model object instance.
* If a value is not traceable through above methods, the database tree node name will be displayed (as parsed via
- * `nameAttribute`).
+ * `nameAttribute`).
*/
public $nodeLabel;
@@ -88,7 +122,7 @@ class TreeView extends Widget
/**
* @var array the list of additional view files that will be used to append content at various sections in the
- * `nodeView` form.
+ * `nodeView` form.
*/
public $nodeAddlViews = [];
@@ -99,7 +133,7 @@ class TreeView extends Widget
public $query;
/**
- * @var int the initial value (key) to be selected in the tree and displayed in the detail form. Defaults to 1.
+ * @var integer the initial value (key) to be selected in the tree and displayed in the detail form. Defaults to 1.
*/
public $displayValue = 1;
@@ -110,13 +144,13 @@ class TreeView extends Widget
/**
* @var array the breadcrumbs settings for displaying the current node title based on parent hierarchy in the node
- * details form/view (starting from the current node). The following settings are supported:
- * - depth: int, the depth to dig into the parent nodes for fetching the breadcrumb titles. If set to `null` or
- * `0` this will fetch breadcrumbs till infinite parent depth. Defaults to `null`.
- * - glue: string, the separator to glue each node name within the breadcrumbs. Defaults to ` › `.
- * - activeCss: string, the CSS class to be applied to the current node name in the breadcrumbs. Defaults to
- * `kv-crumb-active`.
- * - untitled: string, the title to be displayed if this is a new untitled node record. Defaults to `Untitled`.
+ * details form/view (starting from the current node). The following settings are supported:
+ * - `depth`: _integer_, the depth to dig into the parent nodes for fetching the breadcrumb titles. If set to `null` or
+ * `0` this will fetch breadcrumbs till infinite parent depth. Defaults to `null`.
+ * - `glue`: _string_, the separator to glue each node name within the breadcrumbs. Defaults to ` › `.
+ * - `activeCss`: _string_, the CSS class to be applied to the current node name in the breadcrumbs. Defaults to
+ * `kv-crumb-active`.
+ * - `untitled`: _string_, the title to be displayed if this is a new untitled node record. Defaults to `Untitled`.
*/
public $breadcrumbs = [];
@@ -127,7 +161,7 @@ class TreeView extends Widget
/**
* @var string message shown on tree initialization when either the entire tree is empty or no node is found for
- * the selected `displayValue`.
+ * the selected [[displayValue]].
*/
public $emptyNodeMsg;
@@ -137,86 +171,86 @@ class TreeView extends Widget
public $emptyNodeMsgOptions = ['class' => 'kv-node-message'];
/**
- * @var bool whether to show the key attribute (ID) in the node details form/view.
+ * @var boolean whether to show the key attribute (ID) in the node details form/view.
*/
public $showIDAttribute = true;
/**
- * @var bool whether to show the form action buttons in the node details form/view.
+ * @var boolean whether to show the form action buttons in the node details form/view.
*/
public $showFormButtons = true;
/**
- * @var bool whether the tree is to be allowed for editing in admin mode. This will display all nodes and will
- * allow to modify internal tree node flags. Defaults to `false`.
+ * @var boolean whether the tree is to be allowed for editing in admin mode. This will display all nodes and will
+ * allow to modify internal tree node flags. Defaults to `false`.
*/
public $isAdmin = false;
/**
- * @var bool whether the record will be soft deleted, when remove button is clicked. Defaults to `true`. The
- * following actions are possible:
- * - If `true`, this will just set the `active` property of node to `false`.
- * - If `false`, it will attempt to hard delete the whole record.
+ * @var boolean whether the record will be soft deleted, when remove button is clicked. Defaults to `true`. The
+ * following actions are possible:
+ * - if `true`, this will just set the `active` property of node to `false`.
+ * - if `false`, it will attempt to hard delete the whole record.
*/
public $softDelete = true;
/**
- * @var bool whether to show a checkbox before each tree node label to allow multiple node selection.
+ * @var boolean whether to show a checkbox before each tree node label to allow multiple node selection.
*/
public $showCheckbox = false;
/**
- * @var bool whether to allow multiple selection of checkboxes. Defaults to `true`. If set to `false` will not show
- * a checkbox and allow only single selection of tree nodes.
+ * @var boolean whether to allow multiple selection of checkboxes. Defaults to `true`. If set to `false` will not show
+ * a checkbox and allow only single selection of tree nodes.
*/
public $multiple = true;
/**
- * @var int animation duration (ms) for fading in and out alerts that are displayed during manipulation of nodes.
+ * @var integer animation duration (ms) for fading in and out alerts that are displayed during manipulation of nodes.
*/
public $alertFadeDuration = 1000;
/**
* @var array cache settings for displaying the detail form content for each tree node via ajax. The following
- * options are supported:
+ * options are supported:
* - `enableCache`: bool, defaults to `true`.
* - `cacheTimeout`: int, the cache timeout in milliseconds. Defaults to `300000` (or `5 minutes`).
*/
public $cacheSettings = [];
/**
- * @var bool whether to show inactive nodes
+ * @var boolean whether to show inactive nodes
*/
public $showInactive = false;
/**
- * @var bool whether to use font awesome icons. Defaults to `false`.
+ * @var boolean whether to use font awesome icons. Defaults to `false`.
*/
public $fontAwesome = false;
/**
* @var array settings to edit the icon. The following settings are recognized:
- * - show: string, whether to display the icons selection as a list. If set to 'text', the icon will be shown as a
- * plain text input along with icon type. If set to 'list', a list will be shown. If set to 'none', then no
- * icon settings will be shown for editing.
- * - type: string, the iconTypeAttribute value, defaults to TreeView::ICON_CSS. Should be one of TreeView::ICON_CSS
- * or TreeView::ICON_RAW.
- * - listData: array, the configuration of the icon list data to be shown for selection. This is mandatory if you
- * set `show` to 'list'. You must set the data as `$key => $value` format. The list will be parsed to display
- * the icon list and will depend on the `type`.
- * - If type = TreeView::ICON_CSS: `$key` will be the icon suffix name and `$value` will be the description for
- * the icon. The icon markup will be automatically parsed then based on whether its a glyphicon or font-awesome
+ * - `show`: _string_, whether to display the icons selection as a list. If set to 'text', the icon will be shown as a
+ * plain text input along with icon type. If set to `'list'`, a list will be shown. If set to `'none'`, then no
+ * icon settings will be shown for editing.
+ * - `type`: _string_, the iconTypeAttribute value, defaults to TreeView::ICON_CSS. Should be one of [[ICON_CSS]]
+ * or [[ICON_RAW]].
+ * - `listData`: _array_, the configuration of the icon list data to be shown for selection. This is mandatory if you
+ * set `show` to 'list'. You must set the data as `$key => $value` format. The list will be parsed to display
+ * the icon list and will depend on the `type`.
+ * - If `type` is set to [[ICON_CSS]], then `$key` will be the icon suffix name and `$value` will be the description
+ * for the icon. The icon markup will be automatically parsed then based on whether its a glyphicon or font-awesome
* when `fontAwesome` property is `true`. For example:
- * ```
+ * ```php
* [
* 'folder-close' => 'Folder',
* 'file' => 'File',
* 'tag' => 'Tag'
* ]
* ```
- * - If type = TreeView::ICON_RAW: `$key` is the icon markup to be stored and `$value` is the output markup to
+ * - If `type` is set to [[ICON_RAW]] `$key` is the icon markup to be stored and `$value` is the output markup to
* be displayed as a selection in the list. For example:
- * ```
+ * ```php
* [
* '' => 'Folder',
* '' => 'File',
@@ -242,10 +276,10 @@ class TreeView extends Widget
/**
* @var array the sorting order of the buttons in the toolbar. Each item in this array should be one of the button
- * keys as set in the `toolbar` array keys (except for BTN_SEPARATOR which will be parsed as is). Note that,
- * if this is set, then only the button keys configured here will be displayed (irrespective of the toolbar
- * setup). Hence one must ensure that all the toolbar button keys are set here to display all the toolbar
- * buttons.
+ * keys as set in the `toolbar` array keys (except for BTN_SEPARATOR which will be parsed as is). Note that,
+ * if this is set, then only the button keys configured here will be displayed (irrespective of the toolbar
+ * setup). Hence one must ensure that all the toolbar button keys are set here to display all the toolbar
+ * buttons.
*/
public $toolbarOrder = [];
@@ -265,13 +299,13 @@ class TreeView extends Widget
public $buttonIconOptions = [];
/**
- * @var bool show toolbar button tooltips (using bootstrap tooltip plugin). The `BootstrapPluginAsset` will
- * automatically be loaded if this is set to `true`.
+ * @var boolean show toolbar button tooltips (using bootstrap tooltip plugin). The `BootstrapPluginAsset` will
+ * automatically be loaded if this is set to `true`.
*/
public $showTooltips = true;
/**
- * @var bool whether to auto load the bootstrap plugin assets if `showTooltips` is `true` OR if
+ * @var boolean whether to auto load the bootstrap plugin assets if `showTooltips` is `true` OR if
* `TreeViewInput::asDropdown` is true. Defaults to `true`.
*/
public $autoLoadBsPlugin = true;
@@ -302,7 +336,7 @@ class TreeView extends Widget
public $parentNodeIconOptions = ['class' => 'text-warning'];
/**
- * @var bool allow new root creation.
+ * @var boolean allow new root creation.
*/
public $allowNewRoots = true;
@@ -312,10 +346,9 @@ class TreeView extends Widget
public $clientMessages = [];
/**
- * @var array the HTML attributes for the topmost root node container. The following special options are
- * recognized:
- * - label: string, the label for the topmost root node (this is not HTML encoded). Defaults to 'Root'. Set this to
- * empty to not display a label.
+ * @var array the HTML attributes for the topmost root node container. The following special options are recognized:
+ * - `label`: _string_, the label for the topmost root node (this is not HTML encoded). Defaults to 'Root'. Set this
+ * to empty to not display a label.
*/
public $rootOptions = ['class' => 'text-primary'];
@@ -341,37 +374,37 @@ class TreeView extends Widget
/**
* @var array the HTML attributes for the indicator for expanding a node. The following special options are
- * recognized:
- * - 'label': string, the label for the indicator. If not set will default to:
- * - `` if `fontAwesome` is true
- * - `` if `fontAwesome` is false
+ * recognized:
+ * - `label`: _string_, the label for the indicator. If not set will default to:
+ * - `` if [[fontAwesome]] is `true`.
+ * - `` if [[fontAwesome]] is `false`.
*/
public $expandNodeOptions = [];
/**
* @var array the HTML attributes for the indicator for collapsing a node. The following special options are
- * recognized:
- * - 'label': string, the label for the indicator. If not set will default to:
- * - `` if `fontAwesome` is true
- * - `` if `fontAwesome` is false
+ * recognized:
+ * - `label`: _string_, the label for the indicator. If not set will default to:
+ * - `` if [[fontAwesome]] is `true`.
+ * - `` if [[fontAwesome]] is `false`.
*/
public $collapseNodeOptions = [];
/**
* @var array the HTML attributes for the indicator which will represent a checked checkbox. The following special
- * options are recognized:
- * - 'label': string, the label for the indicator. If not set will default to:
- * - `` if `fontAwesome` is true
- * - `` if `fontAwesome` is false
+ * options are recognized:
+ * - `label`: _string_, the label for the indicator. If not set will default to:
+ * - `` if [[fontAwesome]] is `true`.
+ * - `` if [[fontAwesome]] is `false`.
*/
public $checkedNodeOptions = [];
/**
* @var array the HTML attributes for the indicator which will represent an unchecked checkbox. The
* following special options are recognized:
- * - 'label': string, the label for the indicator. If not set will default to:
- * - `` if `fontAwesome` is true
- * - `` if `fontAwesome` is false
+ * - `label`: _string_, the label for the indicator. If not set will default to:
+ * - `` if [[fontAwesome]] is `true`.
+ * - `` if [[fontAwesome]] is `false`.
*/
public $uncheckedNodeOptions = [];
@@ -382,7 +415,7 @@ class TreeView extends Widget
/**
* @var array the HTML attributes for the heading. The following additional option is recognized:
- * `label`: the label to display for the heading
+ * `label`: _string_, the label to display for the heading
*/
public $headingOptions = ['class' => 'kv-tree-heading'];
@@ -427,7 +460,17 @@ class TreeView extends Widget
public $options = [];
/**
- * @var string the main template for rendering the tree view navigation widget and the node detail view form.
+ * @var array configuration settings for the Krajee dialog widget that will be used to render alerts and
+ * confirmation dialog prompts
+ * @see http://demos.krajee.com/dialog
+ */
+ public $krajeeDialogSettings = [];
+
+ /**
+ * @var string the main template for rendering the tree view navigation widget and the node detail view form. The
+ * following tokens will be automatically parsed and replaced:
+ * - `{wrapper}`: will be replaced with the output markup parsed from [[wrapperTemplate]]
+ * - `{detail}`: will be replaced with the the markup for the detail form to edit/view the selected tree node
*/
public $mainTemplate = <<< HTML
@@ -440,11 +483,6 @@ class TreeView extends Widget
HTML;
- /**
- * @var string the wrapper template for rendering the tree view navigation widget
- */
- public $wrapperTemplate = "{header}\n{tree}{footer}";
-
/**
* @var string the template for rendering the header
*/
@@ -460,7 +498,18 @@ class TreeView extends Widget
HTML;
/**
- * @var string the template for rendering the footer
+ * @var string the wrapper template for rendering the tree view navigation widget. The following tokens will be
+ * automatically parsed and replaced:
+ * - `{header}`: will be replaced with the output markup parsed from [[headerTemplate]].
+ * - `{tree}`: will be replaced with the markup for the tree hierarchy.
+ * - `{footer}`: will be replaced with the output markup parsed from [[footerTemplate]].
+ */
+ public $wrapperTemplate = "{header}\n{tree}{footer}";
+
+ /**
+ * @var string the template for rendering the footer. The following tokens will be automatically parsed and
+ * replaced:
+ * - `{toolbar}`: will be replaced with the the markup for the button actions toolbar.
*/
public $footerTemplate = "{toolbar}";
@@ -485,7 +534,7 @@ class TreeView extends Widget
protected $_nodes = [];
/**
- * @var bool whether to load the bootstrap plugin asset
+ * @var boolean whether to load the bootstrap plugin asset
*/
protected $_hasBootstrap = false;
@@ -838,8 +887,8 @@ protected function getNodeIcon($type)
*
* @param string $icon the current node's icon
* @param int $iconType the current node's icon type, must be one of:
- * - `TreeView::ICON_CSS` or `1`: if the icon css class suffix name is stored in $icon.
- * - `TreeView::ICON_RAW` or `2`: if the raw icon markup is stored in $icon.
+ * - `TreeView::ICON_CSS` or `1`: if the icon css class suffix name is stored in $icon.
+ * - `TreeView::ICON_RAW` or `2`: if the raw icon markup is stored in $icon.
* @param bool $child whether child or parent
*
* @return string
@@ -1160,6 +1209,7 @@ public function renderTree()
'data-removable' => static::parseBool($node->isRemovable()),
'data-removable-all' => static::parseBool($node->isRemovableAll()),
];
+
if (!$isChild) {
$css = ' kv-parent ';
}
@@ -1242,6 +1292,7 @@ public function renderDetail()
'isAdmin' => $this->isAdmin,
'iconsList' => $this->_iconsList,
'softDelete' => $this->softDelete,
+ 'allowNewRoots' => $this->allowNewRoots,
'showFormButtons' => $this->showFormButtons,
'showIDAttribute' => $this->showIDAttribute,
'nodeView' => $this->nodeView,
@@ -1291,7 +1342,9 @@ public function registerAssets()
if ($this->_hasBootstrap && $this->autoLoadBsPlugin) {
BootstrapPluginAsset::register($view);
}
+ Dialog::widget($this->krajeeDialogSettings);
$this->pluginOptions += [
+ 'dialogLib' => ArrayHelper::getValue($this->krajeeDialogSettings, 'libName', 'krajeeDialog'),
'treeId' => $this->treeOptions['id'],
'detailId' => $this->detailOptions['id'],
'toolbarId' => $this->toolbarOptions['id'],
diff --git a/TreeViewAsset.php b/TreeViewAsset.php
index 32e5ef2..ec0536d 100755
--- a/TreeViewAsset.php
+++ b/TreeViewAsset.php
@@ -1,7 +1,7 @@
'form-control hide'];
@@ -92,7 +89,7 @@ class TreeViewInput extends TreeView
private $_placeholder;
/**
- * @var bool whether the input is disabled
+ * @var boolean whether the input is disabled
*/
private $_disabled;
diff --git a/TreeViewInputAsset.php b/TreeViewInputAsset.php
index cfb3ee6..5d7b7fa 100755
--- a/TreeViewInputAsset.php
+++ b/TreeViewInputAsset.php
@@ -1,7 +1,7 @@
.kv-tree-list .kv-node-checkbox,.kv-tree-input-widget .kv-disabled>.kv-tree-list .kv-node-detail{cursor:not-allowed}.kv-tree-dropdown{padding:0}.kv-tree-dropdown-container .form-control .caret{float:right;margin-top:8px}.kv-placeholder{color:#999}.kv-tree-input,.kv-tree-input.form-control{height:auto}.kv-tree-input.disabled{cursor:not-allowed;background-color:#eee}.kv-tree-input.has-multi{padding:3px 8px 5px}.kv-tree-input-values{margin:0;padding:0;overflow:hidden;cursor:text;white-space:nowrap}.kv-tree-input-values li{float:left;list-style:none;padding:2px 5px;margin:3px 3px 0 0;position:relative;background:#f9f9f9;border:1px solid #ddd;border-radius:3px;color:#555;font-size:12px}.kv-tree-input-values li:focus,.kv-tree-input-values li:hover{background:#ebebeb;border-color:#adadad;color:#333}.kv-tree-dropdown{width:100%}.kv-tree-dropdown .kv-header-container,.kv-tree-dropdown .kv-tree-wrapper.form-control{border:none}.kv-single-select .kv-node-checkbox,.kv-single-select .kv-root-node-checkbox{display:none}.kv-single-select .kv-node-indicators{padding-right:2px;margin-right:2px}.has-multi .kv-tree-input-values{margin-right:20px}.kv-carets{float:right;cursor:pointer}.kv-tree-input.disabled .kv-carets,.kv-tree-input.disabled .kv-tree-input-values{cursor:not-allowed}.has-multi .kv-carets{padding:4px 4px 0 0}.kv-up{border-top:none;border-bottom:4px solid}.kv-tree-dropdown-container .kv-up,.kv-tree-dropdown-container.open .kv-dn{display:none}.kv-tree-dropdown-container .kv-dn,.kv-tree-dropdown-container.open .kv-up{display:inline-block}
\ No newline at end of file
diff --git a/assets/css/kv-tree.css b/assets/css/kv-tree.css
index 49e476a..4a887d4 100755
--- a/assets/css/kv-tree.css
+++ b/assets/css/kv-tree.css
@@ -1,12 +1,12 @@
/*!
- * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2016
+ * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2017
* @package yii2-tree-manager
* @version 1.0.6
*
* Tree View Style Sheet
*
* Author: Kartik Visweswaran
- * Copyright: 2015 - 2016, Kartik Visweswaran, Krajee.com
+ * Copyright: 2015 - 2017, Kartik Visweswaran, Krajee.com
* For more JQuery plugins visit http://plugins.krajee.com
* For more Yii related demos visit http://demos.krajee.com
*/
diff --git a/assets/css/kv-tree.min.css b/assets/css/kv-tree.min.css
index e7a5fbf..d40886c 100755
--- a/assets/css/kv-tree.min.css
+++ b/assets/css/kv-tree.min.css
@@ -1,12 +1,12 @@
/*!
- * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2016
+ * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2017
* @package yii2-tree-manager
* @version 1.0.6
*
* Tree View Style Sheet
*
* Author: Kartik Visweswaran
- * Copyright: 2015 - 2016, Kartik Visweswaran, Krajee.com
+ * Copyright: 2015 - 2017, Kartik Visweswaran, Krajee.com
* For more JQuery plugins visit http://plugins.krajee.com
* For more Yii related demos visit http://demos.krajee.com
*/.kv-search-container,.kv-tree-list{position:relative}.kv-node-message,.kv-toolbar-container{text-align:center}.kv-tree-wrapper,.kv-tree-wrapper.form-control{height:auto;padding:0}.kv-tree-container{overflow:auto;padding:0 5px 5px;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.kv-tree-root{display:inline-block;background-color:#fff;margin-top:10px;padding:0 5px}.kv-heading-container{margin:4px 6px;font-weight:700;font-size:1.1em}.kv-footer-container,.kv-header-container{padding:5px}.kv-detail-container{overflow:auto;min-height:150px;padding:0 20px 5px;border-radius:5px;border:1px solid #ddd}.kv-detail-container>.alert{margin-top:50px}.kv-detail-heading{margin:0 -20px 15px;padding:5px 5px 5px 15px;border-radius:4px 4px 0 0;border-bottom:1px solid #ddd;background-color:#f5f5f5}.kv-detail-heading .btn{margin-left:1px}.kv-detail-crumbs{font-size:18px;color:#aaa;padding-top:6px;text-shadow:0 1px 0 #fff}.kv-detail-crumbs .kv-crumb-active{color:#777;font-weight:700}.kv-tree-list{margin:0;background:#fff;top:1em;width:100%;cursor:default}.kv-node-detail:hover{background-color:#e8e8e8;cursor:default}.kv-node-indicators{float:left;background-color:#fff}.kv-node-indicators .kv-node-toggle{margin-right:5px;cursor:pointer}.kv-has-checkbox .kv-node-toggle{margin-right:0;cursor:pointer}.kv-root-node-toggle{margin-right:5px;font-style:normal;cursor:pointer}.kv-tree-container .kv-node-unchecked{display:inline}.kv-tree-container .kv-node-checked{display:none}.kv-has-checkbox .kv-selected>.kv-tree-list .kv-node-detail{background-color:#d9edf7}.kv-has-checkbox .kv-selected>.kv-tree-list .kv-node-checked,.kv-has-checkbox.kv-selected>.kv-tree-root .kv-node-checked{display:inline}.kv-has-checkbox .kv-selected>.kv-tree-list .kv-node-unchecked,.kv-has-checkbox.kv-selected>.kv-tree-root .kv-node-unchecked{display:none}.kv-root-node-checkbox{font-style:normal;margin-right:5px;cursor:pointer}.kv-node-checkbox{margin-right:5px;cursor:pointer}.kv-tree li,.kv-tree ul,ul.kv-tree{list-style:none;margin:0;padding:0}.kv-tree ul,ul.kv-tree{padding-left:.73em}.kv-tree li{padding-left:.75em;border:dotted #333;border-width:0 0 1px 1px;line-height:25px}.kv-tree li ul{border-top:1px dotted #333;margin-left:-.75em;padding-left:1.4em}.kv-parent ul li:last-child>ul,.kv-tree>li:last-child>ul{box-shadow:-5px 0 0 #fff}.kv-parent ul li:last-child ul,.kv-tree>li:last-child ul{margin-bottom:-.75em;padding-bottom:.75em}.kv-tree li.kv-parent{border-bottom:1px solid #fff}.kv-tree-container .kv-node-collapse{display:inline}.kv-tree-container .kv-collapsed .kv-node-collapse,.kv-tree-container .kv-collapsed>ul>li,.kv-tree-container .kv-node-expand,.kv-tree-container.kv-collapsed .kv-tree-root .kv-node-collapse{display:none}.kv-tree-container .kv-collapsed .kv-node-expand,.kv-tree-container.kv-collapsed .kv-tree-root .kv-node-expand{display:inline}.kv-icon-05{font-size:1.05em}.kv-icon-10{font-size:1.1em}.kv-icon-15{font-size:1.15em}.kv-icon-20{font-size:1.2em}.kv-highlight{color:#8a6d3b;background-color:#fcf8e3;padding:1px}.kv-loading-search{background:url(../img/loading-search.gif)center center no-repeat #fff}.kv-loading-search .kv-tree{opacity:.45;cursor:wait}.kv-loading{background:url(../img/loading.gif)center center no-repeat #fff;min-height:150px;cursor:wait}.kv-search-input{padding-right:30px}.kv-search-container .kv-search-clear{position:absolute;padding:10px;right:0}.kv-search-sm .kv-search-clear{font-size:1.4em;padding:6px 9px}.kv-tree-container .kv-tree{margin-top:-10px!important}li.kv-inactive>.kv-tree-list .kv-node-label{color:#a94442;text-decoration:line-through}li.kv-disabled>.kv-tree-list .kv-node-checkbox,li.kv-disabled>.kv-tree-list .kv-node-icon,li.kv-disabled>.kv-tree-list .kv-node-label{opacity:.45;filter:alpha(opacity=45)}.kv-tree-root.kv-disabled>.kv-root-node-checkbox,li.kv-disabled>.kv-tree-list .kv-node-checkbox{cursor:not-allowed}li.kv-empty{font-style:italic;color:#777;border-color:#777}li.kv-invisible>.kv-tree-list .kv-node-label{font-style:italic;border-top:1px dotted;border-bottom:1px dotted}.kv-tree-nofooter{border-bottom:none}.kv-focussed,.kv-node-detail:focus{background-color:#f5f5f5}.kv-node-message{padding:60px 0;color:#999;font-size:1.4em}.kv-node-toggle,.kv-parent>.kv-tree-list>.kv-node-detail>.kv-node-icon.kv-icon-child,.kv-tree-container .kv-icon-parent,.kv-tree-container .kv-node-closed,.kv-tree-container .kv-node-opened{display:none}.kv-parent>.kv-tree-list>.kv-node-detail>.kv-node-icon .kv-node-opened,.kv-parent>.kv-tree-list>.kv-node-detail>.kv-node-icon.kv-icon-parent{display:inline}.kv-collapsed>.kv-tree-list>.kv-node-detail>.kv-node-icon .kv-node-opened{display:none}.kv-collapsed>.kv-tree-list>.kv-node-detail>.kv-node-icon .kv-node-closed,.kv-parent>.kv-tree-list>.kv-node-indicators>.kv-node-toggle{display:inline}@media (max-width:768px){.kv-detail-container{margin-top:20px}}
\ No newline at end of file
diff --git a/assets/js/kv-tree-input.js b/assets/js/kv-tree-input.js
index 97f15ab..34a7529 100755
--- a/assets/js/kv-tree-input.js
+++ b/assets/js/kv-tree-input.js
@@ -1,12 +1,12 @@
/*!
- * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2016
+ * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2017
* @package yii2-tree-manager
* @version 1.0.6
*
* Tree View Input Widget Management Script
*
* Author: Kartik Visweswaran
- * Copyright: 2015 - 2016, Kartik Visweswaran, Krajee.com
+ * Copyright: 2015 - 2017, Kartik Visweswaran, Krajee.com
* For more JQuery plugins visit http://plugins.krajee.com
* For more Yii related demos visit http://demos.krajee.com
*/
diff --git a/assets/js/kv-tree-input.min.js b/assets/js/kv-tree-input.min.js
index f6c5d81..307d20f 100755
--- a/assets/js/kv-tree-input.min.js
+++ b/assets/js/kv-tree-input.min.js
@@ -1,12 +1,12 @@
/*!
- * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2016
+ * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2017
* @package yii2-tree-manager
* @version 1.0.6
*
* Tree View Input Widget Validation Module.
*
* Author: Kartik Visweswaran
- * Copyright: 2015 - 2016, Kartik Visweswaran, Krajee.com
+ * Copyright: 2015 - 2017, Kartik Visweswaran, Krajee.com
* For more JQuery plugins visit http://plugins.krajee.com
* For more Yii related demos visit http://demos.krajee.com
*/!function(t){"use strict";var e,n;e=function(e,n){return null===e||void 0===e||0===e.length||n&&""===t.trim(e)},n=function(e,n){var i=this;i.$element=t(e),i.init(n),i.listen()},n.prototype={constructor:n,init:function(n){var i,r,l,o,u=this,a=[];if(t.each(n,function(t,e){u[t]=e}),u.$tree=t("#"+u.treeId),u.$input=t("#"+u.inputId),u.$dropdown=t("#"+u.dropdownId),e(u.placeholder)&&(u.placeholder=" "),e(u.value))return void u.$input.html(u.caret+u.placeholder);for(o=u.value.toString().split(","),i=0;i.kv-tree-list .kv-node-label").text(),a.push(l);u.setInput(a)},setInput:function(t){var n=this,i="";n.$input.removeClass("has-multi"),e(t)||e(t[0])?i=n.placeholder:1===t.length?i=t[0]:(i='',n.$input.addClass("has-multi")),n.$input.html(n.caret+i)},listen:function(){var t=this;t.$dropdown.on("click",function(t){t.stopPropagation()}),t.$element.on("treeview.change",function(e,n,i){t.setInput(i.split(",")),t.autoCloseOnSelect&&t.$input.closest(".kv-tree-dropdown-container").removeClass("open")})}},t.fn.treeinput=function(e){var i,r,l,o=Array.apply(null,arguments);return o.shift(),this.each(function(){i=t(this),r=i.data("treeinput"),l="object"==typeof e&&e,r||(r=new n(this,t.extend({},t.fn.treeinput.defaults,l,t(this).data())),i.data("treeinput",r)),"string"==typeof e&&r[e].apply(r,o)})},t.fn.treeinput.defaults={treeId:"",inputId:"",dropdownId:"",placeholder:"",value:"",caret:"",autoCloseOnSelect:!0},t.fn.treeinput.Constructor=n}(window.jQuery);
\ No newline at end of file
diff --git a/assets/js/kv-tree.js b/assets/js/kv-tree.js
index fc8e93b..9b1fa22 100755
--- a/assets/js/kv-tree.js
+++ b/assets/js/kv-tree.js
@@ -1,12 +1,12 @@
/*!
- * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2016
+ * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2017
* @package yii2-tree-manager
* @version 1.0.6
*
* Tree View Validation Module.
*
* Author: Kartik Visweswaran
- * Copyright: 2015 - 2016, Kartik Visweswaran, Krajee.com
+ * Copyright: 2015 - 2017, Kartik Visweswaran, Krajee.com
* For more JQuery plugins visit http://plugins.krajee.com
* For more Yii related demos visit http://demos.krajee.com
*/
@@ -78,10 +78,11 @@
TreeView.prototype = {
constructor: TreeView,
init: function (options) {
- var self = this;
+ var self = this, $form;
$.each(options, function (key, data) {
self[key] = data;
});
+ self.dialogLib = window[self.dialogLib] || '';
self.btns = $.extend({}, defaultBtns, self.btns);
self.$tree = $('#' + self.treeId);
self.$treeContainer = self.$tree.parent();
@@ -91,6 +92,10 @@
self.$searchContainer = self.$wrapper.find('.kv-search-container');
self.$search = self.$wrapper.find('.kv-search-input');
self.$clear = self.$wrapper.find('.kv-search-clear');
+ $form = self.$detail.find('form');
+ self.treeManageHash = $form.find('input[name="treeManageHash"]').val();
+ self.treeRemoveHash = $form.find('input[name="treeRemoveHash"]').val();
+ self.treeMoveHash = $form.find('input[name="treeMoveHash"]').val();
self.select(self.$element.data('key'), true);
kvTreeCache.timeout = self.cacheTimeout;
self.selectNodes();
@@ -189,7 +194,9 @@
'nodeView': self.nodeView,
'nodeAddlViews': self.nodeAddlViews,
'nodeSelected': self.nodeSelected,
- 'breadcrumbs': self.breadcrumbs
+ 'breadcrumbs': self.breadcrumbs,
+ 'allowNewRoots': self.allowNewRoots,
+ 'treeManageHash': self.treeManageHash
},
url: vUrl,
cache: true,
@@ -202,10 +209,14 @@
addCss($detail, 'kv-loading');
},
success: function (data, textStatus, jqXHR) {
- var ev = data.status === 'error' ? 'treeview.selecterror' : 'treeview.selected';
- $detail.html(data.out);
+ var isError = data.status === 'error', ev = isError ? 'treeview.selecterror' : 'treeview.selected';
self.raise(ev, [key, data, textStatus, jqXHR]);
$detail.removeClass('kv-loading');
+ if (isError) {
+ $detail.html('' + data.out + '
');
+ return;
+ }
+ $detail.html(data.out);
// form reset
$detail.find('button[type="reset"]').on('click', function () {
self.removeAlert();
@@ -288,87 +299,92 @@
var self = this, $nodeText = self.$tree.find('li .kv-node-detail.kv-focussed'),
$node = $nodeText.closest('li'), msg = self.messages, $detail = self.$detail,
$form = $detail.find('form'), $alert, clearNode;
- if ($nodeText.length === 0 && !$node.hasClass('kv-empty') || $node.hasClass(
- 'kv-disabled') || !window.confirm(msg.removeNode)) {
+ if ($nodeText.length === 0 && !$node.hasClass('kv-empty') || $node.hasClass('kv-disabled')) {
return;
}
- clearNode = function (isEmpty) {
- var m = isEmpty ? msg.emptyNodeRemoved : msg.nodeRemoved,
- $parent = $node.closest('li.kv-parent');
- $node.remove();
- $alert = $detail.find('.alert');
- self.formViewBegin = false;
- $detail.find('.kv-select-node-msg').remove();
- if ($alert.length) {
- $detail.before($alert).html('').append($alert);
+ self.dialogLib.confirm(msg.removeNode, function (result) {
+ if (!result) {
+ return;
}
- if (!$parent.find('li').length) {
- $parent.removeClass('kv-parent');
+ clearNode = function (isEmpty) {
+ var m = isEmpty ? msg.emptyNodeRemoved : msg.nodeRemoved,
+ $parent = $node.closest('li.kv-parent');
+ $node.remove();
+ $alert = $detail.find('.alert');
+ self.formViewBegin = false;
+ $detail.find('.kv-select-node-msg').remove();
+ if ($alert.length) {
+ $detail.before($alert).html('').append($alert);
+ }
+ if (!$parent.find('li').length) {
+ $parent.removeClass('kv-parent');
+ }
+ self.showAlert(m, 'info', function () {
+ $detail.append(
+ '' + msg.selectNode + '
');
+ setTimeout(function () {
+ if (!self.formViewBegin) {
+ $detail.find('.kv-select-node-msg').fadeIn(self.alertFadeDuration);
+ }
+ }, self.alertFadeDuration);
+ });
+ };
+ if ($node.hasClass('kv-empty')) {
+ clearNode(true);
+ return;
}
- self.showAlert(m, 'info', function () {
- $detail.append(
- '' + msg.selectNode + '
');
- setTimeout(function () {
- if (!self.formViewBegin) {
- $detail.find('.kv-select-node-msg').fadeIn(self.alertFadeDuration);
- }
- }, self.alertFadeDuration);
- });
- };
- if ($node.hasClass('kv-empty')) {
- clearNode(true);
- return;
- }
- var key = $node.data('key');
- $.ajax({
- type: 'post',
- dataType: 'json',
- data: {
- 'id': key,
- 'class': self.modelClass,
- 'softDelete': self.softDelete
- },
- url: self.actions.remove,
- beforeSend: function (jqXHR, settings) {
- self.raise('treeview.beforeremove', [key, jqXHR, settings]);
- $form.hide();
- self.removeAlert();
- addCss($detail, 'kv-loading');
- },
- success: function (data, textStatus, jqXHR) {
- if (data.status === 'success') {
- if ((self.isAdmin || self.showInactive) && self.softDelete) {
- self.showAlert(data.out, 'info');
- $form.show();
- var fld = self.modelClass.split('\\').pop(),
- $cbx = $form.find('input[name="' + fld + '[active]"]');
- $cbx.val(false);
- $cbx.prop('checked', false);
- addCss($node, 'kv-inactive');
- if ($node.data('removableAll')) {
- addCss($node.find('li'), 'kv-inactive');
+ var key = $node.data('key');
+ $.ajax({
+ type: 'post',
+ dataType: 'json',
+ data: {
+ 'id': key,
+ 'modelClass': self.modelClass,
+ 'softDelete': self.softDelete,
+ 'treeRemoveHash': self.treeRemoveHash
+ },
+ url: self.actions.remove,
+ beforeSend: function (jqXHR, settings) {
+ self.raise('treeview.beforeremove', [key, jqXHR, settings]);
+ $form.hide();
+ self.removeAlert();
+ addCss($detail, 'kv-loading');
+ },
+ success: function (data, textStatus, jqXHR) {
+ if (data.status === 'success') {
+ if ((self.isAdmin || self.showInactive) && self.softDelete) {
+ self.showAlert(data.out, 'info');
+ $form.show();
+ var fld = self.modelClass.split('\\').pop(),
+ $cbx = $form.find('input[name="' + fld + '[active]"]');
+ $cbx.val(false);
+ $cbx.prop('checked', false);
+ addCss($node, 'kv-inactive');
+ if ($node.data('removableAll')) {
+ addCss($node.find('li'), 'kv-inactive');
+ }
+ addCss($node, 'kv-inactive');
+ } else {
+ clearNode();
+ }
+ if (!self.softDelete) {
+ self.disableToolbar();
}
- addCss($node, 'kv-inactive');
+ self.raise('treeview.remove', [key, data, textStatus, jqXHR]);
} else {
- clearNode();
- }
- if (!self.softDelete) {
- self.disableToolbar();
+ self.showAlert(data.out, 'danger');
+ $form.show();
+ self.raise('treeview.removeerror', [key, data, textStatus, jqXHR]);
}
- self.raise('treeview.remove', [key, data, textStatus, jqXHR]);
- } else {
- self.showAlert(data.out, 'danger');
- $form.show();
- self.raise('treeview.removeerror', [key, data, textStatus, jqXHR]);
+ $detail.removeClass('kv-loading');
+ },
+ error: function (jqXHR, textStatus, errorThrown) {
+ self.raise('treeview.removeajaxerror', [key, jqXHR, textStatus, errorThrown]);
+ },
+ complete: function (jqXHR) {
+ self.raise('treeview.removeajaxcomplete', [jqXHR]);
}
- $detail.removeClass('kv-loading');
- },
- error: function (jqXHR, textStatus, errorThrown) {
- self.raise('treeview.removeajaxerror', [key, jqXHR, textStatus, errorThrown]);
- },
- complete: function (jqXHR) {
- self.raise('treeview.removeajaxcomplete', [jqXHR]);
- }
+ });
});
},
move: function (dir) {
@@ -380,14 +396,14 @@
return;
}
if ($nodeFrom.hasClass('kv-empty')) {
- window.alert(msg.nodeNewMove);
+ self.dialogLib.alert(msg.nodeNewMove);
return;
}
switch (dir) {
case 'u':
$nodeTo = $nodeFrom.prev();
if ($nodeTo.length === 0) {
- window.alert(msg.nodeTop);
+ self.dialogLib.alert(msg.nodeTop);
return;
}
fnMove = function () {
@@ -397,7 +413,7 @@
case 'd':
$nodeTo = $nodeFrom.next();
if ($nodeTo.length === 0) {
- window.alert(msg.nodeBottom);
+ self.dialogLib.alert(msg.nodeBottom);
return;
}
fnMove = function () {
@@ -407,7 +423,7 @@
case 'l':
$nodeTo = $nodeFrom.parent('ul').closest('li.kv-parent');
if ($nodeTo.length === 0) {
- window.alert(msg.nodeLeft);
+ self.dialogLib.alert(msg.nodeLeft);
return;
}
$parent = $nodeTo.parent('ul');
@@ -426,7 +442,7 @@
case 'r':
$nodeTo = $nodeFrom.prev();
if ($nodeTo.length === 0) {
- window.alert(msg.nodeRight);
+ self.dialogLib.alert(msg.nodeRight);
return;
}
fnMove = function () {
@@ -449,9 +465,10 @@
data: {
'idFrom': keyFrom,
'idTo': keyTo,
- 'class': self.modelClass,
+ 'modelClass': self.modelClass,
'dir': dir,
- 'allowNewRoots': self.allowNewRoots
+ 'allowNewRoots': self.allowNewRoots,
+ 'treeMoveHash': self.treeMoveHash
},
url: self.actions.move,
beforeSend: function (jqXHR, settings) {
@@ -529,11 +546,11 @@
var self = this, $nodeText = self.$tree.find('li .kv-node-detail.kv-focussed'), $n, key,
$node = $nodeText.closest('li'), msg = self.messages, content, $nodeDetail, $newNode;
if ($node.hasClass('kv-disabled')) {
- window.alert(msg.nodeDisabled);
+ self.dialogLib.alert(msg.nodeDisabled);
return;
}
if ($nodeText.length === 0 || $node.hasClass('kv-empty')) {
- window.alert(msg.invalidCreateNode);
+ self.dialogLib.alert(msg.invalidCreateNode);
return;
}
self.$toolbar.find('.kv-' + self.btns.trash).removeAttr('disabled');
@@ -553,6 +570,7 @@
$nodeText.removeClass('kv-focussed');
$newNode.append(content);
if ($node.hasClass('kv-parent')) {
+ //noinspection JSValidateTypes
$node.children('ul').append($newNode);
} else {
addCss($node, 'kv-parent');
diff --git a/assets/js/kv-tree.min.js b/assets/js/kv-tree.min.js
index 30785b9..50c8c0c 100755
--- a/assets/js/kv-tree.min.js
+++ b/assets/js/kv-tree.min.js
@@ -1,12 +1,12 @@
/*!
- * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2016
+ * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2015 - 2017
* @package yii2-tree-manager
* @version 1.0.6
*
* Tree View Validation Module.
*
* Author: Kartik Visweswaran
- * Copyright: 2015 - 2016, Kartik Visweswaran, Krajee.com
+ * Copyright: 2015 - 2017, Kartik Visweswaran, Krajee.com
* For more JQuery plugins visit http://plugins.krajee.com
* For more Yii related demos visit http://demos.krajee.com
- */!function(e){"use strict";var t="kvtree",a={create:"create",createR:"create-root",trash:"remove",moveU:"move-up",moveD:"move-down",moveL:"move-left",moveR:"move-right",refresh:"refresh"},o=function(t,a){return null===t||void 0===t||0===t.length||a&&""===e.trim(t)},n=function(e){return e.replace(/[\-\[\]\/\{}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},i=function(e,t){e.removeClass(t).addClass(t)},r=function(e){return e.split("").reduce(function(e,t){return e=(e<<5)-e+t.charCodeAt(0),e&e},0)},s=function(){var e=0;return function(t,a){clearTimeout(e),e=setTimeout(t,a)}}(),l={timeout:3e5,data:{},remove:function(e){delete l.data[e]},exist:function(e){return!!l.data[e]&&(new Date).getTime()-l.data[e]._1?t.$element.trigger(e,arguments[1]):t.$element.trigger(e)},enableToolbar:function(){var e=this;e.$toolbar.find("button").removeAttr("disabled")},disableToolbar:function(){var e=this;e.$toolbar.find("button").attr("disabled",!0),e.$toolbar.find(".kv-"+e.btns.createR).removeAttr("disabled")},enable:function(e){var t=this;t.$toolbar.find(".kv-"+t.btns[e]).removeAttr("disabled")},disable:function(e){var t=this;t.$toolbar.find(".kv-"+t.btns[e]).attr("disabled",!0)},showAlert:function(e,t,a){var o=this,n=o.$detail,i=n.find(".alert-"+t);n.find(".kv-select-node-msg").remove(),i.removeClass("hide").hide().find("div").remove(),i.append(""+e+"
").fadeIn(o.alertFadeDuration,function(){o.trigAlert(i,a)})},removeAlert:function(){var e=this;e.$detail.find(".alert").addClass("hide")},renderForm:function(a,n,s){var l=this,d=l.$detail,c=n||"",v=s||!1,f=r(a+l.modelClass+l.isAdmin+c),u=d.find("form"),h=l.actions.manage,m=h&&-1!==h.indexOf("?")?"&":"?";h+=encodeURI(m+t+"="+f),l.formViewBegin=!0,l.parseCache(),l.removeAlert(),e.ajax({type:"post",dataType:"json",data:{id:a,modelClass:l.modelClass,isAdmin:l.isAdmin,formAction:l.formAction,formOptions:l.formOptions,parentKey:c,iconsList:l.iconsList,currUrl:l.currUrl,softDelete:l.softDelete,showFormButtons:l.showFormButtons,showIDAttribute:l.showIDAttribute,multiple:l.multiple,nodeView:l.nodeView,nodeAddlViews:l.nodeAddlViews,nodeSelected:l.nodeSelected,breadcrumbs:l.breadcrumbs},url:h,cache:!0,beforeSend:function(e,t){l.raise("treeview.beforeselect",[a,e,t]),u.length&&u.off().yiiActiveForm("destroy").remove(),d.html(""),i(d,"kv-loading")},success:function(e,t,n){var i="error"===e.status?"treeview.selecterror":"treeview.selected";d.html(e.out),l.raise(i,[a,e,t,n]),d.removeClass("kv-loading"),d.find('button[type="reset"]').on("click",function(){l.removeAlert()}),l.removeAlert(),v===!1||o(v.out)||l.showAlert(v.out,v.type)},error:function(e,t,o){l.raise("treeview.selectajaxerror",[a,e,t,o])},complete:function(e){l.raise("treeview.selectajaxcomplete",[a,e]),l.validateTooltips()}})},select:function(t,a,n){if(!o(t)){var r,s=this,l=a||!1,d=n||!1,c=s.$tree.find('li[data-key="'+t+'"]>.kv-tree-list .kv-node-detail');0!==c.length&&(s.$tree.find(".kv-node-detail").removeClass("kv-focussed"),i(c,"kv-focussed"),l?s.$tree.find("li.kv-parent").each(function(){var t=e(this);t.has(c).length>0&&t.removeClass("kv-collapsed")}):s.renderForm(t,null,d),r=c.closest("li"),r.hasClass("kv-disabled")?s.disableToolbar():s.enableToolbar(),(!r.data("removable")||r.hasClass("kv-inactive")&&s.softDelete||!r.data("removableAll")&&r.hasClass("kv-parent"))&&s.disable("trash"),r.data("movable-u")||s.disable("moveU"),r.data("movable-d")||s.disable("moveD"),r.data("movable-l")||s.disable("moveL"),r.data("movable-r")||s.disable("moveR"),s.parseParentFlag(t))}},parseParentFlag:function(t){var a,o=this,n=o.$detail.find('input[class="kv-parent-flag"]'),i=o.$tree.find('li[data-key="'+t+'"]');n.each(function(){var t=e(this);a=t.closest("div.checkbox"),a.removeClass("disabled"),i.hasClass("kv-parent")?t.removeAttr("disabled"):(t.attr("disabled","disabled"),a.addClass("disabled"))})},remove:function(){var t,a,o=this,n=o.$tree.find("li .kv-node-detail.kv-focussed"),r=n.closest("li"),s=o.messages,l=o.$detail,d=l.find("form");if((0!==n.length||r.hasClass("kv-empty"))&&!r.hasClass("kv-disabled")&&window.confirm(s.removeNode)){if(a=function(e){var a=e?s.emptyNodeRemoved:s.nodeRemoved,n=r.closest("li.kv-parent");r.remove(),t=l.find(".alert"),o.formViewBegin=!1,l.find(".kv-select-node-msg").remove(),t.length&&l.before(t).html("").append(t),n.find("li").length||n.removeClass("kv-parent"),o.showAlert(a,"info",function(){l.append(''+s.selectNode+"
"),setTimeout(function(){o.formViewBegin||l.find(".kv-select-node-msg").fadeIn(o.alertFadeDuration)},o.alertFadeDuration)})},r.hasClass("kv-empty"))return void a(!0);var c=r.data("key");e.ajax({type:"post",dataType:"json",data:{id:c,"class":o.modelClass,softDelete:o.softDelete},url:o.actions.remove,beforeSend:function(e,t){o.raise("treeview.beforeremove",[c,e,t]),d.hide(),o.removeAlert(),i(l,"kv-loading")},success:function(e,t,n){if("success"===e.status){if((o.isAdmin||o.showInactive)&&o.softDelete){o.showAlert(e.out,"info"),d.show();var s=o.modelClass.split("\\").pop(),v=d.find('input[name="'+s+'[active]"]');v.val(!1),v.prop("checked",!1),i(r,"kv-inactive"),r.data("removableAll")&&i(r.find("li"),"kv-inactive"),i(r,"kv-inactive")}else a();o.softDelete||o.disableToolbar(),o.raise("treeview.remove",[c,e,t,n])}else o.showAlert(e.out,"danger"),d.show(),o.raise("treeview.removeerror",[c,e,t,n]);l.removeClass("kv-loading")},error:function(e,t,a){o.raise("treeview.removeajaxerror",[c,e,t,a])},complete:function(e){o.raise("treeview.removeajaxcomplete",[e])}})}},move:function(t){var a,o,n,r,s=this,d=s.$tree.find("li .kv-node-detail.kv-focussed"),c=d.closest("li"),v=s.messages,f=s.$detail,u=null,h=!1,m=function(){};if(0!==d.length&&!c.hasClass("kv-disabled")){if(c.hasClass("kv-empty"))return void window.alert(v.nodeNewMove);switch(t){case"u":if(u=c.prev(),0===u.length)return void window.alert(v.nodeTop);m=function(){u.before(c)};break;case"d":if(u=c.next(),0===u.length)return void window.alert(v.nodeBottom);m=function(){u.after(c)};break;case"l":if(u=c.parent("ul").closest("li.kv-parent"),0===u.length)return void window.alert(v.nodeLeft);r=u.parent("ul"),h=r.hasClass("kv-tree"),h&&(u=r.children("li:last-child")),m=function(){u.after(c),0===u.find("li").length&&(u.removeClass("kv-parent"),u.find("ul").remove())};break;case"r":if(u=c.prev(),0===u.length)return void window.alert(v.nodeRight);m=function(){u.find("li").length>0?u.children("ul").append(c):(i(u,"kv-parent"),e(document.createElement("ul")).appendTo(u).append(c))};break;default:throw"Invalid move direction '"+t+"'"}a=c.data("key"),o=u.data("key"),e.ajax({type:"post",dataType:"json",data:{idFrom:a,idTo:o,"class":s.modelClass,dir:t,allowNewRoots:s.allowNewRoots},url:s.actions.move,beforeSend:function(e,n){s.raise("treeview.beforemove",[t,a,o,e,n]),i(s.$treeContainer,"kv-loading-search")},success:function(i,r,d){f.length>0&&s.removeAlert(),"success"===i.status?(m(),"l"===t||"r"===t?(l.timeout=0,n=f.length>0?{out:i.out,type:"success"}:!1,s.select(a,!1,n),l.timeout=s.cacheTimeout):f.length>0&&s.showAlert(i.out,"success"),s.$tree.find("li.kv-collapsed").each(function(){e(this).has(c).length>0&&e(this).removeClass("kv-collapsed")}),s.raise("treeview.move",[t,a,o,i,r,d])):f.length>0&&(s.showAlert(i.out,"danger"),s.raise("treeview.moveerror",[t,a,o,i,r,d])),s.$treeContainer.removeClass("kv-loading-search")},error:function(e,n,i){f.length>0&&(s.removeAlert(),s.showAlert(i,"danger")),s.$treeContainer.removeClass("kv-loading-search"),s.raise("treeview.moveajaxerror",[t,a,o,e,n,i])},complete:function(e){s.raise("treeview.moveajaxcomplete",[e])}})}},setSelected:function(){var t=this,a="",n="";t.$tree.find(".kv-selected").each(function(){var t=e(this),i=o(a)?"":",";a+=i+t.data("key"),n+=i+t.find(">.kv-tree-list .kv-node-label").text()}),t.$element.val(a),t.raise("treeview.change",[a,n]),t.raise("change")},getNewNode:function(){var e=this;return'\n
\n
\n '+e.messages.emptyNode+"\n
\n
"},create:function(){var t,a,o,n,r,s=this,l=s.$tree.find("li .kv-node-detail.kv-focussed"),d=l.closest("li"),c=s.messages;return d.hasClass("kv-disabled")?void window.alert(c.nodeDisabled):0===l.length||d.hasClass("kv-empty")?void window.alert(c.invalidCreateNode):(s.$toolbar.find(".kv-"+s.btns.trash).removeAttr("disabled"),r=d.find("> ul > li.kv-empty"),r.length>0?(a=r.data("key").replace("empty-",""),s.renderForm(null,a),l.removeClass("kv-focussed"),void i(r.find(".kv-node-detail"),"kv-focussed")):(r=e(document.createElement("li")).attr({"data-key":"empty-"+d.data("key"),"class":"kv-empty"}),o=s.getNewNode(),l.removeClass("kv-focussed"),r.append(o),d.hasClass("kv-parent")?d.children("ul").append(r):(i(d,"kv-parent"),t=e(document.createElement("ul")).append(r),d.append(t)),s.renderForm(null,d.data("key")),n=r.find(".kv-node-detail"),d.removeClass("kv-collapsed"),r.children(".kv-tree-list").focus(),n.on("click",function(){s.$tree.find(".kv-node-detail").removeClass("kv-focussed"),i(n,"kv-focussed"),a=r.data("key").replace("empty-",""),s.renderForm(null,a),s.$toolbar.find(".kv-"+s.btns.trash).removeAttr("disabled")}),void s.raise("treeview.create",[parent])))},createRoot:function(){var t=this,a=t.$tree.find(".kv-tree"),o=a.children("li.kv-empty");if(t.$tree.find(".kv-node-detail").removeClass("kv-focussed"),o.length>0)return i(o.find(".kv-node-detail"),"kv-focussed"),void t.renderForm(null,"root");var n=t.getNewNode(),r=e(document.createElement("li")).attr({"data-key":"empty-root","class":"kv-empty"});r.html(n),a.append(r),t.renderForm(null,"root");var s=r.find(".kv-node-detail");i(s,"kv-focussed"),t.$toolbar.find(".kv-"+t.btns.trash).removeAttr("disabled"),s.on("click",function(){t.$tree.find(".kv-node-detail").removeClass("kv-focussed"),i(s,"kv-focussed"),t.renderForm(null,"root"),t.$toolbar.find(".kv-"+t.btns.trash).removeAttr("disabled")}),t.raise("treeview.createroot")},toggle:function(e){var t=this,a=e.closest("li.kv-parent"),o=a.data("key");a.hasClass("kv-collapsed")?(a.removeClass("kv-collapsed"),t.raise("treeview.expand",[o])):(i(a,"kv-collapsed"),t.raise("treeview.collapse",[o]))},toggleAll:function(e,t){var a=this;return"expand"===e?(a.$tree.removeClass("kv-collapsed"),a.$tree.find(".kv-collapsed").removeClass("kv-collapsed"),void(t&&a.raise("treeview.expandall"))):(i(a.$tree.find("li.kv-parent"),"kv-collapsed"),i(a.$tree,"kv-collapsed"),void(t&&a.raise("treeview.collapseall")))},check:function(e){var t=this,a=e===!0,o=a?t.$tree:e.closest("li"),n=a?"":o.data("key"),r=t.multiple&&0!=t.multiple;if(!(o.hasClass("kv-disabled")||a&&!r)){if(o.hasClass("kv-selected"))o.removeClass("kv-selected"),r?o.find("li:not(.kv-disabled)").removeClass("kv-selected"):(t.$tree.find("li:not(.kv-disabled)").removeClass("kv-selected"),t.$element.val(""),t.raise("treeview.change",["",""]),t.raise("change")),t.raise("treeview.unchecked",[n]);else{if(r)i(o.find("li:not(.kv-disabled)"),"kv-selected");else{t.$tree.find("li:not(.kv-disabled)").removeClass("kv-selected"),t.$element.val(n);var s=o.find(">.kv-tree-list .kv-node-label").text();t.raise("treeview.change",[n,s]),t.raise("change")}i(o,"kv-selected"),t.raise("treeview.checked",[n])}r&&t.setSelected()}},clear:function(){var e=this;e.$treeContainer.removeClass("kv-loading-search"),e.$tree.find(".kv-node-label").removeClass("kv-highlight")},parseCache:function(){var t=this;return t.enableCache?void e.ajaxPrefilter(function(t,a){if(t.cache){var o=a.beforeSend||e.noop,n=a.success||e.noop,i=a.url;t.cache=!1,t.beforeSend=function(){return o(),l.exist(i)?(n(l.get(i)),!1):!0},t.success=function(e){l.set(i,e,n)}}}):!1},listen:function(){var t=this;t.$tree.find(".kv-node-toggle").each(function(){e(this).on("click",function(){t.toggle(e(this))})}),t.$tree.find(".kv-node-checkbox:not(.kv-disabled)").each(function(){e(this).on("click",function(){t.check(e(this))})}),t.$treeContainer.find(".kv-root-node-toggle").on("click",function(){var a=e(this),o=a.closest(".kv-tree-container");o.hasClass("kv-collapsed")?t.toggleAll("expand",!0):t.toggleAll("collapse",!0)}),t.$treeContainer.find(".kv-root-node-checkbox").on("click",function(){t.check(!0)}),t.$search.on("keyup",function(){var a=e(this).val();t.clear(),0!==a.length&&(i(t.$treeContainer,"kv-loading-search"),s(function(){t.toggleAll("collapse",!1),a=n(a),t.$tree.find(".kv-node-label").each(function(){var o=e(this),n=o.text(),r=n.search(new RegExp(a,"i"));0>r?o.removeClass("kv-highlight"):(i(o,"kv-highlight"),t.$tree.find("li.kv-parent").each(function(){var t=e(this);t.has(o).length>0&&t.removeClass("kv-collapsed")}))}),t.$treeContainer.removeClass("kv-loading-search"),t.raise("treeview.search")},1500))}),t.$clear.on("click",function(){t.$search.val(""),t.clear()}),t.$tree.find(".kv-node-detail").each(function(){e(this).on("click",function(){var a=e(this),o=a.closest("li"),n=o.data("key");return t.$tree.hasClass("kv-tree-input-widget")?(a.removeClass("kv-focussed"),void t.check(o)):void(a.hasClass("kv-focussed")||(t.select(n),t.removeAlert(),t.raise("treeview.select",[n])))})}),t.$toolbar.find(".kv-"+t.btns.create).on("click",function(){t.create()}),t.$toolbar.find(".kv-"+t.btns.createR).on("click",function(){t.createRoot()}),t.$toolbar.find(".kv-"+t.btns.trash).on("click",function(){t.remove()}),t.$toolbar.find(".kv-"+t.btns.moveU).on("click",function(){t.move("u")}),t.$toolbar.find(".kv-"+t.btns.moveD).on("click",function(){t.move("d")}),t.$toolbar.find(".kv-"+t.btns.moveL).on("click",function(){t.move("l")}),t.$toolbar.find(".kv-"+t.btns.moveR).on("click",function(){t.move("r")}),t.$detail.find(".alert").each(function(){var a=e(this);a.hasClass("hide")||(a.hide().fadeIn(1500),t.trigAlert(a))})},expandAll:function(){this.toggleAll("expand")},collapseAll:function(){this.toggleAll("collapse")},checkAll:function(){var e=this;e.$tree.removeClass("kv-selected"),e.check(!0)},uncheckAll:function(){var e=this;i(e.$tree,"kv-selected"),e.check(!0)},checkNode:function(e){var t=this,a=t.$tree.find('li[data-key="'+e+'"]');a.length&&(a.removeClass("kv-selected"),t.check(a))},uncheckNode:function(e){var t=this,a=t.$tree.find('li[data-key="'+e+'"]');a.length&&(i(a,"kv-selected"),t.check(a))}},e.fn.treeview=function(t){var a,o,n,i=Array.apply(null,arguments);return i.shift(),this.each(function(){a=e(this),o=a.data("treeview"),n="object"==typeof t&&t,o||(o=new d(this,e.extend({},e.fn.treeview.defaults,n,e(this).data())),a.data("treeview",o)),"string"==typeof t&&o[t].apply(o,i)})},e.fn.treeview.defaults={btns:{},treeId:"",detailId:"",toolbarId:"",wrapperId:"",showTooltips:!0,alertFadeDuration:1e3,cacheTimeout:3e5,showInactive:!1,actions:{manage:"",move:"","delete":""},messages:{emptyNode:"",nodeDisabled:"",invalidCreateNode:"",removeNode:"",nodeRemoved:"",emptyNodeRemoved:"",nodeNewMove:"",nodeTop:"",nodeBottom:"",nodeLeft:"",nodeRight:""},breadcrumbs:{}},e.fn.treeview.Constructor=d}(window.jQuery);
\ No newline at end of file
+ */!function(e){"use strict";var t="kvtree",a={create:"create",createR:"create-root",trash:"remove",moveU:"move-up",moveD:"move-down",moveL:"move-left",moveR:"move-right",refresh:"refresh"},o=function(t,a){return null===t||void 0===t||0===t.length||a&&""===e.trim(t)},i=function(e){return e.replace(/[\-\[\]\/\{}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},n=function(e,t){e.removeClass(t).addClass(t)},r=function(e){return e.split("").reduce(function(e,t){return e=(e<<5)-e+t.charCodeAt(0),e&e},0)},s=function(){var e=0;return function(t,a){clearTimeout(e),e=setTimeout(t,a)}}(),l={timeout:3e5,data:{},remove:function(e){delete l.data[e]},exist:function(e){return!!l.data[e]&&(new Date).getTime()-l.data[e]._1?t.$element.trigger(e,arguments[1]):t.$element.trigger(e)},enableToolbar:function(){var e=this;e.$toolbar.find("button").removeAttr("disabled")},disableToolbar:function(){var e=this;e.$toolbar.find("button").attr("disabled",!0),e.$toolbar.find(".kv-"+e.btns.createR).removeAttr("disabled")},enable:function(e){var t=this;t.$toolbar.find(".kv-"+t.btns[e]).removeAttr("disabled")},disable:function(e){var t=this;t.$toolbar.find(".kv-"+t.btns[e]).attr("disabled",!0)},showAlert:function(e,t,a){var o=this,i=o.$detail,n=i.find(".alert-"+t);i.find(".kv-select-node-msg").remove(),n.removeClass("hide").hide().find("div").remove(),n.append(""+e+"
").fadeIn(o.alertFadeDuration,function(){o.trigAlert(n,a)})},removeAlert:function(){var e=this;e.$detail.find(".alert").addClass("hide")},renderForm:function(a,i,s){var l=this,d=l.$detail,c=i||"",v=s||!1,f=r(a+l.modelClass+l.isAdmin+c),u=d.find("form"),h=l.actions.manage,m=h&&-1!==h.indexOf("?")?"&":"?";h+=encodeURI(m+t+"="+f),l.formViewBegin=!0,l.parseCache(),l.removeAlert(),e.ajax({type:"post",dataType:"json",data:{id:a,modelClass:l.modelClass,isAdmin:l.isAdmin,formAction:l.formAction,formOptions:l.formOptions,parentKey:c,iconsList:l.iconsList,currUrl:l.currUrl,softDelete:l.softDelete,showFormButtons:l.showFormButtons,showIDAttribute:l.showIDAttribute,multiple:l.multiple,nodeView:l.nodeView,nodeAddlViews:l.nodeAddlViews,nodeSelected:l.nodeSelected,breadcrumbs:l.breadcrumbs,allowNewRoots:l.allowNewRoots,treeManageHash:l.treeManageHash},url:h,cache:!0,beforeSend:function(e,t){l.raise("treeview.beforeselect",[a,e,t]),u.length&&u.off().yiiActiveForm("destroy").remove(),d.html(""),n(d,"kv-loading")},success:function(e,t,i){var n="error"===e.status,r=n?"treeview.selecterror":"treeview.selected";return l.raise(r,[a,e,t,i]),d.removeClass("kv-loading"),n?void d.html(''+e.out+"
"):(d.html(e.out),d.find('button[type="reset"]').on("click",function(){l.removeAlert()}),l.removeAlert(),void(v===!1||o(v.out)||l.showAlert(v.out,v.type)))},error:function(e,t,o){l.raise("treeview.selectajaxerror",[a,e,t,o])},complete:function(e){l.raise("treeview.selectajaxcomplete",[a,e]),l.validateTooltips()}})},select:function(t,a,i){if(!o(t)){var r,s=this,l=a||!1,d=i||!1,c=s.$tree.find('li[data-key="'+t+'"]>.kv-tree-list .kv-node-detail');0!==c.length&&(s.$tree.find(".kv-node-detail").removeClass("kv-focussed"),n(c,"kv-focussed"),l?s.$tree.find("li.kv-parent").each(function(){var t=e(this);t.has(c).length>0&&t.removeClass("kv-collapsed")}):s.renderForm(t,null,d),r=c.closest("li"),r.hasClass("kv-disabled")?s.disableToolbar():s.enableToolbar(),(!r.data("removable")||r.hasClass("kv-inactive")&&s.softDelete||!r.data("removableAll")&&r.hasClass("kv-parent"))&&s.disable("trash"),r.data("movable-u")||s.disable("moveU"),r.data("movable-d")||s.disable("moveD"),r.data("movable-l")||s.disable("moveL"),r.data("movable-r")||s.disable("moveR"),s.parseParentFlag(t))}},parseParentFlag:function(t){var a,o=this,i=o.$detail.find('input[class="kv-parent-flag"]'),n=o.$tree.find('li[data-key="'+t+'"]');i.each(function(){var t=e(this);a=t.closest("div.checkbox"),a.removeClass("disabled"),n.hasClass("kv-parent")?t.removeAttr("disabled"):(t.attr("disabled","disabled"),a.addClass("disabled"))})},remove:function(){var t,a,o=this,i=o.$tree.find("li .kv-node-detail.kv-focussed"),r=i.closest("li"),s=o.messages,l=o.$detail,d=l.find("form");0===i.length&&!r.hasClass("kv-empty")||r.hasClass("kv-disabled")||o.dialogLib.confirm(s.removeNode,function(i){if(i){if(a=function(e){var a=e?s.emptyNodeRemoved:s.nodeRemoved,i=r.closest("li.kv-parent");r.remove(),t=l.find(".alert"),o.formViewBegin=!1,l.find(".kv-select-node-msg").remove(),t.length&&l.before(t).html("").append(t),i.find("li").length||i.removeClass("kv-parent"),o.showAlert(a,"info",function(){l.append(''+s.selectNode+"
"),setTimeout(function(){o.formViewBegin||l.find(".kv-select-node-msg").fadeIn(o.alertFadeDuration)},o.alertFadeDuration)})},r.hasClass("kv-empty"))return void a(!0);var c=r.data("key");e.ajax({type:"post",dataType:"json",data:{id:c,modelClass:o.modelClass,softDelete:o.softDelete,treeRemoveHash:o.treeRemoveHash},url:o.actions.remove,beforeSend:function(e,t){o.raise("treeview.beforeremove",[c,e,t]),d.hide(),o.removeAlert(),n(l,"kv-loading")},success:function(e,t,i){if("success"===e.status){if((o.isAdmin||o.showInactive)&&o.softDelete){o.showAlert(e.out,"info"),d.show();var s=o.modelClass.split("\\").pop(),v=d.find('input[name="'+s+'[active]"]');v.val(!1),v.prop("checked",!1),n(r,"kv-inactive"),r.data("removableAll")&&n(r.find("li"),"kv-inactive"),n(r,"kv-inactive")}else a();o.softDelete||o.disableToolbar(),o.raise("treeview.remove",[c,e,t,i])}else o.showAlert(e.out,"danger"),d.show(),o.raise("treeview.removeerror",[c,e,t,i]);l.removeClass("kv-loading")},error:function(e,t,a){o.raise("treeview.removeajaxerror",[c,e,t,a])},complete:function(e){o.raise("treeview.removeajaxcomplete",[e])}})}})},move:function(t){var a,o,i,r,s=this,d=s.$tree.find("li .kv-node-detail.kv-focussed"),c=d.closest("li"),v=s.messages,f=s.$detail,u=null,h=!1,m=function(){};if(0!==d.length&&!c.hasClass("kv-disabled")){if(c.hasClass("kv-empty"))return void s.dialogLib.alert(v.nodeNewMove);switch(t){case"u":if(u=c.prev(),0===u.length)return void s.dialogLib.alert(v.nodeTop);m=function(){u.before(c)};break;case"d":if(u=c.next(),0===u.length)return void s.dialogLib.alert(v.nodeBottom);m=function(){u.after(c)};break;case"l":if(u=c.parent("ul").closest("li.kv-parent"),0===u.length)return void s.dialogLib.alert(v.nodeLeft);r=u.parent("ul"),h=r.hasClass("kv-tree"),h&&(u=r.children("li:last-child")),m=function(){u.after(c),0===u.find("li").length&&(u.removeClass("kv-parent"),u.find("ul").remove())};break;case"r":if(u=c.prev(),0===u.length)return void s.dialogLib.alert(v.nodeRight);m=function(){u.find("li").length>0?u.children("ul").append(c):(n(u,"kv-parent"),e(document.createElement("ul")).appendTo(u).append(c))};break;default:throw"Invalid move direction '"+t+"'"}a=c.data("key"),o=u.data("key"),e.ajax({type:"post",dataType:"json",data:{idFrom:a,idTo:o,modelClass:s.modelClass,dir:t,allowNewRoots:s.allowNewRoots,treeMoveHash:s.treeMoveHash},url:s.actions.move,beforeSend:function(e,i){s.raise("treeview.beforemove",[t,a,o,e,i]),n(s.$treeContainer,"kv-loading-search")},success:function(n,r,d){f.length>0&&s.removeAlert(),"success"===n.status?(m(),"l"===t||"r"===t?(l.timeout=0,i=f.length>0?{out:n.out,type:"success"}:!1,s.select(a,!1,i),l.timeout=s.cacheTimeout):f.length>0&&s.showAlert(n.out,"success"),s.$tree.find("li.kv-collapsed").each(function(){e(this).has(c).length>0&&e(this).removeClass("kv-collapsed")}),s.raise("treeview.move",[t,a,o,n,r,d])):f.length>0&&(s.showAlert(n.out,"danger"),s.raise("treeview.moveerror",[t,a,o,n,r,d])),s.$treeContainer.removeClass("kv-loading-search")},error:function(e,i,n){f.length>0&&(s.removeAlert(),s.showAlert(n,"danger")),s.$treeContainer.removeClass("kv-loading-search"),s.raise("treeview.moveajaxerror",[t,a,o,e,i,n])},complete:function(e){s.raise("treeview.moveajaxcomplete",[e])}})}},setSelected:function(){var t=this,a="",i="";t.$tree.find(".kv-selected").each(function(){var t=e(this),n=o(a)?"":",";a+=n+t.data("key"),i+=n+t.find(">.kv-tree-list .kv-node-label").text()}),t.$element.val(a),t.raise("treeview.change",[a,i]),t.raise("change")},getNewNode:function(){var e=this;return'\n
\n
\n '+e.messages.emptyNode+"\n
\n
"},create:function(){var t,a,o,i,r,s=this,l=s.$tree.find("li .kv-node-detail.kv-focussed"),d=l.closest("li"),c=s.messages;return d.hasClass("kv-disabled")?void s.dialogLib.alert(c.nodeDisabled):0===l.length||d.hasClass("kv-empty")?void s.dialogLib.alert(c.invalidCreateNode):(s.$toolbar.find(".kv-"+s.btns.trash).removeAttr("disabled"),r=d.find("> ul > li.kv-empty"),r.length>0?(a=r.data("key").replace("empty-",""),s.renderForm(null,a),l.removeClass("kv-focussed"),void n(r.find(".kv-node-detail"),"kv-focussed")):(r=e(document.createElement("li")).attr({"data-key":"empty-"+d.data("key"),"class":"kv-empty"}),o=s.getNewNode(),l.removeClass("kv-focussed"),r.append(o),d.hasClass("kv-parent")?d.children("ul").append(r):(n(d,"kv-parent"),t=e(document.createElement("ul")).append(r),d.append(t)),s.renderForm(null,d.data("key")),i=r.find(".kv-node-detail"),d.removeClass("kv-collapsed"),r.children(".kv-tree-list").focus(),i.on("click",function(){s.$tree.find(".kv-node-detail").removeClass("kv-focussed"),n(i,"kv-focussed"),a=r.data("key").replace("empty-",""),s.renderForm(null,a),s.$toolbar.find(".kv-"+s.btns.trash).removeAttr("disabled")}),void s.raise("treeview.create",[parent])))},createRoot:function(){var t=this,a=t.$tree.find(".kv-tree"),o=a.children("li.kv-empty");if(t.$tree.find(".kv-node-detail").removeClass("kv-focussed"),o.length>0)return n(o.find(".kv-node-detail"),"kv-focussed"),void t.renderForm(null,"root");var i=t.getNewNode(),r=e(document.createElement("li")).attr({"data-key":"empty-root","class":"kv-empty"});r.html(i),a.append(r),t.renderForm(null,"root");var s=r.find(".kv-node-detail");n(s,"kv-focussed"),t.$toolbar.find(".kv-"+t.btns.trash).removeAttr("disabled"),s.on("click",function(){t.$tree.find(".kv-node-detail").removeClass("kv-focussed"),n(s,"kv-focussed"),t.renderForm(null,"root"),t.$toolbar.find(".kv-"+t.btns.trash).removeAttr("disabled")}),t.raise("treeview.createroot")},toggle:function(e){var t=this,a=e.closest("li.kv-parent"),o=a.data("key");a.hasClass("kv-collapsed")?(a.removeClass("kv-collapsed"),t.raise("treeview.expand",[o])):(n(a,"kv-collapsed"),t.raise("treeview.collapse",[o]))},toggleAll:function(e,t){var a=this;return"expand"===e?(a.$tree.removeClass("kv-collapsed"),a.$tree.find(".kv-collapsed").removeClass("kv-collapsed"),void(t&&a.raise("treeview.expandall"))):(n(a.$tree.find("li.kv-parent"),"kv-collapsed"),n(a.$tree,"kv-collapsed"),void(t&&a.raise("treeview.collapseall")))},check:function(e){var t=this,a=e===!0,o=a?t.$tree:e.closest("li"),i=a?"":o.data("key"),r=t.multiple&&0!=t.multiple;if(!(o.hasClass("kv-disabled")||a&&!r)){if(o.hasClass("kv-selected"))o.removeClass("kv-selected"),r?o.find("li:not(.kv-disabled)").removeClass("kv-selected"):(t.$tree.find("li:not(.kv-disabled)").removeClass("kv-selected"),t.$element.val(""),t.raise("treeview.change",["",""]),t.raise("change")),t.raise("treeview.unchecked",[i]);else{if(r)n(o.find("li:not(.kv-disabled)"),"kv-selected");else{t.$tree.find("li:not(.kv-disabled)").removeClass("kv-selected"),t.$element.val(i);var s=o.find(">.kv-tree-list .kv-node-label").text();t.raise("treeview.change",[i,s]),t.raise("change")}n(o,"kv-selected"),t.raise("treeview.checked",[i])}r&&t.setSelected()}},clear:function(){var e=this;e.$treeContainer.removeClass("kv-loading-search"),e.$tree.find(".kv-node-label").removeClass("kv-highlight")},parseCache:function(){var t=this;return t.enableCache?void e.ajaxPrefilter(function(t,a){if(t.cache){var o=a.beforeSend||e.noop,i=a.success||e.noop,n=a.url;t.cache=!1,t.beforeSend=function(){return o(),l.exist(n)?(i(l.get(n)),!1):!0},t.success=function(e){l.set(n,e,i)}}}):!1},listen:function(){var t=this;t.$tree.find(".kv-node-toggle").each(function(){e(this).on("click",function(){t.toggle(e(this))})}),t.$tree.find(".kv-node-checkbox:not(.kv-disabled)").each(function(){e(this).on("click",function(){t.check(e(this))})}),t.$treeContainer.find(".kv-root-node-toggle").on("click",function(){var a=e(this),o=a.closest(".kv-tree-container");o.hasClass("kv-collapsed")?t.toggleAll("expand",!0):t.toggleAll("collapse",!0)}),t.$treeContainer.find(".kv-root-node-checkbox").on("click",function(){t.check(!0)}),t.$search.on("keyup",function(){var a=e(this).val();t.clear(),0!==a.length&&(n(t.$treeContainer,"kv-loading-search"),s(function(){t.toggleAll("collapse",!1),a=i(a),t.$tree.find(".kv-node-label").each(function(){var o=e(this),i=o.text(),r=i.search(new RegExp(a,"i"));0>r?o.removeClass("kv-highlight"):(n(o,"kv-highlight"),t.$tree.find("li.kv-parent").each(function(){var t=e(this);t.has(o).length>0&&t.removeClass("kv-collapsed")}))}),t.$treeContainer.removeClass("kv-loading-search"),t.raise("treeview.search")},1500))}),t.$clear.on("click",function(){t.$search.val(""),t.clear()}),t.$tree.find(".kv-node-detail").each(function(){e(this).on("click",function(){var a=e(this),o=a.closest("li"),i=o.data("key");return t.$tree.hasClass("kv-tree-input-widget")?(a.removeClass("kv-focussed"),void t.check(o)):void(a.hasClass("kv-focussed")||(t.select(i),t.removeAlert(),t.raise("treeview.select",[i])))})}),t.$toolbar.find(".kv-"+t.btns.create).on("click",function(){t.create()}),t.$toolbar.find(".kv-"+t.btns.createR).on("click",function(){t.createRoot()}),t.$toolbar.find(".kv-"+t.btns.trash).on("click",function(){t.remove()}),t.$toolbar.find(".kv-"+t.btns.moveU).on("click",function(){t.move("u")}),t.$toolbar.find(".kv-"+t.btns.moveD).on("click",function(){t.move("d")}),t.$toolbar.find(".kv-"+t.btns.moveL).on("click",function(){t.move("l")}),t.$toolbar.find(".kv-"+t.btns.moveR).on("click",function(){t.move("r")}),t.$detail.find(".alert").each(function(){var a=e(this);a.hasClass("hide")||(a.hide().fadeIn(1500),t.trigAlert(a))})},expandAll:function(){this.toggleAll("expand")},collapseAll:function(){this.toggleAll("collapse")},checkAll:function(){var e=this;e.$tree.removeClass("kv-selected"),e.check(!0)},uncheckAll:function(){var e=this;n(e.$tree,"kv-selected"),e.check(!0)},checkNode:function(e){var t=this,a=t.$tree.find('li[data-key="'+e+'"]');a.length&&(a.removeClass("kv-selected"),t.check(a))},uncheckNode:function(e){var t=this,a=t.$tree.find('li[data-key="'+e+'"]');a.length&&(n(a,"kv-selected"),t.check(a))}},e.fn.treeview=function(t){var a,o,i,n=Array.apply(null,arguments);return n.shift(),this.each(function(){a=e(this),o=a.data("treeview"),i="object"==typeof t&&t,o||(o=new d(this,e.extend({},e.fn.treeview.defaults,i,e(this).data())),a.data("treeview",o)),"string"==typeof t&&o[t].apply(o,n)})},e.fn.treeview.defaults={btns:{},treeId:"",detailId:"",toolbarId:"",wrapperId:"",showTooltips:!0,alertFadeDuration:1e3,cacheTimeout:3e5,showInactive:!1,actions:{manage:"",move:"","delete":""},messages:{emptyNode:"",nodeDisabled:"",invalidCreateNode:"",removeNode:"",nodeRemoved:"",emptyNodeRemoved:"",nodeNewMove:"",nodeTop:"",nodeBottom:"",nodeLeft:"",nodeRight:""},breadcrumbs:{}},e.fn.treeview.Constructor=d}(window.jQuery);
\ No newline at end of file
diff --git a/controllers/NodeController.php b/controllers/NodeController.php
index de5252e..b6825dc 100755
--- a/controllers/NodeController.php
+++ b/controllers/NodeController.php
@@ -1,7 +1,7 @@
security;
+ $modelClass = '\kartik\tree\models\Tree';
+ $validate = function ($act, $oldHash, $newHashData) use ($module, $security) {
+ $salt = $module->treeEncryptSalt;
+ $newHash = $security->hashData($newHashData, $salt);
+ if ($security->validateData($oldHash, $salt) && $oldHash === $newHash) {
+ return;
+ }
+ //$messageParams = 'OLD HASH:
' . $oldHash . '
NEW HASH:
' . $newHash . '
';
+ $message = Yii::t(
+ 'kvtree',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.',
+ ['action' => $act]
+ );
+ throw new InvalidCallException($message);
+ };
+ switch ($action) {
+ case 'save':
+ $treeNodeModify = $parentKey = $currUrl = $treeSaveHash = null;
+ extract($data);
+ $dataToHash = !!$treeNodeModify . $parentKey . $currUrl . $modelClass;
+ $validate($action, $treeSaveHash, $dataToHash);
+ break;
+ case 'manage':
+ $parentKey = $treeManageHash = null;
+ $isAdmin = $softDelete = $showFormButtons = $showIDAttribute = false;
+ $currUrl = $nodeView = $formAction = $nodeSelected = '';
+ $formOptions = $iconsList = $nodeAddlViews = $breadcrumbs = [];
+ extract($data);
+ $dataToHash = $parentKey . $modelClass . !!$isAdmin . !!$softDelete . !!$showFormButtons .
+ !!$showIDAttribute . $currUrl . $nodeView . $nodeSelected . Json::encode($formOptions) .
+ Json::encode($nodeAddlViews) . Json::encode(array_values($iconsList)) . Json::encode($breadcrumbs);
+ $validate($action, $treeManageHash, $dataToHash);
+ break;
+ case 'remove':
+ $treeRemoveHash = null;
+ $softDelete = false;
+ extract($data);
+ $dataToHash = $modelClass . $softDelete;
+ $validate($action, $treeRemoveHash, $dataToHash);
+ break;
+ case 'move':
+ $treeMoveHash = $allowNewRoots = null;
+ extract($data);
+ $dataToHash = $modelClass . $allowNewRoots;
+ $validate($action, $treeMoveHash, $dataToHash);
+ break;
+ default:
+ break;
+ }
+ }
+
/**
* Saves a node once form is submitted
*/
@@ -82,9 +146,10 @@ public function actionSave()
{
$post = Yii::$app->request->post();
static::checkValidRequest(!isset($post['treeNodeModify']));
- $treeNodeModify = $parentKey = $currUrl = null;
+ $treeNodeModify = $parentKey = $currUrl = $treeSaveHash = null;
$modelClass = '\kartik\tree\models\Tree';
- extract(static::getPostData());
+ $data = static::getPostData();
+ extract($data);
$module = TreeView::module();
$keyAttr = $module->dataStructure['keyAttribute'];
$session = Yii::$app->session;
@@ -160,48 +225,51 @@ public function actionManage()
{
Yii::$app->response->format = Response::FORMAT_JSON;
static::checkValidRequest();
- $parentKey = $action = null;
- $modelClass = '\kartik\tree\models\Tree';
- $isAdmin = $softDelete = $showFormButtons = $showIDAttribute = false;
- $currUrl = $nodeView = $formOptions = $formAction = $breadCrumbs = $nodeSelected = '';
- $iconsList = $nodeAddlViews = [];
- extract(static::getPostData());
- /**
- * @var Tree $modelClass
- * @var Tree $node
- */
- if (!isset($id) || empty($id)) {
- $node = new $modelClass;
- $node->initDefaults();
- } else {
- $node = $modelClass::findOne($id);
- }
- $module = TreeView::module();
- $params = $module->treeStructure + $module->dataStructure + [
- 'node' => $node,
- 'parentKey' => $parentKey,
- 'action' => $formAction,
- 'formOptions' => empty($formOptions) ? [] : $formOptions,
- 'modelClass' => $modelClass,
- 'currUrl' => $currUrl,
- 'isAdmin' => $isAdmin,
- 'iconsList' => $iconsList,
- 'softDelete' => $softDelete,
- 'showFormButtons' => $showFormButtons,
- 'showIDAttribute' => $showIDAttribute,
- 'nodeView' => $nodeView,
- 'nodeAddlViews' => $nodeAddlViews,
- 'nodeSelected' => $nodeSelected,
- 'breadcrumbs' => empty($breadcrumbs) ? [] :$breadcrumbs,
- ];
- if (!empty($module->unsetAjaxBundles)) {
- Event::on(View::className(), View::EVENT_AFTER_RENDER, function ($e) use ($module) {
- foreach ($module->unsetAjaxBundles as $bundle) {
- unset($e->sender->assetBundles[$bundle]);
- }
- });
- }
- $callback = function () use ($nodeView, $params) {
+ $callback = function () {
+ $parentKey = null;
+ $modelClass = '\kartik\tree\models\Tree';
+ $isAdmin = $softDelete = $showFormButtons = $showIDAttribute = $allowNewRoots = false;
+ $currUrl = $nodeView = $formAction = $nodeSelected = '';
+ $formOptions = $iconsList = $nodeAddlViews = $breadcrumbs = [];
+ $data = static::getPostData();
+ extract($data);
+ /**
+ * @var Tree $modelClass
+ * @var Tree $node
+ */
+ if (!isset($id) || empty($id)) {
+ $node = new $modelClass;
+ $node->initDefaults();
+ } else {
+ $node = $modelClass::findOne($id);
+ }
+ $module = TreeView::module();
+ $params = $module->treeStructure + $module->dataStructure + [
+ 'node' => $node,
+ 'parentKey' => $parentKey,
+ 'action' => $formAction,
+ 'formOptions' => empty($formOptions) ? [] : $formOptions,
+ 'modelClass' => $modelClass,
+ 'currUrl' => $currUrl,
+ 'isAdmin' => $isAdmin,
+ 'iconsList' => $iconsList,
+ 'softDelete' => $softDelete,
+ 'showFormButtons' => $showFormButtons,
+ 'showIDAttribute' => $showIDAttribute,
+ 'allowNewRoots' => $allowNewRoots,
+ 'nodeView' => $nodeView,
+ 'nodeAddlViews' => $nodeAddlViews,
+ 'nodeSelected' => $nodeSelected,
+ 'breadcrumbs' => empty($breadcrumbs) ? [] : $breadcrumbs,
+ ];
+ if (!empty($module->unsetAjaxBundles)) {
+ Event::on(View::className(), View::EVENT_AFTER_RENDER, function ($e) use ($module) {
+ foreach ($module->unsetAjaxBundles as $bundle) {
+ unset($e->sender->assetBundles[$bundle]);
+ }
+ });
+ }
+ static::checkSignature('manage', $data);
return $this->renderAjax($nodeView, ['params' => $params]);
};
return self::process(
@@ -216,18 +284,20 @@ public function actionManage()
*/
public function actionRemove()
{
- /**
- * @var Tree $class
- * @var Tree $node
- */
Yii::$app->response->format = Response::FORMAT_JSON;
static::checkValidRequest();
- $id = null;
- $class = '\kartik\tree\models\Tree';
- $softDelete = false;
- extract(static::getPostData());
- $node = $class::findOne($id);
- $callback = function () use ($node, $softDelete) {
+ $callback = function () {
+ /**
+ * @var Tree $modelClass
+ * @var Tree $node
+ */
+ $id = null;
+ $modelClass = '\kartik\tree\models\Tree';
+ $softDelete = false;
+ $data = static::getPostData();
+ static::checkSignature('remove', $data);
+ extract($data);
+ $node = $modelClass::findOne($id);
return $node->removeNode($softDelete);
};
return self::process(
@@ -243,25 +313,25 @@ public function actionRemove()
public function actionMove()
{
/**
- * @var Tree $class
+ * @var Tree $modelClass
* @var Tree $nodeFrom
* @var Tree $nodeTo
*/
Yii::$app->response->format = Response::FORMAT_JSON;
static::checkValidRequest();
- $dir = null;
- $idFrom = null;
- $idTo = null;
- $class = '\kartik\tree\models\Tree';
+ $dir = $idFrom = $idTo = $treeMoveHash = null;
+ $modelClass = '\kartik\tree\models\Tree';
$allowNewRoots = false;
- extract(static::getPostData());
- $nodeFrom = $class::findOne($idFrom);
- $nodeTo = $class::findOne($idTo);
+ $data = static::getPostData();
+ extract($data);
+ $nodeFrom = $modelClass::findOne($idFrom);
+ $nodeTo = $modelClass::findOne($idTo);
$isMovable = $nodeFrom->isMovable($dir);
$errorMsg = $isMovable ? Yii::t('kvtree', 'Error while moving the node. Please try again later.') :
Yii::t('kvtree', 'The selected node cannot be moved.');
- $callback = function () use ($dir, $nodeFrom, $nodeTo, $allowNewRoots, $isMovable) {
+ $callback = function () use ($dir, $nodeFrom, $nodeTo, $allowNewRoots, $treeMoveHash, $isMovable, $data) {
if (!empty($nodeFrom) && !empty($nodeTo)) {
+ static::checkSignature('move', $data);
if (!$isMovable) {
return false;
}
@@ -299,18 +369,25 @@ public function actionMove()
public static function process($callback, $msgError, $msgSuccess)
{
$error = $msgError;
- $success = false;
try {
$success = call_user_func($callback);
} catch (DbException $e) {
+ $success = false;
$error = $e->getMessage();
} catch (NotSupportedException $e) {
+ $success = false;
$error = $e->getMessage();
} catch (InvalidParamException $e) {
+ $success = false;
$error = $e->getMessage();
} catch (InvalidConfigException $e) {
+ $success = false;
+ $error = $e->getMessage();
+ } catch (InvalidCallException $e) {
+ $success = false;
$error = $e->getMessage();
} catch (Exception $e) {
+ $success = false;
$error = $e->getMessage();
}
if ($success !== false) {
diff --git a/messages/af/kvtree.php b/messages/af/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/af/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/ar/kvtree.php b/messages/ar/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/ar/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/az/kvtree.php b/messages/az/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/az/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/bg/kvtree.php b/messages/bg/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/bg/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/bs/kvtree.php b/messages/bs/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/bs/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/ca/kvtree.php b/messages/ca/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/ca/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/config.php b/messages/config.php
index 73416ec..b2fdbbe 100755
--- a/messages/config.php
+++ b/messages/config.php
@@ -6,7 +6,7 @@
'messagePath' => __DIR__,
// array, required, list of language codes that the extracted messages
// should be translated to. For example, ['zh-CN', 'de'].
- 'languages' => ['de', 'en', 'fr', 'id', 'pl', 'ru', 'uk', 'zh-CN'],
+ 'languages' => ['af', 'ar', 'az', 'bg', 'bs', 'ca', 'cs', 'da', 'de', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fa', 'fi', 'fo', 'fr', 'gl', 'gu', 'he', 'hi', 'hr', 'hu', 'hy', 'id', 'is', 'it', 'ja', 'ka', 'kk', 'kn', 'ko', 'ky', 'lt', 'lv', 'mi', 'mk', 'mn', 'mr', 'ms', 'mt', 'nb', 'nl', 'nn', 'pl', 'pt', 'pt-BR', 'qu', 'ro', 'ru', 'sa', 'se', 'sk', 'sl', 'sq', 'sr', 'sr-Latn', 'sv', 'sw', 'ta', 'te', 'th', 'tj', 'tl', 'tn', 'tr', 'ts', 'tt', 'uk', 'ur', 'vi', 'zh-CN', 'zh-TW', 'zu'],
// string, the name of the function for translating messages.
// Defaults to 'Yii::t'. This is used as a mark to find the messages to be
// translated. You may use a string for single function name or an array for
diff --git a/messages/cs/kvtree.php b/messages/cs/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/cs/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/da/kvtree.php b/messages/da/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/da/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/de/kvtree.php b/messages/de/kvtree.php
index c8ca808..45459d2 100755
--- a/messages/de/kvtree.php
+++ b/messages/de/kvtree.php
@@ -17,6 +17,7 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
'Error removing the node. Please try again later.' => '',
'The selected node cannot be moved.' => '',
'(new)' => '(Neu)',
diff --git a/messages/el/kvtree.php b/messages/el/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/el/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/en/kvtree.php b/messages/en/kvtree.php
index 1589822..3595b98 100755
--- a/messages/en/kvtree.php
+++ b/messages/en/kvtree.php
@@ -18,6 +18,7 @@
*/
return [
'(new)' => '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
'Active' => '',
'Add new' => '',
'Add new root' => '',
diff --git a/messages/eo/kvtree.php b/messages/eo/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/eo/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/es/kvtree.php b/messages/es/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/es/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/et/kvtree.php b/messages/et/kvtree.php
index 01ee2da..3611654 100755
--- a/messages/et/kvtree.php
+++ b/messages/et/kvtree.php
@@ -17,6 +17,10 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Collapsed' => '',
+ 'Disabled' => '',
+ 'ID' => '',
'(new)' => '(uus)',
'Active' => 'Aktiivne',
'Add new' => 'Lisa uus',
@@ -30,18 +34,15 @@
'Cannot create node. Parent node is not saved or is invalid.' => 'Ei saa elementi lisada. Ülemus-element on salvestamata või vigane.',
'Cannot move this node as the node details are not saved yet.' => 'Ei saa seda elementi liigutada, kuna elemendi detailid ei ole veel salvestatud.',
'Clear search results' => 'Puhasta otsingu tulemused',
- 'Collapsed' => '',
'Default' => 'Vaikimisi',
'Delete' => 'Kustuta',
'Depth' => 'Sügavus',
- 'Disabled' => '',
'Error removing the node. Please try again later.' => 'Viga elemendi kustutamisel. Palun proovi hiljem uuesti.',
'Error while creating the node. Please try again later.' => 'Viga elemendi loomisel. Palun proovi hiljem uuesti.',
'Error while moving the node. Please try again later.' => 'Viga elemendi liigutamisel. Palun proovi hiljem uuesti.',
'Error while removing the node. Please try again later.' => 'Viga elemendi kustutamisel. Palun proovi hiljem uuesti.',
'Error while saving the node. Please try again later.' => 'Viga elemendi salvestamisel. Palun proovi hiljem uuesti.',
'Error while viewing the node. Please try again later.' => 'Viga elemendi vaatamisel. Palun proovi hiljem uuesti.',
- 'ID' => '',
'Icon' => 'Ikoon',
'Icon Type' => 'Ikooni tüüp',
'Left' => 'Vasak',
diff --git a/messages/eu/kvtree.php b/messages/eu/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/eu/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/fa/kvtree.php b/messages/fa/kvtree.php
index 8b80adf..cf9633e 100755
--- a/messages/fa/kvtree.php
+++ b/messages/fa/kvtree.php
@@ -17,64 +17,65 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
- '(new)' => '(جدید)',
- 'Active' => 'فعال',
- 'Add new' => 'ایجاد',
- 'Add new root' => 'ایجاد سرشاخه',
- 'Admin Settings' => 'تنظیمات مدیر',
- 'Already at bottom-most node in the hierarchy.' => 'این نود در پایین ترین نقطه ممکن قرار دارد.',
- 'Already at left-most node in the hierarchy.' => 'این نود در چپ ترین نقطه ممکن قرار دارد.',
- 'Already at right-most node in the hierarchy.' => 'این نود در راست ترین نقطه ممکن قرار دارد.',
- 'Already at top-most node in the hierarchy.' => 'این نود در بالا ترین نقطه ممکن قرار دارد.',
- 'Are you sure you want to remove this node?' => 'آیا از حذف این نود مطمئن هستید؟',
- 'Cannot create node. Parent node is not saved or is invalid.' => 'امکان ایجاد نود وجود ندارد. نود والد ذخیره نشده یا معتبر نیست.',
- 'Cannot move this node as the node details are not saved yet.' => 'امکان جابجایی نود بدلیل ذخیره نکردن تغییرات وجود ندارد.',
- 'Clear search results' => 'پاک کردن سابقه جستجو',
- 'Collapsed' => 'بسته شده',
- 'Default' => 'پیش فرض',
- 'Delete' => 'حذف',
- 'Depth' => 'عمق',
- 'Disabled' => 'غیرفعال',
- 'Error removing the node. Please try again later.' => 'خطا در حذف نود. لطفا دوباره سعی کنید.',
- 'Error while creating the node. Please try again later.' => 'خطا در ایجاد نود. لطفا دوباره سعی کنید.',
- 'Error while moving the node. Please try again later.' => 'خطا در جابجایی نود. لطفا دوباره سعی کنید.',
- 'Error while removing the node. Please try again later.' => 'خطا در حذف نود. لطفا دوباره سعی کنید.',
- 'Error while saving the node. Please try again later.' => 'خطا در ذخیره نود. لطفا دوباره سعی کنید.',
- 'Error while viewing the node. Please try again later.' => 'خطا در نمایش نود. لطفا دوباره سعی کنید.',
- 'ID' => 'کد',
- 'Icon' => 'آیکون',
- 'Icon Type' => 'نوع آیکون',
- 'Left' => 'چپ',
- 'Movable Down' => 'جابجا شونده به پایین',
- 'Movable Left' => 'جابجا شونده به چپ',
- 'Movable Right' => 'جابجا شونده به راست',
- 'Movable Up' => 'جابجا شونده به بالا',
- 'Move Down' => 'جابجا به پایین',
- 'Move Left' => 'جابجا به چپ',
- 'Move Right' => 'جابجا به راست',
- 'Move Up' => 'جابجا به بالا',
- 'Name' => 'عنوان',
- 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => 'جهت نمایش اطلاعات، یک نود را انتخاب کنید.',
- 'Node # {id} - \'{name}\': {error}' => 'نود {id} - \'{name}\': {error}',
- 'Read Only' => 'فقط خواندنی',
- 'Refresh' => 'بازنمایی',
- 'Removable' => 'قابل حذف',
- 'Removable (with children)' => 'قابل حذف (با تمام زیرشاخه)',
- 'Reset' => 'بازنشاندن',
- 'Right' => 'راست',
- 'Root' => 'سرشاخه',
- 'Save' => 'ذخیره',
- 'Saved the node details successfully.' => 'مشخصات با موفقیت ذخیره شد.',
- 'Search...' => 'جستجو...',
- 'Select a node by clicking on one of the tree items.' => 'با کلیک بر روی یک نود، آن را انتخاب کنید.',
- 'Select...' => 'انتخاب...',
- 'Selected' => 'انتخاب شده',
- 'The node was moved successfully.' => 'نود با موفقیت جابجا شد.',
- 'The node was removed successfully.' => 'نود با موفقیت حذف شد.',
- 'The node was successfully created.' => 'نود با موفقیت ایجاد شد.',
- 'The selected node cannot be moved.' => 'امکان جابجایی نود انخاب شده وجود ندارد.',
- 'The untitled node was removed.' => 'نود بدون نام با موفقیت حذف شد.',
- 'This operation is not allowed.' => 'امکان انجام این کار وجود ندارد.',
- 'Untitled' => 'بدون نام',
- 'Visible' => 'دیدنی',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ '(new)' => '(جدید)',
+ 'Active' => 'فعال',
+ 'Add new' => 'ایجاد',
+ 'Add new root' => 'ایجاد سرشاخه',
+ 'Admin Settings' => 'تنظیمات مدیر',
+ 'Already at bottom-most node in the hierarchy.' => 'این نود در پایین ترین نقطه ممکن قرار دارد.',
+ 'Already at left-most node in the hierarchy.' => 'این نود در چپ ترین نقطه ممکن قرار دارد.',
+ 'Already at right-most node in the hierarchy.' => 'این نود در راست ترین نقطه ممکن قرار دارد.',
+ 'Already at top-most node in the hierarchy.' => 'این نود در بالا ترین نقطه ممکن قرار دارد.',
+ 'Are you sure you want to remove this node?' => 'آیا از حذف این نود مطمئن هستید؟',
+ 'Cannot create node. Parent node is not saved or is invalid.' => 'امکان ایجاد نود وجود ندارد. نود والد ذخیره نشده یا معتبر نیست.',
+ 'Cannot move this node as the node details are not saved yet.' => 'امکان جابجایی نود بدلیل ذخیره نکردن تغییرات وجود ندارد.',
+ 'Clear search results' => 'پاک کردن سابقه جستجو',
+ 'Collapsed' => 'بسته شده',
+ 'Default' => 'پیش فرض',
+ 'Delete' => 'حذف',
+ 'Depth' => 'عمق',
+ 'Disabled' => 'غیرفعال',
+ 'Error removing the node. Please try again later.' => 'خطا در حذف نود. لطفا دوباره سعی کنید.',
+ 'Error while creating the node. Please try again later.' => 'خطا در ایجاد نود. لطفا دوباره سعی کنید.',
+ 'Error while moving the node. Please try again later.' => 'خطا در جابجایی نود. لطفا دوباره سعی کنید.',
+ 'Error while removing the node. Please try again later.' => 'خطا در حذف نود. لطفا دوباره سعی کنید.',
+ 'Error while saving the node. Please try again later.' => 'خطا در ذخیره نود. لطفا دوباره سعی کنید.',
+ 'Error while viewing the node. Please try again later.' => 'خطا در نمایش نود. لطفا دوباره سعی کنید.',
+ 'ID' => 'کد',
+ 'Icon' => 'آیکون',
+ 'Icon Type' => 'نوع آیکون',
+ 'Left' => 'چپ',
+ 'Movable Down' => 'جابجا شونده به پایین',
+ 'Movable Left' => 'جابجا شونده به چپ',
+ 'Movable Right' => 'جابجا شونده به راست',
+ 'Movable Up' => 'جابجا شونده به بالا',
+ 'Move Down' => 'جابجا به پایین',
+ 'Move Left' => 'جابجا به چپ',
+ 'Move Right' => 'جابجا به راست',
+ 'Move Up' => 'جابجا به بالا',
+ 'Name' => 'عنوان',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => 'جهت نمایش اطلاعات، یک نود را انتخاب کنید.',
+ 'Node # {id} - \'{name}\': {error}' => 'نود {id} - \'{name}\': {error}',
+ 'Read Only' => 'فقط خواندنی',
+ 'Refresh' => 'بازنمایی',
+ 'Removable' => 'قابل حذف',
+ 'Removable (with children)' => 'قابل حذف (با تمام زیرشاخه)',
+ 'Reset' => 'بازنشاندن',
+ 'Right' => 'راست',
+ 'Root' => 'سرشاخه',
+ 'Save' => 'ذخیره',
+ 'Saved the node details successfully.' => 'مشخصات با موفقیت ذخیره شد.',
+ 'Search...' => 'جستجو...',
+ 'Select a node by clicking on one of the tree items.' => 'با کلیک بر روی یک نود، آن را انتخاب کنید.',
+ 'Select...' => 'انتخاب...',
+ 'Selected' => 'انتخاب شده',
+ 'The node was moved successfully.' => 'نود با موفقیت جابجا شد.',
+ 'The node was removed successfully.' => 'نود با موفقیت حذف شد.',
+ 'The node was successfully created.' => 'نود با موفقیت ایجاد شد.',
+ 'The selected node cannot be moved.' => 'امکان جابجایی نود انخاب شده وجود ندارد.',
+ 'The untitled node was removed.' => 'نود بدون نام با موفقیت حذف شد.',
+ 'This operation is not allowed.' => 'امکان انجام این کار وجود ندارد.',
+ 'Untitled' => 'بدون نام',
+ 'Visible' => 'دیدنی',
];
diff --git a/messages/fi/kvtree.php b/messages/fi/kvtree.php
index 32bf0b1..5b1b1a6 100644
--- a/messages/fi/kvtree.php
+++ b/messages/fi/kvtree.php
@@ -17,6 +17,7 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
'(new)' => '(uusi)',
'Active' => 'Aktiivinen',
'Add new' => 'Lisää uusi',
diff --git a/messages/fo/kvtree.php b/messages/fo/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/fo/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/fr/kvtree.php b/messages/fr/kvtree.php
index 1eb01ce..11b408b 100755
--- a/messages/fr/kvtree.php
+++ b/messages/fr/kvtree.php
@@ -17,6 +17,7 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
'(new)' => '(nouveau)',
'Active' => 'Actif',
'Add new' => 'Ajouter',
diff --git a/messages/gl/kvtree.php b/messages/gl/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/gl/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/gu/kvtree.php b/messages/gu/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/gu/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/he/kvtree.php b/messages/he/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/he/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/hi/kvtree.php b/messages/hi/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/hi/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/hr/kvtree.php b/messages/hr/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/hr/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/hu/kvtree.php b/messages/hu/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/hu/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/hy/kvtree.php b/messages/hy/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/hy/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/id/kvtree.php b/messages/id/kvtree.php
index e4520dd..9a8a599 100755
--- a/messages/id/kvtree.php
+++ b/messages/id/kvtree.php
@@ -17,6 +17,7 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
'Admin Settings' => '',
'Collapsed' => '',
'Default' => '',
diff --git a/messages/is/kvtree.php b/messages/is/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/is/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/it/kvtree.php b/messages/it/kvtree.php
index e5e885e..a5aa464 100755
--- a/messages/it/kvtree.php
+++ b/messages/it/kvtree.php
@@ -2,7 +2,7 @@
/**
* Message translations.
*
- * This file is automatically generated by 'yii message' command.
+ * This file is automatically generated by 'yii message/extract' command.
* It contains the localizable messages extracted from source code.
* You may modify this file by translating the extracted messages.
*
@@ -17,6 +17,9 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'The selected node cannot be moved.' => '',
'(new)' => '(nuovo)',
'Active' => 'Attivo',
'Add new' => 'Aggiungi nuovo',
diff --git a/messages/ja/kvtree.php b/messages/ja/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/ja/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/ka/kvtree.php b/messages/ka/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/ka/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/kk/kvtree.php b/messages/kk/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/kk/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/kn/kvtree.php b/messages/kn/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/kn/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/ko/kvtree.php b/messages/ko/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/ko/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/ky/kvtree.php b/messages/ky/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/ky/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/lt/kvtree.php b/messages/lt/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/lt/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/lv/kvtree.php b/messages/lv/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/lv/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/mi/kvtree.php b/messages/mi/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/mi/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/mk/kvtree.php b/messages/mk/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/mk/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/mn/kvtree.php b/messages/mn/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/mn/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/mr/kvtree.php b/messages/mr/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/mr/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/ms/kvtree.php b/messages/ms/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/ms/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/mt/kvtree.php b/messages/mt/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/mt/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/nb/kvtree.php b/messages/nb/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/nb/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/nl/kvtree.php b/messages/nl/kvtree.php
index 4da9679..6b9c9a2 100755
--- a/messages/nl/kvtree.php
+++ b/messages/nl/kvtree.php
@@ -17,6 +17,7 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
'(new)' => '(nieuw)',
'Active' => 'Actief',
'Add new' => 'Voeg nieuwe toe',
diff --git a/messages/nn/kvtree.php b/messages/nn/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/nn/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/pl/kvtree.php b/messages/pl/kvtree.php
index 6a92f9b..1e5bd53 100755
--- a/messages/pl/kvtree.php
+++ b/messages/pl/kvtree.php
@@ -17,6 +17,7 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
'Error removing the node. Please try again later.' => '',
'The selected node cannot be moved.' => '',
'(new)' => '(nowa)',
diff --git a/messages/pt-BR/kvtree.php b/messages/pt-BR/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/pt-BR/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/pt/kvtree.php b/messages/pt/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/pt/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/qu/kvtree.php b/messages/qu/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/qu/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/ro/kvtree.php b/messages/ro/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/ro/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/ru/kvtree.php b/messages/ru/kvtree.php
index ed41105..dfb288b 100755
--- a/messages/ru/kvtree.php
+++ b/messages/ru/kvtree.php
@@ -17,6 +17,7 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
'Error removing the node. Please try again later.' => '',
'The selected node cannot be moved.' => '',
'(new)' => '(новый)',
diff --git a/messages/sa/kvtree.php b/messages/sa/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/sa/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/se/kvtree.php b/messages/se/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/se/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/sk/kvtree.php b/messages/sk/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/sk/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/sl/kvtree.php b/messages/sl/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/sl/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/sq/kvtree.php b/messages/sq/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/sq/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/sr-Latn/kvtree.php b/messages/sr-Latn/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/sr-Latn/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/sr/kvtree.php b/messages/sr/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/sr/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/sv/kvtree.php b/messages/sv/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/sv/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/sw/kvtree.php b/messages/sw/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/sw/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/ta/kvtree.php b/messages/ta/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/ta/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/te/kvtree.php b/messages/te/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/te/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/th/kvtree.php b/messages/th/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/th/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/tj/kvtree.php b/messages/tj/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/tj/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/tl/kvtree.php b/messages/tl/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/tl/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/tn/kvtree.php b/messages/tn/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/tn/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/tr/kvtree.php b/messages/tr/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/tr/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/ts/kvtree.php b/messages/ts/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/ts/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/tt/kvtree.php b/messages/tt/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/tt/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/uk/kvtree.php b/messages/uk/kvtree.php
index 37c73d8..68495aa 100755
--- a/messages/uk/kvtree.php
+++ b/messages/uk/kvtree.php
@@ -17,6 +17,7 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
'Error removing the node. Please try again later.' => '',
'The selected node cannot be moved.' => '',
'(new)' => '(новий)',
diff --git a/messages/ur/kvtree.php b/messages/ur/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/ur/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/vi/kvtree.php b/messages/vi/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/vi/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/zh-CN/kvtree.php b/messages/zh-CN/kvtree.php
index 535d5a9..4804f56 100755
--- a/messages/zh-CN/kvtree.php
+++ b/messages/zh-CN/kvtree.php
@@ -17,6 +17,7 @@
* NOTE: this file must be saved in UTF-8 encoding.
*/
return [
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
'(new)' => '(新建)',
'Active' => '已激活',
'Add new' => '添加节点',
diff --git a/messages/zh-TW/kvtree.php b/messages/zh-TW/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/zh-TW/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/messages/zu/kvtree.php b/messages/zu/kvtree.php
new file mode 100644
index 0000000..3595b98
--- /dev/null
+++ b/messages/zu/kvtree.php
@@ -0,0 +1,81 @@
+ '',
+ 'Operation Disallowed
Invalid request signature detected during tree data {action} action! Please refresh the page and retry.' => '',
+ 'Active' => '',
+ 'Add new' => '',
+ 'Add new root' => '',
+ 'Admin Settings' => '',
+ 'Already at bottom-most node in the hierarchy.' => '',
+ 'Already at left-most node in the hierarchy.' => '',
+ 'Already at right-most node in the hierarchy.' => '',
+ 'Already at top-most node in the hierarchy.' => '',
+ 'Are you sure you want to remove this node?' => '',
+ 'Cannot create node. Parent node is not saved or is invalid.' => '',
+ 'Cannot move this node as the node details are not saved yet.' => '',
+ 'Clear search results' => '',
+ 'Collapsed' => '',
+ 'Default' => '',
+ 'Delete' => '',
+ 'Depth' => '',
+ 'Disabled' => '',
+ 'Error removing the node. Please try again later.' => '',
+ 'Error while creating the node. Please try again later.' => '',
+ 'Error while moving the node. Please try again later.' => '',
+ 'Error while removing the node. Please try again later.' => '',
+ 'Error while saving the node. Please try again later.' => '',
+ 'Error while viewing the node. Please try again later.' => '',
+ 'ID' => '',
+ 'Icon' => '',
+ 'Icon Type' => '',
+ 'Left' => '',
+ 'Movable Down' => '',
+ 'Movable Left' => '',
+ 'Movable Right' => '',
+ 'Movable Up' => '',
+ 'Move Down' => '',
+ 'Move Left' => '',
+ 'Move Right' => '',
+ 'Move Up' => '',
+ 'Name' => '',
+ 'No valid tree nodes are available for display. Use toolbar buttons to add tree nodes.' => '',
+ 'Node # {id} - \'{name}\': {error}' => '',
+ 'Read Only' => '',
+ 'Refresh' => '',
+ 'Removable' => '',
+ 'Removable (with children)' => '',
+ 'Reset' => '',
+ 'Right' => '',
+ 'Root' => '',
+ 'Save' => '',
+ 'Saved the node details successfully.' => '',
+ 'Search...' => '',
+ 'Select a node by clicking on one of the tree items.' => '',
+ 'Select...' => '',
+ 'Selected' => '',
+ 'The node was moved successfully.' => '',
+ 'The node was removed successfully.' => '',
+ 'The node was successfully created.' => '',
+ 'The selected node cannot be moved.' => '',
+ 'The untitled node was removed.' => '',
+ 'This operation is not allowed.' => '',
+ 'Untitled' => '',
+ 'Visible' => '',
+];
diff --git a/migrations/m230416_200116_tree.php b/migrations/m230416_200116_tree.php
index b169fc4..0cee81c 100755
--- a/migrations/m230416_200116_tree.php
+++ b/migrations/m230416_200116_tree.php
@@ -1,7 +1,7 @@
nodeRemovalErrors = [];
$module = TreeView::module();
extract($module->treeStructure);
diff --git a/views/_form.php b/views/_form.php
index 5821bb9..7c25772 100755
--- a/views/_form.php
+++ b/views/_form.php
@@ -1,6 +1,6 @@
@@ -38,12 +44,12 @@
*/
?>
'kv-parent-flag']; // node options for parent/child
-
// parse parent key
if (empty($parentKey)) {
$parent = $node->parents(1)->one();
@@ -127,6 +133,38 @@
= Html::hiddenInput('modelClass', $modelClass) ?>
= Html::hiddenInput('nodeSelected', $nodeSelected) ?>
+security;
+$id = $node->isNewRecord ? null : $node->$keyAttribute;
+
+// save signature
+$dataToHash = !!$node->isNewRecord . $parentKey . $currUrl . $modelClass;
+echo Html::hiddenInput('treeSaveHash', $security->hashData($dataToHash, $module->treeEncryptSalt));
+
+// manage signature
+unset($formOptions['id']);
+
+if (array_key_exists('depth', $breadcrumbs) && $breadcrumbs['depth'] === null) {
+ $breadcrumbs['depth'] = '';
+}
+$dataToHash = $modelClass . !!$isAdmin . !!$softDelete. !!$showFormButtons . !!$showIDAttribute .
+ $currUrl . $nodeView . $nodeSelected . Json::encode($formOptions) .
+ Json::encode($nodeAddlViews) . Json::encode(array_values($iconsList)) . Json::encode($breadcrumbs);
+echo Html::hiddenInput('treeManageHash', $security->hashData($dataToHash, $module->treeEncryptSalt));
+
+// remove signature
+$dataToHash = $modelClass . $softDelete;
+echo Html::hiddenInput('treeRemoveHash', $security->hashData($dataToHash, $module->treeEncryptSalt));
+
+// move signature
+$dataToHash = $modelClass . $allowNewRoots;
+echo Html::hiddenInput('treeMoveHash', $security->hashData($dataToHash, $module->treeEncryptSalt));
+?>
+