mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
Merge pull request #5465 from frankmullenger/4917-renaming
MINOR: Renaming classes with 'Html' camel cased.
This commit is contained in:
commit
459fb4ec80
@ -1,5 +1,5 @@
|
|||||||
Injector:
|
Injector:
|
||||||
HTMLValue:
|
HTMLValue:
|
||||||
class: SS_HTML4Value
|
class: SS_HTML4Value
|
||||||
HtmlEditorConfig:
|
HTMLEditorConfig:
|
||||||
class: TinyMCEConfig
|
class: TinyMCEConfig
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
// Default CMS HTMLEditorConfig
|
// Default CMS HTMLEditorConfig
|
||||||
HtmlEditorConfig::get('cms')->setOptions(array(
|
HTMLEditorConfig::get('cms')->setOptions(array(
|
||||||
'friendly_name' => 'Default CMS',
|
'friendly_name' => 'Default CMS',
|
||||||
'priority' => '50',
|
'priority' => '50',
|
||||||
|
|
||||||
@ -28,7 +28,7 @@ HtmlEditorConfig::get('cms')->setOptions(array(
|
|||||||
. "object[width|height|data|type],param[name|value],map[class|name|id],area[shape|coords|href|target|alt]"
|
. "object[width|height|data|type],param[name|value],map[class|name|id],area[shape|coords|href|target|alt]"
|
||||||
));
|
));
|
||||||
|
|
||||||
HtmlEditorConfig::get('cms')
|
HTMLEditorConfig::get('cms')
|
||||||
->enablePlugins(array(
|
->enablePlugins(array(
|
||||||
'contextmenu' => null,
|
'contextmenu' => null,
|
||||||
'image' => null,
|
'image' => null,
|
||||||
|
@ -427,12 +427,12 @@ class LeftAndMain extends Controller implements PermissionProvider {
|
|||||||
|
|
||||||
// Set the members html editor config
|
// Set the members html editor config
|
||||||
if(Member::currentUser()) {
|
if(Member::currentUser()) {
|
||||||
HtmlEditorConfig::set_active_identifier(Member::currentUser()->getHtmlEditorConfigForCMS());
|
HTMLEditorConfig::set_active_identifier(Member::currentUser()->getHtmlEditorConfigForCMS());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set default values in the config if missing. These things can't be defined in the config
|
// Set default values in the config if missing. These things can't be defined in the config
|
||||||
// file because insufficient information exists when that is being processed
|
// file because insufficient information exists when that is being processed
|
||||||
$htmlEditorConfig = HtmlEditorConfig::get_active();
|
$htmlEditorConfig = HTMLEditorConfig::get_active();
|
||||||
$htmlEditorConfig->setOption('language', i18n::get_tinymce_lang());
|
$htmlEditorConfig->setOption('language', i18n::get_tinymce_lang());
|
||||||
if(!$htmlEditorConfig->getOption('content_css')) {
|
if(!$htmlEditorConfig->getOption('content_css')) {
|
||||||
$cssFiles = array();
|
$cssFiles = array();
|
||||||
@ -1564,7 +1564,7 @@ class LeftAndMain extends Controller implements PermissionProvider {
|
|||||||
* Return the CMS's HTML-editor toolbar
|
* Return the CMS's HTML-editor toolbar
|
||||||
*/
|
*/
|
||||||
public function EditorToolbar() {
|
public function EditorToolbar() {
|
||||||
return HtmlEditorField_Toolbar::create($this, "EditorToolbar");
|
return HTMLEditorField_Toolbar::create($this, "EditorToolbar");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
* @package forms
|
* @package forms
|
||||||
* @subpackage fields-formattedinput
|
* @subpackage fields-formattedinput
|
||||||
*/
|
*/
|
||||||
class HtmlEditorSanitiser {
|
class HTMLEditorSanitiser {
|
||||||
|
|
||||||
/** @var [stdClass] - $element => $rule hash for whitelist element rules where the element name isn't a pattern */
|
/** @var [stdClass] - $element => $rule hash for whitelist element rules where the element name isn't a pattern */
|
||||||
protected $elements = array();
|
protected $elements = array();
|
||||||
@ -21,14 +21,14 @@ class HtmlEditorSanitiser {
|
|||||||
protected $globalAttributes = array();
|
protected $globalAttributes = array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct a sanitiser from a given HtmlEditorConfig
|
* Construct a sanitiser from a given HTMLEditorConfig
|
||||||
*
|
*
|
||||||
* Note that we build data structures from the current state of HtmlEditorConfig - later changes to
|
* Note that we build data structures from the current state of HTMLEditorConfig - later changes to
|
||||||
* the passed instance won't cause this instance to update it's whitelist
|
* the passed instance won't cause this instance to update it's whitelist
|
||||||
*
|
*
|
||||||
* @param HtmlEditorConfig $config
|
* @param HTMLEditorConfig $config
|
||||||
*/
|
*/
|
||||||
public function __construct(HtmlEditorConfig $config) {
|
public function __construct(HTMLEditorConfig $config) {
|
||||||
$valid = $config->getOption('valid_elements');
|
$valid = $config->getOption('valid_elements');
|
||||||
if ($valid) $this->addValidElements($valid);
|
if ($valid) $this->addValidElements($valid);
|
||||||
|
|
@ -1601,7 +1601,7 @@ class UploadField_SelectHandler extends RequestHandler {
|
|||||||
*/
|
*/
|
||||||
protected function getListField($folderID) {
|
protected function getListField($folderID) {
|
||||||
// Generate the folder selection field.
|
// Generate the folder selection field.
|
||||||
$folderField = new TreeDropdownField('ParentID', _t('HtmlEditorField.FOLDER', 'Folder'), 'Folder');
|
$folderField = new TreeDropdownField('ParentID', _t('HTMLEditorField.FOLDER', 'Folder'), 'Folder');
|
||||||
$folderField->setValue($folderID);
|
$folderField->setValue($folderID);
|
||||||
|
|
||||||
// Generate the file list field.
|
// Generate the file list field.
|
||||||
|
@ -3,29 +3,29 @@
|
|||||||
/**
|
/**
|
||||||
* A PHP version of TinyMCE's configuration, to allow various parameters to be configured on a site or section basis
|
* A PHP version of TinyMCE's configuration, to allow various parameters to be configured on a site or section basis
|
||||||
*
|
*
|
||||||
* There can be multiple HtmlEditorConfig's, which should always be created / accessed using HtmlEditorConfig::get.
|
* There can be multiple HTMLEditorConfig's, which should always be created / accessed using HTMLEditorConfig::get.
|
||||||
* You can then set the currently active config using set_active.
|
* You can then set the currently active config using set_active.
|
||||||
* The order of precendence for which config is used is (lowest to highest):
|
* The order of precendence for which config is used is (lowest to highest):
|
||||||
*
|
*
|
||||||
* - default_config config setting
|
* - default_config config setting
|
||||||
* - Active config assigned
|
* - Active config assigned
|
||||||
* - Config name assigned to HtmlEditorField
|
* - Config name assigned to HTMLEditorField
|
||||||
* - Config instance assigned to HtmlEditorField
|
* - Config instance assigned to HTMLEditorField
|
||||||
*
|
*
|
||||||
* Typically global config changes should set the active config.
|
* Typically global config changes should set the active config.
|
||||||
*
|
*
|
||||||
* The defaut config class can be changed via dependency injection to replace HtmlEditorConfig.
|
* The defaut config class can be changed via dependency injection to replace HTMLEditorConfig.
|
||||||
*
|
*
|
||||||
* @author "Hamish Friedlander" <hamish@silverstripe.com>
|
* @author "Hamish Friedlander" <hamish@silverstripe.com>
|
||||||
* @package forms
|
* @package forms
|
||||||
* @subpackage fields-formattedinput
|
* @subpackage fields-formattedinput
|
||||||
*/
|
*/
|
||||||
abstract class HtmlEditorConfig extends Object {
|
abstract class HTMLEditorConfig extends Object {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Array of registered configurations
|
* Array of registered configurations
|
||||||
*
|
*
|
||||||
* @var HtmlEditorConfig[]
|
* @var HTMLEditorConfig[]
|
||||||
*/
|
*/
|
||||||
protected static $configs = array();
|
protected static $configs = array();
|
||||||
|
|
||||||
@ -46,11 +46,11 @@ abstract class HtmlEditorConfig extends Object {
|
|||||||
private static $default_config = 'default';
|
private static $default_config = 'default';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the HtmlEditorConfig object for the given identifier. This is a correct way to get an HtmlEditorConfig
|
* Get the HTMLEditorConfig object for the given identifier. This is a correct way to get an HTMLEditorConfig
|
||||||
* instance - do not call 'new'
|
* instance - do not call 'new'
|
||||||
*
|
*
|
||||||
* @param string $identifier The identifier for the config set. If omitted, the active config is returned.
|
* @param string $identifier The identifier for the config set. If omitted, the active config is returned.
|
||||||
* @return HtmlEditorConfig The configuration object.
|
* @return HTMLEditorConfig The configuration object.
|
||||||
* This will be created if it does not yet exist for that identifier
|
* This will be created if it does not yet exist for that identifier
|
||||||
*/
|
*/
|
||||||
public static function get($identifier = null) {
|
public static function get($identifier = null) {
|
||||||
@ -68,10 +68,10 @@ abstract class HtmlEditorConfig extends Object {
|
|||||||
* Assign a new config for the given identifier
|
* Assign a new config for the given identifier
|
||||||
*
|
*
|
||||||
* @param string $identifier A specific identifier
|
* @param string $identifier A specific identifier
|
||||||
* @param HtmlEditorConfig $config
|
* @param HTMLEditorConfig $config
|
||||||
* @return HtmlEditorConfig The assigned config
|
* @return HTMLEditorConfig The assigned config
|
||||||
*/
|
*/
|
||||||
public static function set_config($identifier, HtmlEditorConfig $config) {
|
public static function set_config($identifier, HTMLEditorConfig $config) {
|
||||||
self::$configs[$identifier] = $config;
|
self::$configs[$identifier] = $config;
|
||||||
return $config;
|
return $config;
|
||||||
}
|
}
|
||||||
@ -100,7 +100,7 @@ abstract class HtmlEditorConfig extends Object {
|
|||||||
/**
|
/**
|
||||||
* Get the currently active configuration object
|
* Get the currently active configuration object
|
||||||
*
|
*
|
||||||
* @return HtmlEditorConfig The active configuration object
|
* @return HTMLEditorConfig The active configuration object
|
||||||
*/
|
*/
|
||||||
public static function get_active() {
|
public static function get_active() {
|
||||||
$identifier = self::get_active_identifier();
|
$identifier = self::get_active_identifier();
|
||||||
@ -110,10 +110,10 @@ abstract class HtmlEditorConfig extends Object {
|
|||||||
/**
|
/**
|
||||||
* Assigns the currently active config an explicit instance
|
* Assigns the currently active config an explicit instance
|
||||||
*
|
*
|
||||||
* @param HtmlEditorConfig $config
|
* @param HTMLEditorConfig $config
|
||||||
* @return HtmlEditorConfig The given config
|
* @return HTMLEditorConfig The given config
|
||||||
*/
|
*/
|
||||||
public static function set_active(HtmlEditorConfig $config) {
|
public static function set_active(HTMLEditorConfig $config) {
|
||||||
$identifier = static::get_active_identifier();
|
$identifier = static::get_active_identifier();
|
||||||
return static::set_config($identifier, $config);
|
return static::set_config($identifier, $config);
|
||||||
}
|
}
|
@ -6,7 +6,7 @@
|
|||||||
* @package forms
|
* @package forms
|
||||||
* @subpackage fields-formattedinput
|
* @subpackage fields-formattedinput
|
||||||
*/
|
*/
|
||||||
class HtmlEditorField extends TextareaField {
|
class HTMLEditorField extends TextareaField {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use TinyMCE's GZIP compressor
|
* Use TinyMCE's GZIP compressor
|
||||||
@ -17,7 +17,7 @@ class HtmlEditorField extends TextareaField {
|
|||||||
private static $use_gzip = true;
|
private static $use_gzip = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Should we check the valid_elements (& extended_valid_elements) rules from HtmlEditorConfig server side?
|
* Should we check the valid_elements (& extended_valid_elements) rules from HTMLEditorConfig server side?
|
||||||
*
|
*
|
||||||
* @config
|
* @config
|
||||||
* @var bool
|
* @var bool
|
||||||
@ -35,29 +35,29 @@ class HtmlEditorField extends TextareaField {
|
|||||||
/**
|
/**
|
||||||
* ID or instance of editorconfig
|
* ID or instance of editorconfig
|
||||||
*
|
*
|
||||||
* @var string|HtmlEditorConfig
|
* @var string|HTMLEditorConfig
|
||||||
*/
|
*/
|
||||||
protected $editorConfig = null;
|
protected $editorConfig = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the HtmlEditorConfig instance
|
* Gets the HTMLEditorConfig instance
|
||||||
*
|
*
|
||||||
* @return HtmlEditorConfig
|
* @return HTMLEditorConfig
|
||||||
*/
|
*/
|
||||||
public function getEditorConfig() {
|
public function getEditorConfig() {
|
||||||
// Instance override
|
// Instance override
|
||||||
if($this->editorConfig instanceof HtmlEditorConfig) {
|
if($this->editorConfig instanceof HTMLEditorConfig) {
|
||||||
return $this->editorConfig;
|
return $this->editorConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get named / active config
|
// Get named / active config
|
||||||
return HtmlEditorConfig::get($this->editorConfig);
|
return HTMLEditorConfig::get($this->editorConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assign a new configuration instance or identifier
|
* Assign a new configuration instance or identifier
|
||||||
*
|
*
|
||||||
* @param string|HtmlEditorConfig $config
|
* @param string|HTMLEditorConfig $config
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
public function setEditorConfig($config) {
|
public function setEditorConfig($config) {
|
||||||
@ -72,7 +72,7 @@ class HtmlEditorField extends TextareaField {
|
|||||||
* @param string $name The internal field name, passed to forms.
|
* @param string $name The internal field name, passed to forms.
|
||||||
* @param string $title The human-readable field label.
|
* @param string $title The human-readable field label.
|
||||||
* @param mixed $value The value of the field.
|
* @param mixed $value The value of the field.
|
||||||
* @param string $config HtmlEditorConfig identifier to be used. Default to the active one.
|
* @param string $config HTMLEditorConfig identifier to be used. Default to the active one.
|
||||||
*/
|
*/
|
||||||
public function __construct($name, $title = null, $value = '', $config = null) {
|
public function __construct($name, $title = null, $value = '', $config = null) {
|
||||||
parent::__construct($name, $title, $value);
|
parent::__construct($name, $title, $value);
|
||||||
@ -94,14 +94,14 @@ class HtmlEditorField extends TextareaField {
|
|||||||
public function saveInto(DataObjectInterface $record) {
|
public function saveInto(DataObjectInterface $record) {
|
||||||
if($record->hasField($this->name) && $record->escapeTypeForField($this->name) != 'xml') {
|
if($record->hasField($this->name) && $record->escapeTypeForField($this->name) != 'xml') {
|
||||||
throw new Exception (
|
throw new Exception (
|
||||||
'HtmlEditorField->saveInto(): This field should save into a HTMLText or HTMLVarchar field.'
|
'HTMLEditorField->saveInto(): This field should save into a HTMLText or HTMLVarchar field.'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sanitise if requested
|
// Sanitise if requested
|
||||||
$htmlValue = Injector::inst()->create('HTMLValue', $this->Value());
|
$htmlValue = Injector::inst()->create('HTMLValue', $this->Value());
|
||||||
if($this->config()->sanitise_server_side) {
|
if($this->config()->sanitise_server_side) {
|
||||||
$santiser = Injector::inst()->create('HtmlEditorSanitiser', HtmlEditorConfig::get_active());
|
$santiser = Injector::inst()->create('HTMLEditorSanitiser', HTMLEditorConfig::get_active());
|
||||||
$santiser->sanitise($htmlValue);
|
$santiser->sanitise($htmlValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,10 +119,10 @@ class HtmlEditorField extends TextareaField {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return HtmlEditorField_Readonly
|
* @return HTMLEditorField_Readonly
|
||||||
*/
|
*/
|
||||||
public function performReadonlyTransformation() {
|
public function performReadonlyTransformation() {
|
||||||
$field = $this->castedCopy('HtmlEditorField_Readonly');
|
$field = $this->castedCopy('HTMLEditorField_Readonly');
|
||||||
$field->dontEscape = true;
|
$field->dontEscape = true;
|
||||||
|
|
||||||
return $field;
|
return $field;
|
||||||
@ -144,7 +144,7 @@ class HtmlEditorField extends TextareaField {
|
|||||||
* @package forms
|
* @package forms
|
||||||
* @subpackage fields-formattedinput
|
* @subpackage fields-formattedinput
|
||||||
*/
|
*/
|
||||||
class HtmlEditorField_Readonly extends ReadonlyField {
|
class HTMLEditorField_Readonly extends ReadonlyField {
|
||||||
public function Field($properties = array()) {
|
public function Field($properties = array()) {
|
||||||
$valforInput = $this->value ? Convert::raw2att($this->value) : "";
|
$valforInput = $this->value ? Convert::raw2att($this->value) : "";
|
||||||
return "<span class=\"readonly typography\" id=\"" . $this->id() . "\">"
|
return "<span class=\"readonly typography\" id=\"" . $this->id() . "\">"
|
||||||
@ -163,7 +163,7 @@ class HtmlEditorField_Readonly extends ReadonlyField {
|
|||||||
* @package forms
|
* @package forms
|
||||||
* @subpackage fields-formattedinput
|
* @subpackage fields-formattedinput
|
||||||
*/
|
*/
|
||||||
class HtmlEditorField_Toolbar extends RequestHandler {
|
class HTMLEditorField_Toolbar extends RequestHandler {
|
||||||
|
|
||||||
private static $allowed_actions = array(
|
private static $allowed_actions = array(
|
||||||
'LinkForm',
|
'LinkForm',
|
||||||
@ -175,7 +175,7 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $templateViewFile = 'HtmlEditorField_viewfile';
|
protected $templateViewFile = 'HTMLEditorField_viewfile';
|
||||||
|
|
||||||
protected $controller, $name;
|
protected $controller, $name;
|
||||||
|
|
||||||
@ -213,7 +213,7 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
* @return Form
|
* @return Form
|
||||||
*/
|
*/
|
||||||
public function LinkForm() {
|
public function LinkForm() {
|
||||||
$siteTree = TreeDropdownField::create('internal', _t('HtmlEditorField.PAGE', "Page"),
|
$siteTree = TreeDropdownField::create('internal', _t('HTMLEditorField.PAGE', "Page"),
|
||||||
'SiteTree', 'ID', 'MenuTitle', true);
|
'SiteTree', 'ID', 'MenuTitle', true);
|
||||||
// mimic the SiteTree::getMenuTitle(), which is bypassed when the search is performed
|
// mimic the SiteTree::getMenuTitle(), which is bypassed when the search is performed
|
||||||
$siteTree->setSearchFunction(array($this, 'siteTreeSearchCallback'));
|
$siteTree->setSearchFunction(array($this, 'siteTreeSearchCallback'));
|
||||||
@ -228,35 +228,35 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
new LiteralField(
|
new LiteralField(
|
||||||
'Heading',
|
'Heading',
|
||||||
sprintf('<h3 class="htmleditorfield-mediaform-heading insert">%s</h3>',
|
sprintf('<h3 class="htmleditorfield-mediaform-heading insert">%s</h3>',
|
||||||
_t('HtmlEditorField.LINK', 'Insert Link'))
|
_t('HTMLEditorField.LINK', 'Insert Link'))
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
$contentComposite = new CompositeField(
|
$contentComposite = new CompositeField(
|
||||||
OptionsetField::create(
|
OptionsetField::create(
|
||||||
'LinkType',
|
'LinkType',
|
||||||
sprintf($numericLabelTmpl, '1', _t('HtmlEditorField.LINKTO', 'Link to')),
|
sprintf($numericLabelTmpl, '1', _t('HTMLEditorField.LINKTO', 'Link to')),
|
||||||
array(
|
array(
|
||||||
'internal' => _t('HtmlEditorField.LINKINTERNAL', 'Page on the site'),
|
'internal' => _t('HTMLEditorField.LINKINTERNAL', 'Page on the site'),
|
||||||
'external' => _t('HtmlEditorField.LINKEXTERNAL', 'Another website'),
|
'external' => _t('HTMLEditorField.LINKEXTERNAL', 'Another website'),
|
||||||
'anchor' => _t('HtmlEditorField.LINKANCHOR', 'Anchor on this page'),
|
'anchor' => _t('HTMLEditorField.LINKANCHOR', 'Anchor on this page'),
|
||||||
'email' => _t('HtmlEditorField.LINKEMAIL', 'Email address'),
|
'email' => _t('HTMLEditorField.LINKEMAIL', 'Email address'),
|
||||||
'file' => _t('HtmlEditorField.LINKFILE', 'Download a file'),
|
'file' => _t('HTMLEditorField.LINKFILE', 'Download a file'),
|
||||||
),
|
),
|
||||||
'internal'
|
'internal'
|
||||||
),
|
),
|
||||||
LiteralField::create('Step2',
|
LiteralField::create('Step2',
|
||||||
'<div class="step2">'
|
'<div class="step2">'
|
||||||
. sprintf($numericLabelTmpl, '2', _t('HtmlEditorField.DETAILS', 'Details')) . '</div>'
|
. sprintf($numericLabelTmpl, '2', _t('HTMLEditorField.DETAILS', 'Details')) . '</div>'
|
||||||
),
|
),
|
||||||
$siteTree,
|
$siteTree,
|
||||||
TextField::create('external', _t('HtmlEditorField.URL', 'URL'), 'http://'),
|
TextField::create('external', _t('HTMLEditorField.URL', 'URL'), 'http://'),
|
||||||
EmailField::create('email', _t('HtmlEditorField.EMAIL', 'Email address')),
|
EmailField::create('email', _t('HTMLEditorField.EMAIL', 'Email address')),
|
||||||
$fileField = UploadField::create('file', _t('HtmlEditorField.FILE', 'File')),
|
$fileField = UploadField::create('file', _t('HTMLEditorField.FILE', 'File')),
|
||||||
TextField::create('Anchor', _t('HtmlEditorField.ANCHORVALUE', 'Anchor')),
|
TextField::create('Anchor', _t('HTMLEditorField.ANCHORVALUE', 'Anchor')),
|
||||||
TextField::create('Subject', _t('HtmlEditorField.SUBJECT', 'Email subject')),
|
TextField::create('Subject', _t('HTMLEditorField.SUBJECT', 'Email subject')),
|
||||||
TextField::create('Description', _t('HtmlEditorField.LINKDESCR', 'Link description')),
|
TextField::create('Description', _t('HTMLEditorField.LINKDESCR', 'Link description')),
|
||||||
CheckboxField::create('TargetBlank',
|
CheckboxField::create('TargetBlank',
|
||||||
_t('HtmlEditorField.LINKOPENNEWWIN', 'Open link in a new window?')),
|
_t('HTMLEditorField.LINKOPENNEWWIN', 'Open link in a new window?')),
|
||||||
HiddenField::create('Locale', null, $this->controller->Locale)
|
HiddenField::create('Locale', null, $this->controller->Locale)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
@ -333,13 +333,13 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
$select->addExtraClass('content-select');
|
$select->addExtraClass('content-select');
|
||||||
|
|
||||||
|
|
||||||
$URLDescription = _t('HtmlEditorField.URLDESCRIPTION', 'Insert videos and images from the web into your page simply by entering the URL of the file. Make sure you have the rights or permissions before sharing media directly from the web.<br /><br />Please note that files are not added to the file store of the CMS but embeds the file from its original location, if for some reason the file is no longer available in its original location it will no longer be viewable on this page.');
|
$URLDescription = _t('HTMLEditorField.URLDESCRIPTION', 'Insert videos and images from the web into your page simply by entering the URL of the file. Make sure you have the rights or permissions before sharing media directly from the web.<br /><br />Please note that files are not added to the file store of the CMS but embeds the file from its original location, if for some reason the file is no longer available in its original location it will no longer be viewable on this page.');
|
||||||
$fromWeb = new CompositeField(
|
$fromWeb = new CompositeField(
|
||||||
$description = new LiteralField('URLDescription', '<div class="url-description">' . $URLDescription . '</div>'),
|
$description = new LiteralField('URLDescription', '<div class="url-description">' . $URLDescription . '</div>'),
|
||||||
$remoteURL = new TextField('RemoteURL', 'http://'),
|
$remoteURL = new TextField('RemoteURL', 'http://'),
|
||||||
new LiteralField('addURLImage',
|
new LiteralField('addURLImage',
|
||||||
'<button type="button" class="action ui-action-constructive ui-button field font-icon-plus add-url">' .
|
'<button type="button" class="action ui-action-constructive ui-button field font-icon-plus add-url">' .
|
||||||
_t('HtmlEditorField.BUTTONADDURL', 'Add url').'</button>')
|
_t('HTMLEditorField.BUTTONADDURL', 'Add url').'</button>')
|
||||||
);
|
);
|
||||||
|
|
||||||
$remoteURL->addExtraClass('remoteurl');
|
$remoteURL->addExtraClass('remoteurl');
|
||||||
@ -351,7 +351,7 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
$computerUploadField->setConfig('previewMaxHeight', 30);
|
$computerUploadField->setConfig('previewMaxHeight', 30);
|
||||||
$computerUploadField->addExtraClass('ss-assetuploadfield htmleditorfield-from-computer');
|
$computerUploadField->addExtraClass('ss-assetuploadfield htmleditorfield-from-computer');
|
||||||
$computerUploadField->removeExtraClass('ss-uploadfield');
|
$computerUploadField->removeExtraClass('ss-uploadfield');
|
||||||
$computerUploadField->setTemplate('HtmlEditorField_UploadField');
|
$computerUploadField->setTemplate('HTMLEditorField_UploadField');
|
||||||
$computerUploadField->setFolderName(Config::inst()->get('Upload', 'uploads_folder'));
|
$computerUploadField->setFolderName(Config::inst()->get('Upload', 'uploads_folder'));
|
||||||
|
|
||||||
$defaultPanel = new CompositeField(
|
$defaultPanel = new CompositeField(
|
||||||
@ -380,9 +380,9 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
new LiteralField(
|
new LiteralField(
|
||||||
'Heading',
|
'Heading',
|
||||||
sprintf('<h3 class="htmleditorfield-mediaform-heading insert">%s</h3>',
|
sprintf('<h3 class="htmleditorfield-mediaform-heading insert">%s</h3>',
|
||||||
_t('HtmlEditorField.INSERTMEDIA', 'Insert media from')).
|
_t('HTMLEditorField.INSERTMEDIA', 'Insert media from')).
|
||||||
sprintf('<h3 class="htmleditorfield-mediaform-heading update">%s</h3>',
|
sprintf('<h3 class="htmleditorfield-mediaform-heading update">%s</h3>',
|
||||||
_t('HtmlEditorField.UpdateMEDIA', 'Update media'))
|
_t('HTMLEditorField.UpdateMEDIA', 'Update media'))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -454,7 +454,7 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
protected function viewfile_getRemoteFileByURL($fileUrl) {
|
protected function viewfile_getRemoteFileByURL($fileUrl) {
|
||||||
if(!Director::is_absolute_url($fileUrl)) {
|
if(!Director::is_absolute_url($fileUrl)) {
|
||||||
throw $this->getErrorFor(_t(
|
throw $this->getErrorFor(_t(
|
||||||
"HtmlEditorField_Toolbar.ERROR_ABSOLUTE",
|
"HTMLEditorField_Toolbar.ERROR_ABSOLUTE",
|
||||||
"Only absolute urls can be embedded"
|
"Only absolute urls can be embedded"
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
@ -462,7 +462,7 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
$allowed_schemes = self::config()->fileurl_scheme_whitelist;
|
$allowed_schemes = self::config()->fileurl_scheme_whitelist;
|
||||||
if (!$scheme || ($allowed_schemes && !in_array($scheme, $allowed_schemes))) {
|
if (!$scheme || ($allowed_schemes && !in_array($scheme, $allowed_schemes))) {
|
||||||
throw $this->getErrorFor(_t(
|
throw $this->getErrorFor(_t(
|
||||||
"HtmlEditorField_Toolbar.ERROR_SCHEME",
|
"HTMLEditorField_Toolbar.ERROR_SCHEME",
|
||||||
"This file scheme is not included in the whitelist"
|
"This file scheme is not included in the whitelist"
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
@ -470,7 +470,7 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
$allowed_domains = self::config()->fileurl_domain_whitelist;
|
$allowed_domains = self::config()->fileurl_domain_whitelist;
|
||||||
if (!$domain || ($allowed_domains && !in_array($domain, $allowed_domains))) {
|
if (!$domain || ($allowed_domains && !in_array($domain, $allowed_domains))) {
|
||||||
throw $this->getErrorFor(_t(
|
throw $this->getErrorFor(_t(
|
||||||
"HtmlEditorField_Toolbar.ERROR_HOSTNAME",
|
"HTMLEditorField_Toolbar.ERROR_HOSTNAME",
|
||||||
"This file hostname is not included in the whitelist"
|
"This file hostname is not included in the whitelist"
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
@ -510,7 +510,7 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
} else {
|
} else {
|
||||||
// Or we could have been passed nothing, in which case panic
|
// Or we could have been passed nothing, in which case panic
|
||||||
throw $this->getErrorFor(_t(
|
throw $this->getErrorFor(_t(
|
||||||
"HtmlEditorField_Toolbar.ERROR_ID",
|
"HTMLEditorField_Toolbar.ERROR_ID",
|
||||||
'Need either "ID" or "FileURL" parameter to identify the file'
|
'Need either "ID" or "FileURL" parameter to identify the file'
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
@ -518,7 +518,7 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
// Validate file exists
|
// Validate file exists
|
||||||
if(!$url) {
|
if(!$url) {
|
||||||
throw $this->getErrorFor(_t(
|
throw $this->getErrorFor(_t(
|
||||||
"HtmlEditorField_Toolbar.ERROR_NOTFOUND",
|
"HTMLEditorField_Toolbar.ERROR_NOTFOUND",
|
||||||
'Unable to find file to view'
|
'Unable to find file to view'
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
@ -530,23 +530,23 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
switch($fileCategory) {
|
switch($fileCategory) {
|
||||||
case 'image':
|
case 'image':
|
||||||
case 'image/supported':
|
case 'image/supported':
|
||||||
$fileWrapper = new HtmlEditorField_Image($url, $file);
|
$fileWrapper = new HTMLEditorField_Image($url, $file);
|
||||||
break;
|
break;
|
||||||
case 'flash':
|
case 'flash':
|
||||||
$fileWrapper = new HtmlEditorField_Flash($url, $file);
|
$fileWrapper = new HTMLEditorField_Flash($url, $file);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
// Only remote files can be linked via o-embed
|
// Only remote files can be linked via o-embed
|
||||||
// {@see HtmlEditorField_Toolbar::getAllowedExtensions())
|
// {@see HTMLEditorField_Toolbar::getAllowedExtensions())
|
||||||
if($file) {
|
if($file) {
|
||||||
throw $this->getErrorFor(_t(
|
throw $this->getErrorFor(_t(
|
||||||
"HtmlEditorField_Toolbar.ERROR_OEMBED_REMOTE",
|
"HTMLEditorField_Toolbar.ERROR_OEMBED_REMOTE",
|
||||||
"Oembed is only compatible with remote files"
|
"Oembed is only compatible with remote files"
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Other files should fallback to oembed
|
// Other files should fallback to oembed
|
||||||
$fileWrapper = new HtmlEditorField_Embed($url, $file);
|
$fileWrapper = new HTMLEditorField_Embed($url, $file);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -588,14 +588,14 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
if (!$page->canView()) {
|
if (!$page->canView()) {
|
||||||
throw new SS_HTTPResponse_Exception(
|
throw new SS_HTTPResponse_Exception(
|
||||||
_t(
|
_t(
|
||||||
'HtmlEditorField.ANCHORSCANNOTACCESSPAGE',
|
'HTMLEditorField.ANCHORSCANNOTACCESSPAGE',
|
||||||
'You are not permitted to access the content of the target page.'
|
'You are not permitted to access the content of the target page.'
|
||||||
),
|
),
|
||||||
403
|
403
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Similar to the regex found in HtmlEditorField.js / getAnchors method.
|
// Similar to the regex found in HTMLEditorField.js / getAnchors method.
|
||||||
if (preg_match_all(
|
if (preg_match_all(
|
||||||
"/\\s+(name|id)\\s*=\\s*([\"'])([^\\2\\s>]*?)\\2|\\s+(name|id)\\s*=\\s*([^\"']+)[\\s +>]/im",
|
"/\\s+(name|id)\\s*=\\s*([\"'])([^\\2\\s>]*?)\\2|\\s+(name|id)\\s*=\\s*([^\"']+)[\\s +>]/im",
|
||||||
$page->Content,
|
$page->Content,
|
||||||
@ -608,7 +608,7 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
throw new SS_HTTPResponse_Exception(
|
throw new SS_HTTPResponse_Exception(
|
||||||
_t('HtmlEditorField.ANCHORSPAGENOTFOUND', 'Target page not found.'),
|
_t('HTMLEditorField.ANCHORSPAGENOTFOUND', 'Target page not found.'),
|
||||||
404
|
404
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -622,10 +622,10 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
* not the "master record" in the database - hence there's no form or saving logic.
|
* not the "master record" in the database - hence there's no form or saving logic.
|
||||||
*
|
*
|
||||||
* @param string $url Abolute URL to asset
|
* @param string $url Abolute URL to asset
|
||||||
* @param HtmlEditorField_File $file Asset wrapper
|
* @param HTMLEditorField_File $file Asset wrapper
|
||||||
* @return FieldList
|
* @return FieldList
|
||||||
*/
|
*/
|
||||||
protected function getFieldsForFile($url, HtmlEditorField_File $file) {
|
protected function getFieldsForFile($url, HTMLEditorField_File $file) {
|
||||||
$fields = $this->extend('getFieldsForFile', $url, $file);
|
$fields = $this->extend('getFieldsForFile', $url, $file);
|
||||||
if(!$fields) {
|
if(!$fields) {
|
||||||
$fields = $file->getFields();
|
$fields = $file->getFields();
|
||||||
@ -677,7 +677,7 @@ class HtmlEditorField_Toolbar extends RequestHandler {
|
|||||||
* @package forms
|
* @package forms
|
||||||
* @subpackage fields-formattedinput
|
* @subpackage fields-formattedinput
|
||||||
*/
|
*/
|
||||||
abstract class HtmlEditorField_File extends ViewableData {
|
abstract class HTMLEditorField_File extends ViewableData {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default insertion width for Images and Media
|
* Default insertion width for Images and Media
|
||||||
@ -758,26 +758,26 @@ abstract class HtmlEditorField_File extends ViewableData {
|
|||||||
)
|
)
|
||||||
->setName("FilePreview")
|
->setName("FilePreview")
|
||||||
->addExtraClass('cms-file-info'),
|
->addExtraClass('cms-file-info'),
|
||||||
TextField::create('CaptionText', _t('HtmlEditorField.CAPTIONTEXT', 'Caption text')),
|
TextField::create('CaptionText', _t('HTMLEditorField.CAPTIONTEXT', 'Caption text')),
|
||||||
DropdownField::create(
|
DropdownField::create(
|
||||||
'CSSClass',
|
'CSSClass',
|
||||||
_t('HtmlEditorField.CSSCLASS', 'Alignment / style'),
|
_t('HTMLEditorField.CSSCLASS', 'Alignment / style'),
|
||||||
array(
|
array(
|
||||||
'leftAlone' => _t('HtmlEditorField.CSSCLASSLEFTALONE', 'On the left, on its own.'),
|
'leftAlone' => _t('HTMLEditorField.CSSCLASSLEFTALONE', 'On the left, on its own.'),
|
||||||
'center' => _t('HtmlEditorField.CSSCLASSCENTER', 'Centered, on its own.'),
|
'center' => _t('HTMLEditorField.CSSCLASSCENTER', 'Centered, on its own.'),
|
||||||
'left' => _t('HtmlEditorField.CSSCLASSLEFT', 'On the left, with text wrapping around.'),
|
'left' => _t('HTMLEditorField.CSSCLASSLEFT', 'On the left, with text wrapping around.'),
|
||||||
'right' => _t('HtmlEditorField.CSSCLASSRIGHT', 'On the right, with text wrapping around.')
|
'right' => _t('HTMLEditorField.CSSCLASSRIGHT', 'On the right, with text wrapping around.')
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
FieldGroup::create(_t('HtmlEditorField.IMAGEDIMENSIONS', 'Dimensions'),
|
FieldGroup::create(_t('HTMLEditorField.IMAGEDIMENSIONS', 'Dimensions'),
|
||||||
TextField::create(
|
TextField::create(
|
||||||
'Width',
|
'Width',
|
||||||
_t('HtmlEditorField.IMAGEWIDTHPX', 'Width'),
|
_t('HTMLEditorField.IMAGEWIDTHPX', 'Width'),
|
||||||
$this->getInsertWidth()
|
$this->getInsertWidth()
|
||||||
)->setMaxLength(5),
|
)->setMaxLength(5),
|
||||||
TextField::create(
|
TextField::create(
|
||||||
'Height',
|
'Height',
|
||||||
" x " . _t('HtmlEditorField.IMAGEHEIGHTPX', 'Height'),
|
" x " . _t('HTMLEditorField.IMAGEHEIGHTPX', 'Height'),
|
||||||
$this->getInsertHeight()
|
$this->getInsertHeight()
|
||||||
)->setMaxLength(5)
|
)->setMaxLength(5)
|
||||||
)->addExtraClass('dimensions last'),
|
)->addExtraClass('dimensions last'),
|
||||||
@ -1037,7 +1037,7 @@ abstract class HtmlEditorField_File extends ViewableData {
|
|||||||
* @package forms
|
* @package forms
|
||||||
* @subpackage fields-formattedinput
|
* @subpackage fields-formattedinput
|
||||||
*/
|
*/
|
||||||
class HtmlEditorField_Embed extends HtmlEditorField_File {
|
class HTMLEditorField_Embed extends HTMLEditorField_File {
|
||||||
|
|
||||||
private static $casting = array(
|
private static $casting = array(
|
||||||
'Type' => 'Varchar',
|
'Type' => 'Varchar',
|
||||||
@ -1059,7 +1059,7 @@ class HtmlEditorField_Embed extends HtmlEditorField_File {
|
|||||||
$response = $controller->getResponse();
|
$response = $controller->getResponse();
|
||||||
$response->addHeader('X-Status',
|
$response->addHeader('X-Status',
|
||||||
rawurlencode(_t(
|
rawurlencode(_t(
|
||||||
'HtmlEditorField.URLNOTANOEMBEDRESOURCE',
|
'HTMLEditorField.URLNOTANOEMBEDRESOURCE',
|
||||||
"The URL '{url}' could not be turned into a media resource.",
|
"The URL '{url}' could not be turned into a media resource.",
|
||||||
"The given URL is not a valid Oembed resource; the embed element couldn't be created.",
|
"The given URL is not a valid Oembed resource; the embed element couldn't be created.",
|
||||||
array('url' => $url)
|
array('url' => $url)
|
||||||
@ -1080,13 +1080,13 @@ class HtmlEditorField_Embed extends HtmlEditorField_File {
|
|||||||
if($this->Type === 'photo') {
|
if($this->Type === 'photo') {
|
||||||
$fields->insertBefore('CaptionText', new TextField(
|
$fields->insertBefore('CaptionText', new TextField(
|
||||||
'AltText',
|
'AltText',
|
||||||
_t('HtmlEditorField.IMAGEALTTEXT', 'Alternative text (alt) - shown if image can\'t be displayed'),
|
_t('HTMLEditorField.IMAGEALTTEXT', 'Alternative text (alt) - shown if image can\'t be displayed'),
|
||||||
$this->Title,
|
$this->Title,
|
||||||
80
|
80
|
||||||
));
|
));
|
||||||
$fields->insertBefore('CaptionText', new TextField(
|
$fields->insertBefore('CaptionText', new TextField(
|
||||||
'Title',
|
'Title',
|
||||||
_t('HtmlEditorField.IMAGETITLE', 'Title text (tooltip) - for additional information about the image')
|
_t('HTMLEditorField.IMAGETITLE', 'Title text (tooltip) - for additional information about the image')
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
return $fields;
|
return $fields;
|
||||||
@ -1174,7 +1174,7 @@ class HtmlEditorField_Embed extends HtmlEditorField_File {
|
|||||||
* @package forms
|
* @package forms
|
||||||
* @subpackage fields-formattedinput
|
* @subpackage fields-formattedinput
|
||||||
*/
|
*/
|
||||||
class HtmlEditorField_Image extends HtmlEditorField_File {
|
class HTMLEditorField_Image extends HTMLEditorField_File {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int
|
||||||
@ -1222,11 +1222,11 @@ class HtmlEditorField_Image extends HtmlEditorField_File {
|
|||||||
'CaptionText',
|
'CaptionText',
|
||||||
TextField::create(
|
TextField::create(
|
||||||
'AltText',
|
'AltText',
|
||||||
_t('HtmlEditorField.IMAGEALT', 'Alternative text (alt)'),
|
_t('HTMLEditorField.IMAGEALT', 'Alternative text (alt)'),
|
||||||
$this->Title,
|
$this->Title,
|
||||||
80
|
80
|
||||||
)->setDescription(
|
)->setDescription(
|
||||||
_t('HtmlEditorField.IMAGEALTTEXTDESC', 'Shown to screen readers or if image can\'t be displayed')
|
_t('HTMLEditorField.IMAGEALTTEXTDESC', 'Shown to screen readers or if image can\'t be displayed')
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -1235,9 +1235,9 @@ class HtmlEditorField_Image extends HtmlEditorField_File {
|
|||||||
'AltText',
|
'AltText',
|
||||||
TextField::create(
|
TextField::create(
|
||||||
'Title',
|
'Title',
|
||||||
_t('HtmlEditorField.IMAGETITLETEXT', 'Title text (tooltip)')
|
_t('HTMLEditorField.IMAGETITLETEXT', 'Title text (tooltip)')
|
||||||
)->setDescription(
|
)->setDescription(
|
||||||
_t('HtmlEditorField.IMAGETITLETEXTDESC', 'For additional information about the image')
|
_t('HTMLEditorField.IMAGETITLETEXTDESC', 'For additional information about the image')
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -1366,7 +1366,7 @@ class HtmlEditorField_Image extends HtmlEditorField_File {
|
|||||||
/**
|
/**
|
||||||
* Generate flash file embed
|
* Generate flash file embed
|
||||||
*/
|
*/
|
||||||
class HtmlEditorField_Flash extends HtmlEditorField_File {
|
class HTMLEditorField_Flash extends HTMLEditorField_File {
|
||||||
|
|
||||||
public function getFields() {
|
public function getFields() {
|
||||||
$fields = parent::getFields();
|
$fields = parent::getFields();
|
@ -3,7 +3,7 @@
|
|||||||
/**
|
/**
|
||||||
* Default configuration for HtmlEditor specific to tinymce
|
* Default configuration for HtmlEditor specific to tinymce
|
||||||
*/
|
*/
|
||||||
class TinyMCEConfig extends HtmlEditorConfig {
|
class TinyMCEConfig extends HTMLEditorConfig {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Location of module relative to BASE_DIR. This must contain the following dirs
|
* Location of module relative to BASE_DIR. This must contain the following dirs
|
||||||
@ -440,7 +440,7 @@ class TinyMCEConfig extends HtmlEditorConfig {
|
|||||||
*/
|
*/
|
||||||
public function getScriptURL() {
|
public function getScriptURL() {
|
||||||
// If gzip is disabled just return core script url
|
// If gzip is disabled just return core script url
|
||||||
$useGzip = Config::inst()->get('HtmlEditorField', 'use_gzip');
|
$useGzip = Config::inst()->get('HTMLEditorField', 'use_gzip');
|
||||||
if(!$useGzip) {
|
if(!$useGzip) {
|
||||||
return THIRDPARTY_DIR . '/tinymce/tinymce.min.js';
|
return THIRDPARTY_DIR . '/tinymce/tinymce.min.js';
|
||||||
}
|
}
|
||||||
|
@ -178,7 +178,7 @@ af:
|
|||||||
Help1: '<p> Voer een of meer groepe in <em>CSV</em>formaat (komma geskeide waardes).<small> <a href="#" class="toggle-advanced">Wys gevorderde gebruike</a></small></p>'
|
Help1: '<p> Voer een of meer groepe in <em>CSV</em>formaat (komma geskeide waardes).<small> <a href="#" class="toggle-advanced">Wys gevorderde gebruike</a></small></p>'
|
||||||
ResultDeleted: 'Verwyderde %d groepe'
|
ResultDeleted: 'Verwyderde %d groepe'
|
||||||
ResultUpdated: '%d Groepe was opgedateer'
|
ResultUpdated: '%d Groepe was opgedateer'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Voeg URL by'
|
ADDURL: 'Voeg URL by'
|
||||||
ANCHORVALUE: Anker
|
ANCHORVALUE: Anker
|
||||||
BUTTONINSERT: Plaas in
|
BUTTONINSERT: Plaas in
|
||||||
|
@ -237,7 +237,7 @@ ar:
|
|||||||
ResultUpdated: 'تحديث مجموعات %d '
|
ResultUpdated: 'تحديث مجموعات %d '
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'العثور على حلقة لا نهائية ضمن "{نوع}" التسلسل الهرمي . الرجاء تغيير الأصل لحل هذه'
|
InfiniteLoopNotAllowed: 'العثور على حلقة لا نهائية ضمن "{نوع}" التسلسل الهرمي . الرجاء تغيير الأصل لحل هذه'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'أضف رابط الموقع URL'
|
ADDURL: 'أضف رابط الموقع URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'التفاصيل & و الأبعاد'
|
ADJUSTDETAILSDIMENSIONS: 'التفاصيل & و الأبعاد'
|
||||||
ANCHORVALUE: رابط
|
ANCHORVALUE: رابط
|
||||||
|
@ -84,7 +84,7 @@ az:
|
|||||||
Sort: 'Sıralama'
|
Sort: 'Sıralama'
|
||||||
has_many_Permissions: Səlahiyyətlər
|
has_many_Permissions: Səlahiyyətlər
|
||||||
many_many_Members: Üzvlər
|
many_many_Members: Üzvlər
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ANCHORVALUE: Ankor
|
ANCHORVALUE: Ankor
|
||||||
BUTTONINSERTLINK: 'Link əlavə et'
|
BUTTONINSERTLINK: 'Link əlavə et'
|
||||||
BUTTONREMOVELINK: 'Linki sil'
|
BUTTONREMOVELINK: 'Linki sil'
|
||||||
|
@ -167,7 +167,7 @@ bg:
|
|||||||
ResultCreated: 'Бяха създадени {count} група/и'
|
ResultCreated: 'Бяха създадени {count} група/и'
|
||||||
ResultDeleted: 'Бяха изтрити %d групи'
|
ResultDeleted: 'Бяха изтрити %d групи'
|
||||||
ResultUpdated: 'Бяха обновени %d групи'
|
ResultUpdated: 'Бяха обновени %d групи'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Добави URL'
|
ADDURL: 'Добави URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Детайли и размери'
|
ADJUSTDETAILSDIMENSIONS: 'Детайли и размери'
|
||||||
ANCHORVALUE: Котва
|
ANCHORVALUE: Котва
|
||||||
|
@ -80,7 +80,7 @@ bs:
|
|||||||
NONE: ništa
|
NONE: ništa
|
||||||
GridFieldDetailForm:
|
GridFieldDetailForm:
|
||||||
Create: Kreiraj
|
Create: Kreiraj
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ANCHORVALUE: Sidro
|
ANCHORVALUE: Sidro
|
||||||
BUTTONINSERTLINK: 'Ubaci link'
|
BUTTONINSERTLINK: 'Ubaci link'
|
||||||
BUTTONREMOVELINK: 'Ukloni link'
|
BUTTONREMOVELINK: 'Ukloni link'
|
||||||
|
@ -91,7 +91,7 @@ ca:
|
|||||||
Sort: 'Ordre'
|
Sort: 'Ordre'
|
||||||
has_many_Permissions: Permisos
|
has_many_Permissions: Permisos
|
||||||
many_many_Members: Membres
|
many_many_Members: Membres
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ANCHORVALUE: Ancla
|
ANCHORVALUE: Ancla
|
||||||
BUTTONINSERTLINK: 'Insereix un enllaç'
|
BUTTONINSERTLINK: 'Insereix un enllaç'
|
||||||
BUTTONREMOVELINK: 'Suprimeix un enllaç'
|
BUTTONREMOVELINK: 'Suprimeix un enllaç'
|
||||||
|
@ -275,7 +275,7 @@ cs:
|
|||||||
ResultUpdated: 'Aktualizováno %d skupin'
|
ResultUpdated: 'Aktualizováno %d skupin'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Nekonečná smyčka se nachází v "{type}" hierarchii. Prosím změňte rodiče pro vyřešení tohoto problému'
|
InfiniteLoopNotAllowed: 'Nekonečná smyčka se nachází v "{type}" hierarchii. Prosím změňte rodiče pro vyřešení tohoto problému'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Přidat URL'
|
ADDURL: 'Přidat URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Detaily & rozměry'
|
ADJUSTDETAILSDIMENSIONS: 'Detaily & rozměry'
|
||||||
ANCHORSCANNOTACCESSPAGE: 'Nemáte povolen přístup k obsahu cílové stránky.'
|
ANCHORSCANNOTACCESSPAGE: 'Nemáte povolen přístup k obsahu cílové stránky.'
|
||||||
|
@ -274,7 +274,7 @@ de:
|
|||||||
ResultUpdated: '%d Gruppe(n) aktualisiert'
|
ResultUpdated: '%d Gruppe(n) aktualisiert'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Es wurde eine Endlosschleife innerhalb der "{type}"-Hierarchie gefunden. Bitte ändern Sie die übergeordnete Seite, um den Fehler zu beheben'
|
InfiniteLoopNotAllowed: 'Es wurde eine Endlosschleife innerhalb der "{type}"-Hierarchie gefunden. Bitte ändern Sie die übergeordnete Seite, um den Fehler zu beheben'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'URL hinzufügen'
|
ADDURL: 'URL hinzufügen'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & Dimensionen'
|
ADJUSTDETAILSDIMENSIONS: 'Details & Dimensionen'
|
||||||
ANCHORSCANNOTACCESSPAGE: 'Sie haben keine Berechtigungen, den Inhalt dieser Seite zu sehen.'
|
ANCHORSCANNOTACCESSPAGE: 'Sie haben keine Berechtigungen, den Inhalt dieser Seite zu sehen.'
|
||||||
|
@ -278,7 +278,7 @@ en:
|
|||||||
ResultUpdated: 'Updated %d groups'
|
ResultUpdated: 'Updated %d groups'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Infinite loop found within the "{type}" hierarchy. Please change the parent to resolve this'
|
InfiniteLoopNotAllowed: 'Infinite loop found within the "{type}" hierarchy. Please change the parent to resolve this'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Add URL'
|
ADDURL: 'Add URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Details & dimensions'
|
||||||
ANCHORSCANNOTACCESSPAGE: 'You are not permitted to access the content of the target page.'
|
ANCHORSCANNOTACCESSPAGE: 'You are not permitted to access the content of the target page.'
|
||||||
|
@ -11,7 +11,7 @@ en_GB:
|
|||||||
NOFILESIZE: 'File size is zero bytes.'
|
NOFILESIZE: 'File size is zero bytes.'
|
||||||
ForgotPasswordEmail_ss:
|
ForgotPasswordEmail_ss:
|
||||||
HELLO: Hello
|
HELLO: Hello
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
CSSCLASSCENTER: 'Centred, on its own.'
|
CSSCLASSCENTER: 'Centred, on its own.'
|
||||||
LINK: 'Link'
|
LINK: 'Link'
|
||||||
LeftAndMain:
|
LeftAndMain:
|
||||||
|
@ -267,7 +267,7 @@ eo:
|
|||||||
ResultUpdated: 'Aktualigis %d grupojn'
|
ResultUpdated: 'Aktualigis %d grupojn'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Senfina iteracio troviĝis en la "{type}"-hierarkio. Bonvole ŝanĝu la patron por solvi tion.'
|
InfiniteLoopNotAllowed: 'Senfina iteracio troviĝis en la "{type}"-hierarkio. Bonvole ŝanĝu la patron por solvi tion.'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Aldoni je URL'
|
ADDURL: 'Aldoni je URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Detaloj kaj dimensioj'
|
ADJUSTDETAILSDIMENSIONS: 'Detaloj kaj dimensioj'
|
||||||
ANCHORSCANNOTACCESSPAGE: 'Vi ne rajtas aliri la enhavon de la cela paĝo.'
|
ANCHORSCANNOTACCESSPAGE: 'Vi ne rajtas aliri la enhavon de la cela paĝo.'
|
||||||
|
@ -275,7 +275,7 @@ es:
|
|||||||
ResultUpdated: 'Actualizados grupos %d'
|
ResultUpdated: 'Actualizados grupos %d'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Bucle infinito encontrado dentro de la jerarquía "{type}". Por favor, cambie el padre para resolver el problema'
|
InfiniteLoopNotAllowed: 'Bucle infinito encontrado dentro de la jerarquía "{type}". Por favor, cambie el padre para resolver el problema'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Añadir URL'
|
ADDURL: 'Añadir URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Detalles & dimensiones'
|
ADJUSTDETAILSDIMENSIONS: 'Detalles & dimensiones'
|
||||||
ANCHORSCANNOTACCESSPAGE: 'No se le permite acceder al contenido de la página destino.'
|
ANCHORSCANNOTACCESSPAGE: 'No se le permite acceder al contenido de la página destino.'
|
||||||
|
@ -102,7 +102,7 @@ es_AR:
|
|||||||
Help1: '<p>Importar uno o más grupos en <em>formato CSV</em> (valores separados por comas). <small><a href="#" class="toggle-advanced">Mostrar uso avanzado</a></small></p>'
|
Help1: '<p>Importar uno o más grupos en <em>formato CSV</em> (valores separados por comas). <small><a href="#" class="toggle-advanced">Mostrar uso avanzado</a></small></p>'
|
||||||
ResultDeleted: 'Se eliminaron %d grupos'
|
ResultDeleted: 'Se eliminaron %d grupos'
|
||||||
ResultUpdated: 'Se actualizaron %d grupos'
|
ResultUpdated: 'Se actualizaron %d grupos'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ANCHORVALUE: Anclar
|
ANCHORVALUE: Anclar
|
||||||
BUTTONINSERTLINK: 'Insertar enlace'
|
BUTTONINSERTLINK: 'Insertar enlace'
|
||||||
BUTTONREMOVELINK: 'Quitar enlace'
|
BUTTONREMOVELINK: 'Quitar enlace'
|
||||||
|
@ -147,7 +147,7 @@ es_MX:
|
|||||||
Help1: '<p>Importar usuarios en <em>formato CSV</em> (valores separados por comas). <small><a href="#" class="toggle-advanced">Mostrar uso avanzado</a></small></p>\n'
|
Help1: '<p>Importar usuarios en <em>formato CSV</em> (valores separados por comas). <small><a href="#" class="toggle-advanced">Mostrar uso avanzado</a></small></p>\n'
|
||||||
ResultDeleted: '%d grupos eliminados'
|
ResultDeleted: '%d grupos eliminados'
|
||||||
ResultUpdated: '%d grupos actualizados'
|
ResultUpdated: '%d grupos actualizados'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ANCHORVALUE: Anclar
|
ANCHORVALUE: Anclar
|
||||||
BUTTONINSERT: Insertar
|
BUTTONINSERT: Insertar
|
||||||
BUTTONINSERTLINK: 'Insertar enlace'
|
BUTTONINSERTLINK: 'Insertar enlace'
|
||||||
|
@ -224,7 +224,7 @@ et_EE:
|
|||||||
ResultCreated: '{count} gruppi on loodud'
|
ResultCreated: '{count} gruppi on loodud'
|
||||||
ResultDeleted: '%d gruppi on kustutatud'
|
ResultDeleted: '%d gruppi on kustutatud'
|
||||||
ResultUpdated: '%d gruppi on uuendatud'
|
ResultUpdated: '%d gruppi on uuendatud'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Lisa URL'
|
ADDURL: 'Lisa URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Üksikasjad ja mõõtmed'
|
ADJUSTDETAILSDIMENSIONS: 'Üksikasjad ja mõõtmed'
|
||||||
ANCHORVALUE: Link
|
ANCHORVALUE: Link
|
||||||
|
@ -272,7 +272,7 @@ fa_IR:
|
|||||||
ResultCreated: '{count} گروه ایجاد شده'
|
ResultCreated: '{count} گروه ایجاد شده'
|
||||||
ResultDeleted: 'گروههای %d حذف شد'
|
ResultDeleted: 'گروههای %d حذف شد'
|
||||||
ResultUpdated: 'گروههای %d بهروز شد'
|
ResultUpdated: 'گروههای %d بهروز شد'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'افزودن URL'
|
ADDURL: 'افزودن URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'جزئیات و ابعاد'
|
ADJUSTDETAILSDIMENSIONS: 'جزئیات و ابعاد'
|
||||||
ANCHORSCANNOTACCESSPAGE: 'شما مجاز به دسترسی به محتوای صفحه مورد نظر نیستید.'
|
ANCHORSCANNOTACCESSPAGE: 'شما مجاز به دسترسی به محتوای صفحه مورد نظر نیستید.'
|
||||||
|
@ -275,7 +275,7 @@ fi:
|
|||||||
ResultUpdated: 'Päivitetty %d ryhmää'
|
ResultUpdated: 'Päivitetty %d ryhmää'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: '"{type}" -hierarkiasta löytyi loputon silmukka. Ole hyvä ja muuta isäntää korjataksesi ongelman.'
|
InfiniteLoopNotAllowed: '"{type}" -hierarkiasta löytyi loputon silmukka. Ole hyvä ja muuta isäntää korjataksesi ongelman.'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Lisää URL-osoite'
|
ADDURL: 'Lisää URL-osoite'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Tarkat tiedot & mitat'
|
ADJUSTDETAILSDIMENSIONS: 'Tarkat tiedot & mitat'
|
||||||
ANCHORSCANNOTACCESSPAGE: 'Sinulla ei ole oikeuksia tarkastella tämän sivun sisältöä.'
|
ANCHORSCANNOTACCESSPAGE: 'Sinulla ei ole oikeuksia tarkastella tämän sivun sisältöä.'
|
||||||
|
@ -67,7 +67,7 @@ fo:
|
|||||||
Sort: 'Raða eftir'
|
Sort: 'Raða eftir'
|
||||||
has_many_Permissions: Loyvir
|
has_many_Permissions: Loyvir
|
||||||
many_many_Members: Limir
|
many_many_Members: Limir
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
BUTTONINSERTLINK: 'Stovna leinku'
|
BUTTONINSERTLINK: 'Stovna leinku'
|
||||||
BUTTONREMOVELINK: 'Strika leinku'
|
BUTTONREMOVELINK: 'Strika leinku'
|
||||||
CSSCLASSCENTER: 'Í miðuni, einsamalt.'
|
CSSCLASSCENTER: 'Í miðuni, einsamalt.'
|
||||||
|
@ -238,7 +238,7 @@ fr:
|
|||||||
ResultUpdated: '%d groupes mises à jour'
|
ResultUpdated: '%d groupes mises à jour'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Une boucle infinie s’est produite dans la hiérarchie « {type} ». Modifiez le parent pour le résoudre.'
|
InfiniteLoopNotAllowed: 'Une boucle infinie s’est produite dans la hiérarchie « {type} ». Modifiez le parent pour le résoudre.'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Ajouter URL'
|
ADDURL: 'Ajouter URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Détails & dimensions'
|
ADJUSTDETAILSDIMENSIONS: 'Détails & dimensions'
|
||||||
ANCHORVALUE: Ancre
|
ANCHORVALUE: Ancre
|
||||||
|
@ -122,7 +122,7 @@ gl_ES:
|
|||||||
Help1: '<p>Importar un ou máis grupos no formato <em>CSV</em> (valores separados por comas). <small><a href="#" class="toggle-advanced">Amosar uso avanzado</a></small></p>'
|
Help1: '<p>Importar un ou máis grupos no formato <em>CSV</em> (valores separados por comas). <small><a href="#" class="toggle-advanced">Amosar uso avanzado</a></small></p>'
|
||||||
ResultDeleted: 'Eliminados %d grupos'
|
ResultDeleted: 'Eliminados %d grupos'
|
||||||
ResultUpdated: 'Actualizados %d grupos'
|
ResultUpdated: 'Actualizados %d grupos'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ANCHORVALUE: Áncora
|
ANCHORVALUE: Áncora
|
||||||
BUTTONINSERT: Inserir
|
BUTTONINSERT: Inserir
|
||||||
BUTTONINSERTLINK: 'Inserir ligazón'
|
BUTTONINSERTLINK: 'Inserir ligazón'
|
||||||
|
@ -44,7 +44,7 @@ he_IL:
|
|||||||
Parent: 'קבוצת אב'
|
Parent: 'קבוצת אב'
|
||||||
has_many_Permissions: הרשאות
|
has_many_Permissions: הרשאות
|
||||||
many_many_Members: חברים רשומים
|
many_many_Members: חברים רשומים
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
BUTTONINSERTLINK: 'הכנס קישור'
|
BUTTONINSERTLINK: 'הכנס קישור'
|
||||||
BUTTONREMOVELINK: 'הסר קישור'
|
BUTTONREMOVELINK: 'הסר קישור'
|
||||||
CSSCLASS: 'יישור/סגנון'
|
CSSCLASS: 'יישור/סגנון'
|
||||||
|
@ -88,7 +88,7 @@ hr:
|
|||||||
Parent: 'Roditeljska grupa'
|
Parent: 'Roditeljska grupa'
|
||||||
has_many_Permissions: Dozvole
|
has_many_Permissions: Dozvole
|
||||||
many_many_Members: Članovi
|
many_many_Members: Članovi
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
BUTTONINSERTLINK: 'Ubaci vezu'
|
BUTTONINSERTLINK: 'Ubaci vezu'
|
||||||
BUTTONREMOVELINK: 'Obriši vezu'
|
BUTTONREMOVELINK: 'Obriši vezu'
|
||||||
CSSCLASS: 'Poravnanje / Stil'
|
CSSCLASS: 'Poravnanje / Stil'
|
||||||
|
@ -41,7 +41,7 @@ hu:
|
|||||||
Parent: 'Szülő csoport'
|
Parent: 'Szülő csoport'
|
||||||
has_many_Permissions: Jogosultságok
|
has_many_Permissions: Jogosultságok
|
||||||
many_many_Members: Tagok
|
many_many_Members: Tagok
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
BUTTONINSERTLINK: 'Link beszúrása'
|
BUTTONINSERTLINK: 'Link beszúrása'
|
||||||
BUTTONREMOVELINK: 'Link eltávolítása'
|
BUTTONREMOVELINK: 'Link eltávolítása'
|
||||||
CSSCLASS: 'Elhelyezkedés / stílus'
|
CSSCLASS: 'Elhelyezkedés / stílus'
|
||||||
|
@ -263,7 +263,7 @@ id:
|
|||||||
ResultUpdated: '%d kelompok diperbarui'
|
ResultUpdated: '%d kelompok diperbarui'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Putaran berulang ditemukan pada hirarki "{type}". Mohon ganti induk untuk mengatasi masalah ini'
|
InfiniteLoopNotAllowed: 'Putaran berulang ditemukan pada hirarki "{type}". Mohon ganti induk untuk mengatasi masalah ini'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Tambah URL'
|
ADDURL: 'Tambah URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Rincian & dimensi'
|
ADJUSTDETAILSDIMENSIONS: 'Rincian & dimensi'
|
||||||
ANCHORSCANNOTACCESSPAGE: 'Anda tidak dijinkan mengakses konten laman yang diminta.'
|
ANCHORSCANNOTACCESSPAGE: 'Anda tidak dijinkan mengakses konten laman yang diminta.'
|
||||||
|
@ -263,7 +263,7 @@ id_ID:
|
|||||||
ResultUpdated: '%d kelompok diperbarui'
|
ResultUpdated: '%d kelompok diperbarui'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Putaran berulang ditemukan pada hirarki "{type}". Mohon ganti induk untuk mengatasi masalah ini'
|
InfiniteLoopNotAllowed: 'Putaran berulang ditemukan pada hirarki "{type}". Mohon ganti induk untuk mengatasi masalah ini'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Tambah URL'
|
ADDURL: 'Tambah URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Rincian & dimensi'
|
ADJUSTDETAILSDIMENSIONS: 'Rincian & dimensi'
|
||||||
ANCHORSCANNOTACCESSPAGE: 'Anda tidak dijinkan mengakses konten laman yang diminta.'
|
ANCHORSCANNOTACCESSPAGE: 'Anda tidak dijinkan mengakses konten laman yang diminta.'
|
||||||
|
@ -84,7 +84,7 @@ is:
|
|||||||
Sort: 'Röðun'
|
Sort: 'Röðun'
|
||||||
has_many_Permissions: Leyfi
|
has_many_Permissions: Leyfi
|
||||||
many_many_Members: Félagar
|
many_many_Members: Félagar
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ANCHORVALUE: Markstikla
|
ANCHORVALUE: Markstikla
|
||||||
BUTTONINSERTLINK: 'Bæta við hlekk'
|
BUTTONINSERTLINK: 'Bæta við hlekk'
|
||||||
BUTTONREMOVELINK: 'Fjarlægja hlekk'
|
BUTTONREMOVELINK: 'Fjarlægja hlekk'
|
||||||
|
@ -273,7 +273,7 @@ it:
|
|||||||
ResultUpdated: 'Aggiornati %d gruppi'
|
ResultUpdated: 'Aggiornati %d gruppi'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Trovato loop infinito nella gerarchia di "{type}". Cambia il padre per risolvere il problema'
|
InfiniteLoopNotAllowed: 'Trovato loop infinito nella gerarchia di "{type}". Cambia il padre per risolvere il problema'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Aggiungi URL'
|
ADDURL: 'Aggiungi URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Dettagli e dimensioni'
|
ADJUSTDETAILSDIMENSIONS: 'Dettagli e dimensioni'
|
||||||
ANCHORSCANNOTACCESSPAGE: 'Non ti è consentito accedere al contenuto della pagina di destinazione.'
|
ANCHORSCANNOTACCESSPAGE: 'Non ti è consentito accedere al contenuto della pagina di destinazione.'
|
||||||
|
@ -236,7 +236,7 @@ ja:
|
|||||||
ResultUpdated: '%dグループを更新しました'
|
ResultUpdated: '%dグループを更新しました'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: '無限ループが"{型}"階層内で見つかりました。 これを解決するために親を変更してください。'
|
InfiniteLoopNotAllowed: '無限ループが"{型}"階層内で見つかりました。 これを解決するために親を変更してください。'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'URLを追加'
|
ADDURL: 'URLを追加'
|
||||||
ADJUSTDETAILSDIMENSIONS: '詳細 & 大きさ'
|
ADJUSTDETAILSDIMENSIONS: '詳細 & 大きさ'
|
||||||
ANCHORVALUE: アンカー
|
ANCHORVALUE: アンカー
|
||||||
|
@ -275,7 +275,7 @@ lt:
|
|||||||
ResultUpdated: 'Atnaujinta %d grupių'
|
ResultUpdated: 'Atnaujinta %d grupių'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Rastas begalinis sąryšis "{type}" hierarchijoje. Prašome patikrinti tėvinius sąryšius'
|
InfiniteLoopNotAllowed: 'Rastas begalinis sąryšis "{type}" hierarchijoje. Prašome patikrinti tėvinius sąryšius'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Pridėti URL'
|
ADDURL: 'Pridėti URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Detalesnė inf. ir matmenys'
|
ADJUSTDETAILSDIMENSIONS: 'Detalesnė inf. ir matmenys'
|
||||||
ANCHORSCANNOTACCESSPAGE: 'Neturite teisių pasiekti pasirinkto puslapio turinį.'
|
ANCHORSCANNOTACCESSPAGE: 'Neturite teisių pasiekti pasirinkto puslapio turinį.'
|
||||||
|
@ -88,7 +88,7 @@ lv:
|
|||||||
Sort: 'Kārtošanas secība'
|
Sort: 'Kārtošanas secība'
|
||||||
has_many_Permissions: Atļaujas
|
has_many_Permissions: Atļaujas
|
||||||
many_many_Members: Dalībnieki
|
many_many_Members: Dalībnieki
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ANCHORVALUE: Enkurs
|
ANCHORVALUE: Enkurs
|
||||||
BUTTONINSERTLINK: 'Ievietot saiti'
|
BUTTONINSERTLINK: 'Ievietot saiti'
|
||||||
BUTTONREMOVELINK: 'Noņemt saiti'
|
BUTTONREMOVELINK: 'Noņemt saiti'
|
||||||
|
@ -238,7 +238,7 @@ mi:
|
|||||||
ResultUpdated: 'Kua whakahōutia e %d ngā rōpū'
|
ResultUpdated: 'Kua whakahōutia e %d ngā rōpū'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Kua kitea he koromeke mutunga kore i roto i te aroākapanga "{type}". Hurihia te matua hei whakaea i tēnei'
|
InfiniteLoopNotAllowed: 'Kua kitea he koromeke mutunga kore i roto i te aroākapanga "{type}". Hurihia te matua hei whakaea i tēnei'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Tāpiri PRO'
|
ADDURL: 'Tāpiri PRO'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Ngā taipitopito & ngā rahinga'
|
ADJUSTDETAILSDIMENSIONS: 'Ngā taipitopito & ngā rahinga'
|
||||||
ANCHORVALUE: Punga
|
ANCHORVALUE: Punga
|
||||||
|
@ -40,7 +40,7 @@ ms:
|
|||||||
Parent: 'Kumpulan Induk'
|
Parent: 'Kumpulan Induk'
|
||||||
has_many_Permissions: Keizinan
|
has_many_Permissions: Keizinan
|
||||||
many_many_Members: Ahli-ahli
|
many_many_Members: Ahli-ahli
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
BUTTONINSERTLINK: 'Masukkan pautan'
|
BUTTONINSERTLINK: 'Masukkan pautan'
|
||||||
BUTTONREMOVELINK: 'Hapuskan pautan'
|
BUTTONREMOVELINK: 'Hapuskan pautan'
|
||||||
CSSCLASS: 'Penjajaran / gaya'
|
CSSCLASS: 'Penjajaran / gaya'
|
||||||
|
@ -239,7 +239,7 @@ nb:
|
|||||||
ResultUpdated: 'Oppdaterte %d grupper'
|
ResultUpdated: 'Oppdaterte %d grupper'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Uendelig løkke ble funnet i hierarkiet til "{type}". Vennligst skift ut overordnet type for å løse dette.'
|
InfiniteLoopNotAllowed: 'Uendelig løkke ble funnet i hierarkiet til "{type}". Vennligst skift ut overordnet type for å løse dette.'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Legg til nettadresse'
|
ADDURL: 'Legg til nettadresse'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Detaljer og dimensjoner'
|
ADJUSTDETAILSDIMENSIONS: 'Detaljer og dimensjoner'
|
||||||
ANCHORVALUE: Lenke
|
ANCHORVALUE: Lenke
|
||||||
|
@ -15,7 +15,7 @@ ne:
|
|||||||
VALIDATIONNOTUNIQUE: 'लेखिएको मान भिन्न छैन '
|
VALIDATIONNOTUNIQUE: 'लेखिएको मान भिन्न छैन '
|
||||||
VALIDATIONPASSWORDSDONTMATCH: 'पासओडहरु मिल्दैन्नन'
|
VALIDATIONPASSWORDSDONTMATCH: 'पासओडहरु मिल्दैन्नन'
|
||||||
VALIDATIONPASSWORDSNOTEMPTY: 'पासओडहरु खालि छोड्न मिल्दैन'
|
VALIDATIONPASSWORDSNOTEMPTY: 'पासओडहरु खालि छोड्न मिल्दैन'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
BUTTONINSERTLINK: 'लिन्क राखनुहोस्'
|
BUTTONINSERTLINK: 'लिन्क राखनुहोस्'
|
||||||
BUTTONREMOVELINK: 'लिन्क हटाउनुहोस्'
|
BUTTONREMOVELINK: 'लिन्क हटाउनुहोस्'
|
||||||
CSSCLASS: 'समरेखिन / स्टाईल'
|
CSSCLASS: 'समरेखिन / स्टाईल'
|
||||||
|
@ -240,7 +240,7 @@ nl:
|
|||||||
ResultUpdated: '%d groepen aangepast'
|
ResultUpdated: '%d groepen aangepast'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Oneindige lus gevonden in "{type}" hiërarchie. Wijzig het hogere niveau om dit op te lossen'
|
InfiniteLoopNotAllowed: 'Oneindige lus gevonden in "{type}" hiërarchie. Wijzig het hogere niveau om dit op te lossen'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Voeg URL toe'
|
ADDURL: 'Voeg URL toe'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Details en afmetingen'
|
ADJUSTDETAILSDIMENSIONS: 'Details en afmetingen'
|
||||||
ANCHORVALUE: Anker
|
ANCHORVALUE: Anker
|
||||||
|
@ -12,7 +12,7 @@ pa:
|
|||||||
Form:
|
Form:
|
||||||
VALIDATIONPASSWORDSDONTMATCH: 'Passwords ਮੇਲ ਨਹੀ ਖਾਦੇ '
|
VALIDATIONPASSWORDSDONTMATCH: 'Passwords ਮੇਲ ਨਹੀ ਖਾਦੇ '
|
||||||
VALIDATIONPASSWORDSNOTEMPTY: 'Passwords ਖ਼ਾਲੀ ਨਹੀ ਹੋ ਸਕਦੇ '
|
VALIDATIONPASSWORDSNOTEMPTY: 'Passwords ਖ਼ਾਲੀ ਨਹੀ ਹੋ ਸਕਦੇ '
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
BUTTONINSERTLINK: 'ਿਲੰਕ ਪਾਉ'
|
BUTTONINSERTLINK: 'ਿਲੰਕ ਪਾਉ'
|
||||||
BUTTONREMOVELINK: 'ਿਲੰਕ ਕੱਟੋਂ'
|
BUTTONREMOVELINK: 'ਿਲੰਕ ਕੱਟੋਂ'
|
||||||
EMAIL: 'ਈਮੇਲ ਪਤਾ'
|
EMAIL: 'ਈਮੇਲ ਪਤਾ'
|
||||||
|
@ -239,7 +239,7 @@ pl:
|
|||||||
ResultUpdated: 'Zaktualizowano grup: %d'
|
ResultUpdated: 'Zaktualizowano grup: %d'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Znaleziono nieskończoną pętlę wewnątrz hierarchii "{type}". Proszę zmień rodzica by to rozwiązać.'
|
InfiniteLoopNotAllowed: 'Znaleziono nieskończoną pętlę wewnątrz hierarchii "{type}". Proszę zmień rodzica by to rozwiązać.'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Dodaj adres URL'
|
ADDURL: 'Dodaj adres URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Szczegóły i rozmiar'
|
ADJUSTDETAILSDIMENSIONS: 'Szczegóły i rozmiar'
|
||||||
ANCHORVALUE: Odnośnik
|
ANCHORVALUE: Odnośnik
|
||||||
|
@ -110,7 +110,7 @@ pt:
|
|||||||
many_many_Members: Membros
|
many_many_Members: Membros
|
||||||
GroupImportForm:
|
GroupImportForm:
|
||||||
ResultDeleted: 'Apagados %d grupos'
|
ResultDeleted: 'Apagados %d grupos'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ANCHORVALUE: Âncora
|
ANCHORVALUE: Âncora
|
||||||
BUTTONINSERT: Inserir
|
BUTTONINSERT: Inserir
|
||||||
BUTTONINSERTLINK: 'Inserir link'
|
BUTTONINSERTLINK: 'Inserir link'
|
||||||
|
@ -90,7 +90,7 @@ pt_BR:
|
|||||||
Sort: 'Ordenação'
|
Sort: 'Ordenação'
|
||||||
has_many_Permissions: Permissões
|
has_many_Permissions: Permissões
|
||||||
many_many_Members: Membros
|
many_many_Members: Membros
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ANCHORVALUE: Âncora
|
ANCHORVALUE: Âncora
|
||||||
BUTTONINSERTLINK: 'Inserir link'
|
BUTTONINSERTLINK: 'Inserir link'
|
||||||
BUTTONREMOVELINK: 'Remover link'
|
BUTTONREMOVELINK: 'Remover link'
|
||||||
|
@ -84,7 +84,7 @@ ro:
|
|||||||
Parent: 'Grup de Baza'
|
Parent: 'Grup de Baza'
|
||||||
has_many_Permissions: Permisiuni
|
has_many_Permissions: Permisiuni
|
||||||
many_many_Members: Membri
|
many_many_Members: Membri
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
BUTTONINSERTLINK: 'Insereaza link'
|
BUTTONINSERTLINK: 'Insereaza link'
|
||||||
BUTTONREMOVELINK: 'Indeparteaza link'
|
BUTTONREMOVELINK: 'Indeparteaza link'
|
||||||
CSSCLASS: 'Aliniere / stil'
|
CSSCLASS: 'Aliniere / stil'
|
||||||
|
@ -239,7 +239,7 @@ ru:
|
|||||||
ResultUpdated: 'Обновлено %d групп'
|
ResultUpdated: 'Обновлено %d групп'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Обнаружен бесконечный цикл в иерархической структуре "{type}". Для исправления ошибки измените страницу, находящуюся уровнем выше'
|
InfiniteLoopNotAllowed: 'Обнаружен бесконечный цикл в иерархической структуре "{type}". Для исправления ошибки измените страницу, находящуюся уровнем выше'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Добавить URL'
|
ADDURL: 'Добавить URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Дополнительные сведения и размеры'
|
ADJUSTDETAILSDIMENSIONS: 'Дополнительные сведения и размеры'
|
||||||
ANCHORVALUE: Якорь
|
ANCHORVALUE: Якорь
|
||||||
|
@ -53,7 +53,7 @@ si:
|
|||||||
Parent: 'මවු කාන්ඩය'
|
Parent: 'මවු කාන්ඩය'
|
||||||
has_many_Permissions: අවසර
|
has_many_Permissions: අවසර
|
||||||
many_many_Members: සාමාජිකයින්
|
many_many_Members: සාමාජිකයින්
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
BUTTONINSERTLINK: 'බැදීමක් යොදන්න'
|
BUTTONINSERTLINK: 'බැදීමක් යොදන්න'
|
||||||
BUTTONREMOVELINK: 'බැදීම ගලවන්න'
|
BUTTONREMOVELINK: 'බැදීම ගලවන්න'
|
||||||
CSSCLASS: 'අලයින්මන්ට් / ස්ටයිල්'
|
CSSCLASS: 'අලයින්මන්ට් / ස්ටයිල්'
|
||||||
|
@ -275,7 +275,7 @@ sk:
|
|||||||
ResultUpdated: 'Aktualizované %d skupiny'
|
ResultUpdated: 'Aktualizované %d skupiny'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Nekonečná smyčka sa nachádza v {type} hierarchii. Prosím zmeňte rodiča pre vyriešenie tohto problému'
|
InfiniteLoopNotAllowed: 'Nekonečná smyčka sa nachádza v {type} hierarchii. Prosím zmeňte rodiča pre vyriešenie tohto problému'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Pridať URL'
|
ADDURL: 'Pridať URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Detaily & rozmery'
|
ADJUSTDETAILSDIMENSIONS: 'Detaily & rozmery'
|
||||||
ANCHORSCANNOTACCESSPAGE: 'Nemáte povolený prístup k obsahu cieľovej stránky.'
|
ANCHORSCANNOTACCESSPAGE: 'Nemáte povolený prístup k obsahu cieľovej stránky.'
|
||||||
|
@ -230,7 +230,7 @@ sl:
|
|||||||
ResultCreated: 'Ustvarjenih je {count} skupin'
|
ResultCreated: 'Ustvarjenih je {count} skupin'
|
||||||
ResultDeleted: 'Število izbrisanih skupin %d'
|
ResultDeleted: 'Število izbrisanih skupin %d'
|
||||||
ResultUpdated: 'Število ponastavljenih skupin %d'
|
ResultUpdated: 'Število ponastavljenih skupin %d'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Dodaj URL'
|
ADDURL: 'Dodaj URL'
|
||||||
ANCHORVALUE: Sidro
|
ANCHORVALUE: Sidro
|
||||||
BUTTONADDURL: 'Dodaj url'
|
BUTTONADDURL: 'Dodaj url'
|
||||||
|
@ -239,7 +239,7 @@ sr:
|
|||||||
ResultUpdated: 'Ажурирано %d група'
|
ResultUpdated: 'Ажурирано %d група'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Откривена је бесконачна петља у оквиру "{type}" хијерархије. Промените родитеља да би сте разрешили ситуацију'
|
InfiniteLoopNotAllowed: 'Откривена је бесконачна петља у оквиру "{type}" хијерархије. Промените родитеља да би сте разрешили ситуацију'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Додај URL'
|
ADDURL: 'Додај URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Детаљи & димензије'
|
ADJUSTDETAILSDIMENSIONS: 'Детаљи & димензије'
|
||||||
ANCHORVALUE: Сидро
|
ANCHORVALUE: Сидро
|
||||||
|
@ -239,7 +239,7 @@ sr@latin:
|
|||||||
ResultUpdated: 'Ažurirano %d grupa'
|
ResultUpdated: 'Ažurirano %d grupa'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Otkrivena je beskonačna petlja u okviru "{type}" hijerarhije. Promenite roditelja da bi ste razrešili situaciju'
|
InfiniteLoopNotAllowed: 'Otkrivena je beskonačna petlja u okviru "{type}" hijerarhije. Promenite roditelja da bi ste razrešili situaciju'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Dodaj URL'
|
ADDURL: 'Dodaj URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Detalji & dimenzije'
|
ADJUSTDETAILSDIMENSIONS: 'Detalji & dimenzije'
|
||||||
ANCHORVALUE: Sidro
|
ANCHORVALUE: Sidro
|
||||||
|
@ -239,7 +239,7 @@ sr_RS:
|
|||||||
ResultUpdated: 'Ажурирано %d група'
|
ResultUpdated: 'Ажурирано %d група'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Откривена је бесконачна петља у оквиру "{type}" хијерархије. Промените родитеља да би сте разрешили ситуацију'
|
InfiniteLoopNotAllowed: 'Откривена је бесконачна петља у оквиру "{type}" хијерархије. Промените родитеља да би сте разрешили ситуацију'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Додај URL'
|
ADDURL: 'Додај URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Детаљи & димензије'
|
ADJUSTDETAILSDIMENSIONS: 'Детаљи & димензије'
|
||||||
ANCHORVALUE: Сидро
|
ANCHORVALUE: Сидро
|
||||||
|
@ -239,7 +239,7 @@ sr_RS@latin:
|
|||||||
ResultUpdated: 'Ažurirano %d grupa'
|
ResultUpdated: 'Ažurirano %d grupa'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Otkrivena je beskonačna petlja u okviru "{type}" hijerarhije. Promenite roditelja da bi ste razrešili situaciju'
|
InfiniteLoopNotAllowed: 'Otkrivena je beskonačna petlja u okviru "{type}" hijerarhije. Promenite roditelja da bi ste razrešili situaciju'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Dodaj URL'
|
ADDURL: 'Dodaj URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Detalji & dimenzije'
|
ADJUSTDETAILSDIMENSIONS: 'Detalji & dimenzije'
|
||||||
ANCHORVALUE: Sidro
|
ANCHORVALUE: Sidro
|
||||||
|
@ -267,7 +267,7 @@ sv:
|
|||||||
ResultUpdated: 'Uppdaterade %d grupper'
|
ResultUpdated: 'Uppdaterade %d grupper'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: 'Oändlig loop hittades i hierarkin "{type}". Var vänlig ändra föräldern för att lösa detta'
|
InfiniteLoopNotAllowed: 'Oändlig loop hittades i hierarkin "{type}". Var vänlig ändra föräldern för att lösa detta'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'Lägg till URL'
|
ADDURL: 'Lägg till URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'Detaljer & dimensioner'
|
ADJUSTDETAILSDIMENSIONS: 'Detaljer & dimensioner'
|
||||||
ANCHORSCANNOTACCESSPAGE: 'Du har inte tillåtelse att se innehållet på sidan'
|
ANCHORSCANNOTACCESSPAGE: 'Du har inte tillåtelse att se innehållet på sidan'
|
||||||
|
@ -161,7 +161,7 @@ th:
|
|||||||
ResultCreated: 'สร้างกลุ่มแล้ว {count} กลุ่ม'
|
ResultCreated: 'สร้างกลุ่มแล้ว {count} กลุ่ม'
|
||||||
ResultDeleted: 'ลบกลุ่มแล้ว %d กลุ่ม'
|
ResultDeleted: 'ลบกลุ่มแล้ว %d กลุ่ม'
|
||||||
ResultUpdated: 'อัพเดทแล้ว %d กลุ่ม'
|
ResultUpdated: 'อัพเดทแล้ว %d กลุ่ม'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: 'เพิ่ม URL'
|
ADDURL: 'เพิ่ม URL'
|
||||||
ADJUSTDETAILSDIMENSIONS: 'รายละเอียด & ขนาดสัดส่วน'
|
ADJUSTDETAILSDIMENSIONS: 'รายละเอียด & ขนาดสัดส่วน'
|
||||||
BUTTONINSERT: แทรก
|
BUTTONINSERT: แทรก
|
||||||
|
@ -109,7 +109,7 @@ tr:
|
|||||||
Sort: 'Sırala'
|
Sort: 'Sırala'
|
||||||
has_many_Permissions: İzinler
|
has_many_Permissions: İzinler
|
||||||
many_many_Members: Üyeler
|
many_many_Members: Üyeler
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ANCHORVALUE: Çapa
|
ANCHORVALUE: Çapa
|
||||||
BUTTONINSERTLINK: 'Bağlantı ekle'
|
BUTTONINSERTLINK: 'Bağlantı ekle'
|
||||||
BUTTONREMOVELINK: 'Bağlantıyı sil'
|
BUTTONREMOVELINK: 'Bağlantıyı sil'
|
||||||
|
@ -101,7 +101,7 @@ uk:
|
|||||||
RolesAddEditLink: 'Керувати ролями'
|
RolesAddEditLink: 'Керувати ролями'
|
||||||
has_many_Permissions: Права
|
has_many_Permissions: Права
|
||||||
many_many_Members: Члени
|
many_many_Members: Члени
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ANCHORVALUE: Якір
|
ANCHORVALUE: Якір
|
||||||
BUTTONINSERTLINK: 'Вставити посилання'
|
BUTTONINSERTLINK: 'Вставити посилання'
|
||||||
BUTTONREMOVELINK: 'Вмдалити посилання'
|
BUTTONREMOVELINK: 'Вмдалити посилання'
|
||||||
|
@ -262,7 +262,7 @@ zh:
|
|||||||
ResultUpdated: '已更新 %d 小组'
|
ResultUpdated: '已更新 %d 小组'
|
||||||
Hierarchy:
|
Hierarchy:
|
||||||
InfiniteLoopNotAllowed: '"{type}" 层次结构中发现无限循环。请更改父类型来解决此问题'
|
InfiniteLoopNotAllowed: '"{type}" 层次结构中发现无限循环。请更改父类型来解决此问题'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
ADDURL: '添加网址'
|
ADDURL: '添加网址'
|
||||||
ADJUSTDETAILSDIMENSIONS: '详情 &amp; 体积'
|
ADJUSTDETAILSDIMENSIONS: '详情 &amp; 体积'
|
||||||
ANCHORSCANNOTACCESSPAGE: '您不允许访问该页面的内容。'
|
ANCHORSCANNOTACCESSPAGE: '您不允许访问该页面的内容。'
|
||||||
|
@ -42,7 +42,7 @@ zh_CN:
|
|||||||
Parent: '主团队'
|
Parent: '主团队'
|
||||||
has_many_Permissions: 权限
|
has_many_Permissions: 权限
|
||||||
many_many_Members: 成员
|
many_many_Members: 成员
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
BUTTONINSERTLINK: '插入链接'
|
BUTTONINSERTLINK: '插入链接'
|
||||||
BUTTONREMOVELINK: '删除链接'
|
BUTTONREMOVELINK: '删除链接'
|
||||||
CSSCLASS: '对齐/样式'
|
CSSCLASS: '对齐/样式'
|
||||||
|
@ -28,7 +28,7 @@ zh_TW:
|
|||||||
VALIDATIONNOTUNIQUE: '您輸入的數值並不是獨特的。'
|
VALIDATIONNOTUNIQUE: '您輸入的數值並不是獨特的。'
|
||||||
VALIDATIONPASSWORDSDONTMATCH: '密碼不相配'
|
VALIDATIONPASSWORDSDONTMATCH: '密碼不相配'
|
||||||
VALIDATIONPASSWORDSNOTEMPTY: '密碼不能是空的'
|
VALIDATIONPASSWORDSNOTEMPTY: '密碼不能是空的'
|
||||||
HtmlEditorField:
|
HTMLEditorField:
|
||||||
BUTTONINSERTLINK: '插入連結'
|
BUTTONINSERTLINK: '插入連結'
|
||||||
BUTTONREMOVELINK: '移除連結'
|
BUTTONREMOVELINK: '移除連結'
|
||||||
CSSCLASS: '對齊/樣式'
|
CSSCLASS: '對齊/樣式'
|
||||||
|
@ -6,7 +6,7 @@ use Injector;
|
|||||||
use HTTP;
|
use HTTP;
|
||||||
use ShortcodeParser;
|
use ShortcodeParser;
|
||||||
use DOMDocument;
|
use DOMDocument;
|
||||||
use HtmlEditorField;
|
use HTMLEditorField;
|
||||||
use TextField;
|
use TextField;
|
||||||
use Exception;
|
use Exception;
|
||||||
|
|
||||||
@ -264,7 +264,7 @@ class DBHTMLText extends DBText {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function scaffoldFormField($title = null, $params = null) {
|
public function scaffoldFormField($title = null, $params = null) {
|
||||||
return new HtmlEditorField($this->name, $title);
|
return new HTMLEditorField($this->name, $title);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function scaffoldSearchField($title = null, $params = null) {
|
public function scaffoldSearchField($title = null, $params = null) {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
namespace SilverStripe\Model\FieldType;
|
namespace SilverStripe\Model\FieldType;
|
||||||
|
|
||||||
use ShortcodeParser;
|
use ShortcodeParser;
|
||||||
use HtmlEditorField;
|
use HTMLEditorField;
|
||||||
use TextField;
|
use TextField;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -41,7 +41,7 @@ class DBHTMLVarchar extends DBVarchar {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function scaffoldFormField($title = null, $params = null) {
|
public function scaffoldFormField($title = null, $params = null) {
|
||||||
return new HtmlEditorField($this->name, $title, 1);
|
return new HTMLEditorField($this->name, $title, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function scaffoldSearchField($title = null) {
|
public function scaffoldSearchField($title = null) {
|
||||||
|
@ -141,7 +141,7 @@ class Group extends DataObject {
|
|||||||
|
|
||||||
// Only add a dropdown for HTML editor configurations if more than one is available.
|
// Only add a dropdown for HTML editor configurations if more than one is available.
|
||||||
// Otherwise Member->getHtmlEditorConfigForCMS() will default to the 'cms' configuration.
|
// Otherwise Member->getHtmlEditorConfigForCMS() will default to the 'cms' configuration.
|
||||||
$editorConfigMap = HtmlEditorConfig::get_available_configs_map();
|
$editorConfigMap = HTMLEditorConfig::get_available_configs_map();
|
||||||
if(count($editorConfigMap) > 1) {
|
if(count($editorConfigMap) > 1) {
|
||||||
$fields->addFieldToTab('Root.Permissions',
|
$fields->addFieldToTab('Root.Permissions',
|
||||||
new DropdownField(
|
new DropdownField(
|
||||||
|
@ -1647,7 +1647,7 @@ class Member extends DataObject implements TemplateGlobalProvider {
|
|||||||
foreach($this->Groups() as $group) {
|
foreach($this->Groups() as $group) {
|
||||||
$configName = $group->HtmlEditorConfig;
|
$configName = $group->HtmlEditorConfig;
|
||||||
if($configName) {
|
if($configName) {
|
||||||
$config = HtmlEditorConfig::get($group->HtmlEditorConfig);
|
$config = HTMLEditorConfig::get($group->HtmlEditorConfig);
|
||||||
if($config && $config->getOption('priority') > $currentPriority) {
|
if($config && $config->getOption('priority') > $currentPriority) {
|
||||||
$currentName = $configName;
|
$currentName = $configName;
|
||||||
$currentPriority = $config->getOption('priority');
|
$currentPriority = $config->getOption('priority');
|
||||||
|
@ -89,7 +89,7 @@ class FormScaffolderTest extends SapphireTest {
|
|||||||
$article1 = $this->objFromFixture('FormScaffolderTest_Article', 'article1');
|
$article1 = $this->objFromFixture('FormScaffolderTest_Article', 'article1');
|
||||||
|
|
||||||
$fields = $article1->scaffoldFormFields(array(
|
$fields = $article1->scaffoldFormFields(array(
|
||||||
'fieldClasses' => array('Title' => 'HtmlEditorField')
|
'fieldClasses' => array('Title' => 'HTMLEditorField')
|
||||||
));
|
));
|
||||||
$form = new Form(new Controller(), 'TestForm', $fields, new FieldList());
|
$form = new Form(new Controller(), 'TestForm', $fields, new FieldList());
|
||||||
$form->loadDataFrom($article1);
|
$form->loadDataFrom($article1);
|
||||||
@ -99,7 +99,7 @@ class FormScaffolderTest extends SapphireTest {
|
|||||||
);
|
);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
get_class($fields->dataFieldByName('Title')),
|
get_class($fields->dataFieldByName('Title')),
|
||||||
'HtmlEditorField',
|
'HTMLEditorField',
|
||||||
'getCMSFields() doesnt include fields left out in a "restrictFields" definition'
|
'getCMSFields() doesnt include fields left out in a "restrictFields" definition'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* @package framework
|
* @package framework
|
||||||
* @subpackage tests
|
* @subpackage tests
|
||||||
*/
|
*/
|
||||||
class HtmlEditorConfigTest extends SapphireTest {
|
class HTMLEditorConfigTest extends SapphireTest {
|
||||||
|
|
||||||
public function testEnablePluginsByString() {
|
public function testEnablePluginsByString() {
|
||||||
$c = new TinyMCEConfig();
|
$c = new TinyMCEConfig();
|
||||||
@ -75,14 +75,14 @@ class HtmlEditorConfigTest extends SapphireTest {
|
|||||||
$this->assertEquals(['plugin4', 'plugin5'], $c->getInternalPlugins());
|
$this->assertEquals(['plugin4', 'plugin5'], $c->getInternalPlugins());
|
||||||
|
|
||||||
// Test plugins included via gzip compresser
|
// Test plugins included via gzip compresser
|
||||||
Config::inst()->update('HtmlEditorField', 'use_gzip', true);
|
Config::inst()->update('HTMLEditorField', 'use_gzip', true);
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
'framework/thirdparty/tinymce/tiny_mce_gzip.php?js=1&plugins=plugin4,plugin5&themes=modern&languages=es&diskcache=true&src=true',
|
'framework/thirdparty/tinymce/tiny_mce_gzip.php?js=1&plugins=plugin4,plugin5&themes=modern&languages=es&diskcache=true&src=true',
|
||||||
$c->getScriptURL()
|
$c->getScriptURL()
|
||||||
);
|
);
|
||||||
|
|
||||||
// If gzip is disabled only the core plugin is loaded
|
// If gzip is disabled only the core plugin is loaded
|
||||||
Config::inst()->remove('HtmlEditorField', 'use_gzip');
|
Config::inst()->remove('HTMLEditorField', 'use_gzip');
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
'framework/thirdparty/tinymce/tinymce.min.js',
|
'framework/thirdparty/tinymce/tinymce.min.js',
|
||||||
$c->getScriptURL()
|
$c->getScriptURL()
|
||||||
@ -122,8 +122,8 @@ class HtmlEditorConfigTest extends SapphireTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function testRequireJSIncludesAllConfigs() {
|
public function testRequireJSIncludesAllConfigs() {
|
||||||
$a = HtmlEditorConfig::get('configA');
|
$a = HTMLEditorConfig::get('configA');
|
||||||
$c = HtmlEditorConfig::get('configB');
|
$c = HTMLEditorConfig::get('configB');
|
||||||
|
|
||||||
$aAttributes = $a->getAttributes();
|
$aAttributes = $a->getAttributes();
|
||||||
$cAttributes = $c->getAttributes();
|
$cAttributes = $c->getAttributes();
|
@ -6,23 +6,23 @@ use Filesystem as SS_Filesystem;
|
|||||||
* @package framework
|
* @package framework
|
||||||
* @subpackage tests
|
* @subpackage tests
|
||||||
*/
|
*/
|
||||||
class HtmlEditorFieldTest extends FunctionalTest {
|
class HTMLEditorFieldTest extends FunctionalTest {
|
||||||
|
|
||||||
protected static $fixture_file = 'HtmlEditorFieldTest.yml';
|
protected static $fixture_file = 'HTMLEditorFieldTest.yml';
|
||||||
|
|
||||||
protected static $use_draft_site = true;
|
protected static $use_draft_site = true;
|
||||||
|
|
||||||
protected $requiredExtensions = array(
|
protected $requiredExtensions = array(
|
||||||
'HtmlEditorField_Toolbar' => array('HtmlEditorFieldTest_DummyMediaFormFieldExtension')
|
'HTMLEditorField_Toolbar' => array('HTMLEditorFieldTest_DummyMediaFormFieldExtension')
|
||||||
);
|
);
|
||||||
|
|
||||||
protected $extraDataObjects = array('HtmlEditorFieldTest_Object');
|
protected $extraDataObjects = array('HTMLEditorFieldTest_Object');
|
||||||
|
|
||||||
public function setUp() {
|
public function setUp() {
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
// Set backend root to /HtmlEditorFieldTest
|
// Set backend root to /HTMLEditorFieldTest
|
||||||
AssetStoreTest_SpyStore::activate('HtmlEditorFieldTest');
|
AssetStoreTest_SpyStore::activate('HTMLEditorFieldTest');
|
||||||
|
|
||||||
// Create a test files for each of the fixture references
|
// Create a test files for each of the fixture references
|
||||||
$files = File::get()->exclude('ClassName', 'Folder');
|
$files = File::get()->exclude('ClassName', 'Folder');
|
||||||
@ -40,8 +40,8 @@ class HtmlEditorFieldTest extends FunctionalTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function testBasicSaving() {
|
public function testBasicSaving() {
|
||||||
$obj = new HtmlEditorFieldTest_Object();
|
$obj = new HTMLEditorFieldTest_Object();
|
||||||
$editor = new HtmlEditorField('Content');
|
$editor = new HTMLEditorField('Content');
|
||||||
|
|
||||||
$editor->setValue('<p class="foo">Simple Content</p>');
|
$editor->setValue('<p class="foo">Simple Content</p>');
|
||||||
$editor->saveInto($obj);
|
$editor->saveInto($obj);
|
||||||
@ -53,8 +53,8 @@ class HtmlEditorFieldTest extends FunctionalTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function testNullSaving() {
|
public function testNullSaving() {
|
||||||
$obj = new HtmlEditorFieldTest_Object();
|
$obj = new HTMLEditorFieldTest_Object();
|
||||||
$editor = new HtmlEditorField('Content');
|
$editor = new HTMLEditorField('Content');
|
||||||
|
|
||||||
$editor->setValue(null);
|
$editor->setValue(null);
|
||||||
$editor->saveInto($obj);
|
$editor->saveInto($obj);
|
||||||
@ -62,8 +62,8 @@ class HtmlEditorFieldTest extends FunctionalTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function testResizedImageInsertion() {
|
public function testResizedImageInsertion() {
|
||||||
$obj = new HtmlEditorFieldTest_Object();
|
$obj = new HTMLEditorFieldTest_Object();
|
||||||
$editor = new HtmlEditorField('Content');
|
$editor = new HTMLEditorField('Content');
|
||||||
|
|
||||||
$fileID = $this->idFromFixture('Image', 'example_image');
|
$fileID = $this->idFromFixture('Image', 'example_image');
|
||||||
$editor->setValue(sprintf(
|
$editor->setValue(sprintf(
|
||||||
@ -84,24 +84,24 @@ class HtmlEditorFieldTest extends FunctionalTest {
|
|||||||
$this->assertEquals(20, (int)$xml[0]['height'], 'Height tag of resized image is set.');
|
$this->assertEquals(20, (int)$xml[0]['height'], 'Height tag of resized image is set.');
|
||||||
|
|
||||||
$neededFilename
|
$neededFilename
|
||||||
= '/assets/HtmlEditorFieldTest/f5c7c2f814/HTMLEditorFieldTest-example__ResizedImageWyIxMCIsIjIwIl0.jpg';
|
= '/assets/HTMLEditorFieldTest/f5c7c2f814/HTMLEditorFieldTest-example__ResizedImageWyIxMCIsIjIwIl0.jpg';
|
||||||
|
|
||||||
$this->assertEquals($neededFilename, (string)$xml[0]['src'], 'Correct URL of resized image is set.');
|
$this->assertEquals($neededFilename, (string)$xml[0]['src'], 'Correct URL of resized image is set.');
|
||||||
$this->assertTrue(file_exists(BASE_PATH.DIRECTORY_SEPARATOR.$neededFilename), 'File for resized image exists');
|
$this->assertTrue(file_exists(BASE_PATH.DIRECTORY_SEPARATOR.$neededFilename), 'File for resized image exists');
|
||||||
$this->assertEquals(false, $obj->HasBrokenFile, 'Referenced image file exists.');
|
$this->assertEquals(false, $obj->HasBrokenFile, 'Referenced image file exists.');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testMultiLineSaving() {
|
public function testMultiLineSaving() {
|
||||||
$obj = $this->objFromFixture('HtmlEditorFieldTest_Object', 'home');
|
$obj = $this->objFromFixture('HTMLEditorFieldTest_Object', 'home');
|
||||||
$editor = new HtmlEditorField('Content');
|
$editor = new HTMLEditorField('Content');
|
||||||
$editor->setValue('<p>First Paragraph</p><p>Second Paragraph</p>');
|
$editor->setValue('<p>First Paragraph</p><p>Second Paragraph</p>');
|
||||||
$editor->saveInto($obj);
|
$editor->saveInto($obj);
|
||||||
$this->assertEquals('<p>First Paragraph</p><p>Second Paragraph</p>', $obj->Content);
|
$this->assertEquals('<p>First Paragraph</p><p>Second Paragraph</p>', $obj->Content);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testSavingLinksWithoutHref() {
|
public function testSavingLinksWithoutHref() {
|
||||||
$obj = $this->objFromFixture('HtmlEditorFieldTest_Object', 'home');
|
$obj = $this->objFromFixture('HTMLEditorFieldTest_Object', 'home');
|
||||||
$editor = new HtmlEditorField('Content');
|
$editor = new HTMLEditorField('Content');
|
||||||
|
|
||||||
$editor->setValue('<p><a name="example-anchor"></a></p>');
|
$editor->setValue('<p><a name="example-anchor"></a></p>');
|
||||||
$editor->saveInto($obj);
|
$editor->saveInto($obj);
|
||||||
@ -140,24 +140,24 @@ class HtmlEditorFieldTest extends FunctionalTest {
|
|||||||
'PageID' => $page->ID,
|
'PageID' => $page->ID,
|
||||||
));
|
));
|
||||||
|
|
||||||
$toolBar = new HtmlEditorField_Toolbar(new Controller(), 'test');
|
$toolBar = new HTMLEditorField_Toolbar(new Controller(), 'test');
|
||||||
$toolBar->setRequest($request);
|
$toolBar->setRequest($request);
|
||||||
|
|
||||||
$results = json_decode($toolBar->getanchors(), true);
|
$results = json_decode($toolBar->getanchors(), true);
|
||||||
$this->assertEquals($expected, $results);
|
$this->assertEquals($expected, $results);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testHtmlEditorFieldFileLocal() {
|
public function testHTMLEditorFieldFileLocal() {
|
||||||
$file = new HtmlEditorField_Image('http://domain.com/folder/my_image.jpg?foo=bar');
|
$file = new HTMLEditorField_Image('http://domain.com/folder/my_image.jpg?foo=bar');
|
||||||
$this->assertEquals('http://domain.com/folder/my_image.jpg?foo=bar', $file->URL);
|
$this->assertEquals('http://domain.com/folder/my_image.jpg?foo=bar', $file->URL);
|
||||||
$this->assertEquals('my_image.jpg', $file->Name);
|
$this->assertEquals('my_image.jpg', $file->Name);
|
||||||
$this->assertEquals('jpg', $file->Extension);
|
$this->assertEquals('jpg', $file->Extension);
|
||||||
// TODO Can't easily test remote file dimensions
|
// TODO Can't easily test remote file dimensions
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testHtmlEditorFieldFileRemote() {
|
public function testHTMLEditorFieldFileRemote() {
|
||||||
$fileFixture = new File(array('Name' => 'my_local_image.jpg', 'Filename' => 'folder/my_local_image.jpg'));
|
$fileFixture = new File(array('Name' => 'my_local_image.jpg', 'Filename' => 'folder/my_local_image.jpg'));
|
||||||
$file = new HtmlEditorField_Image('http://localdomain.com/folder/my_local_image.jpg', $fileFixture);
|
$file = new HTMLEditorField_Image('http://localdomain.com/folder/my_local_image.jpg', $fileFixture);
|
||||||
$this->assertEquals('http://localdomain.com/folder/my_local_image.jpg', $file->URL);
|
$this->assertEquals('http://localdomain.com/folder/my_local_image.jpg', $file->URL);
|
||||||
$this->assertEquals('my_local_image.jpg', $file->Name);
|
$this->assertEquals('my_local_image.jpg', $file->Name);
|
||||||
$this->assertEquals('jpg', $file->Extension);
|
$this->assertEquals('jpg', $file->Extension);
|
||||||
@ -168,7 +168,7 @@ class HtmlEditorFieldTest extends FunctionalTest {
|
|||||||
* @package framework
|
* @package framework
|
||||||
* @subpackage tests
|
* @subpackage tests
|
||||||
*/
|
*/
|
||||||
class HtmlEditorFieldTest_DummyMediaFormFieldExtension extends Extension implements TestOnly {
|
class HTMLEditorFieldTest_DummyMediaFormFieldExtension extends Extension implements TestOnly {
|
||||||
public static $fields = null;
|
public static $fields = null;
|
||||||
public static $update_called = false;
|
public static $update_called = false;
|
||||||
|
|
||||||
@ -178,7 +178,7 @@ class HtmlEditorFieldTest_DummyMediaFormFieldExtension extends Extension impleme
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class HtmlEditorFieldTest_Object extends DataObject implements TestOnly {
|
class HTMLEditorFieldTest_Object extends DataObject implements TestOnly {
|
||||||
private static $db = array(
|
private static $db = array(
|
||||||
'Title' => 'Varchar',
|
'Title' => 'Varchar',
|
||||||
'Content' => 'HTMLText',
|
'Content' => 'HTMLText',
|
@ -4,7 +4,7 @@ Image:
|
|||||||
FileHash: f5c7c2f814b0f20ceb30b72edbac220d6eff65ed
|
FileHash: f5c7c2f814b0f20ceb30b72edbac220d6eff65ed
|
||||||
Name: HTMLEditorFieldTest_example.jpg
|
Name: HTMLEditorFieldTest_example.jpg
|
||||||
|
|
||||||
HtmlEditorFieldTest_Object:
|
HTMLEditorFieldTest_Object:
|
||||||
home:
|
home:
|
||||||
Title: Home Page
|
Title: Home Page
|
||||||
about:
|
about:
|
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
class HtmlEditorFieldToolbarTest_Toolbar extends HtmlEditorField_Toolbar {
|
class HTMLEditorFieldToolbarTest_Toolbar extends HTMLEditorField_Toolbar {
|
||||||
public function viewfile_getLocalFileByID($id) {
|
public function viewfile_getLocalFileByID($id) {
|
||||||
return parent::viewfile_getLocalFileByID($id);
|
return parent::viewfile_getLocalFileByID($id);
|
||||||
}
|
}
|
||||||
@ -10,22 +10,22 @@ class HtmlEditorFieldToolbarTest_Toolbar extends HtmlEditorField_Toolbar {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class HtmlEditorFieldToolbarTest extends SapphireTest {
|
class HTMLEditorFieldToolbarTest extends SapphireTest {
|
||||||
|
|
||||||
protected static $fixture_file = 'HtmlEditorFieldToolbarTest.yml';
|
protected static $fixture_file = 'HTMLEditorFieldToolbarTest.yml';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return HtmlEditorFieldToolbarTest_Toolbar
|
* @return HTMLEditorFieldToolbarTest_Toolbar
|
||||||
*/
|
*/
|
||||||
protected function getToolbar() {
|
protected function getToolbar() {
|
||||||
return new HtmlEditorFieldToolbarTest_Toolbar(null, '/');
|
return new HTMLEditorFieldToolbarTest_Toolbar(null, '/');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setUp() {
|
public function setUp() {
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
Config::inst()->update('HtmlEditorField_Toolbar', 'fileurl_scheme_whitelist', array('http'));
|
Config::inst()->update('HTMLEditorField_Toolbar', 'fileurl_scheme_whitelist', array('http'));
|
||||||
Config::inst()->update('HtmlEditorField_Toolbar', 'fileurl_domain_whitelist', array('example.com'));
|
Config::inst()->update('HTMLEditorField_Toolbar', 'fileurl_domain_whitelist', array('example.com'));
|
||||||
|
|
||||||
// Filesystem mock
|
// Filesystem mock
|
||||||
AssetStoreTest_SpyStore::activate(__CLASS__);
|
AssetStoreTest_SpyStore::activate(__CLASS__);
|
||||||
@ -49,7 +49,7 @@ class HtmlEditorFieldToolbarTest extends SapphireTest {
|
|||||||
/** @var File $exampleFile */
|
/** @var File $exampleFile */
|
||||||
$exampleFile = $this->objFromFixture('File', 'example_file');
|
$exampleFile = $this->objFromFixture('File', 'example_file');
|
||||||
$expectedUrl = $exampleFile->AbsoluteLink();
|
$expectedUrl = $exampleFile->AbsoluteLink();
|
||||||
Config::inst()->update('HtmlEditorField_Toolbar', 'fileurl_domain_whitelist', array(
|
Config::inst()->update('HTMLEditorField_Toolbar', 'fileurl_domain_whitelist', array(
|
||||||
'example.com',
|
'example.com',
|
||||||
strtolower(parse_url($expectedUrl, PHP_URL_HOST))
|
strtolower(parse_url($expectedUrl, PHP_URL_HOST))
|
||||||
));
|
));
|
@ -3,7 +3,7 @@
|
|||||||
* @package framework
|
* @package framework
|
||||||
* @subpackage tests
|
* @subpackage tests
|
||||||
*/
|
*/
|
||||||
class HtmlEditorSanitiserTest extends FunctionalTest {
|
class HTMLEditorSanitiserTest extends FunctionalTest {
|
||||||
|
|
||||||
public function testSanitisation() {
|
public function testSanitisation() {
|
||||||
$tests = array(
|
$tests = array(
|
||||||
@ -39,7 +39,7 @@ class HtmlEditorSanitiserTest extends FunctionalTest {
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
$config = HtmlEditorConfig::get('htmleditorsanitisertest');
|
$config = HTMLEditorConfig::get('htmleditorsanitisertest');
|
||||||
|
|
||||||
foreach($tests as $test) {
|
foreach($tests as $test) {
|
||||||
list($validElements, $input, $output, $desc) = $test;
|
list($validElements, $input, $output, $desc) = $test;
|
Loading…
Reference in New Issue
Block a user