Version 4.1.2

This commit is contained in:
Neo committed 2025-12-19 05:32:19 -08:00
1 parent 3ba79295ee
commit 28bd025b35
1131 files changed
+63658 -20579

No files matched your search

+22 -1
View File
@@ -70,7 +70,7 @@ class _Application extends \IPS\Application
$badge = array(
0 => 'new',
1 => '',
2 => \IPS\Theme::i()->getTemplate( 'global', 'core' )->updatebadge( $data['version'], \IPS\Http\Url::internal( 'app=core&module=overview&controller=dashboard&do=upgrade', 'admin' ), $released, FALSE )
2 => \IPS\Theme::i()->getTemplate( 'global', 'core' )->updatebadge( $data['version'], \IPS\Http\Url::internal( 'app=core&module=system&controller=upgrade', 'admin' ), $released, FALSE )
);
}
}
@@ -88,4 +88,25 @@ class _Application extends \IPS\Application
{
return 'cogs';
}
/**
* Can view page even when user is a guest when guests cannot access the site
*
* @param \IPS\Application\Module $module The module
* @param string $controller The controller
* @param string|NULL $do To "do" parameter
* @return bool
*/
public function allowGuestAccess( \IPS\Application\Module $module, $controller, $do )
{
return (
$module->key == 'system'
and
in_array( $controller, array( 'login', 'register', 'lostpass', 'terms', 'ajax', 'privacy', 'editor', 'language', 'theme' ) )
)
or
(
$module->key == 'contact' and $controller == 'contact'
);
}
}
+23 -3
View File
@@ -4,7 +4,7 @@
"tab": "core",
"controller": "dashboard",
"do": "",
"restriction": null
"restriction": "view_dashboard"
},
"security": {
"tab": "core",
@@ -37,6 +37,12 @@
"controller": "plugins",
"do": "",
"restriction": "plugins_view"
},
"menu": {
"tab": "core",
"controller": "menu",
"do": "",
"restriction": "menu_manage"
}
},
"settings": {
@@ -62,7 +68,7 @@
"tab": "core",
"controller": "posting",
"do": "",
"restriction": null
"restriction": "posting_manage"
},
"email": {
"tab": "core",
@@ -81,12 +87,20 @@
"controller": "advanced",
"do": "",
"restriction": "advanced_manage"
},
}
},
"discovery": {
"search": {
"tab": "core",
"controller": "search",
"do": "",
"restriction": "search_manage"
},
"streams": {
"tab": "core",
"controller": "streams",
"do": "",
"restriction": "streams_manage"
}
},
"promotion": {
@@ -233,6 +247,12 @@
"controller": "emoticons",
"do": "",
"restriction": "emoticons_manage"
},
"settings": {
"tab": "customization",
"controller": "settings",
"do": "",
"restriction": "settings_manage"
}
},
"languages": {
+20 -3
View File
@@ -14,6 +14,9 @@
"plugins_install": "plugins_install",
"plugins_edit": "plugins_edit",
"plugins_uninstall": "plugins_uninstall"
},
"menu": {
"menu_manage": "menu_manage"
}
},
"promotion": {
@@ -70,9 +73,14 @@
"advanced_manage_tasks": "advanced_manage_tasks",
"advanced_manage_furls": "advanced_manage_furls",
"datastore": "datastore"
},
}
},
"discovery": {
"search": {
"search_manage": "search_manage"
},
"streams": {
"streams_manage": "streams_manage"
}
},
"members": {
@@ -200,6 +208,9 @@
"emoticons_add": "emoticons_add",
"emoticons_edit": "emoticons_edit",
"delete": "emoticons_delete"
},
"settings": {
"settings_manage": "settings_manage"
}
},
"customization": {
@@ -236,14 +247,20 @@
}
},
"overview": {
"dashboard": {
"view_dashboard": "view_dashboard"
},
"security": {
"security_manage": "security_manage"
},
"files": {
"files_view": "files_view",
"files_delete": "files_delete",
"files_settings": "files_settings",
"orphaned_files": "orphaned_files"
},
"security": {
"security_manage": "security_manage"
"upgrade": {
"upgrade_manage": "upgrade_manage"
}
},
"support": {
File diff suppressed because it is too large. Load diff
@@ -17,4 +17,4 @@ namespace IPS\{app};
class _Application extends \IPS\Application
{
}
}
@@ -46,4 +46,4 @@ class _{controller} extends \IPS\Dispatcher\Controller
}
// Create new methods with the same name as the 'do' parameter which should execute it
}
}
@@ -48,4 +48,4 @@ class _{controller} extends \IPS\Dispatcher\Controller
/* Display */
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'global', 'core' )->block( 'title', (string) $table );
}
}
}
@@ -39,4 +39,4 @@ class _{controller} extends \IPS\Node\Controller
{restriction}
parent::execute();
}
}
}
+1 -1
View File
@@ -53,4 +53,4 @@ class _{key} extends \IPS\Task
{
}
}
}
+1 -1
View File
@@ -39,4 +39,4 @@ class _Upgrade
// You can create as many additional methods (step2, step3, etc.) as is necessary.
// Each step will be executed in a new HTTP request
}
}
@@ -37,4 +37,4 @@ class ips_{app}_setup_upg_{version_long}
// You can create as many additional methods (step2, step3, etc.) as is necessary.
// Each step will be executed in a new HTTP request
}
}
+1 -1
View File
@@ -95,4 +95,4 @@ class _{key} extends {class}
// Use $this->output( $foo, $bar ); to return a string generated by the template set in init() or manually added via $widget->template( $callback );
// Note you MUST route output through $this->output() rather than calling \IPS\Theme::i()->getTemplate() because of the way widgets are cached
}
}
}
@@ -27,5 +27,19 @@ class _{class}
/**
* @brief Content Item Classes
*/
public $classes = array( 'IPS\{app}\Example' );
public $classes = array();
/**
* Constructor
*
* @param \IPS\Member|NULL $member If checking access, the member to check for, or NULL to not check access
* @return void
*/
public function __construct( \IPS\Member $member = NULL )
{
if ( $member === NULL or $member->canAccessModule( \IPS\Application\Module::get( '{app}', '{module}', 'front' ) ) )
{
$this->classes[] = 'IPS\{app}\{example}';
}
}
}
@@ -22,8 +22,18 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
/**
* Front Navigation Extension: {class}
*/
class _{class}
class _{class} extends \IPS\core\FrontNavigation\FrontNavigationAbstract
{
/**
* Get Type Title which will display in the AdminCP Menu Manager
*
* @return string
*/
public static function typeTitle()
{
return \IPS\Member::loggedIn()->language()->addToStack('frontnavigation_{app}');
}
/**
* Can access?
*
@@ -27,7 +27,7 @@ class _{class}
/**
* Process Form
*
* @param \IPS\Form\Tabbed $form The form
* @param \IPS\Helpers\Form $form The form
* @param \IPS\Member\Group $group Existing Group
* @return void
*/
@@ -45,7 +45,7 @@ class _{class}
/**
* Process Form
*
* @param \IPS\Form\Tabbed $form The form
* @param \IPS\Helpers\Form $form The form
* @param \IPS\Member $member Existing Member
* @return void
*/
@@ -32,10 +32,9 @@ class _{class}
/**
* Add settings for ACP configuration to the form
*
* @param IPS\Helpers\Form $form Form to add any settings to
* @return void
* @return array
*/
public function settings( &$form )
public function settings()
{
}
File diff suppressed because it is too large. Load diff
+33 -21
View File
@@ -220,17 +220,7 @@
"verify": "\\IPS\\Member",
"alias": "user/{#id}-{?}"
},
/* Status Updates */
"status_following": {
"friendly": "statuses/following",
"real": "app=core&module=status&controller=feed&following=1"
},
"status": {
"friendly": "statuses",
"real": "app=core&module=status&controller=feed"
},
/* Mod CP */
"modcp_announcements": {
"friendly": "modcp/announcements",
@@ -328,17 +318,39 @@
"friendly": "search",
"real": "app=core&module=search&controller=search"
},
/* New Content */
"vnc" : {
"friendly": "new-content",
"real": "app=core&module=system&controller=vnc"
/* Discover */
"discover_unread": {
"friendly": "discover/unread",
"real": "app=core&module=discover&controller=streams&id=1"
},
/* New Content */
"activity" : {
"friendly": "activity",
"real": "app=core&module=activity&controller=activity"
"discover_istarted": {
"friendly": "discover/content-started",
"real": "app=core&module=discover&controller=streams&id=2"
},
"discover_followed": {
"friendly": "discover/followed-content",
"real": "app=core&module=discover&controller=streams&id=3"
},
"discover_following": {
"friendly": "discover/followed-members",
"real": "app=core&module=discover&controller=streams&id=4"
},
"discover_posted": {
"friendly": "discover/content-posted",
"real": "app=core&module=discover&controller=streams&id=5"
},
"discover_stream": {
"friendly": "discover/{#id}",
"real": "app=core&module=discover&controller=streams"
},
"discover_rss": {
"friendly": "discover/{#id}.xml",
"real": "app=core&module=discover&controller=streams&rss=1"
},
"discover_all": {
"friendly": "discover",
"real": "app=core&module=discover&controller=streams"
},
/* Language Selector */
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+8 -3
View File
@@ -75,6 +75,10 @@
"diagnostics": {
"default_controller": null,
"protected": null
},
"discovery": {
"default_controller": "",
"protected": 0
}
},
"front": {
@@ -118,9 +122,10 @@
"default_controller": "dashboard",
"protected": 1
},
"activity": {
"default_controller": "",
"protected": 0
"discover": {
"default_controller": "streams",
"protected": 0,
"default": true
},
"staffdirectory": {
"default_controller": "directory",
+736 -62
View File
@@ -1654,20 +1654,6 @@
"values": [],
"zerofill": false
},
"vnc_preferences": {
"allow_null": true,
"auto_increment": false,
"binary": false,
"comment": "Stores VNC option preferences",
"decimals": null,
"default": null,
"length": 0,
"name": "vnc_preferences",
"type": "TEXT",
"unsigned": false,
"values": [],
"zerofill": false
},
"marked_site_read": {
"allow_null": true,
"auto_increment": false,
@@ -1765,6 +1751,34 @@
"zerofill": false,
"auto_increment": false,
"binary": false
},
"member_streams": {
"name": "member_streams",
"type": "TEXT",
"length": null,
"decimals": null,
"values": [],
"allow_null": true,
"default": null,
"comment": "",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"photo_last_update": {
"name": "photo_last_update",
"type": "INT",
"length": 10,
"decimals": null,
"values": [],
"allow_null": true,
"default": null,
"comment": "",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
}
},
"indexes": {
@@ -2928,10 +2942,10 @@
"g_max_messages": "0",
"g_max_mass_pm": "0",
"g_search_flood": "0",
"g_edit_cutoff": "0",
"g_edit_cutoff": "5",
"g_promotion": "-1&-1",
"g_photo_max_vars": "1024:500:500",
"g_dohtml": "1",
"g_photo_max_vars": "500:170:240",
"g_dohtml": "0",
"g_bypass_badwords": "1",
"g_can_msg_attach": "1",
"g_attach_per_post": "0",
@@ -2942,13 +2956,13 @@
"g_rep_max_negative": "100",
"g_signature_limits": "0:::::",
"g_hide_online_list": "0",
"g_bitoptions": "1099890816",
"g_bitoptions": "26148875",
"g_pm_perday": "0",
"g_mod_post_unit": "0",
"g_ppd_limit": "0",
"g_ppd_unit": "0",
"g_mod_post_unit": "5",
"g_ppd_limit": "500",
"g_ppd_unit": "5",
"g_displayname_unit": "0",
"g_sig_unit": "0",
"g_sig_unit": "5",
"g_pm_flood_mins": "0",
"g_max_bgimg_upload": "-1",
"g_post_polls": "1",
@@ -6710,6 +6724,48 @@
"zerofill": false,
"auto_increment": false,
"binary": false
},
"image_2x": {
"name": "image_2x",
"type": "TEXT",
"length": null,
"decimals": null,
"values": [],
"allow_null": true,
"default": null,
"comment": "",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"width": {
"name": "width",
"type": "SMALLINT",
"length": 3,
"decimals": null,
"values": [],
"allow_null": false,
"default": "0",
"comment": "",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"height": {
"name": "height",
"type": "SMALLINT",
"length": 3,
"decimals": null,
"values": [],
"allow_null": false,
"default": "0",
"comment": "",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
}
},
"indexes": {
@@ -8141,9 +8197,9 @@
"comment": "",
"decimals": null,
"default": null,
"length": 255,
"length": 0,
"name": "a_short",
"type": "VARCHAR",
"type": "TEXT",
"unsigned": false,
"values": [],
"zerofill": false
@@ -8155,9 +8211,9 @@
"comment": "",
"decimals": null,
"default": null,
"length": 255,
"length": 0,
"name": "a_long",
"type": "VARCHAR",
"type": "TEXT",
"unsigned": false,
"values": [],
"zerofill": false
@@ -8198,7 +8254,9 @@
"a_short"
]
}
}
},
"collation": "utf8mb4_unicode_ci",
"engine": "InnoDB"
},
"core_email_templates": {
"name": "core_email_templates",
@@ -15838,6 +15896,20 @@
"unsigned": false,
"values": [],
"zerofill": false
},
"follow_index_id": {
"name": "follow_index_id",
"type": "BIGINT",
"length": 20,
"decimals": null,
"values": [],
"allow_null": true,
"default": null,
"comment": "The ID from core_search_index",
"unsigned": true,
"zerofill": false,
"auto_increment": false,
"binary": false
}
},
"indexes": {
@@ -15870,11 +15942,11 @@
"name": "notification_task",
"length": [
null,
131,
182,
97,
135,
null,
null,
2
1
],
"columns": [
"follow_notify_do",
@@ -15913,10 +15985,10 @@
"type": "key",
"name": "followers",
"length": [
127,
169,
93,
124,
null,
16
11
],
"columns": [
"follow_app",
@@ -15926,7 +15998,7 @@
]
}
},
"collation": "utf8_unicode_ci",
"collation": "utf8mb4_unicode_ci",
"engine": "MyISAM"
},
"core_ipsconnect_queue": {
@@ -16092,9 +16164,9 @@
"comment": "",
"decimals": null,
"default": "0",
"length": 5,
"length": 9,
"name": "votes",
"type": "SMALLINT",
"type": "MEDIUMINT",
"unsigned": false,
"values": [],
"zerofill": false
@@ -16177,7 +16249,9 @@
"tid"
]
}
}
},
"collation": "utf8mb4_unicode_ci",
"engine": "InnoDB"
},
"core_voters": {
"name": "core_voters",
@@ -17178,18 +17252,18 @@
"zerofill": false
},
"sdl_obj_key": {
"allow_null": false,
"auto_increment": false,
"binary": false,
"comment": "",
"decimals": null,
"default": "",
"length": 20,
"name": "sdl_obj_key",
"type": "VARCHAR",
"unsigned": false,
"length": 128,
"decimals": null,
"values": [],
"zerofill": false
"allow_null": false,
"default": "",
"comment": "",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"sdl_obj_member_id": {
"allow_null": false,
@@ -17482,18 +17556,18 @@
"zerofill": false
},
"index_content": {
"allow_null": false,
"auto_increment": false,
"binary": false,
"comment": "The plain-text content to search",
"decimals": null,
"default": "",
"length": 0,
"name": "index_content",
"type": "MEDIUMTEXT",
"length": 0,
"decimals": null,
"values": [],
"allow_null": false,
"default": "",
"comment": "The plain-text content to search",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
"values": [],
"zerofill": false
},
"index_permissions": {
"allow_null": false,
@@ -17592,6 +17666,48 @@
"unsigned": false,
"values": [],
"zerofill": false
},
"index_item_index_id": {
"allow_null": true,
"auto_increment": false,
"binary": false,
"comment": "The index ID of the item",
"decimals": null,
"default": null,
"length": 20,
"name": "index_item_index_id",
"type": "BIGINT",
"unsigned": true,
"values": [],
"zerofill": false
},
"index_item_author": {
"allow_null": true,
"auto_increment": false,
"binary": false,
"comment": "The author of the item",
"decimals": null,
"default": null,
"length": 8,
"name": "index_item_author",
"type": "MEDIUMINT",
"unsigned": false,
"values": [],
"zerofill": false
},
"index_is_last_comment": {
"allow_null": false,
"auto_increment": false,
"binary": false,
"comment": "Is this the last comment\/review on an item?",
"decimals": null,
"default": "0",
"length": 1,
"name": "index_is_last_comment",
"type": "TINYINT",
"unsigned": false,
"values": [],
"zerofill": false
}
},
"indexes": {
@@ -17655,6 +17771,26 @@
"index_container_id"
]
},
"index_date_updated": {
"type": "key",
"name": "index_date_updated",
"length": [
null
],
"columns": [
"index_date_updated"
]
},
"index_date_created": {
"type": "key",
"name": "index_date_created",
"length": [
null
],
"columns": [
"index_date_created"
]
},
"index_content": {
"type": "fulltext",
"name": "index_content",
@@ -17667,19 +17803,29 @@
"index_title"
]
},
"index_date_updated": {
"type": "key",
"name": "index_date_updated",
"columns": [
"index_date_updated"
],
"index_tags": {
"type": "fulltext",
"name": "index_tags",
"length": [
null
],
"columns": [
"index_tags"
]
},
"index_title": {
"type": "fulltext",
"name": "index_title",
"length": [
null
],
"columns": [
"index_title"
]
}
},
"collation": "utf8mb4_unicode_ci",
"engine": "InnoDB"
"engine": "MyISAM"
},
"core_widget_trash": {
"name": "core_widget_trash",
@@ -18163,5 +18309,533 @@
]
}
}
},
"core_menu": {
"name": "core_menu",
"columns": {
"id": {
"allow_null": false,
"auto_increment": true,
"binary": false,
"comment": "ID Number",
"decimals": null,
"default": null,
"length": 20,
"name": "id",
"type": "BIGINT",
"unsigned": true,
"values": [],
"zerofill": false
},
"app": {
"allow_null": false,
"auto_increment": false,
"binary": false,
"comment": "The application key for the item",
"decimals": null,
"default": "",
"length": 250,
"name": "app",
"type": "VARCHAR",
"unsigned": false,
"values": [],
"zerofill": false
},
"extension": {
"allow_null": true,
"auto_increment": false,
"binary": false,
"comment": "The FrontNavigation extension key",
"decimals": null,
"default": null,
"length": 255,
"name": "extension",
"type": "VARCHAR",
"unsigned": false,
"values": [],
"zerofill": false
},
"config": {
"allow_null": true,
"auto_increment": false,
"binary": false,
"comment": "Any additional configuration",
"decimals": null,
"default": null,
"length": 0,
"name": "config",
"type": "TEXT",
"unsigned": false,
"values": [],
"zerofill": false
},
"position": {
"allow_null": false,
"auto_increment": false,
"binary": false,
"comment": "This item's position within the bar",
"decimals": null,
"default": "1",
"length": 10,
"name": "position",
"type": "INT",
"unsigned": true,
"values": [],
"zerofill": false
},
"parent": {
"name": "parent",
"type": "INT",
"length": 10,
"decimals": null,
"values": [],
"allow_null": true,
"default": null,
"comment": "The ID of the parent item if this is on the second bar, or NULL if the first bar",
"unsigned": true,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"permissions": {
"name": "permissions",
"type": "TEXT",
"length": null,
"decimals": null,
"values": [],
"allow_null": false,
"default": null,
"comment": "Comma-delimited list of group IDs, or * for all",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
}
},
"indexes": {
"PRIMARY": {
"type": "primary",
"name": "PRIMARY",
"length": [
null
],
"columns": [
"id"
]
}
},
"collation": "utf8mb4_unicode_ci",
"engine": "InnoDB"
},
"core_streams": {
"name": "core_streams",
"columns": {
"id": {
"name": "id",
"type": "BIGINT",
"length": "20",
"unsigned": true,
"zerofill": false,
"binary": false,
"allow_null": false,
"default": null,
"auto_increment": true,
"comment": "ID Number"
},
"classes": {
"name": "classes",
"type": "TEXT",
"length": null,
"decimals": null,
"values": [],
"allow_null": true,
"default": null,
"comment": "The classes this stream will pull from or null for all",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"containers": {
"name": "containers",
"type": "TEXT",
"length": null,
"decimals": null,
"values": [],
"allow_null": true,
"default": null,
"comment": "A JSON-encoded array of classes to allowed containers or NULL for all",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"ownership": {
"name": "ownership",
"type": "ENUM",
"length": null,
"decimals": null,
"values": [
"all",
"started",
"postedin",
"custom"
],
"allow_null": false,
"default": "all",
"comment": "Stream pulls all content or only content the viewer has started or posted in",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"read": {
"name": "read",
"type": "ENUM",
"length": null,
"decimals": null,
"values": [
"all",
"unread"
],
"allow_null": false,
"default": "all",
"comment": "If the stream only includes unread items",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"follow": {
"name": "follow",
"type": "ENUM",
"length": null,
"decimals": null,
"values": [
"all",
"followed"
],
"allow_null": false,
"default": "all",
"comment": "If the stream only shows followed content",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"date_type": {
"name": "date_type",
"type": "ENUM",
"length": null,
"decimals": null,
"values": [
"all",
"last_visit",
"custom",
"relative"
],
"allow_null": false,
"default": "all",
"comment": "The date range for the stream",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"date_start": {
"name": "date_start",
"type": "INT",
"length": 10,
"decimals": null,
"values": [],
"allow_null": true,
"default": null,
"comment": "If using a custom date, the start date",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"date_end": {
"name": "date_end",
"type": "INT",
"length": 10,
"decimals": null,
"values": [],
"allow_null": true,
"default": null,
"comment": "If using a custom date, the end date",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"position": {
"name": "position",
"type": "INT",
"length": 10,
"decimals": null,
"values": [],
"allow_null": false,
"default": null,
"comment": "The position in the list",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"member": {
"name": "member",
"type": "MEDIUMINT",
"length": 8,
"decimals": null,
"values": [],
"allow_null": true,
"default": null,
"comment": "The member who created the stream or null for a global stream",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"sort": {
"name": "sort",
"type": "ENUM",
"length": null,
"decimals": null,
"values": [
"newest",
"oldest"
],
"allow_null": false,
"default": "newest",
"comment": "Whether the stream sorts newest first or oldest first by default",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"date_relative_days": {
"name": "date_relative_days",
"type": "INT",
"length": 10,
"decimals": null,
"values": [],
"allow_null": true,
"default": null,
"comment": "If using a relative date period, the number of days",
"unsigned": true,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"custom_members": {
"name": "custom_members",
"type": "TEXT",
"length": null,
"decimals": null,
"values": [],
"allow_null": true,
"default": null,
"comment": "If using custom ownership, the member IDs",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"tags": {
"name": "tags",
"type": "TEXT",
"length": null,
"decimals": null,
"values": [],
"allow_null": true,
"default": null,
"comment": "Tags to match",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"followed_types": {
"name": "followed_types",
"type": "SET",
"length": null,
"decimals": null,
"values": [
"containers",
"items",
"members"
],
"allow_null": true,
"default": null,
"comment": "If filtering by followed content, what kind of follows to include",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"include_comments": {
"name": "include_comments",
"type": "TINYINT",
"length": 1,
"decimals": null,
"values": [],
"allow_null": false,
"default": "1",
"comment": "Should comments and reviews be included?",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"title": {
"name": "title",
"type": "VARCHAR",
"length": 255,
"decimals": null,
"values": [],
"allow_null": true,
"default": null,
"comment": "If this is a member-created stream, the title (admin created streams use language strings)",
"unsigned": false,
"zerofill": false,
"auto_increment": false,
"binary": false
},
"default": {
"name": "default",
"type": "TINYINT",
"length": 1,
"decimals": null,
"values": [],
"allow_null": false,
"default": "0",
"comment": "Default item shows to the right of the top breadcrumb navigation",
"unsigned": true,
"zerofill": false,
"auto_increment": false,
"binary": false
}
},
"indexes": {
"PRIMARY": {
"type": "primary",
"name": "PRIMARY",
"columns": [
"id"
],
"length": [
null
]
}
},
"inserts": [
{
"id": "1",
"classes": null,
"containers": null,
"ownership": "all",
"read": "unread",
"follow": "all",
"date_type": "all",
"date_start": null,
"date_end": null,
"position": "1",
"member": null,
"sort": "newest",
"date_relative_days": null,
"custom_members": null,
"tags": null,
"followed_types": null,
"include_comments": "0",
"title": null,
"default": "1"
},
{
"id": "2",
"classes": null,
"containers": null,
"ownership": "started",
"read": "all",
"follow": "all",
"date_type": "all",
"date_start": null,
"date_end": null,
"position": "2",
"member": null,
"sort": "newest",
"date_relative_days": null,
"custom_members": null,
"tags": null,
"followed_types": null,
"include_comments": "0",
"title": null,
"default": "0"
},
{
"id": "3",
"classes": null,
"containers": null,
"ownership": "all",
"read": "all",
"follow": "followed",
"date_type": "all",
"date_start": null,
"date_end": null,
"position": "3",
"member": null,
"sort": "newest",
"date_relative_days": null,
"custom_members": null,
"tags": null,
"followed_types": "items",
"include_comments": "1",
"title": null,
"default": "0"
},
{
"id": "4",
"classes": null,
"containers": null,
"ownership": "all",
"read": "all",
"follow": "followed",
"date_type": "all",
"date_start": null,
"date_end": null,
"position": "4",
"member": null,
"sort": "newest",
"date_relative_days": null,
"custom_members": null,
"tags": null,
"followed_types": "members",
"include_comments": "1",
"title": null,
"default": "0"
},
{
"id": "5",
"classes": null,
"containers": null,
"ownership": "postedin",
"read": "all",
"follow": "all",
"date_type": "all",
"date_start": null,
"date_end": null,
"position": "5",
"member": null,
"sort": "newest",
"date_relative_days": null,
"custom_members": null,
"tags": null,
"followed_types": null,
"include_comments": "0",
"title": null,
"default": "0"
}
]
}
}
+65 -97
View File
@@ -19,6 +19,30 @@
"key": "ads_exist",
"default": "0"
},
{
"key": "all_activity_follow_content",
"default": "1"
},
{
"key": "all_activity_follow_member",
"default": "1"
},
{
"key": "all_activity_like",
"default": "1"
},
{
"key": "all_activity_photo",
"default": "1"
},
{
"key": "all_activity_register",
"default": "1"
},
{
"key": "all_activity_rep_neg",
"default": "0"
},
{
"key": "allow_creator_vote",
"default": "1"
@@ -31,6 +55,10 @@
"key": "allow_reg",
"default": "1"
},
{
"key": "allow_remote_images",
"default": "1"
},
{
"key": "allow_result_view",
"default": "1"
@@ -52,12 +80,8 @@
"default": "0x0"
},
{
"key": "auto_track_method",
"default": "0"
},
{
"key": "autoforum_sub_groups",
"default": ""
"key": "auto_polling_enabled",
"default": "1"
},
{
"key": "base_url_stored",
@@ -81,7 +105,7 @@
},
{
"key": "ckeditor_toolbars",
"default": "{\"desktop\":[{\"name\":\"row1\",\"items\":[\"Bold\",\"Italic\",\"Underline\",\"-\",\"ipsLink\",\"ipsQuote\",\"pbckcode\",\"ipsEmoticon\",\"-\",\"BulletedList\",\"NumberedList\",\"-\",\"JustifyLeft\",\"JustifyCenter\",\"JustifyRight\",\"-\",\"Strike\",\"Superscript\",\"Subscript\",\"-\",\"TextColor\",\"Font\",\"FontSize\"]}],\"tablet\":[{\"name\":\"row1\",\"items\":[\"Bold\",\"Italic\",\"Underline\",\"-\",\"ipsLink\",\"ipsQuote\",\"ipsEmoticon\",\"-\",\"BulletedList\",\"NumberedList\",\"-\",\"JustifyLeft\",\"JustifyCenter\",\"JustifyRight\"]}],\"phone\":[{\"name\":\"row1\",\"items\":[\"Bold\",\"Italic\",\"Underline\",\"-\",\"ipsEmoticon\",\"-\",\"ipsLink\"]}]}"
"default": "{\"desktop\":[{\"name\":\"row1\",\"items\":[\"Bold\",\"Italic\",\"Underline\",\"-\",\"ipsLink\",\"Ipsquote\",\"ipsCode\",\"ipsEmoticon\",\"-\",\"BulletedList\",\"NumberedList\",\"-\",\"JustifyLeft\",\"JustifyCenter\",\"JustifyRight\",\"-\",\"Strike\",\"Superscript\",\"Subscript\",\"-\",\"TextColor\",\"FontSize\"]}],\"tablet\":[{\"name\":\"row1\",\"items\":[\"Bold\",\"Italic\",\"Underline\",\"-\",\"ipsLink\",\"Ipsquote\",\"ipsEmoticon\",\"-\",\"BulletedList\",\"NumberedList\"]}],\"phone\":[{\"name\":\"row1\",\"items\":[\"Bold\",\"Italic\",\"Underline\",\"-\",\"ipsEmoticon\",\"-\",\"ipsLink\"]}]}"
},
{
"key": "connect_slaves",
@@ -107,6 +131,10 @@
"key": "diagnostics",
"default": "1"
},
{
"key": "disable_all_plugins",
"default": ""
},
{
"key": "disable_anonymous",
"default": "0"
@@ -131,6 +159,18 @@
"key": "editor_allowed_datacontrollers",
"default": ""
},
{
"key": "editor_allowed_iframe_bases",
"default": ""
},
{
"key": "editor_paragraph_padding",
"default": "1"
},
{
"key": "editor_paste_behaviour",
"default": "rich"
},
{
"key": "email_color",
"default": "#3f6d98"
@@ -199,10 +239,6 @@
"key": "guest_captcha",
"default": "1"
},
{
"key": "home_url",
"default": ""
},
{
"key": "htaccess_mod_rewrite",
"default": "0"
@@ -215,6 +251,10 @@
"key": "image_png_quality_gd",
"default": "8"
},
{
"key": "image_proxy_cache_period",
"default": "7"
},
{
"key": "image_suite",
"default": "gd"
@@ -241,59 +281,7 @@
},
{
"key": "ipb_reg_number",
"default": "LICENSE KEY GOES HERE!-123456789"
},
{
"key": "ipb_license_active",
"default": "1"
},
{
"key": "ipb_license_cloud",
"default": "0"
},
{
"key": "ipb_license_url",
"default": "https:\/\/www.invisionpower.com\/buy\/self-hosted"
},
{
"key": "ipb_license_test_url",
"default": "http:\/\/community.invisionpower.com"
},
{
"key": "ipb_license_expires",
"default": "09 MAR 2037"
},
{
"key": "ipb_license_product_forums",
"default": "1"
},
{
"key": "ipb_license_product_calendar",
"default": "1"
},
{
"key": "ipb_license_product_blog",
"default": "1"
},
{
"key": "ipb_license_product_gallery",
"default": "1"
},
{
"key": "ipb_license_product_downloads",
"default": "1"
},
{
"key": "ipb_license_product_cms",
"default": "1"
},
{
"key": "ipb_license_product_nexus",
"default": "1"
},
{
"key": "ipb_license_product_copyright",
"default": "1"
"default": ""
},
{
"key": "ipb_url_blacklist",
@@ -535,6 +523,10 @@
"key": "reg_rules",
"default": "<p>Please take a moment to review these rules.<\/p><p>Please remember that we are not responsible for any messages posted. We do not vouch for or warrant the accuracy, completeness or usefulness of any message, and are not responsible for the contents of any message.<\/p><p>The messages express the views of the author of the message, not necessarily the views of this website. Any user who feels that a posted message is objectionable is encouraged to contact us immediately by email. We have the ability to remove objectionable messages and we will make every effort to do so, within a reasonable time frame, if we determine that removal is necessary.<\/p><p>You agree, through your use of this service, that you will not use this website to post any material which is knowingly false and\/or defamatory, inaccurate, abusive, vulgar, hateful, harassing, obscene, profane, sexually oriented, threatening, invasive of a person's privacy, or otherwise violative of any law.<\/p><p>You agree not to post any copyrighted material unless the copyright is owned by you or by this website.<\/p><p>Our software uses cookies to distinguish you from other users of our website. This helps us to provide you with a personalized experience when you browse this site.<\/p>"
},
{
"key": "remote_image_proxy",
"default": "0"
},
{
"key": "reputation_can_self_vote",
"default": "0"
@@ -567,22 +559,10 @@
"key": "reviews_rating_out_of",
"default": "5"
},
{
"key": "search_engine",
"default": "mysql"
},
{
"key": "search_index_timeframe",
"default": "0"
},
{
"key": "search_sphinx_port",
"default": "3312"
},
{
"key": "search_sphinx_server",
"default": ""
},
{
"key": "security_remove_acp_link",
"default": "0"
@@ -595,10 +575,6 @@
"key": "setup_in_progress",
"default": "0"
},
{
"key": "show_home_link",
"default": "0"
},
{
"key": "signatures_enabled",
"default": "0"
@@ -655,6 +631,10 @@
"key": "smtp_port",
"default": "25"
},
{
"key": "smtp_protocol",
"default": "plain"
},
{
"key": "smtp_user",
"default": ""
@@ -687,18 +667,6 @@
"key": "spam_service_send_to_ips",
"default": "1"
},
{
"key": "sphinx_base_path",
"default": ""
},
{
"key": "sphinx_id_map",
"default": ""
},
{
"key": "sphinx_prefix",
"default": ""
},
{
"key": "spm_notify",
"default": "0"
@@ -719,10 +687,6 @@
"key": "startpoll_cutoff",
"default": "24"
},
{
"key": "strip_quotes",
"default": "0"
},
{
"key": "subs_autoprune",
"default": "0"
@@ -741,7 +705,7 @@
},
{
"key": "tags_force_lower",
"default": "0"
"default": "1"
},
{
"key": "tags_len_max",
@@ -791,6 +755,10 @@
"key": "twitter_hashtag",
"default": ""
},
{
"key": "upgrade_email",
"default": ""
},
{
"key": "upload_settings",
"default": ""
File diff suppressed because it is too large. Load diff
+95 -35
View File
@@ -45,7 +45,7 @@
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_area_background",
"sc_order": 7
"sc_order": 8
},
{
"sc_key": "area_background_dark",
@@ -57,7 +57,7 @@
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_area_background_dark",
"sc_order": 8
"sc_order": 9
},
{
"sc_key": "area_background_light",
@@ -65,11 +65,11 @@
"sc_multiple": 0,
"sc_content": "[]",
"sc_app": "core",
"sc_default": "#fafafa",
"sc_default": "#f5f5f5",
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_area_background_light",
"sc_order": 9
"sc_order": 10
},
{
"sc_key": "area_background_reset",
@@ -81,7 +81,7 @@
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_area_background_reset",
"sc_order": 10
"sc_order": 11
},
{
"sc_key": "button_bar",
@@ -89,7 +89,7 @@
"sc_multiple": 0,
"sc_content": "[]",
"sc_app": "core",
"sc_default": "#3d5e78",
"sc_default": "#3c6994",
"sc_tab_key": "buttoncolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_button_bar",
@@ -125,7 +125,7 @@
"sc_multiple": 0,
"sc_content": "[]",
"sc_app": "core",
"sc_default": "#3d5e78",
"sc_default": "#3c6994",
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_header",
@@ -137,7 +137,7 @@
"sc_multiple": 0,
"sc_content": "[]",
"sc_app": "core",
"sc_default": "#558e7c",
"sc_default": "#37848b",
"sc_tab_key": "buttoncolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_important_button",
@@ -155,6 +155,18 @@
"sc_title": "themesetting_important_button_font",
"sc_order": 8
},
{
"sc_key": "item_status",
"sc_type": "Color",
"sc_multiple": 0,
"sc_content": "[{\"key\":\"\",\"value\":\"\"}]",
"sc_app": "core",
"sc_default": "#3c6994",
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 1,
"sc_title": "Item Status Badges Active",
"sc_order": 22
},
{
"sc_key": "js_include",
"sc_type": "Radio",
@@ -197,7 +209,7 @@
"sc_multiple": 0,
"sc_content": "[]",
"sc_app": "core",
"sc_default": "#255b79",
"sc_default": "#3c6994",
"sc_tab_key": "textcolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_link",
@@ -209,7 +221,7 @@
"sc_multiple": 0,
"sc_content": "[]",
"sc_app": "core",
"sc_default": "#cd3816",
"sc_default": "#ad1457",
"sc_tab_key": "textcolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_link_hover",
@@ -221,23 +233,47 @@
"sc_multiple": 0,
"sc_content": "[]",
"sc_app": "core",
"sc_default": "#283a4a",
"sc_default": "#304d66",
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_main_nav",
"sc_order": 3
},
{
"sc_key": "main_nav_tab",
"sc_type": "Color",
"sc_multiple": 0,
"sc_content": "[{\"key\":\"\",\"value\":\"\"}]",
"sc_app": "core",
"sc_default": "#f5f5f5",
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 1,
"sc_title": "Main Navigation Active Tab",
"sc_order": 4
},
{
"sc_key": "mentions",
"sc_type": "Color",
"sc_multiple": 0,
"sc_content": "[{\"key\":\"\",\"value\":\"\"}]",
"sc_app": "core",
"sc_default": "#3084c4",
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 1,
"sc_title": "Mentions",
"sc_order": 24
},
{
"sc_key": "moderated",
"sc_type": "Color",
"sc_multiple": 0,
"sc_content": "[{\"key\":\"\",\"value\":\"\"}]",
"sc_app": "core",
"sc_default": "#f5efef",
"sc_default": "#f7edf1",
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_moderated",
"sc_order": 12
"sc_order": 13
},
{
"sc_key": "moderated_light",
@@ -245,11 +281,11 @@
"sc_multiple": 0,
"sc_content": "[{\"key\":\"\",\"value\":\"\"}]",
"sc_app": "core",
"sc_default": "#faf7f7",
"sc_default": "#fcf7f9",
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_moderated_light",
"sc_order": 13
"sc_order": 14
},
{
"sc_key": "moderated_text",
@@ -257,11 +293,11 @@
"sc_multiple": 0,
"sc_content": "[{\"key\":\"\",\"value\":\"\"}]",
"sc_app": "core",
"sc_default": "#834250",
"sc_default": "#880e4f",
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_moderated_text",
"sc_order": 14
"sc_order": 15
},
{
"sc_key": "moderated_text_light",
@@ -269,11 +305,11 @@
"sc_multiple": 0,
"sc_content": "[{\"key\":\"\",\"value\":\"\"}]",
"sc_app": "core",
"sc_default": "#ac8c88",
"sc_default": "#a4768f",
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_moderated_text_light",
"sc_order": 15
"sc_order": 16
},
{
"sc_key": "normal_button",
@@ -299,13 +335,25 @@
"sc_title": "themesetting_normal_button_font",
"sc_order": 6
},
{
"sc_key": "notification_bubble",
"sc_type": "Color",
"sc_multiple": 0,
"sc_content": "[{\"key\":\"\",\"value\":\"\"}]",
"sc_app": "core",
"sc_default": "#ad1457",
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 1,
"sc_title": "Notification Bubble",
"sc_order": 23
},
{
"sc_key": "page_background",
"sc_type": "Color",
"sc_multiple": 0,
"sc_content": "[]",
"sc_app": "core",
"sc_default": "#e9e9e9",
"sc_default": "#ebeef2",
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_page_background",
@@ -321,7 +369,7 @@
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 1,
"sc_title": "themesetting_poll_bar",
"sc_order": 16
"sc_order": 17
},
{
"sc_key": "prefix",
@@ -329,11 +377,11 @@
"sc_multiple": 0,
"sc_content": "[]",
"sc_app": "core",
"sc_default": "#903246",
"sc_default": "#ad1457",
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 1,
"sc_title": "themesetting_prefix",
"sc_order": 5
"sc_order": 6
},
{
"sc_key": "price",
@@ -341,7 +389,7 @@
"sc_multiple": 0,
"sc_content": "[{\"key\":\"\",\"value\":\"\"}]",
"sc_app": "core",
"sc_default": "#cd3816",
"sc_default": "#c62828",
"sc_tab_key": "textcolors",
"sc_show_in_vse": 1,
"sc_title": "Price",
@@ -353,7 +401,7 @@
"sc_multiple": 0,
"sc_content": "[]",
"sc_app": "core",
"sc_default": "#262e33",
"sc_default": "#37474f",
"sc_tab_key": "buttoncolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_primary_button",
@@ -381,7 +429,7 @@
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_profile_header",
"sc_order": 4
"sc_order": 5
},
{
"sc_key": "rating_hover",
@@ -393,7 +441,7 @@
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 1,
"sc_title": "themesetting_rating_hover",
"sc_order": 17
"sc_order": 18
},
{
"sc_key": "rating_on",
@@ -401,11 +449,11 @@
"sc_multiple": 0,
"sc_content": "[]",
"sc_app": "core",
"sc_default": "#af2b35",
"sc_default": "#ad1457",
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 1,
"sc_title": "themesetting_rating_on",
"sc_order": 18
"sc_order": 19
},
{
"sc_key": "responsive",
@@ -461,7 +509,7 @@
"sc_multiple": 0,
"sc_content": "[]",
"sc_app": "core",
"sc_default": "#283a4a",
"sc_default": "#304d66",
"sc_tab_key": "textcolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_section_title",
@@ -489,7 +537,7 @@
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 1,
"sc_title": "themesetting_selected",
"sc_order": 6
"sc_order": 7
},
{
"sc_key": "sidebar_position",
@@ -521,11 +569,11 @@
"sc_multiple": 0,
"sc_content": "[]",
"sc_app": "core",
"sc_default": "#903246",
"sc_default": "#ad1457",
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 1,
"sc_title": "themesetting_step_background",
"sc_order": 19
"sc_order": 20
},
{
"sc_key": "text_color",
@@ -551,6 +599,18 @@
"sc_title": "themesetting_text_light",
"sc_order": 2
},
{
"sc_key": "timeline_color",
"sc_type": "Color",
"sc_multiple": 0,
"sc_content": "[{\"key\":\"\",\"value\":\"\"}]",
"sc_app": "core",
"sc_default": "#4d4d4d",
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 1,
"sc_title": "activity_stream_timeline",
"sc_order": 21
},
{
"sc_key": "very_light_button",
"sc_type": "Color",
@@ -581,10 +641,10 @@
"sc_multiple": 0,
"sc_content": "[]",
"sc_app": "core",
"sc_default": "#283a4a",
"sc_default": "#3c6994",
"sc_tab_key": "frontendcolors",
"sc_show_in_vse": 0,
"sc_title": "themesetting_widget_title_bar",
"sc_order": 11
"sc_order": 12
}
]
+14 -1
View File
@@ -98,5 +98,18 @@
"100042": "4.0.12",
"100043": "4.0.12.1",
"100044": "4.0.13",
"100045": "4.0.13.1"
"100045": "4.0.13.1",
"101000": "4.1.0 Beta 1",
"101001": "4.1.0 Beta 2",
"101002": "4.1.0 Beta 3",
"101003": "4.1.0 Beta 4",
"101004": "4.1.0 Beta 5",
"101005": "4.1.0 Beta 6",
"101006": "4.1.0 Beta 7",
"101007": "4.1.0 Beta 8",
"101008": "4.1.0 Beta 9",
"101009": "4.1.0 Beta 10",
"101010": "4.1.0",
"101011": "4.1.1",
"101012": "4.1.2"
}
+11
View File
@@ -57,5 +57,16 @@
"allow_reuse": false,
"menu_style": "menu",
"embeddable": true
},
"members": {
"class": "\\IPS\\Widget\\StaticCache",
"restrict": [
"sidebar",
"cms"
],
"default_area": "",
"allow_reuse": true,
"menu_style": "modal",
"embeddable": true
}
}
@@ -50,7 +50,7 @@ class _Ckeditor
/* This can take a while.... */
set_time_limit(0);
$command = "rm -R {$path}/applications/core/interface/ckeditor/ckeditor 2>&1";
$command = "rm -R \"{$path}/applications/core/interface/ckeditor/ckeditor\" 2>&1";
$output = array();
\exec( $command, $output );
@@ -59,7 +59,7 @@ class _Ckeditor
throw new \UnexpectedValueException( \IPS\Member::loggedIn()->language()->addToStack('dev_build_ckeditor_exists_err', FALSE, array( 'sprintf' => array( "{$path}/applications/core/interface/ckeditor/ckeditor" ) ) ) );
}
$command = "{$_javaPath}java -jar {$path}/applications/core/dev/ckbuilder.jar --build {$path}/applications/core/dev/ckeditor {$path}/applications/core/interface/ckeditor --build-config {$path}/applications/core/dev/ckeditor/build-config.js --no-zip --no-tar --overwrite 2>&1";
$command = "{$_javaPath}java -jar \"{$path}/applications/core/dev/ckbuilder.jar\" --build \"{$path}/applications/core/dev/ckeditor\" \"{$path}/applications/core/interface/ckeditor\" --build-config \"{$path}/applications/core/dev/ckeditor/build-config.js\" --no-zip --no-tar --overwrite 2>&1";
$output = array();
\exec( $command, $output );
@@ -7,7 +7,6 @@
* @package IPS Social Suite
* @since 20 June 2013
* @version SVN_VERSION_NUMBER
* @modified 13.09.2015 by IAF
*/
namespace IPS\core\extensions\core\CommunityEnhancements;
@@ -185,17 +184,18 @@ class _Mandrill
throw new \DomainException( 'mandrill_bad_credentials' );
}
/* Do not Tell IPS */
$response = array(
"mail_method" => "smtp",
"smtp_host" => "smtp.mandrillapp.com",
"smtp_port"=> 587,
"mail_wrap_brackets" => 0,
"smtp_user" => $values['mandrill_username'],
"smtp_pass" => $values['mandrill_api_key'],
"smtp_helo" => "HELO"
);
/* Tell IPS */
$response = NULL;
try
{
$response = \IPS\Http\Url::ips( 'mandrill' )->request()->post( array(
'key' => $values['mandrill_api_key'],
'username' => $values['mandrill_username'],
'lkey' => \IPS\Settings::i()->ipb_reg_number,
'version' => \IPS\Application::load('core')->long_version
) )->decodeJson();
}
catch ( \IPS\Http\Request\Exception $e ) { }
/* If we want to use Mandrill for "everything", we need to update our local SMTP settings with the values returned from the API call */
if( $values['mandrill_use_for'] == 2 )
@@ -213,6 +213,4 @@ class _Mandrill
unset( \IPS\Data\Store::i()->settings );
}
}
}
/* Nulled by IandroidFan (IAF) */
}
@@ -7,7 +7,6 @@
* @package IPS Social Suite
* @since 17 Apr 2013
* @version SVN_VERSION_NUMBER
* @modified 13.09.2015 by IAF
*/
namespace IPS\core\extensions\core\CommunityEnhancements;
@@ -52,7 +51,7 @@ class _SpamMonitoring
public function __construct()
{
$licenseData = \IPS\IPS::licenseKey();
if( !$licenseData or !$licenseData['products']['spam'] or strtotime( $licenseData['expires'] ) < time() )
if( !$licenseData or !isset( $licenseData['products']['spam'] ) or !$licenseData['products']['spam'] or strtotime( $licenseData['expires'] ) < time() )
{
$this->enabled = false;
}
@@ -79,7 +78,7 @@ class _SpamMonitoring
}
catch ( \LogicException $e )
{
//Do not show error message. We will see error message in Settings
\IPS\Output::i()->error( $e->getMessage(), '2C116/2', 403, '' );
}
\IPS\Output::i()->redirect( \IPS\Http\Url::internal( 'app=core&module=membersettings&controller=spam&tab=service' ) );
@@ -126,6 +125,4 @@ class _SpamMonitoring
throw new \DomainException('spam_service_noservice');
}
}
}
/* Nulled by IandroidFan (IAF) */
}
@@ -27,7 +27,21 @@ class _Status
/**
* @brief Content Item Classes
*/
public $classes = array( 'IPS\core\Statuses\Status' );
public $classes = array();
/**
* Constructor
*
* @param \IPS\Member|NULL $member If checking access, the member to check for, or NULL to not check access
* @return void
*/
public function __construct( \IPS\Member $member = NULL )
{
if ( \IPS\Settings::i()->profile_comments and ( $member === NULL or $member->canAccessModule( \IPS\Application\Module::get( 'core', 'status', 'front' ) ) ) )
{
$this->classes[] = 'IPS\core\Statuses\Status';
}
}
/**
* Use a custom table helper when building content item tables
@@ -47,8 +47,8 @@ class _AwaitingValidation
"*",
'core_validating',
array( 'user_verified=?', TRUE ),
NULL,
NULL
'entry_date desc',
array( 0, 10 )
)->join(
'core_members',
'core_validating.member_id=core_members.member_id'
@@ -57,7 +57,7 @@ class _Registrations
}
/* Add Rows */
foreach ( \IPS\Db::i()->select( "COUNT(*) AS count, DATE_FORMAT( FROM_UNIXTIME( joined ), '%e %c %Y' ) as joined_date", 'core_members', array( 'joined>? AND name<>? AND email<>?', \IPS\DateTime::create()->sub( new \DateInterval( 'P7D' ) )->getTimestamp(), '', '' ), 'joined DESC', NULL, 'joined_date' ) as $row )
foreach ( \IPS\Db::i()->select( "COUNT(*) AS count, DATE_FORMAT( FROM_UNIXTIME( joined ), '%e %c %Y' ) as joined_date", 'core_members', array( 'joined>? AND name<>? AND email<>?', \IPS\DateTime::create()->sub( new \DateInterval( 'P7D' ) )->getTimestamp(), '', '' ), 'joined_date DESC', NULL, 'joined_date' ) as $row )
{
$data[$row['joined_date']] = $row['count'];
}
@@ -164,4 +164,13 @@ class _Modcp
return $did;
}
/**
* Total content count to be used in progress indicator
*
* @return int Total Count
*/
public function contentCount()
{
return \IPS\Db::i()->select( 'COUNT(*)', 'core_members_warn_logs' )->first();
}
}
@@ -148,4 +148,14 @@ class _Reports
return $did;
}
/**
* Total content count to be used in progress indicator
*
* @return int Total Count
*/
public function contentCount()
{
return \IPS\Db::i()->select( 'COUNT(*)', 'core_rc_reports' )->first();
}
}
@@ -49,10 +49,16 @@ class _Emoticons
try
{
$file = \IPS\File::get( $oldConfiguration ?: 'core_Emoticons', $emoticon['image'] )->move( $storageConfiguration );
if ( (string) $file != $emoticon['image'] )
$image_2x = NULL;
if ( $emoticon['image_2x'] )
{
\IPS\Db::i()->update( 'core_emoticons', array( 'image' => (string) $file ), array( 'id=?', $emoticon['id'] ) );
$image_2x = \IPS\File::get( $oldConfiguration ?: 'core_Emoticons', $emoticon['image_2x'] )->move( $storageConfiguration );
}
if ( (string) $file != $emoticon['image'] or (string) $image_2x != $emoticon['image_2x'] )
{
\IPS\Db::i()->update( 'core_emoticons', array( 'image' => (string) $file, 'image_2x' => (string) $image_2x ), array( 'id=?', $emoticon['id'] ) );
}
unset( \IPS\Data\Store::i()->emoticons );
@@ -72,13 +78,26 @@ class _Emoticons
public function fixUrls( $offset )
{
$emoticon = \IPS\Db::i()->select( '*', 'core_emoticons', array(), 'id', array( $offset, 1 ) )->first();
if ( $new = \IPS\File::repairUrl( $emoticon['image'] ) )
try
{
\IPS\Db::i()->update( 'core_emoticons', array( 'image' => $new ), array( 'id=?', $emoticon['id'] ) );
unset( \IPS\Data\Store::i()->emoticons );
$fixed = array();
foreach( array( 'image', 'image_2x' ) as $location )
{
if ( $new = \IPS\File::repairUrl( $emoticon[ $location ] ) )
{
$fixed[ $location ] = $new;
}
}
if ( count( $fixed ) )
{
\IPS\Db::i()->update( 'core_emoticons', $fixed, array( 'id=?', $emoticon['id'] ) );
unset( \IPS\Data\Store::i()->emoticons );
}
}
catch( \Exception $e ) { }
}
/**
@@ -91,7 +110,7 @@ class _Emoticons
{
try
{
$emoticon = \IPS\Db::i()->select( '*', 'core_emoticons', array( 'image=?', (string) $file ) )->first();
$emoticon = \IPS\Db::i()->select( '*', 'core_emoticons', array( 'image=? or image_2x=?', (string) $file, (string) $file ) )->first();
return TRUE;
}
@@ -113,6 +132,7 @@ class _Emoticons
try
{
\IPS\File::get( 'core_Emoticons', $emoticon['image'] )->delete();
\IPS\File::get( 'core_Emoticons', $emoticon['image_2x'] )->delete();
}
catch( \Exception $e ){}
}
@@ -75,11 +75,11 @@ class _Profile
if ( count( $update ) )
{
\IPS\Db::i()->update( 'core_members', $update, array( 'member_id=?', $member['member_id'] ) );
\IPS\Db::i()->update( 'core_members', $update, array( 'member_id=?', $memberData['member_id'] ) );
}
}
return $member['member_id'];
return $memberData['member_id'];
}
/**
@@ -23,6 +23,22 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
*/
class _Theme
{
/**
* Some file storage engines need to store a gzip version of some files that can be served to a browser gzipped
*/
public static $storeGzipExtensions = array( 'css', 'js' );
/**
* The configuration settings have been updated
*
* @return void
*/
public static function settingsUpdated()
{
/* Clear out CSS as custom URL may have changed */
\IPS\Theme::deleteCompiledCss();
}
/**
* Count stored files
*
@@ -31,7 +47,6 @@ class _Theme
public function count()
{
return 4; // While this isn't the number of files, it's the number of steps this will take to move them, which is all it's used for
}
/**
@@ -0,0 +1,85 @@
<?php
/**
* @brief Front Navigation Extension: All Activity
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
* @license http://www.invisionpower.com/legal/standards/
* @package IPS Social Suite
* @since 30 Jun 2015
* @version SVN_VERSION_NUMBER
*/
namespace IPS\core\extensions\core\FrontNavigation;
/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
}
/**
* Front Navigation Extension: All Activity
*/
class _AllActivity extends \IPS\core\FrontNavigation\FrontNavigationAbstract
{
/**
* Default Location
*
* @return mixed
*/
public static function defaultLocation()
{
return static::DEFAULT_LOCATION_ACTIVITY;
}
/**
* Get Type Title which will display in the AdminCP Menu Manager
*
* @return string
*/
public static function typeTitle()
{
return \IPS\Member::loggedIn()->language()->addToStack('all_activity');
}
/**
* Can access?
*
* @return bool
*/
public function canView()
{
return parent::canView() and \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'discover' ) );
}
/**
* Get Title
*
* @return string
*/
public function title()
{
return \IPS\Member::loggedIn()->language()->addToStack('all_activity');
}
/**
* Get Link
*
* @return \IPS\Http\Url
*/
public function link()
{
return \IPS\Http\Url::internal( "app=core&module=discover&controller=streams", 'front', 'discover_all' );
}
/**
* Is Active?
*
* @return bool
*/
public function active()
{
return \IPS\Dispatcher::i()->application->directory === 'core' and \IPS\Dispatcher::i()->module->key === 'discover' and !isset( \IPS\Request::i()->id ) and ( !isset( \IPS\Request::i()->do ) or \IPS\Request::i()->do != 'create' );
}
}
@@ -0,0 +1,172 @@
<?php
/**
* @brief Front Navigation Extension: Custom Item
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
* @license http://www.invisionpower.com/legal/standards/
* @package IPS Social Suite
* @subpackage Core
* @since 21 Jan 2015
* @version SVN_VERSION_NUMBER
*/
namespace IPS\core\extensions\core\FrontNavigation;
/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
}
/**
* Front Navigation Extension: Custom Item
*/
class _CustomItem extends \IPS\core\FrontNavigation\FrontNavigationAbstract
{
/**
* Get Type Title which will display in the AdminCP Menu Manager
*
* @return string
*/
public static function typeTitle()
{
return \IPS\Member::loggedIn()->language()->addToStack('menu_custom_item');
}
/**
* Allow multiple instances?
*
* @return string
*/
public static function allowMultiple()
{
return TRUE;
}
/**
* Get configuration fields
*
* @param array $configuration The existing configuration, if editing an existing item
* @param int $id The ID number of the existing item, if editing
* @return array
*/
public static function configuration( $existingConfiguration, $id = NULL )
{
$currentUrl = NULL;
if ( isset( $existingConfiguration['menu_custom_item_url'] ) )
{
if ( isset( $existingConfiguration['internal'] ) )
{
$currentUrl = (string) \IPS\Http\Url::internal( $existingConfiguration['menu_custom_item_url'], 'front', $existingConfiguration['internal'] );
}
else
{
$currentUrl = $existingConfiguration['menu_custom_item_url'];
}
}
return array(
new \IPS\Helpers\Form\Translatable( 'menu_custom_item_link', NULL, NULL, array( 'app' => 'core', 'key' => $id ? "menu_item_{$id}" : NULL ) ),
new \IPS\Helpers\Form\Url( 'menu_custom_item_url', $currentUrl, NULL, array(), function( $val )
{
if ( isset( \IPS\Request::i()->menu_manager_extension ) and \IPS\Request::i()->menu_manager_extension === 'core_CustomItem' and empty( $val ) )
{
throw new \InvalidArgumentException('form_required');
}
} )
);
}
/**
* Parse configuration fields
*
* @param array $configuration The values received from the form
* @return array
*/
public static function parseConfiguration( $configuration, $id )
{
$baseUrl = \IPS\Http\Url::internal('', 'front');
try
{
if ( ( $baseUrl->data['host'] === $configuration['menu_custom_item_url']->data['host'] ) and $queryString = $configuration['menu_custom_item_url']->getFriendlyUrlData() )
{
$furlDefinition = \IPS\Http\Url::furlDefinition();
$usedTemplate = NULL;
$query = $configuration['menu_custom_item_url']->getFurlQuery();
$set = array();
$configuration['menu_custom_item_url']->examineFurl( $furlDefinition, $query, $set, $usedTemplate );
if ( $usedTemplate and isset( $usedTemplate['_template'] ) )
{
$configuration['menu_custom_item_url'] = http_build_query( $queryString );
$configuration['internal'] = $usedTemplate['_template'];
}
else
{
$configuration['menu_custom_item_url'] = (string) $configuration['menu_custom_item_url'];
}
}
else
{
$configuration['menu_custom_item_url'] = (string) $configuration['menu_custom_item_url'];
}
}
/*getFriendlyUrlData() can throw an OutOfRangeException, especially if we are linking to a URL not within the community suite but on the same domain */
catch( \OutOfRangeException $e )
{
$configuration['menu_custom_item_url'] = (string) $configuration['menu_custom_item_url'];
}
\IPS\Lang::saveCustom( 'core', "menu_item_{$id}", $configuration['menu_custom_item_link'] );
unset( $configuration['menu_custom_item_link'] );
return $configuration;
}
/**
* Permissions can be inherited?
*
* @return bool
*/
public static function permissionsCanInherit()
{
return FALSE;
}
/**
* Get Title
*
* @return string
*/
public function title()
{
return \IPS\Member::loggedIn()->language()->addToStack( "menu_item_{$this->id}" );
}
/**
* Get Link
*
* @return \IPS\Http\Url
*/
public function link()
{
if ( isset( $this->configuration['menu_custom_item_url'] ) and ( $this->configuration['menu_custom_item_url'] or isset( $this->configuration['internal'] ) ) )
{
if ( isset( $this->configuration['internal'] ) )
{
return \IPS\Http\Url::internal( $this->configuration['menu_custom_item_url'], 'front', $this->configuration['internal'] );
}
else
{
return \IPS\Http\Url::external( $this->configuration['menu_custom_item_url'] );
}
}
else
{
return '#';
}
}
}
@@ -0,0 +1,82 @@
<?php
/**
* @brief Front Navigation Extension: Guidelines
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
* @license http://www.invisionpower.com/legal/standards/
* @package IPS Social Suite
* @since 30 Jun 2015
* @version SVN_VERSION_NUMBER
*/
namespace IPS\core\extensions\core\FrontNavigation;
/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
}
/**
* Front Navigation Extension: Guidelines
*/
class _Guidelines extends \IPS\core\FrontNavigation\FrontNavigationAbstract
{
/**
* Get Type Title which will display in the AdminCP Menu Manager
*
* @return string
*/
public static function typeTitle()
{
return \IPS\Member::loggedIn()->language()->addToStack('guidelines');
}
/**
* Can access?
*
* @return bool
*/
public function canView()
{
return parent::canView() and \IPS\Settings::i()->gl_type != "none";
}
/**
* Get Title
*
* @return string
*/
public function title()
{
return \IPS\Member::loggedIn()->language()->addToStack('guidelines');
}
/**
* Get Link
*
* @return \IPS\Http\Url
*/
public function link()
{
if ( \IPS\Settings::i()->gl_type == "internal" )
{
return \IPS\Http\Url::internal( "app=core&module=system&controller=guidelines", 'front', 'guidelines' );
}
else
{
return \IPS\Http\Url::external( \IPS\Settings::i()->gl_link );
}
}
/**
* Is Active?
*
* @return bool
*/
public function active()
{
return \IPS\Dispatcher::i()->application->directory === 'core' and \IPS\Dispatcher::i()->module->key === 'system' and \IPS\Dispatcher::i()->controller === 'guidelines';
}
}
@@ -0,0 +1,129 @@
<?php
/**
* @brief Front Navigation Extension: Dropdown Menu
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
* @license http://www.invisionpower.com/legal/standards/
* @package IPS Social Suite
* @subpackage Core
* @since 30 Jun 2015
* @version SVN_VERSION_NUMBER
*/
namespace IPS\core\extensions\core\FrontNavigation;
/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
}
/**
* Front Navigation Extension: Dropdown Menu
*/
class _Menu extends \IPS\core\FrontNavigation\FrontNavigationAbstract
{
/**
* Get Type Title which will display in the AdminCP Menu Manager
*
* @return string
*/
public static function typeTitle()
{
return \IPS\Member::loggedIn()->language()->addToStack('menu_custom_menu');
}
/**
* Allow multiple instances?
*
* @return string
*/
public static function allowMultiple()
{
return TRUE;
}
/**
* Get configuration fields
*
* @param array $configuration The existing configuration, if editing an existing item
* @param int $id The ID number of the existing item, if editing
* @return array
*/
public static function configuration( $existingConfiguration, $id = NULL )
{
return array(
new \IPS\Helpers\Form\Translatable( 'menu_custom_menu_title', NULL, NULL, array( 'app' => 'core', 'key' => $id ? "menu_item_{$id}" : NULL ) ),
);
}
/**
* Parse configuration fields
*
* @param array $configuration The values received from the form
* @return array
*/
public static function parseConfiguration( $configuration, $id )
{
\IPS\Lang::saveCustom( 'core', "menu_item_{$id}", $configuration['menu_custom_menu_title'] );
unset( $configuration['menu_custom_menu_title'] );
return $configuration;
}
/**
* Permissions can be inherited?
*
* @return bool
*/
public static function permissionsCanInherit()
{
return FALSE;
}
/**
* Get Title
*
* @return string
*/
public function title()
{
return \IPS\Member::loggedIn()->language()->addToStack( "menu_item_{$this->id}" );
}
/**
* Get Link
*
* @return \IPS\Http\Url
*/
public function link()
{
return NULL;
}
/**
* Children
*
* @return array
*/
public function children()
{
$items = array();
$frontNavigation = \IPS\core\FrontNavigation::frontNavigation();
if ( isset( $frontNavigation[ $this->id ] ) )
{
foreach ( $frontNavigation[ $this->id ] as $item )
{
if ( \IPS\Application::appIsEnabled( $item['app'] ) )
{
$class = 'IPS\\' . $item['app'] . '\extensions\core\FrontNavigation\\' . $item['extension'];
$items[ $item['id'] ] = new $class( json_decode( $item['config'], TRUE ), $item['id'], $item['permissions'] );
}
}
}
return $items;
}
}
@@ -0,0 +1,89 @@
<?php
/**
* @brief Front Navigation Extension: Menu Button
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
* @license http://www.invisionpower.com/legal/standards/
* @package IPS Social Suite
* @subpackage Core
* @since 22 Jul 2015
* @version SVN_VERSION_NUMBER
*/
namespace IPS\core\extensions\core\FrontNavigation;
/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
}
/**
* Front Navigation Extension: Menu Button
*/
class _MenuButton
{
/**
* @brief The language string for the title
*/
protected $title;
/**
* @brief The target URL
*/
protected $link;
/**
* Constructor
*
* @param string $title The language string for the title
* @param \IPS\Http\Url $link The target URL
* @return void
*/
public function __construct( $title, \IPS\Http\Url $link )
{
$this->title = $title;
$this->link = $link;
}
/**
* Can access?
*
* @return bool
*/
public function canView()
{
return TRUE;
}
/**
* Get Title
*
* @return string
*/
public function title()
{
return \IPS\Member::loggedIn()->language()->addToStack( $this->title );
}
/**
* Get Link
*
* @return \IPS\Http\Url
*/
public function link()
{
return $this->link;
}
/**
* Children
*
* @return array
*/
public function children()
{
return NULL;
}
}
@@ -1,12 +1,12 @@
<?php
/**
* @brief Front Navigation Extension: Core
* @brief Front Navigation Extension: Menu Header
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
* @license http://www.invisionpower.com/legal/standards/
* @package IPS Social Suite
* @subpackage Core
* @since 21 Jan 2015
* @since 22 Jul 2015
* @version SVN_VERSION_NUMBER
*/
@@ -20,10 +20,26 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
}
/**
* Front Navigation Extension: Core
* Front Navigation Extension: Menu Header
*/
class _Core
class _MenuHeader
{
/**
* @brief The language string for the title
*/
protected $title;
/**
* Constructor
*
* @param string $title The language string for the title
* @return void
*/
public function __construct( $title )
{
$this->title = $title;
}
/**
* Can access?
*
@@ -31,7 +47,7 @@ class _Core
*/
public function canView()
{
return (bool) \IPS\Settings::i()->show_home_link;
return TRUE;
}
/**
@@ -41,29 +57,9 @@ class _Core
*/
public function title()
{
return \IPS\Member::loggedIn()->language()->addToStack('home_name_value');
return \IPS\Member::loggedIn()->language()->addToStack( $this->title );
}
/**
* Get Link
*
* @return \IPS\Http\Url
*/
public function link()
{
return \IPS\Http\Url::external( \IPS\Settings::i()->home_url );
}
/**
* Is Active?
*
* @return bool
*/
public function active()
{
return FALSE;
}
/**
* Children
*
@@ -71,6 +67,6 @@ class _Core
*/
public function children()
{
return array();
return NULL;
}
}
@@ -0,0 +1,46 @@
<?php
/**
* @brief Front Navigation Extension: Menu Separator
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
* @license http://www.invisionpower.com/legal/standards/
* @package IPS Social Suite
* @subpackage Core
* @since 22 Jul 2015
* @version SVN_VERSION_NUMBER
*/
namespace IPS\core\extensions\core\FrontNavigation;
/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
}
/**
* Front Navigation Extension: Menu Separator
*/
class _MenuSeparator
{
/**
* Can access?
*
* @return bool
*/
public function canView()
{
return TRUE;
}
/**
* Children
*
* @return array
*/
public function children()
{
return NULL;
}
}
@@ -0,0 +1,75 @@
<?php
/**
* @brief Front Navigation Extension: Online Users
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
* @license http://www.invisionpower.com/legal/standards/
* @package IPS Social Suite
* @since 30 Jun 2015
* @version SVN_VERSION_NUMBER
*/
namespace IPS\core\extensions\core\FrontNavigation;
/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
}
/**
* Front Navigation Extension: Online Users
*/
class _OnlineUsers extends \IPS\core\FrontNavigation\FrontNavigationAbstract
{
/**
* Get Type Title which will display in the AdminCP Menu Manager
*
* @return string
*/
public static function typeTitle()
{
return \IPS\Member::loggedIn()->language()->addToStack('online_users');
}
/**
* Can access?
*
* @return bool
*/
public function canView()
{
return parent::canView() and \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'online' ) );
}
/**
* Get Title
*
* @return string
*/
public function title()
{
return \IPS\Member::loggedIn()->language()->addToStack('online_users');
}
/**
* Get Link
*
* @return \IPS\Http\Url
*/
public function link()
{
return \IPS\Http\Url::internal( "app=core&module=online&controller=online", 'front', 'online' );
}
/**
* Is Active?
*
* @return bool
*/
public function active()
{
return \IPS\Dispatcher::i()->application->directory === 'core' and \IPS\Dispatcher::i()->module->key === 'online';
}
}
@@ -0,0 +1,75 @@
<?php
/**
* @brief Front Navigation Extension: Search
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
* @license http://www.invisionpower.com/legal/standards/
* @package IPS Social Suite
* @since 30 Jun 2015
* @version SVN_VERSION_NUMBER
*/
namespace IPS\core\extensions\core\FrontNavigation;
/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
}
/**
* Front Navigation Extension: Search
*/
class _Search extends \IPS\core\FrontNavigation\FrontNavigationAbstract
{
/**
* Get Type Title which will display in the AdminCP Menu Manager
*
* @return string
*/
public static function typeTitle()
{
return \IPS\Member::loggedIn()->language()->addToStack('search');
}
/**
* Can access?
*
* @return bool
*/
public function canView()
{
return parent::canView() and \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'search' ) );
}
/**
* Get Title
*
* @return string
*/
public function title()
{
return \IPS\Member::loggedIn()->language()->addToStack('search');
}
/**
* Get Link
*
* @return \IPS\Http\Url
*/
public function link()
{
return \IPS\Http\Url::internal( "app=core&module=search&controller=search", 'front', 'search' );
}
/**
* Is Active?
*
* @return bool
*/
public function active()
{
return \IPS\Dispatcher::i()->application->directory === 'core' and \IPS\Dispatcher::i()->module->key === 'search';
}
}
@@ -0,0 +1,75 @@
<?php
/**
* @brief Front Navigation Extension: Staff Directory
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
* @license http://www.invisionpower.com/legal/standards/
* @package IPS Social Suite
* @since 30 Jun 2015
* @version SVN_VERSION_NUMBER
*/
namespace IPS\core\extensions\core\FrontNavigation;
/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
}
/**
* Front Navigation Extension: Staff Directory
*/
class _StaffDirectory extends \IPS\core\FrontNavigation\FrontNavigationAbstract
{
/**
* Get Type Title which will display in the AdminCP Menu Manager
*
* @return string
*/
public static function typeTitle()
{
return \IPS\Member::loggedIn()->language()->addToStack('staff');
}
/**
* Can access?
*
* @return bool
*/
public function canView()
{
return parent::canView() and !\IPS\Settings::i()->staff_directory_empty;
}
/**
* Get Title
*
* @return string
*/
public function title()
{
return \IPS\Member::loggedIn()->language()->addToStack('staff');
}
/**
* Get Link
*
* @return \IPS\Http\Url
*/
public function link()
{
return \IPS\Http\Url::internal( "app=core&module=members&controller=directory", 'front', 'staffdirectory' );
}
/**
* Is Active?
*
* @return bool
*/
public function active()
{
return \IPS\Dispatcher::i()->application->directory === 'core' and \IPS\Dispatcher::i()->module->key === 'staffdirectory' and \IPS\Dispatcher::i()->controller === 'directory';
}
}
@@ -0,0 +1,150 @@
<?php
/**
* @brief Front Navigation Extension: Your Activity Streams
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
* @license http://www.invisionpower.com/legal/standards/
* @package IPS Social Suite
* @since 30 Jun 2015
* @version SVN_VERSION_NUMBER
*/
namespace IPS\core\extensions\core\FrontNavigation;
/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
}
/**
* Front Navigation Extension: Your Activity Streams
*/
class _YourActivityStreams extends \IPS\core\FrontNavigation\FrontNavigationAbstract
{
/**
* Get Type Title which will display in the AdminCP Menu Manager
*
* @return string
*/
public static function typeTitle()
{
return \IPS\Member::loggedIn()->language()->addToStack('your_activity_streams_acp');
}
/**
* Can access?
*
* @return bool
*/
public function canView()
{
return parent::canView() and \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'discover' ) ) and count( $this->children() );
}
/**
* Get Title
*
* @return string
*/
public function title()
{
return \IPS\Member::loggedIn()->language()->addToStack('your_activity_streams');
}
/**
* Get Link
*
* @return \IPS\Http\Url
*/
public function link()
{
return NULL;
}
/**
* Is Active?
*
* @return bool
*/
public function active()
{
return ( \IPS\Dispatcher::i()->application->directory === 'core' and \IPS\Dispatcher::i()->module->key === 'discover' and ( isset( \IPS\Request::i()->id ) or ( isset( \IPS\Request::i()->do ) and \IPS\Request::i()->do == 'create' ) ) ) or parent::active();
}
/**
* Cached Children
*
* @return array
*/
protected static $children = array();
/**
* Items
*
* @return array
*/
public static function items( \IPS\Member $member = NULL )
{
$member = $member ?: \IPS\Member::loggedIn();
if ( !isset( static::$children[ $member->member_id ] ) )
{
static::$children[ $member->member_id ] = array();
if ( !isset( \IPS\Data\Store::i()->globalStreamIds ) )
{
$globalStreamIds = array();
foreach ( new \IPS\Patterns\ActiveRecordIterator( \IPS\Db::i()->select( '*', 'core_streams', 'member IS NULL' ), 'IPS\core\Stream' ) as $stream )
{
$globalStreamIds[ $stream->id ] = ( $stream->ownership == 'all' and $stream->read == 'all' and $stream->follow == 'all' and $stream->date_type != 'last_visit' );
}
\IPS\Data\Store::i()->globalStreamIds = $globalStreamIds;
}
$globalStreamIdsToShow = array_keys( !$member->member_id ? array_filter( \IPS\Data\Store::i()->globalStreamIds ) : \IPS\Data\Store::i()->globalStreamIds );
if ( count( $globalStreamIdsToShow ) )
{
if ( $member->member_id )
{
static::$children[ $member->member_id ][] = new MenuHeader('default_streams');
}
foreach ( $globalStreamIdsToShow as $id )
{
static::$children[ $member->member_id ][] = new YourActivityStreamsItem( array(), $id, '*' );
}
}
if ( $member->member_id )
{
if ( $member->member_streams and $streams = json_decode( $member->member_streams, TRUE ) and count( $streams ) )
{
static::$children[ $member->member_id ][] = new MenuHeader('custom_streams');
foreach ( $streams['streams'] as $id => $title )
{
static::$children[ $member->member_id ][] = new YourActivityStreamsItem( array( 'title' => $title ), $id, '*' );
}
}
static::$children[ $member->member_id ][] = new MenuSeparator;
static::$children[ $member->member_id ][] = new MenuButton( 'create_new_stream', \IPS\Http\Url::internal( "app=core&module=discover&controller=streams&do=create", 'front', 'discover_all' ) );
}
}
return static::$children[ $member->member_id ];
}
/**
* Children
*
* @return array
*/
public function children()
{
return static::items();
}
}
@@ -0,0 +1,218 @@
<?php
/**
* @brief Front Navigation Extension: Custom Item
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
* @license http://www.invisionpower.com/legal/standards/
* @package IPS Social Suite
* @subpackage Core
* @since 21 Jan 2015
* @version SVN_VERSION_NUMBER
*/
namespace IPS\core\extensions\core\FrontNavigation;
/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
}
/**
* Front Navigation Extension: Custom Item
*/
class _YourActivityStreamsItem extends \IPS\core\FrontNavigation\FrontNavigationAbstract
{
/**
* @brief The ID number
*/
public $id;
/**
* @brief The stream ID
*/
protected $streamId;
/**
* Constructor
*
* @param array $configuration The configuration
* @param int $id The ID number
* @param string $permissions The permissions (* or comma-delimited list of groups)
* @return void
*/
public function __construct( $configuration, $id, $permissions )
{
parent::__construct( $configuration, $id, $permissions );
if ( count( $configuration ) and isset( $configuration['menu_stream_id'] ) )
{
$this->streamId = $configuration['menu_stream_id'];
}
else
{
$this->streamId = $id;
}
}
/**
* Get Type Title which will display in the AdminCP Menu Manager
*
* @return string
*/
public static function typeTitle()
{
return \IPS\Member::loggedIn()->language()->addToStack('activity_stream_single');
}
/**
* Can access?
*
* @return bool
*/
public function canView()
{
if ( ! \IPS\Member::loggedIn()->member_id and $this->streamId and $this->streamId <= 5 )
{
return FALSE;
}
return TRUE;
}
/**
* Allow multiple instances?
*
* @return string
*/
public static function allowMultiple()
{
return TRUE;
}
/**
* Get configuration fields
*
* @param array $configuration The existing configuration, if editing an existing item
* @param int $id The ID number of the existing item, if editing
* @return array
*/
public static function configuration( $existingConfiguration, $id = NULL )
{
$globalStreams = array();
foreach ( new \IPS\Patterns\ActiveRecordIterator( \IPS\Db::i()->select( '*', 'core_streams', 'member IS NULL' ), 'IPS\core\Stream' ) as $stream )
{
$globalStreams[ $stream->id ] = $stream->_title;
}
return array(
new \IPS\Helpers\Form\Select( 'menu_stream_id', isset( $existingConfiguration['menu_stream_id'] ) ? $existingConfiguration['menu_stream_id'] : NULL, NULL, array( 'options' => $globalStreams ), NULL, NULL, NULL, 'menu_stream_id' ),
new \IPS\Helpers\Form\Radio( 'menu_title_type', isset( $existingConfiguration['menu_title_type'] ) ? $existingConfiguration['menu_title_type'] : 0, NULL, array( 'options' => array( 0 => 'menu_title_type_stream', 1 => 'menu_title_type_custom' ), 'toggles' => array( 1 => array( 'menu_stream_title' ) ) ), NULL, NULL, NULL, 'menu_title_type' ),
new \IPS\Helpers\Form\Translatable( 'menu_stream_title', NULL, NULL, array( 'app' => 'core', 'key' => $id ? "menu_stream_title_{$id}" : NULL ), NULL, NULL, NULL, 'menu_stream_title' ),
);
}
/**
* Parse configuration fields
*
* @param array $configuration The values received from the form
* @return array
*/
public static function parseConfiguration( $configuration, $id )
{
if ( $configuration['menu_title_type'] )
{
\IPS\Lang::saveCustom( 'core', "menu_stream_title_{$id}", $configuration['menu_stream_title'] );
}
else
{
\IPS\Lang::deleteCustom( 'core', "menu_stream_title_{$id}" );
}
unset( $configuration['menu_stream_title'] );
return $configuration;
}
/**
* Get Title
*
* @return string
*/
public function title()
{
if ( ! empty( $this->configuration['title'] ) )
{
return $this->configuration['title'];
}
else if ( isset( $this->configuration['menu_title_type'] ) and $this->configuration['menu_title_type'] )
{
return \IPS\Member::loggedIn()->language()->addToStack( "menu_stream_title_{$this->id}" );
}
return \IPS\Member::loggedIn()->language()->addToStack( "stream_title_{$this->streamId}" );
}
/**
* Get Link
*
* @return \IPS\Http\Url
*/
public function link()
{
switch ( $this->streamId )
{
case 1:
$furlKey = 'discover_unread';
break;
case 2:
$furlKey = 'discover_istarted';
break;
case 3:
$furlKey = 'discover_followed';
break;
case 4:
$furlKey = 'discover_following';
break;
case 5:
$furlKey = 'discover_posted';
break;
default:
$furlKey = 'discover_stream';
break;
}
return \IPS\Http\Url::internal( "app=core&module=discover&controller=streams&id={$this->streamId}", 'front', $furlKey );
}
/**
* Get Attributes
*
* @return string
*/
public function attributes()
{
return "data-streamid='{$this->id}'";
}
/**
* Is Active?
*
* @return bool
*/
public function active()
{
return \IPS\Dispatcher::i()->application->directory === 'core' and \IPS\Dispatcher::i()->module->key === 'discover' and \IPS\Request::i()->id == $this->streamId;
}
/**
* Children
*
* @return array
*/
public function children()
{
return NULL;
}
}
@@ -26,7 +26,7 @@ class _Content
/**
* Process Form
*
* @param \IPS\Form\Tabbed $form The form
* @param \IPS\Helpers\Form $form The form
* @param \IPS\Member\Group $group Existing Group
* @return void
*/
@@ -46,9 +46,12 @@ class _Content
}
/* Polls */
$form->addHeader( 'polls' );
$form->add( new \IPS\Helpers\Form\YesNo( 'g_post_polls', $group->g_post_polls ) );
$form->add( new \IPS\Helpers\Form\YesNo( 'g_vote_polls', $group->g_vote_polls ) );
if( $group->g_id != \IPS\Settings::i()->guest_group )
{
$form->addHeader( 'polls' );
$form->add( new \IPS\Helpers\Form\YesNo( 'g_post_polls', $group->g_post_polls ) );
$form->add( new \IPS\Helpers\Form\YesNo( 'g_vote_polls', $group->g_vote_polls ) );
}
/* Tags */
$form->addHeader( 'tags' );
@@ -68,18 +71,24 @@ class _Content
$form->add( new \IPS\Helpers\Form\YesNo( 'g_topic_rate_change', $group->g_topic_rate_setting == 2, FALSE, array(), NULL, NULL, NULL, 'g_topic_rate_change' ) );
/* Editing */
$form->addHeader( 'group_editing' );
$form->add( new \IPS\Helpers\Form\YesNo( 'g_edit_posts', $group->g_edit_posts, FALSE, array( 'togglesOn' => array( 'g_edit_cutoff', 'g_append_edit' ) ) ) );
$form->add( new \IPS\Helpers\Form\Number( 'g_edit_cutoff', $group->g_edit_cutoff, FALSE, array( 'unlimited' => 0 ), NULL, \IPS\Member::loggedIn()->language()->addToStack('g_edit_cutoff_prefix'), \IPS\Member::loggedIn()->language()->addToStack('g_edit_cutoff_suffix'), 'g_edit_cutoff' ) );
if ( \IPS\Settings::i()->edit_log )
if( $group->g_id != \IPS\Settings::i()->guest_group )
{
$form->add( new \IPS\Helpers\Form\YesNo( 'g_append_edit', $group->g_append_edit, FALSE, array(), NULL, NULL, NULL, 'g_append_edit' ) );
$form->addHeader( 'group_editing' );
$form->add( new \IPS\Helpers\Form\YesNo( 'g_edit_posts', $group->g_edit_posts, FALSE, array( 'togglesOn' => array( 'g_edit_cutoff', 'g_append_edit' ) ) ) );
$form->add( new \IPS\Helpers\Form\Number( 'g_edit_cutoff', $group->g_edit_cutoff, FALSE, array( 'unlimited' => 0 ), NULL, \IPS\Member::loggedIn()->language()->addToStack('g_edit_cutoff_prefix'), \IPS\Member::loggedIn()->language()->addToStack('g_edit_cutoff_suffix'), 'g_edit_cutoff' ) );
if ( \IPS\Settings::i()->edit_log )
{
$form->add( new \IPS\Helpers\Form\YesNo( 'g_append_edit', $group->g_append_edit, FALSE, array(), NULL, NULL, NULL, 'g_append_edit' ) );
}
}
/* Deleting */
$form->addHeader( 'group_deleting' );
$form->add( new \IPS\Helpers\Form\YesNo( 'gbw_soft_delete_own', $group->g_id ? ( $group->g_bitoptions['gbw_soft_delete_own'] ) : FALSE ) );
$form->add( new \IPS\Helpers\Form\YesNo( 'g_delete_own_posts', $group->g_delete_own_posts ) );
if( $group->g_id != \IPS\Settings::i()->guest_group )
{
$form->addHeader( 'group_deleting' );
$form->add( new \IPS\Helpers\Form\YesNo( 'gbw_soft_delete_own', $group->g_id ? ( $group->g_bitoptions['gbw_soft_delete_own'] ) : FALSE ) );
$form->add( new \IPS\Helpers\Form\YesNo( 'g_delete_own_posts', $group->g_delete_own_posts ) );
}
/* Content Limits */
if( $group->g_id != \IPS\Settings::i()->guest_group )
@@ -123,8 +132,11 @@ class _Content
}
/* Polls */
$group->g_post_polls = $values['g_post_polls'];
$group->g_vote_polls = $values['g_vote_polls'];
if( $group->g_id != \IPS\Settings::i()->guest_group )
{
$group->g_post_polls = $values['g_post_polls'];
$group->g_vote_polls = $values['g_vote_polls'];
}
/* Ratings */
$group->g_topic_rate_setting = 0;
@@ -151,7 +163,10 @@ class _Content
$bwKeys = array( 'gbw_disable_tagging', 'gbw_disable_prefixes', 'gbw_soft_delete_own', 'gbw_no_report', 'gbw_delete_attachments' );
foreach ( $bwKeys as $k )
{
$group->g_bitoptions[ $k ] = $values[ $k ];
if ( isset( $values[ $k ] ) )
{
$group->g_bitoptions[ $k ] = $values[ $k ];
}
}
/* Other */
@@ -166,7 +181,10 @@ class _Content
$keys = array( 'g_attach_max', 'g_attach_per_post', 'g_edit_posts', 'g_edit_cutoff', 'g_append_edit', 'g_delete_own_posts', 'g_avoid_flood', 'g_avoid_q', 'g_mod_preview', 'g_bypass_badwords' );
foreach ( $keys as $k )
{
$group->$k = $values[ $k ];
if ( isset( $values[ $k ] ) )
{
$group->$k = $values[ $k ];
}
}
}
}
@@ -26,7 +26,7 @@ class _GroupSettings
/**
* Process Form
*
* @param \IPS\Form\Tabbed $form The form
* @param \IPS\Helpers\Form $form The form
* @param \IPS\Member\Group $group Existing Group
* @return void
*/
@@ -26,7 +26,7 @@ class _Social
/**
* Process Form
*
* @param \IPS\Form\Tabbed $form The form
* @param \IPS\Helpers\Form $form The form
* @param \IPS\Member\Group $group Existing Group
* @return void
*/
@@ -84,10 +84,7 @@ class _Social
}
}
if ( !$group->g_id or !in_array( $group->g_id, explode( ',', \IPS\Settings::i()->reputation_protected_groups ) ) )
{
$form->add( new \IPS\Helpers\Form\YesNo( 'gbw_view_reps', $group->g_id ? ( $group->g_bitoptions['gbw_view_reps'] ) : TRUE ) );
}
$form->add( new \IPS\Helpers\Form\YesNo( 'gbw_view_reps', $group->g_id ? ( $group->g_bitoptions['gbw_view_reps'] ) : TRUE ) );
}
if( $group->g_id != \IPS\Settings::i()->guest_group )
@@ -68,7 +68,7 @@ class _Content extends \IPS\Content\ExtensionGenerator
try
{
$comment = $class::load( $data[ $class::$databasePrefix . $class::$databaseColumnId ] );
return "<a href='" . $comment->url() . "' target='_blank'>" . htmlentities( $comment->item()->mapped('title'), \IPS\HTMLENTITIES, 'UTF-8', FALSE ) . '</a>';
return "<a href='" . $comment->url() . "' target='_blank'>" . htmlspecialchars( $comment->item()->mapped('title'), \IPS\HTMLENTITIES, 'UTF-8', FALSE ) . '</a>';
}
catch ( \OutOfRangeException $e )
{
@@ -109,7 +109,7 @@ class _Content extends \IPS\Content\ExtensionGenerator
}
}
return "<a href='" . $class::load( $data[ $class::$databasePrefix . $class::$databaseColumnId ] )->url() . "' target='_blank'>" . htmlentities( $val, \IPS\HTMLENTITIES, 'UTF-8', FALSE ) . '</a>';
return "<a href='" . $class::load( $data[ $class::$databasePrefix . $class::$databaseColumnId ] )->url() . "' target='_blank'>" . htmlspecialchars( $val, \IPS\HTMLENTITIES, 'UTF-8', FALSE ) . '</a>';
},
);
if( isset( $class::$databaseColumnMap['container'] ) )
@@ -118,7 +118,7 @@ class _Content extends \IPS\Content\ExtensionGenerator
{
$nodeClass = $class::$containerNodeClass;
$node = $nodeClass::load( $val );
return "<a href='" . $node->url() . "' target='_blank'>" . htmlentities( $node->_title, \IPS\HTMLENTITIES, 'UTF-8', FALSE ) . '</a>';
return "<a href='" . $node->url() . "' target='_blank'>" . htmlspecialchars( $node->_title, \IPS\HTMLENTITIES, 'UTF-8', FALSE ) . '</a>';
};
}
@@ -98,7 +98,7 @@ class _BasicInformation
/**
* Process Form
*
* @param \IPS\Form\Tabbed $form The form
* @param \IPS\Helpers\Form $form The form
* @param \IPS\Member $member Existing Member
* @return void
*/
@@ -26,7 +26,7 @@ class _Notifications
/**
* Process Form
*
* @param \IPS\Form\Tabbed $form The form
* @param \IPS\Helpers\Form $form The form
* @param \IPS\Member $member Existing Member
* @return void
*/
@@ -26,7 +26,7 @@ class _Preferences
/**
* Process Form
*
* @param \IPS\Form\Tabbed $form The form
* @param \IPS\Helpers\Form $form The form
* @param \IPS\Member $member Existing Member
* @return void
*/
@@ -97,16 +97,15 @@ class _Preferences
$member->timezone = $values['timezone'];
}
/* language */
/* Language and Theme */
$member->language = $values['language'];
$member->skin = $values['skin'];
if( $member->isAdmin() )
{
$member->language = $values['language'];
$member->acp_language = $values['acp_language'];
$member->acp_skin = $values['acp_skin'];
}
/* Skin */
$member->skin = $values['skin'];
/* Other */
$member->members_bitoptions['view_sigs'] = $values['view_sigs'];
}
@@ -26,7 +26,7 @@ class _Profile
/**
* Process Form
*
* @param \IPS\Form\Tabbed $form The form
* @param \IPS\Helpers\Form $form The form
* @param \IPS\Member $member Existing Member
* @return void
*/
@@ -146,5 +146,7 @@ class _Profile
}
}
\IPS\Db::i()->replace( 'core_pfields_content', $profileFields );
$member->changedCustomFields = $profileFields;
}
}
@@ -26,7 +26,7 @@ class _Restrictions
/**
* Process Form
*
* @param \IPS\Form\Tabbed $form The form
* @param \IPS\Helpers\Form $form The form
* @param \IPS\Member $member Existing Member
* @return void
*/
@@ -133,6 +133,7 @@ class _System
'core_pfields_content' => 'member_id',
'core_ratings' => 'member',
'core_reputation_index' => 'member_id',
'core_reputation_index' => 'member_received',
'core_sessions' => 'member_id',
'core_sys_cp_sessions' => 'session_member_id',
'core_sys_social_groups' => 'owner_id',
@@ -32,7 +32,7 @@ class _ipsconnect
*/
public function onLogin( $member, $returnUrl )
{
if( !$this->_checkStatus() )
if( !$this->_checkStatus( $member ) )
{
return;
}
@@ -60,7 +60,7 @@ class _ipsconnect
*/
public function onLogout( $member, $returnUrl )
{
if( !$this->_checkStatus() )
if( !$this->_checkStatus( $member ) )
{
return;
}
@@ -86,7 +86,7 @@ class _ipsconnect
*/
public function onValidate( $member )
{
if( !$this->_checkStatus() )
if( !$this->_checkStatus( $member ) )
{
return;
}
@@ -107,7 +107,7 @@ class _ipsconnect
*/
public function onMerge( $member, $member2 )
{
if( !$this->_checkStatus() )
if( !$this->_checkStatus( $member ) )
{
return;
}
@@ -128,7 +128,7 @@ class _ipsconnect
*/
public function onDelete( $member )
{
if( !$this->_checkStatus() )
if( !$this->_checkStatus( $member ) )
{
return;
}
@@ -148,7 +148,7 @@ class _ipsconnect
*/
public function onCreateAccount( $member )
{
if( !$this->_checkStatus() )
if( !$this->_checkStatus( $member ) )
{
return;
}
@@ -174,7 +174,7 @@ class _ipsconnect
*/
public function onProfileUpdate( $member, $changes )
{
if( !$this->_checkStatus() )
if( !$this->_checkStatus( $member ) )
{
return;
}
@@ -238,9 +238,10 @@ class _ipsconnect
* We only need to push the requests to our slaves if we are the master and if the request
* was not triggered by a connect call.
*
* @param $member \IPS\Member|NULL Optional member account to check
* @return bool
*/
protected function _checkStatus()
protected function _checkStatus( $member = NULL )
{
if( !\IPS\Settings::i()->connect_slaves )
{
@@ -254,6 +255,23 @@ class _ipsconnect
return FALSE;
}
/* Are we also testing a member account? */
if( $member !== NULL )
{
foreach( \IPS\Login::handlers() as $key => $handler )
{
if( $key == 'Internal' )
{
if( !$handler->canProcess( $member ) )
{
return FALSE;
}
break;
}
}
}
return TRUE;
}
}
@@ -40,6 +40,9 @@ class _Content
*/
public function manage()
{
/* CSS */
\IPS\Output::i()->cssFiles = array_merge( \IPS\Output::i()->cssFiles, \IPS\Theme::i()->css( 'styles/streams.css' ) );
/* What types are there? */
$types = array();
$exclude = array();
@@ -56,7 +59,7 @@ class _Content
if ( isset( $containerClass::$modPerm ) )
{
$allowedContainers = \IPS\Member::loggedIn()->modPermission( $containerClass::$modPerm );
if ( $allowedContainers !== 0 and $allowedContainers !== true )
if ( $allowedContainers !== -1 and $allowedContainers !== true )
{
$exclude[ $class ] = $allowedContainers;
}
@@ -107,7 +110,6 @@ class _Content
/* Can we only view some kinds of hidden content? */
if ( count( $exclude ) )
{
$query->filterByExcludeContent( $exclude, TRUE );
}
/* What page are we on? */
@@ -53,7 +53,7 @@ class _IPTools extends \IPS\core\modules\admin\members\ip
\IPS\Output::i()->title = \IPS\Member::loggedIn()->language()->addToStack( 'modcp_ip_tools' );
\IPS\Output::i()->breadcrumb[] = array( \IPS\Http\Url::internal( "app=core&module=modcp&controller=modcp&tab=ip_tools", 'front', 'modcp_ip_tools' ), \IPS\Member::loggedIn()->language()->addToStack( 'modcp_ip_tools' ) );
if ( isset( \IPS\Request::i()->ip ) )
if ( isset( \IPS\Request::i()->ip ) and filter_var( \IPS\Request::i()->ip, FILTER_VALIDATE_IP ) )
{
$ip = \IPS\Request::i()->ip;
\IPS\Output::i()->title = $ip;
@@ -77,7 +77,7 @@ class _IPTools extends \IPS\core\modules\admin\members\ip
try
{
$geolocation = \IPS\GeoLocation::getByIp( $ip );
$map = $geolocation->map()->render( 400, 350, 6 );
$map = $geolocation->map()->render( 400, 350, 0.6 );
}
catch ( \Exception $e ) {}
@@ -128,10 +128,10 @@ class _Unapproved
}
foreach ( $class::getItemsWithPermission( $where, NULL, 1 ) as $item )
{
{
$idColumn = $item::$databaseColumnId;
$container = NULL;
if ( $item instanceof \IPS\Content\Comment )
if ( $item instanceof \IPS\Content\Comment AND !( $item instanceof \IPS\core\Statuses\Reply ) )
{
$approveUrl = $item->url()->setQueryString( array( 'do' => 'unhideComment', 'comment' => $item->$idColumn ) )->csrf();
$deleteUrl = $item->url()->setQueryString( array( 'do' => 'deleteComment', 'comment' => $item->$idColumn ) )->csrf();
@@ -143,7 +143,19 @@ class _Unapproved
{
$approveUrl = $item->url()->setQueryString( array( 'do' => 'moderate', 'action' => 'unhide' ) )->csrf();
$deleteUrl = $item->url()->setQueryString( array( 'do' => 'moderate', 'action' => 'delete' ) )->csrf();
$ref = base64_encode( json_encode( array( 'app' => $item::$application, 'module' => $item::$module, 'id_1' => $item->id ) ) );
if( $item instanceof \IPS\core\Statuses\Reply )
{
$itemClass = $item::$itemClass;
$ref = base64_encode( json_encode( array( 'app' => $itemClass::$application, 'module' => $itemClass::$module, 'id_1' => $item->mapped('item'), 'id_2' => $item->id ) ) );
$approveUrl = $approveUrl->setQueryString( 'type', 'reply' );
$deleteUrl = $deleteUrl->setQueryString( 'type', 'reply' );
}
else
{
$ref = base64_encode( json_encode( array( 'app' => $item::$application, 'module' => $item::$module, 'id_1' => $item->id ) ) );
}
try
{
@@ -154,7 +166,16 @@ class _Unapproved
$title = $item->mapped('title');
}
$skipUrl = \IPS\Http\Url::internal( 'app=core&module=modcp&controller=modcp&tab=approval', 'front', 'modcp_approval' )->setQueryString( array( 'skip' => '1', 'class' => md5( $class ), 'id' => $item->$idColumn ) );
if ( !$item->canUnhide() )
{
$approveUrl = NULL;
}
if ( !$item->canDelete() )
{
$deleteUrl = NULL;
}
$return = \IPS\Theme::i()->getTemplate('modcp')->approvalQueueHeader( $item, $approveUrl, $skipUrl, $deleteUrl );
$return .= $item->approvalQueueHtml( $ref, $container, $title );
@@ -576,6 +576,7 @@ class _Content
*/
public function parse_new_likes( $notification )
{
$comment = $notification->item;
if ( !$comment )
@@ -594,8 +595,8 @@ class _Content
}
catch( \UnderflowException $e ) {}
$likers = \IPS\Db::i()->select( 'DISTINCT member_id', 'core_reputation_index', array( 'app=? AND type=? AND rep_date>=? AND rep_date<? AND type_id=?', $comment::$application, $comment::$reputationType, $notification->sent_time->getTimestamp(), $between, $comment->$idColumn ), 'rep_date desc' );
$likers = \IPS\Db::i()->select( 'DISTINCT member_id, rep_date', 'core_reputation_index', array( 'app=? AND type=? AND rep_date>=? AND rep_date<? AND type_id=?', $comment::$application, $comment::$reputationType, $notification->sent_time->getTimestamp(), $between, $comment->$idColumn ), 'rep_date desc' );
$names = array();
foreach( $likers AS $member )
{
@@ -604,16 +605,17 @@ class _Content
$names[] = \IPS\Member::loggedIn()->language()->addToStack( 'x_others', FALSE, array( 'pluralize' => array( count( $likers ) - 3 ) ) );
break;
}
$names[] = \IPS\Member::load( $member )->name;
$names[] = \IPS\Member::load( $member['member_id'] )->name;
}
try
{
$first = $likers->first();
return array(
'title' => \IPS\Member::loggedIn()->language()->addToStack( 'notification__new_likes', FALSE, array( 'sprintf' => array( \IPS\Member::loggedIn()->language()->formatList( $names ), mb_strtolower( $comment->indefiniteArticle() ) ) ) ) . ' ' . $item->mapped('title'),
'title' => \IPS\Member::loggedIn()->language()->addToStack( \IPS\Settings::i()->reputation_point_types === 'like' ? 'notification__new_likes' : 'notification__new_rep', FALSE, array( 'sprintf' => array( ( \IPS\Member::loggedIn()->group['gbw_view_reps'] ) ? \IPS\Member::loggedIn()->language()->formatList( $names ) : \IPS\Member::loggedIn()->language()->pluralize( \IPS\Member::loggedIn()->language()->get( 'notifications_user_count' ), array( count( $likers ) ) ), mb_strtolower( $comment->indefiniteArticle() ) ) ) ) . ' ' . $item->mapped('title'),
'url' => ( $comment instanceof \IPS\Content\Comment ) ? $comment->url('find') : $comment->url(),
'content' => $comment->truncated(),
'author' => \IPS\Member::load( $likers->first() )
'author' => ( \IPS\Member::loggedIn()->group['gbw_view_reps'] ) ? \IPS\Member::load( $first['member_id'] ) : new \IPS\Member
);
}
catch( \UnderflowException $ex )
@@ -76,11 +76,22 @@ class _MemberContent
throw new \OutOfRangeException;
}
$select = \IPS\Db::i()->select( '*', $classname::$databaseTable, static::_getWhere( $data ), $classname::$databasePrefix.$classname::$databaseColumnId, array( $offset, 100 ) );
$select = \IPS\Db::i()->select( '*', $classname::$databaseTable, static::_getWhere( $data ), $classname::$databasePrefix.$classname::$databaseColumnId, array( 0, 100 ) );
if ( count( $select ) )
{
foreach ( new \IPS\Patterns\ActiveRecordIterator( $select, $classname ) as $item )
{
/* If this is the first comment on an item where a first comment is required (e.g. posts) do nothing, as when we get to the item, that will handle it */
if ( $item instanceof \IPS\Content\Comment )
{
$itemClass = $item::$itemClass;
if ( $itemClass::$firstCommentRequired and $item->isFirst() )
{
continue;
}
}
/* Do the action... */
switch ( $data['action'] )
{
case 'hide':
@@ -79,102 +79,10 @@ class _RebuildContainerCounts
$select = \IPS\Db::i()->select( '*', $classname::$databaseTable, array( $classname::$databasePrefix . $classname::$databaseColumnId . ' > ?', $offset ), $classname::$databasePrefix . $classname::$databaseColumnId . ' ASC', array( 0, $this->index ) );
$idColumn = $classname::$databaseColumnId;
$iterator = new \IPS\Patterns\ActiveRecordIterator( $select, $classname );
$idColumn = $classname::$databaseColumnId;
$itemClass = $classname::$contentItemClass;
$itemIdColumn = $itemClass::$databaseColumnId;
$commentClass = $itemClass::$commentClass;
$commentIdColumn = $commentClass::$databaseColumnId;
foreach( $iterator as $item )
{
/* Update container */
$containerWhere = array( array( $itemClass::$databasePrefix . $itemClass::$databaseColumnMap['container'] . '=?', $item->_id ) );
$anyContainerWhere = $containerWhere;
if ( in_array( 'IPS\Content\Hideable', class_implements( $itemClass ) ) )
{
if ( isset( $itemClass::$databaseColumnMap['approved'] ) )
{
$containerWhere[] = array( $itemClass::$databasePrefix . $itemClass::$databaseColumnMap['approved'] . '=?', 1 );
}
elseif ( isset( $itemClass::$databaseColumnMap['hidden'] ) )
{
$containerWhere[] = array( $itemClass::$databasePrefix . $itemClass::$databaseColumnMap['hidden'] . '=?', 0 );
}
}
if ( $item->_items !== NULL )
{
$item->_items = \IPS\Db::i()->select( 'COUNT(*)', $itemClass::$databaseTable, $containerWhere )->first();
}
if ( $item->_comments !== NULL )
{
$commentWhere = array(
array( $commentClass::$databaseTable . '.' . $commentClass::$databasePrefix . $commentClass::$databaseColumnMap['item'] . ' = ' . $itemClass::$databaseTable . '.' . $itemClass::$databasePrefix . $itemIdColumn ),
array( $itemClass::$databaseTable . '.' . $itemClass::$databasePrefix . $itemClass::$databaseColumnMap['container'] . '=?', $item->_id )
);
if ( isset( $commentClass::$databaseColumnMap['approved'] ) )
{
$commentWhere[] = array( $commentClass::$databaseTable . '.' . $commentClass::$databasePrefix . $commentClass::$databaseColumnMap['approved'] . '=?', 1 );
}
elseif ( isset( $commentClass::$databaseColumnMap['hidden'] ) )
{
$commentWhere[] = array( $commentClass::$databaseTable . '.' . $commentClass::$databasePrefix . $commentClass::$databaseColumnMap['hidden'] . '=?', 0 );
}
$item->_comments = \IPS\Db::i()->select( 'COUNT(*)', array(
array( $commentClass::$databaseTable, $commentClass::$databaseTable ),
array( $itemClass::$databaseTable, $itemClass::$databaseTable )
), $commentWhere )->first();
}
if ( in_array( 'IPS\Content\Hideable', class_implements( $itemClass ) ) )
{
if ( $item->_unapprovedItems !== NULL )
{
$hiddenContainerWhere = array( array( $itemClass::$databasePrefix . $itemClass::$databaseColumnMap['container'] . '=?', $item->_id ) );
if ( isset( $itemClass::$databaseColumnMap['approved'] ) )
{
$hiddenContainerWhere[] = array( $itemClass::$databasePrefix . $itemClass::$databaseColumnMap['approved'] . '=?', 0 );
}
elseif ( isset( $itemClass::$databaseColumnMap['hidden'] ) )
{
$hiddenContainerWhere[] = array( $itemClass::$databasePrefix . $itemClass::$databaseColumnMap['hidden'] . '=?', 1 );
}
$item->_unapprovedItems = \IPS\Db::i()->select( 'COUNT(*)', $itemClass::$databaseTable, $hiddenContainerWhere )->first();
}
$commentWhere = array( array( $commentClass::$databaseTable . '.' . $commentClass::$databasePrefix . $commentClass::$databaseColumnMap['item'] . ' = ' . $itemClass::$databaseTable . '.' . $itemClass::$databasePrefix . $itemIdColumn ) );
if ( $item->_unapprovedComments !== NULL )
{
if ( $itemClass::$firstCommentRequired )
{
/* Only look in non-hidden items otherwise this count will be added to */
$commentWhere = array_merge( $commentWhere, $containerWhere );
}
else
{
$commentWhere = array_merge( $commentWhere, $anyContainerWhere );
}
if ( isset( $commentClass::$databaseColumnMap['approved'] ) )
{
$commentWhere[] = array( $commentClass::$databaseTable . '.' . $commentClass::$databasePrefix . $commentClass::$databaseColumnMap['approved'] . '=?', 0 );
}
elseif ( isset( $commentClass::$databaseColumnMap['hidden'] ) )
{
$commentWhere[] = array( $commentClass::$databaseTable . '.' . $commentClass::$databasePrefix . $commentClass::$databaseColumnMap['hidden'] . '=?', 1 );
}
$item->_unapprovedComments = \IPS\Db::i()->select( 'COUNT(*)', array(
array( $commentClass::$databaseTable, $commentClass::$databaseTable ),
array( $itemClass::$databaseTable, $itemClass::$databaseTable )
), $commentWhere )->first();
}
}
$item->resetCommentCounts();
$item->setLastComment();
$item->save();
@@ -42,7 +42,8 @@ class _RebuildContentImages
try
{
$data['count'] = $classname::db()->select( 'MAX(' . $classname::$databasePrefix . $classname::$databaseColumnId . ')', $classname::$databaseTable )->first();
$data['count'] = $classname::db()->select( 'MAX(' . $classname::$databasePrefix . $classname::$databaseColumnId . ')', $classname::$databaseTable )->first();
$data['realCount'] = $classname::db()->select( 'COUNT(*)', $classname::$databaseTable )->first();
}
catch( \Exception $ex )
{
@@ -53,6 +54,8 @@ class _RebuildContentImages
{
return null;
}
$data['indexed'] = 0;
return $data;
}
@@ -65,7 +68,7 @@ class _RebuildContentImages
* @return int|null New offset or NULL if complete
* @throws \OutOfRangeException Indicates offset doesn't exist and thus task is complete
*/
public function run( $data, $offset )
public function run( &$data, $offset )
{
$classname = $data['class'];
$exploded = explode( '\\', $classname );
@@ -83,10 +86,9 @@ class _RebuildContentImages
\IPS\Log::i( LOG_DEBUG )->write( "Running " . $classname . ", with an offset of " . $offset, 'rebuildContentImages' );
$contentColumn = $classname::$databaseColumnMap['content'];
$dateColumn = $classname::$databaseColumnMap['date'];
$idColumn = $classname::$databaseColumnId;
$iterator = new \IPS\Patterns\ActiveRecordIterator( $classname::db()->select( '*', $classname::$databaseTable, array( array( $classname::$databasePrefix . $classname::$databaseColumnId . ' > ?', $offset ) ) , $classname::$databasePrefix . $dateColumn . ' ASC', array( 0, $this->rebuild ) ), $classname );
$iterator = new \IPS\Patterns\ActiveRecordIterator( $classname::db()->select( '*', $classname::$databaseTable, array( array( $classname::$databasePrefix . $classname::$databaseColumnId . ' > ?', $offset ) ) , $classname::$databasePrefix . $classname::$databaseColumnId . ' ASC', array( 0, $this->rebuild ) ), $classname );
$last = NULL;
foreach( $iterator as $item )
@@ -100,6 +102,7 @@ class _RebuildContentImages
}
$last = $item->$idColumn;
$data['indexed']++;
}
return $last;
@@ -122,6 +125,6 @@ class _RebuildContentImages
throw new \OutOfRangeException;
}
return array( 'text' => \IPS\Member::loggedIn()->language()->addToStack('rebuilding_content_images', FALSE, array( 'sprintf' => array( \IPS\Member::loggedIn()->language()->addToStack( $class::$title, FALSE, array( 'strtolower' => TRUE ) ) ) ) ), 'complete' => $data['count'] ? ( round( 100 / $data['count'] * $offset, 2 ) ) : 100 );
return array( 'text' => \IPS\Member::loggedIn()->language()->addToStack('rebuilding_content_images', FALSE, array( 'sprintf' => array( \IPS\Member::loggedIn()->language()->addToStack( $class::$title, FALSE, array( 'strtolower' => TRUE ) ) ) ) ), 'complete' => $data['realCount'] ? ( round( 100 / $data['realCount'] * $data['indexed'], 2 ) ) : 100 );
}
}
@@ -45,7 +45,8 @@ class _RebuildItemCounts
try
{
$data['count'] = \IPS\Db::i()->select( 'MAX(' . $classname::$databasePrefix . $classname::$databaseColumnId . ')', $classname::$databaseTable )->first();
$data['count'] = \IPS\Db::i()->select( 'MAX(' . $classname::$databasePrefix . $classname::$databaseColumnId . ')', $classname::$databaseTable )->first();
$data['realCount'] = $classname::db()->select( 'COUNT(*)', $classname::$databaseTable )->first();
}
catch( \Exception $ex )
{
@@ -56,6 +57,8 @@ class _RebuildItemCounts
{
return null;
}
$data['indexed'] = 0;
return $data;
}
@@ -68,7 +71,7 @@ class _RebuildItemCounts
* @return int|null New offset or NULL if complete
* @throws \OutOfRangeException Indicates offset doesn't exist and thus task is complete
*/
public function run( $data, $offset )
public function run( &$data, $offset )
{
$classname = $data['class'];
$exploded = explode( '\\', $classname );
@@ -88,7 +91,11 @@ class _RebuildItemCounts
foreach( $iterator as $item )
{
$item->resyncCommentCounts();
$item->save();
$last = $item->$idColumn;
$data['indexed']++;
}
return $last;
@@ -111,6 +118,6 @@ class _RebuildItemCounts
throw new \OutOfRangeException;
}
return array( 'text' => \IPS\Member::loggedIn()->language()->addToStack('rebuilding_item_counts', FALSE, array( 'sprintf' => array( \IPS\Member::loggedIn()->language()->addToStack( $class::$title, FALSE, array( 'strtolower' => TRUE ) ) ) ) ), 'complete' => $data['count'] ? ( round( 100 / $data['count'] * $offset, 2 ) ) : 100 );
return array( 'text' => \IPS\Member::loggedIn()->language()->addToStack('rebuilding_item_counts', FALSE, array( 'sprintf' => array( \IPS\Member::loggedIn()->language()->addToStack( $class::$title, FALSE, array( 'strtolower' => TRUE ) ) ) ) ), 'complete' => $data['realCount'] ? ( round( 100 / $data['realCount'] * $data['indexed'], 2 ) ) : 100 );
}
}
@@ -86,7 +86,8 @@ class _RebuildItems
$iterator = new \IPS\Patterns\ActiveRecordIterator( $select, $classname );
foreach( $iterator as $item )
{
$item->$titleColumn = html_entity_decode( $item->$titleColumn, ENT_QUOTES, 'UTF-8' );
$item->$titleColumn = \IPS\Text\Parser::utf8mb4SafeDecode( $item->$titleColumn );
$item->save();
$indexed++;
}
@@ -48,7 +48,15 @@ class _RebuildNonContentImages
if( method_exists( $extension, 'contentCount' ) )
{
$data['count'] = (int) $extension->contentCount();
$count = $extension->contentCount();
/* If there is nothing to rebuild, return NULL so the task won't be stored in the first place */
if( !$count )
{
return NULL;
}
$data['count'] = (int) $count;
}
break;
@@ -48,7 +48,15 @@ class _RebuildNonContentPosts
if( method_exists( $extension, 'contentCount' ) )
{
$data['count'] = (int) $extension->contentCount();
$count = $extension->contentCount();
/* If there is nothing to rebuild, return NULL so the task won't be stored in the first place */
if( !$count )
{
return NULL;
}
$data['count'] = (int) $count;
}
break;
@@ -46,7 +46,8 @@ class _RebuildPosts
try
{
$data['count'] = $classname::db()->select( 'MAX(' . $classname::$databasePrefix . $classname::$databaseColumnId . ')', $classname::$databaseTable, ( is_subclass_of( $classname, 'IPS\Content\Comment' ) ) ? $classname::commentWhere() : array() )->first();
$data['count'] = $classname::db()->select( 'MAX(' . $classname::$databasePrefix . $classname::$databaseColumnId . ')', $classname::$databaseTable, ( is_subclass_of( $classname, 'IPS\Content\Comment' ) ) ? $classname::commentWhere() : array() )->first();
$data['realCount'] = $classname::db()->select( 'COUNT(*)', $classname::$databaseTable, ( is_subclass_of( $classname, 'IPS\Content\Comment' ) ) ? $classname::commentWhere() : array() )->first();
}
catch( \Exception $ex )
{
@@ -63,6 +64,8 @@ class _RebuildPosts
{
return null;
}
$data['indexed'] = 0;
return $data;
}
@@ -75,7 +78,7 @@ class _RebuildPosts
* @return int|null New offset or NULL if complete
* @throws \OutOfRangeException Indicates offset doesn't exist and thus task is complete
*/
public function run( $data, $offset )
public function run( &$data, $offset )
{
$classname = $data['class'];
$exploded = explode( '\\', $classname );
@@ -107,7 +110,7 @@ class _RebuildPosts
/* If the ID is greater than the max we started with, don't rebuild - we're done because this post and any newer
will have been posted under 4.0 already */
if( $item->$idColumn >= $data['count'] )
if( $item->$idColumn > $data['count'] )
{
return NULL;
}
@@ -190,6 +193,8 @@ class _RebuildPosts
$item->save();
$last = $item->$idColumn;
$data['indexed']++;
}
return $last;
@@ -212,6 +217,6 @@ class _RebuildPosts
throw new \OutOfRangeException;
}
return array( 'text' => \IPS\Member::loggedIn()->language()->addToStack('rebuilding_stuff', FALSE, array( 'sprintf' => array( \IPS\Member::loggedIn()->language()->addToStack( $class::$title . '_pl', FALSE, array( 'strtolower' => TRUE ) ) ) ) ), 'complete' => $data['count'] ? ( round( 100 / $data['count'] * $offset, 2 ) ) : 100 );
return array( 'text' => \IPS\Member::loggedIn()->language()->addToStack('rebuilding_stuff', FALSE, array( 'sprintf' => array( \IPS\Member::loggedIn()->language()->addToStack( $class::$title . '_pl', FALSE, array( 'strtolower' => TRUE ) ) ) ) ), 'complete' => $data['realCount'] ? ( round( 100 / $data['realCount'] * $data['indexed'], 2 ) ) : 100 );
}
}
@@ -47,7 +47,8 @@ class _RebuildReputationIndex
{
try
{
$data['count'] = \IPS\Db::i()->select( 'MAX( id )', 'core_reputation_index', array( 'app=? and type=?', $classname::$application, $classname::$reputationType ) )->first();
$data['count'] = \IPS\Db::i()->select( 'MAX( id )', 'core_reputation_index', array( 'app=? and type=?', $classname::$application, $classname::$reputationType ) )->first();
$data['realCount'] = \IPS\Db::i()->select( 'COUNT(*)', 'core_reputation_index', array( 'app=? and type=?', $classname::$application, $classname::$reputationType ) )->first();
}
catch( \Exception $ex )
{
@@ -60,6 +61,8 @@ class _RebuildReputationIndex
return null;
}
$data['indexed'] = 0;
return $data;
}
@@ -71,7 +74,7 @@ class _RebuildReputationIndex
* @return int|null New offset or NULL if complete
* @throws \OutOfRangeException Indicates offset doesn't exist and thus task is complete
*/
public function run( $data, $offset )
public function run( &$data, $offset )
{
$classname = $data['class'];
$exploded = explode( '\\', $classname );
@@ -101,6 +104,8 @@ class _RebuildReputationIndex
catch( \OutOfRangeException $ex ) { }
$last = $row['id'];
$data['indexed']++;
}
return $last;
@@ -123,6 +128,6 @@ class _RebuildReputationIndex
throw new \OutOfRangeException;
}
return array( 'text' => \IPS\Member::loggedIn()->language()->addToStack('rebuilding_reputation', FALSE, array( 'sprintf' => array( \IPS\Member::loggedIn()->language()->addToStack( $class::$title, FALSE, array( 'strtolower' => TRUE ) ) ) ) ), 'complete' => $data['count'] ? ( round( 100 / $data['count'] * $offset, 2 ) ) : 100 );
return array( 'text' => \IPS\Member::loggedIn()->language()->addToStack('rebuilding_reputation', FALSE, array( 'sprintf' => array( \IPS\Member::loggedIn()->language()->addToStack( $class::$title, FALSE, array( 'strtolower' => TRUE ) ) ) ) ), 'complete' => $data['realCount'] ? ( round( 100 / $data['realCount'] * $data['indexed'], 2 ) ) : 100 );
}
}
@@ -54,6 +54,11 @@ class _RebuildSearchIndex
$where[] = array( $classname::$databasePrefix . $classname::$databaseColumnMap['container'] . '=' . $data['container'] );
}
}
if ( is_subclass_of( $classname, 'IPS\Content\Comment' ) AND $classname::commentWhere() !== NULL )
{
$where[] = $classname::commentWhere();
}
if( \IPS\Settings::i()->search_index_timeframe )
{
@@ -77,13 +82,20 @@ class _RebuildSearchIndex
$queryData = $this->_buildQuery( $data );
try
{
$select = \IPS\Db::i()->select( 'count(*)', $classname::$databaseTable, $queryData['where'] );
{
$select = \IPS\Db::i()->select( 'MAX(' . $classname::$databasePrefix . $classname::$databaseColumnId . ')', $classname::$databaseTable, $queryData['where'] );
foreach ( $queryData['joins'] as $table => $on )
{
$select->join( $table, $on );
}
$data['count'] = $select->first();
$select = \IPS\Db::i()->select( 'COUNT(*)', $classname::$databaseTable, $queryData['where'] );
foreach ( $queryData['joins'] as $table => $on )
{
$select->join( $table, $on );
}
$data['realCount'] = $select->first();
}
catch( \Exception $ex )
{
@@ -94,6 +106,8 @@ class _RebuildSearchIndex
{
return null;
}
$data['indexed'] = 0;
return $data;
}
@@ -106,7 +120,7 @@ class _RebuildSearchIndex
* @return int|null New offset or NULL if complete
* @throws \OutOfRangeException Indicates offset doesn't exist and thus task is complete
*/
public function run( $data, $offset )
public function run( &$data, $offset )
{
$classname = $data['class'];
$exploded = explode( '\\', $classname );
@@ -115,13 +129,13 @@ class _RebuildSearchIndex
throw new \OutOfRangeException;
}
$indexed = 0;
$indexed = NULL;
\IPS\Log::i( LOG_DEBUG )->write( "Running " . $classname . ", with an offset of " . $offset, 'rebuildSearchIndex' );
$queryData = $this->_buildQuery( $data );
$dateColumn = $classname::$databaseColumnMap['date'];
$select = \IPS\Db::i()->select( '*', $classname::$databaseTable, $queryData['where'], $classname::$databasePrefix . $dateColumn . ' DESC', array( $offset, $this->index ) );
$select = \IPS\Db::i()->select( '*', $classname::$databaseTable, array_merge( $queryData['where'], array( array( $classname::$databasePrefix . $classname::$databaseColumnId . ' > ?', $offset ) ) ), $classname::$databasePrefix . $classname::$databaseColumnId . ' ASC', array( 0, $this->index ) );
foreach ( $queryData['joins'] as $table => $on )
{
$select->join( $table, $on );
@@ -130,6 +144,14 @@ class _RebuildSearchIndex
foreach( $iterator as $item )
{
$idColumn = $classname::$databaseColumnId;
/* If the ID is greater than the max we started with, don't reindex because it should already be indexed through normal function */
if( $item->$idColumn > $data['count'] )
{
return NULL;
}
try
{
if ( !$item->isFutureDate() )
@@ -142,10 +164,11 @@ class _RebuildSearchIndex
\IPS\Log::i( LOG_ERR )->write( "Error encountered indexing item: " . $e->getMessage(), 'rebuildSearchIndex' );
}
$indexed++;
$indexed = $item->$idColumn;
$data['indexed']++;
}
return ( $indexed == $this->index ) ? ( $offset + $this->index ) : null;
return $indexed;
}
/**
@@ -158,13 +181,13 @@ class _RebuildSearchIndex
*/
public function getProgress( $data, $offset )
{
$class = $data['class'];
$exploded = explode( '\\', $class );
if ( !class_exists( $class ) or !\IPS\Application::appIsEnabled( $exploded[1] ) )
$class = $data['class'];
$exploded = explode( '\\', $class );
if ( !class_exists( $class ) or !\IPS\Application::appIsEnabled( $exploded[1] ) )
{
throw new \OutOfRangeException;
}
return array( 'text' => \IPS\Member::loggedIn()->language()->addToStack('reindexing_stuff', FALSE, array( 'sprintf' => array( \IPS\Member::loggedIn()->language()->addToStack( $class::$title . '_pl', FALSE, array( 'strtolower' => TRUE ) ) ) ) ), 'complete' => $data['count'] ? ( round( 100 / $data['count'] * $offset, 2 ) ) : 100 );
return array( 'text' => \IPS\Member::loggedIn()->language()->addToStack('reindexing_stuff', FALSE, array( 'sprintf' => array( \IPS\Member::loggedIn()->language()->addToStack( $class::$title . '_pl', FALSE, array( 'strtolower' => TRUE ) ) ) ) ), 'complete' => $data['realCount'] ? ( round( 100 / $data['realCount'] * $data['indexed'], 2 ) ) : 100 );
}
}
@@ -53,7 +53,10 @@ class _RestoreBrokenAttachments
try
{
$data['count'] = \IPS\Db::i()->select( 'MAX(' . $classname::$databasePrefix . $classname::$databaseColumnId . ')', $classname::$databaseTable,
$data['count'] = \IPS\Db::i()->select( 'MAX(' . $classname::$databasePrefix . $classname::$databaseColumnId . ')', $classname::$databaseTable,
array( $classname::$databasePrefix . $classname::$databaseColumnMap['content'] . " LIKE '%attachment%' OR " . $classname::$databasePrefix . $classname::$databaseColumnMap['content'] . " LIKE '%ipsAttach%'" ) )->first();
$data['realCount'] = \IPS\Db::i()->select( 'COUNT(*)', $classname::$databaseTable,
array( $classname::$databasePrefix . $classname::$databaseColumnMap['content'] . " LIKE '%attachment%' OR " . $classname::$databasePrefix . $classname::$databaseColumnMap['content'] . " LIKE '%ipsAttach%'" ) )->first();
}
catch( \Exception $ex )
@@ -71,6 +74,8 @@ class _RestoreBrokenAttachments
{
return null;
}
$data['indexed'] = 0;
return $data;
}
@@ -83,7 +88,7 @@ class _RestoreBrokenAttachments
* @return int|null New offset or NULL if complete
* @throws \OutOfRangeException Indicates offset doesn't exist and thus task is complete
*/
public function run( $data, $offset )
public function run( &$data, $offset )
{
$classname = $data['class'];
$exploded = explode( '\\', $classname );
@@ -160,6 +165,7 @@ class _RestoreBrokenAttachments
$item->save();
$last = $item->$idColumn;
$data['indexed']++;
}
return $last;
@@ -197,7 +203,7 @@ class _RestoreBrokenAttachments
throw new \OutOfRangeException;
}
return array( 'text' => \IPS\Member::loggedIn()->language()->addToStack('rebuilding_stuff', FALSE, array( 'sprintf' => array( \IPS\Member::loggedIn()->language()->addToStack( $class::$title . '_pl', FALSE, array( 'strtolower' => TRUE ) ) ) ) ), 'complete' => $data['count'] ? ( round( 100 / $data['count'] * $offset, 2 ) ) : 100 );
return array( 'text' => \IPS\Member::loggedIn()->language()->addToStack('rebuilding_stuff', FALSE, array( 'sprintf' => array( \IPS\Member::loggedIn()->language()->addToStack( $class::$title . '_pl', FALSE, array( 'strtolower' => TRUE ) ) ) ) ), 'complete' => $data['realCount'] ? ( round( 100 / $data['realCount'] * $data['indexed'], 2 ) ) : 100 );
}
/**
@@ -160,12 +160,12 @@ class _Content extends \IPS\Content\ExtensionGenerator
}
/* And however many for the content items */
$count = ceil( max( (int) $class::getItemsWithPermission( $class::sitemapWhere(), NULL, 10, 'read', 10, \IPS\Db::SELECT_SQL_CALC_FOUND_ROWS, new \IPS\Member )->count( TRUE ), isset( $settings["sitemap_{$class::$title}_count"] ) ? $settings["sitemap_{$class::$title}_count"] : 0 ) / \IPS\Sitemap::MAX_PER_FILE );
$count = ceil( max( $class::getItemsWithPermission( $class::sitemapWhere(), NULL, 10, 'read', 10, 0, new \IPS\Member, NULL, NULL, NULL, TRUE ), isset( $settings["sitemap_{$class::$title}_count"] ) ? $settings["sitemap_{$class::$title}_count"] : 0 ) / \IPS\Sitemap::MAX_PER_FILE );
for( $i=1; $i <= $count; $i++ )
{
$files[] = 'sitemap_content_' . str_replace( '\\', '_', mb_substr( $class, 4 ) ) . '_' . $i;
}
return $files;
}
@@ -194,7 +194,7 @@ class _Content extends \IPS\Content\ExtensionGenerator
{
$select = new \IPS\Patterns\ActiveRecordIterator( \IPS\Db::i()->select( '*', $nodeClass::$databaseTable, array( '(' . \IPS\Db::i()->findInSet( 'perm_view', array( \IPS\Settings::i()->guest_group ) ) . ' OR ' . 'perm_view=? )', '*' ) )->join( 'core_permission_index', array( "core_permission_index.app=? AND core_permission_index.perm_type=? AND core_permission_index.perm_type_id={$nodeClass::$databaseTable}.{$nodeClass::$databasePrefix}{$nodeClass::$databaseColumnId}", $nodeClass::$permApp, $nodeClass::$permType ) ), $nodeClass );
}
else if ( $nodeClass::$ownerTypes !== NULL and is_subclass_of( $nodeClass, 'IPS\Node\Model', true ) )
else if ( $nodeClass::$ownerTypes !== NULL and is_subclass_of( $nodeClass, 'IPS\Node\Model' ) )
{
$select = $nodeClass::roots( 'view', new \IPS\Member );
}
+11
View File
@@ -0,0 +1,11 @@
// ----------------------------------------------------------------------------
// Buzz, a Javascript HTML5 Audio library
// v1.1.8 - Built 2015-01-12 11:08
// Licensed under the MIT license.
// http://buzz.jaysalvat.com/
// ----------------------------------------------------------------------------
// Copyright (C) 2010-2015 Jay Salvat
// http://jaysalvat.com/
// ----------------------------------------------------------------------------
(function(t,e){"use strict";"undefined"!=typeof module&&module.exports?module.exports=e():"function"==typeof define&&define.amd?define([],e):t.buzz=e()})(this,function(){"use strict";var t=window.AudioContext||window.webkitAudioContext,e={audioCtx:window.AudioContext?new t:null,defaults:{autoplay:!1,duration:5e3,formats:[],loop:!1,placeholder:"--",preload:"metadata",volume:80,webAudioApi:!1,document:window.document},types:{mp3:"audio/mpeg",ogg:"audio/ogg",wav:"audio/wav",aac:"audio/aac",m4a:"audio/x-m4a"},sounds:[],el:document.createElement("audio"),sound:function(t,n){function i(t){for(var e=[],n=t.length-1,i=0;n>=i;i++)e.push({start:t.start(i),end:t.end(i)});return e}function u(t){return t.split(".").pop()}n=n||{};var s=n.document||e.defaults.document,r=0,o=[],a={},h=e.isSupported();if(this.load=function(){return h?(this.sound.load(),this):this},this.play=function(){return h?(this.sound.play(),this):this},this.togglePlay=function(){return h?(this.sound.paused?this.sound.play():this.sound.pause(),this):this},this.pause=function(){return h?(this.sound.pause(),this):this},this.isPaused=function(){return h?this.sound.paused:null},this.stop=function(){return h?(this.setTime(0),this.sound.pause(),this):this},this.isEnded=function(){return h?this.sound.ended:null},this.loop=function(){return h?(this.sound.loop="loop",this.bind("ended.buzzloop",function(){this.currentTime=0,this.play()}),this):this},this.unloop=function(){return h?(this.sound.removeAttribute("loop"),this.unbind("ended.buzzloop"),this):this},this.mute=function(){return h?(this.sound.muted=!0,this):this},this.unmute=function(){return h?(this.sound.muted=!1,this):this},this.toggleMute=function(){return h?(this.sound.muted=!this.sound.muted,this):this},this.isMuted=function(){return h?this.sound.muted:null},this.setVolume=function(t){return h?(0>t&&(t=0),t>100&&(t=100),this.volume=t,this.sound.volume=t/100,this):this},this.getVolume=function(){return h?this.volume:this},this.increaseVolume=function(t){return this.setVolume(this.volume+(t||1))},this.decreaseVolume=function(t){return this.setVolume(this.volume-(t||1))},this.setTime=function(t){if(!h)return this;var e=!0;return this.whenReady(function(){e===!0&&(e=!1,this.sound.currentTime=t)}),this},this.getTime=function(){if(!h)return null;var t=Math.round(100*this.sound.currentTime)/100;return isNaN(t)?e.defaults.placeholder:t},this.setPercent=function(t){return h?this.setTime(e.fromPercent(t,this.sound.duration)):this},this.getPercent=function(){if(!h)return null;var t=Math.round(e.toPercent(this.sound.currentTime,this.sound.duration));return isNaN(t)?e.defaults.placeholder:t},this.setSpeed=function(t){return h?(this.sound.playbackRate=t,this):this},this.getSpeed=function(){return h?this.sound.playbackRate:null},this.getDuration=function(){if(!h)return null;var t=Math.round(100*this.sound.duration)/100;return isNaN(t)?e.defaults.placeholder:t},this.getPlayed=function(){return h?i(this.sound.played):null},this.getBuffered=function(){return h?i(this.sound.buffered):null},this.getSeekable=function(){return h?i(this.sound.seekable):null},this.getErrorCode=function(){return h&&this.sound.error?this.sound.error.code:0},this.getErrorMessage=function(){if(!h)return null;switch(this.getErrorCode()){case 1:return"MEDIA_ERR_ABORTED";case 2:return"MEDIA_ERR_NETWORK";case 3:return"MEDIA_ERR_DECODE";case 4:return"MEDIA_ERR_SRC_NOT_SUPPORTED";default:return null}},this.getStateCode=function(){return h?this.sound.readyState:null},this.getStateMessage=function(){if(!h)return null;switch(this.getStateCode()){case 0:return"HAVE_NOTHING";case 1:return"HAVE_METADATA";case 2:return"HAVE_CURRENT_DATA";case 3:return"HAVE_FUTURE_DATA";case 4:return"HAVE_ENOUGH_DATA";default:return null}},this.getNetworkStateCode=function(){return h?this.sound.networkState:null},this.getNetworkStateMessage=function(){if(!h)return null;switch(this.getNetworkStateCode()){case 0:return"NETWORK_EMPTY";case 1:return"NETWORK_IDLE";case 2:return"NETWORK_LOADING";case 3:return"NETWORK_NO_SOURCE";default:return null}},this.set=function(t,e){return h?(this.sound[t]=e,this):this},this.get=function(t){return h?t?this.sound[t]:this.sound:null},this.bind=function(t,e){if(!h)return this;t=t.split(" ");for(var n=this,i=function(t){e.call(n,t)},u=0;t.length>u;u++){var s=t[u],r=s;s=r.split(".")[0],o.push({idx:r,func:i}),this.sound.addEventListener(s,i,!0)}return this},this.unbind=function(t){if(!h)return this;t=t.split(" ");for(var e=0;t.length>e;e++)for(var n=t[e],i=n.split(".")[0],u=0;o.length>u;u++){var s=o[u].idx.split(".");(o[u].idx===n||s[1]&&s[1]===n.replace(".",""))&&(this.sound.removeEventListener(i,o[u].func,!0),o.splice(u,1))}return this},this.bindOnce=function(t,e){if(!h)return this;var n=this;return a[r++]=!1,this.bind(t+"."+r,function(){a[r]||(a[r]=!0,e.call(n)),n.unbind(t+"."+r)}),this},this.trigger=function(t,e){if(!h)return this;t=t.split(" ");for(var n=0;t.length>n;n++)for(var i=t[n],u=0;o.length>u;u++){var r=o[u].idx.split(".");if(o[u].idxLine truncated
@@ -1,6 +1,273 @@
CKEditor 4 Changelog
====================
## CKEditor 4.5.4
New Features:
* [#13632](http://dev.ckeditor.com/ticket/13632): Introduce error logging mechanism.
* [#13730](http://dev.ckeditor.com/ticket/13730): Switch to the new error logging mechanism.
Fixed Issues:
* [#9856](http://dev.ckeditor.com/ticket/9856): Fixed: Cannot use the native context menu together with the [Div Editing Area](http://ckeditor.com/addon/divarea) plugin. Thanks to [Mark Wade](https://github.com/mark-wade)!
* [#12733](http://dev.ckeditor.com/ticket/12733): [IE9+] Fixed: Radio button `onChange` does not work. Thanks to [Iliya Kostadinov](https://github.com/iliyakostadinov)!
* [#13142](http://dev.ckeditor.com/ticket/13142): [Edge] Fixed: *Ctrl+A* and then *Backspace* result in an empty `<div>` element.
* [#13599](http://dev.ckeditor.com/ticket/13599): Fixed: Cross-editor drag and drop of an inline widget results in error/artifacts.
* [#13640](http://dev.ckeditor.com/ticket/13640): [IE] Fixed: Dropping a widget outside the `<body>` element is not handled correctly.
* [#13533](http://dev.ckeditor.com/ticket/13533): Fixed: No progress during upload.
* [#13680](http://dev.ckeditor.com/ticket/13680): Fixed: The parser should allow the `<h1-6>` element to be a child of the `<summary>` element.
* [#11724](http://dev.ckeditor.com/ticket/11724): [Touch devices] Fixed: Drop-downs often hide right after opening them.
* [#13690](http://dev.ckeditor.com/ticket/13690): Fixed: Copying content from IE to Chrome adds an extra paragraph.
* [#13284](http://dev.ckeditor.com/ticket/13284): Fixed: Cannot drag and drop a widget if the text caret is placed just after the widget instance.
* [#13516](http://dev.ckeditor.com/ticket/13516): Fixed: CKEditor removes empty HTML5 anchors without the `name` attribute.
* [#13765](http://dev.ckeditor.com/ticket/13765): [Safari 9] Fixed: Problems with rendering samples.
Other Changes:
* [#11725](http://dev.ckeditor.com/ticket/11725): Marked [`CKEDITOR.env.mobile`](http://docs.ckeditor.com/#!/api/CKEDITOR.env-property-mobile) as deprecated. The reason is that it is no longer clear what "mobile" means.
* [#13737](http://dev.ckeditor.com/ticket/13737): Upgraded [Bender.js](https://github.com/benderjs/benderjs) to 0.4.1.
## CKEditor 4.5.3
New Features:
* [#13501](http://dev.ckeditor.com/ticket/13501): Added the [`config.fileTools_defaultFileName`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-fileTools_defaultFileName) option to allow setting a default filen ame for paste uploads.
* [#13603](http://dev.ckeditor.com/ticket/13603): Added support for uploading dropped BMP images.
Fixed Issues:
* [#13590](http://dev.ckeditor.com/ticket/13590): Fixed: Various issues related to the [Paste from Word](http://ckeditor.com/addon/pastefromword) feature. Fixes also:
* [#11215](http://dev.ckeditor.com/ticket/11215),
* [#8780](http://dev.ckeditor.com/ticket/8780),
* [#12762](http://dev.ckeditor.com/ticket/12762).
* [#13386](http://dev.ckeditor.com/ticket/13386): [Edge] Fixed: Issues with selecting and editing images.
* [#13568](http://dev.ckeditor.com/ticket/13568): Fixed: The [`editor.getSelectedHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSelectedHtml) method returns invalid results for entire content selection.
* [#13453](http://dev.ckeditor.com/ticket/13453): Fixed: Drag&drop of entire editor content throws an error.
* [#13465](http://dev.ckeditor.com/ticket/13465): Fixed: Error is thrown and the widget is lost on drag&drop if it is the only content of the editor.
* [#13414](http://dev.ckeditor.com/ticket/13414): Fixed: Content auto paragraphing in a nested editable despite editor configuration.
* [#13429](http://dev.ckeditor.com/ticket/13429): Fixed: Incorrect selection after content insertion by the [Auto Embed](http://ckeditor.com/addon/autoembed) plugin.
* [#13388](http://dev.ckeditor.com/ticket/13388): Fixed: [Table Resize](http://ckeditor.com/addon/tableresize) integration with [Undo](http://ckeditor.com/addon/undo) is broken.
Other Changes:
* [#13637](https://dev.ckeditor.com/ticket/13637): Several icons were refactored.
* Updated [Bender.js](https://github.com/benderjs/benderjs) to 0.3.0 and introduced the ability to run tests via HTTPs ([#13265](https://dev.ckeditor.com/ticket/13265)).
## CKEditor 4.5.2
Fixed Issues:
* [#13609](http://dev.ckeditor.com/ticket/13609): [Edge] Fixed: The browser crashes when switching to the source mode. Thanks to [Andrew Williams and Mark Smeed](http://webxsolution.com/)!
* [PR#201](https://github.com/ckeditor/ckeditor-dev/pull/201): Fixed: Buttons in the toolbar configurator cause form submission. Thanks to [colemanw](https://github.com/colemanw)!
* [#13422](http://dev.ckeditor.com/ticket/13422): Fixed: A monospaced font should be used in the `<textarea>` element storing editor configuration in the toolbar configurator.
* [#13494](http://dev.ckeditor.com/ticket/13494): Fixed: Error thrown in the toolbar configurator if plugin requirements are not met.
* [#13409](http://dev.ckeditor.com/ticket/13409): Fixed: List elements incorrectly merged when pressing *Backspace* or *Delete*.
* [#13434](http://dev.ckeditor.com/ticket/13434): Fixed: Dialog state indicator broken in Right–To–Left environments.
* [#13460](http://dev.ckeditor.com/ticket/13460): [IE8] Fixed: Copying inline widgets is broken when [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_acf) is disabled.
* [#13495](http://dev.ckeditor.com/ticket/13495): [Firefox, IE] Fixed: Text is not word-wrapped in the Paste dialog window.
* [#13528](http://dev.ckeditor.com/ticket/13528): [Firefox@Windows] Fixed: Content copied from Microsoft Word and other external applications is pasted as a plain text. Removed the `CKEDITOR.plugins.clipboard.isHtmlInExternalDataTransfer` property as the check must be dynamic.
* [#13583](http://dev.ckeditor.com/ticket/13583): Fixed: [`DataTransfer.getData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.clipboard.dataTransfer-method-getData) should work consistently in all browsers and should not strip valuable content. Fixed pasting tables from Microsoft Excel on Chrome.
* [#13468](http://dev.ckeditor.com/ticket/13468): [IE] Fixed: Binding drag&drop `dataTransfer` does not work if `text` data was set in the meantime.
* [#13451](http://dev.ckeditor.com/ticket/13451): [IE8-9] Fixed: One drag&drop operation may affect following ones.
* [#13184](http://dev.ckeditor.com/ticket/13184): Fixed: Web page reloaded after a drop on editor UI.
* [#13129](http://dev.ckeditor.com/ticket/13129) Fixed: Block widget blurred after a drop followed by an undo.
* [#13397](http://dev.ckeditor.com/ticket/13397): Fixed: Drag&drop of a widget inside its nested widget crashes the editor.
* [#13385](http://dev.ckeditor.com/ticket/13385): Fixed: [`editor.getSnapshot()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSnapshot) may return a non-string value.
* [#13419](http://dev.ckeditor.com/ticket/13419): Fixed: The [Auto Link](http://ckeditor.com/addon/autolink) plugin does not encode double quotes in URLs.
* [#13420](http://dev.ckeditor.com/ticket/13420): Fixed: The [Auto Embed](http://ckeditor.com/addon/autoembed) plugin ignores encoded characters in URL parameters.
* [#13410](http://dev.ckeditor.com/ticket/13410): Fixed: Error thrown in the [Auto Embed](http://ckeditor.com/addon/autoembed) plugin when undoing right after pasting a link.
* [#13566](http://dev.ckeditor.com/ticket/13566): Fixed: Suppressed notifications in the [Media Embed Base](http://ckeditor.com/addon/embedbase) plugin.
* [#11616](http://dev.ckeditor.com/ticket/11616): [Chrome] Fixed: Resizing the editor while it is not displayed breaks the editable. Fixes also [#9160](http://dev.ckeditor.com/ticket/9160) and [#9715](http://dev.ckeditor.com/ticket/9715).
* [#11376](http://dev.ckeditor.com/ticket/11376): [IE11] Fixed: Loss of text when pasting bulleted lists from Microsoft Word.
* [#13143](http://dev.ckeditor.com/ticket/13143): [Edge] Fixed: Focus lost when opening the panel.
* [#13387](http://dev.ckeditor.com/ticket/13387): [Edge] Fixed: "Permission denied" error thrown when loading the editor with developer tools open.
* [#13574](http://dev.ckeditor.com/ticket/13574): [Edge] Fixed: "Permission denied" error thrown when opening editor dialog windows.
* [#13441](http://dev.ckeditor.com/ticket/13441): [Edge] Fixed: The [Clipboard](http://ckeditor.com/addon/clipboard) plugin breaks the state of [Undo](http://ckeditor.com/addon/undo) commands after a paste.
* [#13554](http://dev.ckeditor.com/ticket/13554): [Edge] Fixed: Paste dialog's iframe does not receive focus on show.
* [#13440](http://dev.ckeditor.com/ticket/13440): [Edge] Fixed: Unable to paste a widget.
Other Changes:
* [#13421](http://dev.ckeditor.com/ticket/13421): UX improvements to notifications in the [Auto Embed](http://ckeditor.com/addon/autoembed) plugin.
## CKEditor 4.5.1
Fixed Issues:
* [#13486](http://dev.ckeditor.com/ticket/13486): Fixed: The [Upload Image](http://ckeditor.com/addon/uploadimage) plugin should log an error, not throw an error when upload URL is not set.
## CKEditor 4.5
New Features:
* [#13304](http://dev.ckeditor.com/ticket/13304): Added support for passing DOM elements to [`config.sharedSpaces`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-sharedSpaces). Thanks to [Undergrounder](https://github.com/Undergrounder)!
* [#13215](http://dev.ckeditor.com/ticket/13215): Added ability to cancel fetching a resource by the Embed plugins.
* [#13213](http://dev.ckeditor.com/ticket/13213): Added the [`dialog#setState()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dialog-method-setState) method and used it in the [Embed](http://ckeditor.com/addon/embed) dialog to indicate that a resource is being loaded.
* [#13337](http://dev.ckeditor.com/ticket/13337): Added the [`repository.onWidget()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-onWidget) method &mdash; a convenient way to listen to [widget](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget) events through the [repository](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository).
* [#13214](http://dev.ckeditor.com/ticket/13214): Added support for pasting links that convert into embeddable resources on the fly.
Fixed Issues:
* [#13334](http://dev.ckeditor.com/ticket/13334): Fixed: Error after nesting widgets and playing with undo/redo.
* [#13118](http://dev.ckeditor.com/ticket/13118): Fixed: The [`editor.getSelectedHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSelectedHtml) method throws an error when called in the source mode.
* [#13158](http://dev.ckeditor.com/ticket/13158): Fixed: Error after canceling a dialog when creating a widget.
* [#13197](http://dev.ckeditor.com/ticket/13197): Fixed: Linked inline [Enhanced Image](http://ckeditor.com/addon/image2) alignment class is not transferred to the widget wrapper.
* [#13199](http://dev.ckeditor.com/ticket/13199): Fixed: [Semantic Embed](http://ckeditor.com/addon/embedsemantic) does not support widget classes.
* [#13003](http://dev.ckeditor.com/ticket/13003): Fixed: Anchors are uploaded when moving them by drag and drop.
* [#13032](http://dev.ckeditor.com/ticket/13032): Fixed: When upload is done, notification update should be marked as important.
* [#13300](http://dev.ckeditor.com/ticket/13300): Fixed: The `internalCommit` argument in the [Image](http://ckeditor.com/addon/image) dialog seems to be never used.
* [#13036](http://dev.ckeditor.com/ticket/13036): Fixed: Notifications are moved 10px to the right.
* [#13280](http://dev.ckeditor.com/ticket/13280): [IE8] Fixed: Undo after inline widget drag&drop throws an error.
* [#13186](http://dev.ckeditor.com/ticket/13186): Fixed: Content dropped into a nested editable is not filtered by [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_acf).
* [#13140](http://dev.ckeditor.com/ticket/13140): Fixed: Error thrown when dropping a block widget right after itself.
* [#13176](http://dev.ckeditor.com/ticket/13176): [IE8] Fixed: Errors on drag&drop of embed widgets.
* [#13015](http://dev.ckeditor.com/ticket/13015): Fixed: Dropping an image file on [Enhanced Image](http://ckeditor.com/addon/image2) causes a page reload.
* [#13080](http://dev.ckeditor.com/ticket/13080): Fixed: Ugly notification shown when the response contains HTML content.
* [#13011](http://dev.ckeditor.com/ticket/13011): [IE8] Fixed: Anchors are duplicated on drag&drop in specific locations.
* [#13105](http://dev.ckeditor.com/ticket/13105): Fixed: Various issues related to [`CKEDITOR.tools.htmlEncode()`](http://docs.ckeditor.com/#!/api/CKEDITOR.tools-method-htmlEncode) and [`CKEDITOR.tools.htmlDecode()`](http://docs.ckeditor.com/#!/api/CKEDITOR.tools-method-htmlDecode) methods.
* [#11976](http://dev.ckeditor.com/ticket/11976): [Chrome] Fixed: Copy&paste and drag&drop lists from Microsoft Word.
* [#13128](http://dev.ckeditor.com/ticket/13128): Fixed: Various issues with cloning element IDs:
* Fixed the default behavior of [`range.cloneContents()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-cloneContents) and [`range.extractContents()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-extractContents) methods which now clone IDs similarly to their native counterparts.
* Added `cloneId` arguments to the above methods, [`range.splitBlock()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-splitBlock) and [`element.breakParent()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-breakParent). Mind the default values and special behavior in the `extractContents()` method!
* Fixed issues where IDs were lost on copy&paste and drag&drop.
* Toolbar configurators:
* [#13185](http://dev.ckeditor.com/ticket/13185): Fixed: Wrong position of the suggestion box if there is not enough space below the caret.
* [#13138](http://dev.ckeditor.com/ticket/13138): Fixed: The "Toggle empty elements" button label is unclear.
* [#13136](http://dev.ckeditor.com/ticket/13136): Fixed: Autocompleter is far too intrusive.
* [#13133](http://dev.ckeditor.com/ticket/13133): Fixed: Tab leaves the editor.
* [#13173](http://dev.ckeditor.com/ticket/13173): Fixed: [`config.removeButtons`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-removeButtons) is ignored by the advanced toolbar configurator.
Other Changes:
* [#13119](http://dev.ckeditor.com/ticket/13119): Improved compatibility of editor skins ([Moono](http://ckeditor.com/addon/moono) and [Kama](http://ckeditor.com/addon/kama)) with external web page style sheets.
* Toolbar configurators:
* [#13147](http://dev.ckeditor.com/ticket/13147): Added buttons to the sticky toolbar.
* [#13207](http://dev.ckeditor.com/ticket/13207): Used modal window to display toolbar configurator help.
* [#13316](http://dev.ckeditor.com/ticket/13316): Made [`CKEDITOR.env.isCompatible`](http://docs.ckeditor.com/#!/api/CKEDITOR.env-property-isCompatible) a blacklist rather than a whitelist. More about the change in the [Browser Compatibility](http://docs.ckeditor.com/#!/guide/dev_browsers) guide.
* [#13398](http://dev.ckeditor.com/ticket/13398): Renamed `CKEDITOR.fileTools.UploadsRepository` to [`CKEDITOR.fileTools.UploadRepository`](http://docs.ckeditor.com/#!/api/CKEDITOR.fileTools.uploadRepository) and changed all related properties.
* [#13279](http://dev.ckeditor.com/ticket/13279): Reviewed CSS vendor prefixes.
* [#13454](http://dev.ckeditor.com/ticket/13454): Removed unused `lang.image.alertUrl` token from the [Image](http://ckeditor.com/addon/image) plugin.
## CKEditor 4.5 Beta
New Features:
* Clipboard (copy&paste, drag&drop) and file uploading features and improvements ([#11437](http://dev.ckeditor.com/ticket/11437)).
* Major features:
* Support for dropping and pasting files into the editor was introduced. Through a set of new facades for native APIs it is now possible to easily intercept and process inserted files.
* [File upload tools](http://docs.ckeditor.com/#!/api/CKEDITOR.fileTools) were introduced in order to simplify controlling the loading, uploading and handling server response, properly handle [new upload configuration](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-uploadUrl) options, etc.
* [Upload Image](http://ckeditor.com/addon/uploadimage) widget was introduced to upload dropped images. A base class for the [upload widget](http://docs.ckeditor.com/#!/api/CKEDITOR.fileTools.uploadWidgetDefinition) was exposed, too, to make it simple to create new types of upload widgets which can handle any type of dropped file, show the upload progress and update the content when the process is done. It also handles editing and undo/redo operations when a file is being uploaded and integrates with the [notification aggregator](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.notificationAggregator) to show progress and success or error.
* All drag and drop operations were integrated with the editor. All dropped content is passed through the [`editor#paste`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-paste) event and a set of new editor events was introduced &mdash; [`dragstart`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-dragstart), [`drop`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-drop), [`dragend`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-dragend).
* The [Data Transfer](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.clipboard.dataTransfer) facade was introduced to unify access to data in various types and files. [Data Transfer](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.clipboard.dataTransfer) is now always available in the [`editor#paste`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-paste) event.
* Switched from the pastebin to using the native clipboard access whenever possible. This solved many issues related to pastebin such as unnecessary scrolling or data loss. Additionally, on copy and cut from the editor the clipboard data is set. Therefore, on paste the editor has access to clean data, undisturbed by the browsers.
* Drag and drop of inline and block widgets was integrated with the standard clipboard APIs. By listening to drag events you will thus be notified about widgets, too. This opens a possibility to filter pasted and dropped widgets.
* The [`editor#paste`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-paste) event can have the `range` parameter so it is possible to change the paste position in the listener or paste in the not selectable position. Also the [`editor.insertHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertHtml) method now accepts `range` as an additional parameter.
* [#11621](http://dev.ckeditor.com/ticket/11621): A configurable [paste filter](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-pasteFilter) was introduced. The filter is by default turned to `'semantic-content'` on Webkit and Blink for all pasted content coming from external sources because of the low quality of HTML that these engines put into the clipboard. Internal and cross-editor paste is safe due to the change explained in the previous point.
* Other changes and related fixes:
* [#12095](http://dev.ckeditor.com/ticket/12095): On drag and copy of widgets [the same method](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSelectedHtml) is used to get selected HTML as in the normal case. Thanks to that styles applied to inline widgets are not lost.
* [#11219](http://dev.ckeditor.com/ticket/11219): Fixed: Dragging a [captioned image](http://ckeditor.com/addon/image2) does not fire the [`editor#paste`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-paste) event.
* [#9554](http://dev.ckeditor.com/ticket/9554): [Webkit Mac] Fixed: Editor scrolls on paste.
* [#9898](http://dev.ckeditor.com/ticket/9898): [Webkit&Divarea] Fixed: Pasting causes undesirable scrolling.
* [#11993](http://dev.ckeditor.com/ticket/11993): [Chrome] Fixed: Pasting content scrolls the document.
* [#12613](http://dev.ckeditor.com/ticket/12613): Show the user that they can not drop on editor UI (toolbar, bottom bar).
* [#12851](http://dev.ckeditor.com/ticket/12851): [Blink/Webkit] Fixed: Formatting disappears when pasting content into cells.
* [#12914](http://dev.ckeditor.com/ticket/12914): Fixed: Copy/Paste of table broken in `div`-based editor.
* Browser support.<br>Browser support for related features varies significantly (see http://caniuse.com/clipboard).
* File APIs needed to operate and file upload is not supported in Internet Explorer 9 and below.
* Only Chrome and Safari on Mac OS support setting custom data items in the clipboard, so currently it is possible to recognize the origin of the copied content in these browsers only. All drag and drop operations can be identified thanks to the new Data Transfer facade.
* No Internet Explorer browser supports the standard clipboard API which results in small glitches like where only plain text can be dropped from outside the editor. Thanks to the new Data Transfer facade, internal and cross-editor drag and drop supports the full range of data.
* Direct access to clipboard could only be implemented in Chrome, Safari on Mac OS, Opera and Firefox. In other browsers the pastebin must still be used.
* [#12875](http://dev.ckeditor.com/ticket/12875): Samples and toolbar configuration tools.
* The old set of samples shipped with every CKEditor package was replaced with a shiny new single-page sample. This change concluded a long term plan which started from introducing the [CKEditor SDK](http://sdk.ckeditor.com/) and [CKEditor Functionality Overview](http://docs.ckeditor.com/#!/guide/dev_features) section in the documentation which essentially redefined the old samples.
* Toolbar configurators with live previews were introduced. They will be shipped with every CKEditor package and are meant to help in configuring toolbar layouts.
* [#10925](http://dev.ckeditor.com/ticket/10925): The [Media Embed](http://ckeditor.com/addon/embed) and [Semantic Media Embed](http://ckeditor.com/addon/embedsemantic) plugins were introduced. Read more about the new features in the [Embedding Content](http://docs.ckeditor.com/#!/guide/dev_media_embed) article.
* [#10931](http://dev.ckeditor.com/ticket/10931): Added support for nesting widgets. It is now possible to insert one widget into another widget's nested editable. Note that unless nested editable's [allowed content](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.nestedEditable.definition-property-allowedContent) is defined precisely, starting from CKEditor 4.5 some widget buttons may become enabled. This feature is not supported in IE8. Included issues:
* [#12018](http://dev.ckeditor.com/ticket/12018): Fixed and reviewed: Nested widgets garbage collection.
* [#12024](http://dev.ckeditor.com/ticket/12024): [Firefox] Fixed: Outline is extended to the left by unpositioned drag handlers.
* [#12006](http://dev.ckeditor.com/ticket/12006): Fixed: Drag and drop of nested block widgets.
* [#12008](http://dev.ckeditor.com/ticket/12008): Fixed various cases of inserting a single non-editable element using the [`editor.insertHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertHtml) method. Fixes pasting a widget with a nested editable inside another widget's nested editable.
* Notification system:
* [#11580](http://dev.ckeditor.com/ticket/11580): Introduced the [notification system](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.notification).
* [#12810](http://dev.ckeditor.com/ticket/12810): Introduced a [notification aggregator](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.notificationAggregator) for the [notification system](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.notification) which simplifies displaying progress of many concurrent tasks.
* [#11636](http://dev.ckeditor.com/ticket/11636): Introduced new, UX-focused, methods for getting selected HTML and deleting it &mdash; [`editor.getSelectedHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSelectedHtml) and [`editor.deleteSelectedHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getSelectedHtml).
* [#12416](http://dev.ckeditor.com/ticket/12416): Added the [`widget.definition.upcastPriority`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.definition-property-upcastPriority) property which gives more control over widget upcasting order to the widget author.
* [#12036](http://dev.ckeditor.com/ticket/12036): Initialize the editor in [read-only](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-readOnly) mode when the `<textarea>` element has a `readonly` attribute.
* [#11905](http://dev.ckeditor.com/ticket/11905): The [`resize` event](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-resize) passes the current dimensions in its data.
* [#12126](http://dev.ckeditor.com/ticket/12126): Introduced [`config.image_prefillDimensions`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-image_prefillDimensions) and [`config.image2_prefillDimensions`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-image2_prefillDimensions) to make pre-filling `width` and `height` configurable for the [Enhanced Image](http://ckeditor.com/addon/image2).
* [#12746](http://dev.ckeditor.com/ticket/12746): Added a new configuration option to hide the [Enhanced Image](http://ckeditor.com/addon/image2) resizer.
* [#12150](http://dev.ckeditor.com/ticket/12150): Exposed the [`getNestedEditable()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-static-method-getNestedEditable) and `is*` [widget helper](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget) functions (see the static methods).
* [#12448](http://dev.ckeditor.com/ticket/12448): Introduced the [`editable.insertHtmlIntoRange`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-method-insertHtmlIntoRange) method.
* [#12143](http://dev.ckeditor.com/ticket/12143): Added the [`config.floatSpacePreferRight`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-floatSpacePreferRight) configuration option that switches the alignment of the floating toolbar. Thanks to [InvisibleBacon](http://github.com/InvisibleBacon)!
* [#10986](http://dev.ckeditor.com/ticket/10986): Added support for changing dialog input and textarea text directions by using the *Shift+Alt+Home/End* keystrokes. The direction is stored in the value of the input by prepending the [`\u202A`](http://unicode.org/cldr/utility/character.jsp?a=202A) or [`\u202B`](http://unicode.org/cldr/utility/character.jsp?a=202B) marker to it. Read more in the [documentation](http://docs.ckeditor.com/#!/api/CKEDITOR.dialog.definition.textInput-property-bidi). Thanks to [edithkk](https://github.com/edithkk)!
* [#12770](http://dev.ckeditor.com/ticket/12770): Added support for passing [widget](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget)'s startup data as a widget command's argument. Thanks to [Rebrov Boris](https://github.com/zipp3r) and [Tieme van Veen](https://github.com/tiemevanveen)!
* [#11583](http://dev.ckeditor.com/ticket/11583): Added support for the HTML5 `required` attribute in various form elements. Thanks to [Steven Busse](https://github.com/sbusse)!
Changes:
* [#12858](http://dev.ckeditor.com/ticket/12858): Basic [Spartan](http://blogs.windows.com/bloggingwindows/2015/03/30/introducing-project-spartan-the-new-browser-built-for-windows-10/) browser compatibility. Full compatibility will be introduced later, because at the moment Spartan is still too unstable to be used for tests and we see many changes from version to version.
* [#12948](http://dev.ckeditor.com/ticket/12948): The [`config.mathJaxLibrary`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-mathJaxLib) option does not default to the MathJax CDN any more. It needs to be configured to enable the [Mathematical Formulas](http://ckeditor.com/addon/mathjax) plugin now.
* [#13069](http://dev.ckeditor.com/ticket/13069): Fixed inconsistencies between [`editable.insertHtml()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-method-insertElement) and [`editable.insertElement()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-method-insertElement) when the `range` parameter is used. Now, the `editor.insertElement()` method works on a higher level, which means that it saves undo snapshots and sets the selection after insertion. Use the [`editable.insertElementIntoRange()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editable-method-insertElementIntoRange) method directly for the pre 4.5 behavior of `editable.insertElement()`.
* [#12870](http://dev.ckeditor.com/ticket/12870): Use [`editor.showNotification()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-showNotification) instead of `alert()` directly whenever possible. When the [Notification plugin](http://ckeditor.com/addon/notification) is loaded, the notification system is used automatically. Otherwise, the native `alert()` is displayed.
* [#8024](http://dev.ckeditor.com/ticket/8024): Swapped behavior of the Split Cell Vertically and Horizontally features of the [Table Tools](http://ckeditor.com/addon/tabletools) plugin to be more intuitive. Thanks to [kevinisagit](https://github.com/kevinisagit)!
* [#10903](http://dev.ckeditor.com/ticket/10903): Performance improvements for the [`dom.element.addClass()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-addClass), [`dom.element.removeClass()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-removeClass) and [`dom.element.hasClass()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-hasClass) methods. Note: The previous implementation allowed passing multiple classes to `addClass()` although it was only a side effect of that implementation. The new implementation does not allow this.
* [#11856](http://dev.ckeditor.com/ticket/11856): The jQuery adapter throws a meaningful error if CKEditor or jQuery are not loaded.
Fixed issues:
* [#11586](http://dev.ckeditor.com/ticket/11586): Fixed: [`range.cloneContents()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-cloneContents) should not change the DOM in order not to affect selection.
* [#12148](http://dev.ckeditor.com/ticket/12148): Fixed: [`dom.element.getChild()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-getChild) should not modify a passed array.
* [#12503](http://dev.ckeditor.com/ticket/12503): [Blink/Webkit] Fixed: Incorrect result of Select All and *Backspace* or *Delete*.
* [#13001](http://dev.ckeditor.com/ticket/13001): [Firefox] Fixed: The `<br />` filler is placed in the wrong position by the [`range.fixBlock()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-fixBlock) method due to quirky Firefox behavior.
* [#13101](http://dev.ckeditor.com/ticket/13101): [IE8] Fixed: Colons are prepended to HTML5 element names when cloning them.
## CKEditor 4.4.8
**Security Updates:**
* Fixed XSS vulnerability in the HTML parser reported by [Dheeraj Joshi](https://twitter.com/dheerajhere) and [Prem Kumar](https://twitter.com/iAmPr3m).
Issue summary: It was possible to execute XSS inside CKEditor after persuading the victim to: (i) switch CKEditor to source mode, then (ii) paste a specially crafted HTML code, prepared by the attacker, into the opened CKEditor source area, and (iii) switch back to WYSIWYG mode.
**An upgrade is highly recommended!**
Fixed Issues:
* [#12899](http://dev.ckeditor.com/ticket/12899): Fixed: Corrected wrong tag ending for horizontal box definition in the [Dialog User Interface](http://ckeditor.com/addon/dialogui) plugin. Thanks to [mizafish](https://github.com/mizafish)!
* [#13254](http://dev.ckeditor.com/ticket/13254): Fixed: Cannot outdent block after indent when using the [Div Editing Area](http://ckeditor.com/addon/divarea) plugin. Thanks to [Jonathan Cottrill](https://github.com/jcttrll)!
* [#13268](http://dev.ckeditor.com/ticket/13268): Fixed: Documentation for [`CKEDITOR.dom.text`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.text) is incorrect. Thanks to [Ben Kiefer](https://github.com/benkiefer)!
* [#12739](http://dev.ckeditor.com/ticket/12739): Fixed: Link loses inline styles when edited without the [Advanced Tab for Dialogs](http://ckeditor.com/addon/dialogadvtab) plugin. Thanks to [Віталій Крутько](https://github.com/asmforce)!
* [#13292](http://dev.ckeditor.com/ticket/13292): Fixed: Protection pattern does not work in attribute in self-closing elements with no space before `/>`. Thanks to [Віталій Крутько](https://github.com/asmforce)!
* [PR#192](https://github.com/ckeditor/ckeditor-dev/pull/192): Fixed: Variable name typo in the [Dialog User Interface](http://ckeditor.com/addon/dialogui) plugin which caused [`CKEDITOR.ui.dialog.radio`](http://docs.ckeditor.com/#!/api/CKEDITOR.ui.dialog.radio) validation to not work. Thanks to [Florian Ludwig](https://github.com/FlorianLudwig)!
* [#13232](http://dev.ckeditor.com/ticket/13232): [Safari] Fixed: The [`element.appendText()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.element-method-appendText) method does not work properly for empty elements.
* [#13233](http://dev.ckeditor.com/ticket/13233): Fixed: [HTMLDataProcessor](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlDataProcessor) can process `foo:href` attributes.
* [#12796](http://dev.ckeditor.com/ticket/12796): Fixed: The [Indent List](http://ckeditor.com/addon/indentlist) plugin unwraps parent `<li>` elements. Thanks to [Andrew Stucki](https://github.com/andrewstucki)!
* [#12885](http://dev.ckeditor.com/ticket/12885): Added missing [`editor.getData()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getData) parameter documentation.
* [#11982](http://dev.ckeditor.com/ticket/11982): Fixed: Bullet added in a wrong position after the *Enter* key is pressed in a nested list.
* [#13027](http://dev.ckeditor.com/ticket/13027): Fixed: Keyboard navigation in dialog windows with multiple tabs not following IBM CI 162 instructions or [ARIA Authoring Practices](http://www.w3.org/TR/2013/WD-wai-aria-practices-20130307/#tabpanel).
* [#12256](http://dev.ckeditor.com/ticket/12256): Fixed: Basic styles classes are lost when pasting from Microsoft Word if [basic styles](http://ckeditor.com/addon/basicstyles) were configured to use classes.
* [#12729](http://dev.ckeditor.com/ticket/12729): Fixed: Incorrect structure created when merging a block into a list item on *Backspace* and *Delete*.
* [#13031](http://dev.ckeditor.com/ticket/13031): [Firefox] Fixed: No more line breaks in source view since Firefox 36.
* [#13131](http://dev.ckeditor.com/ticket/13131): Fixed: The [Code Snippet](http://ckeditor.com/addon/codesnippet) plugin cannot be used without the [IFrame Editing Area](http://ckeditor.com/addon/wysiwygarea) plugin.
* [#9086](http://dev.ckeditor.com/ticket/9086): Fixed: Invalid ARIA property used on paste area `<iframe>`.
* [#13164](http://dev.ckeditor.com/ticket/13164): Fixed: Error when inserting a hidden field.
* [#13155](http://dev.ckeditor.com/ticket/13155): Fixed: Incorrect [Line Utilities](http://ckeditor.com/addon/lineutils) positioning when `<body>` has a margin.
* [#13351](http://dev.ckeditor.com/ticket/13351): Fixed: Link lost when editing a linked image with the Link tab disabled. This also fixed a bug when inserting an image into a fully selected link would throw an error ([#12847](https://dev.ckeditor.com/ticket/12847)).
* [#13344](http://dev.ckeditor.com/ticket/13344): [WebKit/Blink] Fixed: It is possible to remove or change editor content in [read-only mode](http://docs.ckeditor.com/#!/guide/dev_readonly).
Other Changes:
* [#12844](http://dev.ckeditor.com/ticket/12844) and [#13103](http://dev.ckeditor.com/ticket/13103): Upgraded the [testing environment](http://docs.ckeditor.com/#!/guide/dev_tests) to [Bender.js](https://github.com/benderjs/benderjs) `0.2.3`.
* [#12930](http://dev.ckeditor.com/ticket/12930): Because of licensing issues, `truncated-mathjax/` is now removed from the `tests/` directory. Now `bender.config.mathJaxLibPath` must be configured manually in order to run [Mathematical Formulas](http://ckeditor.com/addon/mathjax) plugin tests.
* [#13266](http://dev.ckeditor.com/ticket/13266): Added more shades of gray in the [Color Dialog](http://ckeditor.com/addon/colordialog) window. Thanks to [mizafish](https://github.com/mizafish)!
## CKEditor 4.4.7
Fixed Issues:
@@ -11,7 +278,7 @@ Fixed Issues:
* [#12812](http://dev.ckeditor.com/ticket/12812): Fixed: An uncaught security exception is thrown when [Line Utilities](http://ckeditor.com/addon/lineutils) are used in an inline editor loaded in a cross-domain `iframe`. Thanks to [Vitaliy Zurian](https://github.com/thecatontheflat)!
* [#12735](http://dev.ckeditor.com/ticket/12735): Fixed: [`config.fillEmptyBlocks`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-fillEmptyBlocks) should only apply when outputting data.
* [#10032](http://dev.ckeditor.com/ticket/10032): Fixed: [Paste from Word](http://ckeditor.com/addon/pastefromword) filter is executed for every paste after using the button.
* [#12597](http://dev.ckeditor.com/ticket/12597): [Blink/Webkit] Fixed: Multi-byte Japanese characters entry not working properly after *Shift+Enter*.
* [#12597](http://dev.ckeditor.com/ticket/12597): [Blink/WebKit] Fixed: Multi-byte Japanese characters entry not working properly after *Shift+Enter*.
* [#12387](http://dev.ckeditor.com/ticket/12387): Fixed: An error is thrown if a skin does not have the [`chameleon`](http://docs.ckeditor.com/#!/api/CKEDITOR.skin-method-chameleon) property defined and [`config.uiColor`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-uiColor) is defined.
* [#12747](http://dev.ckeditor.com/ticket/12747): [IE8-10] Fixed: Opening a drop-down for a specific selection when the editor is maximized results in incorrect drop-down panel position.
* [#12850](http://dev.ckeditor.com/ticket/12850): [IEQM] Fixed: An error is thrown after focusing the editor.
@@ -44,7 +311,7 @@ Fixed Issues:
* [#12300](http://dev.ckeditor.com/ticket/12300): Fixed: The [`editor.change`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-change) event fired on first navigation key press after typing.
* [#12141](http://dev.ckeditor.com/ticket/12141): Fixed: List items are lost when indenting a list item with content wrapped with a block element.
* [#12515](http://dev.ckeditor.com/ticket/12515): Fixed: Cursor is in the wrong position when undoing after adding an image and typing some text.
* [#12484](http://dev.ckeditor.com/ticket/12484): [Blink/Webkit] Fixed: DOM is changed outside the editor area in a certain case.
* [#12484](http://dev.ckeditor.com/ticket/12484): [Blink/WebKit] Fixed: DOM is changed outside the editor area in a certain case.
* [#12688](http://dev.ckeditor.com/ticket/12688): Improved the tests of the [styles system](http://docs.ckeditor.com/#!/api/CKEDITOR.style) and fixed two minor issues.
* [#12403](http://dev.ckeditor.com/ticket/12403): Fixed: Changing the [font](http://ckeditor.com/addon/font) style should not lead to nesting it in the previous style element.
* [#12609](http://dev.ckeditor.com/ticket/12609): Fixed: Incorrect `config.magicline_putEverywhere` name used for a [Magic Line](http://ckeditor.com/addon/magicline) all-encompassing [`config.magicline_everywhere`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-magicline_everywhere) configuration option.
@@ -176,8 +443,8 @@ New Features:
Fixed Issues:
* [#11861](http://dev.ckeditor.com/ticket/11861): [Webkit/Blink] Fixed: Span elements created while joining adjacent elements. **Note:** This patch only covers cases when *Backspace* or *Delete* is pressed on a collapsed (empty) selection. The remaining case, with a non-empty selection, will be fixed in the next release.
* [#10714](http://dev.ckeditor.com/ticket/10714): [iOS] Fixed: Selection and drop-downs are broken if a touch event listener is used due to a [Webkit bug](https://bugs.webkit.org/show_bug.cgi?id=128924). Thanks to [Arty Gus](https://github.com/artygus)!
* [#11861](http://dev.ckeditor.com/ticket/11861): [WebKit/Blink] Fixed: Span elements created while joining adjacent elements. **Note:** This patch only covers cases when *Backspace* or *Delete* is pressed on a collapsed (empty) selection. The remaining case, with a non-empty selection, will be fixed in the next release.
* [#10714](http://dev.ckeditor.com/ticket/10714): [iOS] Fixed: Selection and drop-downs are broken if a touch event listener is used due to a [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=128924). Thanks to [Arty Gus](https://github.com/artygus)!
* [#11911](http://dev.ckeditor.com/ticket/11911): Fixed setting the `dir` attribute for a preloaded language in [CKEDITOR.lang](http://docs.ckeditor.com/#!/api/CKEDITOR.lang). Thanks to [Akash Mohapatra](https://github.com/akashmohapatra)!
* [#11926](http://dev.ckeditor.com/ticket/11926): Fixed: [Code Snippet](http://ckeditor.com/addon/codesnippet) does not decode HTML entities when loading code from the `<code>` element.
* [#11223](http://dev.ckeditor.com/ticket/11223): Fixed: Issue when [Protected Source](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-protectedSource) was not working in the `<title>` element.
@@ -190,7 +457,7 @@ Fixed Issues:
* [#11813](http://dev.ckeditor.com/ticket/11813): Fixed: Link lost while pasting a captioned image and restoring an undo snapshot ([Enhanced Image](http://ckeditor.com/addon/image2)).
* [#11814](http://dev.ckeditor.com/ticket/11814): Fixed: _Link_ and _Unlink_ entries persistently displayed in the [Enhanced Image](http://ckeditor.com/addon/image2) context menu.
* [#11839](http://dev.ckeditor.com/ticket/11839): [IE9] Fixed: The caret jumps out of the editable area when resizing the editor in the source mode.
* [#11822](http://dev.ckeditor.com/ticket/11822): [Webkit] Fixed: Editing anchors by double-click is broken in some cases.
* [#11822](http://dev.ckeditor.com/ticket/11822): [WebKit] Fixed: Editing anchors by double-click is broken in some cases.
* [#11823](http://dev.ckeditor.com/ticket/11823): [IE8] Fixed: [Table Resize](http://ckeditor.com/addon/tableresize) throws an error over scrollbar.
* [#11788](http://dev.ckeditor.com/ticket/11788): Fixed: It is not possible to change the language back to _Not set_ in the [Code Snippet](http://ckeditor.com/addon/codesnippet) dialog window.
* [#11788](http://dev.ckeditor.com/ticket/11788): Fixed: [Filter](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlParser.filter) rules are not applied inside elements with the `contenteditable` attribute set to `true`.
@@ -283,7 +550,7 @@ Fixed Issues:
Fixed Issues:
* [#11500](http://dev.ckeditor.com/ticket/11500): [Webkit/Blink] Fixed: Selection lost when setting data in another inline editor. Additionally, [`selection.removeAllRanges()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-method-removeAllRanges) is now scoped to selection's [root](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-property-root).
* [#11500](http://dev.ckeditor.com/ticket/11500): [WebKit/Blink] Fixed: Selection lost when setting data in another inline editor. Additionally, [`selection.removeAllRanges()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-method-removeAllRanges) is now scoped to selection's [root](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-property-root).
* [#11104](http://dev.ckeditor.com/ticket/11104): [IE] Fixed: Various issues with scrolling and selection when focusing widgets.
* [#11487](http://dev.ckeditor.com/ticket/11487): Moving mouse over the [Enhanced Image](http://ckeditor.com/addon/image2) widget will no longer change the value returned by the [`editor.checkDirty()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-checkDirty) method.
* [#8673](http://dev.ckeditor.com/ticket/8673): [WebKit] Fixed: Cannot select and remove the [Page Break](http://ckeditor.com/addon/pagebreak).
@@ -35,6 +35,26 @@ CKSource engineers and consists of CKSource-owned intellectual
property. In some specific instances, CKEditor will incorporate work
done by developers outside of CKSource with their express permission.
The following libraries are included in CKEditor under the MIT license (see Appendix D):
* CKSource Samples Framework (included in the samples) - Copyright (c) 2014-2015, CKSource - Frederico Knabben.
* PicoModal (included in `samples/js/sf.js`) - Copyright (c) 2012 James Frasca.
* CodeMirror (included in the samples) - Copyright (C) 2014 by Marijn Haverbeke <marijnh@gmail.com> and others.
Parts of code taken from the following libraries are included in CKEditor under the MIT license (see Appendix D):
* jQuery (inspired the domReady function, ckeditor_base.js) - Copyright (c) 2011 John Resig, http://jquery.com/
The following libraries are included in CKEditor under the SIL Open Font License, Version 1.1 (see Appendix E):
* Font Awesome (included in the toolbar configurator) - Copyright (C) 2012 by Dave Gandy.
The following libraries are included in CKEditor under the BSD-3 License (see Appendix F):
* highlight.js (included in the `codesnippet` plugin) - Copyright (c) 2006, Ivan Sagalaev.
* YUI Library (included in the `uicolor` plugin) - Copyright (c) 2009, Yahoo! Inc.
Trademarks
----------
@@ -47,6 +67,7 @@ marks of their respective holders.
Appendix A: The GPL License
---------------------------
```
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
@@ -327,11 +348,12 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
```
Appendix B: The LGPL License
----------------------------
```
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
@@ -790,11 +812,12 @@ SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
```
Appendix C: The MPL License
---------------------------
```
MOZILLA PUBLIC LICENSE
Version 1.1
@@ -1262,3 +1285,136 @@ EXHIBIT A -Mozilla Public License.
the notices in the Source Code files of the Original Code. You should
use the text of this Exhibit A rather than the text found in the
Original Code Source Code for Your Modifications.]
```
Appendix D: The MIT License
---------------------------
```
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
```
Appendix E: The SIL Open Font License Version 1.1
---------------------------------------------
```
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
```
Appendix F: The BSD-3 License
-----------------------------
```
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
```
@@ -2,5 +2,5 @@
Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
var CKBUILDER_CONFIG={skin:"moono",preset:"basic",ignore:".bender bender.js bender-err.log bender-out.log dev .DS_Store .editorconfig .gitattributes .gitignore gruntfile.js .idea .jscsrc .jshintignore .jshintrc .mailmap node_modules package.json README.md tests".split(" "),plugins:{basicstyles:1,button:1,clipboard:1,colorbutton:1,dialogui:1,enterkey:1,entities:1,fakeobjects:1,floatingspace:1,floatpanel:1,font:1,indent:1,indentblock:1,indentlist:1,justify:1,list:1,listblock:1,magicline:1,panel:1,panelbutton:1,
pastetext:1,pbckcode:1,removeformat:1,richcombo:1,sourcearea:1,toolbar:1,undo:1,wysiwygarea:1},languages:{af:1,ar:1,bg:1,bn:1,bs:1,ca:1,cs:1,cy:1,da:1,de:1,el:1,en:1,"en-au":1,"en-ca":1,"en-gb":1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fo:1,fr:1,"fr-ca":1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,id:1,is:1,it:1,ja:1,ka:1,km:1,ko:1,ku:1,lt:1,lv:1,mk:1,mn:1,ms:1,nb:1,nl:1,no:1,pl:1,pt:1,"pt-br":1,ro:1,ru:1,si:1,sk:1,sl:1,sq:1,sr:1,"sr-latn":1,sv:1,th:1,tr:1,tt:1,ug:1,uk:1,vi:1,zh:1,"zh-cn":1}};
var CKBUILDER_CONFIG={skin:"moono",preset:"basic",ignore:".bender bender.js bender-err.log bender-out.log dev .DS_Store .editorconfig .gitattributes .gitignore gruntfile.js .idea .jscsrc .jshintignore .jshintrc less .mailmap node_modules package.json README.md tests".split(" "),plugins:{basicstyles:1,clipboard:1,colorbutton:1,divarea:1,elementspath:1,enterkey:1,entities:1,floatingspace:1,font:1,htmlwriter:1,indentblock:1,indentlist:1,justify:1,list:1,sourcearea:1,toolbar:1,undo:1,widget:1},languages:{af:1,
ar:1,bg:1,bn:1,bs:1,ca:1,cs:1,cy:1,da:1,de:1,el:1,en:1,"en-au":1,"en-ca":1,"en-gb":1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fo:1,fr:1,"fr-ca":1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,id:1,is:1,it:1,ja:1,ka:1,km:1,ko:1,ku:1,lt:1,lv:1,mk:1,mn:1,ms:1,nb:1,nl:1,no:1,pl:1,pt:1,"pt-br":1,ro:1,ru:1,si:1,sk:1,sl:1,sq:1,sr:1,"sr-latn":1,sv:1,th:1,tr:1,tt:1,ug:1,uk:1,vi:1,zh:1,"zh-cn":1}};
File diff suppressed because it is too large. Load diff
@@ -3,4 +3,4 @@
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.editorConfig=function(a){a.toolbarGroups=[{name:"document",groups:["mode","document","doctools"]},{name:"clipboard",groups:["clipboard","undo"]},{name:"editing",groups:["find","selection","spellchecker"]},{name:"forms"},{name:"basicstyles",groups:["basicstyles","cleanup"]},{name:"paragraph",groups:["list","indent","blocks","align","bidi"]},{name:"links"},{name:"insert"},{name:"styles"},{name:"colors"},{name:"tools"},{name:"others"},{name:"about"}];a.removeButtons="Cut,Copy,Paste,Undo,Redo,Anchor,Underline,Strike,Subscript,Superscript";
a.removeDialogTabs="link:advanced";a.removeFormatTags="b,big,cite,code,del,dfn,em,font,i,ins,kbd,q,s,samp,small,span,strike,strong,sub,sup,tt,u,var,blockquote,pre"};
a.removeDialogTabs="link:advanced"};
@@ -94,8 +94,6 @@ pre
white-space: pre-wrap; /* CSS 2.1 */
word-wrap: break-word; /* IE7 */
-moz-tab-size: 4;
-o-tab-size: 4;
-webkit-tab-size: 4;
tab-size: 4;
}
@@ -2,4 +2,4 @@
Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.lang['af']={"undo":{"redo":"Oordoen","undo":"Ontdoen"},"toolbar":{"toolbarCollapse":"Verklein werkbalk","toolbarExpand":"Vergroot werkbalk","toolbarGroups":{"document":"Dokument","clipboard":"Knipbord/Undo","editing":"Verander","forms":"Vorms","basicstyles":"Eenvoudige Styl","paragraph":"Paragraaf","links":"Skakels","insert":"Toevoeg","styles":"Style","colors":"Kleure","tools":"Gereedskap"},"toolbars":"Werkbalke"},"sourcearea":{"toolbar":"Bron"},"removeformat":{"toolbar":"Verwyder opmaak"},"pbckcode":{"title":"PBCKCODE","addCode":"Add code","editCode":"Edit code","editor":"Editor","settings":"Settings","mode":"Mode","tabSize":"Tab size","theme":"Theme","softTab":"Enable soft tabs","emmet":"Enable Emmet"},"pastetext":{"button":"Plak as eenvoudige teks","title":"Plak as eenvoudige teks"},"magicline":{"title":"Voeg paragraaf hier in"},"list":{"bulletedlist":"Ongenommerde lys","numberedlist":"Genommerde lys"},"justify":{"block":"Uitvul","center":"Sentreer","left":"Links oplyn","right":"Regs oplyn"},"indent":{"indent":"Vergroot inspring","outdent":"Verklein inspring"},"font":{"fontSize":{"label":"Grootte","voiceLabel":"Fontgrootte","panelTitle":"Fontgrootte"},"label":"Font","panelTitle":"Fontnaam","voiceLabel":"Font"},"fakeobjects":{"anchor":"Anker","flash":"Flash animasie","hiddenfield":"Verborge veld","iframe":"IFrame","unknown":"Onbekende objek"},"colorbutton":{"auto":"Outomaties","bgColorTitle":"Agtergrondkleur","colors":{"000":"Swart","800000":"Meroen","8B4513":"Sjokoladebruin","2F4F4F":"Donkerleisteengrys","008080":"Blougroen","000080":"Vlootblou","4B0082":"Indigo","696969":"Donkergrys","B22222":"Rooibaksteen","A52A2A":"Bruin","DAA520":"Donkergeel","006400":"Donkergroen","40E0D0":"Turkoois","0000CD":"Middelblou","800080":"Pers","808080":"Grys","F00":"Rooi","FF8C00":"Donkeroranje","FFD700":"Goud","008000":"Groen","0FF":"Siaan","00F":"Blou","EE82EE":"Viooltjieblou","A9A9A9":"Donkergrys","FFA07A":"Ligsalm","FFA500":"Oranje","FFFF00":"Geel","00FF00":"Lemmetjie","AFEEEE":"Ligturkoois","ADD8E6":"Ligblou","DDA0DD":"Pruim","D3D3D3":"Liggrys","FFF0F5":"Linne","FAEBD7":"Ivoor","FFFFE0":"Liggeel","F0FFF0":"Heuningdou","F0FFFF":"Asuur","F0F8FF":"Ligte hemelsblou","E6E6FA":"Laventel","FFF":"Wit"},"more":"Meer Kleure...","panelTitle":"Kleure","textColorTitle":"Tekskleur"},"clipboard":{"copy":"Kopiëer","copyError":"U blaaier se sekuriteitsinstelling belet die kopiëringsaksie. Gebruik die sleutelbordkombinasie (Ctrl/Cmd+C).","cut":"Knip","cutError":"U blaaier se sekuriteitsinstelling belet die outomatiese knip-aksie. Gebruik die sleutelbordkombinasie (Ctrl/Cmd+X).","paste":"Plak","pasteArea":"Plak-area","pasteMsg":"Plak die teks in die volgende teks-area met die sleutelbordkombinasie (<STRONG>Ctrl/Cmd+V</STRONG>) en druk <STRONG>OK</STRONG>.","securityMsg":"Weens u blaaier se sekuriteitsinstelling is data op die knipbord nie toeganklik nie. U kan dit eers weer in hierdie venster plak.","title":"Byvoeg"},"button":{"selectedLabel":"%1 uitgekies"},"basicstyles":{"bold":"Vet","italic":"Skuins","strike":"Deurgestreep","subscript":"Onderskrif","superscript":"Bo-skrif","underline":"Onderstreep"},"editor":"Woordverwerker","editorPanel":"Woordverwerkerpaneel","common":{"editorHelp":"Druk op ALT 0 vir hulp","browseServer":"Blaai op bediener","url":"URL","protocol":"Protokol","upload":"Oplaai","uploadSubmit":"Stuur aan die bediener","image":"Beeld","flash":"Flash","form":"Vorm","checkbox":"Merkhokkie","radio":"Radioknoppie","textField":"Teksveld","textarea":"Teksarea","hiddenField":"Versteekteveld","button":"Knop","select":"Keuseveld","imageButton":"Beeldknop","notSet":"<geen instelling>","id":"Id","name":"Naam","langDir":"Skryfrigting","langDirLtr":"Links na regs (LTR)","langDirRtl":"Regs na links (RTL)","langCode":"Taalkode","longDescr":"Lang beskrywing URL","cssClass":"CSS klasse","advisoryTitle":"Aanbevole titel","cssStyle":"Styl","ok":"OK","cancel":"Kanselleer","close":"Sluit","preview":"Voorbeeld","resize":"Skalierung","generalTab":"Algemeen","advancedTab":"Gevorderd","validateNumberFailed":"Hierdie waarde is nie 'n nommer nie.","confirmNewPage":"Alle wysiginge sal verlore gaan. Is jy seker dat jy 'n nuwe bladsy wil laai?","confirmCancel":"Sommige opsies is gewysig. Is jy seker dat jy hierdie dialoogvenster wil sluit?","options":"Opsies","target":"Teiken","targetNew":"Nuwe venster (_blank)","targetTop":"Boonste venster (_top)","targetSelf":"Selfde venster (_self)","targetParent":"Oorspronklike venster (_parent)","langDirLTR":"Links na Regs (LTR)","langDirRTL":"Regs na Links (RTL)","styles":"Styl","cssClasses":"CSS klasse","width":"Breedte","height":"Hoogte","align":"Orienteerung","alignLeft":"Links","alignRight":"Regs","alignCenter":"Middel","alignJustify":"Eweredig","alignTop":"Bo","alignMiddle":"Middel","alignBottom":"Onder","alignNone":"Geen","invalidValue":"Ongeldige waarde","invalidHeight":"Hoogte moet 'n getal wees","invalidWidth":"Breedte moet 'n getal wees.","invalidCssLength":"Die waarde vir die \"%1\" velLine truncated
CKEDITOR.lang['af']={"widget":{"move":"Klik en trek on te beweeg"},"undo":{"redo":"Oordoen","undo":"Ontdoen"},"toolbar":{"toolbarCollapse":"Verklein werkbalk","toolbarExpand":"Vergroot werkbalk","toolbarGroups":{"document":"Dokument","clipboard":"Knipbord/Undo","editing":"Verander","forms":"Vorms","basicstyles":"Eenvoudige Styl","paragraph":"Paragraaf","links":"Skakels","insert":"Toevoeg","styles":"Style","colors":"Kleure","tools":"Gereedskap"},"toolbars":"Werkbalke"},"sourcearea":{"toolbar":"Bron"},"list":{"bulletedlist":"Ongenommerde lys","numberedlist":"Genommerde lys"},"justify":{"block":"Uitvul","center":"Sentreer","left":"Links oplyn","right":"Regs oplyn"},"indent":{"indent":"Vergroot inspring","outdent":"Verklein inspring"},"font":{"fontSize":{"label":"Grootte","voiceLabel":"Fontgrootte","panelTitle":"Fontgrootte"},"label":"Font","panelTitle":"Fontnaam","voiceLabel":"Font"},"elementspath":{"eleLabel":"Elemente-pad","eleTitle":"%1 element"},"colorbutton":{"auto":"Outomaties","bgColorTitle":"Agtergrondkleur","colors":{"000":"Swart","800000":"Meroen","8B4513":"Sjokoladebruin","2F4F4F":"Donkerleisteengrys","008080":"Blougroen","000080":"Vlootblou","4B0082":"Indigo","696969":"Donkergrys","B22222":"Rooibaksteen","A52A2A":"Bruin","DAA520":"Donkergeel","006400":"Donkergroen","40E0D0":"Turkoois","0000CD":"Middelblou","800080":"Pers","808080":"Grys","F00":"Rooi","FF8C00":"Donkeroranje","FFD700":"Goud","008000":"Groen","0FF":"Siaan","00F":"Blou","EE82EE":"Viooltjieblou","A9A9A9":"Donkergrys","FFA07A":"Ligsalm","FFA500":"Oranje","FFFF00":"Geel","00FF00":"Lemmetjie","AFEEEE":"Ligturkoois","ADD8E6":"Ligblou","DDA0DD":"Pruim","D3D3D3":"Liggrys","FFF0F5":"Linne","FAEBD7":"Ivoor","FFFFE0":"Liggeel","F0FFF0":"Heuningdou","F0FFFF":"Asuur","F0F8FF":"Ligte hemelsblou","E6E6FA":"Laventel","FFF":"Wit"},"more":"Meer Kleure...","panelTitle":"Kleure","textColorTitle":"Tekskleur"},"clipboard":{"copy":"Kopiëer","copyError":"U blaaier se sekuriteitsinstelling belet die kopiëringsaksie. Gebruik die sleutelbordkombinasie (Ctrl/Cmd+C).","cut":"Knip","cutError":"U blaaier se sekuriteitsinstelling belet die outomatiese knip-aksie. Gebruik die sleutelbordkombinasie (Ctrl/Cmd+X).","paste":"Plak","pasteArea":"Plak-area","pasteMsg":"Plak die teks in die volgende teks-area met die sleutelbordkombinasie (<STRONG>Ctrl/Cmd+V</STRONG>) en druk <STRONG>OK</STRONG>.","securityMsg":"Weens u blaaier se sekuriteitsinstelling is data op die knipbord nie toeganklik nie. U kan dit eers weer in hierdie venster plak.","title":"Byvoeg"},"button":{"selectedLabel":"%1 uitgekies"},"basicstyles":{"bold":"Vet","italic":"Skuins","strike":"Deurgestreep","subscript":"Onderskrif","superscript":"Bo-skrif","underline":"Onderstreep"},"editor":"Woordverwerker","editorPanel":"Woordverwerkerpaneel","common":{"editorHelp":"Druk op ALT 0 vir hulp","browseServer":"Blaai op bediener","url":"URL","protocol":"Protokol","upload":"Oplaai","uploadSubmit":"Stuur aan die bediener","image":"Beeld","flash":"Flash","form":"Vorm","checkbox":"Merkhokkie","radio":"Radioknoppie","textField":"Teksveld","textarea":"Teksarea","hiddenField":"Versteekteveld","button":"Knop","select":"Keuseveld","imageButton":"Beeldknop","notSet":"<geen instelling>","id":"Id","name":"Naam","langDir":"Skryfrigting","langDirLtr":"Links na regs (LTR)","langDirRtl":"Regs na links (RTL)","langCode":"Taalkode","longDescr":"Lang beskrywing URL","cssClass":"CSS klasse","advisoryTitle":"Aanbevole titel","cssStyle":"Styl","ok":"OK","cancel":"Kanselleer","close":"Sluit","preview":"Voorbeeld","resize":"Skalierung","generalTab":"Algemeen","advancedTab":"Gevorderd","validateNumberFailed":"Hierdie waarde is nie 'n nommer nie.","confirmNewPage":"Alle wysiginge sal verlore gaan. Is jy seker dat jy 'n nuwe bladsy wil laai?","confirmCancel":"Sommige opsies is gewysig. Is jy seker dat jy hierdie dialoogvenster wil sluit?","options":"Opsies","target":"Teiken","targetNew":"Nuwe venster (_blank)","targetTop":"Boonste venster (_top)","targetSelf":"Selfde venster (_self)","targetParent":"Oorspronklike venster (_parent)","langDirLTR":"Links na Regs (LTR)","langDirRTL":"Regs na Links (RTL)","styles":"Styl","cssClasses":"CSS klasse","width":"Breedte","height":"Hoogte","align":"Orienteerung","alignLeft":"Links","alignRight":"Regs","alignCenter":"Middel","alignJustify":"Eweredig","alignTop":"Bo","alignMiddle":"Middel","alignBottom":"Onder","alignNone":"Geen","invalidValue":"Ongeldige waarde","invalidHeight":"Hoogte moet 'n getal wees","invalidWidth":"Breedte moet 'n getal wees.","invalidCssLength":"Die waarde vir die \"%1\" veld moet 'n posetiewe getal wees met of sonder 'n geldige CSS eenheid (px, %, in, cm, mm, em, ex, pt, of pc).","invalidHtmlLength":"Die waarde vir die \"%1\" veld moet 'n posetiewe getal wees met of sonder 'n geldige HTML eenheid (px of %).","invalidInlineStyle":"Ongeldige CSS. Formaat is een of meer sleutel-wert paare, \"naam : wert\" met kommapunte gesky.","cssLengthTooltip":"Voeg 'n getal wert in pixel in, of Line truncated
@@ -2,4 +2,4 @@
Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.lang['ar']={"undo":{"redo":"إعادة","undo":"تراجع"},"toolbar":{"toolbarCollapse":"تقليص شريط الأدوت","toolbarExpand":"تمديد شريط الأدوات","toolbarGroups":{"document":"مستند","clipboard":"الحافظة/الرجوع","editing":"تحرير","forms":"نماذج","basicstyles":"نمط بسيط","paragraph":"فقرة","links":"روابط","insert":"إدراج","styles":"أنماط","colors":"ألوان","tools":"أدوات"},"toolbars":"أشرطة أدوات المحرر"},"sourcearea":{"toolbar":"المصدر"},"removeformat":{"toolbar":"إزالة التنسيقات"},"pbckcode":{"title":"PBCKCODE","addCode":"Add code","editCode":"Edit code","editor":"Editor","settings":"Settings","mode":"Mode","tabSize":"Tab size","theme":"Theme","softTab":"Enable soft tabs","emmet":"Enable Emmet"},"pastetext":{"button":"لصق كنص بسيط","title":"لصق كنص بسيط"},"magicline":{"title":"إدراج فقرة هنا"},"list":{"bulletedlist":"ادخال/حذف تعداد نقطي","numberedlist":"ادخال/حذف تعداد رقمي"},"justify":{"block":"ضبط","center":"توسيط","left":"محاذاة إلى اليسار","right":"محاذاة إلى اليمين"},"indent":{"indent":"زيادة المسافة البادئة","outdent":"إنقاص المسافة البادئة"},"font":{"fontSize":{"label":"حجم الخط","voiceLabel":"حجم الخط","panelTitle":"حجم الخط"},"label":"خط","panelTitle":"حجم الخط","voiceLabel":"حجم الخط"},"fakeobjects":{"anchor":"إرساء","flash":"رسم متحرك بالفلاش","hiddenfield":"إدراج حقل خفي","iframe":"iframe","unknown":"عنصر غير معروف"},"colorbutton":{"auto":"تلقائي","bgColorTitle":"لون الخلفية","colors":{"000":"أسود","800000":"كستنائي","8B4513":"بني فاتح","2F4F4F":"رمادي أردوازي غامق","008080":"أزرق مخضر","000080":"أزرق داكن","4B0082":"كحلي","696969":"رمادي داكن","B22222":"طوبي","A52A2A":"بني","DAA520":"ذهبي داكن","006400":"أخضر داكن","40E0D0":"فيروزي","0000CD":"أزرق متوسط","800080":"بنفسجي غامق","808080":"رمادي","F00":"أحمر","FF8C00":"برتقالي داكن","FFD700":"ذهبي","008000":"أخضر","0FF":"تركواز","00F":"أزرق","EE82EE":"بنفسجي","A9A9A9":"رمادي شاحب","FFA07A":"برتقالي وردي","FFA500":"برتقالي","FFFF00":"أصفر","00FF00":"ليموني","AFEEEE":"فيروزي شاحب","ADD8E6":"أزرق فاتح","DDA0DD":"بنفسجي فاتح","D3D3D3":"رمادي فاتح","FFF0F5":"وردي فاتح","FAEBD7":"أبيض عتيق","FFFFE0":"أصفر فاتح","F0FFF0":"أبيض مائل للأخضر","F0FFFF":"سماوي","F0F8FF":"لبني","E6E6FA":"أرجواني","FFF":"أبيض"},"more":"ألوان إضافية...","panelTitle":"Colors","textColorTitle":"لون النص"},"clipboard":{"copy":"نسخ","copyError":"الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع عمليات النسخ التلقائي. فضلاً إستخدم لوحة المفاتيح لفعل ذلك (Ctrl/Cmd+C).","cut":"قص","cutError":"الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع القص التلقائي. فضلاً إستخدم لوحة المفاتيح لفعل ذلك (Ctrl/Cmd+X).","paste":"لصق","pasteArea":"منطقة اللصق","pasteMsg":"الصق داخل الصندوق بإستخدام زرائر (<STRONG>Ctrl/Cmd+V</STRONG>) في لوحة المفاتيح، ثم اضغط زر <STRONG>موافق</STRONG>.","securityMsg":"نظراً لإعدادات الأمان الخاصة بمتصفحك، لن يتمكن هذا المحرر من الوصول لمحتوى حافظتك، لذلك يجب عليك لصق المحتوى مرة أخرى في هذه النافذة.","title":"لصق"},"button":{"selectedLabel":"%1 (Selected)"},"basicstyles":{"bold":"عريض","italic":"مائل","strike":"يتوسطه خط","subscript":"منخفض","superscript":"مرتفع","underline":"تسطير"},"editor":"محرر النص الغني","editorPanel":"لائحة محرر النص المنسق","common":{"editorHelp":"إضغط على ALT + 0 للحصول على المساعدة.","browseServer":"تصفح","url":"الرابط","protocol":"البروتوكول","upload":"رفع","uploadSubmit":"أرسل","image":"صورة","flash":"فلاش","form":"نموذج","checkbox":"خانة إختيار","radio":"زر اختيار","textField":"مربع نص","textarea":"مساحة نصية","hiddenField":"إدراج حقل خفي","button":"زر ضغط","select":"اختار","imageButton":"زر صورة","notSet":"<بدون تحديد>","id":"الرقم","name":"إسم","langDir":"إتجاه النص","langDirLtr":"اليسار لليمين (LTR)","langDirRtl":"اليمين لليسار (RTL)","langCode":"رمز اللغة","longDescr":"الوصف الLine truncated
CKEDITOR.lang['ar']={"widget":{"move":"إضغط و إسحب للتحريك"},"undo":{"redo":"إعادة","undo":"تراجع"},"toolbar":{"toolbarCollapse":"تقليص شريط الأدوت","toolbarExpand":"تمديد شريط الأدوات","toolbarGroups":{"document":"مستند","clipboard":"الحافظة/الرجوع","editing":"تحرير","forms":"نماذج","basicstyles":"نمط بسيط","paragraph":"فقرة","links":"روابط","insert":"إدراج","styles":"أنماط","colors":"ألوان","tools":"أدوات"},"toolbars":"أشرطة أدوات المحرر"},"sourcearea":{"toolbar":"المصدر"},"list":{"bulletedlist":"ادخال/حذف تعداد نقطي","numberedlist":"ادخال/حذف تعداد رقمي"},"justify":{"block":"ضبط","center":"توسيط","left":"محاذاة إلى اليسار","right":"محاذاة إلى اليمين"},"indent":{"indent":"زيادة المسافة البادئة","outdent":"إنقاص المسافة البادئة"},"font":{"fontSize":{"label":"حجم الخط","voiceLabel":"حجم الخط","panelTitle":"حجم الخط"},"label":"خط","panelTitle":"حجم الخط","voiceLabel":"حجم الخط"},"elementspath":{"eleLabel":"مسار العنصر","eleTitle":"عنصر 1%"},"colorbutton":{"auto":"تلقائي","bgColorTitle":"لون الخلفية","colors":{"000":"أسود","800000":"كستنائي","8B4513":"بني فاتح","2F4F4F":"رمادي أردوازي غامق","008080":"أزرق مخضر","000080":"أزرق داكن","4B0082":"كحلي","696969":"رمادي داكن","B22222":"طوبي","A52A2A":"بني","DAA520":"ذهبي داكن","006400":"أخضر داكن","40E0D0":"فيروزي","0000CD":"أزرق متوسط","800080":"بنفسجي غامق","808080":"رمادي","F00":"أحمر","FF8C00":"برتقالي داكن","FFD700":"ذهبي","008000":"أخضر","0FF":"تركواز","00F":"أزرق","EE82EE":"بنفسجي","A9A9A9":"رمادي شاحب","FFA07A":"برتقالي وردي","FFA500":"برتقالي","FFFF00":"أصفر","00FF00":"ليموني","AFEEEE":"فيروزي شاحب","ADD8E6":"أزرق فاتح","DDA0DD":"بنفسجي فاتح","D3D3D3":"رمادي فاتح","FFF0F5":"وردي فاتح","FAEBD7":"أبيض عتيق","FFFFE0":"أصفر فاتح","F0FFF0":"أبيض مائل للأخضر","F0FFFF":"سماوي","F0F8FF":"لبني","E6E6FA":"أرجواني","FFF":"أبيض"},"more":"ألوان إضافية...","panelTitle":"Colors","textColorTitle":"لون النص"},"clipboard":{"copy":"نسخ","copyError":"الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع عمليات النسخ التلقائي. فضلاً إستخدم لوحة المفاتيح لفعل ذلك (Ctrl/Cmd+C).","cut":"قص","cutError":"الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع القص التلقائي. فضلاً إستخدم لوحة المفاتيح لفعل ذلك (Ctrl/Cmd+X).","paste":"لصق","pasteArea":"منطقة اللصق","pasteMsg":"الصق داخل الصندوق بإستخدام زرائر (<STRONG>Ctrl/Cmd+V</STRONG>) في لوحة المفاتيح، ثم اضغط زر <STRONG>موافق</STRONG>.","securityMsg":"نظراً لإعدادات الأمان الخاصة بمتصفحك، لن يتمكن هذا المحرر من الوصول لمحتوى حافظتك، لذلك يجب عليك لصق المحتوى مرة أخرى في هذه النافذة.","title":"لصق"},"button":{"selectedLabel":"%1 (محدد)"},"basicstyles":{"bold":"عريض","italic":"مائل","strike":"يتوسطه خط","subscript":"منخفض","superscript":"مرتفع","underline":"تسطير"},"editor":"محرر النص الغني","editorPanel":"لائحة محرر النص المنسق","common":{"editorHelp":"إضغط على ALT + 0 للحصول على المساعدة.","browseServer":"تصفح","url":"الرابط","protocol":"البروتوكول","upload":"رفع","uploadSubmit":"أرسل","image":"صورة","flash":"فلاش","form":"نموذج","checkbox":"خانة إختيار","radio":"زر اختيار","textField":"مربع نص","textarea":"مساحة نصية","hiddenField":"إدراج حقل خفي","button":"زر ضغط","select":"اختار","imageButton":"زر صورة","notSet":"<بدون تحديد>","id":"الرقم","name":"إسم","langDir":"إتجاه النص","langDirLtr":"اليسار لليمين (LTR)","langDirRtl":"اليمين لليسار (RTL)","langCode":"رمز اللغة","longDescr":"الوصف التفصيلى","cssClass":"فئات التنسيق","advisoryTitle":"عنوان التقرير","cssStyle":"نمط","ok":"موافق","cancel":"إلغاء الأمر","close":"أغلق","preview":"استعراض","resize":"تغيير الحجم","generalTab":"عام","advancedTab":"متقدم","validateNumberFailed":"لايوجد نتيجة","confirmNewPage":"ستفقد أي متغييرات اذا لم تقم بحفظها اولا. هل أنت متأكLine truncated
@@ -2,4 +2,4 @@
Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.lang['bg']={"undo":{"redo":"Връщане на предишен статус","undo":"Възтанови"},"toolbar":{"toolbarCollapse":"Свиване на лентата с инструменти","toolbarExpand":"Разширяване на лентата с инструменти","toolbarGroups":{"document":"Документ","clipboard":"Clipboard/Undo","editing":"Промяна","forms":"Форми","basicstyles":"Базови стилове","paragraph":"Параграф","links":"Връзки","insert":"Вмъкване","styles":"Стилове","colors":"Цветове","tools":"Инструменти"},"toolbars":"Ленти с инструменти"},"sourcearea":{"toolbar":"Източник"},"removeformat":{"toolbar":"Премахване на форматирането"},"pbckcode":{"title":"PBCKCODE","addCode":"Add code","editCode":"Edit code","editor":"Editor","settings":"Settings","mode":"Mode","tabSize":"Tab size","theme":"Theme","softTab":"Enable soft tabs","emmet":"Enable Emmet"},"pastetext":{"button":"Вмъкни като чист текст","title":"Вмъкни като чист текст"},"magicline":{"title":"Вмъкнете параграф тук"},"list":{"bulletedlist":"Вмъкване/Премахване на точков списък","numberedlist":"Вмъкване/Премахване на номериран списък"},"justify":{"block":"Двустранно подравняване","center":"Център","left":"Подравни в ляво","right":"Подравни в дясно"},"indent":{"indent":"Увеличаване на отстъпа","outdent":"Намаляване на отстъпа"},"font":{"fontSize":{"label":"Размер","voiceLabel":"Размер на шрифт","panelTitle":"Размер на шрифт"},"label":"Шрифт","panelTitle":"Име на шрифт","voiceLabel":"Шрифт"},"fakeobjects":{"anchor":"Кука","flash":"Флаш анимация","hiddenfield":"Скрито поле","iframe":"IFrame","unknown":"Неизвестен обект"},"colorbutton":{"auto":"Автоматично","bgColorTitle":"Фонов цвят","colors":{"000":"Черно","800000":"Кестеняво","8B4513":"Светлокафяво","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Индиго","696969":"Тъмно сиво","B22222":"Огнено червено","A52A2A":"Кафяво","DAA520":"Златисто","006400":"Тъмно зелено","40E0D0":"Тюркуазено","0000CD":"Средно синьо","800080":"Пурпурно","808080":"Сиво","F00":"Червено","FF8C00":"Тъмно оранжево","FFD700":"Златно","008000":"Зелено","0FF":"Светло синьо","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White"},"more":"Още цветове","panelTitle":"Цветове","textColorTitle":"Цвят на шрифт"},"clipboard":{"copy":"Копирай","copyError":"Настройките за сигурност на вашия бразуър не разрешават на редактора да изпълни запаметяването. За целта използвайте клавиатурата (Ctrl/Cmd+C).","cut":"Отрежи","cutError":"Настройките за сигурност на Вашия браузър не позволяват на редактора автоматично да изъплни действията за отрязване. Моля ползвайте клавиатурните команди за целта (ctrl+x).","paste":"Вмъкни","pasteArea":"Зона за вмъкване","pasteMsg":"Вмъкнете тук съдъжанието с клавиатуарата (<STRONG>Ctrl/Cmd+V</STRONG>) и натиснете <STRONG>OK</STRONG>.","securityMsg":"Заради настройките за сигурност на Вашия браузър, редакторът не може да прочете данните от клипборда коректно.","title":"Вмъкни"},"button":{"selectedLabel":"%1 (Selected)"},"basicstyles":{"bold":"Удебелен","italic":"Наклонен","strike":"Зачертан текст","subscript":"Индексиран текст","superscript":"Суперскрипт","underline":"Подчертан"},"editor":"Текстов редактор за форматиран текст","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"натиснете ALT 0 за помощ","browseServer":"Избор от сървъра","url":"URL","protocol":"Протокол","upload":"Качване","uploadSubmit":"Изпращане към сървъра"Line truncated
CKEDITOR.lang['bg']={"widget":{"move":"Кликни и влачи, за да преместиш"},"undo":{"redo":"Връщане на предишен статус","undo":"Възтанови"},"toolbar":{"toolbarCollapse":"Свиване на лентата с инструменти","toolbarExpand":"Разширяване на лентата с инструменти","toolbarGroups":{"document":"Документ","clipboard":"Клипборд/Отмяна","editing":"Промяна","forms":"Форми","basicstyles":"Базови стилове","paragraph":"Параграф","links":"Връзки","insert":"Вмъкване","styles":"Стилове","colors":"Цветове","tools":"Инструменти"},"toolbars":"Ленти с инструменти"},"sourcearea":{"toolbar":"Изходен код"},"list":{"bulletedlist":"Вмъкване/Премахване на точков списък","numberedlist":"Вмъкване/Премахване на номериран списък"},"justify":{"block":"Двустранно подравняване","center":"Център","left":"Подравни в ляво","right":"Подравни в дясно"},"indent":{"indent":"Увеличаване на отстъпа","outdent":"Намаляване на отстъпа"},"font":{"fontSize":{"label":"Размер","voiceLabel":"Размер на шрифт","panelTitle":"Размер на шрифт"},"label":"Шрифт","panelTitle":"Име на шрифт","voiceLabel":"Шрифт"},"elementspath":{"eleLabel":"Път за елементите","eleTitle":"%1 елемент"},"colorbutton":{"auto":"Автоматично","bgColorTitle":"Фонов цвят","colors":{"000":"Черно","800000":"Кестеняво","8B4513":"Светлокафяво","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Индиго","696969":"Тъмно сиво","B22222":"Огнено червено","A52A2A":"Кафяво","DAA520":"Златисто","006400":"Тъмно зелено","40E0D0":"Тюркуазено","0000CD":"Средно синьо","800080":"Пурпурно","808080":"Сиво","F00":"Червено","FF8C00":"Тъмно оранжево","FFD700":"Златно","008000":"Зелено","0FF":"Светло синьо","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White"},"more":"Още цветове","panelTitle":"Цветове","textColorTitle":"Цвят на шрифт"},"clipboard":{"copy":"Копирай","copyError":"Настройките за сигурност на вашия бразуър не разрешават на редактора да изпълни запаметяването. За целта използвайте клавиатурата (Ctrl/Cmd+C).","cut":"Отрежи","cutError":"Настройките за сигурност на Вашия браузър не позволяват на редактора автоматично да изъплни действията за отрязване. Моля ползвайте клавиатурните команди за целта (ctrl+x).","paste":"Вмъкни","pasteArea":"Зона за вмъкване","pasteMsg":"Вмъкнете тук съдъжанието с клавиатуарата (<STRONG>Ctrl/Cmd+V</STRONG>) и натиснете <STRONG>OK</STRONG>.","securityMsg":"Заради настройките за сигурност на Вашия браузър, редакторът не може да прочете данните от клипборда коректно.","title":"Вмъкни"},"button":{"selectedLabel":"%1 (Избрано)"},"basicstyles":{"bold":"Удебелен","italic":"Наклонен","strike":"Зачертан текст","subscript":"Индексиран текст","superscript":"Суперскрипт","underline":"Подчертан"},"editor":"Текстов редактор за форматиран текст","editorPanel":"Панел на текстовия редактор","common":{"editorHelp":"натиснете ALT 0 за помощ","browseServer":"Избор от сървъра","url":"URL","protocol":"Протокол","upload":"Качване","uploadSubmit":"Изпращане към сървъра","image":"Снимка","flash":"Флаш","form":"Форма","checkbox":"Поле за избор","radio":"Радио бутон","textField":"Текстово поле","textarea":"Текстова зона","hiddenField":"Скрито поле","button":"Бутон","select":"Поле за избор","imageButton":"Бутон за снимка","notSet":"<не е избрано>","id":"ID","name":"Име","langDir":"ПоLine truncated
@@ -2,4 +2,4 @@
Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.lang['bn']={"undo":{"redo":"রি-ডু","undo":"আনডু"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"sourcearea":{"toolbar":"সোর্স"},"removeformat":{"toolbar":"ফরমেট সরাও"},"pbckcode":{"title":"PBCKCODE","addCode":"Add code","editCode":"Edit code","editor":"Editor","settings":"Settings","mode":"Mode","tabSize":"Tab size","theme":"Theme","softTab":"Enable soft tabs","emmet":"Enable Emmet"},"pastetext":{"button":"সাদা টেক্সট হিসেবে পেস্ট কর","title":"সাদা টেক্সট হিসেবে পেস্ট কর"},"magicline":{"title":"Insert paragraph here"},"list":{"bulletedlist":"বুলেট লিস্ট লেবেল","numberedlist":"সাংখ্যিক লিস্টের লেবেল"},"justify":{"block":"ব্লক জাস্টিফাই","center":"মাঝ বরাবর ঘেষা","left":"বা দিকে ঘেঁষা","right":"ডান দিকে ঘেঁষা"},"indent":{"indent":"ইনডেন্ট বাড়াও","outdent":"ইনডেন্ট কমাও"},"font":{"fontSize":{"label":"সাইজ","voiceLabel":"Font Size","panelTitle":"সাইজ"},"label":"ফন্ট","panelTitle":"ফন্ট","voiceLabel":"ফন্ট"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"colorbutton":{"auto":"অটোমেটিক","bgColorTitle":"বেকগ্রাউন্ড রং","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White"},"more":"আরও রং...","panelTitle":"Colors","textColorTitle":"টেক্স্ট রং"},"clipboard":{"copy":"কপি","copyError":"আপনার ব্রাউজারের সুরক্ষা সেটিংস এডিটরকে অটোমেটিক কপি করার অনুমতি দেয়নি। দয়া করে এই কাজের জন্য কিবোর্ড ব্যবহার করুন (Ctrl/Cmd+C)।","cut":"কাট","cutError":"আপনার ব্রাউজারের সুরক্ষা সেটিংস এডিটরকে অটোমেটিক কাট করার অনুমতি দেয়নি। দয়া করে এই কাজের জন্য কিবোর্ড ব্যবহার করুন (Ctrl/Cmd+X)।","paste":"পেস্ট","pasteArea":"Paste Area","pasteMsg":"অনুগ্রহ করে নীচের বাক্সে কিবোর্ড ব্যবহার করে (<STRONG>Ctrl/Cmd+V</STRONG>) পেস্ট করুন এবং <STRONG>OK</STRONG> চাপ দিন","securityMsg":"Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.","title":"পেস্ট"},"button":{"selectedLabel":"%1 (Selected)"},"basicstyles":{"bold":"বোল্ড","italic":"ইটালিক","strike":"স্ট্রাইক থ্রু","subscript":"অধোলেখ","superscript":"অভিলেখ","underline":"আন্ডারলাইন"},"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"ব্রাউজ সার্ভার","url":"URL","protocol":"প্রোটোকল","upload":"আপলোড","uploadSubmit":"ইহাকে সার্ভারে প্রেরন কর","image":"ছবির লেবেল যুক্ত কর","flash":"ফ্লাশ লেবেল যুক্ত কর","form":"ফর্ম","checkbox":"চেক বাক্স","radio":"রেডিও বাটন","textField":"টেক্সট ফীল্ড","textarea":"টেক্সট এরিয়া","hiddenField":"গুপ্ত ফীল্ড","button":"বাটন","select":"বাছLine truncated
CKEDITOR.lang['bn']={"widget":{"move":"Click and drag to move"},"undo":{"redo":"রি-ডু","undo":"আনডু"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"sourcearea":{"toolbar":"সোর্স"},"list":{"bulletedlist":"বুলেট লিস্ট লেবেল","numberedlist":"সাংখ্যিক লিস্টের লেবেল"},"justify":{"block":"ব্লক জাস্টিফাই","center":"মাঝ বরাবর ঘেষা","left":"বা দিকে ঘেঁষা","right":"ডান দিকে ঘেঁষা"},"indent":{"indent":"ইনডেন্ট বাড়াও","outdent":"ইনডেন্ট কমাও"},"font":{"fontSize":{"label":"সাইজ","voiceLabel":"Font Size","panelTitle":"সাইজ"},"label":"ফন্ট","panelTitle":"ফন্ট","voiceLabel":"ফন্ট"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"colorbutton":{"auto":"অটোমেটিক","bgColorTitle":"বেকগ্রাউন্ড রং","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White"},"more":"আরও রং...","panelTitle":"Colors","textColorTitle":"টেক্স্ট রং"},"clipboard":{"copy":"কপি","copyError":"আপনার ব্রাউজারের সুরক্ষা সেটিংস এডিটরকে অটোমেটিক কপি করার অনুমতি দেয়নি। দয়া করে এই কাজের জন্য কিবোর্ড ব্যবহার করুন (Ctrl/Cmd+C)।","cut":"কাট","cutError":"আপনার ব্রাউজারের সুরক্ষা সেটিংস এডিটরকে অটোমেটিক কাট করার অনুমতি দেয়নি। দয়া করে এই কাজের জন্য কিবোর্ড ব্যবহার করুন (Ctrl/Cmd+X)।","paste":"পেস্ট","pasteArea":"Paste Area","pasteMsg":"অনুগ্রহ করে নীচের বাক্সে কিবোর্ড ব্যবহার করে (<STRONG>Ctrl/Cmd+V</STRONG>) পেস্ট করুন এবং <STRONG>OK</STRONG> চাপ দিন","securityMsg":"Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.","title":"পেস্ট"},"button":{"selectedLabel":"%1 (Selected)"},"basicstyles":{"bold":"বোল্ড","italic":"ইটালিক","strike":"স্ট্রাইক থ্রু","subscript":"অধোলেখ","superscript":"অভিলেখ","underline":"আন্ডারলাইন"},"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"ব্রাউজ সার্ভার","url":"URL","protocol":"প্রোটোকল","upload":"আপলোড","uploadSubmit":"ইহাকে সার্ভারে প্রেরন কর","image":"ছবির লেবেল যুক্ত কর","flash":"ফ্লাশ লেবেল যুক্ত কর","form":"ফর্ম","checkbox":"চেক বাক্স","radio":"রেডিও বাটন","textField":"টেক্সট ফীল্ড","textarea":"টেক্সট এরিয়া","hiddenField":"গুপ্ত ফীল্ড","button":"বাটন","select":"বাছাই ফীল্ড","imageButton":"ছবির বাটন","notSet":"<সেট নেই>","id":"আইডি","name":"নাম","langDir":"ভাষা লেখার দিক","langDirLtr":"বাম থেকে ডান (LTR)","langDirRtl":"ডান থেকে বাম (RTL)","langCode":"ভাষা কোড","longDescr":"URL এর লম্বা বর্ণনা","cssClass":"স্টাইল-শীট ক্লাস","advisoryTitle":"পরামর্শ শীর্ষক","cssStyle":"স্টLine truncated
@@ -2,4 +2,4 @@
Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.lang['bs']={"undo":{"redo":"Ponovi","undo":"Vrati"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"sourcearea":{"toolbar":"HTML kôd"},"removeformat":{"toolbar":"Poništi format"},"pbckcode":{"title":"PBCKCODE","addCode":"Add code","editCode":"Edit code","editor":"Editor","settings":"Settings","mode":"Mode","tabSize":"Tab size","theme":"Theme","softTab":"Enable soft tabs","emmet":"Enable Emmet"},"pastetext":{"button":"Zalijepi kao obièan tekst","title":"Zalijepi kao obièan tekst"},"magicline":{"title":"Insert paragraph here"},"list":{"bulletedlist":"Lista","numberedlist":"Numerisana lista"},"justify":{"block":"Puno poravnanje","center":"Centralno poravnanje","left":"Lijevo poravnanje","right":"Desno poravnanje"},"indent":{"indent":"Poveæaj uvod","outdent":"Smanji uvod"},"font":{"fontSize":{"label":"Velièina","voiceLabel":"Font Size","panelTitle":"Velièina"},"label":"Font","panelTitle":"Font","voiceLabel":"Font"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"colorbutton":{"auto":"Automatska","bgColorTitle":"Boja pozadine","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White"},"more":"Više boja...","panelTitle":"Colors","textColorTitle":"Boja teksta"},"clipboard":{"copy":"Kopiraj","copyError":"Sigurnosne postavke Vašeg pretraživaèa ne dozvoljavaju operacije automatskog kopiranja. Molimo koristite kraticu na tastaturi (Ctrl/Cmd+C).","cut":"Izreži","cutError":"Sigurnosne postavke vašeg pretraživaèa ne dozvoljavaju operacije automatskog rezanja. Molimo koristite kraticu na tastaturi (Ctrl/Cmd+X).","paste":"Zalijepi","pasteArea":"Paste Area","pasteMsg":"Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK","securityMsg":"Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.","title":"Zalijepi"},"button":{"selectedLabel":"%1 (Selected)"},"basicstyles":{"bold":"Boldiraj","italic":"Ukosi","strike":"Precrtaj","subscript":"Subscript","superscript":"Superscript","underline":"Podvuci"},"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protokol","upload":"Šalji","uploadSubmit":"Šalji na server","image":"Slika","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<nije podešeno>","id":"Id","name":"Naziv","langDir":"Smjer pisanja","langDirLtr":"S lijeva na desno (LTR)","langDirRtl":"S desna na lijevo (RTL)","langCode":"Jezièni kôd","longDescr":"Dugaèki opis URL-a","cssClass":"Klase CSS stilova","advisoryTitle":"Advisory title","cssStyle":"Stil","ok":"OK","cancel":"Odustani","close":"Close","preview":"Prikaži","resize":"Resize","generalTab":"General","advancedTab":"Naprednije","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"Prozor","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"S lijeva na desno (LTR)","langDirRTL":"S desna na lijevo (RTL)","styles":"Stil","cssClasses":"Klase CSS stilova","width":"Širina","height":"Visina","align":"Poravnanje","alignLeft":"Lijevo","alignRight":"Desno","alignCenter":"Centar","alignJustify":"Puno poravnanje","alignTop":"Vrh","alignMiddle":"Sredina","alignBottom":"Dno","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invLine truncated
CKEDITOR.lang['bs']={"widget":{"move":"Click and drag to move"},"undo":{"redo":"Ponovi","undo":"Vrati"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"sourcearea":{"toolbar":"HTML kôd"},"list":{"bulletedlist":"Lista","numberedlist":"Numerisana lista"},"justify":{"block":"Puno poravnanje","center":"Centralno poravnanje","left":"Lijevo poravnanje","right":"Desno poravnanje"},"indent":{"indent":"Poveæaj uvod","outdent":"Smanji uvod"},"font":{"fontSize":{"label":"Velièina","voiceLabel":"Font Size","panelTitle":"Velièina"},"label":"Font","panelTitle":"Font","voiceLabel":"Font"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"colorbutton":{"auto":"Automatska","bgColorTitle":"Boja pozadine","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White"},"more":"Više boja...","panelTitle":"Colors","textColorTitle":"Boja teksta"},"clipboard":{"copy":"Kopiraj","copyError":"Sigurnosne postavke Vašeg pretraživaèa ne dozvoljavaju operacije automatskog kopiranja. Molimo koristite kraticu na tastaturi (Ctrl/Cmd+C).","cut":"Izreži","cutError":"Sigurnosne postavke vašeg pretraživaèa ne dozvoljavaju operacije automatskog rezanja. Molimo koristite kraticu na tastaturi (Ctrl/Cmd+X).","paste":"Zalijepi","pasteArea":"Paste Area","pasteMsg":"Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK","securityMsg":"Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.","title":"Zalijepi"},"button":{"selectedLabel":"%1 (Selected)"},"basicstyles":{"bold":"Boldiraj","italic":"Ukosi","strike":"Precrtaj","subscript":"Subscript","superscript":"Superscript","underline":"Podvuci"},"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protokol","upload":"Šalji","uploadSubmit":"Šalji na server","image":"Slika","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<nije podešeno>","id":"Id","name":"Naziv","langDir":"Smjer pisanja","langDirLtr":"S lijeva na desno (LTR)","langDirRtl":"S desna na lijevo (RTL)","langCode":"Jezièni kôd","longDescr":"Dugaèki opis URL-a","cssClass":"Klase CSS stilova","advisoryTitle":"Advisory title","cssStyle":"Stil","ok":"OK","cancel":"Odustani","close":"Close","preview":"Prikaži","resize":"Resize","generalTab":"General","advancedTab":"Naprednije","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"Prozor","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"S lijeva na desno (LTR)","langDirRTL":"S desna na lijevo (RTL)","styles":"Stil","cssClasses":"Klase CSS stilova","width":"Širina","height":"Visina","align":"Poravnanje","alignLeft":"Lijevo","alignRight":"Desno","alignCenter":"Centar","alignJustify":"Puno poravnanje","alignTop":"Vrh","alignMiddle":"Sredina","alignBottom":"Dno","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist ofLine truncated
@@ -2,4 +2,4 @@
Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.lang['ca']={"undo":{"redo":"Refés","undo":"Desfés"},"toolbar":{"toolbarCollapse":"Redueix la barra d'eines","toolbarExpand":"Amplia la barra d'eines","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor de barra d'eines"},"sourcearea":{"toolbar":"Codi font"},"removeformat":{"toolbar":"Elimina Format"},"pbckcode":{"title":"PBCKCODE","addCode":"Add code","editCode":"Edit code","editor":"Editor","settings":"Settings","mode":"Mode","tabSize":"Tab size","theme":"Theme","softTab":"Enable soft tabs","emmet":"Enable Emmet"},"pastetext":{"button":"Enganxa com a text no formatat","title":"Enganxa com a text no formatat"},"magicline":{"title":"Insereix el paràgraf aquí"},"list":{"bulletedlist":"Llista de pics","numberedlist":"Llista numerada"},"justify":{"block":"Justificat","center":"Centrat","left":"Alinea a l'esquerra","right":"Alinea a la dreta"},"indent":{"indent":"Augmenta el sagnat","outdent":"Redueix el sagnat"},"font":{"fontSize":{"label":"Mida","voiceLabel":"Mida de la lletra","panelTitle":"Mida de la lletra"},"label":"Tipus de lletra","panelTitle":"Tipus de lletra","voiceLabel":"Tipus de lletra"},"fakeobjects":{"anchor":"Àncora","flash":"Animació Flash","hiddenfield":"Camp ocult","iframe":"IFrame","unknown":"Objecte desconegut"},"colorbutton":{"auto":"Automàtic","bgColorTitle":"Color de Fons","colors":{"000":"Negre","800000":"Grana","8B4513":"Marró sella","2F4F4F":"Gris pissarra fosca","008080":"Blau xarxet","000080":"Blau marí","4B0082":"Indi","696969":"Gris Fosc","B22222":"Foc Maó","A52A2A":"Marró","DAA520":"Solidago","006400":"Verd Fosc","40E0D0":"Turquesa","0000CD":"Blau 1/2","800080":"Lila","808080":"Gris","F00":"Vermell","FF8C00":"Taronja Fosc","FFD700":"Or","008000":"Verd","0FF":"Cian","00F":"Blau","EE82EE":"Violat","A9A9A9":"Gris clar","FFA07A":"Salmó clar","FFA500":"Taronja","FFFF00":"Groc","00FF00":"Verd Llima","AFEEEE":"Turquesa Pàl·lid","ADD8E6":"Blau Clar","DDA0DD":"Pruna","D3D3D3":"Gris Clar","FFF0F5":"Lavanda rosat","FAEBD7":"Blanc Antic","FFFFE0":"Groc Clar","F0FFF0":"Verd Pàl·lid","F0FFFF":"Atzur","F0F8FF":"Cian pàlid","E6E6FA":"Lavanda","FFF":"Blanc"},"more":"Més Colors...","panelTitle":"Colors","textColorTitle":"Color del Text"},"clipboard":{"copy":"Copiar","copyError":"La configuració de seguretat del vostre navegador no permet executar automàticament les operacions de copiar. Si us plau, utilitzeu el teclat (Ctrl/Cmd+C).","cut":"Retallar","cutError":"La configuració de seguretat del vostre navegador no permet executar automàticament les operacions de retallar. Si us plau, utilitzeu el teclat (Ctrl/Cmd+X).","paste":"Enganxar","pasteArea":"Àrea d'enganxat","pasteMsg":"Si us plau, enganxi dins del següent camp utilitzant el teclat (<strong>Ctrl/Cmd+V</strong>) i premi OK.","securityMsg":"A causa de la configuració de seguretat del vostre navegador, l'editor no pot accedir a les dades del porta-retalls directament. Enganxeu-ho un altre cop en aquesta finestra.","title":"Enganxar"},"button":{"selectedLabel":"%1 (Seleccionat)"},"basicstyles":{"bold":"Negreta","italic":"Cursiva","strike":"Ratllat","subscript":"Subíndex","superscript":"Superíndex","underline":"Subratllat"},"editor":"Editor de text enriquit","editorPanel":"Panell de l'editor de text enriquit","common":{"editorHelp":"Premeu ALT 0 per ajuda","browseServer":"Veure servidor","url":"URL","protocol":"Protocol","upload":"Puja","uploadSubmit":"Envia-la al servidor","image":"Imatge","flash":"Flash","form":"Formulari","checkbox":"Casella de verificació","radio":"Botó d'opció","textField":"Camp de text","textarea":"Àrea de text","hiddenField":"Camp ocult","button":"Botó","select":"Camp de selecció","imageButton":"Botó d'imatge","notSet":"<no definit>","id":"Id","name":"Nom","langDir":"Direcció de l'idioma","langDirLtr":"D'esquerra a dreta (LTR)","langDirRtl":"De dreta a esquerra (RTL)","langCode":"Codi d'idioma","longDescr":"Descripció llarga de la URL","cssClass":"Classes del full d'estil","advisoryTitle":"Títol consultiu","cssStyle":"Estil","ok":"D'acord","cancel":"Cancel·la","close":"Tanca","preview":"Previsualitza","resize":"Arrossegueu per redimensionar","generalTab":"General","advancedTab":"Avançat","validateNumberFailed":"Aquest valor no és un número.","confirmNewPage":"Els canvis en aquest contingut que no es desin es perdran. Esteu segur que voleu carregar una pàgina nova?","confirmCancel":"Algunes opcions s'han canviat. Esteu segur que voleu tancar el quadre de diàleg?","options":"Opcions","target":"Destí","targetNew":"Nova finestra (_blank)","targetTop":"Finestra superior (_top)","targetSelf":"Mateixa finestra (_self)","targetParent":"Finestra pare (_parent)","langDirLTR":"D'esquerra a dreta (LTR)","langDirRTL":"De dreta a esquerra (RTL)","styles":"Estil","cssClasses":"Line truncated
CKEDITOR.lang['ca']={"widget":{"move":"Clicar i arrossegar per moure"},"undo":{"redo":"Refés","undo":"Desfés"},"toolbar":{"toolbarCollapse":"Redueix la barra d'eines","toolbarExpand":"Amplia la barra d'eines","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor de barra d'eines"},"sourcearea":{"toolbar":"Codi font"},"list":{"bulletedlist":"Llista de pics","numberedlist":"Llista numerada"},"justify":{"block":"Justificat","center":"Centrat","left":"Alinea a l'esquerra","right":"Alinea a la dreta"},"indent":{"indent":"Augmenta el sagnat","outdent":"Redueix el sagnat"},"font":{"fontSize":{"label":"Mida","voiceLabel":"Mida de la lletra","panelTitle":"Mida de la lletra"},"label":"Tipus de lletra","panelTitle":"Tipus de lletra","voiceLabel":"Tipus de lletra"},"elementspath":{"eleLabel":"Ruta dels elements","eleTitle":"%1 element"},"colorbutton":{"auto":"Automàtic","bgColorTitle":"Color de Fons","colors":{"000":"Negre","800000":"Grana","8B4513":"Marró sella","2F4F4F":"Gris pissarra fosca","008080":"Blau xarxet","000080":"Blau marí","4B0082":"Indi","696969":"Gris Fosc","B22222":"Foc Maó","A52A2A":"Marró","DAA520":"Solidago","006400":"Verd Fosc","40E0D0":"Turquesa","0000CD":"Blau 1/2","800080":"Lila","808080":"Gris","F00":"Vermell","FF8C00":"Taronja Fosc","FFD700":"Or","008000":"Verd","0FF":"Cian","00F":"Blau","EE82EE":"Violat","A9A9A9":"Gris clar","FFA07A":"Salmó clar","FFA500":"Taronja","FFFF00":"Groc","00FF00":"Verd Llima","AFEEEE":"Turquesa Pàl·lid","ADD8E6":"Blau Clar","DDA0DD":"Pruna","D3D3D3":"Gris Clar","FFF0F5":"Lavanda rosat","FAEBD7":"Blanc Antic","FFFFE0":"Groc Clar","F0FFF0":"Verd Pàl·lid","F0FFFF":"Atzur","F0F8FF":"Cian pàlid","E6E6FA":"Lavanda","FFF":"Blanc"},"more":"Més Colors...","panelTitle":"Colors","textColorTitle":"Color del Text"},"clipboard":{"copy":"Copiar","copyError":"La configuració de seguretat del vostre navegador no permet executar automàticament les operacions de copiar. Si us plau, utilitzeu el teclat (Ctrl/Cmd+C).","cut":"Retallar","cutError":"La configuració de seguretat del vostre navegador no permet executar automàticament les operacions de retallar. Si us plau, utilitzeu el teclat (Ctrl/Cmd+X).","paste":"Enganxar","pasteArea":"Àrea d'enganxat","pasteMsg":"Si us plau, enganxi dins del següent camp utilitzant el teclat (<strong>Ctrl/Cmd+V</strong>) i premi OK.","securityMsg":"A causa de la configuració de seguretat del vostre navegador, l'editor no pot accedir a les dades del porta-retalls directament. Enganxeu-ho un altre cop en aquesta finestra.","title":"Enganxar"},"button":{"selectedLabel":"%1 (Seleccionat)"},"basicstyles":{"bold":"Negreta","italic":"Cursiva","strike":"Ratllat","subscript":"Subíndex","superscript":"Superíndex","underline":"Subratllat"},"editor":"Editor de text enriquit","editorPanel":"Panell de l'editor de text enriquit","common":{"editorHelp":"Premeu ALT 0 per ajuda","browseServer":"Veure servidor","url":"URL","protocol":"Protocol","upload":"Puja","uploadSubmit":"Envia-la al servidor","image":"Imatge","flash":"Flash","form":"Formulari","checkbox":"Casella de verificació","radio":"Botó d'opció","textField":"Camp de text","textarea":"Àrea de text","hiddenField":"Camp ocult","button":"Botó","select":"Camp de selecció","imageButton":"Botó d'imatge","notSet":"<no definit>","id":"Id","name":"Nom","langDir":"Direcció de l'idioma","langDirLtr":"D'esquerra a dreta (LTR)","langDirRtl":"De dreta a esquerra (RTL)","langCode":"Codi d'idioma","longDescr":"Descripció llarga de la URL","cssClass":"Classes del full d'estil","advisoryTitle":"Títol consultiu","cssStyle":"Estil","ok":"D'acord","cancel":"Cancel·la","close":"Tanca","preview":"Previsualitza","resize":"Arrossegueu per redimensionar","generalTab":"General","advancedTab":"Avançat","validateNumberFailed":"Aquest valor no és un número.","confirmNewPage":"Els canvis en aquest contingut que no es desin es perdran. Esteu segur que voleu carregar una pàgina nova?","confirmCancel":"Algunes opcions s'han canviat. Esteu segur que voleu tancar el quadre de diàleg?","options":"Opcions","target":"Destí","targetNew":"Nova finestra (_blank)","targetTop":"Finestra superior (_top)","targetSelf":"Mateixa finestra (_self)","targetParent":"Finestra pare (_parent)","langDirLTR":"D'esquerra a dreta (LTR)","langDirRTL":"De dreta a esquerra (RTL)","styles":"Estil","cssClasses":"Classes del full d'estil","width":"Amplada","height":"Alçada","align":"Alineació","alignLeft":"Ajusta a l'esquerra","alignRight":"Ajusta a la dreta","alignCenter":"Centre","alignJustify":"Justificat","alignTop":"Superior","alignMiddle":"Centre","alignBottom":"Inferior","alignNone":"None","invalidValue":"Valor no vàlid.","invalidHeight":"L'alçada ha de ser un número.","invalidWidth":"L'amplada ha de ser un número.","iLine truncated
@@ -2,4 +2,4 @@
Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.lang['cs']={"undo":{"redo":"Znovu","undo":"Zpět"},"toolbar":{"toolbarCollapse":"Skrýt panel nástrojů","toolbarExpand":"Zobrazit panel nástrojů","toolbarGroups":{"document":"Dokument","clipboard":"Schránka/Zpět","editing":"Úpravy","forms":"Formuláře","basicstyles":"Základní styly","paragraph":"Odstavec","links":"Odkazy","insert":"Vložit","styles":"Styly","colors":"Barvy","tools":"Nástroje"},"toolbars":"Panely nástrojů editoru"},"sourcearea":{"toolbar":"Zdroj"},"removeformat":{"toolbar":"Odstranit formátování"},"pbckcode":{"title":"PBCKCODE","addCode":"Add code","editCode":"Edit code","editor":"Editor","settings":"Settings","mode":"Mode","tabSize":"Tab size","theme":"Theme","softTab":"Enable soft tabs","emmet":"Enable Emmet"},"pastetext":{"button":"Vložit jako čistý text","title":"Vložit jako čistý text"},"magicline":{"title":"zde vložit odstavec"},"list":{"bulletedlist":"Odrážky","numberedlist":"Číslování"},"justify":{"block":"Zarovnat do bloku","center":"Zarovnat na střed","left":"Zarovnat vlevo","right":"Zarovnat vpravo"},"indent":{"indent":"Zvětšit odsazení","outdent":"Zmenšit odsazení"},"font":{"fontSize":{"label":"Velikost","voiceLabel":"Velikost písma","panelTitle":"Velikost"},"label":"Písmo","panelTitle":"Písmo","voiceLabel":"Písmo"},"fakeobjects":{"anchor":"Záložka","flash":"Flash animace","hiddenfield":"Skryté pole","iframe":"IFrame","unknown":"Neznámý objekt"},"colorbutton":{"auto":"Automaticky","bgColorTitle":"Barva pozadí","colors":{"000":"Černá","800000":"Kaštanová","8B4513":"Sedlová hněď","2F4F4F":"Tmavě bledě šedá","008080":"Čírka","000080":"Námořnická modř","4B0082":"Inkoustová","696969":"Tmavě šedá","B22222":"Pálená cihla","A52A2A":"Hnědá","DAA520":"Zlatý prut","006400":"Tmavě zelená","40E0D0":"Tyrkisová","0000CD":"Středně modrá","800080":"Purpurová","808080":"Šedá","F00":"Červená","FF8C00":"Tmavě oranžová","FFD700":"Zlatá","008000":"Zelená","0FF":"Azurová","00F":"Modrá","EE82EE":"Fialová","A9A9A9":"Kalně šedá","FFA07A":"Světle lososová","FFA500":"Oranžová","FFFF00":"Žlutá","00FF00":"Limetková","AFEEEE":"Bledě tyrkisová","ADD8E6":"Světle modrá","DDA0DD":"Švestková","D3D3D3":"Světle šedá","FFF0F5":"Levandulově ruměnná","FAEBD7":"Antická bílá","FFFFE0":"Světle žlutá","F0FFF0":"Medová rosa","F0FFFF":"Azurová","F0F8FF":"Alenčina modrá","E6E6FA":"Levandulová","FFF":"Bílá"},"more":"Více barev...","panelTitle":"Barvy","textColorTitle":"Barva textu"},"clipboard":{"copy":"Kopírovat","copyError":"Bezpečnostní nastavení vašeho prohlížeče nedovolují editoru spustit funkci pro kopírování zvoleného textu do schránky. Prosím zkopírujte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+C).","cut":"Vyjmout","cutError":"Bezpečnostní nastavení vašeho prohlížeče nedovolují editoru spustit funkci pro vyjmutí zvoleného textu do schránky. Prosím vyjměte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+X).","paste":"Vložit","pasteArea":"Oblast vkládání","pasteMsg":"Do následujícího pole vložte požadovaný obsah pomocí klávesnice (<STRONG>Ctrl/Cmd+V</STRONG>) a stiskněte <STRONG>OK</STRONG>.","securityMsg":"Z důvodů nastavení bezpečnosti vašeho prohlížeče nemůže editor přistupovat přímo do schránky. Obsah schránky prosím vložte znovu do tohoto okna.","title":"Vložit"},"button":{"selectedLabel":"%1 (Vybráno)"},"basicstyles":{"bold":"Tučné","italic":"Kurzíva","strike":"Přeškrtnuté","subscript":"Dolní index","superscript":"Horní index","underline":"Podtržené"},"editor":"Textový editor","editorPanel":"Panel textového editoru","common":{"editorHelp":"Stiskněte ALT 0 pro nápovědu","browseServer":"Vybrat na serveru","url":"URL","protocol":"Protokol","upload":"Odeslat","uploadSubmit":"Odeslat na server","image":"Obrázek","flash":"Flash","form":"Formulář","checkbox":"Zaškrtávací políčko","radio":"Přepínač","textField":"Textové pole","textarea":"Textová oblast","hiddenField":"Skryté pole","button":"Tlačítko","select":"Seznam","imageButton":"Obrázkové tlačítko","notSet":"<nenastaveno>","id":"Id","name":"Jméno","langDir":"Směr jazyka","langDirLtr":"Zleva doprava (LTR)","langDirRtl":"Zprava doleva (RTL)","langCode":"Kód jazyka","longDescr":"Dlouhý popis URL","cssClass":"Třída stylu","advisoryTitle":"Pomocný titulek","cssStyle":"Styl","ok":"OK","cancel":"Zrušit","close":"Zavřít","preview":"Náhled","resize":"Uchopit pro změnu velikosti","generalTab":"Obecné","advancedTab":"Rozšířené","validateNumberFailed":"Zadaná hodnota není číselná.","confirmNewPage":"Jakékoliv neuložené změny obsahu budou ztraceny. Skutečně chcete otevřít novou stránku?","confirmCancel":"Některá z nastavení byla změněna. Skutečně chcete zavřít dialogové okno?","options":"Nastavení","target":"Cíl","targetNew":"Nové okno (_blank)","targetTop":"Okno nejvyšší úrovně (_toLine truncated
CKEDITOR.lang['cs']={"widget":{"move":"Klepněte a táhněte pro přesunutí"},"undo":{"redo":"Znovu","undo":"Zpět"},"toolbar":{"toolbarCollapse":"Skrýt panel nástrojů","toolbarExpand":"Zobrazit panel nástrojů","toolbarGroups":{"document":"Dokument","clipboard":"Schránka/Zpět","editing":"Úpravy","forms":"Formuláře","basicstyles":"Základní styly","paragraph":"Odstavec","links":"Odkazy","insert":"Vložit","styles":"Styly","colors":"Barvy","tools":"Nástroje"},"toolbars":"Panely nástrojů editoru"},"sourcearea":{"toolbar":"Zdroj"},"list":{"bulletedlist":"Odrážky","numberedlist":"Číslování"},"justify":{"block":"Zarovnat do bloku","center":"Zarovnat na střed","left":"Zarovnat vlevo","right":"Zarovnat vpravo"},"indent":{"indent":"Zvětšit odsazení","outdent":"Zmenšit odsazení"},"font":{"fontSize":{"label":"Velikost","voiceLabel":"Velikost písma","panelTitle":"Velikost"},"label":"Písmo","panelTitle":"Písmo","voiceLabel":"Písmo"},"elementspath":{"eleLabel":"Cesta objektu","eleTitle":"%1 objekt"},"colorbutton":{"auto":"Automaticky","bgColorTitle":"Barva pozadí","colors":{"000":"Černá","800000":"Kaštanová","8B4513":"Sedlová hněď","2F4F4F":"Tmavě bledě šedá","008080":"Čírka","000080":"Námořnická modř","4B0082":"Inkoustová","696969":"Tmavě šedá","B22222":"Pálená cihla","A52A2A":"Hnědá","DAA520":"Zlatý prut","006400":"Tmavě zelená","40E0D0":"Tyrkisová","0000CD":"Středně modrá","800080":"Purpurová","808080":"Šedá","F00":"Červená","FF8C00":"Tmavě oranžová","FFD700":"Zlatá","008000":"Zelená","0FF":"Azurová","00F":"Modrá","EE82EE":"Fialová","A9A9A9":"Kalně šedá","FFA07A":"Světle lososová","FFA500":"Oranžová","FFFF00":"Žlutá","00FF00":"Limetková","AFEEEE":"Bledě tyrkisová","ADD8E6":"Světle modrá","DDA0DD":"Švestková","D3D3D3":"Světle šedá","FFF0F5":"Levandulově ruměnná","FAEBD7":"Antická bílá","FFFFE0":"Světle žlutá","F0FFF0":"Medová rosa","F0FFFF":"Azurová","F0F8FF":"Alenčina modrá","E6E6FA":"Levandulová","FFF":"Bílá"},"more":"Více barev...","panelTitle":"Barvy","textColorTitle":"Barva textu"},"clipboard":{"copy":"Kopírovat","copyError":"Bezpečnostní nastavení vašeho prohlížeče nedovolují editoru spustit funkci pro kopírování zvoleného textu do schránky. Prosím zkopírujte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+C).","cut":"Vyjmout","cutError":"Bezpečnostní nastavení vašeho prohlížeče nedovolují editoru spustit funkci pro vyjmutí zvoleného textu do schránky. Prosím vyjměte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+X).","paste":"Vložit","pasteArea":"Oblast vkládání","pasteMsg":"Do následujícího pole vložte požadovaný obsah pomocí klávesnice (<STRONG>Ctrl/Cmd+V</STRONG>) a stiskněte <STRONG>OK</STRONG>.","securityMsg":"Z důvodů nastavení bezpečnosti vašeho prohlížeče nemůže editor přistupovat přímo do schránky. Obsah schránky prosím vložte znovu do tohoto okna.","title":"Vložit"},"button":{"selectedLabel":"%1 (Vybráno)"},"basicstyles":{"bold":"Tučné","italic":"Kurzíva","strike":"Přeškrtnuté","subscript":"Dolní index","superscript":"Horní index","underline":"Podtržené"},"editor":"Textový editor","editorPanel":"Panel textového editoru","common":{"editorHelp":"Stiskněte ALT 0 pro nápovědu","browseServer":"Vybrat na serveru","url":"URL","protocol":"Protokol","upload":"Odeslat","uploadSubmit":"Odeslat na server","image":"Obrázek","flash":"Flash","form":"Formulář","checkbox":"Zaškrtávací políčko","radio":"Přepínač","textField":"Textové pole","textarea":"Textová oblast","hiddenField":"Skryté pole","button":"Tlačítko","select":"Seznam","imageButton":"Obrázkové tlačítko","notSet":"<nenastaveno>","id":"Id","name":"Jméno","langDir":"Směr jazyka","langDirLtr":"Zleva doprava (LTR)","langDirRtl":"Zprava doleva (RTL)","langCode":"Kód jazyka","longDescr":"Dlouhý popis URL","cssClass":"Třída stylu","advisoryTitle":"Pomocný titulek","cssStyle":"Styl","ok":"OK","cancel":"Zrušit","close":"Zavřít","preview":"Náhled","resize":"Uchopit pro změnu velikosti","generalTab":"Obecné","advancedTab":"Rozšířené","validateNumberFailed":"Zadaná hodnota není číselná.","confirmNewPage":"Jakékoliv neuložené změny obsahu budou ztraceny. Skutečně chcete otevřít novou stránku?","confirmCancel":"Některá z nastavení byla změněna. Skutečně chcete zavřít dialogové okno?","options":"Nastavení","target":"Cíl","targetNew":"Nové okno (_blank)","targetTop":"Okno nejvyšší úrovně (_top)","targetSelf":"Stejné okno (_self)","targetParent":"Rodičovské okno (_parent)","langDirLTR":"Zleva doprava (LTR)","langDirRTL":"Zprava doleva (RTL)","styles":"Styly","cssClasses":"Třídy stylů","width":"Šířka","height":"Výška","align":"Zarovnání","alignLeft":"Vlevo","alignRight":"Vpravo","alignCenter":"Na střed","alignJustify":"Zarovnat do bloku","alignTop":"Nahoru","alignMiddle":"Na střed","alignLine truncated
@@ -2,4 +2,4 @@
Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.lang['cy']={"undo":{"redo":"Ailwneud","undo":"Dadwneud"},"toolbar":{"toolbarCollapse":"Cyfangu'r Bar Offer","toolbarExpand":"Ehangu'r Bar Offer","toolbarGroups":{"document":"Dogfen","clipboard":"Clipfwrdd/Dadwneud","editing":"Golygu","forms":"Ffurflenni","basicstyles":"Arddulliau Sylfaenol","paragraph":"Paragraff","links":"Dolenni","insert":"Mewnosod","styles":"Arddulliau","colors":"Lliwiau","tools":"Offer"},"toolbars":"Bariau offer y golygydd"},"sourcearea":{"toolbar":"HTML"},"removeformat":{"toolbar":"Tynnu Fformat"},"pbckcode":{"title":"PBCKCODE","addCode":"Add code","editCode":"Edit code","editor":"Editor","settings":"Settings","mode":"Mode","tabSize":"Tab size","theme":"Theme","softTab":"Enable soft tabs","emmet":"Enable Emmet"},"pastetext":{"button":"Gludo fel testun plaen","title":"Gludo fel Testun Plaen"},"magicline":{"title":"Mewnosod paragraff yma"},"list":{"bulletedlist":"Mewnosod/Tynnu Rhestr Bwled","numberedlist":"Mewnosod/Tynnu Rhestr Rhifol"},"justify":{"block":"Unioni","center":"Alinio i'r Canol","left":"Alinio i'r Chwith","right":"Alinio i'r Dde"},"indent":{"indent":"Cynyddu'r Mewnoliad","outdent":"Lleihau'r Mewnoliad"},"font":{"fontSize":{"label":"Maint","voiceLabel":"Maint y Ffont","panelTitle":"Maint y Ffont"},"label":"Ffont","panelTitle":"Enw'r Ffont","voiceLabel":"Ffont"},"fakeobjects":{"anchor":"Angor","flash":"Animeiddiant Flash","hiddenfield":"Maes Cudd","iframe":"IFrame","unknown":"Gwrthrych Anhysbys"},"colorbutton":{"auto":"Awtomatig","bgColorTitle":"Lliw Cefndir","colors":{"000":"Du","800000":"Marwn","8B4513":"Brown Cyfrwy","2F4F4F":"Llechen Tywyll","008080":"Corhwyad","000080":"Nefi","4B0082":"Indigo","696969":"Llwyd Tywyll","B22222":"Bric Tân","A52A2A":"Brown","DAA520":"Rhoden Aur","006400":"Gwyrdd Tywyll","40E0D0":"Gwyrddlas","0000CD":"Glas Canolig","800080":"Porffor","808080":"Llwyd","F00":"Coch","FF8C00":"Oren Tywyll","FFD700":"Aur","008000":"Gwyrdd","0FF":"Cyan","00F":"Glas","EE82EE":"Fioled","A9A9A9":"Llwyd Pwl","FFA07A":"Samwn Golau","FFA500":"Oren","FFFF00":"Melyn","00FF00":"Leim","AFEEEE":"Gwyrddlas Golau","ADD8E6":"Glas Golau","DDA0DD":"Eirinen","D3D3D3":"Llwyd Golau","FFF0F5":"Gwrid Lafant","FAEBD7":"Gwyn Hynafol","FFFFE0":"Melyn Golau","F0FFF0":"Melwn Gwyrdd Golau","F0FFFF":"Aswr","F0F8FF":"Glas Alys","E6E6FA":"Lafant","FFF":"Gwyn"},"more":"Mwy o Liwiau...","panelTitle":"Lliwiau","textColorTitle":"Lliw Testun"},"clipboard":{"copy":"Copïo","copyError":"'Dyw gosodiadau diogelwch eich porwr ddim yn caniatàu'r golygydd i gynnal 'gweithredoedd copïo' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl/Cmd+C).","cut":"Torri","cutError":"Nid yw gosodiadau diogelwch eich porwr yn caniatàu'r golygydd i gynnal 'gweithredoedd torri' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl/Cmd+X).","paste":"Gludo","pasteArea":"Ardal Gludo","pasteMsg":"Gludwch i mewn i'r blwch canlynol gan ddefnyddio'r bysellfwrdd (<strong>Ctrl/Cmd+V</strong>) a phwyso <strong>Iawn</strong>.","securityMsg":"Oherwydd gosodiadau diogelwch eich porwr, 'dyw'r porwr ddim yn gallu ennill mynediad i'r data ar y clipfwrdd yn uniongyrchol. Mae angen i chi ei ludo eto i'r ffenestr hon.","title":"Gludo"},"button":{"selectedLabel":"%1 (Selected)"},"basicstyles":{"bold":"Bras","italic":"Italig","strike":"Llinell Trwyddo","subscript":"Is-sgript","superscript":"Uwchsgript","underline":"Tanlinellu"},"editor":"Golygydd Testun Cyfoethog","editorPanel":"Panel Golygydd Testun Cyfoethog","common":{"editorHelp":"Gwasgwch ALT 0 am gymorth","browseServer":"Pori'r Gweinydd","url":"URL","protocol":"Protocol","upload":"Lanlwytho","uploadSubmit":"Anfon i'r Gweinydd","image":"Delwedd","flash":"Flash","form":"Ffurflen","checkbox":"Blwch ticio","radio":"Botwm Radio","textField":"Maes Testun","textarea":"Ardal Testun","hiddenField":"Maes Cudd","button":"Botwm","select":"Maes Dewis","imageButton":"Botwm Delwedd","notSet":"<heb osod>","id":"Id","name":"Name","langDir":"Cyfeiriad Iaith","langDirLtr":"Chwith i'r Dde (LTR)","langDirRtl":"Dde i'r Chwith (RTL)","langCode":"Cod Iaith","longDescr":"URL Disgrifiad Hir","cssClass":"Dosbarthiadau Dalen Arddull","advisoryTitle":"Teitl Cynghorol","cssStyle":"Arddull","ok":"Iawn","cancel":"Diddymu","close":"Cau","preview":"Rhagolwg","resize":"Ailfeintio","generalTab":"Cyffredinol","advancedTab":"Uwch","validateNumberFailed":"'Dyw'r gwerth hwn ddim yn rhif.","confirmNewPage":"Byddwch chi'n colli unrhyw newidiadau i'r cynnwys sydd heb eu cadw. Ydych am barhau i lwytho tudalen newydd?","confirmCancel":"Cafodd rhai o'r opsiynau eu newid. Ydych chi wir am gau'r deialog?","options":"Opsiynau","target":"Targed","targetNew":"Ffenest Newydd (_blank)","targetTop":"Ffenest ar y Brig (_top)","targetSelf":"Yr un Ffenest (_self)","targetParent":"Ffenest y Rhiant (_parent)","langDirLTR":"Chwith i'r Dde (LTR)","langDirRTL":"Dde i'r Chwith (RTL)","styles":"Arddull","cssClasses":"Dosbarthiadau Dalen Arddull","width":"Lled","height":"Uchder","align":"Alinio","alignLeft":"Chwith","alignRight":"Dde","alignCenter":"Line truncated
CKEDITOR.lang['cy']={"widget":{"move":"Clcio a llusgo i symud"},"undo":{"redo":"Ailwneud","undo":"Dadwneud"},"toolbar":{"toolbarCollapse":"Cyfangu'r Bar Offer","toolbarExpand":"Ehangu'r Bar Offer","toolbarGroups":{"document":"Dogfen","clipboard":"Clipfwrdd/Dadwneud","editing":"Golygu","forms":"Ffurflenni","basicstyles":"Arddulliau Sylfaenol","paragraph":"Paragraff","links":"Dolenni","insert":"Mewnosod","styles":"Arddulliau","colors":"Lliwiau","tools":"Offer"},"toolbars":"Bariau offer y golygydd"},"sourcearea":{"toolbar":"HTML"},"list":{"bulletedlist":"Mewnosod/Tynnu Rhestr Bwled","numberedlist":"Mewnosod/Tynnu Rhestr Rhifol"},"justify":{"block":"Unioni","center":"Alinio i'r Canol","left":"Alinio i'r Chwith","right":"Alinio i'r Dde"},"indent":{"indent":"Cynyddu'r Mewnoliad","outdent":"Lleihau'r Mewnoliad"},"font":{"fontSize":{"label":"Maint","voiceLabel":"Maint y Ffont","panelTitle":"Maint y Ffont"},"label":"Ffont","panelTitle":"Enw'r Ffont","voiceLabel":"Ffont"},"elementspath":{"eleLabel":"Llwybr elfennau","eleTitle":"Elfen %1"},"colorbutton":{"auto":"Awtomatig","bgColorTitle":"Lliw Cefndir","colors":{"000":"Du","800000":"Marwn","8B4513":"Brown Cyfrwy","2F4F4F":"Llechen Tywyll","008080":"Corhwyad","000080":"Nefi","4B0082":"Indigo","696969":"Llwyd Tywyll","B22222":"Bric Tân","A52A2A":"Brown","DAA520":"Rhoden Aur","006400":"Gwyrdd Tywyll","40E0D0":"Gwyrddlas","0000CD":"Glas Canolig","800080":"Porffor","808080":"Llwyd","F00":"Coch","FF8C00":"Oren Tywyll","FFD700":"Aur","008000":"Gwyrdd","0FF":"Cyan","00F":"Glas","EE82EE":"Fioled","A9A9A9":"Llwyd Pwl","FFA07A":"Samwn Golau","FFA500":"Oren","FFFF00":"Melyn","00FF00":"Leim","AFEEEE":"Gwyrddlas Golau","ADD8E6":"Glas Golau","DDA0DD":"Eirinen","D3D3D3":"Llwyd Golau","FFF0F5":"Gwrid Lafant","FAEBD7":"Gwyn Hynafol","FFFFE0":"Melyn Golau","F0FFF0":"Melwn Gwyrdd Golau","F0FFFF":"Aswr","F0F8FF":"Glas Alys","E6E6FA":"Lafant","FFF":"Gwyn"},"more":"Mwy o Liwiau...","panelTitle":"Lliwiau","textColorTitle":"Lliw Testun"},"clipboard":{"copy":"Copïo","copyError":"'Dyw gosodiadau diogelwch eich porwr ddim yn caniatàu'r golygydd i gynnal 'gweithredoedd copïo' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl/Cmd+C).","cut":"Torri","cutError":"Nid yw gosodiadau diogelwch eich porwr yn caniatàu'r golygydd i gynnal 'gweithredoedd torri' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl/Cmd+X).","paste":"Gludo","pasteArea":"Ardal Gludo","pasteMsg":"Gludwch i mewn i'r blwch canlynol gan ddefnyddio'r bysellfwrdd (<strong>Ctrl/Cmd+V</strong>) a phwyso <strong>Iawn</strong>.","securityMsg":"Oherwydd gosodiadau diogelwch eich porwr, 'dyw'r porwr ddim yn gallu ennill mynediad i'r data ar y clipfwrdd yn uniongyrchol. Mae angen i chi ei ludo eto i'r ffenestr hon.","title":"Gludo"},"button":{"selectedLabel":"%1 (Selected)"},"basicstyles":{"bold":"Bras","italic":"Italig","strike":"Llinell Trwyddo","subscript":"Is-sgript","superscript":"Uwchsgript","underline":"Tanlinellu"},"editor":"Golygydd Testun Cyfoethog","editorPanel":"Panel Golygydd Testun Cyfoethog","common":{"editorHelp":"Gwasgwch ALT 0 am gymorth","browseServer":"Pori'r Gweinydd","url":"URL","protocol":"Protocol","upload":"Lanlwytho","uploadSubmit":"Anfon i'r Gweinydd","image":"Delwedd","flash":"Flash","form":"Ffurflen","checkbox":"Blwch ticio","radio":"Botwm Radio","textField":"Maes Testun","textarea":"Ardal Testun","hiddenField":"Maes Cudd","button":"Botwm","select":"Maes Dewis","imageButton":"Botwm Delwedd","notSet":"<heb osod>","id":"Id","name":"Name","langDir":"Cyfeiriad Iaith","langDirLtr":"Chwith i'r Dde (LTR)","langDirRtl":"Dde i'r Chwith (RTL)","langCode":"Cod Iaith","longDescr":"URL Disgrifiad Hir","cssClass":"Dosbarthiadau Dalen Arddull","advisoryTitle":"Teitl Cynghorol","cssStyle":"Arddull","ok":"Iawn","cancel":"Diddymu","close":"Cau","preview":"Rhagolwg","resize":"Ailfeintio","generalTab":"Cyffredinol","advancedTab":"Uwch","validateNumberFailed":"'Dyw'r gwerth hwn ddim yn rhif.","confirmNewPage":"Byddwch chi'n colli unrhyw newidiadau i'r cynnwys sydd heb eu cadw. Ydych am barhau i lwytho tudalen newydd?","confirmCancel":"Cafodd rhai o'r opsiynau eu newid. Ydych chi wir am gau'r deialog?","options":"Opsiynau","target":"Targed","targetNew":"Ffenest Newydd (_blank)","targetTop":"Ffenest ar y Brig (_top)","targetSelf":"Yr un Ffenest (_self)","targetParent":"Ffenest y Rhiant (_parent)","langDirLTR":"Chwith i'r Dde (LTR)","langDirRTL":"Dde i'r Chwith (RTL)","styles":"Arddull","cssClasses":"Dosbarthiadau Dalen Arddull","width":"Lled","height":"Uchder","align":"Alinio","alignLeft":"Chwith","alignRight":"Dde","alignCenter":"Canol","alignJustify":"Unioni","alignTop":"Brig","alignMiddle":"Canol","alignBottom":"Gwaelod","alignNone":"None","invalidValue":"Gwerth annilys.","invalidHeight":"Mae'n rhaid i'r uchder fod yn rhif.","invalidWidth":"Mae'n rhaid i'r lled fod yn rhif.","invalidCssLength":"Mae'n rhaid i'r gwerth ar gyfer maes \"%1\" fod yn rhif positif gyda neu heb uned fesuriad CSS dilys (px, %, in, cm, mm, em, ex, pt, neu pc).","Line truncated
@@ -2,4 +2,4 @@
Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.lang['da']={"undo":{"redo":"Annullér fortryd","undo":"Fortryd"},"toolbar":{"toolbarCollapse":"Sammenklap værktøjslinje","toolbarExpand":"Udvid værktøjslinje","toolbarGroups":{"document":"Dokument","clipboard":"Udklipsholder/Fortryd","editing":"Redigering","forms":"Formularer","basicstyles":"Basis styles","paragraph":"Paragraf","links":"Links","insert":"Indsæt","styles":"Typografier","colors":"Farver","tools":"Værktøjer"},"toolbars":"Editors værktøjslinjer"},"sourcearea":{"toolbar":"Kilde"},"removeformat":{"toolbar":"Fjern formatering"},"pbckcode":{"title":"PBCKCODE","addCode":"Add code","editCode":"Edit code","editor":"Editor","settings":"Settings","mode":"Mode","tabSize":"Tab size","theme":"Theme","softTab":"Enable soft tabs","emmet":"Enable Emmet"},"pastetext":{"button":"Indsæt som ikke-formateret tekst","title":"Indsæt som ikke-formateret tekst"},"magicline":{"title":"Indsæt afsnit"},"list":{"bulletedlist":"Punktopstilling","numberedlist":"Talopstilling"},"justify":{"block":"Lige margener","center":"Centreret","left":"Venstrestillet","right":"Højrestillet"},"indent":{"indent":"Forøg indrykning","outdent":"Formindsk indrykning"},"font":{"fontSize":{"label":"Skriftstørrelse","voiceLabel":"Skriftstørrelse","panelTitle":"Skriftstørrelse"},"label":"Skrifttype","panelTitle":"Skrifttype","voiceLabel":"Skrifttype"},"fakeobjects":{"anchor":"Anker","flash":"Flashanimation","hiddenfield":"Skjult felt","iframe":"Iframe","unknown":"Ukendt objekt"},"colorbutton":{"auto":"Automatisk","bgColorTitle":"Baggrundsfarve","colors":{"000":"Sort","800000":"Mørkerød","8B4513":"Mørk orange","2F4F4F":"Dark Slate Grå","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Mørkegrå","B22222":"Scarlet / Rød","A52A2A":"Brun","DAA520":"Guld","006400":"Mørkegrøn","40E0D0":"Tyrkis","0000CD":"Mellemblå","800080":"Lilla","808080":"Grå","F00":"Rød","FF8C00":"Mørk orange","FFD700":"Guld","008000":"Grøn","0FF":"Cyan","00F":"Blå","EE82EE":"Violet","A9A9A9":"Matgrå","FFA07A":"Laksefarve","FFA500":"Orange","FFFF00":"Gul","00FF00":"Lime","AFEEEE":"Mat tyrkis","ADD8E6":"Lyseblå","DDA0DD":"Plum","D3D3D3":"Lysegrå","FFF0F5":"Lavender Blush","FAEBD7":"Antikhvid","FFFFE0":"Lysegul","F0FFF0":"Gul / Beige","F0FFFF":"Himmeblå","F0F8FF":"Alice blue","E6E6FA":"Lavendel","FFF":"Hvid"},"more":"Flere farver...","panelTitle":"Farver","textColorTitle":"Tekstfarve"},"clipboard":{"copy":"Kopiér","copyError":"Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.<br><br>Brug i stedet tastaturet til at kopiere teksten (Ctrl/Cmd+C).","cut":"Klip","cutError":"Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.<br><br>Brug i stedet tastaturet til at klippe teksten (Ctrl/Cmd+X).","paste":"Indsæt","pasteArea":"Indsæt område","pasteMsg":"Indsæt i feltet herunder (<STRONG>Ctrl/Cmd+V</STRONG>) og klik på <STRONG>OK</STRONG>.","securityMsg":"Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.<br><br>Du skal indsætte udklipsholderens indhold i dette vindue igen.","title":"Indsæt"},"button":{"selectedLabel":"%1 (Valgt)"},"basicstyles":{"bold":"Fed","italic":"Kursiv","strike":"Gennemstreget","subscript":"Sænket skrift","superscript":"Hævet skrift","underline":"Understreget"},"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Tryk ALT 0 for hjælp","browseServer":"Gennemse...","url":"URL","protocol":"Protokol","upload":"Upload","uploadSubmit":"Upload","image":"Indsæt billede","flash":"Indsæt Flash","form":"Indsæt formular","checkbox":"Indsæt afkrydsningsfelt","radio":"Indsæt alternativknap","textField":"Indsæt tekstfelt","textarea":"Indsæt tekstboks","hiddenField":"Indsæt skjult felt","button":"Indsæt knap","select":"Indsæt liste","imageButton":"Indsæt billedknap","notSet":"<intet valgt>","id":"Id","name":"Navn","langDir":"Tekstretning","langDirLtr":"Fra venstre mod højre (LTR)","langDirRtl":"Fra højre mod venstre (RTL)","langCode":"Sprogkode","longDescr":"Udvidet beskrivelse","cssClass":"Typografiark (CSS)","advisoryTitle":"Titel","cssStyle":"Typografi (CSS)","ok":"OK","cancel":"Annullér","close":"Luk","preview":"Forhåndsvisning","resize":"Træk for at skalere","generalTab":"Generelt","advancedTab":"Avanceret","validateNumberFailed":"Værdien er ikke et tal.","confirmNewPage":"Alt indhold, der ikke er blevet gemt, vil gå tabt. Er du sikker på, at du vil indlæse en ny side?","confirmCancel":"Nogle af indstillingerne er blevet ændret. Er du sikker på, at du vil lukke vinduet?","options":"Vis muligheder","target":"Mål","targetNew":"Nyt vindue (_blank)","targetTop":"Øverste vindue (_top)","targetSelf":"Samme vindue (_self)","targetParent":"Samme vindue (_parent)","langDirLTR":"Venstre til højre (LTR)","langDirRTL":"Højre til venstre (RTL)","styles":"Style","cssClasses":"Stylesheetklasser","width":"BreLine truncated
CKEDITOR.lang['da']={"widget":{"move":"Klik og træk for at flytte"},"undo":{"redo":"Annullér fortryd","undo":"Fortryd"},"toolbar":{"toolbarCollapse":"Sammenklap værktøjslinje","toolbarExpand":"Udvid værktøjslinje","toolbarGroups":{"document":"Dokument","clipboard":"Udklipsholder/Fortryd","editing":"Redigering","forms":"Formularer","basicstyles":"Basis styles","paragraph":"Paragraf","links":"Links","insert":"Indsæt","styles":"Typografier","colors":"Farver","tools":"Værktøjer"},"toolbars":"Editors værktøjslinjer"},"sourcearea":{"toolbar":"Kilde"},"list":{"bulletedlist":"Punktopstilling","numberedlist":"Talopstilling"},"justify":{"block":"Lige margener","center":"Centreret","left":"Venstrestillet","right":"Højrestillet"},"indent":{"indent":"Forøg indrykning","outdent":"Formindsk indrykning"},"font":{"fontSize":{"label":"Skriftstørrelse","voiceLabel":"Skriftstørrelse","panelTitle":"Skriftstørrelse"},"label":"Skrifttype","panelTitle":"Skrifttype","voiceLabel":"Skrifttype"},"elementspath":{"eleLabel":"Sti på element","eleTitle":"%1 element"},"colorbutton":{"auto":"Automatisk","bgColorTitle":"Baggrundsfarve","colors":{"000":"Sort","800000":"Mørkerød","8B4513":"Mørk orange","2F4F4F":"Dark Slate Grå","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Mørkegrå","B22222":"Scarlet / Rød","A52A2A":"Brun","DAA520":"Guld","006400":"Mørkegrøn","40E0D0":"Tyrkis","0000CD":"Mellemblå","800080":"Lilla","808080":"Grå","F00":"Rød","FF8C00":"Mørk orange","FFD700":"Guld","008000":"Grøn","0FF":"Cyan","00F":"Blå","EE82EE":"Violet","A9A9A9":"Matgrå","FFA07A":"Laksefarve","FFA500":"Orange","FFFF00":"Gul","00FF00":"Lime","AFEEEE":"Mat tyrkis","ADD8E6":"Lyseblå","DDA0DD":"Plum","D3D3D3":"Lysegrå","FFF0F5":"Lavender Blush","FAEBD7":"Antikhvid","FFFFE0":"Lysegul","F0FFF0":"Gul / Beige","F0FFFF":"Himmeblå","F0F8FF":"Alice blue","E6E6FA":"Lavendel","FFF":"Hvid"},"more":"Flere farver...","panelTitle":"Farver","textColorTitle":"Tekstfarve"},"clipboard":{"copy":"Kopiér","copyError":"Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.<br><br>Brug i stedet tastaturet til at kopiere teksten (Ctrl/Cmd+C).","cut":"Klip","cutError":"Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.<br><br>Brug i stedet tastaturet til at klippe teksten (Ctrl/Cmd+X).","paste":"Indsæt","pasteArea":"Indsæt område","pasteMsg":"Indsæt i feltet herunder (<STRONG>Ctrl/Cmd+V</STRONG>) og klik på <STRONG>OK</STRONG>.","securityMsg":"Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.<br><br>Du skal indsætte udklipsholderens indhold i dette vindue igen.","title":"Indsæt"},"button":{"selectedLabel":"%1 (Valgt)"},"basicstyles":{"bold":"Fed","italic":"Kursiv","strike":"Gennemstreget","subscript":"Sænket skrift","superscript":"Hævet skrift","underline":"Understreget"},"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Tryk ALT 0 for hjælp","browseServer":"Gennemse...","url":"URL","protocol":"Protokol","upload":"Upload","uploadSubmit":"Upload","image":"Indsæt billede","flash":"Indsæt Flash","form":"Indsæt formular","checkbox":"Indsæt afkrydsningsfelt","radio":"Indsæt alternativknap","textField":"Indsæt tekstfelt","textarea":"Indsæt tekstboks","hiddenField":"Indsæt skjult felt","button":"Indsæt knap","select":"Indsæt liste","imageButton":"Indsæt billedknap","notSet":"<intet valgt>","id":"Id","name":"Navn","langDir":"Tekstretning","langDirLtr":"Fra venstre mod højre (LTR)","langDirRtl":"Fra højre mod venstre (RTL)","langCode":"Sprogkode","longDescr":"Udvidet beskrivelse","cssClass":"Typografiark (CSS)","advisoryTitle":"Titel","cssStyle":"Typografi (CSS)","ok":"OK","cancel":"Annullér","close":"Luk","preview":"Forhåndsvisning","resize":"Træk for at skalere","generalTab":"Generelt","advancedTab":"Avanceret","validateNumberFailed":"Værdien er ikke et tal.","confirmNewPage":"Alt indhold, der ikke er blevet gemt, vil gå tabt. Er du sikker på, at du vil indlæse en ny side?","confirmCancel":"Nogle af indstillingerne er blevet ændret. Er du sikker på, at du vil lukke vinduet?","options":"Vis muligheder","target":"Mål","targetNew":"Nyt vindue (_blank)","targetTop":"Øverste vindue (_top)","targetSelf":"Samme vindue (_self)","targetParent":"Samme vindue (_parent)","langDirLTR":"Venstre til højre (LTR)","langDirRTL":"Højre til venstre (RTL)","styles":"Style","cssClasses":"Stylesheetklasser","width":"Bredde","height":"Højde","align":"Justering","alignLeft":"Venstre","alignRight":"Højre","alignCenter":"Centreret","alignJustify":"Lige margener","alignTop":"Øverst","alignMiddle":"Centreret","alignBottom":"Nederst","alignNone":"Ingen","invalidValue":"Ugyldig værdi.","invalidHeight":"Højde skal være et tal.","invalidWidth":"Bredde skal være et tal.","invalidCssLength":"Værdien specificeret for \"%1\" feltet skal Line truncated
@@ -2,4 +2,4 @@
Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.lang['de']={"undo":{"redo":"Wiederherstellen","undo":"Rückgängig"},"toolbar":{"toolbarCollapse":"Symbolleiste einklappen","toolbarExpand":"Symbolleiste ausklappen","toolbarGroups":{"document":"Dokument","clipboard":"Zwischenablage/Rückgängig","editing":"Editieren","forms":"Formularen","basicstyles":"Grundstile","paragraph":"Absatz","links":"Links","insert":"Einfügen","styles":"Stile","colors":"Farben","tools":"Werkzeuge"},"toolbars":"Editor Symbolleisten"},"sourcearea":{"toolbar":"Quellcode"},"removeformat":{"toolbar":"Formatierungen entfernen"},"pbckcode":{"title":"PBCKCODE","addCode":"Add code","editCode":"Edit code","editor":"Editor","settings":"Settings","mode":"Mode","tabSize":"Tab size","theme":"Theme","softTab":"Enable soft tabs","emmet":"Enable Emmet"},"pastetext":{"button":"Als Text einfügen","title":"Als Text einfügen"},"magicline":{"title":"Absatz hier einfügen"},"list":{"bulletedlist":"Liste","numberedlist":"Nummerierte Liste"},"justify":{"block":"Blocksatz","center":"Zentriert","left":"Linksbündig","right":"Rechtsbündig"},"indent":{"indent":"Einzug erhöhen","outdent":"Einzug verringern"},"font":{"fontSize":{"label":"Größe","voiceLabel":"Schrifgröße","panelTitle":"Größe"},"label":"Schriftart","panelTitle":"Schriftart","voiceLabel":"Schriftart"},"fakeobjects":{"anchor":"Anker","flash":"Flash Animation","hiddenfield":"Verstecktes Feld","iframe":"IFrame","unknown":"Unbekanntes Objekt"},"colorbutton":{"auto":"Automatisch","bgColorTitle":"Hintergrundfarbe","colors":{"000":"Schwarz","800000":"Kastanienbraun","8B4513":"Braun","2F4F4F":"Dunkles Schiefergrau","008080":"Blaugrün","000080":"Navy","4B0082":"Indigo","696969":"Dunkelgrau","B22222":"Ziegelrot","A52A2A":"Braun","DAA520":"Goldgelb","006400":"Dunkelgrün","40E0D0":"Türkis","0000CD":"Medium Blau","800080":"Lila","808080":"Grau","F00":"Rot","FF8C00":"Dunkelorange","FFD700":"Gold","008000":"Grün","0FF":"Cyan","00F":"Blau","EE82EE":"Hellviolett","A9A9A9":"Dunkelgrau","FFA07A":"Helles Lachsrosa","FFA500":"Orange","FFFF00":"Gelb","00FF00":"Lime","AFEEEE":"Blaß-Türkis","ADD8E6":"Hellblau","DDA0DD":"Pflaumenblau","D3D3D3":"Hellgrau","FFF0F5":"Lavendel","FAEBD7":"Antik Weiß","FFFFE0":"Hellgelb","F0FFF0":"Honigtau","F0FFFF":"Azurblau","F0F8FF":"Alice Blau","E6E6FA":"Lavendel","FFF":"Weiß"},"more":"Weitere Farben...","panelTitle":"Farben","textColorTitle":"Textfarbe"},"clipboard":{"copy":"Kopieren","copyError":"Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch kopieren. Bitte benutzen Sie die System-Zwischenablage über STRG-C (kopieren).","cut":"Ausschneiden","cutError":"Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage über STRG-X (ausschneiden) und STRG-V (einfügen).","paste":"Einfügen","pasteArea":"Einfügebereich","pasteMsg":"Bitte fügen Sie den Text in der folgenden Box über die Tastatur (mit <STRONG>Strg+V</STRONG>) ein und bestätigen Sie mit <STRONG>OK</STRONG>.","securityMsg":"Aufgrund von Sicherheitsbeschränkungen Ihres Browsers kann der Editor nicht direkt auf die Zwischenablage zugreifen. Bitte fügen Sie den Inhalt erneut in diesem Fenster ein.","title":"Einfügen"},"button":{"selectedLabel":"%1 (Ausgewählt)"},"basicstyles":{"bold":"Fett","italic":"Kursiv","strike":"Durchgestrichen","subscript":"Tiefgestellt","superscript":"Hochgestellt","underline":"Unterstrichen"},"editor":"WYSIWYG-Editor","editorPanel":"WYSIWYG-Editor-Leiste","common":{"editorHelp":"Drücken Sie ALT 0 für Hilfe","browseServer":"Server durchsuchen","url":"URL","protocol":"Protokoll","upload":"Hochladen","uploadSubmit":"Zum Server senden","image":"Bild","flash":"Flash","form":"Formular","checkbox":"Checkbox","radio":"Radiobutton","textField":"Textfeld einzeilig","textarea":"Textfeld mehrzeilig","hiddenField":"Verstecktes Feld","button":"Klickbutton","select":"Auswahlfeld","imageButton":"Bildbutton","notSet":"<nichts>","id":"ID","name":"Name","langDir":"Schreibrichtung","langDirLtr":"Links nach Rechts (LTR)","langDirRtl":"Rechts nach Links (RTL)","langCode":"Sprachenkürzel","longDescr":"Langform URL","cssClass":"Stylesheet Klasse","advisoryTitle":"Titel Beschreibung","cssStyle":"Style","ok":"OK","cancel":"Abbrechen","close":"Schließen","preview":"Vorschau","resize":"Zum Vergrößern ziehen","generalTab":"Allgemein","advancedTab":"Erweitert","validateNumberFailed":"Dieser Wert ist keine Nummer.","confirmNewPage":"Alle nicht gespeicherten Änderungen gehen verlohren. Sind Sie sicher die neue Seite zu laden?","confirmCancel":"Einige Optionen wurden geändert. Wollen Sie den Dialog dennoch schließen?","options":"Optionen","target":"Zielseite","targetNew":"Neues Fenster (_blank)","targetTop":"Oberstes Fenster (_top)","targetSelf":"Gleiches Fenster (_self)","targetParent":"Oberes Fenster (_parent)","langDirLTR":"Links nach Rechts (LNR)","langDirRTL":"Rechts nach Links (RNL)","styles":"Style","cssClasses":"StylLine truncated
CKEDITOR.lang['de']={"widget":{"move":"Zum Verschieben anwählen und ziehen"},"undo":{"redo":"Wiederherstellen","undo":"Rückgängig"},"toolbar":{"toolbarCollapse":"Werkzeugleiste einklappen","toolbarExpand":"Werkzeugleiste ausklappen","toolbarGroups":{"document":"Dokument","clipboard":"Zwischenablage/Rückgängig","editing":"Editieren","forms":"Formulare","basicstyles":"Grundstile","paragraph":"Absatz","links":"Links","insert":"Einfügen","styles":"Stile","colors":"Farben","tools":"Werkzeuge"},"toolbars":"Editor Werkzeugleisten"},"sourcearea":{"toolbar":"Quellcode"},"list":{"bulletedlist":"Liste","numberedlist":"Nummerierte Liste einfügen/entfernen"},"justify":{"block":"Blocksatz","center":"Zentriert","left":"Linksbündig","right":"Rechtsbündig"},"indent":{"indent":"Einzug erhöhen","outdent":"Einzug verringern"},"font":{"fontSize":{"label":"Größe","voiceLabel":"Schrifgröße","panelTitle":"Schriftgröße"},"label":"Schriftart","panelTitle":"Schriftartname","voiceLabel":"Schriftart"},"elementspath":{"eleLabel":"Elementepfad","eleTitle":"%1 Element"},"colorbutton":{"auto":"Automatisch","bgColorTitle":"Hintergrundfarbe","colors":{"000":"Schwarz","800000":"Kastanienbraun","8B4513":"Braun","2F4F4F":"Dunkles Schiefergrau","008080":"Blaugrün","000080":"Marineblau","4B0082":"Indigo","696969":"Dunkelgrau","B22222":"Ziegelrot","A52A2A":"Braun","DAA520":"Goldgelb","006400":"Dunkelgrün","40E0D0":"Türkis","0000CD":"Mittelblau","800080":"Lila","808080":"Grau","F00":"Rot","FF8C00":"Dunkelorange","FFD700":"Gold","008000":"Grün","0FF":"Cyan","00F":"Blau","EE82EE":"Violett","A9A9A9":"Dunkelgrau","FFA07A":"Helles Lachsrosa","FFA500":"Orange","FFFF00":"Gelb","00FF00":"Lime","AFEEEE":"Blasstürkis","ADD8E6":"Hellblau","DDA0DD":"Pflaumenblau","D3D3D3":"Hellgrau","FFF0F5":"Lavendel","FAEBD7":"Antik Weiß","FFFFE0":"Hellgelb","F0FFF0":"Honigtau","F0FFFF":"Azurblau","F0F8FF":"Alice Blau","E6E6FA":"Lavendel","FFF":"Weiß"},"more":"Weitere Farben...","panelTitle":"Farben","textColorTitle":"Textfarbe"},"clipboard":{"copy":"Kopieren","copyError":"Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch kopieren. Bitte benutzen Sie die System-Zwischenablage über STRG-C (kopieren).","cut":"Ausschneiden","cutError":"Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage über STRG-X (ausschneiden) und STRG-V (einfügen).","paste":"Einfügen","pasteArea":"Einfügebereich","pasteMsg":"Bitte fügen Sie den Text in der folgenden Box über die Tastatur (mit <STRONG>Strg+V</STRONG>) ein und bestätigen Sie mit <STRONG>OK</STRONG>.","securityMsg":"Aufgrund von Sicherheitsbeschränkungen Ihres Browsers kann der Editor nicht direkt auf die Zwischenablage zugreifen. Bitte fügen Sie den Inhalt erneut in diesem Fenster ein.","title":"Einfügen"},"button":{"selectedLabel":"%1 (Ausgewählt)"},"basicstyles":{"bold":"Fett","italic":"Kursiv","strike":"Durchgestrichen","subscript":"Tiefgestellt","superscript":"Hochgestellt","underline":"Unterstrichen"},"editor":"WYSIWYG-Editor","editorPanel":"WYSIWYG-Editor-Leiste","common":{"editorHelp":"Drücken Sie ALT 0 für Hilfe","browseServer":"Server durchsuchen","url":"URL","protocol":"Protokoll","upload":"Hochladen","uploadSubmit":"Zum Server senden","image":"Bild","flash":"Flash","form":"Formular","checkbox":"Kontrollbox","radio":"Optionsfeld","textField":"Textfeld","textarea":"Textfeld","hiddenField":"Verstecktes Feld","button":"Schaltfläche","select":"Auswahlfeld","imageButton":"Bildschaltfläche","notSet":"<nicht festgelegt>","id":"Kennung","name":"Name","langDir":"Schreibrichtung","langDirLtr":"Links nach Rechts (LTR)","langDirRtl":"Rechts nach Links (RTL)","langCode":"Sprachcode","longDescr":"Langbeschreibungs-URL","cssClass":"Formatvorlagenklassen","advisoryTitle":"Titel Beschreibung","cssStyle":"Stil","ok":"OK","cancel":"Abbrechen","close":"Schließen","preview":"Vorschau","resize":"Größe ändern","generalTab":"Allgemein","advancedTab":"Erweitert","validateNumberFailed":"Dieser Wert ist keine Nummer.","confirmNewPage":"Alle nicht gespeicherten Änderungen gehen verlohren. Sind Sie sicher die neue Seite zu laden?","confirmCancel":"Einige Optionen wurden geändert. Wollen Sie den Dialog dennoch schließen?","options":"Optionen","target":"Zielseite","targetNew":"Neues Fenster (_blank)","targetTop":"Oberstes Fenster (_top)","targetSelf":"Gleiches Fenster (_self)","targetParent":"Oberes Fenster (_parent)","langDirLTR":"Links nach Rechts (LNR)","langDirRTL":"Rechts nach Links (RNL)","styles":"Style","cssClasses":"Stylesheet Klasse","width":"Breite","height":"Höhe","align":"Ausrichtung","alignLeft":"Links","alignRight":"Rechts","alignCenter":"Zentriert","alignJustify":"Blocksatz","alignTop":"Oben","alignMiddle":"Mitte","alignBottom":"Unten","alignNone":"Keine","invalidValue":"Ungültiger Wert.","invalidHeight":"Höhe muss eine Zahl sein.","invalidWidth":"Breite muss eine Zahl seLine truncated
@@ -2,4 +2,4 @@
Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.lang['el']={"undo":{"redo":"Επανάληψη","undo":"Αναίρεση"},"toolbar":{"toolbarCollapse":"Σύμπτυξη Εργαλειοθήκης","toolbarExpand":"Ανάπτυξη Εργαλειοθήκης","toolbarGroups":{"document":"Έγγραφο","clipboard":"Πρόχειρο/Αναίρεση","editing":"Επεξεργασία","forms":"Φόρμες","basicstyles":"Βασικά Στυλ","paragraph":"Παράγραφος","links":"Σύνδεσμοι","insert":"Εισαγωγή","styles":"Στυλ","colors":"Χρώματα","tools":"Εργαλεία"},"toolbars":"Εργαλειοθήκες επεξεργαστή"},"sourcearea":{"toolbar":"Κώδικας"},"removeformat":{"toolbar":"Εκκαθάριση Μορφοποίησης"},"pbckcode":{"title":"PBCKCODE","addCode":"Add code","editCode":"Edit code","editor":"Editor","settings":"Settings","mode":"Mode","tabSize":"Tab size","theme":"Theme","softTab":"Enable soft tabs","emmet":"Enable Emmet"},"pastetext":{"button":"Επικόλληση ως απλό κείμενο","title":"Επικόλληση ως απλό κείμενο"},"magicline":{"title":"Εισάγετε παράγραφο εδώ"},"list":{"bulletedlist":"Εισαγωγή/Απομάκρυνση Λίστας Κουκκίδων","numberedlist":"Εισαγωγή/Απομάκρυνση Αριθμημένης Λίστας"},"justify":{"block":"Πλήρης Στοίχιση","center":"Στο Κέντρο","left":"Στοίχιση Αριστερά","right":"Στοίχιση Δεξιά"},"indent":{"indent":"Αύξηση Εσοχής","outdent":"Μείωση Εσοχής"},"font":{"fontSize":{"label":"Μέγεθος","voiceLabel":"Μέγεθος Γραμματοσειράς","panelTitle":"Μέγεθος Γραμματοσειράς"},"label":"Γραμματοσειρά","panelTitle":"Όνομα Γραμματοσειράς","voiceLabel":"Γραμματοσειρά"},"fakeobjects":{"anchor":"Άγκυρα","flash":"Ταινία Flash","hiddenfield":"Κρυφό Πεδίο","iframe":"IFrame","unknown":"Άγνωστο Αντικείμενο"},"colorbutton":{"auto":"Αυτόματα","bgColorTitle":"Χρώμα Φόντου","colors":{"000":"Μαύρο","800000":"Καστανέρυθρο","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Βαθυκύανο","000080":"Μπλε μαρέν","4B0082":"Ινδικό","696969":"Σκούρο Γκρι","B22222":"Ανοικτό Κόκκινο","A52A2A":"Καφέ","DAA520":"Golden Rod","006400":"Σκούρο Πράσινο","40E0D0":"Τυρκουάζ","0000CD":"Medium Blue","800080":"Μοβ","808080":"Γκρι","F00":"Κόκκινο","FF8C00":"Σκούρο Πορτοκαλί","FFD700":"Χρυσαφί","008000":"Πράσινο","0FF":"Κυανό","00F":"Μπλε","EE82EE":"Μενεξεδί","A9A9A9":"Ποντικί","FFA07A":"Ανοικτό Σομόν","FFA500":"Πορτοκαλί","FFFF00":"Κίτρινο","00FF00":"Μοσχολέμονο","AFEEEE":"Pale Turquoise","ADD8E6":"Γαλάζιο","DDA0DD":"Plum","D3D3D3":"Ανοικτό Γκρι","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Ανοικτό Κίτρινο","F0FFF0":"Honeydew","F0FFFF":"Γαλανό","F0F8FF":"Alice Blue","E6E6FA":"Ελαφρός Ιώδες","FFF":"Λευκό"},"more":"Περισσότερα Χρώματα...","panelTitle":"Χρώματα","textColorTitle":"Χρώμα Κειμένου"},"clipboard":{"copy":"Αντιγραφή","copyError":"Οι ρυθμίσεις ασφαλείας του περιηγητή σας δεν επιτρέπουν την επιλεγμένη εργασία αντιγραφής. Παρακαλώ χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+C).","cut":"Αποκοπή","cutError":"Οι ρυθμίσεις ασφαλείας του περιηγητή σας δεν επιτρέπουν την επιλεγμένη εργασία αποκοπής. Παρακαλώ χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+X).","paste":"Επικόλληση","pasteArea":"Περιοχή Επικόλλησης","pasteMsg":"Παρακαλώ επικολλήστε στο ακόλουθο κουτί χρησιμοποιώντας το πληκτρολόγιο (<strong>Ctrl/Cmd+V</strong>) και πατήστε OK.","securityMsg":"Λόγων των ρυθμίσεων ασφάλειας του περιηγητή σας, ο επεξεργαστής δεν μπορεί να έχει πρόσβαση στην μνήμη επικόλλησης. Χρειάζεται να επικολλήσετε ξανά σε αυτό το παράθυρο.","title":"Επικόλληση"},"button":{"selectedLabel":"%1 (Επιλεγμένο)"},"basicstyles":{"bold":"Έντονη","italic":"Πλάγια","strike":"Διακριτή Διαγραφή","subscript":"Δείκτης","superscript":"Εκθέτης","underline":"Υπογράμμιση"},"editor":"Επεξεργαστής Πλούσιου Κειμένου","editorPanel":Line truncated
CKEDITOR.lang['el']={"widget":{"move":"Κάνετε κλικ και σύρετε το ποντίκι για να μετακινήστε"},"undo":{"redo":"Επανάληψη","undo":"Αναίρεση"},"toolbar":{"toolbarCollapse":"Σύμπτυξη Εργαλειοθήκης","toolbarExpand":"Ανάπτυξη Εργαλειοθήκης","toolbarGroups":{"document":"Έγγραφο","clipboard":"Πρόχειρο/Αναίρεση","editing":"Επεξεργασία","forms":"Φόρμες","basicstyles":"Βασικά Στυλ","paragraph":"Παράγραφος","links":"Σύνδεσμοι","insert":"Εισαγωγή","styles":"Στυλ","colors":"Χρώματα","tools":"Εργαλεία"},"toolbars":"Εργαλειοθήκες επεξεργαστή"},"sourcearea":{"toolbar":"Κώδικας"},"list":{"bulletedlist":"Εισαγωγή/Απομάκρυνση Λίστας Κουκκίδων","numberedlist":"Εισαγωγή/Απομάκρυνση Αριθμημένης Λίστας"},"justify":{"block":"Πλήρης Στοίχιση","center":"Στο Κέντρο","left":"Στοίχιση Αριστερά","right":"Στοίχιση Δεξιά"},"indent":{"indent":"Αύξηση Εσοχής","outdent":"Μείωση Εσοχής"},"font":{"fontSize":{"label":"Μέγεθος","voiceLabel":"Μέγεθος Γραμματοσειράς","panelTitle":"Μέγεθος Γραμματοσειράς"},"label":"Γραμματοσειρά","panelTitle":"Όνομα Γραμματοσειράς","voiceLabel":"Γραμματοσειρά"},"elementspath":{"eleLabel":"Διαδρομή Στοιχείων","eleTitle":"Στοιχείο %1"},"colorbutton":{"auto":"Αυτόματα","bgColorTitle":"Χρώμα Φόντου","colors":{"000":"Μαύρο","800000":"Καστανέρυθρο","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Βαθυκύανο","000080":"Μπλε μαρέν","4B0082":"Ινδικό","696969":"Σκούρο Γκρι","B22222":"Ανοικτό Κόκκινο","A52A2A":"Καφέ","DAA520":"Golden Rod","006400":"Σκούρο Πράσινο","40E0D0":"Τυρκουάζ","0000CD":"Medium Blue","800080":"Μοβ","808080":"Γκρι","F00":"Κόκκινο","FF8C00":"Σκούρο Πορτοκαλί","FFD700":"Χρυσαφί","008000":"Πράσινο","0FF":"Κυανό","00F":"Μπλε","EE82EE":"Μενεξεδί","A9A9A9":"Ποντικί","FFA07A":"Ανοικτό Σομόν","FFA500":"Πορτοκαλί","FFFF00":"Κίτρινο","00FF00":"Μοσχολέμονο","AFEEEE":"Pale Turquoise","ADD8E6":"Γαλάζιο","DDA0DD":"Δαμασκηνί","D3D3D3":"Ανοικτό Γκρι","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Ανοικτό Κίτρινο","F0FFF0":"Honeydew","F0FFFF":"Γαλανό","F0F8FF":"Alice Blue","E6E6FA":"Ελαφρός Ιώδες","FFF":"Λευκό"},"more":"Περισσότερα Χρώματα...","panelTitle":"Χρώματα","textColorTitle":"Χρώμα Κειμένου"},"clipboard":{"copy":"Αντιγραφή","copyError":"Οι ρυθμίσεις ασφαλείας του περιηγητή σας δεν επιτρέπουν την επιλεγμένη εργασία αντιγραφής. Παρακαλώ χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+C).","cut":"Αποκοπή","cutError":"Οι ρυθμίσεις ασφαλείας του περιηγητή σας δεν επιτρέπουν την επιλεγμένη εργασία αποκοπής. Παρακαλώ χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+X).","paste":"Επικόλληση","pasteArea":"Περιοχή Επικόλλησης","pasteMsg":"Παρακαλώ επικολλήστε στο ακόλουθο κουτί χρησιμοποιώντας το πληκτρολόγιο (<strong>Ctrl/Cmd+V</strong>) και πατήστε OK.","securityMsg":"Λόγων των ρυθμίσεων ασφάλειας του περιηγητή σας, ο επεξεργαστής δεν μπορεί να έχει πρόσβαση στην μνήμη επικόλλησης. Χρειάζεται να επικολλήσετε ξανά σε αυτό το παράθυρο.","title":"Επικόλληση"},"button":{"selectedLabel":"%1 (Επιλεγμένο)"},"basicstyles":{"bold":"Έντονη","italic":"Πλάγια","strike":"Διακριτή Διαγραφή","subscript":"Δείκτης","superscript":"Εκθέτης","underline":"Υπογράμμιση"},"editor":"Επεξεργαστής Πλούσιου Κειμένου","editorPanel":"Πίνακας Επεξεργαστή Πλούσιου Κειμένου","common":{"editorHelp":"Πατήστε το ALT 0 για βοήθεια","browseServer":"Εξερεύνηση Διακομιστή","url":"URL","protocol":"Πρωτόκολλο","upload":"Αποστολή","uploadSubmit":"Αποστολή στον Διακομιστή","image":"Εικόνα","flash":"Flash","form":"Φόρμα","checkbox":"Κουτί ΕπιλογήLine truncated
@@ -2,4 +2,4 @@
Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.lang['en-au']={"undo":{"redo":"Redo","undo":"Undo"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"sourcearea":{"toolbar":"Source"},"removeformat":{"toolbar":"Remove Format"},"pbckcode":{"title":"PBCKCODE","addCode":"Add code","editCode":"Edit code","editor":"Editor","settings":"Settings","mode":"Mode","tabSize":"Tab size","theme":"Theme","softTab":"Enable soft tabs","emmet":"Enable Emmet"},"pastetext":{"button":"Paste as plain text","title":"Paste as Plain Text"},"magicline":{"title":"Insert paragraph here"},"list":{"bulletedlist":"Insert/Remove Bulleted List","numberedlist":"Insert/Remove Numbered List"},"justify":{"block":"Justify","center":"Centre","left":"Align Left","right":"Align Right"},"indent":{"indent":"Increase Indent","outdent":"Decrease Indent"},"font":{"fontSize":{"label":"Size","voiceLabel":"Font Size","panelTitle":"Font Size"},"label":"Font","panelTitle":"Font Name","voiceLabel":"Font"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"colorbutton":{"auto":"Automatic","bgColorTitle":"Background Colour","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White"},"more":"More Colours...","panelTitle":"Colors","textColorTitle":"Text Colour"},"clipboard":{"copy":"Copy","copyError":"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).","cut":"Cut","cutError":"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).","paste":"Paste","pasteArea":"Paste Area","pasteMsg":"Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK","securityMsg":"Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.","title":"Paste"},"button":{"selectedLabel":"%1 (Selected)"},"basicstyles":{"bold":"Bold","italic":"Italic","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline"},"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protocol","upload":"Upload","uploadSubmit":"Send it to the Server","image":"Image","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<not set>","id":"Id","name":"Name","langDir":"Language Direction","langDirLtr":"Left to Right (LTR)","langDirRtl":"Right to Left (RTL)","langCode":"Language Code","longDescr":"Long Description URL","cssClass":"Stylesheet Classes","advisoryTitle":"Advisory Title","cssStyle":"Style","ok":"OK","cancel":"Cancel","close":"Close","preview":"Preview","resize":"Resize","generalTab":"General","advancedTab":"Advanced","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"Target","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","styles":"Style","cssClasses":"Stylesheet Classes","width":"Width","height":"Height","align":"Align","alignLeft":"Left","alignRight":"Right","alignCenter":"Centre","alignJustify":"Justify","alignTop":"Top","alignMiddle":"Middle","alignBottom":"Bottom","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number."Line truncated
CKEDITOR.lang['en-au']={"widget":{"move":"Click and drag to move"},"undo":{"redo":"Redo","undo":"Undo"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"sourcearea":{"toolbar":"Source"},"list":{"bulletedlist":"Insert/Remove Bulleted List","numberedlist":"Insert/Remove Numbered List"},"justify":{"block":"Justify","center":"Centre","left":"Align Left","right":"Align Right"},"indent":{"indent":"Increase Indent","outdent":"Decrease Indent"},"font":{"fontSize":{"label":"Size","voiceLabel":"Font Size","panelTitle":"Font Size"},"label":"Font","panelTitle":"Font Name","voiceLabel":"Font"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"colorbutton":{"auto":"Automatic","bgColorTitle":"Background Colour","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White"},"more":"More Colours...","panelTitle":"Colors","textColorTitle":"Text Colour"},"clipboard":{"copy":"Copy","copyError":"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).","cut":"Cut","cutError":"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).","paste":"Paste","pasteArea":"Paste Area","pasteMsg":"Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK","securityMsg":"Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.","title":"Paste"},"button":{"selectedLabel":"%1 (Selected)"},"basicstyles":{"bold":"Bold","italic":"Italic","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline"},"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protocol","upload":"Upload","uploadSubmit":"Send it to the Server","image":"Image","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<not set>","id":"Id","name":"Name","langDir":"Language Direction","langDirLtr":"Left to Right (LTR)","langDirRtl":"Right to Left (RTL)","langCode":"Language Code","longDescr":"Long Description URL","cssClass":"Stylesheet Classes","advisoryTitle":"Advisory Title","cssStyle":"Style","ok":"OK","cancel":"Cancel","close":"Close","preview":"Preview","resize":"Resize","generalTab":"General","advancedTab":"Advanced","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"Target","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","styles":"Style","cssClasses":"Stylesheet Classes","width":"Width","height":"Height","align":"Align","alignLeft":"Left","alignRight":"Right","alignCenter":"Centre","alignJustify":"Justify","alignTop":"Top","alignMiddle":"Middle","alignBottom":"Bottom","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples Line truncated
@@ -2,4 +2,4 @@
Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.lang['en-ca']={"undo":{"redo":"Redo","undo":"Undo"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"sourcearea":{"toolbar":"Source"},"removeformat":{"toolbar":"Remove Format"},"pbckcode":{"title":"PBCKCODE","addCode":"Add code","editCode":"Edit code","editor":"Editor","settings":"Settings","mode":"Mode","tabSize":"Tab size","theme":"Theme","softTab":"Enable soft tabs","emmet":"Enable Emmet"},"pastetext":{"button":"Paste as plain text","title":"Paste as Plain Text"},"magicline":{"title":"Insert paragraph here"},"list":{"bulletedlist":"Insert/Remove Bulleted List","numberedlist":"Insert/Remove Numbered List"},"justify":{"block":"Justify","center":"Centre","left":"Align Left","right":"Align Right"},"indent":{"indent":"Increase Indent","outdent":"Decrease Indent"},"font":{"fontSize":{"label":"Size","voiceLabel":"Font Size","panelTitle":"Font Size"},"label":"Font","panelTitle":"Font Name","voiceLabel":"Font"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"colorbutton":{"auto":"Automatic","bgColorTitle":"Background Colour","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White"},"more":"More Colours...","panelTitle":"Colors","textColorTitle":"Text Colour"},"clipboard":{"copy":"Copy","copyError":"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).","cut":"Cut","cutError":"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).","paste":"Paste","pasteArea":"Paste Area","pasteMsg":"Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK","securityMsg":"Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.","title":"Paste"},"button":{"selectedLabel":"%1 (Selected)"},"basicstyles":{"bold":"Bold","italic":"Italic","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline"},"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protocol","upload":"Upload","uploadSubmit":"Send it to the Server","image":"Image","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<not set>","id":"Id","name":"Name","langDir":"Language Direction","langDirLtr":"Left to Right (LTR)","langDirRtl":"Right to Left (RTL)","langCode":"Language Code","longDescr":"Long Description URL","cssClass":"Stylesheet Classes","advisoryTitle":"Advisory Title","cssStyle":"Style","ok":"OK","cancel":"Cancel","close":"Close","preview":"Preview","resize":"Resize","generalTab":"General","advancedTab":"Advanced","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"Target","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","styles":"Style","cssClasses":"Stylesheet Classes","width":"Width","height":"Height","align":"Align","alignLeft":"Left","alignRight":"Right","alignCenter":"Centre","alignJustify":"Justify","alignTop":"Top","alignMiddle":"Middle","alignBottom":"Bottom","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number."Line truncated
CKEDITOR.lang['en-ca']={"widget":{"move":"Click and drag to move"},"undo":{"redo":"Redo","undo":"Undo"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"sourcearea":{"toolbar":"Source"},"list":{"bulletedlist":"Insert/Remove Bulleted List","numberedlist":"Insert/Remove Numbered List"},"justify":{"block":"Justify","center":"Centre","left":"Align Left","right":"Align Right"},"indent":{"indent":"Increase Indent","outdent":"Decrease Indent"},"font":{"fontSize":{"label":"Size","voiceLabel":"Font Size","panelTitle":"Font Size"},"label":"Font","panelTitle":"Font Name","voiceLabel":"Font"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"colorbutton":{"auto":"Automatic","bgColorTitle":"Background Colour","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White"},"more":"More Colours...","panelTitle":"Colors","textColorTitle":"Text Colour"},"clipboard":{"copy":"Copy","copyError":"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).","cut":"Cut","cutError":"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).","paste":"Paste","pasteArea":"Paste Area","pasteMsg":"Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK","securityMsg":"Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.","title":"Paste"},"button":{"selectedLabel":"%1 (Selected)"},"basicstyles":{"bold":"Bold","italic":"Italic","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline"},"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protocol","upload":"Upload","uploadSubmit":"Send it to the Server","image":"Image","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<not set>","id":"Id","name":"Name","langDir":"Language Direction","langDirLtr":"Left to Right (LTR)","langDirRtl":"Right to Left (RTL)","langCode":"Language Code","longDescr":"Long Description URL","cssClass":"Stylesheet Classes","advisoryTitle":"Advisory Title","cssStyle":"Style","ok":"OK","cancel":"Cancel","close":"Close","preview":"Preview","resize":"Resize","generalTab":"General","advancedTab":"Advanced","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"Target","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","styles":"Style","cssClasses":"Stylesheet Classes","width":"Width","height":"Height","align":"Align","alignLeft":"Left","alignRight":"Right","alignCenter":"Centre","alignJustify":"Justify","alignTop":"Top","alignMiddle":"Middle","alignBottom":"Bottom","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples Line truncated
@@ -2,4 +2,4 @@
Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or http://ckeditor.com/license
*/
CKEDITOR.lang['en-gb']={"undo":{"redo":"Redo","undo":"Undo"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"sourcearea":{"toolbar":"Source"},"removeformat":{"toolbar":"Remove Format"},"pbckcode":{"title":"PBCKCODE","addCode":"Add code","editCode":"Edit code","editor":"Editor","settings":"Settings","mode":"Mode","tabSize":"Tab size","theme":"Theme","softTab":"Enable soft tabs","emmet":"Enable Emmet"},"pastetext":{"button":"Paste as plain text","title":"Paste as Plain Text"},"magicline":{"title":"Insert paragraph here"},"list":{"bulletedlist":"Insert/Remove Bulleted List","numberedlist":"Insert/Remove Numbered List"},"justify":{"block":"Justify","center":"Centre","left":"Align Left","right":"Align Right"},"indent":{"indent":"Increase Indent","outdent":"Decrease Indent"},"font":{"fontSize":{"label":"Size","voiceLabel":"Font Size","panelTitle":"Font Size"},"label":"Font","panelTitle":"Font Name","voiceLabel":"Font"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"colorbutton":{"auto":"Automatic","bgColorTitle":"Background Colour","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Grey","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Grey","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Grey","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Grey","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White"},"more":"More Colours...","panelTitle":"Colours","textColorTitle":"Text Colour"},"clipboard":{"copy":"Copy","copyError":"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).","cut":"Cut","cutError":"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).","paste":"Paste","pasteArea":"Paste Area","pasteMsg":"Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK","securityMsg":"Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.","title":"Paste"},"button":{"selectedLabel":"%1 (Selected)"},"basicstyles":{"bold":"Bold","italic":"Italic","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline"},"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protocol","upload":"Upload","uploadSubmit":"Send it to the Server","image":"Image","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<not set>","id":"Id","name":"Name","langDir":"Language Direction","langDirLtr":"Left to Right (LTR)","langDirRtl":"Right to Left (RTL)","langCode":"Language Code","longDescr":"Long Description URL","cssClass":"Stylesheet Classes","advisoryTitle":"Advisory Title","cssStyle":"Style","ok":"OK","cancel":"Cancel","close":"Close","preview":"Preview","resize":"Drag to resize","generalTab":"General","advancedTab":"Advanced","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialogue window?","options":"Options","target":"Target","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","styles":"Style","cssClasses":"Stylesheet Classes","width":"Width","height":"Height","align":"Align","alignLeft":"Left","alignRight":"Right","alignCenter":"Centre","alignJustify":"Justify","alignTop":"Top","alignMiddle":"Middle","alignBottom":"Bottom","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must beLine truncated
CKEDITOR.lang['en-gb']={"widget":{"move":"Click and drag to move"},"undo":{"redo":"Redo","undo":"Undo"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"sourcearea":{"toolbar":"Source"},"list":{"bulletedlist":"Insert/Remove Bulleted List","numberedlist":"Insert/Remove Numbered List"},"justify":{"block":"Justify","center":"Centre","left":"Align Left","right":"Align Right"},"indent":{"indent":"Increase Indent","outdent":"Decrease Indent"},"font":{"fontSize":{"label":"Size","voiceLabel":"Font Size","panelTitle":"Font Size"},"label":"Font","panelTitle":"Font Name","voiceLabel":"Font"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"colorbutton":{"auto":"Automatic","bgColorTitle":"Background Colour","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Grey","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Grey","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Grey","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Grey","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White"},"more":"More Colours...","panelTitle":"Colours","textColorTitle":"Text Colour"},"clipboard":{"copy":"Copy","copyError":"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).","cut":"Cut","cutError":"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).","paste":"Paste","pasteArea":"Paste Area","pasteMsg":"Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK","securityMsg":"Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.","title":"Paste"},"button":{"selectedLabel":"%1 (Selected)"},"basicstyles":{"bold":"Bold","italic":"Italic","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline"},"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protocol","upload":"Upload","uploadSubmit":"Send it to the Server","image":"Image","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<not set>","id":"Id","name":"Name","langDir":"Language Direction","langDirLtr":"Left to Right (LTR)","langDirRtl":"Right to Left (RTL)","langCode":"Language Code","longDescr":"Long Description URL","cssClass":"Stylesheet Classes","advisoryTitle":"Advisory Title","cssStyle":"Style","ok":"OK","cancel":"Cancel","close":"Close","preview":"Preview","resize":"Drag to resize","generalTab":"General","advancedTab":"Advanced","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialogue window?","options":"Options","target":"Target","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","styles":"Style","cssClasses":"Stylesheet Classes","width":"Width","height":"Height","align":"Align","alignLeft":"Left","alignRight":"Right","alignCenter":"Centre","alignJustify":"Justify","alignTop":"Top","alignMiddle":"Middle","alignBottom":"Bottom","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or mLine truncated
Loaded 100 of 1131 files, more files were not shown because too many files have changed in this diff. Show more