Upgrade to 3.2.5
This commit is contained in:
58
kirby/.php_cs
Executable file
58
kirby/.php_cs
Executable file
@@ -0,0 +1,58 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$finder = PhpCsFixer\Finder::create()
|
||||||
|
->exclude('dependencies')
|
||||||
|
->in(__DIR__);
|
||||||
|
|
||||||
|
return PhpCsFixer\Config::create()
|
||||||
|
->setRules([
|
||||||
|
'@PSR1' => true,
|
||||||
|
'@PSR2' => true,
|
||||||
|
'align_multiline_comment' => ['comment_type' => 'phpdocs_like'],
|
||||||
|
'array_indentation' => true,
|
||||||
|
'array_syntax' => ['syntax' => 'short'],
|
||||||
|
'cast_spaces' => ['space' => 'none'],
|
||||||
|
// 'class_keyword_remove' => true, // replaces static::class with 'static' (won't work)
|
||||||
|
'combine_consecutive_issets' => true,
|
||||||
|
'combine_consecutive_unsets' => true,
|
||||||
|
'combine_nested_dirname' => true,
|
||||||
|
'concat_space' => ['spacing' => 'one'],
|
||||||
|
'declare_equal_normalize' => ['space' => 'single'],
|
||||||
|
'dir_constant' => true,
|
||||||
|
'function_typehint_space' => true,
|
||||||
|
'include' => true,
|
||||||
|
'logical_operators' => true,
|
||||||
|
'lowercase_cast' => true,
|
||||||
|
'lowercase_static_reference' => true,
|
||||||
|
'magic_constant_casing' => true,
|
||||||
|
'magic_method_casing' => true,
|
||||||
|
'method_chaining_indentation' => true,
|
||||||
|
'modernize_types_casting' => true,
|
||||||
|
'multiline_comment_opening_closing' => true,
|
||||||
|
'native_function_casing' => true,
|
||||||
|
'native_function_type_declaration_casing' => true,
|
||||||
|
'new_with_braces' => true,
|
||||||
|
'no_blank_lines_after_class_opening' => true,
|
||||||
|
'no_blank_lines_after_phpdoc' => true,
|
||||||
|
'no_empty_comment' => true,
|
||||||
|
'no_empty_phpdoc' => true,
|
||||||
|
'no_empty_statement' => true,
|
||||||
|
'no_leading_namespace_whitespace' => true,
|
||||||
|
'no_mixed_echo_print' => ['use' => 'echo'],
|
||||||
|
'no_unneeded_control_parentheses' => true,
|
||||||
|
'no_unused_imports' => true,
|
||||||
|
'no_useless_return' => true,
|
||||||
|
'ordered_imports' => ['sort_algorithm' => 'alpha'],
|
||||||
|
// 'phpdoc_add_missing_param_annotation' => ['only_untyped' => false], // adds params in the wrong order
|
||||||
|
// 'phpdoc_align' => ['align' => 'vertical'], // added in a second step
|
||||||
|
'phpdoc_indent' => true,
|
||||||
|
// 'phpdoc_scalar' => true, // added in a second step
|
||||||
|
'phpdoc_trim' => true,
|
||||||
|
'short_scalar_cast' => true,
|
||||||
|
'single_line_comment_style' => true,
|
||||||
|
'single_quote' => true,
|
||||||
|
'ternary_to_null_coalescing' => true,
|
||||||
|
'whitespace_after_comma_in_array' => true
|
||||||
|
])
|
||||||
|
->setRiskyAllowed(true)
|
||||||
|
->setFinder($finder);
|
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "getkirby/cms",
|
"name": "getkirby/cms",
|
||||||
"description": "The Kirby 3 core",
|
"description": "The Kirby 3 core",
|
||||||
"version": "3.2.4",
|
"version": "3.2.5",
|
||||||
"license": "proprietary",
|
"license": "proprietary",
|
||||||
"keywords": ["kirby", "cms", "core"],
|
"keywords": ["kirby", "cms", "core"],
|
||||||
"homepage": "https://getkirby.com",
|
"homepage": "https://getkirby.com",
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
"test": "phpunit --stderr --coverage-html=tests/coverage",
|
"test": "phpunit --stderr --coverage-html=tests/coverage",
|
||||||
"zip": "composer archive --format=zip --file=dist",
|
"zip": "composer archive --format=zip --file=dist",
|
||||||
"build": "./scripts/build",
|
"build": "./scripts/build",
|
||||||
"fix": "php-cs-fixer fix ."
|
"fix": "php-cs-fixer fix --config .php_cs"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"optimize-autoloader": true
|
"optimize-autoloader": true
|
||||||
|
@@ -1,8 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Kirby\Cms\Auth;
|
|
||||||
use Kirby\Exception\PermissionException;
|
use Kirby\Exception\PermissionException;
|
||||||
use Kirby\Toolkit\Str;
|
|
||||||
|
|
||||||
return function () {
|
return function () {
|
||||||
$auth = $this->kirby()->auth();
|
$auth = $this->kirby()->auth();
|
||||||
|
@@ -1,12 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Kirby\Cms\Files;
|
|
||||||
use Kirby\Cms\Languages;
|
|
||||||
use Kirby\Cms\Pages;
|
|
||||||
use Kirby\Cms\Roles;
|
|
||||||
use Kirby\Cms\Translations;
|
|
||||||
use Kirby\Cms\Users;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Api Collection Definitions
|
* Api Collection Definitions
|
||||||
*/
|
*/
|
||||||
@@ -17,7 +10,7 @@ return [
|
|||||||
*/
|
*/
|
||||||
'children' => [
|
'children' => [
|
||||||
'model' => 'page',
|
'model' => 'page',
|
||||||
'type' => Pages::class,
|
'type' => 'Kirby\Cms\Pages',
|
||||||
'view' => 'compact'
|
'view' => 'compact'
|
||||||
],
|
],
|
||||||
|
|
||||||
@@ -26,7 +19,7 @@ return [
|
|||||||
*/
|
*/
|
||||||
'files' => [
|
'files' => [
|
||||||
'model' => 'file',
|
'model' => 'file',
|
||||||
'type' => Files::class
|
'type' => 'Kirby\Cms\Files'
|
||||||
],
|
],
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -34,7 +27,7 @@ return [
|
|||||||
*/
|
*/
|
||||||
'languages' => [
|
'languages' => [
|
||||||
'model' => 'language',
|
'model' => 'language',
|
||||||
'type' => Languages::class,
|
'type' => 'Kirby\Cms\Languages',
|
||||||
'view' => 'compact'
|
'view' => 'compact'
|
||||||
],
|
],
|
||||||
|
|
||||||
@@ -43,7 +36,7 @@ return [
|
|||||||
*/
|
*/
|
||||||
'pages' => [
|
'pages' => [
|
||||||
'model' => 'page',
|
'model' => 'page',
|
||||||
'type' => Pages::class,
|
'type' => 'Kirby\Cms\Pages',
|
||||||
'view' => 'compact'
|
'view' => 'compact'
|
||||||
],
|
],
|
||||||
|
|
||||||
@@ -52,7 +45,7 @@ return [
|
|||||||
*/
|
*/
|
||||||
'roles' => [
|
'roles' => [
|
||||||
'model' => 'role',
|
'model' => 'role',
|
||||||
'type' => Roles::class,
|
'type' => 'Kirby\Cms\Roles',
|
||||||
'view' => 'compact'
|
'view' => 'compact'
|
||||||
],
|
],
|
||||||
|
|
||||||
@@ -61,7 +54,7 @@ return [
|
|||||||
*/
|
*/
|
||||||
'translations' => [
|
'translations' => [
|
||||||
'model' => 'translation',
|
'model' => 'translation',
|
||||||
'type' => Translations::class,
|
'type' => 'Kirby\Cms\Translations',
|
||||||
'view' => 'compact'
|
'view' => 'compact'
|
||||||
],
|
],
|
||||||
|
|
||||||
@@ -73,7 +66,7 @@ return [
|
|||||||
return $this->users();
|
return $this->users();
|
||||||
},
|
},
|
||||||
'model' => 'user',
|
'model' => 'user',
|
||||||
'type' => Users::class,
|
'type' => 'Kirby\Cms\Users',
|
||||||
'view' => 'compact'
|
'view' => 'compact'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@@ -1,9 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Kirby\Cms\File;
|
|
||||||
use Kirby\Cms\Page;
|
|
||||||
use Kirby\Cms\Site;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Api Model Definitions
|
* Api Model Definitions
|
||||||
*/
|
*/
|
||||||
|
@@ -115,7 +115,7 @@ return [
|
|||||||
return $file->url(true);
|
return $file->url(true);
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
'type' => File::class,
|
'type' => 'Kirby\Cms\File',
|
||||||
'views' => [
|
'views' => [
|
||||||
'default' => [
|
'default' => [
|
||||||
'content',
|
'content',
|
||||||
|
@@ -20,7 +20,7 @@ return [
|
|||||||
return $blueprint->title();
|
return $blueprint->title();
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
'type' => FileBlueprint::class,
|
'type' => 'Kirby\Cms\FileBlueprint',
|
||||||
'views' => [
|
'views' => [
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
@@ -44,7 +44,7 @@ return [
|
|||||||
return $file->url(true);
|
return $file->url(true);
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
'type' => FileVersion::class,
|
'type' => 'Kirby\Cms\FileVersion',
|
||||||
'views' => [
|
'views' => [
|
||||||
'default' => [
|
'default' => [
|
||||||
'dimensions',
|
'dimensions',
|
||||||
|
@@ -29,7 +29,7 @@ return [
|
|||||||
return $language->url();
|
return $language->url();
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
'type' => Language::class,
|
'type' => 'Kirby\Cms\Language',
|
||||||
'views' => [
|
'views' => [
|
||||||
'compact' => [
|
'compact' => [
|
||||||
'code',
|
'code',
|
||||||
|
@@ -104,7 +104,7 @@ return [
|
|||||||
return $page->url();
|
return $page->url();
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
'type' => Page::class,
|
'type' => 'Kirby\Cms\Page',
|
||||||
'views' => [
|
'views' => [
|
||||||
'compact' => [
|
'compact' => [
|
||||||
'id',
|
'id',
|
||||||
|
@@ -29,7 +29,7 @@ return [
|
|||||||
return $blueprint->title();
|
return $blueprint->title();
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
'type' => PageBlueprint::class,
|
'type' => 'Kirby\Cms\PageBlueprint',
|
||||||
'views' => [
|
'views' => [
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
@@ -20,7 +20,7 @@ return [
|
|||||||
return $role->title();
|
return $role->title();
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
'type' => Role::class,
|
'type' => 'Kirby\Cms\Role',
|
||||||
'views' => [
|
'views' => [
|
||||||
'compact' => [
|
'compact' => [
|
||||||
'description',
|
'description',
|
||||||
|
@@ -39,7 +39,7 @@ return [
|
|||||||
return $site->url();
|
return $site->url();
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
'type' => Site::class,
|
'type' => 'Kirby\Cms\Site',
|
||||||
'views' => [
|
'views' => [
|
||||||
'compact' => [
|
'compact' => [
|
||||||
'title',
|
'title',
|
||||||
|
@@ -20,7 +20,7 @@ return [
|
|||||||
return $blueprint->title();
|
return $blueprint->title();
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
'type' => SiteBlueprint::class,
|
'type' => 'Kirby\Cms\SiteBlueprint',
|
||||||
'views' => [
|
'views' => [
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
@@ -11,6 +11,9 @@ return [
|
|||||||
'ascii' => function () {
|
'ascii' => function () {
|
||||||
return Str::$ascii;
|
return Str::$ascii;
|
||||||
},
|
},
|
||||||
|
'defaultLanguage' => function () {
|
||||||
|
return $this->kirby()->option('panel.language', 'en');
|
||||||
|
},
|
||||||
'isOk' => function (System $system) {
|
'isOk' => function (System $system) {
|
||||||
return $system->isOk();
|
return $system->isOk();
|
||||||
},
|
},
|
||||||
@@ -62,7 +65,7 @@ return [
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
'kirbytext' => function () {
|
'kirbytext' => function () {
|
||||||
return $this->kirby()->option('panel')['kirbytext'] ?? true;
|
return $this->kirby()->option('panel.kirbytext') ?? true;
|
||||||
},
|
},
|
||||||
'user' => function () {
|
'user' => function () {
|
||||||
return $this->user();
|
return $this->user();
|
||||||
@@ -71,7 +74,7 @@ return [
|
|||||||
return $this->kirby()->version();
|
return $this->kirby()->version();
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
'type' => System::class,
|
'type' => 'Kirby\Cms\System',
|
||||||
'views' => [
|
'views' => [
|
||||||
'login' => [
|
'login' => [
|
||||||
'isOk',
|
'isOk',
|
||||||
@@ -90,6 +93,7 @@ return [
|
|||||||
],
|
],
|
||||||
'panel' => [
|
'panel' => [
|
||||||
'ascii',
|
'ascii',
|
||||||
|
'defaultLanguage',
|
||||||
'isOk',
|
'isOk',
|
||||||
'isInstalled',
|
'isInstalled',
|
||||||
'isLocal',
|
'isLocal',
|
||||||
|
@@ -23,7 +23,7 @@ return [
|
|||||||
return $translation->name();
|
return $translation->name();
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
'type' => Translation::class,
|
'type' => 'Kirby\Cms\Translation',
|
||||||
'views' => [
|
'views' => [
|
||||||
'compact' => [
|
'compact' => [
|
||||||
'direction',
|
'direction',
|
||||||
|
@@ -54,7 +54,7 @@ return [
|
|||||||
return $user->username();
|
return $user->username();
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
'type' => User::class,
|
'type' => 'Kirby\Cms\User',
|
||||||
'views' => [
|
'views' => [
|
||||||
'default' => [
|
'default' => [
|
||||||
'avatar',
|
'avatar',
|
||||||
|
@@ -20,7 +20,7 @@ return [
|
|||||||
return $blueprint->title();
|
return $blueprint->title();
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
'type' => UserBlueprint::class,
|
'type' => 'Kirby\Cms\UserBlueprint',
|
||||||
'views' => [
|
'views' => [
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
@@ -1,8 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Kirby\Exception\NotFoundException;
|
|
||||||
use Kirby\Exception\InvalidArgumentException;
|
use Kirby\Exception\InvalidArgumentException;
|
||||||
use Kirby\Exception\PermissionException;
|
use Kirby\Exception\NotFoundException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Authentication
|
* Authentication
|
||||||
|
@@ -1,7 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Kirby\Exception\InvalidArgumentException;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Files Routes
|
* Files Routes
|
||||||
*/
|
*/
|
||||||
|
@@ -1,7 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Kirby\Exception\InvalidArgumentException;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Page Routes
|
* Page Routes
|
||||||
*/
|
*/
|
||||||
|
@@ -8,8 +8,15 @@ return [
|
|||||||
'pattern' => 'roles',
|
'pattern' => 'roles',
|
||||||
'method' => 'GET',
|
'method' => 'GET',
|
||||||
'action' => function () {
|
'action' => function () {
|
||||||
|
switch (get('canBe')) {
|
||||||
|
case 'changed':
|
||||||
|
return $this->kirby()->roles()->canBeChanged();
|
||||||
|
case 'created':
|
||||||
|
return $this->kirby()->roles()->canBeCreated();
|
||||||
|
default:
|
||||||
return $this->kirby()->roles();
|
return $this->kirby()->roles();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'pattern' => 'roles/(:any)',
|
'pattern' => 'roles/(:any)',
|
||||||
|
@@ -1,5 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Kirby\Exception\Exception;
|
||||||
|
use Kirby\Exception\InvalidArgumentException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* System Routes
|
* System Routes
|
||||||
*/
|
*/
|
||||||
@@ -54,11 +57,11 @@ return [
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($system->isInstallable() === false) {
|
if ($system->isInstallable() === false) {
|
||||||
throw new Exception('The panel cannot be installed');
|
throw new Exception('The Panel cannot be installed');
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($system->isInstalled() === true) {
|
if ($system->isInstalled() === true) {
|
||||||
throw new Exception('The panel is already installed');
|
throw new Exception('The Panel is already installed');
|
||||||
}
|
}
|
||||||
|
|
||||||
// create the first user
|
// create the first user
|
||||||
|
@@ -4,12 +4,8 @@ use Kirby\Cms\App;
|
|||||||
use Kirby\Cms\File;
|
use Kirby\Cms\File;
|
||||||
use Kirby\Cms\Filename;
|
use Kirby\Cms\Filename;
|
||||||
use Kirby\Cms\FileVersion;
|
use Kirby\Cms\FileVersion;
|
||||||
use Kirby\Cms\FileModifications;
|
|
||||||
use Kirby\Cms\Model;
|
|
||||||
use Kirby\Cms\Response;
|
|
||||||
use Kirby\Cms\Template;
|
use Kirby\Cms\Template;
|
||||||
use Kirby\Data\Data;
|
use Kirby\Data\Data;
|
||||||
use Kirby\Exception\NotFoundException;
|
|
||||||
use Kirby\Image\Darkroom;
|
use Kirby\Image\Darkroom;
|
||||||
use Kirby\Text\Markdown;
|
use Kirby\Text\Markdown;
|
||||||
use Kirby\Text\SmartyPants;
|
use Kirby\Text\SmartyPants;
|
||||||
@@ -22,7 +18,7 @@ return [
|
|||||||
/**
|
/**
|
||||||
* Used by the `css()` helper
|
* Used by the `css()` helper
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\App $kirby Kirby instance
|
* @param \Kirby\Cms\App $kirby Kirby instance
|
||||||
* @param string $url Relative or absolute URL
|
* @param string $url Relative or absolute URL
|
||||||
* @param string|array $options An array of attributes for the link tag or a media attribute string
|
* @param string|array $options An array of attributes for the link tag or a media attribute string
|
||||||
*/
|
*/
|
||||||
@@ -33,8 +29,8 @@ return [
|
|||||||
/**
|
/**
|
||||||
* Modify URLs for file objects
|
* Modify URLs for file objects
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\App $kirby Kirby instance
|
* @param \Kirby\Cms\App $kirby Kirby instance
|
||||||
* @param Kirby\Cms\File $file The original file object
|
* @param \Kirby\Cms\File $file The original file object
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
'file::url' => function (App $kirby, File $file): string {
|
'file::url' => function (App $kirby, File $file): string {
|
||||||
@@ -44,10 +40,10 @@ return [
|
|||||||
/**
|
/**
|
||||||
* Adapt file characteristics
|
* Adapt file characteristics
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\App $kirby Kirby instance
|
* @param \Kirby\Cms\App $kirby Kirby instance
|
||||||
* @param Kirby\Cms\File|Kirby\Cms\FileModifications $file The file object
|
* @param \Kirby\Cms\File|\Kirby\Cms\FileModifications $file The file object
|
||||||
* @param array $options All thumb options (width, height, crop, blur, grayscale)
|
* @param array $options All thumb options (width, height, crop, blur, grayscale)
|
||||||
* @return Kirby\Cms\File|Kirby\Cms\FileVersion
|
* @return \Kirby\Cms\File|\Kirby\Cms\FileVersion
|
||||||
*/
|
*/
|
||||||
'file::version' => function (App $kirby, $file, array $options = []) {
|
'file::version' => function (App $kirby, $file, array $options = []) {
|
||||||
if ($file->isResizable() === false) {
|
if ($file->isResizable() === false) {
|
||||||
@@ -82,7 +78,7 @@ return [
|
|||||||
/**
|
/**
|
||||||
* Used by the `js()` helper
|
* Used by the `js()` helper
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\App $kirby Kirby instance
|
* @param \Kirby\Cms\App $kirby Kirby instance
|
||||||
* @param string $url Relative or absolute URL
|
* @param string $url Relative or absolute URL
|
||||||
* @param string|array $options An array of attributes for the link tag or a media attribute string
|
* @param string|array $options An array of attributes for the link tag or a media attribute string
|
||||||
*/
|
*/
|
||||||
@@ -93,7 +89,7 @@ return [
|
|||||||
/**
|
/**
|
||||||
* Add your own Markdown parser
|
* Add your own Markdown parser
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\App $kirby Kirby instance
|
* @param \Kirby\Cms\App $kirby Kirby instance
|
||||||
* @param string $text Text to parse
|
* @param string $text Text to parse
|
||||||
* @param array $options Markdown options
|
* @param array $options Markdown options
|
||||||
* @param bool $inline Whether to wrap the text in `<p>` tags
|
* @param bool $inline Whether to wrap the text in `<p>` tags
|
||||||
@@ -116,7 +112,7 @@ return [
|
|||||||
/**
|
/**
|
||||||
* Add your own SmartyPants parser
|
* Add your own SmartyPants parser
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\App $kirby Kirby instance
|
* @param \Kirby\Cms\App $kirby Kirby instance
|
||||||
* @param string $text Text to parse
|
* @param string $text Text to parse
|
||||||
* @param array $options SmartyPants options
|
* @param array $options SmartyPants options
|
||||||
* @return string
|
* @return string
|
||||||
@@ -138,7 +134,7 @@ return [
|
|||||||
/**
|
/**
|
||||||
* Add your own snippet loader
|
* Add your own snippet loader
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\App $kirby Kirby instance
|
* @param \Kirby\Cms\App $kirby Kirby instance
|
||||||
* @param string|array $name Snippet name
|
* @param string|array $name Snippet name
|
||||||
* @param array $data Data array for the snippet
|
* @param array $data Data array for the snippet
|
||||||
* @return string|null
|
* @return string|null
|
||||||
@@ -165,11 +161,11 @@ return [
|
|||||||
/**
|
/**
|
||||||
* Add your own template engine
|
* Add your own template engine
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\App $kirby Kirby instance
|
* @param \Kirby\Cms\App $kirby Kirby instance
|
||||||
* @param string $name Template name
|
* @param string $name Template name
|
||||||
* @param string $type Extension type
|
* @param string $type Extension type
|
||||||
* @param string $defaultType Default extension type
|
* @param string $defaultType Default extension type
|
||||||
* @return Kirby\Cms\Template
|
* @return \Kirby\Cms\Template
|
||||||
*/
|
*/
|
||||||
'template' => function (App $kirby, string $name, string $type = 'html', string $defaultType = 'html') {
|
'template' => function (App $kirby, string $name, string $type = 'html', string $defaultType = 'html') {
|
||||||
return new Template($name, $type, $defaultType);
|
return new Template($name, $type, $defaultType);
|
||||||
@@ -178,7 +174,7 @@ return [
|
|||||||
/**
|
/**
|
||||||
* Add your own thumb generator
|
* Add your own thumb generator
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\App $kirby Kirby instance
|
* @param \Kirby\Cms\App $kirby Kirby instance
|
||||||
* @param string $src The root of the original file
|
* @param string $src The root of the original file
|
||||||
* @param string $dst The root to the desired destination
|
* @param string $dst The root to the desired destination
|
||||||
* @param array $options All thumb options that should be applied: `width`, `height`, `crop`, `blur`, `grayscale`
|
* @param array $options All thumb options that should be applied: `width`, `height`, `crop`, `blur`, `grayscale`
|
||||||
@@ -198,7 +194,7 @@ return [
|
|||||||
/**
|
/**
|
||||||
* Modify all URLs
|
* Modify all URLs
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\App $kirby Kirby instance
|
* @param \Kirby\Cms\App $kirby Kirby instance
|
||||||
* @param string $path URL path
|
* @param string $path URL path
|
||||||
* @param array|null $options Array of options for the Uri class
|
* @param array|null $options Array of options for the Uri class
|
||||||
* @param Closure $originalHandler Callback function to the original URL handler with `$path` and `$options` as parameters
|
* @param Closure $originalHandler Callback function to the original URL handler with `$path` and `$options` as parameters
|
||||||
|
@@ -21,7 +21,7 @@ return [
|
|||||||
/**
|
/**
|
||||||
* Changes the calendar icon to something custom
|
* Changes the calendar icon to something custom
|
||||||
*/
|
*/
|
||||||
'icon' => function (string $icon = "calendar") {
|
'icon' => function (string $icon = 'calendar') {
|
||||||
return $icon;
|
return $icon;
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Kirby\Toolkit\I18n;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'extends' => 'text',
|
'extends' => 'text',
|
||||||
'props' => [
|
'props' => [
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Kirby\Data\Yaml;
|
||||||
use Kirby\Toolkit\A;
|
use Kirby\Toolkit\A;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
@@ -112,7 +113,7 @@ return [
|
|||||||
$field = $this->field();
|
$field = $this->field();
|
||||||
$uploads = $field->uploads();
|
$uploads = $field->uploads();
|
||||||
|
|
||||||
return $field->upload($this, $uploads, function ($file) use ($field) {
|
return $field->upload($this, $uploads, function ($file, $parent) use ($field) {
|
||||||
return $file->panelPickerData([
|
return $file->panelPickerData([
|
||||||
'image' => $field->image(),
|
'image' => $field->image(),
|
||||||
'info' => $field->info(),
|
'info' => $field->info(),
|
||||||
|
@@ -13,14 +13,11 @@ return [
|
|||||||
],
|
],
|
||||||
'computed' => [
|
'computed' => [
|
||||||
'text' => function () {
|
'text' => function () {
|
||||||
$text = $this->text;
|
if ($text = $this->text) {
|
||||||
|
|
||||||
if ($model = $this->model()) {
|
|
||||||
$text = $this->model()->toString($text);
|
$text = $this->model()->toString($text);
|
||||||
}
|
|
||||||
|
|
||||||
return kirbytext($text);
|
return kirbytext($text);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
],
|
],
|
||||||
'save' => false,
|
'save' => false,
|
||||||
];
|
];
|
||||||
|
@@ -19,7 +19,7 @@ return [
|
|||||||
$self = [
|
$self = [
|
||||||
'id' => $parent->id() == '' ? null : $parent->id(),
|
'id' => $parent->id() == '' ? null : $parent->id(),
|
||||||
'title' => $parent->title()->value(),
|
'title' => $parent->title()->value(),
|
||||||
'parent' => is_a($parent->parent(), Page::class) === true ? $parent->parent()->id() : null,
|
'parent' => is_a($parent->parent(), 'Kirby\Cms\Page') === true ? $parent->parent()->id() : null,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Kirby\Toolkit\I18n;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'props' => [
|
'props' => [
|
||||||
|
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
use Kirby\Cms\Api;
|
use Kirby\Cms\Api;
|
||||||
use Kirby\Cms\File;
|
use Kirby\Cms\File;
|
||||||
|
use Kirby\Exception\Exception;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'props' => [
|
'props' => [
|
||||||
@@ -64,7 +65,7 @@ return [
|
|||||||
throw new Exception('The file could not be uploaded');
|
throw new Exception('The file could not be uploaded');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $map($file);
|
return $map($file, $parent);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Kirby\Toolkit\Str;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'props' => [
|
'props' => [
|
||||||
/**
|
/**
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Kirby\Data\Yaml;
|
||||||
use Kirby\Toolkit\A;
|
use Kirby\Toolkit\A;
|
||||||
use Kirby\Toolkit\I18n;
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'mixins' => ['min', 'pagepicker', 'picker'],
|
'mixins' => ['min', 'pagepicker', 'picker'],
|
||||||
@@ -47,6 +47,12 @@ return [
|
|||||||
return $this->toPages($value);
|
return $this->toPages($value);
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
'computed' => [
|
||||||
|
/**
|
||||||
|
* Unset inherited computed
|
||||||
|
*/
|
||||||
|
'default' => null
|
||||||
|
],
|
||||||
'methods' => [
|
'methods' => [
|
||||||
'pageResponse' => function ($page) {
|
'pageResponse' => function ($page) {
|
||||||
return $page->panelPickerData([
|
return $page->panelPickerData([
|
||||||
|
@@ -1,7 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Kirby\Cms\Form;
|
use Kirby\Cms\Form;
|
||||||
use Kirby\Cms\Blueprint;
|
use Kirby\Data\Yaml;
|
||||||
|
use Kirby\Toolkit\I18n;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'mixins' => ['min'],
|
'mixins' => ['min'],
|
||||||
@@ -162,7 +163,7 @@ return [
|
|||||||
$data = [];
|
$data = [];
|
||||||
|
|
||||||
foreach ($value as $row) {
|
foreach ($value as $row) {
|
||||||
$data[] = $this->form($row)->data(true);
|
$data[] = $this->form($row)->data();
|
||||||
}
|
}
|
||||||
|
|
||||||
return $data;
|
return $data;
|
||||||
|
@@ -1,5 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Kirby\Toolkit\A;
|
||||||
|
use Kirby\Toolkit\Str;
|
||||||
|
use Kirby\Toolkit\V;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'mixins' => ['min', 'options'],
|
'mixins' => ['min', 'options'],
|
||||||
'props' => [
|
'props' => [
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Kirby\Exception\InvalidArgumentException;
|
use Kirby\Exception\InvalidArgumentException;
|
||||||
use Kirby\Toolkit\I18n;
|
|
||||||
use Kirby\Toolkit\Str;
|
use Kirby\Toolkit\Str;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
@@ -98,6 +97,7 @@ return [
|
|||||||
],
|
],
|
||||||
'validations' => [
|
'validations' => [
|
||||||
'minlength',
|
'minlength',
|
||||||
'maxlength'
|
'maxlength',
|
||||||
|
'pattern'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
@@ -76,7 +76,7 @@ return [
|
|||||||
/**
|
/**
|
||||||
* If `false`, spellcheck will be switched off
|
* If `false`, spellcheck will be switched off
|
||||||
*/
|
*/
|
||||||
'spellcheck' => function (bool $spellcheck = false) {
|
'spellcheck' => function (bool $spellcheck = true) {
|
||||||
return $spellcheck;
|
return $spellcheck;
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -95,10 +95,15 @@ return [
|
|||||||
[
|
[
|
||||||
'pattern' => 'upload',
|
'pattern' => 'upload',
|
||||||
'action' => function () {
|
'action' => function () {
|
||||||
return $this->field()->upload($this, $this->field()->uploads(), function ($file) {
|
$field = $this->field();
|
||||||
|
$uploads = $field->uploads();
|
||||||
|
|
||||||
|
return $this->field()->upload($this, $uploads, function ($file, $parent) use ($field) {
|
||||||
|
$absolute = $field->model()->is($parent) === false;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'filename' => $file->filename(),
|
'filename' => $file->filename(),
|
||||||
'dragText' => $file->dragText(),
|
'dragText' => $file->dragText('auto', $absolute),
|
||||||
];
|
];
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Kirby\Exception\InvalidArgumentException;
|
use Kirby\Exception\InvalidArgumentException;
|
||||||
|
use Kirby\Toolkit\I18n;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'props' => [
|
'props' => [
|
||||||
@@ -12,8 +13,8 @@ return [
|
|||||||
/**
|
/**
|
||||||
* Default value which will be saved when a new page/user/file is created
|
* Default value which will be saved when a new page/user/file is created
|
||||||
*/
|
*/
|
||||||
'default' => function ($value = null) {
|
'default' => function ($default = null) {
|
||||||
return $this->toBool($value);
|
return $this->default = $default;
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Sets the text next to the toggle. The text can be a string or an array of two options. The first one is the negative text and the second one the positive. The text will automatically switch when the toggle is triggered.
|
* Sets the text next to the toggle. The text can be a string or an array of two options. The first one is the negative text and the second one the positive. The text will automatically switch when the toggle is triggered.
|
||||||
@@ -35,6 +36,9 @@ return [
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
'computed' => [
|
'computed' => [
|
||||||
|
'default' => function () {
|
||||||
|
return $this->toBool($this->default);
|
||||||
|
},
|
||||||
'value' => function () {
|
'value' => function () {
|
||||||
if ($this->props['value'] === null) {
|
if ($this->props['value'] === null) {
|
||||||
return $this->default();
|
return $this->default();
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Kirby\Toolkit\I18n;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'extends' => 'text',
|
'extends' => 'text',
|
||||||
'props' => [
|
'props' => [
|
||||||
|
@@ -1,5 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Kirby\Data\Yaml;
|
||||||
|
use Kirby\Toolkit\A;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'mixins' => ['min', 'picker', 'userpicker'],
|
'mixins' => ['min', 'picker', 'userpicker'],
|
||||||
'props' => [
|
'props' => [
|
||||||
@@ -33,6 +36,12 @@ return [
|
|||||||
return $this->toUsers($value);
|
return $this->toUsers($value);
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
'computed' => [
|
||||||
|
/**
|
||||||
|
* Unset inherited computed
|
||||||
|
*/
|
||||||
|
'default' => null
|
||||||
|
],
|
||||||
'methods' => [
|
'methods' => [
|
||||||
'userResponse' => function ($user) {
|
'userResponse' => function ($user) {
|
||||||
return $user->panelPickerData([
|
return $user->panelPickerData([
|
||||||
|
@@ -5,18 +5,18 @@ use Kirby\Cms\Asset;
|
|||||||
use Kirby\Cms\Html;
|
use Kirby\Cms\Html;
|
||||||
use Kirby\Cms\Response;
|
use Kirby\Cms\Response;
|
||||||
use Kirby\Cms\Url;
|
use Kirby\Cms\Url;
|
||||||
use Kirby\Exception\Exception;
|
|
||||||
use Kirby\Http\Server;
|
use Kirby\Http\Server;
|
||||||
use Kirby\Toolkit\Escape;
|
use Kirby\Toolkit\Escape;
|
||||||
use Kirby\Toolkit\F;
|
use Kirby\Toolkit\F;
|
||||||
use Kirby\Toolkit\I18n;
|
use Kirby\Toolkit\I18n;
|
||||||
use Kirby\Toolkit\View;
|
use Kirby\Toolkit\Str;
|
||||||
|
use Kirby\Toolkit\V;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper to create an asset object
|
* Helper to create an asset object
|
||||||
*
|
*
|
||||||
* @param string $path
|
* @param string $path
|
||||||
* @return Kirby\Cms\Asset
|
* @return \Kirby\Cms\Asset
|
||||||
*/
|
*/
|
||||||
function asset(string $path)
|
function asset(string $path)
|
||||||
{
|
{
|
||||||
@@ -44,7 +44,7 @@ function attr(array $attr = null, $before = null, $after = null)
|
|||||||
* Returns the result of a collection by name
|
* Returns the result of a collection by name
|
||||||
*
|
*
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @return Kirby\Cms\Collection|null
|
* @return \Kirby\Cms\Collection|null
|
||||||
*/
|
*/
|
||||||
function collection(string $name)
|
function collection(string $name)
|
||||||
{
|
{
|
||||||
@@ -217,7 +217,7 @@ function go(string $url = null, int $code = 302)
|
|||||||
/**
|
/**
|
||||||
* Shortcut for html()
|
* Shortcut for html()
|
||||||
*
|
*
|
||||||
* @param string $text unencoded text
|
* @param string $string unencoded text
|
||||||
* @param bool $keepTags
|
* @param bool $keepTags
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
@@ -229,7 +229,7 @@ function h(string $string = null, bool $keepTags = false)
|
|||||||
/**
|
/**
|
||||||
* Creates safe html by encoding special characters
|
* Creates safe html by encoding special characters
|
||||||
*
|
*
|
||||||
* @param string $text unencoded text
|
* @param string $string unencoded text
|
||||||
* @param bool $keepTags
|
* @param bool $keepTags
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
@@ -246,7 +246,7 @@ function html(string $string = null, bool $keepTags = false)
|
|||||||
* <?= image('some/page/myimage.jpg') ?>
|
* <?= image('some/page/myimage.jpg') ?>
|
||||||
*
|
*
|
||||||
* @param string $path
|
* @param string $path
|
||||||
* @return Kirby\Cms\File|null
|
* @return \Kirby\Cms\File|null
|
||||||
*/
|
*/
|
||||||
function image(string $path = null)
|
function image(string $path = null)
|
||||||
{
|
{
|
||||||
@@ -346,7 +346,7 @@ function invalid(array $data = [], array $rules = [], array $messages = [])
|
|||||||
/**
|
/**
|
||||||
* Creates a script tag to load a javascript file
|
* Creates a script tag to load a javascript file
|
||||||
*
|
*
|
||||||
* @param string|array $src
|
* @param string|array $url
|
||||||
* @param string|array $options
|
* @param string|array $options
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
@@ -382,7 +382,7 @@ function js($url, $options = null)
|
|||||||
/**
|
/**
|
||||||
* Returns the Kirby object in any situation
|
* Returns the Kirby object in any situation
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\App
|
* @return \Kirby\Cms\App
|
||||||
*/
|
*/
|
||||||
function kirby()
|
function kirby()
|
||||||
{
|
{
|
||||||
@@ -527,7 +527,7 @@ function option(string $key, $default = null)
|
|||||||
* id or the current page when no id is specified
|
* id or the current page when no id is specified
|
||||||
*
|
*
|
||||||
* @param string|array ...$id
|
* @param string|array ...$id
|
||||||
* @return Kirby\Cms\Page|null
|
* @return \Kirby\Cms\Page|null
|
||||||
*/
|
*/
|
||||||
function page(...$id)
|
function page(...$id)
|
||||||
{
|
{
|
||||||
@@ -542,7 +542,7 @@ function page(...$id)
|
|||||||
* Helper to build page collections
|
* Helper to build page collections
|
||||||
*
|
*
|
||||||
* @param string|array ...$id
|
* @param string|array ...$id
|
||||||
* @return Kirby\Cms\Pages
|
* @return \Kirby\Cms\Pages
|
||||||
*/
|
*/
|
||||||
function pages(...$id)
|
function pages(...$id)
|
||||||
{
|
{
|
||||||
@@ -616,7 +616,7 @@ function timestamp(string $date = null, int $step = null): ?string
|
|||||||
/**
|
/**
|
||||||
* Returns the currrent site object
|
* Returns the currrent site object
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\Site
|
* @return \Kirby\Cms\Site
|
||||||
*/
|
*/
|
||||||
function site()
|
function site()
|
||||||
{
|
{
|
||||||
|
@@ -5,11 +5,13 @@ use Kirby\Cms\Field;
|
|||||||
use Kirby\Cms\File;
|
use Kirby\Cms\File;
|
||||||
use Kirby\Cms\Files;
|
use Kirby\Cms\Files;
|
||||||
use Kirby\Cms\Html;
|
use Kirby\Cms\Html;
|
||||||
use Kirby\Cms\Structure;
|
|
||||||
use Kirby\Cms\Page;
|
use Kirby\Cms\Page;
|
||||||
|
use Kirby\Cms\Structure;
|
||||||
use Kirby\Cms\Url;
|
use Kirby\Cms\Url;
|
||||||
use Kirby\Data\Json;
|
use Kirby\Data\Json;
|
||||||
use Kirby\Data\Yaml;
|
use Kirby\Data\Yaml;
|
||||||
|
use Kirby\Exception\Exception;
|
||||||
|
use Kirby\Exception\InvalidArgumentException;
|
||||||
use Kirby\Toolkit\Str;
|
use Kirby\Toolkit\Str;
|
||||||
use Kirby\Toolkit\V;
|
use Kirby\Toolkit\V;
|
||||||
use Kirby\Toolkit\Xml;
|
use Kirby\Toolkit\Xml;
|
||||||
@@ -25,7 +27,7 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Converts the field value into a proper boolean and inverts it
|
* Converts the field value into a proper boolean and inverts it
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
'isFalse' => function (Field $field): bool {
|
'isFalse' => function (Field $field): bool {
|
||||||
@@ -35,7 +37,7 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Converts the field value into a proper boolean
|
* Converts the field value into a proper boolean
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
'isTrue' => function (Field $field): bool {
|
'isTrue' => function (Field $field): bool {
|
||||||
@@ -46,7 +48,7 @@ return function (App $app) {
|
|||||||
* Validates the field content with the given validator and parameters
|
* Validates the field content with the given validator and parameters
|
||||||
*
|
*
|
||||||
* @param string $validator
|
* @param string $validator
|
||||||
* @param mixed[] ...$arguments A list of optional validator arguments
|
* @param mixed ...$arguments A list of optional validator arguments
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
'isValid' => function (Field $field, string $validator, ...$arguments): bool {
|
'isValid' => function (Field $field, string $validator, ...$arguments): bool {
|
||||||
@@ -58,7 +60,7 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Parses the field value with the given method
|
* Parses the field value with the given method
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @param string $method [',', 'yaml', 'json']
|
* @param string $method [',', 'yaml', 'json']
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
@@ -76,7 +78,7 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Converts the field value into a proper boolean
|
* Converts the field value into a proper boolean
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @param bool $default Default value if the field is empty
|
* @param bool $default Default value if the field is empty
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
@@ -88,7 +90,7 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Converts the field value to a timestamp or a formatted date
|
* Converts the field value to a timestamp or a formatted date
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @param string|null $format PHP date formatting string
|
* @param string|null $format PHP date formatting string
|
||||||
* @param string|null $fallback Fallback string for `strtotime` (since 3.2)
|
* @param string|null $fallback Fallback string for `strtotime` (since 3.2)
|
||||||
* @return string|int
|
* @return string|int
|
||||||
@@ -110,8 +112,8 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Returns a file object from a filename in the field
|
* Returns a file object from a filename in the field
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return Kirby\Cms\File|null
|
* @return \Kirby\Cms\File|null
|
||||||
*/
|
*/
|
||||||
'toFile' => function (Field $field) {
|
'toFile' => function (Field $field) {
|
||||||
return $field->toFiles()->first();
|
return $field->toFiles()->first();
|
||||||
@@ -120,9 +122,9 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Returns a file collection from a yaml list of filenames in the field
|
* Returns a file collection from a yaml list of filenames in the field
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @param string $separator
|
* @param string $separator
|
||||||
* @return Kirby\Cms\Files
|
* @return \Kirby\Cms\Files
|
||||||
*/
|
*/
|
||||||
'toFiles' => function (Field $field, string $separator = 'yaml') {
|
'toFiles' => function (Field $field, string $separator = 'yaml') {
|
||||||
$parent = $field->parent();
|
$parent = $field->parent();
|
||||||
@@ -140,31 +142,31 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Converts the field value into a proper float
|
* Converts the field value into a proper float
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @param float $default Default value if the field is empty
|
* @param float $default Default value if the field is empty
|
||||||
* @return float
|
* @return float
|
||||||
*/
|
*/
|
||||||
'toFloat' => function (Field $field, float $default = 0) {
|
'toFloat' => function (Field $field, float $default = 0) {
|
||||||
$value = $field->isEmpty() ? $default : $field->value;
|
$value = $field->isEmpty() ? $default : $field->value;
|
||||||
return floatval($value);
|
return (float)$value;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts the field value into a proper integer
|
* Converts the field value into a proper integer
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @param int $default Default value if the field is empty
|
* @param int $default Default value if the field is empty
|
||||||
* @return int
|
* @return int
|
||||||
*/
|
*/
|
||||||
'toInt' => function (Field $field, int $default = 0) {
|
'toInt' => function (Field $field, int $default = 0) {
|
||||||
$value = $field->isEmpty() ? $default : $field->value;
|
$value = $field->isEmpty() ? $default : $field->value;
|
||||||
return intval($value);
|
return (int)$value;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Wraps a link tag around the field value. The field value is used as the link text
|
* Wraps a link tag around the field value. The field value is used as the link text
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @param mixed $attr1 Can be an optional Url. If no Url is set, the Url of the Page, File or Site will be used. Can also be an array of link attributes
|
* @param mixed $attr1 Can be an optional Url. If no Url is set, the Url of the Page, File or Site will be used. Can also be an array of link attributes
|
||||||
* @param mixed $attr2 If `$attr1` is used to set the Url, you can use `$attr2` to pass an array of additional attributes.
|
* @param mixed $attr2 If `$attr1` is used to set the Url, you can use `$attr2` to pass an array of additional attributes.
|
||||||
* @return string
|
* @return string
|
||||||
@@ -188,8 +190,8 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Returns a page object from a page id in the field
|
* Returns a page object from a page id in the field
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return Kirby\Cms\Page|null
|
* @return \Kirby\Cms\Page|null
|
||||||
*/
|
*/
|
||||||
'toPage' => function (Field $field) use ($app) {
|
'toPage' => function (Field $field) use ($app) {
|
||||||
return $field->toPages()->first();
|
return $field->toPages()->first();
|
||||||
@@ -198,9 +200,9 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Returns a pages collection from a yaml list of page ids in the field
|
* Returns a pages collection from a yaml list of page ids in the field
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @param string $separator Can be any other separator to split the field value by
|
* @param string $separator Can be any other separator to split the field value by
|
||||||
* @return Kirby\Cms\Pages
|
* @return \Kirby\Cms\Pages
|
||||||
*/
|
*/
|
||||||
'toPages' => function (Field $field, string $separator = 'yaml') use ($app) {
|
'toPages' => function (Field $field, string $separator = 'yaml') use ($app) {
|
||||||
return $app->site()->find(false, false, ...$field->toData($separator));
|
return $app->site()->find(false, false, ...$field->toData($separator));
|
||||||
@@ -209,17 +211,27 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Converts a yaml field to a Structure object
|
* Converts a yaml field to a Structure object
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return Kirby\Cms\Structure
|
* @return \Kirby\Cms\Structure
|
||||||
*/
|
*/
|
||||||
'toStructure' => function (Field $field) {
|
'toStructure' => function (Field $field) {
|
||||||
|
try {
|
||||||
return new Structure(Yaml::decode($field->value), $field->parent());
|
return new Structure(Yaml::decode($field->value), $field->parent());
|
||||||
|
} catch (Exception $e) {
|
||||||
|
if ($field->parent() === null) {
|
||||||
|
$message = 'Invalid structure data for "' . $field->key() . '" field';
|
||||||
|
} else {
|
||||||
|
$message = 'Invalid structure data for "' . $field->key() . '" field on parent "' . $field->parent()->title() . '"';
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new InvalidArgumentException($message);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts the field value to a Unix timestamp
|
* Converts the field value to a Unix timestamp
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return int
|
* @return int
|
||||||
*/
|
*/
|
||||||
'toTimestamp' => function (Field $field): int {
|
'toTimestamp' => function (Field $field): int {
|
||||||
@@ -229,7 +241,7 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Turns the field value into an absolute Url
|
* Turns the field value into an absolute Url
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
'toUrl' => function (Field $field): string {
|
'toUrl' => function (Field $field): string {
|
||||||
@@ -239,8 +251,8 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Converts a user email address to a user object
|
* Converts a user email address to a user object
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return Kirby\Cms\User|null
|
* @return \Kirby\Cms\User|null
|
||||||
*/
|
*/
|
||||||
'toUser' => function (Field $field) use ($app) {
|
'toUser' => function (Field $field) use ($app) {
|
||||||
return $field->toUsers()->first();
|
return $field->toUsers()->first();
|
||||||
@@ -249,9 +261,9 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Returns a users collection from a yaml list of user email addresses in the field
|
* Returns a users collection from a yaml list of user email addresses in the field
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @param string $separator
|
* @param string $separator
|
||||||
* @return Kirby\Cms\Users
|
* @return \Kirby\Cms\Users
|
||||||
*/
|
*/
|
||||||
'toUsers' => function (Field $field, string $separator = 'yaml') use ($app) {
|
'toUsers' => function (Field $field, string $separator = 'yaml') use ($app) {
|
||||||
return $app->users()->find(false, false, ...$field->toData($separator));
|
return $app->users()->find(false, false, ...$field->toData($separator));
|
||||||
@@ -279,7 +291,7 @@ return function (App $app) {
|
|||||||
* Escapes the field value to be safely used in HTML
|
* Escapes the field value to be safely used in HTML
|
||||||
* templates without the risk of XSS attacks
|
* templates without the risk of XSS attacks
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @param string $context html, attr, js or css
|
* @param string $context html, attr, js or css
|
||||||
*/
|
*/
|
||||||
'escape' => function (Field $field, string $context = 'html') {
|
'escape' => function (Field $field, string $context = 'html') {
|
||||||
@@ -291,11 +303,11 @@ return function (App $app) {
|
|||||||
* Creates an excerpt of the field value without html
|
* Creates an excerpt of the field value without html
|
||||||
* or any other formatting.
|
* or any other formatting.
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @param int $cahrs
|
* @param int $cahrs
|
||||||
* @param boolean $strip
|
* @param boolean $strip
|
||||||
* @param string $rep
|
* @param string $rep
|
||||||
* @return Kirby\Cms\Field
|
* @return \Kirby\Cms\Field
|
||||||
*/
|
*/
|
||||||
'excerpt' => function (Field $field, int $chars = 0, bool $strip = true, string $rep = '…') {
|
'excerpt' => function (Field $field, int $chars = 0, bool $strip = true, string $rep = '…') {
|
||||||
$field->value = Str::excerpt($field->kirbytext()->value(), $chars, $strip, $rep);
|
$field->value = Str::excerpt($field->kirbytext()->value(), $chars, $strip, $rep);
|
||||||
@@ -305,8 +317,8 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Converts the field content to valid HTML
|
* Converts the field content to valid HTML
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return Kirby\Cms\Field
|
* @return \Kirby\Cms\Field
|
||||||
*/
|
*/
|
||||||
'html' => function (Field $field) {
|
'html' => function (Field $field) {
|
||||||
$field->value = htmlentities($field->value, ENT_COMPAT, 'utf-8');
|
$field->value = htmlentities($field->value, ENT_COMPAT, 'utf-8');
|
||||||
@@ -316,8 +328,8 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Converts the field content from Markdown/Kirbytext to valid HTML
|
* Converts the field content from Markdown/Kirbytext to valid HTML
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return Kirby\Cms\Field
|
* @return \Kirby\Cms\Field
|
||||||
*/
|
*/
|
||||||
'kirbytext' => function (Field $field) use ($app) {
|
'kirbytext' => function (Field $field) use ($app) {
|
||||||
$field->value = $app->kirbytext($field->value, [
|
$field->value = $app->kirbytext($field->value, [
|
||||||
@@ -333,8 +345,8 @@ return function (App $app) {
|
|||||||
* to valid HTML
|
* to valid HTML
|
||||||
* @since 3.1.0
|
* @since 3.1.0
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return Kirby\Cms\Field
|
* @return \Kirby\Cms\Field
|
||||||
*/
|
*/
|
||||||
'kirbytextinline' => function (Field $field) use ($app) {
|
'kirbytextinline' => function (Field $field) use ($app) {
|
||||||
$field->value = $app->kirbytext($field->value, [
|
$field->value = $app->kirbytext($field->value, [
|
||||||
@@ -348,8 +360,8 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Parses all KirbyTags without also parsing Markdown
|
* Parses all KirbyTags without also parsing Markdown
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return Kirby\Cms\Field
|
* @return \Kirby\Cms\Field
|
||||||
*/
|
*/
|
||||||
'kirbytags' => function (Field $field) use ($app) {
|
'kirbytags' => function (Field $field) use ($app) {
|
||||||
$field->value = $app->kirbytags($field->value, [
|
$field->value = $app->kirbytags($field->value, [
|
||||||
@@ -363,8 +375,8 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Converts the field content to lowercase
|
* Converts the field content to lowercase
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return Kirby\Cms\Field
|
* @return \Kirby\Cms\Field
|
||||||
*/
|
*/
|
||||||
'lower' => function (Field $field) {
|
'lower' => function (Field $field) {
|
||||||
$field->value = Str::lower($field->value);
|
$field->value = Str::lower($field->value);
|
||||||
@@ -374,8 +386,8 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Converts markdown to valid HTML
|
* Converts markdown to valid HTML
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return Kirby\Cms\Field
|
* @return \Kirby\Cms\Field
|
||||||
*/
|
*/
|
||||||
'markdown' => function (Field $field) use ($app) {
|
'markdown' => function (Field $field) use ($app) {
|
||||||
$field->value = $app->markdown($field->value);
|
$field->value = $app->markdown($field->value);
|
||||||
@@ -385,8 +397,8 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Converts the field content to valid XML
|
* Converts the field content to valid XML
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return Kirby\Cms\Field
|
* @return \Kirby\Cms\Field
|
||||||
*/
|
*/
|
||||||
'xml' => function (Field $field) {
|
'xml' => function (Field $field) {
|
||||||
$field->value = Xml::encode($field->value);
|
$field->value = Xml::encode($field->value);
|
||||||
@@ -397,10 +409,10 @@ return function (App $app) {
|
|||||||
* Cuts the string after the given length and
|
* Cuts the string after the given length and
|
||||||
* adds "…" if it is longer
|
* adds "…" if it is longer
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @param int $length The number of characters in the string
|
* @param int $length The number of characters in the string
|
||||||
* @param string $appendix An optional replacement for the missing rest
|
* @param string $appendix An optional replacement for the missing rest
|
||||||
* @return Kirby\Cms\Field
|
* @return \Kirby\Cms\Field
|
||||||
*/
|
*/
|
||||||
'short' => function (Field $field, int $length, string $appendix = '…') {
|
'short' => function (Field $field, int $length, string $appendix = '…') {
|
||||||
$field->value = Str::short($field->value, $length, $appendix);
|
$field->value = Str::short($field->value, $length, $appendix);
|
||||||
@@ -410,8 +422,8 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Converts the field content to a slug
|
* Converts the field content to a slug
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return Kirby\cms\Field
|
* @return \Kirby\cms\Field
|
||||||
*/
|
*/
|
||||||
'slug' => function (Field $field) {
|
'slug' => function (Field $field) {
|
||||||
$field->value = Str::slug($field->value);
|
$field->value = Str::slug($field->value);
|
||||||
@@ -421,8 +433,8 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Applies SmartyPants to the field
|
* Applies SmartyPants to the field
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return Kirby\cms\Field
|
* @return \Kirby\cms\Field
|
||||||
*/
|
*/
|
||||||
'smartypants' => function (Field $field) use ($app) {
|
'smartypants' => function (Field $field) use ($app) {
|
||||||
$field->value = $app->smartypants($field->value);
|
$field->value = $app->smartypants($field->value);
|
||||||
@@ -432,8 +444,8 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Splits the field content into an array
|
* Splits the field content into an array
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return Kirby\cms\Field
|
* @return \Kirby\cms\Field
|
||||||
*/
|
*/
|
||||||
'split' => function (Field $field, $separator = ',') {
|
'split' => function (Field $field, $separator = ',') {
|
||||||
return Str::split((string)$field->value, $separator);
|
return Str::split((string)$field->value, $separator);
|
||||||
@@ -442,8 +454,8 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Converts the field content to uppercase
|
* Converts the field content to uppercase
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return Kirby\cms\Field
|
* @return \Kirby\cms\Field
|
||||||
*/
|
*/
|
||||||
'upper' => function (Field $field) {
|
'upper' => function (Field $field) {
|
||||||
$field->value = Str::upper($field->value);
|
$field->value = Str::upper($field->value);
|
||||||
@@ -454,8 +466,8 @@ return function (App $app) {
|
|||||||
* Avoids typographical widows in strings by replacing
|
* Avoids typographical widows in strings by replacing
|
||||||
* the last space with ` `
|
* the last space with ` `
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return Kirby\cms\Field
|
* @return \Kirby\cms\Field
|
||||||
*/
|
*/
|
||||||
'widont' => function (Field $field) {
|
'widont' => function (Field $field) {
|
||||||
$field->value = Str::widont($field->value);
|
$field->value = Str::widont($field->value);
|
||||||
@@ -467,7 +479,7 @@ return function (App $app) {
|
|||||||
/**
|
/**
|
||||||
* Parses yaml in the field content and returns an array
|
* Parses yaml in the field content and returns an array
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Field $field
|
* @param \Kirby\Cms\Field $field
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
'yaml' => function (Field $field): array {
|
'yaml' => function (Field $field): array {
|
||||||
|
@@ -1,19 +1,13 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Kirby\Api\Api;
|
|
||||||
use Kirby\Cms\App;
|
|
||||||
use Kirby\Cms\Media;
|
use Kirby\Cms\Media;
|
||||||
use Kirby\Cms\Panel;
|
use Kirby\Cms\Panel;
|
||||||
use Kirby\Cms\PanelPlugins;
|
use Kirby\Cms\PanelPlugins;
|
||||||
use Kirby\Cms\PluginAssets;
|
use Kirby\Cms\PluginAssets;
|
||||||
use Kirby\Cms\Response;
|
|
||||||
use Kirby\Exception\NotFoundException;
|
|
||||||
use Kirby\Http\Response\Redirect;
|
use Kirby\Http\Response\Redirect;
|
||||||
use Kirby\Http\Router;
|
|
||||||
use Kirby\Http\Router\Route;
|
use Kirby\Http\Router\Route;
|
||||||
use Kirby\Toolkit\F;
|
use Kirby\Toolkit\F;
|
||||||
use Kirby\Toolkit\Str;
|
use Kirby\Toolkit\Str;
|
||||||
use Kirby\Toolkit\View;
|
|
||||||
|
|
||||||
return function ($kirby) {
|
return function ($kirby) {
|
||||||
$api = $kirby->option('api.slug', 'api');
|
$api = $kirby->option('api.slug', 'api');
|
||||||
|
@@ -1,8 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Kirby\Cms\File;
|
use Kirby\Cms\File;
|
||||||
use Kirby\Toolkit\A;
|
use Kirby\Toolkit\I18n;
|
||||||
use Kirby\Toolkit\Str;
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'mixins' => [
|
'mixins' => [
|
||||||
@@ -72,9 +71,6 @@ return [
|
|||||||
|
|
||||||
return null;
|
return null;
|
||||||
},
|
},
|
||||||
'dragTextType' => function () {
|
|
||||||
return (option('panel')['kirbytext'] ?? true) ? 'kirbytext' : 'markdown';
|
|
||||||
},
|
|
||||||
'parent' => function () {
|
'parent' => function () {
|
||||||
return $this->parentModel();
|
return $this->parentModel();
|
||||||
},
|
},
|
||||||
@@ -84,7 +80,7 @@ return [
|
|||||||
if ($this->sortBy) {
|
if ($this->sortBy) {
|
||||||
$files = $files->sortBy(...$files::sortArgs($this->sortBy));
|
$files = $files->sortBy(...$files::sortArgs($this->sortBy));
|
||||||
} elseif ($this->sortable === true) {
|
} elseif ($this->sortable === true) {
|
||||||
$files = $files->sortBy('sort', 'asc');
|
$files = $files->sortBy('sort', 'asc', 'filename', 'asc');
|
||||||
}
|
}
|
||||||
|
|
||||||
// apply the default pagination
|
// apply the default pagination
|
||||||
@@ -106,7 +102,7 @@ return [
|
|||||||
$image = $file->panelImage($this->image);
|
$image = $file->panelImage($this->image);
|
||||||
|
|
||||||
$data[] = [
|
$data[] = [
|
||||||
'dragText' => $file->dragText($this->dragTextType, $dragTextAbsolute),
|
'dragText' => $file->dragText('auto', $dragTextAbsolute),
|
||||||
'filename' => $file->filename(),
|
'filename' => $file->filename(),
|
||||||
'id' => $file->id(),
|
'id' => $file->id(),
|
||||||
'text' => $file->toString($this->text),
|
'text' => $file->toString($this->text),
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Kirby\Toolkit\I18n;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'props' => [
|
'props' => [
|
||||||
/**
|
/**
|
||||||
@@ -8,5 +10,12 @@ return [
|
|||||||
'empty' => function ($empty = null) {
|
'empty' => function ($empty = null) {
|
||||||
return I18n::translate($empty, $empty);
|
return I18n::translate($empty, $empty);
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
'computed' => [
|
||||||
|
'empty' => function () {
|
||||||
|
if ($this->empty) {
|
||||||
|
return $this->model()->toString($this->empty);
|
||||||
|
}
|
||||||
|
}
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
@@ -13,7 +13,11 @@ return [
|
|||||||
],
|
],
|
||||||
'computed' => [
|
'computed' => [
|
||||||
'headline' => function () {
|
'headline' => function () {
|
||||||
return $this->headline ?? ucfirst($this->name);
|
if ($this->headline) {
|
||||||
|
return $this->model()->toString($this->headline);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ucfirst($this->name);
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
@@ -10,5 +10,12 @@ return [
|
|||||||
'help' => function ($help = null) {
|
'help' => function ($help = null) {
|
||||||
return I18n::translate($help, $help);
|
return I18n::translate($help, $help);
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
'computed' => [
|
||||||
|
'help' => function () {
|
||||||
|
if ($this->help) {
|
||||||
|
return $this->model()->toString($this->help);
|
||||||
|
}
|
||||||
|
}
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Kirby\Toolkit\Str;
|
use Kirby\Exception\Exception;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'props' => [
|
'props' => [
|
||||||
@@ -22,6 +22,15 @@ return [
|
|||||||
if (!$parent) {
|
if (!$parent) {
|
||||||
throw new Exception('The parent for the query "' . $query . '" cannot be found in the section "' . $this->name() . '"');
|
throw new Exception('The parent for the query "' . $query . '" cannot be found in the section "' . $this->name() . '"');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
is_a($parent, 'Kirby\Cms\Page') === false &&
|
||||||
|
is_a($parent, 'Kirby\Cms\Site') === false &&
|
||||||
|
is_a($parent, 'Kirby\Cms\File') === false &&
|
||||||
|
is_a($parent, 'Kirby\Cms\User') === false
|
||||||
|
) {
|
||||||
|
throw new Exception('The parent for the section "' . $this->name() . '" has to be a page, site or user object');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($parent === null) {
|
if ($parent === null) {
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
use Kirby\Cms\Blueprint;
|
use Kirby\Cms\Blueprint;
|
||||||
use Kirby\Toolkit\A;
|
use Kirby\Toolkit\A;
|
||||||
use Kirby\Toolkit\Str;
|
use Kirby\Toolkit\I18n;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'mixins' => [
|
'mixins' => [
|
||||||
@@ -80,9 +80,6 @@ return [
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
'computed' => [
|
'computed' => [
|
||||||
'dragTextType' => function () {
|
|
||||||
return option('panel.kirbytext', true) ? 'kirbytext' : 'markdown';
|
|
||||||
},
|
|
||||||
'parent' => function () {
|
'parent' => function () {
|
||||||
return $this->parentModel();
|
return $this->parentModel();
|
||||||
},
|
},
|
||||||
@@ -145,7 +142,7 @@ return [
|
|||||||
|
|
||||||
$data[] = [
|
$data[] = [
|
||||||
'id' => $item->id(),
|
'id' => $item->id(),
|
||||||
'dragText' => $item->dragText($this->dragTextType),
|
'dragText' => $item->dragText(),
|
||||||
'text' => $item->toString($this->text),
|
'text' => $item->toString($this->text),
|
||||||
'info' => $item->toString($this->info ?? false),
|
'info' => $item->toString($this->info ?? false),
|
||||||
'parent' => $item->parentId(),
|
'parent' => $item->parentId(),
|
||||||
|
@@ -8,7 +8,9 @@ use Kirby\Cms\Url;
|
|||||||
*/
|
*/
|
||||||
return [
|
return [
|
||||||
|
|
||||||
/* Date */
|
/**
|
||||||
|
* Date
|
||||||
|
*/
|
||||||
'date' => [
|
'date' => [
|
||||||
'attr' => [],
|
'attr' => [],
|
||||||
'html' => function ($tag) {
|
'html' => function ($tag) {
|
||||||
@@ -16,7 +18,9 @@ return [
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
/* Email */
|
/**
|
||||||
|
* Email
|
||||||
|
*/
|
||||||
'email' => [
|
'email' => [
|
||||||
'attr' => [
|
'attr' => [
|
||||||
'class',
|
'class',
|
||||||
@@ -35,7 +39,9 @@ return [
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
/* File */
|
/**
|
||||||
|
* File
|
||||||
|
*/
|
||||||
'file' => [
|
'file' => [
|
||||||
'attr' => [
|
'attr' => [
|
||||||
'class',
|
'class',
|
||||||
@@ -66,7 +72,9 @@ return [
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
/* Gist */
|
/**
|
||||||
|
* Gist
|
||||||
|
*/
|
||||||
'gist' => [
|
'gist' => [
|
||||||
'attr' => [
|
'attr' => [
|
||||||
'file'
|
'file'
|
||||||
@@ -76,7 +84,9 @@ return [
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
/* Image */
|
/**
|
||||||
|
* Image
|
||||||
|
*/
|
||||||
'image' => [
|
'image' => [
|
||||||
'attr' => [
|
'attr' => [
|
||||||
'alt',
|
'alt',
|
||||||
@@ -143,7 +153,9 @@ return [
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
/* Link */
|
/**
|
||||||
|
* Link
|
||||||
|
*/
|
||||||
'link' => [
|
'link' => [
|
||||||
'attr' => [
|
'attr' => [
|
||||||
'class',
|
'class',
|
||||||
@@ -169,7 +181,9 @@ return [
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
/* Tel */
|
/**
|
||||||
|
* Tel
|
||||||
|
*/
|
||||||
'tel' => [
|
'tel' => [
|
||||||
'attr' => [
|
'attr' => [
|
||||||
'class',
|
'class',
|
||||||
@@ -186,7 +200,9 @@ return [
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
/* Twitter */
|
/**
|
||||||
|
* Twitter
|
||||||
|
*/
|
||||||
'twitter' => [
|
'twitter' => [
|
||||||
'attr' => [
|
'attr' => [
|
||||||
'class',
|
'class',
|
||||||
@@ -216,7 +232,9 @@ return [
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
/* Video */
|
/**
|
||||||
|
* Video
|
||||||
|
*/
|
||||||
'video' => [
|
'video' => [
|
||||||
'attr' => [
|
'attr' => [
|
||||||
'class',
|
'class',
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Invalid login",
|
"error.access.login": "Invalid login",
|
||||||
"error.access.panel": "Нямате права за достъп до панела",
|
"error.access.panel": "Нямате права за достъп до панела",
|
||||||
|
"error.access.view": "You are not allowed to access this part of the panel",
|
||||||
|
|
||||||
"error.avatar.create.fail": "Профилната снимка не може да се качи",
|
"error.avatar.create.fail": "Профилната снимка не може да се качи",
|
||||||
"error.avatar.delete.fail": "Профилната снимка не може да бъде изтрита",
|
"error.avatar.delete.fail": "Профилната снимка не може да бъде изтрита",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Невалиден конвертор \"{converter}\"",
|
"error.field.converter.invalid": "Невалиден конвертор \"{converter}\"",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "The name must not be empty",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"Не можете да смените името на \"{filename}\"",
|
"Не можете да смените името на \"{filename}\"",
|
||||||
"error.file.duplicate": "Файл с име \"{filename}\" вече съществува",
|
"error.file.duplicate": "Файл с име \"{filename}\" вече съществува",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "\u041c\u043e\u043b\u044f, \u043f\u043e\u0442\u0432\u044a\u0440\u0434\u0435\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u0430\u0442\u0430",
|
"error.user.password.notSame": "\u041c\u043e\u043b\u044f, \u043f\u043e\u0442\u0432\u044a\u0440\u0434\u0435\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u0430\u0442\u0430",
|
||||||
"error.user.password.undefined": "Потребителят няма парола",
|
"error.user.password.undefined": "Потребителят няма парола",
|
||||||
"error.user.role.invalid": "Моля въведете валидна роля",
|
"error.user.role.invalid": "Моля въведете валидна роля",
|
||||||
"error.user.undefined": "\u041f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u044f\u0442 \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043d\u0430\u043c\u0435\u0440\u0435\u043d.",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"Нямате права да обновите този потребител \"{name}\"",
|
"Нямате права да обновите този потребител \"{name}\"",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Български",
|
"translation.name": "Български",
|
||||||
|
|
||||||
"upload": "Прикачи",
|
"upload": "Прикачи",
|
||||||
|
"upload.error.cantMove": "The uploaded file could not be moved",
|
||||||
|
"upload.error.cantWrite": "Failed to write file to disk",
|
||||||
|
"upload.error.default": "The file could not be uploaded",
|
||||||
|
"upload.error.extension": "File upload stopped by extension",
|
||||||
|
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
|
||||||
|
"upload.error.noFile": "No file was uploaded",
|
||||||
|
"upload.error.noFiles": "No files were uploaded",
|
||||||
|
"upload.error.partial": "The uploaded file was only partially uploaded",
|
||||||
|
"upload.error.tmpDir": "Missing a temporary folder",
|
||||||
"upload.errors": "Грешка",
|
"upload.errors": "Грешка",
|
||||||
"upload.progress": "Uploading…",
|
"upload.progress": "Uploading…",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Inici de sessió no vàlid",
|
"error.access.login": "Inici de sessió no vàlid",
|
||||||
"error.access.panel": "No tens permís per accedir al panell",
|
"error.access.panel": "No tens permís per accedir al panell",
|
||||||
|
"error.access.view": "No tens accés a aquesta part del tauler",
|
||||||
|
|
||||||
"error.avatar.create.fail": "No s'ha pogut carregar la imatge del perfil",
|
"error.avatar.create.fail": "No s'ha pogut carregar la imatge del perfil",
|
||||||
"error.avatar.delete.fail": "La imatge del perfil no s'ha pogut eliminar",
|
"error.avatar.delete.fail": "La imatge del perfil no s'ha pogut eliminar",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Convertidor no vàlid \"{converter}\"",
|
"error.field.converter.invalid": "Convertidor no vàlid \"{converter}\"",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "El nom no pot estar buit",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"No tens permís per canviar el nom de \"{filename}\"",
|
"No tens permís per canviar el nom de \"{filename}\"",
|
||||||
"error.file.duplicate": "Ja existeix un fitxer amb el nom \"{filename}\"",
|
"error.file.duplicate": "Ja existeix un fitxer amb el nom \"{filename}\"",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "Les contrasenyes no coincideixen",
|
"error.user.password.notSame": "Les contrasenyes no coincideixen",
|
||||||
"error.user.password.undefined": "L'usuari no té una contrasenya",
|
"error.user.password.undefined": "L'usuari no té una contrasenya",
|
||||||
"error.user.role.invalid": "Si us plau, introdueix un rol vàlid",
|
"error.user.role.invalid": "Si us plau, introdueix un rol vàlid",
|
||||||
"error.user.undefined": "L'usuari no s'ha trobat",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"No tens permís per actualitzar l'usuari \"{name}\"",
|
"No tens permís per actualitzar l'usuari \"{name}\"",
|
||||||
|
|
||||||
@@ -265,7 +266,7 @@
|
|||||||
"language.direction.ltr": "Esquerra a dreta",
|
"language.direction.ltr": "Esquerra a dreta",
|
||||||
"language.direction.rtl": "De dreta a esquerra",
|
"language.direction.rtl": "De dreta a esquerra",
|
||||||
"language.locale": "Cadena local de PHP",
|
"language.locale": "Cadena local de PHP",
|
||||||
"language.locale.warning": "You are using a custom locale set up. Please modify it in the language file in /site/languages",
|
"language.locale.warning": "S'està fent servir una configuració regional personalitzada. Modifica el fitxer d'idioma a /site/languages",
|
||||||
"language.name": "Nom",
|
"language.name": "Nom",
|
||||||
"language.updated": "S'ha actualitzat l'idioma",
|
"language.updated": "S'ha actualitzat l'idioma",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Catalan",
|
"translation.name": "Catalan",
|
||||||
|
|
||||||
"upload": "Carregar",
|
"upload": "Carregar",
|
||||||
|
"upload.error.cantMove": "El fitxer carregat no s'ha pogut moure",
|
||||||
|
"upload.error.cantWrite": "No s'ha pogut escriure el fitxer al disc",
|
||||||
|
"upload.error.default": "No s'ha pogut carregar el fitxer",
|
||||||
|
"upload.error.extension": "La càrrega del fitxer s'ha aturat per l'extensió",
|
||||||
|
"upload.error.formSize": "El fitxer carregat supera la directiva MAX_FILE_SIZE especificada en el formulari",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "El fitxer carregat supera la directiva upload_max_filesize especifiada al php.ini",
|
||||||
|
"upload.error.noFile": "No s'ha carregat cap fitxer",
|
||||||
|
"upload.error.noFiles": "No s'ha penjat cap fitxer",
|
||||||
|
"upload.error.partial": "El fitxer carregat només s'ha carregat parcialment",
|
||||||
|
"upload.error.tmpDir": "Falta una carpeta temporal",
|
||||||
"upload.errors": "Error",
|
"upload.errors": "Error",
|
||||||
"upload.progress": "Carregant...",
|
"upload.progress": "Carregant...",
|
||||||
|
|
||||||
|
@@ -24,19 +24,20 @@
|
|||||||
"delete": "Smazat",
|
"delete": "Smazat",
|
||||||
"dimensions": "Rozměry",
|
"dimensions": "Rozměry",
|
||||||
"discard": "Zahodit",
|
"discard": "Zahodit",
|
||||||
"download": "Download",
|
"download": "Stáhnout",
|
||||||
"duplicate": "Duplicate",
|
"duplicate": "Duplikovat",
|
||||||
"edit": "Upravit",
|
"edit": "Upravit",
|
||||||
|
|
||||||
"dialog.files.empty": "No files to select",
|
"dialog.files.empty": "Žádné soubory k výběru",
|
||||||
"dialog.pages.empty": "No pages to select",
|
"dialog.pages.empty": "Žádné stránky k výběru",
|
||||||
"dialog.users.empty": "No users to select",
|
"dialog.users.empty": "Žádní uživatelé k výběru",
|
||||||
|
|
||||||
"email": "Email",
|
"email": "Email",
|
||||||
"email.placeholder": "mail@example.com",
|
"email.placeholder": "mail@example.com",
|
||||||
|
|
||||||
"error.access.login": "Neplatné přihlášení",
|
"error.access.login": "Neplatné přihlášení",
|
||||||
"error.access.panel": "Nemáte povoleno vstoupit do panelu",
|
"error.access.panel": "Nemáte povoleno vstoupit do panelu",
|
||||||
|
"error.access.view": "You are not allowed to access this part of the panel",
|
||||||
|
|
||||||
"error.avatar.create.fail": "Nebylo možné nahrát profilový obrázek",
|
"error.avatar.create.fail": "Nebylo možné nahrát profilový obrázek",
|
||||||
"error.avatar.delete.fail": "Nebylo mo\u017en\u00e9 smazat profilov\u00fd obr\u00e1zek",
|
"error.avatar.delete.fail": "Nebylo mo\u017en\u00e9 smazat profilov\u00fd obr\u00e1zek",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Neplatný konvertor \"{converter}\"",
|
"error.field.converter.invalid": "Neplatný konvertor \"{converter}\"",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "The name must not be empty",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"Nemáte povoleno změnit jméno souboru \"{filename}\"",
|
"Nemáte povoleno změnit jméno souboru \"{filename}\"",
|
||||||
"error.file.duplicate": "Soubor s názvem \"{filename}\" již existuje",
|
"error.file.duplicate": "Soubor s názvem \"{filename}\" již existuje",
|
||||||
@@ -71,13 +73,13 @@
|
|||||||
"error.form.incomplete": "Prosím opravte všechny chyby ve formuláři",
|
"error.form.incomplete": "Prosím opravte všechny chyby ve formuláři",
|
||||||
"error.form.notSaved": "Formulář nemohl být uložen",
|
"error.form.notSaved": "Formulář nemohl být uložen",
|
||||||
|
|
||||||
"error.language.code": "Please enter a valid code for the language",
|
"error.language.code": "Zadejte prosím platný kód jazyka",
|
||||||
"error.language.duplicate": "The language already exists",
|
"error.language.duplicate": "Jazyk již existuje",
|
||||||
"error.language.name": "Please enter a valid name for the language",
|
"error.language.name": "Zadejte prosím platné jméno jazyka",
|
||||||
|
|
||||||
"error.license.format": "Please enter a valid license key",
|
"error.license.format": "Zadejte prosím platné licenční číslo",
|
||||||
"error.license.email": "Zadejte prosím platnou emailovou adresu",
|
"error.license.email": "Zadejte prosím platnou emailovou adresu",
|
||||||
"error.license.verification": "The license could not be verified",
|
"error.license.verification": "Licenci nelze ověřit",
|
||||||
|
|
||||||
"error.page.changeSlug.permission":
|
"error.page.changeSlug.permission":
|
||||||
"Nem\u016f\u017eete zm\u011bnit URL t\u00e9to str\u00e1nky",
|
"Nem\u016f\u017eete zm\u011bnit URL t\u00e9to str\u00e1nky",
|
||||||
@@ -104,7 +106,7 @@
|
|||||||
"Koncept stránky, který obsahuje v adrese URL \"{slug}\" již existuje ",
|
"Koncept stránky, který obsahuje v adrese URL \"{slug}\" již existuje ",
|
||||||
"error.page.duplicate":
|
"error.page.duplicate":
|
||||||
"Stránka, která v adrese URL obsahuje \"{slug}\" již existuje",
|
"Stránka, která v adrese URL obsahuje \"{slug}\" již existuje",
|
||||||
"error.page.duplicate.permission": "You are not allowed to duplicate \"{slug}\"",
|
"error.page.duplicate.permission": "Nemáte dovoleno duplikovat \"{slug}\"",
|
||||||
"error.page.notFound": "Str\u00e1nku se nepoda\u0159ilo nal\u00e9zt.",
|
"error.page.notFound": "Str\u00e1nku se nepoda\u0159ilo nal\u00e9zt.",
|
||||||
"error.page.num.invalid":
|
"error.page.num.invalid":
|
||||||
"Zadejte prosím platné pořadové číslo. Čísla nesmí být záporná.",
|
"Zadejte prosím platné pořadové číslo. Čísla nesmí být záporná.",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "Pros\u00edm potvr\u010fte heslo",
|
"error.user.password.notSame": "Pros\u00edm potvr\u010fte heslo",
|
||||||
"error.user.password.undefined": "Uživatel nemá nastavené heslo.",
|
"error.user.password.undefined": "Uživatel nemá nastavené heslo.",
|
||||||
"error.user.role.invalid": "Zadejte prosím platnou roli",
|
"error.user.role.invalid": "Zadejte prosím platnou roli",
|
||||||
"error.user.undefined": "U\u017eivatele se nepoda\u0159ilo nal\u00e9zt",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"Nemáte dovoleno upravit uživatele \"{name}\"",
|
"Nemáte dovoleno upravit uživatele \"{name}\"",
|
||||||
|
|
||||||
@@ -183,9 +184,9 @@
|
|||||||
"error.validation.contains":
|
"error.validation.contains":
|
||||||
"Zadejte prosím hodnotu, která obsahuje \"{needle}\"",
|
"Zadejte prosím hodnotu, která obsahuje \"{needle}\"",
|
||||||
"error.validation.date": "Zadejte prosím platné datum",
|
"error.validation.date": "Zadejte prosím platné datum",
|
||||||
"error.validation.date.after": "Please enter a date after {date}",
|
"error.validation.date.after": "Zadejte prosím datum po {date}",
|
||||||
"error.validation.date.before": "Please enter a date before {date}",
|
"error.validation.date.before": "Zadejte prosím datum před {date}",
|
||||||
"error.validation.date.between": "Please enter a date between {min} and {max}",
|
"error.validation.date.between": "Zadejte prosím datum mezi {min} a {max}",
|
||||||
"error.validation.denied": "Prosím, odmítněte",
|
"error.validation.denied": "Prosím, odmítněte",
|
||||||
"error.validation.different": "Hodnota nesmí být \"{other}\"",
|
"error.validation.different": "Hodnota nesmí být \"{other}\"",
|
||||||
"error.validation.email": "Zadejte prosím platnou emailovou adresu",
|
"error.validation.email": "Zadejte prosím platnou emailovou adresu",
|
||||||
@@ -265,7 +266,7 @@
|
|||||||
"language.direction.ltr": "Zleva doprava",
|
"language.direction.ltr": "Zleva doprava",
|
||||||
"language.direction.rtl": "Zprava doleva",
|
"language.direction.rtl": "Zprava doleva",
|
||||||
"language.locale": "Řetězec lokalizace PHP",
|
"language.locale": "Řetězec lokalizace PHP",
|
||||||
"language.locale.warning": "You are using a custom locale set up. Please modify it in the language file in /site/languages",
|
"language.locale.warning": "Používáte vlastní jazykové nastavení. Upravte prosím soubor s nastavením v /site/languages",
|
||||||
"language.name": "Jméno",
|
"language.name": "Jméno",
|
||||||
"language.updated": "Jazyk byl aktualizován",
|
"language.updated": "Jazyk byl aktualizován",
|
||||||
|
|
||||||
@@ -289,12 +290,12 @@
|
|||||||
|
|
||||||
"loading": "Načítám",
|
"loading": "Načítám",
|
||||||
|
|
||||||
"lock.unsaved": "Unsaved changes",
|
"lock.unsaved": "Neuložené změny",
|
||||||
"lock.isLocked": "Unsaved changes by <strong>{email}</strong>",
|
"lock.isLocked": "Neuložené změny provedené <strong>{email}</strong>",
|
||||||
"lock.file.isLocked": "The file is currently being edited by {email} and cannot be changed.",
|
"lock.file.isLocked": "Soubor nelze změnit, právě jej upravuje {email}.",
|
||||||
"lock.page.isLocked": "The page is currently being edited by {email} and cannot be changed.",
|
"lock.page.isLocked": "Stránku nelze změnit, právě jí upravuje {email} .",
|
||||||
"lock.unlock": "Unlock",
|
"lock.unlock": "Odemknout",
|
||||||
"lock.isUnlocked": "Your unsaved changes have been overwritten by another user. You can download your changes to merge them manually.",
|
"lock.isUnlocked": "Vaše neuložené změny byly přepsány jiným uživatelem. Můžeze si své úpravy stáhnout a zapracovat je ručně.",
|
||||||
|
|
||||||
"login": "P\u0159ihl\u00e1sit se",
|
"login": "P\u0159ihl\u00e1sit se",
|
||||||
"login.remember": "Zůstat přihlášen",
|
"login.remember": "Zůstat přihlášen",
|
||||||
@@ -323,8 +324,8 @@
|
|||||||
"more": "Více",
|
"more": "Více",
|
||||||
"name": "Jméno",
|
"name": "Jméno",
|
||||||
"next": "Další",
|
"next": "Další",
|
||||||
"off": "off",
|
"off": "vypnuto",
|
||||||
"on": "on",
|
"on": "zapnuto",
|
||||||
"open": "Otevřít",
|
"open": "Otevřít",
|
||||||
"options": "Možnosti",
|
"options": "Možnosti",
|
||||||
|
|
||||||
@@ -346,8 +347,8 @@
|
|||||||
"page.delete.confirm.title": "Pro potvrzení zadejte titulek stránky",
|
"page.delete.confirm.title": "Pro potvrzení zadejte titulek stránky",
|
||||||
"page.draft.create": "Vytvořit koncept",
|
"page.draft.create": "Vytvořit koncept",
|
||||||
"page.duplicate.appendix": "Kopírovat",
|
"page.duplicate.appendix": "Kopírovat",
|
||||||
"page.duplicate.files": "Copy files",
|
"page.duplicate.files": "Kopírovat soubory",
|
||||||
"page.duplicate.pages": "Copy pages",
|
"page.duplicate.pages": "Kopírovat stránky",
|
||||||
"page.status": "Stav",
|
"page.status": "Stav",
|
||||||
"page.status.draft": "Koncept",
|
"page.status.draft": "Koncept",
|
||||||
"page.status.draft.description":
|
"page.status.draft.description":
|
||||||
@@ -373,13 +374,13 @@
|
|||||||
"revert": "Zahodit",
|
"revert": "Zahodit",
|
||||||
|
|
||||||
"role": "Role",
|
"role": "Role",
|
||||||
"role.admin.description": "The admin has all rights",
|
"role.admin.description": "Administrátor má všechna práva",
|
||||||
"role.admin.title": "Admin",
|
"role.admin.title": "Administrátor",
|
||||||
"role.all": "Vše",
|
"role.all": "Vše",
|
||||||
"role.empty": "Neexistují uživatelé s touto rolí",
|
"role.empty": "Neexistují uživatelé s touto rolí",
|
||||||
"role.description.placeholder": "Žádný popis",
|
"role.description.placeholder": "Žádný popis",
|
||||||
"role.nobody.description": "This is a fallback role without any permissions",
|
"role.nobody.description": "Toto je výchozí role bez jakýchkoli oprávnění",
|
||||||
"role.nobody.title": "Nobody",
|
"role.nobody.title": "Nikdo",
|
||||||
|
|
||||||
"save": "Ulo\u017eit",
|
"save": "Ulo\u017eit",
|
||||||
"search": "Hledat",
|
"search": "Hledat",
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "\u010cesky",
|
"translation.name": "\u010cesky",
|
||||||
|
|
||||||
"upload": "Nahrát",
|
"upload": "Nahrát",
|
||||||
|
"upload.error.cantMove": "The uploaded file could not be moved",
|
||||||
|
"upload.error.cantWrite": "Failed to write file to disk",
|
||||||
|
"upload.error.default": "The file could not be uploaded",
|
||||||
|
"upload.error.extension": "File upload stopped by extension",
|
||||||
|
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
|
||||||
|
"upload.error.noFile": "No file was uploaded",
|
||||||
|
"upload.error.noFiles": "No files were uploaded",
|
||||||
|
"upload.error.partial": "The uploaded file was only partially uploaded",
|
||||||
|
"upload.error.tmpDir": "Missing a temporary folder",
|
||||||
"upload.errors": "Chyba",
|
"upload.errors": "Chyba",
|
||||||
"upload.progress": "Nahrávání...",
|
"upload.progress": "Nahrávání...",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Ugyldigt log ind",
|
"error.access.login": "Ugyldigt log ind",
|
||||||
"error.access.panel": "Du har ikke adgang til panelet",
|
"error.access.panel": "Du har ikke adgang til panelet",
|
||||||
|
"error.access.view": "Du har ikke adgang til denne del af panelet",
|
||||||
|
|
||||||
"error.avatar.create.fail": "Profilbilledet kunne blev ikke uploadet ",
|
"error.avatar.create.fail": "Profilbilledet kunne blev ikke uploadet ",
|
||||||
"error.avatar.delete.fail": "Profilbilledet kunne ikke slettes",
|
"error.avatar.delete.fail": "Profilbilledet kunne ikke slettes",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Ugyldig converter \"{converter}\"",
|
"error.field.converter.invalid": "Ugyldig converter \"{converter}\"",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "Navn kan ikke efterlades tomt",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"Du har ikke tilladelse til at ændre navnet på filen \"{filename}\"",
|
"Du har ikke tilladelse til at ændre navnet på filen \"{filename}\"",
|
||||||
"error.file.duplicate": "En fil med navnet \"{filename}\" eksisterer allerede",
|
"error.file.duplicate": "En fil med navnet \"{filename}\" eksisterer allerede",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "Bekr\u00e6ft venligst adgangskoden",
|
"error.user.password.notSame": "Bekr\u00e6ft venligst adgangskoden",
|
||||||
"error.user.password.undefined": "Brugeren har ikke en adgangskode",
|
"error.user.password.undefined": "Brugeren har ikke en adgangskode",
|
||||||
"error.user.role.invalid": "Indtast venligst en gyldig rolle",
|
"error.user.role.invalid": "Indtast venligst en gyldig rolle",
|
||||||
"error.user.undefined": "Brugeren kunne ikke findes",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"Du har ikke tilladelse til at opdatere brugeren \"{name}\"",
|
"Du har ikke tilladelse til at opdatere brugeren \"{name}\"",
|
||||||
|
|
||||||
@@ -183,9 +184,9 @@
|
|||||||
"error.validation.contains":
|
"error.validation.contains":
|
||||||
"Indtast venligst en værdi der indeholder \"{needle}\"",
|
"Indtast venligst en værdi der indeholder \"{needle}\"",
|
||||||
"error.validation.date": "Indtast venligst en gyldig dato",
|
"error.validation.date": "Indtast venligst en gyldig dato",
|
||||||
"error.validation.date.after": "Please enter a date after {date}",
|
"error.validation.date.after": "Indtast venligst en dato efter {date}",
|
||||||
"error.validation.date.before": "Please enter a date before {date}",
|
"error.validation.date.before": "Indtast venligst en dato før {date}",
|
||||||
"error.validation.date.between": "Please enter a date between {min} and {max}",
|
"error.validation.date.between": "Indtast venligst en dato imellem {min} og {max}",
|
||||||
"error.validation.denied": "Venligst afvis",
|
"error.validation.denied": "Venligst afvis",
|
||||||
"error.validation.different": "Værdien må ikke være \"{other}\"",
|
"error.validation.different": "Værdien må ikke være \"{other}\"",
|
||||||
"error.validation.email": "Indtast venligst en gyldig email adresse",
|
"error.validation.email": "Indtast venligst en gyldig email adresse",
|
||||||
@@ -265,7 +266,7 @@
|
|||||||
"language.direction.ltr": "Venstre mod højre",
|
"language.direction.ltr": "Venstre mod højre",
|
||||||
"language.direction.rtl": "Højre mod venstre",
|
"language.direction.rtl": "Højre mod venstre",
|
||||||
"language.locale": "PHP locale string",
|
"language.locale": "PHP locale string",
|
||||||
"language.locale.warning": "You are using a custom locale set up. Please modify it in the language file in /site/languages",
|
"language.locale.warning": "Du benytter en brugerdefineret sprogopsætning. Rediger venligst dette i sprogfilen i /site/languages",
|
||||||
"language.name": "Navn",
|
"language.name": "Navn",
|
||||||
"language.updated": "Sproget er blevet opdateret",
|
"language.updated": "Sproget er blevet opdateret",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Dansk",
|
"translation.name": "Dansk",
|
||||||
|
|
||||||
"upload": "Upload",
|
"upload": "Upload",
|
||||||
|
"upload.error.cantMove": "Den uploadede fil kunne ikke flyttes",
|
||||||
|
"upload.error.cantWrite": "Kunne ikke skrive fil til disk",
|
||||||
|
"upload.error.default": "Filen kunne ikke uploades",
|
||||||
|
"upload.error.extension": "Upload af filen blev stoppet af dens type",
|
||||||
|
"upload.error.formSize": "Filen overskrider MAX_FILE_SIZE direktivet der er specificeret for formularen",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "FIlen overskrider upload_max_filesize direktivet i php.ini",
|
||||||
|
"upload.error.noFile": "Ingen fil blev uploadet",
|
||||||
|
"upload.error.noFiles": "Ingen filer blev uploadet",
|
||||||
|
"upload.error.partial": "Den uploadede fil blev kun delvist uploadet",
|
||||||
|
"upload.error.tmpDir": "Der mangler en midlertidig mappe",
|
||||||
"upload.errors": "Fejl",
|
"upload.errors": "Fejl",
|
||||||
"upload.progress": "Uploader...",
|
"upload.progress": "Uploader...",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Ungültige Zugangsdaten",
|
"error.access.login": "Ungültige Zugangsdaten",
|
||||||
"error.access.panel": "Du hast keinen Zugang zum Panel",
|
"error.access.panel": "Du hast keinen Zugang zum Panel",
|
||||||
|
"error.access.view": "Du hast keinen Zugriff auf diesen Teil des Panels",
|
||||||
|
|
||||||
"error.avatar.create.fail": "Das Profilbild konnte nicht hochgeladen werden",
|
"error.avatar.create.fail": "Das Profilbild konnte nicht hochgeladen werden",
|
||||||
"error.avatar.delete.fail": "Das Profilbild konnte nicht gel\u00f6scht werden",
|
"error.avatar.delete.fail": "Das Profilbild konnte nicht gel\u00f6scht werden",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Ungültiger Konverter: \"{converter}\"",
|
"error.field.converter.invalid": "Ungültiger Konverter: \"{converter}\"",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "Bitte gib einen Namen an",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"Du darfst den Dateinamen von \"{filename}\" nicht ändern",
|
"Du darfst den Dateinamen von \"{filename}\" nicht ändern",
|
||||||
"error.file.duplicate": "Eine Datei mit dem Dateinamen \"{filename}\" besteht bereits",
|
"error.file.duplicate": "Eine Datei mit dem Dateinamen \"{filename}\" besteht bereits",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "Die Passwörter stimmen nicht überein",
|
"error.user.password.notSame": "Die Passwörter stimmen nicht überein",
|
||||||
"error.user.password.undefined": "Der Benutzer hat kein Passwort",
|
"error.user.password.undefined": "Der Benutzer hat kein Passwort",
|
||||||
"error.user.role.invalid": "Bitte gib eine gültige Rolle an",
|
"error.user.role.invalid": "Bitte gib eine gültige Rolle an",
|
||||||
"error.user.undefined": "Der Benutzer wurde nicht gefunden",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"Du darfst den den Benutzer \"{name}\" nicht editieren",
|
"Du darfst den den Benutzer \"{name}\" nicht editieren",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Deutsch",
|
"translation.name": "Deutsch",
|
||||||
|
|
||||||
"upload": "Hochladen",
|
"upload": "Hochladen",
|
||||||
|
"upload.error.cantMove": "Die Datei konnte nicht an ihren Zielort bewegt werden",
|
||||||
|
"upload.error.cantWrite": "Die Datei konnte nicht auf der Festplatte gespeichert werden",
|
||||||
|
"upload.error.default": "Die Datei konnte nicht hochgeladen werden",
|
||||||
|
"upload.error.extension": "Der Dateiupload wurde durch eine Erweiterung verhindert",
|
||||||
|
"upload.error.formSize": "Die Datei ist größer als die MAX_FILE_SIZE Einstellung im Formular",
|
||||||
|
"upload.error.iniPostSize": "Die Datei ist größer als die post_max_size Einstellung in der php.ini",
|
||||||
|
"upload.error.iniSize": "Die Datei ist größer als die upload_max_filesize Einstellung in der php.ini",
|
||||||
|
"upload.error.noFile": "Es wurde keine Datei hochgeladen",
|
||||||
|
"upload.error.noFiles": "Es wurden keine Dateien hochgeladen",
|
||||||
|
"upload.error.partial": "Die Datei wurde nur teilweise hochgeladen",
|
||||||
|
"upload.error.tmpDir": "Der temporäre Ordner für den Dateiupload existiert leider nicht",
|
||||||
"upload.errors": "Fehler",
|
"upload.errors": "Fehler",
|
||||||
"upload.progress": "Hochladen …",
|
"upload.progress": "Hochladen …",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Mη έγκυρη σύνδεση",
|
"error.access.login": "Mη έγκυρη σύνδεση",
|
||||||
"error.access.panel": "Δεν επιτρέπεται η πρόσβαση στον πίνακα ελέγχου",
|
"error.access.panel": "Δεν επιτρέπεται η πρόσβαση στον πίνακα ελέγχου",
|
||||||
|
"error.access.view": "You are not allowed to access this part of the panel",
|
||||||
|
|
||||||
"error.avatar.create.fail": "Δεν ήταν δυνατή η μεταφόρτωση της εικόνας προφίλ",
|
"error.avatar.create.fail": "Δεν ήταν δυνατή η μεταφόρτωση της εικόνας προφίλ",
|
||||||
"error.avatar.delete.fail": "Δεν ήταν δυνατή η διαγραφή της εικόνας προφίλ",
|
"error.avatar.delete.fail": "Δεν ήταν δυνατή η διαγραφή της εικόνας προφίλ",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Μη έγκυρος μετατροπέας \"{converter}\"",
|
"error.field.converter.invalid": "Μη έγκυρος μετατροπέας \"{converter}\"",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "The name must not be empty",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"Δεν επιτρέπεται να αλλάξετε το όνομα του \"{filename}\"",
|
"Δεν επιτρέπεται να αλλάξετε το όνομα του \"{filename}\"",
|
||||||
"error.file.duplicate": "Ένα αρχείο με το όνομα \"{filename}\" υπάρχει ήδη",
|
"error.file.duplicate": "Ένα αρχείο με το όνομα \"{filename}\" υπάρχει ήδη",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "\u03a0\u03b1\u03c1\u03b1\u03ba\u03b1\u03bb\u03bf\u03cd\u03bc\u03b5 \u03b5\u03c0\u03b9\u03b2\u03b5\u03b2\u03b1\u03b9\u03ce\u03c3\u03c4\u03b5 \u03c4\u03bf\u03bd \u039a\u03c9\u03b4\u03b9\u03ba\u03cc \u03a0\u03c1\u03cc\u03c3\u03b2\u03b1\u03c3\u03b7\u03c2",
|
"error.user.password.notSame": "\u03a0\u03b1\u03c1\u03b1\u03ba\u03b1\u03bb\u03bf\u03cd\u03bc\u03b5 \u03b5\u03c0\u03b9\u03b2\u03b5\u03b2\u03b1\u03b9\u03ce\u03c3\u03c4\u03b5 \u03c4\u03bf\u03bd \u039a\u03c9\u03b4\u03b9\u03ba\u03cc \u03a0\u03c1\u03cc\u03c3\u03b2\u03b1\u03c3\u03b7\u03c2",
|
||||||
"error.user.password.undefined": "Ο χρήστης δεν έχει κωδικό πρόσβασης",
|
"error.user.password.undefined": "Ο χρήστης δεν έχει κωδικό πρόσβασης",
|
||||||
"error.user.role.invalid": "Παρακαλώ εισαγάγετε έναν έγκυρο ρόλο",
|
"error.user.role.invalid": "Παρακαλώ εισαγάγετε έναν έγκυρο ρόλο",
|
||||||
"error.user.undefined": "Δεν είναι δυνατή η εύρεση του χρήστη",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"Δεν επιτρέπεται η ενημέρωση του χρήστη \"{name}\"",
|
"Δεν επιτρέπεται η ενημέρωση του χρήστη \"{name}\"",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac",
|
"translation.name": "\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac",
|
||||||
|
|
||||||
"upload": "Μεταφόρτωση",
|
"upload": "Μεταφόρτωση",
|
||||||
|
"upload.error.cantMove": "The uploaded file could not be moved",
|
||||||
|
"upload.error.cantWrite": "Failed to write file to disk",
|
||||||
|
"upload.error.default": "The file could not be uploaded",
|
||||||
|
"upload.error.extension": "File upload stopped by extension",
|
||||||
|
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
|
||||||
|
"upload.error.noFile": "No file was uploaded",
|
||||||
|
"upload.error.noFiles": "No files were uploaded",
|
||||||
|
"upload.error.partial": "The uploaded file was only partially uploaded",
|
||||||
|
"upload.error.tmpDir": "Missing a temporary folder",
|
||||||
"upload.errors": "Σφάλμα",
|
"upload.errors": "Σφάλμα",
|
||||||
"upload.progress": "Μεταφόρτωση...",
|
"upload.progress": "Μεταφόρτωση...",
|
||||||
|
|
||||||
|
@@ -155,6 +155,8 @@
|
|||||||
"The role for the last admin cannot be changed",
|
"The role for the last admin cannot be changed",
|
||||||
"error.user.changeRole.permission":
|
"error.user.changeRole.permission":
|
||||||
"You are not allowed to change the role for the user \"{name}\"",
|
"You are not allowed to change the role for the user \"{name}\"",
|
||||||
|
"error.user.changeRole.toAdmin":
|
||||||
|
"You are not allowed to promote someone to the admin role",
|
||||||
"error.user.create.permission": "You are not allowed to create this user",
|
"error.user.create.permission": "You are not allowed to create this user",
|
||||||
"error.user.delete": "The user \"{name}\" cannot be deleted",
|
"error.user.delete": "The user \"{name}\" cannot be deleted",
|
||||||
"error.user.delete.lastAdmin": "The last admin cannot be deleted",
|
"error.user.delete.lastAdmin": "The last admin cannot be deleted",
|
||||||
@@ -413,6 +415,17 @@
|
|||||||
"translation.name": "English",
|
"translation.name": "English",
|
||||||
|
|
||||||
"upload": "Upload",
|
"upload": "Upload",
|
||||||
|
"upload.error.cantMove": "The uploaded file could not be moved",
|
||||||
|
"upload.error.cantWrite": "Failed to write file to disk",
|
||||||
|
"upload.error.default": "The file could not be uploaded",
|
||||||
|
"upload.error.extension": "File upload stopped by extension",
|
||||||
|
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
|
||||||
|
"upload.error.noFile": "No file was uploaded",
|
||||||
|
"upload.error.noFiles": "No files were uploaded",
|
||||||
|
"upload.error.partial": "The uploaded file was only partially uploaded",
|
||||||
|
"upload.error.tmpDir": "Missing a temporary folder",
|
||||||
"upload.errors": "Error",
|
"upload.errors": "Error",
|
||||||
"upload.progress": "Uploading…",
|
"upload.progress": "Uploading…",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Ingreso inválido",
|
"error.access.login": "Ingreso inválido",
|
||||||
"error.access.panel": "No tienes permitido acceder al panel.",
|
"error.access.panel": "No tienes permitido acceder al panel.",
|
||||||
|
"error.access.view": "You are not allowed to access this part of the panel",
|
||||||
|
|
||||||
"error.avatar.create.fail": "No se pudo subir la foto de perfil.",
|
"error.avatar.create.fail": "No se pudo subir la foto de perfil.",
|
||||||
"error.avatar.delete.fail": "No se pudo eliminar la foto de perfil.",
|
"error.avatar.delete.fail": "No se pudo eliminar la foto de perfil.",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Convertidor inválido \"{converter}\"",
|
"error.field.converter.invalid": "Convertidor inválido \"{converter}\"",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "The name must not be empty",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"No tienes permitido cambiar el nombre de \"{filename}\"",
|
"No tienes permitido cambiar el nombre de \"{filename}\"",
|
||||||
"error.file.duplicate": "Ya existe un archivo con el nombre \"{filename}\".",
|
"error.file.duplicate": "Ya existe un archivo con el nombre \"{filename}\".",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "Por favor confirma la contrase\u00f1a",
|
"error.user.password.notSame": "Por favor confirma la contrase\u00f1a",
|
||||||
"error.user.password.undefined": "El usuario no tiene contraseña",
|
"error.user.password.undefined": "El usuario no tiene contraseña",
|
||||||
"error.user.role.invalid": "Por favor ingresa un rol valido",
|
"error.user.role.invalid": "Por favor ingresa un rol valido",
|
||||||
"error.user.undefined": "El usuario no pudo ser encontrado",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"No tienes permiso para actualizar al usuario \"{name}\"",
|
"No tienes permiso para actualizar al usuario \"{name}\"",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Inglés",
|
"translation.name": "Inglés",
|
||||||
|
|
||||||
"upload": "Subir",
|
"upload": "Subir",
|
||||||
|
"upload.error.cantMove": "The uploaded file could not be moved",
|
||||||
|
"upload.error.cantWrite": "Failed to write file to disk",
|
||||||
|
"upload.error.default": "The file could not be uploaded",
|
||||||
|
"upload.error.extension": "File upload stopped by extension",
|
||||||
|
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
|
||||||
|
"upload.error.noFile": "No file was uploaded",
|
||||||
|
"upload.error.noFiles": "No files were uploaded",
|
||||||
|
"upload.error.partial": "The uploaded file was only partially uploaded",
|
||||||
|
"upload.error.tmpDir": "Missing a temporary folder",
|
||||||
"upload.errors": "Error",
|
"upload.errors": "Error",
|
||||||
"upload.progress": "Subiendo...",
|
"upload.progress": "Subiendo...",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Ingreso inválido",
|
"error.access.login": "Ingreso inválido",
|
||||||
"error.access.panel": "No estás autorizado para acceder al panel",
|
"error.access.panel": "No estás autorizado para acceder al panel",
|
||||||
|
"error.access.view": "You are not allowed to access this part of the panel",
|
||||||
|
|
||||||
"error.avatar.create.fail": "No se pudo subir la foto de perfil.",
|
"error.avatar.create.fail": "No se pudo subir la foto de perfil.",
|
||||||
"error.avatar.delete.fail": "No se pudo borrar la foto de perfil",
|
"error.avatar.delete.fail": "No se pudo borrar la foto de perfil",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Convertidor \"{converter}\" inválido",
|
"error.field.converter.invalid": "Convertidor \"{converter}\" inválido",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "The name must not be empty",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"No tienes permitido cambiar el nombre de \"{filename}\"",
|
"No tienes permitido cambiar el nombre de \"{filename}\"",
|
||||||
"error.file.duplicate": "Ya existe un archivo con el nombre \"{filename}\"",
|
"error.file.duplicate": "Ya existe un archivo con el nombre \"{filename}\"",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "Las contraseñas no coinciden",
|
"error.user.password.notSame": "Las contraseñas no coinciden",
|
||||||
"error.user.password.undefined": "El usuario no tiene contraseña",
|
"error.user.password.undefined": "El usuario no tiene contraseña",
|
||||||
"error.user.role.invalid": "Por favor ingrese un rol válido",
|
"error.user.role.invalid": "Por favor ingrese un rol válido",
|
||||||
"error.user.undefined": "El usuario no puede ser encontrado",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"No tienes permitido actualizar al usuario \"{name}\"",
|
"No tienes permitido actualizar al usuario \"{name}\"",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Español",
|
"translation.name": "Español",
|
||||||
|
|
||||||
"upload": "Subir",
|
"upload": "Subir",
|
||||||
|
"upload.error.cantMove": "The uploaded file could not be moved",
|
||||||
|
"upload.error.cantWrite": "Failed to write file to disk",
|
||||||
|
"upload.error.default": "The file could not be uploaded",
|
||||||
|
"upload.error.extension": "File upload stopped by extension",
|
||||||
|
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
|
||||||
|
"upload.error.noFile": "No file was uploaded",
|
||||||
|
"upload.error.noFiles": "No files were uploaded",
|
||||||
|
"upload.error.partial": "The uploaded file was only partially uploaded",
|
||||||
|
"upload.error.tmpDir": "Missing a temporary folder",
|
||||||
"upload.errors": "Error",
|
"upload.errors": "Error",
|
||||||
"upload.progress": "Cargando…",
|
"upload.progress": "Cargando…",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "اطلاعات ورودی نامعتبر است",
|
"error.access.login": "اطلاعات ورودی نامعتبر است",
|
||||||
"error.access.panel": "شما اجازه دسترسی به پانل را ندارید",
|
"error.access.panel": "شما اجازه دسترسی به پانل را ندارید",
|
||||||
|
"error.access.view": "You are not allowed to access this part of the panel",
|
||||||
|
|
||||||
"error.avatar.create.fail": "بارگزاری تصویر پروفایل موفق نبود",
|
"error.avatar.create.fail": "بارگزاری تصویر پروفایل موفق نبود",
|
||||||
"error.avatar.delete.fail": "\u062a\u0635\u0648\u06cc\u0631 \u067e\u0631\u0648\u0641\u0627\u06cc\u0644 \u0631\u0627 \u0646\u0645\u06cc\u062a\u0648\u0627\u0646 \u062d\u0630\u0641 \u06a9\u0631\u062f",
|
"error.avatar.delete.fail": "\u062a\u0635\u0648\u06cc\u0631 \u067e\u0631\u0648\u0641\u0627\u06cc\u0644 \u0631\u0627 \u0646\u0645\u06cc\u062a\u0648\u0627\u0646 \u062d\u0630\u0641 \u06a9\u0631\u062f",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "مبدل «{converter}» نامعتبر است",
|
"error.field.converter.invalid": "مبدل «{converter}» نامعتبر است",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "The name must not be empty",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"شما اجازه تنغییر نام فایل «{filename}» را ندارید",
|
"شما اجازه تنغییر نام فایل «{filename}» را ندارید",
|
||||||
"error.file.duplicate": "فایلی هم نام با «{filename}» هم اکنون موجود است",
|
"error.file.duplicate": "فایلی هم نام با «{filename}» هم اکنون موجود است",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "\u0644\u0637\u0641\u0627 \u062a\u06a9\u0631\u0627\u0631 \u06af\u0630\u0631\u0648\u0627\u0698\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u0646\u0645\u0627\u06cc\u06cc\u062f",
|
"error.user.password.notSame": "\u0644\u0637\u0641\u0627 \u062a\u06a9\u0631\u0627\u0631 \u06af\u0630\u0631\u0648\u0627\u0698\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u0646\u0645\u0627\u06cc\u06cc\u062f",
|
||||||
"error.user.password.undefined": "کاربر فاقد گذرواژه است",
|
"error.user.password.undefined": "کاربر فاقد گذرواژه است",
|
||||||
"error.user.role.invalid": "لطفا نقش صحیحی وارد نمایید",
|
"error.user.role.invalid": "لطفا نقش صحیحی وارد نمایید",
|
||||||
"error.user.undefined": "\u06a9\u0627\u0631\u0628\u0631 \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u067e\u06cc\u062f\u0627 \u0646\u0634\u062f",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"شما اجازه بروزرسانی کاربر «{name}» را ندارید",
|
"شما اجازه بروزرسانی کاربر «{name}» را ندارید",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "انگلیسی",
|
"translation.name": "انگلیسی",
|
||||||
|
|
||||||
"upload": "بارگذاری",
|
"upload": "بارگذاری",
|
||||||
|
"upload.error.cantMove": "The uploaded file could not be moved",
|
||||||
|
"upload.error.cantWrite": "Failed to write file to disk",
|
||||||
|
"upload.error.default": "The file could not be uploaded",
|
||||||
|
"upload.error.extension": "File upload stopped by extension",
|
||||||
|
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
|
||||||
|
"upload.error.noFile": "No file was uploaded",
|
||||||
|
"upload.error.noFiles": "No files were uploaded",
|
||||||
|
"upload.error.partial": "The uploaded file was only partially uploaded",
|
||||||
|
"upload.error.tmpDir": "Missing a temporary folder",
|
||||||
"upload.errors": "خطا",
|
"upload.errors": "خطا",
|
||||||
"upload.progress": "در حال بارگذاری...",
|
"upload.progress": "در حال بارگذاری...",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Kirjautumistiedot eivät kelpaa",
|
"error.access.login": "Kirjautumistiedot eivät kelpaa",
|
||||||
"error.access.panel": "Sinulla ei ole oikeutta käyttää paneelia",
|
"error.access.panel": "Sinulla ei ole oikeutta käyttää paneelia",
|
||||||
|
"error.access.view": "You are not allowed to access this part of the panel",
|
||||||
|
|
||||||
"error.avatar.create.fail": "Profiilikuvaa ei voitu lähettää",
|
"error.avatar.create.fail": "Profiilikuvaa ei voitu lähettää",
|
||||||
"error.avatar.delete.fail": "Profiilikuvaa ei voitu poistaa",
|
"error.avatar.delete.fail": "Profiilikuvaa ei voitu poistaa",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Muunnin \"{converter}\" ei kelpaa",
|
"error.field.converter.invalid": "Muunnin \"{converter}\" ei kelpaa",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "The name must not be empty",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"Sinulla ei ole oikeutta muuttaa tiedoston \"{filename}\" nimeä",
|
"Sinulla ei ole oikeutta muuttaa tiedoston \"{filename}\" nimeä",
|
||||||
"error.file.duplicate": "Tiedosto nimellä \"{filename}\" on jo olemassa",
|
"error.file.duplicate": "Tiedosto nimellä \"{filename}\" on jo olemassa",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "Salasanat eivät täsmää",
|
"error.user.password.notSame": "Salasanat eivät täsmää",
|
||||||
"error.user.password.undefined": "Käyttäjällä ei ole salasanaa",
|
"error.user.password.undefined": "Käyttäjällä ei ole salasanaa",
|
||||||
"error.user.role.invalid": "Anna kelpaava käyttäjätaso",
|
"error.user.role.invalid": "Anna kelpaava käyttäjätaso",
|
||||||
"error.user.undefined": "K\u00e4ytt\u00e4j\u00e4\u00e4 ei l\u00f6ytynyt",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"Sinulla ei ole oikeutta päivittää käyttäjää \"{name}\"",
|
"Sinulla ei ole oikeutta päivittää käyttäjää \"{name}\"",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Suomi",
|
"translation.name": "Suomi",
|
||||||
|
|
||||||
"upload": "Lähetä",
|
"upload": "Lähetä",
|
||||||
|
"upload.error.cantMove": "The uploaded file could not be moved",
|
||||||
|
"upload.error.cantWrite": "Failed to write file to disk",
|
||||||
|
"upload.error.default": "The file could not be uploaded",
|
||||||
|
"upload.error.extension": "File upload stopped by extension",
|
||||||
|
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
|
||||||
|
"upload.error.noFile": "No file was uploaded",
|
||||||
|
"upload.error.noFiles": "No files were uploaded",
|
||||||
|
"upload.error.partial": "The uploaded file was only partially uploaded",
|
||||||
|
"upload.error.tmpDir": "Missing a temporary folder",
|
||||||
"upload.errors": "Virhe",
|
"upload.errors": "Virhe",
|
||||||
"upload.progress": "Lähetetään...",
|
"upload.progress": "Lähetetään...",
|
||||||
|
|
||||||
|
@@ -37,8 +37,9 @@
|
|||||||
|
|
||||||
"error.access.login": "Identifiant incorrect",
|
"error.access.login": "Identifiant incorrect",
|
||||||
"error.access.panel": "Vous n’êtes pas autorisé à accéder au Panel",
|
"error.access.panel": "Vous n’êtes pas autorisé à accéder au Panel",
|
||||||
|
"error.access.view": "Vous n’êtes pas autorisé à accéder à cette section du Panel",
|
||||||
|
|
||||||
"error.avatar.create.fail": "L’image du profil n’a pas pu être transférée",
|
"error.avatar.create.fail": "L’image du profil n’a pu être transférée",
|
||||||
"error.avatar.delete.fail": "L’image du profil n’a pu être supprimée",
|
"error.avatar.delete.fail": "L’image du profil n’a pu être supprimée",
|
||||||
"error.avatar.dimensions.invalid":
|
"error.avatar.dimensions.invalid":
|
||||||
"Veuillez choisir une image de profil de largeur et hauteur inférieures à 3000 pixels",
|
"Veuillez choisir une image de profil de largeur et hauteur inférieures à 3000 pixels",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Convertisseur « {converter} » incorrect",
|
"error.field.converter.invalid": "Convertisseur « {converter} » incorrect",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "Le nom ne peut être vide",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"Vous n’êtes pas autorisé à modifier le nom de « {filename} »",
|
"Vous n’êtes pas autorisé à modifier le nom de « {filename} »",
|
||||||
"error.file.duplicate": "Un fichier nommé « {filename} » existe déjà",
|
"error.file.duplicate": "Un fichier nommé « {filename} » existe déjà",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "Les mots de passe ne sont pas identiques",
|
"error.user.password.notSame": "Les mots de passe ne sont pas identiques",
|
||||||
"error.user.password.undefined": "Cet utilisateur n’a pas de mot de passe",
|
"error.user.password.undefined": "Cet utilisateur n’a pas de mot de passe",
|
||||||
"error.user.role.invalid": "Veuillez saisir un rôle valide",
|
"error.user.role.invalid": "Veuillez saisir un rôle valide",
|
||||||
"error.user.undefined": "L’utilisateur est introuvable",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"Vous n’êtes pas autorisé à modifier l’utilisateur « {name} »",
|
"Vous n’êtes pas autorisé à modifier l’utilisateur « {name} »",
|
||||||
|
|
||||||
@@ -265,7 +266,7 @@
|
|||||||
"language.direction.ltr": "De gauche à droite",
|
"language.direction.ltr": "De gauche à droite",
|
||||||
"language.direction.rtl": "De droite à gauche",
|
"language.direction.rtl": "De droite à gauche",
|
||||||
"language.locale": "Locales PHP",
|
"language.locale": "Locales PHP",
|
||||||
"language.locale.warning": "You are using a custom locale set up. Please modify it in the language file in /site/languages",
|
"language.locale.warning": "Vous utilisez une Locale PHP personnalisée. Veuillez la modifier dans le fichier de langue situé dans /site/languages",
|
||||||
"language.name": "Nom",
|
"language.name": "Nom",
|
||||||
"language.updated": "La langue a été mise à jour",
|
"language.updated": "La langue a été mise à jour",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Français",
|
"translation.name": "Français",
|
||||||
|
|
||||||
"upload": "Transférer",
|
"upload": "Transférer",
|
||||||
|
"upload.error.cantMove": "Le fichier transféré n’a pu être déplacé",
|
||||||
|
"upload.error.cantWrite": "Le fichier n’a pu être écrit sur le disque",
|
||||||
|
"upload.error.default": "Le fichier n’a pu être transféré",
|
||||||
|
"upload.error.extension": "Le transfert de fichier a été stoppé par une extension",
|
||||||
|
"upload.error.formSize": "Le fichier transféré excède la directive MAX_FILE_SIZE spécifiée dans le formulaire",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "Le fichier transféré excède la directive MAX_FILE_SIZE spécifiée dans php.ini",
|
||||||
|
"upload.error.noFile": "Aucun fichier n’a été transféré",
|
||||||
|
"upload.error.noFiles": "Aucun fichier n’a été transféré",
|
||||||
|
"upload.error.partial": "Le fichier n’a été que partiellement transféré",
|
||||||
|
"upload.error.tmpDir": "Un dossier temporaire est manquant",
|
||||||
"upload.errors": "Erreur",
|
"upload.errors": "Erreur",
|
||||||
"upload.progress": "Transfert en cours…",
|
"upload.progress": "Transfert en cours…",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Érvénytelen bejelentkezés",
|
"error.access.login": "Érvénytelen bejelentkezés",
|
||||||
"error.access.panel": "Nincs jogosultságod megnyitni a panelt",
|
"error.access.panel": "Nincs jogosultságod megnyitni a panelt",
|
||||||
|
"error.access.view": "You are not allowed to access this part of the panel",
|
||||||
|
|
||||||
"error.avatar.create.fail": "A profilkép feltöltése nem sikerült",
|
"error.avatar.create.fail": "A profilkép feltöltése nem sikerült",
|
||||||
"error.avatar.delete.fail": "A profilkép nem törölhető",
|
"error.avatar.delete.fail": "A profilkép nem törölhető",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Érvénytelen konverter: \"{converter}\"",
|
"error.field.converter.invalid": "Érvénytelen konverter: \"{converter}\"",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "The name must not be empty",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"Nincs jogosultságod megváltoztatni a \"{filename}\" fájl nevét",
|
"Nincs jogosultságod megváltoztatni a \"{filename}\" fájl nevét",
|
||||||
"error.file.duplicate": "Már létezik \"{filename}\" nevű fájl",
|
"error.file.duplicate": "Már létezik \"{filename}\" nevű fájl",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "K\u00e9rlek er\u0151s\u00edtsd meg a jelsz\u00f3t",
|
"error.user.password.notSame": "K\u00e9rlek er\u0151s\u00edtsd meg a jelsz\u00f3t",
|
||||||
"error.user.password.undefined": "A felhasználónak nincs jelszó megadva",
|
"error.user.password.undefined": "A felhasználónak nincs jelszó megadva",
|
||||||
"error.user.role.invalid": "Kérlek adj meg egy megfelelő szerepkört",
|
"error.user.role.invalid": "Kérlek adj meg egy megfelelő szerepkört",
|
||||||
"error.user.undefined": "A felhaszn\u00e1l\u00f3 nem tal\u00e1lhat\u00f3",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"Nincs jogosultságod frissíteni \"{name}\" felhasználó adatait",
|
"Nincs jogosultságod frissíteni \"{name}\" felhasználó adatait",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Magyar",
|
"translation.name": "Magyar",
|
||||||
|
|
||||||
"upload": "Feltöltés",
|
"upload": "Feltöltés",
|
||||||
|
"upload.error.cantMove": "The uploaded file could not be moved",
|
||||||
|
"upload.error.cantWrite": "Failed to write file to disk",
|
||||||
|
"upload.error.default": "The file could not be uploaded",
|
||||||
|
"upload.error.extension": "File upload stopped by extension",
|
||||||
|
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
|
||||||
|
"upload.error.noFile": "No file was uploaded",
|
||||||
|
"upload.error.noFiles": "No files were uploaded",
|
||||||
|
"upload.error.partial": "The uploaded file was only partially uploaded",
|
||||||
|
"upload.error.tmpDir": "Missing a temporary folder",
|
||||||
"upload.errors": "Hiba",
|
"upload.errors": "Hiba",
|
||||||
"upload.progress": "Feltöltés...",
|
"upload.progress": "Feltöltés...",
|
||||||
|
|
||||||
|
@@ -33,10 +33,11 @@
|
|||||||
"dialog.users.empty": "Tidak ada pengguna untuk dipilih",
|
"dialog.users.empty": "Tidak ada pengguna untuk dipilih",
|
||||||
|
|
||||||
"email": "Surel",
|
"email": "Surel",
|
||||||
"email.placeholder": "surel@contohsurel.com",
|
"email.placeholder": "surel@contoh.com",
|
||||||
|
|
||||||
"error.access.login": "Upaya masuk tidak valid",
|
"error.access.login": "Upaya masuk tidak valid",
|
||||||
"error.access.panel": "Anda tidak diizinkan mengakses panel",
|
"error.access.panel": "Anda tidak diizinkan mengakses panel",
|
||||||
|
"error.access.view": "You are not allowed to access this part of the panel",
|
||||||
|
|
||||||
"error.avatar.create.fail": "Gambar profil tidak dapat diunggah",
|
"error.avatar.create.fail": "Gambar profil tidak dapat diunggah",
|
||||||
"error.avatar.delete.fail": "Gambar profil tidak dapat dihapus",
|
"error.avatar.delete.fail": "Gambar profil tidak dapat dihapus",
|
||||||
@@ -45,12 +46,13 @@
|
|||||||
"error.avatar.mime.forbidden":
|
"error.avatar.mime.forbidden":
|
||||||
"Gambar profil harus berupa berkas JPEG atau PNG",
|
"Gambar profil harus berupa berkas JPEG atau PNG",
|
||||||
|
|
||||||
"error.blueprint.notFound": "Blueprint \"{name}\" tidak dapat dimuat",
|
"error.blueprint.notFound": "Cetak biru \"{name}\" tidak dapat dimuat",
|
||||||
|
|
||||||
"error.email.preset.notFound": "Surel \"{name}\" tidak dapat ditemukan",
|
"error.email.preset.notFound": "Surel \"{name}\" tidak dapat ditemukan",
|
||||||
|
|
||||||
"error.field.converter.invalid": "Konverter \"{converter}\" tidak valid",
|
"error.field.converter.invalid": "Konverter \"{converter}\" tidak valid",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "The name must not be empty",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"Anda tidak diizinkan mengubah nama berkas \"{filename}\"",
|
"Anda tidak diizinkan mengubah nama berkas \"{filename}\"",
|
||||||
"error.file.duplicate": "Berkas dengan nama \"{filename}\" sudah ada",
|
"error.file.duplicate": "Berkas dengan nama \"{filename}\" sudah ada",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "Sandi tidak cocok",
|
"error.user.password.notSame": "Sandi tidak cocok",
|
||||||
"error.user.password.undefined": "Pengguna tidak memiliki sandi",
|
"error.user.password.undefined": "Pengguna tidak memiliki sandi",
|
||||||
"error.user.role.invalid": "Masukkan peran yang valid",
|
"error.user.role.invalid": "Masukkan peran yang valid",
|
||||||
"error.user.undefined": "Pengguna tidak dapat ditemukan",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"Anda tidak diizinkan memperbaharui pengguna \"{name}\"",
|
"Anda tidak diizinkan memperbaharui pengguna \"{name}\"",
|
||||||
|
|
||||||
@@ -265,7 +266,7 @@
|
|||||||
"language.direction.ltr": "Kiri ke kanan",
|
"language.direction.ltr": "Kiri ke kanan",
|
||||||
"language.direction.rtl": "Kanan ke kiri",
|
"language.direction.rtl": "Kanan ke kiri",
|
||||||
"language.locale": "String \"PHP locale\"",
|
"language.locale": "String \"PHP locale\"",
|
||||||
"language.locale.warning": "You are using a custom locale set up. Please modify it in the language file in /site/languages",
|
"language.locale.warning": "Anda menggunakan pengaturan lokal ubah suaian. Ubah di berkas bahasa di /site/languages",
|
||||||
"language.name": "Nama",
|
"language.name": "Nama",
|
||||||
"language.updated": "Bahasa sudah diperbaharui",
|
"language.updated": "Bahasa sudah diperbaharui",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Bahasa Indonesia",
|
"translation.name": "Bahasa Indonesia",
|
||||||
|
|
||||||
"upload": "Unggah",
|
"upload": "Unggah",
|
||||||
|
"upload.error.cantMove": "The uploaded file could not be moved",
|
||||||
|
"upload.error.cantWrite": "Failed to write file to disk",
|
||||||
|
"upload.error.default": "The file could not be uploaded",
|
||||||
|
"upload.error.extension": "File upload stopped by extension",
|
||||||
|
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
|
||||||
|
"upload.error.noFile": "No file was uploaded",
|
||||||
|
"upload.error.noFiles": "No files were uploaded",
|
||||||
|
"upload.error.partial": "The uploaded file was only partially uploaded",
|
||||||
|
"upload.error.tmpDir": "Missing a temporary folder",
|
||||||
"upload.errors": "Kesalahan",
|
"upload.errors": "Kesalahan",
|
||||||
"upload.progress": "Mengunggah…",
|
"upload.progress": "Mengunggah…",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Login Invalido",
|
"error.access.login": "Login Invalido",
|
||||||
"error.access.panel": "Non ti è permesso accedere al pannello",
|
"error.access.panel": "Non ti è permesso accedere al pannello",
|
||||||
|
"error.access.view": "You are not allowed to access this part of the panel",
|
||||||
|
|
||||||
"error.avatar.create.fail": "Non è stato possibile caricare l'immagine del profilo",
|
"error.avatar.create.fail": "Non è stato possibile caricare l'immagine del profilo",
|
||||||
"error.avatar.delete.fail": "Non è stato possibile eliminare l'immagine del profilo",
|
"error.avatar.delete.fail": "Non è stato possibile eliminare l'immagine del profilo",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Convertitore \"{converter}\" non valido",
|
"error.field.converter.invalid": "Convertitore \"{converter}\" non valido",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "The name must not be empty",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"Non ti è permesso modificare il nome di \"{filename}\"",
|
"Non ti è permesso modificare il nome di \"{filename}\"",
|
||||||
"error.file.duplicate": "Un file con il nome \"{filename}\" esiste già",
|
"error.file.duplicate": "Un file con il nome \"{filename}\" esiste già",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "Le password non corrispondono",
|
"error.user.password.notSame": "Le password non corrispondono",
|
||||||
"error.user.password.undefined": "L'utente non ha una password",
|
"error.user.password.undefined": "L'utente non ha una password",
|
||||||
"error.user.role.invalid": "Inserisci un ruolo valido",
|
"error.user.role.invalid": "Inserisci un ruolo valido",
|
||||||
"error.user.undefined": "L'utente non \u00e8 stato trovato",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"Non ti è permesso aggiornare l'utente \"{name}\"",
|
"Non ti è permesso aggiornare l'utente \"{name}\"",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Italiano",
|
"translation.name": "Italiano",
|
||||||
|
|
||||||
"upload": "Carica",
|
"upload": "Carica",
|
||||||
|
"upload.error.cantMove": "The uploaded file could not be moved",
|
||||||
|
"upload.error.cantWrite": "Failed to write file to disk",
|
||||||
|
"upload.error.default": "The file could not be uploaded",
|
||||||
|
"upload.error.extension": "File upload stopped by extension",
|
||||||
|
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
|
||||||
|
"upload.error.noFile": "No file was uploaded",
|
||||||
|
"upload.error.noFiles": "No files were uploaded",
|
||||||
|
"upload.error.partial": "The uploaded file was only partially uploaded",
|
||||||
|
"upload.error.tmpDir": "Missing a temporary folder",
|
||||||
"upload.errors": "Errore",
|
"upload.errors": "Errore",
|
||||||
"upload.progress": "Caricamento...",
|
"upload.progress": "Caricamento...",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "로그인할 수 없습니다.",
|
"error.access.login": "로그인할 수 없습니다.",
|
||||||
"error.access.panel": "패널에 접근할 권한이 없습니다.",
|
"error.access.panel": "패널에 접근할 권한이 없습니다.",
|
||||||
|
"error.access.view": "You are not allowed to access this part of the panel",
|
||||||
|
|
||||||
"error.avatar.create.fail": "프로필 이미지를 업로드할 수 없습니다.",
|
"error.avatar.create.fail": "프로필 이미지를 업로드할 수 없습니다.",
|
||||||
"error.avatar.delete.fail": "\ud504\ub85c\ud544 \uc774\ubbf8\uc9c0\ub97c \uc0ad\uc81c\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.",
|
"error.avatar.delete.fail": "\ud504\ub85c\ud544 \uc774\ubbf8\uc9c0\ub97c \uc0ad\uc81c\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "컨버터({converter})가 올바르지 않습니다.",
|
"error.field.converter.invalid": "컨버터({converter})가 올바르지 않습니다.",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "The name must not be empty",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"파일명({filename})을 변경할 권한이 없습니다.",
|
"파일명({filename})을 변경할 권한이 없습니다.",
|
||||||
"error.file.duplicate": "파일명이 같은 파일({filename})이 있습니다.",
|
"error.file.duplicate": "파일명이 같은 파일({filename})이 있습니다.",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "\uc554\ud638\ub97c \ud655\uc778\ud558\uc138\uc694.",
|
"error.user.password.notSame": "\uc554\ud638\ub97c \ud655\uc778\ud558\uc138\uc694.",
|
||||||
"error.user.password.undefined": "암호가 설정되지 않았습니다.",
|
"error.user.password.undefined": "암호가 설정되지 않았습니다.",
|
||||||
"error.user.role.invalid": "올바른 역할을 입력하세요.",
|
"error.user.role.invalid": "올바른 역할을 입력하세요.",
|
||||||
"error.user.undefined": "\uc0ac\uc6a9\uc790\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"사용자({name})의 정보를 변경할 권한이 없습니다.",
|
"사용자({name})의 정보를 변경할 권한이 없습니다.",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "한국어",
|
"translation.name": "한국어",
|
||||||
|
|
||||||
"upload": "업로드",
|
"upload": "업로드",
|
||||||
|
"upload.error.cantMove": "The uploaded file could not be moved",
|
||||||
|
"upload.error.cantWrite": "Failed to write file to disk",
|
||||||
|
"upload.error.default": "The file could not be uploaded",
|
||||||
|
"upload.error.extension": "File upload stopped by extension",
|
||||||
|
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
|
||||||
|
"upload.error.noFile": "No file was uploaded",
|
||||||
|
"upload.error.noFiles": "No files were uploaded",
|
||||||
|
"upload.error.partial": "The uploaded file was only partially uploaded",
|
||||||
|
"upload.error.tmpDir": "Missing a temporary folder",
|
||||||
"upload.errors": "오류",
|
"upload.errors": "오류",
|
||||||
"upload.progress": "업로드 중…",
|
"upload.progress": "업로드 중…",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Neteisingas prisijungimo vardas",
|
"error.access.login": "Neteisingas prisijungimo vardas",
|
||||||
"error.access.panel": "Neturite teisės prisijungti prie valdymo pulto",
|
"error.access.panel": "Neturite teisės prisijungti prie valdymo pulto",
|
||||||
|
"error.access.view": "Neturite teisės peržiūrėti šios valdymo pulto dalies",
|
||||||
|
|
||||||
"error.avatar.create.fail": "Nepavyko įkelti profilio nuotraukos",
|
"error.avatar.create.fail": "Nepavyko įkelti profilio nuotraukos",
|
||||||
"error.avatar.delete.fail": "Nepavyko pašalinti profilio nuotraukos",
|
"error.avatar.delete.fail": "Nepavyko pašalinti profilio nuotraukos",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Neteisingas konverteris \"{converter}\"",
|
"error.field.converter.invalid": "Neteisingas konverteris \"{converter}\"",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "Pavadinimas negali būti tuščias",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"Neturite teisės pakeisti failo pavadinimo \"{filename}\"",
|
"Neturite teisės pakeisti failo pavadinimo \"{filename}\"",
|
||||||
"error.file.duplicate": "Failas su pavadinimu \"{filename}\" jau yra",
|
"error.file.duplicate": "Failas su pavadinimu \"{filename}\" jau yra",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "Slaptažodžiai nesutampa",
|
"error.user.password.notSame": "Slaptažodžiai nesutampa",
|
||||||
"error.user.password.undefined": "Vartotojas neturi slaptažodžio",
|
"error.user.password.undefined": "Vartotojas neturi slaptažodžio",
|
||||||
"error.user.role.invalid": "Įrašykite teisingą rolę",
|
"error.user.role.invalid": "Įrašykite teisingą rolę",
|
||||||
"error.user.undefined": "Vartotojas nerastas",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"Neturite teisės keisti vartotojo \"{name}\"",
|
"Neturite teisės keisti vartotojo \"{name}\"",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Lietuvių",
|
"translation.name": "Lietuvių",
|
||||||
|
|
||||||
"upload": "Įkelti",
|
"upload": "Įkelti",
|
||||||
|
"upload.error.cantMove": "Įkeltas failas negali būti perkeltas",
|
||||||
|
"upload.error.cantWrite": "Nepavyko įrašyti failo į diską",
|
||||||
|
"upload.error.default": "Nepavyko įkelti failo",
|
||||||
|
"upload.error.extension": "Neįmanoma įkelti tokio tipo failo",
|
||||||
|
"upload.error.formSize": "Įkeltas failas viršija MAX_FILE_SIZE nustatymą, kuris buvo nurodytas formoje",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "Įkeltas failas viršija upload_max_filesize nustatymą faile php.ini",
|
||||||
|
"upload.error.noFile": "Failas nebuvo įkeltas",
|
||||||
|
"upload.error.noFiles": "Failai nebuvo įkelti",
|
||||||
|
"upload.error.partial": "Failas įkeltas tik iš dalies",
|
||||||
|
"upload.error.tmpDir": "Trūksta laikinojo katalogo",
|
||||||
"upload.errors": "Klaida",
|
"upload.errors": "Klaida",
|
||||||
"upload.progress": "Įkėlimas…",
|
"upload.progress": "Įkėlimas…",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Ugyldig innlogging",
|
"error.access.login": "Ugyldig innlogging",
|
||||||
"error.access.panel": "Du har ikke tilgang til panelet",
|
"error.access.panel": "Du har ikke tilgang til panelet",
|
||||||
|
"error.access.view": "You are not allowed to access this part of the panel",
|
||||||
|
|
||||||
"error.avatar.create.fail": "Profilbildet kunne ikke lastes opp",
|
"error.avatar.create.fail": "Profilbildet kunne ikke lastes opp",
|
||||||
"error.avatar.delete.fail": "Profil bildet kunne ikke bli slette",
|
"error.avatar.delete.fail": "Profil bildet kunne ikke bli slette",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Ugyldig omformer \"{converter}\"",
|
"error.field.converter.invalid": "Ugyldig omformer \"{converter}\"",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "The name must not be empty",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"Du er ikke tillatt å endre navnet til \"{filename}\"",
|
"Du er ikke tillatt å endre navnet til \"{filename}\"",
|
||||||
"error.file.duplicate": "En fil med navnet \"{filename}\" eksisterer allerede",
|
"error.file.duplicate": "En fil med navnet \"{filename}\" eksisterer allerede",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "Vennligst bekreft passordet",
|
"error.user.password.notSame": "Vennligst bekreft passordet",
|
||||||
"error.user.password.undefined": "Brukeren har ikke et passord",
|
"error.user.password.undefined": "Brukeren har ikke et passord",
|
||||||
"error.user.role.invalid": "Vennligst skriv inn en gyldig rolle",
|
"error.user.role.invalid": "Vennligst skriv inn en gyldig rolle",
|
||||||
"error.user.undefined": "Brukeren kunne ikke bli funnet",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"Du har ikke tillatelse til å oppdatere brukeren \"{name}\"",
|
"Du har ikke tillatelse til å oppdatere brukeren \"{name}\"",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Norsk Bokm\u00e5l",
|
"translation.name": "Norsk Bokm\u00e5l",
|
||||||
|
|
||||||
"upload": "Last opp",
|
"upload": "Last opp",
|
||||||
|
"upload.error.cantMove": "The uploaded file could not be moved",
|
||||||
|
"upload.error.cantWrite": "Failed to write file to disk",
|
||||||
|
"upload.error.default": "The file could not be uploaded",
|
||||||
|
"upload.error.extension": "File upload stopped by extension",
|
||||||
|
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
|
||||||
|
"upload.error.noFile": "No file was uploaded",
|
||||||
|
"upload.error.noFiles": "No files were uploaded",
|
||||||
|
"upload.error.partial": "The uploaded file was only partially uploaded",
|
||||||
|
"upload.error.tmpDir": "Missing a temporary folder",
|
||||||
"upload.errors": "Feil",
|
"upload.errors": "Feil",
|
||||||
"upload.progress": "Laster opp…",
|
"upload.progress": "Laster opp…",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Ongeldige login",
|
"error.access.login": "Ongeldige login",
|
||||||
"error.access.panel": "Je hebt geen toegang tot het Panel",
|
"error.access.panel": "Je hebt geen toegang tot het Panel",
|
||||||
|
"error.access.view": "You are not allowed to access this part of the panel",
|
||||||
|
|
||||||
"error.avatar.create.fail": "De avatar kon niet worden geupload",
|
"error.avatar.create.fail": "De avatar kon niet worden geupload",
|
||||||
"error.avatar.delete.fail": "De avatar kan niet worden verwijderd",
|
"error.avatar.delete.fail": "De avatar kan niet worden verwijderd",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Ongeldige converter \"{converter}\"",
|
"error.field.converter.invalid": "Ongeldige converter \"{converter}\"",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "The name must not be empty",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"Je hebt geen rechten om de naam te wijzigen van \"{filename}\"",
|
"Je hebt geen rechten om de naam te wijzigen van \"{filename}\"",
|
||||||
"error.file.duplicate": "Er bestaat al een bestand met de naam \"{filename}\"",
|
"error.file.duplicate": "Er bestaat al een bestand met de naam \"{filename}\"",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "De wachtwoorden komen niet overeen",
|
"error.user.password.notSame": "De wachtwoorden komen niet overeen",
|
||||||
"error.user.password.undefined": "De gebruiker heeft geen wachtwoord",
|
"error.user.password.undefined": "De gebruiker heeft geen wachtwoord",
|
||||||
"error.user.role.invalid": "Gelieve een geldige rol in te voeren",
|
"error.user.role.invalid": "Gelieve een geldige rol in te voeren",
|
||||||
"error.user.undefined": "De gebruiker kan niet worden gevonden",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"Je hebt geen rechten om gebruiker \"{name}\" te updaten",
|
"Je hebt geen rechten om gebruiker \"{name}\" te updaten",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Nederlands",
|
"translation.name": "Nederlands",
|
||||||
|
|
||||||
"upload": "Upload",
|
"upload": "Upload",
|
||||||
|
"upload.error.cantMove": "The uploaded file could not be moved",
|
||||||
|
"upload.error.cantWrite": "Failed to write file to disk",
|
||||||
|
"upload.error.default": "The file could not be uploaded",
|
||||||
|
"upload.error.extension": "File upload stopped by extension",
|
||||||
|
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
|
||||||
|
"upload.error.noFile": "No file was uploaded",
|
||||||
|
"upload.error.noFiles": "No files were uploaded",
|
||||||
|
"upload.error.partial": "The uploaded file was only partially uploaded",
|
||||||
|
"upload.error.tmpDir": "Missing a temporary folder",
|
||||||
"upload.errors": "Foutmelding",
|
"upload.errors": "Foutmelding",
|
||||||
"upload.progress": "Uploaden...",
|
"upload.progress": "Uploaden...",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Nieprawidłowy login",
|
"error.access.login": "Nieprawidłowy login",
|
||||||
"error.access.panel": "Nie masz uprawnień by dostać się do panelu",
|
"error.access.panel": "Nie masz uprawnień by dostać się do panelu",
|
||||||
|
"error.access.view": "You are not allowed to access this part of the panel",
|
||||||
|
|
||||||
"error.avatar.create.fail": "Nie udało się załadować zdjęcia profilowego",
|
"error.avatar.create.fail": "Nie udało się załadować zdjęcia profilowego",
|
||||||
"error.avatar.delete.fail": "Nie udało się usunąć zdjęcia profilowego",
|
"error.avatar.delete.fail": "Nie udało się usunąć zdjęcia profilowego",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Nieprawidłowy konwerter \"{converter}\"",
|
"error.field.converter.invalid": "Nieprawidłowy konwerter \"{converter}\"",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "The name must not be empty",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"Nie masz uprawnień, by zmienić nazwę \"{filename}\"",
|
"Nie masz uprawnień, by zmienić nazwę \"{filename}\"",
|
||||||
"error.file.duplicate": "Istnieje już plik o nazwie \"{filename}\"",
|
"error.file.duplicate": "Istnieje już plik o nazwie \"{filename}\"",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "Hasła nie są takie same",
|
"error.user.password.notSame": "Hasła nie są takie same",
|
||||||
"error.user.password.undefined": "Użytkownik nie ma hasła",
|
"error.user.password.undefined": "Użytkownik nie ma hasła",
|
||||||
"error.user.role.invalid": "Wprowadź poprawną rolę",
|
"error.user.role.invalid": "Wprowadź poprawną rolę",
|
||||||
"error.user.undefined": "Nie można znaleźć użytkownika",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"Nie masz uprawnień, by zaktualizować użytkownika \"{name}\"",
|
"Nie masz uprawnień, by zaktualizować użytkownika \"{name}\"",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Polski",
|
"translation.name": "Polski",
|
||||||
|
|
||||||
"upload": "Prześlij",
|
"upload": "Prześlij",
|
||||||
|
"upload.error.cantMove": "The uploaded file could not be moved",
|
||||||
|
"upload.error.cantWrite": "Failed to write file to disk",
|
||||||
|
"upload.error.default": "The file could not be uploaded",
|
||||||
|
"upload.error.extension": "File upload stopped by extension",
|
||||||
|
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
|
||||||
|
"upload.error.noFile": "No file was uploaded",
|
||||||
|
"upload.error.noFiles": "No files were uploaded",
|
||||||
|
"upload.error.partial": "The uploaded file was only partially uploaded",
|
||||||
|
"upload.error.tmpDir": "Missing a temporary folder",
|
||||||
"upload.errors": "Błąd",
|
"upload.errors": "Błąd",
|
||||||
"upload.progress": "Przesyłanie…",
|
"upload.progress": "Przesyłanie…",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Login inválido",
|
"error.access.login": "Login inválido",
|
||||||
"error.access.panel": "Você não tem permissão para acessar o painel",
|
"error.access.panel": "Você não tem permissão para acessar o painel",
|
||||||
|
"error.access.view": "You are not allowed to access this part of the panel",
|
||||||
|
|
||||||
"error.avatar.create.fail": "A foto de perfil não pôde ser enviada",
|
"error.avatar.create.fail": "A foto de perfil não pôde ser enviada",
|
||||||
"error.avatar.delete.fail": "A foto do perfil não pôde ser deletada",
|
"error.avatar.delete.fail": "A foto do perfil não pôde ser deletada",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Conversor \"{converter}\" inválido",
|
"error.field.converter.invalid": "Conversor \"{converter}\" inválido",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "The name must not be empty",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"Você não tem permissão para alterar o nome de \"{filename}\"",
|
"Você não tem permissão para alterar o nome de \"{filename}\"",
|
||||||
"error.file.duplicate": "Um arquivo com o nome \"{filename}\" já existe",
|
"error.file.duplicate": "Um arquivo com o nome \"{filename}\" já existe",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "As senhas não combinam",
|
"error.user.password.notSame": "As senhas não combinam",
|
||||||
"error.user.password.undefined": "O usuário não possui uma senha",
|
"error.user.password.undefined": "O usuário não possui uma senha",
|
||||||
"error.user.role.invalid": "Digite um papel válido",
|
"error.user.role.invalid": "Digite um papel válido",
|
||||||
"error.user.undefined": "Usu\u00e1rio n\u00e3o encontrado",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"Você não tem permissão para atualizar o usuário \"{name}\"",
|
"Você não tem permissão para atualizar o usuário \"{name}\"",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Português (Brasileiro)",
|
"translation.name": "Português (Brasileiro)",
|
||||||
|
|
||||||
"upload": "Enviar",
|
"upload": "Enviar",
|
||||||
|
"upload.error.cantMove": "The uploaded file could not be moved",
|
||||||
|
"upload.error.cantWrite": "Failed to write file to disk",
|
||||||
|
"upload.error.default": "The file could not be uploaded",
|
||||||
|
"upload.error.extension": "File upload stopped by extension",
|
||||||
|
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
|
||||||
|
"upload.error.noFile": "No file was uploaded",
|
||||||
|
"upload.error.noFiles": "No files were uploaded",
|
||||||
|
"upload.error.partial": "The uploaded file was only partially uploaded",
|
||||||
|
"upload.error.tmpDir": "Missing a temporary folder",
|
||||||
"upload.errors": "Erro",
|
"upload.errors": "Erro",
|
||||||
"upload.progress": "Enviando…",
|
"upload.progress": "Enviando…",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Login inválido",
|
"error.access.login": "Login inválido",
|
||||||
"error.access.panel": "Não tem permissões para aceder ao painel",
|
"error.access.panel": "Não tem permissões para aceder ao painel",
|
||||||
|
"error.access.view": "You are not allowed to access this part of the panel",
|
||||||
|
|
||||||
"error.avatar.create.fail": "A foto de perfil não foi enviada",
|
"error.avatar.create.fail": "A foto de perfil não foi enviada",
|
||||||
"error.avatar.delete.fail": "A foto do perfil não foi deletada",
|
"error.avatar.delete.fail": "A foto do perfil não foi deletada",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Conversor \"{converter}\" inválido",
|
"error.field.converter.invalid": "Conversor \"{converter}\" inválido",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "The name must not be empty",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"Não tem permissões para alterar o nome de \"{filename}\"",
|
"Não tem permissões para alterar o nome de \"{filename}\"",
|
||||||
"error.file.duplicate": "Um arquivo com o nome \"{filename}\" já existe",
|
"error.file.duplicate": "Um arquivo com o nome \"{filename}\" já existe",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "As palavras-passe não combinam",
|
"error.user.password.notSame": "As palavras-passe não combinam",
|
||||||
"error.user.password.undefined": "O utilizador não possui uma palavra-passe",
|
"error.user.password.undefined": "O utilizador não possui uma palavra-passe",
|
||||||
"error.user.role.invalid": "Digite uma função válida",
|
"error.user.role.invalid": "Digite uma função válida",
|
||||||
"error.user.undefined": "Usu\u00e1rio n\u00e3o encontrado",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"Não tem permissões para atualizar o utilizador \"{name}\"",
|
"Não tem permissões para atualizar o utilizador \"{name}\"",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Português (Europeu)",
|
"translation.name": "Português (Europeu)",
|
||||||
|
|
||||||
"upload": "Enviar",
|
"upload": "Enviar",
|
||||||
|
"upload.error.cantMove": "The uploaded file could not be moved",
|
||||||
|
"upload.error.cantWrite": "Failed to write file to disk",
|
||||||
|
"upload.error.default": "The file could not be uploaded",
|
||||||
|
"upload.error.extension": "File upload stopped by extension",
|
||||||
|
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
|
||||||
|
"upload.error.noFile": "No file was uploaded",
|
||||||
|
"upload.error.noFiles": "No files were uploaded",
|
||||||
|
"upload.error.partial": "The uploaded file was only partially uploaded",
|
||||||
|
"upload.error.tmpDir": "Missing a temporary folder",
|
||||||
"upload.errors": "Erro",
|
"upload.errors": "Erro",
|
||||||
"upload.progress": "A enviar…",
|
"upload.progress": "A enviar…",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Неправильный логин",
|
"error.access.login": "Неправильный логин",
|
||||||
"error.access.panel": "У вас нет права доступа к панели",
|
"error.access.panel": "У вас нет права доступа к панели",
|
||||||
|
"error.access.view": "У вас нет прав доступа к этой части панели",
|
||||||
|
|
||||||
"error.avatar.create.fail": "Не удалось загрузить фотографию профиля",
|
"error.avatar.create.fail": "Не удалось загрузить фотографию профиля",
|
||||||
"error.avatar.delete.fail": "\u0410\u0432\u0430\u0442\u0430\u0440 (\u0444\u043e\u0442\u043e) \u043a \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0434\u0430\u043b\u0435\u043d",
|
"error.avatar.delete.fail": "\u0410\u0432\u0430\u0442\u0430\u0440 (\u0444\u043e\u0442\u043e) \u043a \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0434\u0430\u043b\u0435\u043d",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Неверный конвертер \"{converter}\"",
|
"error.field.converter.invalid": "Неверный конвертер \"{converter}\"",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "Название не может быть пустым",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"У вас нет права поменять название \"{filename}\"",
|
"У вас нет права поменять название \"{filename}\"",
|
||||||
"error.file.duplicate": "Файл с названием \"{filename}\" уже есть",
|
"error.file.duplicate": "Файл с названием \"{filename}\" уже есть",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u044c",
|
"error.user.password.notSame": "\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u044c",
|
||||||
"error.user.password.undefined": "У пользователя нет пароля",
|
"error.user.password.undefined": "У пользователя нет пароля",
|
||||||
"error.user.role.invalid": "Впишите правильную роль",
|
"error.user.role.invalid": "Впишите правильную роль",
|
||||||
"error.user.undefined": "\u0410\u043a\u043a\u0430\u0443\u043d\u0442 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"У вас нет права обновить пользователя \"{name}\"",
|
"У вас нет права обновить пользователя \"{name}\"",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Русский (Russian)",
|
"translation.name": "Русский (Russian)",
|
||||||
|
|
||||||
"upload": "Закачать",
|
"upload": "Закачать",
|
||||||
|
"upload.error.cantMove": "Загруженный файл не может быть перемещен",
|
||||||
|
"upload.error.cantWrite": "Не получилось записать файл на диск",
|
||||||
|
"upload.error.default": "Не получилось загрузить файл",
|
||||||
|
"upload.error.extension": "Загрузка файла не удалась из за расширения",
|
||||||
|
"upload.error.formSize": "Загруженный файл больше чем MAX_FILE_SIZE настройка в форме",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "Загруженный файл больше чем upload_max_filesize настройка в php.ini",
|
||||||
|
"upload.error.noFile": "Файл не был загружен",
|
||||||
|
"upload.error.noFiles": "Файлы не были загружены",
|
||||||
|
"upload.error.partial": "Файл загружен только частично",
|
||||||
|
"upload.error.tmpDir": "Не хватает временной папки",
|
||||||
"upload.errors": "Ошибка",
|
"upload.errors": "Ошибка",
|
||||||
"upload.progress": "Закачивается...",
|
"upload.progress": "Закачивается...",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Neplatné prihlásenie",
|
"error.access.login": "Neplatné prihlásenie",
|
||||||
"error.access.panel": "Nemáte povolenie na prístup do Panel-u",
|
"error.access.panel": "Nemáte povolenie na prístup do Panel-u",
|
||||||
|
"error.access.view": "You are not allowed to access this part of the panel",
|
||||||
|
|
||||||
"error.avatar.create.fail": "Profilový obrázok sa nepodarilo nahrať",
|
"error.avatar.create.fail": "Profilový obrázok sa nepodarilo nahrať",
|
||||||
"error.avatar.delete.fail": "Profilový obrázok sa nepodarilo zmazať",
|
"error.avatar.delete.fail": "Profilový obrázok sa nepodarilo zmazať",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Neplatný converter \"{converter}\"",
|
"error.field.converter.invalid": "Neplatný converter \"{converter}\"",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "The name must not be empty",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"Nemáte povolenie na zmenu názvu pre \"{filename}\"",
|
"Nemáte povolenie na zmenu názvu pre \"{filename}\"",
|
||||||
"error.file.duplicate": "Súbor s názvom \"{filename}\" už existuje",
|
"error.file.duplicate": "Súbor s názvom \"{filename}\" už existuje",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "Heslá nie sú rovnaké",
|
"error.user.password.notSame": "Heslá nie sú rovnaké",
|
||||||
"error.user.password.undefined": "Užívateľ nemá heslo",
|
"error.user.password.undefined": "Užívateľ nemá heslo",
|
||||||
"error.user.role.invalid": "Prosím, zadajte platnú rolu",
|
"error.user.role.invalid": "Prosím, zadajte platnú rolu",
|
||||||
"error.user.undefined": "Užívateľa sa nepodarilo nájsť",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"Nemáte povolenie na aktualizáciu užívateľa \"{name}\"",
|
"Nemáte povolenie na aktualizáciu užívateľa \"{name}\"",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Slovensky",
|
"translation.name": "Slovensky",
|
||||||
|
|
||||||
"upload": "Nahrať",
|
"upload": "Nahrať",
|
||||||
|
"upload.error.cantMove": "The uploaded file could not be moved",
|
||||||
|
"upload.error.cantWrite": "Failed to write file to disk",
|
||||||
|
"upload.error.default": "The file could not be uploaded",
|
||||||
|
"upload.error.extension": "File upload stopped by extension",
|
||||||
|
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
|
||||||
|
"upload.error.noFile": "No file was uploaded",
|
||||||
|
"upload.error.noFiles": "No files were uploaded",
|
||||||
|
"upload.error.partial": "The uploaded file was only partially uploaded",
|
||||||
|
"upload.error.tmpDir": "Missing a temporary folder",
|
||||||
"upload.errors": "Chyba",
|
"upload.errors": "Chyba",
|
||||||
"upload.progress": "Nahrávanie...",
|
"upload.progress": "Nahrávanie...",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Ogiltig inloggning",
|
"error.access.login": "Ogiltig inloggning",
|
||||||
"error.access.panel": "Du saknar behörighet att nå panelen",
|
"error.access.panel": "Du saknar behörighet att nå panelen",
|
||||||
|
"error.access.view": "You are not allowed to access this part of the panel",
|
||||||
|
|
||||||
"error.avatar.create.fail": "Profilbilden kunde inte laddas upp",
|
"error.avatar.create.fail": "Profilbilden kunde inte laddas upp",
|
||||||
"error.avatar.delete.fail": "Profilbilden kunde inte raderas",
|
"error.avatar.delete.fail": "Profilbilden kunde inte raderas",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Ogiltig omvandlare \"{converter}\"",
|
"error.field.converter.invalid": "Ogiltig omvandlare \"{converter}\"",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "The name must not be empty",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"Du har inte behörighet att ändra namnet på \"{filename}\"",
|
"Du har inte behörighet att ändra namnet på \"{filename}\"",
|
||||||
"error.file.duplicate": "En fil med namnet \"{filename}\" existerar redan",
|
"error.file.duplicate": "En fil med namnet \"{filename}\" existerar redan",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "Lösenorden matchar inte",
|
"error.user.password.notSame": "Lösenorden matchar inte",
|
||||||
"error.user.password.undefined": "Användaren har inget lösenord",
|
"error.user.password.undefined": "Användaren har inget lösenord",
|
||||||
"error.user.role.invalid": "Ange en giltig roll",
|
"error.user.role.invalid": "Ange en giltig roll",
|
||||||
"error.user.undefined": "Användaren kan inte hittas",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"Du har inte behörighet att uppdatera användaren \"{name}\"",
|
"Du har inte behörighet att uppdatera användaren \"{name}\"",
|
||||||
|
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "Svenska",
|
"translation.name": "Svenska",
|
||||||
|
|
||||||
"upload": "Ladda upp",
|
"upload": "Ladda upp",
|
||||||
|
"upload.error.cantMove": "The uploaded file could not be moved",
|
||||||
|
"upload.error.cantWrite": "Failed to write file to disk",
|
||||||
|
"upload.error.default": "The file could not be uploaded",
|
||||||
|
"upload.error.extension": "File upload stopped by extension",
|
||||||
|
"upload.error.formSize": "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the form",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "The uploaded file exceeds the upload_max_filesize directive in php.ini",
|
||||||
|
"upload.error.noFile": "No file was uploaded",
|
||||||
|
"upload.error.noFiles": "No files were uploaded",
|
||||||
|
"upload.error.partial": "The uploaded file was only partially uploaded",
|
||||||
|
"upload.error.tmpDir": "Missing a temporary folder",
|
||||||
"upload.errors": "Fel",
|
"upload.errors": "Fel",
|
||||||
"upload.progress": "Laddar upp...",
|
"upload.progress": "Laddar upp...",
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
"error.access.login": "Geçersiz giriş",
|
"error.access.login": "Geçersiz giriş",
|
||||||
"error.access.panel": "Panele erişim izniniz yok",
|
"error.access.panel": "Panele erişim izniniz yok",
|
||||||
|
"error.access.view": "Panelin bu bölümüne erişemezsiniz",
|
||||||
|
|
||||||
"error.avatar.create.fail": "Profil resmi yüklenemedi",
|
"error.avatar.create.fail": "Profil resmi yüklenemedi",
|
||||||
"error.avatar.delete.fail": "Profil resmi silinemedi",
|
"error.avatar.delete.fail": "Profil resmi silinemedi",
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
|
|
||||||
"error.field.converter.invalid": "Geçersiz dönüştürücü \"{converter}\"",
|
"error.field.converter.invalid": "Geçersiz dönüştürücü \"{converter}\"",
|
||||||
|
|
||||||
|
"error.file.changeName.empty": "İsim boş olmamalıdır",
|
||||||
"error.file.changeName.permission":
|
"error.file.changeName.permission":
|
||||||
"\"{filename}\" adını değiştiremezsiniz",
|
"\"{filename}\" adını değiştiremezsiniz",
|
||||||
"error.file.duplicate": "\"{filename}\" isimli bir dosya zaten var",
|
"error.file.duplicate": "\"{filename}\" isimli bir dosya zaten var",
|
||||||
@@ -169,7 +171,6 @@
|
|||||||
"error.user.password.notSame": "L\u00fctfen \u015fifreyi do\u011frulay\u0131n",
|
"error.user.password.notSame": "L\u00fctfen \u015fifreyi do\u011frulay\u0131n",
|
||||||
"error.user.password.undefined": "Bu kullanıcının şifresi yok",
|
"error.user.password.undefined": "Bu kullanıcının şifresi yok",
|
||||||
"error.user.role.invalid": "Lütfen geçerli bir rol girin",
|
"error.user.role.invalid": "Lütfen geçerli bir rol girin",
|
||||||
"error.user.undefined": "Kullan\u0131c\u0131 bulunamad\u0131",
|
|
||||||
"error.user.update.permission":
|
"error.user.update.permission":
|
||||||
"\"{name}\" kullanıcısını güncellemenize izin verilmiyor",
|
"\"{name}\" kullanıcısını güncellemenize izin verilmiyor",
|
||||||
|
|
||||||
@@ -325,7 +326,7 @@
|
|||||||
"next": "Sonraki",
|
"next": "Sonraki",
|
||||||
"off": "kapalı",
|
"off": "kapalı",
|
||||||
"on": "açık",
|
"on": "açık",
|
||||||
"open": "Önizle",
|
"open": "Önizleme",
|
||||||
"options": "Seçenekler",
|
"options": "Seçenekler",
|
||||||
|
|
||||||
"orientation": "Oryantasyon",
|
"orientation": "Oryantasyon",
|
||||||
@@ -412,6 +413,17 @@
|
|||||||
"translation.name": "T\u00fcrk\u00e7e",
|
"translation.name": "T\u00fcrk\u00e7e",
|
||||||
|
|
||||||
"upload": "Yükle",
|
"upload": "Yükle",
|
||||||
|
"upload.error.cantMove": "Yüklenen dosya taşınamadı",
|
||||||
|
"upload.error.cantWrite": "Dosya diske yazılamadı",
|
||||||
|
"upload.error.default": "Dosya yüklenemedi",
|
||||||
|
"upload.error.extension": "Dosya yükleme uzantısı tarafından durduruldu",
|
||||||
|
"upload.error.formSize": "Yüklenen dosya, formda belirtilen MAX_FILE_SIZE yönergesini aşıyor",
|
||||||
|
"upload.error.iniPostSize": "The uploaded file exceeds the post_max_size directive in php.ini",
|
||||||
|
"upload.error.iniSize": "Yüklenen dosya php.ini içindeki upload_max_filesize yönergesini aşıyor",
|
||||||
|
"upload.error.noFile": "Dosya yüklenmedi",
|
||||||
|
"upload.error.noFiles": "Dosyalar yüklenmedi",
|
||||||
|
"upload.error.partial": "Yüklenen dosya sadece kısmen yüklendi",
|
||||||
|
"upload.error.tmpDir": "Geçici klasör eksik",
|
||||||
"upload.errors": "Hata",
|
"upload.errors": "Hata",
|
||||||
"upload.progress": "Yükleniyor...",
|
"upload.progress": "Yükleniyor...",
|
||||||
|
|
||||||
|
2
kirby/panel/dist/css/app.css
vendored
2
kirby/panel/dist/css/app.css
vendored
File diff suppressed because one or more lines are too long
197
kirby/panel/dist/img/icons.svg
vendored
197
kirby/panel/dist/img/icons.svg
vendored
@@ -2,18 +2,15 @@
|
|||||||
<defs>
|
<defs>
|
||||||
<symbol id="icon-account" viewBox="0 0 16 16">
|
<symbol id="icon-account" viewBox="0 0 16 16">
|
||||||
<path d="M11 7a3 3 0 1 1-6 0 3 3 0 0 1 6 0z" />
|
<path d="M11 7a3 3 0 1 1-6 0 3 3 0 0 1 6 0z" />
|
||||||
<path d="M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm4 12.4c-.6-.7-1.4-1.4-3-1.4H7c-1.6 0-2.4.7-3 1.4C2.8 11.3 2 9.8 2 8c0-3.3 2.7-6 6-6s6 2.7 6 6c0 1.8-.8 3.3-2 4.4z"
|
<path d="M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm4 12.4c-.6-.7-1.4-1.4-3-1.4H7c-1.6 0-2.4.7-3 1.4C2.8 11.3 2 9.8 2 8c0-3.3 2.7-6 6-6s6 2.7 6 6c0 1.8-.8 3.3-2 4.4z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-add" viewBox="0 0 16 16">
|
<symbol id="icon-add" viewBox="0 0 16 16">
|
||||||
<path d="M9 4H7v3H4v2h3v3h2V9h3V7H9z" />
|
<path d="M9 4H7v3H4v2h3v3h2V9h3V7H9z" />
|
||||||
<path d="M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6z"
|
<path d="M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-alert" viewBox="0 0 16 16">
|
<symbol id="icon-alert" viewBox="0 0 16 16">
|
||||||
<path d="M7 6h2v4H7V6zM9 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0z" />
|
<path d="M7 6h2v4H7V6zM9 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0z" />
|
||||||
<path d="M15 16H1a1.001 1.001 0 0 1-.895-1.448l7-14c.34-.678 1.449-.678 1.789 0l7 14A1 1 0 0 1 15 16zM2.618 14h10.764L8 3.236 2.618 14z"
|
<path d="M15 16H1a1.001 1.001 0 0 1-.895-1.448l7-14c.34-.678 1.449-.678 1.789 0l7 14A1 1 0 0 1 15 16zM2.618 14h10.764L8 3.236 2.618 14z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-angle-down" viewBox="0 0 16 16">
|
<symbol id="icon-angle-down" viewBox="0 0 16 16">
|
||||||
<path d="M8 11.4L2.6 6 4 4.6l4 4 4-4L13.4 6z" />
|
<path d="M8 11.4L2.6 6 4 4.6l4 4 4-4L13.4 6z" />
|
||||||
@@ -31,30 +28,24 @@
|
|||||||
<path d="M5,5v4c0,1.7,1.3,3,3,3s3-1.3,3-3V4.5C11,2,9,0,6.5,0S2,2,2,4.5V10c0,3.3,2.7,6,6,6s6-2.7,6-6V4h-2v6 c0,2.2-1.8,4-4,4s-4-1.8-4-4V4.5C4,3.1,5.1,2,6.5,2S9,3.1,9,4.5V9c0,0.6-0.4,1-1,1S7,9.6,7,9V5H5z" />
|
<path d="M5,5v4c0,1.7,1.3,3,3,3s3-1.3,3-3V4.5C11,2,9,0,6.5,0S2,2,2,4.5V10c0,3.3,2.7,6,6,6s6-2.7,6-6V4h-2v6 c0,2.2-1.8,4-4,4s-4-1.8-4-4V4.5C4,3.1,5.1,2,6.5,2S9,3.1,9,4.5V9c0,0.6-0.4,1-1,1S7,9.6,7,9V5H5z" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-bars" viewBox="0 0 16 16">
|
<symbol id="icon-bars" viewBox="0 0 16 16">
|
||||||
<path d="M15 7H1c-.6 0-1 .4-1 1s.4 1 1 1h14c.6 0 1-.4 1-1s-.4-1-1-1zM15 1H1c-.6 0-1 .4-1 1s.4 1 1 1h14c.6 0 1-.4 1-1s-.4-1-1-1zM15 13H1c-.6 0-1 .4-1 1s.4 1 1 1h14c.6 0 1-.4 1-1s-.4-1-1-1z"
|
<path d="M15 7H1c-.6 0-1 .4-1 1s.4 1 1 1h14c.6 0 1-.4 1-1s-.4-1-1-1zM15 1H1c-.6 0-1 .4-1 1s.4 1 1 1h14c.6 0 1-.4 1-1s-.4-1-1-1zM15 13H1c-.6 0-1 .4-1 1s.4 1 1 1h14c.6 0 1-.4 1-1s-.4-1-1-1z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-bold" viewBox="0 0 16 16">
|
<symbol id="icon-bold" viewBox="0 0 16 16">
|
||||||
<path d="M11.561 7.316a3.485 3.485 0 0 0 1.418-3.208C12.781 2.305 11.144.999 9.33.999H2.001v1l1.447.724a1 1 0 0 1 .553.894v8.764a.998.998 0 0 1-.553.894l-1.447.724v1h7.823c2.104 0 3.98-1.547 4.162-3.643a4 4 0 0 0-2.424-4.04zM7 3h1a2 2 0 1 1 0 4H7V3zm2 10H7V9h2a2 2 0 1 1 0 4z"
|
<path d="M11.561 7.316a3.485 3.485 0 0 0 1.418-3.208C12.781 2.305 11.144.999 9.33.999H2.001v1l1.447.724a1 1 0 0 1 .553.894v8.764a.998.998 0 0 1-.553.894l-1.447.724v1h7.823c2.104 0 3.98-1.547 4.162-3.643a4 4 0 0 0-2.424-4.04zM7 3h1a2 2 0 1 1 0 4H7V3zm2 10H7V9h2a2 2 0 1 1 0 4z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-bolt" viewBox="0 0 16 16">
|
<symbol id="icon-bolt" viewBox="0 0 16 16">
|
||||||
<path d="M9.2 0H5.4c-.4 0-.8.3-1 .7l-2 7c-.2.7.3 1.3.9 1.3H7l-1.5 7 7.3-9.4c.5-.6 0-1.6-.8-1.6H9l1.1-3.7C10.3.6 9.8 0 9.2 0z"
|
<path d="M9.2 0H5.4c-.4 0-.8.3-1 .7l-2 7c-.2.7.3 1.3.9 1.3H7l-1.5 7 7.3-9.4c.5-.6 0-1.6-.8-1.6H9l1.1-3.7C10.3.6 9.8 0 9.2 0z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-calendar" viewBox="0 0 16 16">
|
<symbol id="icon-calendar" viewBox="0 0 16 16">
|
||||||
<path d="M15 2h-2V0h-2v2H9V0H7v2H5V0H3v2H1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1zm-1 12H2V5h12v9z"
|
<path d="M15 2h-2V0h-2v2H9V0H7v2H5V0H3v2H1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1zm-1 12H2V5h12v9z" />
|
||||||
/>
|
|
||||||
<path d="M4 7h2v2H4V7zM7 7h2v2H7V7zM4 10h2v2H4v-2zM7 10h2v2H7v-2zM10 7h2v2h-2V7zM10 10h2v2h-2v-2z" />
|
<path d="M4 7h2v2H4V7zM7 7h2v2H7V7zM4 10h2v2H4v-2zM7 10h2v2H7v-2zM10 7h2v2h-2V7zM10 10h2v2h-2v-2z" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-cancel" viewBox="0 0 16 16">
|
<symbol id="icon-cancel" viewBox="0 0 16 16">
|
||||||
<path d="M10.1 4.5L8 6.6 5.9 4.5 4.5 5.9 6.6 8l-2.1 2.1 1.4 1.4L8 9.4l2.1 2.1 1.4-1.4L9.4 8l2.1-2.1z" />
|
<path d="M10.1 4.5L8 6.6 5.9 4.5 4.5 5.9 6.6 8l-2.1 2.1 1.4 1.4L8 9.4l2.1 2.1 1.4-1.4L9.4 8l2.1-2.1z" />
|
||||||
<path d="M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6z"
|
<path d="M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-check" viewBox="0 0 16 16">
|
<symbol id="icon-check" viewBox="0 0 16 16">
|
||||||
<path d="M8 0C3.589 0 0 3.589 0 8s3.589 8 8 8 8-3.589 8-8-3.589-8-8-8zm0 14c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6z"
|
<path d="M8 0C3.589 0 0 3.589 0 8s3.589 8 8 8 8-3.589 8-8-3.589-8-8-8zm0 14c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6z" />
|
||||||
/>
|
|
||||||
<path d="M7 11.414L3.586 8 5 6.586l2 2 4-4L12.414 6z" />
|
<path d="M7 11.414L3.586 8 5 6.586l2 2 4-4L12.414 6z" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-clock" viewBox="0 0 16 16">
|
<symbol id="icon-clock" viewBox="0 0 16 16">
|
||||||
@@ -62,32 +53,27 @@
|
|||||||
<path d="M9 4H7v5h5V7H9z" />
|
<path d="M9 4H7v5h5V7H9z" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-code" viewBox="0 0 16 16">
|
<symbol id="icon-code" viewBox="0 0 16 16">
|
||||||
<path d="M12.7 11.7l-1.4-1.4L13.6 8l-2.3-2.3 1.4-1.4 3 3c.4.4.4 1 0 1.4l-3 3zM3.3 11.7l-3-3c-.4-.4-.4-1 0-1.4l3-3 1.4 1.4L2.4 8l2.3 2.3-1.4 1.4zM6 15c-.1 0-.2 0-.3-.1-.5-.2-.8-.7-.6-1.3l4-12c.2-.5.7-.8 1.3-.6.5.2.8.7.6 1.3l-4 12c-.2.4-.6.7-1 .7z"
|
<path d="M12.7 11.7l-1.4-1.4L13.6 8l-2.3-2.3 1.4-1.4 3 3c.4.4.4 1 0 1.4l-3 3zM3.3 11.7l-3-3c-.4-.4-.4-1 0-1.4l3-3 1.4 1.4L2.4 8l2.3 2.3-1.4 1.4zM6 15c-.1 0-.2 0-.3-.1-.5-.2-.8-.7-.6-1.3l4-12c.2-.5.7-.8 1.3-.6.5.2.8.7.6 1.3l-4 12c-.2.4-.6.7-1 .7z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-cog" viewBox="0 0 16 16">
|
<symbol id="icon-cog" viewBox="0 0 16 16">
|
||||||
<path d="M13.3 5.2l1.1-2.1L13 1.7l-2.1 1.1c-.3-.2-.7-.3-1.1-.4L9 0H7l-.8 2.3c-.3.1-.7.2-1 .4L3.1 1.6 1.6 3.1l1.1 2.1c-.2.3-.3.7-.4 1L0 7v2l2.3.8c.1.4.3.7.4 1.1L1.6 13 3 14.4l2.1-1.1c.3.2.7.3 1.1.4L7 16h2l.8-2.3c.4-.1.7-.3 1.1-.4l2.1 1.1 1.4-1.4-1.1-2.1c.2-.3.3-.7.4-1.1L16 9V7l-2.3-.8c-.1-.3-.2-.7-.4-1zM8 11c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z"
|
<path d="M13.3 5.2l1.1-2.1L13 1.7l-2.1 1.1c-.3-.2-.7-.3-1.1-.4L9 0H7l-.8 2.3c-.3.1-.7.2-1 .4L3.1 1.6 1.6 3.1l1.1 2.1c-.2.3-.3.7-.4 1L0 7v2l2.3.8c.1.4.3.7.4 1.1L1.6 13 3 14.4l2.1-1.1c.3.2.7.3 1.1.4L7 16h2l.8-2.3c.4-.1.7-.3 1.1-.4l2.1 1.1 1.4-1.4-1.1-2.1c.2-.3.3-.7.4-1.1L16 9V7l-2.3-.8c-.1-.3-.2-.7-.4-1zM8 11c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-collapse" viewBox="0 0 16 16">
|
<symbol id="icon-collapse" viewBox="0 0 16 16">
|
||||||
<path d="M15.707 1.707A.999.999 0 1 0 14.293.293l-2.5 2.5L9 0v7h7l-2.793-2.793 2.5-2.5zM2.793 11.793l-2.5 2.5a.999.999 0 1 0 1.414 1.414l2.5-2.5L7 16V9H0l2.793 2.793z"
|
<path d="M15.707 1.707A.999.999 0 1 0 14.293.293l-2.5 2.5L9 0v7h7l-2.793-2.793 2.5-2.5zM2.793 11.793l-2.5 2.5a.999.999 0 1 0 1.414 1.414l2.5-2.5L7 16V9H0l2.793 2.793z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-copy" viewBox="0 0 16 16">
|
<symbol id="icon-copy" viewBox="0 0 16 16">
|
||||||
<path d="M10 4H2c-.6 0-1 .4-1 1v10c0 .6.4 1 1 1h8c.6 0 1-.4 1-1V5c0-.6-.4-1-1-1z" />
|
<path d="M10 4H2c-.6 0-1 .4-1 1v10c0 .6.4 1 1 1h8c.6 0 1-.4 1-1V5c0-.6-.4-1-1-1z" />
|
||||||
<path d="M14 0H4v2h9v11h2V1c0-.6-.4-1-1-1z" />
|
<path d="M14 0H4v2h9v11h2V1c0-.6-.4-1-1-1z" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-dashboard" viewBox="0 0 16 16">
|
<symbol id="icon-dashboard" viewBox="0 0 16 16">
|
||||||
<path d="M6 9H1a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1zM6 16H1a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1zM15 6h-5a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1zM15 16h-5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1z"
|
<path d="M6 9H1a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1zM6 16H1a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1zM15 6h-5a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1zM15 16h-5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-document" viewBox="0 0 16 16">
|
<symbol id="icon-document" viewBox="0 0 16 16">
|
||||||
<path d="M14 0H2c-.6 0-1 .4-1 1v14c0 .6.4 1 1 1h12c.6 0 1-.4 1-1V1c0-.6-.4-1-1-1zm-1 14H3V2h10v12z" />
|
<path d="M14 0H2c-.6 0-1 .4-1 1v14c0 .6.4 1 1 1h12c.6 0 1-.4 1-1V1c0-.6-.4-1-1-1zm-1 14H3V2h10v12z" />
|
||||||
<path d="M4 3h4v4H4V3zM9 4h3v1H9V4zM9 6h3v1H9V6zM4 8h8v1H4V8zM4 10h8v1H4v-1zM4 12h5v1H4v-1z" />
|
<path d="M4 3h4v4H4V3zM9 4h3v1H9V4zM9 6h3v1H9V6zM4 8h8v1H4V8zM4 10h8v1H4v-1zM4 12h5v1H4v-1z" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-dots" viewBox="0 0 16 16">
|
<symbol id="icon-dots" viewBox="0 0 16 16">
|
||||||
<path d="M10 8a2 2 0 1 1-3.999.001A2 2 0 0 1 10 8zM4 8a2 2 0 1 1-3.999.001A2 2 0 0 1 4 8zM16 8a2 2 0 1 1-3.999.001A2 2 0 0 1 16 8z"
|
<path d="M10 8a2 2 0 1 1-3.999.001A2 2 0 0 1 10 8zM4 8a2 2 0 1 1-3.999.001A2 2 0 0 1 4 8zM16 8a2 2 0 1 1-3.999.001A2 2 0 0 1 16 8z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-download" viewBox="0 0 16 16">
|
<symbol id="icon-download" viewBox="0 0 16 16">
|
||||||
<path d="M8 12c.3 0 .5-.1.7-.3L14.4 6 13 4.6l-4 4V0H7v8.6l-4-4L1.6 6l5.7 5.7c.2.2.4.3.7.3z" />
|
<path d="M8 12c.3 0 .5-.1.7-.3L14.4 6 13 4.6l-4 4V0H7v8.6l-4-4L1.6 6l5.7 5.7c.2.2.4.3.7.3z" />
|
||||||
@@ -98,19 +84,16 @@
|
|||||||
<path d="M8 5h4v2H8V5zM8 9h4v2H8V9z" />
|
<path d="M8 5h4v2H8V5zM8 9h4v2H8V9z" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-edit" viewBox="0 0 16 16">
|
<symbol id="icon-edit" viewBox="0 0 16 16">
|
||||||
<path d="M8.1 3.5L.3 11.3c-.2.2-.3.4-.3.7v3c0 .6.4 1 1 1h3c.3 0 .5-.1.7-.3l7.8-7.8-4.4-4.4zM15.7 3.3l-3-3c-.4-.4-1-.4-1.4 0L9.5 2.1l4.4 4.4 1.8-1.8c.4-.4.4-1 0-1.4z"
|
<path d="M8.1 3.5L.3 11.3c-.2.2-.3.4-.3.7v3c0 .6.4 1 1 1h3c.3 0 .5-.1.7-.3l7.8-7.8-4.4-4.4zM15.7 3.3l-3-3c-.4-.4-1-.4-1.4 0L9.5 2.1l4.4 4.4 1.8-1.8c.4-.4.4-1 0-1.4z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-email" viewBox="0 0 16 16">
|
<symbol id="icon-email" viewBox="0 0 16 16">
|
||||||
<path d="M15 1H1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zm-1 12H2V6.723l5.504 3.145a.998.998 0 0 0 .992 0L14 6.723V13zm0-8.58L8 7.849 2 4.42V3h12v1.42z"
|
<path d="M15 1H1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zm-1 12H2V6.723l5.504 3.145a.998.998 0 0 0 .992 0L14 6.723V13zm0-8.58L8 7.849 2 4.42V3h12v1.42z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-expand" viewBox="0 0 16 16">
|
<symbol id="icon-expand" viewBox="0 0 16 16">
|
||||||
<path d="M7.4 10L6 8.6l-2.7 2.7L0 8v8h8l-3.3-3.3zM11.3 3.3L8.6 6 10 7.4l2.7-2.7L16 8V0H8z" />
|
<path d="M7.4 10L6 8.6l-2.7 2.7L0 8v8h8l-3.3-3.3zM11.3 3.3L8.6 6 10 7.4l2.7-2.7L16 8V0H8z" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-facebook" viewBox="0 0 16 16">
|
<symbol id="icon-facebook" viewBox="0 0 16 16">
|
||||||
<path d="M15.3 0H.7C.3 0 0 .3 0 .7v14.7c0 .3.3.6.7.6H8v-5H6V8h2V6c0-2.1 1.2-3 3-3h2v3h-1c-.6 0-1 .4-1 1v1h2.6l-.6 3h-2v5h4.3c.4 0 .7-.3.7-.7V.7c0-.4-.3-.7-.7-.7z"
|
<path d="M15.3 0H.7C.3 0 0 .3 0 .7v14.7c0 .3.3.6.7.6H8v-5H6V8h2V6c0-2.1 1.2-3 3-3h2v3h-1c-.6 0-1 .4-1 1v1h2.6l-.6 3h-2v5h4.3c.4 0 .7-.3.7-.7V.7c0-.4-.3-.7-.7-.7z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-file-word" viewBox="0 0 32 32">
|
<symbol id="icon-file-word" viewBox="0 0 32 32">
|
||||||
<g>
|
<g>
|
||||||
@@ -122,93 +105,65 @@
|
|||||||
</g>
|
</g>
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-file-audio" viewBox="0 0 32 32">
|
<symbol id="icon-file-audio" viewBox="0 0 32 32">
|
||||||
<g>
|
|
||||||
<path d="M28,32H0V0h28V32z M2,30h24V2H2V30z" />
|
<path d="M28,32H0V0h28V32z M2,30h24V2H2V30z" />
|
||||||
<polygon points="12,20.5 10,20.5 10,8 21,8 21,18.5 19,18.5 19,10 12,10" />
|
<polygon points="12,20.5 10,20.5 10,8 21,8 21,18.5 19,18.5 19,10 12,10" />
|
||||||
<path d="M8.5,24C6.6,24,5,22.4,5,20.5S6.6,17,8.5,17s3.5,1.6,3.5,3.5S10.4,24,8.5,24z M8.5,19C7.7,19,7,19.7,7,20.5
|
<path d="M8.5,24C6.6,24,5,22.4,5,20.5S6.6,17,8.5,17s3.5,1.6,3.5,3.5S10.4,24,8.5,24z M8.5,19C7.7,19,7,19.7,7,20.5 S7.7,22,8.5,22s1.5-0.7,1.5-1.5S9.3,19,8.5,19z" />
|
||||||
S7.7,22,8.5,22s1.5-0.7,1.5-1.5S9.3,19,8.5,19z" />
|
<path d="M17.5,22c-1.9,0-3.5-1.6-3.5-3.5s1.6-3.5,3.5-3.5s3.5,1.6,3.5,3.5S19.4,22,17.5,22z M17.5,17 c-0.8,0-1.5,0.7-1.5,1.5s0.7,1.5,1.5,1.5s1.5-0.7,1.5-1.5S18.3,17,17.5,17z" />
|
||||||
<path d="M17.5,22c-1.9,0-3.5-1.6-3.5-3.5s1.6-3.5,3.5-3.5s3.5,1.6,3.5,3.5S19.4,22,17.5,22z M17.5,17
|
|
||||||
c-0.8,0-1.5,0.7-1.5,1.5s0.7,1.5,1.5,1.5s1.5-0.7,1.5-1.5S18.3,17,17.5,17z" />
|
|
||||||
</g>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-file-image" viewBox="0 0 32 32">
|
<symbol id="icon-file-image" viewBox="0 0 32 32">
|
||||||
<g>
|
|
||||||
<polygon points="13.1,23.4 8.1,19.3 5,22.4 3.6,21 7.9,16.7 12.9,20.6 19,13.4 24.4,20.2 22.8,21.4 19,16.6 " />
|
<polygon points="13.1,23.4 8.1,19.3 5,22.4 3.6,21 7.9,16.7 12.9,20.6 19,13.4 24.4,20.2 22.8,21.4 19,16.6 " />
|
||||||
<path d="M28,32H0V0h28V32z M2,30h24V2H2V30z" />
|
<path d="M28,32H0V0h28V32z M2,30h24V2H2V30z" />
|
||||||
<path d="M12.5,14C10.6,14,9,12.4,9,10.5S10.6,7,12.5,7S16,8.6,16,10.5S14.4,14,12.5,14z M12.5,9
|
<path d="M12.5,14C10.6,14,9,12.4,9,10.5S10.6,7,12.5,7S16,8.6,16,10.5S14.4,14,12.5,14z M12.5,9 C11.7,9,11,9.7,11,10.5s0.7,1.5,1.5,1.5s1.5-0.7,1.5-1.5S13.3,9,12.5,9z" />
|
||||||
C11.7,9,11,9.7,11,10.5s0.7,1.5,1.5,1.5s1.5-0.7,1.5-1.5S13.3,9,12.5,9z" />
|
|
||||||
</g>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-file-text" viewBox="0 0 32 32">
|
<symbol id="icon-file-text" viewBox="0 0 32 32">
|
||||||
<g>
|
|
||||||
<path d="M32,32H0V0h32V32z M2,30h28V2H2V30z" />
|
<path d="M32,32H0V0h32V32z M2,30h28V2H2V30z" />
|
||||||
<polygon points="23.1,25.4 16.3,8 15.7,8 8.9,25.4 7.1,24.6 14.3,6 17.7,6 24.9,24.6 " />
|
<polygon points="23.1,25.4 16.3,8 15.7,8 8.9,25.4 7.1,24.6 14.3,6 17.7,6 24.9,24.6 " />
|
||||||
<rect x="11.1" y="16" width="9.8" height="2" />
|
<rect x="11.1" y="16" width="9.8" height="2" />
|
||||||
<rect x="5" y="24" width="6" height="2" />
|
<rect x="5" y="24" width="6" height="2" />
|
||||||
<rect x="21" y="24" width="6" height="2" />
|
<rect x="21" y="24" width="6" height="2" />
|
||||||
</g>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-file-video" viewBox="0 0 32 32">
|
<symbol id="icon-file-video" viewBox="0 0 32 32">
|
||||||
<g>
|
|
||||||
<path d="M32,32H0V0h32V32z M2,30h28V2H2V30z" />
|
<path d="M32,32H0V0h32V32z M2,30h28V2H2V30z" />
|
||||||
<path d="M11,18.8V5.2L21.9,12L11,18.8z M13,8.8v6.4l5.1-3.2L13,8.8z" />
|
<path d="M11,18.8V5.2L21.9,12L11,18.8z M13,8.8v6.4l5.1-3.2L13,8.8z" />
|
||||||
<rect x="24" y="23" width="4" height="2" />
|
<rect x="24" y="23" width="4" height="2" />
|
||||||
<rect x="4" y="23" width="12" height="2" />
|
<rect x="4" y="23" width="12" height="2" />
|
||||||
<path d="M18,28c-2.2,0-4-1.8-4-4s1.8-4,4-4c2.2,0,4,1.8,4,4S20.2,28,18,28z M18,22c-1.1,0-2,0.9-2,2s0.9,2,2,2
|
<path d="M18,28c-2.2,0-4-1.8-4-4s1.8-4,4-4c2.2,0,4,1.8,4,4S20.2,28,18,28z M18,22c-1.1,0-2,0.9-2,2s0.9,2,2,2 c1.1,0,2-0.9,2-2S19.1,22,18,22z" />
|
||||||
c1.1,0,2-0.9,2-2S19.1,22,18,22z" />
|
|
||||||
</g>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-file-code" viewBox="0 0 32 32">
|
<symbol id="icon-file-code" viewBox="0 0 32 32">
|
||||||
<g>
|
|
||||||
<path d="M28,32H0V0h28V32z M2,30h24V2H2V30z" />
|
<path d="M28,32H0V0h28V32z M2,30h24V2H2V30z" />
|
||||||
<polygon points="9,20.4 4.6,16 9,11.6 10.4,13 7.4,16 10.4,19 " />
|
<polygon points="9,20.4 4.6,16 9,11.6 10.4,13 7.4,16 10.4,19 " />
|
||||||
<polygon points="19,20.4 17.6,19 20.6,16 17.6,13 19,11.6 23.4,16 " />
|
<polygon points="19,20.4 17.6,19 20.6,16 17.6,13 19,11.6 23.4,16 " />
|
||||||
<rect x="13" y="8.7" transform="matrix(0.9488 0.3159 -0.3159 0.9488 5.7719 -3.6035)" width="2"
|
<rect x="13" y="8.7" transform="matrix(0.9488 0.3159 -0.3159 0.9488 5.7719 -3.6035)" width="2" height="14.6" />
|
||||||
height="14.6" />
|
|
||||||
</g>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-file-zip" viewBox="0 0 32 32">
|
<symbol id="icon-file-zip" viewBox="0 0 32 32">
|
||||||
<g>
|
|
||||||
<polygon points="28,32 0,32 0,0 15,0 15,8 13,8 13,2 2,2 2,30 26,30 26,2 18,2 18,0 28,0 " />
|
<polygon points="28,32 0,32 0,0 15,0 15,8 13,8 13,2 2,2 2,30 26,30 26,2 18,2 18,0 28,0 " />
|
||||||
<path d="M18,19h-8v-9h8V19z M12,17h4v-5h-4V17z" />
|
<path d="M18,19h-8v-9h8V19z M12,17h4v-5h-4V17z" />
|
||||||
<rect x="12" y="25" width="4" height="2" />
|
<rect x="12" y="25" width="4" height="2" />
|
||||||
<rect x="12" y="21" width="4" height="2" />
|
<rect x="12" y="21" width="4" height="2" />
|
||||||
</g>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-file-document" viewBox="0 0 32 32">
|
<symbol id="icon-file-document" viewBox="0 0 32 32">
|
||||||
<g>
|
|
||||||
<path d="M28,32H0V0h28V32z M2,30h24V2H2V30z" />
|
<path d="M28,32H0V0h28V32z M2,30h24V2H2V30z" />
|
||||||
<rect x="16" y="7" width="6" height="2" />
|
<rect x="16" y="7" width="6" height="2" />
|
||||||
<rect x="16" y="12" width="6" height="2" />
|
<rect x="16" y="12" width="6" height="2" />
|
||||||
<rect x="6" y="17" width="16" height="2" />
|
<rect x="6" y="17" width="16" height="2" />
|
||||||
<rect x="6" y="22" width="16" height="2" />
|
<rect x="6" y="22" width="16" height="2" />
|
||||||
<path d="M14,14H6V7h8V14z M8,12h4V9H8V12z" />
|
<path d="M14,14H6V7h8V14z M8,12h4V9H8V12z" />
|
||||||
</g>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-file-spreadsheet" viewBox="0 0 32 32">
|
<symbol id="icon-file-spreadsheet" viewBox="0 0 32 32">
|
||||||
<g>
|
|
||||||
<path d="M28,32H0V0h28V32z M2,30h24V2H2V30z" />
|
<path d="M28,32H0V0h28V32z M2,30h24V2H2V30z" />
|
||||||
<rect x="13" y="10" width="2" height="12" />
|
<rect x="13" y="10" width="2" height="12" />
|
||||||
<rect x="8" y="17" width="2" height="5" />
|
<rect x="8" y="17" width="2" height="5" />
|
||||||
<rect x="18" y="14" width="2" height="8" />
|
<rect x="18" y="14" width="2" height="8" />
|
||||||
</g>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-file" viewBox="0 0 32 32">
|
<symbol id="icon-file" viewBox="0 0 32 32">
|
||||||
<g>
|
|
||||||
<path d="M28,32H0V0h28V32z M2,30h24V2H2V30z" />
|
<path d="M28,32H0V0h28V32z M2,30h24V2H2V30z" />
|
||||||
<path d="M19.5,22h-11C6.6,22,5,20.4,5,18.5c0-1.8,1.3-3.3,3.1-3.5c0.5-2.8,2.9-5,5.9-5s5.5,2.2,5.9,5
|
<path d="M19.5,22h-11C6.6,22,5,20.4,5,18.5c0-1.8,1.3-3.3,3.1-3.5c0.5-2.8,2.9-5,5.9-5s5.5,2.2,5.9,5 c1.7,0.2,3.1,1.7,3.1,3.5C23,20.4,21.4,22,19.5,22z M8.5,17C7.7,17,7,17.7,7,18.5S7.7,20,8.5,20h11c0.8,0,1.5-0.7,1.5-1.5 S20.3,17,19.5,17c-0.1,0-0.2,0-0.3,0L18,17.3l0-1.3c0-2.2-1.8-3.9-4-3.9c-2.2,0-4,1.8-4,3.9l0,0.1v1.2L8.8,17C8.7,17,8.6,17,8.5,17 z" />
|
||||||
c1.7,0.2,3.1,1.7,3.1,3.5C23,20.4,21.4,22,19.5,22z M8.5,17C7.7,17,7,17.7,7,18.5S7.7,20,8.5,20h11c0.8,0,1.5-0.7,1.5-1.5
|
|
||||||
S20.3,17,19.5,17c-0.1,0-0.2,0-0.3,0L18,17.3l0-1.3c0-2.2-1.8-3.9-4-3.9c-2.2,0-4,1.8-4,3.9l0,0.1v1.2L8.8,17C8.7,17,8.6,17,8.5,17
|
|
||||||
z" />
|
|
||||||
</g>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-funnel" viewBox="0 0 16 16">
|
<symbol id="icon-funnel" viewBox="0 0 16 16">
|
||||||
<path d="M9 15H7a1 1 0 0 1 0-2h2a1 1 0 0 1 0 2zM11 11H5a1 1 0 0 1 0-2h6a1 1 0 0 1 0 2zM13 7H3a1 1 0 0 1 0-2h10a1 1 0 0 1 0 2zM15 3H1a1 1 0 0 1 0-2h14a1 1 0 0 1 0 2z"
|
<path d="M9 15H7a1 1 0 0 1 0-2h2a1 1 0 0 1 0 2zM11 11H5a1 1 0 0 1 0-2h6a1 1 0 0 1 0 2zM13 7H3a1 1 0 0 1 0-2h10a1 1 0 0 1 0 2zM15 3H1a1 1 0 0 1 0-2h14a1 1 0 0 1 0 2z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-globe" viewBox="0 0 16 16">
|
<symbol id="icon-globe" viewBox="0 0 16 16">
|
||||||
<path d="M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm5.9 7H12c-.1-1.5-.4-2.9-.8-4.1 1.4.9 2.4 2.4 2.7 4.1zM8 14c-.6 0-1.8-1.9-2-5h4c-.2 3.1-1.4 5-2 5zM6 7c.2-3.1 1.3-5 2-5s1.8 1.9 2 5H6zM4.9 2.9C4.4 4.1 4.1 5.5 4 7H2.1c.3-1.7 1.3-3.2 2.8-4.1zM2.1 9H4c.1 1.5.4 2.9.8 4.1-1.4-.9-2.4-2.4-2.7-4.1zm9 4.1c.5-1.2.7-2.6.8-4.1h1.9c-.2 1.7-1.2 3.2-2.7 4.1z"
|
<path d="M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm5.9 7H12c-.1-1.5-.4-2.9-.8-4.1 1.4.9 2.4 2.4 2.7 4.1zM8 14c-.6 0-1.8-1.9-2-5h4c-.2 3.1-1.4 5-2 5zM6 7c.2-3.1 1.3-5 2-5s1.8 1.9 2 5H6zM4.9 2.9C4.4 4.1 4.1 5.5 4 7H2.1c.3-1.7 1.3-3.2 2.8-4.1zM2.1 9H4c.1 1.5.4 2.9.8 4.1-1.4-.9-2.4-2.4-2.7-4.1zm9 4.1c.5-1.2.7-2.6.8-4.1h1.9c-.2 1.7-1.2 3.2-2.7 4.1z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-headline" viewBox="0 0 16 16">
|
<symbol id="icon-headline" viewBox="0 0 16 16">
|
||||||
<path d="M0 0v6h1l2-3h3v10l-3 2v1h10v-1l-3-2V3h3l2 3h1V0z" />
|
<path d="M0 0v6h1l2-3h3v10l-3 2v1h10v-1l-3-2V3h3l2 3h1V0z" />
|
||||||
@@ -222,46 +177,36 @@
|
|||||||
<path d="M9 7V1H7v6H4l4 4 4-4z" />
|
<path d="M9 7V1H7v6H4l4 4 4-4z" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-instagram" viewBox="0 0 16 16">
|
<symbol id="icon-instagram" viewBox="0 0 16 16">
|
||||||
<path d="M13.105 3.892a.96.96 0 1 1-1.92 0 .96.96 0 0 1 1.92 0zM8 12c-2.206 0-4-1.794-4-4s1.794-4 4-4 4 1.794 4 4-1.794 4-4 4zm0-6c-1.103 0-2 .897-2 2s.897 2 2 2 2-.897 2-2-.897-2-2-2z"
|
<path d="M13.105 3.892a.96.96 0 1 1-1.92 0 .96.96 0 0 1 1.92 0zM8 12c-2.206 0-4-1.794-4-4s1.794-4 4-4 4 1.794 4 4-1.794 4-4 4zm0-6c-1.103 0-2 .897-2 2s.897 2 2 2 2-.897 2-2-.897-2-2-2z" />
|
||||||
/>
|
<path d="M12 16H4c-2.056 0-4-1.944-4-4V4c0-2.056 1.944-4 4-4h8c2.056 0 4 1.944 4 4v8c0 2.056-1.944 4-4 4zM4 2c-.935 0-2 1.065-2 2v8c0 .953 1.047 2 2 2h8c.935 0 2-1.065 2-2V4c0-.935-1.065-2-2-2H4z" />
|
||||||
<path d="M12 16H4c-2.056 0-4-1.944-4-4V4c0-2.056 1.944-4 4-4h8c2.056 0 4 1.944 4 4v8c0 2.056-1.944 4-4 4zM4 2c-.935 0-2 1.065-2 2v8c0 .953 1.047 2 2 2h8c.935 0 2-1.065 2-2V4c0-.935-1.065-2-2-2H4z"
|
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-italic" viewBox="0 0 16 16">
|
<symbol id="icon-italic" viewBox="0 0 16 16">
|
||||||
<path d="M12 2V0H6v2h1.271a.5.5 0 0 1 .495.571l-1.51 10.571a1 1 0 0 1-.99.859H4v2h6v-2H8.729a.5.5 0 0 1-.495-.571l1.51-10.571a1 1 0 0 1 .99-.859H12z"
|
<path d="M12 2V0H6v2h1.271a.5.5 0 0 1 .495.571l-1.51 10.571a1 1 0 0 1-.99.859H4v2h6v-2H8.729a.5.5 0 0 1-.495-.571l1.51-10.571a1 1 0 0 1 .99-.859H12z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-key" viewBox="0 0 16 16">
|
<symbol id="icon-key" viewBox="0 0 16 16">
|
||||||
<path d="M12.7 0L6.5 6.3C6 6.1 5.5 6 5 6c-2.8 0-5 2.2-5 5s2.2 5 5 5 5-2.2 5-5c0-.5-.1-1.1-.3-1.6L11 8V6h2V4h2l1-1V0h-3.3zM4.5 12c-.8 0-1.5-.7-1.5-1.5S3.7 9 4.5 9 6 9.7 6 10.5 5.3 12 4.5 12z"
|
<path d="M12.7 0L6.5 6.3C6 6.1 5.5 6 5 6c-2.8 0-5 2.2-5 5s2.2 5 5 5 5-2.2 5-5c0-.5-.1-1.1-.3-1.6L11 8V6h2V4h2l1-1V0h-3.3zM4.5 12c-.8 0-1.5-.7-1.5-1.5S3.7 9 4.5 9 6 9.7 6 10.5 5.3 12 4.5 12z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-list-bullet" viewBox="0 0 16 16">
|
<symbol id="icon-list-bullet" viewBox="0 0 16 16">
|
||||||
<path d="M4 2a2 2 0 1 1-3.999.001A2 2 0 0 1 4 2zM4 8a2 2 0 1 1-3.999.001A2 2 0 0 1 4 8zM4 14a2 2 0 1 1-3.999.001A2 2 0 0 1 4 14zM6 1h10v2H6V1zM6 7h10v2H6V7zM6 13h10v2H6v-2z"
|
<path d="M4 2a2 2 0 1 1-3.999.001A2 2 0 0 1 4 2zM4 8a2 2 0 1 1-3.999.001A2 2 0 0 1 4 8zM4 14a2 2 0 1 1-3.999.001A2 2 0 0 1 4 14zM6 1h10v2H6V1zM6 7h10v2H6V7zM6 13h10v2H6v-2z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-list-numbers" viewBox="0 0 16 16">
|
<symbol id="icon-list-numbers" viewBox="0 0 16 16">
|
||||||
<path d="M5 1h11v2H5V1zM5 7h11v2H5V7zM5 13h11v2H5v-2zM.368 4v-.549l.597-.049c.097-.007.111-.035.111-.139V.839c0-.083-.021-.125-.09-.146L.382.568l.076-.569h1.667v3.264c0 .111.007.132.111.139l.569.049V4H.367zM.047 10v-.63l.907-.886c.683-.663.975-.934.975-1.32 0-.251-.122-.433-.48-.433-.373 0-.528.122-.528.602l-.92-.081C.008 6.176.827 6 1.537 6c1.049 0 1.421.447 1.421 1.083s-.44 1.056-.934 1.53l-.765.731h.995c.068 0 .095-.014.108-.081l.095-.534h.717v1.272H.047zM2.344 13.682c.566.087.879.426.879 1.026 0 .879-.659 1.292-1.612 1.292-.673 0-1.272-.239-1.612-.613l.533-.586c.253.246.533.439.999.439.373 0 .693-.133.693-.599 0-.406-.253-.573-.666-.573a2.66 2.66 0 0 0-.493.047v-.666l.327-.04c.479-.06.739-.293.739-.719 0-.253-.113-.46-.486-.46-.359 0-.532.12-.532.593l-.912-.08c0-1.052.793-1.232 1.492-1.232 1.026 0 1.419.393 1.419 1.106 0 .56-.346.912-.766 1.039v.027z"
|
<path d="M5 1h11v2H5V1zM5 7h11v2H5V7zM5 13h11v2H5v-2zM.368 4v-.549l.597-.049c.097-.007.111-.035.111-.139V.839c0-.083-.021-.125-.09-.146L.382.568l.076-.569h1.667v3.264c0 .111.007.132.111.139l.569.049V4H.367zM.047 10v-.63l.907-.886c.683-.663.975-.934.975-1.32 0-.251-.122-.433-.48-.433-.373 0-.528.122-.528.602l-.92-.081C.008 6.176.827 6 1.537 6c1.049 0 1.421.447 1.421 1.083s-.44 1.056-.934 1.53l-.765.731h.995c.068 0 .095-.014.108-.081l.095-.534h.717v1.272H.047zM2.344 13.682c.566.087.879.426.879 1.026 0 .879-.659 1.292-1.612 1.292-.673 0-1.272-.239-1.612-.613l.533-.586c.253.246.533.439.999.439.373 0 .693-.133.693-.599 0-.406-.253-.573-.666-.573a2.66 2.66 0 0 0-.493.047v-.666l.327-.04c.479-.06.739-.293.739-.719 0-.253-.113-.46-.486-.46-.359 0-.532.12-.532.593l-.912-.08c0-1.052.793-1.232 1.492-1.232 1.026 0 1.419.393 1.419 1.106 0 .56-.346.912-.766 1.039v.027z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-loader" viewBox="0 0 16 16">
|
<symbol id="icon-loader" viewBox="0 0 16 16">
|
||||||
<path d="M8 16a7.928 7.928 0 0 1-3.428-.77l.857-1.807A6.006 6.006 0 0 0 14 8c0-3.309-2.691-6-6-6a6.006 6.006 0 0 0-5.422 8.572l-1.806.859A7.929 7.929 0 0 1 0 8c0-4.411 3.589-8 8-8s8 3.589 8 8-3.589 8-8 8z"
|
<path d="M8 16a7.928 7.928 0 0 1-3.428-.77l.857-1.807A6.006 6.006 0 0 0 14 8c0-3.309-2.691-6-6-6a6.006 6.006 0 0 0-5.422 8.572l-1.806.859A7.929 7.929 0 0 1 0 8c0-4.411 3.589-8 8-8s8 3.589 8 8-3.589 8-8 8z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-lock" viewBox="0 0 16 16">
|
<symbol id="icon-lock" viewBox="0 0 16 16">
|
||||||
<path d="M8 0C5.8 0 4 1.8 4 4v1H2c-.6 0-1 .4-1 1v9c0 .6.4 1 1 1h12c.6 0 1-.4 1-1V6c0-.6-.4-1-1-1h-2V4c0-2.2-1.8-4-4-4zm1 11.7V13H7v-1.3c-.6-.3-1-1-1-1.7 0-1.1.9-2 2-2s2 .9 2 2c0 .7-.4 1.4-1 1.7zM10 5H6V4c0-1.1.9-2 2-2s2 .9 2 2v1z"
|
<path d="M8 0C5.8 0 4 1.8 4 4v1H2c-.6 0-1 .4-1 1v9c0 .6.4 1 1 1h12c.6 0 1-.4 1-1V6c0-.6-.4-1-1-1h-2V4c0-2.2-1.8-4-4-4zm1 11.7V13H7v-1.3c-.6-.3-1-1-1-1.7 0-1.1.9-2 2-2s2 .9 2 2c0 .7-.4 1.4-1 1.7zM10 5H6V4c0-1.1.9-2 2-2s2 .9 2 2v1z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-unlock" viewBox="0 0 16 16">
|
<symbol id="icon-unlock" viewBox="0 0 16 16">
|
||||||
<path d="M1,15c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V6c0-0.6-0.4-1-1-1h-2H6V4c0-1.1,0.9-2,2-2c0.6,0,1.1,0.2,1.5,0.7 l0.7,0.7l1.5-1.3L11,1.3C10.2,0.5,9.1,0,8,0C5.8,0,4,1.8,4,4v1H2C1.4,5,1,5.4,1,6V15z M8,8c1.1,0,2,0.9,2,2c0,0.7-0.4,1.4-1,1.7V13 H7v-1.3c-0.6-0.3-1-1-1-1.7C6,8.9,6.9,8,8,8z"></path>
|
<path d="M1,15c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V6c0-0.6-0.4-1-1-1h-2H6V4c0-1.1,0.9-2,2-2c0.6,0,1.1,0.2,1.5,0.7 l0.7,0.7l1.5-1.3L11,1.3C10.2,0.5,9.1,0,8,0C5.8,0,4,1.8,4,4v1H2C1.4,5,1,5.4,1,6V15z M8,8c1.1,0,2,0.9,2,2c0,0.7-0.4,1.4-1,1.7V13 H7v-1.3c-0.6-0.3-1-1-1-1.7C6,8.9,6.9,8,8,8z" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-logout" viewBox="0 0 16 16">
|
<symbol id="icon-logout" viewBox="0 0 16 16">
|
||||||
<path d="M3.4 2H8v2h2V1c0-.6-.4-1-1-1H1C.4 0 0 .4 0 1v9c0 .3.1.5.3.7l5 5c.2.2.4.3.7.3.1 0 .3 0 .4-.1.4-.1.6-.5.6-.9V6c0-.3-.1-.5-.3-.7L3.4 2zM5 12.6l-3-3V3.4l3 3v6.2z"
|
<path d="M3.4 2H8v2h2V1c0-.6-.4-1-1-1H1C.4 0 0 .4 0 1v9c0 .3.1.5.3.7l5 5c.2.2.4.3.7.3.1 0 .3 0 .4-.1.4-.1.6-.5.6-.9V6c0-.3-.1-.5-.3-.7L3.4 2zM5 12.6l-3-3V3.4l3 3v6.2z" />
|
||||||
/>
|
|
||||||
<path d="M15.7 7.3L12 3.6 10.6 5l2 2H8v2h4.6l-2 2 1.4 1.4 3.7-3.7c.4-.4.4-1 0-1.4z" />
|
<path d="M15.7 7.3L12 3.6 10.6 5l2 2H8v2h4.6l-2 2 1.4 1.4 3.7-3.7c.4-.4.4-1 0-1.4z" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-markdown" viewBox="0 0 16 16">
|
<symbol id="icon-markdown" viewBox="0 0 16 16">
|
||||||
<path d="M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z"
|
<path d="M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-menu" viewBox="0 0 16 16">
|
<symbol id="icon-menu" viewBox="0 0 16 16">
|
||||||
<path d="M0 0h16v3H0V0zM0 6h16v3H0V6zM0 12h16v3H0v-3z" />
|
<path d="M0 0h16v3H0V0zM0 6h16v3H0V6zM0 12h16v3H0v-3z" />
|
||||||
@@ -275,45 +220,36 @@
|
|||||||
<path d="M4 3h4v4H4V3zM9 4h3v1H9V4zM9 6h3v1H9V6zM4 8h8v1H4V8zM4 10h8v1H4v-1zM4 12h5v1H4v-1z" />
|
<path d="M4 3h4v4H4V3zM9 4h3v1H9V4zM9 6h3v1H9V6zM4 8h8v1H4V8zM4 10h8v1H4v-1zM4 12h5v1H4v-1z" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-phone" viewBox="0 0 16 16">
|
<symbol id="icon-phone" viewBox="0 0 16 16">
|
||||||
<path d="M15.285 12.305l-2.578-2.594a1 1 0 0 0-1.416-.002L9 12 4 7l2.294-2.294a1 1 0 0 0 .001-1.414L3.715.708a1 1 0 0 0-1.415 0L.004 3.003 0 3c0 7.18 5.82 13 13 13l2.283-2.283a1 1 0 0 0 .002-1.412z"
|
<path d="M15.285 12.305l-2.578-2.594a1 1 0 0 0-1.416-.002L9 12 4 7l2.294-2.294a1 1 0 0 0 .001-1.414L3.715.708a1 1 0 0 0-1.415 0L.004 3.003 0 3c0 7.18 5.82 13 13 13l2.283-2.283a1 1 0 0 0 .002-1.412z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-pinterest" viewBox="0 0 16 16">
|
<symbol id="icon-pinterest" viewBox="0 0 16 16">
|
||||||
<path d="M8 0C3.6 0 0 3.6 0 8c0 3.4 2.1 6.3 5.1 7.4-.1-.6-.1-1.6 0-2.3.1-.6.9-4 .9-4s-.2-.4-.2-1.1c0-1.1.7-2 1.5-2 .7 0 1 .5 1 1.1 0 .7-.4 1.7-.7 2.7-.2.8.4 1.4 1.2 1.4 1.4 0 2.5-1.5 2.5-3.7 0-1.9-1.4-3.3-3.3-3.3-2.3 0-3.6 1.7-3.6 3.5 0 .7.3 1.4.6 1.8v.4c-.1.3-.2.8-.2.9s-.1.2-.3.1c-1-.5-1.6-1.9-1.6-3.1C2.9 5.3 4.7 3 8.2 3c2.8 0 4.9 2 4.9 4.6 0 2.8-1.7 5-4.2 5-.8 0-1.6-.4-1.8-.9 0 0-.4 1.5-.5 1.9-.2.7-.7 1.6-1 2.1.8.2 1.6.3 2.4.3 4.4 0 8-3.6 8-8s-3.6-8-8-8z"
|
<path d="M8 0C3.6 0 0 3.6 0 8c0 3.4 2.1 6.3 5.1 7.4-.1-.6-.1-1.6 0-2.3.1-.6.9-4 .9-4s-.2-.4-.2-1.1c0-1.1.7-2 1.5-2 .7 0 1 .5 1 1.1 0 .7-.4 1.7-.7 2.7-.2.8.4 1.4 1.2 1.4 1.4 0 2.5-1.5 2.5-3.7 0-1.9-1.4-3.3-3.3-3.3-2.3 0-3.6 1.7-3.6 3.5 0 .7.3 1.4.6 1.8v.4c-.1.3-.2.8-.2.9s-.1.2-.3.1c-1-.5-1.6-1.9-1.6-3.1C2.9 5.3 4.7 3 8.2 3c2.8 0 4.9 2 4.9 4.6 0 2.8-1.7 5-4.2 5-.8 0-1.6-.4-1.8-.9 0 0-.4 1.5-.5 1.9-.2.7-.7 1.6-1 2.1.8.2 1.6.3 2.4.3 4.4 0 8-3.6 8-8s-3.6-8-8-8z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-preview" viewBox="0 0 16 16">
|
<symbol id="icon-preview" viewBox="0 0 16 16">
|
||||||
<path d="M8 14c4.707 0 7.744-5.284 7.871-5.508a1 1 0 0 0 .001-.98C15.746 7.287 12.731 2 8 2 3.245 2 .251 7.289.126 7.514a.998.998 0 0 0 .002.975C.254 8.713 3.269 14 8 14zM8 4c2.839 0 5.036 2.835 5.818 4-.784 1.166-2.981 4-5.818 4-2.841 0-5.038-2.838-5.819-4.001C2.958 6.835 5.146 4 8 4z"
|
<path d="M8 14c4.707 0 7.744-5.284 7.871-5.508a1 1 0 0 0 .001-.98C15.746 7.287 12.731 2 8 2 3.245 2 .251 7.289.126 7.514a.998.998 0 0 0 .002.975C.254 8.713 3.269 14 8 14zM8 4c2.839 0 5.036 2.835 5.818 4-.784 1.166-2.981 4-5.818 4-2.841 0-5.038-2.838-5.819-4.001C2.958 6.835 5.146 4 8 4z" />
|
||||||
/>
|
|
||||||
<path d="M10 8a2 2 0 1 1-3.999.001A2 2 0 0 1 10 8z" />
|
<path d="M10 8a2 2 0 1 1-3.999.001A2 2 0 0 1 10 8z" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-quote" viewBox="0 0 16 16">
|
<symbol id="icon-quote" viewBox="0 0 16 16">
|
||||||
<path d="M3.024 4.561C1.839 6.042 1.668 7.535 2.016 8.58c1.316-1.045 3.145-.826 4.258.214 1.125 1.051 1.222 2.898.504 4.094a3.293 3.293 0 0 1-2.847 1.613C1.238 14.501 0 12.126 0 9.462c0-1.73.441-3.28 1.323-4.649S3.536 2.34 5.317 1.5l.479.932c-1.075.454-1.999 1.163-2.772 2.129zm8.768 0c-1.185 1.481-1.356 2.974-1.008 4.019.588-.454 1.226-.68 1.915-.68C14.511 7.9 16 9.107 16 11.201c0 1.926-1.478 3.301-3.301 3.301-2.693 0-3.931-2.375-3.931-5.039 0-1.73.441-3.28 1.323-4.649s2.213-2.473 3.994-3.313l.479.932c-1.075.454-1.999 1.163-2.772 2.129z"
|
<path d="M3.024 4.561C1.839 6.042 1.668 7.535 2.016 8.58c1.316-1.045 3.145-.826 4.258.214 1.125 1.051 1.222 2.898.504 4.094a3.293 3.293 0 0 1-2.847 1.613C1.238 14.501 0 12.126 0 9.462c0-1.73.441-3.28 1.323-4.649S3.536 2.34 5.317 1.5l.479.932c-1.075.454-1.999 1.163-2.772 2.129zm8.768 0c-1.185 1.481-1.356 2.974-1.008 4.019.588-.454 1.226-.68 1.915-.68C14.511 7.9 16 9.107 16 11.201c0 1.926-1.478 3.301-3.301 3.301-2.693 0-3.931-2.375-3.931-5.039 0-1.73.441-3.28 1.323-4.649s2.213-2.473 3.994-3.313l.479.932c-1.075.454-1.999 1.163-2.772 2.129z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-refresh" viewBox="0 0 16 16">
|
<symbol id="icon-refresh" viewBox="0 0 16 16">
|
||||||
<path d="M4.5 4.5c1.9-1.9 5.1-1.9 7 0 .7.7 1.2 1.7 1.4 2.7l2-.3c-.2-1.5-.9-2.8-1.9-3.8C10.3.4 5.9.4 3.1 3.1L.9.9.2 7.3l6.4-.7-2.1-2.1zM15.8 8.7l-6.4.7 2.1 2.1c-1.9 1.9-5.1 1.9-7 0-.7-.7-1.2-1.7-1.4-2.7l-2 .3c.2 1.5.9 2.8 1.9 3.8 1.4 1.4 3.1 2 4.9 2s3.6-.7 4.9-2l2.2 2.2.8-6.4z"
|
<path d="M4.5 4.5c1.9-1.9 5.1-1.9 7 0 .7.7 1.2 1.7 1.4 2.7l2-.3c-.2-1.5-.9-2.8-1.9-3.8C10.3.4 5.9.4 3.1 3.1L.9.9.2 7.3l6.4-.7-2.1-2.1zM15.8 8.7l-6.4.7 2.1 2.1c-1.9 1.9-5.1 1.9-7 0-.7-.7-1.2-1.7-1.4-2.7l-2 .3c.2 1.5.9 2.8 1.9 3.8 1.4 1.4 3.1 2 4.9 2s3.6-.7 4.9-2l2.2 2.2.8-6.4z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-search" viewBox="0 0 16 16">
|
<symbol id="icon-search" viewBox="0 0 16 16">
|
||||||
<path d="M7 14c-3.86 0-7-3.14-7-7s3.14-7 7-7 7 3.14 7 7-3.14 7-7 7zM7 2C4.243 2 2 4.243 2 7s2.243 5 5 5 5-2.243 5-5-2.243-5-5-5zM15.707 14.293L13.314 11.9a8.019 8.019 0 0 1-1.414 1.414l2.393 2.393a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414z"
|
<path d="M7 14c-3.86 0-7-3.14-7-7s3.14-7 7-7 7 3.14 7 7-3.14 7-7 7zM7 2C4.243 2 2 4.243 2 7s2.243 5 5 5 5-2.243 5-5-2.243-5-5-5zM15.707 14.293L13.314 11.9a8.019 8.019 0 0 1-1.414 1.414l2.393 2.393a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-settings" viewBox="0 0 16 16">
|
<symbol id="icon-settings" viewBox="0 0 16 16">
|
||||||
<path d="M5 5V1c0-.6-.4-1-1-1S3 .4 3 1v4c0 .6.4 1 1 1s1-.4 1-1zM1 11c0 1.3.9 2.4 2 2.8V15c0 .6.4 1 1 1s1-.4 1-1v-1-.2c1.2-.4 2-1.5 2-2.8 0-1.7-1.3-3-3-3s-3 1.3-3 3zM11 11v4c0 .6.4 1 1 1s1-.4 1-1v-4c0-.6-.4-1-1-1s-1 .4-1 1zM9 5c0 1.7 1.3 3 3 3s3-1.3 3-3c0-1.3-.9-2.4-2-2.8V1c0-.6-.4-1-1-1s-1 .4-1 1v1.2C9.9 2.6 9 3.7 9 5z"
|
<path d="M5 5V1c0-.6-.4-1-1-1S3 .4 3 1v4c0 .6.4 1 1 1s1-.4 1-1zM1 11c0 1.3.9 2.4 2 2.8V15c0 .6.4 1 1 1s1-.4 1-1v-1-.2c1.2-.4 2-1.5 2-2.8 0-1.7-1.3-3-3-3s-3 1.3-3 3zM11 11v4c0 .6.4 1 1 1s1-.4 1-1v-4c0-.6-.4-1-1-1s-1 .4-1 1zM9 5c0 1.7 1.3 3 3 3s3-1.3 3-3c0-1.3-.9-2.4-2-2.8V1c0-.6-.4-1-1-1s-1 .4-1 1v1.2C9.9 2.6 9 3.7 9 5z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-smile" viewBox="0 0 16 16">
|
<symbol id="icon-smile" viewBox="0 0 16 16">
|
||||||
<path d="M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6z" />
|
<path d="M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6z" />
|
||||||
<path d="M7 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM11 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM8 12c1.7 0 3-1.3 3-3H5c0 1.7 1.3 3 3 3z"
|
<path d="M7 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM11 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM8 12c1.7 0 3-1.3 3-3H5c0 1.7 1.3 3 3 3z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-sort" viewBox="0 0 10 16">
|
<symbol id="icon-sort" viewBox="0 0 10 16">
|
||||||
<path d="M0 0h3v3H0V0zM6 0h3v3H6V0zM0 6h3v3H0V6zM6 6h3v3H6V6zM0 12h3v3H0v-3zM6 12h3v3H6v-3z" />
|
<path d="M0 0h3v3H0V0zM6 0h3v3H6V0zM0 6h3v3H0V6zM6 6h3v3H6V6zM0 12h3v3H0v-3zM6 12h3v3H6v-3z" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-tag" viewBox="0 0 16 16">
|
<symbol id="icon-tag" viewBox="0 0 16 16">
|
||||||
<path d="M15.7 8.3l-8-8C7.5.1 7.3 0 7 0H1C.4 0 0 .4 0 1v6c0 .3.1.5.3.7l8 8c.2.2.4.3.7.3s.5-.1.7-.3l6-6c.4-.4.4-1 0-1.4zM4 5c-.6 0-1-.4-1-1s.4-1 1-1 1 .4 1 1-.4 1-1 1z"
|
<path d="M15.7 8.3l-8-8C7.5.1 7.3 0 7 0H1C.4 0 0 .4 0 1v6c0 .3.1.5.3.7l8 8c.2.2.4.3.7.3s.5-.1.7-.3l6-6c.4-.4.4-1 0-1.4zM4 5c-.6 0-1-.4-1-1s.4-1 1-1 1 .4 1 1-.4 1-1 1z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-text" viewBox="0 0 16 16">
|
<symbol id="icon-text" viewBox="0 0 16 16">
|
||||||
<path d="M0 1h16v2H0V1zM0 5h10v2H0V5zM0 9h16v2H0V9zM0 13h10v2H0v-2z" />
|
<path d="M0 1h16v2H0V1zM0 5h10v2H0V5zM0 9h16v2H0V9zM0 13h10v2H0v-2z" />
|
||||||
@@ -324,49 +260,40 @@
|
|||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-toggle-off" viewBox="0 0 16 16">
|
<symbol id="icon-toggle-off" viewBox="0 0 16 16">
|
||||||
<path d="M8 8a2 2 0 1 1-3.999.001A2 2 0 0 1 8 8z" />
|
<path d="M8 8a2 2 0 1 1-3.999.001A2 2 0 0 1 8 8z" />
|
||||||
<path d="M10 2H6C2.7 2 0 4.7 0 8s2.7 6 6 6h4c3.3 0 6-2.7 6-6s-2.7-6-6-6zm0 10H6c-2.2 0-4-1.8-4-4s1.8-4 4-4h4c2.2 0 4 1.8 4 4s-1.8 4-4 4z"
|
<path d="M10 2H6C2.7 2 0 4.7 0 8s2.7 6 6 6h4c3.3 0 6-2.7 6-6s-2.7-6-6-6zm0 10H6c-2.2 0-4-1.8-4-4s1.8-4 4-4h4c2.2 0 4 1.8 4 4s-1.8 4-4 4z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-toggle-on" viewBox="0 0 16 16">
|
<symbol id="icon-toggle-on" viewBox="0 0 16 16">
|
||||||
<path d="M8,8 C8,6.3 9.3,5 11,5 C12.7,5 14,6.3 14,8 C14,9.7 12.7,11 11,11 C9.3,11 8,9.7 8,8 M0,8 C0,10.8 2.2,13 5,13 L11,13 C13.8,13 16,10.8 16,8 C16,5.2 13.8,3 11,3 L5,3 C2.2,3 0,5.2 0,8" />
|
<path d="M8,8 C8,6.3 9.3,5 11,5 C12.7,5 14,6.3 14,8 C14,9.7 12.7,11 11,11 C9.3,11 8,9.7 8,8 M0,8 C0,10.8 2.2,13 5,13 L11,13 C13.8,13 16,10.8 16,8 C16,5.2 13.8,3 11,3 L5,3 C2.2,3 0,5.2 0,8" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-trash" viewBox="0 0 16 16">
|
<symbol id="icon-trash" viewBox="0 0 16 16">
|
||||||
<path d="M5 7h2v6H5V7zM9 7h2v6H9V7z" />
|
<path d="M5 7h2v6H5V7zM9 7h2v6H9V7z" />
|
||||||
<path d="M12 1c0-.6-.4-1-1-1H5c-.6 0-1 .4-1 1v2H0v2h1v10c0 .6.4 1 1 1h12c.6 0 1-.4 1-1V5h1V3h-4V1zM6 2h4v1H6V2zm7 3v9H3V5h10z"
|
<path d="M12 1c0-.6-.4-1-1-1H5c-.6 0-1 .4-1 1v2H0v2h1v10c0 .6.4 1 1 1h12c.6 0 1-.4 1-1V5h1V3h-4V1zM6 2h4v1H6V2zm7 3v9H3V5h10z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-twitter" viewBox="0 0 16 16">
|
<symbol id="icon-twitter" viewBox="0 0 16 16">
|
||||||
<path d="M16 3c-.6.3-1.2.4-1.9.5.7-.4 1.2-1 1.4-1.8-.6.4-1.3.6-2.1.8-.6-.6-1.5-1-2.4-1-1.7 0-3.2 1.5-3.2 3.3 0 .3 0 .5.1.7-2.7-.1-5.2-1.4-6.8-3.4-.3.5-.4 1-.4 1.7 0 1.1.6 2.1 1.5 2.7-.5 0-1-.2-1.5-.4C.7 7.7 1.8 9 3.3 9.3c-.3.1-.6.1-.9.1-.2 0-.4 0-.6-.1.4 1.3 1.6 2.3 3.1 2.3-1.1.9-2.5 1.4-4.1 1.4H0c1.5.9 3.2 1.5 5 1.5 6 0 9.3-5 9.3-9.3v-.4C15 4.3 15.6 3.7 16 3z"
|
<path d="M16 3c-.6.3-1.2.4-1.9.5.7-.4 1.2-1 1.4-1.8-.6.4-1.3.6-2.1.8-.6-.6-1.5-1-2.4-1-1.7 0-3.2 1.5-3.2 3.3 0 .3 0 .5.1.7-2.7-.1-5.2-1.4-6.8-3.4-.3.5-.4 1-.4 1.7 0 1.1.6 2.1 1.5 2.7-.5 0-1-.2-1.5-.4C.7 7.7 1.8 9 3.3 9.3c-.3.1-.6.1-.9.1-.2 0-.4 0-.6-.1.4 1.3 1.6 2.3 3.1 2.3-1.1.9-2.5 1.4-4.1 1.4H0c1.5.9 3.2 1.5 5 1.5 6 0 9.3-5 9.3-9.3v-.4C15 4.3 15.6 3.7 16 3z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-undo" viewBox="0 0 16 16">
|
<symbol id="icon-undo" viewBox="0 0 16 16">
|
||||||
<path d="M2.502 12.333a6.996 6.996 0 0 1-1.405-3.168l1.973-.331a4.982 4.982 0 0 0 1.003 2.26l-1.571 1.239zM6.834 14.903a7.015 7.015 0 0 1-2.976-1.259l1.186-1.611c.624.459 1.358.77 2.122.898l-.332 1.972zM9.165 14.903l-.33-1.973a4.99 4.99 0 0 0 2.209-.964l1.219 1.586a6.997 6.997 0 0 1-3.098 1.351zM8 1c-1.873 0-3.65.759-4.948 2.052L.9.9.2 7.3l6.4-.7-2.135-2.135A5.023 5.023 0 0 1 8 3c2.757 0 5 2.243 5 5 0 1.06-.327 2.072-.947 2.928l1.621 1.173A6.96 6.96 0 0 0 15 8c0-3.86-3.141-7-7-7z"
|
<path d="M2.502 12.333a6.996 6.996 0 0 1-1.405-3.168l1.973-.331a4.982 4.982 0 0 0 1.003 2.26l-1.571 1.239zM6.834 14.903a7.015 7.015 0 0 1-2.976-1.259l1.186-1.611c.624.459 1.358.77 2.122.898l-.332 1.972zM9.165 14.903l-.33-1.973a4.99 4.99 0 0 0 2.209-.964l1.219 1.586a6.997 6.997 0 0 1-3.098 1.351zM8 1c-1.873 0-3.65.759-4.948 2.052L.9.9.2 7.3l6.4-.7-2.135-2.135A5.023 5.023 0 0 1 8 3c2.757 0 5 2.243 5 5 0 1.06-.327 2.072-.947 2.928l1.621 1.173A6.96 6.96 0 0 0 15 8c0-3.86-3.141-7-7-7z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-upload" viewBox="0 0 16 16">
|
<symbol id="icon-upload" viewBox="0 0 16 16">
|
||||||
<path d="M7 3.4V12h2V3.4l4 4L14.4 6 8.7.3c-.4-.4-1-.4-1.4 0L1.6 6 3 7.4l4-4z" />
|
<path d="M7 3.4V12h2V3.4l4 4L14.4 6 8.7.3c-.4-.4-1-.4-1.4 0L1.6 6 3 7.4l4-4z" />
|
||||||
<path d="M14 14H2v-3H0v4c0 .6.4 1 1 1h14c.6 0 1-.4 1-1v-4h-2v3z" />
|
<path d="M14 14H2v-3H0v4c0 .6.4 1 1 1h14c.6 0 1-.4 1-1v-4h-2v3z" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-url" viewBox="0 0 16 16">
|
<symbol id="icon-url" viewBox="0 0 16 16">
|
||||||
<path d="M11 0C9.7 0 8.4.5 7.5 1.5L6.3 2.6c-.4.4-.4 1 0 1.4s1 .4 1.4 0l1.2-1.2c1.1-1.1 3.1-1.1 4.2 0 .6.6.9 1.4.9 2.2s-.3 1.6-.9 2.1L12 8.3c-.4.4-.4 1 0 1.4.2.2.5.3.7.3s.5-.1.7-.3l1.2-1.2C15.5 7.6 16 6.3 16 5s-.5-2.6-1.5-3.5C13.6.5 12.3 0 11 0zM8.3 12l-1.2 1.2c-1.1 1.1-3.1 1.1-4.2 0-.6-.6-.9-1.4-.9-2.2s.3-1.6.9-2.1L4 7.7c.4-.4.4-1 0-1.4s-1-.4-1.4 0L1.5 7.5C.5 8.4 0 9.7 0 11s.5 2.6 1.5 3.5c.9 1 2.2 1.5 3.5 1.5s2.6-.5 3.5-1.5l1.2-1.2c.4-.4.4-1 0-1.4s-1-.3-1.4.1z"
|
<path d="M11 0C9.7 0 8.4.5 7.5 1.5L6.3 2.6c-.4.4-.4 1 0 1.4s1 .4 1.4 0l1.2-1.2c1.1-1.1 3.1-1.1 4.2 0 .6.6.9 1.4.9 2.2s-.3 1.6-.9 2.1L12 8.3c-.4.4-.4 1 0 1.4.2.2.5.3.7.3s.5-.1.7-.3l1.2-1.2C15.5 7.6 16 6.3 16 5s-.5-2.6-1.5-3.5C13.6.5 12.3 0 11 0zM8.3 12l-1.2 1.2c-1.1 1.1-3.1 1.1-4.2 0-.6-.6-.9-1.4-.9-2.2s.3-1.6.9-2.1L4 7.7c.4-.4.4-1 0-1.4s-1-.4-1.4 0L1.5 7.5C.5 8.4 0 9.7 0 11s.5 2.6 1.5 3.5c.9 1 2.2 1.5 3.5 1.5s2.6-.5 3.5-1.5l1.2-1.2c.4-.4.4-1 0-1.4s-1-.3-1.4.1z" />
|
||||||
/>
|
|
||||||
<path d="M9.4 5.2L5.2 9.4c-.4.4-.4 1 0 1.4.2.2.5.3.7.3s.5-.1.7-.3l4.2-4.2c.4-.4.4-1 0-1.4s-1-.4-1.4 0z" />
|
<path d="M9.4 5.2L5.2 9.4c-.4.4-.4 1 0 1.4.2.2.5.3.7.3s.5-.1.7-.3l4.2-4.2c.4-.4.4-1 0-1.4s-1-.4-1.4 0z" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-user" viewBox="0 0 16 16">
|
<symbol id="icon-user" viewBox="0 0 16 16">
|
||||||
<path d="M8 0C5.794 0 4 1.794 4 4v1c0 2.206 1.794 4 4 4s4-1.794 4-4V4c0-2.206-1.794-4-4-4zM12.036 9.426C10.969 10.4 9.555 11 8 11s-2.969-.6-4.036-1.574C2.203 10 1 11.311 1 13v3h14v-3c0-1.689-1.203-3-2.964-3.574z"
|
<path d="M8 0C5.794 0 4 1.794 4 4v1c0 2.206 1.794 4 4 4s4-1.794 4-4V4c0-2.206-1.794-4-4-4zM12.036 9.426C10.969 10.4 9.555 11 8 11s-2.969-.6-4.036-1.574C2.203 10 1 11.311 1 13v3h14v-3c0-1.689-1.203-3-2.964-3.574z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-users" viewBox="0 0 16 16">
|
<symbol id="icon-users" viewBox="0 0 16 16">
|
||||||
<path d="M10.2 11.4l-2.7-2C8.4 8.7 9 7.7 9 6.5v-.8C9 3.8 7.6 2.1 5.7 2 3.7 1.9 2 3.5 2 5.5v1c0 1.2.6 2.2 1.5 2.9L.8 11.5c-.5.4-.8 1-.8 1.6V15c0 .6.4 1 1 1h9c.6 0 1-.4 1-1v-2c0-.6-.3-1.2-.8-1.6zM15.1 6.4l-1.8-1.2c.4-.4.7-1 .7-1.7v-.9c0-1.2-.9-2.4-2.1-2.6S9.7.5 9.2 1.4c1.1 1 1.8 2.4 1.8 4v1c0 .9-.2 1.8-.6 2.5 0 0 1.2.9 1.2 1H15c.6 0 1-.4 1-1v-.8c0-.7-.3-1.3-.9-1.7z"
|
<path d="M10.2 11.4l-2.7-2C8.4 8.7 9 7.7 9 6.5v-.8C9 3.8 7.6 2.1 5.7 2 3.7 1.9 2 3.5 2 5.5v1c0 1.2.6 2.2 1.5 2.9L.8 11.5c-.5.4-.8 1-.8 1.6V15c0 .6.4 1 1 1h9c.6 0 1-.4 1-1v-2c0-.6-.3-1.2-.8-1.6zM15.1 6.4l-1.8-1.2c.4-.4.7-1 .7-1.7v-.9c0-1.2-.9-2.4-2.1-2.6S9.7.5 9.2 1.4c1.1 1 1.8 2.4 1.8 4v1c0 .9-.2 1.8-.6 2.5 0 0 1.2.9 1.2 1H15c.6 0 1-.4 1-1v-.8c0-.7-.3-1.3-.9-1.7z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-video" viewBox="0 0 16 16">
|
<symbol id="icon-video" viewBox="0 0 16 16">
|
||||||
<path d="M11 9V7c0-.6-.4-1-1-1H1c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h9c.6 0 1-.4 1-1v-2l5 2V7l-5 2zM5 2.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0zM10 3a2 2 0 1 1-3.999.001A2 2 0 0 1 10 3z"
|
<path d="M11 9V7c0-.6-.4-1-1-1H1c-.6 0-1 .4-1 1v8c0 .6.4 1 1 1h9c.6 0 1-.4 1-1v-2l5 2V7l-5 2zM5 2.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0zM10 3a2 2 0 1 1-3.999.001A2 2 0 0 1 10 3z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-wand" viewBox="0 0 16 16">
|
<symbol id="icon-wand" viewBox="0 0 16 16">
|
||||||
<path d="M8.046 4.985l2.97 2.97-7.99 7.99-2.97-2.97 7.99-7.99zM12.995 1.591l1.414 1.414-2.404 2.404-1.414-1.414 2.404-2.404zM13 7h3v2h-3V7zM12.243 10.834l2.121 2.121-1.414 1.414-2.121-2.121 1.414-1.414zM7 0h2v3H7V0zM3.05 1.631l2.121 2.121-1.414 1.414-2.121-2.121L3.05 1.631z"
|
<path d="M8.046 4.985l2.97 2.97-7.99 7.99-2.97-2.97 7.99-7.99zM12.995 1.591l1.414 1.414-2.404 2.404-1.414-1.414 2.404-2.404zM13 7h3v2h-3V7zM12.243 10.834l2.121 2.121-1.414 1.414-2.121-2.121 1.414-1.414zM7 0h2v3H7V0zM3.05 1.631l2.121 2.121-1.414 1.414-2.121-2.121L3.05 1.631z" />
|
||||||
/>
|
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-template" viewBox="0 0 16 16">
|
<symbol id="icon-template" viewBox="0 0 16 16">
|
||||||
<path d="M15 1h-3v2h2v11H2V3h2V1H1c-.6 0-1 .4-1 1v13c0 .6.4 1 1 1h14c.6 0 1-.4 1-1V2c0-.6-.4-1-1-1z" />
|
<path d="M15 1h-3v2h2v11H2V3h2V1H1c-.6 0-1 .4-1 1v13c0 .6.4 1 1 1h14c.6 0 1-.4 1-1V2c0-.6-.4-1-1-1z" />
|
||||||
@@ -393,19 +320,21 @@
|
|||||||
<path d="M10,3c-3.2,0-6,2.5-6,7c1.1-1.7,2.4-3,6-3v3l6-5l-6-5V3z" />
|
<path d="M10,3c-3.2,0-6,2.5-6,7c1.1-1.7,2.4-3,6-3v3l6-5l-6-5V3z" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-remove" viewBox="0 0 16 16">
|
<symbol id="icon-remove" viewBox="0 0 16 16">
|
||||||
<rect data-color="color-2" x="4" y="7" width="8" height="2"></rect> <path d="M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M8,14c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6 S11.3,14,8,14z"></path>
|
<rect x="4" y="7" width="8" height="2" />
|
||||||
|
<path d="M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M8,14c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6 S11.3,14,8,14z" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-cart" viewBox="0 0 16 16">
|
<symbol id="icon-cart" viewBox="0 0 16 16">
|
||||||
<path d="M15,3H4.5L4,0.8C3.9,0.3,3.5,0,3,0H0v2h2.2L4,10.2C4.1,10.7,4.5,11,5,11h8c0.4,0,0.8-0.3,0.9-0.7l2-6 C16.1,3.8,15.8,3,15,3z"></path>
|
<path d="M15,3H4.5L4,0.8C3.9,0.3,3.5,0,3,0H0v2h2.2L4,10.2C4.1,10.7,4.5,11,5,11h8c0.4,0,0.8-0.3,0.9-0.7l2-6 C16.1,3.8,15.8,3,15,3z" />
|
||||||
<circle data-color="color-2" cx="5" cy="14" r="2"></circle>
|
<circle cx="5" cy="14" r="2" />
|
||||||
<circle data-color="color-2" cx="13" cy="14" r="2"></circle>
|
<circle cx="13" cy="14" r="2" />
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-key" viewBox="0 0 16 16">
|
<symbol id="icon-key" viewBox="0 0 16 16">
|
||||||
<path d="M12.7,0L6.5,6.3C6,6.1,5.5,6,5,6c-2.8,0-5,2.2-5,5s2.2,5,5,5s5-2.2,5-5c0-0.5-0.1-1.1-0.3-1.6L11,8V6h2V4h2 l1-1V0H12.7z M4.5,12C3.7,12,3,11.3,3,10.5S3.7,9,4.5,9S6,9.7,6,10.5S5.3,12,4.5,12z"></path>
|
<path d="M12.7,0L6.5,6.3C6,6.1,5.5,6,5,6c-2.8,0-5,2.2-5,5s2.2,5,5,5s5-2.2,5-5c0-0.5-0.1-1.1-0.3-1.6L11,8V6h2V4h2 l1-1V0H12.7z M4.5,12C3.7,12,3,11.3,3,10.5S3.7,9,4.5,9S6,9.7,6,10.5S5.3,12,4.5,12z"
|
||||||
|
/>
|
||||||
</symbol>
|
</symbol>
|
||||||
<symbol id="icon-copy" viewBox="0 0 16 16">
|
<symbol id="icon-copy" viewBox="0 0 16 16">
|
||||||
<path d="M10,4H2C1.4,4,1,4.4,1,5v10c0,0.6,0.4,1,1,1h8c0.6,0,1-0.4,1-1V5C11,4.4,10.6,4,10,4z"></path>
|
<path d="M10,4H2C1.4,4,1,4.4,1,5v10c0,0.6,0.4,1,1,1h8c0.6,0,1-0.4,1-1V5C11,4.4,10.6,4,10,4z" />
|
||||||
<path d="M14,0H4v2h9v11h2V1C15,0.4,14.6,0,14,0z"></path>
|
<path d="M14,0H4v2h9v11h2V1C15,0.4,14.6,0,14,0z" />
|
||||||
</symbol>
|
</symbol>
|
||||||
</defs>
|
</defs>
|
||||||
</svg>
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 26 KiB |
2
kirby/panel/dist/js/app.js
vendored
2
kirby/panel/dist/js/app.js
vendored
File diff suppressed because one or more lines are too long
6
kirby/panel/dist/js/plugins.js
vendored
6
kirby/panel/dist/js/plugins.js
vendored
@@ -4,6 +4,7 @@ window.panel.plugins = {
|
|||||||
components: {},
|
components: {},
|
||||||
created: [],
|
created: [],
|
||||||
fields: {},
|
fields: {},
|
||||||
|
icons: {},
|
||||||
sections: {},
|
sections: {},
|
||||||
routes: [],
|
routes: [],
|
||||||
use: [],
|
use: [],
|
||||||
@@ -21,6 +22,11 @@ window.panel.plugin = function (plugin, parts) {
|
|||||||
window.panel.plugins["fields"][`k-${name}-field`] = options;
|
window.panel.plugins["fields"][`k-${name}-field`] = options;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Icons
|
||||||
|
resolve(parts, "icons", function (name, options) {
|
||||||
|
window.panel.plugins["icons"][name] = options;
|
||||||
|
});
|
||||||
|
|
||||||
// Sections
|
// Sections
|
||||||
resolve(parts, "sections", function (name, options) {
|
resolve(parts, "sections", function (name, options) {
|
||||||
window.panel.plugins["sections"][`k-${name}-section`] = options;
|
window.panel.plugins["sections"][`k-${name}-section`] = options;
|
||||||
|
@@ -4,14 +4,13 @@ namespace Kirby\Api;
|
|||||||
|
|
||||||
use Closure;
|
use Closure;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Throwable;
|
|
||||||
|
|
||||||
use Kirby\Exception\NotFoundException;
|
use Kirby\Exception\NotFoundException;
|
||||||
use Kirby\Http\Router;
|
|
||||||
use Kirby\Http\Response;
|
use Kirby\Http\Response;
|
||||||
|
use Kirby\Http\Router;
|
||||||
use Kirby\Toolkit\F;
|
use Kirby\Toolkit\F;
|
||||||
use Kirby\Toolkit\Properties;
|
use Kirby\Toolkit\Properties;
|
||||||
use Kirby\Toolkit\Str;
|
use Kirby\Toolkit\Str;
|
||||||
|
use Throwable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The API class is a generic container
|
* The API class is a generic container
|
||||||
@@ -169,12 +168,41 @@ class Api
|
|||||||
$auth = $this->route->attributes()['auth'] ?? true;
|
$auth = $this->route->attributes()['auth'] ?? true;
|
||||||
|
|
||||||
if ($auth !== false) {
|
if ($auth !== false) {
|
||||||
$this->authenticate();
|
$user = $this->authenticate();
|
||||||
|
|
||||||
|
// set PHP locales based on *user* language
|
||||||
|
// so that e.g. strftime() gets formatted correctly
|
||||||
|
if (is_a($user, 'Kirby\Cms\User') === true) {
|
||||||
|
$locale = $language = $user->language();
|
||||||
|
|
||||||
|
// if it's not already a full locale, "fake" one
|
||||||
|
// and assume that the country equals the language
|
||||||
|
if (Str::contains($locale, '_') !== true) {
|
||||||
|
$locale .= '_' . strtoupper($locale);
|
||||||
|
}
|
||||||
|
|
||||||
|
// provide some variants as fallbacks to be
|
||||||
|
// compatible with as many systems as possible
|
||||||
|
$locales = [
|
||||||
|
$locale,
|
||||||
|
$locale . '.UTF-8',
|
||||||
|
$locale . '.UTF8',
|
||||||
|
$locale . '.ISO8859-1',
|
||||||
|
$language,
|
||||||
|
setlocale(LC_ALL, 0) // fall back to the previously defined locale
|
||||||
|
];
|
||||||
|
|
||||||
|
// set the locales that are relevant for string formatting
|
||||||
|
// *don't* set LC_CTYPE to avoid breaking other parts of the system
|
||||||
|
setlocale(LC_MONETARY, $locales);
|
||||||
|
setlocale(LC_NUMERIC, $locales);
|
||||||
|
setlocale(LC_TIME, $locales);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$output = $this->route->action()->call($this, ...$this->route->arguments());
|
$output = $this->route->action()->call($this, ...$this->route->arguments());
|
||||||
|
|
||||||
if (is_object($output) === true) {
|
if (is_object($output) === true && is_a($output, 'Kirby\\Http\\Response') !== true) {
|
||||||
return $this->resolve($output)->toResponse();
|
return $this->resolve($output)->toResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -186,7 +214,7 @@ class Api
|
|||||||
*
|
*
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @param array|null $collection
|
* @param array|null $collection
|
||||||
* @return Kirby\Api\Collection
|
* @return \Kirby\Api\Collection
|
||||||
*
|
*
|
||||||
* @throws NotFoundException If no collection for `$name` exists
|
* @throws NotFoundException If no collection for `$name` exists
|
||||||
*/
|
*/
|
||||||
@@ -263,7 +291,7 @@ class Api
|
|||||||
*
|
*
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @param mixed $object
|
* @param mixed $object
|
||||||
* @return Kirby\Api\Model
|
* @return \Kirby\Api\Model
|
||||||
*
|
*
|
||||||
* @throws NotFoundException If no model for `$name` exists
|
* @throws NotFoundException If no model for `$name` exists
|
||||||
*/
|
*/
|
||||||
@@ -375,7 +403,7 @@ class Api
|
|||||||
* API model or collection representation
|
* API model or collection representation
|
||||||
*
|
*
|
||||||
* @param mixed $object
|
* @param mixed $object
|
||||||
* @return Kirby\Api\Model|Kirby\Api\Collection
|
* @return \Kirby\Api\Model|\Kirby\Api\Collection
|
||||||
*
|
*
|
||||||
* @throws NotFoundException If `$object` cannot be resolved
|
* @throws NotFoundException If `$object` cannot be resolved
|
||||||
*/
|
*/
|
||||||
@@ -540,50 +568,15 @@ class Api
|
|||||||
try {
|
try {
|
||||||
$result = $this->call($path, $method, $requestData);
|
$result = $this->call($path, $method, $requestData);
|
||||||
} catch (Throwable $e) {
|
} catch (Throwable $e) {
|
||||||
if (is_a($e, 'Kirby\Exception\Exception') === true) {
|
$result = $this->responseForException($e);
|
||||||
$result = [
|
|
||||||
'status' => 'error',
|
|
||||||
'route' => ($this->route)? $this->route->pattern() : null
|
|
||||||
] + $e->toArray();
|
|
||||||
} else {
|
|
||||||
// remove the document root from the file path
|
|
||||||
$file = $e->getFile();
|
|
||||||
if (empty($_SERVER['DOCUMENT_ROOT']) === false) {
|
|
||||||
$file = ltrim(Str::after($file, $_SERVER['DOCUMENT_ROOT']), '/');
|
|
||||||
}
|
|
||||||
|
|
||||||
$result = [
|
|
||||||
'status' => 'error',
|
|
||||||
'exception' => get_class($e),
|
|
||||||
'message' => $e->getMessage(),
|
|
||||||
'file' => $file,
|
|
||||||
'line' => $e->getLine(),
|
|
||||||
'code' => empty($e->getCode()) === false ? $e->getCode() : 500,
|
|
||||||
'route' => $this->route ? $this->route->pattern() : null
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($result === null) {
|
if ($result === null) {
|
||||||
$result = [
|
$result = $this->responseFor404();
|
||||||
'status' => 'error',
|
} elseif ($result === false) {
|
||||||
'message' => 'not found',
|
$result = $this->responseFor400();
|
||||||
'code' => 404,
|
} elseif ($result === true) {
|
||||||
];
|
$result = $this->responseFor200();
|
||||||
}
|
|
||||||
|
|
||||||
if ($result === true) {
|
|
||||||
$result = [
|
|
||||||
'status' => 'ok',
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($result === false) {
|
|
||||||
$result = [
|
|
||||||
'status' => 'error',
|
|
||||||
'message' => 'bad request',
|
|
||||||
'code' => 400,
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_array($result) === false) {
|
if (is_array($result) === false) {
|
||||||
@@ -593,17 +586,6 @@ class Api
|
|||||||
// pretty print json data
|
// pretty print json data
|
||||||
$pretty = (bool)($requestData['query']['pretty'] ?? false) === true;
|
$pretty = (bool)($requestData['query']['pretty'] ?? false) === true;
|
||||||
|
|
||||||
// remove critical info from the result set if
|
|
||||||
// debug mode is switched off
|
|
||||||
if ($this->debug !== true) {
|
|
||||||
unset(
|
|
||||||
$result['file'],
|
|
||||||
$result['exception'],
|
|
||||||
$result['line'],
|
|
||||||
$result['route']
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (($result['status'] ?? 'ok') === 'error') {
|
if (($result['status'] ?? 'ok') === 'error') {
|
||||||
$code = $result['code'] ?? 400;
|
$code = $result['code'] ?? 400;
|
||||||
|
|
||||||
@@ -618,6 +600,95 @@ class Api
|
|||||||
return Response::json($result, 200, $pretty);
|
return Response::json($result, 200, $pretty);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a 200 - ok
|
||||||
|
* response array.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function responseFor200(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'status' => 'ok',
|
||||||
|
'message' => 'ok',
|
||||||
|
'code' => 200
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a 400 - bad request
|
||||||
|
* response array.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function responseFor400(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'status' => 'error',
|
||||||
|
'message' => 'bad request',
|
||||||
|
'code' => 400,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a 404 - not found
|
||||||
|
* response array.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function responseFor404(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'status' => 'error',
|
||||||
|
'message' => 'not found',
|
||||||
|
'code' => 404,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates the response array for
|
||||||
|
* an exception. Kirby exceptions will
|
||||||
|
* have more information
|
||||||
|
*
|
||||||
|
* @param Exception $e
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function responseForException($e): array
|
||||||
|
{
|
||||||
|
// prepare the result array for all exception types
|
||||||
|
$result = [
|
||||||
|
'status' => 'error',
|
||||||
|
'message' => $e->getMessage(),
|
||||||
|
'code' => empty($e->getCode()) === true ? 500 : $e->getCode(),
|
||||||
|
'exception' => get_class($e),
|
||||||
|
'key' => null,
|
||||||
|
'file' => F::relativepath($e->getFile(), $_SERVER['DOCUMENT_ROOT'] ?? null),
|
||||||
|
'line' => $e->getLine(),
|
||||||
|
'details' => [],
|
||||||
|
'route' => $this->route ? $this->route->pattern() : null
|
||||||
|
];
|
||||||
|
|
||||||
|
// extend the information for Kirby Exceptions
|
||||||
|
if (is_a($e, 'Kirby\Exception\Exception') === true) {
|
||||||
|
$result['key'] = $e->getKey();
|
||||||
|
$result['details'] = $e->getDetails();
|
||||||
|
$result['code'] = $e->getHttpCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
// remove critical info from the result set if
|
||||||
|
// debug mode is switched off
|
||||||
|
if ($this->debug !== true) {
|
||||||
|
unset(
|
||||||
|
$result['file'],
|
||||||
|
$result['exception'],
|
||||||
|
$result['line'],
|
||||||
|
$result['route']
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Upload helper method
|
* Upload helper method
|
||||||
*
|
*
|
||||||
@@ -635,8 +706,26 @@ class Api
|
|||||||
$errors = [];
|
$errors = [];
|
||||||
$files = $this->requestFiles();
|
$files = $this->requestFiles();
|
||||||
|
|
||||||
|
// get error messages from translation
|
||||||
|
$errorMessages = [
|
||||||
|
UPLOAD_ERR_INI_SIZE => t('upload.error.iniSize'),
|
||||||
|
UPLOAD_ERR_FORM_SIZE => t('upload.error.formSize'),
|
||||||
|
UPLOAD_ERR_PARTIAL => t('upload.error.partial'),
|
||||||
|
UPLOAD_ERR_NO_FILE => t('upload.error.noFile'),
|
||||||
|
UPLOAD_ERR_NO_TMP_DIR => t('upload.error.tmpDir'),
|
||||||
|
UPLOAD_ERR_CANT_WRITE => t('upload.error.cantWrite'),
|
||||||
|
UPLOAD_ERR_EXTENSION => t('upload.error.extension')
|
||||||
|
];
|
||||||
|
|
||||||
if (empty($files) === true) {
|
if (empty($files) === true) {
|
||||||
throw new Exception('No uploaded files');
|
$postMaxSize = Str::toBytes(ini_get('post_max_size'));
|
||||||
|
$uploadMaxFileSize = Str::toBytes(ini_get('upload_max_filesize'));
|
||||||
|
|
||||||
|
if ($postMaxSize < $uploadMaxFileSize) {
|
||||||
|
throw new Exception(t('upload.error.iniPostSize'));
|
||||||
|
} else {
|
||||||
|
throw new Exception(t('upload.error.noFiles'));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($files as $upload) {
|
foreach ($files as $upload) {
|
||||||
@@ -648,7 +737,8 @@ class Api
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
if ($upload['error'] !== 0) {
|
if ($upload['error'] !== 0) {
|
||||||
throw new Exception('Upload error');
|
$errorMessage = $errorMessages[$upload['error']] ?? t('upload.error.default');
|
||||||
|
throw new Exception($errorMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
// get the extension of the uploaded file
|
// get the extension of the uploaded file
|
||||||
@@ -669,7 +759,7 @@ class Api
|
|||||||
// move the file to a location including the extension,
|
// move the file to a location including the extension,
|
||||||
// for better mime detection
|
// for better mime detection
|
||||||
if (move_uploaded_file($upload['tmp_name'], $source) === false) {
|
if (move_uploaded_file($upload['tmp_name'], $source) === false) {
|
||||||
throw new Exception('The uploaded file could not be moved');
|
throw new Exception(t('upload.error.cantMove'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = $callback($source, $filename);
|
$data = $callback($source, $filename);
|
||||||
|
@@ -15,7 +15,6 @@ use APCUIterator;
|
|||||||
*/
|
*/
|
||||||
class ApcuCache extends Cache
|
class ApcuCache extends Cache
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines if an item exists in the cache
|
* Determines if an item exists in the cache
|
||||||
*
|
*
|
||||||
@@ -59,7 +58,7 @@ class ApcuCache extends Cache
|
|||||||
* needs to return a Value object or null if not found
|
* needs to return a Value object or null if not found
|
||||||
*
|
*
|
||||||
* @param string $key
|
* @param string $key
|
||||||
* @return Kirby\Cache\Value|null
|
* @return \Kirby\Cache\Value|null
|
||||||
*/
|
*/
|
||||||
public function retrieve(string $key)
|
public function retrieve(string $key)
|
||||||
{
|
{
|
||||||
|
@@ -16,7 +16,6 @@ namespace Kirby\Cache;
|
|||||||
*/
|
*/
|
||||||
abstract class Cache
|
abstract class Cache
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stores all options for the driver
|
* Stores all options for the driver
|
||||||
* @var array
|
* @var array
|
||||||
@@ -71,7 +70,7 @@ abstract class Cache
|
|||||||
* this needs to be defined by the driver
|
* this needs to be defined by the driver
|
||||||
*
|
*
|
||||||
* @param string $key
|
* @param string $key
|
||||||
* @return Kirby\Cache\Value|null
|
* @return \Kirby\Cache\Value|null
|
||||||
*/
|
*/
|
||||||
abstract public function retrieve(string $key);
|
abstract public function retrieve(string $key);
|
||||||
|
|
||||||
@@ -96,7 +95,7 @@ abstract class Cache
|
|||||||
$value = $this->retrieve($key);
|
$value = $this->retrieve($key);
|
||||||
|
|
||||||
// check for a valid cache value
|
// check for a valid cache value
|
||||||
if (!is_a($value, Value::class)) {
|
if (!is_a($value, 'Kirby\Cache\Value')) {
|
||||||
return $default;
|
return $default;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -141,7 +140,7 @@ abstract class Cache
|
|||||||
$value = $this->retrieve($key);
|
$value = $this->retrieve($key);
|
||||||
|
|
||||||
// check for a valid Value object
|
// check for a valid Value object
|
||||||
if (!is_a($value, Value::class)) {
|
if (!is_a($value, 'Kirby\Cache\Value')) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,7 +181,7 @@ abstract class Cache
|
|||||||
$value = $this->retrieve($key);
|
$value = $this->retrieve($key);
|
||||||
|
|
||||||
// check for a valid Value object
|
// check for a valid Value object
|
||||||
if (!is_a($value, Value::class)) {
|
if (!is_a($value, 'Kirby\Cache\Value')) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -16,7 +16,6 @@ use Kirby\Toolkit\F;
|
|||||||
*/
|
*/
|
||||||
class FileCache extends Cache
|
class FileCache extends Cache
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Full root including prefix
|
* Full root including prefix
|
||||||
* @var string
|
* @var string
|
||||||
@@ -93,7 +92,7 @@ class FileCache extends Cache
|
|||||||
* needs to return a Value object or null if not found
|
* needs to return a Value object or null if not found
|
||||||
*
|
*
|
||||||
* @param string $key
|
* @param string $key
|
||||||
* @return Kirby\Cache\Value|null
|
* @return \Kirby\Cache\Value|null
|
||||||
*/
|
*/
|
||||||
public function retrieve(string $key)
|
public function retrieve(string $key)
|
||||||
{
|
{
|
||||||
|
@@ -13,7 +13,6 @@ namespace Kirby\Cache;
|
|||||||
*/
|
*/
|
||||||
class MemCached extends Cache
|
class MemCached extends Cache
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* store for the memache connection
|
* store for the memache connection
|
||||||
* @var Memcached
|
* @var Memcached
|
||||||
@@ -65,7 +64,7 @@ class MemCached extends Cache
|
|||||||
* needs to return a Value object or null if not found
|
* needs to return a Value object or null if not found
|
||||||
*
|
*
|
||||||
* @param string $key
|
* @param string $key
|
||||||
* @return Kirby\Cache\Value|null
|
* @return \Kirby\Cache\Value|null
|
||||||
*/
|
*/
|
||||||
public function retrieve(string $key)
|
public function retrieve(string $key)
|
||||||
{
|
{
|
||||||
|
@@ -13,7 +13,6 @@ namespace Kirby\Cache;
|
|||||||
*/
|
*/
|
||||||
class MemoryCache extends Cache
|
class MemoryCache extends Cache
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cache data
|
* Cache data
|
||||||
* @var array
|
* @var array
|
||||||
@@ -45,7 +44,7 @@ class MemoryCache extends Cache
|
|||||||
* needs to return a Value object or null if not found
|
* needs to return a Value object or null if not found
|
||||||
*
|
*
|
||||||
* @param string $key
|
* @param string $key
|
||||||
* @return Kirby\Cache\Value|null
|
* @return \Kirby\Cache\Value|null
|
||||||
*/
|
*/
|
||||||
public function retrieve(string $key)
|
public function retrieve(string $key)
|
||||||
{
|
{
|
||||||
|
@@ -13,7 +13,6 @@ namespace Kirby\Cache;
|
|||||||
*/
|
*/
|
||||||
class NullCache extends Cache
|
class NullCache extends Cache
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Writes an item to the cache for a given number of minutes and
|
* Writes an item to the cache for a given number of minutes and
|
||||||
* returns whether the operation was successful
|
* returns whether the operation was successful
|
||||||
@@ -38,7 +37,7 @@ class NullCache extends Cache
|
|||||||
* needs to return a Value object or null if not found
|
* needs to return a Value object or null if not found
|
||||||
*
|
*
|
||||||
* @param string $key
|
* @param string $key
|
||||||
* @return Kirby\Cache\Value|null
|
* @return \Kirby\Cache\Value|null
|
||||||
*/
|
*/
|
||||||
public function retrieve(string $key)
|
public function retrieve(string $key)
|
||||||
{
|
{
|
||||||
|
@@ -17,7 +17,6 @@ use Throwable;
|
|||||||
*/
|
*/
|
||||||
class Value
|
class Value
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cached value
|
* Cached value
|
||||||
* @var mixed
|
* @var mixed
|
||||||
|
@@ -92,7 +92,7 @@ class Api extends BaseApi
|
|||||||
*
|
*
|
||||||
* @param string $path Path to file's parent model
|
* @param string $path Path to file's parent model
|
||||||
* @param string $filename Filename
|
* @param string $filename Filename
|
||||||
* @return Kirby\Cms\File|null
|
* @return \Kirby\Cms\File|null
|
||||||
*/
|
*/
|
||||||
public function file(string $path = null, string $filename)
|
public function file(string $path = null, string $filename)
|
||||||
{
|
{
|
||||||
@@ -114,7 +114,7 @@ class Api extends BaseApi
|
|||||||
* Returns the model's object for the given path
|
* Returns the model's object for the given path
|
||||||
*
|
*
|
||||||
* @param string $path Path to parent model
|
* @param string $path Path to parent model
|
||||||
* @return Kirby\Cms\Model|null
|
* @return \Kirby\Cms\Model|null
|
||||||
*/
|
*/
|
||||||
public function parent(string $path)
|
public function parent(string $path)
|
||||||
{
|
{
|
||||||
@@ -166,7 +166,7 @@ class Api extends BaseApi
|
|||||||
/**
|
/**
|
||||||
* Returns the Kirby instance
|
* Returns the Kirby instance
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\App
|
* @return \Kirby\Cms\App
|
||||||
*/
|
*/
|
||||||
public function kirby()
|
public function kirby()
|
||||||
{
|
{
|
||||||
@@ -187,7 +187,7 @@ class Api extends BaseApi
|
|||||||
* Returns the page object for the given id
|
* Returns the page object for the given id
|
||||||
*
|
*
|
||||||
* @param string $id Page's id
|
* @param string $id Page's id
|
||||||
* @return Kirby\Cms\Page|null
|
* @return \Kirby\Cms\Page|null
|
||||||
*/
|
*/
|
||||||
public function page(string $id)
|
public function page(string $id)
|
||||||
{
|
{
|
||||||
@@ -214,7 +214,7 @@ class Api extends BaseApi
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Kirby\Cms\App $kirby
|
* @param \Kirby\Cms\App $kirby
|
||||||
*/
|
*/
|
||||||
protected function setKirby(App $kirby)
|
protected function setKirby(App $kirby)
|
||||||
{
|
{
|
||||||
@@ -225,7 +225,7 @@ class Api extends BaseApi
|
|||||||
/**
|
/**
|
||||||
* Returns the site object
|
* Returns the site object
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\Site
|
* @return \Kirby\Cms\Site
|
||||||
*/
|
*/
|
||||||
public function site()
|
public function site()
|
||||||
{
|
{
|
||||||
@@ -238,7 +238,7 @@ class Api extends BaseApi
|
|||||||
* id is passed
|
* id is passed
|
||||||
*
|
*
|
||||||
* @param string $id User's id
|
* @param string $id User's id
|
||||||
* @return Kirby\Cms\User|null
|
* @return \Kirby\Cms\User|null
|
||||||
*/
|
*/
|
||||||
public function user(string $id = null)
|
public function user(string $id = null)
|
||||||
{
|
{
|
||||||
@@ -263,7 +263,7 @@ class Api extends BaseApi
|
|||||||
/**
|
/**
|
||||||
* Returns the users collection
|
* Returns the users collection
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\Users
|
* @return \Kirby\Cms\Users
|
||||||
*/
|
*/
|
||||||
public function users()
|
public function users()
|
||||||
{
|
{
|
||||||
|
@@ -6,8 +6,8 @@ use Kirby\Data\Data;
|
|||||||
use Kirby\Email\PHPMailer as Emailer;
|
use Kirby\Email\PHPMailer as Emailer;
|
||||||
use Kirby\Exception\InvalidArgumentException;
|
use Kirby\Exception\InvalidArgumentException;
|
||||||
use Kirby\Exception\NotFoundException;
|
use Kirby\Exception\NotFoundException;
|
||||||
use Kirby\Http\Router;
|
|
||||||
use Kirby\Http\Request;
|
use Kirby\Http\Request;
|
||||||
|
use Kirby\Http\Router;
|
||||||
use Kirby\Http\Server;
|
use Kirby\Http\Server;
|
||||||
use Kirby\Http\Visitor;
|
use Kirby\Http\Visitor;
|
||||||
use Kirby\Session\AutoSession;
|
use Kirby\Session\AutoSession;
|
||||||
@@ -15,8 +15,8 @@ use Kirby\Text\KirbyTag;
|
|||||||
use Kirby\Toolkit\A;
|
use Kirby\Toolkit\A;
|
||||||
use Kirby\Toolkit\Config;
|
use Kirby\Toolkit\Config;
|
||||||
use Kirby\Toolkit\Controller;
|
use Kirby\Toolkit\Controller;
|
||||||
use Kirby\Toolkit\F;
|
|
||||||
use Kirby\Toolkit\Dir;
|
use Kirby\Toolkit\Dir;
|
||||||
|
use Kirby\Toolkit\F;
|
||||||
use Kirby\Toolkit\Properties;
|
use Kirby\Toolkit\Properties;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -132,7 +132,7 @@ class App
|
|||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function __debuginfo(): array
|
public function __debugInfo(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'languages' => $this->languages(),
|
'languages' => $this->languages(),
|
||||||
@@ -149,7 +149,7 @@ class App
|
|||||||
* Returns the Api instance
|
* Returns the Api instance
|
||||||
*
|
*
|
||||||
* @internal
|
* @internal
|
||||||
* @return Kirby\Cms\Api
|
* @return \Kirby\Cms\Api
|
||||||
*/
|
*/
|
||||||
public function api()
|
public function api()
|
||||||
{
|
{
|
||||||
@@ -181,7 +181,7 @@ class App
|
|||||||
*
|
*
|
||||||
* @internal
|
* @internal
|
||||||
* @param string $name Hook name
|
* @param string $name Hook name
|
||||||
* @param mixed $args Arguments to pass to the hooks
|
* @param mixed ...$args Arguments to pass to the hooks
|
||||||
* @return mixed Resulting value as modified by the hooks
|
* @return mixed Resulting value as modified by the hooks
|
||||||
*/
|
*/
|
||||||
public function apply(string $name, ...$args)
|
public function apply(string $name, ...$args)
|
||||||
@@ -294,7 +294,7 @@ class App
|
|||||||
* automatically injected
|
* automatically injected
|
||||||
*
|
*
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @return Kirby\Cms\Collection|null
|
* @return \Kirby\Cms\Collection|null
|
||||||
*/
|
*/
|
||||||
public function collection(string $name)
|
public function collection(string $name)
|
||||||
{
|
{
|
||||||
@@ -309,11 +309,11 @@ class App
|
|||||||
/**
|
/**
|
||||||
* Returns all user-defined collections
|
* Returns all user-defined collections
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\Collections
|
* @return \Kirby\Cms\Collections
|
||||||
*/
|
*/
|
||||||
public function collections()
|
public function collections()
|
||||||
{
|
{
|
||||||
return $this->collections = $this->collections ?? new Collections;
|
return $this->collections = $this->collections ?? new Collections();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -357,6 +357,7 @@ class App
|
|||||||
* @internal
|
* @internal
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @param array $arguments
|
* @param array $arguments
|
||||||
|
* @param string $contentType
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function controller(string $name, array $arguments = [], string $contentType = 'html'): array
|
public function controller(string $name, array $arguments = [], string $contentType = 'html'): array
|
||||||
@@ -388,7 +389,8 @@ class App
|
|||||||
* Try to find a controller by name
|
* Try to find a controller by name
|
||||||
*
|
*
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @return Kirby\Toolkit\Controller|null
|
* @param string $contentType
|
||||||
|
* @return \Kirby\Toolkit\Controller|null
|
||||||
*/
|
*/
|
||||||
protected function controllerLookup(string $name, string $contentType = 'html')
|
protected function controllerLookup(string $name, string $contentType = 'html')
|
||||||
{
|
{
|
||||||
@@ -403,7 +405,7 @@ class App
|
|||||||
|
|
||||||
// registry controller
|
// registry controller
|
||||||
if ($controller = $this->extension('controllers', $name)) {
|
if ($controller = $this->extension('controllers', $name)) {
|
||||||
return is_a($controller, Controller::class) ? $controller : new Controller($controller);
|
return is_a($controller, 'Kirby\Toolkit\Controller') ? $controller : new Controller($controller);
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
@@ -412,7 +414,7 @@ class App
|
|||||||
/**
|
/**
|
||||||
* Returns the default language object
|
* Returns the default language object
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\Language|null
|
* @return \Kirby\Cms\Language|null
|
||||||
*/
|
*/
|
||||||
public function defaultLanguage()
|
public function defaultLanguage()
|
||||||
{
|
{
|
||||||
@@ -434,7 +436,7 @@ class App
|
|||||||
/**
|
/**
|
||||||
* Detect the prefered language from the visitor object
|
* Detect the prefered language from the visitor object
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\Language
|
* @return \Kirby\Cms\Language
|
||||||
*/
|
*/
|
||||||
public function detectedLanguage()
|
public function detectedLanguage()
|
||||||
{
|
{
|
||||||
@@ -459,7 +461,9 @@ class App
|
|||||||
/**
|
/**
|
||||||
* Returns the Email singleton
|
* Returns the Email singleton
|
||||||
*
|
*
|
||||||
* @return Kirby\Email\PHPMailer
|
* @param mixed $preset
|
||||||
|
* @param array $props
|
||||||
|
* @return \Kirby\Email\PHPMailer
|
||||||
*/
|
*/
|
||||||
public function email($preset = [], array $props = [])
|
public function email($preset = [], array $props = [])
|
||||||
{
|
{
|
||||||
@@ -470,8 +474,9 @@ class App
|
|||||||
* Finds any file in the content directory
|
* Finds any file in the content directory
|
||||||
*
|
*
|
||||||
* @param string $path
|
* @param string $path
|
||||||
|
* @param mixed $parent
|
||||||
* @param boolean $drafts
|
* @param boolean $drafts
|
||||||
* @return Kirby\Cms\File|null
|
* @return \Kirby\Cms\File|null
|
||||||
*/
|
*/
|
||||||
public function file(string $path, $parent = null, bool $drafts = true)
|
public function file(string $path, $parent = null, bool $drafts = true)
|
||||||
{
|
{
|
||||||
@@ -479,11 +484,11 @@ class App
|
|||||||
$id = dirname($path);
|
$id = dirname($path);
|
||||||
$filename = basename($path);
|
$filename = basename($path);
|
||||||
|
|
||||||
if (is_a($parent, User::class) === true) {
|
if (is_a($parent, 'Kirby\Cms\User') === true) {
|
||||||
return $parent->file($filename);
|
return $parent->file($filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_a($parent, File::class) === true) {
|
if (is_a($parent, 'Kirby\Cms\File') === true) {
|
||||||
$parent = $parent->parent();
|
$parent = $parent->parent();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -511,13 +516,13 @@ class App
|
|||||||
/**
|
/**
|
||||||
* Returns the current App instance
|
* Returns the current App instance
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\App $instance
|
* @param \Kirby\Cms\App $instance
|
||||||
* @return self
|
* @return self
|
||||||
*/
|
*/
|
||||||
public static function instance(self $instance = null)
|
public static function instance(self $instance = null)
|
||||||
{
|
{
|
||||||
if ($instance === null) {
|
if ($instance === null) {
|
||||||
return static::$instance ?? new static;
|
return static::$instance ?? new static();
|
||||||
}
|
}
|
||||||
|
|
||||||
return static::$instance = $instance;
|
return static::$instance = $instance;
|
||||||
@@ -529,7 +534,7 @@ class App
|
|||||||
*
|
*
|
||||||
* @internal
|
* @internal
|
||||||
* @param mixed $input
|
* @param mixed $input
|
||||||
* @return Kirby\Http\Response
|
* @return \Kirby\Http\Response
|
||||||
*/
|
*/
|
||||||
public function io($input)
|
public function io($input)
|
||||||
{
|
{
|
||||||
@@ -652,6 +657,7 @@ class App
|
|||||||
* @internal
|
* @internal
|
||||||
* @param string $text
|
* @param string $text
|
||||||
* @param array $data
|
* @param array $data
|
||||||
|
* @param bool $inline
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function kirbytext(string $text = null, array $data = [], bool $inline = false): string
|
public function kirbytext(string $text = null, array $data = [], bool $inline = false): string
|
||||||
@@ -673,7 +679,7 @@ class App
|
|||||||
* Returns the current language
|
* Returns the current language
|
||||||
*
|
*
|
||||||
* @param string|null $code
|
* @param string|null $code
|
||||||
* @return Kirby\Cms\Language|null
|
* @return \Kirby\Cms\Language|null
|
||||||
*/
|
*/
|
||||||
public function language(string $code = null)
|
public function language(string $code = null)
|
||||||
{
|
{
|
||||||
@@ -696,6 +702,7 @@ class App
|
|||||||
* Returns the current language code
|
* Returns the current language code
|
||||||
*
|
*
|
||||||
* @internal
|
* @internal
|
||||||
|
* @param string|null $languageCode
|
||||||
* @return string|null
|
* @return string|null
|
||||||
*/
|
*/
|
||||||
public function languageCode(string $languageCode = null): ?string
|
public function languageCode(string $languageCode = null): ?string
|
||||||
@@ -710,7 +717,7 @@ class App
|
|||||||
/**
|
/**
|
||||||
* Returns all available site languages
|
* Returns all available site languages
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\Languages
|
* @return \Kirby\Cms\Languages
|
||||||
*/
|
*/
|
||||||
public function languages()
|
public function languages()
|
||||||
{
|
{
|
||||||
@@ -724,7 +731,7 @@ class App
|
|||||||
/**
|
/**
|
||||||
* Returns the app's locks object
|
* Returns the app's locks object
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\ContentLocks
|
* @return \Kirby\Cms\ContentLocks
|
||||||
*/
|
*/
|
||||||
public function locks(): ContentLocks
|
public function locks(): ContentLocks
|
||||||
{
|
{
|
||||||
@@ -732,7 +739,7 @@ class App
|
|||||||
return $this->locks;
|
return $this->locks;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->locks = new ContentLocks;
|
return $this->locks = new ContentLocks();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -787,6 +794,7 @@ class App
|
|||||||
/**
|
/**
|
||||||
* Inject options from Kirby instance props
|
* Inject options from Kirby instance props
|
||||||
*
|
*
|
||||||
|
* @param array $options
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
protected function optionsFromProps(array $options = []): array
|
protected function optionsFromProps(array $options = []): array
|
||||||
@@ -819,9 +827,9 @@ class App
|
|||||||
* Returns any page from the content folder
|
* Returns any page from the content folder
|
||||||
*
|
*
|
||||||
* @param string $id
|
* @param string $id
|
||||||
* @param Kirby\Cms\Page|Kirby\Cms\Site|null $parent
|
* @param \Kirby\Cms\Page|\Kirby\Cms\Site|null $parent
|
||||||
* @param bool $drafts
|
* @param bool $drafts
|
||||||
* @return Kirby\Cms\Page|null
|
* @return \Kirby\Cms\Page|null
|
||||||
*/
|
*/
|
||||||
public function page(string $id, $parent = null, bool $drafts = true)
|
public function page(string $id, $parent = null, bool $drafts = true)
|
||||||
{
|
{
|
||||||
@@ -863,7 +871,9 @@ class App
|
|||||||
* Returns the Response object for the
|
* Returns the Response object for the
|
||||||
* current request
|
* current request
|
||||||
*
|
*
|
||||||
* @return Kirby\Http\Response
|
* @param string|null $path
|
||||||
|
* @param string|null $method
|
||||||
|
* @return \Kirby\Http\Response
|
||||||
*/
|
*/
|
||||||
public function render(string $path = null, string $method = null)
|
public function render(string $path = null, string $method = null)
|
||||||
{
|
{
|
||||||
@@ -873,11 +883,11 @@ class App
|
|||||||
/**
|
/**
|
||||||
* Returns the Request singleton
|
* Returns the Request singleton
|
||||||
*
|
*
|
||||||
* @return Kirby\Http\Request
|
* @return \Kirby\Http\Request
|
||||||
*/
|
*/
|
||||||
public function request()
|
public function request()
|
||||||
{
|
{
|
||||||
return $this->request = $this->request ?? new Request;
|
return $this->request = $this->request ?? new Request();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -954,17 +964,17 @@ class App
|
|||||||
/**
|
/**
|
||||||
* Response configuration
|
* Response configuration
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\Responder
|
* @return \Kirby\Cms\Responder
|
||||||
*/
|
*/
|
||||||
public function response()
|
public function response()
|
||||||
{
|
{
|
||||||
return $this->response = $this->response ?? new Responder;
|
return $this->response = $this->response ?? new Responder();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns all user roles
|
* Returns all user roles
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\Roles
|
* @return \Kirby\Cms\Roles
|
||||||
*/
|
*/
|
||||||
public function roles()
|
public function roles()
|
||||||
{
|
{
|
||||||
@@ -985,7 +995,7 @@ class App
|
|||||||
/**
|
/**
|
||||||
* Returns the directory structure
|
* Returns the directory structure
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\Ingredients
|
* @return \Kirby\Cms\Ingredients
|
||||||
*/
|
*/
|
||||||
public function roots()
|
public function roots()
|
||||||
{
|
{
|
||||||
@@ -995,7 +1005,7 @@ class App
|
|||||||
/**
|
/**
|
||||||
* Returns the currently active route
|
* Returns the currently active route
|
||||||
*
|
*
|
||||||
* @return Kirby\Http\Route|null
|
* @return \Kirby\Http\Route|null
|
||||||
*/
|
*/
|
||||||
public function route()
|
public function route()
|
||||||
{
|
{
|
||||||
@@ -1006,7 +1016,7 @@ class App
|
|||||||
* Returns the Router singleton
|
* Returns the Router singleton
|
||||||
*
|
*
|
||||||
* @internal
|
* @internal
|
||||||
* @return Kirby\Http\Router
|
* @return \Kirby\Http\Router
|
||||||
*/
|
*/
|
||||||
public function router()
|
public function router()
|
||||||
{
|
{
|
||||||
@@ -1046,7 +1056,7 @@ class App
|
|||||||
* Returns the current session object
|
* Returns the current session object
|
||||||
*
|
*
|
||||||
* @param array $options Additional options, see the session component
|
* @param array $options Additional options, see the session component
|
||||||
* @return Kirby\Session\Session
|
* @return \Kirby\Session\Session
|
||||||
*/
|
*/
|
||||||
public function session(array $options = [])
|
public function session(array $options = [])
|
||||||
{
|
{
|
||||||
@@ -1123,7 +1133,7 @@ class App
|
|||||||
/**
|
/**
|
||||||
* Sets a custom Site object
|
* Sets a custom Site object
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Site|array $site
|
* @param \Kirby\Cms\Site|array $site
|
||||||
* @return self
|
* @return self
|
||||||
*/
|
*/
|
||||||
protected function setSite($site = null)
|
protected function setSite($site = null)
|
||||||
@@ -1141,17 +1151,17 @@ class App
|
|||||||
/**
|
/**
|
||||||
* Returns the Server object
|
* Returns the Server object
|
||||||
*
|
*
|
||||||
* @return Kirby\Http\Server
|
* @return \Kirby\Http\Server
|
||||||
*/
|
*/
|
||||||
public function server()
|
public function server()
|
||||||
{
|
{
|
||||||
return $this->server = $this->server ?? new Server;
|
return $this->server = $this->server ?? new Server();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes and returns the Site object
|
* Initializes and returns the Site object
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\Site
|
* @return \Kirby\Cms\Site
|
||||||
*/
|
*/
|
||||||
public function site()
|
public function site()
|
||||||
{
|
{
|
||||||
@@ -1186,7 +1196,9 @@ class App
|
|||||||
* and return a template snippet
|
* and return a template snippet
|
||||||
*
|
*
|
||||||
* @internal
|
* @internal
|
||||||
* @return string
|
* @param mixed $name
|
||||||
|
* @param array $data
|
||||||
|
* @return string|null
|
||||||
*/
|
*/
|
||||||
public function snippet($name, array $data = []): ?string
|
public function snippet($name, array $data = []): ?string
|
||||||
{
|
{
|
||||||
@@ -1196,7 +1208,7 @@ class App
|
|||||||
/**
|
/**
|
||||||
* System check class
|
* System check class
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\System
|
* @return \Kirby\Cms\System
|
||||||
*/
|
*/
|
||||||
public function system()
|
public function system()
|
||||||
{
|
{
|
||||||
@@ -1208,7 +1220,10 @@ class App
|
|||||||
* and return the Template object
|
* and return the Template object
|
||||||
*
|
*
|
||||||
* @internal
|
* @internal
|
||||||
* @return Kirby\Cms\Template
|
* @return \Kirby\Cms\Template
|
||||||
|
* @param string $name
|
||||||
|
* @param string $type
|
||||||
|
* @param string $defaultType
|
||||||
*/
|
*/
|
||||||
public function template(string $name, string $type = 'html', string $defaultType = 'html')
|
public function template(string $name, string $type = 'html', string $defaultType = 'html')
|
||||||
{
|
{
|
||||||
@@ -1277,7 +1292,7 @@ class App
|
|||||||
/**
|
/**
|
||||||
* Returns the url structure
|
* Returns the url structure
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\Ingredients
|
* @return \Kirby\Cms\Ingredients
|
||||||
*/
|
*/
|
||||||
public function urls()
|
public function urls()
|
||||||
{
|
{
|
||||||
@@ -1308,7 +1323,7 @@ class App
|
|||||||
/**
|
/**
|
||||||
* Returns the visitor object
|
* Returns the visitor object
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\Visitor
|
* @return \Kirby\Cms\Visitor
|
||||||
*/
|
*/
|
||||||
public function visitor()
|
public function visitor()
|
||||||
{
|
{
|
||||||
|
@@ -23,7 +23,7 @@ trait AppCaches
|
|||||||
* Returns a cache instance by key
|
* Returns a cache instance by key
|
||||||
*
|
*
|
||||||
* @param string $key
|
* @param string $key
|
||||||
* @return Kirby\Cache\Cache
|
* @return \Kirby\Cache\Cache
|
||||||
*/
|
*/
|
||||||
public function cache(string $key)
|
public function cache(string $key)
|
||||||
{
|
{
|
||||||
@@ -36,7 +36,7 @@ trait AppCaches
|
|||||||
|
|
||||||
if ($options['active'] === false) {
|
if ($options['active'] === false) {
|
||||||
// use a dummy cache that does nothing
|
// use a dummy cache that does nothing
|
||||||
return $this->caches[$key] = new NullCache;
|
return $this->caches[$key] = new NullCache();
|
||||||
}
|
}
|
||||||
|
|
||||||
$type = strtolower($options['type']);
|
$type = strtolower($options['type']);
|
||||||
@@ -55,7 +55,7 @@ trait AppCaches
|
|||||||
$cache = new $className($options);
|
$cache = new $className($options);
|
||||||
|
|
||||||
// check if it is a useable cache object
|
// check if it is a useable cache object
|
||||||
if (is_a($cache, Cache::class) !== true) {
|
if (is_a($cache, 'Kirby\Cache\Cache') !== true) {
|
||||||
throw new InvalidArgumentException([
|
throw new InvalidArgumentException([
|
||||||
'key' => 'app.invalid.cacheType',
|
'key' => 'app.invalid.cacheType',
|
||||||
'data' => ['type' => $type]
|
'data' => ['type' => $type]
|
||||||
|
@@ -3,11 +3,11 @@
|
|||||||
namespace Kirby\Cms;
|
namespace Kirby\Cms;
|
||||||
|
|
||||||
use Kirby\Http\Response;
|
use Kirby\Http\Response;
|
||||||
use Whoops\Run as Whoops;
|
|
||||||
use Whoops\Handler\Handler;
|
|
||||||
use Whoops\Handler\PrettyPageHandler;
|
|
||||||
use Whoops\Handler\PlainTextHandler;
|
|
||||||
use Whoops\Handler\CallbackHandler;
|
use Whoops\Handler\CallbackHandler;
|
||||||
|
use Whoops\Handler\Handler;
|
||||||
|
use Whoops\Handler\PlainTextHandler;
|
||||||
|
use Whoops\Handler\PrettyPageHandler;
|
||||||
|
use Whoops\Run as Whoops;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* AppErrors
|
* AppErrors
|
||||||
@@ -22,8 +22,8 @@ trait AppErrors
|
|||||||
{
|
{
|
||||||
protected function handleCliErrors(): void
|
protected function handleCliErrors(): void
|
||||||
{
|
{
|
||||||
$whoops = new Whoops;
|
$whoops = new Whoops();
|
||||||
$whoops->pushHandler(new PlainTextHandler);
|
$whoops->pushHandler(new PlainTextHandler());
|
||||||
$whoops->register();
|
$whoops->register();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -45,11 +45,11 @@ trait AppErrors
|
|||||||
|
|
||||||
protected function handleHtmlErrors()
|
protected function handleHtmlErrors()
|
||||||
{
|
{
|
||||||
$whoops = new Whoops;
|
$whoops = new Whoops();
|
||||||
|
|
||||||
if ($this->option('debug') === true) {
|
if ($this->option('debug') === true) {
|
||||||
if ($this->option('whoops', true) === true) {
|
if ($this->option('whoops', true) === true) {
|
||||||
$handler = new PrettyPageHandler;
|
$handler = new PrettyPageHandler();
|
||||||
$handler->setPageTitle('Kirby CMS Debugger');
|
$handler->setPageTitle('Kirby CMS Debugger');
|
||||||
|
|
||||||
if ($editor = $this->option('editor')) {
|
if ($editor = $this->option('editor')) {
|
||||||
@@ -79,7 +79,7 @@ trait AppErrors
|
|||||||
|
|
||||||
protected function handleJsonErrors()
|
protected function handleJsonErrors()
|
||||||
{
|
{
|
||||||
$whoops = new Whoops;
|
$whoops = new Whoops();
|
||||||
$handler = new CallbackHandler(function ($exception, $inspector, $run) {
|
$handler = new CallbackHandler(function ($exception, $inspector, $run) {
|
||||||
if (is_a($exception, 'Kirby\Exception\Exception') === true) {
|
if (is_a($exception, 'Kirby\Exception\Exception') === true) {
|
||||||
$httpCode = $exception->getHttpCode();
|
$httpCode = $exception->getHttpCode();
|
||||||
|
@@ -23,7 +23,6 @@ use Kirby\Toolkit\V;
|
|||||||
*/
|
*/
|
||||||
trait AppPlugins
|
trait AppPlugins
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A list of all registered plugins
|
* A list of all registered plugins
|
||||||
*
|
*
|
||||||
@@ -83,7 +82,7 @@ trait AppPlugins
|
|||||||
*
|
*
|
||||||
* @internal
|
* @internal
|
||||||
* @param array $extensions
|
* @param array $extensions
|
||||||
* @param Kirby\Cms\Plugin $plugin The plugin which defined those extensions
|
* @param \Kirby\Cms\Plugin $plugin The plugin which defined those extensions
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function extend(array $extensions, Plugin $plugin = null): array
|
public function extend(array $extensions, Plugin $plugin = null): array
|
||||||
@@ -106,7 +105,7 @@ trait AppPlugins
|
|||||||
protected function extendApi($api): array
|
protected function extendApi($api): array
|
||||||
{
|
{
|
||||||
if (is_array($api) === true) {
|
if (is_array($api) === true) {
|
||||||
if (is_a($api['routes'] ?? [], Closure::class) === true) {
|
if (is_a($api['routes'] ?? [], 'Closure') === true) {
|
||||||
$api['routes'] = $api['routes']($this);
|
$api['routes'] = $api['routes']($this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -254,7 +253,7 @@ trait AppPlugins
|
|||||||
/**
|
/**
|
||||||
* Registers markdown component
|
* Registers markdown component
|
||||||
*
|
*
|
||||||
* @param Closure $blueprints
|
* @param Closure $markdown
|
||||||
* @return Closure
|
* @return Closure
|
||||||
*/
|
*/
|
||||||
protected function extendMarkdown(Closure $markdown)
|
protected function extendMarkdown(Closure $markdown)
|
||||||
@@ -266,7 +265,7 @@ trait AppPlugins
|
|||||||
* Registers additional options
|
* Registers additional options
|
||||||
*
|
*
|
||||||
* @param array $options
|
* @param array $options
|
||||||
* @param Kirby\Cms\Plugin|null $plugin
|
* @param \Kirby\Cms\Plugin|null $plugin
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
protected function extendOptions(array $options, Plugin $plugin = null): array
|
protected function extendOptions(array $options, Plugin $plugin = null): array
|
||||||
@@ -336,7 +335,7 @@ trait AppPlugins
|
|||||||
*/
|
*/
|
||||||
protected function extendRoutes($routes): array
|
protected function extendRoutes($routes): array
|
||||||
{
|
{
|
||||||
if (is_a($routes, Closure::class) === true) {
|
if (is_a($routes, 'Closure') === true) {
|
||||||
$routes = $routes($this);
|
$routes = $routes($this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -480,7 +479,7 @@ trait AppPlugins
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the extensions registry
|
* Returns the extensions registry
|
||||||
|
*
|
||||||
* @internal
|
* @internal
|
||||||
* @param string|null $type
|
* @param string|null $type
|
||||||
* @return array
|
* @return array
|
||||||
@@ -556,6 +555,7 @@ trait AppPlugins
|
|||||||
/**
|
/**
|
||||||
* Apply all passed extensions
|
* Apply all passed extensions
|
||||||
*
|
*
|
||||||
|
* @param array $props
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
protected function extensionsFromProps(array $props)
|
protected function extensionsFromProps(array $props)
|
||||||
@@ -643,7 +643,7 @@ trait AppPlugins
|
|||||||
*
|
*
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @param array|null $extends If null is passed it will be used as getter. Otherwise as factory.
|
* @param array|null $extends If null is passed it will be used as getter. Otherwise as factory.
|
||||||
* @return Kirby\Cms\Plugin|null
|
* @return \Kirby\Cms\Plugin|null
|
||||||
*/
|
*/
|
||||||
public static function plugin(string $name, array $extends = null)
|
public static function plugin(string $name, array $extends = null)
|
||||||
{
|
{
|
||||||
|
@@ -85,7 +85,7 @@ trait AppTranslations
|
|||||||
*
|
*
|
||||||
* @internal
|
* @internal
|
||||||
* @param string $languageCode
|
* @param string $languageCode
|
||||||
* @return Kirby\Cms\Language|null
|
* @return \Kirby\Cms\Language|null
|
||||||
*/
|
*/
|
||||||
public function setCurrentLanguage(string $languageCode = null)
|
public function setCurrentLanguage(string $languageCode = null)
|
||||||
{
|
{
|
||||||
@@ -140,7 +140,7 @@ trait AppTranslations
|
|||||||
* Load a specific translation by locale
|
* Load a specific translation by locale
|
||||||
*
|
*
|
||||||
* @param string|null $locale
|
* @param string|null $locale
|
||||||
* @return Kirby\Cms\Translation|null
|
* @return \Kirby\Cms\Translation|null
|
||||||
*/
|
*/
|
||||||
public function translation(string $locale = null)
|
public function translation(string $locale = null)
|
||||||
{
|
{
|
||||||
@@ -164,7 +164,7 @@ trait AppTranslations
|
|||||||
/**
|
/**
|
||||||
* Returns all available translations
|
* Returns all available translations
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\Translations
|
* @return \Kirby\Cms\Translations
|
||||||
*/
|
*/
|
||||||
public function translations()
|
public function translations()
|
||||||
{
|
{
|
||||||
|
@@ -15,7 +15,6 @@ use Throwable;
|
|||||||
*/
|
*/
|
||||||
trait AppUsers
|
trait AppUsers
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cache for the auth auth layer
|
* Cache for the auth auth layer
|
||||||
*
|
*
|
||||||
@@ -27,7 +26,7 @@ trait AppUsers
|
|||||||
* Returns the Authentication layer class
|
* Returns the Authentication layer class
|
||||||
*
|
*
|
||||||
* @internal
|
* @internal
|
||||||
* @return Kirby\Cms\Auth
|
* @return \Kirby\Cms\Auth
|
||||||
*/
|
*/
|
||||||
public function auth()
|
public function auth()
|
||||||
{
|
{
|
||||||
@@ -38,7 +37,7 @@ trait AppUsers
|
|||||||
* Become any existing user
|
* Become any existing user
|
||||||
*
|
*
|
||||||
* @param string|null $who
|
* @param string|null $who
|
||||||
* @return Kirby\Cms\User|null
|
* @return \Kirby\Cms\User|null
|
||||||
*/
|
*/
|
||||||
public function impersonate(string $who = null)
|
public function impersonate(string $who = null)
|
||||||
{
|
{
|
||||||
@@ -48,8 +47,8 @@ trait AppUsers
|
|||||||
/**
|
/**
|
||||||
* Set the currently active user id
|
* Set the currently active user id
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\User|string $user
|
* @param \Kirby\Cms\User|string $user
|
||||||
* @return Kirby\Cms\App
|
* @return \Kirby\Cms\App
|
||||||
*/
|
*/
|
||||||
protected function setUser($user = null)
|
protected function setUser($user = null)
|
||||||
{
|
{
|
||||||
@@ -61,7 +60,7 @@ trait AppUsers
|
|||||||
* Create your own set of app users
|
* Create your own set of app users
|
||||||
*
|
*
|
||||||
* @param array $users
|
* @param array $users
|
||||||
* @return Kirby\Cms\App
|
* @return \Kirby\Cms\App
|
||||||
*/
|
*/
|
||||||
protected function setUsers(array $users = null)
|
protected function setUsers(array $users = null)
|
||||||
{
|
{
|
||||||
@@ -79,7 +78,7 @@ trait AppUsers
|
|||||||
* or the current user if no id is given
|
* or the current user if no id is given
|
||||||
*
|
*
|
||||||
* @param string $id
|
* @param string $id
|
||||||
* @return Kirby\Cms\User|null
|
* @return \Kirby\Cms\User|null
|
||||||
*/
|
*/
|
||||||
public function user(string $id = null)
|
public function user(string $id = null)
|
||||||
{
|
{
|
||||||
@@ -101,7 +100,7 @@ trait AppUsers
|
|||||||
/**
|
/**
|
||||||
* Returns all users
|
* Returns all users
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\Users
|
* @return \Kirby\Cms\Users
|
||||||
*/
|
*/
|
||||||
public function users()
|
public function users()
|
||||||
{
|
{
|
||||||
|
@@ -31,6 +31,8 @@ class Asset
|
|||||||
/**
|
/**
|
||||||
* Creates a new Asset object
|
* Creates a new Asset object
|
||||||
* for the given path.
|
* for the given path.
|
||||||
|
*
|
||||||
|
* @param string $path
|
||||||
*/
|
*/
|
||||||
public function __construct(string $path)
|
public function __construct(string $path)
|
||||||
{
|
{
|
||||||
|
@@ -3,9 +3,9 @@
|
|||||||
namespace Kirby\Cms;
|
namespace Kirby\Cms;
|
||||||
|
|
||||||
use Kirby\Data\Data;
|
use Kirby\Data\Data;
|
||||||
use Kirby\Exception\PermissionException;
|
|
||||||
use Kirby\Exception\InvalidArgumentException;
|
use Kirby\Exception\InvalidArgumentException;
|
||||||
use Kirby\Exception\NotFoundException;
|
use Kirby\Exception\NotFoundException;
|
||||||
|
use Kirby\Exception\PermissionException;
|
||||||
use Kirby\Http\Request\Auth\BasicAuth;
|
use Kirby\Http\Request\Auth\BasicAuth;
|
||||||
use Kirby\Toolkit\F;
|
use Kirby\Toolkit\F;
|
||||||
use Throwable;
|
use Throwable;
|
||||||
@@ -27,7 +27,7 @@ class Auth
|
|||||||
protected $userException;
|
protected $userException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Kirby\Cms\App $kirby
|
* @param \Kirby\Cms\App $kirby
|
||||||
* @codeCoverageIgnore
|
* @codeCoverageIgnore
|
||||||
*/
|
*/
|
||||||
public function __construct(App $kirby)
|
public function __construct(App $kirby)
|
||||||
@@ -61,8 +61,8 @@ class Auth
|
|||||||
* for a basic authentication header with
|
* for a basic authentication header with
|
||||||
* valid credentials
|
* valid credentials
|
||||||
*
|
*
|
||||||
* @param Kirby\Http\Request\Auth\BasicAuth|null $auth
|
* @param \Kirby\Http\Request\Auth\BasicAuth|null $auth
|
||||||
* @return Kirby\Cms\User|null
|
* @return \Kirby\Cms\User|null
|
||||||
*/
|
*/
|
||||||
public function currentUserFromBasicAuth(BasicAuth $auth = null)
|
public function currentUserFromBasicAuth(BasicAuth $auth = null)
|
||||||
{
|
{
|
||||||
@@ -90,8 +90,8 @@ class Auth
|
|||||||
* the current session and finding a valid
|
* the current session and finding a valid
|
||||||
* valid user id in there
|
* valid user id in there
|
||||||
*
|
*
|
||||||
* @param Kirby\Cms\Session|array|null $session
|
* @param \Kirby\Session\Session|array|null $session
|
||||||
* @return Kirby\Cms\User|null
|
* @return \Kirby\Cms\User|null
|
||||||
*/
|
*/
|
||||||
public function currentUserFromSession($session = null)
|
public function currentUserFromSession($session = null)
|
||||||
{
|
{
|
||||||
@@ -125,7 +125,7 @@ class Auth
|
|||||||
* Become any existing user
|
* Become any existing user
|
||||||
*
|
*
|
||||||
* @param string|null $who
|
* @param string|null $who
|
||||||
* @return Kirby\Cms\User|null
|
* @return \Kirby\Cms\User|null
|
||||||
*/
|
*/
|
||||||
public function impersonate(string $who = null)
|
public function impersonate(string $who = null)
|
||||||
{
|
{
|
||||||
@@ -196,7 +196,7 @@ class Auth
|
|||||||
* @param string $email
|
* @param string $email
|
||||||
* @param string $password
|
* @param string $password
|
||||||
* @param boolean $long
|
* @param boolean $long
|
||||||
* @return Kirby\Cms\User
|
* @return \Kirby\Cms\User
|
||||||
*
|
*
|
||||||
* @throws PermissionException If the rate limit was exceeded or if any other error occured with debug mode off
|
* @throws PermissionException If the rate limit was exceeded or if any other error occured with debug mode off
|
||||||
* @throws NotFoundException If the email was invalid
|
* @throws NotFoundException If the email was invalid
|
||||||
@@ -226,7 +226,7 @@ class Auth
|
|||||||
*
|
*
|
||||||
* @param string $email
|
* @param string $email
|
||||||
* @param string $password
|
* @param string $password
|
||||||
* @return Kirby\Cms\User
|
* @return \Kirby\Cms\User
|
||||||
*
|
*
|
||||||
* @throws PermissionException If the rate limit was exceeded or if any other error occured with debug mode off
|
* @throws PermissionException If the rate limit was exceeded or if any other error occured with debug mode off
|
||||||
* @throws NotFoundException If the email was invalid
|
* @throws NotFoundException If the email was invalid
|
||||||
@@ -413,8 +413,8 @@ class Auth
|
|||||||
/**
|
/**
|
||||||
* Validates the currently logged in user
|
* Validates the currently logged in user
|
||||||
*
|
*
|
||||||
* @param Kirby\Session\Session|array|null $session
|
* @param \Kirby\Session\Session|array|null $session
|
||||||
* @return Kirby\Cms\User
|
* @return \Kirby\Cms\User
|
||||||
* @throws
|
* @throws
|
||||||
*/
|
*/
|
||||||
public function user($session = null)
|
public function user($session = null)
|
||||||
|
@@ -3,9 +3,9 @@
|
|||||||
namespace Kirby\Cms;
|
namespace Kirby\Cms;
|
||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
|
use Kirby\Data\Data;
|
||||||
use Kirby\Exception\InvalidArgumentException;
|
use Kirby\Exception\InvalidArgumentException;
|
||||||
use Kirby\Exception\NotFoundException;
|
use Kirby\Exception\NotFoundException;
|
||||||
use Kirby\Data\Data;
|
|
||||||
use Kirby\Form\Field;
|
use Kirby\Form\Field;
|
||||||
use Kirby\Toolkit\A;
|
use Kirby\Toolkit\A;
|
||||||
use Kirby\Toolkit\F;
|
use Kirby\Toolkit\F;
|
||||||
@@ -90,7 +90,7 @@ class Blueprint
|
|||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function __debuginfo(): array
|
public function __debugInfo(): array
|
||||||
{
|
{
|
||||||
return $this->props ?? [];
|
return $this->props ?? [];
|
||||||
}
|
}
|
||||||
@@ -222,7 +222,7 @@ class Blueprint
|
|||||||
*
|
*
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @param string $fallback
|
* @param string $fallback
|
||||||
* @param Kirby\Cms\Model $model
|
* @param \Kirby\Cms\Model $model
|
||||||
* @return self
|
* @return self
|
||||||
*/
|
*/
|
||||||
public static function factory(string $name, string $fallback = null, Model $model)
|
public static function factory(string $name, string $fallback = null, Model $model)
|
||||||
@@ -352,7 +352,7 @@ class Blueprint
|
|||||||
/**
|
/**
|
||||||
* Returns the parent model
|
* Returns the parent model
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\Model
|
* @return \Kirby\Cms\Model
|
||||||
*/
|
*/
|
||||||
public function model()
|
public function model()
|
||||||
{
|
{
|
||||||
@@ -603,7 +603,14 @@ class Blueprint
|
|||||||
'type' => $type = $sectionProps['type'] ?? null
|
'type' => $type = $sectionProps['type'] ?? null
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if (isset(Section::$types[$type]) === false) {
|
if (empty($type) === true || is_string($type) === false) {
|
||||||
|
$sections[$sectionName] = [
|
||||||
|
'name' => $sectionName,
|
||||||
|
'headline' => 'Invalid section type for section "' . $sectionName . '"',
|
||||||
|
'type' => 'info',
|
||||||
|
'text' => 'The following section types are available: ' . $this->helpList(array_keys(Section::$types))
|
||||||
|
];
|
||||||
|
} elseif (isset(Section::$types[$type]) === false) {
|
||||||
$sections[$sectionName] = [
|
$sections[$sectionName] = [
|
||||||
'name' => $sectionName,
|
'name' => $sectionName,
|
||||||
'headline' => 'Invalid section type ("' . $type . '")',
|
'headline' => 'Invalid section type ("' . $type . '")',
|
||||||
@@ -712,7 +719,7 @@ class Blueprint
|
|||||||
* Returns a single section by name
|
* Returns a single section by name
|
||||||
*
|
*
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @return Kirby\Cms\Section|null
|
* @return \Kirby\Cms\Section|null
|
||||||
*/
|
*/
|
||||||
public function section(string $name)
|
public function section(string $name)
|
||||||
{
|
{
|
||||||
|
@@ -101,23 +101,22 @@ class Collection extends BaseCollection
|
|||||||
/**
|
/**
|
||||||
* Appends an element to the data array
|
* Appends an element to the data array
|
||||||
*
|
*
|
||||||
* @param mixed $key
|
* @param mixed $key Optional collection key, will be determined from the item if not given
|
||||||
* @param mixed $item
|
* @param mixed $item
|
||||||
* @return Kirby\Cms\Collection
|
* @return \Kirby\Cms\Collection
|
||||||
*/
|
*/
|
||||||
public function append(...$args)
|
public function append(...$args)
|
||||||
{
|
{
|
||||||
if (count($args) === 1) {
|
if (count($args) === 1) {
|
||||||
if (is_object($args[0]) === true) {
|
// try to determine the key from the provided item
|
||||||
$this->data[$args[0]->id()] = $args[0];
|
if (is_object($args[0]) === true && is_callable([$args[0], 'id']) === true) {
|
||||||
|
return parent::append($args[0]->id(), $args[0]);
|
||||||
} else {
|
} else {
|
||||||
$this->data[] = $args[0];
|
return parent::append($args[0]);
|
||||||
}
|
}
|
||||||
} elseif (count($args) === 2) {
|
|
||||||
$this->set($args[0], $args[1]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this;
|
return parent::append(...$args);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -126,7 +125,7 @@ class Collection extends BaseCollection
|
|||||||
*
|
*
|
||||||
* @param string $field
|
* @param string $field
|
||||||
* @param bool $i Ignore upper/lowercase for group names
|
* @param bool $i Ignore upper/lowercase for group names
|
||||||
* @return Kirby\Cms\Collection
|
* @return \Kirby\Cms\Collection
|
||||||
*/
|
*/
|
||||||
public function groupBy($field, bool $i = true)
|
public function groupBy($field, bool $i = true)
|
||||||
{
|
{
|
||||||
@@ -165,7 +164,7 @@ class Collection extends BaseCollection
|
|||||||
* Checks if the given object or id
|
* Checks if the given object or id
|
||||||
* is in the collection
|
* is in the collection
|
||||||
*
|
*
|
||||||
* @param string|object
|
* @param string|object $id
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
public function has($id): bool
|
public function has($id): bool
|
||||||
@@ -197,8 +196,8 @@ class Collection extends BaseCollection
|
|||||||
/**
|
/**
|
||||||
* Returns a Collection without the given element(s)
|
* Returns a Collection without the given element(s)
|
||||||
*
|
*
|
||||||
* @param mixed[] $keys any number of keys, passed as individual arguments
|
* @param mixed ...$keys any number of keys, passed as individual arguments
|
||||||
* @return Kirby\Cms\Collection
|
* @return \Kirby\Cms\Collection
|
||||||
*/
|
*/
|
||||||
public function not(...$keys)
|
public function not(...$keys)
|
||||||
{
|
{
|
||||||
@@ -217,7 +216,8 @@ class Collection extends BaseCollection
|
|||||||
/**
|
/**
|
||||||
* Add pagination and return a sliced set of data.
|
* Add pagination and return a sliced set of data.
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\Collection
|
* @param mixed ...$arguments
|
||||||
|
* @return \Kirby\Cms\Collection
|
||||||
*/
|
*/
|
||||||
public function paginate(...$arguments)
|
public function paginate(...$arguments)
|
||||||
{
|
{
|
||||||
@@ -230,13 +230,34 @@ class Collection extends BaseCollection
|
|||||||
/**
|
/**
|
||||||
* Returns the parent model
|
* Returns the parent model
|
||||||
*
|
*
|
||||||
* @return Kirby\Cms\Model
|
* @return \Kirby\Cms\Model
|
||||||
*/
|
*/
|
||||||
public function parent()
|
public function parent()
|
||||||
{
|
{
|
||||||
return $this->parent;
|
return $this->parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prepends an element to the data array
|
||||||
|
*
|
||||||
|
* @param mixed $key Optional collection key, will be determined from the item if not given
|
||||||
|
* @param mixed $item
|
||||||
|
* @return Kirby\Cms\Collection
|
||||||
|
*/
|
||||||
|
public function prepend(...$args)
|
||||||
|
{
|
||||||
|
if (count($args) === 1) {
|
||||||
|
// try to determine the key from the provided item
|
||||||
|
if (is_object($args[0]) === true && is_callable([$args[0], 'id']) === true) {
|
||||||
|
return parent::prepend($args[0]->id(), $args[0]);
|
||||||
|
} else {
|
||||||
|
return parent::prepend($args[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return parent::prepend(...$args);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Runs a combination of filterBy, sortBy, not
|
* Runs a combination of filterBy, sortBy, not
|
||||||
* offset, limit, search and paginate on the collection.
|
* offset, limit, search and paginate on the collection.
|
||||||
|
@@ -21,7 +21,6 @@ use Kirby\Toolkit\Controller;
|
|||||||
*/
|
*/
|
||||||
class Collections
|
class Collections
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Each collection is cached once it
|
* Each collection is cached once it
|
||||||
* has been called, to avoid further
|
* has been called, to avoid further
|
||||||
@@ -45,7 +44,7 @@ class Collections
|
|||||||
*
|
*
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @param array $arguments
|
* @param array $arguments
|
||||||
* @return Kirby\Cms\Collection|null
|
* @return \Kirby\Cms\Collection|null
|
||||||
*/
|
*/
|
||||||
public function __call(string $name, array $arguments = [])
|
public function __call(string $name, array $arguments = [])
|
||||||
{
|
{
|
||||||
@@ -57,7 +56,7 @@ class Collections
|
|||||||
*
|
*
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @param array $data
|
* @param array $data
|
||||||
* @return Kirby\Cms\Collection|null
|
* @return \Kirby\Cms\Collection|null
|
||||||
*/
|
*/
|
||||||
public function get(string $name, array $data = [])
|
public function get(string $name, array $data = [])
|
||||||
{
|
{
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user